24 septembrie 2006, 13:02
Am fost, în sfârşit, la Plugaru', să degustăm piţele lor cu nume originale. Vroiam să mâncăm în centru, dar "simularea" pentru cacofonia de trafic ce va fi săptămâna viitoare ne-a schimbat planurile.
Locul l-am găsit imediat; părea cam gol dar domnişoara drăguţă de la uşă ne-a asigurat că e deschis. Muzică niţel cam tare, dar muzică "bună" (a se citi, cum îmi place să ascult eu), nu manele, nici ultimul hit de la radio. Şi au dat-o mai încet să nu ne deranjeze :) Bun, ne aşezăm la o masă, primim meniurile, comandăm, şi primim asta:
Sosul de roşii nu era ketchup, dar presupun că se înţelege măcar atât din poză. Limonada, de asemenea, a fost bună şi turnată cu grijă şi pricepere în pahare. Cât despre piţa (prima: plugaru, a doua: 4x4), să spunem că am preferat să o mâncăm decât să schimbăm impresii despre ea. :)
Nu ne-au lăsat să plecăm până când nu am pozat şi barmaniţa care, au recunoscut şi ei, este cam... blurry. Dar e artă, probabil nu am înţeles-o, deci să nu mă fac de râs :)
Când am cerut nota am primit "punguţa cu doi bani" - cu banii, evident, trebuia să contribuim noi. Oh well.
Pe scurt, ne-a plăcut, mai venim şi altă dată, şi dacă vă e foame şi sunteţi prin zonă, făceţi-le o vizită.
17 septembrie 2006, 11:56
De ce scriu oamenii blog-uri? Pentru că au ceva de zis, şi vor ca "lumea" să afle. E mai simplu decât să povesteşti acelaşi lucru tuturor cunoscuţilor :) De ce citesc oamenii blog-uri? Pentru că vor să vadă ce au de zis anumiţi oameni.
Nu ar fi mai simplu să scrie fiecare blogger câte un wiki, în care să-şi expună părerea lui despre lume şi tot ce i se pare important? Nu ar fi mai uşor de citit (găseşti imediat ce te interesează)? Nu: pentru că n-ar funcţiona.
E o activitate socială veche de când lumea şi se numeşte conversaţie. Vrei să spui ceva? O spui în momentul ăla, cu informaţia pe care o ai atunci, în starea de spirit în care eşti atunci. Aşa suntem obişnuiţi să ne exprimăm ideile.
Nu poţi cunoaşte o persoană dintr-o dată, să afli tot ce vrei să ştii în 10 minute. E nevoie de timp, să vorbeşti cu persoana respectivă, să îi asculţi poveştile, să vezi cum reacţionează în diverse situaţii. Blog-urile sunt modelate pe conversaţie.
Cine zicea că internet-ul şi calculatoarele o să ne dezumanizeze, că o să devenim roboţi fără identitate se înşela profund.
11 septembrie 2006, 21:08
La job am avut de făcut un sistem de caching al paginilor generate dinamic. Avem un server Tomcat (Java servlets) care generează pagini web folosind o bază de date - nimic neobişnuit aici. Problema e că baza de date e mare de tot, şi o să crească în timp. Generatul de pagini e destul de ok ca viteză, dar ne aşteptăm să avem mulţi clienţi în paralel; să generăm aceleaşi pagini pentru fiecare client, de fiecare dată, nu e o opţiune fezabilă.
Soluţia? Caching. Clientul nu are acces direct la serverul Tomcat; înaintea lui este un Apache, care funcţionează ca un proxy. Cere paginile de la Tomcat şi le serveşte înapoi clientului. Cu ocazia asta le salvează într-un cache. La clientul următor, Apache doar întreabă pe Tomcat dacă pagina s-a schimbat; dacă nu, Apache serveşte pagina din cache-ul propriu. În felul acesta pagina este regenerată numai când se schimbă informaţia din ea, şi nu e treaba mea să programez partea aia :)
Pe hârtie (sau pe ecran) sună foarte simplu - şi aşa şi este - numai după ce te prinzi cum #!$^%!#@ funcţionează header-ele HTTP de cache control, când să le trimiţi, şi ce valori să pui în ele. Mie mi-a luat vreo săptămână (în timp echivalent, pentru că de fapt lucrez de mai mult timp la asta, dar m-am ocupat şi de altele), mult googling, zeci de recompilări şi upload-uri pe server (care te scot practic din ritm, pentru că aştepţi un minut ca să poţi să testezi câte o modificare minusculă), citit serios sursele modulului de caching din Apache, modificat sursele respective, câteva compilări de Apache (am crezut că e un bug în el) - şi în final soluţia a fost să mut, în programul meu, două linii de cod cu trei rânduri în sus (nu se trimiteau header-ele când trebuia). Mizerabilă treabă.
Well, bine că merge. Acu să fac curat...
11 septembrie 2006, 14:11
Ze blog are o nouă adresă: random.grep.ro. La adresa veche am pus un redirect, deci orice browser sau newsreader cât de cât competent ar trebui să găsească noul site. Item-urile din feed o să apară de două ori, pentru că am schimbat ID-urile şi mi-e lene să scriu cod special care să le genereze corect pe ălea vechi :)
Ce e cu numele de domeniu? All will be revealed, altă dată. Pe moment să zicem că nu mai vreau să am o adresă aşa de lungă (http://iem.pub.ro/~alexm/blog - whew) şi că nu vreau să-mi ţin blog-ul pe un server din Politehnică.
1 septembrie 2006, 20:48
My mind is completely blown away: LEGO Mindstorms NXT (review pe Ars Tehnica). Jucăria asta este The Ultimate. Pe bune.
Când eram mic mă jucam ore în şir cu LEGO. Aveam multe piese de LEGO "Tehnic", cu care consruiam maşinării în miniatură, şi aproape imediat le desfăceam ca să fac altele. Când m-am făcut mai mare m-am mutat la calculator, şi am luat-o spre programare. Acum mai recent sunt pasionat şi fascinat de programarea procesoarelor pentru aplicaţii "embedded", iar asta mi se pare cea mai tare aplicaţie embedded inventată vreodată. Pe cutie scrie "10-14 ani", dar jucăria asta e bună şi pentru pentru "copii mari". Vreau să fiu din nou copil, să mă joc zi lumină cu minunea asta! :)
Privit ca un produs, Mindstorms NXT este realizat cu fineţe. Are câţiva senzori şi câteva motoare care se îmbină perfect cu LEGO Tehnic, un soft de programare foarte foarte user-friendly (are la bază LabView, cu o interfaţă vizuală superbă), ştie Bluetooth, iar firmware-ul unităţii de control este open-source. În câteva săptămâni de când există a adunat deja o comunitate care scrie software pentru el.
E un exemplu perfect de "technology made easy" - cum ar suna dacă aş zice că verişorul meu de 12 ani construieşte şi programează roboţi? (Nu am nici un verişor, dar you get the picture.) Mă întreb ce lucruri o să inventeze copiii care cresc jucându-se cu aşa ceva. The future's bright :)