Martin Tůma

“Yet another personal homepage...”

Novinky
14.12.2010

Hypercube 0.3. Statusbar a drobné opravy GUI.

21.9.2008

QSS portováno na QT4 + drobné opravy/vylepšení solveru a io.

21.6.2008

Poslední resty z FELu - semestrálka na PARy a diplomová práce v sekci FEL.

Více novinek >>

Články & Návody

PHP & WEB

WAPmail

WAPmail je wapová aplikace umožňující prohlížení emailů pomocí mobilního telefonu. Aplikace je zaměřena především na jednoduchou a rychlou obsluhu - jde prakticky o jednoduchý prohlížeč poštovní schránky, nic víc, nic míň.

WAPmail má vlastní webové stránky, takže podrobnosti tam.

wapmail.zip

GD galerie

Jednoduchá webová fotogalerie. Hlavním cílem je nejjednodušší možná administrace. Fotky se přidávají pouhým nakopírováním adresáře s fotkami na server. Skript sám automaticky pomocí GD knihovny vytváří náhledy. Popisky k fotkám jsou vytvářené z názvů souborů, stejně tak jako názvy jednotlivých galerií z názvů jednotlivých adresářů s fotkama. Ukázka.

Na začátku souboru funkce.php je potřeba provést nastavení správné cesty k adresáři s fotkami a použitého kódování. Dále je zde možné nastavit počet náhledů na řádku a poměr zmenšení náhledů. Kromě gd knihovny vyžaduje i iconv.

gd-galerie.zip

Poznámka: Díky "on-the-fly" vytváření náhledů není script moc vhodný na vytížený server nebo server s vysokou návštěvností, neboť zmenšování obrázků je poměrně výpočetně náročná činnost. To je holt daň za jednoduchou správu galerie.

XML guestbook

Jednoduchý guestbook využívající k ukládání dat XML. K parsování jsou použity XML parser functions, které jsou v PHP4 standartně obsaženy - nepotřebuje tedy ke svému běhu žádné rozšíření či PHP5. Samozřejmě také odpadá nutnost nějaké SQL databáze, takže se skvěle hodí pro případy, kdy jí nemáte k dispozici. Konec konců, kvůli tomu vznikl ;-)

Co se týče funkcí, implementovaná je v dnešní době nezbytností stávající se CAPTCHA (ochrana proti automaticky vkládaným příspěvkům) a převod URL v textu na odkazy. Ukázka.

xml-guestbook.zip

Poznámka: Ani tento script není příliš vhodný na nějaké extrémní zatížení. Bez problémů je použitelný přibližně do 1000 příspěvků (pak začne být patrné pomalejší načítání). Pro "větší" guestbooky bych již doporučoval něco postaveného na SQL.

Programy

QSS - Qt Sudoku Solver

QSS screenshot

Multiplatformní (QT4) program na automatické řešení sudoku využívající k řešení vlastní backtracking algoritmus (jde tedy o řešení "hrubou silou"). Program umožňuje načítat/ukládat zadání ze/do souborů CSV.

Ke stažení jsou zdrojové kódy a přeložený program pro Windows. K dispozici je navíc také na QT nezávislá CLI verze programu.

sudoku.tar.bz2 sudoku-win.zip sudoku-cli.tar.bz2

Hypercube - Graph visualizing tool

Hypercube screenshot

Multiplatformní (QT4) program na vizualizaci grafů využívající k vykreslení grafu vlastní algoritmus založený na simulovaném ochlazování. Program umožňuje výsledný graf exportovat do formátů eps a svg.

K dispozici je navíc také na QT nezávislá CLI verze programu.

Web programu: http://tumic.wz.cz/hypercube
GIT repozitář: http://gitorious.org/hypercube

LINUX

ACPId scripty pro HP nx6310

ACPId scripty pro uspávání a "power managment" HP nx6310 (Celeron M). Suspend script reaguje na zavření displaye a při uspávání řeší problémy s touchpadem. Druhý script pak nastavuje různé škálování frekvence procesoru (frequency scaling) v závislosti na tom zda je notebook napájen ze sítě či baterie.

acpid_scripts.tar.gz

Poznámka: Frequency scaling vyžaduje natažený jaderný modul p4_clockmode.

Slack config

Konfigurační scripty pro jednoduchý firewall/router pro malou domácí/firemní síť. Síťové rozhraní eth0 je do internetu, eth1 do lokální sítě (192.168.1.0/24). Obsahuje konfigurační soubory pro nastavení firewallu (/etc/rc.d/rc.firewall), DHCP démona (/etc/dhcpd.conf) a DNS démona (/etc/named.conf). Konfigurace umožňuje připojování počítačů do sítě ve stylu "umýt si vlasy a jít" - nově připojený počítač je bez jakéhokoliv nastavování připojen do lokální síťe i internetu.

Firewall je nastaven tak, aby logoval do debug úrovně syslogu, která lze v souboru /etc/syslog.conf "přesměrovat" do vlastního souboru:

kern.=debug    /var/log/iptables

Není to sice úplně dokonalé řešení, protože čas od času do stejného souboru loguje i jádro skutečné debug hlášky, ale pro domácí síť to bohatě stačí.

DNS server BIND je nastaven jako "caching-only" a k nastavení zón používá konfiguračních souborů z příkladu nastavení caching-only serveru přímo z distribuce ;-)

slack_config.tar.gz

Dynamic DNS

www.dyndns.org je služba umožňující mít pro dynamickou IP adresu vždy "pevné" doménové jméno. Funguje to tak, že při každé změně IP adresy počítač odešle na dyndns.org novou IP adresu a ta je na jejich DNS serveru okamžitě updatovaná. Skvělé kladivo na čarodějnice, ehm operátory, co si za pevnou IP adresu říkají nekřesťanský sumy (Skutečně nedovedu pochopit, proč pevná IP adresa stojí i 200,- měsíčně. To jí tam snad každej měsíc někdo ručně zaznamenává s hodinovou sazbou 200Kč/h?!!)

Ačkoliv k účelu updatu je možné si na stránkách služby vybrat z mnoha již existujících klientů, zcela dostačující je i malá úprava scriptu /etc/dhcpc/dhcpcd.exe, který dhcpcd spouští pokaždý, když dojde na síťovém rozhraní k nějaké akci.

dhcpcd.exe

Poznámka: Vyžaduje curl.