Google Code Search ujawnia całą prawdę o Microsofcie
Kilka dni temu Google uruchomiło serwis Google Code Search. Usługa, przeznaczona dla programistów, umożliwia przeszukiwanie kodów źródłowych programów, których fragmenty zostały odnalezione w Sieci przez crawlery Google. W zamierzeniu wyszukiwarka miała wspomagać środowisko open-source, czyli programów, których kod źródłowy jest publicznie dostępny i może być dowolnie modyfikowany. Szybko jednak odkryto, że nową wyszukiwarkę można wykorzystać także do mniej zacnych celów. Można więc masowo poszukiwać znanych luk bezpieczeństwa, można także natknąć się na fragmenty programów, które nigdy nie powinny, wedle zamierzeń twórców, zostać upublicznione.
Wsród ujawnionych w ten sposób zasobów znaleziony został kod systemu operacyjnego Microsoft DOS 6.0, na bazie którego powstały między innymi systemy Windows 95 oraz Windows 98. Okazuje się, że jego twórcy w dość radosny sposób podeszli do pracy. Świadczą o tym chociażby niektóre komentarze w kodzie (czyli fragmenty pomijane przez kompilator, służące jedynie programistom). Oto ciekawsze fragmenty kodu MS DOS 6.0, znalezione przez użytkowników serwisu digg:
dev/smartdrv/rtywrt.asm:
; Shit! Fatal error on write-behind! Ask user what to do with
; sleazy popup.handle_fatal_write_error:
mov al,wrt_unmapped_unit ; get drive code
call warning_pop_up***
FDisk.c
/* P.S. – To whoever winds up maintaining this, I will */
/* apoligize in advance. I had just learned ‘C’ when */
/* writing this, so out of ignorance of the finer points*/
/* of the langauge I did a lot of things by brute force.*/
/* Hope this doesn’t mess you up too much – MT 5/20/86 */***
; fuckin’ sixteen-bit machine ought
; to be able to handle a SIXTEEN-BIT
; DISPLACEMENT!!; I have to use DOS call int 21h/5f02h because DOS call int 21h/4409h
; is not reliable under DOS versions 4.00 and 4.01. (IBM fuck-up).; BIOS is fucking with us – give up
; Is this a Set PSP call (50h) ?
; Yes, jmp directly to function
else
; fucking jump out of range by *two* bytes!* The path can be in about a million fucked up forms depending on the level of stupidity in the user.
; Enable interrupts at the start of
; the dispatch code. Otherwise interrupts
; remain disabled through a whole
; shitload of code which is not good.; Now we’ve got to copy all of that shit into the cache
; Shit! read error. Better invalidate block & bomb!
; Shit! Fatal error on write-behind! Ask user what to do with
; sleazy popup.; End of WIN386 2.xx compatibility bullshit
***
* Function will add the szSetupPath to the users path statement in the
* autoexec.bat file. The szSetupPath will be the first location in the
* path statement. The path can be in about a million fucked up forms
* depending on the level of stupidity in the user. Here are a few to
* think about. DOS will accept any of these.
*
* PATH=C:foo;C:foobar;…
* SET PATH=C:foo;C:foobar;…
* PATH C:foo;C:foobar;…
* PATH =C:foo;C:foobar;…
* PATH= C:foo;C:foobar;…
* PATH = C:foo;C:foobar;…
Jeżeli podobnie wyglądało tworzenie kolejnych systemów operacyjnych, wiadomo już, skąd tyle narzekań na popularne Windowsy… ;)
to sa wszystko SKRÓTY MYŚLOWE
taaaak, szczegolnie ten fragment:
FDisk.c
/* P.S. – To whoever winds up maintaining this, I will */
/* apoligize in advance. I had just learned ‘C’ when */
/* writing this, so out of ignorance of the finer points*/
/* of the langauge I did a lot of things by brute force.*/
/* Hope this doesn’t mess you up too much – MT 5/20/86 */
teraz się nie mów “skrót myślowy”, tylko “semantyczne nadużycie’
Hehe widac ze programowanie sprawialo duzo radosci tworcom, co przeciez jest najwazniejsze ;-)
http://www.vidarholen.net/contents/wordcount/
To przejrzyjcie sobie kod źródłowy jądra Linuksa. Podobnych kwiatków i michałków tam wiele.
To chyba mała przesada ze strony microsoftu :D
widac ze zadne k**** z was nigdy nie bylo programista :P
@tabris:
Ależ, wręcz przeciwnie. Tylko jakoś nigdy nie przyszło mi wyładowywać swoich frustracji poprzez umieszczanie tego typu komentarzy w kodzie źródłowym. Wsród innych programistów, z którymi pracowałem, również takiego zwyczaju nie było. Jak dla mnie, nie świadczy to po prostu o zbyt dużym profesjonalizmie ;)
@Piotr:
Zartowalem oczywiscie XD
Mimo wszystko wiele razy spotkalem z delikatniejszymi przeklenstwami w kodzie, niezaleznie od tego jak profesjonalny byl to projekt. :P
Mysle ze to nie kwestia frustracji a raczej specyficznego poczucia humoru.
i znowu nuda–Wirus–na blogu sie pisze o czyms co wszyscy rozumieja a nie tylko ludzie z przedzialkami i w okularach :D
Ja kiedyś pisałem spory projekt na laborki, męczyłem go całą noc bo od niego zależało moje zaliczenie. Po 3:00 każde niepowodzenie lądowało w postaci “kur…” “ja pier… co za chu…” a co niektóre nawet do printf(). A o 7:00 wysłałem go w takiej postaci do prof. :-/ Na szczęście miał poczucie humoru…
Ekstra, po prostu mnie to ubawilo. Naprawde niezle komentuja. Po prostu taki kod sie latwiej czyta, latwiej niz kod z :normalnmi” komentarzami i jeszce latwiej niz kod bez komentarzy – zapominaja o tym czasem :profesjonalisci:
a mógłby ktos przetłumaczyc bo nie rozumiem :D:D:
Pingback: MalDevBlog » MS DOS 6.0 source code
Haha dobre ;) a tak bajdełej to czy przypadkiem MS DOS nie wykluł się ze strzępów CPMa? … i co do cholery stało się z DR DOSem?