Apple a scos noua generatie de iPod Shuffle cu care se lauda ca si-a permis sa ii reduca volumul prin mutarea controalelor pe firul de la casti.
Vad doua probleme in aceasta mutare:
nu imi voi putea folosi marca preferata de casti: “Brand preferat aici” in care am investit suficient de mult pentru calitatea deosebita sunetului.
ma face dependent de produse Apple:
In eventualitatea in care pierd sau mi se strica setul de casti din pachetul orginal ma vad obligat sa cumpar tot un produs Apple la un pret deloc neglijabil de 29$ (in Europa cel mai probabil 29 Euro)
Apple a facut multe mutari pana acum prin care incetul cu incetul isi asigura existenta prin faptul ca te face dependent de produsele sale.
Acesta este doar cel mai recent exemplu.
Si nu doar actiunea de throw a erorilor ci mai degraba mesajul util care sa te ajute sa identifici mult mai usor de unde vine problema.
Nicholas sustine ca ar trebui sa arunci erori in consola atunci cand metoda este susceptibila de a primi argumente neasteptate. Este impractic sa faci error checking si error throwing pe orice metoda, mai ales cand ai control asupra argumentelor pasate acesteia (vezi metode private in JS).
E un articol sanatos de citit si recomand sa urmezi sfaturile.
Recent am avut de implementat o componenta JS ceva mai complexa si din experienta stiu ca cei ce o vor implementa tind sa nu citeasca specificatiile. E ok, nici eu nu RTFM.
Este mult mai rezonabil sa arunci errori in consola browserului care descriu problema decat sa primesti email-uri si telefoane de la oameni confuzi care nu inteleg de ce nu le merge jucaria.
Posibilitatea de a folosi un input type=”file” cu proprietatea multiple pentru ca userul sa faca upload de mai multe fisiere intr-un singur pas. S-au facut modificari si la nivelul obiectului XMLHTTPRequest (AJAX pentru ceilalti) care sa permita integrarea cu noul behavior de input.
Pentru multiple file upload momentan exista workaround-uri care folosesc JS si SWF si permit stocarea de fisiere multiple in coada.
Echipa Gmail a implementat recent acest workaround pentru multi-file upload la attachments pentru email.
Pe viitor
Desi e o bucurie sa vezi componente din HTML5 in (pseudo)productie mai e cale lunga pana cand ne vom putea bucura de ele. In principal datorita batranului Microsoft care alege sa nu le implementeze in rand cu lumea si suporta browsere vechi (IE6 / IE7) care detin prea mult marketshare incat sa le poti ignora.
Cel putin la nivel corporate nu multe companii au curaj sa spuna NU lui IE6.
Google si Apple au facut-o deja.
Mare parte din program a fost acaparata cu prezentarile despre doua editoare: emacs si vim.
Alex Nedelcu ne-a povestit despre emacs si a codat un pui de blog ca sa ne demostreze abilitatile editorului. Spre finalul prezentarii ne-a aratat cum citeste pozele din feed-ul de lolcats direct in emacs. Nici o masa fara peste, nici o prezentare fara lolcats.
Cristi Balan a luat la puricat vim si ne-a luat de la basics pana la niste task-uri ceva mai avansate. Cristi a condus bine prezentarea si ne-a aratat exemple practice de editare a codului, iar pe mine m-a convins sa incerc serios vim.
In viitorul apropiat urmeaza sa vedem un site cu help pentru vim care se doreste a creste intr-o comunitate self-sufficient de utilizatori de vim. Il urmaresc pe Cristi si revin cu detalii cand iese ceva public.
A urmat Irina Dumitrascu. Ea ne-a facut un demo de Enso – un tool care iti permite sa deschizi rapid locatii de pe web / pc prin atribuirea de comenzi text. Scopul lui Enso este sa elimine necesitatea invatarii comenzilor proprietare prin inlocuirea lor cu limbajul natural: “open wurbe”.
Andrei Dragomir, coleg de la Adobe – all-around-genious dupa mine, si-a disecat Mac-ul sa ne arate cum foloseste scripturi de Ruby, Python si alte incantatii pentru a-si automatiza task-urile.
Spre final a intrat si Bogdan Lucaciu intr-un lightning talk care mi-a depasit cu mult capacitatea de a pricepe cuvintele ce-i ies din gura. Ne-a dat un exemplu de screens (?) pe care le folosea pentru a urmari live codul altor programatori aflati in locatii remote si cum poate interveni in orice moment, live, in sursa lor.
Wurbe 18 a fost neasteptat de informativ si am tras concluzia ca e bine sa incerc vim pentru a-mi face viata mai usoara.
Despre Wurbe:
Wurbe (web urbe) este grupul dezvoltatorilor web din Bucuresti.
WMware a prezentat un demo prin care exemplifica utilizarea in paralel a doua sisteme de operare pe acelasi device mobil.
Imi place foarte mult ideea!
Pot sa ma bazez pe sitemul de operare default al telefonului pentru apeluri si alte task-uri de baza in timp ce fac ravagii prin Android experimentand cu diverse aplicatii.
Developmentul pe Android e un argument puternic sa investesc intr-un device mobil performant.
Filament este un sponsor al jQuery UI si anul acesta organizeaza un concurs pentru cea mai interesanta (creativa) implementare a framework-ului de UI intr-un proiect.
Implementarea poate sa fie intr-un proiect de sine statator sau intr-un demo, doar de dragul concursului. Nu exista limita la numarul de idei pe care le poti trimite.
Castigatorul primeste access gratis la SXSW Interactive 2009, mega eveniment pentru oameni creativi in domeniul IT.
Mi-as fi dorit o saptamana de joaca in compania lui jQuery UI dar timpul nu imi permite. Si la SXSW intentionez sa ajung odata in viata.
In weekend am facut schimbarea de la versiunea 2.0 de WordPress la 2.7.1
Mutarea nu a fost pe atat de simpla pe cat ma asteptam asa ca am sa fac un mic checklist cu ce voodoo trebuie sa faci si cat trebuie sa te lepezi de satana ca sa migrezi un wordpress antic la 2.7
Export posturi
Schema tabelelor din baza de date 2.0 difera fata de cea din 2.7. Nu mai merge cu un dump simplu de SQL.
WordPress a implementat un sistem de export/import articole pe baza de XML dar nu au oferit oficial si un tool de conversie.
Folosesti fisierul WXR exportat cu ajutorul plugin-ului de la technosailor.
Un copy de tabele in SQL nu merge pentru ca nu mai exsita tabelul post2cat care tinea relatiile dintre categorii si posturi.
wp-content/uploads
Pluginul de la technosailor poate face sincronizare de contintut intre folderele wp-content/uploads de pe cele doua versiuni.
Daca ti-ai mutat vechiul blog, sau doamne-fereste ti l-ai sters, va trebui sa iti recuperezi wp-content/uploads manual prin ftp dintr-un backup.
Probleme intalnite:
“A temporary folder is missing”
Cand faci import de fisier WXR pe un server care nu are definit “upload_tmp_dir” in php.ini primesti o eroare care te lasa in copac: “A temporaty folder is missing”.
Am facut o solicitare la wordpress sa adauge ceva mai multe detalii la acest mesaj de eroare. Voteaza daca ti se pare utila.
Trebuie sa te asiguri ca wordpress are permisiuni de scriere in wp-content/uploads.
Blogroll-ul nu se importa
Pluginul de export/import de la technosailor iti salveaza posturile dar nu si link-urile din blogroll. Va rebui sa ti le adaugi manual din nou – 0cazie buna sa faci curatenie prin blogroll.