svn karakterkódolási probléma

Az imént futottam bele egy érdekes problémába az svn verziókezelővel kapcsolatban. Php-n keresztül exec függvényhívásokkal hívogatok svn parancsokat. Egyszer arra lettem figyelmes hogy az update nem fut le a logban pedig ezt az üzenetet találtam:

svn: Can't convert string from native encoding to 'UTF-8':
svn: szerverv?\195?\161laszt?\195?\161s.png

A tárolóban volt olyan fájl aminek a nevében ékezet is volt és a fájlrendszer utf-8. Az exec parancsot átírva látszott, hogy mi a gond (bár a hibaüzenet is mutatja):

locale; svn update .

A kimenetben LC_ALL=C volt, vagyis a natív karakter kódolás az alapértelmezett.
Megoldás:

export LANG=hu_HU.utf-8; svn update .

real media lementése

Ma délben volt a Katolikus rádióban az előző bejegyzésemben szereplő Szederindával egy interjú. Adott a feladat, az arhívumból lementeni valamit emberi formátumba a riportot. Egy kis google-zás és megvan a válasz, hogy hogyan kell real audiót (vagy videót) lementeni a gépre:

mplayer -noframedrop -dumpfile file.rm -dumpstream URL

Az url-t onnan lehet megtudni, hogy lementjük azt a filet amit a böngésző jobb esteben hallgatásra megnyit. Majd egy egyszerű szerkesztővel (pl gedit) megnézzük a tartalmát. rtsp:// protokollal kezdődő URL-(eke)t fogunk találni.
A lementett adat még mindig csak rm típusú így azt az ffmpeg-el alakíthatjuk a tetszőleges wav vagy mp3 formátumba:

ffmpeg -i file.rm file.wav

Ha a wav helyett mp3-at írunk, akkor mp3-ba menti, értelem szerűen.

zene [frissítve]

Próbálgatom a wordpress bővítményeket, és a keresgélés próbálgatás közben akadtam az audio player-re amit rögtön ki is próbálok. A zenét a Szederinda együttes lemezéről koppintottam, Annus Réka énekel. Majd teszek fel olyat is amiben én is éneklek. 🙂
Ím a próba:

[audio:szeder.mp3]

Frissítés:
Közben rájöttem, hogy mi a gondja. Butított mp3-at le sem játszik. A minimum amivel tud mit kezdeni az a 128 kbps… Ehm Ehm… :/
Imhol vagyon még egy szépség:

[audio:szeder2.mp3]

Deb alapú disztribúció telepítése menet közben

Korábban okozott hatalmas fejtörést, hogy hogyan lehetne migrálni egy szervert sarge-ről edgy-re úgy, hogy a kiesés időtartama a lehető legkevesebb legyen. Soha nem gondoltam volna, hogy egy olyan programot kell erre használni aminek a neve eddig is ismert volt számomra, csak eddig nem használtam. A program neve debootstrap, és nagyjából ez a telepítés folyamata:

  • új merevlemez be a gépbe
  • szükséges, partíciók és fájlrendszer kialakítása, majd azok mountolás /target mappába
  • debootstrap edgy /target http://archive.ubuntu.com/ubuntu/ –include=egyénileg szükséges csomagok listája (apache, php, mysql, bind…)
  • sikeres telepítés, kézi finomhangolás elvégzése után betöltési sorrend megváltoztatásával újraindítás

S kész is az új rendszer. Ha ügyesek voltunk akkor a szolgáltatás kiesés 2 újraindulásnyi idő volt.

spam áradat elleni harc

Az utóbbi időben, ahogy a google egyre jobban megismerte a blogomat, elindult a várva várt spamáradat a hozzászólásokba. Egy ideig azzal kísérleteztem, hogy mi van akkor ha a spammer fix wordpress felületet ismerve postolja el a szöveget. A bemenő form nevek megváltoztatása úgy tűnt, hogy nem túl sikeres megoldás, így más megoldás után kellett nézni. A következő ötletem az volt, hogy aki az oldalra üzenetet akar küldeni, az postoljon kétszer. Ilyet máshol még nem láttam és bíztam abban, hogy eredményes lesz. A megoldás valahogy úgy nézett ki, hogy a teljes post tömb tartalmából készített md5 hash-t elmentettem a session tömbbe, és ha már volt egyszer benne akkor beengedtem az üzenetet ha még nem akkor ismétlést kértem.
Rá pár napra észrevettem, hogy -igaz csekély mértékben- de egy bizonyos fajta spam még mindig érkezik. Akkor azt hittem a megoldásom nem eredményes, de most már tudom, hogy nem az a megoldás is lehet hatásos. Ezt akkor nem tudtam, így kerestem tovább, hogy mi lehet a hatásosabb védelem.
Következő “ötlet”, egy már ismert, viszonylag bevett védelem lett: Tegyél fel egy kérdést, amire ha jól válaszol, akkor engeded be az üzenetet. Ez lehet találós kérdés, matematika vagy egyéb mód (pl kitehettem volna egy képet rajta egy almát is). Biztos ami biztos, ha már ott voltam megcsináltam azt is, hogy jquery küldje el az üzenetet (ezt egyébként is akartam korábban).
Ez sem volt hatásos. Egy bizonyos ip címről továbbra is érkezett spam. De ekkor már kételkedtem abban, hogy a megoldásom lenne hatástalan, lévén, hogy magyar a kérdés és a válasznak is annak kell lennie, valahogy máshogy jön be az üzenet. Mivel az IP cím nem változik, tehettem volna azt hogy apacheból kitiltom az ip-t aztán csináljon amit akar, de mégis kíváncsi voltam, így nem ezt a módot választottam.
A logok átnézése után (nem kellett nagyon böngészni) ezt találtam:

user@merlin:~$ cat /var/log/apache2/blog.connor.hu_access.log | grep 82.146.53.67
82.146.53.67 - - [18/Mar/2007:07:12:22 +0100] "POST /2007/01/01/2006-volt-2007-lesz/trackback/ HTTP/1.1" 200 78 "-" "-"
82.146.53.67 - - [18/Mar/2007:08:14:03 +0100] "POST /2007/01/01/2006-volt-2007-lesz/trackback/ HTTP/1.1" 200 78 "-" "-"
82.146.53.67 - - [18/Mar/2007:15:15:23 +0100] "POST /2007/01/01/2006-volt-2007-lesz/trackback/ HTTP/1.1" 200 149 "-" "-"
82.146.53.67 - - [18/Mar/2007:15:46:12 +0100] "POST /2007/01/01/2006-volt-2007-lesz/trackback/ HTTP/1.1" 200 149 "-" "-"
82.146.53.67 - - [18/Mar/2007:16:33:56 +0100] "POST /2007/01/01/2006-volt-2007-lesz/trackback/ HTTP/1.1" 200 149 "-" "-"

És megvan! A trackback-on keresztül küldte el az üzenetet. Viszont itt már nem lehet akárhogy blokkolni a folyamatot, ha meg akarom tartani a funkciót. Valami más megoldást kell találni. Egyenlőre betettem egy fekete listát a küldő ip címével, de mivel hamisítható a REMOTE_ADDR így kizárt, hogy végső és jó megoldás lenne. De ezen elég akkor törpölni ha hatástalan lesz az is. Így tűnik a trackbackra spammelés még nem olyan elterjedt mód a spammerek körében.
Ím a kód (wp-trackback.php #8):

$black_list = array(
  'ipcim',
  'ipcim2',
  'ipcim3',
  );

if (in_array($_SERVER['REMOTE_ADDR'], $black_list)) exit;

ubuntu lokalizáció, s egyebek

Hamarosan megjelenik az ubuntu újabb verziója a feisty, és az elmúlt hét végén lezárásra kerültek a felhasználók által látható szövegek. Így nagyjából egy hónap áll rendelkezésre a fordítások elvégésére. A nagy hajtás egyik eredménye, hogy több javítást végeztem el a rosettát molesztáló scriptcsomagon is (valami nevet kéne már neki adni). Az alaptáblázatból készült egy kivonat ami a csomag helyzetének jobb átláthatóságát hivatott szolgálni (az alaptábla túl sok adatot tartalmaz), ezt feltettük a jelenlegi wiki alapú ubuntu.hu -t majdan leváltó drupal alapú béta oldalra.
A lokalizációs sprint miatt jövünk össze e hónap végén egy nagy fordító hétvégére, ezúttal személyesen, ami a Novelléknél kerül megrendezésre (hupon volt róla hír). Talán hely már nincs, de akinek van kedve az bekapcsolódhat hiszen a kommunikáció közös csatornája a freenode-os #ubuntu-hu irc csatorna lesz.
Addig lesz még pár tennivaló, a teljesség igénye nélkül:

  • a már régóta húzódó fordítói segédszótárat hadrendbe kell állítani és befejezni az elmaradt funkciókat
  • dapper dokumentációját megnézni, hogy hogyan kell deb csomagból elkészíteni. Erre azért van szükség, mert nagyrészt a dokumentációkat fogjuk fordítani és ha valamely asztali környezet dokumentációja elkészült, abból html oldalakat fogunk készíteni (leginkább ön ellenőrzés végett).
  • Valami egyszerű nyilvántartó rendszert készíteni amivel szépen fel lehet osztani a csomagok fordítandó szövegeit, szépen vizualizálandó, hogy éppen ki mit csinál.

Szóval munka van bőven és addig is aktívan fordítgatni kell a programokat.

Mai egyik örömteli eredménye az, hogy a feistyben az amarok, 7 szövegrész híján 100%-os fordítottságot ért el, így ebben a verzióban egy régi álmom válik valóra, kedvenc szoftverem teljesen magyarul fog megjelenni! Hogy ez megvalósulhatott hatalmas köszönet Bíró Árpád-nak aki lefordította a programot.
Új célokat keresve, a digiKam-hoz fogtam hozzá, mert szegény igen elhanyagolt lett az utóbbi időben. Pedig tudásra egy nagyszerű programnak tűnik. Éppen kapóra jön mert most kezdtem el fényképezni és a frissen készített fotók lementésében, rendszerezésében, alakításában nyújt segítséget. Pár óra munkával közel 50%-osra sikerült felhozni. Feisty+1-ben talán már teljesen magyar lesz ez is.

Továbbá embereket keresünk a jelenleg béta oldal tartalommal való feltöltésére is ami annyit jelent, hogy wikiből az arra alkalmas és hasznos hogyan-okat és írásokat kell áttölteni a drupalba. Amit kell átírni és úgy áttölteni. További információt nálam vagy süveg kollégánál lehet kapni, leginkább a fent említett.

sled10 sp1 b5

Kálmán, blogjában közzétett pár képet a hamarosan (kb 2 hónap) megjelenő, sled 10 sp1 újabb bétájáról. Határozottan tetszetősre sikeredett a gnome. Majd ha időmilliomos leszek felteszek egy suse-t es, rég volt a kezem alatt ideje újból megismerkedni a zöld gyíkkal :). Azon es régóta gondolkodom közelebbi kapcsolatba kerülök lenti képen látható novell-es menüvel (nem tudom mi a hivatalos neve), mert távolról jónak és hasznosnak tűnik.

novell menu

usplash csere

Az asztali gépem desktop-ok tekintetében olyan mint egy zsibvásár. Gnome-tól a enlightenment-ig minden megtalálható rajta. A különböző (k|ed|x)ubuntu metacsomagok telepítésének van egy hátránya, miszerint az usplash az utoljára telepített artwork-ből kerül ki. Az asztali gépen leginkább ubuntu-t használok de az utoljára telepített a kubuntu volt így annak az splash képe fogadott eddig. Ezt lecserélendő unalmas félórámban valami megoldást kerestem arra, hogyan tudnám lecserélni tetszőleges usplash-ra. Csakis a kész programok között kerestem. Dennis Kaarsemaker usplash switcher programja a lehető legjobb megoldásnak tűnt és végeredményben teljesen jól működik hiszen lecseréli a splash-t a tetszőlegesen kiválaszottra. Egy kis hiba van benne miszerint a előnézeti kép az ubuntu esetében valami miatt elég fekete árnyalatos arcot mutat, de ez legyen a legkevesebb gondom. Ha találok hozzá valami pofás ikont csinálok belőle egy deb csomagot is.

e17 csomagjaim vége

Most akadtam az ebuntu-ra (elbuntu?) ami azt tűzte ki céljául, hogy ubuntu-n alapuló enlightenment-et készítsen. Mivel mostanában elég kevés időm maradt az e17 csomagjaim frissítésére, hibakeresésére, ezért a jövőben azt javasolom, hogy az e17 csomagjaim helyett használjátok azt a projectet.

clamav 0.88.7-1 deb

Készítettem új clamav csomagokat az edgyhez. Mivel az edgy nem a legújabbat tartalmazza, a freshclam ezt szóvá is teszi frissítéskor.
A csomagokat innen lehet letölteni. Egyenlőre még nem működik az apt tár, így wget-el kell leszedni a csomagokat, de hamarosan azt is megcsinálom.

javascript referencia

Elkezdtem egy helyre gyűjteni a javascripttel kapcsolatos tudást. Ha már elegendő anyag fog rendelkezésemre állni, ezeket rendszerezni fogom és valami könnyen emészthető formában megjelenítem egy szép oldal keretében. További terveim, hogy a böngészők közötti kompatibilitást is jelölöm valami ilyesmi módon: http://www.quirksmode.org/js/events_compinfo.html

Cél az, hogy egy helyen, könnyen áttekinthető módon lehessen megtekinteni a böngészők közötti különbségeket és a javascript lehetőségeit.

Erőteljesen skicc jellegű:
http://workshop.connor.hu/js/