by administrator@cyberasylum.eu (Jaroslav Petráš) at July 30, 2010 15:06
Dnes som sa trochu hrabal v službách Google a natrafil som na neznámu službu Google Bookmarks. Nič nezvyčajné, keby boli bookmarky prázdne, no zrejme koncom februára a v marci sa mi tam neznámym spôsobom podarilo niečo popridávať.
Pozitívne na tej službe je, že vľavo je odkaz na Web History, kde som si skontroloval, že ukladanie všetkých údajov by malo byť vypnuté.
Zároveň mi teda napadlo, že by som si mal zálohovať bookmarky, ktoré som si vytvoril na del.icio.us, a vôbec aj ďalších služieb, kde mám aspoň relatívne cenné dáta.
Začnem teda od konca, kedy som sa po zložitom hľadaní dopracoval k užitočnej utilite lfmCOL.pl - last.fm Data Collector.
Použitie je veľmi jednoduché, stačí nahradiť USER prihlasovacím
menom:
perl lfmCOL.pl -xmlfile=myLovedTracks.xml method=user.getLovedTracks user=USER # Collect your complete scrobbling history: perl lfmCOL.pl -xmlfile=myRecentTracks.xml method=user.getRecentTracks limit=50 user=USER # Collect your complte music library: perl lfmCOL.pl -xmlfile=myMusicLibrary.xml method=library.getTracks user=USER
Tu ma zaujímajú iba obľúbené videá, ale dopracovať sa k správnemu spôsobu dolovania dát chvíľu trvalo.
API poskytuje XML výstup na adrese
http://gdata.youtube.com/feeds/api/users/USER/favorites?max-results=50&start-index=1.
Počiatočný index musí byť 1 a potom môžeme pridávať po 50. Počet
som si musel zistiť z profilu.
Tu nie je žiadne API, ale dá sa stiahnuť jednoducho HTML výstup, ktorý obsahuje komentáre a ohodnotenia. Keď zistíme počty, tak je to pomerne jednoduché sťahovanie.
Úplne bez problémov výstup: http://delicious.com/settings/bookmarks/export
V závere sa podelím o škaredé kombinácie Ruby/shell skriptov, ktoré sú pre mňa dostatočné: source tarball.
Ešte by som spomenul, že napriek existencii Data Liberation Front, ktorý má pomáhať s extrakciou dát uložených v aplikáciách od Google, zrejme nie je možné nijak dostať z Google Reader nič okrem zoznamu feedov.
This blog post was created on 2010-07-05 at 18:33 and last modified on 2010-07-05 at 18:35 by disorder. It is tagged with backup, google, paranoia, web2.0.
Začalo sa to pred pár mesiacmi keď vysielanie seriálov bolo sporadické a tak som vytvoril skript TV series episode announcer na vytvorenie feedov, ktoré pridávajú novú položku do RSS v deň vysielania.
Teraz som ho vylepšil tak, že sa dáta aktualizujú iba cez cron. Tiež som pridal aj export do iCalendar formátu a malé webové UI. Je to trochu ušité na mieru serveru, kde beží, ale zatiaľ to funguje bezchybne.
Feedy by mali byť o niečo spoľahlivejšie a kalendár funguje dobre v Google Reader aj IceOwl 0.9 (Debian verzia niektorej Mozilla aplikácie).
Aplikácia je prístupná tu: serialy.disorder.sk
This blog post was created on 2010-07-03 at 14:54 by disorder. It is tagged with project.
Frustrácia z niekoľkomesačného zanedbávania novej verzie browseru Opera (relevantná platforma je Linux) som sa pokúšal nahradiť ho inými. Týmto sa budem snažiť spraviť zoznam nedostatkov z pohľadu skúseného používateľa Opery, ale taktiež úspešné čiastočné riešenia nastavenia ovládania v iných browseroch.
Najväčšou prekážkou je výnimočná nastaviteľnosť klávesových skratiek v Opere. Dá sa povedať, že iné browsery to umožňujú iba programovaním rozšírení. Testoval som browser Chrome a FireFox. Epiphany vypadol hneď po spustení, pretože bolo jasné, že na moje náročné požiadavky nemá.
Chrome je mnohými vychvaľovaný, ale pre mňa obrovské sklamanie. Aj keď som čiastočne zvyknutý na množstvo pamäte, ktoré dokáže browser naleakovať, tak na Chrome to nemá. Každý tab využíva desiatky MiB pamäte a Extensions nie sú zadarmo (vo verzii 5 je to päť a viac MiB, vo verzii 6 je to desať a viac). Na obranu treba spomenúť, že vo verzii 6 sa zrejme zlepšilo zdieľanie dát medzi tabmi pre rovnaký server.
Potvrdilo sa mi, že Chrome je užitočný len ako obal pre aplikácie Google, teda najmä GMail. Mierným sklamaním bolo nie celkom dokonalé správanie Facebooku, pri update news feedu sa nejak sekla animácia a update nikde.
Najväčším nepriateľom sú jeho vývojári (alebo skôr nariadenia od Google?), kam sa má/nemá užívateľské rozhranie uberať.
http./ pre vyhľadávanie. Dôvod je celkom zrejmý, no napriek tomu som ho nikde nevidel verejne priznaný. Je to dôvod celkom prozaický: konflikt s Google aplikáciami.Riešenia:
chrome: taboch a zrejme aj na stránkach s rozšíreniami. Niektoré skratky nie je možné nahradiť a niektoré nefungujú uspokojivo. Celkom dobre hodnotím z/x na back/forward a 1/2 na pohyb po taboch, no oproti zabudovaným skratkám nepreskakuje zatvorené “pinned” taby. Ctrl+N pre nový tab funguje, ale address bar nedostáva focus. Ctrl+. pre zastavenie loadovania a Ctrl+Z pre znovuotvorenie zatvoreného tabu sú teda jediná plne funkčné klávesy. / nie je možné uspokojivo nahradiť a taktiež nie je možné nastaviť F8 na focus pre address bar.Ctrl+Tab nie je možné nahradiť a je teda nutné zvyknúť si na inú skratku (vývojári odporúčajú Ctrl+`).Príjemné prekvapenia:
Firefox je jedno veľké príjemné prekvapenie. Naozaj sa im podarilo prekonať lenivosť odozvy a nároky na pamäť. Ale možno je to relatívne nezašpineným profilom. Skutočnosťou ostáva, že Firefox je dnes špičkou v spravovaní pamäte, dôsledne si po sebe upratuje.
Rozšírenia oproti Chrome majú zrejme celkom zanedbateľné nároky. Zrejme je to kvôli tomu, že celé UI pracuje rovnakým spôsobom.
Aby som teda niečo aj vytkol, možnosť nastavenia pozície address baru pod taby vývojári celé roky ignorujú. Nie je to show-stopper, ale zamrzí to.
Ešte spomeniem, že teoreticky nastavovanie skratiek by malo byť uľahčené rozšírením Keyconfig, no údajne nové verzie nepodporuje (3.5.9+).
Základná zostava rozšírení:
1/2 pre prepínanie tabov) ručne rozšírené o z/x back/forward.Previazanosť rozšírení s UI je bezchybná, prejdem k neuspokojeným požiadavkám:
Ctrl+Z pre znovuotvorenie zatvoreného tabu: nemožné. Dôvodom je konflikt s Undo.F8 pre nastavenie focusu address baru. Zrejme nemožné.Ctrl+. pre zastavenie loadovania. Pravdepodobne možné rozšírením, ale nevýhody prevážili natoľko, že som nemal motiváciu.Ctrl+N pre nový tab. Neviem ako je to s konfliktmi skratiek, takže možno to tiež pôjde cez rozšírenie.Či už nová alebo stará opera, všetky majú tie isté výhody. Odozva UI je svižná, klávesové skratky rozumné a v prípade potreby úplne nastaviteľné. Nie sú potrebné žiadne rozšírenia, čoho príjemným dôsledkom je, že aj na novom počítači môžeme byť v priebehu sekúnd ako doma.
Samostatnou kapitolou je agresívna cache, ktorá je v naprostej väčšine prípadov plusom. Dostupné nastavenia Fit to width, aplikovanie rôznych štýlov na stránku (napr. high contrast white on black) a vypnutie načítania obrázkov. Taktiež je zabudovaná čítačka feedov a Turbo, ktoré má zrýchliť načítanie pri pomalých pripojeniach.
V novej verzii pribudol zabudovaný Flash blocker a podpora HTML5 technológií (vrátane WebM a tiež podpora H.264 cez GStreamer pluginy). Obrovskou nevýhodou je zatiaľ zanedbávanie problémov Unix verzie.
Pri tej zásadnej zmene UI boli vykonané i zmeny, ktoré mi nie sú po
chuti. Kedysi bolo napríklad uvedené meno súboru v kontextovom menu
obrázku, to v novej verzii chýba (ale chýba to aj iným browserom).
Tiež mi prekáža “efektné” vysúvanie vyhľadávacieho políčka (doplnenie: opera:config#UserPrefs|EnableUIAnimations), pretože
posúva aj stránku (doplnenie: toto sa dá zmeniť v Appearance-Toolbars cez zobrazenie všetkých a potom nastaviť vyhľadávaniu aby bolo dole). Dúfam, že situácia s leakovaním (v predchádzajúcej
verzii asi najmä javascriptom) bola zlepšená.
z
Pre pokročilého používateľa Opery je prechod bez škrípania zubov nemožný, ale Firefox je solídnou alternatívou. Opera má svoje problémy, ale svojou nastaviteľnosťou a všetkými zabudovanými a vyladenými službami je jedinečná. Chrome je jednoznačný prepadák najmä kvôli náročnosti na pamäť. Všetky ostatné browsery je nutné dlho nastavovať, aby boli aspoň čiastočne použiteľné, ale Firefox dokáže Operu imitovať lepšie.
This blog post was created on 2010-06-23 at 09:25 and last modified on 2010-07-05 at 10:29 by disorder. It is tagged with browser, chrome, firefox, opera, rant.

by administrator@cyberasylum.eu (Jaroslav Petráš) at June 22, 2010 23:50

by administrator@cyberasylum.eu (Jaroslav Petráš) at June 09, 2010 11:11

by administrator@cyberasylum.eu (Jaroslav Petráš) at May 29, 2010 11:15

by administrator@cyberasylum.eu (Jaroslav Petráš) at May 27, 2010 17:49

by administrator@cyberasylum.eu (Jaroslav Petráš) at May 24, 2010 20:57

by administrator@cyberasylum.eu (Jaroslav Petráš) at May 24, 2010 07:53
Ako som sa pôvodne dočítal, malo sa jednať o veľmi jednoduchú procedúru. To vo mne evekovovalo pocit, že to bude možné vyklikať v nastaveniach témy. Po niekoľko minútovom hľadaní som bohužial musel siahnuť po google a ten mi poradil.
Najprv je potrebné spustiť gconf. Stlačíme Alt+f2, napíšeme „gconf-editor“. Potom je potrebné sa preklikať cez “/apps/metacity/general/“ k „button_layout“. Dvojklikom zmeníme hodnotu na “:minimize,maximize,close“ a zmeny by sa mali ihneď prejaviť.
Včera som zasa raz narazil na tento problém. Google našiel celú kopu zdĺhavých alebo hlúpych (usb-creator) návodov. Pre debian som našiel tento návod. To isté funguje aj pre ubuntu, avšak je potrebné stiahnuť boot.img z http://archive.ubuntu.com. Na image debianu sa zmestí netinst alebo businesscard iso. Image ubuntu ma viac ako 700MB, ciže by sa tam malo zmestiť štandardné iso.
Existuje ešte jeden spôsob ako si takéto usb vyrobiť.
wget http://archive.ubuntu.com/ubuntu/dists/karmic/main/installer-i386/current/images/netboot/boot.img.gz -O - | gunzip | dd of=/dev/sdb
Samozrejme je potrebné uviesť vhodný netboot image a disk (i386 a /dev/sdb v mojom prípade). Po nabootovaní už len stačí napísať „install“ alebo „help“. Jedná sa o jednoduchý netinstall podobný tomu, ktorý je použitý v debiane. Tento spôsob sa mi veľmi pozdáva, kedže je pomerne šetrný k zaťaženiu linky pri občasných inštaláciách.
Používatelia Opery už postrehli, že pre Windows vyšla nová verzia 10.50 s podporou HTML5. Horúcou témou v tejto súvislosti je tag video a používané kodeky.
Hoci pre Unix opera nevydala ani betu, konečne sa mi podarilo v alfa verzii spojazdniť pravý YouTube s HTML5 prehrávaním. Opera používa gstreamer na dekódovanie videa, takže ak je potrebný dekodér dostupný, nie je žiaden problém s prehrávaním H.264.
Má to ešte nedostatky, ale dôležité je, že zvuk (ten hrá aj keď H.264 dekódovanie nie je dostupné) aj video sa už dá prehrať. Stačí nainštalovať gstreamer0.10-ffmpeg, nie gstreamer0.10-plugins-ugly, ako niektoré zdroje udávajú.
Vyzerá to tak, že Firefox 1) bude jediný dôležitý browser, ktorý H.264 kodek nebude podporovať. Microsoft už oznámil a predviedol 2), že nezostane pozadu za Chrome a Safari.
This blog post was created on 2010-03-18 at 16:51 by disorder. It is tagged with html5, opera, video.
Oh, the humanity!
Zatiaľ čo sa národné wikipédie snažia násobiť svoj obsah, tá anglická v tichosti maže relevantné články. A tie praktiky. Nemám slov.
Súvisiace odkazy:
This blog post was created on 2010-03-17 at 23:27 and last modified on 2010-03-17 at 23:30 by disorder. It is tagged with cluebat, wikipedia.
Ako daemon už niekoľko rokov používam aj prehrávač hudby (najskôr xmms2, potom mpd), takže som si už nejakú dobu takúto funkciu želal aj pre Emacs.
Emacs od verzie 23 má plne zabudovanú podporu spúšťania ako daemon a po niekoľkých mesiacoch musím skonštatovať, že som konečne spokojný. Skúšal som rôzne riešenia v predchádzajúcich verziách, ale nepodarilo sa mi to vyladiť k mojej spokojnosti.
Teraz stručne popíšem “setup”, ktorý mi vyhovuje. Používam 2 inštancie, jednu ako oddelený mailový klient (Wanderlust) a jednu na všetko ostatné (org-mode, LaTeX, programovanie, písanie textov). Príkazy, ktoré uvediem je možné si pomocou xbindkeys nastaviť na nejakú klávesovú skratku, nebudem uvádzať svoje, pretože to nie je podstatné.
Základom je spustenie daemona a klienta k nemu (klient je len nový frame, ktorý sa môže kedykoľvek zatvoriť a daemon to neovplyvní):
alias emacsd='emacs --daemon' alias emacs='emacsclient -c'
Dôležité je aj vedieť daemona správne ukončiť, tieto aliasy ukončujú interaktívne a neinteraktívne (bezpodmienečné ukončenie bez uloženia zmien):
alias emacs-kill="emacsclient -e \"(progn (setq desktop-save \\\"~/\\\") (save-some-buffers) (kill-emacs))\"" alias emacs-kill-9="emacsclient -e \"(progn (setq desktop-save \\\"~/\\\") (save-some-buffers) (setq kill-emacs-hook 'nil) (kill-emacs))\""
Keď už máme stále bežiaci Emacs, tak na otvorenie súboru v ňom som si vytvoril funkciu aj so skráteným názvom eo:
emacs-open() { emacsclient -e "(find-file \"$1\")'" }
alias eo=emacs-open
Na záver som aplikoval nejaký vizuálny tuning, pretože štart Emacsu v textovom režime (platí aj pre daemon) nemôže nastaviť niektoré veci týkajúce sa len Gtk+ verzie:
emacsclient -c -e '(set-cursor-color "green")' -e '(load "~/.emacs.d/tabbar.el")' -e "(set-face-font 'tooltip \"DejaVu Sans 7\")"
A nakoniec ešte spustenie samostatného Emacsu s e-mailovým klientom, ktorý nepoužíva desktop (ukladanie zoznamu otvorených bufferov, histórie, atď.):
emacs -eval '(wl)' --no-desktop
Takéto oddelenie síce má svoje nevýhody, ale naopak ak potrebujem otvárať obrovské foldery až s desaťtisícami mailov, tak časom dokáže nabobtnať a je lepšie ho ukončiť a spustiť znovu.
This blog post was created on 2010-03-14 at 21:56 by disorder. It is tagged with emacs, tips.
Citujem z Trip Report: March 2010 ISO C++ Standards Meeting – Removed Export Template:
For context, the only reason we’re even considering this is because Edison Design Group (EDG), the only company to ever implement export, is recommending export be removed or deprecated. Recall that back in the 1990s the committee originally voted the feature in over EDG’s objections in the first place, then in the late 1990s and early 2000s EDG graciously and gallantly went on to invest enormous effort to implement the feature in order to conform to the standard, and so the committee was loath to punish them again by now removing the feature on them. However, given the passage of time, EDG reports that their experience in the field has been that nearly no one actually uses the feature, and that it would be right (and okay with EDG) to deprecate or remove it.
This blog post was created on 2010-03-13 at 22:35 by disorder. It is tagged with c++, funny.
GCC so zapnutými optimalizáciami dokáže preložiť nasledujúci kód (ktorý nie je správne napísaná tail-call recursion) optimalizovane:
long fact(long x) { if (x <= 0) return 1; return x*fact(x-1); }
Výsledok:
0000000000400494 <fact>: 400494: b8 01 00 00 00 mov $0x1,%eax 400499: 48 85 ff test %rdi,%rdi 40049c: 7e 09 jle 4004a7 <fact+0x13> 40049e: 48 0f af c7 imul %rdi,%rax 4004a2: 48 ff cf dec %rdi 4004a5: eb f2 jmp 400499 <fact+0x5> 4004a7: c3 retq
Zdroj tohoto zázraku:
In addition to the standard tail recursion elimination, we handle the most trivial cases of making the call tail recursive by creating accumulators. For example the following function
int sum (int n) { if (n > 0) return n + sum (n - 1); else return 0; }
is transformed into
int sum (int n) { int acc = 0; while (n > 0) acc += n--; return acc; }
(http://gcc.gnu.org/viewcvs/trunk/gcc/tree-tailcall.c?revision=151935&view=markup)
This blog post was created on 2010-03-09 at 16:28 by disorder. It is tagged with c, gcc, programming, recursion.
V súvislosti s posledným zápisom som našiel ukážkové video vývoja DSL v Common Lispe, pre záujemcov to budem nejaký čas seedovať (125 MiB, 19 min.):
This blog post was created on 2010-03-08 at 12:43 and last modified on 2010-03-14 at 12:49 by disorder. It is tagged with dsl, lisp, programming, screencast.