ComputerWorld - Popolne naključnosti (brez namenske strojne opreme seveda) v računalništvu sicer ni, a generatorji psevdonaključnih števil so dovolj izpopolnjeni, da bi moralo biti sprogramirati za uporabnika dovolj naključno sekvenco mačji kašelj. Microsoftu vprvo to ni uspelo.
Govorimo o novem oknu za izbor privzetega brskalnika v operacijskem sistemu, ki ga je od Microsofta izposlovala EU. V njem se pojavi pet brskalnikov (IE, Firefox, Chrome, Opera, Safari), in sicer vsakokrat v drugem, naključnem vrstnem redu. Arhitekt programske opreme iz IBM-a Rob Weir je Microsoftu očital, da so naključnost sprogramirali površno. Zaradi začetniške napake (polje so posortirali s posebno primerjalno funkcijo) se je Chrome največkrat pojavil na prvem mestu, IE pa je bil v več kot polovici primerov skrajno desno. Firefox je imel manj možnosti za prvo mesto od Opere. Microsoftov predstavnik za stike z javnostmi Kevin Kutz je včeraj povedal, da so napravili nekaj sprememb v algoritmu za naključno razvrščanje brskalnikov v izbirnem oknu. Z novostjo se strinja tudi Weir, ki je pretestiral tudi nov algoritem in zadovoljno ugotovil, da imajo sedaj vsi brskalniki enake možnosti, da zasedejo katerokoli mesto na seznamu. Izčrpna analiza.
omfgzo xD.. To je taka bedarija, da mi je kar slabo.. saj kaj ma to veze kateri je prvi.. naj bo IE.. saj je od microsofta.. se zaradi take dečave stvari svajujejo-.-
Seveda je resna! Če ne znajo enega bogega randoma za bedno majhno polje urihtat kot je treba, kako jim lahko zaupamo pri drugih randomih, ki se uporabljajo pri saj-veste-katerem-Matthaijevem-področju?!
@luli: Opera Turbo navidezno res pospeši povezavo - na počasnih povezavah, torej pod enim megabitom. Mi pride zelo prav v šoli, ko imamo informatiko - mrežo imamo le 2 mega in ko vsi zaženejo Youtube... Gotovo pa imajo kje v drobnem tisku zapisano, da hitrim povezavam ne pomaga.
Hmmm... kaj je treba tuki sprogramerat? Kličeš random funkcijo pa je...
"Random" funkcija ni popolnoma naključna.
JavaScript-ov Math.random() je čisto dovolj dober v tem primeru, če se ga seveda uporabi na pravilen način. Uporaba v primerjalni funkciji, kot v prvi Microsoftovi rešitvi, ni pravilen način in v tem primeru ti niti pravi random ne bi prav nič pomagal. Problem je bil torej v slabi implementaciji naključnega sortirnega algoritma, ne pa v pomankljivosti psevdo-random generatorja.
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)
Hmmm... kaj je treba tuki sprogramerat? Kličeš random funkcijo pa je...
"Random" funkcija ni popolnoma naključna.
Odvisno kaj je zate popolnoma. Pseudonaključni random generatorji so dovolj naključni za večino stvari vključno s tole... Sicer je bila napaka drugje kokr sm iz vira zasledu...
Tale "ne-random", ko je random vklopljen ima pa tut Windows media player. Svoje čase sem ga uporabljal, naštimal 200 pesmi na random, na koncu jih je pa 10 ponavljal...
Novica PMSM niti ni tako brezvezna, kot se zdi na prvi pogled. Zares "naključen" random je pomemben tudi pri generiranju kriptografskih ključev. Ali ni bila že cela frka, ko so v Debianu (in derivatih) nekaj zašuštrali in naredili "predvidljivega"?
Hmmm... kaj je treba tuki sprogramerat? Kličeš random funkcijo pa je...
Niti ne... ker nekatere PRNG funkcije so zeloo pristranske. Konkretno je imel Windows resne težave s tem. In posledično tudi jaz, ki sem nekaj časa njihov PRNG uporabljal za neke zelo pomembne izračune. Me je izučilo in sem potem začel uporabljati Mersenne Twister...
Se cisto strinjam s tem, da je PRNG generator zelo vazna zadeva, posebej za kriptografsko uporabo. Ampak RC4 je precej enostavno implementirati in uporabiti kot PRNG generator, tako da to ni tak problem.
Ljudje bi se morali zavedati tudi tega, da ni cisto vseeno, ce recejo le srand(time(NULL)). S takim stilom programiranja, brez razmisljanja kaj izbrano "seme" v bistvu pomeni, je velika verjetnost, da bodo enkrat, ko bo treba sprogramirati nekaj bolj resnega povzrocili (dobro skrito) varnostno ranljivost. Za seed je dobro, ce je odvisen od precej bolj natancnega casa ali kaksnih drugih (bolj nakljucnih) dogodkov (npr. premikanja miske uporabnika). Isti seed namrec pomeni, da bodo generirana tudi ista "nakljucna" stevila.
Ampak tukaj ni slo za problem v zvezi s tem - naslov je torej ze sam kar precej "biased". Kar je Microsoft naredil je nasteto pod drugo tocko tukaj Namesto z vedno manjsega intervala je bila nakljucna stevilka vedno izbrana iz celotnega intervala. Torej ni slo za to, da bi koga prefererirali ali koga zanalasc "premestili".
"[This] is more in the nature of a 'naive algorithm,' like the bubble sort, that inexperienced programmers inevitably will fall upon when solving a given problem," Weir explained in a long entry to this personal blog on Saturday. "I bet if we gave this same problem to 100 freshmen computer science majors, at least one of them would make the same mistake."
Razlika je v tem, da bubble sort cisto dobro opravi svojo nalogo. Sicer bi se dalo z manjso casovno kompleksnostjo, ampak rezultat je pa 100 % pravilen. (BTW: me zanima kdo bi sam brez kakrsnegakoli background knowledga pogruntal quicksort). Ta shuffle algoritem jasno ni bil pravilen. Ok, slo je za typo, ampak ce bi dal 100 ljudem to za narediti, sem preprican, da bi vecina po "kmecki logiki" naredila prav. Mogoce pa da bi bilo vse skupaj precej pocasnejse.
Tudi pri meni ni na spregled nobenega izbirnega okna, čeprav sem ga naložil preko Windows Update; in to na dveh mašinah. Je pa res, da so na obeh že inštalirani vsi našteti browserji, privzeta je pa Opera. Ampak vseeno bi pričakoval vsaj kako ikono na namizju ali start menuju, ali pa da se mogoče prikaže ob zagonu IE8... pa nič.
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)
Saj če si že naložil in instaliral drug brskalnik, recimo Firefox, in ga določil tudi za system default, pol nima smisla, da te ta program še enkrat vpraša, saj si se že očitno odločil za FF.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!
Aha, sej po eni strani smiselno - v nasprotnem primeru bi verjetno marsikdo udrihal po Microsoftu, da tistim, ki so že izbrali drug browser, spet skuša vsiliti kaj druga (IE).
Ampak po drugi strani - a tisti uporabniki, ki so npr. dobili računalnik s prednameščenim in privzetim Firefoxom, pa ne zaslužijo možnosti izbire?
1ACDoHVj3wn7N4EMpGVU4YGLR9HTfkNhTd... in case I've written something useful :)