Meme: Pet stvari koje niste znali o meni

Dragan i Dejan su mi prosledili ovaj meme, pa je red bio da odgovorim 🙂

1) Svi me znaju kao(PHP) programera, ali malo ljudi zna da se bavim i muzikom. Posedujem apsolutan sluh(bilo koji ton u nekoliko oktava prepoznajem bez problema), završio sam nižu muzičku školu, bio na nekoliko takmičenja, čak i pobedio u Soko Banji(“Prva harmonika Jugoslavije”) u kategoriji klasične muzike davne 1986. Naravno, nikada mi se nije sviđala činjenica da provedem svoj život svirajući klasiku na harmonici u tamo nekoj v*bini u Rusiji, tako da na veliku žalost svojih nastavnika nisam upisao srednju muzičku, već sam se opredelio za kompjutere. Naravno, nastavio sam da sviram, u međuvremenu klavijature i gitaru, ali od Rock ‘n Rolla se nije moglo živeti, tako da sam se potpuno posvetio kompjuterima. E sad, zašto nisam svirao neku drugu vrstu muzike od koje se itekako moglo živeti … pogledajte pod 2 🙂 Za poslednji rođendan dobio sam na poklon novu gitaru, tako da u pauzi između obaveza obožavam da sviram neke svoje omiljene stvari, a to zna da se protegne do duboko u noć 🙂

2) Mrzim narodnjake. Ne stvarno, ne mogu da skapiram kako neko to može da sluša u bilo kom okruženju, u bilo koje doba dana i noći, sa bilo kojom dozom alkohola u sebi, no fucking way. Jedino gore od narodnjaka su ovi novi, ne znam ni kako da ih nazovem, isto to, samo malo drugačije. Seljačenje do koske, užas. Za razliku od mnogih ljudi, nikada se nisam folirao, jednostavno mrzim to s*nje i tačka. Sećam se svojevremeno ortaka koji do ponoći slušaju Metaliku, a od ponoći neki užas od narodnjaka, uz izgovor, “kako bre možeš da se zezaš uz Metaliku”. Mogu jebote, ali uz vašeg Sinana Sakića ili Džamaludina Hadžimuratsulejamonića jebeno ne mogu!

3) Jako sam opterećen svojim fizičkim izgledom – čitaj težinom. Kao klinac išao sam u dve škole(muzička/osnovna) tako da sam se slabo družio sa ortacima, i kao posledicu nabacio gomilu kilograma. Mislim da sam u 8 razredu osnovne imao 80kg (visok sam bio tada a i sada 176cm). U srednjoj školi sam stvar prelomio, bavio se sportom, treninzima, držao dijetu mesecima, i posle toga godinama imao ispod 70kg! U vojsci se ponovo usvinjio, ali po povratku u roku od 2 meseca smršao 10kg i tako se relativno dobro držim i danas. Bavim se svim mogućim sportovima, ali naročito sam dobar u tenisu koji igram(ne preterano aktivno na žalost) od 5 godine, ali i basketom koji redovno igram sa IT kolegama iz Boox-a i Softserbia. Pre neki dan sam čitao temu na DPT-u, kako su se kolege programeri udesili na preko 100kg i sa zadovoljstvom konstatovao da se još uvek dobro držim(uprkos tome što moja draga opasno sprema klopu lol).

4) Odlično govorim(i pišem) engleski iako ga nikada nisam učio u školi.
Ovo je relativno duža priča, ali ajd da Vam je ispričam. U vreme kada sam ja išao u školu(a to je bilo još u prošlom veku) u prelasku u peti razred počinjao je da se uči strani jezik. E sad, u mojoj školi bila su 3 odeljenja engleskog, i jedno francuskog, u koje su po pravilu išli lošiji učenici, ili pak oni koji su nekim čudom baš želeli da uče francuski. No nekim čudom, desilo se da ja, iako sam bio jedan od najboljih učenika odem u to famozno Francusko odeljenje. Moji matorci su poludeli, potegli sve moguće i nemoguće veze, da bi se na kraju ispostavilo da je moja nova razredna, gospođa Radmila Gajić(respect) potegla sve moguće i nemoguće veze da bi ja bio u njenom francuskom odeljenju. Kasnije se ispostavilo da je ona predavala i mom ćaletu matematiku, i da je dala sve od sebe da bi i njegov sin bio u njenom odeljenju. I tako ni kriv ni dužan 8 godina sam što gubio časove što imao keca iz francuskog, ali sam što zbog igrica na Commodoru 64, što zbog američkih filmova odlično savladao engleski. Na faksu sam umesto francuskog polagao engleski i dobio 10-ku(dobro, to valjda i nije bilo mogo teško na matematici lol), a i dan danas impresioniram svoje sagovornike sa one strane bare na Skype-u kada saznaju odakle potiče moje znanje engleskog 🙂

5) Nikada nisam putovao nigde van Srbije.
OK, ovde ne računam putovanja u Grčku i širom stare dobre SFRJ sa mamom i tatom, kao i ova novija u Bosnu/CG i sl. Ne znam zašto, ali valjda kao posledicu svih tih sankcija, ratova i sl. ovde se osećam kao u kavezu, ali nikako da se usudim da izađem iz njega. Prošle godine su mi kolege iz USA ponudile da plate sve troškove za PHP Arch konferenciju na Floridi(Orlando), ali sam u poslednjem trenutku jednostavno odustao od toga. Pomalo čak imam i strah od letenja, iako sam leteo avionom nekoliko puta kao klinac(Bg-Pula, na takmičenje u harmonici – vidi 1), nekako i sama pomisao na to mi uliva neki strah. Sve u svemu, za sada uživam da se vozikam po Srbiji sa svojim novim puntom … a za ostatak sveta … ko zna … sledeće godine je PHP Arch konferencija u Čikagu … 🙂

Blogodak Beta – Preview Release

Verovatno ste u poslednja 2 meseca primetili da sam utanjio sa postovanjem, što ovde na blogu, što na DPT-u i ostalim forumima. Sada konačno mogu da kažem šta je to na šta sam trošio svo slobodno vreme u prethodnih nekoliko meseci. 🙂

Dakle, kako je Dragan Babić pre više od mesec dana najavio na svom blogu, u pitanju je jedan servis namenjen pre svega domaćoj blogosferi i blogerima – Blogodak.

Pre nego vam ukratko opišem o čemu se tačno ovde radi, reč dve o tome kako sam uopšte došao na ideju da napravim blogodak. Već nekoliko godina postoji jedan sjajan servis Planetoid, agregator svih srpskih blogova gde se između ostalog vrti i ovaj blog. No, nakon jedne imho kontraverzne odluke administratora planete da neke blogove uprkos protivljenju zajednice uključi na planetu, došao sam na ideju da napravim drugačiji, bolji servis koji će jednostavno po principu “100 ljudi – 100 ćudi”, omogućiti korisnicima da sami biraju šta žele a šta ne žele da prate. Tako je nastao Blogodak.

blogodak_logo1.png

Zašto baš ime Blogodak pitate se 🙂 ? Jednostavno, sva druga imena koja su imala neku asocijaciju(blogosfera.com i sl.) su bila zauzeta a njihovi vlasnici tražili su iznos koji više puta prelazi realnu vrednost domena. Na kraju, moj prijatelj Moreno mi je sugerisao ime koje se pojavilo na ovoj temi na DPT-u … and the rest is history 🙂

E, sada nakon što sam sve udavio sa nebitnim detaljima da pređem na stvar. Blogodak je agregator blogova na srpsko-hrvatskom jeziku. Zbog ograničenja resursa(pre svega ljudskih), sam servis biće realizovan u nekoliko faza, tako da će malo po malo dobijati sve od planiranih feature-a.

Ovo je praktično neka vrsta prelease-a, što znači da čak ni deo funkcija planiran za ovu verziju(poput personalizacije blogova) još uvek nije do kraja odrađen. Ovo je urađeno pre svega zato što sam želeo da što ranije(čitaj u što ranijoj fazi) dobijem feedack od korisnika, kako bi imao jasnu ideju u kom pravcu će se servis dalje razvijati. After all, ovo je pre svega projekat namenjen zajednici, pa samim tim zajednica će kroz svoje komentare i oblikovati Blogodak.

Trenutno Blogodak ima sledeće mogućnosti:

Feed Parsing
————
Import kompletnog RSS feed-a sa liste blogova, konverzija u latinični utf-8 kodni raspored. Blogodak prati sve izmene sadržaja na svakom pojedinačnom feed-u i automatski update-uje svoju bazu.

Pretraživanje
————-
Obzirom da se zapisi sa svih blogova smeštaju u bazu, svi importovani feed-ovi mogu se pretraživati, na isti način kaoi na svakom pojedinačnom blogu.

Arhiva
————-
Već nekoliko meseci Blogodak importuje feed-ove sa domaće Blogosfere, tako da možete listati arhivu za celu 2006-u godinu.

Personalizacija
—————
Ovo je ujedno i krucijalni deo servisa. Svaki korisnik moći će da kreira listu blogova koje ignoriše, kao i listu omiljenih blogova. Naravno, to je samo deo mogućnosti koje planiram, u narednim verzijama planiram podršku za tagovanje, glasanje itd. Deo servisa koji treba da omoguci kreiranje liste jos uvek nije u potpunosti zavrsen(tu trenutno imam najviše nedoumica i očekujem najviše predloga :).

Ceo servis radi na LAMP platformi(kod je kompletno napisan u PHP-u 5.1), a u planu je da se ubace sve karakteristike Web 2.0 aplikacija uz korišćenje Ajax-a naravno. Naravno, tu je i nezaobilazan tableless dizajn za koji je bio zadužen CSS mag Dragan Babić, koji je imho sa svoje strane odradio sjajan posao.

blogodak.jpg
Blogodak u “akciji”

Naravno, kao i svaki drugi beta softver, Blogodak ima verovatno niz bugova,a neki od njih su već prijavljeni na DPT-u ovde. Kad smo već kod bagova, da pomenem da smo zahvaljujući bug-u u phpmailer-u (ili gremlinima obzirom da sam testirao slanje na nekoliko klijenata) imali loš početak, obzirom da su neki subscriberi dobili više od jednog maila sa sve subscriberima u “To” headeru. Srećom većinu lično poznajem, tako da je bilo uglavnom šala na moj račun(tipa, “…ovaj je dobio 10 mailova a ja samo 8, jel sam ja manje vredan a?!! “) i sl. U svakom slučaju, izvinjavam se svima zbog neugodnosti uz obećanje da ću ubuduće koristiti plain vanila PHP mail funkciju.

Toliko od mene za sada, nešto kasnije ćete moći da uživate u 5 stvari koje ne znate o meni (zahvaljujući meme-u od Dragana i Dejana). Naravno, u međuvremenu svakako probajte Blogodak, a sve svoje primebde i sugestije možete ostaviti ovde, ili na odgovarajućoj temi na DPT-u.

Kragujevac “Odozgo”

Pre par meseci pisao sam o tome kako je Kragujevac konačno uključen na Google Earth. Danas sam zahvaljujući informaciji od insajdera(Zigor@DPT) imao zadovoljstvo da se upoznam sa “Geografsko informacionim sistemom“(GIS) grada Kragujevca.

Na prvi pogled GIS deluje slično kao i Google Maps servis, čak sam na trenutak i pomislio da se u backendu poziva Google ili Yahoo Maps API . Međutim, u pitanju je sasvim jedinstveno rešenje, koje u backendu obrađuje gigabajte ortofoto snimaka. Što se fotografija tiče u pitanju su takozvani “ortofoto” snimci fotografisani iz aviona, koji su naknadno georeferencirani.

Kao i kod Google Maps-a, i ovde mapu možete vući mišem po ekranu, ali za razliku od Google-a, ovde su vam dostupne sve infomacije o nazivima ulica, gustini naseljenosti i sl. Takođe, moguće je pretraživanje baze na osnovu naziva ulice ili broja. Jednom rečju, sistem radi sjajno i nikako da prestanem da se igram sa njime. Ono na šta sam naročito ponosan(uz činjenicu da je Kragujevac prvi grad u Srbiji koji ima ovako nešto) je i činjenica da je kompletan projekat delo jedne domaće firme – Manufakture.

gis-lampix.jpg
Lampix Office

gis1.jpg
GIS sa uključenim layerima

3G u Srbiji!

Kako javlja b92.net, od srede(što će reći već od sutra) korisnici MTS-a moći će da uživaju u blagodetima 3G-a!

Sta je to 3G :)

Za neupućene, radi se o trećoj generaciji mobilne telefonije koja bi trebala da nam omogući video pozive, brži Internet, kao i pregršt multimedijalnih sadržaja. Više informacija o 3G-u možete naći na ovde, a rasprave o mts-ovom 3G-u su otvorene na ES-u i DPT-u.

Izbori na Internetu

Sudeći po rotirajućim banerima na sajtu b92.net, političari Internet shvataju sve ozbiljnije. Sledeće 3 slike predstavljaju screenshot-ove sa home page-a sajta b92 u 3 uzastopna refresha.

izbori3.gif

izbori2.gif

izbori1.gif

Da li je ovo dobar znak za predstojeći Internet bum u 2007-moj, ili samo izuzetak koji podrvrđuje pravilo, videćemo u narednim mesecima.

Nokia N73

Nakon gotovo 3 godine od furanja starog(dobrog) 3650, konačno sam sebe častio novim telefonom. Iako sam planirao da 3650 furam još dosta dugo(sve dok Nokia N93 ne padne ispod 300e), nakon jedne rasprave na DPT-u bio sam u prilici da malo bolje prostudiram alternativu, i naposletku opredelio se da ipak požurim sa upgrade-om 🙂

Iako me je za N73 praktično zainteresovala Telenorova ponuda(16k dinara uz dvogodišnji ‘Mobi Pro 400’ paket), ispostavilo se da taj “deal” za mene ipak nije bio tako povoljan(hvala, ali ipak ne trošim ni blizu 400 minuta mesečno), tako da sam potražio alternativu kod lokalnih prodavaca telefona. Nakon malo cimanja(u nekoliko prodavnica gledali su me kao ludaka kad sam im pomenuo N seriju – živela provincija), moj omiljeni prodavac kod koga sam pazario i (sada već) bivši fone je dobio originalni package(identičan onom koji se prodaje kod telenora), tako da sam brže bolje opljačkao najbliži bankomat i postao ponosni vlasnik istog 🙂

n73 pack
N73 Sealed Package

Pored telefona, u originalnom pakovanju nalaze se još i punjač, kompletan manual na srpskom, usb kabal, slušalice, CD sa softverom, pa čak i krpica za brisanje telefona. Obzirom da koristi litijum-polimersku bateriju nije bilo potrebno nikakvo formiranje i sl, tako da sam nakon standardnog punjenja baterije krenuo da se igram sa istim.

n73 vs. 3650
N73 vs. 3650

Našalost, veoma brzo sam se uverio koliko je moj 3650 “zastareo”, kada nisam uspeo da ga povežem sa verzijom PC Suita koja je išla uz N73. Nijedna od varijanti direktne sinhronizacije podataka nije funkcionisala. Imao sam backup napravljen pomoću stare verzije PC Suita, ali nova nije htela da ga učita. Probao sam da direktno povežem telefone, ali osim slanja jednog po jednog kontakta preko bluetooth-a, ništa pametnije nije funkcionisalo. Čak sam imao i .csv listu kontakata napravljenu pomoću nekog Symbian programa na 3650, ali nisam imao instalaciju istog za N73(Symbian 9.1). Na kraju, morao sam da deinstaliram novi PC suite, instaliram stari, kao i MS Outlook sa kojim sam prvo sinhronizovao kontakte sa 3650, a zatim deinstaliram stari PC Suite, instaliram novi, pa opet odradim sinhronizaciju N73 sa istim. Smaranje.

n73 vs. 3650 back
N73 vs. 3650

Nakon relativno uspešnog importa(slike kod kontakata su nažalost ostale na 3650), mogao sam na miru da se posvetim ostalim stvarima. Za razliku od 3650 koji je dobar deo funkcionalnosti nadoknađivao third party software-om, uz N73 dolazi odličan Web browser koji je praktično u stanju da učita svaki sajt iz moje liste bookmarkova, a tu je i podrška za mp3, office fajlove (quick office) kao i Adobe Acrobat Reader, pa čak i Flash player.

Na stranu obilje softvera, realno, najveći adut ovog telefona jeste njegova kamera. Carl Zeiss optika sa 3.2 megapiksela pravi sasvim solidne fotografije, ali ono što me je praktično oduševilo kod N73 jeste gomila opcija kod pravljenja istih. Iako nema mogućnost optičkog zuma(postoji 20x digitalni zum), N73 ima gotovo sva podešavanja koja se mogu naći na nekom solidnom digitalcu. Predefinisani modovi(auto, noćni, makro, portrait, landscape …), podešavanja svetlosti(dnevna, sijalica, fluoroscentna …), blica, iso, efekti boja … pa čak i mogućnost editovanja slike (kropovanje, dodavanje teksta i sl.). Naravno, kvalitet fotografija još uvek zaostaje za prosečnim digitalcem, ali telefon je nešto što uvek nosim sa sobom(za razliku od kabaste digitalne kemere), tako da mi se više neće desiti nešto što mi se ranije tako često dešavalo(“eh da mi je moj canon ovde …” :). Inače, kompletan test Nokie N73(zajedno sa poređenjem fotografija sa najvećim konkurentima poput SE K800i i N93) možete naći ovde.

Naravno, telefon nije bez mana, a verovatno najveća je njegova tastatura(na koju sam se nekako i privikao) i ne tako kvalitetan džojstik(na koji nikako da se priviknem). Takođe, verzija softvera koja dolazi uz telefon ima neke sitne bugove(koji su navodno ispravljeni u novijim verzijama firmware-a), ali još uvek nisam siguran da ću raditi upgrade firmware-a (bez obzira što se radi o veoma jednostavnoj proceduri zahvaljujući Nokia Software Update programu), obzirom da bi u tom slučaju najverovatnije izgubio originalnu Nokia garanciju.

Sve u svemu, vrh fon koji kao i 3650 planiram da koristim veoma dugo. Moram da se požalim da čak i osećam izvesnu dozu nostalgije prema starom 3650. Obično sam do sada stare telefone poklanjao članovima uže porodice, ali ovaj(ponajviše zbog svoje veličine) niko ne želi, a njegova cena na tržištu nije veća od 50 eura, tako se ne isplati prodavati ga. Juče sam čak izvadio sim karticu iz novog fone-a i dva sata se igrao sa starim, čak sam i komponovao novu melodiju u Composeru(N73 to nema).

Kako Prepoznati Srbina

Sećate li se mog prijatelja Manu-a, amerikanca koji prati isključivo fudbal(i to ne američki) ?

Manu       15.12.20 20:34 usa stole a serb footballer

Manu       15.12.20 20:35 http://chivas.usa.mlsnet.com/players/bio.jsp?team
                               t120&player=kljestan_s&playerId=kle326299&statTyp
                               =current

dinke      15.12.20 20:35 Sacha Kljestan ? Serb ?

Manu       15.12.20 20:36 lol

Manu       15.12.20 20:36 you should know

Manu       15.12.20 20:36 that is serb name

Manu       15.12.20 20:36 that is not serb name

Manu       15.12.20 20:36 that is serb name

Manu       15.12.20 20:36 that is not serb name

Manu       15.12.20 20:36 to be or not to be a serb

Manu       15.12.20 20:36 that is the question

Nakon što mi je sinoć po n-ti put(gde n–>00) servirao vest o nekom mom “zemljaku”, morao sam da potrošim vreme i objasnim mu kako da prepozna Srbina u vestima(tim pre što u našem multinacionalnom timu imamo dvocifren broj ovdašnjih programera):

function isSerb($lastname)
{
	$found = preg_match("/^[\pL]+ić$/u", $lastname);
	
	if($found)
	{
		return true;
	}
	else
	{
		return false;
	}
}

Uvod u GeoIP

Verovatno ste već bili u prilici da koristite Google Analytics alat, gde između ostalog možete na mapi sveta videti odakle tačno dolaze posetioci vašeg sajta, ili ste tu i tamo posetili sajt koji bi Vam između ostalog izbacio podatke o Vašoj trenutnoj lokaciji. Naravno, nije u pitanju nikakva magija, tačna lokacija posetioca definisana je na osnovu njegove IP adrese, a tehnologija koja se koristi prilikom “lociranja” korisnika opšte je poznata pod nazivom GeoIP.

Danas ćemo pričati o tome kako “locirati” posetioca pomoću PHP-a i Max Mind-ove GeoIP baze. U primerima koji slede koristicemo besplatne(lite) verzije GeoIP baza, obzirom da se za pune verzije plaća $50USD + $12USD za update (GeoIP Country baza) i $370USD + $90USD za update (GeoIP City baza). Mana lite verzija je što nisu uvek 100% ažurne, ali će odlično poslužiti za naš tutorijal, a iz ličnog iskustva tvrdim da su upotrebljive i u većini live projekata.

MaxMind obezbeđuje API za nekoliko popularnih programskih jezika, (kompletna lista dostupna je ovde), a detalji o PHP API-u dostupni su ovde. Pored takozvanog “Pure PHP API-a” koji ćemo ovde koristiti, postoje i PECL ektstenzija kao i apache modul(mod_geoip), koji pružaju bolje perfomanse ali i komplikovaniji setup.

Za početak neophodno je da skinete sve fajlove koji se nalaze na http://www.maxmind.com/download/geoip/api/php/ i snimite ih negde unutar vašeg Web stabla(recimo /htdocs/geoip). Za korišćenje GeoIP Country treba skinuti lite bazu odavde, a za city GeoLiteCity bazu odavde. Radi jednostavnosti korišćenja, obe baze ćemo takođe raspakovati u isti direktorijum gde smo i snimili fajlove iz PHP API-a (/htdocs/geoip).

GeoIP Country
——————————–

Idemo sa primerom detekcije zemlje posetioca:

<?php
/**
 * Primer Koriscenja GeoIP Country Baze
 * 
 * @version $Id$
 * @package geoip
 * @copyright © 2006 Lampix.net
 * @author Dragan Dinic <dinke@lampix.net>
 */

require_once("geoip.inc");

$gi = geoip_open("GeoIP.dat", GEOIP_STANDARD);

$ip = $_SERVER['REMOTE_ADDR'];
//ako testirate u lokalu koristite ovaj ip radi testa
//posto ce $_SERVER['SERVER_ADDR'] biti 127.0.0.1
//$ip = "89.216.226.174";

$country_name = geoip_country_name_by_addr($gi, $ip);
$country_code = geoip_country_code_by_addr($gi, $ip);
if($country_name)
{
	echo "Zemlja iz koje nas posecujete je: $country_name <br />";
	echo "Skracena Oznaka: $country_code <br />";
}
else 
{
	echo "Nazalost, nismo bili u mogucnosti da vas lociramo.";
}

geoip_close($gi);
?>

Dakle, na početku uključujemo geoip.inc koji sadrži sve f-je potrebne za korišćenje GeoIP County baze, zatim kreiramo novu instancu GeoIP klase pomoću geoip_open f-je, i na kraju pozivamo odgovarajuće f-je (geoip_country_name_by_addr i geoip_country_code_by_addr) da bi smo dobili ime/kod zemlje u kojoj se nalazi ip adresa posetioca(u slučaju da testirate u lokalu nemojte koristiti $_SERVER[‘REMOTE_ADDR’]).

Kao izlaz skripta, trebalo bi da dobijemo nešto poput:

Zemlja iz koje nas posecujete je: Serbia and Montenegro 
Skracena Oznaka: CS

F-je koje smo koristili da bi dobili podatke o zemlji posetioca, samo su neke od f-ja koje su dostupne u API-u. Ostatak možete i sami pronaći jednostavnom analizom PHP sourca geoip.inc fajla.

GeoIP City
—————————-

A sada da proširimo podatke o zemlji sa tačnom lokacijom (grad, poštanski kod itd).

<?php
/**
 * Primer Koriscenja GeoIP City Baze
 * 
 * @version $Id$
 * @package geoip
 * @copyright © 2006 Lampix.net
 * @author Dragan Dinic <dinke@lampix.net>
 */

require_once("geoipcity.inc");

$gi = geoip_open("GeoLiteCity.dat", GEOIP_STANDARD);

$ip = $_SERVER['REMOTE_ADDR'];
//ako testirate u lokalu koristite ovaj ip radi testa
//posto ce $_SERVER['SERVER_ADDR'] biti 127.0.0.1
//$ip = "89.216.226.174";

$record = geoip_record_by_addr($gi, $ip);

if(!$record)
{
	echo "Nazalost, nismo bili u mogucnosti da vas lociramo.";
}
else
{
	echo "Zemlja: " .$record->country_name . "<br />";
	echo "Skracena Oznaka: " . $record->country_code . "<br />";
	echo "Skracena Oznaka2: " . $record->country_code3 . "<br />";
	echo "Region: " .$record->region . "<br />";
	echo "Grad: " .$record->city . "<br />";
	echo "Postanski Kod: " .$record->postal_code . "<br />";
	echo "Geog. Sirina: " .$record->latitude . "<br />";
	echo "Geog. Duzina: " .$record->longitude . "<br />";
}

geoip_close($gi);
?>

Kao što vidite, PHP kod je sličan kodu za detekciju zemlje, s tim što smo koristili geoipcity.inc kao i GeoLiteCity.dat bazu. F-ja geoip_record_by_addr($gi, $ip) vraća instancu klase ‘geoiprecord’ koja sadrži kao promenljive(osobine) podatke o lokaciji koje koristimo u gornjem kodu. Nakon pokretanja skripta trebalo bi da dobijemo nešto poput:

Zemlja: Serbia and Montenegro
Skracena Oznaka: CS
Skracena Oznaka2: SCG
Region: 02
Grad: Beograd
Postanski Kod: 
Geog. Sirina: 44.8186
Geog. Duzina: 20.4681

Napominjem da je GeoIP baza najažurnija kada su u pitanju gradovi sa severnoameričkog dela planete, dok je njena preciznost znatno manja kada se dođe do “egzotike” u koju nažalost spada i Srbija.

CaseStudy – Redirekcija na osnovu IP adrese
————————————————————–
Za kraj znanje stečeno ovde iskoristićemo u jednom pravom projektu. Naime cilj je da se na dvojezičnom sajtu(blogu) korisnici koji dolaze iz Srbije usmere na srpsku verziju sajta, dok će se svi ostali usmeriti na englesku verziju. Evo kako to izgleda:

<?php
/**
 * Case Study - Redirekcija na osnovu lokacije
 * 
 * @version $Id$
 * @package geoip
 * @copyright © 2006 Lampix.net
 * @author Dragan Dinic <dinke@lampix.net>
 */

require_once("geoip/geoip.inc");

$gi = geoip_open("geoip/GeoIP.dat",GEOIP_STANDARD);

$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);

geoip_close($gi);

if($country_code == 'CS')
{
        header("HTTP/1.1 301 Moved Permanently");
        header('Location: http://www.dinke.net/blog/sr/');
}
else
{
        header("HTTP/1.1 301 Moved Permanently");
        header('Location: http://www.dinke.net/blog/en/');
}
?>

Primer koji vidite gore koristi se upravo na ovom blogu, kako bi sve korisnike koji ne dolaze iz Srbije automatski preusmerio na englesku verziju bloga. Slanje custom 301 redirection headera je važno kako bi botovi (Google i sl.) indeksirali strane na odgovarajući način.

BOOX EXPO 06

Imam zadovoljstvo da najavim jedan vrhunski IT događaj, i to u mom gradu – Kragujevcu. Naime, kompanija Boox Computers organizuje izložbu računarske opreme sa pratećim predavanjima pod nazivom “Boox Expo 06”. Izložba će biti održana 24. novembra 2006. god. od 12:00 do 15:00, u Domu Vojske, ul. Kneza Miloša 7 u Kragujevcu.

Obezbeđeno je prisustvo predstavnika praktično svih brendova koji nešto vrede u IT svetu, a udarne teme biće promocija Windows Vista operativnog sistema, kao i promocija Intel Core 2 Duo procesora. Na osnovu informacija od “insajdera” svim posetiocima obezbeđen je 2Mbps link ka Internetu.

Više informacija o ovoj IT manifestaciji možete pronaći ovde.

Ford S-MAX evropski automobil godine

U tradicionalnom izboru novinara iz 22 zemlje, Ford S-Max osvojio je prestižnu titulu automobila godine 2007.

s-max

Ford je titulu osvojio prilično tesno, sa samo 2 boda ispred konkurencije (Opel Corsa). Moj favorit, Fiat Grande Punto(čiji sam i sam ponosni vlasnik) prošao je poprilično neslavno, obzirom da se sa 138 bodova nalazi na poslednjem mestu u ovom užem izvoru. Kompletnu tabelu (ko je za koga glasao) možete pronaći ovde.