Windows kezelőprogramok biztonsági mentése

Már korábban is beszámoltam múzeális /g/ tier Lenovo X200-as számítógépem driver nyűgjeiről. Mivel elkészült az új Visual Studio, és a csodás uninstaller csak hellyel-közzel működött, ezért kénytelen vagyok a számítógépet újratelepíteni. Ezen felül amúgy is teleszemeteltem már mindenféle vacakokkal, mint Epson nyomtató driver, PLC-k segédprogramjai, Eclipse. Soha ne tegyetek fel ilyen szemetet a számítógépetekre!

Szerencsére a Windows 8.1 óta nem kell aggódni, van erre egy PowerShell commandlet. Így tehát felretettem a PowerShell iránti ellenszenvem, és egy adminisztrátori konzolba begépeltem:

Export-WindowsDriver -Online -Destination P:\x200\drivers

És máris a pendriveomon landolt a notebook működő drivercsomagja! Meglátjuk, hogy ez a módszer valóban annyival intelligensebb-e a hagyományos mosópornál, és a szájam fékezett habzású lesz-e, amikor megpróbálom visszaállítani ebből a gép működő állapotát! :)

C# érdekességek: a property setter néha felesleges

A minap épp egy immutable-nek szánt típust írtam, és nem voltam megelégedve azzal, amit alkottam. Én ugyanis úgy tudtam, hogy a readonly módosító nem használható propertykre a C# nyelvben. Ezt jól is tudtam, azonban ennek következményeként a következő kódot írtam:

public class ImmutableThing {
    public string Somehing { get; private set; }

    public ImmutableThing(string something){
        // This assignment is valid, as desired.
        this.Something = something;
    }

    public void Example(){
        Something = "Unfortunately this is totally valid now, despite my desire to write an Immutable datastructure.";
    }
}

Ez azonban nem csak nekem nem tetszett, de egy kollégámnak sem, aki a review során felvilágosított (az enyémmel egybevágó) aggályáról: a private set bármely metódusból használható a típuson belül. Védelmemre csak azt tudtam felhozni, hogy na igen, de a konstruktorból be kell tudjam állítani, ezért nem lehet readonly. Arra pedig hadd ne írjak readonly mezőket mögé, hogy csak egyszer lehessen értékül adni, inkább majd a reviewkon a jövőben is ilyen alaposak leszünk, és figyelünk. Kiváló kollégám ezt nem tudta elfogadni, de egyből segítségemre is sietett: egy (számomra) újdonságot mutatott a nyelvben!

public class ImmutableThing {
    public string Somehing { get; }

    public ImmutableThing(string something){
        // this assignment is still valid!
        this.Something = something;
    }

    public void Example(){
        Something = "This is now impossible. This line prevents compiling this code! This is what I want!";
    }
}

Jól látható, hogy private set eltávolításra került. A kód azonban így is lefordul! Amennyiben ugyanis egy setter nélküli propertynek akarunk értéket adni, azt csak és kizárólag a konstruktorból tehetjük meg. Ezzel gyakorlatilag a readonly mezőével azonos viselkededést kapunk. Ezzel egyet kihúzhatok a nyelv furcsállot tulajdonságai közül.

Ezek után tudatlanságomra csak egy mentségem van: A dokumentációt olvasva (a cikk írásakori állapotában) nem találtam utalást erre a fontos és releváns működési módra.

A HackerNews görbe tükre

Egy ideje a HackerNews oldalt használom, hogy a szilícium-völgyi újdonságok verőerén tartsom ujjamat! Így sosem maradok le az eheti JavaScript Frameworkről (csupa nagybetűvel!), vagy olyan hasznos startupokról, amik lényegét nem értem, de láthatólag nagyon sok embert fellelkesítenek a távoli Kaliforniában.

Volt szerencsém, épp hacker oldalon, az oldal saját görbe tükrét is megismerni. Mindenkinek ajánlom követését, jellegzetes stílusa jól lefesti a hangulatot egy (remélhetőleg) józanabb, külső szemlélő nézőpontjából. Én legalábbis szeretném magam ilyennek hinni, és a heti összfoglalók leírásai gyakran egybevágnak a saját benyomásimmal.

Olvassátok rendszeresen a kiváló n-gate.com. heti szatírikus HackerNews kommentárjait!

A nap szava: homeosztázis

Reggeli lapszemlém során egy cikk címétől (The Gender Pay Gap Is Largely Because of Motherhood) 1 perc alatt jutottam el a homeosztázis szóig! Azt vettem észre, hogy még bele sem ittam a kávémba, de már a szótárért kell nyúlnom. Ez bizony a nap szava lesz!

Homeosztázis
főnév, görög eredetű, jelentése "hasonló állapot". Élő szervezetek valamilyen belső tulajdonságának közel állandóságát jelenti, melyet a szervezet aktív szabályozással tart fenn a külső körülmények változása ellenében is. Ilyen például a testhőmérséklet, vércukorszint, sejtközi folyadék pH értéke.

A szövegkörnyezetből ugyan sejthető volt, hogy valami ilyesmi, bár az csak a testhőmérséklet szabályozását sugallta. Ma is tanultam valamit!

A nap szava: NIMBY

A héten jött szembe velem a NIMBY betűszó, és úgy döntöttem, hogy ma ez lesz a nap szava!

NIMBY
angol nyelvű szófordulat, főnév, A «Not In My Backyard» (nem az én udvaromban) kifejezés rövidése. Olyan emberekre használják, akik valamilyen beruházást, ingatlanfejlesztést próbálnak megakadályozni, különösen úgy, hogy támogatják, egész addig, amíg nem az ő közelükben történik.

Néhány példa Magyarországról

A Budapest körüli körgyűrű (M0 autópálya) építése is részint ilyen okok miatt csúszik.

Környezetvédők, akik megújuló energiát akarnak atomenergia helyett, azonban amikor elkezdik azt építeni, hirtelen már azt sem akarják: Szélerőművek ellenzése a rezgések és a madarakra való hatásuk miatt. A Bős-Nagymaros vízlépcső ellenzése. (Ezzel viszont félig én is egyetértek: inkább még egy atomerőművet szeretnék, mint a Dunakanyar elcsúfítását.)

A jelenség egy másik formája azok akik támogatnak mindenféle világmegváltó szociális ügyeket, mindig segítenének valakin, csak az a fontos, hogy az épp ne legyen a közelben! A kis helyi ügyek nem érdekesek, a szomszéd néninek a szatyrot felvinni nem segítenének, bezzeg az afrikai gyerekek! Amikor a kegyetlen főváros a hajléktalanokat elzavarja az aluljáróból, akkor tiltakoznak! Amikor hajléktalanszállót nyitna a főváros a szomszédba, akkor is tiltakoznak!

A jelenség fordítottja a mostani atomerőmű ellenesség: A paksi lakosság az atomerőmű közelében (és abból) él. Megtapasztalhatták, hogy nem jelent nagyobb veszélyt rájuk, mint a százhalombattai emberekre a finomító, vagy más nagyobb ipari üzem. Nekik nincs is ellenvetésük az új erőművel szemben, de mások – akik a közelben sem laknak – elvi alapon semmi áron nem akarnak atomerőművet, hiszen az atom a sátán műve (sic!)!

A jelenség világszerte általános, és érthető is, hiszen az emberi természet része a változástól óvakodás. Engem a képmutató formája az, ami nagyon zavar, és mostanában sok példát látni erre a NIMBYzmusra itthon is. Esetenként el is fajul a dolog, volt már olyan esetre példa, hogy a munkásokat megtámadták, a munkaeszközöket megrongálták ilyen tiltakozáson.