nyuhuhuu

Archive for 2007. október|Monthly archive page

Maga ugyanolyan, mint a vezetése, mindig csak késnek!

In Napló bejegyzések on 2007.10.15. at 17.58

Török Gábor: Autumn morning (2)

Hallod, Gabi, mostanában elég kocka a blogod, nem is olvaslak

In Napló bejegyzések on 2007.10.15. at 11.54

Öregem, szívesen lennék én is teki blóger, meg minden, így hát hétfőn kezdem, olvasd kávé mellé (már ha te délben kelsz fel), meg minden. Applause for the geeky tips of teh week!

Bash/Zsh héjak alatt a for j; do command; done skeleton implicit kifejezi a parancssorban átadott argumentumok iterációját. STOP. Új fül nyitható a Firefox tabsávjának üres területén kezdeményezett dupla kattintással. STOP. Ha egérrel az aktív kijelölés vagy annak átméretezésre szolgáló aktív területei fölött pihentetjük az egeret, a kurzor billentyűkkel is módosíthatóvá válik GIMP-ben a kijelölés mérete, poziciója. STOP.

Mókás vén fejjel, de jobb még is így, meg minden.

Gimme mo’ fire

In Napló bejegyzések on 2007.10.15. at 09.05

Török Gábor: Say hi

Gyorskeresés SZTAKI-ban a kurzor alatti szóra

In Napló bejegyzések on 2007.10.12. at 17.01

A funkció azóta továbbfejlődött, az emacs-sztaki legfrissebb kódbázisa elérhető a GitHubon.

A WThreeM csomag egy kevésbé ismert sajátja a w3m-retrieve-and-render függvény, amely az argumentumként kapott erőforrás szerinti weblapot az aktuális pufferben jeleníti meg. Az utolsó paramétereként átadott handler függvény segítségével aszinkron viselkedésre sarkallható, amely eredményeképpen az oldal betöltődése, majd rendelése befejeztével ez az eseménykezelő hívódik meg. A fejtörést a handler függvényfejének implementálása okozta, mígnem a w3m.el forrását tallózva rátaláltam a w3m-process-with-wait-handler-re, amely hatáskörében bevezet egy handler változót, amelyet már a w3m-retrieve-and-render is elfogad. Így megvalósítható egy olyan blokk, amelyen csak az aszinkron folyamat befejeztével lép tovább a feldolgozó. (Az aszinkron mivolthoz a folyamat háttérben futtatásához van szükség.) A továbbiakban pedig némi körítéssel bármilyen, kultúrált API-val nem rendelkező webes szolgáltatáshoz építhető burkoló. Az alábbiakban esettanulmányként álljon itt a SZTAKI angol–magyar fordítóját kiaknázó függvény, amely a kurzor alatti kifejezés fordítását keresi ki, majd küldi vissza a minipufferbe.

(defun sztaki-phrase-lookup ()
  "Look up the phrase under cursor in SZTAKI and echo translation if any."
  (interactive)
  (let* ((phrase (thing-at-point 'word))
         (url (concat "http://szotar.sztaki.hu/dict_search.php"
                      "?O=HUN&E=1&L=ENG%3AHUN%3AEngHunDict&W="
                      (w3m-url-encode-string phrase)))
         (match (format "phrase '%s' not found" phrase)))
    (with-temp-buffer
      (w3m-process-with-wait-handler
        (w3m-retrieve-and-render url nil nil nil nil handler))
      (when (re-search-forward (concat phrase ":.*") nil t)
        (setq match (match-string 0))))
    (message (concat "SZTAKI: " match))))

Az ötletet Xah Lee Emacs Lisp Grab Bag! feladatai között talált word-definition-lookup függvénye adta.

Nekem nincs meg a új Radiohead album, lúzer, mi?

In Napló bejegyzések on 2007.10.11. at 12.37

Ha tudnám ezt a Visual Basic-et mihez hasonlítani, felhoznám, hogy Lisp után olyan VB kódot ütni, mintha valami szűk repedésbe akarnád betuszkolni a falon. (És mindenhez klikkelni kell, á!) Láttam már egy–néhány programozási nyelvet, végig is futtattam a fejemben pár ismert jelölést, de hogy a string konkatenátor operátorra az & karaktert tartja fent, hát csókolom! (Látom ám, hogy az Adától lopta, de hát – á!)

Hang up the chick habit

In Napló bejegyzések on 2007.10.10. at 12.42

Ha rajtam múlna, akkor nem holmi kétlépésről feléd intézett kimért intelmekkel traktálna téged az, aki vélhetőleg még életében dehogy (sem), hanem egyszerűen a fekete keretbe vésném (félkövéren) hogy VESZTES, és bármikor ha előveszed (ezentúl) ordítja majd a doboz, és ugyanezt mindannak a másik harmincnak, hogy ez látod, aki a buszmegállóban a kezedben látja, végülis te VAGY (az).

Rihanna

Kemény, hogy négy évvel fiatalabb ez a punika. Viszont ugyanolyan szakadt a farmere, mint nekem. Meg vicces, hogy a klippekben hogy kirakják azt a semmi csöcsét.

A kódblokk szemantikus formázottságáról: behúzásról, sorigazításról

In Uncategorized on 2007.10.09. at 17.08

A minap fellapoztam a tabulátor versus szóközök használatának praktikus kérdéskörét, és örömmel konstatáltam, hogy temérdek szabadideje van a programozóknak észérvek mentén állásfoglalható problémát a végtelenségig csűrni–csavarni. A bevett gyakorlaton és történeti múltra hivatkozástól eltekintve a következő megállapításra jutottam a mintegy harminc esszé pro és kontra érveinek megemésztését követően.

Alapvetően az érintett keretrendszer, közösség, vállalat satöbbi irányelveihez, ajánlásaihoz igazítsuk indentelési konvenciónkat. Saját hatáskörön belül pedig döntsünk tetszésünk szerint – használjunk csupa szóközöket (0×20) a kódblokkok behúzására, vagy következetesen csak tabulátorokat (0×09); a kettőt viszont ne keverjük. Noha önmagában a tabulátor karakter szemantikus jelentéssel bír, tetszőlegesen testreszabható a vizsgált kód felett a behúzás mértéke, továbbá míg tabulátorral tagolt kódból bármikor tudunk csak szóközöket tartalmazó forrást előállítani (untabify), fordítva már nem volna triviális, mégis a tabra beállított editorok többsége helytelenül használja azt. Álljon itt egy példa 4 szóköz terjedelmű tabulátorral formázott C kódról:

4 szóköz terjedelemű tabulátorral behúzott és igazított kódblokk

A látszólag helyes tagolás akkor fordul visszájára, amikor a fennebbit megnyitom a saját editoromban, ahol a tabulátort 8 szóközre vettem. Az eredmény a következő, és egyúttal továbbgondolandó 2 space esetére:

8 szóköz terjedelemű tabulátorral behúzott és igazított kódblokk

The author of that source code is using TABs not only for indenting, but also for aligning! That way his alignment get’s messed up when somebody uses a different TAB size. The solution of this problem is to simply just use what ever you want for indenting, but use spaces for aligning. (TABS vs Spaces. The end of debate.)

A tab használata nem azt jelenti, hogy ugyanolyan szélességűre kell annak nagyságát vennem, mint amivel a kódot előállító programozó dolgozott, hanem hogy tetszőleges preferenciák mellett is helyesen formázott blokkokat kapok. A beszúrt példán a probléma jól felismerhető. A tabulátor az indentelés mértékét jelenti. A félbetört kódsor második felénél tehát a probléma abból fakad, hogy illegálisan sok tabot tartalmaz, holott ugyanazon a blokk szinten található, mint a kódsor eleje. Sorigazításhoz (aligning) soha ne használjunk tabot. Mindez íme szemantikailag helyesen:

4 szóköz terjedelemű tabulátorral behúzott és szóközökkel igazított kódblokk

Ez pedig már nem borítja meg eltérő konfiguráció esetén sem a kód formázottságát.

Végkifejlettként tehát megállapítható, hogy csak abban az esetben – de akkor teljes nyugalommal – alkalmazzunk tabulátort behúzáshoz, amennyiben az editorunk kellő körültekintéssel támogatja azt. Mivel sajnos elég kevés szerkesztő alapértelmezett viselkedése ilyen, és csupán a szofisztikáltabb editorokban van mód ezt a kívánalmat elérni, célszerű a szóköz alapú indentelés mellett letenni a voksot, ha másképp nincs elrendelve. Bár így vesztünk a kód formázottságának rugalmasságából, az eltérő beállítások okozta ütközéseket viszont messze elkerüljük.

Éljen a Grund!

In Napló bejegyzések on 2007.10.09. at 07.27

Kedd, a pizsama lesz a stíl én érzem, semmi konverz szakadt gatya hanem mindinkább ing és kötött pules, MEGVÁLTOZOM, még a végén majd egyszer bejárok a főiskolába is, és elmegyek veletek tüntetni, kis éhenkórászok. Ha meg nem lesz rajtuk sapka, azért.

Invasion of the Vorticons

In Napló bejegyzések on 2007.10.08. at 12.39

Gecijó így hétfőn, pizsiben tolom már hajnal nyolckor a Commander Keent és közben max hangerőn szól a [Blonde] Redhead. Linux alá a ClonKeen-nel húzható fel egy kompatibilitási réteg, ami a PC DOS 101 GAMES korongról septében felmásolt pályákat képes betölteni. Jelenleg az első három epizód játszható.

Amíg lecsorognak az eredeti shareware játékfájlok, a CK fejlesztői meglepetésként – holla if ya hear me – extra beépített pályákkal szolgálnak!

Commander Keen, első epizód, 9. pálya

Kicsit mondjuk azért köcsög dolog, hogy a linuxos forrás fordításához a windows-os binárist is le kell húzni, persze erre akkor jössz rá, amikor már a readme-t olvasod. Meg hogy felcserélték az eredetihez képest a billentyűparancsokat, úgy hogy amikor pofán lőttem volna azt az idétlen farkast végre – beleugrottam.

(DOSBOX-os megoldáshoz képest a natív implementáció előnye fullscreen módban jelentkezik 4:3-astól eltérő képarány esetén.)

Pendulum kazimat hoznád vissza

In Napló bejegyzések on 2007.10.08. at 07.55

Tegnap álmodtam, képzeld, habár az emberek nem szeretik mások álmait hallgatni, végtére is unalmas meg – ásít –, de azért elmondom, hogy egy nagyon szép lányt álmodtam, de meg volt az tegnapelőtt is, és majd meg kellett halni, annyira szép volt ő, fel is riadtam gyorsan szívemhez kapva, kalimptál a pára, én izzadtam is kicsit, mikor rájöttem aztán, hogy ki az a szép lány, így ágyban párnák közt, meghalni szívvel – every seconds I think of you, I wish you dieeeeee. Énekesnek születtem.

Holly Bynoe: pioneers

Follow

Get every new post delivered to your Inbox.