Zápisník

Špetka BSOD

19. 8. 2008, 3:54
kategorie: windows

Dva roky přežily mé Windows XP bez antiviru. Nedávno mě chytlo nutkání jeden nainstalovat a systém překontrolovat. Notebook po koupi obsahoval Norton Antivirus, který je však typickým bloatware. Šel pryč ještě před vypršením zkušební lhůty. Následně se systém tak viditelně zrychlil, že mě vůbec nenapadlo instalovat jiný antivirus. Až teď.

Ze dvou českých antivirů jsem zvolil Avast!. S druhým mám z dob minulých podobně špatné zkušenosti jako s Nortonem. Avast! našel jednoho trojana – dotyčný soubor jsem nechal smazat a postižený program přeinstaloval.

A nyní by měl následovat happy end. Jenže po pár dnech se mi objevila první BSOD. Systém vytuhl, bez jasné příčiny. Nasledně se mi to stalo ještě několikrát, až jsem už věděl, jak přesně BSOD vyvolat. Například instalací libovolného windowsího update. To mi bylo silně podezřelé, přece to Microsoft nemohl až tak pokonit :o) Zkusil jsem tedy googlit. Vzpomněl jsem si na nově instalovaný antivirus a podezření padlo na něj (protože taková věc se určitě vrtá v kernelu).

Byl to on, problém jsem našel na avast! fóru. Chyba souvisí s ext2ifs a týká se tedy počítačů s dual-bootem linuxu a Windows. Prý ji opraví v dalším update. Zatím je jediným řešením Avast! odinstalovat.

Prográmky: cpulimit, stress, crashme

6. 3. 2008, 19:11
kategorie: linux, software

Tři zajímavé prográmky, které mi přišly pod ruku.

cpulimit

limits the cpu usage of a process

cpulimit is a simple program that attempts to limit the cpu usage of a process (expressed in percentage, not in cpu time). This is useful to control batch jobs, when you don't want them to eat too much cpu. It does not act on the nice value or other priority stuff, but on the real cpu usage. Besides it is able to adapt itself to the overall system load, dynamically and quickly.

Jak je patrné z popisu, program slouží k omezování spotřeby CPU nenažranými procesy. Ty lze omezit (a později i osvobodit) přímo za běhu. Proces můžeme hledat podle PID nebo jména binárky. Viz příklad:

$ sudo cpulimit -e firefox-bin -l 60
Warning: no target process found. Waiting for it...
Process 6308 detected

stress

A tool to impose load on and stress test a computer system

stress is a tool that imposes a configurable amount of CPU, memory, I/O, or disk stress on a POSIX-compliant operating system and reports any errors it detects.

stress is not a benchmark. It is a tool used by system administrators to evaluate how well their systems will scale, by kernel programmers to evaluate perceived performance characteristics, and by systems programmers to expose the classes of bugs which only or more frequently manifest themselves when the system is under heavy load.

Program stress naopak dokáže CPU i jiné zdroje pořádně vytížit. Pohleďme do manuálu:

       -c, --cpu N
              spawn N workers spinning on sqrt()

       -i, --io N
              spawn N workers spinning on sync()

       -m, --vm N
              spawn N workers spinning on malloc()/free()

       -d, --hdd N
              spawn N workers spinning on write()/unlink()

crashme

Stress tests operating system stability

crashme generates strings of random bytes and then attempts to execute them. Used to test kernel stability.

**WARNING** While Linux has been known to survive days and weeks of crashme, IT IS NOT GUARANTEED THAT YOUR SYSTEM WILL SURVIVE! DO NOT USE THIS PROGRAM UNLESS YOU REALLY WANT TO CRASH YOUR COMPUTER

A tahle legrácka už tolik užitečná není, ale zase mi přijde docela vtipná.

Zdroj: aptitude

Utility dos2unix a flip

3. 3. 2008, 20:38
kategorie: linux

CR+LF v Midnight Commanderu Mezi operačními systémy se v historii vyskytly tři různé způsoby značení nových řádků textových souborů. V unixové řadě systémů je to LF (line feed, ASCII kód 10), ve starších OS od Applu CR (carriage return, ASCII kód 13) a v systémech řady CP/M, DOS a Windows CR+LF. Vzhledem k tomu, že Apple při uvedení Mac OS X přešel na unixový styl kódování, zbývají nám z živých variant pouze dvě.

V linuxu k převádění cizích textových souborů do nativní formy slouží utilita dos2unix. V Debianu je šikovně skryta v balíčku tofrodos, který je třeba nejdříve doinstalovat. V některých distribucích je ale tato utilita součástí výchozí instalace.

dos2unix soubor.txt

Alternativou je flip, který defaultně zachovává časové razítko a vlastníka souboru (dos2unix na to má parametr -p).

flip -u soubor.txt

Se soubory s dosovými řádky se setkávám obzvláště u open-source webových aplikací, kdy se autoři zřejmě snaží být přátelští k uživatelům s Notepadem. Takové soubory jsou pak sice použitelné a funkční, leč ošklivé v Midnight Commanderu, kde se na koncích řádků zobrazují černé zobáčky… :-)

Oficiální XMPP brána do sítě ICQ?

27. 1. 2008, 15:06
kategorie: net

XMPP je protokol pro instant messaging, jinak známý také pod jménem Jabber. Tento protokol byl přijat jako standard organizací IETF a pro přenos zpráv a událostí je využíván jazyk XML. Síť je otevřená – server si může založit kdokoliv a ihned komunikovat s ostatními servery a uživateli na nich.

Největší zádrhel pro síť Jabber v Čechách je ohromné rozšíření jiného, nekompatibilního protokolu – ICQ. Komunikace s lidmi na této síti se pak obvykle řeší dvěma způsoby, buď použitím více-protokolového klienta nebo ICQ transportu.

Nejnovější události však ukazují, že by se situace v budoucnu mohla rapidně zlepšit. Firma AOL, vlastník sítě ICQ, podle všeho pracuje na XMPP bráně pro tuto síť. Ta by měla umožnit komunikaci s uživateli sítě ICQ přímo protokolem XMPP – k ICQ účtům budou přiřazeny Jabber ID ve formě <icq-číslo>@aol.com. Kromě toho brána umožní i uživatelům ICQ připojit se do této sítě protokolem XMPP, tedy kterýmkoliv z mnoha Jabber klientů. Podrobnosti jsou v odkazovaném blogu.

To je vývoj, který rozhodně málokdo čekal, ale vypadá to nadějně a snahu firmy AOL určitě spousta lidí ocení. V našich končinách to navíc umožní větší rozšíření Jabberu mezi lidmi, neboť komunikace s kamarády na ICQ už nebude problém.

Brány Skeldalu

26. 1. 2008, 17:48
kategorie: hry, dos, windows

Na Brány Skeldalu mám pěkné vzpomínky – s touhle hrou jsem si kdysi užil spoustu hodin skvělé zábavy. Byl to jeden z posledních čtverečkových dungeonů, navíc plný hezké malované grafiky a zajímavých nápadů.

Obrázek ze hry Brány Skeldalu
Další obrázky na hrej.cz.

Hra byla nedávno uvolněna jako freeware a následovalo i uvolnění zdrojových kódů pod open-source licencí. Vše naleznete v následujících odkazech.

Teď tomu chybí už jen konverze pro ostatní operační systémy, a anglická lokalizace, aby si mohl zahrát celý svět :-)

LaTeX + KPDF = téměř wysiwyg

22. 12. 2007, 22:51
kategorie: linux

Prohlížeč PDF dokumentů pro KDE, kpdf, má hodně příjemných vlastností. Kromě toho, že startuje okamžitě, umožňuje ignorovat DRM, snadno kopírovat text či grafiku pravým tlačítkem a také sledovat změny souboru.

Nastavení programu KPDF

Poslední jmenovaná schopnost se skvěle hodí při psaní dokumentů v LaTeXu. Stačí upravit zdrojový soubor, přeložit a ihned si prohlížet změny v okně s .pdf. K tomu ještě můžeme přihodit vestavěný terminál v Kate nebo konfigurovatelné klávesové zkratky a dokonalé IDE pro LaTeX je na světě :-)

Prostředí s LaTeXem v KDE: Kate a KPDF

Prostředí KDE je díky těmto drobným vychytávkám prakticky dokonalé a trochu se až bojím, aby to nastupující KDE 4 nezkazilo…

Komentáře: 1, nejnovější 24.01.2008, 15:22

Apache: totální přepis adresy

6. 11. 2007, 19:57
poslední změna: 6. 11. 2007, 20:36
kategorie: web, linux

Občas mi něco chybí a přemýšlím, jak by se to dalo realizovat. Jednou jsem takhle přemýšlel, že by bylo hezké mít vyhledávač v linuxové dokumentaci (man, info, referenční příručky apod.) Vyhledávalo by se podle klíčového slova (jako man) a následně fulltextově. Jako doplněk by mohl být k dispozici i přehledný browser všech manuálů.

Realizaci ale zatím odložím :-) Pohrál jsem si jen s online prohlížečem manuálových stránek, který už kdosi implementoval (bohužel s několika dírami, o kterých nevím, zda jsou již opravené, takže adresu mého testovacího serveru sem raději nedám) – program se jmenuje man2html a umožňuje i fulltextové vyhledávání. V Debianu je vše připraveno v balíčcích, zprovoznení bylo otázkou několika minut. Jenže výsledná adresa je taková ošklivá – hostname/cgi-bin/man/man2html. Komu by se to líbilo. Cílem bude tuhle adresu změnít na hostname/man/man2html. S použítím známého přepisovače se to na první pohled zdá být triviální, ale není. Man2html totiž nemá žádné konfigurační soubory a odkazy jsou natvrdo zákódované ve skriptech i binárkách, takže po prvním kliknutí je uživatel zpátky na původní adrese.

V této situaci se hodí další modul Apache – ext_filter. Ten nám umožní upravit stránku těsně před tím, než je odeslána klientovi. Úpravu adres z původního /cgi-bin/man/ na hezčí /man/ provedeme příkazem sed. Apachí konfigurace pak může vypadat následovně:

ExtFilterDefine purge_cgi_bin mode=output \
cmd="/bin/sed s/\\/cgi-bin\\/man/\\/man/g"

...

DocumentRoot /var/www/pagename/
<Directory /var/www/pagename/>
    RewriteEngine on
    RewriteRule ^man/(.*)$ /cgi-bin/man/$1 [QSA,L]
    ...
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /usr/lib/cgi-bin/man>
    Options ExecCGI
    SetHandler cgi-script
    SetOutputFilter purge_cgi_bin
</Directory>

Pozor na dvojí lomítka v cmd="…" – řetězec je poprvé escapován již Apachem (nebo spíše daným modulem) a zdvojení je tak nutné, aby se zpětné lomítko dostalo až k programu sed. Zbytek je asi jasný :-)

Tato konfigurace samozřejmě není ideální, protože se při každém dotazu volají dva programy. To v případě neposlušného cgi programu může být jediným řešením, nechceme-li (nebo nemůžeme-li) daný program upravovat.

Update: Když na to teď koukám, tak je tu RewriteEngine trochu zbytečný, stačil by Alias nebo to rovnou zahrnout do ScriptAlias… Tuto úpravu již ponechám na bystrém čtenáři :-)

Internetová rádia v MPlayeru

29. 10. 2007, 22:42
kategorie: software, linux

Streamy internetových rádií bývají pečlivě zamaskovány kupou balastu, ale někde uprostřed se zpravidla nachází playlist ve formátu .pls, .m3u nebo .asx. Pokud získáme URL tohoto playlistu, není již problém rádio pustit třeba v MPlayeru:

mplayer -playlist http://radio.cesnet.cz/cgi-bin/cro1-256-ogg.pls

Světlou výjímkou je Český rozhlas, který linkuje playlisty přímo, horší je to ale s ostatními českými službami, například na ABradio se bez grepování zdrojáku již neobejdeme (stačí ale hledat .asx a správné url bývá nalezeno hned jako první).

Playlist může obsahovat více streamů, mezi kterými se přepíná následovně (výtažek z manuálu):

< and >
	Go backward/forward in the playlist.
ENTER
	Go forward in the playlist, even over the end.
INS and DEL (ASX playlist only)
	next/previous alternative source.

S alternativními streamy v ASX jsem se ale ještě nesetkal.

Mimochodem, stojí za to si na vysílaní ČRo porovnat kvalitu ogg, wma a mp3 – ogg hraje jednoznačně nejlépe a to i na nižších bitratech. WMA zní plechově i při 128 kbitech a skoro se nedá poslouchat (alespoň mně je to docela nepříjemné).

Hyperbol – zajímavá hra za 10 dolarů

18. 9. 2007, 19:27
poslední změna: 18. 9. 2007, 23:00
kategorie: hry, windows

Na Steamu jsem si všiml nabídky na hru ThreadSpace: Hyperbol za $9.95 (sleva 50%). Zkusil jsem demo a překvapilo mě, jak to krásně beží na mém Thinkpadu, který díky intelovské grafice (GMA950) příliš nových 3D her nezvládá. Vlastně kromě této o žádné nevím.

Hra je ryze multiplayerová, k dispozici jsou i boti. Hráč ovládá vesmírnou loď, pohybuje se po 2D mapě a bojuje s nepřáteli. Způsob hraní je vcelku unikátní, popisovat ho zde ale nebudu, bylo by to na několik odstavců. Přečtěte si recenzi nebo zkuste demo, obsahuje pěkný tutoriál. Online hra nabízí několik módů – objective, deathmatch a team eliminate. Z názvů je celkem jasné o co jde. V objective módu jsou různé úkoly typu znič, ochraň, obsaď. Bonusem je možnost upravování vzhledu lodi či nákup komponent i dalších lodí. Peníze (a zkušenosti) se získávají hraním na oficiálních serverech. Celé je to překvapivě zábavné, jsem docela zvědav, kdy mě to omrzí.

Myslím, že deset dolarů (v korunách mě to přišlo na 235) je za tuhle hru slušná cena, můžu doporučit :-) Nabídka končí 21. září a demo je omezené jen časově, jinak v něm nic nechybí. Není tedy problém si hru dobře vyzkoušet před koupí.

Update: Dočetl jsem se, že Hyperbol začínal jako studentský projekt a na vývoji se podíleli jen čtyři lidé. To vysvětluje, proč je ta hra tak zábavná :-) Co se týče herního stylu, tak nejblíže je klasikám jako Scorched Earth nebo Worms. Jen gravitace v Hyperbolu nepůsobí permanentně, ale je vytvářena za běhu pomocí speciálních projektilů a deployablů

Sort the Pixels!

31. 8. 2007, 19:40
kategorie: fun, hry

Zahrajte si hru Sort the Pixels! Ke hraní stačí pouhý webový prohlížeč s podporou Javy, kvalitní myš, cit v ruce a notná dávka klidu.

Úkol je prostý a zřejmý již z názvu hry – přesunout jednotlivé pixely do připravených kontejnerů. Hra je vhodná například k trénování drag-and-drop: Máte problémy trefit ikonu? Zahrajte si, pozitivní účinek a zefektivnění práce s mýší je zaručen! Trénovat mohou i hráči FPS her jako Counter Strike. Po dohrání Sort the Pixels trefíte nepřítele desertem na 200 metrů! Mezi oči.

Z pixelů lze tvořit i obrázky či ornamenty. Tvořivosti se meze nekladou. Na konci hry sice nic nečeká, ale není problém pixely ručně rozházet a zahrát si znovu!

Hru spustíte kliknutím na obrázek:

snnímek appletu Sort the Pixels!

V přípravě je nová hra Pixel Hunting aneb sestřel všechny pixely. Tato bude animovaná!

Komentáře: 1, nejnovější 12.09.2007, 13:03