Archive for ◊ September, 2008 ◊

Firefox Add-ons
Tuesday, September 30th, 2008 | Author: AlexJ

Firefox… no introduction required (si daca nu ai auzit de el, probabil ai gresit site-ul :P ).

Dupa lungi asteptari, Firefox3 a fost scos acum ceva luni. Ziua in care a fost scos a fost numita Download Day 2008, zi in care s-a stabilit recordul mondial pentru cele mai multe download-uri a unui soft in 24h, adica 8 milioane :) . Mi-am facut si eu datoria de a downloada si am o diploma care sa o dovedeasca :P .

Desi multi nu au fost impresionati de versiunea 3, mie chiar mi-a placut. Facilitatile noi mi s-au parut interesante (gen cautarea in history din campul de adrese in real time pe care o folosesc din plin). Dar totusi exista unele lucruri care nu sunt incluse in programul de baza, dar sunt disponibile ca add-on-uri. Si pentru ca FF3 a avut timp sa se ‘coaca’, au inceput sa apara add-on-uri stabile pentru versiune. As vrea sa le listez pe cele care eu le folosesc (nu neaparat in mod constant).

Primul este FireFTP. Desi clientul de FTP intern din Firefox a devenit ceva mai atragator, tot are limitarea ca se poate doar downloada. FireFTP este un client full featured si il folosesc destul de des.

Pentru momentele in care mai caut suport pe canale IRC (si nu am mIRC sau XChat la dispozitie) prefer sa folosesc ChatZilla. Este un client IRC destul de simplut, dar util.

Un tool foarte bun pentru webdeveloperi este FireBug care ofera posibilitatea de a vizualiza si modifica in timp real codul unei pagini HTML precum si pentru a face debug-ing pe pagina. Mi s-a parut foarte puternic cand am incercat sa scriu niste cod JavaScript.

Last but not least, Mouse Gestures. Este, din cate am inteles, o idee din Opera ce permite activarea unor actiuni (gen Back, Forward, New Page, New Tab) din miscari ale mouse-ului (exemplu mut mouse-ul sus, apoi jos si dupa stanga si imi deschide un site). Daca va invatati sa il folositi poate face navigarea mai usoara.

Acestea sunt cateva exemple… sunt sute de astfel de add-on-uri disponibile pe https://addons.mozilla.org/ care va pot face browserul mai placut.

P.S. Use Firefox! ;)
Firefox 3

DOSbox for nostalgia
Wednesday, September 24th, 2008 | Author: AlexJ

Nu mai am de mult contact cu lumea jocurilor noi, dar uneori o pauza nu strica. Am vazut relativ recent la cineva aparent la fel de nostalgic ca si mine, niste jocuri extrem de vechi (DOS sau maxim Win95) si mi-am adus aminte cat de interesante puteau fi. Dar cum astfel de jocuri nu mai merg in Win XP or later sau pe Linux este nevoie de un emulator. De la acest prieten am aflat de DOSbox, un soft destul de fain. Merge pe orice platforma si este open soruce. Puteti sa il downloadati de pe http://www.dosbox.com/.

Bineinteles jocurile trebuiesc obtinute separat, dar am reusit sa fac rost de niste titluri destul de populare (gen Lemmings, Wolf3D, Prehistorik). De mentionat ca abandoneware-ul (cum mai sunt cunoscute softurile vechi) inca au nevoie de aceeasi licenta ca si cand ar fi noi.

Softul se instaleaza destul de usor (prin installer, surse sau package manager). Trebuie rulata consola de dosbox, apoi mountat un director (cel cu jocul) de pe sistemul de fisiere in structura de directoare emulata in dosbox. Aceasta se face pri comanda mount c: /home/cale/spre/director , unde C: este driveul emulat, iar /home/… este un director de pe sistemul de operare. Dupa ce dati mount puteti naviga prin C: cu comenzi normale de DOS.

M-a mirat foarte mult faptul ca inca mai stiam multe din secretele jocurilor (Prehistorik2, Wolf3D) :P

O chestie funny pe care am descoperit-o la Prehistorik2: la ecranul initial zice “Yeaa! My game is still working in 2008!! Programmed in 1992 on an .286 12MHz…enjoy oldies!!”. A fost gandit pentru viitor jocul :P The clasics never die ;)

Enjoy! :)

Linux-Windows Dual boot: worst case scenario
Monday, September 15th, 2008 | Author: AlexJ

Problema de dual boot este ceva destul de intalnit in ultima vreme. Vrei sa tii si Linux si Windows (sau orice alt sistem de operare) pe aceeasi masina. Se rezova foarte usor prin instalarea mai intai a Windows-ului si apoi a distributiei de Linux care vine cu GRUB (care se instaleaza frumos si automat in MBR-ul harddisk-ului). GRUB se impaca foarte bine cu orice sistem de operare si merge totul ok. Mici probleme apar ca vrei sa instalezi din nou Windows care rescrie cu nesimtire automat MBR-ul (deci atentie aici).

Care este scenariul in cazul meu. Am un laptop HP care vine cu o configuratie destul de stricta a HDD-ului: am o partitie de backup unde este stocat kit-ul pentru sistemul de operare (Windows Vista custom made for HP) cu care a venit laptopul. Accesul la acea partitie se face printr-un bootloader special aflat by default in MBR. Deci eu nu ma pot atinge de MBR. Si stiu ca sunt mai multe tipuri de laptopuri care vin cu sisteme asemanatoare (cum sunt cele de la Dell care au un OS special pentru media). Solutia in acest caz este cea mai rar intalnita bootare de Linux: folosind NTLOADER (bootloaderul ce incarca kernelul de Windows).

Prima conditie pentru scenariu este fie instalat mai intai Linux si apoi Windows, fie (in cazul meu) mai intai Windows si apoi Linux DAR la instalarea Linux-ului sa NU se instaleze GRUB in MBR (GRUBul trebuie instalat pe primul sector al partitiei Linux… distribuitia ar trebui sa permita acest lucru ).

Pasul urmator este copierea primului sector de pe partitia de Linux (primii 512bytes) intr-un fisier binar ce va fi stocat pe partitia de Windows in C:\ . Acest lucru se face cu utilitarul dd (disk duplicate). Puteti face asta pe Linux si mutati fisierul in Windows (distributiile Linux vin cu dd) sau varianta folosita de mine e varianta de Windows a dd.

In Linux:

dd if=/dev/hda2 of=linux.boot bs=512 count=1

(unde hda2 este partitia de linux)

Fisierul linux.boot va trebui sa fie copiat pe C:\

In Windows trebuie sa identificati partitia cu dd –list , apoi copierea se face cu

dd if=\\?\Device\HarddiskVolume2 of=linux.boot bs=512 count=1

(unde \\?\Device\HarddiskVolume2 este partitia descoperita cu dd –list)

Urmeaza configurarea NTLOADER pentru a adauga intrarea de linux in meniul sau. In Windows XP/2000 se editeaza fisierul C:\boot.ini si se adauga linia C:\linux.boot=”My Linux” . In Windows Vista au ales sa se complice lucrurile cu utilitarul bcdedit. Prima data trebuie adaugata o intrare (folsind linia de comanda din Windows)  in bootloader cu

bcdedit /create /d “My Linux” /application BOOTSECTOR

Acesta comanda va returna un ID sub forma “{ID}”. Acest ID il folositi in urmatoarele comenzi:

bcdedit /set {ID} device boot
bcdedit /set {ID} PATH \LINUX.BOOT
bcdedit /displayorder {ID} /addlast
bcdedit /timeout 5

unde {ID} este idul returnat la prima comanda.

Rezultatul va fi o noua optiune de bootare a kernelului Linux din NTLOADER.

LHC:power on
Wednesday, September 10th, 2008 | Author: AlexJ

Dupa asteptari lungi, azi, 10 septembrie 2008, a fost pornit LHC (the Large Hadron Collider ). Este considerat cel mai mare experiment stiitific din istoria umana. Este un complex construit sub pamant, la granita intre Franta si Elvetia, ce consta intr-un tunel circular de 27km lungime avand ca scop accelerarea particulelor pana la 99.999999% din viteza luminii. Aceste particule se vor ciocni si rezultatele obtinute in urma coliztiunii fie vor confima unele teorii stiintifice sau sau vor distruge bazele fizicii moderne. Dupa pese 20 de ani de la initierea proiectului si dupa 5miliarde de euro investiti, CERN inaugureaza acceleratorul (care devine cel mai mare din lume)  urmand ca primele ciocniri sa aiba loc peste o luna. Am aflat recent ca sunt prezenti si 60 de fizicieni romani, alaturi de altii din toata lumea.

O prezentare interesanta asupra ce inseamna experimentul o puteti gasi aici.  O alta prezentare, de data asta una funny ar fi LHC Rap.

XMPP Howto
Tuesday, September 09th, 2008 | Author: AlexJ

Partea a doua a discutiei despre XMMP este un tutorial despre cum putem pune in practica sistemul. La fel ca o infrastuctura de VoIP avem nevoie de unul sau mai multe servere interconectate si mai multi clienti care se conecteaza la unul din servere (dupa o autentificare).

Pagina de la care am pornit a fost Jabber.org. Acolo am gasit o lista de soft-uri pentru servere si clienti XMPP/Jabber. Primul server pe care l-am incercat a fost jabberd. Instalarea nu a fost grea, dar managementul serverului era practic inexistent. La celelalte soft-uri am avut probleme cu gasirea bibliotecilor necesare. Serverul la care am ramas a fost Openfire. Motivul alegerii a fost in principal interfata de administrare foarte bine pusa la punct. Downside-ul este ca necesita Java Runtime Enviroment pentru a rula, dar upside-ul, serverul poate rula pe Linux, MacOS, Windows sau orice alt sistem de operare. Am ales sa fac o instalare a serverului pe Linux (Debian).

Topologia este formata dintr-o masina virtuala (in VMware Workstation) continand un Debian GNU/Linux avand adresa IP 192.168.150.128 si o masina gazda (Windows) cu adresa 192.168.150.1.

Pe Linux instalam Openfire. JRE trebuie instalat mai intai (apt-get install sun-java5-jre). Dupa, instalam pachetul (fie din surse prin compilare, fie prin package manager) din fisierele disponibile aici. Din fisierul .deb, instalam cu dpkg -i openfire_3.6.0a_all.deb. O instalare pe Windows din executabil ar duce la acelasi rezutlat. Din acest punct, totul se face printr-o interfata web accesibila printr-un browser pe portul 9090 http://192.168.150.128:9090/ fiind independenta de platforma. Prima accesare duce la un wizard. Optiunile de baza de date sunt multiple, dar cel mai simplu e sa folosim engineul din openfire HSQLDB (Embedded Database). Dupa crearea contului de admin, putem sa ne logam in interfata de mangement. Creem cativa useri pentru test.

Pentru clienti vom folosi mai multe programe: gabber pentru Linux-Gnome Pidgin (fostul Gaim) pentru Windows (desi se folosete in principal pe Linux) si for fun, SamePlace, un add-on pentru Firefox.

gabber il instalam cu apt-get install gabber . Desi interfata este destul de primitiva, e suficienta pentru ce avem nevoie. Ne logam pe server cu unul din conturile create.

Pentru Pidgin, downloadam kit-ul de pe http://www.pidgin.im/. Pidgin suporta mai multe protocoale (YM, AIM, ICQ…). Adaugam un cont pe protocolul XMPP (aka Jabber).

Pentru add-on-ul din Firefox trebuie sa instalam mai intai xmpp4moz peste care instalam SamePlace. Din meniul de optiune de add-ons, la SamePlace configuram un nou cont Jabber.

Din interfata de administrare a Openfire putem trimite un mesaj de sistem tuturor clientilor conectati pentru a testa ca totul merge bine.

Si ca un rezultat final, doua conversatii: pidgin-gabber si pidgin-sameplace (putin cam incurcata imaginea avand in considerare ca una din masini e virtuala si unul din clienti este in Firefox) :

Sper ca a fost informativ.

Instant Messaging: XMPP
Tuesday, September 09th, 2008 | Author: AlexJ

Comunicarea pe Internet si-a schimbat multe forme de-a lungul lungul timpului. Pornind de la email si newsgroups, la forumuri si IRC si ajungand la metode cat mai apropiate de real-time si cu cat mai multe facilitati: instant messanging (tendinta fiind spre comunicarea in lumi virtuale, gen SeccondLife). Cea mai cunoscuta forma este acum Yahoo Messenger (cred ca putini sunt familiari cu ICQ de exemplu, acesta fiind primul meu contact cu IM si asta inainte sa ma fi gandit ce popular va deveni sistemul). Alte exemple ar fi Skype (desi este cunoscut mai mult pentru audio/video chat decat pentru text chat), AIM si din pacate prea neglijat GoogleTalk. Ma opresc la GTalk deoarece, spre deosebire de Yahoo Messenger si Skype, clientul de la Google foloseste un standard deschis: XMPP.

XMPP (Extensible Messaging and Presence Protocol) este un protocol de instant messanging inspirat de XML. A stat la baza clientului Jabber ( de obicei, termenii XMPP si Jabber sunt folositi pentru a denumi acelasi lucru, protocolul XMPP). Google si-a aratat interesul in comunitatea Jabber si, folosind un protocol VoIP pentru voce si XMPP pentru text, a scos clientul Google Talk (sau GTalk). Desi cu putine feature-uri fata de alti clienti, faptul ca este bazat pe standarde open ofera un potential mult mai mare fata de ceilalti clienti.

Primul lucru pe care l-am remarcat la protocolul acesta este asemanarea foarte mare cu SIP si probabil daca va jucati putin cu cele doua protocoale veti intelege de ce (incepand de la modul de adresare user@domeniu, la coduri de eroare si pana la modul de interconectare a serveleror). Ofera suport pentru interconectarea clientilor ce folosesc alte protocoale (cum ar fi OSCAR de la AIM/ICQ) si de asemenea integrarea altor servicii cum ar fi VoIP sau SMS. Am observat si lipsa catorva feature-uri, cum ar fi trimiterea de fisiere. Faptul ca sa se bazeaza pe XML si trimitere de text pur face dificil transferul de fisiere binare, dar acest lucru este rezolvat de HTTP (sau prin codare base64 asemanator email-ulurilor).

[Va urma]

Home Routers: Dynagen tips & tricks
Friday, September 05th, 2008 | Author: AlexJ

Continuare la introul despre Dynagen si Dynamips, as vrea sa prezint niste feature-uri din acestea.
Accesul la routerele emulate se face prin telnet. By default, clinetul este telnet-ul din Windows sau Linux (care in cazul Windows sucks…parerea mea…si asta daca el este instalat, a se vedea Vista). Eu prefer sa folosesc Putty in loc de orice telnet. Programul cu care se face accesul se poate modifica, foarte usor. Din fisierul dynagen.ini din directorul radacina al Dynagen comentati linia cu telnet (cu un # in fata liniei) si decomentati-o pe cea cu Putty de exemplu (verificati ca path-ul sa fie corect spre executabil).

Un element important in Dynamips este IdlePC-ul. Acesta este o valoarea numerica, on cod care optimizeaza procesul de rulzare a IOS-ului, micsorand semnificativ consumul de procesor.

Rularea unei topologii in Dynagen se face prin deschiderea fisierelor .net (unde este descrisa topologia). Se deschide o interfata command line de unde se pot porni routerele ( start ROUTER_ NAME ), accesa routerele (telnet ROUTER_NAME) si se pot gasi si valorile IdlePC ce pot optimiza ruterele ce ruleaza pe sistem (idlepc get ROUTER_NAME). Vor returna pana la 10 valori, unele mai performante, alte nu. Aplicati una din ele. Exista totusi posibilitatea ca dynamips-ul sa dea eroare si sa pice.

Singurul lucru care m-a impresionat cu adevarat la dynagen este faptul ca pot face interactiunea intre routerul emulat si interfetele fizice de pe masina gazda.

Un fisier .net arata astfel:

[[ROUTER R1]]

f0/0 = R2 f0/0

[[ROUTER R2]]

f0/0 = R1 f0/0

Pe scrut, interfata_locala = echipament_vecin interfata_ecipament_vecin.

Putem face legatura cu o interfata fizica printr-o linie interfata_locala = cale_interfata. Acesta cale poate fi aflata scriptul Network device list (este un .bat in Windows sau un bash script in Linux). Dynagen-ul va presupune ca interfata routerului si interfata fizica a calculatorului gazda sunt conectate la un switch virtual. Tot ce trebuie sa faceti e sa puneti IP-uri din aceeasi retea si aveti legatura.

Iata o topologie simpla. Un router ‘conectat’ la un PC.

Routerul are adresa 192.168.238.2 si calculatorul 192.168.238.1. Ping succesfull :) .

Beta testing: Google Chrome
Wednesday, September 03rd, 2008 | Author: AlexJ

New player in The Browser Wars. Google a anuntat ca lucreaza la un browser propriu si ieri a scos si o versiune beta a Google Chrome. Am zis sa ii fac un testing rapid…

Arata fain (are un design foarte simplist) si se misca destul de bine.  Lucru cu care se lauda Google este faptul ca pentru fiecare pagina se creaza un mediu separat si daca exista o eroare undeva, nu va omori tot browserul ci doar un tab. Acest lucru este facut prin folosirea mai multor procese. Dar totusi multi-process vs multi-thread aduce overhead… deci daca adunam memoria ocupata de toate procesele Chrome, da o valoare similara cu cea folosita pentru Firefox.

Am observat si niste elemente din Firefox3. One-click-bookmark si address bar history search. Desi, Google fiind Google, a adaugat optiunea e cautare in timp real a cuvintelor scrise in address bar. Mi-a placut modul in care este facuta vizualizarea codului sursa a paginii si varianta de Inspect element care este extrem de apropiata cu ce face pluginul de Firefox, Firebug.

L-am testat pe niste site-uri cu cerinte destul de mari (Flash intens). Nu mi-a trebuit sa instalez Flash Player (ori vine inclus ori il foloseste pe cel de la alte browsere). Si s-a descurcat bine pe aceste site-uri.

Vom vedea ce va rezulta din proiectul acesta desi are potential foarte mare dar este inca un pas spre o aparenta monopolizare a Internetului de catre Google. We’ll see…

Btw, eram pe Chrome cand am scris acest articol si vad ca merge bine si la AJAX.

LE: Aparent au fost niste zile pline de Chrome. Intr-o stire Slashdot:

Seems that almost every story submitted to Slashdot last night in some
way involved Google’s Chrome that we started talking about yesterday.
[1]Dotan Cohen noted that according to Clicky Chrome has hit 3%
browser share.

Si nu numai Slashdotul a fost ‘afectat’: http://ars.userfriendly.org/cartoons/?id=20080905

UserFriendly tribute
Monday, September 01st, 2008 | Author: AlexJ

Inainte de xkcd there was UserFriendly (well…for me anyway…). Desi sunt multe webcomic-uri out there, dar acesta mi se pare cel mai reusit. They’re pure science jokes (mostly computer science).

Primul comic strip pe care il gasisem a fost unul destul de clasic.

Avand in considerare ca siteul functioneaza inca din 1997 si sunt scoase zilnic imagini, sunt extrem de multe foarte reusite. Doar din cate am vazut recent…

Si bineinteles ca sunt unele la care probabil doar cei mai geekesh ar intelege.

(google for “Large Hadron Collider back hole” pentru lamuriri :P )

Pe situl asta poti pierde mult timp. Si aparent nu sunt singurul…

Eu: a guy who knows he’s userfriendly..i knew i liked you
El: mdah, acu vreo 2 ani am stat vreo 3-4 zile sa vad toata arhiva cap-coada
El: de-mi amortzise curu pe scaun :D

Eu: yah..i did that too…twice :-”

Ultima mea intalnire cu UF a pornit de la Word Community Grid (despre care am mai vorbit). Am aflat de echipa UserFriendly de pe WCG si am decis sa ma inscriu in ea (dintr-un motiv destul de simplu: membrii activi primesc certificate cu un design facut de Illiad, autorul webcomic-urilor :) ).

Forum IT 2008
Monday, September 01st, 2008 | Author: AlexJ

Saptamana trecuta a avut loc la Braila tabara anuala Forum IT. Evenimentul ce dureaza o saptamana este o deplasare din camera din fata calculatorului la iarba verde. Sub deviza “IT la iarba verde“, Forum IT ofera pasionatilor de calculatoare o tabara plina de prezentari, workshop-uri si concursuri. Am fost la editia de anul trecut si a fost o experienta faina dar din pacate anul acesta nu am putut merge (dar in semn de solidaritate mi-am purtat tricoul de anul trecut marca Forum IT :P ) … dar desi eu nu am fost prezent, aparent ceva al meu a fost…

Am o supriza foarte mare cand cineva care a fost la editia de anul acesta la un workshop despre Jurnalistica IT a fost prezentat pe langa alte site-uri si acesta. Initial am crezut ca e o gluma avand in considerare ca totusi site-ul este inca foarte tanar. Dar am auzit acelasi lucru din mai multe surse. Si partea frumoasa e ca, aparent, am primit feedback foarte bun (inca astept sa vad inregistrarea prezentarii sa vad despre ce a fost vorba). Dar totusi sunt placut surprins ca 1) site-ul are vizitatori (nu aveam destula incredere in Google Analytics :P ) 2) chiar le place ce contine. Well…thank you si promit ca voi incerca sa public continut cat mai bun.

Revenind la tabara, pentru cei care nu au planuri pentru vara viitoare, recomand sa se gandeasca la Forum IT ca optiune. In primul rand as zice ca este destinata elevilor (de generala si liceu) pasionati de IT. Dar sunt si foarte multi studenti acolo (exemplu cum am fost eu anul trecut… si imi pare bine ca am interactionat cu tinerii geeks…yes, I’m gettin old). De asemenea am stat foarte mult si in jurul unor profesionisti in IT (am impartit camera cu un sales manager de la Tornado, furat mere cu alt manager de la Softwin si stat la bere cu editorul sef de la PC Magazine). Si ar mai trebui sa multumesc Forum IT pentru ca acolo am avut prima interactiunea cu notiunea de VoIP si ca urmare a unui concurs castigat acolo am facut primul curs de Cisco IP Telephony.