sobota, 22. októbra 2011

Maven 2, junit4 a spúšťanie testov

Riešil som problém so spúšťaním (resp. nespúšťaním) JUnit4 testov počas maven buildu. Konkrétne bolo záhadné, že Eclipse v "Run as..." menu ponúka JUnit test, zatiaľ čo ten istý projekt po
maven test
daný test preskočí.

Hmm.

Maven definuje, že ku všetkému v src/test/java/** bude pristupovať ako k potenciálnemu testu. JUnit4 definuje že testovaná metóda bude označená anotáciou @Test.

To je teória.

V praxi je to tak, že v mavenovi sa o spúšťanie testov stará Surefire plugin ktorý až po verziu 2.7 na toto čiastočne kašle, takže síce pozerá anotáciu @Test ale už ignoruje že všetko v src/test/java/** je potenciálny JUnit4 test a pozerá sa pri hľadaní testov na 3 patterny známe v JUnit3: "**/Test*.java", "**/*Test.java" a "**/*TestCase.java".

Ako z toho von?
Treba upgradnúť surefire (možno nejako centrálne pomocov nadradeného parent-pom), alebo nazvať testovaný objekt podla JUnit3 patternu (napr. prípona *Test.java)

nedeľa, 11. septembra 2011

recode

[root@fbox Documents]# head file.txt

Nem�ete vyhr�t; m�ete nanejv� dos�hnout nerozhodn�ho v�sledku.
-- 1. v�ta termodynamiky

[root@fbox Documents]# recode Windows-1250 file.txt


[root@fbox Documents]# head file.txt

Nemůžete vyhrát; můžete nanejvýš dosáhnout nerozhodného výsledku.
-- 1. věta termodynamiky

streda, 15. júna 2011

Prvá väčšia krádež bitcoinov

Pri prvej väčšej krádeži bitcoinov prišiel majiteľ o 25,000 BTC — čo je približne $487,749.

Krádež bola uskutočnená po cracknutí windowsového počítača, na ktorom bola uložená nezakryptované peňaženka s bitcoinami.

Stopa transakcie sa dá sledovať na stránke blockexplorer, kde je vidno okamžité rozpustenie prijatej sumy na 500 odchádzajúcich prevodov po 50 BTC.

Z podstaty decentralizovanej bitcoin siete vyplýva nemožnosť nájsť zlodeja pomocou ukradnutých bitcoinov. Jediná možnosť je nájsť ho pomocou stôp zanechaných na napadnutom počítači.

Otázkou je či naozaj došlo k útoku a krádeži, alebo ide o špekuláciu s cieľom znížiť cenu bitcoinov pred zamýšľaným väčším nákupom.

Viac na thenextweb.com kde je linka na fórum s oznámením a detailami o krádeži.

streda, 18. mája 2011

Vimeo downloader

VDownloader je fajn, ale niekedy potrebujem len stiahnuť video bez rekódovania alebo ďalších strojových úprav. Na vimeo server je veľmi dobre použiteľný commandline vimeo downloader napísanž v shelli so závislosťami na perl a wget.

piatok, 4. februára 2011

Strojové inteligencie, singularita a burzové systémy.

V knižke River of Gods (Řeka bohů) vznikne ilegálna distribuovaná singularitná inteligencia triedy 3 spojením viacerých autonómnych burzových obchodných systémov.

Inteligencia triedy 2.5 vie prejsť Turingovym testom (Weaknesses of Turing Test). Všetko nad triedu 2.5 je vo väčšine krajín protizákonné. Skutočná inteligencia triedy 3 ale nebude riskovať svoje odhalenie a vymazanie, teda týmto testom naschvál neprejde.

A tu máme reálnu súťaž burzových obchodných systémov súčasnosti - The Automated Trading Championship.

The Singularity is near!

pondelok, 12. apríla 2010

Farebné logy

Čítanie logov vo všeobecnosti nepatrí medzi veľmi obľúbené činnosti.

Väčšinou je potrebné nájsť nejakú konkrétnu informáciu v konečnom zozname logov. Na to je skvelý niekoľkonásobne zreťazený grep, grep -v a prípadne čerešnička zo sed s awk.

Niekedy je ale potrebné pozerať všetky logy a reagovať na vznikajúce problémy ešte pred tým, ako zákazník niečo zbadá. Nič tak nepoteší zákazníka ako telefonát od Vášho dohľadového technika že našiel problém v produkčnom systéme, ale už pracuje na jeho odstránení.

Tiež je vhodné sledovať všetky logy pri štarte serverov, pri kompilácii (maven píše zaujímavé veci) atď.

Ak logy obsahujú DEBUG hlášky spolu s INFO, WARN a ERROR, je z toho neprehľadný guláš a výsledok sa nedá sledovať dlhšie ako pár minút.

Logy je preto vhodné nejako zafarbiť, aby bolo hneď vidno čo je DEBUG výpis, čo je ERROR hláška a kde je nejaký WARNING.

Našiel som zopár farbičov logov, skúsil som perlový filer colorize.pl, céčkový multitail a pythonovský grc.

Nápaditosťou názvu by určite vyhral posledný z nich, funkčnosťou sa mi najviac páčil perlovský colorize.

Colorize je totiž krásne jednoduchý.

Colorize funguje ako filter. Pri volaní definujete sadu dvojíc parametrov, kde na prvá časť hovorí ako sa majú dáta zvýrazniť (celý riadok alebo len nájdená časť) a aké dáta sa majú hľadať (regexp). Takýchto definičných dvojíc môžete mať koľko chcete potrebujete. Farbenia sa dajú aj kombinovať a dá sa zafarbiť podreťazec (napr. transactionId žltou) v rámci zafarbeného riadku (napr. DEBUG šedou).

Pre rôzne typy logov mám napísané špeciálne definície filtrov, a teda napr. maven build mám v colormvn, aplikačné logy filtrujem cez color. Tieto skripty len volajú colorize.pl s príslušnými parametrami.

Definičný farbič môže vyzerať napr. takto:
#/bin/bash
colorize.pl \
 +l28:BUILD\ SUCCESSFUL \
 +l18:BUILD\ FAILED \
 -n78:INFO \
 -l18:SKIPPING\|ERROR\|FAILURE \
 -l38:WARN\|Exception \
 -l08:DEBUG\|Hibernate
kde napr.
+l28:BUILD\ SUCCESSFUL
je (+) časť riadku (l) low intensity (2) zelená (8) na priesvitnom pozadí pre text "BUILD SUCCESSFUL";
-l08:DEBUG\|Hibernate
je (-) celý riadok (l) low intensity (0) biela na (8) priesvitnom pozadí pre riadky obsahujúce "DEBUG" alebo "Hibernate"

Ak by bol riadok s reťazcom "DEBUG" aj s reťazcom "BUILD SUCCESSFUL", aplikuje sa najskôr na celý riadok DEBUG farbenie bielou slabej intenzity (šedá) a na reťazec "BUILD SUCCESSFUL" pôjde tmavo zelená.

Colorize.pl mám v /usr/local/bin a užívateľské farbiče je vhodné umiestniť do ~/bin/ ktorý je štandardne v ceste.
Ak je nejaký farbič používaný viacerými užívateľmi systému, je fajn dať ho tiež do /usr/local/bin len treba dať pozor že tento adresár je štandardne v ceste pred ~/bin/ takže jednoduché prekrytie je problematické.

sobota, 27. februára 2010

DOSové programy žerúce 100% procesoru

Občas potrebujem staré programy napísané v čase DOS a 16-bitových windows. V nových 23-bitových windows postavených na NT jadre postavenom na OS/2 jadre postavenom na ... - ale to je trošku iný príbeh - proste na nových windows tieto programy občas zožerú 100% výkonu procesorového jadra. Okrem spotreby to má aj nepríjemný side-effect - procesor sa hreje, vetrák nestíha a tak sú mu zvýšené otáčky, čo on právom odmení hlukom. Nechutné.

Na svedomí to má ntvdm.exe, teda NT Virtual Dos Machine a problémy s ním má podľa google celkom dosť ľudí.

Inžinieri z USA (samozrejme nie tí z Redmondu) ale dali hlavy dokopy a vymysleli TAME. Liek na hluk a spotrebu.

Funguje to jednuoducho. Ukončíte DOS program ktorý naposledy žerie 100% výkonu, stiahnete TAME, rozbalíte TAME, nainštalujete TAME, spustíte DOS program ktorý žral 100% výkonu a skontrolujete že už nežerie 100% ale adekvátne 2-3% (podľa aktuálnej záťaže).

TAME má aj konzolu (Monitor all DOS apps), kde je vidno spustené DOS procesy, PID, čas behu, percento využívaného CPU, počet otvorených súborov, status (väčšinou Idle voľačo) a ešte nejaké ďalšie pre mňa momentálne nepotrebné detaily. Dá sa tam prepnúť aj zoznam otvorených súborov (poor man's lsof), detail využitej pamäte a ako bonus aj konzola bežiaceho procesu.

piatok, 2. októbra 2009

Taskbar Shuffle

Jednoúčelová vecička na presúvanie položiek na taskbare a v system trayi. Spustíte, presuniete ikony alebo programy a ukončíte. Freeware, dokonca bez nutnosti čokoľvej inštalovať. Sosateľné z http://nerdcave.webs.com/.

štvrtok, 13. augusta 2009

Konverzia z pdf na obrázok

Dostal som mailom veľký pdf súbor s jednou nascannovanou stránkou textu. Nič strašné, z gmailu sa súbor stiahol za pár sekúnd. Problém (viac problém netikety ako techniky) nastal pri posielaní daného súboru do konferencie. Zahltiť množstvo mailboxov neporiadne kompresovaným a zbytočne najemno (300dpi) scannovaným dokumentom alebo nie?

Zvíťazilo to "nie" a tak som hľadal nejaký soft, ktorým môžem z pdf ten vložený veľký jpeg vytiahnuť aby som s ním mohol ďalej pracovať. Najskôr som skúšal gimp, ale vanilla install neobsahuje (nenašiel som?) možnosť načítať pdf. OpenOffice 3 tiež v tomto nepomohol, pri otváraní tvrdošijne načítaval plain text pdf súboru do writeru a vložený obrázok ignoroval. Mám dojem že existuje nejaký plugin do OpenOffice pomocou ktorého sa dá pdf načítať, ale nemal som čas hľadať a inštalovať nejaký soft. MSWord tiež odmietal otvoriť pdf a pracovať s ním ako s obrázkom v dokumente.

V prvom kroku pomohol kolega Google. Na otázku pdf to jpg online ponúkol rôzne blbosti, ale naštastie bol na prvej stránke aj Zamzar. Názov služby je odvodený od mena Gregor Samsa (Kafkov hrdina poviedky Premena z knižky Metamorfózy, zmenil sa z obchodného cestujúceho na veľkého hmyzáka) a charakterizuje zameranie serveru na konverzie dokumentov.

Zamzar je extrémne jednoduchý - vyberiete súbor(y), vyberiete cieľový formát, zadáte email kam príde linka na stiahnutie výsledkov a kliknete na [convert]. Je možné zadávať aj viacero súborov, treba len dávať pozor na rovnaký typ (a koncovku).

Vysledok príde mailom vo forme linky na zip, v ktorom je pôvodný súbor a jeho skonvertované verzie. V maile je aj reklama na Zamzar Ask toolbar plugin a ponuka na otvorenie Zamzar konta pre rýchlejšiu konverziu.

Konverzia na jpeg dopadla dobre, jpeg som následne otvoril v gimpe, orezal a keďže farebnosť nehrala veľkú rolu, uložil som výsledok ako gif. Pôvodný 543kB pdf som takto za pár sekúnd skonvertoval na 97kB, teda 17,8%. To bolo znesiteľné, takže súbor putoval do konferencie a popis sem na blogspot.

štvrtok, 30. júla 2009

Organic builder a mastné fľaky

Možno ste v .týždni čítali skvelý článok o mastných fľakoch, meraní veľkosti molekúl (!) pomocou kvapkátka, pravítka a lavóra s čistou vodou a o strachu tukov z vody (hydrofóbia).

Dnes prišiel do grupy OrganicBuilder post, v ktorom týpek rieši simuláciu obaľovania kvapiek vody do lipidových obalov (a.k.a. vznik predchodcov protobuniek podmienený fyzikálnymi vlastnosťami tukov).

Mimochodom, na dlhé letné večery doporučujem aj samotný OrganicBuilder.

piatok, 3. júla 2009

Picasa downloader

Na sťahovanie obrázkov zo služby PicasaWeb treba veľa trpezlivosti alebo nejaký ten software.

Ručné sťahovanie predpokladá preklikať po jednom obrázku celý album, vždy si kliknúť na download a uložiť obrázok. Pre krátke albumy sa to dá, ale pre archívy s desiatkami obrázkov to nie je veľká zábava.

Keď mi sa mi dostala do mailu linka na album z ostatného bratislavského koncertu Depeche Mode, začal som hľadať niečo automatické, predsa len tých 64 fotiek z tohtoročného a 160 fotiek z minulého (2006) koncertu nie je stiahnuteľných ručne.

Našiel som 2 riešenia - picasa2html a pycasa-download.

Picasa2html je online služba, ktorej zadáte picasaweb nick a ona Vám ponúkne všetky verejne prístupné albumy daného človeka. Po kliknutí na album zobrazí náhľady fotiek, po označení fotiek vyberiete typ výstupu (html alebo phpbb), veľkosť a iné parametre a služba vygeneruje html/phpbb kód ktorý zobrazí dané fotky. Po zobrazení sa dá pomocou uloženia celej stránky uložiť obsah albumu.

Pycasa Download ide na vec trošku inak. Je to desktopová aplikácia napísaná v pythone a tým pádom spustiteľná v podstate na akomkoľvek modernom desktope. Vstupom je picasaweb nick, po jeho zadaní program zobrazí zoznam verejných albumov s obrázkom. Po vybratí jedného alebo viacerých albumov treba vybrať cieľový adresár do ktorého potom Pycasa-download stiahne obrázky v maximálnom dostupnom rozlíšení.

Každý z programov je trochu iný, mne sa na sťahovanie albumov viac osvedčil Pycasa Download. Hlavné plusy sú dva - priame ukladanie obrázkov bez potreby medzikrokov cez html a sťahovanie maximálneho dostupného rozmeru obrázkov.

štvrtok, 2. júla 2009

Firefox 3.5 plugin blacklist

Nainštaloval som si ostrú verziu Firefox 3.5. V skutočnosti to bol upgrade z 3.5M4 bežiacom na win32 aj fedora64 bez problémov, ale to nie je teraz dôležité.

Prekvapil ma tam automagický filter na neporiadne pluginy, u mna konkrétne zablokoval QuickTime plugin s vysvetlením "remote code execution in multiple versions" a linkou na bugzillu.

Dialógové okno hneď ponúklo reštart browseru a všetko fičí ako má.

Gmail - drag and drop

Gmail má novú funkciu - drag & drop štítkov.

Vľavo je zoznam najčastejšie používaných štítkov (počet aj zloženie je konfigurovateľné). Štítky sa z tohoto zoznamu dajú zobrať myšou a položiť na hlavičku konverzácie (v zozname konverzácií) alebo na konkrétnu otvorenú konverzáciu.

Opäť čisté, premyslené a pohodlné riešenie.

piatok, 19. júna 2009

yum -y upgrade

Ako upgradnuť CentOS, Fedoru alebo Red Hat Enterprise Linux (RHEL)? Jednoducho!
yum -y upgrade
a je to! Samozrejme treba mať pripojenie na inet, pretože yum pri tom stiahol asi 220MB rpmiek. Všetko krásne fičí ďalej, len na novšej verzii systému.

yum -y upgrade

A po reštarte sa samozrejme zavedie nový (upgradnutý) kernel.

sobota, 13. júna 2009

Generátor animovaných gifov

Pri editovaní včerajšieho postu o online video downloaderi a konvertore som potreboval niečo na spučenie troch JPG súborov do jedného GIF-u. Samozrejme animovaného. Dá sa to spraviť v GIMPe, ale chcel som niečo skutočne rýchle za pár minút.

Našiel som tri služby - Online Image Editor, MySpaceGens a Pication.

MySpaceGens vyžadovala na upload viacerých obrázkov flash plugin (netuším načo je dobrý generátor animovaných obrázkov z jedného zdrojového obrázku?! Žeby na ohviezdičkovanie / osrdiečkovanie fotografie obľúbeného speváka / koňa / psa?), takže zostali dve.

Online Image Editor je jednoduchý grafický editor napísaný v DHTML. Po spustení Animation Wizardu doň nasúkate niekoľko obrázkov, potom ich OIE spracuje do animovaného gifu a otvorí editor na postprocessing. Môžete obrázok zmenšiť, orezať, znížiť počet farieb, upravenie farebnosti, farebné filtre, pridanie efektov, ... Nakoniec umožní obrázok uložiť na disk (download) alebo uploadnuť na ImageShack (upload nefungoval). Pekne je vymyslené znižovanie počtu farieb - editor spraví tri náhľady výsledných animovaných gifov aj s konkrétnym počtom farieb, percentuálnym ušetrením veľkosti a výslednou veľkosťou, kliknutím si potom vyberiete najmenej hnusný výsledný obrázok. Lahôdkou je undo, pri webových aplikáciách nevídaná to vec.



Picasion je jednoduchší. Ponúka len upload zdrojových obrázkov, prípadnú zmenu veľkosti a zmenu rýchlosti výsledného GIF-u. Ako výstup ponúka uloženie na disk (download). Na vstupe môže byť aj obrázok z Flickera alebo Picasy, pre mňa to ale užitočné nie je.

Výsledné hodnotenie dopadlo jednoznačne - zvíťazil Online Image Editor.