Raymond Chen arról, hogy miért nem került bele a flipper a Vista-ba

Címkék

Egy érdekes történetet osztott meg blogjának olvasóival Raymond Chen, akit a Microsoft Chuck Norris-ának is hívnak. A blogból kiderül, hogy egyes spekulációkkal ellentétben, a flipper nem jogi problémák miatt maradt ki a Vista-ból.
Az igazság az, hogy programozói problémák voltak vele. Nevezetesen, amikor a 32 bites XP-t portolták 64 bitesre, a flippert is portolni szerették volna. Azonban a 64 bites verzióban előjött egy csúf bug, amely azt eredményezte, hogy a flippergolyó mint szellem, úgy ment át a flipperasztal elemein. Például, a játék kezdésekor, amikor a kilövésre került volna sor, a golyó szépen átcsorgott a kilövőkaron, majd lassan haladt a képernyő alja felé, az asztal alján keresztül. Nyilvánvalóan, ebből kifolyólag a játék igazán rövidre sikerült.

Ketten is megpróbálták debugolni a programot, hogy kitalálják, hogy mi okozza ez a problémát. De mivel a játékot évekkel azelőtt egy külsős cég készítette, a Microsoft-nál pedig senki sem értette igazán, hogy hogyan is működik a kód, ráadásul a kód teljes mértékben kommentelés-mentes volt, ezért nem jöttek rá, hogy miért nem működik az ütközésdetektor.

Akkoriban sok dolguk volt, így nem tudtak sok időt tölteni a hibakereséssel. Végül úgy döntöttek, hogy kidobják a flippert a termékből. Chen sajnálja, hogy így alakult, mert igazán szeretett játszani a játékkal.

A blogbejegyzés nyomán sokan kérték, hogy hadd nézzenek bele a kódba, de Chen a játék eredeti írójához irányította őket azzal, hogy a kódokat a Microsoft is úgy licencelte.

Hozzászólások

El kell olvasni a program specifikációját és az abból készült design-t, ha esetleg nincs komment a kódban. :)

Én nem nagyon értem a problémát több okból sem. Itt egyesek azt terjesztik, hogy még forrás sem kell ma már a hibakereséshez, nem hogy komment. A másik pedig az, hogy miért kellett volna feltétlenül portolni 64 bitesre? 32 bites programok futnak a 64 bites Windows-on, nem? Látszólag minden probléma nélkül működésre bírható 64 bites rendszeren is.

--
trey @ gépház

Desktop alkalmazasokhoz nem igazan ertek, de tuti nem egy szimpla bugrol van szo szerintem ha csak az valtotta ki hogy 32 bitrol 64-re mentek.
Ezt a nemhogy comment, de meg kod sem kell hozza dolgot ki tudod fejteni? Van valami forrasod hozza? (bar gondolom guny volt)
En a dokumentalatlan kodtol alapbol falnak megyek, es egy ismeretlen kodban tajekozodni dokumentacio nelkul szerintem nagyon nehez tud lenni, plane ha a kod is nelkuloz minden beszedesseget.

Mindenesetre aranyos story :)

------------------
http://www.youtube.com/watch?v=xnJwT_30p6k

Minden egyes nyílt forráskód vitában elsüti valaki, hogy a nyílt forrás nem előny, ha hibát kell keresni.

"2) Forráskód ismerete nélkül is igen sok mindent fel lehet deríteni egy szoftverről. 3) Disassemblerek lassan már C-re fordítanak vissza..."

--
trey @ gépház

Nem mindegy persze, hogy egy biztonsági hibát kell találni vagy azt, hogy miért nem működik egy játék. Az egyik esetben keresned kell valamit ami nem egészen azt csinálja mint amit kell neki, a másik esetben meg meg kell keresned azt a kódrészletet ami egy bizonyos hibát okoz.

Ráadásul nem is fontos részéről van szó a rendszernek. Valószínűleg megmondták nekik, hogy ha gyorsan meg tudjátok csinálni akkor oké, de egyébként van fontosabb is.

Izé... A 32b-es bináris működik, de a 64b-es rendszerbe (a linkelt cikkben részletezett okokból) az nem került bele. A probléma akkor jött elő amikor a 64b-es binárison dolgoztak.

Amúgy idéznék tőled:
"Tök jól néz ki a "szar" szó a HUP címoldalán! Írj ki még több trágárságot! Köszi!"

Nem, megírták mások egyszer, ők több Windows verzióban szállították, majd eldobták amikor úgy döntöttek, hogy 32b-es programot nem szállítanak a 64b-es rendszerrel. A program változatlan formában működne tovább. Még egyszer leírom: 64b-es Windows-on is megy a 32b-es program.

Akkor most megleplek: az 64b-es XP (amiről a cikkben is szó van, mivel annál dobták a programot) WOW64 (32b-es programok futtatásához szükséges réteg) nélkül is működne. Pontosan arról van szó, hogy nem akartak belerakni olyan programot ami nem része a WOW64-nek, de szüksége van rá.

A Windows XP 64b-es verziójának használatakor nincs szükség 32b-es programok futtatására.
Ezeket a rendszer a Windows 32b on Windows 64b (aka. WoW64) segítségével futtatná ha a felhasználónak erre van szüksége.
Ez a réteg a szerver verziókban például biztosan kikapcsolható.

Most komolyan: ha a program eredeti 32b-es binárisa még most is működik a 64b-es rendszeren, akkor az hol bontja meg a kompatibilitást? Miért zavar, hogy egy 64b-es rendszerbe nem raktak bele egy 32b-es programot?

Azert zavaro, mert a flipper nem kerult kulon MSI-kent kiadasra, hogy sracok, ezt most kivettuk, de ha barkinek esetleg kellene, akkor AS-IS, de itt van.

Marpedig ha nincs telepito, akkor csak ki lehet hekkelni a 32b-s verziobol a progit. Nem mondom, hogy lehetetlen, de... hmm... nem elegans.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Trey, te tényleg ennyire barom vagy vagy csak trollkodsz, hogy pörögjenek a commentek?
A 32bites verzió a mai napig fut akár win8-on is (64bitesen is), csak magából a flipper játékból nem tudtak 64bites verziót portolni, mert nem volt elég fontos, hogy arra szánjanak időt. Windowson (linuxal ellentétben) működik a visszafelé kompatibilitás, kivéve a gányul megírt programok esetében amiből sajnos elég sok van (bár mint linux felhasználó biztos nem kell bemutatnom neked őket)
---
/* No comment */
Ketchup elementál megidézése a sajt síkra

Talán nem kellene fogalom nélkül hadoválni össze-vissza, aztán nem égetnéd magad azok előtt, akik láttak már szoftvert belülről is. Mert amit mostanság csinálsz SW dev témakörében - már ne haragudj, de - az csak önégetés.

2+3) Igen, lehet. Csak ha egy icipici fogalmad is lenne arról, hogy hogyan működnek az ilyen eszközök, akkor tudnád, hogy az egy dolog, hogy kis utómunkával elő lehet állítani fordítható kódot, de abból könnyen karbantarthatót már nehezen. Pl. azért függvénynevek nem jönnek vissza maguktól, hacsak nincs valamilyen debug symbolod hozzá (jellemzően nincs), ezeket kézzel el kell nevezni, stb. Ez viszont kurvasok idő.

Másik: ezt a pinball programot 17 évvel ezelőtt írták egy teljesen másik rendszerre. Az, hogy 64 bitre fordítás után nem működött az annyit tesz, hogy valószínűleg telenyomták egy valag alacsonyabb szintű optimalizációval (amelyek komment nélkül elsőre nem feltétlen triviálisak), amelyek 32 biten tök jól működtek (és mint többen említették: 32 bitesen most is működnek, hiába próbálsz hahotázni itt a "futtasd minden Windows verzión" szlogenen) csak 64 biten nemigazán. 32->64 bit váltás meg nem feltétlen annyi egy C-ben írt program esetén, hogy átállítom a build targetet oszt' csókolom.

"hogy a nyílt forrás nem előny, ha hibát kell keresni."

Ennél nagyobb bakot meg aztán rohadtul nem tudtál volna lőni. Egyrészt jelen esetben is megvan a forrás. Másrészt talán nem kiragadott félmondatokat kellene idézgetni, hanem azt is, hogy annak kapcsán szokás ezt emlegetni, hogy az átlagfelhasználó számára nem jelent sokat, mert aki akar az belenéz mindenképp, aki nem annak tökmindegy, hogy van-e forrás vagy sem.

Azon hahotázni meg, hogy emiatt dobták: igen, van ilyen. Kollégámmal mi is csináltunk ilyet már: volt megörökölt összegányolt kód, néztük kb. 5 percet, majd megállapítottuk, hogy hamarább újraírjuk normálisan, mint mire rájövünk, hogy hogyan működik és gatyába rázzuk (és akkor még mindig nem lesz teljesen normális). Itt csak annyi volt a különbség, hogy "so we couldn't afford to spend days studying the code trying to figure out what obscure floating point rounding error was causing collision detection to fail".

És hogy miért nem használták akkor mégis a 32 bitest? Ha megnézel egy 64 bites Windowst, akkor azért elég sok szállított programot portoltak 64 bitesre, gondolom már csak azért is, hogy minél kevesebb cucc miatt kelljen benntartani a 32 bites alrendszert. Aztán mivel maga a játék elég régi volt gondolom úgy voltak vele, hogy nem szaroznak vele, ha mégis kitalálják fenn, hogy legyen, akkor inkább csináltatnak újat, ami igazodik a 2006-os igényekhez. Talán rémlik még neked, hogy "picikét" csúsztak a Vista-val eleve.

Persze, lehet trollkodni is fogalom nélkül, de szerintem ezekkel te is tisztában vagy, csak nem akarod tudomásul venni, mert akkor nem tudnál min hahotázni.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Mit csúsztatok? Te jöttél itt nem egyszer azzal, hogy a nyílt forrásban nem egyszerűbb hibát keresni, ma már a bináris is elég. Nyilvánvaló faszság. A forrás megléte előny. Még nekem is. Saját példát is tudnék mondani, de neked minek. Szajkózod a faszságodat. Nem érdekel a maszatolásod, amit most itt elkezdtél.

--
trey @ gépház

Az a csúsztatás, hogy te itt nem hibakeresésről, hanem hiba kijavításáról magyarázol. És az említett "forrás sem kell" sztorihoz meg annyit, hogy a viselkedés vizsgálata volt a téma, nem hibakeresés. (Hálózat, fájlolvasás, milyen függvényeket hív, stb.) És ott sem a mi a könnyebb volt a téma, hanem, hogy lehet-e vagy sem.

Az egyetlen, aki maszatol az te vagy itt, nem én kezdtem el mindenféle egyéb marhaságot idekenni egy 64/32 bit témakörbe.

----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™

Trey kb. azt mondja, hogy a nyílt forrás azért jobb ebben az esetben az ajtók mögé zárt forrásnál, mert lenne igény a kód 64 bitre portolására, és ez nyílt forrás esetén nagyobb valószínűséggel történne meg, vagyis a nyílt forrás jobb, mert többen meg tudják nézni, ha akarják. Nyilván nem feltétlenül nézik meg a nyílt kódot, de van rá lehetőség, úgy is mondhatnánk, megvan az ésszerű lehetőség a világ jobbá tételére.

:)

Itt egyesek azt terjesztik, hogy még forrás sem kell ma már a hibakereséshez, nem hogy komment.

A blogbol nekem az jott le, hogy nem a hibakeresessel volt gond, hanem a raforditando idovel: We had several million lines of code still to port, so we couldn't afford to spend days studying the code trying to figure out what obscure floating point rounding error was causing collision detection to fail.

A másik pedig az, hogy miért kellett volna feltétlenül portolni 64 bitesre? 32 bites programok futnak a 64 bites Windows-on, nem?

Az elso kerdes ez a blogjaban, es valaszol is ra.

Nem voltak rá napjaik. Lentebb mash azt írta, hogy akár egy nap alatt is lehet ilyen hibát javítani. Akár komment nélküli forrásban is.

Te meg rogton el is hiszed neki. En meg meg azt hittem, hogy en vagyok naiv. :)

En probalok csak olyan kodrol mondani velemenyt amit mar lattam is:
-Volt egy ismerosom, aki eloszeretettel nevezte el kajanevekrol a fuggvenyeit.
-Lattam par ezer soros fuggvenyeket, amihez mar az sem mert hozzanyulni aki irta.

(blogbejegyzésből)
> Hyperterminal... MS probably dropped it in favour of Remote Desktop.

Ezen elsírtam magam. Nem mintha sajnálnám a Hyperterminal-t, mert szerintem egy ritka vacak program, de ezt a fogalom nélküliséget...

Itt arról van szó szerintem, hogy nem akartak vele vacakolni. Egy csapat, ami operációs rendszereket fejleszt, gyakran a nulláról, meg DirectX-et, meg Officet, meg programnyelveket/környezeteket, kétlem, hogy ne tudna megoldani egy ilyen problémát. Valaki valahol bemondta, hogy gány a kód és furcsán viselkedik, valaki egy kicsit magasabbról meg erre azt mondta, hogy akkor kuka.

A közel húsz éve, amit így-úgy játékfejlesztéssel töltöttem, megtanított rá, hogy az ilyen bejelentések az esetek 99%-ban csak bullshitnek tekinthetőek és a háttérben valami más gond áll. Az ütközésvizsgálatnak ezt a hibáját nagyjából egy nap alatt lehetne javítani úgy, hogy nulla comment van a kódban. Itt valami más volt a háttérben, szerintem.

_______________________________________________________________________

Android: https://play.google.com/store/search?q=artex+studios
iOS: http://itunes.apple.com/hu/artist/artex-studios-inc./id399983944

Már előttem van, hogy valamelyik ellen megkeresi a játék jogbirtokosát, megveszi az egészet, a forrást megnyitja és meghirdeti az "Okosabb vagy-e mint két rocksztár microsoftos fejlesztő?" játékot :D

Aztán lehetne fogadni arra, hogy mennyi idő alatt fixálná valaki a bugot. Szép móka lenne.

--
trey @ gépház

Azert az mar szanalmas, hogy az egyik most epp a sw developer-t jatsza. A masik meg a 20 eves jatekfejlesztoi tapasztalataval kepes olyat kijelenteni, hogy "Az ütközésvizsgálatnak ezt a hibáját nagyjából egy nap alatt lehetne javítani úgy, hogy nulla comment van a kódban". 96-ban adta ki a Microsoft, ami azert nem most volt. Csak sejteni lehet, hogy mennyire gany a kodja, mennyire van optimalizalva. Foleg, ha a 32->64 bites valtasnal jott elo, ugye? Biztos szivesen fogadnak olyan csodaembert, aki ezt egy nap alatt ki tudja javitani, mert ott csak hulye emberek vannak. Vagy megint egy nagy embernek kepzelo egyen, aki nem ismeri a kodot, de velemenye mar van rola. Na ezert valik o hiteltelenne.

Én már csak ilyen nagyképű barom vagyok.:)
Azzal ne foglalkozz, hogy nem ez volt a mondandóm lényege, hanem az, hogy valószínűleg ezzel az ürüggyel próbálják elkenni a valódi okot, okokat. Lehet, hogy egy nap, lehet, hogy egy hónap, nem ez a lényeg. Az a lényeg, hogy megy a maszatolás.

valószínűleg ezzel az ürüggyel próbálják elkenni a valódi okot, okokat. Lehet, hogy egy nap, lehet, hogy egy hónap, nem ez a lényeg. Az a lényeg, hogy megy a maszatolás.

En azt nem ertem hogy miert kellene maszatolnia, amikor senki nem kerte szamon hogy hol van a flipper, es a blogjanak az egyik fo profilja hogy regi dolgokrol blogol? Nem egy nagy kiado/jatekfejleszto jatekarol van szo, amiert a duhodt jatekosok verik az asztalt, hogy miert nem jelent mar meg es most kifogasokat kelljen keresgelniuk.

Vicces egy figura vagy te, hallod-e?! Ha trollkodni akarsz, akkor jobb ha elfelejted, mert én ugyan le nem állok veled vitatkozni ezen. Igen, csak mosdatni próbáltam magam. Igazából nem is vagyok játékfejlesztő, csak átvertem a HUP-on jelenlévő tisztelt nagyérdeműt. Mondjuk sokan bevették, tehát jól csináltam! :)
Ja, várj! Mégis...

De, pontosan az volt a lenyeg, hogy _mennyi_ ido alatt talaljak meg a bugot. Valoszinu, hogy egyes sufnicegekkel ellentetben az MS fejlesztoinel letezik olyan, hogy idokeret egy adott projektre. Ha latjak, hogy az idokeretet tul fogja lepni a projekt, akkor vagy megnovelik az idokeretet, vagy blokkoljak. Valoszinu itt az tortent, hogy nem volt eleg az idokeret, es mivel egy nem kritikus rendszerelemrol van szo, igy blokkoltak a projektet.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

"Az ütközésvizsgálatnak ezt a hibáját nagyjából egy nap alatt lehetne javítani úgy, hogy nulla comment van a kódban."
Azert ilyet kijelenteni ugy hogy egy sort nem lattal meg az adott projectbol szerintem iszonyat nagy kepuseg.
Minel tobb kodot latok annal kevesbe mernek ilyen elhamarkodott kijelenteseket tenni.
A hozza nem erto fejlesztok vagy akar hasznalhato fejlesztoi csapat rosz kezekben "csodakra" kepes. Egy rosszul megirt gany, roviditesekkel teleirt, dokumentalatlan nem optimalis, rosszul szervezett kodnal sokszor jobban megeri ujrairni az egeszet minthogy javitanal bele.
Nem veletlen az hogy tele van a net meg minden szakmai konferencia "How to deal with legacy" cimu cikkekkel es eloadasokkal.

------------------
http://www.youtube.com/watch?v=xnJwT_30p6k

Kicsit nekem ezek a kommentek a szakma mosdatásának tűnnek. A félelmetes az, hogy egy ilyen nagynevű cég, mint a Microsoft

a) licencelt egy általa is gánynak tartott programot
b) nem követelte meg a beszállítótól a dokumentációt
c) nem volt rendes minőségbiztosítása
d) éveken keresztül szállított olyan kódot az ügyfeleinek, amiről a vezető szoftvermérnöke bevallotta, fogalmuk sincs, hogy hogyan működik

Mindezt pénzért.

--
trey @ gépház

En ezeken sajnos mar nem lepodok meg, de a szomoru hogy ez sokszor tenyleg nem a fejlesztok hibaja.
Persze van hihetetlenul sok olyan fejleszto aki jobb lett volna ha inkabb egybol valami mas szakmat valaszt, de sokszor szinte tok mindegy hogy milyen fejlesztok dolgoznak egy helyen ha a teljes felso management komplett idiota es nem lat annal tovabb hogy "minel hamarabb kesz, annal hamarabb elkezdhetek penzt gyujteni".
Itt ehhez meg hozzajott az is hogy kulsos cegekkel gyartatnak cuccot, ilyenhez is volt szerencsem anno, es hat auditalja egy masik ceg gaz kodjat az akinek ket anyja van, hihetetlen idegesito es hosszadalmas munka amit ugysem fizetnek meg, de legalabb nagy felelosseggel jar es ha benezel valamit tarthatod a hatad mas faszsaga miatt. Ha egy jol megtervezett kodot kell auditalnod akkor nem akkora para, de ha egy ol;yat ami mar alapjaitol koncepcionalisan elhibazott akkor ekerulhetetlen hogy atcsusszanj kissebb-nagyobb hibakon. De persze legtobbszor a vasarlo ceg magasrol tesz az auditalasra es siman a managereket meggyozik azzal hogy "de hat nezd meg, mukodik nem?".
Nem mosdatni akarom en a szakmat, mert sajnos olyan amilyen, bar ahogy korulnezek sehol sem jobb sajnos. Ma mar keresve sem talalsz jo szakembert legyen szo autoszerelorol, asztalosrol vagy barmirol, sot nem eleg hogy legtobbszor nem eleg hogy gany munkat csinalnak meg at is vagnak ahol tudnak.
Jujj de elkanyarodtam...

------------------
http://www.youtube.com/watch?v=xnJwT_30p6k

Nem ez a félelmetes, hanem az, hogy tündérmesét kérnél számon egy pénzhajhász szerveződéstől, aminek nincs más célja mint az, hogy a lehető legtöbb pénzért az elégséges minimumot nyújtsa. Ha többet akartak volna nyújtani, portolták volna a flippert 64 bitre. Mondjuk én nem sajnálom, mert sosem tetszett az a játék. Egyetlen flipper játék tetszett, de már nem emlékszem a nevére. Nem a szakma mosdatásáról van szó, hanem arról, hogy az anyagi érdekek mindent elgáncsolnak, amin nem lehet nagyot szakítani.

:)

Feltehetően elkezdték a cégek megunni, hogy még a gagyi passziaszt is képesek egész nap nyomni egyesek :D

Egyébként annyi kpja van az msnek hogy nem gyozne válogatni a megvásárolható cégek közt akik tele vannak ilyen játékokkal.

Egyszer egy interjút hallottam egy magyar céggel akik taln ms talán sonynak készítettek flipper játékot.

"In other words, there was a lump of code that shipped for give-or-take a decade that NOBODY UNDERSTOOD. Yeah, *that* sounds like a good idea..."

--
trey @ gépház

mert egy külső fejlesztőtől licencelt játékprogram ami védett módban fut az valóban kritikus rendszerelemnek minősül és napi téma kéne, hogy legyen a megbeszéléseken...
Nem mennél inkább autót szerelni? Sőt, inkább vágj fát, mert az autókban is sok már a szoftver.

"mert egy külső fejlesztőtől licencelt játékprogram ami védett módban fut az valóban kritikus rendszerelemnek minősül és napi téma kéne, hogy legyen a megbeszéléseken..."

Egy szoftver, amihez a nevünket adjuk, kellene, hogy érdekeljen. Az meg, hogy milyen fontos, jól jelzi, hogy a Chuck Norris még 2012. 12. 08-án is fontosnak érezte előcitálni. Különben a kutya nem foglalkozna vele, ha nem vette volna elő.

"Nem mennél inkább autót szerelni? Sőt, inkább vágj fát, mert az autókban is sok már a szoftver."

Elmegyek, de ezeken az anekdotákon még onnét is röhögni fogok.

--
trey @ gépház

Az meg, hogy milyen fontos, jól jelzi, hogy a Chuck Norris még 2012. 12. 08-án is fontosnak érezte előcitálni. Különben a kutya nem foglalkozna vele, ha nem vette volna elő.

Sokszor blogol regi dolgokrol, sot javasolni is lehet neki hogy mirol irjon(elso helyen van a "Windows history (particularly the Windows 95 era)." temakor). Azon hogy most errol irt csak azok lepodnek meg akik csak ezt a postjat olvastak.

A 64 bites XP 2003-ban jött ki. Engem igazából az érdekelne, hogy Raymond Chen miért gondolta azt, hogy ez az információ most, 9 év elteltével fontossá vált.

Kémeim jelentése szerint már dolgozik egy másik blogbejegyzésen is. A bejegyzés tervezett címe: Mi, és miért maradt ki a Windows 1.0-ból. A jelen menetrend szerint a bejegyzést 2038 január 19-én hozza nyilvánosságra.

-----
A kockás zakók és a mellészabások tekintetében kérdezze meg úri szabóját.

Történetesen Trey-nek teljes mértékben igaza van, a fenti leugató hozzászólások közül max az lehet hiteles, hogy az ms policy miatt nem akartak 32 bites programot tenni a 64 bites vistába.

Én történetesen utálom Mash-t, de muszáj egyetértenem vele: 1 nap, akármennyire hiányoznak a kommentek: a program fut, egyetlen, jól azonosítható helyen látszott 1 db hiba. 1 nap, és nem kell ehhez az ms kernel csapatának foglalkoznia ezzel. Persze ehhez olyan ember kell, aki ért a játékfejlesztéshez. Ismét hangsúlyozom, hogy utálom Mash-t ( ;-) bár mostanában mintha már nem utálnám annyira, majd meglátjuk mit válaszol), de egész biztos 1-2 napon belül kijavította volna ezt a hibát. Ahogy én is ;-) Valami nyári gyakorlaton a MS-nál tengődő diáknak kiadhatták volna.

A 32 bites vistába betehették volna minden gond nélkül, nem?
A 64 bitesben pedig a 32 bitest mindenféle újrafordítás nélkül. Ezt írta Trey.
Az meg, hogy lehetőleg minimális legyen a 32 bites alrendszer elindításának szükségessége: ne vicceljünk már: egy egyszerű játékprogramról van szó, nem a zexplorerről vagy wordről, flipperezés közben minden bizonnyal nagyon fontos munkát végeznek a háttérben a zemberek.

Akárhogyis elég nagy szégyen szerintem az MS-re nézve.

Leírta a bejegyzésben, hogy a telepítőrendszer hiányosságai, és policy okokból nem kerülhetett 32b-es program az alaprendszerbe. Így el lehet kerülni, hogy a WoW64 letiltása esetén váratlanul más programok is megáljanak, illetve az olyan megjegyzéseket, hogy nem is 64b-es a rendszer, mert tele van 32b-es kóddal. A Win 95 esetében megkapták az ilyen jellegű kritikákat mert ott sok volt a 16b-es kód.

Persze, rá lehetett volna szánni egy napot, de ez akkor is csak egy játék program. Kiadták, hogy ha lehet akkor menjen, de ha sokat kéne vele szenvedni akkor ne. Előfordul az ilyen.

"A 32 bites vistába betehették volna minden gond nélkül, nem?"
Növelve a szakadékot a 32b-es és a 64b-es verziók között. A Vista amúgy is újraírt játékokat kapott, így érthető, hogy ez sem élte túl.

"A 64 bitesben pedig a 32 bitest mindenféle újrafordítás nélkül. Ezt írta Trey."
A fent említett dolgok miatt nem. Trey meg nem ezt írta.

"flipperezés közben minden bizonnyal nagyon fontos munkát végeznek a háttérben a zemberek."
Nem teljesítményprobléma, hanem policy és tisztaság. Eljött az ideje, hogy kidobják.

"Akárhogyis elég nagy szégyen szerintem az MS-re nézve."
Miért? Kivettek egy játékot a rendszerből amikor annak a karbantartása túl költséges lett volna. Ebben mi a rossz?

A policy-t mondtam én (is).

Igen csak egy játék, én mondjuk nem különösebben kedvelem, talán 5x játszottam 16 év alatt vele. De hát akkor azt kell mondani, hogy nem tesszük bele, mert nem jó. Viszont tényleg sokan játszottak vele, és elvileg bele is akarták tenni, bár nem játszanék vele, mégis hiányoltam volna, főleg a Vistából, annak a színvonalát mindenképpen jelentősen emelte volna :-) Egyébként az "egy nap" az mondjuk 2 óra min - 2 nap max.

"" "A 64 bitesben pedig a 32 bitest mindenféle újrafordítás nélkül. Ezt írta Trey."
A fent említett dolgok miatt nem. Trey meg nem ezt írta.""

Trey: "A másik pedig az, hogy miért kellett volna feltétlenül portolni 64 bitesre? 32 bites programok futnak a 64 bites Windows-on, nem? Látszólag minden probléma nélkül működésre bírható 64 bites rendszeren is."

Hát valóban nem azt írta... Tökéletesen igazad van. Végülis nem ugyanazok a karakterek következnek ugyanabban a sörrendben...

Tisztaság a Vistában :-)))) LOL

Túl költséges? :) Nézd, ha lefordítja 64 bitesre és el sem indul, vagy különböző helyeken Google.Translate.Google("Segmentation fault", "Microsoft", "hint=Application error") van, akkor azt mondom ok, de itt _NEM_ ilyen! Elúsztunk a Vistával, be vagyunk szarva a lemaradások miatt.

"Egyébként az "egy nap" az mondjuk 2 óra min - 2 nap max."
Örülök, hogy te ezt így látod a kód ismerete nélkül.

"Végülis nem ugyanazok a karakterek következnek ugyanabban a sörrendben..."
Ez egy mellék szál volt amit nagyon könnyen meg lehet válaszolni ha valaki elolvassa a cikket. ;)

"Tisztaság a Vistában :-)))) LOL"
Te is biztos sokat használtad a Vista-t. Amúgy rengeteg kódtisztítást vezettek be vele.

"akkor azt mondom ok"
A segafault-ok könnyen javítható hibák, mert nagyon jól követhető, hogy hol következnek be. Egy viselkedésbeli hiba nehezebben debuggolható, mert több hibaforrás is lehet. Ehhez jön hozzá egy kód ami eredetileg Assembly-ben készült, valaki átírta C-re, és valószínűleg tele van furcsa megoldásokkal, hogy minimalizálják a CPU igényt. Biztos sokkal könnyebb javítani mint egy tipikus segmentation fault-ot...

szerk. Ha elolvasnád a cikket akkor tudnád, hogy nem a Vista-nál dobták ki, hanem már a 64b-es XP-nél, így nehéz a Vista csúszására fogni.

(troll)Azt nem ertem, ha ilyen okosak vagytok, miert nem az MS-nek dolgoztok...(/troll)

Na mindegy, nem is ezt akartam irni. A MS-en belul szerintem kulon van dedikalt jatekfejleszto csapat (Microsoft Games ugyebar), es kulon vannak azok, akik az OS reszevel foglalkoznak. Abban a csapatban viszonnt nem biztos, hogy voltak olyan kepzett jatekfejlesztok, mint a masikban. Szoval egy kevesbe kepzett jatekfejlesztonek talan tobb idobe kerul egy ilyen bug megtalalasa, es talan ennyi ido nem allt rendelkezesere a projektnek. Ez esetleg eszebe jutott barkinek is?
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

(detroll) Nem mondtam, hogy ilyen okos vagyok (nem is mondtam, hogy nem). Egyszerűen ezt én (és néhányan mások is) meg tudom csinálni. (/detroll)

Semmi nagyképűség, vagy kérkedés. Én ezt meg tudom, mash is meg tudja, más pedig mást tud megcsinálni. Nem kell ehhez az ms-nek dolgozni. Úgy írsz, mintha a programozó karrier csúcsa az MS lenne. Miért lenne az?

Amit akartál írni, az teljesen egybevág: a játékfejlesztő, vagy xbox vagy bármilyen csapatból 1 ember megcsinálta volna.

Pedig Mash nem utál téged. Azért mert néha erőteljesebben vitáztunk, attól én még nem utállak, hiszen valójában nem is ismerlek! Amúgy meg van az a közhely, hogy szeress, vagy gyűlölj, de ne légy közömbös, úgyhogy nincs itt nagy baj! Erről pedig még egy fél mondat jutott eszembe egy klasszikustól: "...de semmi buzulás" (Torrente, el brazo tonto de la ley)! :-)

De, hogy valami szakmaiság is legyen a dologban. Azért merészkedtem azt írni, hogy szerintem rövid idő alatt javítható hibáról van szó, mert a leírt hiba tipikus a játékok fizikájánál. Flippereknél pedig különösen gyakran előfordul. Amikor egy tárgy nagyobb sebességgel mozog, mint amilyen ütemben az ütközésvizsgálat figyelné azt, hogy ütközik-e valamivel, akkor esik át tárgyakon a golyó. Amikor az egyik pillanatban a fal bal oldalán van, majd a következőben a fal túloldalán, és közben nem volt ütközésvizsgálat, akkor ilyen hibák jönnek elő. Ennek a javítása nem olyan nagy feladat, még egy ismeretlen kódban sem. Lehet ezért megkövezni, de én akkor is így gondolom.

Lejjebb már írtam, hogy nem is igazán ez a lényeg, hogy javítható, vagy mennyi idő alatt javítható. Hanem az, hogy az esetek nagyon-nagy részében láttam olyat egy játéknál, hogy valami mással próbálták elfedni a valódi problémát, amit sokkal cikibb lett volna beismerni. Most így hirtelen a Dead Trigger mobil játék jut eszembe, amit előbb kiadtak fizetősen, in-app purchase-zel a játékon belül. Majd amikor a játékosok azon háborogtak, hogy a fizetős játékban még plusz dolgokat kell venniük, ha végig akarják azt játszani, akkor jött a Madfinger, hogy ingyenessé teszik a játékot, mert olyan nagy mértékű a kalózkodás Androidon, hogy nem éri meg(!) fizetősen tartani. Tudom, hogy ez egy elég távoli példa, hiszen nem technikai, hanem hibás üzletpolitika eredménye, de gondolom értitek, hogy mire gondoltam. Számtalan ilyen maszatolást, kamut fel lehetne sorolni az elmúlt 30 évből, amire így kívülállóként nem feltétlen fogunk magyarázatot találni.

Már csak az a kérdés, ez a programozó ember miért volt olyan hülye, hogy blogolt egyet a történtekről, miután a legtöbben már elfelejtették, megbékéltek vele? Ez a szerencsétlen a saját maga ellensége, aki szívesen rombolja szándékosan a saját szakmai megítélését? Miért hazudott volna annyi év után? Csak úgy a semmibe lógatva ennek nincs értelme. Valami céljának kellett lenni, vagy ha célja nem, akkor pedig oka volt. Erre is fel kellene állítani egy teóriát, hogy legyen mivel alátámasztanod a ciki maszatolás lehetségesnél többet sejtető voltát. Legalább annyit vess ide, hogy a nője rajtakapta, amint egy rendőrrel és annak botjával buzult a parkban, és emiatt nagyon elkeseredett, és szakmai nyilvánosan hülyét akart csinálni magából... De komolyan, szerinted miért blogolta ki mostanság a történetet? Esetleg miről hazudott benne, és/vagy mit hallgatott el?

:)

Már leírtam párszor, hogy valami más lehet(!) a dolog mögött, de hogy mi az, azt nyílván nem tudom, mert nincs info. Sok ilyet helyzetet láttam már sajnos belülről is, így egy feltételezésre, és a saját korábbi tapasztalataimra alapoztam azt amit mondtam. :)
Dolgoztam pár éve a világ egyik legnagyobb játékkiadójával, és ugyanez a maszatolás ment egy hasonló szituációnál.

Persze, hogy lehet, sőt! De ez azon nem változtat, hogy itt valószínűleg az ütközésvizsgálattal volt a gond, ami azért viszonylag könnyen javítható lett volna, ha olyan nagyon akarják. Úgy tűnik nem akarták. ;)
Na, mindegy! Nem érdemes ezen sokat lovagolni. Dobták a játékot és kész...

szerintem rövid idő alatt javítható hibáról van szó, mert a leírt hiba tipikus a játékok fizikájánál.

Egy olyan programban ami nem a szakteruleted, emelle kulonfele trukkokkel nehezitik a hibajavitast(0 komment, rosszul szervezett/megirt kod) tovabbra sem vagyok biztos hogy konnyen javit az ember masok szamara tipikus hibanak szamito bugot.
En peldaul biztos vagyok benne, hogy egy szarul megirt adatbaziskezeloben nemvaloszinu hogy tudnek javitani egy nap alatt egy trivialisnak szamito de adatbaziskezelokre jellemzo hibat.

Persze amig nem lattuk a kodot nem lehetunk biztosak semmiben, de mint olyan aki rendszeresen olvasom a blogjat hajlamos vagyok hinni neki abban, hogy nem lehetett egy konnyu feladat.

Ez is egy fajta megközelítése a dolognak, és el is fogadom. De ugyanakkor nem hiszem, hogy az MS Gamesen belül ne lett volna valaki, akinek megvannak a kvalitásai. Az meg megérne megint egy külön szálat, hogy vajon miért olyan dolgozik ezen, aki "nem ért hozzá", nem ez az ő szakterülete?

Az meg megérne megint egy külön szálat, hogy vajon miért olyan dolgozik ezen, aki "nem ért hozzá", nem ez az ő szakterülete?

Ezt meg en is hozza akartam irni, de nemtudom miert kimaradt.
Plusz remenykedhetunk hogy a portolas soran nem kerultek be nagyobb hibak csak hogy forduljon/fusson.

Pont erre próbáltam célozni. Eleve nem is lett volna semmi keresnivalója ennél a részlegnél a Pinballnak, ha egyszer van játékfejlesztéssel foglalkozó ág a cégen belül. Csak az MS tudja, hogy miért rájuk bízták. Lehet, hogy pont azért, hogy elhaljon a dolog? :)

_______________________________________________________________________

Android: https://play.google.com/store/search?q=artex+studios
iOS: http://itunes.apple.com/hu/artist/artex-studios-inc./id399983944

Ez hülyeségnek tűnik. A Jegyzettömb pl. fontos volt, mindenképpen meg kellett csinálniuk, és ha nem sikerült volna, írni kellett volna egy újat, vagy licencelni stb., mert a Jegyzettömb funkcionalitása kell. A flipper nem volt fontos, de Chenék kaptak rá x időt, hátha sikerül portolni. A flipper ebben az esetben sokadlagos fontossági szintű felhasználói program besorolást kapott, nem pedig fontos játékprogram besorolást, ami szerintem érthető, hiszen a régi jó windowsos flipper nem a tipikus húzóösszetevője (gondolom...) az OS eladásának. A flipperből nincs pénz, de ha valami más játéktól akár egy órára el akarnának venni egy szakértelemmel bíró embert, szerintem arra a pénzügyi részleg száz oldalas dokumentummal reagálna, melyben levezeti, hogy az az egy kiesett óra mekkora pénzmennyiséget venne ki a vállalat zsebéből. De, igazad van, az is lehet, hogy egy vagy több fejes rühellte a flippert, és játékdilettánsok kezébe adva akarták végleg elvágni az útját. :)

:)

Gondolom egyrészt ezek a részlegek eléggé elszigeteltek egymástól, nem lehet csak úgy átpasszolni nekik egy pár ezer soros programot egy hibajavításért. Minden részlegnek megvan a maga dolga, nem biztos, hogy a játékfejlesztők fel tudtak volna szabadítani embert a feladatra. Másrészt itt egy játékfejlesztéshez szorosan nem kapcsolódó hibát kellett volna kijavítani (teljesen mindegy, hogy milyen funkciót érint, nyilván nem a funkció logikájában volt a hiba), ezért nem biztos, hogy a játékfejlesztők hamarabb javítani tudták volna a hibát. Pláne akkoriban, amikor még nem is volt kiadott 64 bites windows. :)

Sorra meglepő kérdések merülnek fel. Közelítsünk máshonnan: manapság nem ritka, hogy funkcióban hiányosan (WP7 és iOS 1-2 kopipészt-hiány ugrott be), vagy ismert (esetleg mi nem tudunk róla) de nem javított hibákkal adnak ki szoftvert (a Microsoft sokszor meg is kapta érte itt a vizes lepedőjét, hiszen nem egyszer derült ki, hogy tudtak valamiről, mégsem javították). Régebben én is azt feltételeztem, hogy a pénzgyűjtés mellett (nem messze alatta) azért valami pozitív szándékuk is van a szoftvereikkel, de rá kellett jönnöm, nincs. Épp ezért valami ilyesfajta prioritással érdemes a Microsofttal kapcsolatos dolgokat vizsgálni:

  1. Haszon.
  2. Haszon.
  3. Haszon.
  4. Haszon az idő függvényében.
  5. Szakmai szempontok.
  6. Falhasználói igények.

Az ötödik és hatodik szempont néha felcserélődik, néha meg elmaradozik. Természetesen más hasonló cégekre is igaz a lista. Minél nagyobb és szerteágazóbb a vállalkozás, annál inkább, mert a mérettel egyre csökken az emberi lépték, azzal együtt az erkölcsi (pozitívan értendő) felelősségérzet. Az erkölcsi felelősséget az ember pl. a munkájával és az ügyfeleivel kapcsolatban szokta érezni, röviden úgy lehetne összefoglalni, hogy jó szándékkal jól szeretné elvégezni a munkáját, hogy ő is és az ügyfele is elégedett legyen, de közben szem előtt tudja tartani azt is, hogy a munkájával ne okozzon kárt a világnak, sőt, gyarapítsa azt. Egy nagy vállalatnál senki nem látja át az egész rendszert, vagy ha át is látja, nem ér el a keze messzire, így ha javasol is valamit a feljebbvalóinak, azzal csak akkor törődnek, ha anyagi haszonra lehet váltani, vagy esetleg akkor, ha olyan ember hozhat döntést a témával kapcsolatban, vagy olyan embernek van lobbiereje kiállni mellette, akiben van erkölcsi felelősségérzet, és ezt fontosnak is tartja. Tévedtem, aki fent van, annak messze érhet a keze, viszont senki nem kerül fel vagy nem marad fent sokáig, akinek van erkölcsi – vagy bármilyen-, értékkel kapcsolatos – felelősségérzete.

Ezért tartom meglepőnek a kérdésed, valamint azért, mert neked mint nagyfőnöknek van rálátásod arra, hogy ami kicsiben így vagy úgy megy, az nagyban hogyan mehet, és mi az ami a méretkülönbség miatt jobban működhet, és mi az, ami nem.

:)