Blog

Blog

Támadáááááás!

Érdekes látni, ahogy gondos kis robotok végigpróbálják, hogy van-e a szerveren kihasználható biztonsági hibával phpMyAdmin:

162.213.25.66 - - [20/Oct/2014:12:21:45 +0200] "GET //phpMyAdmin-2.10.0.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:45 +0200] "GET //phpMyAdmin-2.10.0.1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:45 +0200] "GET //phpMyAdmin-2.10.0.2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:45 +0200] "GET //phpMyAdmin-2.10.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:46 +0200] "GET //phpMyAdmin-2.10.1.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:46 +0200] "GET //phpMyAdmin-2.10.2.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:46 +0200] "GET //phpMyAdmin-2.11.0.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:46 +0200] "GET //phpMyAdmin-2.11.1-all-languages/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:47 +0200] "GET //phpMyAdmin-2.11.1.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:47 +0200] "GET //phpMyAdmin-2.11.1.1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:47 +0200] "GET //phpMyAdmin-2.11.1.2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:47 +0200] "GET //phpMyAdmin-2.6.1-pl2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:47 +0200] "GET //phpMyAdmin-2.6.1-pl3/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:48 +0200] "GET //phpMyAdmin-2.6.4-pl3/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:48 +0200] "GET //phpMyAdmin-2.6.4-pl4/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:48 +0200] "GET //phpMyAdmin-2.6.4-rc1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:48 +0200] "GET //phpMyAdmin-2.6.5/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:48 +0200] "GET //phpMyAdmin-2.6.6/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:49 +0200] "GET //phpMyAdmin-2.6.9/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:49 +0200] "GET //phpMyAdmin-2.7.0-beta1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:49 +0200] "GET //phpMyAdmin-2.7.0-pl1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:49 +0200] "GET //phpMyAdmin-2.7.0-pl2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:50 +0200] "GET //phpMyAdmin-2.7.0-rc1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:50 +0200] "GET //phpMyAdmin-2.7.5/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:50 +0200] "GET //phpMyAdmin-2.7.6/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:50 +0200] "GET //phpMyAdmin-2.7.7/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:50 +0200] "GET //phpMyAdmin-2.8.2.3/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:51 +0200] "GET //phpMyAdmin-2.8.2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:51 +0200] "GET //phpMyAdmin-2.8.3/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:51 +0200] "GET //phpMyAdmin-2.8.4/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:51 +0200] "GET //phpMyAdmin-2.8.5/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:52 +0200] "GET //phpMyAdmin-2.8.6/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:52 +0200] "GET //phpMyAdmin-2.8.7/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:52 +0200] "GET //phpMyAdmin-2.8.8/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:52 +0200] "GET //phpMyAdmin-2.8.9/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:52 +0200] "GET //phpMyAdmin-2.9.0-rc1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:53 +0200] "GET //phpMyAdmin-2.9.0.1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:53 +0200] "GET //phpMyAdmin-2.9.0.2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:53 +0200] "GET //phpMyAdmin-2.9.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:53 +0200] "GET //phpMyAdmin-2.9.1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:54 +0200] "GET //phpMyAdmin-2.9.2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:54 +0200] "GET //phpMyAdmin-2/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:54 +0200] "GET //phpMyAdmin-3.0.0-rc1-english/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:54 +0200] "GET //phpMyAdmin-3.0.0.0-all-languages/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:54 +0200] "GET //phpMyAdmin-3.0.1.0-english/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:55 +0200] "GET //phpMyAdmin-3.0.1.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:55 +0200] "GET //phpMyAdmin-3.0.1.1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:55 +0200] "GET //phpMyAdmin-3.1.0.0-english/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:55 +0200] "GET //phpMyAdmin-3.1.0.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:55 +0200] "GET //phpMyAdmin-3.1.1.0-all-languages/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:56 +0200] "GET //phpMyAdmin-3.1.2.0-all-languages/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:56 +0200] "GET //phpMyAdmin-3.1.2.0-english/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:56 +0200] "GET //phpMyAdmin-3.1.2.0/scripts/setup.php HTTP/1.1" 404 74 "-" "-"
162.213.25.66 - - [20/Oct/2014:12:21:56 +0200] "GET //phpMyAdmin-3.4.3.1/scripts/setup.php HTTP/1.1" 404 74 "-" "-"

Még jó, hogy nincs... (smile)

Tegnap este jó pár órát töltöttem azzal a tevékenységgel, amelyekkel a kezdő (és sokszor a haladó) fejlesztő nem számol, amikor egy feladatra becslést ad: rejtélyes hibának az okát keresi.

Nem kell komoly dologra gondolni, egyszerűen elő fogok adni egy Java konferencián Android és JavaEE: légy REST! témában, ezért szokásomhoz híven viszonylag korán nekiálltam az előadás anyagát elkészíteni. A peremfeltételek egyszerűek voltak: egy WAR projekt, egy REST interfész, egy EJB(Lite) és persze egy JPA. Triviális dolog, a Java osztályok alig egy tucat sorosak, rajtuk kívül pedig csak egy persistence.xml létrehozásából állt a feladat. A pár perc alatt (tényleg!) elkészíthető demó alkalmazás azonban nem akart jól működni, a percekből negyed órák lettek, a negyed órákból órák és nagyjából fél nap után rájöttem, hogy mi okozta a fura jelenséget.

Mi is volt a fura jelenség? Egyszerűen az EntityManager példány nem akart értéket kapni, akárhogy annotáltam, akárhogy hoztam létre az osztályt, tettem bele bármit, annotáltam akárhogy... nem és nem, pedig a lehető legegyszerűbb EJB osztályra kell gondolni:

@Stateless
public class TokenService {
    @PersistenceContext
    private EntityManager em;

    public final String validate(final String token) {
        System.out.println(em);
    }
}

A WildFly szó nélkül telepítette, elindította, a Hibernate szépen felismerte az entitásokat, létrehozta a sémát, elindult minden, lett JNDI bejegyzés, lett REST interfész is (másik osztályból), csak éppen az em értéke null maradt, hiba sehol, naplófájlokban semmi nyom (na jó, TRACE szintet nem kapcsoltam be). Az alábbi EJB osztály viszont működik:

@Stateless
public class TokenService {
    @PersistenceContext
    private EntityManager em;

    public String validate(final String token) {
        System.out.println(em);
    }
}

Kérem szépen tisztelettel: értem én, hogy ez a final módosító a metóduson nem engedélyezett no-interface view esetén, mivelhogy a specifikáció ezt írja: "All methods exposed through the no-interface view must not be declared final."

 De hogy az alkalmazásszerver ennek ellenére rendben elindítja az EJB-t, szépen működik is minden a naplóbejegyzések szerint... kivéve, hogy nem végzi el az injection-t: az most bug vagy feature(smile)

Próbálok haladni a korral és egy új projektet megpróbálok Git alapokon verzió kezelni, merthogy majd lesz benne sok refaktorálás, létre is hoztam szépen a Git repository-t, tettem fölé HTTP protokollt, éppen kötném be a Jenkins alá, amikor rájöttem arra a nem túl reklámozott korlátozásra, hogy egy repository az nagyjából egyben kezelendő fordítási egység vagy projekt. Nekem például most egy olyan projektem van, ahol lazán csatolva öt különálló modulom van:

  • Common libraries
  • Common data model
  • Android
  • Back end
  • Front end

Ha ezeket külön szeretném verziózni build és release szempontjából, akkor – jelenlegi tudományom szerint – ez öt Git repository létrehozását jelenti, mert nem szeretném egyetlen esernyő alá bezsúfolni a négy projektet, amikor csak puszta adatok mozognak közöttük REST vagy SOAP protokollon, ennél több függés ugyanis nincs a projektek között, leszámítva a Java alapú projektekben közösen használt eszközöket. Tehát például a Back end projekt teljesen önállóan kerül (majd) kiadásra, a külvilág felé REST protokollon JSON alapú interfészen fognak adatok mozogni, értelmetlennek tartom ezen projekt mellé odacsomagolni az Android projektet, amely ugyan használja az interfészen át a szolgáltatásokat, de teljesen más okokból fogok release-t kiadni.

Ha viszont engedek az "each project in its own repo" filozófiának, akkor elvesztem a Git azon előnyét, hogy a fájlok és egész fák mozgását jobban képes követni, mint a Subversion, hiszen a nagyfokú refaktorálás során minden bizonnyal egész fájlok és/vagy metódusok fognak mozogni a projektek között (kód duplikáció elkerülése okán sok dolog át fog kerülni a Common libraries projektbe, illetve projektek közötti mozgás is elképzelhető). Ebből a mozgásból a Git nem sokat fog látni, mert egyik független repository-ból kiveszem és beleteszem a másik független repository-ba.

Én most egy kicsit megakadtam... segítsetek kicsit: valamit rosszul gondolok vagy ilyen feladatokra nem való a Git?

...nagy lépés nekem – az országból...

...mert ezt magyarországi Developer Console regisztrációval nem lehet megoldani. (smile)

Tegnap este megnéztem az Atlassian egyik agilis módszertanról szóló élő (Webinar) előadását, amelyben előkerült a(z általam már App!Mobile 2013 konferenciáról ismert) Lean Canvas alapján készített Experience Canvas (letölthető pdf):

Image of the Experience Canvas

Az előadásban és a blogbejegyzésben levezették, hogy miért hasznos egy ilyen "kártya", amely lean szemléletben hatékonyan és mellébeszélés nélkül tartalmazza egy probléma (vagy tapasztalat) gyökerét, okait, okozatait és a megoldása felé teendő lépéseket.

Magánzárka

Az előző DigitalOcean bejegyzés folyománya, hogy a Confluence is külön virtuális szerverre került, ahol nem zavarja senki és semmi – kivéve talán a fizikai gépen mellette levő egyéb virtuális gépek, de egyelőre nem láttam kifejezett lassulást vagy éheztetést, teljesen sima és egyenletes a kiszolgálás, ami nem volt jellemző a közös gépen osztozó régi megoldás esetén.

Az alábbi ábrán a Confluence netdiag.hu általi mérése látható, az új szerverre való átállás 18-án 17 órakor történt, jó látszik, hogy milyen néhány perces kiesések voltak, illetve előfordultak több tíz percig tartó lassulások (12 másodperc feletti válaszidő már szép piros színű). 19-én valószínűleg volt egy hálózati karbantartás (másodpercre pontosan éjjel kettő órától hajnali hat óráig tartott), amely az Integrity és a DigitalOcean között állt fenn, és jelentős lassulást okozott.

Remélem a továbbiakban is ilyen szép egyenletes lesz a Confluence válaszideje a frissítéseket követő újraindításokat leszámítva... (smile)

DigitalOcean

Hmm... bámulatos, hol tart már a modern cloud VPS technológia: 512MB RAM, 1 CPU, 20GB SSD Disk, 1TB Transfer, CentOS 6.5 x64 = $5.00/month

Nagyjából fél óra alatt költöztettem át oda a FishEye-t, ugyanis már éppen nem fért el kényelmesen a jelenlegi 8GB memóriát tartalmazó szerveren, a swap használat pedig belassította a többi komponenst, ezért sokszor nem futott, pedig hasznos egy jószág. A Jenkins volt a következő, amely ugye CPU, memória és I/O intenzív... már amikor éppen fordulnak és tesztelődnek a projektek, ezen túl pedig alig terheli a gépet. Érdekes, hogy a szolgáltatások a magas swap arány (memory.html) ellenére se mondhatóak lassúnak, mondjuk a swap használat eléggé minimális (swap.html), leginkább a szolgáltatások indulásnál jellemző, szóval SSD-n swap-et kialakítani egészen használható dolog... (smile)

 Nagyjából egy hete megy a DigitalOcean két szerverén a Fisheye (http://fisheye.javaforum.hu/) és a Jenkins (http://jenkins.javaforum.hu/), eddig gond és probléma nélkül, a válaszidő és a teljesítmény arányos a virtuális gép tudásával, ugyanis a legkisebb választható konfiguráción futottak az említett szolgáltatások, de a tegnapi és a mai napon a legkisebb csomagról egyet felfelé léptem az 1GB RAM, 1CPU, 30GB SSD Disk és 2TB Transfer irányába, és egymás mellé csomagoltam két-két szolgáltatást, így a source.javaforum.hu gépre került a FishEye és a Sonar; a build.javaforum.hu gépre pedig a Jenkins és a Nexus. Kicsit meglepődtem, de várható volt, hogy a második csomagban az egy CPU erősebb, mint a legkisebb csomagban lévő szintén egy CPU, ugyanis a csomagkészítések jelentősen gyorsultak, nagy átlagban elérték a két virtuális processzort használó Integrity VPS teljesítményét:

CsomagnévIntegrity VPS512MB/20GB1GB/30GB (1.)1GB/30GB (2.)1GB/30GB (3.)
javaforum20-parent01:0002:5601:0101:2600:52
javaforum2004:4810:0004:2304:0403:43
falldown02:2904:5205:4805:2904:45
facebook-android-sdk04:3708:0902:2302:0901:54
confluence-privmsg04:0110:0004:0605:3803:15
confluence-parent03:5106:5903:3503:3103:17
androidsoap03:4107:5204:3504:0503:36

Nekem egyelőre jobban bejött, mint az Amazon EC2! Ha ki szeretnéd próbálni, akkor az alábbi linken regisztrálva kapok $10 kedvezményt: https://www.digitalocean.com/?refcode=b5aac462ada2

Kiadó a lakásom...

..albérletként. (smile)

Cím: 1039 Budapest, Jendrassik Gy. u. 2. (III. kerület, Békásmegyer, öt percre futólépésben a HÉV megállótól és az éjjeli busztól és van mindig parkolóhely is)

Maps:  https://www.google.hu/maps/preview#!q=1039+Budapest%2C+Jendrassik+Gy%C3%B6rgy+utca+2

A lakás 55 m2 alapterületű, egy tíz emeletes panelház ötödik emeletén egy vakfolyosó végén található. A lakóközösség nagyjából nyugdíjas korú, nem szoktak hangoskodni, de a panelben szokásos módon lehet tudni, hogy épp ki mikor húzza le a WC-t. A lakásban két külön nyíló szoba van, amelyek egy előtérbe nyílnak, ezt egy szekrény választja szét egy előszobára és egy étkezőre. A két szoba között van a világos konyha, a bejárat mellett a fürdőszoba és a WC. Mint a következő fotókon látható, fel van újítva és átlagos életvitelhez be van rendezve – na jó, vannak, akiknek TV és mikrohullámú sütő beletartozik az életvitelébe :), tulajdonképpen azonnal be is lehet költözni. A rezsi átlagban 30-35 ezer forint között jön ki egy hónapban, a bérleti díjban meg tudunk egyezni szerintem, elsősorban ismerősnek adnám ki, hogy ne álljon üresen... (smile)


A nappaliban az ablakkal szemben egy tágas szekrény – a könyvek egyelőre a lakás részét képezik (smile)

Egy normál íróasztal van a lakásban, amelyhez három fiók is tartozik, a szekrény alatt pedig egy Wi-Fi router nem látszik

A kanapé kinyitható egy két személyes ággyá, de kis termettel egyedül is lehet rajta aludni, a sarokban mobil klíma alussza téli álmát

Az öntözendő virágok is a lakáshoz tartoznak, az ablakokon túl egy viszonylag nagyobb erkély (loggia) van, ott is öntözendő virágokkal, ha túlélik a telet

A TV helye a lakásban, alternatív módon kivetítővel lehet mozizni és vászon az egész fal... (smile)

Az étkezőben éppen el lehet férni négyen bizonyos kompromisszumok árán, kis testűek előnyben

A falióra tartozék, az ajtón fityegő mikulás is, az előszoba járólapozott, a szobák parkettázottak

Az étkezővel szemben van a konyhaajtó, mellette a hűtő, a falakon fűrészporos tapéta (és képek)

Látkép a konyhába az étkezőből, az ablak elég fényt ad, ha odakinn elég világos van

A konyhaszekrény tele van mindenféle cuccal és földi jóval – a pontos összetétel változhat, a jobb felső teáskannát már elvittem (smile)

A konyha lambériázott, polcokkal és szekrényekkel jól ellátott, a tűzhely átalánydíjas gázüzemű, tehát nyugodtan lehet sokat sütni és főzni

A padló az előszobával azonos járólap, a mosogatónál két éve cseréltem a műmárvány pultot

A bejárati ajtó cserélve lett biztonsági ajtóra, jobb a hangszigetelése, a kép bal oldalán fogas, a jobb oldalán egész alakos tükör (smile)

Látkép a kisszoba ajtajából, a tükörből pont rálátni a konyhára, hogy kész van-e már a kávé... (smile)

A kisszobában is van szekrény, főképp ruháknak és persze tükörrel, a szekrény tetején elszáradt növénymaradékkal (smile)

Az ágy minimalista design, de legalább kényelmesek a matracok és nehéz róla leesni

Van "szobainas", vasalódeszka, vasaló, a képen nem látható ruhaszárító

Az ablakon bambusz roló, a szoba így sötétíthető, ha a függöny kevés lenne

A mosógép szinte mindenre jó... főleg mosásra... (smile)

Felújított fürdőszoba, szép nagy tükörrel...

...és káddal, a mosdó alatt kis szekrénykével a cuccoknak.

És egy régi alaprajz a vásárlás korszakából. (smile)

Negatív szkenner

Vettem egy olcsóbb és egyszerűbb negatív szkennert, amivel majd jól digitalizálom a 2006-ig felgyűlt fotóimat, egy olcsóbb (használt) eszközzel kezdtem, egy ION Film2SD géppel, amely képes rögtön SD kártyára menteni a beolvasott képet... nos, nem vagyok túlságosan megelégedve a minőségével, kipróbáltam egy már korábban (profi laborban) 1600dpi felbontáson beolvasott negatívval, a két kép közepéből kivágtam egy azonos részletet, az eredmény:

ION szkenner

"Profi" szkenner

Van némi különbség... azt hiszem jobb szkennerre van szükségem... (smile)

Közel egyidős a Galaxy Note megvásárlásával az a halvány érzésem, hogy a fontos cuccaimat szeretném felmásolni a telefonra, így lenne egy biztonsági mentésem, illetve így ebben a formában bárhol és bármikor elérhetőek ezek az állományok. A telefon pár napos korában belebotlottam egy videóba, ahol azt mutatták meg, hogy egy Galaxy Note képest kezelni a 64GBájt kapacitású SD kártyát, holott a Samsung szerint "up to 32GB" a támogatott; ezek után nem volt igazi kockázat abban, hogy külhonból rendeljek egy SanDisk microSD kártyát, mivel egyrészt kis hazánkban nem igen kapni ekkora kapacitásút, ha mégis, akkor csak drágán (24 és 32 ezer forint között szórtak az árak), ehhez képest az 50 euro + postaköltség – ha nem is fele annyi, de jelentősen olcsóbb.

A kártya ma megérkezett, és bizony mondom néktek, működik vala:

Jó... jó... de mi fér rá?

Például 8 órányi 1080p videó:

A Gartner elkészült a 2012Q3 eladási adatok feldolgozásával és közzétett néhány táblázatot, ezekhez hozzátettem egyéb platformok adatait, így az alábbi négyből rajzoltam grafikont:

  • desktop, laptop, notebook és netbook eladások
  • tablet eladások
  • smartphone eladások
  • console eladások

...majd elé csaptam még három év adatát (előzmények: IT trendek 2009Q2 - 2012Q2).


 2009 Q22010 Q22011 Q22011 Q32012 Q22012 Q3
Desktop662918286787557917688746987500
Tablet0?350015042172002499424700
Smartphone4060061700107704123700153686179700
Console1312011430113401130077807750

Nagyon szépen látszik, hogy a hagyományos számítástechnikát évtizedeken át megtestesítő eszközök eladásai belassultak, majd egyszerűen megálltak, míg a mobil eszközök ezzel egy időben szárnyalnak. Sejteni lehet, hogy a smartphone eladások ekkora növekedése mögött valószínűleg egyszerűen az áll, hogy az emberek 2-4 évente lecserélik a mobiltelefonjukat és mostanság nem igazán lehet olyan mobiltelefonokat kapni, amelyek nem az okostelefon kategóriába tartoznának. Az igazán érdekes trend a tablet eladások növekedése, amely most nagyjából a desktop eladások 30 százalékán áll. Bár már látszik némi megtorpanás a görbén, a mostanában kitört árháború (iPad mini, Kindle Fire, Nexus tablet, Surface, stb) okán valószínűleg az eladások tovább fognak növekedni.

Jóslat

Mit hoz a jövő? Véleményem szerint igaza lesz Steve Jobs-nak, a PC olyan lesz, mint a (kis)teherautó: mindig szükség lesz rá, mindig lesznek, akik (kis)teherautóval járnak, de otthonra már felesleges.

Egy Note nap

Samsung Galaxy Note

Jó pár hónapot gondolkodtam azon, hogy a jelenlegi (illetve néhai) HTC Desire HD telefonomat lecseréljem egy Samsung Galaxy Note telefonra, amelyben a toll (S Pen) fogott meg igazán, mivel az okostelefon érát megelőzően hosszú évekig PDA-telefont használtam, amelyek a rezisztív kijelző okán alapvetően tollal voltak jól használhatóak. Az új telefon keresését a HTC azon kijelentése gyorsította fel, hogy a Desire HD nem kapja meg az ICS frissítést, míg a vele hardverben szinte egyező két másik telefon igen.

Alapvetően a Note második kiadása érdekelt volna jobban, de annak a legolcsóbb – közel 190e forintos (webshop 185e + futár) – ára bőven felette van a lélektani határomnak számító 120-130e forintos korlátnál, egy "legális" beszerzési forrásból pedig akár a 210-220e forintot is el fogja érni a Galaxy Note II ára. A hivatalos beszerzési forrással ugyanis jár néhány olyan szolgáltatás, amelyet az olcsóbb források nem tudnak biztosítani, például a Samsung szervizfutár, amely alapján a Galaxy Note telefonhoz – mint kiemelt eszközhöz – helyszíni hibajavítás is jár, illetve ha nem javítható az általam megjelölt helyszínen, akkor nem nekem kell a garanciális ügyintézéssel foglalkozni... egy kis darab szar persze került a svédasztalra, mert a cserekészülék minden esetben egy Galaxy Ace...

A képen nem látható, de a Note mellett eltörpülő Desire HD se kicsi a maga 180 grammjával és 4,3" kijelzőjével, ám a hasonló súlycsoportban lévő Galaxy Note bizony nagy, nem kicsit, nagyon... persze csak az első pár óra használata során van ilyen érzése az embernek. Ma reggel elkezdtem átköltözni a régi telefonról az új telefonra, és percről-percre, óráról-órára úgy éreztem, hogy a Desire HD tulajdonképpen egy kicsi telefon, és kezdem nem érteni, miképp tudtam ezt a kis telefont másfél éven át örömmel használni. Ugyanezt éreztem, amikor az első Android telefonomról – ami egy Samsung Galaxy Spica volt – költöztem át a Desire HD telefonra: mi ez kis játéktelefon ezzel a bélyeg méretű kijelzővel?!

A fenti fotón nem csak a méretkülönbség látható, hanem a Sense és a TouchWiz közötti különbség is, ami okán úgy vagyok a Samsung megoldásával, mint a rendőr a madarász ebbel: vagy átvertek vagy nem dobom elég magasra, mert az időn, a dátumom, az időjáráson és a többi egyéb apróságokon túl nem tudok gyors-gombokat kitenni erre a képernyőre, amelyek közül például a "Camera" ikont a gyűrűbe húzva egy mozdulattal tudok fotózni és ez hiányzik. Nagyon...

A feloldás után is a Sense és a TouchWiz közötti apró különbségeket látom, amelyektől egy HTC kezesbárány lesz, a Samsung esetén pedig egy rodeón érzem magam. A TouchWiz szánalmasan kevés widget-el rendelkezik (vagy nagyon jól rejtegetik ezeket a komponenseket), a Sense pedig tobzódik ezekben a különféle méretű, arányú és funkciójú animált és effektezett modulokban, könnyen találhatunk magunknak olyat, amelyik egy sorban mutatja a naptárban a következő eseményt, a klasszikus Sense lapozós óráról nem is beszélve.

A másik probléma az előzővel összefügg: a létező widget halom is ronda a HTC megoldásaihoz képest... az időt és dátumot mutató sor egyszerűen fájdalmasan egyszerű és borzasztóan néz ki, ezért első dolgom volt feltenni a korábban a $0,10 akcióban megvásárolt HD Widgets programot, amely okán már kényelemben érzem magam... (smile)

Egyelőre még ismerkedek a lehetőségekkel, illetve az adataimat migrálom a régi telefonról az új telefonra, s erre három nagyon hasznos programot találtam (nem root-olt telefonokra is működnek!):

  • Call Backup & Restore, amely a híváslista mentését és visszaállítását végzi
  • SMS Backup & Restore, amely az SMS-ek mentésében és visszaállításában segít
  • SMS Backup, amely az SMS-ek tartalmáról rendszeres mentést készít a gmail fiókba (mivel általában van egy számossági határ, ameddig a telefon tárolja egy szálban az üzeneteket)

Ezen túl az adatok felhalmozó (és általam használt) alkalmazások nagy része már rendelkezik backup - restore vagy export - import funkcióval, kisebb részét pedig a játékok teszik ki. Az igazi fejfájást a böngésző okozta, amelyből se a könyvjelzőket, se a mentett jelszavakat, se a mentett űrlapmezőket nem tudtam kimenteni, így visszatölteni sem. (sad)

Alapvetően a telefon nagyon egyben van, a hátlapot rendesen visszapattintva és körbenyomogatva nincs nyekergés, a fogása jó, a gombok alapvetően jó helyen vannak (csak máshol, mint ahova a HTC teszi azokat)... csak sok kis apróságot kell még megszoknom, amelyek sok kis apró bosszúságot okoznak, amikor a másfél év alatt megszokott mozdulat után nem az történik, amire gondoltam... (smile)

További problémám, hogy a két telefon billentyűzete nagyon eltérő: a bal oldali képen látható felül a Sense billentyűzet, alul a TouchWiz billentyűzet. A Sense billentyűzetén alul van négy kurzormozgató gomb, amelyekkel kényelmesen lehet mozogni a begépelt szövegben, ha vissza kell lépnem javítás miatt pár karaktert, akkor ezt néhány pöccintéssel meg tudom oldani, míg a Samsung esetén ehhez elő kell vennem a tollat és ráböknöm arra a pozícióra, ahol javítani szeretnék. Ugyanez a helyzet az írásjelekkel, a Sense esetén kicsit hosszan nyomom az adott gombot, és megjelenik az ékezetes betűkkel együtt az adott szimbólum, míg ehhez TouchWiz esetén külön meg kell nyomnom a szimbólumokat bekapcsoló gombot, megnyomnom az adott jelet hordozó gombot, majd visszakapcsolni szöveg módba... fárasztó dolog, ha így akarnak a kézírás-felismerő felé terelni, akkor jó úton haladnak... (smile)

Kisebb zavaró apróságok:

  • (error) A HTC-nél a gyári fülesen az előző és következő számot lehet kiválasztani, a Samsung fülesen pedig a hangerőt lehet befolyásolni, a HTC fülest a Samsung-ba dugva szintén (ezen mondjuk nem csodálkozom)... vajon be lehet valahol állítani, hogy a hangerő helyett az előző-következő funkció működjön? – erre megoldás lehet a Headset Button Contoller, de úgy néz ki, hogy nem működik
  • (error) Nem találtam lehetőséget a fényképezésnél a shutter némítására, és a telefon némítása nélkül bizony túl hangos... és szerintem felesleges is. – erre egyelőre nincs megoldás
  • (tick) A telepített alkalmazások listája ömlesztett, nincs automatikus rendezési lehetőség, kézzel kell átmozgatni a nekünk tetsző helyre – ezen segít az AppZorter for TouchWiz (köszi Zsolt!)
  • (tick) Nincs külön LED, ami jelezné, hogy üzenetem vagy hívásom érkezett – erre megoldás lehet a NoLED
  • (tick) A toll használata közben érzékeny marad a kapacitív felület is, így ha a kezemmel hozzáérek a képernyőhöz, akkor oda is rajzol, ahol nincs toll – menüben bekapcsolható, hogy csak a tollat érzékelje
  • (error) Angol billentyűzet módban nincs ő és ű betű, csak a kalapos változata, magyar nyelv esetén van minden ékezet, ami angol módban, plusz rendes ő és ű is

Kisebb pozitívumok:

  • A telefont nem csak a be- és kikapcsoló gomb megnyomásával lehet felébreszteni, mint a HTC esetén, ahol nincs hardveres gomb, hanem a két érintőgomb között ott van középen a fizikai gomb.

Pár napja merült fel bennem, hogy a kb. 2006-ban kezdődő digitális korszakom előtti filmes korszakom terméseit digitalizálnom kellene, elő is kaptam a dobozkát, amelyben a papírképek alatt a negatívokat tartom, és terepszemlét tartottam, hogy milyen lehetőségeim adódnak arra, hogy viszonylag kevés munkával tűrhető minőségben digitális formára alakítsam a képeimet...

A lehetőségeken kissé elszomorodtam, mivel alapvetően három utat tudok választani: egy profibb fotócikk boltba beadom a tekercseket, és ott elvégzik a munkát; esetleg veszek jó pénzért egy negatív- és diafilm szkennert, majd a hideg téli napokon elszöszölök a képek feldolgozásával; illetve barkácsolok egy átvilágítós asztalkát, és állványról fotózom az egyes filmkockákat.

Alapvetően az első opció felé indultam el, mivel második opció vagy túlságosan drága egy tekercset feldolgozni képes szkenner,  vagy kicsit olcsóbb az eszköz, de időrabló tevékenység; a utolsó meg egyértelműen időrabló. A fotó levelezőlistán feltett kérdés után viszont azt láttam, hogy az első opció se olcsó.

A legtöbb helyen ugyanis 50-60 forintért vállalnak negatív digitalizálást (például az http://emlekmento.com/hu/dia-szkenneles-negativ-szkenneles oldalon a nekem első körben teljesen megfelelő közel fullHD felbontású 1200dpi digitalizálás 50 forint filmkockánként), ami a dobozkámban lévő 34 darab (vegyesen 24 és 36 filmkockás) átlag 30 filmkockát tartalmazó tekercset tekintve nagyjából 50 ezer forint lenne (és ebben még nincs benne a hatosával felszabdalt diafilmre fotózott gyűjteményem... a tekercsenkénti átlagos 1500 forint kicsit több, mint a lélektani határként felállított 1000 forint / tekercses ár, de sajnos olcsóbb lehetőséget nem találtam.

A digitalizálás mellett két okból döntöttem, egyrészt szeretném, ha lenne egy másolat a képeimről, illetve a fontosabb képeimről – mivel jó részük értéktelen (főleg a kevéssé jól sikerült tájképek vagy az életem korai szakaszában készült bemozdult vagy életlen képek), sok képem az évek távlatából már nem hordoz olyan információt, amely nekem bármit is jelentene, másoknak pedig még ennyi értéket se jelentenek.

Másrészt nem szeretném, ha idővel a fontosabb képeimnek a tekercse az alábbi két képen láthatóhoz hasonlítana, amelyet a többi – egészségesen kinéző – 35 tekercs között találtam:

Jól láthatóan levált a film információhordozó rétege, így megközelítőleg helyrehozhatatlanul elveszett a rajta található képek nagy része, a töredékekből tudtam csak megállapítani, hogy egy kevéssé fontos főiskolai kirándulás képei semmisültek meg.

 

A Deezer két hete

Mint írtam volt, előfizettem a Deezer zene-szolgáltatásra, amely a Telenor és a Deezer közös akciója révén az év végéig ingyenesen használható (jövő januártól 1390 forint lesz a havidíj).

Eltelt az első két hét, amely idő alatt sok-sok zenét hallgattam meg, nagyobb részét az asztali gépen, kisebb részét a mobiltelefonomon; ezen zenék közül csak a mobiltelefonra töltöttem le néhány albumot, hogy sávszélesség szűkében lévő helyen is tudjak némi zenét hallgatni, ugyanis a legtöbb helyen elérhető 3G sebesség teljesen megfelelő, de a város nagy részén van HSPA lefedettség, amely végképp bőven sok a 128kbps változó bitrátával kódolt MP3 online letöltéséhez. Természetesen az offline módban letöltött MP3 állományokon van egy minimális trükközés, hogy ne lehessen lemásolni vagy továbbküldeni, de ezért a havidíjért ezt el tudom fogadni. Ha mégis szeretnénk magunkénak érezni egy-egy zenét, akkor a kedvenc zeneszámokat vagy albumokat egy mozdulattal meg lehet vásárolni az amazon.com áruházból, ahol $0,5 és $2 közötti áron vehetünk egy-egy zeneszámot:

 

Feltéve, hogy amerikai területről próbáljuk megoldani a vásárlást, különben egy hibaüzenettel találkozunk a vásárlás során, hogy nem a megfelelő országban élünk:

 

Eleinte csak módjával használtam a Deezer alkalmazás online módban a mobiltelefonomon, mivel nem szerettem volna belefutni abba a pofonba, hogy a Telenor esetleg mégse adja ingyen a sávszélességet, aztán néhányszor rápillantottam az online.telenor.hu oldalon a forgalmi statisztikáimra, illetve a telefonom statisztikáira, és megnyugodtam, hogy a Deezer zenehallgatás valóban ingyen lesz év végéig, ugyanis a szolgáltató nagyjából 300MBájt adatforgalmat mért a hónap közepéig:

 

Ugyanakkor a Deezer alkalmazás már közel 1,5GBájt adatot töltött le a Telenor hálózatán át, a 300MBájt adatforgalom a többi alkalmazás működésének hozadéka:

 

Természetesen vannak negatívumok is, hiszen egy szolgáltatás ritkán tökéletes... (smile)

Első körben a magyar zenék hiánya tűnt fel, a Deezer kínálatában hirdetett 18 millió zene elenyésző része származik kis hazánkból, de – gondolom a Telenor hatására – napról-napra egyre több hazai előadó műveit hallgathatjuk, bár a repertoár sose lesz teljes.

Második probléma gyökerét nem egészen értem... egyszerűen kiszürkülnek a már nem is egyszer hallgatott zeneszámok, a hozzá tartozó üzenet szerint az adott zeneszám nem érhető el Magyarországról:

 

Holott a legtöbbet hallgatott tíz zeneszám között is ott van, pont a napokban lett elérhetetlen:

 

A 'Lake Constance' az összes Mike Oldfield albumból elérhetetlen lett, ugyanakkor az album más zeneszámai elérhetőek maradtak, mint az 'Etude' vagy a 'Shadow On The Wall', s ami még érdekesebb, a mobiltelefonon futó Deezer alkalmazás teljesen más zeneszámokat tett elérhetetlenné (ez esetben nem kerül szürkítésre, nemes egyszerűséggel nem listázza a letölthetetlen számokat). Ahogy az alábbi képen is látszik – balra az asztali számítógépen látható lista, jobbra a mobiltelefonon látható lista, mindkettő a 'Two Sides: The Very Best of Mike Oldfield' albumon elérhető zenéket listázza:

Mindezt ugyanarról a WiFi hálózatról... szóval nem értem, hogy mi alapján szúrnak ki velem, de valahogy túlteszem magam az ügyön.

Összességében tetszik a szolgáltatás, s remélem, hogy meg fognak oldódni a problémák, illetve nem jönnek elő újabb meglepetések... bár végül is még három hónapig ingyen van, minek panaszkodom... (smile)