2010. március 29., hétfő

Egregyi piros út

Tegnap kirándultam egyet. Otthon kinéztem egy geoládát a Máré-vár közelében, ami Szilváshoz légvonalban nem egészen 5 km, és elmentem oda. Persze a valóságban a táv turistautakon bő 10 km volt. Teljesen elfáradtam, mire a ládához értem, így a kinézett másik láda a Hidasi-völgy vízesésénél szóba sem jöhetett, pedig szépen útba esett volna Zobákpuszta felé.

Így a hazajövetel helyett elmentem a legközelebbi kocsmáig Magyaregregyen, hogy ott várjam meg a buszt. Ez csak alig 3 km-re volt a ládától. Két órát kellett várnom a pécsi buszig, amivel el is jöttem Zobákpusztáig, mert a komlóira még további 2 órát kellett volna várni. Időközben besötétedett, és a GPS-em is lemerült, sajnos elfelejtettem tartalék elemet bepakolni.

Szívem szerint az erdőn át mentem volna haza, de sötétben, lemerült GPS-el nem tűnt jó ötletnek. Így a műúton elballagtam a komlói autóbuszállomásig, ami további 5 km, így összesen 18 km-et sikerült megtennem.

2010. március 13., szombat

Erste Bank Hungary és a PDF formátum

Nagyon zavar, hogy Mac OS X Preview nem tudja megjeleníteni azokat a PDF fájlokat, amiket az Erste Bank az utóbbi időben elektronikus számlakivonatként küld. A tartalom helyett csak egy üres oldal jelenik meg. A problémát megemlítik a beszeljukmac.com oldalon is. Kicsit beleástam magam a PDF formátumba dokumentáció készítése végett, és elhatároztam, megpróbálom kideríteni a hiba okát. Úgy tűnik, hogy az Erste-féle PDF generátor a hibás.

A PDF nem egy bonyolult formátum, a dokumentum struktúrája viszonylag egyszerű: alapvetően egy objektumlista az egész. Az Erste Bank minden PDF-ében van egy objektum, amelynek a /Length paramétere hibás, gondolom valami hiba van a stream hossz számításában. Érdekes módon az Acrobat és a Foxit readere is gond nélkül megnyitja a fájlokat, és még a pdfHarmony webes ellenőrzője sem jelez hibát, pedig az Adobe 1.3-as PDF specifikáció szerint ennek az értéknek helyesnek kell lennie... Gondolom az Erste nem rendelkezik se rendes PDF validátorral (bár nem tudom, létezik-e egyáltalán ilyen), se Mac tesztgéppel így elkerülte a figyelmüket a hiba.

Szerencsére a probléma egy viszonylag egyszerű Python scripttel orvosolható. Ez egyszerűen átírja a könyvárban mellé tett PDF-ekben talált a hibás objektumok /Length paraméterét a helyes értékre. A hibátlan PDF-ekkel nem történik semmi. A hiba diagnosztizálása után sikerült a javításokat az open source pdfrw PDF olvasó modulba is applikálni (lásdd itt és itt).

Az új pdfrw, amely az rst2pdf hamarosan megjelenő 0.13-as verziójával jön, már tartalmazni fogja ezeket a módosításokat. Addigis SVN-el elérhető a javítás. Így egy még egyszerűbb scripttel is javíthatók az Erste PDF-ek:
#!/usr/bin/env python
# vim: encoding=utf-8
import glob, pdfrw
for pdfname in glob.glob('*.pdf'):
orig = pdfrw.PdfReader(pdfname)
new = pdfrw.PdfWriter()
for page in orig.pages:
new.addpage(page)
new.write(pdfname)
Köszönet az Erste Banknak, nélkülük ez a blogpost nem jöhetett volna létre.

2010. január 14., csütörtök

MacBook HDD csere

Már decemberben, a Macbook Pro rendelésekor tudtam, hogy kevés lesz a 160G-s vinyó. A saját fotóink, videóink még bőven elférnének a rendszerrel együtt ekkora helyen, de az iTunes Librarym már kevésbé. Nem kellett volna annyi TV-műsort megvenni. Ezeken kívül pedig még egy Windows rendszernek is el kell férnie, hogy alkalomadtán fejlesztésre is használhassam a gépet. A választásom a WD 640G-s Scorpio Blue modelljére esett, mert csak kicsivel került többe az 500-asnál.

Ma reggel megjött DHL-el az új HDD, rendeltem hozzá USB csatolót is. Kicsit csalódtam az iPon-ban (a bolt ahonnan a cuccot rendeltem) és a DHL-ben is. A csomagolás abból állt, hogy a rendelt alkatrészeket zsugorfóliával összetekerték, és kész. Normál esetben talán ez nem gond, de a HDD-ből nem dobozost hanem OEM-et vettem, így ez csak egy egyszerű buborékos borítékba volt betéve. Persze talán kibír egy leesést így is. A másik végletre példa a tegnap érkezett a táska, amit a géphez vettem, ami viszont rendes dobozban jött, fél köbméter fóliapárnával körülvéve.

Pár óra szobahőmérsékleten történő akklimatizáció után kipróbáltam az új hardvert. Azaz csak próbáltam volna, mert az USB csatoló (Raidsonic IB-250StU-B) valamiért Mac OS X-en és Windows-on sem szerette. Pedig direkt azért választottam ezt, mert a Raidsonic honlapja szerint megy Mac OS X-en is, és pár másik csatolóéval ellentétben nem volt szó a specifikációjában semmilyen méretkorlátról (néhány más modellnél 500G korlát volt megadva). Mivel nem tudtam, melyik alkatrész lehet a hibás, az egyetlen lehetséges mód a tesztelésre a HDD notebookba szerelése volt, pedig ezt szerettem volna az oprendszer átmásolása utánra hagyni.

Szerencsére azonban nem volt probléma, a HDD beszerelése után minden ment, és a gép látta a gyári HDD-t is az USB házon keresztül. Elindítottam a rendszert USB-ről, átmásoltam az immáron belső HDD-re, és most minden tökéletesen működik.

Egy negatívuma azonban van a dolognak, az új HDD sokkal hangosabb, mint a régi. A gyári specifikációik alapján 5 illetve 6 dB a különbség (idle illetve seek módban), és ez csendes környezetben kifejezetten zavaró lehet. Ha nem sikerül megszoknom, még a végén vissza kell tennem a régi HDD-t.

2009. december 7., hétfő

Ma összeveszett egymással a Logitech egerem és az OS X. Hibajelenség: az egeret "nem követi" a rendszer, Dock nem nagyítódik, menük bármely alkalmazásban klikkre lenyílnak, de az aktuális menü elem nem jelölődik ki, almenük nehezen választhatók. Ezenkívül Safariban az egérmutató "úgy marad", miután kiválasztottunk egy szövegdobozt – azaz az egeret elmozgatva nem változik vissza függőleges vonalból ferde nyíllá. A hiba oka feltehetően a Logitech driver, mivel sokaknál a hibát az egér vevőjének kihúzása/bedugása orvosolta. Nálam egy másik vezetékes Logitech USB egér bedugása, majd a Logitech Control Panel elindítása segített. Ezután visszadugtam az eredeti vezeték nélküli ereret – azaz a vevőjét –, és ismét minden jó lett.

2009. november 12., csütörtök

Szívtam ma kicsit az MFC-vel. Az alkalmazásunkat akartam dinamikusról statikus linkelésűre átállítani különféle okokból, és a cucc fordult, de teljesen lehetetlen helyeken szállt el, ráadásul egy olyan dialógussal, amiben
semmi szöveg nem volt. Mint kiderült, a probléma az volt, hogy a projektből hiányoztak az MFC DLL-ben lévő stringek: csak be kellett linkelni a nyelvnek megfelelő indicate.rc és prompts.rc fájlokat az MFC forrásából a projektbe, és voila. Csak tudnám, hogy miért nem találtam erre semmi utalást az MSDN-ben? 

2009. november 3., kedd

Kipróbáltam a nedmalloc-ot az aktuális projektünkben. Tényleg nagyon jó, sokkal gyorsabb, mint a Windows/MSVCRT alap allokátora. Csak azt nem értem, miért nem tudnak egy tisztességes readme.txt-t összehozni. Tudom, én vagyok a hülye, de pár órát elcsesztem míg rájöttem, hogy csak egy
#pragma comment(linker, "/include:_nedmalloc")
direktíva hiányzik.

2009. október 29., csütörtök

A minap találtam egy jó kis programot, amely a Console névre hallgat: http://sourceforge.net/projects/console/

Elég gyakran kényszerülök a Windows Command Prompt használatára, ami legjobb esetben is kényelmetlen. A cmd.exe helyett már van ugye Microsoft-féle PowerShell vagy akár MSYS-féle bash, de a dolog GUI része nem változott, az ugyanaz a kényelmetlen, ronda őskövület. Egy használható alternatíva a Cygwin-féle bash mellé a PuttyCg, ami nem is rossz, de az "rendes" Windows shellel nem működik.

A Console viszont igen, és XP-n egész használható: változtatható fontok, színek, tabok és konfigurálható hotkeyek. Ajánlom mindenkinek.