Archive for ◊ June, 2009 ◊

Google Calendar & imports
Tuesday, June 30th, 2009 | Author:

Am primit azi un email de la Juniper în care am fost acceptat la Juniper Summer School [1]. Ce a fost interesant e că mi-au trimis și un fișier în care era salvat calendarul programului. Era un fișier .ics, care am aflat că este format iCalendar (by Apple). Cum nu foloseam iCalendar, mi s-a părut inutil, dar în email era menționat faptul că pot folosi fișierul inclusiv în Google Calendar.

Astfel am aflat de funcția de import de la Google Calendar [2] . Sunt compatibile mai multe fișiere, printre care și acesta.

Pentru a importa un calendar, se intră pe Google Calendar. Sub lista de calendare există butonul de Settings, iar pe pagina de setări pentru fiecare calendar, există un link de Import Calendar. Pe pagina de Import se încarcă fișierul și se poate alege ca datele din fișier să fie integrate într-un calendar existent sau să se creeze un calendar nou.

Security boost in Wireless with VPN
Sunday, June 28th, 2009 | Author:

Când ai un laptop, ești foarte fericit când găsești o conexiune Wireless pentru a te conecta la Internet. Problema este că, de obicei, rețele publice sunt Open, adică nu au nici o securitate în transferul de date. Majoritatea software-ului  nu trimite encriptate datele și este foarte ușor ca cineva să captureze parole sau conversații.

O soluție ar fi VPN, Virtual Private Network. Nu este o soluție implementabilă de oricine, pentru că necesită un server conectat la Internet cu un IP public. Pe serverul respectiv trebuie instalat un daemon cum este OpenVPN [1]. De asemenea, pe fiecare calculator ce va folosi rețeaua VPN va fi necesară instalarea clientului OpenVPN. Pentru fiecare client, se va genera o pereche de chei publică-privată pentru a se asigura că restricționarea accesului la serviciul de VPN.

Un tutorial despre cum se poate crea o rețea VPN se găsește pe site-ul OpenVPN [2]. O versiune mai scurtă și mai practică pe Big Lazy Sysadmin [3].

După crearea rețelei, pe serverul VPN trebuie activată rutarea rețelei private în cea de Internet (cel mai probabil prin NAT). Aici intervine problema unei soluții VPN: tot traficul trece prin serverul respectiv, ceea ce înseamnă că viteza maximă atinsă pe un client este  jumătate din viteza serverului (pentru că traficul trebuie să circule în două direcții). Dar pentru persoanele ce țin la securitate, prețul merită.

[1] http://openvpn.net/

[2] http://openvpn.net/howto.html

[3] http://big.lazyadmin.ro/2007/04/27/openvpn-gateway-tutorial/

VMware Player & .vmx generator
Sunday, June 21st, 2009 | Author:

Principalul program de virtualizare pe care îl folosesc este VMware, care vine în multe variante. Există versiunea de Workstation, dar care nu este gratuită. Este varianta server, free, dar necesită înregistrarea unui cont pentru a obţine un serial. În plus, versiunea nouă Server (2.0) este cu o interfața web mai greu de administrat. Aşa că, varianta cea mai rapidă pentru a reuşi a porni o maşină virtuală este VMware Player [1].

Problema cu Player este că nu permite creerea de maşini noi sau modificarea caracteristicilor unei maşini existente. Datele despre maşină sunt stocate într-un fişier .vmx sub formă de text clar. Deşi fişierul poate fi scris de mână, pentru uşurinţă în utilizare există generatoare de fişiere .vmx. Un exemplu este generatorul online EasyVMX [2].  Site-ul permite generarea fişierelor necesare (configuraţie şi hard disk-uri virtuale) pentru maşină ce pot fi descărcate şi rulate cu VMware Player.

[1] http://www.vmware.com/download/player/

[2] http://www.easyvmx.com/

Juniper Summer School
Wednesday, June 17th, 2009 | Author:

Juniper [1] își menține politica de training (adică gratuit și la distanță) și introduce Juniper Summer School [2].

Programul are două direcții, una de Routing și una de Switching și de va desfășura în două sesiuni, una în iulie și una în august.

Înregistrarea este gratuită (în limita locurilor). Cursurile se vor ține online dar vor avea parte de suport live din partea unor instructori.

[1] http://juniper.net/

[2] http://junos.juniper.net/summerschool/

Diacritice(UTF-8) & JDBC/mySQL/HTML
Tuesday, June 16th, 2009 | Author:

Ce am dorit să fac: un program în Java ce capturează conversații de pe IRC și le stochează într-o bază de date mySQL; din acea bază de date se ia prin PHP și se afișează pe o pagină HTML. Deși pare destul de mult de făcut, necesită puțin cod, dar multă atenție la interconectarea elementlor: programul Java, conectorul dintre Java-mySQL (JDBC), baza de date mySQL și script-ul PHP.

Am creat ‘topologoia’ necesară și programul mergea ok. Dar am descoperit rapid o problemă: pagina web (HTML+PHP) nu afișa diacritice. Și am început să caut prin fiecare element să văd unde era problema ( oricare din componente putea să ducă la problema aceasta).

Am început prin modificarea paginii PHP/HTML și forțarea ca browserul să citeacă caracterele în format UTF-8. Codul nu depinde de PHP (am presupus că el transmite corect din baza de date în HTML) ci de headerul HTML.

<head>  <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />   [...]  </head>

Al doilea test a fost făcut pe mySQL. Implicit, baza de date codează folosind Latin.  Și tabela unde se făcea scrierea trebuia trecută pe UTF.

CREATE TABLE `chats` ( [..] ) DEFAULT CHARSET=utf8;

Cum programul Java imprima corect la stdout diacriticile, problema trebuia să fie la JDBC. Suportul pentru UTF a fost adăugat în JDBC, dar trebuia specificat la conectarea cu baza de date. Acest lucru se face pasând un parametru la  URL-ul bazei de date.

jdbc:mysql://my_server/my_data_base?unicode=true&characterEncoding=utf-8

ROSEdu Summer of Code 2009
Monday, June 15th, 2009 | Author:

Se apropie vara și, cu ea, vin stagiile. Pentru studenții pasionați de dezvoltare software, ROSEdu [1] a pregătit și în acest an stagii în cadrul programului RSoC: ROSEdu Summer of Code [2]. Anul acesta numărul de proiecte se ridică la 9.

RSoC se adresează studenților din Automatică și Calculatoare din orice an dar în special celor care doresc să își facă stagiul de practică în facultate, lucrând la proiecte open source.

Pentru a fi admiși în program, trebuie să vă înscrieți pe site și să veniți la un interviu. Mai multe detalii găsiți în secțiunea de FAQ a site-ului RSoC 2009. Termenul limită de înscrieri este 20 iunie.

Iată o scurtă prezentare a programului.

[1] http://rosedu.org

[2] http://soc.rosedu.org

VirtualBox far away from a business solution
Friday, June 12th, 2009 | Author:

Având nevoie de o mașină Windows Server și având la dispoziție doar un server Linux la dispoziție am decis să instalez o soluție de virtualizare. Alegerea inițială a fost VMware server 2 [1], pe motivul că interfața web oferă un control foarte bun de la distanță. De asemenea conectarea la rețea se face foarte ușor.

Problema că serverul respectiv avea resurse modeste și VMware ar fi consumat mare parte din ele. A fost un bun moment de a testa VirtualBox ca o soluție de server.  La nivel de utilizare pe o mașină fizică locală, VirtualBox rulează destul de bine, consumând puține resurse.

VirtualBox vine în două versiuni, VirtualBox OSE, distribuită sub licență GPL și VritualBox distribuită sub licență PUEL (closed source dar gratuită pentru uz personal și educațional). Una din diferențe este că cea PUEL vine cu VRDP (VirtualBox Remote Desktop Protocol), ce oferă posibilitatea controlării mașinii de la distanță, lucru important pentru situația în care serverul era un Linux box în text mode și altă interfața (web) nu exista pentru control.

Instalarea VirtualBox s-a făcut ușor (apt-get spre deosebire de VMware care nu este oferit pe repositories) dar configurarea a fost mai grea. Neavând o interfață web, lucrurile trebuie făcute prin linia de comandă. Comnezile cheie sunt VBoxManage și VBoxHeadless. Iată un exemplu de creere mașină cu harddisk și pornirea mașinii:

VBoxManage createvm -name “win2003server” -register
VBoxManage modifyvm “win2003server” -memory “256MB” -acpi on -boot1 dvd -nic1 nat
VBoxManage createvdi -filename “win2003server.vdi” -size 10000 -register
VBoxManage modifyvm “win2003server” -hda “win2003server.vdi”

VBoxHeadless -startvm “win2003server”

Implicit, VRDP rulează pe portul 3389 și poate fi accesat printr-un client RDP (inclusiv Windows Remote Desktop), dar, aparent, acestă bucată are anumite probleme și nu a funcționat.

Altă soluție este instalarea unui server VNC pe mașina virtuală. Pentru acesta trebuia instalat sistemul de operare client pe un alt calculator cu VirtualBox (cu interfață grafică) și mașina migrată pe server. Punctul cel mai slab al VB este migrarea. Dacă în VMware, tot ce trebuia făcut era mutarea fișierelor, în cazut VirtualBox, mutarea fișierelor nu duce neapărat la păstrarea integrității măsinii. Din cauza fișierelor de configurare care depind de mașină (căi absolute și verificări a informațiilor măsinii fizice) nu pot fi mutate mașinile atât de ușor. După înțelegerea și editarea fișierelor XML se poate ajunge la o mașină migrată cu succes (o altă opțiune este mutarea harddisk-ului și crearea unei mașini de la zero ce folosește acel harddisk).  Și după rularea mașinii, a doua mare problemă VirtualBox este configurarea dispozitivelor de rețea care se face foarte greu.

Concluzia este că VirtualBox este departe de nivelul VMware, deși este un produs destul de promițător. Chiar dacă Sun a făcut produsul Open Source în mare parte, comunitatea încă nu a oferit unelete care să ajute soluția de virtualizare (un posibil proiect de a introduce o interfață web pentru VB, similară cu VMware Server 2, este abia la început).

[1] http://alexj.info/?p=832

Fedora 11 on torrent.cs.pub.ro
Tuesday, June 09th, 2009 | Author:

Astăzi s-a scos o nouă versiune finală de Fedora, Fedora 11 (Leonidas) [1].

Ca o continuare a proiectului torrent.cs.pub.ro [2], [3] imaginile noii distribuții sunt disponibile pe site ca fișiere .torrent.

[1] http://fedoraproject.org

[2] http://torrent.cs.pub.ro/

[3] http://alexj.info/2009/04/23/ubuntu-904-on-torrentcspubro-tracker/

True X-Mouse Gizmo
Saturday, June 06th, 2009 | Author:

Fiind de părere că oamenii din Computer Science ar trebui să fie la fel de familiari şi cu Linux dar şi cu Windows, prefer să am ambele sisteme de operare în viaţa mea de zi cu zi. Amblele au plusuri şi minusuri. Una din facilităţile existente pe Linux care îmi lipseşte foarte mult când lucrez în Windows este posibilitatea de a face copiere în clipboard prin selecţie şi paste prin click middle.

Link of the day: True X-Mouse Gizmo [1]. Nu este un program foarte complex dar adaugă Windows-ului facitilatea dorită. Problema este că în Linux, clipdoard-ul pentru ctrl-c/ctrl-v este separat de cel de select/click-m, pe când acest program face copierea în acelaşi clipboard.

[1] http://fy.chalmers.se/~appro/nt/TXMouse/

EAP: semestrul 2
Monday, June 01st, 2009 | Author:

Un alt curs din seria ‘cursurilor din facultate în afara facultății’ [1] s-a încheiat cu succes. Laboratorul de Electronică Aplicată [2] [3] a acoperit acest semestru partea de electronică digitală, prin aplicații practice care să completeze noțiunile teoretice studiate la materii din facultate. Al doilea semestru a avut 4 grupe cu un număr aproximativ de  60 de studenți ce au participat.

Faptul că laboratorul a fost bine văzut de studenți, se va încerca și anul viitor refacerea lui. Laboratorul este ținut din finanțări proprii, deci orice susținere financiară din partea unor sponsori este binevenită.

[1] http://alexj.info/?p=690

[2] http://eap.cs.pub.ro/

[3] http://alexj.info/?p=494