PHP GeekMeet #4 Cluj

September 20th, 2009 by ovidiugabriel

In acest weekend am avut ocazia sa particip la a patra editie a PHP Geek Meet, desfasurata la Cluj Napoca. Au fost discutate teme precum: “Drupal Basics”, “To template or not” si “Stii sa faci un MySQL back-up asa cum trebuie?”.

La intoarcere am facut cu 3 km mai mult decat la plecare.

Nu am facut poze, dar va recomand si voua sa vizitati Clujul. Merita!

Articole similare:

Oracle va achizitiona Sun Microsystems

April 20th, 2009 by ovidiugabriel

Compania Oracle Corp. va achiziţiona Sun Microsystems Inc. pentru 7,4 miliarde dolari, sau 9,50 dolari/acţiune, după ce consiliul director al ambelor grupuri a aprobat tranzacţia în unanimitate, informeaza bloomberg.com

Limbajul de programare “E”

April 18th, 2009 by ovidiugabriel

“E” este un limbaj de programare orientat obiect pentru calcul distribuit, creat de Mark S. Miller, Dan Bornstein si altii la Electric Communities in 1997.

Printre proprietatile acestui limbaj se numara:

  • un model “built-in” pentru comunicare distribuita cu obiectele aflate la distanta;
  • model sofisticat de securitate bazat pe managementul increderii si pe “capability semantics”;
  • o metoda puternica de a reduce efectele latentei in sistemele ditribuite;

Facilitatile oferite sunt:

  • managementul automat al conexiunii
  • comunicare transparenta intre obiecte
  • transmitere neblocanta de mesaje
  • compensarea latentei
  • referinte distribuite
  • obiecte persistente
  • garbage collection distribuit
  • controlul accesului la mesaje si obiecte

Link your business

March 26th, 2009 by ovidiugabriel

Astazi s-a desfasurat prima editie in Iasi a conferintei dedicate promovarii oportunitatilor de afaceri prin intermediul Internetului, numita sugestiv “Link your business (cum sa dezvolti o afacere in mediul online)” .

Conferinta a avut loc in sala “Cuza” a hotelului “Unirea” si a fost orgranizata de Ziarul de Iasi, Oameni din Online si AIESEC.

Au vorbit: Marius Alexa, Adi Mironescu, Ciprian Gavriliu, Gabriel Curcudel, Cristian Ignat, Oliviu Matei, Marius Ursache, Alex Volocaru si Clement Nicolaescu.

Trei lucruri bune de facut

March 18th, 2009 by ovidiugabriel
  • sa mananci sanatos
  • sa faci sport
  • sa cresti copii

Oameni din Online, Iasi

March 7th, 2009 by ovidiugabriel

Astăzi a avut loc prima întâlnire “Oameni din Online – Online Carreer Day” la Iaşi. Organizată la Facultatea de Informatică din Iaşi (corpul C, la subsol). Au vorbit: Ciprian Gavriliu, Marius Alexa şi alţii.

La un moment dat Ciprian Gavriliu a facut o afirmaţie foarte interesantă: “Câteodată, pentru un antreprenor, 1 + 0 = 2″.

Este adevărat, atât pentru antreprenori cât şi pentru programatori. Singura diferenţă constă în exprimare, în faptul că un programator Java ar spune:

//
Integer.parseInt("1" + "0", 2) == 2
//

Pasapoartele biometrice

March 1st, 2009 by ovidiugabriel

Încercând să înţeleg de ce se spune că toate chip-urile din paşapoarte vor conţine un cod comun: 666, am revenit peste codul de validare a codurilor de bare EAN13 pe care l-am scris în vara anului 2006 ca să subliniez urmatoărele:

  • primul for se execută de 6 ori (pentru poziţiile pare, de la 0 la 10)
  • al doilea for se execută de 6 ori (pentru poziţiile impare, de la 1 la 11)
  • prima cifră şi celelalte 2 perechi de câte 6 cifre sunt despărţite de câte o bară verticală

Acestea sunt cele 3 apariţii ale cifrei 6 pe care le-am putut găsi, în vara anului 2006, când am scris codul. Dacă ţinem cont că EAN13 are 13 cifre iar ultima cifră este o cifră de control, ne rămân 12 cifre, şi atunci este absolut normal ca 12/2 = 6 (adică din cele 12 cifre, 6 cifre să fie pe poziţii pare şi 6 cifre să fie pe poziţii impare).

European Article Number este un cod de bare folosit pentru “articole” şi nu cred că va fi pus pe paşapoarte. Mai mult, era vorba despre microchip-uri şi nu despre coduri de bare.

Toată povestea asta cu numărul fiarei este invocată pentru a masca problemele reale pe care le ridică introducerea pasapoartelor biometrice:

  • încălcarea intimităţii;
  • crearea de mari oportunităţi pentru furtul de identitate;
  • posibilitatea dispariţiei, în timp, a documentelor scrise şi a numerarului, care puteau fi falsificate mult mai greu decât datele stocate pe dispozitive electronice;

Iată codul (pentru curioşi):

function ($code) {
  $code = sprintf("%13.0f", $code);
  if (strlen($code) != 13)
    return false;

  // primul for se executa de 6 ori
  for ($i = 0, $a = 0; $i <= 10; $i += 2)
    $a += $code[$i];

  // al doilea for se executa de 6 ori
  for ($i = 1, $b = 0; $i <= 11; $i += 2)
    $b += $code[$i];

  $sum = $a + 3 * $b;
  $d = $sum % 10;
  $rem = ($d != 0) ? (10 - $d) : $d;
  return $code[12] == $rem;
}

Permutări aleatoare [Fisher-Yates]

February 25th, 2009 by ovidiugabriel

Algoritmul Fisher-Yates shuffle este implementat de funcţia shuffle() disponibilă în PHP începând cu versiunea 4. Ideea este simplă şi apare în cartea lui Donald E. Knuth, “Arta programarii calculatoarelor” vol. 2 – Algoritmi seminumerici, sub numele “Algoritmul P”.

function array_shuffle(array &$a) {
  $n = count($a);
  while ($n > 1) {
    $k = rand(0, $n - 1);
    $n--;
    $tmp = $a[$n];
    $a[$n] = $a[$k];
    $a[$k] = $tmp;
  }
}

Lista numerelor de porturi TCP si UDP

February 24th, 2009 by ovidiugabriel

Pe Internet exista câteva liste cu numerele rezervate pentru porturile de TCP si UDP. Cu toate acestea, cea mai rapidă metodă de a afla informaţii despre un port, pe o maşină UNIX, este să căutăm în /etc/services

Exemplu pentru portul “80″:

cat /etc/services | grep "[^0-9]80/tcp"

Sărăcia şi criza la români

February 22nd, 2009 by ovidiugabriel

Pentru români, de multă vreme, este un sport naţional să se plângă:

  • nu avem
  • ne trebuie
  • avem nevoie

Atât ştiu să spună de cele mai multe ori cei mai mulţi români.