26 martie 2009

Link your business

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.

18 martie 2009

3 good things

Three good things to do (in KISS version):
  • healthy eating
  • fitness
  • parenting


Acest post se adreseaza tuturor celor care nu au primit acest mesaj ca e-mail spam si care din intamplare se impiedica de acest blog.

07 martie 2009

Oameni din Online, Iasi

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

01 martie 2009

Pasapoartele biometrice

Î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):

public static function recalculate($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;
$code[12] = $rem;
return $sum != 0 ? $code : false;
}

25 februarie 2009

Permutări aleatoare [Fisher-Yates]

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;
}
}

24 februarie 2009

Lista numerelor de porturi TCP si UDP

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
cat /etc/services | grep "[^0-9]80/tcp"

 

22 februarie 2009

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

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.