Matematika, filosofie, programování, in-line bruslení a vše mezi tím. Více o mně…

Můj blog

Mé poslední tweety

Sledujte mne na Twitteru…
English | Czech
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í

How To Focus On Writing (anglicky)

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.

27. února MMXII — Programování, Projekty a Python.

Late Night Meeting of Gödel and Turing? (anglicky)

Hacking together concepts from mathematical analysis, mathematical logic, and computer science and finding similarities while half asleep can be fun! :-)

2. listopadu MMXI — Matematika, Filosofie a Programování. 1 komentář v angličtině.

seex: Generátor samorozbalovacích archivů

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.

10. října MMXI — Linux, Programování a bash.

5 lekcí z vývoje software… vlastní tvrdé zkušenosti

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.

1. září MMXI — Osobní a Programování.

O práci podruhé

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.

18. září MMX — Los Angeles 2010 a Programování. 5 komentářů.

Dva užitečné nástroje pro práci s XML

Než to zase zapomenu, musím někde zvěčnit své nové softwarové objevy :-)

1. února MMX — Programování.

Násobení matic nad Galoisovými tělesy v Pythonu

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ů…)

13. ledna MMX — Matematika, Programování a Python. 3 komentáře v angličtině.

tcviz 1.2

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 :-)

28. prosince MMIX — Linux, Programování, Projekty a Python.

dæmonēs: Snadná správa démonů

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.

14. září MMIX — Linux, Programování, Projekty a Python.

tcviz 1.1

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.

30. července MMIX — Linux, Programování, Projekty a Python. 1 komentář v angličtině.

abacus 1.1

Vydal jsem opravnou verzi démona abacus. Byly opraveny dvě chyby objevující se během kompilace.

21. července MMIX — C++, Linux, Programování a Projekty.

abacus: počítadlo kláves

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 :-)

14. července MMIX — C++, Linux, Programování, Projekty a Python.

autoEQ: Zkrocení ekvalizéru v Amaroku

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.

28. června MMIX — Linux, Programování, Projekty a Python.

Vizualizace Traffic Control v Linuxu

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.

5. dubna MMIX — Linux, Programování, Projekty a Python. 11 komentářů v angličtině.

Zobrazení aktivity v repositáři Subversion podruhé

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á :-)

2. dubna MMIX — Linux a Programování.

Tři kapky Pythonu

Čí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.

17. února MMIX — Programování a Python.

Zobrazení aktivity v repositáři Subversion

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ý :-).

30. září MMVIII — Linux a Programování. 3 komentáře v angličtině.

Jednoduché vylepšení objektů v PHP5

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.

1. září MMVIII — PHP a Programování.

Vita::config – čtení konfiguračních souborů

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.

11. srpna MMVIII — C++ a Programování.

Představení projektu Nexus

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?

25. července MMVIII — Programování a Projekty.

Jednodušší práce se Subversion – Subversion Shell

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.

22. července MMVIII — Linux, Programování a bash.

Vita::string – o něco lepší string v C++

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.

10. července MMVIII — C++ a Programování.