Až Vám zčerná obrazovka, přejděte na Linux!

Proč používat Linux

pátek 23. července 2010

Tož totok je spomínka na moje mládí...

Dneskaj sem si přečet báječný článeček. Čtěte také: http://vetvicka.blog.idnes.cz/c/147886/Zje-mrtvy-Lehni-nebo-nehraju-2.html


A je pravda pravdúcí! A né že nae! Akorát u nás pod sídliskem byl sad kerý nebýl nikeho, tož sme tam ožírali střešně o sto šest! A ty jabka! Zimáky ontária už v srpnu - to sa po nich huba tak krásno krútila! A koprovka? Ta by u nás musela mňet gulomet, aby vydržala do druhého dňa. Ale gdyž babička navařili kotel kyselice... ta byla najlepčí teprv až sa v ní rozležely klobáse!

úterý 20. července 2010

Zastaralé Lotus Notes and A gdk Window is being destroyed out of DestroyWindow

Taky se vám po čase přestal zobrazovat obsah tabů v Lotus Notes?
No mně se to stalo. Spustím si Notesy z příkazové řádky a najdu tam:

A gdk Window is being destroyed out of DestroyWindow                                                                                                            

/opt/ibm/lotus/notes/libemulator.so [0xb569c315]                                                                                                                
/opt/ibm/lotus/notes/libemulator.so [0xb5665bb1]                                                                                                                
/usr/lib/libgobject-2.0.so.0 [0xb47edb41]                                                                                                                      
/usr/lib/libglib-2.0.so.0(g_datalist_id_set_data_full+0x386) [0xb4e08d86]                                                                                      
/usr/lib/libgobject-2.0.so.0 [0xb47ee1f9]                                                                                                                      
/usr/lib/libgobject-2.0.so.0(g_object_unref+0xd8) [0xb47ee378]                                                                                                  
/usr/lib/libgdk-x11-2.0.so.0(gdk_window_destroy+0x3a) [0xb48fc0fa]                                                                                              
/opt/ibm/lotus/notes/libemulator.so [0xb567d20b]                                                                                                                
/opt/ibm/lotus/notes/libemulator.so [0xb567d0a0]                                                                                                                
/opt/ibm/lotus/notes/libemulator.so(DestroyWindow+0x183) [0xb567d3e7]                                                                                          
/opt/ibm/lotus/notes/notes(Quit+0x20e) [0x83ff77a]                                                                                                              
/opt/ibm/lotus/notes/notes(EndSession+0x47f) [0x8400845]                                                                                                        
/opt/ibm/lotus/notes/notes(MainWndProc+0x14a2) [0x834f406]                                                                                                      
/opt/ibm/lotus/notes/libemulator.so(CallWindowProcW+0xc0) [0xb566b472]                                                                                          
/opt/ibm/lotus/notes/libemulator.so [0xb5680b83]                                                                                                                
/opt/ibm/lotus/notes/libemulator.so(DispatchMessageW+0x13) [0xb5680bc9]                                                                                        
/opt/ibm/lotus/notes/notes(NEMMainLoop+0x3f5) [0x8365977]                                                                                                      
/opt/ibm/lotus/notes/notes(WinMain+0x5e1) [0x832507e]                                                                                                          
/opt/ibm/lotus/notes/notes(main+0x1b6) [0x83284ac]                                                                                                              
/lib/libc.so.6(__libc_start_main+0xfe) [0xb4ee4ace]   

No a tak jsem zjišťoval, čím by to asi mohlo být a našel jsem toto . Problém je v nekompatibilitě nového GTK s tím, které chtějí Notesy. Ať už je to chybou GTK či Notesů (spíš bych podezíral vývojáře GTKčka), obejít se to dá lehce. Stáhněte si z http://www.freetechie.com/upload/lotus_notes/ starší verze knihoven pro GTK, nahrajte je k ostatním knihovnám Notesů (typicky /opt/ibm/lotus/notes) a máte to!

Nebudou sice Notesy vypadat tak krásně jako dřív, ale aspoň něco...

čtvrtek 17. června 2010

Znovuzrození Obnoveného řádu

Wesnothu Zdar!

Tak už je to tady. Po dalších dlouhých měsících a letech jsem zase něco malého udělal pro komunitu nás Wesnoťáků. Jedno z nejzajímavějších tažení, Obnovený řád (v originále A New Order) od Arkadiusze Danielckiho, které napsal pro Wesnoth verzi 0.9.3 a které bylo naposledy funkční pod Wesnothem 1.2, je spravováno a je hratelné v nejčerstvějším vydání (nyní 1.8.2) této naprosto báječné a jedinečné strategie. Ano, milí přátelé, zajisté jste pochopili, spravuji je já a mám na svědomí jeho vzkříšení.

Hrajte, jak je vám libo. Nechte se vtáhnout do děje, zabíjejte, kecejte, vyslýchejte, mučte, zkrátka kochejte se.


Aktuálně je vydána verze 1.1.98 . Verze, která by měla beze zbytku fungovat a být v plné míře naportována na jedna-osmičkový stroj, bude 1.2 . Do té doby sháním všechny možné i nemožné beta testovače.

Užijte si to ve zdraví.

úterý 15. června 2010

Jak vyřešit ORA-01591: zámek uplatněný spornou distribuovanou transakcí

Tak jsem si jednou hrál s Hibernate a automatickým vytvářením tabulek nad skoro produkční databází Oracle 10 a dostal jsem se do jedné poněkud choulostivé situace. Při deployi earu jsem dostával
ORA-01591: zámek uplatněný spornou distribuovanou transakcí
Chvíli jsem si myslel, že to má na svědomí špatně navržený deployment Hibernate. Po čase jsem začal Gůglit ve vodách mimo Javu a dostal jsem se k jednoduchému řešeni:

Jedná se o problém, kdy transakce selhala v okamžiku, kdy se dostala do stavu prepared. Jediné řešení je ji odstranit. A řešení jsou dvě: buď se k ní připojit a rollbacknout, nebo ji smahnout přímo v databázi.

Druhé řešení je poměrně elegantní. Oracle definuje SQL příkaz ROLLBACK FORCE a jemu odpovídající PL/SQL funkci dbms_transaction.rollback_force(xid). V tabulce "SYS"."PENDING_TRANS$" je uložen záznam o všech čekajících transakcích. Ve sloupci LOCAL_TRAN_ID je XID.

Stačí se tedy přihlásit jako uživatel SYSTEM s funkcí SYSDBA (například v sqlplus), spustit
exec dbms_transaction.rollback_force(moje_xid)
a je vymalováno.

pondělí 31. května 2010

Hibernate error - identifier altered from 1 to 1

Nějakou dobu jsem laboroval s toto poněkud podivnou hláškou - jak může změna z 1 na 1 vygenerovat chybu? A kde se vůbec ta změna bere, když jedinou operaci, kterou dělám, je session.save()?

Nakonec jsem chybu našel. Při laborování s formátem dat v databázi a ručním copy&paste psaní hbm.xml jsem zavlekl typovou nekonzistenci do dat. V databázi (PostgreSQL) jsem měl u ID Integer (což onu chybu ale nevyvolá), v hbm.xml java.lang.Integer, ale ve třídě java.lang.Long. No a protože long nelze bez přetypování uložit do intu, ona alterace byla na světě.

Řešení tohoto problému je tedy prosté. Zkontrolujte si, že vám PŘESNĚ sedí jednotlivé typy v Javě a v hbm.xml

Kéž to někomu pomůže.

pondělí 3. května 2010

Jak ignorovat skryté adresáře v doplňování v bashi

bash completion, neboli inteligentní doplňování v bashi, je strašně mocná zbraň. Poměrně hodně mi ale vadilo, že mi bash při průchodu zdrojáků uložených v Subversion permanentně nabízel v možnostech pro příkaz cd i adresář .svn . Tak jsem Gůglil, až jsem zjistil, jak se s tím vypořádat.
Nabízení skrytých adresářů je vlastnost knihovny readline, která je v bashi použita. A tu lze vypnout jednoduše pomocí nastavení readline. Do ~/.inputrc přidáte
set et match-hidden-files off
a je to. Eqivalentem pro právě běžící bash je použití interního příkazu bind:
bind 'set match-hidden-files off'
Třeba to někomu pomůže.

pátek 26. února 2010

Valná Hromada TJ Sokol Přílepy

Výbor TJ Sokol Přílepy zve všechny své členy na valnou hromadu Tělocvičné Jednoty, která se koná ve čtvrtek 11.3. 2010 v 18:00 v budově obecního úřadu v Přílepích.

Program Valné Hromady
1) Zahájení a volba předsednictva
2) Volba mandátové komise
3) Volba návrhové komise
4) Volba volební komise
5) Schválení programu
6) Zpráva starosty
7) Zprávy cvičitelů
8) Zpráva hospodářky o hospodaření jednoty za rok 2009
9) Volba starosty
10) Volba členů výboru
11) Volba kontrolní komise
12) Volba delegátů na župní valnou hromadu
13) Diskuse
14) Závěr

Navrženou kandidátkou na post starostky je Anna Petrášová, na jednatele Ivana Sehnalová, hospodářky Růžena Staňková, na další členy výboru Helena Kuchařová a .

Za výbor Oto Buchta, starosta TJ Sokol Přílepy