2010. január 1., péntek

TodoMap

Hali és boldog új évet!

Szóval tartoztam az előző évtizedből egy magyarázattal hogy mi az ötlet a todomap.org kisérlet mögött. A todomap.org egy olyan kis project, amiben térképen bejelölheted azokat a dolgokat, amik bántják a szemed. Legányolt vasútállomás, koszos utca, betört utcai lámpák, úthibák, elhagyott és lepusztult épületek, közlekedési vagy parkolási gondok, illegális hulladéklerakók, falfirkák, mocskos aluljárók, közbiztonság, zaj, szmog, kutyabajok és más higéniai problémák... hosszú lehetne a felsorolás és persze mindegyikre fel tudnék sorolni példákat néhány kilóméteres körzeten belül. Gondolom ezzel nem vagyok egyedül.

Viszont az egészet nem egy panasz-oldalnak szánom, éppen eleget (vagy túl sokat is) panaszkodunk már így is.
Elösször is, ezeknek hibáknak többnyire van hivatalos felelőse, akit értesíthetünk a dologról, és remélhetőleg örömmel fogadja. Bármilyen rendszer-integráció működhet, akár az old-school FTP-s filetransfer, e-mail, web service (az ennyire korszerű megoldásokon meglepődnék, de persze örülnék neki).
Másodszor pedig akit érdekel a dolog, az indíthat akár saját projectet is. Pl találsz egy rozsdás korlátot a környékeden és beregisztrálsz rá egy projectet, valaki felajánlhat hozzá festéket és higítót, más talán a rozsdamarót, harmadik ember talán a segítségét fogja felajánlani. Idealizált eset nyilván, de az még nem jelenti azt hogy ez nem működhet.

Ha te egy közmű felelőse vagy, a todomap.org szeretne téged összekötni azokkal akik az általad üzemltetett infrastruktúrát használják. Nem csak azt fogod tudni hogy hol vannak a problémák, de azt is hogy a felhasználóknak ez mennyire fáj számszerűleg.

Ha te vagy az állam (illetőleg egy párt), képet kaphatsz arról, hogy a polgárok mit tartanának fontosnak a környezetükben, jó esetben egészen pontos képet. A kommunikáció költségét lecsökkentjük, így sok olcsó input jön be, ami ráadásul már rangsorolva is van.

Ha te egy sima állampolgár vagy, mint én, akkor a todomap.org-on meg tudod osztani a többi állampolgárral a környéketek problémáit, tudod őket rangsorolni, RSS feedeken, e-mail-en stb-n keresztül értesítést kaphatsz arról hogy mi történik ezekkel a problémákkal, mi történik a környékeden egyáltalán. Ha kész vagy arra, hogy tegyél valamit a tágabb értelemben vett lakóhelyedért, akkor szintén számíthatsz némi informatikai támogatásra hozzá.

Ez a terv. Hogy állok ezzel... nem rosszul, de még nagyon sok van hátra. Sokat küzdök a UI dolgokkal, kevés érzékem van a 'usablity'-hoz és az esztétikához, viszont tucatnyi visszajelzést kaptam több tesztelőtől (akiknek +1x köszi!) Internet explorer-ben például csak a múlt héten volt lehetőségem megnézni és elképedni rajta mennyire szét van esve (köszi azoknak is, akik nem használnak internet explorer-t!) Az infrastruktúra egy részét kunyiztam, a másik része olcsó bér-virtual-host.

És szóval ez megy majd idén, a szokásos ganajlapátolás mellett :-) Meglátjuk mire lesz időm és erőm.

2009. december 30., szerda

Évvégi offtopic

Sziasztok!

Hát ha valami rendkívüli közbe nem jön, akkor ennek az évnek is vége lesz határidőre és gondoltam pár rendezetlen gondolatot kidumpolok ide arról, hogy mi volt idén és mi lesz jövőre.

Jövőre 3 éves lesz ez a blog. Az utóbbi 1 évben rettenetesen megritkultak a postok. Mondjuk nem csak itt, hanem nekem az az érzésem hogy a többi magyar java blogban is sajnos. Bele fogok húzni! Sőt már el is kezdtem, csak amivel fogalkozok mostanában, az szoftverfejlesztés szempontjából nem valami izgalmas.

Szerintem kapcsolódó probléma (illetve jelenség, amennyiben nem probléma), hogy a JUM-okon nem sikerült meghonosítani a quickie-ket. Teljesen ki is haltak és a hagyományos előadások vették át a helyét. Hát erre van igény, akkor ez van. A melóhelyem hasonló funkciójú "kb havi rendszerességű" összejövetelén próbálom most, szerintem kicsit több sikerrel. Az interaktívabb, mondjuk talán azért mert eleve lazább hangulatú az egész. Péntek délután, tea, süti, üdítő, kivetítő...


Szabadidőmben (ezt az előző postból biztosan kihámoztátok) a todomap projecttel foglalkozom. Ez érdemelne egy kis magyarázatot a jelenlegi állapotában, de mondjuk szóljon inkáb majd erről az új év első postja. Addig "What you see is WTF" :-). Itthon megtartottam pár kisérleti állapotából screenshot-ot amit mostanában nézegettem és úgy tűnik, az ötlet is, az implementáció is fejlődgetett elég sokat, közben kicsit képbe kerültem néhány technológiával. Az új évben ezt a projectet szeretném elvinni addig ameddig tudom.

Egyébként ezen kívül az történik, hogy egy nagyon fertőző gondolat-vírus született az agytekervényeimen, ami szerint a 30. születésnapra frankó befejezni az Országos Kéktúrát. Jópár barátomra átterjedt ez a vírus, így mostanában ennek engedemleskedve tapossuk a kilómétereket. Aki esetleg túl van a 30-on az használja nyugodtana gondolat-vírus 40. születésnapra vonatkozó mutációját :-)

2009. november 20., péntek

JUM 12

Tvik már beszámolt, de én is beszámolnék, csak hogy szinesítsem a képet és a visszajelzések számát.

Viczián István: JAX-WS

A végén rá is kérdeztem, bár kicsit hülyén, szóval az előadás a JAX-WS és a reference implementációjának problémáit ölelte fel. Azaz nem feltétlenül szívja meg az ember pont így. Igen, elég ijesztő volt. Contract first WS. Nem tudom, én ezekkel nem szivatom magam, felannotálom a web service interfaceket alaposan :-D és ha az interface marad ugyanaz, akkor a kigenerált WSDL is, sőt a SOAP üzenetek tartalma is. Szóval innentől én kevés motivációt érzek a dologra, persze ha bankot vagy atomreaktort kellene ezzel hajtani, akkor biztosan óvatosabb lennék. Még egy saját horror-élményt hozzáfűznék: CXF és jettison, ha ugyanaz a neve egy property-nek és a property property-jének, hát akkor a jettison ott elcsűri a json objektumot. A tréfa az, hogy a többi részét is kiteszi, csak elötte lezárja a tömböt. Atomreaktort már csak az ilyenekért sem hajtanék vele, ez a bug akármilyen egyszerűnek is hangzik, elég rég óta vár javításra.

Csutorás Zoltán: Agile, SCRUM, Lean

Igen, volt szó a SCRUM-ról is, de a végén az a modell, aminél a gyártósor leállások voltak és mindenki le volt rajta döbbenve, na az nem a SCRUM volt már, hanem valami más aminek a nevére nem emlékszem. Update: KANBAN. Az előadó stílusából azt a következtetést vontam le hogy neki alighanem vannak hozzá acéldrótokkal erősített idegei, hogy a felvázolt módszertant keresztülvigye. És akkor gondolom működik is. Annyi biztos, hogy én ehhez gyáva vagyok.

Kis Gergely: Andriod és Hundriod

Az elején kicsit gyanakvóan figyeltem, hogy miért indítja furcsa paraméterekkel parancssorból az openoffice-t, mi az a pythonos trükk, amit még elstartol hozzá... Viszont hamar kiderült, hogy innetől az androidos telefonnal irányíta a prezentációt. Onnantól kezdve nagyon tetszett, bár nem egy felhasználóbarát megoldás per pillanat, de nagyon látványos demó volt. Én továbbra is beérem az kötelező mutatvánnyal amúgy, én a telefonomat tényleg csak telefonként (és fényképezőként és pendrive-ként és walkman-ként) használom.

2009. november 7., szombat

Mosatanában elkövetett mini-projecteim

Kicsit elhanyagoltam mostanában ezt a blogot és inkább otthon hegesztgetek. Pár némileg újrafelhasználható dolgot is összekopácsoltam az utóbbi pár hétben.

MiniGeoIP

Szóval próbálkoztam azzal, hogyan tudom bemérni a kliens földrajzi helyét. Nem holmi öncélú marketingdolog miatt, hanem egyszerűen hogy az alkalmazás számára releváns infóval tudjon indítani. Egyébként a IP-blokkolás szerintem rasszizmus. Próbálkoztam a Google JSAPI-jával, a tapasztalatok viszont azt mutatták, hogy a Google vagy megmondja hogy hol vagy, vagy nem... Ami azért bár nagyon baráti, de mégsem 100%-os telitalálat. Söt, sajnos úgy tűnt az ismerőseim többségének IP címére nem mond semmit. Keresgetni kezdtem szerver oldalra beágyazható IP feloldást de nem sok használható dolgot találtam, úgyhogy a felgyűlt ihletből gyorsan összedobtam egyet. Ez az implementáció egy 100.000 soros adatbázist épít fel magának. Az még a memóriában is elférne talán, viszont én JPA-n keresztül keresem. Sajnos kényelmes voltam és spring JpaDaoSupport-ra építettem, szóval most totál spring-függő, de ez most még nem fáj nekem. Cucc. Ja és itt ki is lehet próbálni, hogy jó országba tesz-e.

GeoCoder

Hasonlóan föcis téma, egy adott koordinátából szeretnénk megkapni a postai címet amennyire lehet. Unalmas. Google reverse geocoder. Köszi gúgli. Cucc.

Jetty-gzip-plugin

Ez szerintem vicces téma, a jetty default servlete tud olyat (és alapból be is van kapcsolva), hogy ha egy statikus file mellett ott van a .gz tömörített változata, ÉS a kliens nem IE :-D, akkor a tömörített változatot küldi el, ezzel megtakarítva sávszélességet és egy kis időt is. Pl a javascript library-k egészen hatalmasra nőttek. Ez a kis maven plugin egyszerűen packageléskor létrehozza a .gz fileokat. Akár kézzel is megcsinálhatná az ember, ha nem felejtené el mindig. Nekem kicsit több mint 100Kb-t takarít meg egy oldalmegjelenéskor, ennyiért úgy gondoltam, hogy már megéri. Cucc...

Google Translate Java kliens

Hát ez annyit tud, hogy megmondja, milyen nyelven van a szöveg. Teljesen minimalista, de ennyivel beérem. Ismét köszi gúgli. Kicsit már zavar hogy mennyi mindent ráépítek google szolgáltatásokra. Cucc...

Ennyi, köszi ha eddig eljutottál, akkor most megint pár hét lapátolás...

2009. október 26., hétfő

Az ajax file upload és a gonosz flash

Próbálgattam AJAX-os file upload cuccokat JQuery-hez és elsőre majdnem bedőltem az uploadify-nak. Egy kis időt eltöltöttem azzal, hogy a file feltöltés miért nem látja a szerver oldali session-t, teljesen azt hittem egy ideig, hogy a szerver oldalon szúrtam el valamit. Pedig nem: az uploadify flash-t használ feltöltéshez és a flash figyelmen kívül hagyja a cookie-kat. Ezt már hallottam mástól is, csak nem jutott át az ingerküszöbön.

Gyorsan át is gyergeltem erre a másik ajax upload cuccra, ez teljesen jól működik idáig, nincs benne flash, bár a skineléssel akadt problémám de az valószinűleg inkáb abból származik, hogy CSS-ből még mindig kettes alát érdemelnék.

2009. szeptember 8., kedd

@Autowired és társai

Mostanában gyakran beleakadok a spring framework @Autowired annotációjába, amit kifejezetten private mezőkre húztak rá, amin nincs setter sem. Pl...

@Autowired
private Datasource datasource;

Az a kifogásom ellene, hogy:
  • besettelni sem lehet neki valami mást
  • springen kívül nem lehet inicializálni
  • elég sok időbe tellik kibogarászni hogy vajon mi lesz ide besettelve
Nem olyan, mint a JdbcTemplate, amit szerintem simán más framework-re is bele lehet tuszkolni, és ráadásul nagyon hasznos. Sikerült portolhatatlanná tenni a kódot, pedig a spring úgy indult annak idején, hogy non-intrusive IoC framework. Másrészt ez olyan, mintha service lookup-ot használnánk, annyi előnnyel, hogy a boilerplate kódot átvette a spring. Viszont akkor már ilyet is csinálhatnánk:

@JndiLookup("jdbc/MyDS")
private Datasource datasource;

A megoldás: TestNG

N alkalommal futottam neki a TestNG használatának eddig, mindig nagyon boldog voltam magával a TestNG-vel, de az IDE integrációjával soha nem tudtam kibékülni és végül inkáb maradtam junit-nál. Az 'új' projectem pár artifact-jába viszont valamiért belecsomagolták a junit egy matuzsálemi verzióját, ami teszt alatt ütközésbe kerül az új verzióval, így nem maradt más választásom, mint testng-t használni.