tech


(This post is partly a response for the Webisztan post for iPad owners)

So, yes, I bought an iPad recently.

Why?

For some reasons, I cannot bring too much pack with me, and I had a half-vacation trip to Amsterdam. Four days, which means, you shouldn’t really bring your laptop with you (nearly 3 kilograms, how I regret that I switched to 15 cols, I don’t need the large display…), yet it’s definitely good to bring some computing power.

I looked at the Androids, and after holding an Android phone for 2 hours in my hand, I decided that this platform is underperforming for me.

I knew that webOSes are also slow, an I would have to wait for them until christmas shopping season at least anyway.

Average netbooks? I used one with linux (moblin, perhaps?), and brought one with me to Paris with windows (thanks again, Balazs), they’re awfully slow, and the reason we brought it with us - namely: calling parents on skypeout - didn’t work: you could skype-skype, but somehow, no skypeout on Atom…

So, why are they slow? Answer is: they have traditional multitasking.

So, this left me with the Apple option. I’m a mac user since 5 and a half years, and it took me just some googling to get an iPad a few days before the trip (they weren’t introduced then in the Netherlands). For the technically curious, it’s a 64-3G, just to make sure I don’t regret buying a smaller one - although 32GB would be also fine.

The thing is, I bought it for work, which it half-failed.

Especially in Amsterdam, when I had to create a homepage, and I couldn’t switch easily between the SSH terminal (vim - editor… ) and the safari browser. I planned to use VNC, but somehow, unusually my home computer was frozen (thanks for Kelt for checking that it wasn’t stolen), so I had to rely on the machine.

But guy, what an immersive platform it is!

The difference between a device with such form factor and a full-blown computer is simple: a computer is a computer; an iPad becomes the thing you’re running on it.

If you use it as a notetaker, it becomes your notepad. If you use it as a piano, it becomes a piano (although it’s easy to miss the keys). If you use it as a drawing board, it becomes your drawing board.

And it’s that easy. The window is the iPad.

Now, let’s get back on why on Earth people need multitasking?

Because they need to switch between things!

In fact, I don’t find it that hard: I can easily switch between mail, safari, and BeejiveIM (an MSN/Gtalk client), press the button, click. The reason of this is that every application stores its last state on flash, and opening it just reloads (we call this serialization, or using the name from the 90s: permanent computing).

So when you close an application, it doesn’t ask for saving the document you’re working on. The next time you open it, it will stay the same, so it will feel just like multitasking.

So, ‘perceived’ multitasking works, and things are blazingly fast - since the computer does only the one thing it became.

There are two things which cannot be handled this way.

The first obvious thing is an alarm clock: you cannot have a good alarm clock on iPad in the background. Also, you can’t play music, especially not youtube music videos in the background, not that it would be feasible for an ARM processor I believe, since streaming video needs the most power from such devices.

The second thing is about network connections (sockets) - although few things need it (my only example is SSH) it makes your life really hard if you can’t keep them.

Maybe it would be good if chats could be open like in GMail, but we’ll have to see how this works on the ChromeOS tablets, and it’s easy to see the limits of such an interface.

So, the iPad is a suitable device for on-the-go. I know it’s a bit heavy, but still I bring it with me to a lot of places. It’s more convenient to use than a phone, and you can solve a lot of things with it.

The most used apps so far:

  • Safari, of course (check timetables, or anything on-the-go)
  • BeejiveIM (talk with your friends in unusual places and situations)
  • iBooks (yes, you can read books on it - it has a brightness setting. Also, it eats .epub and PDFs)
  • OmniGraffle (it’s really immersive to draw on a drawing board, instead of a computer)
  • Virtuoso (a piano app - it’s much more fun creating music than to listening on it)

Disatvantages

First, the sound quality of iPad is below my expectations, so I still prefer to listen to music on computer, but for those who can’t hear the difference between the different qualities of bitrates, it could be fine.

Second, the Mobile Safari programming is harder then expected: For example, there’s no focus() function, so you can’t lead the user through a form easily; or there’s no contentEditable, which basically kills any WYSIWYG HTML-Editor support.

Also, the built-in apps are rather primitive: I’d laugh my ass off at anybody saying that iPad mail is full-featured; at least it could load pictures of people from the addressbook… Or maybe could I type bold text? (BTW, rich text editing is basically missing on the whole platform - except for the Pages app)

Oh, and you can’t attach a photo to a mail, but you can mail a photo. Cute, isn’t it?:)

Even the calendar app is strange: you cannot add new events by clicking (tapping) on their place: you have to press the plus button in the corner, set the date and time from a dropdown, and save it.

So, it does feel like I’m holding a prototype now; but hey, I haven’t seem too much prototypes this fast and usable.

Let’s see what the new OS brings. I hope they won’t ruin the speed of the device.

(Kettő és feledik rész, linkajánló)

A tapasztalatom az, hogy a magyar programozók, ritka ám tiszteletreméltó kivételektől eltekintve, nem szeretik, nem is értik a javascriptet. A legtöbbje backend ember, jobban megbízik a statikus nyelvekben. Szíve joga.

Egy magyar srácot hallani beszélni arról, hogy hogy használják a javascriptet szerveroldali nyelvként, mennyivel biztonságosabb és skálázhatóbb(!) a javascript kód a javahoz képest, mennyivel egyszerűbb javascriptes embereket szerezni egyszerre meglepő és felemelő érzés.

A java számomra egyértelműen túl van értékelve. Persze nem azért szidom, mint mások, de ettől még nem mindig jó megoldás ott, ahol használják, és komoly problémák vannak vele nyelvi szinten is.

Hallgassátok hát Szegedi Attila előadását a Javascript üzenet-orientált banki rendszerükről az InfoQ-n.

Frameworköt írni nem egy nagy dolog.

Tulajdonképpen minden jó programozó tud frameworköt írni, és a legtöbbje ír is. Persze a Jó Programozó azt is tudja, más, mégjobb programozók írtak frameworköket, így ő, ha teheti, nem ír sajátot.

Mi nem tehettük meg: nincs sok PHP4 framework, és létező kódhoz kellett hozzáírnunk, természetesen egy szigorú security audit előtt (aminél jobb, ha nem a mi kódunk bukik meg.)

Mi is kell egy webes frameworkhöz?

  • Adatelérési réteg
  • “Routing” (méltánytalanul keveset beszélünk róla)
  • Validáció
  • Template-ek és logika kettéválasztása.


  • Az “Architect dolgok” második része erről szól.

    (more…)

    Egy kis időt sikerült eltöltenem az iWiW új kezdeményezésével, az OpenSocial platformjukkal.

    Először is hadd fejezzem ki az örömömet az ezt lehetővé csapat, így többek közt Szabó Márton volt, és Benedict András jelenlegi vezető felé, hogy meglépték azt amire páran csak mítoszként tekintettek: nyitni próbálják az iWiW platformot. Itt elindulhat valami olyasmi, amihez hasonlatos eddig nem volt az országban, és ezt komolyan csak megköszönni lehet nekik.

    A nyitás természetesen felemás: egyfelől sok kritika éri őket az ÁSZF miatt, amibe én nem megyek bele, másrészt pedig az, hogy OpenSocialt választottak platformnak egyszersmind jó is és rossz is, ebbe azért egy picit belemennék.

    Az OpenSocial mint a Script Kiddie-k Mount Everestje (vagy Antarktisza?)

    Nem tudom, ki mennyire ismeri a Google eme kezdeményezését, akár Bártházi András, akár az én véleményemet olvashattátok megjelenésekor (meg persze kismillió más emberét.) Ez egy tisztán javascriptre épülő platform, olyannyira, hogy dinamikus szerveroldali kódot gyakorlatilag csak és kizárólag AJAX kérésekkel lehet lekérni, nincs az, hogy én akkor itt most linkeket rakosgatok be meg hasonlók.

    Ez a hátránya is: kevés jó JS-programozót ismerek Magyarországon, illetve ismerek jópár kivételesen jót, meg egy csomót, aki nem igazán érti. Ez lehet jó is meg rossz is.

    Egyfelől ha Kispistike 8. b osztályos tanuló ill. Kovács János, aki az informatikai szakközép után megalapította a Will Code in PHP For Food Bt-t, nem küldi be a requesteket, hogy miért nincs engedélyezve a register globals, ill. a portál grafikai világa nem süllyed le a magyar myspace szintjére (és itt picit az amerikai myspace-re is célzok), hanem csak az igazán jó appok lesznek rajt, ez jó.

    Ugyanakkor lehet, hogy kevés app lesz rajt emiatt (is).

    Lehet, szükség lenne arra, hogy Kispistike megtanulja az informatikát, esetleg csak a javascriptet, és erre tök jó pont lenne az iwiw.

    Vagy az is lehet, hogy Kispistike Kovács Jánossal egyetemben nem tanulja meg az informatikát, vagy ami rosszabb, ha mégiscsak elkezdenek (gyenge kódminőségű) appokat építeni, a Virgo véletlenül bennfelejt egy security hibát, ami Kovács János appjával már csak súlyosbodik, és ezt kihasználják, az rossz.

    Én, magánszemélyként, programozóként szívem szerint jobban örültem volna egy facebook platformnak, kiforrottabbnak érzem, nyitottabbnak, magasabb szintűnek (érted, a barátok meghívása annyi, hogy akkor barát widget <fb:friend-selector>…), de tökéletesen megértem a szakmai indokokat az OpenSocial mögött, és nyilvánvalóan ez egy döntési helyzet volt, ahol több előny halmozódott fel az iWiW-es szemszögből e technológia mellett. Ennyi.

    Kezdeti bátortalanságok

    Egy picit azért félek még így is. Félek, befut-e.

    Egy ilyen nagy rendszernél nem mindig sikerülnek teljesen a dolgok. Sokminden marad felemás, értelmezhetetlenül hiányos. Sokminden van a mostani funkcionalitásban is, amit nem tudok magamnak terheléssel indokolni. De a változások előbb-utóbb lassúak lesznek.

    Szerintem most tessék szólni.

    Van ilyen természetesen az opensociallel is. Egyelőre két dolog:

    • becenévkezelés: Vannak emberek, akiket mindenki csak a becenevén ismer. Kelt pl. valamelyest ilyen: sok Ádám nevű ismerősöm van (a 80-as években ez divatos név volt.. khm :) , és nem biztos hogy egy “Ádám új dolgokat művelt az iWiWen” linkre annyira rákattintanék, mint egy “Kelt új dolgokat művelt az iWiWen” linkre. Hadd használjak becenevet! Hadd rakjam össze vizuálisan a barátlistát olyanra, ami az iWiWes megszokott rózsaszín zöld (thx Gazs)! (kapcsoszárójel becenév). Tudom, hogy az emberek vesszővel megadják az összes becenevüket, de én ebből kiparse-olom szívesen az elsőt. Vagy szedjétek ki Ti. Csak legyen ilyen, kérlek.
    • városok: A WiW annó tudtommal városorientált akart lenni. Pont olyan, soha el nem készült funkcionalitások miatt, amik tipikus API alkalmazásokba valók. Sokmindenhez kellhet. Tudom, hogy Bivalypárosodnádon a Rottenbiller Emánuel az már személyes adat, de elvégre Városszavazásról volt eredetileg szó, nem tanyaszavazásról! Legyetek szívesek, rakjátok bele ezt a funkciót!

    Külön köszönettel tartozom azért, hogy az alkalmazások a profiloldalon megjelennek, nincs külön tab vagy tudomisén (legalábbis egyelőre), azért, hogy a Történések (micsoda hülye szó…) az üzenőfal felé kerültek, bár programozni még nem tudom, de remélem, úgy működik, ahogy logikus lenne, a történések az üzenőfal részei, vagy legalábbis sok közük van hozzá.

    (Apropó: nagy para lesz a google maps-ekkel is, merthogy az referer alapon ellenőriz… ill. lehet iframe-ezni, az szép lesz, mert a remote iframe kommunikációról megtanultuk, hogy lassú.)

    Remélem, előbb-utóbb megjelenik a home view is, azaz a főoldalra is rakhatok appot, mondjuk egy picit (pl. a névnap-szülinap app pont ilyen, kérnék oda egy kis helyet, és szeretném keverni a beépített appokkal a sorrendet, lehet?)

    A többit még meglátjuk. Jó lenne, ha előbb-utóbb a képekkel is kezdhetnénk valamit (ld. myspace), ha megjelennének az iWiW-es libek, ha elkezdenénk elemelkedni az alap platformtól, de ez még a jövő zenéje.

    Röviden: köszönöm, hogy lehet.

    (CV alul)

    Röviden a kerettörténet: az egyetemen egyetlen egy 5 kredites tárgyat nem csináltam meg hülyeségből, ez viszont nem engedi felvenni a Diplomatervezés c. tárgyat. Így az egyetemen sok dolgom már nem lesz, viszont néha meg kéne jelenni ott, és letenni végre ezt a tárgyat.

    Ugyanakkor: ez az utolsó állami finanszírozású félévem, a következő pedig nagyságrendileg 300 000 Ft körül lesz, csak a tandíj meg vizsgadíjak. Otthonról is szóltak, hogy a gázárakra tekintettel rezsihozzájárulásra lesz szükség.

    Az előző munkahelyemen fél év alatt nem adtak ennyi pénzt, és azt se sikerült nekik időben kifizetni.

    Úgyhogy most szeretnék egy olyan állást, ami az iparágban normálisnak mondható fizetési feltételek mellett tud alkalmazni, méghozzá havi szinten, lehetőleg automatikusan fizetve, hogy a gyanú se merüljön fel, hogy én közben éhenhalok.

    Amik nem érdekelnek:

    • Csináljunk közös vállalkozást, és majd mindketten milliomosok leszünk (nekem most kell pénz, sajnálom)
    • Legyél vállalkozó, és akkor majd óra-alapon elszámolunk (nem vagyok számlaképes és most nem is akarok az lenni)
    • Csináljunk meg egy projektet, és majd a projekt végén kifizetünk (nekem rendszeres, havi fizetés kell, gyakorlatilag nincs tartalékom.)

    Amik érdekelnek:

    • Tudok programozni több nyelven, és bár nem kedvenc időtöltésem, de pénzért hajlandó szoktam rá lenni. Képes vagyok kilépni a PHP-JS varázsából, és alkalmazkodni egy más rendszer stílusához, gondolkodásmódjához. Értem a Java EE, ASP.NET (C#) rendszereket is, értem a WinAPI, MFC, WinForms,KDE/QT, Java/AWT/Swing-et is.
    • Éveken keresztül vezettem a saját csapataimmal projekteket, ezek közül a jó-hely.hu -t ismeritek sokan, de ott van a teljes kla.hu portfólió is, vagy a révai.hu. Ezekben a projektekben nem az volt a fő szerepem, hogy adminisztráljak, vagy hogy programozzak, hanem hogy a specifikációt, terveket elkészítsem, a menetrend kidolgozzam és betartassam, az embereket motiváljam, ha leakadtak - akár szakmai, akár más okokból - segítsem őket, hogy időre kész legyünk.
    • Szeretek új ötletekkel dolgozni, kutatni, innoválni. Nem csak a félmondatos ötlet, de sok prototípus is kikerült a kezeim alól. Ha szólsz, mutatok párat, vagy készítek screencastokat. Az egyik ilyenből született a jó-hely.hu.
    • Elég jó rálátásom van a szakterületre, így mindig meg tudom indokolni a döntéseket, vagy tudok biztosítani minőséget. Erre egyfelől a műszaki informatika képzettségem a garancia (Hassan szakirányán lát az ember sokmindent), másfelől a szociológia tanszéken töltött idő (vannak bevált modelljeim arra, mi sikeres.)

    Aki további infókra kiváncsi, láthat LinkedIn profilt itt, nemszabványos önéletrajzot itt, szabványos (amerikai stílusú) önéletrajzot itt.

    View Adam Nemeth's profile on LinkedIn

    Update: kérték, hogy a Java EE-t fejtsem ki jobban: EJB3, JSF/JSP, Glassfish alapokon, NetBeans-ben és Eclipse-ben is használtam már, ill. volt dolgom Jetty-s sima servlettel.

    (Most láttam, akciós a kiskapunál, így gondoltam szólok)

    Kiknek szól: Ha gyakran kell informatikai projektek, termékek elkészítésében részt venned, ugyanakkor nincs mélyebb UML-alapú végzettséged (BME műszaki informatika 1.1, 1.2, 1.3 szakirányok pl.), vagy ehhez kapcsolódó több éves tapasztalatod (EA valamelyik tervezőcégnél), akkor valószínűleg Neked.

    Azaz: tanácsadóknak, koncept-embereknek, projektvezetőknek, a tanácsadók és fejlesztőcégek ügyfeleinek, a koncept-emberek és projektvezetők főnökeinek.

    (more…)

    (Megkésett post…)

    Néhány hete indult a privát béta tesztje az Indafon új, 2.0 verziószámú szolgáltatásának. Segítségével Ajaxos felületen jabberezhetünk (tényleg jabber), telefonálhatunk (flashből), küldhetünk SMS-t. A rendszer nem csak saját felületéről, de tetszőleges jabber-kliensből használható. Bár még nem tökéletes - ezt hívják bétának -, van benne néhány - engem- rendkívül zavaró bug, ez főként a külső klienseket érinti. A szolgáltatás bétatesztjében segédkezők kaptak “eltesztelhető” kreditet (a jelszót e videó végignézésével lehet megtudni), így kipróbálhattuk azt is, hogy lehet kihasználni a nyílt protokollt kényelmi funkciókra, amikről nemsokára kaptok hintet is.
    Indafon Safaribol

    (more…)

    Brüsszel egy gyönyörű város.

    Igaz, hogy két és fél órát késett a gép, igaz, hogy teljes frászban voltam az ideiglenes személyim miatt (amit a belga határőrlány nézett 2 percig némán, félénken megszólaltam “It’s a temporary… Permanent was stolen”, berakta UV alá, megvonta a vállát, és továbbengedett), de mégis jó itt lenni.

    A város úgy néz ki, mintha egy 19. század végi - 20. század eleji helyszíneken játszódó romantikus film díszletei lenne. Amikor ezt elkezdtem mondani, Vica válasza: akkor még csak a belvárost láttad… Most kinnvagyok a Brüsszeli Szabadegyetemen (Université de Libre Brusseles vagy mi), és mégis ugyanolyan…

    Itt egyébként a világ legkockább eseménye zajlik: a FOSDEM. találkozam mozillásokkal, beszéltem már OpenMoko fejlesztővel, webesekkel, KDE-sekkel… mindenkin kitűzők, matricák, ingyenCD-k, poszterek… egyszóval jó itt;) (És vannak lányok is… szép számban…nem gondoltam volna.)

    Most megyek vissza, próbálok néhány dolgot megszervezni, vagy fényképezni - sajnos csak mobillal…

    (Reakció Hírbehozó és Bártházi András postjára)

    Tegnap a Google bemutatta az Android platformot, ami amolyan V2 (fau2), azaz senki nem tud róla semmit, de biztos szuper lesz. Az Android már a felvásárlásakor is titokcég volt, fogalma nem volt senkinek, mit csinálnak, csak annyit, hogy mobilra. Tegnap se lettünk sokkal okosabbak.

    Gyakorlatilag minden ma árult mobilba be van építve a Java 2 Micro Edition, az asztali gépekkel ellentétben hardveres támogatással. Lehet szidni a java-t asztalon, de ott csak 3 operációs rendszer van (ami elterjedtebb), és két processzorgyártó, mobilból 10-20 márkát is forgalmaznak, bár mostanában jórészt ARM processzor van bennük, de ez közel se 100%. A Javahoz írhatóak absztrakciós könyvtárak, ill. natív könyvtárak, szolgáltatások is.

    Én továbbra is úgy vagyok, hogy a praktikus célokra a Java és a JCP megfelelő nyíltságot biztosít.

    Ami a Java-nál nagyon fontos: hordozható az alkalmazás! Még nem láttam két linuxot, azonos processzortípuson se, amik ha nem volt ugyanannak a disztribúciónak azonos verziójú release-e, teljesen együtt tudtak volna működni. Ez pedig nagyon fontos a rendkívül divergens mobilpiacon szerintem.

    A JCP biztosítja, hogy a Java platform bővíthető legyen, pl. így került bele nemrég motion sensor (igen, wii a mobilodra), amit egyes Sony Ericsson készülékek már támogatnak, de bárki írhat saját libet is (SE java3d volt ilyen régen tudtommal)

    Az, hogy a teljes OS bővíthető legyen bárki által - a szolgáltatók most is megkapják az OS forrásának nagy részét - nem biztos hogy olyan jó ötlet. Konkrétan szépen össze lehet sokmindent b.ni, és bár vannak trehány mérnökök minden fejlesztőcégnél - így a mobilgyártóknál is - azért a patcherközösséget ismerve se szívesen adnék linuxos mobilt “mindenki” kezébe - majd néz a T/Pannon/Voda szervízes, a guru haverok miket csesztek szét…

    Értem én, hogy a Symbian lassú, a Pocket Pc az Microsoft gyártmány, a Java meg erősen single-task (bár létezik teljesen Javaban írt mobiltelefon, a Blackberry), de muszáj egy szoftvercégnek saját mobiltelefon-rendszert fejlesztenie? Biztos?

    A másik meg, hogy míg a - relatív szűk - webes piacon a Google-nek megvan a maga fantábora, akik ujjongva fogadnák azt is, ha felkérnék őket lókolbásznak, de a sokkal tágabb mobilpiacon ez közel se ilyen egyértelmű: a mobilfelhasználók kétharmada azt se tudja hogy a Google létezik egyáltalán! A Nokiáról, Sony Ericssonról, Siemensről, Motoroláról hallott, Linuxról, Google-ről meg “mobiloperációsrendszerről” már közel se biztos, nem lesz bukta ez?

    Az elméleti bevezetőt a szemantikus webről megszakítva egy kis PHP 4 beginnerdz következik (bár mi részben php 5 technológiát fogunk használni, mert a PHP 4-es DOM API -t kipakolták és nem akarok senkit külön telepítésekre kényszeríteni).

    Van kedvenc online hírportálunknak egy mozirovata, a cinematrix. Sajnos a magyar jog még nem jutott el arra a szintre, hogy a filmkritikát és magát a filmet egymás mellé lehessen tenni, amit mondjuk egy festménnyel jobb helyeken teljes nyugalommal, de saját gépünkön ha AdBlock-ot lehet telepíteni, valószínűleg ezért se fognak ölni.

    (more…)

    Next Page »