Google App Inventor - prva test vožnja

Posted on Thursday 29 July 2010

Mail od App Inventor teama je značio da sam dobio pristup svetom gralu. Na getting started stranici se spominjao Mac i PC pa sam mislio da ću morati promijeniti računalo da bih ga isprobao, ali podržana su sva tri OS-a (konkretno: Mac OS X 10.5, 10.6, >Windows XP, Ubuntu 8+, Debian 5+). Za Linux je predviđen appinventor-extras paket od 50 MB.

Nakon instalacije AI Extras paketa potrebno je podesiti mobilni uređaj. Bez obzira na instalaciju Extras paketa glavni alat za rad je preglednik i alat na adresi: appinventor.googlelabs.com. Osim tog web Designer alata potreban je i Blocks Editor koji omogućava vizualno puzzle programiranje. U Blocks Editoru kliknuo sam za povezivanje s mobitelom, nakon nekoliko trenutaka spajanje je uspješno završeno i na mobilnom zaslonu pokazao se početni ekran aplikacije. Upute u posebnom okviru navode što treba napraviti kad se nešto zaglavi, a meni se upravo to i dogodilo, zaglavio se Blocks Editor.

Izgleda da je bio problem u Chromiumu, Firefox i Google Chrome uglavnom nisu imali problema. Blocks Editor se pokazao ubitačno spor. Zamijenio sam OpenJDK Sunovom inačicom Java i nakon toga je postao malo živahniji, ali je i dalje pomalo iritantan. Nijedan tutorial me nije osobito privlačio pa sam se odlučio na izradu jednostavnog alata za izračun indeksa tjelesne mase.

Nakon uspješno završenog zadatka i dalje sam zbunjen. Nije mi jasno zbog čega App Inventor nema jedinstveno sučelje i razvojnu okolinu. U pregledniku (Designer) kreirate ekrane, slažete komponente i uglavnom obavljate sve oko sučelja. U Blocks Editoru (kojega pokreće Java Web Start) programirate tj. uz pomoć različitih puzzle komponenti određujete logiku rada aplikacije. To su dva potpuno različita sučelja. Designer je web aplikacija, Blocks Editor je šarena Java aplikacija. Sve zajedno djeluje jako neozbiljno.

Prvi problem na kojeg sam naletio su naša slova, na mobitelu sam dobio upitnike umjesto naših slova (UTF-8). Designer nema osobite mogućnosti za slaganje sučelja pa se treba jako potruditi da se aplikacija nalikuje nečemu. Google App Inventor, u ovom stupnju razvoja, je zgodna igračka za one kojima su svi drugi načini za izradu mobilnih aplikacija prekomplicirani. Hm…neće li im onda i GAI biti prekompliciran?

Sve to vam ne smeta, unatoč svemu uz pomoć GAI-a ste napravili killer aplikaciju. No čeka vas nepremostiva prepreka. Tehnička ograničenja trenutno onemogućavaju slanje GAI aplikacija na Android Market. Nije moguće napraviti aplikaciju koja se sastoji od više ekrana (GAI tim predlaže da u slučaju istog rasporeda elemenata simulirate promjenu ekrana ili da napravite posebnu aplikaciju za svaki ekran pa da jedna zove drugu). Nije moguće ni da više puzzlera radi na jednoj aplikaciji.

Prva test vožnja App Inventorom pokazala je cijeli niz nedostataka i pomalo je smiješno da se tolika buka diže zbog jednog Frankenstein rješenja. AI tim sad sve to što su napravili mogu baciti u vodu (prvi mačići) i napraviti nešto što valja.

vuk @ 23:36
Filed under: aplikacije and mobilno and razvoj
Sabayon - neočekivano dobar Linux

Posted on Sunday 18 July 2010

Web stranica Sabayon Linux distribucije mi baš i nije djelovala obećavajuće, ali odlučio sam joj dati šansu zbog jednog jedinog razloga - bazira se na Gentoo distribuciji. Gentoo je poseban po svojem Portage sistemu za upravljanje paketima kod kojega se instalacija novog paketa svodi na preuzimanje izvornog koda i lokalno kompajliranje. To je prihvatljivo kod poslužitelja, gdje je ionako riječ o manjem broju specifičnih aplikacija, ali za desktop računalo takav način je vremenski prezahtjevan. Neke aplikacije su dostupne i u binarnom obliku i to malo štedi vrijeme, ali to čini Gentoo tek malo (nedovoljno) pristupačnijim.

Sabayon omogućuje instalaciju binarnih paketa (zahvaljujući svojem Entropy sistemu), ali zadržava i potpunu kompatibilnost s Gentoo distribucijom pa je korisnicima dostupan i Portage. Mogli bi reći da je Sabayon za Gentoo isto ono što je Ubuntu za Debian.

Najnoviji Sabayon nosi broj 5.3, a ja sam testirao x86 Gnome inačicu. Instalacija je prošla bezbolno i bez ikakvih problema. Ukoliko ga instalirate na računalo na kojem već postoje drugi operativni sustavi i particije nužno je da znate odrediti gdje i što instalirati i to je najkompliciraniji dio instalacije. Osim klasičnog Linux sustava moguće je instalirati media centar (XBMC baziran) i UMPC (Ultra-Mobile PC) inačice, a birati možete i između tekstualnog i grafičkog načina instalacije.

Najprije se znatiželje radi isprobao XBMC. Ako slažete HTPC (Home theater PC) svakako pogledajte Sabayon. Kako me takve aktivnosti trenutno ne zanimaju instalirao sam klasični Sabayon. Nekako sam očekivao da bi kod njega moglo biti više problema nego kod openSuSE-a 11.3, ali ostao sam prijatno iznenađen. Ispoliran, dorađen, lišen bilo kakvih iritantnih sitnica. Za razliku od ružnih openSuSE fontova i jedva pristojne desktop teme Sabayon je vizualno odlično sređen. Ja volim promijeniti izgled desktopa (kad imam vremena gledam obavezno razgledam gnome-look.org), ali ovdje nisam osjetio potrebu da bilo što mijenjam (potreba koja se obično javi nakon prve Ubuntu instalacije).

Nakon početnog upoznavanja (prva stvar koju treba novi korisnik napraviti je upoznavanje s Entropy sistemom i update paketa) i prvih par sati korištenja definitivno sam siguran da je Sabayon Linux kojeg bih želio koristiti. Za razliku od openSuSE-a kod kojeg je slijed bio instaliram, pogledam, ostavim da stoji, pregazim kad mi zatreba particija.

Sabayon je zauzeo svoje mjesto na mojem laptopu, a ako nastavi s dobrim ponašanjem otvara mu se put i za druga računala.

vuk @ 21:36
Filed under: linux
openSuSE 11.3

Posted on Friday 16 July 2010

SuSE distribuciju sam intenzivno koristio (i kupovao službena izdanja od jednog od rijetkih domaćih distributera) u vrijeme 6.x i 7.x inačica. U to vrijeme to je bila, po mojem mišljenju, jedna od najboljih i najispoliranijih distribucija. Kasnije sam počeo koristiti Mandrake distribuciju da bih krajem 2004. zapeo na Ubuntu distribuciji.

Nekako su se poklopile zvijezde pa sam našao vremena da instaliram i istestiram novu inačicu openSuSE distribucije (11.3). Možda sam u odabiru načinio grešku birajući GNOME inačicu (čini mi se da SuSE više naginje na KDE stranu), ali iskustva nisu onakva kakvima sam se nadao. Izgleda da me Ubuntu previše razmazio.

Prvo me iznenadila brzina, tj. sporost instalacije. Ubuntu instalacija traje dvostruko kraće. Početni koraci u instalaciji su manje-više svude isti i tu nema što da se govori. Prvo razočaranje je bilo to što automatska konfiguracija boot managera nije uzela u obzir postojeće OS-ove na diskovlju. Touchpad nije prepoznat i trebalo ga je posebno konfigurirati. Prvi restart i neugodno iznenađenje. Umjesto slova na ekranu su bili prazni pravokutnici. Izgleda da je SuSE samoinicijativno promijenio jezik i postavio baš onaj koji nije imao podršku u default fontovima. Napiknuo sam i promijenio jezik i uspio dobiti slova natrag.

Jedna od prvih stvari koju većina korisnika napravi je instalacija restricted paketa i aplikacija. Pouzdajući se u OpenSuSE Community omogućio sam dodatne repozitorije i pokušao dodati restricted formate. Neki su uspjeli, neki nisu, ffmpeg se skršio i nije se želio instalirati. Kako ne mogu zamisliti rad bez više virtualnih radnih površina, definrao sam svoju dozu i otkrio da u postavkama tipkovničkih kratica nema mogućnosti da se odabere Switch to workspace X.

Sve to i nisu bili prestrašni problemi, ali nisam uspijevao instalirati dodatne pakete. Izgleda da se strgala rpm baza. Nakon rebuildanja instalacije su prošle bez problema. Kad je već krenulo instalirao sam i KDE4. Na njemu su ružni SuSE fontovi došli do potpunog izražaja. Nakon 10 minutnog upoznavanja zaključio sam da mi KDE ipak ne odgovara.

openSuSE mi djeluje kao dobro odrađena distribucija, ali pojedine sitnice kvare dojam. Početnicima i manje iskusnim korisnicima bi one mogle predstavljati nepremostivu teškoću pa je bolje da instalaciju prepuste iskusnijim korisnicima. openSuSe ima premalo sati na mojem računalu, ali čini mi se da kad se jednom posloži da stvar radi stabilno.

vuk @ 23:21
Filed under: linux
Google App Inventor

Posted on Monday 12 July 2010

Google je izbacio još jedan proizvod o kojem će svi pričati, a kojeg će za koji mjesec svi zaboraviti. Umjesto društvenih mreža ovaj puta je riječ o Svetom Gralu razvoja računalnih aplikacija, o konačnom rješenju koje omogućava izradu aplikacija bez programiranja. Svi, pa i njihovi psi, moći će napraviti aplikaciju koju god da zamisle. Google alkemičari su predstavili App Inventor for Android.

U nekom idealnom, ili tome bliskom, svijetu razvoja aplikacija u trenu kad na red dođe pisanje koda, najvažniji dio razvoja je već gotov. Dalje bi sve trebalo biti lako. To što većina projekata u praksi započinje pisanjem koda ne znači da je to i najbolji način ( iako daje rezultate). Programiranje prije programiranja, kako ga često laici nazivaju, je važan dio razvoja. Izrada neke aplikacije kreće s planiranjem, analizom, oblikovanjem i tek onda dolazi na red programiranje, pa nakon toga testiranje nakon kojega se možda opet zavrti cijeli krug. Što želim reći? App Inventor vas rješava programiranja, ali za izradu uspješne aplikacije trebate ovladati cijelim krugom.

Da li to znači da se s njime neće moći napraviti uspješna aplikacija? Hoće, kako da ne. Svi će moći uz par klikova napraviti svoju droidFart aplikaciju, i ako se zvijezde poklope slava je zagarantirana. Google ja malo zakasnio, ali nije isključeno da nas zagluši i navala droidVuvuzela aplikacija.

Vizualno slaganje blokova na prvi pogled izgleda jednostavno, ali je istovremeno i jako ograničavajuće. Takav razvoj omogućavaju Yahoo Pipes, Microsoft je imao Popfly i stavljen je ključ u bravu. Na prvu loptu takav koncept izgleda privlačno, ali nismo još vidjeli neku uspješnicu. Scratch je navodno na tom tragu, nisam ga nikada isprobao pa ne mogu reći. Scratch i App Inventor su djelomično i povezani Open Blocks Java libraryem. Najbolje ostvareno vizualno programiranje vidio sam u jednoj igri (MindRover), ali i tamo je ono bilo usko specijalizirano.

Čini mi se da bi puno bolje rješenje bilo da je Google kupio neko postojeće rješenje (npr. PhoneGap, Titanium) i onda bacio završni finiš (npr. za sučelje Sencha Touch, pojednostavniti build i deployment) kako bi developerima olakšao ulazak u razvoj mobilnih aplikacija. Bila bi puno veća šansa da se ergela android aplikacija popuni kvalitetnijom robom.

Dobar dio svojeg developerskog života potrošio sam na rad s raznim generatorima koda. I jedno sam naučio. Dobar RAD alat omogućuje jednostavno lego slaganje aplikacije, ali mora dopustiti nesmetan pristup ispod haube do te mjere da, ukoliko to baš želi, developer može sve napraviti i tipkajući kod, red po red…

vuk @ 22:31
Filed under: aplikacije and google and mobilno and razvoj
Brzo i kratko u Operi 10.60

Posted on Thursday 1 July 2010

Izašla je nova Opera 10.60, ovaj puta kako treba, za sve tri platforme. I zato uzeh da je malo istestiram i počistim neke zabilješke koje čekaju da napravim nešto s njima.

Ext JS je promijenio ime, zapravo nije…Biblioteka tog imena se tako zove i dalje, a web stranica i brand se promijenio i sada je to Sencha. Pridošlice u timu su Raphaël (odličan za grafičke igrarije u JavaScriptu) i jQTouch koji zadržavaju svoju licencu (MIT).

Prvi rezultat spomenute simbioze je Sencha Touch, prvo(?) HTML5 razvojno okruženje za mobilne uređaje (podržani su iOS i Android). Prvo pogledajte primjere. Naravno, ne s Operom. :-)

Na mobilnoj sceni pojavio se još jedan dućan za aplikacije. LG Application Store podržava i glupe uređaje, a ne samo pametne.

Ostajemo na mobilnoj sceni, konačno sam na Slideshare postavio prezentaciju Šefe, smanjio sam web. Neke stranice možda neće biti jasne bez objašnjenja, pa ako vas nešto zanima, pitajte.

GNU HURD Altered visions and lost promise. Možda niste znali da se prvi GNU operativni sustav počeo razvijati 7-8 godina prije Linuxa. Duke Nukem Forever, ti si još dijete u pelenama naspram HURD-a. Zašto je Linux uspio, a HURD nije? Možda taj mikrokernel i nije najbolje rješenje, profesore Tanenbaum? Ili bi nekakav benevolentan diktator ipak i to riješio?

Jedna jezična dilema. Da li je ispravno operacijski sustav ili operativni sustav? Meni je prirodnije ovo drugo, ali već godinama koristim ono prvo jer su me uvjerili da je to ispravno. Objašnjenje da je ispravnije koristiti operativni sustav čini mi se u redu.

JavaScript uzvraća udarac novom bibliotekom za grafičke igrarije InfoVis Toolkit. Bilo mi je malo sumnjivo, došao tip na reddit i kaže da je napravio JavaScript biblioteku. Nepovjerljivo kliknuh i gle, izgleda ok. Samo ako se ne pokaže da je pokrao Raphaëla.

Završio sam pisanje članka u novoj Operi. Djeluje bolje nego u prošlom pokušaju. Fontovi su mi normalni, čak i naši. Brza je, ali ponekad se događaju manji zastoji bez vidljivog indikatora da se nešto događa. Zaključak je da se radi o boljoj i bržoj Operi. Samo, da li je dovoljno bolja?

vuk @ 23:32
Filed under: aplikacije and it povijest and javascript and mobilno and open source
Koliko još e-matica imamo?

Posted on Monday 28 June 2010

O problemima s e-maticom već svi sve znaju. Simptomatično je to što ministar Fuchs pokušava okriviti sve moguće (profesori su krivi jer se žure na more, a ne govori kako je išla okružnica da se prije srijede ne unose podaci), radi neuobičajene iznimke (učenici se bez svjedodžbe mogu prijaviti u srednje škole), a ne dozvoljava nijednu kritiku na račun onoga što je stvarno zakazalo (informatičko rješenje naplaćeno 5.000.000 kuna). Tako da se stvarno možemo zapitati da li je točan puni naslov ministarstva kojeg je naveo jedan komentator na portalu Večernjeg lista: Ministarstvo za King ICT, znanost, obrazovanje i šport.

Kolege blogeri su se već osvrnuli na taj slučaj (Nešto je trulo u državi Hrvatskoj 2 (e-Matica MZOS), Zašto je e-Matica loša?, Farbanje informatičkih tunela) i tu se nema što puno dodati ili oduzeti. Na web stranici savjest.com je prije dva mjeseca objavljen članak Kako je King ICT u poslovanju s državom osvojio 6 ugovora u 24 sata koji je pravi prilog komentatoru koji navodi kako se stvarno zove nadležno ministarstvo.

Oni koji su radili e-maticu su imali tu nesreću da zbog velikog broja korisnika u kratko vrijeme njihov loš posao postane svima poznat. Ono što nije dobro u cijeloj priči s velikim i vrijednim informatičkim projektima, koji se rade za javnu i lokalnu samoupravu te javne institucije, je činjenica da je e-matica klasični obrazac kako se projekti odrađuju. Podobne firme odrađuju loše kvazi-projekte za prevelike novce.

Razlozi koji su doveli do takvog stanja u informatiziciji našeg javnog sektora mogu se preuzeti iz članka Miroslava Dragičevića Aktiviranje državne imovine u turizmu (objavljen u Globusu, prenesen na blogu Nenada Bakića)…

Hrvatska još uvijek muku muči s izgradnjom vrijednosnog sustava na principima europske uljudbe. Marginalizacijom znanja, rada, poštenja, transparentnosti i zdrave konkurencije Hrvatska se dovela na razinu niske produktivnosti, visokog duga, niske zaposlenosti i visokih fiskalnih opterećenja.

Zaboravite na znanje koje je potrebno za kvalitetnu izradu nekog projekta, zaboravite na pošten rad, transparentnost i zdravu konkurenciju i dobili ste okruženje u kojem nastaje prosječan informatički projekt za nekog od proračunskih korisnika.

Vjerujem da bi za polovicu novca, kojeg sada za informatičke projekte odvajaju proračunski korisnici, imali bolja i kvalitetnija rješenja samo kad bi se oni radili na principima otvorenosti i zdrave konkurencije.

Slijedeći veliki e-fijasko mogao bi biti vezan uz e-recept i zdravstvo bez papira. Svi potrebni sastojci su tu…veliki državni projekt, veliki broj operatera (medicinsko osoblje) i korisnika (pacijenti).

Ono bez čega ne bi smio proći nijedan veći informatički projekt, koji se financira iz proračuna, je nezavisna recenzija struke. Najbolje je da se definiraju vrijednosni razredi, slično kao i u sustavu javne nabave, na osnovi kojih bi se primjenjivali odgovarajući kriteriji za recenziranje. Kad bi imali takav mehanizam kontrole smanjili bi korupciju i povećali bi kvalitetu rješenja.

Ono što bi mi u Hrvatskoj, po ustaljenoj praksi naših političara, mogli dobiti je nekakvo povjerenstvo. Sve po onoj ako nešto ne želiš riješiti, osnuj povjerenstvo (Winston Churchill).

vuk @ 17:08
Filed under: .hr web and domaće
Kuda ide izgubljeni otvoreni kod?

Posted on Friday 25 June 2010

Ukoliko koristite open source aplikacije ili biblioteke sigurno vam se dogodilo da, iz različitih razloga, više ne možete doći do njihovog izvornog koda. Obično se to događa s projektima koji se ne razvijaju baš aktivno, ali ponekad se i aktivnim projektima zna dogoditi da ne produže domenu ili nešto slično pa vam nisu dostupni baš kad su vam potrebni.

Prvo što možete napraviti u takvim slučajevima je da posjetite github i potražite željeni projekt. Nije nužno da projekt koristi github kao svoje skladište za kod, skoro svaki projekt koji nešto vrijedi ima svoj neslužbeni odraz na githubu. Kad su nedavno PyAMF stranice bile nedostupne par dana pomogao mi je njegov github repozitorij.

Neki projekti koji su malo zastali u razvoju zbog toga što njihovi glavni razvijači nemaju vremena za njih račvaju se na githubu. WYMEditor, koji se nedavno ipak počeo intenzivnije razvijati, ima nekoliko račvi, neke od njih dodaju nove funkcionalnosti, neke ispravljaju greške.

MochaUI je odlična JavaScript biblioteka za izradu sučelja. Autor nema više vremena za nju. github otkriva da postoji jedno račvanje koje je jučer osvježeno.

Ako imate potrebu da izmijenite nešto na nekom postojećem projektu ali ne možete čekati da tu promjenu provedete službenim putevima ili se ona ne uklapa u originalni razvojni plan? I još vam to treba za jučer?! Jednostavno račvajte originalni projekt, napravite promjenu i objavite ju na svojem github repozitoriju.

Sila je jaka na githubu, iskoristite to… :-)

vuk @ 12:42
Filed under: aplikacije and open source
e-recept

Posted on Sunday 23 May 2010

Denis Avdagić je neki dan napisao kako Država zna koristiti Internet i dobro nas informira!. Svoje pozitivno mišljenje on zasniva i na činjenici da je Hrvatska 35. na svijetu po razvoju e-Vlade prema UN e-Government development index-u.

Ja se ne bih složio s njim da je stanje dobro. Ako pogledamo Studiju dostupnosti javnih usluga na Internetu u RH u 2006. godini (ne vidim da ima noviji dokument od toga) onda vidimo da u zadnje 4 godine nije bilo značajnijeg napretka.

Pogledajmo kako su razine informatiziranosti definirane Bangemannovim izvještajem:

  1. Nema informacije o usluzi ili pružatelj nema web stranicu
  2. Na webu je dostupna informacija o usluzi (npr. opis postupka)
  3. Jednosmjerna interakcija - dostupni formulari u elektorničkom obliku
  4. Dvosmjerna komunikacija - interaktivno ispunjavanje formulara i prijava uz autentifikaciju
  5. Transakcija - cijela usluga je dostupna na webu, popunjavanje formulara, autentifikacija, plaćanje i isporuka potvrda, narudžbe ili drugi oblici potpune usluge putem weba

Masnim slovima je označen uvjet koji je potreban da bi neka usluga bila viša od razine 3. Autentifikacija. Korisnici trebaju elektronički identitet ili e-iskaznicu. Da li je u Hrvatskoj pokrenut taj projekt? Da li se o njemu uopće govori? Da li se na stranicama e-Hrvatska spominje nešto slično? Ne bih baš rekao.

U Studiji dostupnosti navedeno je nekoliko usluga koja su dosegnule 4. razinu. Kod nekih je to navlačenje kriterija, a neke usluge stvarno imaju predispozicije za nju. Čini mi se da su za dobru ocjenu najviše zaslužne akademske institucije. One mogu bez navlačenja dosegnuti 4. razinu jer imaju riješen problem elektroničkog identiteta. Sve ostale usluge padaju na tom koraku. Hej političari, najprije nam treba elektronički identitet.

Večernji list donosi vijest o projektu “zdravstva bez papira”. Do kraja godine će u cijeloj Hrvatskoj krenuti e-recept, e-naručivanje te elektronički karton. To zvuči odlično, a svi oni informatički pismeni će s uzdahom reći konačno. Mene je za oko zapela jedna rečenica iz tog članka.

Pacijent odlazi u koju god ljekarnu želi, ljekarnik upisuje pacijentove podatke iz zdravstvene iskaznice u računalo i tako sasvim jednostavno nalazi lijek

Upisuje? Što ima upisivati kad postoji zdravstvena iskaznica? Na papiru ovaj projekt zvuči odlično, ali da neće po starom, lošem, hrvatskom običaju sve biti uprskano lošom izvedbom? Ili još veći horror: da svaka nova e-usluga bude imala svoj način identifikacije korisnika?! Potreban nam je jedinstveni elektronički identitet.

U članku se spominje kako će različiti djelatnici vidjeti samo one podatke o pacijentu koje su im potrebne za njihov rad i napomenuto je kako se vodilo računa o zaštiti osobnih podataka. Među onima koji bi trebali vidjeti te podatke nedostaje jedan važan element: sam pacijent. Nigdje se ne spominje da će on imati uvid u svoje podatke, a čini mi se da je jedan od preduvjeta uspješnog elektroničkog društva da svaka osoba ima potpuni uvid u podatke koje o njemu imaju javne institucije (osim slučajeva gdje to zbog drugih interesa nije moguće - ne bi bilo dobro da kriminalci vide da ih prate). Taj uvid bi prvenstveno imao ulogu kontrole podataka jer svaka osoba će za sebe najbolje znati da li su podaci točni ili ne, a nema smisla da hrpa državnih službenika ima uvid u vaše podatke dok vi sami ne smijete znati što oni znaju.

U lijepoj priči o e-receptu nedostaje jedan važan usability detalj. Lječnik prije slanja recepta u sustav provjerava da li je lijek dostupan u ljekarnama. Ako nije onda propisuje drugi odgovarajući lijek ili pokreće proceduru nabave lijeka. Drugi dodatni detalj: kronični pacijenti ne moraju zvati doktora da im napiše e-recept već mu pošalju elektorničku poruku (najbolje bi bilo kad bi to bila neka web aplikacija HZZO-a) koju doktor samo odobri.

U članku se spominje i HZJZ koji će, kad sustav proradi, podatke o zdravlju i bolestima nacije dobivati u stvarnom vremenu. Te podatke ne bi trebali zadržati za sebe ili ih skupo prodavati, već bi po Open Government Data Principles trebalo učiniti javno dostupnima.

vuk @ 21:58
Filed under: identitet and javna uprava and tehnologije
Taj Git ne vrijedi ničemu

Posted on Sunday 16 May 2010

Članak Git is a Harrier Jump Jet. And not in a good way je klasičan primjer situacije kad se neka aplikacija proglasi lošom zbog nedovoljnog poznavanja iste.

Oni koji žele koristiti samo 3% njegovih funkcionalnosti mogu to bez problema. Znam jer sam prošao taj put, u početku sam koristio 2-3 najosnovnije radnje. Hash kao identifikator inačice zvuči loše ukoliko se s Gitom ne radi kako treba. Kod Gita je commit jeftin i treba ga što češće koristiti. Napravite neku funkcionalnost. Commit. Ispravite bug. Commit. U takvoj slučaju kad imate puno manjih commitova nećete za svaki od njih mijenjati oznaku inačice. Ako hoćete oznaku onda za to upotrijebite oznaku (tag). Savjet: ako baš trebate koristiti hash identifikator ne morate ga navoditi cijelog, dovoljno je prvih nekoliko znakova.

Autor članka se okomio i na činjenicu da treba najprije dodati (git add) neku datoteku i tek onda napraviti commit (git commit). Oni koji žele mogu to obaviti u jednom koraku (-a parametar), a oni koji žele znati više neka prouče što je to staging area. Primjer upotrebe: radite na nekoj funkcionalnosti i uleti vam ispravak nekog buga nevezan za to što radite. U staging area dodate samo taj ispravak i napravite commit. Vratite se onome što radite i poslije commitate taj dio. Poželjno je da commit bude neka cjelina. Na taj način će vam biti jednostavnije korištenje i jedne druge Git funkcionalnosti koja se zove cherry pick.

U jednom je autor članka u pravu, Git se ne može koristiti kao CVS jer to i nema smisla. Ako trebate CVS koristite njega. Osnovna greška koju čine mnogi korisnici, kad prelaze sa stare aplikacije na novu, je da na novoj aplikaciji pokušaju zadržati stari način rada. U želji da što prije počnu raditi korisnici preskaču upoznavanje s novom aplikacijom i proučavanje njezinog načina rada. Pogrešan pristup obično rezultira neželjenim rezultatima i frustracijama. Kad počinjete upoznavati nove alate i aplikacije zaboravite na tren ono što znate od prije, pokušajte neopterećeno i otvoreno upoznati način na koji novi alat rješava probleme.

Aljkavi pilot Harriera se žali i na nedostatak dokumentacije, tutoriala za Git. Izgleda da on uopće nije pogledao što piše na Documentation stranici, nije uspio izguglati git ready, gittutorial, Everyday Git, Git for the lazy

Senko je na ovogodišnjem DORS/CLUC-u održao Git radionicu na kojoj je prošao osnove i popričali smo o tome kako nedostaje radionica na kojoj bi se pokazali načini korištenja, najbolja praksa i konkretni slučajevi kako koristiti Git. Većina developera će brzo i samostalno naučiti osnove korištenja, ali do najbolje prakse će doći tek vremenom. Bilo bi zgodno kad bi im netko skratio to vrijeme.

vuk @ 14:26
Filed under: kontrola koda and razvoj
Sphinx i FLOSS GIS (DORS/CLUC 2010 dan drugi)

Posted on Thursday 6 May 2010

Zadnjih par mjeseci važem razna rješenja za pretraživanje teksta, a kako mi je u fokusu Django onda mi je Haystack bila glavna igračka za traženje igle u plastu sijena. Haystack je samo jedinstveni API ispod kojeg možete prikačiti neko od rješenja za pretraživanje (Solr, Whoosh, Xapian). Zgodan je u slučaju da niste sigurni koje će rješenje koristiti vaša aplikacija, pa s njime možete biti sigurni da nakon izmjene mašine-tražilice ne morate mijenjati kod.

Kako nam je DORS/CLUC doveo Andrewa Aksyonoffa mislio sam kako ne bi bilo loše provjeriti što njegov Sphinx nudi. Ipak on ima slične probleme s čudnim slovima i još čudnijim jezikom kao i mi pa su nam rješenja na sličnim valnim dužinama. Za vrijeme radionice uspio sam indexirati bazu tekstova jednog manjeg portala, stvar je odlično fercerala, a weighting je bio odlično pogođen za moj testni uzorak. Kako postoji django-sphinx vrlo vjerojatno će sve to brzo u produkciju…

GIS mi je oduvijek bilo nešto čime bih se želio baviti, a nisam bio u prilici i zbog toga me jako zanimalo što će Darko Boto reći na temu GIS-a na GNU/Linuxu. Na radionici se koristio Arraramagong live DVD s hrpom predistaliranih aplikacija (isključivo pod pokroviteljstvom OSGeo fondacije).

Svežanj predstavljenih aplikacija je pokazao kako su GIS FLOSS rješenja itekako konkurentna. S njima možete napraviti sve što možete zamisliti, a i više od toga. Od manipulacije vektorskim i rasterskim podacima, njihove analize i obrade do vizualizacije na razne načine. Ima čak i moćnih GUI alata (Quantum GIS), a uz raspoložive podatkovne alate (prvenstveno PostGIS), odličan srednji sloj (MapServer, GeoServer, Mapnik) te web klijente (OpenLayers, GeoMayas, MapFish) više zaista nema opravdanja za nedostatak web aplikacija koje bi koristile te blagodati.

P.S. Vidi Podkast i Željko Filipin (of Watir fame ;-) ) predstavljaju dva DORS/CLUC predavača: Andrewa Aksyonoffa i Floriana Schießla.

vuk @ 23:52
Filed under: aplikacije and open source and web
DORS/CLUC 2010 predavanja

Posted on Wednesday 5 May 2010

Slijedom nespretnih okolnosti na DORS/CLUC 2010 sam došao tek na Mrakovo predavanje o predsjedničkoj kampanji na Linuxu. Jedna njegova rečenica je potvrdila ono što većina informatičara iz drugih tabora poriče: Linux je konkurentno rješenje za desktop u radno orjentiranoj okolini. To poricanje više proizlazi iz nedovoljnog iskustva, ustavljenih navika, pomalo i straha, nego što ima realne temelje. Što je to Mrak rekao? Neki ljudi osam mjeseci nisu skužili da rade na Linuxu, a ne na Windowsima.

Njegova priča potvrdia je i da su moje predodžbe o katastrofalnoj sigurnosti u državnim i javnim institucijama točne. Sigurnost se na svodi na postavljanje neprobojnog vatrozida. Računalna sigurnost je jedan složeniji proces u kojem sve pada u vodu ako ste zaboravili na najslabiju kariku.

Mrakovoj priči smo se uglavnom smijali, ali kad je Harald Welte počeo priču o katastrofalnoj sigurnosti GSM mreže sigurno je bilo onih koji su ozbiljno počeli razmišljati o tome da više uopće ne koriste mobitel. Harald je i glavni developer u OpenBSC projektu koji bi vam mogao biti zgodna igračka ako vam pod ruku dođe neka rashodovana bazna stanica.

Darko Sokolić i Hrvoje Vulin su pričali o DRBD-u, a ja sam shvatio da sam to vidio u produkciji i da čovjek to mene to vrti već 3 godine na produkcijskim poslužiteljima. Tonimir Kišasondi je nastavio u sigurnosnom stilu o sigurnosti autentifikacije i tokenima. U praksi je pokazao kako radi YubiKey.

Zanimljive novosti mi je otkrio Darko Gulija u svojem predavanju o spajanju distribuiranih podataka širom weba (Linked Data). Jedna od tih novosti (za mene) je DBpedia koja omogućava zanimljve upite nad podacima s Wikipedije.

Silvia Kolarić, uz podršku Vinka Prelca, pričala je o FLOSS-u u nastavi informatike u osnovnoj školi i predstavila aplikacije koje je ona koristila. Najavila je i projekt Menta, live DVD sa svim aplikacijama koje su potrebne u nastavi. Kroz predstavljanje se iskristalizirao glavni problem informatike u našim školama. Ovaj ili onaj operacijski sustav je tu najmanji problem, najveći je problem u školskom programu koji je skrojen po nekim čudnim mjerama i ne daje ono što bi trebao dati: osnovna i opća znanja koja su temelj za daljnju nadogradju.

Tijekom dana je više puta spomenuto kako na Linuxu nema virusa pa je tijekom Silvijinog predavanja iz auditorija stigla primjedba kako nije istina da za Linux nije potreban antivirus i da je to zavaravanje korisnika. Iako ne treba zanemarivati taj sigurnosni aspekt, činjenica je da velika većina Linux korisnika ne koristi antivirus, a da sigurnost njihovih računala nije zbog toga narušena. Primjer za to je i spomenutih 8 mjeseci predsjedničke kampanje i hrpa računala bez sigurnosnog incidenta.

Antivirusi imaju i dodatnu osobinu o kojoj se rijetko kada govori: usporavaju rad računala i stvaraju dodatne probleme. To se obično očituje kad treba kopirati datoteke s jednog mjesta na drugo (situacije u kojima je isključivanje antivirusnog programa dovelo do ubrzanja od 100 puta) ili kad nespretno zaključavanje datoteka uzrokuje neočekivano ponašanje aplikacija koje pišu u njih (korumpirane datoteke ;-)).

Žao mi je što nisam imao vremena popratiti uvod u NOSQL baze podataka i okrugli stol koji je slijedio nakon toga, ali valjda je to snimljeno pa se bude kasnije moglo pogledati.

Sve u svemu, zanimljiv dan na konferenciji.

vuk @ 21:35
Filed under: .hr web and događaji and it
Dobre programerske navike

Posted on Tuesday 27 April 2010

Na blogu, čiji je naziv predug i predosadan za navođenje, navedeno je 6 najboljih programerskih navika (u naslovu se spominje 5), a kako mi se čini da su natuknice odlične, a tekst nešto manje, onda sam odlučio da ih prepričam na svoj način. :-)

Na greškama se uči. Kažu neki da je pametnije učiti na tuđim greškama, ali vlastite greške imaju bolji učinak. Kod greške je vrlo važno otkriti kako je došlo do nje i razumijeti okolnosti pod kojima je nastala. Nije dobro kad se greške javljaju zbog toga jer programer nije predvidio i obradio neregularne slučajeve (neočekivane unose). Poseban su problem programeri koji ne priznaju vlastite greške i svaki otkriveni bug smatraju napadom ne sebe. Bugovi su sastavni dio programerskog posla i svaki bi programer trebao imati razrađenu proceduru za njihovo rješavanje i preventivu. Poricanje to sigurno nije.

Najbolja rješenja su najjednostavnija rješenja. Ako je neki problem rješen na kompliciran način sasvim sigurno je pogrešno riješen. Jednostavno je u većini slučajeva i najbolje. Najveći problem je što je ponekad do jednostavnog teže doći. Tu su nam problematični programeri koji vole komplicirati jer jednostavna rješenja ne smatraju dostojnim njihove genijalnosti ili jednostavno ne znaju stvari rješavati na jednostavan način.

Komunikacija treba biti jednostavna i razumljiva. Programer treba znati što traži od korisnika i navesti korisnika da mu to kaže na najjednostavniji način. Problematični su oni korisnici koji pokušavaju programeru reći kako oni misle da bi problem trebalo riješiti. Ja sam korisnicima uvijek znao govoriti da zanemare tehnikalije te da mi pokažu kako oni rješavaju taj problem na papiru, bez računala. Nije potrebno da programeri korisnika zamaraju s tehničkim detaljima, to njih može samo zbuniti. Korisniku je važan ulaz i izlaz, crna kutija između njih je stvar programera.

Učenje novih tehnologija, metodologija i alata se podrazumijeva. Neki programeri su odabrali put u jednom pravcu i smatraju da ne trebaju učiti ništa izvan tog puta. Uvijek je dobro učiti nove stvari, čak i ako nisu u direktnoj vezi s specijalnošću nekog programera. Nešto što ste vidjeli u drugom dvorištu može vam dati ideju kako da riješite problem u svojem.

Oblačenje u tuđu kožu. Ako radite program za nekog korisnika, a smatrate da ne morate znati ništa o njegovom poslu, onda ste u krivu. Programer se mora ponekad naći u koži korisnika kako bi bolje razumio problem i na taj ga način bolje riješio. Iako programeri izrađuju programe, oni nastaju i rade se za korisnike i ne bi im trebalo biti ispod časti da snime stvari i iz korisničke perspektive.

Podučavanje. Ako ste sebični programeri i smatrate da je vaše znanje predragocjeno da bi ga samo tako dijelili s drugima, onda znajte da podučavanjem pomažete ne samo drugima nego i sebi. Kad drugima prenosite neko znanje onda ga morate uobličiti, sistematizirati, srediti. Tako možete otkriti neke nedostatke u vašem znanju ili u metodama. Pametan učenik će vam postavljati pametna pitanja. Možda ste preduboko ušli u rutinu pa vam neka jednostavna rješenja nisu tako očita kao nekome tko to gleda sa strane ili iz druge perspektive.

U tekstu govorim o programerima, ali zapravo mislim na one koji su stepenicu iznad toga i nazivaju ih developerima. Ne znam da li u hrvatskom postoji neka prikladna riječ za njih.

vuk @ 21:42
Filed under: obrazovanje and programiranje
#fightclub: iPhone vs. BlackBerry

Posted on Sunday 18 April 2010

Fightclub se isprva činio kao super ideja. Predstavljanja učesnika su bila forastična pa su i očekivanja bila veća. Nisam baš potpuno popratio cijeli događaj, što zbog nestabilnosti u potprostoru, što zbog loše postavljenih mikrofona, ali ono što sam vidio i čuo je bilo na razini forumskih prepucavanja. Složio bih se sa zaključkom da po obicaju, iPhone tim svoje argumente temelji na stvaranju buke.

iPhone tim je imao loše i maglovite argumente. Ne troše mobilni bandwidth jer na svakom čošku je neki Wi-Fi ( iliti kradite bandwidth od ljudi koji ostavljaju nezaštićene mreže ), c00l fora su aplikacije za slušanje radija koje su besplatne ( ali troše bandwith koji nije ), iPhone je teško uništiti ( propustili su to pokazati s vlastitim uređajima)…a služili su se i krivim informacijama (o demografiji BB kupaca, najzeleniji telefon, a Greenpeace je bio protiv njega).

BB tim je bio dobroćudniji, samozatajniji, ali je naveo više konkretnih argumenata. Propustili su iskoristiti protunapad na temu aplikacija ( za BlackBerry može bilo tko izraditi aplikaciju i ponuditi je za download svim korisnicima, na svojem web poslužitelju, bez da trebaju moliti vrhovno božanstvo za dopuštenje). Propustili su i pitati iPhone korisnike koliko ono plaćaju za ono trenutno syncanje svojih podataka (99$ godišnje).

Voditelj nije bio na visini zadatka, ovakvi događaji koji imaju geekove (ili one koji naginju na tu stranu) za publiku ne trebaju poznatog i štosnog voditelja već nekoga tko se malo više razumije u problematiku i koji bi znao presjeći prazne riječi i zakuhati raspravu u pravom času.

Da moram birati, na temelju viđenog na #fightclub-u, odabrao bih BlackBerry pragmatizam nasuprot vjerskoj magli iPhone tima.

Vlastito iskustvo s jednim i drugim uređajem odvuklo bi me na iPhone stranu, i to najviše zbog toga što mi stvari, u kojima je BlackBerry jači, nisu najvažnije. A i onaj njihov preglednik je stvarno grozan.

U jedno sam siguran, moj slijedeći mobitel će biti neki Android, mada mi i neki Nokijini uređaji golicaju znatiželju.

vuk @ 21:05
Filed under: događaji and domaće and mobilno