Ubuntu 8.10 ca si desktop

De cateva zile mi-am pus pe un calculator de acasa Ubuntu, cea mai populara versiune de Linux folosit pe post de desktop. Vreau sa probez pe pielea mea produse Open-source facute pentru utilizatorul “domestic” (fara inclinatii spre tehnologie).
Am instalat ultima versiune 8.10 denumita si Intrepid, pe un calculator mai vechi (Intel Pentim 4 la 2 GHz cu 500 Mb RAM si placa video integrata)

Am fost placut surprins de cat de mult a evoluat un sistem linux in materie de utilizabilitate. Practic pe acest calculator am instalat mai usor Ubuntu decat Windows XP (dar totusi este un caz particular, la mine XP-ul nici macar nu gasise placa de sunet).
Sistemul l-am instalat langa XP-ul existent si am urmat pasii de aici . Este un tutorial pentru o versiune precedenta dar merge fara probleme. Eu am descarcat ultima versiune dektop de la www.ubuntu.com si a mers exact ca in tutorial cu un singura avertisment la partionare la care am dat “ignore” (pentru orice eventualitate recomand si un back-up inainte, dar asa cum zice si in tutorial probabilitatea este foarte mica sa mearga ceva rau).

Nici nu am vazut de unde se deschide terminalul, totul a mers din cateva clickuri. Are cam tot ce-i trebuie deja instalat: browser, client de mail, un fel de messenger pe care merg mai multe conturi (yahoo, gmail, etc), player, OpenOffice si altele.. Am pus un print-screen de la mine (sper sa se inteleaga).


Mai sunt multe de facut, dar pe mine m-a convins ca un astfel de efort de a crea un sistem de operare OpenSource pentru publicul larg nu este o utopie.

Python si Pitagora

M-am gandit sa imi mai imbunatatesc skillurile la algoritmi de programare.
Oricum sunt destul de jos la capitolul asta, dar in scoala imi placea matematica mai “concreta” si mai ales geometria. Si am senzatia ca folosind python e si mai usor sa le pui in practica.

Deocamdata am facut un script care sa calculeze asa numitele numere pitagoreice. Mai exact sunt numere naturale care formeaza laturile unui triunghi dreptunghic.

#!/bin/env python

naturale = 1

while(naturale < 100):   print 'generat de %d si %d :' % (naturale, naturale + 1)   print ' %d patrat + %d patrat = %d patrat' % (       (naturale+1) ** 2  - naturale ** 2 ,        2 * naturale * (naturale+1) ,        naturale ** 2 + (naturale+1)**2 )

   naturale = naturale + 1

Sunt primele 100 de triplete (update: nu sunt generate cum trebuie ca sa fie primele). Formula am gasit-o pe wikipedia si am mai aflat ca desi descoperirea lor este atribuita lui Pitagora ele au fost cunoscute intr-o forma sau alta de mai toate civilizatiile.

Mai multi grei renunta la Trafic.ro

Am auzit de luni cum ca “Grupurile si companiile media Gazeta Online, Intact Media Grup, Internet Corp, MediaPRO Interactiv, Protv SA si Realitatea-Catavencu” au anuntat ca vor folosi in relatia cu tertii numai sistemul de monitorizare a traficului SATI( de la BRAT). Pentru ca majoritatea foloseau deja acest sistem miscarea se traduce de fapt in renuntarea la trafic.ro .
Motivele pentru care spun ei ca renunta la trafic.ro mi se par corecte. In general consider ca e un pas bun pentru ei si pentru mediul online romanesc, iar asta nu inseamna neaparat o lovitura de moarte pentru trafic.ro cum considera unii.

1. In primul rand cred ca o concurenta serioasa motiveaza pe toata lumea sa adauge mai multa valoare.

2. Cred ca este bine sa se produca un fel de separare a marilor jucatori asociati grupurilor media clasice, care creeaza senzatia ,prin ocuparea primelor pozitii, ca internetul este sinonim cu un inlocuitor al hartiei de ziar.

Ei ar putea astfel sa atraga mai bine resursele din publicitatea clasica si sa stabileasca niste standarde de calitate ale industriei publicitatii online. Aceste beneficii se vor translata ulterior si spre celelalte zone ale internetului.

3. Este incontestabil ca exista variatii intre masuratori, care “dau prost in cadru” desi nu sunt la valori “suspecte”. Asa ca este de preferat sa existe un serviciu platit care sa aiba ca unic obiect de activitate monitorizarea traficului din perspectiva vanzarii de spatiu publicitar (“independent” e un cuvant la fel de abstract ca si “libertatea”, de aceea ma feresc sa-l folosesc aici).

Astept sa vad efectele, deocamdata am observat ca unii dintre cei mentionati mai sus inca mai au monitorizarea de la trafic.ro .

Incepator in Python

De putin timp m-am gandit sa incerc un nou limbaj de programare. Pentru ca vreau ceva care sa nu fie special pentru web si care sa nu fie prea departe totusi de modul de lucru cu care m-am obisnuit, am ales Python.
Nu vreau sa-i descriu avantajele ci sa ajut si pe altii care vor sa faca o evaluare rapida. Mi se pare un limbaj bun si pentru cei care nu stiu deloc programare.

Asa ca propun urmatoarea reteta (orientata in special spre utilizatorii de windows):

1. Se descarca ultima versiune standard de Python. Pentru Windows obisnuit(XP sau Vista pe 32 biti) click direct aici

2. Open pe fisierul descarcat, next, next…finish . Nu este nevoie de nici o setare sau alta “customizare”.

3. Se creeaza intr-un director oarecare un fisier text obisnuit si i se schimba extensia din .txt in .py (ceva de genul program.py). Click dreapta pe fisier si click pe “Edit with IDLE”. Se pot folosi si alte editoare de text (ex Notepad) sau mai avansate, dar nu are rost in aceasta etapa.

4. Sunt doua ferestre care apar:
– una cu titlul Python shell, care incepe cu
“Python 2.6” si cateva informatii despre soft urmate de
“IDLE 2.6 ==== No Subprocess ====
>>>” in care va rula programul in modul linie de comanda (este cum ii spune numele o cochilie pentru python, o scurtatura spre python.exe). Poate fi inchisa deocamdata.

– in cealalta fereastra se scrie codul sursa al programului. De exemplu:

print ‘hello world’

Se salveaza (Ctrl+S) si se executa programul apasand F5. Rezultatul se va deschide in ferereastra Python Shell de care am vorbit.

5. Pentru urmatorul pas al retetei click aici. Sunt cateva exercitii graduale care in cateva linii de cod acopera surprinzator de multe aspecte practice ale acestui limbaj. Eu le-am facut pana la exemplul 12 si cred ca pana la 10 le poate intelege si cineva care nu stie prea multe lucruri despre programare.

Limbajul este intuitiv, cu un nucleu minimal de functii ce pot fi extinse prin importul unei variate game de module. Este un limbaj interpretat adica nu necesita compilare si ca si PHP este mai lejer cu tipurile de date(int, string, etc).
Specificul este indentarea(distanta fata de marginea din stanga) folosita in sintaxa (un rand care incepe cu un paragraf mai mare este ierahic inferior unuia cu un paragraf mai mic).

Reteta nu ar trebui sa dureze mai mult de 2 ore, chiar si pentru cineva fara experienta, desi ca sa intelegi unele exemple trebuie sa ai un minim background in programare (poate cateva ore sau cursuri de scoala).

Dupa ce am urmat reteta am facut un programel care sa caute in toate sursele python dintr-un director si sa imi arate toate clasele definite si modulele importate, pe fisiere. Sursa e in continuare(primul rand este pentru cine ruleaza programul pe linux):


#!/bin/env python

import glob
import re

sursepython = glob.glob('*.py')

for fn in sorted(sursepython):
print '----', fn , '----'
for line in open(fn):
#cauta modulele si apoi clasele pe fiecare rand
if re.search(r'import', line):
print ' ' + line
if re.search(r'class', line):
print ' ' + line

Programele pot fi executate si cu dublu-click pe sursa, dar pentru cele de genul acesta nu apuci sa vezi rezultatul.
Pot fi dezvoltate usor si programe cu interfata grafica(ferestre sau GUI pentru cunoscatori :) ). Aici este un punct bun de inceput pentru asta inceput de la zero si explicat pe larg.

Mult spor cu reteta si impartasiti din experienta la gatit!

Yahoo web analitics online

Tocmai am aflat de la Ionut de “noul” Yahoo web analitics. Este de fapt o eticheta pusa pe IndexTools, o solutie solida in domeniu, cumparata in mai de Yahoo.
Deocamdata este accesibila numai clientilor, partenerilor si advertiserilor Yahoo! asa ca nu pot sa spun exact cum se misca.
Principalul avantaj pe care il subliniaza este afisarea in timp “real” a rezultatelor (insemnand la cateva minute de la colectare). In plus ofera si acces la datele de baza (raw) si mai multe posibilitati de prelucrare.

Este un nou episod in lupta dintre giganti de care vorbeam mai de mult. Acum cei 3 sunt loviti de criza, iar Microsoft afiseaza o bucurie ciudata cum ca ar fi scapat de o tranzactie paguboasa.

Eu cred ca nu este rasul lor pentru ca nu au mai facut o mutarea inteligenta de foarte mult timp, iar rivalii par mult mai vitali (inclusiv unii care nu sunt concurenti traditionali, gen Adobe cu noul CS4 si AIR).

Le urez succes celor de la Yahoo si cred ca mutarea aceasta nu poate fi decat benefica pentru toti utilizatorii de internet, macar si prin prisma concurentei facute lui Google in domeniu.