Poslednji osvrt na 2009

Došao je i taj poslednji dan u 2009. godini kada je red malo se osvrnuti natrag da vidimo šta smo sve prošli pre nego otvorimo šampanjac i zakoračimo u Novu 2010 Godinu.

U Januar smo tradicionalno zakoračili sa Božićnim SMS Čestitkama a tih dana zbog problema sa ruskim gasom bilo je veoma bitno da imate nekoga da vas greje oko srca.

U Februaru nas je ponovo posetio Iron Maiden a ja sam nakon što sam očistio par metara snega zapalio na aerodrom i odleteo preko bare na sjajnu FOWA konferenciju.

U Martu sam saznao da čak i u doba surovog kapitalizma u Srbiji stvari i dalje funkcionišu sa primesama Balkanskog šarma što se kod mog poziva broja 988 ispostavilo kao veoma dobra stvar.

U Aprilu sam objavio tobožnji kraj posle 4 godina Blogovanja a Blogodak je kao uveo članarinu preko infostana. Zbog ove dve zajebancije i dan danas dobijam mailove tipa “A ko sada piše na dinke.net”, a tu i tamo javi mi se poneki zabrinuti korisnik Blogotka zbog računa za infostan :)

U Maju sam po prvi put dobio i SMS Scam, a imali smo zadovoljstvo da prisustvujemo sjajnom takmičenju u Driftu u ovoj našoj maloj kasabi.

U Junu sam napisao opsežnu analizu o stanju u srpskom tenisu a Nick Slotter nas je konačno posetio nakon što smo sami morali da se postaramo za predsednika.

U Julu smo uz novi Firefox 3.5 proslavili tačno 40 godina od spuštanja na mesec, a ja sam napisao interesantno poređenje Top Sajtova i Top Tenisera.

U Avgustu smo najavili još jedan Blogopen, a postao sam i korisnik Twittera nakon čega je isti bio down gotovo 48 sati. Apple je izbacio Snow Leopard koji naravno nije bilo moguće tek tako poručiti online jer … Your country is not supported!

U Septembru smo imali još jedno druženje na Blogopenu, upoznao neke veoma drage ljude a Niš ponovo vratio na listu omiljenih gradova.

U Oktobru smo saznali da Microsoft ima još mnogo toga da nauči od Apple-a (barem kada je marketing u pitanju), a imali smo i još jedan BizzBuzz.

U Novembru sam nakon što sam po n-ti put ispušio za iPhone odlučio da sebe počastim sjajnim HTC Hero-om, koji je baš ovih dana čak i kod nas dobio laskavi status telefona godine.

I Decembar … busy month gde sam se na Blogu konačno vratio svojim korenima – pisanjem korisnih tekstova o stvarima od kojih živim … još uvek :)

Nadam se da će nam 2010 biti barem isto ovako dobra.

Srećna Nova Godina

MySQL: Brisanje pomoću Left Join-a

Danas sam ponovo morao da se pozabavim jednom ogromnom tabelom i uklonim sve podatke iz nje koji nisu imali odgovajuće reference u drugoj tabeli, idealan podsetnik koliko su podupiti u MySQL-u sporiji od Joinova :)

Da malo objasnim situaciju, imam skript koji između ostalog generiše tzv. “typo” domene, tako da imam jednu master_domains tabelu sa originalnim domenima i result_domains sa generisanim tipo domenima. Nešto poput ovoga:

mysql> describe master_domains;
+--------+------------------+------+-----+---------+----------------+
| Field  | Type             | Null | Key | Default | Extra          |
+--------+------------------+------+-----+---------+----------------+
| id     | int(10) unsigned | NO   | PRI | NULL    | auto_increment | 
| domain | varchar(255)     | NO   | UNI | NULL    |                | 
+--------+------------------+------+-----+---------+----------------+
2 rows in set (0.07 sec)

mysql> describe result_domains;
+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment | 
| domain    | varchar(255)     | NO   | UNI | NULL    |                | 
| master_id | int(10) unsigned | YES  | MUL | NULL    |                | 
+-----------+------------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

Tabela result_domains ima polje master_id koje je spolji ključ ka id polju u master_domains tabeli. E sad, obzirom da pored ovoga takođe imam domene koji se na razne druge načine generišu (komplikovano za objasniti), danas sam imao zadatak da između ostalog počistim sve domene iz master_domains tabele koji nemaju odgovarajući ključ (master_id) u result_domains tabeli.

Pomoću pod upita ovo se može postići jednostavnim kverijem poput ovoga:

delete from master_domains where id not in 
(select master_id from result_domains_frontend)

Obzirom da se držim pravila da pre svakog brisanja odradim i select kveri sa istim parametrima u where klauzi, došli smo do ovog select kverija:

select * from master_domains where id not in 
(select master_id from result_domains_frontend) limit 10

Međutim on se izvršavao toliko dugo da sam nakon nekoliko minuta rešio da ga prekinem. Pouzdano znam da su podupiti mnogo sporiji od join-ova (iako su daleko elegantniji za pisanje), tako da sam rešio da isti kveri napišem jednim left joinom.

Left Join je savršeno oruđe kada želite da nađete one podatke iz prve (leva) tabele koji ne postoje u drugoj tabeli. Oni takođe imaju izvesne prednosti u odnosu na podupite obzirom da se izvršavaju znatno brže a uz to su i kompatibilni sa starijim verzijama MySQL-a koje podupite ne podržavaju (MySQL < 5.x). Međutim delete sintaksa je malo drugačija tako da sam nakon par pokušaja i listanja manuala došao do sledećeg ekvivalenta:

delete master_domains.* from master_domains 
left join result_domains_frontend 
on master_domains.id=result_domains_frontend.master_id 
where result_domains_frontend.master_id is null ;

I nakon par desetina sekundi došlo se do konačnog rezultata:

mysql> delete master_domains.* from master_domains 
left join result_domains_frontend 
on master_domains.id=result_domains_frontend.master_id 
where result_domains_frontend.master_id is null ;
Query OK, 270558 rows affected (46.58 sec)
mysql> 

MySQL: Prebacivanje tabele iz jedne baze u drugu

Za prebacivanje tabele iz jedne baze u drugu, u novoj bazi možete kreirati novu tabelu sa identičnom shemom kao kod stare (create table foo_new like foo) i jednostavno prekopirati podatke sa jednim insert into/select kverijem. Međutim postoji i mnogo jednostavniji način, koji je naročito pogodan u slučaju da baratate sa velikim tabelama.

Kao što verovatno već znate, za promenu imena tabela u MySQL-u možete koristiti jedan od ova dva kverija:

ALTER TABLE foo RENAME TO new_foo;

ili

RENAME TABLE foo TO new_foo;

U slučaju da želite da premestite tabelu iz jedne baze u drugu, najjednostavniji način je da ih jednostavno preimenujete koristeći db prefix prilikom referenciranja na novo i staro ime. Na primer ako želite da prebacite tabelu foo iz currentdb u newdb učinićete nešto ovako:

ALTER TABLE currentdb.foo RENAME TO newdb.foo;

ili

RENAME TABLE currentdb.foo TO newdb.foo;

Inače kad već pričamo o RENAME klauzi da napomenem da za razliku od ALTER kverija, kod RENAME možete preimenovati više tabela od jednom, što je veoma korisno kada jednostavno želite da zamenite (swap) dve tabele:

RENAME TABLE table1 TO temp, table2 TO table1, temp TO table2;

HTC Hero

Gledajući u svoje stare postove izgleda da mi je brojka 3 magična kada su mobilni telefoni u pitanju :)

Dakle nakon trogodišnjeg druženja sa Nokiom N73 došao je red na prelazak na nov telefon. N73 je sjajan phone, iako se malo “izlizao” i dalje odlično radi, ali počeo je da mi nedostaje wifi, gps, bolji browser, veći ekran … Nakon duže pretrage i analize postojećeg stanja na tržištu odluka je pala. HTC Hero je moja nova igračka, verujem barem naredne 3 godine :)

U pakovanju uz HTC Hero dobijate i SD Card memorijsku karticu kapaciteta 2GB, USB kabal za povezivanje, punjač kao i stereo slušalice koje možete povezati na 3.5mm audio izlaz.
htc_hero_full
HTC Hero sa pratećom opremom

Obzirom da mi je ovo praktično prvi telefon koji nije Nokia (3310, 3650, N73), trebalo mi je zaista malo više vremena za privikavanje i mogu reći jedan od prvih gadgeta za koji sam morao da pročitam manual pre nego sam počeo da ga koristim. Takođe namučio sam se i sa povezivanjem sa računarom, za razliku od Nokie, povezivanje je podržano samo sa Windows-om, tako da imamo jednu bizarnu situaciju da phone koji je baziran na Linuxu možete update-ovati samo ako imate Windows. Slična situacija je i sa shareovanjem Internet konekcije telefona sa laptopom koje je opet podržano samo za Windows, dok je kod ostalih OS-ova situacija dosta problematična. Nakon mnogo sati mučenja, root-ovanja i raznih bezuspešnih pokušaja došao sam do svog rešenja za USB tethering sa Mac-om koje sam i izložio na engleskom delu Bloga.

Što se samog Hero-a tiče, u pitanju je telefon sa Android platformom po specifikacijama dosta sličan HTC Magicu ali za razliku od Magica Hero ima implementiran HTC-ov Sense interface koji mu daje jednu potpuno novu dimenziju u smislu upotrebljivosti i vizualnog doživljaja interface-a. Uostalom pogledajte video i samo će vam se kasti :)

Iako se mnogi žale na izvesna usporavanja prilikom korišćenja, firmware update rešava sve probleme tako da Hero radi veoma glatko, prelazak između menu-a ide bez usporavanja. HTC Hero poput iPhone-a podržava multitouch, tako da možete razvlačenjem uvećavati slike, stranu na browseru, šetati slike levo-desno itd. Sve to radi poprilično glatko i u poređenju sa iPhone-om mislim da je HTC odradio sjajan posao sa Herom. Takođe novost je da Hero u potpunosti podržava i Flash tako da će strane sa Flashom bez problema prikazati u samom browseru, ali za youtube video iste će učitati u posebnoj aplikaciji (kao što je to slučaj kod iPhone-a).
Što se konekcije tiče Hero podržava Wifi i EDGE/GPRS/3G/HSDPA konekcije, u praksi zavisnosti od kvaliteta signala uspevam da se povežem u HSDPA modu sa brzinama oko 2Mbps, sasvim dovoljno za pristojan rad. Jedino mi je čudno da nekako 3G nikada ne uspostavljam (ako nije HSDPA onda dobijam EDGE), ali ne brinem preterano jer bi HSDPA trebao biti nekoliko puta brži od 3G konekcije. :)

Naravno dobro znamo ko gura Android, tako da su kao što možete da predpostavite svi Google servisi sjajno odrađeni, postoje zasebne aplikacije za Gmail, GTalk, Google Maps, a podržana je sinhronizacija telefona sa Google Contacts i Google Calendar aplikacijama. Takođe uz Google dolazi i podrška za “Social” servise kao što su Facebook, Twitter i Flickr, tako da odmah nakon prvog uključivanja telefona imate mogućnost da setujete svoj FB, Twitter i Flickr account. Ovo je fenomenalna stvar jer vam omogućava da kontakte povežete sa listom svojih prijatelja sa Facebooka i na taj način updatujete slike, informacije o rođendanima itd. Takođe za svaki kontakt možete u albumu pregledati slike, što važi i za Facebook albume ali i za Flickr. Jedini problem je što za neke kontakte (me included) nije moguće videti FB albume, a da li je bug do FB-a ili do HTC-a ostaje da se vidi (ja tu pre tipujem na Facebook). Naravno za ovo je potrebna Internet konekcija.

Što se third party aplikacija za Android tiče, one su dostupne preko Android Marketa, jednostavno se startuje aplikacija kojom možete direktno sa marketa skinuti i instalirati gomilu (pretežno) besplatnih aplikacija. Na ovaj način do sada sam skinuo twitter klijent (Twidroid), kompas, IM klijent (meebo), SSH klijent (ConnectBot) i kao posebnu atrakciju Shazam, aplikaciju koja je u stanju da prepozna pesmu koju slušate bilo gde (u stanu, kafiću, diskoteci) i prikaže vam podatke o njoj. Testirao sa mnogo stvari i radi iznenađujuće dobro! Pogledajte video kako radi na iPhone-u, oduševićete se!
http://www.youtube.com/watch?v=Xy1jGtHy7AE

Za razliku od Apple Store-a aplikacije nisu tako vizualno atraktivne i postoji gomila aplikacija poprilično sumnjivog kvaliteta, ali android platforma se tek razvija i očekujem da će ubrzo dostići apple kada je kvalitet aplikacija u pitanju.

Naravno telefon nije bez mana, kamera je bez blica i pravi primetno lošije slike u odnosu na moju staru Noku, a pored gore spomenutih problema sa povezivanjem sa ne Windows računarima, izdvajam standardne probleme sa “Virtualnim” tastaturama. Iako tastatura na Hero-u radi veoma dobro, nema teorije da bilo šta ukucate na njoj dok ste u pokretu tako da kucanje jednog SMS-a dok hodate recimo slobodno zaboravite. Uz to velika mana je nedostatak podrške za srpsko-hrvatski jezik, tako da na automatske ispravke u tekstu slobodno možete zaboraviti. Nokia je imala sve ovo i moram da priznam da mi puno nedostaje.

Za kraj ostaje veliko pitanje koje ja ovde nisam postavio ali neko će sigurno postaviti :) Da li je bolji od iPhone-a?

I iPhone 3GS i Hero su dva sjajna uređaja i zaista je teško opredeliti se za jedan od njih i izjaviti da je neki bolji. U mnogim izborima Hero je već proglašen za najbolji Phone/Gadget, ali opet postoje stvari gde je iPhone bolji u odnosu na Hero i obrnuto. Moj izbor za Hero pre svega je vezan za nepostojeću podršku za iPhone u Srbiji, nemogućnost da regularno kupujete aplikacije bez raznih unlockova, jailbreakova i sl. dok za HTC imam 2 godine garancije što svakako puno znači. Da je situacija drugačija verovatno bih se opredelio za iPhone, no to je već druga priča.

I na kraju ovog mini review-a evo i nekoliko screenshot-ova skinutih sa mog Hero-a.

Hero Home Screen

Hero Home Screen

Screen2

Screen2

Twitter Widget

Twitter Widget

browser windows

browser windows

Flickr Slike

Flickr Slike

Compas

Compas

BizBuzz 2009

BizBuzz ponovo. Prošle godine sećanja su bila previše jaka, ove godine ipak nisam dozvolio sebi da mi duhovi prošlosti pokvare zabavu i uskrate zadovoljstvo da ponovo vidim neke drage ljude.

BizBuzz je verovatno jedina konferencija koja ima kafanski vodič, a ja sam se juče spremao da budem verni izveštač sa tog segmenta konferencije. Obzirom da sam odluku o putu za Niš doneo praktično u poslednjem trenutku, “conference pass” nisam ni imao tako da je sve bilo podređeno druženju (da ne upotrebljavam neke buzz reči tipa networking i sl.).

Iako nisam video ni jedno jedino predavanje, u razgovoru sa sagovornicima stekao sam utisak da je ovo prva konferencija u Srbiji u kojoj su predavači bili bolji od organizatora. Kažu da je Gaga Đermanović bila sjajna kao i Eniac, za Bizija kažu da je održao kontroverno predavanje a ostali … ne tako snažni utisci da bi se o njima preterano pričalo (da ne kažem twitovalo). :)

S druge strane Hotel u kome je bio bizbuzz delovao je poprilično “trashy”, u slučaju da dočekate da vas usluže kafa je bila očajna, wifi je većim delom bio potpuno mrtav a u momentima kada bi oživeo vukao se kao crv … a izbor kafane 12km od Niša za večeru … bez komentara. Da spomenem i to da devprotalk.com forum na kome sam ponosni mod nije ni spomenut na sajtu bizbuzz-a uprkos velikoj podršci članova foruma.

Naravno, moj prvi cilj dolaska bio je da provedem još koji sat sa mojim omiljenim blogerima i twiter ovisnicima i u tom smislu moj dolazak u Niš bio je pun pogodak!

Moje slike na FB-u
Ostali Blogeri o BizBuzz-u

Windows 7 Editions

Juče sam šetajući standardnom geekovskom rutom po Ušću (iliti obilazak prodavnica Comtrade, Big Bang, Sony, Gigatron, iStyle) bio u prilici da se sretnem sa nadasve originalno obučenim promoterkama koje su u Gigatronu i Comtrade-u promovisale najnoviju verziju Windowsa.

Iako poslednjih godinu dana 95% vremena provodim na OS X-u, bilo mi je interesantno da bacim pogled na novu i veoma hvaljenu verziju Windowsa 7. Interface mi je na prvi pogled poprilično ličio na neki Linux (GNOME) sa kojim sam se par minuta pre toga igrao na nekom netbooku – čitaj ružan kao sam đavo. Uz to oba su bila na srpskom tako da sam imao problem sa pronađem reči na koje sam navikao nakon dugogodišnjeg korišćenja raznih verzija Windowsa. Nakon par klika mišem odlučih da ipak pitam promoterku o tome šta je tu zapravo novo. Razgovor je tekao otprilike ovako:

Ja: “Dakle možete li mi ukratko reći šta ima novo u Windowsu 7 u odnosu na XP?
P: “Pa mnogo toga, recimo u Aero interface-u imate transparentne prozore, bla bla ...”
Ja: (prekidam je) “OK, kako mogu to da vidim?
P: “Nažalost ne možete, ova verzija Windowsa je tzv. starter edition. Windows 7 starter edition nažalost nema aero interface tako da to ne mozete videti
Ja: “Hmm ok … dobro šta mogu videti?
P: “Pa možete videti kako Windows 7 elegantno rešava rasporedjivanje prozora …” (pokazuje kako windows 7 moze relativno lako dva prozora da raspodeli na pola ekrana)
Ja: (ne preterano impresioniram ovim revolucionarnim “feature-om”) Ok i šta još?
P: Jao šteta je jer ova verzija uopšte nema Aero, plus ima ograničenje da možete startovati samo 3 aplikacije istovremeno …
Ja: (u šoku) “Samo 3 aplikacije????
P: Pa da, ali zato možete startovati neograničen broj prozora unutar te tri aplikacije.
Ja: (ne znam da li da se smejem ili da plačem) Ok ok … a koje još verzije postoje? Nadam se da postoji neka upotrebljivija od ove?
P: Naravno, pored Windows 7 Started Edition imate Windows 7 Home Basic edition, zatim Windows 7 Home Premium u kome imate pominjani Aero interface sa transparentnim prozorima, zatim imate Windows 7 Home Professional u kome pored toga imate podršku za domene, enkripciju fajlova, remote dekstop itd. zatim imate Windows 7 Enterprise u kome imate …
Ja: (prekidam promoterku pre nego mi glava eksplodira od raznih verzija) “Ok ok … pretpostavljam da imate i neki papir na kome sve to lepo pise?”
P: “Naravno, izvolite” (daje mi propagandni materijal sa tabelom šta koja verzija Windowsa ima ili nema).

Nakon što sam se zahvalio ljubaznoj devojci, nisam mogao a da se ne prisetim ovog gega Steva Jobsa na svojevremenom predstavljanju novog Leoparda.

Sve u svemu nisam stekao utisak da je Microsoft izvukao pouke iz neuspeha sa Vistom. Možda su popravili sam OS (to za 2 minuta igranja nažalost nisam bio u prilici da vidim) ali pravljenje toliko različitih verzija Windowsa komplikovanost kupovine novog OS-a stavlja u rang sa kupovinom novog automobila.

2 out of 5

Once the stone, You’re crawling under
Is lifted off your shoulders
Once the cloud that’s raining
over your head
disappears
The noise that you’ll hear
Is the crashing down of hollow years

Dream Theater, Hollow Years, 1997

MySQL – NULL polja i sortiranje

Vrlo često imamo situaciju da želimo sortiranje po nekom određenom polju u tebeli ali tako da se NULL polja nikada ne pojavljuju na početku. Tipičan primer je recimo frontend koji prikazuje podatke iz neke tabele, gde se klikom na header kolone obavlja sortiranje po rastućem (asc) ili opadajućem (desc) poretku.

Obzirom da se ja u poslednje vreme dosta bavim domenima, kreirao sam jednu tabelu sa par svojih domena, čisto kao demonstraciju koncepta.

mysql> select * from domains;
+----+-------------------+-------------+
| id | domain            | expire_date |
+----+-------------------+-------------+
|  1 | dinke.net         | 2010-01-17  | 
|  2 | lampix.net        | 2009-12-26  | 
|  3 | blogodak.com      | 2010-09-08  | 
|  4 | maestrodesert.com | 2009-09-11  | 
|  5 | nepostojeci.com   | NULL        | 
+----+-------------------+-------------+
5 rows in set (0.00 sec)

Dakle problem, želim sortiranje po expire_date polju ali tako da se NULL polje (recimo domen koji još nije regovan ili je istekao) uvek pojavljuje na kraju. Po defaultu NULL se javlja na početku ako sortiramo u rastućem (ASC) orderu odnosno na kraju ako sortiramo po opadajućem (desc) orderu.

mysql> select * from domains 
order by expire_date asc;
+----+-------------------+-------------+
| id | domain            | expire_date |
+----+-------------------+-------------+
|  5 | nepostojeci.com   | NULL        | 
|  4 | maestrodesert.com | 2009-09-11  | 
|  2 | lampix.net        | 2009-12-26  | 
|  1 | dinke.net         | 2010-01-17  | 
|  3 | blogodak.com      | 2010-09-08  | 
+----+-------------------+-------------+
5 rows in set (0.00 sec)

mysql> select * from domains 
order by expire_date desc;
+----+-------------------+-------------+
| id | domain            | expire_date |
+----+-------------------+-------------+
|  3 | blogodak.com      | 2010-09-08  | 
|  1 | dinke.net         | 2010-01-17  | 
|  2 | lampix.net        | 2009-12-26  | 
|  4 | maestrodesert.com | 2009-09-11  | 
|  5 | nepostojeci.com   | NULL        | 
+----+-------------------+-------------+
5 rows in set (0.00 sec)

Problem sortiranja ćemo rešiti korišćenjem MySQL-ove IF f-je, a rešenje je:

mysql> select * from domains 
order by if(expire_date is null, 1, 0), expire_date asc;
+----+-------------------+-------------+
| id | domain            | expire_date |
+----+-------------------+-------------+
|  4 | maestrodesert.com | 2009-09-11  | 
|  2 | lampix.net        | 2009-12-26  | 
|  1 | dinke.net         | 2010-01-17  | 
|  3 | blogodak.com      | 2010-09-08  | 
|  5 | nepostojeci.com   | NULL        | 
+----+-------------------+-------------+
5 rows in set (0.00 sec)

MySQL-ova IF f-ja slična je ternarnom operatoru, tj. vraća prvi argument ako je iskaz tačan odnosno drugi u slučaju da nije, dakle u ovom slučaju vraća 1 za null vrednosti odnosno 0 za ostale, čime dobijamo upravo prikaz koji želimo tj. NULL polje na kraju liste.

Znam da ovo može delovati pomalo konfuzno pa ću otići još jedan korak dalje i dodati još jedno polje u našoj tabeli čisto radi razjašnjenja šta se ovde tačno događa:

mysql> alter table domains 
add column nullorder tinyint not null;
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

a zatim i update-ovati vrednosti nullorder polja tako da sadrže vrednost IF iskaza odozgo:

mysql> update domains 
set nullorder = if(expire_date is null, 1, 0);
Query OK, 1 row affected (0.00 sec)
Rows matched: 5  Changed: 1  Warnings: 0

mysql> select * from domains;
+----+-------------------+-------------+-----------+
| id | domain            | expire_date | nullorder |
+----+-------------------+-------------+-----------+
|  1 | dinke.net         | 2010-01-17  |         0 | 
|  2 | lampix.net        | 2009-12-26  |         0 | 
|  3 | blogodak.com      | 2010-09-08  |         0 | 
|  4 | maestrodesert.com | 2009-09-11  |         0 | 
|  5 | nepostojeci.com   | NULL        |         1 | 
+----+-------------------+-------------+-----------+
5 rows in set (0.00 sec)

Sve u svemu naš gornji query iz rešenja problema:

select * from domains 
order by if(expire_date is null, 1, 0), expire_date asc;

Potpuno je isto što i ovaj query:

mysql> select * from domains 
order by nullorder, expire_date;
+----+-------------------+-------------+-----------+
| id | domain            | expire_date | nullorder |
+----+-------------------+-------------+-----------+
|  4 | maestrodesert.com | 2009-09-11  |         0 | 
|  2 | lampix.net        | 2009-12-26  |         0 | 
|  1 | dinke.net         | 2010-01-17  |         0 | 
|  3 | blogodak.com      | 2010-09-08  |         0 | 
|  5 | nepostojeci.com   | NULL        |         1 | 
+----+-------------------+-------------+-----------+
5 rows in set (0.00 sec)

osim što naravno nullorder polje nismo morali da kreiramo.

Naravno na sličan način možemo dobiti NULL polja na početku u desc prikazu (za slučaj da je to ikome potrebno).

BlogOpen 09

Prošao je još jedan BlogOpen, za neupućene (ako takvih među Blogerima uopšte ima), regionalna konferencija posvećena Blogovanju i Blogerima. Ovaj put domaćin je bio Niš, prvi dan održan je na zidinama tvrđave, a drugi je zbog lošeg vremena prebačen u Niški Kulturni Centar.

Loše vreme, nimalo prijatna sećanja na prethodni boravak …, pa čak ni očajni Garmin GPS koji je navodeći me nepostojećim ulicama, od Niša bukalno odvukao na auto put ka Sofiji (srećom pa sam imao i offline mape) … ništa nije uspelo da mi pokvari današnji dan. :)

Još od prvog BlogOpena kada je akcenat bio na predavanjima a ne na druženju (a ja se istakao prozivkom svih Blogera radi lakšeg upoznavanja), smatram da predavanja treba svesti na najmanju moguću meru, a Blogerima omogućiti da se vide uživo, kao dokaz da iza svih tih avatarova, postova, pingbackova pa i twitova i retvitova … jednostavno stoje živi ljudi.

Blogodak09

S tim u vezi ovaj put nisam obraćao preteranu pažnju na predavanja, već sam lični akcenat stavio na druženje. Konačno sam se video sa Nixom (koji me je strpljivo čekao da se vratim iz “Sofije”), upoznao Dijicu (zašto nisu svi doktori kao ti), Boccia, Ivana, Milicu, Borstale-a (ne videh nikoga više od legendarnih Borana), ljude koje 100 godina znam na domaćoj Web sceni ali jednostavno nisam bio u prilici da ih lično upoznam.

Naravno super je bilo videti ponovo Ivanu, Draganu, Flajka, Miloja, Dragana, … kao i mnoge druge (izvinjavam se svakome koga sam izostavio).

Što se predavanja tiče, nakon uvoda Blogowskog live streamom direktno iz Strasbura, predavanje su održali prvo Jelena Jovanović, a zatim i Miloje i Miloš. Kao i prvog dana, predavanja je bilo moguće pratiti preko livestreama, a ako se ne varam uskoro će i snimak istih biti dostupan (što je odlično za nas koji smo bežali sa istih). :)

Moja galerija sa BlogOpena 2009 na Flickru.

Browser class by Bluesman

Moj prijatelj i kolega Goran Pilipović (u zajednici poznatiji kao Bluesman) nedavno mi je poslao svoju verziju moje Browser Detection klase.

Praktično radi se o potpuno novom kodu jer za razliku od moje poprilično jednostave klase Blues koristi značajno veći broj metoda. Evo primera korišćenja:

require_once "class.Browser.php";

Browser::get();

echo "<pre>";
echo "<br />User Agent:      ".Browser::ua();
echo "<br />Browser Id:      ".Browser::id();
echo "<br />Browser Name:    ".Browser::name();
echo "<br />Browser Version: ".Browser::version();
echo "<br />OS:              ".Browser::os();
echo "<br />Device:          ".Browser::device();
echo "<br />Platform:        ".Browser::platform();
echo "<br />Is PC:           ".yesno(Browser::isPc());
echo "<br />Is Windows:      ".yesno(Browser::isWindows());
echo "<br />Is Mac:          ".yesno(Browser::isMac());
echo "<br />Is Linux:        ".yesno(Browser::isLinux());
echo "<br />Is Symbian:      ".yesno(Browser::isSymbian());
echo "<br />Is IE:           ".yesno(Browser::isIe());
echo "<br />Is Safari:       ".yesno(Browser::isSafari());
echo "<br />Is Firefox:      ".yesno(Browser::isFirefox());
echo "<br />Is Chrome:       ".yesno(Browser::isChrome());
echo "<br />Is Opera:        ".yesno(Browser::isOpera());
echo "<br />Is iPhone:       ".yesno(Browser::isIphone());
echo "<br />Is Handlheld:    ".yesno(Browser::isHandheld());
echo "<br />Is Phone:        ".yesno(Browser::isPhone());
echo "<br />Is Console:      ".yesno(Browser::isConsole());
echo "<br />Is Terminal:     ".yesno(Browser::isTerminal());
echo "</pre>";

Kompletnu klasu kao i test fajl sa primerima možete skinuti ovde. U slučaju da pronađete neki bug možete ga prijaviti ovde (samo ostavite komentar sa opisom problema).

Mac OS X Snow Leopard

Danas izlazi nova (10.6) verzija Mac OS X-a kodnim nazivom “Snow Leopard”.

osx10_6

Nova verzija ne donosi neke revolucionarne novine. U pitanju su velikim delom izmene “ispod haube” koje imaju za cilj da učine rad bržim. Finder je potpuno iznova napisan kao Cocoa aplikacija, a Apple tvrdi da su pojedine funkcije sada značajno brže. Na primer 80% brži Time Machine Backup, 2x brži wake/sleep, brži preview ikona u finderu itd.

Što se tiče “vidljivijih” novina tiče, tu je novi izmenjeni Expose koji je sada intregrisan sa Dock-om, mogućnost skrola unutar Stackova itd. Kompletna lista novosti u novom OS X-u dostupna je ovde.

Cena Snow Leoparda Upgrade-a u americi iznosi $29.00USD, a koliko će kod nas koštati ostaje da se vidi.

Your country is not supported

Već sam se navikao da ne mogu da putujem van zemlje jer živim u Srbiji. Navikao sam i da ne mogu da kupujem cool geeky gadgete na thinkgeek.com jer živim u Srbiji. Da svaka 3 meseca šaljem sken pasoša, vozačke, dnk na epass … jer živim u Srbiji. Ne mogu da kupujem software niti bilo šta osim knjiga i filmova na Amazonu … jer živim u Srbiji. Ni iTunes, ni PayPal, ni Amazon Kindle, ni jebeni deezer na kome sam obožavao da slušam muziku. Your country is not supported.

YouTube.com, Welcome to the “Your country is not supported” club. Jovana želi da vidi spot omiljene stvari od RHCP-a … ali “Your country is not supported“. Filmovi, Serije i štošta drugog što se sada može naći na youtube-u … “Your country is not supported”. Čak su i pretragu na google-u sredili tako da ne prikazuje rezultate videa koje mi jadni Srbi ne možemo gledati. YOUR COUNTRY IS FUCKING NOT SUPPORTED!

Jovani sam našao spot na nekom kineskom sajtu. Beše li to zemlja koja krši ljudska prava? Nadam se da me to neće pitati jer ne znam šta bih joj odgovorio.

Kazna od skoro dva miliona dolara za skidanje muzike … kaznite i mene molim vas.

Twitter is down

E ovi nemaju pojma. Twitter ipak jeste down … ma kakvi down, mrtav kao ništa evo već nekoliko sati sada. Kuliram servis mesecima (čuj mesecima … godinama) i onda kada je broj prešao kritičnu masu korisnika, odlepim, regujem se, krenem sa twitovanjem, instaliram odličan dashboar widget za njega… i on … umre!

Sad nešto razmišljam, možda je vreme da se regujem i na Facebook :)

Blogopen 2009

Blogopen se seli u Niš. Četvrti skup domaćih blogera ovaj put biće održan 4. i 5. septembra u okviru Internet festivala E-tvrđava. U Pančevu je bilo sjajno, a onda sam prethodna dva sam propustio iz zna se dobro kojih razloga.

Pogled na preliminarnu listu predavača … uz dužno poštovanje ostalima meni lično je sa ove liste ubedljivo najinteresantniji bloger Milan Jovanović aka Strongman u čijim postovima uživam na omraženom b92 vip (wtf) blogu. Nadam se da ova lista nije konačna i da će tu biti i neki “stariji” blogeri koje ja preferiram.

Blogosfera o Blogopenu

Na današnji dan pre tačno 40 godina

Kada bi Nole bio Web Sajt

Svi znamo šta je bilo juče na Wimbledonu, Nole je nažalost ponovo izgubio, Haas je servirao fenomenalno ili je Novak reternirao očajno, kako god. No kao i uvek posle poraza naših sportista, bilo mi je interesantno pročitati komentare dežurnih pljuvača kojima je verovatno najveće sportsko dostignuće drugo mesto u ispijanju pića u lokalnoj kafani. No obzirom da su me komentari mojih sunarodnika dovoljno iznervirali, morao sam da napravim jednu analizu Novakovih rezultata i to naravno iz Web perspektive (a i kako bi drugačije od čoveka koji živi od Weba). :)

Dakle Nole je ponovo zabeležio strašan neuspeh ušavši samo u 8 najboljih na Wimbledonu koji btw mnogi nazivaju nezvaničnim prvenstvom sveta u tenisu. Noletu se zamera što je tek 4 na svetu gde će po svoj prilici i ostati dugo vremena. Četvrti na svetu, kakav looser :)

No hajde da za trenutak razmatrajući razmere Novakovog “neuspeha” ne razmišljamo o teniserima već o Web sajtovima. Za razliku od tenisera sajtovi nemaju baš neki ekvivalent ATP liste, ali postoje nezvanična rangiranja koja možemo smatrati manje više pouzdanim. Naravno najpoznatija top lista sajtova nalazi se na Alexa servisu i ona trenutno izgleda ovako:

1. Google
2. Yahoo
3. Youtube
4. Facebook
5. Windows Live
6. MSN.com
itd.

Dakle dragi moji, kada bi Novak Đoković bio Web sajt, on bi bio Facebook. Da da, to je onaj sjajan sajt koji verovatno svakodnevno posećujete i koji dnevno dobije jednu omanju državu novih korisnika. Ispred njega je Andy (S)Murray ovaj … hoću reći Youtube.com itd.

Što se naših tenisera … ovaj sajtova tiče, najbolje rangirani srpski sajt, b92.net na alexa listi nalazi se tek na 3.843 mestu u svetu! Najbolji domaći social networking sajt karike.com nalazi se na 22.238 mestu, najbolji domaći Blog agregator Blogodak.com na 256.622 mestu, a Blog loosera koji upravo čitate nalazi se tek na 408.425 mestu!

Sve u svemu, kada sledeći put pomislite kako je 4 mesto na svetu neuspeh, razmislite ponovo.

Firefox 3.5

Još uvek me nije prošlo oduševljenje novim Safarijem 4 koji sam juče po prvi put instalirao na Mac-a, a već danas slede nova uzbuđenja obzirom da je nova verzija Firefoxa juče ugledala svetlost dana.

Firefox

Fast – Faster – Fastest! Sudeći po reklamnom sloganu novi Firefox morao bi biti najbrži od svih dosadašnjih, a po prvim poređenjima na Mac-u rekao bih da je po brzini tu negde oko Safari-a (testirano u brzini otvaranja google aplikacija). Na Windowsu to verovatno deluje još impresivnije.

Što se tiče ostalih feature-a tu su poboljšan security u vidu novih anti-phishing filtera, private browsing, location aware browsing itd.

Muke sa Apple tastaturom

Znate onu urbanu legendu, korisnik zove IBM support i žali se na probleme sa tastaturom nakon što je po njoj prosuo kafu. Serviser mu daje savet da tastaturu jednostavno ispere pod mlazom vode, nakon čega lik ponovo zove i kaze da mu sada ne radi ni tastatura ni monitor. “Pa koju vi to tastaturu imate?” pita čovek iz supporta … “IBM ThinkPad” :)

Naravno ja sam dovoljno pametan da ne stavljam laptop pod mlaz vode ali nažalost i dovoljno glup da “običnu” Apple USB tastaturu stavim pod mlaz vode nakon što sam prosuo pola limenke koka kole po njoj. Epilog – lepljivi tasteri su prestali da budu lepljivi ali je nažalost verovatno došlo i do nekakvog kratkog spoja, obzirom da se taster ‘+’ na numeričkom delu ponašao kao da je non stop pritisnut, a što je još gore, taster ‘{‘ (SHIFT+’]’) potpuno je prestao da radi.

Naravno odlična prilika da se latim šrafcigera, ali pojavio se problem. Nema šrafova!?? Na kraju, uz malo googlanja došlo se do ovog linka gde smo saznali da je Apple tastatura nepopravljiva, obzirom da je zalepljena nekim super lepkom koji je praktično nemoguće otvoriti bez da se uništi sama tastatura :(
Sada imam odličnu ideju za novu Apple galeriju, ovaj put sa “outboxingom” tastature (trebaće mi jedan dobar pajser za to), a možda nabavim i jednu bejzbolku samo za ovu priliku. :)

Ah da, ovde naravno nije kraj smaranju. Gore pomenutu tastaturu dovukao sam iz USA, i samim tim imala je američki raspored, tačnije normalan pravougaoni enter a ne enter u obliku obrnutog slova L koji me užasno nervira i koji je jedini raspored koji je moguće kupiti u Srbiji. O razlici u ceni bolje i da ne pričam.

International Keyboard
Return taster na mac-u kod nas

Sloteru Niče Novi Sad ti Kliče

Verovali ili ne, Nik Sloter je u Srbiji! Ne, ne dolazi da sredi predsednika, niti ga je privukla reklamna kampanja RNIDSA. Nik Sloter (tačnije kanadski glumac Rob Stjuart) biće specijalan gost grupe Atheist Rap, gde će povodom 20 godina rada grupe zajedno sa njima otpevati ultra mega hit “Sloteru Niče, Srbija ti kliče”.

Kraj Srpske Teniske Bajke?

Dugo vremena nisam pisao o tenisu, praktično moj poslednji post o tenisu bio je posvećen Nadalovoj demonstraciji sile i osvajanju Roland Garrosa od strane naše Ane Ivanović. Ovaj post želeo sam da napišem uoči Roland Garrosa ali zbog hroničnog nedostatka vremena nažalost na ovu temu pišem tek danas. Nažalost razloga za slavlje na RG-u ove godine za nas neće biti, a kako stvari stoje (pogotovo kada je u pitanju ženski tenis) teško da će se situacija promeniti u skorije vreme.

Za početak da kažem da su rezultati naših devojaka u ženskoj konkurenciji potpuno očekivani. Nakon prošlogodišnjeg osvajanja svog prvog Grand Slama, Ana Ivanović je potpuno psihički pala, kao da smo svi nekako očekivali previše od ove mlade devojke. Pritisak se mogao videti još na prošlogodišnjem Wimbledonu, kada se tokom nekih poena jedva suzdržavala da ne zaplače. Epilog nažalost veoma poznat, nakon ranog ispadanja usledila je sezona za zaborav što se nastavilo i ove godine na prvom Grand Slamu. Sve ovo imalo je kao posledicu potragu za novim trenerom, a izbor je napokon pao na Craig Kardon-a, bivšeg trenera Martine Navratilove. Akcenat bi trebao biti na Aninoj ofanzivnoj igri, ali obzirom na prikazano na RG-u moraće još mnogo toga da popravi na taktičkom i pre svega na psihološkom planu. Naravno moraće konačno i da sredi bacanje loptice prilikom servisa koji je nekada uz njen forhend bio njeno najjače oružje. U svakom slučaju na osnovu prikazanog u prva tri kola Ana je na dobrom putu, imala je tu nesreću da se sastane sa Azarenkom (koja je imho uz Safinu prvi favorit turnira), tako da može biti zadovoljna svojim nastupom uprkos činjenici da nije odbranila titulu (realno to niko nije ni očekivao).

serbian_open

Što se Jelene Janković (JJ) tiče, nakon fantastičnog završetka prošle sezone usledio je rad sa novim kondicionim trenerom i nabacivanje mišićne mase, što je rezultovalo katastrofalnim početkom sezone. Nakon ranog ispadanja na Australian Openu i bledih partija na ostalim turnirima, JJ se polako vraća svom starom stilu igre. Dobar znak bio je osvojen turnir u Marbelli kao i solidan nastup u Fed kupu, međutim nakon toga nije uspela da odbrani dvostruku titulu u Rimu. Na RG-u u prva tri kola pružala je solidne partije (ne tako dobre koliko to rezultat pokazuje), i onda kada joj se praktično otvorio žreb do polufinala, JJ je (rekao bih u svom stilu) uspela da izgubi gotovo dobijen meč protiv Rumunke Kirste-e. Za razliku od Ane, Jelena će morati da brani finale US opena u drugom delu sezone i gomilu osvojenih turnira, tako da mislim da su jako male šanse da će do kraja godine ostati među prvih 10.

Što se muškog tenisa tiče, situacija ipak nije tako crna, a ako ne računamo rano ispadanje našeg favorita Noleta, naši teniseri imali su zapažen nastup na RG-u. Što se Novaka tiče, mislim da je on ipak platio visoku cenu izuzetno napornoj sezoni, gde je imao sjajnu sezonu na šljaci iako nažalost nije uspeo da osvoji nijedan Masters. Lično verujem da je jedan od razloga njegovog ranog ispadanja i epsko polufinale turnira u Madridu (gde je sa Nadalom ako se ne varam oborio rekod u trajanju meča u 3 seta), a posledice je očigledno osetio i Nadal koji je takođe poput Noleta delovao nekako prazno u svom porazu od Soderlinga. Mislim da Nole na Wimbledonu ima solidne šanse da popravi prošlogodišnji loš rezultat, mada sam skeptičan da može otići dalje od polufinala (što je njegov najbolji rezultat).

Da se vratimo na pitanje iz naslova teksta, da li je došao kraj našoj teniskoj bajci?

Ako ste većinski pripadnik naše nacije koja priznaje samo pobednike, batalite tenis. Realno jako je teško očekivati da će Novak ikada biti broj 1, pa čak i da će ponovo osvojiti neki Grand Slam. Konkurencija u muškom tenisu nikada nije bila jača, a pored vanzemaljaca Nadala, Federera, tu su i mlade snage poput Murray-a, Tsonge i Del Potra. Naš Nole je naravno po kvalitetu tu negde ali jednostavno, ako ste pravi ljubitelj tenisa, treba uživati u svakom turniru, svakom Mastersu u kome Nole ima važniju ulogu, jer šanse da ćemo ponovo u dogledno vreme imati tako uspešnog tenisera nisu velike.

Što se devojaka tiče, iako je sa odlaskom Justin Enan došlo do izvesnog pada u kvalitetu ženskog tenisa, konkurencija je i dalje žestoka. Realno sestre Vilijams i dalje bez problema mogu osvojiti svaki Grand Slam (osim RG-a koji je na šljaci), ali mlade snage poput Azarenke, Vozniacki itd. tek dolaze. Mislim da Ana i Jelena neće uspeti da ostanu među prvih deset (štaviše biće uspeh ako nakon pada ostanu i u prvih 20). Što se njihovog nastupa na Wimbledonu tiče, trebalo bi da budemo veoma zadovoljni ako bilo koja od njih dođe do druge nedelje turnira.

Drift King of Europe – Kragujevac

Konačno jedan događaj vredan pažnje i kod nas u provinciji!

Proteklog vikenda u Kragujevcu održano je dvodnevna Drift King of Europe manifestacija – takmičenje u Driftu i Tuningu.

Vreme je bilo kako se samo poželeti može, a osim praćenja ludačkih vožnji takmičara iz cele Evrope, posetioci su mogli uživati u “pimpovanim” automobilima, raznim dodatnim atrakcijama poput Taxi drift vožnje i naravno Car Washu (ovo poslednje bilo je posebno popularno kod muškog dela publike).

Nažalost zbog svojih obaveza nisam mogao ispratiti finalno takmičenje, ali i subota je bila veoma interesantna što se može videti i na posebnom setu koji sam kreirao na svom flickru. Uživajte.

SMS Scam

sms scam

Koji programski jezik učiti

Pitanje iz naslova jedno je od najčešće postavljenih pitanja svršenih diplomaca ili ljudi koji ulaze u svet programiranja. Pitanje nije trivijalno iz jednostavog razloga što dobro odabrana tehnologija znači veće mogućnosti za pronalaženje posla, bolje plaćen posao, … u najkraćem – svetliju budućnost.

Sve do juče na pitanje iz naslova bez mnogo razmišljanja odgovarao bih – PHP. Jednostavno, PHP poslova uvek ima, PHP se relativno brzo nauči, tako da za relativno kratko vreme možete doći do posla. Čak i za one bez ikakvog iskustva, otvorenost Web platforme omogućava početnicima da naprave sopstveni sajt, sajt komšijine prodavnice, prijatelja … whatever … i tako za kratko vreme steknu kakve takve reference i iskustvo – stvar koju tako mnogo tražimo mi koji tragamo za kvalitetnim developerima.

Elem, pre nekoliko dana kolega iz FBM-a zamolio me je da otvorim novu poziciju za iPhone developere, nakon čega sam nažalost jako brzo saznao da se broj iPhone Developera u Srbiji može nabrojati “na prste” jedne ruke.

Međutim situacija u svetu a naročito u USA je dramatično drugačija. Broj downloada iPhone aplikacija na Apple Application Store-u bliži se cifri sa 9 nula, a trenutno na listi najprodavanijih knjiga na Amazonu u kategoriji Računari i Internet možete naći samo nekoliko programerskih knjiga, od kojih su apsolutno sve vezane za iPhone. Ista priča je i kada odete i na kategoriju Programming gde su tri od prvih pet naslova knjige o razvoju iPhone aplikacija!

iPhone Development Books
iPhone Application Develpment Books

Nažalost cene Apple računara i nedostatak zvanične iPhone podrške u Srbiji i dalje je veliki problem u ovoj priči. No, za one za koje taj problem nije nepremostiv, današnji odgovor na pitanje iz naslova definitivno bi bio Objective C. Nisam siguran da ću čak i ja odoleti iskušenju …

Hello, we are both PC

Ako je postojalo nešto što me je moglo odvratiti od kupovine Mac-a, to je totalno moronska Mac vs. PC kampanja.


Mac vs. PC on Restarting

Ali naravno ako imate moronsku kampanju njen odgovor (kontra kampanja Microsofta) ne može biti ništa manje moronskiji. U najnovijoj kontra kampanji Microsofta prvo je usledio ovaj video:

a onda i poslednji u nizu:

Kao Mac korisniku u celoj ovoj priči zabavlja me činjenica da već duže vreme zapravo i ne postoji Mac vs. PC dilema, obrizom da jednostavno Mac jeste PC tj. Mac radi na istoj (Intel) platformi kao i PC računari. Samim tim na Apple računarima naravno možete bez ikakvih problema instalirati Windows, a uz malo hakovanja može se odraditi i obrnuto (poterati Mac OS-X na PC računaru).

Sve u svemu celu kampanju (koju je započeo Apple pre par godina kada su jos uvek furali PPC), trebalo bi nazvati OSX vs. Windows ili još bolje Apple vs. Microsoft (+ HP +BestBuy sudeći po videu).

So, Hello I am Mac … and I am PC We are both PC :)

Kraj posle 4 godina Blogovanja

Pre neki dan setio sam se (iako nažalost nisam stigao i da pišem o tome) kako je ovaj Blog ušao i u petu godinu postojanja. Naime, u ovo vreme pre tačno 4 godine napisao sam svoj prvi post, na tada ne baš savršenom engleskom jeziku, na još manje savršenoj platformi (movabletype).

Danas sa zadovoljstvom mogu da konstatujem da je ovaj Blog jedan od najčitanijih u regionu, pa i šire, obzirom da programerske tekstove objavljujem i na engleskom jeziku.

Nažalost, vođenje Bloga u ovim teškim danima je sve samo ne isplativo, tako da sam posle 4 godine bio primoran da domen dinke.net kao i kompletan sadržaj na njemu prodam kompaniji Adriatek koja će od sada ovaj Blog koristiti za svoje promotivne aktivnosti.

Naravno i dalje ćete kao i do sada na ovom istom mestu moći da pratite kvalitetne tekstove, a već sada mogu ekskluzivno da najavim post koji razotkriva veliku zaveru moderatora devprotalk foruma, foruma samozvanih “Web Profesionalaca” gde je nepravedno i ničim izazvano ukaljan veliki ugled ove kompanije.

MysQl, mySQL, MYsql, …

U prethodnih par nedelja u vezi sa ovim oglasom pregledao sam desetine raznih CV-eva, što ovdašnjih što belosvetskih developera. Jedna interesantna stvar koja mi je zapala za oči je da mnogi od njih (među kojima ima dobrih i iskusnih programera) bukvalno ne znaju da napišu ime tehnologije za koju apliciraju. Viđao sam pHp, mySql, mySQL itd. itd. Cela ova stvar inspirisala me je da jednom za svagda rešim nečiju dilemu oko pravilnog ispisa, a bogami i izgovora kada je MySQL u pitanju.

Dakle, što se MySQL-a tiče, kada se referencira na tehnologiju (baza podataka) ili na MySQL server, pravilno se piše MySQL. Eventualno u slučaju da referenciramo na MySQL klijent program, možemo reći mysql (dakle sve lowercase).

Takođe interesantno je da mnogi MySQL izgovaraju sa “Maj Se Ku El”, što nije tačan izgovor. Iako SQL (skraćeno od Structured Query Language) mnogi izgovaraju “SEQUEL” (pošto je SEQUEL bio preteča SQl-a), za MySQL važi da se izgovara isto kao reči na engleskom alfabetu dakle “Maj Es Kju El” (/maɪˌɛskjuːˈɛl/).

Što se PHP-a tiče, stvar je poprilično jasna, obzirom da je PHP skraćenica, piše se naravno velikim slovima. Inače prvobitan naziv PHP-a bio je Personal Home Page ali su kasnije Zeev Suraski and Andi Gutmans to promenili u ‘PHP: Hypertext Preprocessor’.

988 Personalized Service

Verujem da vam se ovo može desiti samo u Srbiji. I da ne budem pogrešno shvaćen, radi se o totalno pozitivnom iskustvu :)

Zbog problema sa autom, tačnije napajanjem (board computer totalno prolupao zbog povišenog napona), danas sam sa svojim ortakom odvezao auto kod auto električara. Obzirom da je servis bio preporučen od strane dotičnog ortaka, auto i svoj broj telefona sam jednostavno ostavio, bez mnogo brige da će mi njihov broj uopšte zatrebati. Obećali su da će me zvati oko 3pm.

Naravno obzirom da se ni do 6pm niko nije javio, postao sam nervozan (hoću svoj autooo) i nervozno pozvao ortaka kako bih video šta se dešava. Naravno ispostavilo se da ni on nema broj pomenutog auto-električara, a svi naši pokušaji da bilo na žutim stranama bilo od drugih ljudi dođemo do broja nisu urodili plodom. Ne želim da idem na drugi kraj grada samo da bih saznao da mi auto još uvek nije sređen. Ostala je još samo jedna opcija – 988. Znamo ime, adresa je valjda tačna, to bi trebalo da bude dovoljno.

zvrrrr zvrrr
Dobar dan, dobili ste operatera xyz …

Dobar dan, zovem iz Kragujevca. Treba mi broj telefona auto električara, Zoća, ulica ta i ta, Kragujevac.

Par sekundi tišine nakon kojih me je ljubazna dama sa druge strane žice obavestila da korisnik nažalost nije pronađen u njihovoj bazi podataka. Ali …

Operater xyz: Ček šta si rekao Zoća, auto električar? To je na “Aerodromu” ?
ja: Da
Operater xyz: Samo malo da vidim, mislim da imam broj na svom mobilnom …

Posle kraće tišine uz obostrani smeh dobijam traženi broj telefona. Pomalo zbunjen zahvaljujem se na broju, a onda sa izvesnom dozom skepse zovem “Zoću”. Dobio sam pravog čoveka. :)

Welcome to Serbia

Kao što sam naslov kaže, vratio sam se u Srbiju. Povratak je zahvaljujući SwissAir-ovom AirBus-u A340 bio izuzetno prijatan. LCD paneli na svakom sedištu sa gomilom filmova, muzike, informacijama o letu. Osoblje ljubazno, klopa fenomenalna, a uz sve to imao sam društvo prelepe Ukrajinke (top model, šta dalje reći). Za razliku od prošlog leta kada sam se totalno smorio, ovaj put sam odmah nakon uzletanja drmunuo dva Heinikena, odvrnuo RHCP, i spavao skoro pola leta.

Poslednja dva dana nakon konferencije proveo sam u plivanju i istraživanju šoping molova. Tek pretposlednjeg dana otkrio sam da se bazen (olimpijski bazen na 10 spratu hotela) greje, tako da sam uprkos užasno jakom vetru iskoristio par sati za plivanje. U vodi koja je zagrejana je sasvim ok ali treba preživeti vetar pri izlasku.
Pool

Nekoliko sati proveo u Dolhpin Mall-u a onda se našao sa kolegama u Aventura Mall-u koji je bio za 2 klase ispred svega što sam u životu video. Zamislite mesto 10 puta veće i lepše od našeg Delta City-a recimo … eto … tako nekako. Uz to ima i ogroman Apple Store tako da sam tamo proveo i poslednjih nekoliko sati nakon napuštanja hotela.
Dolphin Mall

U povratku bilo je smaranja sa security-em (izuvanje cipela, pretresanje do najsitnijih detalja i sl.). Funny thing bio je kada su me u nekom zastakljenom prostoru 2×2 skenirali, žena policajac mi je dala instrukcije da ispružim ruke ispred sebe i gledam pravo. Nakon desetak sekundi rekla mi je tipa “Ok sir, you can relax now” … na sta je moj odgovor bio “I am TRYING”. Ona se namejala i dodala … “I mean, you can put your hands down, we’ve finished”, sa onim pogledom tipa “ako si ti terorista, ja sam Merlin Monro” :)

U Cirihu su mi konfiskovali Starbucks Frapucino, iako sam isti kupio u free shop zoni u Miami-u. No liquids allowed. U Beogradu dočekali su me duvanski dim, štroka i turbo folk. Welcome to Serbia.

Future of Web Applications, Miami

Utorak, oblačan i vetrovit dan u Majamiu, ne baš neko vreme za plažu ali koga je briga. Danas je FOWA dan!

Prijave su od 08-09AM u prelepoj Adrienne Arsht areni. Čekiram lokaciju, to je na cirka 200 metara od mene, nema potrebe da palim auto. Stigao koji minut pre 09AM, gde su mi dali flomaster da na svojoj propusnici sam upišem ime i kompaniju. Sa ponosom sam ispod imena nacrtao i grb Srbije, čisto da ovi geakovi znaju sa kim imaju posla :)

Unutra, gomila geakova svih uzrasta, boja …. ali jedno im je zajedničko. Svako je isukao svoje oružje u krilo bez neke namere da komunicira sa ljudima oko sebe. Prebrojao sam oko sebe jedno 50-tak Mek-ova, jedan jedini PC. Pridružujem se masi sa svojim MBP-om i prenosim dešavanja na DPT.

Fowa, Miami

Pre nego što je počeo uvodni govor, Ryan Carson traži od nas da se rukujemo i upoznamo sa ljudima oko sebe. Svi to činimo. “Hey bro, how yo doin’ …” i roboti oko mene konačno postaju ljudi. Bravo Carsone :)

Prvi na binu izašao je Jason Fried koji je pričao o njihovoj Getting Real filozofiji, bez mnogo pompe i slajdova. Korisni saveti za development, dosta saveta oko produktivnosti, prodaje, buduća predvidjanja itd. Jason je rekao da je protiv besplatnog software-a jer kako on kaže, hrana nije besplatna, odeća nije besplatna, vaš auto nije besplatan … zašto bi software ili usluga koju pravite bila besplatna?

Jason (37signals)

Nakon Jasona na binu su izašli momci koji stoje iza Ajaxiana, Dion Almaer (Google) i Ben Galbraith (Mozilla). Njihovo predavanje bilo je znatno interesantnije, sa izuzetno efektnim slajvodima koji su opisivali ono što nas čeka u budućnosti kada su browseri u pitanju. Jednom rečju, prava revolucija koja će sadašnje Ajax aplikacije učiniti još interaktivnijim tako da će se po usability-u moći porediti sa recimo Mac OS X aplikacijama (koje su oni btw non stop uzimali za primere).

Ajaxian guys

Nakon Ajaxiana na binu je izašao Dan Theurer iz Yahoo-a koji je imao nesreću da mu slajdovi nisu radili, tako je onako deprimirano sve nekako zbrzao, kao da je jedva čekao da pobegne sa scene. Nakon Morning breaka usledilo je sjajno (meni lično i najbolje) predavanje Joe Stump-a, glavnog developera Digg-a.

Joe Stump

Joe je sa genijalnim slajdovima (slike iz detinjstva njega i njegovog brata) predstavio developere kao lenje, ćudljive, egocentrične likove (ma daj, nije omanuo ni za 1%) i načine da ih takve kakve su uklopite u kompaktan i produktivan tim. Favorit quote:

Most people think that developers are lazy which is not true. The truth is that developers are EXTREMELY lazy.

Jedi are rare guys

(nije tako lako naći kvalitetne developere .. demonstrirano sa slikom njegovog brata iz detinjstva koji drži mač haha).

Joe Stump on Code Repositories

Nakon njega totalno druga priča Kristina Halvorson o Web sadržajima. Iako je većini sama tema bila strana (pričate Developerima kako pisati efektne sadržaje na Webu), njeno predavanje je bilo efektno i zanimljivo. Da napomenem i to da je Kristina na sebi svojstven način ismejala organizatore kada ni njeni slajdovi nisu krenuli kako treba, i za razliku od momka iz Yahoo-a nije htela ni da počne dok se to ne reši. Pametno.
Na kraju predavanja Kristina je uputila poruku sa pitanjem zašto je tako malo žena u sali a takođe i u našoj branši, nakon čega je krenula mala otvorena rasprava na tu temu-

Po završetku na binu je izašao Aza Raskin (Mozilla) koji je pričao o novostima koje nam priprema Mozilla Lab. Poseban naglasak stavio je na Ubiquity, pomoću koga ćete recimo moći da recimo menjate sadržaje na stranama koje često posećujete (tipa promenite google logo sa Dinke Rulez), tako da se Google logo na Google.com više nikada ne prikazuje. I naravno druge mnogo korisnije stvari. Organizator je i ovde ponovo omanuo, tako da je usred predavanja ponovo došlo do problema sa prikazom slajdova, tako da je Aza morao da svoje predavanja završi na samom kraju dana.

Aza Raskin(Mozilla)
Nakon pauze za ručak sjajno predavanje održao je stari lisac Joel Spolsky koji je onako rutinski odradio svoje predavanje na temu efikasnosti programera, setovanja radnog okruženja, office-a itd. I on je kao i Jason pominjao prekidanje programera kao najveći problem koji developeri imaju. Naime, svaki developer u toku dana ima samo 2, 3 sata vremena u komeje 100% fokusiran na probleme koje rešava, i u tom periodu sam developer (ja dobro znam o čemu priča) toliko je fokusiran na rad da tih 2-3 sata uopšte i ne primećuje da prolazi vreme. Bučno okruženje, zvonjenje telefona, pa čak i odlazak u WC po Joel-u su neprijatelju svakog programera. Zbog toga se velike kompanije poput google-a trude da snack, toalet, pa čak i tuš kabinu drže što bliže developerima, kako ne bi došlo do gubitka njihovog fokusa.

Talent

Nakon Joela veoma efektna mada meni ne tako interesantna predavanja odžali su Dave McClure i Alex Hunter iz Virgina. A posle pauze i otvorene rasprave na temu developmenta između Joela, Jasona i Carsona, na binu je izašao momak iz kompanije 280 North Francisco Tolmasky, koji je na sjajan način odradio workshop sa Cappuccino i Atlas frameworkom. Francisco je pomoću alata koji se startuje iz browsera (atlas) na lokalnom hostu koristeći point and click interface u roku od 3 minuta kreirao feed reader! Zatim je isto to odradio za iPhone platformu. Cela stvar mi se veoma dopala, jedino što mi se nije svidelo bila je mogućnost sinhronizacije između Web Projekata i recimo iPhone aplikacije (u slučaju da jedna aplikacije treba da radi na obe platforme). Malo sam i prodistkutovao na tu temu nakon završetka konferencije sa samim Franciskom, koji je ujedno bio i jedini predavač koga sam lično upoznao.

Francisco Tolmasky

Na samom kraju na binu je izašao Gary Vaynerchuk koji je u stilu Eminema vrištao, psovao, proklinjao … na kraju zamalo i zaplakao na temu kako neko može da radi 8 sati za nekoga drugoga a ne za sebe. Teško je i rečima opisati, osim samo reći … kakav lik :))

Gary Vaynerchuk

Na kraju dobili smo poziv da nastavimo druženje na Nikky Beachu što smo naravno i učinili. Besplatno pivo na račun Microsofta … teško da postoji bolji provod.

Me on Nikky Beachu

Slike i video zapisi sa FOWA konferencije

South Beach Jungle

Ponedeljak je, vreme je da napišem koju reč nakon busy vikenda.

Prvo da kažem da me je 2 dana držao težak “Jet Lag”, tako da sam se uredno budio u 03am, bez ikakve šanse da nastavim da spavam. Sinoć me je to konačno pustilo pa sam uspeo da izdržim do ponoći i odspavam do 8am, prvi put normalno spavanje nakon dužeg vremena. Iskoristio gužvu da se odvezem i posetim office svog klijenta odakle se i javljam.

Vikend sam proveo sa svojim kolegama iz First Beat Media, tačnije vlasnicima kompanije Ericom i Bryanom. Eric je prošle godine dolazio kod nas u Srbiju gde se super proveo, sa njim se odlično poznajem dok sam se sa Bryanom (koji je njegov brat blizacan) video po prvi put (iako radim sa njima od 2005 godine).

Naravno, moja prva destinacija morala je biti plaža. South Beach je mesto koje bi mogao komotno da poredim sa Beogradskom “silikonskom dolinom” (ul. Strahinjica Bana). Sa jedne strane ulice gomila restorana, (pre)skupi automobili, top modeli, glumci, sportisti … ukratko razni lokalni celebrities … a sa druge strane ogromna i predivna plaža. Jednom rečju mesto gde treba videti i biti viđen. Nekako u tome i preteruju, sve vreme neko turira svoj Ferari ili prolazi 17 put sa Custom made Choperom 3 puta većim od Harleya (treba videti da bi se poverovalo).

Što se plaže tiče ona je prelepa, toliko da sam iako nepripremljen rešio da skinem patike i bos krenem peskom uz samu obalu. Bilo je previše vetrovito pa se retko ko kupao, ali veoma toplo, temp je između 25 i 30C.

Mama ja sam na South Beachu

Mama ja sam na South Beachu

Inače Traffic na South Beachu mogao bih bez problema da poredim sa onim u Bgd-u. Gužve u saobraćaju, nigde mesta za parking, čak u javnoj parking garaži morali smo da vozimo do 8 nivoa da bi pronašli jedno jedino mesto. Srećom imaju lift koji pešake vozi pravo na izlaz. Izlaz autom iz garaže trajao je skoro sat vremena, gužva na ulicama .. skoro pa kao kod nas.

Obzirom da sam nekako uspeo da zeznem stalak za GPS (GPS mi je stalno spadao sa šofer šajbne), morao sam da malo proskitam po prodavnicama. Iako smo se uputili ka Dolphin Mall-u, nabasali smo na neki koji je bio bliži i tamo malo procunjali. Generalno, mnogo veće pronstranstvo od bilo kog mola kod nas (Delta City npr.), ali i primetno prljavije nego delta city. Iskoristio sam priliku i kupio opremu za plažu, ako ništa drugo makar da malo arčim bazen u hotelu (on je valjda besplatan).

Ako ne računam South Beach koji je preskup, cene po prodavnicama su generalno iste ili još niže kod nas, a to je naročito slučaj za tehničku robu. BestBuy se ispostavio kao pravi mali raj za geakove poput mene, jedno 2 sata sam proveo tamo (a komotno sam mogao i više). Počastvovao sam se nekim tehno gedžetima (ako ovo čita neko sa carine naravno da se šalim), a onda smo zapalili za Target, totalno drugačiji lanac od mola u kom smo bili, sve je predivno čisto, na svom mestu, i nešto skuplje od BestBuy-a. Nakon klope u Burger Kingu otkazao sama zakazanu celovečernju zajebanciju sa kolegama jer sam bukvalno počeo na momente da gubim ravnotežu i imao osećaj kao da se nalazim u liftu koji se spušta nadole.

Nedelju sam proveo sa Bryanom. Nekoliko sati smo proveli na Jungle Islandu. Ogromno mesto puno životinja svih mogućih i nemogućih vrsta. Papagaji, ptice koje kao da ne dolaze sa ove planete, krokodili, tigrovi. Mesto je idealno za klince, tako da je meni bilo i pomalo dosadno (ja sam samo hteo da se igram sa Krokodilima haha). Koga interesuje kako izgleda, slike na flicrku. Ponovo proveo neko vreme na South Beachu a veče sam iskulirao u hotelu.

Iako sam dobio savet da se ne šetkam uveče pešice, i da naročito izbegavam grupice crnaca (pogotovo ako krenu da te prate lol). Sinoć sam ipak posle 11pm ogladneo, restorani u hotelu (mini tržni centar) bili su zatvoreni tako da sam rešio da skoknem do najbližeg fast food crapa (Burger King je samo 300 metara od hotela). Moram da priznam da se nisam osećao nimalo prijatno dok sam totalno sam šetao ulicama i tu i tamo sretao ponekog poludelog prosjaka, beskućnika itd. U burger kingu odbili su da me usluže (isključivo drive in), tako da sam čekirao checkers koji se nalazio odmah pored. Junk food ko junk food :)

Danas sam prvi put nakon dolaska bio u prilici da malo duže vozim auto. Putevi su dobri, imaju 3,4 trake … moj auto (Chervolet Cobalt) je sporty, ali koja svrha kada je svuda limit 45mph a kada prolazite pored škola 15mph. Koliko vidim niko ne mahnita sa automobilima, tako da sam i ja pokušao da se uklopim. Bottom line, trebalo mi je dobrih sat vremena da iz Miamia stignem do Davie-a (malo mestašce blizu Ft. Lauderdela). Na momente sam se pitao da li je sa GPS-om (GARMIN) sve u redu, obzirom da je put trajao predugo, a za razliku od IGo-a nigde nemaš podatke koliko je još ostalo puta itd itd.

Toliko pisanja za danas. Fowa je već počela, ali prvi dan su samo workshopovi što me generalno ne interesuje. Sutra je conference day tako da ću naravno biti tamo i izveštavati kad stignem. A sada idem sa kolegama u obližnji grčki restoran. Uželeo sam se balkanske kuhinje ;)

Ah da. SLIKE :)

Next Page »