Choose your language.
I write in English, but I translate most of my articles to Czech as well.
Zvolte si jazyk.
Píšu anglicky, ale většinu svých článků překládám i do češtiny.
Programování
If you’re like most people, you’ll get easily distracted when writing a longer piece of text. So many distractions are just a click away – e-mail, Twitter, news headlines, stock market charts, or even a nice desktop wallpaper. What if you could just get rid of all visual clutter and focus on nothing else but the text itself? Enter γαλήνη, my new distraction-free text editor.
Hacking together concepts from mathematical analysis, mathematical logic, and computer science and finding similarities while half asleep can be fun! :-)
V rámci školní práce jsem napsal generátor samorozbalovacích archivů ve formě UNIX shell skriptu. Skript by měl být POSIX-kompatibilní, je velmi dobře okomentován a obsahuje docela zajímavé zpracovávání vlastního zdrojového kódu.
Nedávno jsem musel spravovat pár větších kousků software, které jsem napsal před pár lety. Kromě toho, že to byl speciální druh pekla („WTF?! Jak jsem mohl spáchat takovýhle zvěrstva?“), připomněl mi tento zážitek, co jsem se naučil za těch osm let, co píšu software za peníze.
Nabyl-li snad někdo po mých posledních zápiscích dojmu, že jsem tady na dovolené, hodlám jej vyvést z omylu. Aneb reflexe nejzajímavějších pracovních zkušeností za uplynulých 11 týdnů strávených před monitory.
Varování: obsahuje stopové množství IT hantýrky a kritiky (sado-)masově užívaného software.
Než to zase zapomenu, musím někde zvěčnit své nové softwarové objevy :-)
Před pár týdny jsem potřeboval rychle ověřit výsledek násobení matic. Protože jsem měl jen pár minut, musel jsem se uchýlit k řešení udělej-si-sám, místo abych se konečně naučil používat numpy (ano, stále na seznamu úkolů…)
Vydal jsem novou verzi svého skriptu tcviz. Kromě hrstky vylepšení pod kapotou jsem opravil jednu chybu – již nikdy více se tcviz neudáví na hexadecimálních major/minor číslech :-)
Jelikož vyvíjím různé webové aplikace, potřebuji obvykle provozovat webový server a jeden nebo dva servery databázové. Abych neplýtval výkonem, spouštím potřebné serverové démony jen v případě potřeby. Tato metoda je bohužel trochu nepohodlná. Tedy, bývala nepohodlná. Dokud jsem si nenapsal skript jménem daemones.
Nová verze mého malého skriptu tcviz je venku. Opravil jsem pár ošklivých chyb. tcviz teď také umí číst nastavení TC ze souborů místo toho, aby zkoumal aktuální setup. Užitečné převážně pro debugging.
Vydal jsem opravnou verzi démona abacus.
Byly opraveny dvě chyby objevující se během kompilace.
abacus je jednoduchý démon počítající každou klávesu, kterou stisknete. Jeho jediné využití je pro generování zajímavých grafů, které ukazují, kolik toho každý den napíšete :-)
Nebaví vás ruční zapínání, vypínání a nastavování ekvalizéru v Amaroku? Mě tedy nebavilo… dokud jsem si nenapsal pěkný skript, který tu práci dělá za mne. Seznamte se s autoEQ – programem, který sleduje přehrávané skladby a automaticky k nim vybírá předvolby ekvalizéru podle vašich vlastních pravidel.
Během posledního půlroku jsem se musel hodně zabývat Traffic Control (TC, „regulace síťového provozu”) v Linuxu. Pokročilé možnosti tohoto systému mi doslova vzaly dech. Všestrannost zde samozřejmě má svou obvyklou cenu: složitost. Rozhodně nelituji času, který jsem strávil studiem principů tříd, qdiscs, filtrů, major a minor čísel atd. Myslím si ale, že jsem nalezl způsob, jak s tím vším pracovat jednodušeji.
Je tomu dávno, co jsem zveřejnil svůj malý skript
commitChart. Od té doby jsem ho několikrát přepracoval. Současná verze je přesně třikrát lepší než ta stará :-)
Čím více poznávám Python, tím více se mi líbí.
V tomto zápisku se podělím o tři fragmenty kódu, které jsem napsal během posledních měsíců.
Ať už jsou užitečné nebo ne, demonstrují krásu jazyka, kterou obdivuji.
Můj kód by se bezpochyby dal vylepšit. Budu vděčný za jakékoliv připomínky.
Mám rád grafy. Psaní malých skriptů,
které nějakým způsobem využívají programu gnuplot je moje oblíbená kratochvíle.
Dnes se podělím o jeden takový skript, který snad může být i užitečný :-).
PHP má mnoho nepříjemných features. Jednou z nich je nekonzistentní zacházení s metodami objektů a s atributy objektů.
Když se pokusíte použít neexistující metodu, PHP vyvolá fatální chybu a zastaví skript. Přístup k nedefinovanému atributu
však končí pouhým oznámením (notice). Naštěstí je tu primitivní způsob, jak si pomoci. Můžeme notice nahradit
pěknou, šťavnatou a fatální chybou.
V návaznosti na svůj post o Vita::string
zveřejňuji další část své mikro-knihovny: třídu sloužící jako brána k jednoduchým konfiguračním souborům.
Dnes zveřejňuji svůj velký projekt: Nexus, paralelní výpočetní síť a aritmetika s libovolnou přesností.
Projekt vznikl za zvláštních okolností a jeho vývoj dominoval mému životu po několik měsíců.
Považuji jej za důležitý milník na své osobní cestě za sebezdokonalováním. Přestože je nyní u konce a nemám v úmyslu v něm
pokračovat, nasbírané zkušenosti jsou nezapomenutelné. O čem tedy vlastně Nexus je?
Systém pro správu verzí Subversion je
jeden z nástrojů, které používám každodenně. Časem jsem si uvědomil, že mnoho úkonů
se Subversion se více či méně opakuje – kontrola logů několika posledních revizí,
přidávání či mazání souborů, porovnávání změn, commit do repositáře, update
pracovní kopie… nakonec jsem vytvořil Nejlepšího přítele líného programátora™.
Seznamte se s SVNshell, skriptem zjednodušujícím každodenní Subversion úkony.
Za poslední rok a půl jsem pracoval na několika větších projektech v C++.
V každém byla potřeba práce s řetězci, a pokaždé mi u základní
třídy std::string chyběla nějaká drobnost. Odvodil jsem tedy
svoji vlastní třídu a začal do ní přidávat chybějící možnosti.