Архива за 'Programiranje' категорију

import antigravity

February 4, 2009

Ne znam kako do sad ovo nisam primetio (u stvari znam, ali nije sad bitno ), ali python u verziji 3.0 je doneo novu skrivenu zezalicu (easer egg). Naime, kad neko pokuša da importuje modul antigravity desi je jedna čudna stvar. Python Vas odvede na sajt XKCD, na kome postoji jedan zanimljiv strip na račun python-a.

Inače, i u proteklim verzijama su postojale ovakve ugrađene zezalice. Jedna od mojih omiljenih je from __future__ import braces koja baca exception SytaxError sa porukom “not a chance”. Za one koji ne znaju, __future__ paket je namenjan za nove stvari koje će biti ugrađene u python u sledećim verzijama.

Zatim postoji i import this koji ispisuje The Zen Of Python (nekoliko korisnih saveta u vezi programiranja generalno). Interesantno je i videti kod modula this

Ima li ih još za koje ne znam? Uvek se obradujem kad naiđem na nešto ovakvo (mada ništa od ovoga nisam sam otkrio, to ne umanjuje moje zadovoljstvo )…

Programerski citati

February 2, 2009

Skupljao sam ih dosta dugo u jedan fajl. Ovo neki koji mi se najviše sviđaju…

Walking on water and developing software from a specification are easy if both are frozen. Every language has an optimization operator. In C++ that operator is ‘//’. Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems. In order to understand recursion, one must first understand recursion. The only “intuitive” interface is the nipple. After that it’s all learned. The generation of random numbers is too important to be left to chance. It works on my machin. In theory, theory and practice are the same. In practice, they’re not. Beware of programmers who carry screwdrivers. Perl - The only language that looks the same before and after RSA encryption. Nine people can’t make a baby in a month. Software is like sex: It’s better when it’s free. Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. C++ : Where friends have access to your private members. Debuggers don’t remove bugs. They only show them in slow motion. God could create the world in six days because he didn’t have to make it compatible with the previous version. Programmer: an organism that turns coffee into software. There are only two kinds of languages: the ones people complain about and the ones nobody uses. Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law Java: Write Once, Debug Everywhere My programs don’t have bugs, they just develop random features. If Java had true garbage collection, most programs would delete themselves upon execution.

Za većinu ne znam ko je autor, tako da nisam hteo da stavim autora ni za one koje znam.

Ajde programeri, dajete vaše omiljene citate

SVN merge

January 20, 2009

Stvarno ne bih mogao da zamislim kako bismo izlazili na kraj sa poslom da nema SVN-a. Trenutna operacija je sledeća - četiri programera koja svakodnevno rade na dve razvojne verzije aplikacije koja će uskoro prebaciti 200 hiljada redova koda (samo naš kod, bez dodatnih biblioteka kao što je Smarty i SwiftMailer), plus na održavanju sajta koji je u potpunosti custom razvijan. Nije to ništa veliko (probajte da zamislite tim od 30 programera koji rade na legacy sistemu koji ima par miliona redova koda), ali bez sistema kao što je SVN bi nastao pravi haos.

Iako je nezamenljiv alat koji stvarno pomaže da bolje završavamo posao, neke stvari su i dalje dosta nezgodne. Kao što rekoh, uvek paralelno radimo na dve grane aplikacije - održavanje stabilne grane (v1.1) i glavnoj grani koja donosi nova veća unapređenja i koja je uglavnom nestabilna (v1.2). Kada su stvari tako postavljene, s vremena na vreme izmene iz v1.1 treba da ubacimo u v1.2 koji je odavno krenuo svojim tokom; tj. treba da mergeujemo stabilni branch u trunk (trunk je glavna razvojna grana).

Proces ubacivanja izmena iz jedne grane u trunk koji se već 6 meseci razvija samostalno definitivno ne deluje kao naivan posao. SVN tu pomaže, ali je to i dalje proces koji zna da uzme i do po par sati i gde dosta toga može da pođe na loše. Evo kako to radimo:

1. Nađemo reviziju kada je zadnji put rađen merge (revizija XXXX u daljim komandama). Ovo je bitno jer merge izmene između te revizije i trenutne revizije u grani ubacivati u trunk. Ako omašimo reviziju i navedemo pogrešnu, možemo primeniti pogrešne izmene.

2. Na disk checkoutujemo svež kod iz trunka. merge radi tako što upoređuje određenu reviziju grane sa najsvežijim kodom u grani i te izmene ubacuje u work copy u kome smo. Dakle, imamo svež trunk, i iz terminala dođemo do njega:

cd /Library/WebServer/Documents/activecollab trunk/activecollab

Nakon toga radimo merge:

svn merge -rXXXX:HEAD "REPOSITORY-URL/activecollab/branches/REL 1.1"

Kada znam da je bilo dosta izmena, obično odradim dry run koji lista izmene koje će napraviti, bez da ih primeni na sam kod. Dosta korisno da vidite koliko će vam glavobolje merge zadati:

svn merge -rXXXX:HEAD --dry-run "REPOSITORY-URL/activecollab/branches/REL 1.1"

3. Pustimo merge komandu da radi posao. Kada merge naleti na konflikt, možete ga razrešiti ili ostaviti razrešenje za kasnije. Iako SVN nudi više opcija ja lično koristim samo tri komande:

p - postpone (razreši kasnije), mf - mine force (razreši koristeći kod iz trunka), tf - their force (razreši koristeći kod iz grane).

4. Commitujemo work copy. Sada kada su sve izmene primenjene i konflikti razrešeni imamo nov, svež i up-to-date trunk.

I za kraj dva saveta. Prvo, često radite merge. Najveća sranja sam imao kada sam puštao da se nakupe meseci izmena. Tada sam morao da odvajam po celo veče samo za merge. Sporo, mučno i traćenje vremena. Drugo, automatizujte proces. Sad ću da sednem i napišem script koji će mi skinuti veći deo merge procesa sa vrata. Razrešavanje konflikata je i dalje nešto što ću morati da nadgledam i ručno rešavam, ali veći deo operacija može da ide automatski.

Vaša iskustva i saveti sa SVN-om i branchevima?

P2P Conference - predajem o browserless paradigmi

December 15, 2008

Od 17-19 aprila u Velikom Tarnovu (Tarnovgrad) u Bugarskoj održava se P2P Conference. Tema konferencije su web i mobilne tehnologije.

Predavaću na temu te nove browserless paradigme web aplikacija - te je naslov predavanja “Browserless web“. Nakon nekoliko iteracija tema je sazrela i evo među prvima je prihvaćena od strane tamošnjih organizatora. Interesatno je da se konferencija održava od 2004. godine.

Inače Veliko Tarnovo je lep utvrđeni stari grad u centralnoj Bugraskoj (oko 220 km istočno od Sofije), u našoj istoriji poznat kao mesto gde je preminuo Sveti Sava.

Medijski sponzor događaja biće i naše Internet ogledalo.

Versions

December 11, 2008

Nakon višemesečne javne bete, nedavno je objavljen Versions 1.0, novi grafički interfejs za rad sa Subversionom za Mac OS. Par dana posle Versions je postao i zvaničan SVN klijent u firmi zamenivši stari dobri SvnX, pre svega zahvaljujući Godži. Iscimao se čovek da nas sve odreda prebaci

Kao što rekoh, pre Versions svi smo koristili SvnX. SvnX je besplatan, lepo radi posao, ali mu je interfejs dosta čudan dok se ne naviknete, ponajviše zato što koristi prozor za svaki bitniji alat. Kada radite prost update na primer, verovatno ćete imati otvorena 3 prozora - Work Copies i Repositories koji su otvoreni po defaultu i prozor sa informacijama o samom Work Copyju kroz koji radite update. Mnogo, posebno ako dosta koristite ekspoze gde svaki nepotreban prozor samo pravi nered.

Za razliku od njega, Versions nudi lep, klasičan single window interfejs na koji smo uglavnom navikli. Mogućnosti su standardne za alate ove vrste - tu je manje više sve što vam treba da biste radili sa work copyjima, repository browser koji omogućava direktan rad sa fajlovima unutar repositoryja, bez potrebe za work copyjem itd. Koliko sam imao prilike da primetim u zadnjih par nedelja korišćenja, Versions ne nudi ništa revolucionarno novo, ali je izvedba vrhunska što je sasvim dovoljno da vas navuče.

Evo par stvari koje se meni izuzetno sviđaju:

Kada gledate listu izmenjenih fajlova u work copyju, ne dobijete flat listu već tačno vidite izmene u strukturi projekta. U bookmarks sekciji, Versions prikazuje broj modifikovanih fajlova (žuti mehurić) u samom work copyju i broj izmenjenih fajlova na serveru (plavi mehurić). Ovo jasno i glasno kaže da je neko commitovao izmene i da bi verovatno trebali da odradite update. Inspector olakšava rad sa svojstvima fajlova i foldera. Posebno je jednostavan ignore, nešto za šta sam ranije koristio komandnu liniju. Postoji niz alata koji se mogu koristiti za pregled diffova (FileMerge, TextWrangler itd). Versions vam omogućava da izaberete alata koji vam najviše odgovara.

Većih zamerki stvarno nemam, valjda zato što sam uz SvnX navikao da neke stvari kao što su konflikti i merge brancheva rešavam ručno… Voleo bih kada bi Versions imao alat koji olakšava te operacije, ali mogu da živim bez njega.

Versions je komercijalan alat i košta 39EUR. Najtoplija preporuka ekipi koja svakodnevno koristi SVN i treba joj dobro grafičko okruženje za rad sa istim.

Microsoft Web Platform Installer

November 25, 2008

Za programiranje, sem želje, puno učenja i malo talenta, neophodni su i razni alati. Ti alati zavise prvenstveno od operativnog sistema, kao i ciljne aplikacije koju želite da razvijete.

Danas sve više ima smisla razvijati web aplikacije, umesto klasičnih desktop (korisničkih) aplikacija; prednosti i sa strane korisnika i sa strane programera su očigledne:

Sa strane korisnika:

za pristup aplikaciji je dovoljan browser na računaru ili čak na mobilnom telefonu dostupnost aplikacije je praktično sa bilo kog mesta na kome postoji pristup Mreži nema instaliranja nikakvih DLL-ova, ActiveX komponenti i ostali džidža-bidža - to praktično prelazi u održavanje aplikacije na serveru i to je zaduženje programera a ne korisnika

Istina, gornje će se platiti osiromašenim korisničkim interfejsom, ponekad slabijom funkcionalnošću, ali su sve to minorni nedostaci - činjenica je da već sada najviše vremena provodite u browseru, a to je dobar dokaz da su ovi nedostaci zaista manje bitni.

Sa stanovništva programera, razvijati web aplikacije takođe ima sve više smisla:

postavljanje aplikacije (hosting) je relativno jevtin (od 7-8$ mesečno za osnovni tj. shared hosting pa od 40$/mesečno za VPS hosting) potencijalno mnogo veća publika, a time korisnici kao i dobit (ili novčana, ili reklama, ili popularizacija samog programera) ispravljanje bagova i problema se daleko lakše radi - samo na jednom mestu, na samom serveru gde je i aplikacija kontrola pristupa (ko koristi aplikaciju i da li na to ima prava) je daleko lakša

Ok, šta je sve potrebno programeru koji se odlučio za razvoj Asp.Net aplikacija na Windows platformi? Da pokušam da nabrojim:

Windows operativni sistem (preporučeno Vista ili XP Professional ali može i XP Home verzija) - originalni .Net Framework (preporučeno 3.5 SP1, ali može i 2.0 SP1) SQL Express baza (preporučeno SQL Express 2008 ali može i SQL Express 2005) Visual Studio Express 2008

Sve gore, sem operativnog sistema je potpuno besplatno.

Sad, moguće je sve od ovoga skinuti odvojeno, ali zašto komplikovano kada može i jednostavnije? Tom delu “jednostavnije” je upravo namenjen Microsoft Web Platform Installer - sistem za instalaciju svega što vam je potrebno za razvoj.

Postupak je vrlo jednostavan: pobrinite se da imate barem .Net 2.0 instaliran; zatim odete na Microsoft Web Platform Installer i skinete/startujete malo programče; posle kraćeg ispitivanja, ponudiće vam razne opcije za instalaciju (značajno različite u zavisnosti da li ovo radite na XP, Windows Server 2003/2008 ili Vista operativnim sistemima):

Microsoft Web Platform Installer - prvi korak (klikni za veću sliku)

Ako niste sigurni, izaberite ASP.NET ili Complete za instalaciju svega što se nudi (ipak, reč upozorenja: Complete je veliki download - oko 150 Mb), prihvatite nekoliko Terms & Conditions i sačekajte da se završi instalacija.

Kako procedura (ako na mašini nema ništa već instalirano) zna da potraje, preporučujem da ovo radite kada je dobra veza a vi radite nešto drugo (instalacija može da zahteva restart ili dva, za .Net Framework 3.5 SP1 i Windows Installer 4.5):

Microsoft Web Platform Installer - instalacija (klikni za veću sliku)

U svakom slučaju, ovo je zaista najjednostavniji način da vaš računar pretvorite u vrlo pristojnu razvojnu stanicu i to potpuno besplatno. Ako ste Web programer na Microsoft platformi, toplo preporučujem da pogledate i ovaj pristup.

Visual Web Developer 2008 Express (klikni za veću sliku)

(e da, da ne zaboravim: MS WPI je u Release Candidate statusu tj. nije potpuno završen proizvod, pa stoji standardno bla-bla “krivi ste ako instalirate a nešto ne bude radilo itd, itd” )

Interesting Facts na Twitter-u

November 19, 2008

U poslednje vreme mi se nešto ništa ne radi. Izgubio sam volju za bilo čim. Danas, pošto i sam u poslednje vreme koristim Twitter, doduše ne nešto preterano kao neki (:-)), dođoh na ideju da povežem sajt InterestingFacts.org (u koji sam već uložio dosta svog vremena) sa već pomenutim Twitter-om, a sve u cilju promovisanja sajta, brzog obaveštavanja zainteresovanih korisnika o novoobjavljenim činjenicama, i naravno - povećanja posete sajta.

U prvom trenutku rekoh sebi “mrzi me da to sad radim”, ali onda se trgnuh i upitah samog sebe šta se to sa mnom dešava kad me i ovako trivijalan (i pre svega zanimljiv, pošto volim PHP) posao mrzi da odradim. Onda se iscimah te napravih novi nalog na Twitter-u i u administracioni panel Interesting Facts sajta ugradih skriptu koja, kada se nove činjenice objave, uzima najnoviju (poslednju), uzima prvih 130 karaktera iste i to objavljuje kao status. Ovo odsecanje je urađeno zato što su Twitter statusi ograničeni na 140 karaktera, i, naravno, da biste morali da otvorite sajt da vidite čitav tekst činjenice

Šta čekate? Pravac http://twitter.com/ifacts i klik na “Follow”!

PHP.JS

October 27, 2008

Ne sećam se kada mi se zadnji put neki PHP resurs učinio dovoljno zanimljivim da bih poželeo da blogujem o njemu. No, posle dugo vremena evo ga jedan. U pitanju niz osnovnih PHP funkcija implementiranih u JavaScriptu. Ako ste radili sa JS-om i padne vam na pamet kako bi bilo super da imate strcmp() ili md5() na raspolaganju, PHP.JS nudi rešenje.

Paket sadrži 190 portovanih funkcija. Nema potrebe sve da ih koristite - ponekad je dovoljno izvući jednu funkciju i prilagoditi je svojim potrebama ili pogledati kako je neko drugi rešio problem.

Za svaku pohvalu. Hvala ekipi na trudu!

Knjižare i web sajtovi - studija upotrebljivosti

October 24, 2008

Tehnologija napreduje džinovskim koracima, posebno u Web područjima; direktna posledica toga je da sve više ljudi mogu da je koriste, a još direktnija je inflacija takozvanih programera iza ćoška koji će “odraditi sajt za 100€”.

Ovaj tekst nije namenjen programerima iza ćoška već web programerima ili onima koji to žele da postanu.

Nekoliko razloga su me podstakli na ovaj post:

programer sam (i tim se dičim ) i trudim se da svoj posao obavljam profesionalno i odgovorno radim sa velikim brojem drugih programera i mislim da sam u stanju da dam generalnu ocenu kvaliteta rada na tom polju Uža specijalnost mi je ocena upotrebljivosti i pristupačnosti sajtova (komercijalnih pre svega) Oktobar je mesec knjige i tada visim po knjižarsko/izdavačkim sajtovima birajući šta da kupim na Sajmu - zato stoji ono “knjižare” mada se može primeniti na većinu sajtova.

Napraviti komercijalan sajt je ozbiljan posao: u količini vremena potrebnoj da se sagledaju svi zahtevi, zatim da se to napravi, istestira i postavi live; napraviti upotrebljiv komercijalan sajt je još veći posao - postoje gomila knjiga, studija, kurseva gde sve sve krupne i sitne stvari uče.

No, čak i ako nemate para da sebi priuštite obrazovanje tog tipa, tu je Mreža, Google i na kraju krajeva, vaša zdrava pamet šta gde i kako treba postaviti. Na kraju, uvek možete platiti (vi ili naručilac posla) pravu studiju o upotrebljivosti.

Zašto ovo uopšte pišem? Najbolje da vam pokažem kroz primere (da ne bude zabune: nisam nikakav stručnjak za dizajn, sve primedbe će biti sa funkcionalne stane).

Prva strana / Home page

Naslovna / Prva / Home Page - kako god da je nazovete, ovo je NAJVAŽNIJA strana na sajtu; ako je loše urađena, ako nije pregledna, ako običnom (naglašavam: običnom) korisniku nije jasno kako da nađe ono zbog čega je došao na vaš sajt, izgubili ste jednog potencijalnog kupca.

Dobar primer: http://laguna.rs/

Laguna.Rs: Naslovna strana (klikni za veću sliku)

Šta je dobro ovde? Hajde redom:

- Centralni deo strane zauzet je velikim banerom koji obaveštava o velikom popustu na Sajmu; znači, ono što je vremenski ograničeno i vezano za vreme i mesto treba jasno staviti do znanja i to sa minimumom informacija: “60% popusta na Sajmu knjiga” - sve rečeno i definitivno dovoljno intrigantno da kliknete na baner.

- Redovni kupci: ako ste redovan kupac, i dolazite periodično na sajt, treba vas obavestiti o novim knjigama (kao potencijalnim metama za kupovinu) - odmah ispod centralnog banera

- Jasno izdvojena (crvenom bojom) korpa gore levo stavlja do znanja da je naručivanje knjiga moguće tu, odmah sa sajta; Visa / Master dole levo potvrđuje ne samo da je moguće naručivanje već i plaćanje, što je na našim sajtovima itekakva retkost.

- Čista i jasna navigacija na vrhu daje najčešće oblasti sajta koje zanimaju najveći broj kupaca (mada, primedba: da sam se ja pitao, ovde bi išao i “Kontakt” link, a ne u dnu stranice)

- Top liste (i generalno razne liste) su uvek veoma atraktivan način privlačenja pažnje (i potencijalne kupovine)

- Pretraga: sajt knjižarskog tipa bez vrlo dobre pretrage je prosto besmislen.

Loš primer: http://www.solaris-ns.com

Iako relativno redovno kupujem Solarisova izdanja, njihova prezentacija je među najgorim prezentacijama knjižara i/ili izdavačkih preduzeća:

Solaris Novi Sad: Naslovna strana (klikni za veću sliku)

Prosto je neverovatno da se neko u 2008. godini sa toliko nemarnosti odnosi prema svom web prisustvu.

Ne znam gde pre da počnem:

- Obaveštenje o on-line prodavnici u vidu “šetajućeg” teksta (marquee) na potpuno nečitljivoj pozadini. Obratite pažnju da se on-line prodavnica nalazi na sasvim drugoj adresi - zar je toliki problem integrisati ova dva sajta u jedan, funkcionalniji i bolji?

- Cena, kao esencijalni deo informacije o knjizi je “iščupana” i stavljena u PDF datoteku koju morate da skinete i da imate čitač za PDF (znam da ga skoro svi imaju, ali to nije ideja). Zar je jednostavnije uraditi ažuriranje Word dokumenta, prebaciti ga u PDF, okačiti na sajt od prostog unosa cene PORED KNJIGE na samom sajtu?

- Leva strana sajta je potpuno neiskorišćena

- Nema pretrage.

Pretraga (Znam da svi znate ali čisto da pomenem. Ako želite da nađete nešto po određenom sajtu, a na sajtu nema pretrage, uvek možete da pozovete Google u pomoć; unesite termin, a zatim site:ime_sajta iza termina:

Posećenost bloga site:vesic.org

Google će ograničiti svoju pretragu samo na taj sajt. Tačno je da pretraga ne mora da bude potpuna (ako Google retko obilazi sajt pa je u međuvremenu dodata neka nova strana / promenjena stara) ali s obzirom da sajt nema pretragu, bolje išta nego ništa )

Pretraga je danas osnov nalaženja informacija; pri tome, naravno Pretraga = Google. Da bi Google našao određeni sajt, nekoliko stvari treba da se dese:

Da je sajt prijavljen Google-tu Da što više bitnih katalog sajtova sadrže taj sajt Idealno, sajt treba da podrži Sitemaps Naravno, sadržaj treba da je lako pretraživ (čitaj: što više teksta, što manje slika / Flash objekata)

Naravno, potrebno je i vreme (nekada i do mesec - dva) da se sajt nađe u Google indeksu; u svakom slučaju, to vreme je van vaše kontrole.

No, pretpostavimo da je korisnik nekako došao do vašeg sajta; sada imate dve mogućnosti:

Lokalna pretraga

Svaki komercijalni sajt mora da ima efikasnu i jednostavnu pretragu - mislim da ovo ne treba dalje objašnjavati.

Sama realizacija pretrage (sa programerske strane) nikada nije jednostavna i ne treba potcenjivati broj mogućih problema na koji možete da naiđete. Iako većina boljih sistema za upravljanjem podataka (MySQL, Oracle, MS SQL Server) podržavaju takozvani full text search, njihova implementacija (sa posebnim osvrtom na ћирилично / latinične probleme, i naša šđčćž slova) nikada nije trivijalna.

Doduše, to vas ne sme odvratiti od izrade pretrage - sajt to mora posedovati.

Google Custom Search

Elegantan način da se gore navedeni problemi zaobiđu je Google Custom Search - mogućnost da sav taj problematični posao prebacite na Google.

Ideja je više nego jednostavna - registrujete GCS, integrišete ga u sajt (što se svodi na ubacivanje dve ili tri JavaScript datoteke uz minimalne kozmetičke promene) i zaboravite - Google je ionako vrlo specijalizovan za pretrage

Kvaka u ovom rešenju je ono što sam pomenuo gore - ako Google ne zna da je došlo do promene sadržaja, ili retko obilazi vaš sajt (jer u početku ima malo linkova koji pokazuju na njega) GCS neće biti baš precizan. Da li je ovo razlog protiv GCS - to morate vi ili naručilac posla da odlučite. Iskustvo je pokazalo da posle 3 - 4 meseca (što je inače period kada ispravljate greške, stavljate novu verziju sajta itd) GCS sasvim lepo radi posao (naravno, koristite Sitemaps, uz propisan ping Google-tu svaki put kada se sadržaj promeni).

Interfejs

Jednom isprogramirana, pretraga treba da dobije i odgovarajući interfejs prema korisniku. Laguna radi to ovako:

Ovo nije dobar primer za pretragu - za običnog korisnika, dodatna podela (naslovi / pisci / sadržaj) će samo smanjiti šansu da ono što ga zanima i pronađe na sajtu; bolje je dati više rezultata pretrage, nego manje.

Nije loše da postoje dve vrste pretrage: osnovna i napredna (gde možete dati mnogo finiju granulaciju: po imenu i prezimenu, po ISBN broju, itd itd), ali osnovna pretraga treba da bude efikasna i jednostavna - baš kao Google pretraga.

Kategorizacija

Znam da kategorizacija knjiga u određene žanrove i/ili oblasti nije dovoljno niti dobro standardizovana; no, to ne treba da vas spreči da napravite listu žanrova koja će potencijalnom kupcu olakšati a ne otežati kupovinu. Kako slika govori više od ne znam koliko reči, evo primera sa tri razna sajta:

(klikni za veću sliku)

Koja kategorizacija vama leži?

Ovo ne znači da “očigledna” kategorizacija treba da bude jedna i jedina, daleko od toga - ništa vas ne sprečava da imate i druge kategorizacije na sajtu; samo smatram da “očigledna” treba da bude osnovna i pri tome lako razumljiva.

Kontakt

Iako možda izgleda kao trivijalni element sajta, ovo je jedan od najvažnijih, i iz meni nepoznatih razloga, većina ga ne uradi kako treba.

Lagunin primer:

Laguna: kontakt podaci (klikni za veću sliku)

Dosta dobar: pregledan, sa gomilom podataka. Na telefone i e-mail poruke uredno odgovaraju, što je veliki plus i postavljeno je radno vreme, što je vrlo bitno kada morate da odete i lično kupite / preuzmete robu.

No, može i bolje:

Adresa - nije jasno da li je to adresa od redakcije ili kluba čitalaca? Pogotovo što na dnu strane stoji druga adresa. e-mail je u starom formatu; sajt postoji na .rs domenu, email adresa je i dalje na .co.yu - ovakve nedoslednosti bi trebalo ispraviti Mapa je ok; no definitivno treba dodati i linije prevoza kao i stanice u blizini kluba; to je mali napor a veoma olakšava planiranje puta do kluba.

Sada na Solarisov primer:

Solaris: kontakt strana (klikni za veću sliku)

Prvi problem je što postoji očigledna razlika između domena na kojoj je prezentacija (http://www.solaris-ns.com) i mail adrese ( office@solarisns.com ) - moja prva misao je bila: da nije greška? Drugi domen zaista postoji, ali na tom domenu nema nikakve prezentacije. Na stranu što na mail nisu odgovorili dva dana.

Prosto ne mogu da smislim razlog zašto bi neko unosio ovakvu vrstu zabune u komercijalni sajt - na jednom domenu prezentacija, na drugom domenu mail a na trećem domenu on-line prodavnica (više o tome malo kasnije).

Drugi problem je što nema poslovnih podataka o firmi (PIB, matični broj i slično) kao ni mape i gradskih linija.

Online kupovina Laguna - kupovina

Da vidimo kako ide sa kupovinom; recimo da želim da kupim “RIZNICA OBMANA” od Majkla Farkvara:

unesem “riznica” u polje za pretragu i lupim enter kliknem na nađenu knjigu kliknem na Dodaj u korpu i bez osvežavanja strane (Ajax), knjiga je u korpi klikom na “Završi kupovinu” dajem podatke i knjiga je kupljena:

(klikni za veću sliku)

Čisto, pregledno, jednostavno.

Čak i da nema direktne pretrage, knjigu sam mogao da nađem preko žanra ili autora.

Solaris - kupovina

Hajdemo sada na poznati negativan primer - želim da kupim prvo Solarisovu knjigu: Daglas Preston & Linkoln Čajld - “KABINET ČUDESA”, kao i da vidim koje sve još knjige imaju od ovih autora.

Odlazim na sajt, zatim Autori (obratite pažnju da ne postoji NIKAKVA kategorizacija), lociram peške ova dva autora da bih ustanovio da nikako ne mogu da lociram njihove knjige:

(klikni za veću sliku)

Ovo je čist tekst bez ijednog jedinog linka! (a podsetiću, linkovanje informacija je glavna prednost html-a u odnosu na običan tekst )

Ok, pošto ne odustajem tako lako, lociram knjigu preko prostog spiska knjiga, opet bez ikakve kategorizacije i selekcije, kliknem na detalje i:

(klikni za veću sliku)

opet završim na stranici bez ijednog linka, čak ni prema autorima!

Do sada sam već ukapirao da ovde ne mogu da kupim knjigu pa idem na sasvim novu adresu prodavnice koja se reklamira svuda po sajtu (uključujući i kontakt stranicu), koji ‘fala bogu ima search:

Hajde da zanemarimo (bezobrazan komentar u 2008-oj godini) “Nemojte da koristite naša slova” i da probamo da nađemo knjigu:

- Uneo “Daglas Preston“; hm, samo jedna knjiga i to ne ona koja mi treba - pa da, kako ne znam da su ime jednog od autora skratili.

Pokušajte malo da surfujete po kategorijama:

Solaris: kategorije knjiga (klikni za veću sliku)

na stranu što je podela vrlo čudna, kakva je svrha pokazivati podkategorije koje nemaju ni jednu knjigu? Na kraju

O oba sajta bi moglo još mnogo šta da se kaže (posebno o Solarisovom) ali sam već sada preterao sa dužinom teksta

Ne znam da li je ovo dovoljno detaljno da zasluži naziv “studije”; samo se nadam da sam uspeo da barem malo skrenem pažnju / objasnim stvari na koje bi svi koji prave sajtove (i naručioci i izvođači) definitivno morali da uzmu u obzir. Danas više nije 2000-ta i ne treba zanemariti broj ljudi spremnih da odu na vaš sajt i kupe to što nudite. Zato smatrajte novac uložen u izradu dobrog i upotrebljivog sajta investicijom (koja će vam se brzo vratiti kroz kupce koje privuče) a ne troškom

Nagrada za “Vokativ”

October 23, 2008

Projekat “Vokativ“, o kojem sam ranije pisao, za manje od mesec dana postojanja dobio je nagradu za inovativnost na polju srpskog interneta od strane beogradskog festivala novih komunikacija B-LINK 2008.

Mislim da je nagrada stigla malo prerano, mada možda i nije (za dobre stvari se brzo čuje ;-)) i jako mi je drago što se ovako brzo pročulo za projekat, odnosno što je isti ovako brzo primećen. Naravno, ništa ne bi bilo od ovog projekta da nije bilo Filipa Miletića, koji je pokrenuo celu ovu stvar, kao i Miloša Vukotića, koji je napisao inicijalnu verziju skripte.

Takođe, ovo je bilo moje prvo obraćanje (ne tako velikoj) gomili ljudi (preko mikrofona) i pošto me je lepo oblio hladan znoj uspeo sam drhtavim glasom da se zahvalim svima na nagradi i da se izrazim svoje čuđenje ovoj nagradi, pošto zaista nisam mislio da je bilo ko čuo za “Vokativ.” Očekujem slike sa večerašnje dodele nagrada, a dotle se strpite.

P.S. Opet fotka načinjena telefonom jer moj foto-aparat i dalje ne radi

Open Source - filozofija, način života, nešto treće?

October 22, 2008

Već se odavno spremam da napišem (očigledno poduži) članak na temu Open Source protiv Commercial source ili kako bi neki koji me znaju rekli protiv “zlog Microsoft-a koji stalno promovišeš a da te ni ne plaćaju “.

Neki od pokretača za pisanje teksta su predavanje Ivana Jelića na BlogOpenu 2007 i diskusija koja je usledila posle toga, komentar broj 15. na http://www.vesic.org/programi/moji/vas-telefon/, a bogami i “zatvaranje” jednog od najvećih Open Source projekata na ovim prostorima, activeCollab- kao i ovakvi komentari u mailovima:

…pretpostavljam da si pobornik “Prozora” a to mi sa obzirom na tvoje znanje ne ide u glavu!

Postoje dva aspekta ove priče (odnosno, ima ih mnogo više, pričaću o dva): Open Source u aplikacijama/programiranju i Open Source u operativnim sistemima.

Open Source u aplikacijama/programiranju

Za početak, pozicija: ja sam programer i od programiranja živim: od onih malih nula i jedinica koje nastaju prevođenjem elegantnih (po mom skromnom mišljenju ) linija koda, najčešće u C#.

Open Source filozofija kaže: sve što napravim, treba da stavim u javno dobro; time mi se otvara mogućnost da bez ograničenja ugrađujem već napravljene stvari (kod) koje su takođe pod Open Source licencom i time smanjim vreme od ideje do proizvoda.

No, ovakva filozofija za profesionalne programere ostavlja jako malo mesta za nešto sebično: zaradu, koja mi omogućava trivijalne stvari kao što su stan, hrana, hardver, hosting. Objašnjenja koja sam dobio od OS poklonika: “možeš da zarađuješ prodajući podršku ljudima koji koriste tvoj Open Source program” su skoro uvredljiva; ja ne želim da prodajem podršku, ja želim da dajem podršku za programe koje sam sam izradio i (nadam se) prodao korisnicima. Tu udela ima i ne mala sujeta i dobar osećaj kada znate da je neko spreman da plati novac za vaš proizvod - to je drugi deo aspekta “ja sam programer” i to vrlo važan; džaba što uživate u prvom delu “ja od praznog ekrana u editoru stvaram nešto što će koristiti” ako to nešto niko ne koristi.

To ne znači da mrzim Open Source filozofiju; ja itekako učestvujem u Open Source projektima, pogotovo u onima koje koristim: u forumima, prijavi bagova, testiranju. Smatram da je sasvim u redu da ono što je sada veoma skupo (moje slobodno vreme, jer ga tako malo ima) dam nazad zajednici koja mi je dala neke vrlo dobre Open Source proizvode.

Open Source markica na proizvodu (aplikaciji, programu) ne garantuje nikakav dodatan kvalitet; to prosto znači da je izabran jedan model za proizvodnju. Većini korisnika mogućnost da pogleda kod kako je taj proizvod napisan ne znači ništa. Sa druge strane, ima vrlo dobrih Open Source proizvoda:

Firefox Open Office Apache Filezilla Audacity Paint.Net

Da li su ovi proizvodi bolji zato što su Open Source? Ili zato što imaju posvećenu grupu talentovanih programera / cele fondacije koji o njima brinu?

Kada nađem kvalitetnu Open Source aplikaciju za određenu potrebu, uvek ću je prvo preporučiti, pre komercijalne varijante; no, ako takve Open Source aplikacije nema (recimo, alternativa Total Commander-u, prvoj aplikaciji koju sam platio) onda nije sramota platiti za nešto što vam treba.

Open Source u operativnim sistemima

ili da li je bolja Windows Vista ili Linux.

Podnaslov sugeriše da je jedan izbor bolji; naravno da nije - izbor operativnog sistema (bilo open-source bilo komercijalnog) je kao izbor bilo kog alata - birate onaj koji odgovara vašim potrebama, tekućem znanju kao i problemima koje nameravate da rešite.

Komercijalan operativni sistem (Vista recimo) nije “zao” zbog toga što ga “zli” Microsoft prodaje i kontroliše; to je samo još jedan OS. Takođe, Linux nije savršen operativni sistem zato što puca od slobode i open source-ta; to je samo još jedan OS.

Ono što treba imati u vidu je da je izbor operativnog sistem kobinacija iskustvenih priča onog ko ga instalira i onog ko će ga koristiti; ako nemate nikakvo iskustvo kao korisnik, vama će svejedno biti da li je operativni sistem Windows ili Linux, sve dok imate nekog ko vam oko toga može pomoći (i u početku, a bogami i kasnije). Taj koji pomaže će opet izbor napraviti prema svom iskustvu i znanju a ne prema filozofiji (inače je nadrljao).

Moje iskustvo sa Dos (ko ga se seća ) / Windows operativnim sistemima je dugo i duboko; smatram da je Windows Vista izuzetan desktop sistem koji će pokriti potrebe najvećeg broja korisnika (e da, molio bi da eventualno pljuvanje Viste bude ako ste ga zaista koristili 2 ili više meseca, a ne instalirali na dva sata da bi mogli da ga pljujete )

Sa druge strane, Linux kao desktop operativni sistem ima da pređe još jako dug i bolan put pre nego se neko usudi da ga instalira kod svoje mame Standardizacija je ono što očajnički treba Linux Desktopu - svaki izbor koji možete napraviti (distribucija, zatim Kde ili Gnome za upravljanje prozorima) drastično smanjuje grupu korisnika kojima je namenjena - ako ne verujete, probajte da običnom korisniku razliku između distribucija i Kde/Gnome - ako niste dobili prazan pogled, onda to nije običan korisnik

Kompjuter je mašina; napredna mašina i ima malo više programa od veš mašine ali u principu služi za određene zadatke: surfovanje Mrežom, pisanje mailova, obrada fotografije, komunikaciji sa ostalim uređajima; ako izabrani operativni sistem sve to omogućava, zar je bitno da li je plaćen 8000 dinara ili došao besplatno na DVD-u?

Kada započinjete diskusije na ovu temu, probajte da se izmestite u “stvarni” svet; svi mi koji pišemo blogove, čitamo blogove, bavimo se kompjuterima i Mrežom imamo daleko, daleko drugačiji pogled od običnog korisnika. Instalacija operativnog sistema nije težak posao … ako znate kako. Ako pak, ne znate da programirate video rekorder za snimanje u određeno vreme, šta mislite kako je instalirati operativni sistem?

I dva saveta potpunim Open Source poklonicima (naglasak na potpunim):

- ako se neko odlučio da kupi komercijalan proizvod ili operativni sistem, to znači da je procenio da mu vreme i uložen trud za alternativu više znače od iznosa novca a ne da je glup jer nije čuo da postoje Linux i Open Office

- umesto što trošite tone i tone vremena pljujući po Microsoftu i Windowsu (kada ste čuli za obrnuto?) utrošite to vreme da proširite OS filozofiju na praktičnom primeru: u instalacijama, podešavanjima i podršci tog istog OS okruženja i aplikacija (Miff i Punky, samo napred )

(ko je stigao dovde, svaka čast )

7 minuta koji menjaju sve (ili ne menjaju mnogo)

October 15, 2008

Danas su organizatori TMT.Ventures’08 Zagreb, obajvili da je projekat DataMeal ušao među 5 finalista. Ovim ću imati priliku da u trajanju od 7 minuta pokušam da uverim investitore da kao i ja veruju da je DataMeal nešto u čega vredi investirati.

Izazov je u tako kratkom vremenu obajsniti ovakav koncept. U opštem utisku pomoći će mi to da DataMeal već radi (i zarađuje) u nekoliko domaćih firmi.

Željan sam saveta i svega prikladnog… kao pomoć u boljem iskorišćenju ove prilike. Primam ih osim u komentarima i na dmpodrska[ovde ide @]majlab.com

Web browseri su tesni

October 11, 2008

Nekako paralelno sa objavljivanjem mog članka u “Internet Ogledalu” (septembar 2008, broj 98), pojavio se post sa sličnim tezama na poznatom ParticleTree blogu, koji okuplja ekipu koja između ostalog stoji iza “Wofoo” projekta (online builder web formulara)…

Internet dekstop 2.0

Evo, priznajem da je taj moj tekst ustvari moj rad sa ovogodišnje “E-trgovine” na Paliću, naravno stilski “prepevan” i osvežen informacijama koje su se pojavile u međuvremenu - uz jednu dodatu studiju slučaja: Produktna berza Novi Sad.

Pisao sam više puta o browerless (internet-desktop) fenomenu, istovremeno sam u prenošenju ideje ovog koncepta nailazio na zid suštinskog nerazumevanja među ljudima koji su i u mojoj “branši”. Zbog toga i ovim postom produžavam, ovaj, nekakav, evanđelizam.

myBOX skripta

October 7, 2008

Nedavno sam pisao o svom softveru pod nazivom NeonEngine. Pošto sam zbog obaveza i polu-posla poprilično zauzet, odlučio sam da svoj projekat stavim u blagu hibernaciju. Kako se ne bi desilo da potpuno zaboravim šta sam radio, odlučio sam da svakog dana napišem po liniju koda.

Ali, pre neki dan, nakon što sam postavio svoj blog na engleskom jeziku, odlučio sam da svoje JavaScript i CSS eksperimente objavljujem u sekciji na tom sajtu. Prvi od njih je myBOX.

E, sada se vi pitate kakve veze imaju NeonEngine i myBOX. Pa, myBOX je default specijalno napisana modal-box skripta za NeonEngine. Ne zavisi ni od jedne biblioteke, teška je neverovatnih 1.5KB, može da prikazuje tekst, HTML, slike, IFrame-ove i sadržaj učitan pomoću Ajax-a. Flash animacije nisu podržane, jer nisam imao potrebu da iste ubacujem u modalni prozor.

Sad, zbog svojeg ne-korištenja biblioteka poput Prototype-a, jQuery-ja i MooTools-a, nema ni animacija, ali ne znam da bi tako nešto neko mogao da očekuje od skripte teške 1.5KB. Skriptu možete preuzeti na ovom linku.

Zamolio bih sve vas koji ćete isprobati ovu skriptu da je linkuju na servisima poput Delicious-a i Digg-a, kako bi što više ljudi saznalo za nju.

Šta je Microsoft naučio iz praksi open-source zajednica?

October 5, 2008

Krajem septembra Microsoft je objavio besplatan Microsoft Web Platform Installer (beta). Sadrži besplatan softver potreban da se krene u razvoj web aplikacija na Microsoft platformi:

IIS7 (web server) Visual Web Developer 2008 Express Edition (razvojni alat - mini Visual Studio) SQL Server 2008 Express Edition (baza podataka) .NET Framework (biblioteke, JIT kompajler…)

Za web programere na open-source platformama ovakvi paketi su odavno dostupni. PHP tako recimo ima: WAMP, XAMPP, Apache2triad, EasyPHP, AppServ, Uniform, Php Triad…

Pre oko godinu dana radio sam intervju sa Wilfriedom Grommenom, a na CeBIT-u 2005. sa Ashim Palom koji je tada bio još u Microsoftu. Sa obojicom sam u tim prilikama pričao o open-sorce zajednicama, i od obojice sam čuo da je Microsoft puno naučio od njih, i da je strategija korporacije da deo tog pozitivnog iskustva primeni.

Očigledno je da je ovaj besplatni instaler Microsoftove web platforme korak u tom smeru.

JQuery - kristališe li se standard?

September 29, 2008

Džona Resig, “otac” sada već čuvene jQuery biblioteke ima razloga za dodatno zadovoljstvo. Iako o tome nije rekao ni reči na prezentaciji o tome šta treba očekivati budućnosti JQuery biblioteke, ovih dana se najavljuje da će bibilioteka biti sastavni deo Microsoftovog Visual Studija. I ne samo to - Nokia će JQuery isporučivati u svom Web Run-Time okruženju.

Mislim da su ovo dovoljni razlozi da JQuery bude u prednosti kada se JavaScript programeri odlučuju za biblioteku u kojoj će raditi. JQuery po svemu sudeći postaje standard.

Projekat “Vokativ”

September 27, 2008

Pre nekog vremena povela se diskusija na DevProTalk-u (inicijator je bio Filip Miletić) o tome da se napravi programska promena imena po padežima, odnosno, za početak, samo iz nominativa u vokativ, a sve u cilju da se, kada vam se sajt obraća, obraća sa npr.  “Zdravo Filipe”, umesto “Zdravo Filip”, čak iako ste prilikom registracije kao ime uneli “Filip”.

Inicijalnu verziju napravio je Miloš Vukotić, a onda sam mu se pridružio i ja, te smo malo sredili projekat. Rezultat je - Projekat Vokativ.

“Vokativ” je pokušaj da se obezbedi što preciznija automatska programska promena prvenstveno ličnih imena, a onda i ostalih imenica iz nominativa u vokativ. Zamislite da se na nekom sajtu registrujete sa imenom “Filip”, i umesto da vas sajt, kada se sledeći put ulogujete, pozdravi sa “Zdravo Filip!” što je normalno za sajtove sa engleskog govornog područja (”Hello Filip!” je sasvim primereno), taj pozdrav glasi “Zdravo Filipe!”, što je normalno za srpski jezik.

Pozivam vas sve da istestirate skriptu i da podelite svoje mišljenje sa mnom, ovde

http://vokativ.vokabular.org/

Da li vam je zapad fetiš?

September 19, 2008

Možda vam video u prilogu pokaže da su stvari svuda slične, i da Srbija nije baš toliko loša a ni da zapad nije baš toliko dobar. Mene baš iritira taj fetiš zapada i neumereno nipodaštavanje svega domaćeg: “to samo kod nas može”, “ovo nema nigde”, “pa zbog toga bi na zapadu to i to…”… čujete to svakodnevno, to negativno “samotripovanje”. Kada odete tamo da radite, a ne turistički, kada prilike sagledate vi a ne opiše vam je dijaspora na odmoru u matici, kada pogledate svojim očima, a ne kroz medijske filtere… razlika je manja.

Iz offline ugla: Preregistracija domena: yu -> rs

September 18, 2008

Pre malo više od godinu dana napravio sam ovaj post o kamionu koji je imao sve oznake “naših država”… redom YU, SCG, SRB…

Da su se stvari nešto pomerile ilustruje jučerašnja slika sa Detelinare… SRB (ali samo SRB) je već normalna pojava. Kamion na ovoj slici pored tog “ustrojstva” ima i odštampam RS domen na ceradi (ili ciradi, nemam pojma kako se to piše/transkribuje). Bilo koji domen na domaćoj ceradi - retkost, domaći još ređi… RS u septembru 2008 - prosudite sami:

RS KAMION

Perl za kišni dan…

September 14, 2008

Divan kišni dan. Ne znam za vas ali ja uživam kada pada kiša. Danas sam se nešto igrao u Perlu pa rekoh da podelim sa vama… možda vam zatreba nekada ovako nešto. Elem, pretpostavimo da i vi morate da izmenite jednu te istu liniju u preko 100 fajlova. (Sređivao sam prevod za Joomla! 1.5.7 pa je trebalo promeniti prvu linuju svih fajlova sa prevodom da umesto 1.5.6 stoji 1.5.7) Ima načina i načina, reče jedan mudar čovek. Tačno. I evo vam jednog krajnje jednostavnog načina da pomenutu radnju izvedete uz pomoć Perla:perl -pi -w -e 's/trazi/zameni/g;' *.ini I šta ovo radi?  Pretražuje sve fajlove sa ekstenzijom INI i u njima ovo "trazi" i umesto toga stavlja "zameni". Ili malo detaljnije:-e znači: izvrši sledeću liniju koda. -i uredi(edit) u mestu. -w prikaži upozorenja. -p  petlja(loop). Ovo je izmenilo željenu linuju u 93 fajla za par sekundi. Vodite računa da znake tipa "/" i "." morate izbeći jednim "\" ispred svakog od njih. Recimo, moja linija za izmenu verzije Joomla! u fajlovima sa prevodom bi izgledala ovako:perl -pi -w -e 's/1\.5\.6/1\.5\.7/g;' *.ini

OpenID

September 11, 2008

Znate li šta je OpenID?

Sa OpenID tehnologijom više ne morate da pamtite gomilu korisničkih imena (username) jer OpenID eliminiše potrebu da se iznova svaki put registrujete na svakom novom sajtu.

Kako? Registrujete se samo jednom kod nekog OpenID provajdera, i od tada se svuda, čak i na sajtovima koje prvi put posećujete, prijavljujete sa tim jednim korisničkim imenom! Sajt na koji se prijavljujete kontaktira vašeg OpenID provajdera i dobija potvrdu da su podaci ispravni i vi ste ušli!

Jedna od najvećih prednosti OpenID sistema je to što sajt na koji se logujete ni u jednom trenutku ne dobija vašu OpenID šifru, tako da ne postoji apsolutno nikakva mogućnost da ista bude zloupotrebljena (pošto znamo da većina korisnika koristi jednu ili par šifara za sve sajtove na koje se loguju).

Prilikom prijave koristite samo vaše korisničko ime, odnosno vašu OpenID URL adresu! Tada vas na kratko prebace kod vašeg OpenID provajdera gde ukucavate svoju lozinku. Kada je provajder potvrdio da ste to stvarno vi, vraća vas na željeni sajt kao prijavljenog korisnika.

Uskoro se planira pokretanje prvog srpskog OpenID servisa, a ja sam u cilju promovisanja ove tehnologije omogućio da i na bRlogu možete ostavljati komentare, identifikujući se samo sa svojom OpenID URL adresom, koju možete uneti u polje za web sajt. Dakle, sada ne morate unositi ni svoje ime ni e-mail adresu (njih će “popuniti” vaš OpenID provajder identiteta) već samo adresu (i komentar) i OpenID će sve ostalo da sredi

izvor: mojid.rs

Integracija WordPressa i drugog softvera

September 9, 2008

Kako sad ovo uraditi?

Ako ste ikada pokušali da uradite nešto ovako, sigurno ste naišli na problem, jer niste znali kako da rešite. E, pa prčkao sam malo po svojoj WordPress 2.7 beta instalacija (da, ja sam njihov beta tester) i sinulo je!

Kao što znate, integracija dva softvera se svodi na to da mogu međusobno da koriste neke funkcije, zar ne? E, pa, to bi u ovom slučaju bilo korišćenje zajedničkog templejta, ali i prikazivanje nekih podataka (npr. poslednji postovi sa bloga u sidebaru foruma). Da bi ovako nešto bilo moguće, forum sistem bi morao da koristi ili sirov query (odnosno, da sam vuče iz baze šta mu treba) ili da ima pristup WordPress-ovim tagovima (odnosno funkcijama za sadržaj, kao što su get_header(); ili wp_get_archives();.

E, pa pokušao sam da u templejt foruma ubacim (includujem) fajlove pomoću kojih rade ovi tagovi, i ispostavlja se da je sve jako, jako jednostavno.

Evo parčeta koda koje sam ubacio u zaglavlje foruma:

if ( !isset($wp_did_header) ) {$wp_did_header = true;require_once( dirname(__FILE__) . ‘/wp-load.php’ );wp();require_once( ABSPATH . WPINC . ‘/template-loader.php’ );}?>

U stvari, ovo bi trebalo da radi sa gotovo svim PHP stranicama, a radi se o delu koda koji se nalazi u index.php datoteci u root-u WordPress instalacije. Generalno, mogli ste i da inkludujete i samu index.php datoteku, ali je ovako bolje, jer imate veću kontrolu nad putanjama (mogu da se ne nalaze u istom direktorijumu, a onda morate promeniti putanju tako da odgovara).

E, sad još ostaje da izmenim i templejt foruma tako da ID-jevi i klase u CSS-u rade kako treba :P

NeonEngine i problemi

September 8, 2008

Malo tehnikalija :P NeonEngine je skoro pri kraju, a jedino što ostaje je da sredim neke sitnice, kao što je administracioni interfejs (trenutno je još uvek pod dejstvom “browser default” CSS-a) ali i dosta ozbiljnije stvari. Na primer, to bi bio editor za tekstualne postove. Šta sa njim?

Prvo, sa widgEditorom (koliko god bio savršen) ne znam kako da iz file browsera (koji se pokazuje u modalnom prozoru) ubacim sliku u post, nego sam to rešavao dosta “čobanski”, tako što sam korisniku davao URL slike, a on je sam morao da ubacuje. Takođe, gledajući source samog editora (o JavaScript editoru se radi) našao sam funkciju za ubacivanje slike, ali kako je sve veoma krhko (jednom kada sam menjao poruke, nešto sam zeznuo, i odustao sam), ostavio sam da bude kako jeste. Naravno, to problem nije rešilo, a drugi editori su mi preglomazni (FCKeditor na primer) a prema nekima imam ugrađen hejt (TinyMCE). Dakle, to mora da se ili popravi ili da se traži novo. Ako neko zna bolji editor, bilo bi dobro da se javi :)

Drugo, nikako mi ne pada na pamet kako da rešim učitavanje plug-inova, jer se radi o kombinovanju ASP i ASP.NET tehnologija, a znam da u njima nije omogućen dinamički include (bljak). Any ideas?

I treće, gotovo da je nevažno, ali nema veze. Radi se o optimizaciji za mašine za pretragu. Kao što sam napomenuo, radi se o kombinovanju ASP i ASP.NET tehnologija, pa nema načina da se odradi SEO sa fancy URL-ovima. Na sreću, našao sam rešenje, ali ono zahteva da url sadrži i ID stranice, što predstavlja prepreku, ali, kao što sam rekao, sam problem je nevažan.

To je ono što odlaže izbacivanje nove (i prve public) verzije NeonEngine-a, pa ako se neko pojavi sa radikalnim rešenjem, to mu garantuje pojavljivanje u credits-ima na sajtu :D

Google Chrome - tema za naredne dane

September 2, 2008

Bilo je pitanje vremena kada će Google napraviti svoj browser - prvo izdanje se pojavljuje, po najavama - danas. Da su Googleu drugi browseri “tesni” za njihove planove, pokazali su sa Google Gear projektom. Gear će sad naravno ići “po defaultu” uz novi browser - Google Chrome.

Ovaj moj post naprosto mora skliznuti u temu “pa rek’o sam vam”… U nekoliko mojih postova ovde sam pričao o procesu “desktopizacije” weba… a i predavao sam na Paliću, upravo o tome. I Google Chrome i  Microsoft Silverlight, Adobe AIR, Google Gears, DataMeal. … su posledice tog procesa.

Evo prezentacije sa Palića (E-trgovina 2008)…

Google je pojasnio novi koncept putem stripa. A koga mrzi da klikće stranicu po stranicu, evo linka gde je sve izlistano odjednom (to je jedna moja PHP alatkica za izlistavanje slika koje su u numeričkoj seriji - možda vredna jednog kratkog po[u]sta u budućnosti). Zvanični sajt se pojavljuje, pa nestaje, a dok se beta ne pojavi i isproba, evo još nekoliko nezavisnih izvora o Chromeu (interesantno je da Mozilla u svojoj arhitekturi ima segment koji se odavno zove - Chrome) :

Sažeta lista Chromeovih glavnih funkcionalnosti (CNet) Ova stranica na Wikipediji će se sigurno  puniti ovih dana intenzivno… Razmišljanja Mozillinog CEO (John Lilly) na ovu temu…

PHPEdit: Nagrada posle pet meseci

August 25, 2008

Početkom marta, moja php klasa Kenny Translator je nominovana za nagradu (za februar), a krajem marta je i završeno glasanje i klasa je dobila šesto mesto. Kao jedan od nagrađenih, dobio sam priliku da biram nagradu koju želim, ali pod uslovom da je neko od bolje rangiranih nije već izabrao. Naravno, Zend Studio na koji sam ciljao je odmah izabran tako da sam ja od preostalih par nagrada izabrao onu koja mi je najviše odgovarala - licencu za PHPEdit, kvalitetan PHP editor. Međutim, od kad sam izabrao tu nagradu, niko mi se nije javljao sa bilo kakvim informacijama kako da istu preuzmem. Posle mesec-dva čekanja, poslao sam sledeći e-mail autorima PHPEdit-a preko kontakt formulara:

Hello,

I was notified by mr. Manuel Lemos (administrator of PHPClasses.org) site that my class Kenny Translator won 6th place at March innovation awards, and he asked me to choose my award. I’ve chosen PHPEdit but nobody contacted me after that and I haven’t received it until today. Do you know anything about that or I need to contact mr. Manuel Lemos (there is note  on phpclasses.org that sponsors deliver prizes directly to winners)?

Regards, Nemanja Avramović

Pošto ih nisam kontaktirao direktno mejlom već preko kontakt formulara, zaista nemam nikakvu informaciju (a ne mogu da se setim) kada sam tačno poslao ovu poruku, ali znam da je bilo baš odavno. Narednih nedelju-dve mi niko nije odgovorio na ovu poruku i ja sam potpuno zaboravio na poruku koju sam poslao, kao i na nagradu, jer sam mislio da me jednostavno ignorišu. Bukvalno sam se oprostio od nagrade.

Kad ono međutim… danas, skoro pet meseci od kad sam izabrao nagradu (ceo april, maj, jun, jul i skoro ceo avgust), u Inboxu me jutros čeka mejl sledeće sadržine:

Dear,

Please accept my apologizes for this late reply.

I have created an account for you on our website and added your professional license there: http://www.waterproof.fr/extranet/licenses.php Login: cenzurisano Password: cenzurisano

Best regards, Sébastien Hordeaux

Ja se ulogujem, i vidim da me čeka licenca za PHPEdit. Skinem fajl sa informacijama o licenci, skinem editor, i pre nego što ću ga instalirati krenem da pišem ovaj unos. Sad mi je ostalo da instaliram editor i da ga dobro istestiram, pa ko zna - možda i zapišem ovde neke utiske