Posts RSS Comments RSS

Archive for the 'Projects' Category

Am lansat avanticart.ro!

Dupa un an de liniste pe blog (un an si 5 zile mai exact :) ), trebuie sa fac un pic de galagie si sa va anunt ca am lansat www.AvantiCart.ro . La asta lucrez impreuna cu Mihai cam de doi ani de zile (de cateva luni s-a alaturat si Adrian echipei), la asta voi lucra si pe viitor. Sincer imi place si am incredere in proiectul asta.

Avanticart este o solutie integrata de comert electronic … Recunoasteti vocea din prezentare? :)

Pe platforma avanticart am construit magazinul online www.sosetaria.ro. Deci, daca vreti un magazin online, acum stiti la cine sa apelati!

Restante

A venit vremea sa-mi dau restantele pe blog.

In caz ca nu ati vazut “Validation“, va recomand cu toata caldura sa va uitati la el. E un filmulet scurt (16 min) care va poate binedispune pentru tot restul zilei.

Si daca vreti sa vedeti ce linistit si “aerisit” arata Bucurestiul prin 1964, nu ratati postul asta.

Celor care le plac reclamele funny si pentru cei pasionati de marketing, aici gasiti toate reclamele de la Super Bowl.

In 24 Ianuarie 2009 am fost la GeekMeet #4 Cluj si nu am avut timp sa scriu nimic despre intalnire. Se pare ca inafara de Alex Deva si Andrei Petrescu nici altii n-au scris. Nu-mi aduc bine aminte toate prezentarile si nu are rost sa povestesc despre ele. Cei interesati pot veni la urmatoarele intalniri sa vada live ce se intampla acolo. Vreau totusi sa precizez ca prima prezentare mi-a placut, in special din cauza subiectului abordat (cultura retelelor de filesharing si a retelelor in general) si a interventiilor interesante de pe parcursul prezentarii. Probabil mi-a placut si din cauza modului dezinvolt in care Istvan Szakats isi expune ideile. Aici o lista cu cine si ce a mai prezentat.
poza-grup-geek-meet-4-cluj
Poza de grup cu participantii la GeekMeet 4 Cluj. Care sunt eu? :)
Multumim lui Aurelian pentru poze.





sosete-cu-degete
Avem de cateva zile “sosete cu degete” pentru tot felul de ocazii (zi de zi, diferite sporturi, marimi, culori…). Sunt comode si foarte interesante. Daca ati purtat asa ceva spuneti-ne parerea pe blog.

Am auzit ca se pune de o tiroliana luna asta daca e vreme buna. Asteptam invitatii :).

Ecommerce cu sosete si ciorapi.

Sosetaria.ro
Urmeaza sa lansam in curand primul site care o sa se ocupe cu vanzarea de sosete, dresuri si ciorapi pentru toate categoriile (copii, barbati, femei, pentru sport, ocazii speciale etc). Cine suntem noi? Pai eu (Huper sau Adi) si Mihai Brehar.
Un magazin nisa de nisa, cum zice Mircea Scarlatescu (caruia ii multumim pe aceasta cale), o sa schimbe putin fatza comertului online.
Hai sa nu fac prea mare tam-tam pentru ca inca ne pregatim de testare. Apropo, daca vreti sa ne ajutati sa testam, va oferim o reducere de 50% din prima comanda. Tot ce trebuie sa faceti e sa va lasati numele si adresa de mail pe pagina asta: Sosetaria.ro. Noi va vom trimite un mail cand site-ul va fi pregatit pentru beta-testing (in cateva zile) si voi va trebui sa navigati un pic pe site, sa comandati produse si pe urma sa completati un formular cu pareri si eventualele probleme aparute. Comenzile efectuate in perioada de test nu vor fi luate in considerare, asa ca puteti comanda un sac de sosete la propriu :).

RIP Isaac Hayes

Isaac Lee Hayes, Jr.
(August 20, 1942 – August 10, 2008)

a fost un cunoscut compozitor/cantaret american de soul si funk, printre multe altele, dar eu il stiu ca “Chef”, bucatarul din South Park. Isaac Hayes a parasit serialul South Park in 2006 din cauza unor neintelegeri cu creatorii (Trey Parker si Matt Stone) in urma difuzarii unui episod (Captivi in debara) in care e satirizata “Scientologia“. Isaac facea parte din aceasta secta religioasa, astfel incat nu a fost de acord cu acest tratament.
Nu are rost sa scriu biografia lui aici, o gasiti pe wikipedia.
Chiar imi placea acest caracter (Chef). Cred ca era singurul personaj “cu picioarele pe pamant” din South Park.

Apache + Subversion + TortoiseSVN + Python + Trac + (ingredient special) = WTF!?

trac
Pentru cei care nu au inteles nici unul din cuvintele din titlu poate ar fi mai bine sa citeasca asta.
Cei care o ard pe programare web si tot nu stiu despre ce-i vorba ar trebui sa citeasca asta .

WTF!? Cine credea ca o sa mearga combinatia de mai sus, in cazul in care ingredientul special = Windows? Sincer eu nu ma asteptam, mai ales ca aveam niste proiecte incepute deja in subversion si vroiam sa le integrez in trac. Si in plus am niste path-uri destul de ciudate pe PC-ul pe care am vrut sa instalez minunatia asta de sistem, deci probabilitatea sa gresesc ceva in config-uri e destul de mare. Ei, norocul meu ca am gasit un site cu niste tutoriale video foarte usor de urmarit. Pentru prosti ca mine. Clar.
Gasiti acolo pas cu pas cum se:

Instaleaza Appache pe Windows. Eu aveam instalat xampp. Am sarit peste pasul asta. Dar e bine ca totusi am citit articolul deoarece am gasit acolo o arhiva cu toate aplicatiile de care e nevoie sa instalati chestia aia lunga din titlu.

Instaleaza subversion pe Windows
Instaleaza TortoiseSVN pe Windows. Aveam deja dar cu ocazia asta am facut un upgrade.
Faci legatura dintre Appache si Subversion.
Instaleaza Python pe Windows. Ma bucur ca am instalat python-ul cu ocazia asta, pentru ca aveam de gand sa ma apuc sa-l studiez in viitor (sper sa fie viitorul apropiat, in functie de cat o sa fiu de ocupat).
Instaleaza Trac pe Windows.
Legatura intre Apache si Trac
Ce se intampla practic la legaturile astea Apache-Trac, Apache-Subversion? Pai practic la cererea unor linkuri de genul: www.exemplu.com/svn sau www.exemplu.com/Trac, cerinta e preluata de modulele alea adaugate: subversion si trac. Mai departe daca nu stiti ce se intampla, nu conteaza f mult.

Ce trebuie sa aveti grija:
Dupa cum v-am spus, path-urile voastre din calculator s-ar putea sa difere foarte mult de cele din exemplu, asa ca verificati foarte atent cand puneti liniile alea in config.
Aveti grija sa nu va scape eroarea si sa puneti:
LoadModule dav_svn_module C:\Directorul Meu\Subversion\bin\mod_dav_svn.so
cand trebuie de fapt sa fie
LoadModule dav_svn_module C:\Direct~1\Subversion\bin\mod_dav_svn.so
O problema care s-ar putea sa apara la testarea linkurilor (asta in functie de cum va este setat apache-ul) este sa folositi case-uri diferite. Adica: localhost/trac in loc de localhost/Trac sau localhost/SVN/project in loc de localhost/svn/project. De exemplu la mine merge doar cu localhost/svn/proj… (small case).
Dupa ce am instalat Trac-ul nu am reusit nici cum sa-l accesez. Primeam o eroare de genul:

error The Trac Environment needs to be upgraded….

Am facut legatura dintre Apache-Trac dupa care am rulat comanda: trac-admin . upgrade din command prompt (cmd) in folderul cu Trac-ul pentru Project1 (cd C:\Data\TracRepos\Project1). Acum totul merge veeery smooth :). Am pus deja un milestone f important pt un proiect la care lucrez: Get payed! :D
Nu uitati: in caz de probleme urmariti timpul log-urile din apache. Le gasiti in folderul_de_apache\logs\error.log (de ex la mine e: D:\Program Files\xampp\apache).

Planificarea site-urilor din perspectiva unui freelancer.

website-planning
Imi amintesc ca spuneam mai demult, parafrazand “un mare clasic” in viata, ca meseria asta de freelancer e ca si cum ai juca pe “Hard” jocul asta “dea muncitul”. Atata timp cat lucrezi de unul singur trebuie sa faci munca unui manager de proiect, contabil, secretara, designer, programator si femeie de servici. Macar daca ai lua salariile lor la un loc, dar de multe ori te bucuri cand ai salarul femeii de servici. Nu ca m-as plange, dar vreau sa punctez faptul ca esti nevoit astfel ca pe langa limbaje si tehnici de programare trebuie sa inveti si cum sa-ti planifici un proiect, cum sa vorbesti cu clientii, cum sa-ti vinzi munca si cum sa-ti faci cafeaua. Si ca sa poti tine ritmul esti nevoit sa copiezi metodele altora care ti se pare ca se potrivesc cel mai bine in cazul tau. Reinventarea rotii e exclusa! Moarte sigura. Daca stai sa studiezi metode si modele care se predau pe la nustiu ce universitati de asemenea esti mancat. Iti trebuie ceva rapid, practic si functional.
Asa ca m-am documentat putin care ar fi etapele de planificare a unui site. Din tot ce am gasit (mai mult povesti decat ceva la obiect) am facut urmatorul ghid practic de planificare a site-urilor:

  • Descrie-ti proiectul.
    Una sau mai multe fraze despre proiect. La ce o sa fie folosit site-ul, de cine si ce anume o sa contina, la modul foarte general.
  • Fa-ti un sumar.
    O lista cu toate cerintele site-ului, un index cu tot continutul
  • Fa un flow chart.
    Adica niste grafice in care desenezi cum ai vrea sa-ti viziteze lumea site-ul.
  • Fa-ti niste schite pentru design.
    Niste schite aproximative pentru fiecare pagina, Nu da atentie prea mare la detalii.
  • Propune-ti niste “milestone”-uri.
    Cred ca “pietre de hotar” ar veni in romana, dar f*** pruteanu :) . Identifica-ti niste faze mai importante din proiect si stabileste niste date pentru finalizarea fiecarei faze.

Pentru toata treaba asta ai nevoie de aproximativ 5 coli de hartie si ceva de scris. Tot pixul si foaia au ramas cele mai bune instrumente si in 2008. Sunt atat de bune incat nu a fost nevoie sa evolueze deloc in ultimele cateva zeci de ani.
Zilele urmatoare o sa revin cu detalierea fiecarei etape, acum nu mai am timp. Trebuie sa planific un proiect nou :) .

Feed’uri rss - standarde si validare.

Rss feed standards - rss pigeon
Ma gandeam zilele astea ca pentru ca sa fim si noi la zi cu tehnologia si cu “best practice”-urile de la ora actuala ar trebui implementate niste feed-uri pe site-ul Licitatie Porumbei. Asa ca m-am apucat sa citesc standarde si sa ma uit la exemple (link 1, link 2). Am reusit sa construiesc ceva pana la urma, dar vroiam sa verific daca e totul in regula. Am cautat un validator pentru feed-uri si tot testand si modificand am ajuns la o forma valida (se poate testa). Ce mi-a placut la site-ul respectiv e ca are un help foarte bogat si am invatat de acolo mai mult si mai repede decat de pe primele site-uri ce le gasisem pe google. Sistemul de validare e complet si f bine pus la punct. De exemplu m-a atentionat la cateva item-uri la care aveam data 1 ianuarie 1970 (era ceva eroare la formatarea datei in standardul rss) ca, citez, “e putin probabil sa fie data corecta”.
Ce nu am reusit sa invat (decat dupa ce m-am uitat cum e implementat in wordpress) e cum se face sa apara imaginea de feed in “address bar”-ul de la browser.
address bar
Eventually am descoperit ca era vorba despre urmatorul tag pus in < head >
<link rel=’ alternate ‘ type=’ application/rss+xml ‘ title=’ Porumbei La Licitatie ‘ href=’ http://licitatie-porumbei.ro/feeds/rss.porumbei.php ‘ />
Se pot pune mai multe feed-uri daca adaugi mai multe tag-uri de tip <link …. > iar cand vizitatorii dau click pe imaginea din addres bar li se va afisa o lista cu toate feed-urile, in ordinea aparitiei lor in pagina.

Ce e mai greu acum vine doar. Trebuie sa invat vizitatorii cum sa foloseasca un feed-reader, pentru ca in target-ul site-ului nu intra oameni care stau toata ziua la PC. Sunt unii care deabia se descurca sa-si faca un cont.

Despre domenii si plati online

Dupa ce am aflat vestea ca putem folosi si noi paypal ca toti oamenii civilizati, mi-am facut un card VISA Electron, mi-am tras un cont de paypal si am vanat ocazia potrivita sa vad si eu “cum se face”. Pana una alta mi-am platit facturile cu serviciile romanesti (epayment) si am primit niste “bani online” de la prieteni… Acuma s-a ivit momentul pentru ca trebuia sa cumpar un domeniu. Am intrat pe godaddy si am prins o oferta faina! Domeniu .com la doar 6.8 sau 6.9 USD… Mi-am facut rapid un cont, am adaugat in cos domeniul si am tot completat si bifat formulare de mi-a venit rau. In principiu e foarte usor de folosit, dar trebuie sa stii bine engleza si sa fi atent pentru ca iti ofera tot felul de servicii in plus si e posibil ca unele sa fie bifate “default”. Nu o sa explic in detaliu tot procesul pt ca e prea lung si plictisitor. Daca aveti de gand sa cumparati domenii de pe godaddy si nu va descurcati, contactati-ma si o sa va ajut cu placere (in limita timpului disponibil).
Mi-am verificat contul paypal, operatiunea a avut loc cu succes. Mi-am verificat contul din banca, banii au fost luati (7 USD si ceva, adica vreo 6.9 USD + taxa de procesare, undeva la 0.2 USD parca). Deci online shopping, here we go!

Si daca tot vorbeam de domenii, ati fost vreodata curiosi care e cea mai lunga denumire de domeniu? Am gasit pe site-ul asta o lista cu cele mai lungi denumiri de domenii. Practic orice domniu poate avea maxim 63 de caractere (fara extensia .com, .com.ro sau care-o fi). E interesant domeniul care are ca denumire zecimalele numarului PI (3.14….). Daca sunteti curiosi sa vedeti care sunt primele 1 milion de zecimale din PI, incercati adresa asta, dar aveti grija ca ocupa cam 1MB (1.06 mai exact) si dureaza cam mult pana se incarca (la mine a durat 18.57s).
Dar de cele mai scurte denumiri ati fost curiosi vreodata? Cica cea mai scurta ar fi: g.cn , o adresa care redirecteaza spre google in chineza.

Voi ce denumiri de domenii mai ciudate stiti?

What a web programmer should know.

  Tudor Barbu has posted an article about professional web programmers. I agree with him, but I have some comments about his list.
  A web programmer that is or has been working as a freelancer should know all those things (even more), but if you work as a team member in a company, the tasks are divided. A person who has knowledge about marketing should take care of the SEO part. When comes to choosing the framework and design patterns, this job has to be done by a software engineer. The speed of development is greatly increased that way and everybody knows that. But there is a category of programmers who work alone (like freelancers, and I’m one of them), or in very small teams, and that category should consider that list as being a must, if they want to develop a web site project by themselves.
  As I said in the beginning, that list is ok, but the next elements should be added: a web programmer needs to have knowledge about at least one databas system (MySQL is widely-used) and environment configuration, like Apache or PHP installations, if he works on his own servers.
  As a conclusion, Tudor’s post helps a web programmer to auto-evaluate his knowledge, and if he answers affirmative for 80~90% of the questions, he is on the good road to professionalism in web developing.

Update: When using version control (csv, svn) for serious software projects it is mandatory the use of some project management software application, like Trac, Bugzilla, Project.net, dotProject or others.

AJAX - best choice

In ultimii ani evolutia mea (profesionala) se bazeaza pe Internet in proportie de peste 90%. Ocupandu-ma cu programarea (web-development in ultimul timp), caut pe Google solutiile la toate problemele de care ma bat in dezvoltarea unei aplicatii. Chiar si in viata “dinafara PC’ului”, cand am nevoie de o documentare sau un pont rapid in legatura cu un subiect oarecare, tot Internetul e cea mai fiabila solutie. Acelasi lucru se intampla pentru majoritatea care au parte de lucrul cu un calculator in domeniul lor.some logo
Am folosit AJAX in cateva site-uri nu foarte importante iar tehnologia care am utilizat-o a fost o “cârpeala” incropita de mine la repezeala, scurt si la obiect, cu o functie de constructie a obiectului XmlHttpRequest, o functie sau doua de apelare a serverului si unul sau doua fisiere *.php pe post de server. Totusi, nevoia te impinge sa complici situatia chiar daca nu ai nici un chef de “fancy stuff” (oricat ar fi ele de recomandate). Asa ca a trebuit sa aleg un framework “profesional” pentru lucrul cu AJAX.
Prima data am incercat MyAjax, dezvoltat de Raul Ionescu, dar din cauza documentatiei “subtire” m-am gandit sa incerc altceva.
A urmat cautarea pe Google si am dat de site-ul asta:
AjaxPatterns . Contine cam toate bucatile de informatie necesara pentru a construi un site in care ai nevoie de AJAX: Tutoriale, Scule (”Tools”, nu va ganditi la alte prostii), Ponturi (”Tips”), Multe linkuri la documentatie si carti, Linkuri la alte site’uri cu si despre AJAX si o lista cu multe Framework’uri.
xajax
Lista de Framework’uri
Framework’urile sunt foarte frumos organizate, in functie de tipul de aplicatie pt care au fost construite librariile respective. Eu am ales deocamdata xajax din cauza integrarii cu PHP, a simplitatii de utilizare (Learn xajax in 10 Minutes) si pentru ca mi-a placut simetria denumirii ;).

Next »