Skip navigation

Fusei la Wurbe 8. Băui 4 beri. Mâncai pizza. Aflai că pe Tim nu l-a interogat SRI-ul pt un anunţ de-acum celebru. Vorbii niţel cu una din Cristinele de la Metropotam. Mă certai prieteneşte cu un copchil cu nume de personaj de desene animate (Andrei Gheorghe?) despre php & javascript & python & GWT (rămas fiecare la părerea de dinainte, ofc.). Jucai (luai bătaie la) fussball (fie conving managementu să cumpere aşa ceva, fie plec la Adobe :D). Şi, fiindcă cineva a râs de flash diffuser-ul meu:

Flash Diffuser. Eat this, Fong!

pun şi 3 poze (atâtea am făcut, în rest am fost ocupat cu bere, fussball, discuţii tehnice, făcut mişto de inşii cu mac, admirat programatoare simpatică, ocupată AFAICT, şi pt care sunt oricum prea aspie ca să aibă rost să mă stresez):

(da, am cam ars macu… it’s crap anyway :P; da, paharul de plastic (sau blitzu de la S9600, după câteva mii de poze, sau utilizatorul cu prea multă bere la bord) dă cam mult albastru (singura poză la care am umblat la curves e ultima); oh, well… până nu-l stric complet nu cumpăr altceva 😀 (ce de paranteze, zici că PS-ul ăsta e scris în Lisp)).

Anunțuri

via B-list:


iacobs@moria ~ $ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
  238   bzr
   82   cd
   40   ls
   26   ./manage.py
   20   rm
   10   vim
   10   less
   10   firefox
    8   mv
    7   mkdir

just about right 😀

De multă vreme mă ţin să-mi iau bilet la Judas Priest; cum locul de unde mi-am cumpărat majoritarea biletelor din ultima vreme (Diverta Unirea) era oarecum închis şi n-aveam timp să mai trec încă o dată pe acolo, m-am orientat către online. Buuun, utfg://bilete+judas+priest, click pe primul rezultat, myticket.ro; toate bune şi frumoase, link pe front page, cumpără, accept, accept, fă-ţi cont. Fac cont, pun adresa de la servici, mă întorc la comandă şi zice că trebuie adresa de pe card la facturare, nu-i problemă, schimbăm adresa din Cucureşti cu aia din Drăgăşani, submit, surpriză că nu se schimbă; încerc de câteva ori, închid Firefox 3 şi încerc cu Opera, Seamonkey, Internet Exploder 6 în Wine (yuck!), doar-doar… nimic. Nu-i bai, încercăm aşa: completez tot ce are steluţă, dau submit, cică să completez toate câmpurile obligatorii; mă mai uit o dată, toate îs completate, ce a rămas gol e fără steluţă, adecă sexul, vârsta (ce vă trebuie?), nr şi seria de la buletin (wtf? îmi aminteşte de retarzii de la altex, digit’all şi depozitul de calculatoare care mi-au notat datele din buletin pentru că am plătit cu cardul, dar ăsta e alt rant cu aromă de OPC). Repet povestea în restul browserelor, nimic.

Până la urmă am cumpărat tot de la Diverta, am găsit alt magazin aproape de servici. Nu mă mai întorc pe myticket.ro, ceea ce vă sfătuiesc şi pe boieri dumneavoastră.

EOR

dacă atunci când eşti beat nu e bine să ai aparat foto la tine, atunci când eşti treaz se pare că e bine să-l ai, just in case; nu de alta, dar se pare că ocaziile cele mai faine apar atunci când nu ai aşa ceva la tine:

  • ieri (cred) am fost la PR Tea la Cărtureşti, eveniment organizat binişor, şi interesant în ansamblu (pentru cine nu a fost şi nu vrea să RTFA, s-a vorbit despre PR şi propagandă în politică, invitaţi fiind Adriana Săftoiu şi Felix Tătaru); ar fi fost o ocazie faină să-mi exersez abilităţile de pozar la evenimente, n-am avut camera la mine
  • azi, când mă întorceam de la servici, am dat de un concert Zdob şi Zdub în Piaţa Universităţii; fără înghesuială, o groază de oameni ţopăind (inclusiv o tanti în vârstă, de meserie boschetăreasă), lumina bună; subsemnatul, evident, fără cameră

carevasăzică, note to self: don’t leave home without the camera. ever.

Se pare că nişte băieţi nu foarte deştepţi au dat de un comic strip de calitate, s-au gândit că nu e cunoscut la noi, şi s-au pus pe furat.

… 19 ianuarie, Bucureşti, Romexpo. Am fost. Poze în partea aialaltă şi pe flickr (aceleaşi, şi licenţiate tot cu by-nc-sa).

Nuş cum am ajuns să dau de o implementare a algoritmului de verificare a CNP-urilor postată de cineva pe softpedia (ocazie cu care am descoperit că nu mai recunosc o sursă de foxpro – eh, amintiri din tinereţe), şi am muncit 10 minute să fac o implementare în javascript; ete-o:

function map(fn, arr){
	var ret = [];
	for(var x = 0; x < arr.length; x++)
		ret.push(fn(arr[x]));
	return ret;
}

function reduce(fn, arr, initial){
	function iter(idx, ret){
		if(idx >= arr.length)
			return ret;
		else
			return iter(idx+1, fn(arr[idx], ret));
 	}
	return iter(initial ? 0 : 1, initial || arr[0]);
}

function sum(arr) { return reduce(function(x, y){ return x + y;}, arr, 0); }

function ccnp(cnp){
	if(cnp.length != 13)
		return false;

	cnp = map(parseInt, cnp.split(''));

	var coefs = [2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9];
	var idx = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];

	var s = map(function(x){return coefs[x] * cnp[x];}, idx);
	s = sum(s) % 11;

	return (s < 10 && s == cnp[12]) || (s == 10 && cnp[12] == 1);
}

Scris în javascript 1.7 (suportat de Firefox), map era mult mai simplu de scris ca [fn(arr[x]) for(x in arr)], dar să păstrăm lucrurile portabile…

pentru cine se întreabă:
map aplică o funcţie elementelor unui array şi returnează un array cu rezultatele
reduce combină elementele unui array cu o funcţie dată şi returnează o valoare; după ce am scris-o the functional way mi-am amintit că există for, deci se putea scrie şi aşa:

function reduce(fn, arr, initial) {
	ret = initial;
	for(var i = 0; i < arr.length; i++) { ret = fn(arr[i], ret); }
	return ret;
}

(varianta cu for şi side-effects e probabil mai rapidă, but nowhere as fun :D).

On an unrelated note: extrem de enervant editorul de la wordpress, când ai de pus snippet-uri de cod; evident, cine l-a scris a considerat că scriptul lui ştie html mai bine ca mine, prin urmare modifică şi când scriu raw HTML :(.

e la modă să fii sictirit de politichie; ăla care s-a dus la vot e musai fan al lu basescu, şi/sau prost de bubuie şi incult şi clar nu ştie ce votează, şi clar a făcut o prostie, şi mai e şi fan al lu băsescu, care, nu-i aşa, e un securist. mulţam de aprecieri. am fost la vot, am zis „da” la uninominal pentru că sunt destui oameni valoroşi care n-au fost votaţi din cauza maimuţelor cu care s-au nimerit in partid, şi am votat pld pentru că pediştii nu-s destul de liberali, iar liberalii sunt mult prea de stânga pentru gusturile mele. na că am zis-o. îs prost şi incult şi nebun.

later update: cad capeteeee… tov. vadim şi tanti bălărie de la ospiciu, şi jumătate din PIN (adică Guşă) so far… la mai mare 😀

E la modă în ultima vreme ca oamenii de pe sticlă să aibă bloguri (politica firmei, cumva?); iniţial am fost sceptic, da se pare că sunt un instrument foarte bun de evaluare a calităţii respectivilor: de exemplu, din grămada de bloage răsărite pe realitatea.net, singura care merită citită e Liana Pătraş; limbaj articulat, sensibil, a priceput ce e aia blog şi are grijă de el. Pe Gheorghe nu-l citeşti, îl vezi/auzi, pentru că îşi publică monoloagele în format video. Ramona Puşcaş de la TVR scrie frumos, dar din păcate se pare că nu prea-i place, pentru că o face rar. Pe Mile Cărpenişan nu l-am citit, dar e pe listă, se pare că merită. Răzvan Dumitrescu îşi postează teasere la articolele din Gardianul, dar în materie de comentarii politice îl prefer oricând pe doc. De alţii n-am timp, dar astept sugestii 🙂

ipoteză:

  • ai net de la RDS
  • nu foloseşti Windows
  • nu-ţi merge netul
  • ai link, a mers până de curând, n-ai umblat la comfuter/router

aşa că suni la suport să le spui… şi te întreabă ce windows ai, şi le spui că n-ai, că foloseşti linux; mare greşeală, pentru că de aici conversaţia poate să meargă numai în 2 direcţii:

  • „ok, păi puneţi cablul într-un calculator cu windows” „n-am” „păi instalaţi” „n-am” „ăăă, ştiţi, noi nu suportăm decât Windows, pot să vă ajut cu altceva?”; nu ajută sugestia cu sex oral şi alte chestii plăcute cu care ţi-ar putea fi de ajutor persoana respectivă
  • „ok, daţi clic pe start, run, scrieţi c, m, d, apăsaţi enter” „mate, n-auzi că nu e windows? am link, a mers până acu o oră, acu dă timeout” „îmi pare rău, dar nu se potriveşte cu ce am eu aici, nu pot să introduc sesizare”; din nou, nu ajută să îl(o) trimiţi la origini

Cum se face:

Cea mai frecventă eroare spune ceva gen „timeout waiting  for PADO packets” şi se datorează echipamentului de pe scară care e chinezărie proastă şi se blochează la spike-uri livrate de onor Electrica. Un vecin cu care beau şi lucrează la ei la CATV mi-a dat o soluţie: mers la tabloul de siguranţe, identificat aia pe care scrie RDS, scos şi băgat din nou, că asta face şi meseriaşul de la ei; la mine nu merge, că stau cu chirie, am vizorişti chiar lângă panou şi mai e şi închis bine (deci nu se desface fără zgomot). Prin urmare, rămâne suportul tehnic. Pentru confruntarea cu ei trebuie ceva pregătiri:

  • mac şi ultimul IP la îndemână
  • ai windows xp, ai link, conexiunea e activă, firewall e dezactivat, IP e luat prin dhcp, ai şters şi recreat conexiunea (au un algoritm din care nu sunt capabili să iasă)
  • partea cea mai importantă, eroarea: 678

Foarte important e să te înarmezi cu multă răbdare şi să eviţi cuvintele linux şi router, altfel drona de la capătul firului se blochează şi trebuie să suni din nou.