Régi karácsonyok

Úgy volt az, hogy ötesztendős asszony voltam, s már a hetedik helyt laktam. Szegény urammal úgy voltunk, mint a madarak. Összekőttünk, nem volt semmink. Oda akarok kilyukadni, hogy mivel hogy most karácsony jő, eszembe jutott az a valamikori karácsony, amelyik nehéz volt, s mégis olyan igazi szép karácsony volt.
Dolgozgattunk, mint szegény emberek, Isten kegyelmiből egy kis disznócskát vágtunk, meg aztán a kicsi családomnak, a két gyermeknek úgy varrtam meg a kicsi ruhácskát éjszaka, hogy ne lássák: “Azt hozta az angyal.” Meg edénykét, amiből egyenek. Meg az uramnak is úgy csináltam meg az ingét, hogy ne lássa, tudjon örvendeni neki. Így aztán eljött a karácsony szombatja. Falusi asszony nem úgy van, hogy kéznél van minden. Meg kelletett süssek mindent: kenyeret, kalácsot. Hát felkőttem én még két órakor, megsütöttem a kenyeret, a kalácsot. Mikor a kicsi gyermekeim felkőttek, azt kérdezték:
– Édesanyám, hányat kell még aludjunk, hogy jüjjen az angyal?
Megsimogattam őket, megcsókoltam. Ki nem szereti az o kicsinyeit!
– Tudjátok, mit? Nem kell többet aludjatok, ma öste jün az angyal. Már járt is itt valahol, a kert alatt. Mikor mentem ki, nézzétek, mit kaptam: két csuprocskát, s a két csuporban két kicsi kalács. Nézzétek, milyen. pirosra van sülve! Látjátok? Jók voltatok, szót fogadtatok, esténkint imádkoztatok, most nektek ilyen szép fényes hajú kalácsot hozott. Még melegecske.
Kicsi butácskák, csak pislogtak rám, tartották a kicsi tenyerüket, beléborítottam a csuporból a kalácsot.
– Édesanyám, hát az angyalka tud ilyen szép kalácsot sütni? Beléharaphatunk?
– Megkezdhetitek, persze, beléharaphattok, csak először meg kell köszönni a Jézuskának, hogy nektek ilyen elore küldött angyalfiát.
Hát szépen letérgyeltek, persze az agyagos padló fel volt tapasztva, s a két kicsi elmondta az asztali áldást:
“Mindenek szemei tereád néznek, édes Istenem, te adsz eledelt alkalmas időben, te töltesz be minden élőlényt a te áldásoddal, ámen.”
Akkor aztán akkorát haraptak a kalácsból, hogy még most is örvendek, ha rá gondolok. Csak úgy ropogott a haja a kis egérfogacskáik között. Aztán persze nem volt sok idom gyönyörködni, mert sok dolgom volt. Kellett készíteni az ünnepre, mert akkoriban úgy volt, hogy ünnep első napján nem volt szabad semmit se készíteni. Örvendtek, hogy estére megjön az angyal. Nem volt akkora karácsonyfa, mint amilyen a mai házakban, a városi blokkokban, hogy a földtől a plafonig. Honnét, honnét nem, az uram összeszedett vagy hat-nyolc fenyőgallyat, egy fára rádrótozta a fenyogallyakat, még a végin én is azt hittem, hogy igazi karácsonyfa. Annak előtte való napokban olyan magamfőzte szaloncukrot csináltam, selyempapírt vettem, megvagdostam a szélit, belecsomagoltam a cukrot, s úgy tettem a fára. Megaranyoztam a diót, legyen aranydió is, hozott az uram mogyorót, piros almát, azokat is fölaggattuk a fára, ilyen volt az akkori karácsonyfa. Egyszerű viaszgyertyát aggattunk reája, csillagszóró eszünkbe se jutott.
A mai karácsonyfán sok a szaloncukor, csokoládé, viaszgyertya, csillagszóró, villanyvilágítású gyertyák. A karácsonyfa alatt rengeteg játék, de olyan közömbösen állják körül! Mi hiányzik a mai szentestén? Talán a szeretet? Talán a meghittség? Gazdag ajándékok, közömbös arcok. Nem az az öröm, nem az a boldogság, ami az én gyermekeim arcán volt. Reggel felébredtek:
– Nézd meg, járt-e az angyal?
Nagyon örvendtek annak az egyszerű ajándéknak: kicsi tányér, ing, csupor, kötény. A csuporban dió, alma. Uram is megkapta a maga ajándékát. Nekem maradt az az öröm, hogy az enyémeknek tudtam örömet szerezni. Minden volt, mint más háznál, csak éppen pénz nem volt. El voltam keseredve: mi lesz most, ha jönnek a kántálók! Tudunk adni nekiek valamit?
Elmentem öreg szüleimhez, megkérdezni: tudnake kölcsönözni vaj egypár lejt. Nem messze laktak tőlem.
Mielőtt bekopogtam volna, megkérdeztem:
– “Szabad kántálni?”
Hallom édesanyám jól ismert hangját:
– Szabad.
Elkezdtem szépen az éneket:
“Betlehemi pusztán örvendetes hír van … ”
Ráismert a hangomra, s ott bent, reszketeg hangjukkal ok is kísérték az én kántálásomat. Mikorra elvégeztem a kántálást, elmondtam a beköszöntőt:
Eljött a vendég, kit a világ vára,
Megnyílt általa az egeknek vára.
Az áldott csemete az égből leszálla,
Értünk az Atyához kezesnek beálla.
Számunkra adjon jó időket,
S áldással befolyó sok jó esztendőket.

Bémentem, megcsókoltam őket. Eldiskuráltunk, s elmondtam, hogy a kicsi karácsonyfa megvan, éjszaka az urammal feldíszítjük. Elbeszélgettük az efféle alkalomhoz illő dolgokat, de biza nem volt lelkem pénzt . kérni. Elköszöntem szépen, kívántam boldog felvirradást, s boldog ünnepeket. Indultam haza. Ahogy mentem keresztül a kerteken, igen nagyon megkeseredtem. Megálltam, s kisírtam magamat atyásan. Kisírt szemmel érkeztem haza. Szegény uram, amikor meglátott:
– Zsuzsika, miért sírtál, fiam? Baj van apádékkal?
– Dehogy van baj!
– Akkor miért sírtál?
– Sírt a bosszúság. Csak erősen hideg van, kicsípte az arcomat.
Nem feszegette tovább a kérdést. Hát egyszer megzörgetik az ablakot:
– Szabad kántálni?
Megreszketett a csontomban a velő. Uram rávágja, hogy “Szabad”. Hát elkezdik, hogy: “Mostan kinyílt egy szép rózsavirág” – a kántáló éneket. Én pedig reszkettem, hogy már én mit tudjak ezeknek adni. De mikor elvégezték a kántálást s a beköszöntést, uram mondja:
– Gyertek bé!
Gondolom: “Ennek is elment a sütnivalója. ” Há mért hívja bé ezeket az asszonyokat! De uram egy-kettő kivette a kalácsot az almáriomból, három felé vágta a három cigánynénak. Felment a hiúba, hozott egy tál diót, egy tál almát, beléöntötte a szatyorba. Meg voltak elégedve ok is, s ekkor megtelt az én lelkem is nyugalommal: lámcsak, el lehetett intézni, akiben jó érzés van és szeretet. A három cigányné elment nagy boldogan, sén újból sírva fakadtam.
– Mi baj van? Megint sírsz?
– Most már örömömben sírtam, hogy olyan embert rendelt nekem az Isten, akinek a nehézségekben is jár az esze.
– Tudod, mikor jöttem haza, azért fakadtam sírva, mert nincs pénz a háznál.
– Ó, fiam, amíg kenyér van, kalács van, van apróság, dió, hát szabad ezen búsulni?
Akkor megtanultam, hogy a családban a legnagyobb gazdagság a megelégedés. Ha szegény is vagy, ha van megértés, annál nincs nagyobb kincs. Mert igen szegények voltunk, gyermekeink mégis boldogan emlékeztek az összetákolt karácsonyfára. Egyszer azt mondja nekem a lányom:
– Édesanyám, miért nincs máma olyan boldog karácsony? Én most megcsinálok mindent: tésztát sütök, a karácsonyfa a földtől a plafonig ér. Csak nincs meg az a szeretet, csak a szeretetlenség. Miért van ez így?
Erre nem tud felelni a világon senki se.

képernyőképkészítő 2.0

Ismét egy apró scriptet szeretnék a nagyérdemű elé tárni.
Az Import programra való rácsodálkozásom óta, azt igen sokat használtam. A felismerés (és ircen gerjesztődött igény) hatására arra jutottunk, hogy az ember az elkészült képek nagy részét segítségkérés végett feltölti egy szerverre (legalább is én). Ezt követően adott volt a fejlesztés következő lépése, aminek eredménye ebben a fájlban valósult meg.

Teszteltem. Működik. Használjátok egészséggel!

grub visszatelepítés v2.0

Az idő előrehaladtával csak lustul a programozó. De ha még nem is lustulna el, megjelennek azok a felhasználók akik a root partíció hallatára sátánűző rigmusokat kezdenek el skandálni, mondván szegény embert megszállta a gonosz, a gyökér partíció hallatán meg első asszociáció a kertészkedés témakörében áll be.

Kényelmi ember lévén megalkottam ezt a csodafegyvert.
Live cd-n használva a lusta programozó megspórol egy kis gépelést, a hozzá nem értő meg egy komplett újratelepítést. Nem tesztelt, saját felelősségre és egyéb intő jelek.
Vannak nyilvánvaló mellékhatások: pl nem garantált hatás több telepített linux disztró esetén, hajhullás, sárgaság.

vlc és a gettext esete

Egy ideje napi debian buildeket használok és egészen meg vagyok elégedve a vlc-vel. Egy dolog tűnt fel (esetenkéni elszállástól eltekintve), hogy angol volt, de ezzel nem sokat foglalkoztam, hiszen angolul is megértem a felületet, akkor meg minek vesződjek. A hivatalos kiadással majd helyrejön, vagy ha nagyon kell majd megoldom.
Nos a buildeket most javasoltam Kelemen Gábornak is, aki a honosítással foglalkozik. Így rögtön ki is derült, hogy miért nem fordult a felület.
Mert kikapcsolták.
Az ok igen prózai:
– hibás a dgettext glibcéstűl együtt. A hiba nagyjából “annyi”, hogy glibc 2.6 és 2.7-es verziójában nem thread-safe. Így segfaultot okoz ha más threadból akarunk hozzáférni az adott memóriaterülethez.

A szál amiben ez olvasható.

Ez azért roppant kínos, mert a vlc 0.9.0-es verziója januárban érkezne, a jelenlegi changelog szerint ez a hiba nem nagyon zavarja a fejlesztőket, így a kiadás megtörténik hiba nélkül vagy azzal együtt. Abban az esetben ha a program adott verziója nem honosítható szerintem az ubuntu fejlesztői nem fognak verziót lépni az oprendszerben és más nagyobb terjesztés sem fogja meglépni a frissítést, vagyis marad a 0.8.9 amíg a hiba nem javul lib szinten.
A jelenleg folyamatban lévő 100%-os honosítást tehát ehhez lenne célszerű elkészíteni. Ha a libben valami csoda folytán javítják a hibát kiadás előtt, akkor fennáll az esély arra hogy a 0.9.0 megy ki félig honosított felülettel.
Érdekes dolgok ezek…

szerk: a javítás megvanaz upstreamben. Holnap (ma) levadászom a javítást és csinálok egy deb-et belőle, hogy folytatódhasson a 0.9.0 honosítása.

adatok kinyerése videóból

Ha már elkezdtük az ffmpeg-et vizsgálni akkor nézzük meg, hogyan lehet adatokat kinyerni a (de)kódolandó videóból:
ffmpeg -i /utvonal/az/avihoz/fajl.avi

A kimenet nagyjából így fog kinézni:
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-libmp3lame --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Nov 28 2007 19:39:53, gcc: 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 23.98 (24000/1001)
Input #0, avi, from '/media/stuffs/new/clannad/01 CLANNAD (BS-i DivX6.6 1280x720).avi':
Duration: 00:24:09.9, start: 0.000000, bitrate: 1854 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 1280x720, 23.98 fps(r)
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 192 kb/s
Must supply at least one output file

Nézzük mit kapunk.
Az első néhány sor az ffmpeg készítésekor felhasznált kapcsolók listája és a lib-ek verziója. Az előbbi azért fontos, mert például amikor mp3 hangsávval rendelkező videót szerettem volna készíteni a hangsáv készítését nem engedte mert nem ismerte az enkoder az mp3-at. Kis google-zás után arra jutottam, hogy az ubuntu verzióba nincs beleforgatva a liblame mint enkore (–enable-libmp3lame). Hogy kiderüljön mivel lett forgatva az ffmpeg elég volt azt egyszer lefuttatni. (a bemásolt példa azért megtévesztő mert én azóta készítettem egy saját deb-et amibe beleforgattam).

Következő rész a számunkra igazán fontos. Input #0, vagyis az első bemenő fájl adatai, avi fájltípus és a fájl neve, elérési útja.
Duration: hossz
start: a bemenő fájl melyik pozíciójától szeretnénk feldolgozni.
bitrate: értelem szerűen.
A bemenő fájlnak két adatfolyamja van a példa szerint.
Az első egy videó csatorna, melynek a kodekje (!) mpeg4 és a színpaletta yuv420p (FIXME), felbontás 1280×720, képkockák száma másodpercenként: 23.98.
A második sáv egy 48000 Hz-es, sztereó mp3, mely 192 kb/s -os mintavételezésű.

Egy szintén fontos kapcsoló amit érdemes megjegyezni a -formats.
Ennek a kimenete a következőképpen néz ki:

...
File formats:
E 3g2 3gp2 format
E 3gp 3gp format
D 4xm 4X Technologies format
....
D wsvqa Westwood Studios VQA format
D wv WavPack
DE yuv4mpegpipe YUV4MPEG pipe format

Codecs:
D V 4xm
D V D 8bps
D V VMware video
D V D aasc
....
D A xan_dpcm
D V D xan_wc3
D V D xl
DEV D zlib
DEV zmbv

Supported file protocols:
file: pipe: udp: rtp: tcp: http:
Frame size, frame rate abbreviations:
ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif
Motion estimation methods:
zero(fastest) full(slowest) log phods epzs(default) x1 hex umh iter

A támogatott fájl formátumok, kodekek, protokollok listája.
A fájlformátumok és a kodekek előtt lévű betűk kis magyarázatra szorulnak:
D – dekódolás
E – enkódolás
A – audió
V – videó

A fent említett liblame kapcsoló hiányával például így nézne ki az mp3 sora:
D A mp3
vagyis csak dekódolni tudja, és a megnevezett formátum audió.
Nálam ez így néz ki:
DEA mp3
vagyis dekódolni, enkódolni is tudja az audió formátumot.

gutsy iftab és udev problémák

Valami miatt újraindult a fejlesztői szerverem ami egyben router is. A dist-upgrade után annó nem volt restart így most jött elő egy érdekes probléma. Arról, hogy egy hálókártya azonos helyen legyen mindig (eth*) eddig az iftab nevű beállítófájl gondoskodott. Gutsy-ban ezt a funkciót az udev vette át. A frissítéskor megfelelően áthozza a kártyákat, viszont az udev valami miatt felismerte a pci kártyát még egyszer így azt a kártyát amin a dsl modem csücsül mégegyszer hozzáadta eth2 néven. Így induláskor (és netrestartkor) problémázott a pppoe mert a kártyák beállításakor az eth1-re nem került kártya (vagy felülírta és azt eth2-n volt, vagy hozzá sem adta, mondván kétszer szerepel a beállítófájlban).

/etc/udev/rules.d/70-persistent-net.rules

# Converted from /etc/iftab on upgrade
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}==”00:0E:2E:C0:83:BA”, NAME=”eth1″

# PCI device 0x10ec:0x8139 (8139too)
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}==”00:0e:2e:c0:83:ba”, NAME=”eth2″

Megoldás annyi, hogy az iftab-ból áthozott sort törölni kell és a udev által hozzáadott sort átszámozni (udev ezt a sort hozzáadja automatikusan ha ezt töröljük).

/etc/init.d/udev restart
/etc/init.d/networking restart

pidgin 2.3.0 msnp14-el

Délelőtt kíváncsian megnéztem, hogy az msn protokollal megy-e a privát üzenet, valahogy gutsy-s pidgin alatt (2.2.0-s verzió talán). Kis google-zás után arra jutottam, hogy nem mivel csak az msnp14-el együtt implementálták a programba.
Következő lépés, kideríteni, hogy mikor landol az msnp14 a pidgin-be. Örömteli hír, már benne van viszont nem támogatott. Gyorsan kerestem egy helyet ahol fenn van a 2.3.0-ból forrás csomaggal együtt a pidgin és valamennyire normális (nem monolitikus) csomagot kínál ubuntu-ra. Getdeb.net-en fellelhető csomagból csináltam egy saját változatot amit feltettem ide:
http://workshop.connor.hu/ubuntu/deb/
Ismert hibák hiányosságok:
o changelog nincs módosítva
o doxygen doksikat kiszedtem mert egy xsl-t hiányolt.
o az msnp14 10 perc futás során 2x kilépett, szóval instabil, fejlesztői és stbstbstb. Ha valaki felteszi akkor azt tényleg csak saját felelősségére!! Nincs semmi hivatalos támogatás ehhez a verzióhoz (én se fogok segíteni ha valami nem megy :)).

Mennek az offline üzenetek, kiírja a személyes üzenetet szóval teszi a dolgát ahogy kell.

Viszont fejlesztők számára jó tesztelési lehetőség. Gutsy-hoz készült.

bréking nyúz

Mai nappal elindult a volt sulimban, Gödöllőn egy diákoknak szóló alapoktól induló tanfolyás, amin programozással, webes technológiákkal és linux desktop (ubuntu) hétköznapi felhasználással fogom nyúzni őket, vélhetően a hallgatóság legnagyobb örömére. Elképzelhető, hogy az egyes órákon elhangzott témák kivonata felkerül ide is. Vagy nem. De ez biztos!

A másik örömteli hír, hogy elmúlt héten hivatalosan is megkezdte működését a Midián Informatikai Kft. Remélhetően hamarosan a weboldal is elindul. (jó grafikusokat folyamatosan keresek egyébként! :))

Harmadik, személyesebb élményem, holnap elmegyek életem első fényképezésére ahol elsőként fogok a gép másik oldalán állni. Egy épületről kell referencia fotókat készíteni.

Negyedik szintúgy offtopic: Ha valaki jár antikváriumban, és találkozik fafaragásról szóló könyvvel az legyen szíves szólni nekem! Köszönöm!

netboot ubuntu próba

Olyan rendszerek esetén ahol nincs semmilyen cserélhető meghajtó, ellenben van gyors hálózat, esetleg az rendes telepítés valami oknál fogva nem megy, alternatíva lehet a netboot képfájl. Ez a fajta telepítés a debian adminok számára nem ismeretlen, viszont az ubuntu felhasználók elől gondosan elrejtik (nem véletlenül).
Hamarosan egy iskolában fogok szakkört indítani, asztali Ubuntu-val és más webes eszközökkel fogom megismertetni a lelkes diákokat. A gépek viszonylag új HP gépek, de valami oknál fogva az új deb alapú linuxok sorra elhasalnak a telepítő betöltése előtt (knoppix, ubuntu desktop telepítő…). Az alternate névvel illetett telepítő sikeresen betöltődik, viszont a cdről való olvasás szintúgy gondokkal kűzd, a sebessége nem nevezhető távolról sem olvasási sebességnek (valami az ide verzérlő meghajtója körül nem stimmel). Ilyen esetben megoldás lehet egy olyan telepítő ami nem, vagy csak nagyon kis mértékben veszi igénybe a cd-romot. Szerencsére eszembe jutott hogy létezik a netboot, gondoltam kipróbálom hogy muzsikál. Virtualbox-os teszteket akadály nélkül vette, jövőhéten lehet éles teszteket is végezni (persze kezdő felhasználók ne próbálgassák).
Amennyiben valaki kedvet érez a próbálgatáshoz, innen tudja beszerezni:
http://archive.ubuntu.com/ubuntu/dists/gutsy/main/installer-i386/current/images/netboot/

Vagy az aktuális terjesztés tárolójából a megfelelő címen. Léteznek leírások tényleges cd mentes netboot-os megoldásokról, de azokkal egyenlőre nem foglalkoztam (ha valaki kedvet érez ne fogja vissza magát :), viszont érdekes téma, lehet hogy sort kerítünk reá.

videodarabolás ffmpeg-el

Újabb ffmpeg 5 perc keretében megtanulunk kinyesni egy kicsit a filmből. Ha már előzőleg megtanultunk pozícionálni akkor most azt felhasználva továbbfejlesztjük tudományunk. És a parancs vala:

ffmpeg -i fileneve.avi -ss 00:02:00 -t 00:00:30 op.avi

-ss már tudjuk mire szolgál.
-t kimentett anyag hossza.

Az eredmény pedig a bemenet 2. percétől 30 másodperc hosszú anyag.

szenilitás beköszönése

Két napja frusztrál az a probléma, hogy a gutsy-n nem tudok debootstrap-al feltenni egy gutsy-t. Ma remekül sikerült megoldani a problémát, mivel a kernel forgatáskor (független az előbbiektől) ez a kép köszöntött:
make xconfig
HOSTCC scripts/basic/fixdep
/bin/sh: line 1: scripts/basic/fixdep: Permission denied

Ekkor kezdett gyanus lenni, majd egy mount kiadása után beigazolódott, hogy az év lámaságát szenvedtem el:

/dev/sda1 on /media/stuffs type ext3 (rw,noexec,nosuid,nodev)

Nos ez szép lecke volt…

képlopás filmből ffmpeg segítségével

ffmpeg -i "avi" -y -ss 0:00:03 -vframes 1 -an -vcodec mjpeg op/op01.mjpeg

Magyarázat:

-i Forrásfájl amit meg akarunk nyitni.
-y Felülírja a célfájlt ha létezik.
-ss Pozícionálás. A képet ebből a pozícióból fogja szedni.
-vframes Kimentendő frame-k száma.
-an “hangsáv” letiltása.
-vcodec Kimeneti “videósáv” kódolása. (további infó ffmpeg -formats)
op/op01.mjpeg Cél képfájl.