szerda, október 26, 2011

Olaszok

Amiért imádom az olaszokat:



Ciklusoptimalizálás

Annak lehet, hogy mégsem az aki mélyebben ismeri a lefordított C# kódot, de nekem akkor is meglepetéssel szolgált az hogy az alábbi kód:

for (int i=0;i<1000;i++)
{
  if (feltetel == true)
  {
    csinald_ezt();
  }
  else
  {
    csinald_azt();
  }
}

gyorsabban lefut ha így írjuk:


for (int i=0;i<1000;i++)
{
  if (feltetel == true)
  {
    csinald_ezt();
    continue;
  }
  csinald_azt();
}

kedd, október 25, 2011

Na, mozgás

Nézzük, mennyit fejlődött az előző verzióhoz képest a mozgásérzékelős móka: 


Az elmúlt két hétben (mondjuk inkább netto 8 nap), habár csak éjszaka tudtam vele foglalkozni napi max 3 órát, mégis rengeteg tapasztalatot szereztem. Bár már a kezdeti állapotában szinte kész volt a program azért némi csiszolás és némi plusz "igény", néhány ötlet amit itt kipróbálhatok után elég szép kis alkalmazás lett.
Ahogy fejlődött a program a nagy egybegyúrt kódot szépen különszedegettem. Jelenleg három nagyobb rész van a programban, ezekről néhány szó:

A WebCam kliens
Sikerült egy egész általános klienst írni aminek egy tetszőleges webes címet meg lehet adni és ha az jpeg képet (igaziból bármilyen képet) vagy mjpeg stream-et ad vissza akkor kezeli. A sima jpg abszolút kihívásmentes, viszont az mjpg már kalandosabb.
Első guglizásom eredményeként egy már kész modult találtam aforge néven, meg azt az infót, hogy eléggé körülményes a stream-et direktben kezelni így inkább az aforge-ot javasolják. Nos, én ritkán használok ilyen külsős modult, főleg ha látom a reményt arra, hogy én is lefejleszthessem.
Az mjpg (szerintem) borzalmasan egyszerű. Van egy jól beazonosítható fejléce és utána jön maga a kép.
Első körben a bejövő byte áradatot egy nagy tömbbe nyomtam ezt szöveggé alakítottam majd regexp-el megkerestem benne a fejlécet, majd az eredeti byte tömbből kihalásztam a képet. Ez iszonyat lassú természetesen.
Ezután jött egy elegánsabb megoldás ahol már BinaryReader-el dolgoztam. Ez addig vizsgálgatta a bejövő byte-okat amíg azok nem egyeztek meg a fejléc első sorával, utána szépen soronként feldolgozta majd a kép adatot kinyerte. Ez már jóval gyorsabb (és áttekinthetőbb) volt és elég jól tudta követni a kamera adatfolyamát, de a processzor 100%-on pörgött és tudva, hogy ez később egy gyenge notin fog futni 24 órában, tudtam, hogy tovább kell mennem. Ezután ugrottam fejest az igazi byte vadászatba.
Régebben kicsit féltem ettől, de rá kellett jönnöm, hogy semmi para nincs benne. Van egy adott hosszúságú byte tömb amit feltöltök a bejövő adatfolyamból, byte-ról-byte-ra olvasom, ha a végére értem újra feltöltöm és kezdem elölről. Közben van még két byte tömb, egy stringbuffer meg egy filebuffer ezeket is (majdnem) byte-onként töltögetem attól függően, hogy a headereket dolgozom fel vagy a file adatokat nyerem ki.
Belekerült az is, hogy mindaddig amíg a programnak nincs igazából szüksége a képre (erről majd később) addig nem is csinálok belőle képet, csak egy byte tömbben várja (a tulajdonképpen egy jpg file a memóriában), hogy vagy feldolgozom vagy az enyészeté lesz.

A mozgás-elemző
A mozgás-elemzés igaziból két kép különbségének a feldolgozása. Első lépésben két képet egymásra teszek és az összes képponton megnézem, hogy az mennyit változott az előzőhöz képest. Ennek az eredménye látszik a régi képen jobb oldalt (minél világosabb a kép annál nagyobb volt a változás).
Két kép között nem csak a mozgás miatt hanem különféle zajok, kódolási hibák és egyebek miatt is vannak különbségek, ezeket egy úgynevezett limiterrel távolítom el. Ez annyit tesz, hogy mindegyik különbséget megvizsgálom, hogy az egy érték alatt van-e, ha igen akkor mégsem számít különbségnek.
Sajnos így is maradnak "tüskék" a képen amiket nem lehet ezzel a módszerrel eltávolítani, viszont "erózióval" igen. Ez még implementálás alatt van, de nagyjából úgy működik, hogy csak azok az érzékelt képpontok maradnak meg amiket 1-2-3..n pixeles körben körülvesznek további ugyanilyen pontok. Így a tényleges bemozdulás területe is csökken, de nem baj ha ezzel a zajt is sikeresen eltávolítom.
Ha mindez megvan akkor már csak egy viszonyszám kell, hogy hány pixelnek kell változnia (és hány mp-en keresztül kell ennek az értéknek minimum megmaradnia) ahhoz, hogy a rendszer "riasszon".
A fenti képen egyébként azért van ekkora vörös folt mert a program mutatja az pár képkockával előző mozgásokat is (ghost trail), így látványosabb egy kicsit :)

A probléma ott kezdődik, hogy amikor kimondom, hogy "két képet összehasonlítok pixelenként) az összesen 921600 pontot jelent (640x480 pont, 3 színnel) amit egyenként kell vizsgálni, így bármiféle kevésbé hatékony megoldásból származó hiba szó szerint a milliószorosára nő. Így ha azt akarom, hogy ez az algoritmus másodpercenként 10-16 (vagy mégtöbb) képkockát dolgozzon fel akkor már nem milliszekundumban kell mérni az időt hanem órajelben és mindent amit csak lehet egyszerűsíteni kell.
Tudom, hogy ha igazán minden szaftot ki akarnék csavarni a gépből akkor nem C#-ban kellene ezt csinálnom, hanem mondjuk C-ben, de nem akarok emiatt nyelvet váltani.
Az alábbi lépések segítettek sokat:
- unsafe kód és pointerek: Ezzel lehet talán a legnagyobbat lépni. Veszélyes kicsit mert direktben érjük el a memóriát és bizonyos esetekben összekuszálhatjuk azt aminek eredménye random fagyás vagy kékhalál is lehet.
A pixel-összehasonlító részben ...
- Nincs deklarálás : bármilyen változót használjak is, azt még a cikluson kívül deklarálom.
- Nincs property elérés: amire szükségem van a cikluson belül azokat előtte egy lokális változóba átteszem.
- Nincs managed tömb: az eredményeket ugyanúgy egy pointeren keresztül egy lefoglalt memóriaterületre másolom.
- Nincs fölösleges matematikai művelet, amit csak lehet előre ki kell számolni.
- Csak egész számok vannak. Abból is csak Int és Byte. Int azért kell mert negatív és 255-nél nagyobb számokat is kezelnem kell.
- Nincs szorzás és osztás a kalkulációban mert ezek elég lassú műveletek.
- Nincs switch helyette van if. Kezdetben (a kétféle megjelenítéshez) switch-et alkalmaztam, de jóval gyorsabb egy if/elseif ág. Sőt lehet, hogy az egészet a cikluson kívülre teszem és inkább megjelnítésenként ugyanaz a kód fog szerepelni. Ez kód-kinézet szempontjából rusnya de a sebesség mindenek felett áll.

Küzdelmes és nagyon érdekes része ez a fejlesztésnek.

A FOSCAM Server
A Projekt azon része aminek igazából semmi köze nincs az eredeti elképzeléshez.
Jött egyszer az ötlet, hogy mi lenne, ha a fenti képet/videót (a "vörös folttal") ugyanúgy megnézhetném az Androidos mobilon, ráadásul ugyanazzal a programmal (TinyCam) amivel amúgy is nézem a kamerát.
Belevágtam és egy viszonylag primitív webserver-t összedobtam ami pont azokat a kéréseket tudja kezelni amik feltétlenül szükségesek. Ez összesen három dolog: Statikus kép kérése, MJPEG stream kérése és a kamera vezérlés.
Igen, a kamerát vezérlő gombok (a fenti képen) nem a fizikai kamerát vezérlik, hanem magát a programot. Egyelőre csak a limitert, agc-t lehet ki/be kapcsolni, a megjelnítési módot váltani és a limiter értékét növelni/csökkenteni. De vicces, hogy ugyanezt az androidos progiból is megtehetem.

Szálkezelés:
Mindhárom rész külön-külön szálon, párhuzamosan fut.
Érdekes és tanulságos, hogy hogyan lehet ezeket a szálakat szinkronban tartani lehetőleg úgy, hogy ez a legkevésbé akassza meg a különböző szálakat. A webkamera kliens folyamatosan kéri a képeket, a mozgásérzékelő pedig a saját tempójában dolgozza fel az épp aktuálisat. Ha nem végez elég gyorsan van hogy egy-két beérkező képet el kell dobni és csak az azutánival fog foglalkozni.
A szerver is folyamatosan fut, minden becsatlakozó kliensnek megmutatja a legutolsó képet és addig nem is ad újat amíg a mozgásérzékelő nem dolgozta fel az előzőt (és amíg a szerver a kliensek felé továbbítja a képet addig a mozgásérzékelő már egy újabb képen dolgozik).
Ezzel kapcsolatban itt: egy nagyon hasznos olvasnivaló.

Ami még hátravan:
Még van mit csiszolni a rendszeren. Jelenleg még mindig a mozgáselemzés optimalizálásán dolgozok plusz az eróziós algoritmust is most fejlesztem bele de a terveimben szerepel még:

- Detektálási régió, hogy a kép melyik részére legyen érzékeny igazán a program
- Egy "MOZOG" jelzés ami végül is a végcél, de még nincs implementálva
- Analitika: A különböző értékek (bejövő képek száma, feldolgozott képek száma, "mozgó" pixelek száma, a különböző program-részek működési ideje/hatékonysága) rögzítése és elemzése (ez szintén egy külön szálon futó rész lesz) plusz ezeket az értékeket meg akarom jeleníteni a kamera-képen (kikapcsolhatóan persze)
- OSD (egy ilyen checkbox van is a képen de még semmit nem csinál) ami arra lesz jó, hogy ha nem a windows-os progit nézem, hanem a telefonon keresztül vezérlem akkor jelenleg semmilyen visszacsatolás nincs, hogy mi változott. Első körben egy sima szöveges kiírás lesz, későbbiekben egy menürendszer amiben a (kamerát forgató) nyilakkal lehet majd navigálni.
- A foscam vezérlés "pass-throught" módban is menjen vagyis ezen a programon keresztül lehessen az igazi kamerát vezérelni.

Ezekután még lekapcsolhatóvá teszem a különféle extra funkciókat és a végén előáll reményeim szerint az a kód amit később a KépkeretPC-n futó progiban is használni fogok.

hétfő, október 24, 2011

So close, but no cigar

Ma egy picit lendíteni akartam a képkeretPC projekten, de sajnos lyukra futottam.
Utóbbi időben (alacsony prioritással ugyan, de) keresek olyan képkeretezőt aki szeret problémákat megoldani és nem csak "én csak gyémántberakásos aranyozott szélű eredeti tikfából készítek keretet" gőggel és/vagy OKJ-s képkeretezőként "Ezt így beviszem a gépbe ide be és akkor majd jön majd" áll hozzá.
A guglit megkérdezve képkeretezőkben nincs hiány de elunom magam a tizedik galéria "... és még vállalunk képkeretezést is" részénél mivel sejtem, hogy az nem lesz az én hobbipénztárcám zsebéhez mérhető.
Még pár hete a lágymányosi híd lábánál lévő OBI-ban találkoztam egy szimpatikus figurával aki egy kis keret darabot is csinált nekem, hogy tudjak kísérletezni. Másodjára mikor visszamentem már egy másik fazon volt ott és miközben kikönyökölt belőle az unalom, közölte, hogy két munkanap egy szaros keret (az előző srác a negyed keretet bruttó 5 perc alatt hozta)
Az utcánkban lévő keretező kijelentette mikor Kriszti a kis keretdarabot mutatta, hogy "ő ilyen papír izékkel nem foglalkozik, csakis FÁVAL" és ettől a monológtól akkor sem szabadult amikor kérdezte tőle Kriszti, hogy "és akkor FÁBÓL milyen lehetőségek vannak" ...
Pénteken a Bauhaus-ban felfedeztem, hogy van képkeretező részleg de sajnos akkor már nem volt ott érdemben senki, úgyhogy tegnap összeraktam a kibelezett noti részeit egy notebook táskába (mintha Frankenstein dobálgatta volna a szörny még darabos részeit egy búvárruhába) és ma bementem széles vigyorral az arcomon, hogy ITT bizony segíteni fognak.
Meg is találtam az emberem, vázolom neki a helyzetet, hogy "notebookból kihalászott LCD panel és mögötte az elektronika" amit ő már-már Steven Seagall-i mimika repertoárral követett, de mikor elértem a "de nem elég a sima keret, felépítményt szeretnék rá" akkor felcsillant a szeme (lásd az előző képen a "Proud" szónál) és elém hoz egy beszarás-behugyozás gyönyörű keretet ami mögött ott van egy kb 4cm mély doboz. Én spontán beledurrantottam  a gatyámba.
Kérdeztem az árakról mire ő fondorlatosan visszakérdezett a méretekre. Na itt jött el az a pont ahol kicsit bepánikoltam mivel észrevettem, hogy OTTHONHAGYTAM A MÉRETEKET FAKKJEEEE. Kis telefonálgatás után azért meglettek a közelítő értékek (mert a notebook belsőség a táskámban már csak a "bepróbáláshoz" kellene, hiszen mindent eléggé kiterveltem és mm-re megvannak a méretek).
Mikor újra felvettük a fonalat kezdett gyanús lenni, hogy a "de én nem feltétlenül kérnék bele paszpartut mert akkor külön kell tákolnom bele valami belső rögzítő keretet a panelnek, plusz nem is kell nekem az üveg előlap hiszen jó lesz az LCD maga is meghát a velúr belsőhöz sem ragaszkodnék" frázisom után kibukott belőle, hogy "Dehát itt nincs műhely. Ezeket egy külsős cég csinálja. Én beírom a gépbe a méreteket amit megad és ők hozzák a dobozt két héten belül. Variálni nem sok mindennel lehet, ez így jön.".
Itt egy könnycsepp gurult a szemzugomba mert úgy éreztem elárultak. Megnéztem a 87 keretmintát, kinéztem kettőt, csináltattam a sráccal egy-két számítást (hogy azért tudjam nagyjából, mi mennyi) majd gyors búcsút intettünk egymásnak. Láttam arcán a bánatot (Lásd Steven Seagal mimika : SAD), de ez már nem enyhített az én fájdalmamon ...

Egy hozadéka mégis volt a mai napnak: Amit keresek azt úgy hívják, hogy "tárgykeretezés".

Továbbra is úgy tartom, hogy a Bauhaus kurvajóhely. És tényleg segítenek, ha tudnak.

Egyébként én mint "oldjuk meg" ember sokszor szembesülök azzal, hogy a barkácsáruházakban nem "oldjuk meg" emberek dolgoznak, hanem "adjuk el" emerek. Oké, ez naívság a részemről és mármár keserédes paráznasággal megyek oda az eladóhoz, hogy "keresek egy olyan BÁRMIT ami tömör fém rúd, 9.5mm az átmérője, se több se kevesebb és minimum 9.5 cm hosszú" Erre a sztenderd válasz a "mi nem tartunk olyat."
Pedig milyen jó lenne, ha azt mondaná, hogy "Figyelj, itt ez a kapupánt csavar, bár 10-es, de a sima részénél pont 9.5mm és ez a rész megvan 10cm. Namost a végéről lefűrészeled a menetes részt és meg is vagy 125ft-ból."
Nade ilyen nincs. Főleg, hogy a 10-es kapupánt csavar sima részének az átmérője 8.95mm amitől a székem amibe ez mint billenő-tengely kellene lötyögni fog ami pedig unkomfort. De gondolom nem ez állt a "mi nem tartunk olyat" hátterében.

Zöldülés

Bár nem feltétlen a környezet kímélése a fő motiválóerő (bár jól hangzana, hogy ha CSAK az lenne), hanem a mindenféle fölösleges fogyasztó nyirbálása. Van nekem egy dolgozó kuckóm ahol gépek, monitorok, lámpák, kütyük vannak amik jó részét csak akkor használom ha ténylegesen a ott ülök. Innen kiindulva már régóta tervezgetek egy olyan "rendszert" aminek jelzést tudok adni, hogy ott vagyok vagy nem vagyok ott és így a biztosan fölösleges készülékeket ki tudnám kapcsolni. A kapcsolgatós konnektor jó dolog de a francnyavaja hajolgat le. Esetleg távirányítós konnektor, de az is fogyaszt alapjáraton valamennyit.
A dolgot kicsit nehezíti, hogy a lekapcsolandó eszközök egy része a szünetmentesre van kötve (monitorok, külső dvd író) mások pedig a sima 220-ra (lámpa, hangfal, tv)
Kezdetben jött a kapcsolótábla ötlete ahol főbb csoportokban egy 4-5 kapcsolóval kapcsolgatnám a különféle részeket, aztán ezt (a nagy mennyiségű kábelköteg ami emiatt kellene miatt) továbbgondoltam, hogy ugyanúgy kapcsolótábla, de mostmár gyengeáramú kapcsolókkal, relés konnektorokkal, led-es visszajelzésen, sőt 10 percre rá már a mikrokontrolleres vezérlésnél voltam ahol a számítógép is tudja jelezni hogy nagyon inaktív vagyok és kikapcsolja a dolgokat. Naés nagyjából itt csapott le a relém.

Pénteken amikor próba túrát tartottunk Krisztivel és Zsófival -hogy meglássuk, Kriszti hogyan viseli a napi megpróbáltatásokat- bementünk a Bauhaus-ba és ott rámtört a "francba, megcsinálom egyszerűen" érzés, miszerint lesz egy dupla kapcsoló, az egyik a szünetmentes részt kapcsolja, a másik a sima 220-at.
A bauhaus kevéske kis dolgozója előtt le a kalappal mert eddig ahányszor mentünk mindig türelmesek és segítőkészek voltak, de sajnos mivel kicsit kapkodósan kellett összeraknom a képet ezért sikerült egy 2500 Ft-os kapcsolót szerezni (Legrand, dupla váltókapcsoló, falra szerelhető), de ma már rájöttem, hogy egy sima kétáramkörös kapcsoló bőven elég lett volna 800 forintért (szintén külső) aminek ráadásul egy kapcsoló-felülete van, mert a kettő tulajdonképpen minek, plusz a csokit kihagytam, de szerencsére az mindig van otthon :)

A sütemény hozzávalói:
- Két darab 6-os elosztó (800 Ft/db)
- Egy darab kétáramkörös 220-as kapcsoló. (ha az ember okos, akkor 800 Ft)
- 4 eres 220-as kábel. (185 Ft/m)
- Egy kicsi doboz amibe a mágia megtörténik.(157 Ft)
- Egy darab 8-as csoki. (talán 100/200 ft)
Elkészítés:
Fogjuk a nyers hosszabbítót és a farkánál kettévágjuk ízlés és aszerint, hogy mennyire van egymástól a két betáp forrás és/vagy mennyire kell majd külön vinni a konnektorokat. pucoljuk meg szépen a kábelvégeket (26 blankolás!)
Fogjuk a szép dobozkánkat és ellentétes oldalon két-két lyukat fúrjunk rá (lehetőleg a kábel szépen pásszentosan menjen bele), majd az egyik merőleges oldalfalra is lyukasszunk egy szépet a kapcsoló vezetékének. minden oldalról gyukkodjuk be a kábeleket (a kapcsolóba is) majd kérjünk meg egy embert akit már rázott meg 220, de tudta, hogy az miért volt és majd ő beköti.

Így néz ki összeszerelve (a kis doboz vízhatlan módon záródik, csak itt nincs rajta a KUPAK)


Most az asztal mögött van 4 darab 6-os elosztó (durvának hangzik, tudom, durván is néz ki) külön-külön : fix 220, fix szünetmentes, kapcsolt 220 és kapcsolt szünetmentes. Kis méregetés után kiderült, hogy ez nálam kb 28w-ot kapcsol le (a standby-ban maradó monitorok KÁOSZ, hogy mennyit esznek) vagyis hozzávetőlegesen 4 hónap alatt visszahozza az árát (nekem 6 hónap a drága kapcsoló miatt)

ARDÚÚÚÚÚ

Megjöttmegjött megjött megjöttmegjöttmegjöttmegjöttmegjöttmegjöttmegjöttmegjött :)


Jópofa ez a dealextreme-s rendelés, mert ez a második csomag (ami kb. egy héttel az első után indult útnak) és előbb ért ide mint az első. Az ardu meglepően pici. Valahogy egy picit nagyobbra számítottam, de így mégjobb :)

update: Ééééés délutánra befutott a második csomag is :)


Karááácsóóóóóóóóny :)

szombat, október 15, 2011

Paralel-o-gramma

Nem is olyan régen még panaszkodtam a környezetemben, hogy mennyire nem tudok belekezdeni semmibe és ez mennyire stresszel. Nos, úgy érzem elég volt kicsit a hozzáállásomon változtatni és (próbálni) elhagyni a régi szokásokat miszerint ha bármibe belekezdek akkor azt 100%-os odafigyeléssel csináljam. A hivatalos munkával ezentúl is így lesz, viszont most már eleve ezekhez az hobbi cuccokhoz úgy állok hozzá hogy bármikor megszakíthatom a gondolatmenetet és inkább leírom az ötleteket, hogy később amikor idő van akkor tudjam megvalósítani őket szemben a régi egyből beleugrós-csinálós módszerrel.

Így hogy most ezeket a helyükön kezelem egyből hármat is elkezdtem csinálni :)

Az egyik egy digitális képkeret aminek az első lépéseiről a családi blogon írtam, de ha halad akkor majd itt fogom folytatni, hogy megőrizzem annak a blognak a családi jellegét :) (sőt, valószínűleg azt a post-ot is átemelem majd ide)

A másik amibe belekezdtem a DealExtreme Order Tracker nevű windows-on már működőképes, Androidon még  éppenhogycsak elinduló programot.

Aztán most egy harmadik (ami végül is a képkerethez fog tartozni) egy olyan program ami a Zsófis kamera képét figyeli és elemzi és ha mozgást érzékel akkor "lépéseket tesz". Ez abban fog megnyilvánulni, hogy amíg Zsófi nem mozog (nincs az ágyban vagy nyugodtan alszik) addig a képkereten családi fotók meg bármi más fog megjelenni és amint valami helyzet van akkor a kamera kerül előtérbe automatice.

Kismackómozgás fehéren felvillan a jobb oldalon. (katt a nagyobb képért)

kedd, október 11, 2011

Első lépés - pipa

Egy hete kezdtem neki az "ismerkedés az androiddal" játéknak és kb 3 nap alatt jutottam el odáig, hogy a mag funkcionalitás 80-90%-át lefedjem. A legfontosabb az volt, hogy http alapú web lekérdezést tudjak csinálni, az adatokat feldolgozni és ezek eredményét kiírni és örömmel jelenthetem, hogy ez sikerült is:


Rengeteg újdonság van, de szerencsére a java nagyon hasonlít a C# nyelvre (pontosabban a C-re amiből mindkét nyelv fejlődött) és így elég könnyen tudtam haladni. Szerencse az is, hogy a net tele van leírással, hogy mit és hogyan érdemes csinálni. Most jöhet a "hogyan készítsünk felületeket" rész ami elég bonyolultnak tűnik. Az "ideas.txt" file-om pedig egyre csak bővül az ötletekkel, hogy egy ilyen egyszerű kis alkalmazásnál mi is az amit meg akarok valósítani (főleg, hogy a végcél a market)

kedd, október 04, 2011

DealExtreme Order Tracker

Eljött az idő, hogy kicsit ismerkedjek az Androidos fejlesztés világával.
Már régebben letöltöttem hozzá a szükséges eszközöket, sőt egy "helló világ" alkalmazást is összehoztam, de "feladat" nélkül itt abba is maradt az érdeklődés. Volt pontosabban egy ötlet, de hirtelen túl sok felé kellett volna nyúlni, túl sok ismeretlen területet kellett volna kutatni így az ellaposodott (de feledésbe nem merült).
Most kitaláltam, hogy mivel a DealExtreme-en szoktam vásárolgatni és bár van online nyomkövetése a rendeléseknek, de az okos telefonon mégsem az igazi, így ezt próbálom megvalósítani (ha jól megy akkor a végén lesz a Marketről letölthető ingyenes és fizetős verzió is).
Első lépésnek megírtam a rendszer alapjait (a megvalósíthatóságát igazolandó) .NET-ben, ahol ez kb nettó egy napnyi munka volt működik is szépen. Itt azért hosszabb időre számítok :)

A rendszer első körben mindenféle csillivilli felület nélkül le fogja kérni az adatokat. Ez úgy néz ki, hogy az ő "order tracking" oldaluk html kódját lekérem, módosítok pár dolgot (mintha a felületen kitölteném a szükséges mezőket) majd visszaküldöm a szerverükre amire megkapom az aktuális állapotokat.
Innen majd még egy pár weboldalt meg fog hívni (az egyiken lekérdezi, hogy van-e valamilyen "tracking number" a megrendeléshez és ha van, akkor a kínai posta oldalán lekérdezem ennek az állapotát, de ezek az első lépés ismételgetése lesz.

Neki is kezdek :)

csütörtök, augusztus 04, 2011

szombat, július 30, 2011

Hopefish plus last

Történt, hogy betojt az itthoni szerver gép (úgy néz ki megsült a proci, de ez még nincs bizonyítva). Másnap kaptam egy fülest egy szemtelenül olcsó szerverről (HP N36L MicroServer). A HP-vel hadilábon állok mert a jelenlegi Noti amin dolgozok is HP és az kegyetlen jó (bár nem a legolcsóbb darab), viszont volt az ominózus hajtépésem az ML150 G2-vel. Nos, most mégis belevágtam (A remény (és a sóherség) győzelme a tapasztalat felett) mert 32e forintért ház+proci+alaplap+táp 1G memóval olcsó. Azért, hogy ne legyen olyan túl olcsó, kapott még egy jobb videokártyát meg még 4gb memót, hogy kicsit kezesebben üzemeljen mint asztali gép. Kérdés, hogy hosszútávon beválik-e.
Egyik perverzióm, hogy a gépeimet szeretem elnevezni. Az épp szívtranszplantációra váró gép MIKROBI volt.  Sigi segítségét kértem, hogy most közösen találjunk ki valamit. Most nem akartam semmiféle magasztos nevet, de valahogy legyen benne a gyártó, legyen benne, hogy egy kicsi fekete doboz ami kiszolgál ... ígyhát DOBBY lett. Több síkon is passzol: Kicsi, házi manó és remélhetőleg megbünteti önmagát ha valami sz*rságot csinál :) meghát nem utolsó sorban.... HP-ből van :)

szerda, május 11, 2011

Mobilkérdés

Ismét upgrade-elve lett a mobilom, így már egy HTC Incredible S-t (angolul értőknek: hihetetlen tompor és/vagy szamár) használok az eddig kezdetben rajongásig szeretett majd később kevésbé szeretett Samsung Galaxy Spica helyett.
A két telefon között a legszembetűnőbb különbség, hogy ez ZSÍR az SZAR.
A technikai részletekre fogékonyabbaknak annyit  azért kifejtenék, hogy a spica egy remek kis készülék de iszonyatosan alulméretezett memóriával és (szerintem) elkapkodva összehányt rendszerfissítéssel. Őrjítő volt látni, hogy mit tudna az android és mennyire visszafogja ezt a készülék. Hogy elindítottam egy programot (gmail levelezés) majd egy másik program akart elindulni (telefonhívás, merthogy az is egy program ám) akkor a telefon elkezdett haldokolni mivel hirtelen elfogyott a csöpp memóriája és amíg a régi programot próbálta bezárni a rendszer, addig az új persze nem akart elindulni és így néha nem is lehetett felvenni a hívást. Szóval több memóriával szerintem az is hibátlan kis készülék lett volna.
Na de itt az új. Nagyobb, gyorsabb, jobb és baromba puffadt hangár méretű memóriával van felszerelve. Mindenre azonnal és zokszó nélkül reagál. úgy és ahogy annak lennie kell. 

De azért hogy egy kicsi ujjlenyomat is kerüljön a hibátlanra polírozott króm felületre ímhol az eddig detektált kényelmetlenségi faktorok a spica-val szemben:

- Gyengébb antenna. Sajos igen. a mérések azt igazolják, hogy a spica erősebb wifit és gsm térerőt produkál. Nem mondanám katasztrofálisnak, de érezhetően gyengébb a htc, annak ellenére is, hogy a spica wifi kapcsolat-megtartása és újrakapcsolódása sokszor kudarcba fulladt.

- Névjegyek speciális mezői. A spica-n ha egy telefonszámhoz kiválasztottam azt, hogy az "custom" akkor okosan be tudtam írni oda egy tetszőleges szöveget (pl: tartalék). Ugyanezt a google webes felületén is meg tudom tenni, de a htc-n belül nem lehet. Most a 2.3-as update után már mutatja, hogy mit írtam be, de a telefonról szerkeszteni nem lehet.

- Néma üzemmód. Az egyik leginkább "fájó" hiányosság. A spica-n a billentyűzár képernyőjén volt egy gomb amivel el lehetett némítani az egész telefont egy mozdulattal. Sajnos ez a kényelmi funkció hiányzik a htc-ből. Ha feloldom a billentyűzárat és a hangerőszabályzóval némára állítom a gépet akkor a játékok által használt "média hangerő" nem változik, tehát nem némul el az egész telefon. Ezt külön programokkal meg lehet oldani, de akkor sem olyan kényelmes.

- Szundizó riasztás kikapcsolása. Szintén apróság. Reggeli ébresztésnél az ember rávág egyet a készülékre (megérinti ahol kell) és ettől a készülék hagyja kedves gazdáját még kicsit ébredezni. Majd ha a gazda esetleg mégsem kelne fel akkor ismét jönnek a harsonák. A spica-n ebben a "szundi" állapotban megjelent egy olyan gomb a notification bar-on, hogy "riasztás kikapcsolása". Így jelezve a telefonnak, hogy "okay, felébredtem mostmár ne óbégass". Nos ilyen nincs a htc-n, meg kell várni, hogy újra csörögjön és ott kikapcsolni (vagy kikapcsolni és visszakapcsolni a teljes riasztást, de az milyen már)

Naszóval egyenlőre ennyi észrevételem volt. Ma felkerült rá a 2.3-as frissítés, ha valami meggyógyult volna neadjisten elsamsungosodott volna akkor javítom majd a bejegyzést, vagy ízlés szerint egy újat bökök. :)

vasárnap, január 23, 2011

Puha levegő

2004-ben voltam Paintball-on és kb. egy éve jött a tikk, hogy szeretném kipróbálni a festék mentes változatát, az Airsoft-ot.
Johnny már egy ideje járogat, én meg rágtam a fülét, hogy szóljon, hogyha megy vagy az ismerőseivel mennek, mert kipróbálnám. Kb. két hete szólt, hogy menni fog egy új helyre egyedül, itt az idő. Múlthét szerda volt a kitűzött nap.
Ismerősöknek, kollégáknak direkt nem szóltam, mert előbb ki akartam próbálni, hogy véleményt nyilváníthassak.
Az extrememilitary Campona melletti CQB (zártterű csata) pályájára mentünk. Ez egy lepukkant gyárterület egyik épületét jelentette. Az épületek állapota biztonságos volt, a viharvertség meg teljesen jól passzolt a háborús feelinghez és az airsoftos csapat jól felszerelte a pályát akadályokkal, hálókkal, stb.
Kicsit előbb értem oda, belépek, egy közepes terem, benne sörpadok, asztalok, viszonylag sok ember ki magyar honvédségi ruhában, ki sima terepruhában, ki szakasztott counterstrike-terroristaelhárító, plusz egy hölgy. Kicsit topogtam, hogy mivan' aztán mikor nem nagyon figyeltek fel rám (aki egyedül voltam nem "taktikai" ruhában) megkérdeztem ott egy embert, hogy akkor hol lehet öltözni és, hogy hogy megy ez. Jókedélyű fiatalokhoz méltóan (merthogy ilyen 25-35 közötti volt a társaság) megjegyezte, hogy öltözés itt, a hölgy pedig látott már férfi alsót, úgyhogy nem fogja zavarni és ezt tisztázandó ezt a termen keresztül meg is kérdezte a hölgytől. Vihargyorsan átvedlettem: jégeralsó(=cicanaci), teszkós terepmintás gatya, póló, pulóver plusz egy bérelt zubbony (amit játék alatt még kiegészítettem egy sállal a nyakam köré, meg a vastagabb sapekommal, hogy a fejemet védjem, kesztyű és természetesen egy (bérelt) maszk ami az egész arcomat védte). Hál' ég, hogy hideg volt. Nagyjából ekkor futott be Johnny, mint aki közvetlenül kuwaitból jött. Digitális terepmintás teljes öltözet, taktikai mellény, sapek, maszk, saját fegyver, minden.
Gyorsan magamhoz vettem a bérelt fegyvert (egy AK 47 beta-t), J hozott nekem töltényt és megmutatta, hogy hogyan kell megtölteni a tárat, aztán még megkértem a játékvezetőt, hogy mutassa már meg, hogy ezen hogy meg mi, meghogy lőnék egy párat valamerre az íze kedvéért. Johnny-nak felajánlottam, hogy egye fene elveheti a szüzességem ... mármint ... őőő ... úgy, hogy lőjjön rám, hogy érezzem, hogy mekkorát üt. 
Aztán a játékvezető pikkpakk végighadart mindent és a "lőnék párat valamerre" az rögtön a következő játékba való bekerülést jelentette, úgyhogy szüzességelvétel elmaradt (pontosabban egy vadidegen tette meg. ... Most akkor ribanc vagyok? :D )
Egy 10 és egy 11 fős csapat volt, egymás ellen kellett menni és kivégezni az ellent. Mindenkinek 3 élete volt amit úgy kell elképzelni, hogy miután lelőttek üvöltöd, hogy "megvolt" majd hangosan "halott jön"-t kiabálva (hogy akkor már ne lőjjenek rád) vissza kell menni a kiindulási ponthoz és onnan újrakezdeni (már amennyiben van még élet, ha nincs akkor kiállni). Szóval beálltunk és indult a játék. 
Sípszó, futás, termekbe be, lyukakon át, nézelődés, kivárás, mások után menetelés. Távolból már lehetett hallani a lövések hangját, a bekiabált "megvolt" és "halott a folyosón" szövegeket. Látszott, hogy a többi játékos már ismeri a pályát, a különböző termeknek külön nevük volt amiket használtak is: "ketten a moziban a lyuk mögött". Ami nem sokat mondott nekem :) Kicsit rostam, hogy milyen lesz az első találat. Igaziból az egész játék alatt nem is találtak el nagyon. Egy alkar találatom volt ami egy kis piros nyomot hagyott (két réteg ruhán keresztül) de eltalálták a fejemet, karomat és a kézfejemet is. Elég távolról, valószínüleg mert épphogy csak koppant. (másnap nézegettem olyat, hogy "airsoft sérülések". Még jó, hogy nem előtte). 
Mivel a gatyámat annyira nem akartam kiszakítani (plusz egy térdvédő is jól jött volna) ezért a "guggolós-mászós" átjárókat csak immelámmal vettem igénybe. A játékból viszont nekem hiányzott a taktika. Semmi megbeszélés, vagy összefogás, de gondolom azért is mert nem gyakoroltak hanem csak kiengedték a gőzt. Így is nagyon jó volt, még akkor is ha az egyes meneteknek (kb. 20 perc volt egy) nem is volt kihirdetett nyertese, vagy pontozás vagy bármi. Bementünk, rohantunk, kúsztunk-másztunk, lőttünk, meghaltunk, háromszor, kijöttünk, törölköztünk, dumáltunk kicsit majd elölről az egész.
Röviden összegezve, nagyon jól éreztem magam. Nem mondom hogy annyira nagy élmény volt, hogy holnaptól felhagyok a munkámmal és ennek fogok élni, de mint egy jól lefárasztó, kikapcsoló gőzkiengedés, mindenképp el tudom képzelni és fogok is még menni.
Persze másnap elkezdtem nézegetni, hogy mi lenne ha vennék saját maszkot, ruházatot, fegyvert. Az árak durvák is meg nem is. A fegyver talán a legdrágább. kb 20e től már lehet értelmeset venni, de 30-40-50e az ami már jól is használható és ez már az a kategória amihez nekem már jó érv kellene, hogy meg is vegyem.  Nem beszélve hogy itt is lehet azért még fejleszteni egy kis reddot vagy holosight célzóval, mondjuk egy taktikai lámpával, komolyabb ruházattal stb. De egyelőre még csak egyszer voltam. Még jópár nagyon jól sikerülő alkalom kell(lene), hogy jobban berántson :)
A 3.5 órányi játék, kb. 6000 forint volt mindenestül. Ebben volt 1000 Ft a pályabérlet, a maszk+fegyver+zubbony bérlés volt 4500 meg kb. 500 a golyók.
Képek meg sajnos nem készültek :( ... na majd legközelebb :D

csütörtök, január 06, 2011

Hülyeség

A nyelvem alatt van egy seb ami bazira fáj amikor mozgatom a nyelvem (nemúúúgy). Pont a nyálcsatorna kivezetésén .. én úgy emlékeztem, hogy valahogy ráharaptam, a fogorvos most meg azt mondta, hogy valószínüleg NYÁLKŐ ... a vicc az egészben, hogy pár napja hallottam először ezt a kifejezést a tévébül.
Most pedig terápiás jelleggel kell citromot NÉZNEM és szagolnom. Nem nyalni, enni, bármi hanem NÉZNI :) (oké, értem a fiziológiáját, de akkoris viccess)
A nap egyébként izgalmas volt, az majd a családi blogon íródik meg :)