Připravované Projekty

Upozornění

Tato stránka funguje více jako můj poznámkový blok, kam si poznamenávám, co bych chtěl jednou udělat, až budu mít příliš volného času. Zdá-li se ti, že takové věci udělat nejde, pak mi to prosím neříkej, kdyby náhodou nastala ta popsaná situace (která stejně nejspíš nenastane), tak to udělám, ať to udělat jde nebo ne.

Pokud se ti naopak zdá, že to udělat jde, a že nemůžeš žít, aniž bys to udělal, pak ti bránit nebudu. Jen mi to prosím sděl, ať neděláme oba dva to samé, a můžeme si to navzájem půjčit. (Stejně to bude GPL, že…)

XMPPFS

Virtuální souborový systém popisující spojení s XMPP serverem, s orientací na IM. Bude obsahovat jednotlivé kontakty jako adresáře, zápisem do souboru lze posílat zprávy, přímý přístup k XML bude také zpřístupněn. Posílání souborů jejich zkopírováním na nějaké místo je samozřejmostí.

Implementováno to bude jako Plan9 souborový server, nejspíš v jazyce Limbo.

Notify System

Jak hlásit, že přišel nový email? Vyskakovacím okýnkem? To obtěžuje. A nevydrží to tam dost dlouho.

Notify system by měl být systém umožňující shromažďovat události a stavy systému z externích zdrojů a jejich zobrazování a ohlašování různými způsoby, jako:

Network Manager

Když už člověk běhá s notebookem, tak často potřebuje měnit nastavení sítě. Aktuální stav, kdy člověk musí přehazovat (a vytvářet) runlevely je nedostačující, chce to něco co dokáže načíst a uložit nastavení sítě a jde to používat rychle. Přitom by nebylo potřeba hýbat s celým runlevelem.

Něco na ten způsob se již zrodilo, ale má to asi ještě dlouhou cestu před sebou. Jmenuje se to NetProfile.

Chtělo by to rozdělit nastavování sítě na jednotlivé moduly. Každý modul by se uměl zapnout, vypnout a nahlásit, že se to nepovedlo. Pokud by se nepovedl některý modul, umělo by to vypnout i všechny, které se zapnuly předtím a docílit tím konzistentního stavu.

NetSelector

Blbinka od konkurence. Umí detekovat různé sítě. Po jejich detekci spustí skript a na danou síť přepne. Funguje ve dvou možných módech. V jednom jen nadetekuje a spustí, co má. V tom druhém běží stále a umí sítě různě přepínat.

Osobně používám první možnost a mám jednoduché skripty, které napřed vypnou libovolné běžící připojení (ukončí dhcpcd, wpa_supplicant, shodí rozhraní) a poté nastaví připojení nové. Výhodou je, že to automaticky detekuje a nastaví síť při spuštění počítače (pokud je správně navázané na runscripty), ale za běhu nezabírá žádnou paměť navíc.

Turingův Virtuálni Stroj

Když už existuje teoretický turingův stroj, proč ho neodsimulovat.

DisAlg

Mějme matice A a B velikosti 1 000 000 * 1 000 000 nad libovolným tělesem T. Tak to chce laborku na jejich vynásobení. A taky nějaký ten software.

K tomu by mohlo sloužit toto udělátko.

PS Note

Každou chvíli čtu někde nějaké PDF nebo PS. Bylo by velmi hezké si do něj přímo dopisovat poznámky.

Určitě musí jít přidat kód přímo do toho tak, aby se přes to nakreslilo.

Matrix agent

Tato věc je inspirovaná situací na šifrovací hře matrix. Synchronizovat 5 lidí, znát jejich pozice, navigovat po mapě a předávat si šifry je velmi obtížné (obvykle to probíhá tak, že si členové navzájem telefonují a nějak distribuovaně propagují informace, předávání šifer je již zhola nemožné).

Toto by byl program pro PDA či mobilní telefon, který by umožňoval

Obvykle by to běželo na GPRS (samozřejmě by to mělo být schopné využívat i rychlejší připojení, pokud je k dispozici), takže by to mělo nějakým rozumným způsobem šetřit data a prioritizovat přenášené informace.

Nápad by byl postavit to na základě XMPP a těchto rozšíření:

Dále by bylo třeba napsat něco jako bota, který by uměl přijímat a rozesílat soubory (pravděpodobně přes file transfer).

Text Battle

Na internetu je spousta webových online strategií a podobných her. Ale všechny jsou dělané pro lidi, kterým vyhovuje klikat na webové stránky.

Text battle by byla podobná hra, ovšem ovládaná jednoduchým protokolem přes TCP spojení. Pravděpodobně by se hodila jistá míra akce (aby bylo potřeba reagovat rozumě rychle). AI skripty, libovolná rozhraní a podobné věci by byly vítány.

Jinými slovy, byla by to taková hříčka pro programátory a jiné matfyzáky ;-).

Chytrý TODO list

Už mě nebaví psát si poznámky, co potřebuji udělat, do textového souboru. Jednak se v tom špatně vyhledávají položky specifické pro nějaký projekt, jednak neumí řadit dle priority. Navíc se hodí, aby se k položkám daly přidat časy a podle nich zjišťovat, které se blíží.

Proto by bylo hezké mít program, který udržuje jednotlivé položky. Ke každé se dá přiřadit datum, text, nějaký seznam závislostí na jiných položkách, tagy, čeho se to týká, prioritu a tak podobně.

Ovládat by to mělo jít zcela pomocí klávesnice a mělo by to umět žít v konzoli (i když by to mohlo mít i mód pro GUI). Dobrá by byla také možnost spuštění v dávkovém módu, kdy by se po programu vyžádalo například N událostí s nejvyšší prioritou.

Doprovázet by to mohl malý lehký prográmek, který vypíše jen statistiky (počet blížících se událostí, celkový počet událostí), což by šlo navázat na prompt konzole.

Email Labeler

Mnozí z nás filtrují emaily do různých složek. To pomáhá v přehlednosti, organizování práce, prioritizování a podobně. Ovšem, svět není černobílý. Občas by se hodilo mít jeden email ve více složkách ‒ tedy, místo složek používat nějaké kategorie, labely, tagy, nebo jak to nazvat. Něco podobného používá gmail. Ovšem, používat gmail je nepohodlné, vázané na jednu společnost, ukládá věci na serveru (což je bezpečnostní riziko) a má mnohé další nevýhody. Kromě toho, nemá nic jako inbox, kde je všechno, co nikam nepatří.

Bylo by hezké něco takového implementovat do Muttu. Ono něco z toho již existuje (např toto), ale nedělá to ještě úplně všechno, co by bylo potřeba. Například by to chtělo nějaký index, který bude počítat nové a flagnuté zprávy, barevně označovat, udělá nad nimi priority a podobně. Také by to chtělo dodělat další nástroje, jako například něco, co bude archivovat nebo mazat staré emaily.

Hijack FS

Měl by to být filesystém (pravděpodobně FUSE), který bude zobrazovat celý filesystém někde jinde. Měl by ale dělat několik užitečných věcí: