Programmid, mida tahaks leida
Maailmast või vähemalt minu maailmast on puudu palju kasulikke programme, ning teinekord on neid kohe paganama raske leida. Siin nimekiri nendest. Äkki keegi teab ja soovitab.
- Failisüsteemi indekseerija, mis indekseerib ainult failinimed ja katalooginimed, mitte nende sisu, reaalajas mistahes ketaste puhul. See programm võimaldaks miljonite failide ja kataloogide hulgast kiiresti leida otsitavat, ilma rekursiivse ketta läbi skännimiseta, mis võib võtta kuni tunde :P.
Olen leidnud programme, mis kataloogiseerivad kõvaketta sisu, teevad ühe hiigelsuure faili, kus on nimekiri kõigist failidest ja kaustadest. Aga see on ainult nimekiri, mitte indeks! No võiks ju siis ühe sammu veel teha ja muuta see indeksiks... sest sellise pika nimekirja läbi kammimine on küllalt aeglane isegi siis, kui see on kõik ühes failis koos. Lisaks ei ole selle faili sisu vastav reaalajale. Ning eemaldatavate ketaste sisu seal muidugi üldse ei ole.
Minu meelest on sellise programmi mitteolemasolu täielik tule-eile-meile.
- Programm, mis lühikeste, näiteks 10ms - 1000ms, intervallide, mis ei pruugi olla võrdsed, järel suspendib ja resumeb mingit etteantud programmi. Praegu kasutan bat-faili, mis kutsub välja Sysinternalsi Pssuspend programmi, kuid arvan et ökonoomsem oleks, kui sellega tegeleks kogu aja üks ja sama protsess.
Seda on hea rakendada programmidele, mis ise mõnikord kipuvad arvutit kooma tõmbama, isegi kui neid jooksustada idle thread priorityga (kuigi viimane on üldiselt küll tuntavalt tulemuslikum, kui low protsessi priority). Kooma tõmbamine jääb alles, kui programm näiteks töötab midagi kõvakettaga. Hea on neid aegajalt suspendida, kui tegu pole otse interaktiivsete asjadega. Näiteks jookseb mul taustal kogu aeg tsükkel defrag, contig, dirms (kõvaketta defragmenteerimise programmid). Samuti on seda hea rakendada kompilaatorile ja linkerile, mis muutuvad miskipärast ebasõbralikuks, kui nendega paralleelselt jooksutada mitut Visual Studio keskkonda, mitte vaid üht.
Samuti võiks see programm suspendida lühikeste katkestuste järel interaktiivseid programme, mis pole parajasti fookuses. Täielikku suspendi ei saa kahjuks interaktiivsetele programmidele tavaliselt teha, sest muidu mingid programmide vahelised suhtlused jäävad rippuma ja ka teised programmid võivad hanguda, kuni tehakse esimesele programmile reume (mis tundub suht haige värk küll protsessori koormuse mõttes, ja vajalikkuse mõttes, ja et suspendi ei saa teha). Põhjus, miks mõni programm võib vajada sellist suspendimise tsüklit, on just selles, et muidu kipub protsessorit õgima. Näiteks Visual Studio on selline, et kui seda avada ntx 5-10 tükki, siis nad vist kõik hakkavad kuidagi omavahel lobisema, vms, igatahes prose kasutus läheb ebamugavaks. Üksik või üksikud devenv.exe sellist tegevust ei ilmuta. Ka browsereid võivad vajada sellist suspendimist, aga oma arvutis olen selleks leidnud muud lahendused. Nimelt kirjutasin skripti, mis un-renderdab HTML lehed täies mahus, kui neil teatud aja möödudes miskit tehtud pole, nii et ka kõik skriptid jne asjad lähevad ära. Kui minna hiirega üle, renderdatakse asi tagasi, reloadi pole selleks vaja.
See programm võiks lisaks kiiresti või reaalaajs kontrolli all hoida uute threadide prioriteeti mingis protsessis.
TODO: panna siia üles see un-renderdamise skript ning kui aega saan, siis võin ka selle suspendi asja ise teha. Samuti võiksin siia panna oma tehtud programmi, mida kasutan et määrata teiste programmide thread priority-t. Seniks aga soovitan sellist sarnase, kuigi veidi vähema funktsionaalsusega käsurea programmi, nagu SetPriority
http://gilchrist.ca/jeff/.
- programm, mis lisab failidele "recovery record"-i. Nagu näiteks WinRar, aga see lisatakse siis mistahes failidele. Näiteks oleks siis hea lisada recovery record-i 7z arhiividele, mis on suurte failide puhul tihti kõvasti väiksemad kui WinRar, aga samas 7z ise ei oska recovery record-i lisada. Selle lisamine aga saab olla täiesti sõltumatu sellest, mis tüüpi failiga tegu ja mis programm selle tekitanud on.
Eriti vinge oleks programm, mis võimaldaks muu hulgas lisada recovery record-i kogu kõvakettale.
Sellele alternatiiviks on programm, mis vähemalt teeb kogu kõvaketta failidest m5 või muu hashi arhiivi ja seega saab kahtluse korral kontrollida milliste failide md5 on muutunud. Sellised programmid on isegi olemas, aga nad uuendavad hashi arhiivi arvutamisel alati kogu arhiivi, ehk siis loevad kõik failid uuesti, mis on muidugi ebarealistlikult suur töö :( Palju parem oleks, kui nad uuendaks ainult nende failide hashi arhiivis, mille kuupäev on muutunud. Või veel parem, kui nad töötaksid filter driverina ning uuendaksid hashide tabelit vastavalt sellele, mis andmed mingisse sektorisse on kirjutatud, ilma et peaks siis kogu muutunud faili uuesti skännima.
Viiteid: