M-am mutat. Noul meu site este grep.ro, unde scriu ce scriam şi aici, doar că în engleză :)

XEN şi Debian

25 iulie 2006, 16:27

Acum un an m-am hotărât să fac o reformă între serverele de la laborator. Aveam mai multe servicii de găzduit, şi în loc să fie pe acelaşi linux, vroiam să fie separate (din varii motive - securitate, manageability, geek pride, etc). Nu vroiam să am jdemii de servere, nici nu aveam atâta hardware la dispoziţie, aşa că am recurs la virtualizare. Calculatorul era (este) un dual Pentium III 500MHz (mai ţine minte cineva chipset-ul i440BX? :) cu 3 discuri în RAID şi 768MB RAM.

După câteva încercări nereuşite am rămas la soft-ul de virtualizare XEN care la vremea respectivă părea cam brut, iar suportul în Debian era slăbuţ-spre-inexistent (a treubuit să-mi compilez singur kernele, să modific script-uri de boot, etc). Partrea tricky este că XEN are un "hypervisor" care bootează şi care încarcă la rândul lui sistemul de operare "principal" botezat dom0 (master, să-i zicem) - de-aia trebuie kernel special. Cu LVM am făcut mai multe partiţii pentru sistemele "guest", simplu şi elegant. Instalarea guest-urilor a fost destul de uşoară, mulţumită lui debootstrap (Debian rulz!). Am făcut 4 maşini virtuale: una pentru fişiere, alta pentru DHCP+DNS, a treia pentru vpn (OpenVPN, rulz :) şi a patra pentru webserver (în curând mai pun una pentru mail şi alta pentru LDAP). Cu ocazia asta am aflat că un Debian minimal încape confortabil în 12MB RAM :) Things were good.

Acum, recent, am avut nevoie să instalez un XEN pe serverul de acasă - s-a făcut mare şi îl promovez la găzduirea unui domeniu, care se numeşte... ăăă... vă zic mai încolo, nu e "lansat" încă :) Ce să vezi, acum XEN este complet suportat în Debian, există o echipă dedicată care se ocupă de el, kernele precompilate, biblioteca libc6 compilată pentru XEN, program care managerizează maşini virtuale, şi un bootstrapper foarte foarte tare, care ştie să instaleze atât Debian cât şi Fedora, Yellowdog, Mandriva, şi altele - toate ca maşini virtuale. Cât de greu a fost să instalez pachetul de bază XEN (hypervisor-ul şi kernel-ul pentru dom0) şi să-l fac să meargă ca înainte (ca router, firewall, nat şi client de vpn)? Păi am instalat pachetele, am configurat bootloader-ul, şi am rebootat. În rest it just worked. (Nu o să explic de ce asta e big deal; dacă ştii destule despre linux, înţelegi singur; altfel, trust me, e big deal :) În concluzie: Debian rulz! şi de asemenea, XEN rulz!

Un telefon, alt telefon

24 iulie 2006, 21:26

Alaltăieri seară mi-am pierdut telefonul in cişmigiu. Mi-am dat seama acasă, deci era prea târziu să mai fac ceva. Aveam pre-pay şi am zis că gata, s-a dus creditul proaspăt reîncărcat, s-a dus numărul... Azi am fost la un magazin Orange, mi-am luat abonamentul cel mai ieftin şi un telefon mişto de tot (pentru standardele mele :) şi m-au lăsat să păstrez şi numărul. Nice people.

Telefonul meu era un Sony Ericsson K500i, bunicel, dar îmi lipsea bluetooth-ul (mai ales că eu am mac, şi telefonul nu avea soft de mac). Aşa că specificaţia pentru noul telefon era ieftin, mic, bluetooth şi cameră (da, ştiu, consumer whore... dar eu chiar o folosesc în scopuri artistice! really! :) Găsisem pe site la orange câteva telefoane dar nu mă încânta nici unul, aşa că m-am dus în magazin hotărât să le văd, să le întorc pe toate feţele şi să pun 1000 de întrebări. Avântul mi-a fost înfrânat când am văzut în lista din magazin pe K510i, frăţior mai mare al telefonului vechi. Nici nu ştiam că există, pe site nu era [edit: de fapt am fost eu prea chior ca să-l văd], dar când am văzut ce ştie şi cât costă, n-am mai stat la discuţii. Şi am ales bine: e fix telefonul meu vechi, on steroids. Camera are de 4 ori mai mulţi pixeli (şi de acum încolo o să prelucrez niţel pozele înainte să le postez), interfaţă gigea, memorie mai multă, internetul chiar merge (la ăla dinainte nu mergea pentru că eram eu incapabil), şi best of all, bluetooth. Am făcut urgent probă la cameră:

It works allright, scoate poze de 1280x1024, wow!! În sfârşit sunetul scos din difuzor seamănă cu o cameră foto, nu mai este tablă târâtă pe ciment. Telefonul nu este în lista de "supported" de la apple.com, şi într-adevăr nu se sincronizează automat. Dar nu-i bai, că ştie transfer de fişiere, şi dacă trimit un v-card telefonului îl importă singur în address book. Cireaşa de pe tort este "remote control" - pot să controlez mouse-ul calculatorului din telefon. Mă întreb dacă asta merge pe windows... pun pariu că nu :)

Fascinant progresul tehnologiei. Am dat mai puţini bani decât acum un an, şi am primit un telefon de 4 ori mai bun (cu cablu de date gratuit! şi handsfree! stereo!). Din multe puncte de vedere, industria asta a telefoanelor mobile începe să semene cu industria auto. Gama de produse este variată, există entry-level (telefonul-matiz), există şi blueberry - pentru oameni ocupaţi (să zicem, telefonul audi/bmw). Manualul telefonului mi-a amintit de manualul unui automobil, oamenii care relaţionează cu clientul sunt bine pregătiţi, amabili, serviabili, politicoşi, răbdători (chiar şi la noi, în românia; să mai zică cineva că suntem înapoiaţi). Şi totuşi, cu toate asemănările, o maşină costă cu vreo două orine de mărime mai mult decât telefonul corespunzător.

Sharing

23 iulie 2006, 21:23

Tocmai am ascultat o prezentare despre opensource, peer-to-peer şi blogging, cu accentul pe participarea individuală în proiecte "open". Vorbitorul este un profesor american de drept (produce avocaţi) iar prezentarea este un "overview" care atinge multe subiecte fără să intre prea mult în detalii, dar trage nişte concluzii interesante.

Prezentarea este de la o conferinţă (Pop!Tech 2005) şi am găsit-o pe site-ul itconversations.com sub formă de MP3: http://www.itconversations.com/shows/detail776.html. Pe site îl recomand cu căldură; ei sunt specializaţi în podcast-uri cu teme tehnice (şi s-au extis şi pe alte domenii - http://www.conversationsnetwork.org/). În fiecare săptămână primesc un mail cu ultimele "conversaţii", mă duc pe site, bifez pe cele care mă interesează, şi le iau pe iPod să le ascult pe drum. Podcasting rulz. :)

Teoria sistemului jegos

20 iulie 2006, 12:03

Suntem înconjuraţi de jeg. E peste tot: pe stradă, în aer, pe bara din autobuz, prin casă, pe noi... Ce mă supără pe mine nu este prezenţa jegului - e inevitabilă - mai degrabă mă deranjează cantitatea.

Mai întâi să definim conceptele. Jegul este mizerie (praf, grăsime, păr căzut, scrum de ţigară), nu mă refer la gunoaie "solide" (ambalaje, sticle goale, hârtii, resturi de mâncare). Prin "peste tot" înţeleg un mediu, o zonă delimitată: un sistem (cf. ecosistem, sistem fizic, etc). Îl vom numi "sistem jegos".

Să luăm spre exemplu un apartament. Acesta este sistemul. Apartamentul conţine jeg într-o anume cantitate. Jegul intră în sistem prin mai multe moduri: pe încălţăminte şi haine, praf pe geam, piele moartă (năpârlitul nostru aduce o contribuţie semnificativă de jeg), transpiraţie, mâncare căzută pe jos şi altele. Din sistem jegul iese în principal prin curăţenie; mai intră aici şi spălatul (duş zilnic!). Jegul total din sistem este, în medie, constant, şi nu este redus în mod dramatic prin operaţiuni de curăţenie obişnuite - este înmagazinat în paturi, covoare, în spatele şifonierului. Totuşi, ce intră este cam egal cu ce iese.

Este interesant ce se întâmplă dacă variem brusc cantitatea de jeg scos prin curăţenie (adică dacă facem curat mai rar): jegul nu creşte brusc. Mai degrabă, creşte în timp, pe durata câtorva cicluri de curăţenie. Mecanismul funcţionează şi invers - dacă facem mai des curăţenie, masa totală de jeg scade gradual. Nu iau în discuţie curăţeniile generale, că strică tot farmecul poveştii.

Mi se pare şi mai interesant alt sistem: oraşul. În speţă, Bucureştiul. Este un oraş jegos de felul lui. Funcţionează şi aici teoria sistemului jegos: căile de intrare ale jegului sunt similare cu ale apartamentului (cu excepţia jegului intrat în apartament din afară); ar mai fi poluare/mizerie generate de maşini şi de industrie. Căile de ieşire sunt în principal salubritatea (gunoierii), canalizarea şi vântul care scoate jegul din oraş.

Azi m-a izbit jegul gălbui-maroniu de pe barele din autobuz. Oare nu le curăţă nimeni? Ar trebui să fie dezinfectate după fiecare zi de transportat călători, mai ales vara. Mi-a povestit cineva că a călătorit de la Bucureşti la New York; după ceva timp de mers pe jos prin New York, talpa adidaşilor, care era murdară, s-a făcut albă. Need I say more?

Recunosc, am văzut din ce în ce mai multe eforturi de a curăţa oraşul: măturători pe stradă, maşini care stropesc străzile (da' numa' prin centru). E bine, se poate şi mai bine. Se poate, spre exemplu, să băgăm mai puţin jeg în sistem.

Sibiu

17 iulie 2006, 16:46

Am fost weekend-ul ăsta cu Ana la Sibiu. Frumos oraş Sibiul ăsta. Alt aer decât la bucureşti, alţi oameni... Ah, era şi un concert între timp :)

Noi de fapt pentru concert ne-am dus. Am stat, cu totul, cam la jumate din el. I-am ascultat pe băieţii de la Kumm care îmi plac, dar au cam dat-o în bară. S-au rupt prea mult în figuri, şi nici publicul nu-i prea ştia probabil. Oricum mi-a plăcut să-i aud live.

La un moment dat ni s-a făcut poftă de clătite. Am nimerit într-un pub mic şi drăguţ cu muzică plăcută, clătite în meniu, semn "aleea gânditorilor" la veceu şi instrumente de jazz atârnate de pereţi. Nu aveau clătite, dar ne-a plăcut îngheţata.

Înapoi la concert, atmosfera se încâlzea. Peste tot rockeri şi rockeriţe care de care mai fioros îmbrăcaţi, coadă la bere, şi mai coadă la veceurile ecologice. După Luna Amară au venit marile vedete ale serii, Amorphis şi HIM. Fani şi fane în delir, scuturând din păr, telefoane mobile şi aparate foto ridicate să prindă o poză.

Trebuie să mai zic de mâncarea din Sibiu. Peste tot sunt preţuri civilizate, mâncare bună şi porţii imense. E bine că scrie gramajul în dreptul fiecărui sortiment, să ştii de ce să te fereşti. Până şi Fornetti arată mai de doamne-ajută :)

Într-un parc din centru am găsit o tablă de şah life-size; din păcate am apucat doar să facem câteva poze. Visul meu de a juca şah pe o tablă imensă, cu negrişori care mută piesele, nu a fost îndeplinit încă.

Să trăiţi bine

14 iulie 2006, 19:38

Câteva lucruri m-au ajutat zilele ăstea să "connect the dots". Unul, o discuţie cu o prietenă foarte bună care s-a întors de la o bursă din Belgia. Altul, blog post by Ana. Al treilea, un interviu cu Aurora Liiceanu (habar nu am cine este; după cum vorbeşte, probabil psiholog) primit pe mail.

Subiectul conectării punctelor este stilul de viaţă al oamenilor. Cu toţii ştim stereotipul americanului care munceşte mult, câştigă bine, dar nu are timp să se bucure de banii pe care îi câştigă - fie din filme, fie din poveşti despre români plecaţi în SUA sau Canada. Fenomenul provine dintr-o disperare de a reuşi, de a ajunge mai sus decât condiţia de la care ai pornit. Individul reuşeşte, şi reuşeşte prea bine: ajunge să lucreze pe rupte, să se identifice cu job-ul şi să nu mai aibă viaţă personală. Se întâmplă şi la noi: când întrebi pe un copil ce îşi doreşte când se face mare, nu o să mai spună că vrea să fie poliţist sau astronaut. O să spună că vrea să facă bani. Sunt apreciate simbolurile bunăstării: telefon mobil, maşină, haine scumpe, etc.

Pizza de Plugaru'

11 iulie 2006, 23:53

Azi am găsit, agăţată de clanţă, o bucată de carton. Prima reacţie: e spam, delete. Dar m-am uitat totuşi, poate e ceva interesant. Şi chiar era: o reclamă la un restaurant de pizza şi salate. Realizare tare de tot: carton de bună calitate, design grafic făcut cu suflet (care totuşi poate suferi unele îmbunătăţiri). E şi tăiată într-o formă interesantă, şi împachetată de mână. Chestia neagră care nu se vede bine în stânga este "clema" care închide cartonul. Îmi place şi harta de pe spate, deşi mi-a luat ceva să găsesc unde pe hartă e reprezentat restaurantul.

Scuzaţi calitatea pozelor, sunt făcute noaptea, la lumina veiozei.

Înăuntru e trecut meniul, scris cu umor a-la-Jeg (Jeg-ul de la Leu). Cam sărac în diacritice pentru gustul meu, deşi produsul principal este denumit aici "Piţa". :)

Ce m-a uimit cel mai tare a fost locaţia restaurantului: la 10 minute de casa mea. În cartierul Crângaşi. Nu că aş avea ceva împotriva dragului meu cartier, îl accept aşa cum e. Doar că acum e un pic mai mişto (un pic mai înţepător, cum zice reclama). :)

Una peste alta, o să mă duc cât mai curând să văd ce-i de capul restaurantului. Poate, doamne fereşte, au mâncare bună, cine ştie. :)

RDF parser

7 iulie 2006, 15:59

Zilele astea am refăcut complet parser-ul de RDF (mai precis, RDF/XML), scris în javascript, pe care îl folosim la servici. Abordarea parser-ului era complet greşită - ştia de la început ce trebuie să găsească în document şi căuta informaţia aceea; nu se folosea deloc de noţiunea de "statement" (care stă la baza RDF). Din păcate abordarea asta este complet nepotrivită pentru natura formatului RDF/XML, unde acelaşi lucru se poate "spune" în multe feluri, toate echivalente. Noul parser traversează tot documentul (DOM tree-ul) şi generează statement-uri, care sunt mai apoi salvate într-o structură de date simplă. Acum parser-ul este mult mai flexibil decât înainte, şi codul este mai mic (am scăpat de o mulţime de cod pentru cazuri "speciale").

Probabil că am neglijat anumite părţi mai obscure ale specificaţiei, dar toate RDF-urile noastre se parse-uiesc superb. În curând o să facem opensource parser-ul, împreună cu alte bucăţele frumoase şi utile de cod. Stay tuned. :)

Concluzii: 1) simple is beautiful; 2) când scrii prea mult cod pentru "edge cases" înseamnă că e ceva greşit.

Acum să termin de reparat chestiile care depindeau de parser-ul vechi şi pe care le-am stricat, să pot să plec în week-end la mare :D

Diacritice

5 iulie 2006, 2:01

Limba română are 5 caractere în plus faţă de setul de caractere americănesc: ş, ţ, ă, î, â. Semnele de sub litere şi de deasupra lor nu sunt opţionale, ele fac parte din cuvinte. Uneori cuvintele cu pricina au alt sens când dispar semnele (peşte/peste, raţă/rată/rata, etc).

Pentru hârtia tipărită, problema este de mult timp rezolvată. Toate cărţile tipărite în limba română pe care le-am văzut vreodată au diacritice. Nu se poate spune acelaşi lucru despre domeniul informatic. Este oarecum de înţeles - avem calculatoare personale doar de vreo douăzeci de ani. Standarde în domeniu există (o să spun doar Unicode) dar la început erau mari probleme de compatibilitate. Să faci un site, să-i pui diacritice şi să te aştepţi să meargă ok era dovadă de curaj.

Dar oameni buni, suntem în anul 2006! Orice browser decent (da, inclusiv explorer) ştie ce înseamnă content="text/html; charset=utf-8". Noroc cu asiaticii că au alfabete ciudate şi vor să scrie la calculator în limba lor! :) Notepad-ul însuşi ştie să lucreze cu fişiere Unicode. PC-urile de firmă vin cu tastaturi româneşti iar windows-ul, dacă ştie la instalare că rezidă în România, foloseşte automat keylayout-ul românesc. Cu toate astea, mai toată lumea refuză să folosească diacritice. Ok, poate din comoditate, cine are răbdare să caute tastele cu diacritice când scrie pe messenger? (Eu, dar eu sunt puţin sărit de pe fix, deci nu se pune.) Dar când e vorba de un site care se vrea serios, lipsa diacriticelor îl descalifică. Guvernul româniei stă destul de bine (deşi mai papă uneori câte un semn) dar în rest, foarte foarte rar găseşti site-uri româneşti cu diacritice. Lumea a evoluat de la vremurile triste când trebuia să foloseşti charset-uri speciale pentru fiecare limbă mai bogată decât cele 27 de litere ale alfabetului latin de bază.

Că tot zisei de windows şi de keylayout-ul românesc: este greşit. Să mă explic. Setul de caractere Unicode defineşte zeci de mii de caractere individuale. Printre el se află caracterele latine "normale" (cele folosite în america) precum şi multe variaţii ale lor (cu diverse accente, sedile, puncte, liniuţe, etc). Fiecare caracter are un nume (de exemplu, "A" se numeşte "LATIN CAPITAL LETTER A"). Font-urile "unicode" conţin doar părţi din aceste caractere, din simplul motiv că sunt imens de multe caractere şi este impractic să folosim fonturi "universale". Designer-ii de font-uri desenează doar caracterele pe care le consideră utile. Fonturile standard ale windows-ului şi ale office-ului NU conţin patru caractere ale limbii române (deşi multe fonturi civilizate, de exemplu cele de la Apple, le au). Ca să vi le arăt le-am făcut o poză (evident, de pe mac :)

Acestea sunt "LATIN CAPITAL/SMALL LETTER S/T WITH COMMA BELOW". Lipsesc. În locul lor sunt alte patru caractere, care se pare că nu fac parte din nici o limbă:

Ele se numesc "LATIN CAPITAL/SMALL LETTER S/T WITH CEDILLA". Sunt mapate pe tastatura românească standard de pc şi merg în word. Partea amuzantă este că fontul Times New Roman desenează pe "t cedilla" cu virgulă dedesubt, adică aşa cum ar fi trebuit să arate caracterul lipsă, "t comma below". "s cedilla" e desenat totuşi cu sedilă. Nici măcar nu au fost în stare s-o dea în bară în mod consecvent. Din cauza lor eu sunt obligat să folosesc peste tot, inclusiv aici, "s cedilla" şi "t cedilla", deşi by default mac-ul meu scrie, corect, "s comma below" şi "t comma below" - altfel, pe orice windows, apare semn de întrebare sau pătrăţel in locul caracterului.

Electoral

2 iulie 2006, 23:25

Avem multe de învăţat de la americani. În lecţia de azi, votul.

Mai precis, cum se fură alegerile. La noi se fură cu un autobuz de cetăţeni binevoitori care sunt plimbaţi de la o circumscripţie electorală la alta, sau cu voturi îndesate în urnă. Americanii au sisteme de vot electronice, deci nu merge. Acolo alegerile se fură cu un PDA. În patria democraţiei nu reuşesc să aibă alegeri corecte. It blows the mind...

Geeks to the rescue: autorul articolului sus-linkat pune bazele unui proiect de informare, unde urmează să fie adunate informaţii despre vulnerabilităţile sistemelor de vot electronice, iniţial sub formă de site (wiki). Sună foarte open-source-like, şi pare "the right thing to do". Seamănă cu democraţia directă, nu-i aşa? :)

Devoratorii

1 iulie 2006, 11:32

Ieri seară am fost la Noaptea Devoratorilor de Publicitate. Nu spun prea multe despre reclame, pe scurt au fost mişto majoritatea, mi-a plăcut. În deschidere, nenea organizatorul (Dan Chişu) a avut un moment de glorie când ne-a atras atenţia că biletul plătit de noi este cel mai ieftin din lume la spectacolul devoratorilor. Lumea l-a huiduit; eu mă gândesc la reclamele de la Stella Artois, cu tagline-ul lor, "reasurringly expensive". Preferam să dau bani în plus ca să nu MOR DE CALD sau să nu fiu nevoit să STAU PE TREPTE. Noroc cu cei de la winston (tutunul dăunează grav sănătăţii) care ne-au dat pliante cartonate, să ne facem vânt cu ele :)

De fapt, eu vreau să scriu despre Paraziţii care au cântat în deschiderea şoului. Nu sunt fan al muzicii lor: nu mă omor după gesturile lor studiate de rapperi sau înjurăturile gratuite, dar restul cuvintelor m-au amuzat: băieţii ăştia cântă, printre altele, politică. Şi nu sunt singurii. Versurile lor exprimă o nemulţumire, a noastră tuturor, la adresa clasei politice, a îmbogăţiţilor cu mai multe drepturi decât le oferă legea, a corupţiei, etc. Nu mă îngrijorează că fanii lor sunt alegătorii care, din 4 în 4 ani, hotărăsc cine conduce ţara - în America preşedinţii sunt aleşi de către oameni care nu ştiu ce înseamnă o moschee (să fie vreun animal?) sau unde este Australia pe hartă. Cineva înţelept a zis că democraţia este dreptul cetăţenilor de a da jos de la putere pe conducători, o dată la patru ani; pentru asta am încredere în paraziţi şi în cei care dau din cap pe ritmul lor.

Acest post este dedicat companiei naţionale de electricitate, care a binevoit să-mi taie curentul de două ori în timp ce scriam.
Post-ul mai este dedicat provider-ului meu de internet, care după fiecare pană de curent încetează să mai provide-uiască.