Archive for ◊ May, 2009 ◊

Smart Variable Swapping
Sunday, May 31st, 2009 | Author: AlexJ

Mi-am adus aminte de un mic truc pe care îl foloseam în liceu şi dintr-un motiv necunoscut nu l-am mai folosit de mult, până la un laborator de Sisteme de Operare: schimbarea mai eficientă a unei variabile.

Metoda clasică este folosirea unei variabile auxilitare în care se păstrează una din variabile. A două metodă este folosirea XOR (sau exclusiv).

var1 = var1 XOR var2
var2  =var1 XOR var2
var1 = var1 XOR var2

Partea cea mai bună este că nu este dependentă de tipul de date şi teoretic s-ar putea schimba orice. Astfel, se poate crea uşor şi un macro pentru uz general. Folosind ultimul best practice învăţat despre macro-uri ( encapsularea codului funcţiei într-un do while(0) ), codul în C ar arăta aşa:

#define swap(a, b)       \
do                                   \
{                                      \
(a) = (a) ^ (b);               \
(b) = (b) ^ (a);              \
(a) = (a) ^ (b);              \
}while(0)                     \

Happy 40th Birthday Computer Science Dept.
Friday, May 29th, 2009 | Author: AlexJ

cs-textAnul acesta se sărbătoresc 40 de ani de la înfiinţarea Catedrei de Calculatoare [1] a Facultăţii de Automatică şi Calculatoare din Universitatea Politehnică Bucureşti. Cu ocazia aniversării, astăzi, 29 mai 2009, s-a ţinut un eventiment de sărbătorire a Catedrei.

Au fost invitaţi toţi membrii catedrei (foşti şi actuali) alături de un grup de studenţi şi alţi colaboratori apropiaţi. Ziua a început cu o serie de discursuri alea Şefilor de Catedră de la înfiinţare şi până astăzi. Începând cu Mircea Petrescu, apoi Adrian Petrescu, Nicolae Ţăpuş şi nu în ultimul rând actualul şef de catedră, Valentin Cristea, toţi au ţinut să treacă prin istoria destul de încărcată şi interesantă a Catedrei, evidenţiind momentele, persoanle şi proiectele importante.

Din partea Ministerului Educaţiei, Catedra de Calculatoare a primit o diplomă de excelenţă pentru activitatea sa.

Chiar dacă şi studenţii şi profesorii privesc Secţia de Calculatoare şi Tehnologia Informaţiei ca ceva aproape de dezastru,  ea are o istorie destul de bogată şi prin proiectele actuale şi oamenii ce le susţin, are şi un viitor destul de promiţător.

Eu, unul, mă simt mândru să aparţin colectivului Computer Science şi mă consider, într-o mică măsură parte a Catedrei prin participarea la diverse activităţi ale ei, în special ca asistent al cursului de Utilizarea Sistemelor de Operare.

Happy Birthday, CS !

Şi dacă tot este de sărbătorit, acesta este cel de-al 100-lea post al site-ului :) . Hope more will come…

100posts_crop

[1] http://cs.pub.ro

World Community Grid Presentation
Friday, May 29th, 2009 | Author: AlexJ

Pornind de la o discuţie mai veche [1] despre Grid Computing şi World Community Grid [2], am făcut o prezentare pentru laboratorul de Arhitectura Sistemelor de Calcul.

Juncu Alexandru 332CA WCG

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

[2] http://worldcommunitygrid.org/

eLiberatica 2009 conclusion
Wednesday, May 27th, 2009 | Author: AlexJ

Yet another eLiberatica 2009 post…

Ediţia de anul acesta a fost foarte difertită ca cea de anul trecut. În primul rând datorită locaţiei. Dacă anul trecut s-a desfăşurat într-un mediu business (World Trade Plaza), anul acesta a fost în unul mai academic…

eLiberatica aduce un strop de gândire de afaceri în lumea Open Source şi, probabil de aceea, această conferinţă este interesantă. Adună toţi programatorii şi utilizatorii open source din colţul lor ascuns (mă înclud) şi îi pun în faţa unor aspecte din viaţa reală. Este cea mai bună ocazie de interacţiune socială şi profesională între membrii lumii FLOSS (adică cei care utilizează, cei ce învată despre, cei ce programează, cei ce adminiastrează, cei ce promovează şi cei ce fac bani din open source)… şi toţi aceşti oameni discută, îşi crează legături şi învată despre utilitatea open source (adică nu doar pentru că e fun cum deja ştiau).

Un plus al ediţiei de anul acesta a fost faptul că au existat ‘multiple tracks’ adică s-au ţinut, în paralel, prezentări în săli diferite, pe diverse teme. Ca, de exemplu la Cisco Expo, participanţii puteau alege unde să meargă şi aveau destule opţiuni încăt să nu se plictisească. Şi sălile din Politehnică s-au potrivit mult mai bine pentru prezentări decât anul trecut (sper că anul viitor vor repeta parteneriatul cu UPB).

Totuşi s-a observat puţin situaţia economică mai modestă din lume… firmele mari nu prea au participat activ (nu au avut standuri, ci în cel mai bun caz au ţinut prezentări).

Standurile pot fi enumerate uşor: standul Fedora, standul Comunitătilor Free Software din România, standul Mozilla, un  stand al unei companii numite RadGs, Sun, O’Reilly şi Byblos. Standul Sun l-am văzut gol tot evenimentul. Cei de la Fedora erau în concurenţă cu cei de la Ubuntu. Cei de la Mozilla au adus şi ai distribuit multe sickere şi badge-uri cu Firefox/ThunderBird. ROSEdu şi-a prezentat proiectele în faţa studenţilor. Şi O’Relly şi Byblos au vândut nişte cărţi interesante. Şi anul acesta O’Relly a făcut o donaţie Universitătilor participante ce a constat în două cutii de cărţi ce vor ajunge la bibliotecă. Cei de la RadGs au prezentat o soluţie interesantă de aplicaţie de content, un fel de CMS dar cu protocol propriu pentru client şi server ce îţi permitea consturirea unei aplicaţii complexe într-un timp foarte scurt. Printre standuri se mai plimbau nişte oameni de la XWiki care ofereau servicii de presonalizare conţinut site-uri pentru companii. Ultimele două sunt exemple de firme relativ mici care fac o afacere din open source.

Un exemplu de colaborare după această conferinţa este faptul că următoarea versiune de Fedora va fi distribuit şi folosind tracker-ul facultăţii noastre, torrent.cs.pub.ro.

La prezentări, sălile erau destul de pline tot timpul, deci prezentările au fost interesante (nu am participat decât la câteva). Tematica de anul acesta a fost “Open Source în contextul crizei economice”. Prezentările au fost, după cum ziceam, un fel de lecţie de business (promovare, management, aspecte legale) pentru open source.

După conferinţă a avut loc o mini-petrecere în sala Rectoratului.

Poze se pot găsi la [1]

iCompetition Outcome
Tuesday, May 26th, 2009 | Author: AlexJ

logo_instr_comp

Cel mai important proiect CATC România [1] şi al echipei ccna.ro [2] din acest an a fost iCompetition [3]. A doua ediţie a Competiţiei Instructorilor din Europa Centrală şi de Est s-a desfăşurat la Bucureşti în Universitatea Politehnică Bucureşti. Este un proiect de importanţă internaţională deoarece este singura competiţie de acest gen din lume şi Cisco a avut mari interese pentru a ieşi cum trebuie. După runda online [4], cei 10 finalişti au venit la Bucureşti pentru Runda finală.

Runda da doua a constat în două zile intense de teste, laboratoare şi prezentări ţinute de Academia din UPB. A existat un quiz online pe Moodle, similar cu cel din Runda 1. Proba practică a constat într-un laborator numit CCNA Adventure Lab şi a testat cei 10 instructori la un nivel foarte ridicat. Au existat şi două prezentări, una despre “Next Generation Protocols” şi una despre “Writing Embedded Applications on Cisco Routers and Switches“. Prima prezentare a fost urmată şi de un laborator pe aceeaşi temă. Ultima probă pe care concurenţii au fost testaţi a fost o prezentare făcută din laboratorul respectiv.

Feedback-ul a fost foarte bun şi din partea Cisco, şi din partea reprezentanţilor Cisco Networking Academy regionalii şi, mai important, din partea concurenţilor, care au considerat că a fost un concurs foarte “challenging”. Câştigăgorul a fost Peter Paluch din Slovacia iar locul doi a fost luat de Romeo Lungu din România. Concurenţii au plecat cu premii, dar mai ales cu o experienţă indeită (din spusele lor).

Proiectul a fost o încercare foarte mare pentru echipa instructorilor CATC, efortul depus pentru iCompetition fiind, probabil, mai mare ca la orice alt proiect de până acum. Dar rezultatul a fost pe măsură şi, în urma succesului de anul acesta, Cisco deja îşi face planuri pentru ediţia de anul viitor.

[1] http://catc.ro

[2] http://ccna.ro

[3] http://icompetition.net

[4] http://alexj.info/?p=836

Stagii pe bune
Thursday, May 21st, 2009 | Author: AlexJ

Unul din proiectele extrem de importante (personal opinion) din Politehnică este Stagii pe bune. Este important pentru că promovează ceva ce până recent nu era prea popular: stagiile de vară. Până acum studenţii aveau tradiţia de a se angaja în timpul facultaţii. Nu sunt de acord cu profesorii care susţin că nu trebuie să te angajezi decât după ce termini pentru că înveţi destule lucruri în facultate, dar nici cu cei care consideră că nu se face nimic în facultate şi că singura modalitate de a învăţa ceva este prin angajare. Angajarea pe timpul facultaţii, fie ea full sau part time, duce la pierderea legăturii dintre student şi facultate. Un stagiu oferă echilibru.  În timpul anului poţi să te concentrezi pe facultate şi în timpul verii să acumulezi experienţă practică.

Site-ul Stagii pe bune [1] oferă un punct de legătură între studenţi şi firmele din domeniu. Firmele vin cu oferte de posturi iar studenţii vin cu CV-ul lor şi din cele multe variante, mulţi îşi găsesc stagiul potrivit. În cei 5 ani ai proiectului, Stagii pe bune a ajuns deja la un număr foarte mare de participanţi (peste 400).

Idea proiectului este susţinută şi de o echipă entuziastă (cu oameni cum ar fi Vlad Posea, Florin Pop sau Răzvan Deaconescu) ceea face, de fapt, Stagii pe bune un succes.

Înscrierile la stagii sunt încă deschise. Echipa de organizare a ţinut azi un eveniment de promovare Stagii pe Bune printr-o Pizza Day [2], dând ocazia studenţilor să afle mai mult despre proiect, echipă şi stagii.

Sustin Stagii pe Bune

[1] http://www.stagiipebune.ro

[2] http://www.stagiipebune.ro/blog/?p=104

La sfârşitul acestei săptămâni, în Universitatea Politehnică Bucureşti, vor avea loc două evenimente de importanţă internaţională. Ambele au loc vineri şi sâmbătă (22 – 23 mai 2009).

Primul este iCompetion [1], competiţia instructorilor Cisco, aflată la a doua ediţie, organizată anul acesta de CATC România. Finaliştii din runda I [2], vin la Bucureşti pentru două zile de prezentări, laboratoare şi teste, ţinute de echipa ccna.ro [3].

Al doilea eveniment este eLiberatica [4], conferinţa internaţională de Open Source. A treia ediţie a conferinţei este organizată în noua clădire din Politehnică şi sunt aşteptati reprezentaţi mari ai lumii software-ului liber, precum şi comunităţile locale open source (cum ar fi ROSEdu [5]).

Va fi un weekend plin, mai ales pentru că mă voi chinui să fiu prezent la ambele evenimente.

[1] http://icompetition.net

[2] http://alexj.info/?p=836

[3] http://ccna.ro

[4] http://eliberatica.ro

[5] http://www.rosedu.org

ROSEdu.setDone(CDL);
Saturday, May 16th, 2009 | Author: AlexJ

Cel mai important proiect ROSEdu [1] din acest semestru a fost CDL: Cursul de Dezvoltare Liberă [2] [3].

Cursul s-a întins peste 7 săptămâni  şi a oferit celor 16

participanţi prezentări despre cum se dezvoltă un software open (ce utilitare să folosească, cum să organizeze un proiect şi cum să colaboreze în cadrul unei comunităţi). Pe lângă prezentările celor din ROSEdu s-au numărat şi prezentări ale unor invitaţi ca Andrei Pitiş, Director Ixia România sau Adrian Ber de la HP România.

Spre finalul cursului, studenţii s-au împărţit în 4 echipe, fiecare echipă lucrând la un proiect propriu (un media streamer, un joc şi două mail notifier-e)  sub îndrumarea unui membru ROSEdu. În ultimul curs, cel din 16 mai, echipele şi-au prezentat proiectele şi au fost răsplătiţi pentru munca depusă cu o diplomă şi cu un mic suvenir care să le aducă aminte de curs.

copertacdl9

Poze de la curs pot fi găsite pe galeria media ROESedu [4]

[1] http://www.rosedu.org

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

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

[4] http://media.rosedu.cs.pub.ro

În urma prezentării despre Windows 7 şi Internet Explorer 8 [1] ţinută de cei de la Laboratorul Microsoft din UPB am venit acasă şi am instalat Windows 7 RC1 pe laptop (de pe dvd-ul câştigat pentru activitate la prezentare :P ). Dacă versiunea beta nu mi s-a instalat pe laptop atunci când a fost scoasă [2], versiunea RC1 a mers fără probleme. Nimic nou faţa de beta, dar ca sistem pentru utilizare zilnică este ok.

Lucrul pe care l-am găsit interesant la prezentare a fost SkyDrive [3]. Este un serviciu de stocare de fişiere online oferit de Microsoft pentru utilizatatorii Live.com. Promisiunea era că serviciul va fi integrat în Windows7, deşi nu am găsit nici un grad de integrare (până acum). SkyDrive îţi oferă 25GB de spaţiu, în principal pentru poze. Fişierele pot fî partajate cu reţeaua ta de prieteni (din Live.com), cu toată lumea sau cu nimeni. Problema cu site-ul este că limita de upload este de 5 fişiere per upload. Internet Explorer 8 oferă un plugin ce permite upload-ul a mai multor fişiere în acelaşi timp (dar la testarea mea, a picat de 3 ori consecutiv la upload de peste 5 fişiere).

Renunţând la IE8, am căutat un program 3rd party care să ofere interacţiunea cu SkyDrive. Răspunsul a fost Gladinet [4] care se instalează ca aplicaţie pe desktop şi permite maparea spaţiului din cloud pe un drive din Windows. Gladinet oferă posibilitatea de conectare şi la alţi provideri de cloud computing cum ar fi Amazon. Tot prin acest program poate fi utilizat şi spaţiul de pe GMail (a.k.a. GDrive) sau ADrive. ADrive [5] este similar cu SkyDrive, doar că oferă 50 de GB şi, având mai multă experienţă, oferă servicii premium contra cost.

Backup-ul este întotdeauna necesar. Harddisk-urile locale pot oricând ceda, deci e bine să aveţi un loc unde să păstraţi fişierele importante. Cloud Computing-ul devine o soluţie din ce în ce mai accesibilă utilizatorilor obişnuiţi.

Pe subiectul de backup pe sisteme Windows, Linux şi MacOS am găsit o carte interesantă despre Backup & Recovery de la O’Reilly [6].

[1] http://cosu.ro/blog/2009/04/29/microsoft-academic-tour-and-innovation-briefing/

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

[3] http://skydrive.live.com/

[4] http://www.gladinet.com/

[5] http://www.adrive.com/

[6] http://oreilly.com/catalog/9780596102463/

AcadNet 2009
Monday, May 04th, 2009 | Author: AlexJ

Între cele două runde a proiectului iCompetition [1], CATC România, prin echipa ccna.ro, a avut sarcina organizării fazei naţionale a competiţiei AcadNet [2]. Concursul, aflat la a doua ediţie, este destinat elevilor de liceu pasionaţi de calculatoare şi reţelistică. Dacă anul trecut am participat doar la creare de conţinut pentru teste, anul acesta am fost implicat drept cooronator al evenimentului din partea Universităţii Politehnice (unde s-a desfăşurat) şi din partea CATC.

Evenimentul a durat 3 zile (1-3 mai), dar concursul propriu-zis a fost doar sâmbătă, 2 mai. Concursul a conţinut două secţiuni, Calculatoare şi Reţelistică cu două categorii de vârstă (clasele 9-10 şi 11-12). Fiecare grupă a avut o probă teoretică şi una practică, probe ce s-au desfăşurat în sălile Academiei Cisco (ED011 – Reţele şi EG202 – Calculatoare). Probele practice de la Reţele au constat în activităţi Packet Tracer la nivel CCNA1-2 respectiv CCNA1-4 iar cele de la Calculatoare în asamblare hardware de sisteme şi instalări sau troubleshooting software. În perioada în care nu era concurs, instructorii Academiei Cisco au ţinut prezentări despre tehnologii de networking.

Cisco, sponsorul principal, a oferit premii consistente câştigătorilor (routere high-end Linksys şi cărti ale lui A.S. Tanenbaum), domnul Nicolai Sandu fiind reprezentantul Cisco Networking Academy la acest eveniment. Miza cea mai mare a fost la  Reţele 11-12, unde câştigătorii s-au calificat mai departe la Cisco Academy Games ce se va desăşura la Bratislava.

Ediţia din acest an s-a dovedit a fi o experienţă plăcută atât pentru elevii ce concurau cât şi pentru organizatori (cu care am mai colaborat la evenimente similare la InfoEducaţie [3]) şi sperăm că pe viitor colaborările vor continua.

Later Edit: Mapa de prezentare se găseşte pe Scribd [4].

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

[2] http://acadnet.ro

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

[4] http://www.scribd.com/doc/15109336/AcadNet-2009-Followup