A da se Windowsi riješe brda legacy koda... Koliko god je to super za korisnike, tko ce danas na Windows 11 spajati USB kameru ili skener iz 2000tih? Ili podrška za tape drive na "client" verzijama? Sve to jos postoji i uredno se gomila ispod haube...
Samo 30 linija koda Linuxa može smanjiti potrošnju
- poruka: 5
- |
- čitano: 1.752
- |
- moderatori: vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
A da se Windowsi riješe brda legacy koda... Koliko god je to super za korisnike, tko ce danas na Windows 11 spajati USB kameru ili skener iz 2000tih? Ili podrška za tape drive na "client" verzijama? Sve to jos postoji i uredno se gomila ispod haube...
Priznaj, ti radiš u Microsoftu u "product definition" odjelu. Meni doma savršeno dobra eksterna zvučna kartica (platih je više stotina eura) skuplja prašinu zato što je netko kao ti u moje ime odlučio da je sa Win10 više ne namjeravam koristiti. A uskoro će joj se pridružiti moj VR (600€) jer je već najavljeno da Microsoft planira izbaciti "Mixed Reality" in Windowsa.
Legacy code je uglavnom benigan. To su fileovi koji leže na disku i ne koriste se, ili funcije u DLL-ovima koje jednostavno nitko ne poziva. A ako ih počiste pa ti se Windows installacija smanji sa 35 GB na 30, običan čovjek to ni ne primjeti, a neobičan čovjek može biti doveden do ruba živaca.
Ogromne veze. Koliko su puta, pogotovo za grafičke, bolji driveri direktno utjecali na performanse a samim time i na potrošnju energije? Ili za laptope, instaliraj od nule Windowse i ne daj im da se spajaju na net i usporedi koliko traje baterija na takvom stroju u odnosu na neki updateani, iznenadio bi se. Bolji power management, bolja kontrola taktova, svašta. Hardver bez firmwarea/drivera samo troši struju, taj firmware/driver će mu reći što da radi i koliko učinkovito. Banalni primjer, pošto mi je blizak - novi firmware za skener QR kodova (pakiranje...) - LEDice su se do sada palile čim si pokrenuo funkciju scan ili na motion. Netko pametan je shvatio da ako je trigger daleko tj. traci ili osobi treba više vremena da dođe do samog elementa skenera, da to sve skupa (20W barem, odokativno) svijetli bezveze i troši i LED i struju za ništa i uveli su opciju "trigger delay" - sad ako paket putuje par metara po traci, skener se može upaliti par sekundi kasnije. 20 skenera * 3 distributivna centra * 5 sekundi * 10ak tisuća skeniranja * 24 * 7 * 365 * cca 20W = neka lova. Ušteda.
Za stare proizvode, čitaj rant dalje...
Priznaj, ti radiš u Microsoftu u "product definition" odjelu. Meni doma savršeno dobra eksterna zvučna kartica (platih je više stotina eura) skuplja prašinu zato što je netko kao ti u moje ime odlučio da je sa Win10 više ne namjeravam koristiti. A uskoro će joj se pridružiti moj VR (600€) jer je već najavljeno da Microsoft planira izbaciti "Mixed Reality" in Windowsa.
Legacy code je uglavnom benigan. To su fileovi koji leže na disku i ne koriste se, ili funcije u DLL-ovima koje jednostavno nitko ne poziva. A ako ih počiste pa ti se Windows installacija smanji sa 35 GB na 30, običan čovjek to ni ne primjeti, a neobičan čovjek može biti doveden do ruba živaca.
Ne radim u MSu, da bar, ja sam obični tehničar, netko koga zoveš kad nešto ne radi pa se spojim na tamo nešto, izrecitiram par komandi i sve bude dobro... Do idućeg puta.
Ne bi se složio da je legacy kod bezopasan i samo zauzet prostor na disku. Taj legacy kod je živ i zdrav u svim onim usb*.dll i usb.sys fajlovima koji se uredno loadaju i koriste kad god se radi neka USB komunikacija. usbport.dll ima recimo 498kb, što je za današnje pojmove "ništa" prostora ali količina koda koja stane unutra je stravična. Ok, funkcija se možda i ne koristi ali tu je i exportana je, može ju bilo tko pozvati i potencijalno iskoristiti neki exploit koji je tu još od doba USB 1.0 jer tamo neki USB hub ima specifični problem kojeg je MS pokrpao jer su se ljudi navikli da prvo idu njima plakati da nešto ne radi a tek onda proizvođaču. Svaki taj hack je potencijalna sigurnosna rupa ili neki problem sa kompatibilnosti. 64bit windowsi navodno ne podržavaju 16bit aplikacije ali ipak podržavaju, jer netko je napisao odgovarajući hack da bi to radilo. Uz to, postoji cijeli API koji se bavi 32bit aplikacijama na 64bit windowsima. Iako se kod možda odnosi na neke 1.1 ili 2.0 specifičnosti, tko kaže da se ne poziva bar dio nečeg kod komunikacije sa 3.0 uređajima?
Čemu ovaj rant? Pa eto, jedan od tih uređaja iz 2000ih ili tu negdje, USB 2.0 sa FTDI čipom (original!) i driverima na skoro svim Windowsima (od 7 naovamo) ima povremene probleme da ostane "visiti", u smislu da Windowsi ga i dalje vide kao prikopčanog, neke poruke se izmjenjuju ali glavni dio (podaci, radi se o USB serial) nikad ne dođu do hosta. Oni jesu poslani, sve ok ali Windowsi ih ne vide ali opet ne dovoljno loše da bi prijavili problem sa USB uređajem i napravili išta korisno po tom pitanju. Imali smo cijele trakavice i rasprave sa vendorom, raspravljalo se o kupovini (tada) jako skupog USB protocol analyzera da se konačno ustanovi zašto to ne radi kako spada i koja točno kombinacija OSa, drivera, USB host kontrolera uzrokuje problem. Cijela priča je stala kad je ustanovljeno da pod Linuxom radi savršeno (kojim god, samo da je iz ovog stoljeća) i problem je nestao "potezom pera" da je vendor jednostavno maknuo Windowse sa liste podržanih OSova. Očito je do OSa i drivera, ali što točno? Nitko ne zna, sa ovima iz FTDI je nemoguće komunicirati a vendor se pravi lud, pogotovo zato jer je problem bilo nemoguće reproducirati sa 100% pouzdanosti. Negdje radi godinama bez greške, negdje se odustalo od USBa, kupilo dobre stare PCI serial kartice i radi a neki su odustali od te opreme.
20ak godina kasnije, evo 2 identična laptopa, dva identična USB-C docka - meni svakih random x vremena na par sekundi nestane ethernet (ali samo on, Realtek USB 3.0 to Ethernet), ostali portovi (uključujuć i monitor) niti da zucnu a kolega nema i nikad nije imao taj problem. Vrlo ga je lako uočiti jer ako se spojiš na bilo kakav VPN, taj prekid od par sekundi je dovoljno da te izbaci sa VPNa. Zamjenimo dockove, ista stvar, meni prekida, njemu ne. Idući korak je rušenje OSa, o tome ćemo na jesen, za vrijeme kolektivnih GO. Različita periferija je popikana u ostatak huba, da li je možda do toga? Iako su laptopi identični, nabavljeni unutar 3 mjeseca, instaliran Win11 sa istog imagea a firma pušta update, da li je zbilja sve isto?
Treba li spominjati da na Ubuntu 24.04 tog problema nema?
tl;dr - više koda == više mjesta za bugove. Star sam i prigovaram bezveze.