Do Microsoftu sa vlámali banditi! A čo je horšie, nekradnú počítače, ale programujú do oficiálnych Windows najrôznejšie funkcie, o ktorých potom nikto nevie. A parádnou retročriepkou je, že sa to deje už celé dekády a Microsoft ich nie a nie všetkých pochytať.

Omylom kliknete, náhodne stlačíte nejakú ikonu keď si buchnete do klávesnice, myšou potiahnete niekam za roh a je to tu. Zrazu sa stane niečo nečakané. Objaví sa nejaký nový panel, otvorí sa nejaké okno či prvok systému, alebo sa niečo vykoná.

Náhle skrátka zisťujete, že Windows má nejakú funkciu o ktorej ste nevedeli a čo je zaujímavé, niekedy o nej nevie ani „samotný“ Microsoft.

Počas celého vývoja Windows sa v tomto operačnom systéme objavovali funkcie, ktoré do neho pridali vývojári na vlastnú päsť, bez toho aby sa niekoho pýtali a aby to niekto schválil. Často pre svoj vlastný prospech.

Kým mnohé časom zmizli a boli zlikvidované, iné prežívajú a nájdeme ich aj v aktuálnych systémoch Windows 10 a Windows 11.

Bandita z divokého západu sedí na koni a zapaľuje si cigaretu. Pred ním je stará ceduľa s logom operačného systému Windows
/Ilustrácia: Darwyn Cooke/

Tieto mechanizmy sa označujú aj ako „rogue feature“, čo sa dá voľne preložiť ako darebákmi vytvorené funkcie, gaunerské kódy, alebo softvérový banditizmus.

Programátor bandita, ktorý takéto funkcie vytvára, je reálny vývojár a zamestnanec Microsoftu, ktorý pracuje na systéme v rámci regulárneho vývoja jeho rôznych častí. Avšak ak nejaké funkcie do systému naprogramuje potajme a na vlastnú päsť, znamená to, že sú skryté, často krát o nich skoro nikto nevie a žijú si svoj vlastný život.

Šerifovia Microsoftu by pravdaže najradšej všetkých banditov pochytali a obesili daný kód na námestí pred salónom na výstrahu, ale nie vždy je to možné. V priebehu času už totiž dané funkcie mohli niektorí zákazníci začať už používať a takisto v priebehu času mohlo byť na ne naviazané niečo neznáme a odstránenie spôsobí nejaké nečakané komplikácie a skryté bugy.

Neznáma a nezdokumentovaná funkcia v rámci vývoja veľkého softvérového produktu, na ktorom pracuje niekoľko tisíc programátorov a desiatky tisíc vývojárov, je problematickou oťažou a bremenom.

Nejde pritom len o to, že iní alebo budúci programátori Microsoftu nevedia, ako presne bola vytvorená a ako funguje. Banditská funkcia je často jednoduchá a jej zdrojový kód priamočiary a jasný na prvý pohľad. Horšie je to, že nezdokumentovaná funkcia systému je skrytá, nereportovaná a teda sa na ňu nemyslí pri vytváraní nových funkcií a prvkov a takisto odstraňovaní tých starých.

Ľahko sa tak môže stať, že banditská funkcia ktorá nikdy neobťažovala a len niečo poskytovala navyše, náhle v zmenenom systéme už nefunguje dobre a začne spôsobovať problémy, chyby a aj nečakané bugy prejavujúce sa v inej súvislosti.

PREČO BANDITI NOVÉ FUNKCIE DO WINDOWS PRIDÁVAJÚ?

Väčšina banditských funkcií vzniká z frustrácie toho, že niečo pri vývoji dlho trvá alebo nie je dostupné keď je to potreba. Daný stav niektorých programátorov zdržuje a otravuje, takže si vytvoria barličku, ktorá to nejakým spôsobom dočasne vyrieši.

Otvorte si napríklad Správcu úloh (napríklad klávesovou skratkou CTRL+SHIFT+ESC) a pozrite sa na jeho horné menu, kde nájdete položku Súbor/Spustiť novú úlohu. Ak ju stlačíte, očakávateľne to vyvolá okno na spustenie ľubovoľného programu alebo procesu.

Spustenie novej úlohy v Správcovi úloh systému Windows

Čo sa ale stane, ak urobíte to isté a budete pri tom držať stlačený kláves CTRL. Z ničoho nič sa otvorí Príkazový riadok.

Táto zvláštna banditská funkcia siaha do obdobia vývoja Windows XP, ktorý priniesol výraznú zmenu vizuálnych štýlov. V rámci nej sa okná programov a priečinkov prekresľovali dobre známymi farebnými a mierne nafúknutými oblými tvarmi záhlavia okien a tlačidiel.

Šlo o veľký zásah do grafického rozhrania operačného systému pričom vývoj a debuggovanie týchto prvkov má problém v tom, že ak nefungujú správne a niečo sa pokazí, pokojne môžete skončiť v stave, kde žiadne prvky nevidíte. A to je teda poriadne otravné.

Keď sa systém Windows XP vyvíjal a programátori na ňom pracovali, často krát sa stávalo, že okná priečinkov sa nezobrazili, spodný panel bol neviditeľný a okno spustenia programov duté a nepoužiteľné. Lenže bez tohto dialógu a iných prvkov ste nemohli nainštalovať a spustiť debuggovací softvér a riešiť to.

Windows XP a jeho Správca úloh, spolu so spusteným Príkazovým riadkom

Takže jeden z vývojárov sa rozhodol tento nepríjemný stav riešiť tak, že doprogramoval do Správcu úloh systému funkciu, ktorá umožnila spustiť Príkazový riadok na slepo a bez nutnosti zobrazovania nefunkčného okna na Spustenie programov a služieb.

V prípade, že vizuálny štýl sa utrhol z reťaze a nič nebolo vidieť, spustil sa klávesovou skratkou Správca úloh, stlačil sa kláves CTRL a naslepo sa poklepalo na miesto hoc aj neviditeľného menu v ľavom hornom rohu okna.

Zo spusteného Príkazového riadku sa pravdaže debugger dá inštalovať aj spustiť a problém riešiť, pričom všetkému pomáhalo aj to, že Príkazový riadok ako taký ignoroval vizuálne štýly a konzolové okno preto vždy fungovalo.

Postupne sa pravdaže tieto problémy odstránili a grafický štýl systému začal fungovať bez problémov. Tento „núdzový východ“ však v systéme zostal dodnes. Ide o častý priebeh banditárskej funkcie, ktorá je v nejakej dobe potrebná či priamo esenciálna, potom je volaná na pomoc čoraz menej a neskôr už vôbec, pričom zostane v systéme už len tak „pre istotu“, keby ešte niekedy bola potrebná a nakoniec je zabudnutá a zabetónovaná vo výslednom produkte.

Je dostupná aj na aktuálnej verzii Windows 11, kde bol Správca úloh graficky celkom prepracovaný. Ak kliknete so stlačeným CTRL na ikonu „Spustiť novú úlohu“, okno Príkazového riadku sa bez okolkov ihneď objaví.

Ak by ste na to prišli náhodou, určite by ste zostali zarazený a pýtali by ste sa samých seba, na čo je taká funkcia dobrá a prečo bola do systému vložená. Skryto totiž robí obyčajnú vec, ktorá je dostupná inak niekoľkými rôznymi a normálnejšími spôsobmi. Nepoznáte totiž jej príbeh a neviete, že to „iné spustenie“ nemuselo byť vždy ľahko dostupné.

KEĎ BANDITÁRSKA FUNKCIA SPÔSOBÍ NEČAKANÝ A NESÚVISIACI BUG

Ak otvoríte klasické okno Prieskumníka na Windows Vista, stlačíte kláves SHIFT a začnete klikať na hlavnom panely na ikonu Zobrazenia, ikony sa začnú prepínať z jedného režimu a veľkosti do druhého, tak ako čakáte.

Postupne si ale začnete všímať, že je niečo v neporiadku a dostanete sa do stavu, pri ktorom názvy súborov a priečinkov zmiznú. Uvidíte ich ikony, ale pod nimi nebude žiadny text, podľa ktorého by sa dali identifikovať.

A tým definitívne končíte. Je jedno, koľko krát to urobíte, či priečinok zavriete alebo otvoríte, či reštartujete počítač. Názvy sú preč. Do Microsoftu toto správanie reportoval jeden z jeho podnikových zákazníkov, pričom chcel vedieť, ako názvy dostane späť.

Toto správanie v základe nebol bug, ale pokazená banditská funkcia, ktorú do Windows niektorý z vývojárov vložil pri vývoji Windows XP.

Ten mal podobnú ikonu na prepínanie zobrazenia, pričom obsahovala aj položku „miniatúry“. Nejakého vývojára napadlo, že by bolo fajn, keby režim miniatúry zobrazoval na požiadanie len ikony, pričom k tomu navrhol modifikátor v podobe stlačenej klávesy SHIFT.

Ak ste názvy súborov a priečinkov chceli pod ikonami nazad, skrátka ste so stlačeným SHIFT klikli na menu miniatúr znova a všetko bolo tak ako predtým.

Zobrazenie miniatúr vo Windows XP

Problémom bolo, že vo Windows Vista sa tento mechanizmus prepínania zmenil a režim miniatúr už neobsahoval. A keďže banditská funkcia nebola zdokumentovaná a bola pridaná potajme, vývojári ktorí zmenu v ovládacom rozhraní robili s jej existenciou pravdaže nepočítali.

Dopadlo to tak, že bola omylom zavolaná systémom v momente, ako ste na tlačidlo opakovane klikali. No a problém bolo, že pôvodné dvere, ktorými sa z tohto stavu dalo vystúpiť, už v systéme neexistovali!

Toto je jeden z možných a tragických osudov banditskej funkcie. Funguje dobre v čase vytvorenia, ale keďže je skrytá a ostatní vývojári o nej nevedia, v budúcnosti spôsobí niečo nečakané. V tomto prípade našťastie pôvodný bandita vytvoril ešte jedny dvere, ktoré sa aj vo Windows Vista dali krkolomne nájsť, pričom to pripomínalo zaklínadlo.

Museli ste na nešťastný priečinok, ktorý obsahoval položky bez názvov, kliknúť pravým tlačidlom myši a vybrať Vlastnosti. Tam v sekcii „Prispôsobenie“ vybrať šablónu „Obrázky a videá“, stlačiť OK a klávesovou ALT vyvolať inak už skrytý ovládací menu panel Prieskumníka, kde sa v sekcii „Zobraziť“ objavila položka „Skryť názvy ikon“. Bola nezaškrtnutá, takže ju bolo treba kúzelnícky najprv zaškrtnúť a potom odškrtnúť, čím sa názvy súborov a priečinkov znovu objavili.

Našťastie, po tomto odhalení vývojári túto banditskú funkciu zo systému s krikom a hromžením vysekali, aby nespôsobovala ďalšie problémy a vo Windows 7 a novších systémoch ju už nenájdeme.

UŽITOČNÁ BANDITSKÁ FUNKCIA, KTORÁ SA STALA TYPICKÝM ZNAKOM WINDOWS

Každá banditská funkcia Windows je v základe skrytá a nezdokumentovaná, pretože inak by neušla pri procese kontroly vedúcim vývoja. Do systému vchádza nepozorovane, kde je následne dlhodobo zabetónovaná.

Bežný používateľ pravdaže nemá prístup k dokumentácii a programovému kódu Windows. Z jeho pohľadu sa takáto funkcia prejavuje tak, že je v systéme prakticky neviditeľná a nájdete ju len vtedy, ak viete presne kde ju hľadať, alebo na ňu narazí hlúpou náhodou.

Typicky sa sa pritom vyvolá nejakým neintuitívnym úkonom alebo klávesovou skratkou, ktorá nikde nie je spomenutá.

Niekedy sa však stane, že na banditskú funkciu ľudia narazia, páči sa im a postupom času sa stane nielen často používaná, ale dokonca pre Windows aj typická.

Poznámkový blok a zmazanie posledného slova namiesto písmena pomocou klávesovej skratky CTRL+Backspace

Jedným z takýchto banditov je správanie vymazávacej klávesy. Ak spolu s klávesom backspace stlačíte CTRL, tak namiesto písmena vľavo od kurzora sa zmaže celé slovo. Opakovaným stláčaním je tak možné text mazať dozadu slovo po slove.

Toto správanie siaha do doby začiatku vývoja Internet Exploreru, pričom dnes patrí k Windows celkom neodmysliteľne, i keď táto funkcia v rámci jeho kódu nie je vôbec zdokumentovaná. Pôvodne táto klávesová skratka nevznikla na Windows, ale prastarom textovom editore Brief.

Textový editor Brief z 90. rokov minulého storočia

Niekoľko vývojárov Internet Exploreru Brief editor používalo a jeden z nich bol banditom, ktorý túto jeho skratku a správanie v 90. rokoch minulého storočia do Windows vložil. A zostala v ňom doteraz, už viac ako 25 rokov.

Konkrétne je vložená do obsluhovača udalostí SHAutoComplete, pričom akýkoľvek program, ktorý tento bežný mechanizmus v rámci Windows používa, klávesovú skratku Ctrl+Backspace dostane automaticky do vienka.

Nikto ju podrobne netestoval, neprešla žiadnym vývojárskym cyklom, skrátka jedného dňa ju jeden bandita do Windows vložil, pretože ju mal rád a odvtedy tam je. V tomto prípade aspoň všetko dobre dopadlo a nikdy nespôsobila žiadne bugy ani problémy s kompatibilitou a bezpečnosťou.

KLADIVO NA BUBLINY

Windows XP prišiel s novým mechanizmom, ktorým boli bublinové upozornenia na panely úloh, ktoré sa objavovali v rôznych súvislostiach, čo bolo prenesené následne aj do Windows Vista a Windows 7.

Keď sa tento mechanizmus vyvíjal, rôzni vývojári testovali, na čo všetko by používateľov mohli upozorňovať, pričom než dostali spätnú väzbu a boli dokončené všetky testovania, niektoré vývojové verzie Windows vyzerali ako bublifuk.

Bublinové upozornenie na panely Windows XP

Bubliny vyskakovali pri každej drobnosti, spolu so špecifickým a trochu smiešnym zvukom (ak si ho už nepamätáte, kliknite si vyššie na play), čo niektorých vývojárov privádzalo až do nepríčetnosti. Jeden z nich pritom v zlosti naprogramoval funkciu, ktorá všetky bubliny v systéme zakázala.

Konkrétne fungovala ako položka EnableBalloonTips v systémových registroch, ktorú ste v lokalite HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Advanced mohli nastaviť na nulu. Šlo o kladivo, ktoré túto vlastnosť systému nadobro vyplo bez akýchkoľvek kompromisov a výnimiek.

Problémom nebola ani tak táto banditská funkcia, ako to, že ľudia sa o nej dozvedeli, kladivo na bubliny použili a následne na to zabudli. No a potom sa neskôr na help desku Microsoftu sťažovali, že bubliny ktoré chceli a potrebovali (ako napríklad upozornenie na zapnutý CAPS LOCK pri písaní hesiel) sa im nezobrazovali. Žiadali tak opravu.

Microsoft následne musel vydať pre používateľov opravný mechanizmus, ktorý aktivovanie tejto banditskej funkcie, ktorú si používatelia vždy len sami „expertne“ zapli podľa rôznych návodov a zabudli na to, zas odstraňoval.

Takto dopadnete, keď nie ste žiadny cowboy a spadnete na vlastnú bambitku.

Ďalšie drobné čriepky z IT histórie hľadajte na našom webe ďalší štvrtok večer a takisto pod rovnomenným kľúčovým slovom.

František Urban

František Urban
Zameriavam sa najmä na prehľadové a analytické články z oblasti najrôznejších technológií a ich vývoja. Nájdete ma takisto pri diagnostike HW a SW problémov.

Máte pripomienku alebo otázku k článku? Napíšte nám na redakcia@touchit.sk alebo priamo autorovi článku. Ďakujeme.