- pHash (programování)
- Relational (databáze)
- Lbunzip2 (utilita)
- The Gamebook Engine (hry)
- O.H.R.RPG.C.E (hry)
- MP3nema (šifrování)
- Blbinka (blbinka)
pHash
pHash je implementací perceptuálních hashovacích algoritmů. U klasického hashování (MD5, SHA1) dojde při malé změně na vstupu k dramatickému rozdílu na výstupu. Perceptuální hashování má ovšem opačný požadavek: Aby drobná změna na vstupu vyvolala jenom nepatrnou změnu na výstupu. Vstupní data nejsou tedy brána jako proud bytů, ale jako celistvé objekty. Obrázek, který je otočen o 90 stupňů nebo obrázek, který byl otitulkován, bude mít velmi podobný fingerprint jako obrázek původní. Perceptuální hashe není vhodné používat pro bezpečností aplikace. Ale je vhodné je použít jako vyhledávací engine pro obrázky, nebo vyhledávání chráněného obsahu („Najdi mi obrázek podobný tomuto.“). pHash o sobě tvrdí, že je „kolekcí“ různých algoritmů, ale já jsem si všiml jenom algoritmu pro hashování obrázků. Je jasné, že pro hashování zvuku nebo videa bude asi nutné zvolit jiné algoritmy. Jestli se v tomto programu objeví časem, je otázkou.
http://www.phash.org/, 0.1, GPLv3
Relational
Relational je skvělý nástroj na výuku relační algebry. Ta je stále základním kamenem pro výuku relačních jazyků, ale je pravda, že demonstrace některých operací je únavná. Aby demonstrace za něco stála, musí relace obsahovat několik n-tic a ty musí mít alespoň dva atributy, ale raději více. A to už vyžaduje hodně křídy a/nebo hodně mazání a přepisování a mnoho příkladů tak nestihnete projít. Proto mě zaujal program Relational, který umí načíst relaci z textového souboru a poskytuje krásné GUI, kde můžete psát dotazy v relační algebře a okamžitě je vyhodnocovat nad načtenou relací. To, že program poskytuje pythoní knihovnu pro práci s relační algebrou a umí konvertovat dotaz napsaný v relační algebře do pythonu, už beru jenom jako příjemný bonus.
http://galileo.dmi.unict.it/wiki/relational/, 0.5, GPLv3
Lbunzip2
Lbunzip2 je paralelní implentací bunzip2 nepoužívající systémové volání lseek(). Co to znamená? Jelikož nepoužívá lseek(), tak může fungovat jako filtr (čte data ze STDIN a posílá na STDOUT) – to většina paralelních bunzip2 implementací neumí. A jelikož je paralelní, tak můžete efektivně využívat všechna jádra vašeho procesoru a snížit tak čas dekomprese skoro lineárně s počtem zapojených jader.
http://phptest11.atw.hu/, 0.01, GPLv3
The Gamebook Engine
Pamatujete si někdo ještě na gamebooky? Ať už se jedná o edici Lone Wolf nebo Vyber si vlastní dobrodružství? Ty knížky byly populární v devadesátých letech. Jejich děj nebyl lineární a v některých místech jste se mohli rozhodnout za hlavního hrdinu. Vypadalo to asi takto: Chceš-li vědět, co je v pouzdru, pokračuj na straně 84. Jestliže ses rozhodl požádat o radu profesora Burnse, pokračuj na straně 110. (citováno z knihy Vetřelci z nitra Země). Na psaní takovýchto knih existuje Hyena gamebook formát a k jeho interpretaci můžete použít The Gamebook Engine. Kromě textu umí zobrazovat i obrázky a do textu můžete vkládat i lua skripty, takže některé volby můžou být dostupné jenom za určitých podmínek (našli jste klíč, mluvili jste s určitým člověkem). Dokonce si můžete ukládat a načítat své pozice ve hře. Hra – to je fakt – už není ani tak gamebook, jako spíše textová adventura.
http://www.freegameengines.org/gamebook-engine/, 0.1.3, GPL
O.H.R.RPG.C.E
Official Hamster Republic Role Playing Game Construction Engine (O.H.R.RPG.C.E) je nástroj pro tvorbu retro her (rozuměj z doby 16 bitových počítačů). Jako demonstraci obsahuje hru „Vikings of Midgard“. Psaní hry je velmi jednoduché (pokud máte alespoň potuchu o procedurálním programování a víte, co asi může dělat příkaz if) a tak jediné, co budete potřebovat, je: umět kreslit – nástroj na kreslení spritů je součástí O.H.R.RPG.C.E – a v neposlední řadě mít talent a trpělivost na psaní takových her.
http://hamsterrepublic.com/ohrrpgce/index.php/Main_Page.html, 2008–08–16, GPLv2
Mp3nema
MP3nema vám umožní ukládat a číst informace, které jsou ukryty mezi jednotlivými bloky dat v mp3 proudu. Mezi těmito bloky můžou být libovolná data (ačkoliv je doporučeno je předtím uencodovat) a mp3 přehrávače tyto data přeskakují (např. Shoutcast takto tuším ukládá své metadata), takže byste neměli mít problém výsledný mp3 soubor přehrát.
http://www.757labs.com/projects/mp3nema/, 0.01, GPLv3
Blbinka
Statistika: jak roste Linux (a hlavně jeho vývojáři).