Archive for the ‘softwareliber’ Category

ROSEdu Summer of Code 2012

Programul de lucru pe vară la proiecte Open Source, de acasă, inițiat acum 5 ani de către ROSEdu, continuă cu forțe proaspete!

Anul acesta, miza crește pentru studenți, prin bursa de 1000 € și desigur prin provocările tehnice ridicate de proiectele propuse.

Ce trebuie să faci dacă vrei să fii unul dintre participanții la acest program:

  • să manifești interes pentru unul dintre proiectele software propuse
  • să aplici: nu-i greu, te pregătești, scrii aplicația, ceri feedback și convingi
Ce vei câștiga de pe urma RSoC:
  • experiență de lucru într-un proiect software
  • experiență în lucrul cu o comunitate
  • libertatea de a sta acasă/la munte/la mare plătit
Dacă nu v-am convins, mâine la 14:00 este o prezentare în EC004 despre RSoC 2012!




PackageKit backend for Software Center: pencils down report

Software Center in openSUSE

Software Center with PackageKit backend in openSUSE Factory

Today the official coding period of GSoC 2011 ends. It’s been a four months journey, with challenges, failures and achievements, but nevertheless fun :-) .

You may be wondering what is the status of my project; here it goes: current version of Software Center can be tested in openSUSE Factory; it can populate its database with data from an AppStream XML; it shows application information (fetched from the package manager); it installs and removes software, in the same friendly manner the ubuntu does (showing progress, handling dependencies).

Moreover, my patches to gobject-introspection, PackageKit and obviously software-center, are all upstream and released; kudos to the project managers and the community for helping me get them there.

There are still parts that need work; some of then have been intentionally left with lower priority from my initial plan, in order to get a functional version up by the end of the program; others weren’t covered by the planed feature set. These are: performance (current version is rather slow on first load, and also on showing list, due to many resolve calls), transaction history (it can be implemented using the almighty PackageKit), reviews (currently these are fetched from ubuntu servers), screenshots (same as reviews). Software Center itself passes a period of active development and changes, once its fancy Gtk+3 interface stabilizes, more work can be done into polishing the <other-distro> experience.

Although I’m generally happy with the result of the project, since this is a report, I want to outline what differed from my expectations and slowed me down from bringing a full feature set cross-distro Software Center:

  • fast development – when I started hacking on software-center’s GUI, it was pygtk Gtk+2 based; a Gtk+3 branch existed, but was far from being usable; under the last few weeks, it was merged, and actively developed into a newly designed interface (which will become software-center 5.0);
  • Gio, GLib, GMenu, GObject, usually libs starting with a capital G, which introspection bindings are about to stabilize; having to get them from trunk, and dealing with API breakage;
  • waiting for the pygobject release; when it came, it broke my pygtk mixed work (since static vs GI are no longer permitted in the same program – which is the right choice. btw), and left me with no working GUI; luckily, I took the best advices on IRC, and also software-center devs fixed things along, so that the new UI isn’t affected by the underlying changes.

Something worth mentioning in this finale post is that OBS totally rocks.

Overall, I hope this effort won’t stop here, and with a bit of luck, it will be shipped by your favorite distribution :D

PS: for more implementation/testing/plan details, I have created this page on openSUSE wiki, please check it out.




PackageKit backend for Software Center: week 1 report

This week was a good week for coding, and the best part about it: most of my changes are now in s-c’s upstream trunk.

I started out trying to populate s-c database with only a few applications; this meant updating the update-software-center tool, and also changing some bits on the database update module. I was glad to discover that some functionality I have planned to develop in week 6 (parsing AppStream app-data xmls) was already there, thus making my job easier :-)

After that, work continued by abstracting backend parts, such as InstallBackend and TransactionsWatcher, and also isolating as much as posible apt and apt_pkg usage. I have then expanded the PackageInfo abstraction to implement a dictionary like interface, containing _Package objects (before that, apt.Package were returned). It took some small steps, and sometimes mistakes from my side, but in the end, I guess I have got it done right. Work still needs to be done regarding usage of candidate and installed properties (which currently are apt.Version objects), and also on AptCache try_install_and_*depends methods (this should be either abstracted, either made apt-backend specific.

At the end of the week, preparing the next point of focus, I have managed to get a developing environment with PackageKit with Python gobject introspection data. Here comes the bad news: the py GI for packagekit is not ready for prime time. Reasons for that: GI is relatively new, there are no other users of PK from Python (only C and Vala). With help from ximion, hughsie, dantti and tomeu (and many other kind souls on #PackageKit, #introspection or #python), we isolated the problem inside pygobject, apparently an incomplete implementation of GPtrArray. I hope to get it fixed next week :-) , so that I can continue work with PK.

Although I am a bit worried seeing segfaults in Python, it’s a sunny day out here (so I can finish my report on a non-technical note) so I’m sure that with help from these awesome people on IRC,  problem will be solved, and my project will continue according to the plan.

Next week: gi ninja and more PK!




PackageKit backend for Software Center: week 0 report

Not much to say about this first week of gsoc (Exams period hasn’t finished yet), so here it comes:

- had an IRC meeting with mentor vuntz of openSUSE and mvo of Ubuntu (the initial software-center author), got some things cleared up and planned the development

- according to my timeline, I now have the trunk version of software-center running in Debian wheezy; there is still work to do, but is an encouraging start;

next:

- work on a dummy install backend and a dummy package info provider; probably create an elegant way of switching backends;

other stuff:

- got interviewed for the openSUSE news :-)

This is it. See you next week.




GSoC 2011: PackageKit and AppStream integration for Software Center

Hi everyone,

Just a quick announce that I will be working this summer as a GSoC student, for the openSUSE Project. My mentor will be Vincent Untz, the so called “father of GNOME 3″ :-)

What I’m aiming to do is modify Ubuntu Software Center to use PackageKit (an universal package management toolkit) as a installation backend, and also integrate it with the AppStream initiative (a cross-distro project for making software installation easier).

My full proposal can be read here (fixed). Feedback and suggestions are, as always, appreciated.

I would like to thank ROSEdu (which I am a member of) for the support ;-)




Ce avem la cină?

Acum că a trecut și penultima sesiune din ultimul an de facultate, iată sunt cele două proiecte la care am lucrat în timpul liber; care timp deși nu a fost mult, a existat (C3 nu e așa de crimă pe cât mă așteptam, myth busted).

Primul este unul personal, are legătură și cu lucrarea de licență, deocamdată nu public cod, spun doar că se prevede o aplicație măricică Python construită peste o bază de date SQLite, folosind sqlobject, GTK+, goocanvas, reportlab și mulți alți clopoței și fluierași. Am ajuns să fac – printre altele – widgets (prietenii știu de ce spun asta), și sper ca pe măsură ce o dezvolt să mă familiarizez cu aceste tehnologii. E o provocare să o construiesc și să o dezvolt și totodată o distracție.

Cel de al doilea proiect căruia i-am acordat mai mult timp în ultima perioadă, este portarea World of USO din PHP în Python – Django. Am luat alături de Vlad și Sergiu această decizie, deoarece nu eram mulțumiți de starea codului actual al WoUSO (prea multe contribuții de la persoane diferite, stiluri și abordări diferite); ca să rezum, era greu de dus mai departe, îmbunătățit. De ce Django? Pentru că Django e fun, prea multă lume l-a vorbit de bine ca să nu-l încercăm. L-am încercat și a dat roade: în două săptămâni am reușit să implementez o versiune de bază care acoperă aproape trei sferturi din funcționalitatea jocului. Tocmai am primit mail de la Vlad(um), este dispus să aloce timp, cred că vom face treabă bună în continuare :D .

WoUSO este unul dintre proiectele propuse pentru dezvoltare echipelor la Cursul de Dezvoltare Liberă. Mai multe detalii vor fi publicate pe site-ul cursului. Pot doar să lansez doar un zvon că s-ar putea să lucrăm la un modul WoUSO pe acel site care începe cu feis și se termină cu buc.

Dacă citești aici și te interesează unul dintre django, python sau wouso, nu fi timid, dă un mail. Ne-ar plăcea să te alături echipei :) .

Cam atât. Programming must be fun. Sunt limbaje precum chitonul care fac programarea frumoasă, părerea mea.

Links:

http://dev.rosedu.org/wouso/wiki/DjangoPort

http://wouso-django.rosedu.org/ (cont alex:alex)




Oana, e la tine aifonul meu?

Asta mi-a strigat unul în ureche… Oana era ocupată: “…avem Mac, KFC, pizza nuștiucum, patinoar…” spunea ea la telefon unei alte prietene (să-mi fie permis: arfe), ca recenzie a noului mall.

E vina mea, m-am gândit… m-am dus ca vițelul să văd cum arată AFI Palace, chiar în ziua deschiderii. Ce-i drept, e mare și se populează rapid… cu magazine și băieți care-și pierd aifonul pe la fete prin buzunare.

Vroiam să scriu un articol despre intrarea în ritm… este un sport nou pe care îl practic de vreo 4 săptămâni încoace. Pot zice că merge bine, mai bine decât chitara. Anul 4 la C3 înseamnă compilatoare și spârc. Am mai ales în plus apepe de la NT, și SI cu Tănase. Suficient de interesante și timeconsuming. Mai e BD și MP…

Duse sunt seriile, CA, CB și CC… mândria de a fi la CC, parcă suntem alți oameni acum, grupați pe specializări (not). Un lucru de care îmi pare rău (Jancă ar fi trebuit să spună mai multe despre asta până acum :-P ), este că am pierdut Cercul temei. Cercul temei, acea manifestare socială (printre puținele la CS), în care studenții se adună roată și vorbesc despre teme. Care cum a terminat-o mai repede, ce bube s-au strecurat în enunț, despre cum sunt stupizi cei care au publicat-o ș.a.m.d..

Revenind la ideea cu ritmul (am început articolul acum 2 ore, am uitat demult de el), pe  lângă toată școala asta multă, îmi place că săptămânile încep cu cele două seriale de care m-am deprins: Curb your Enthusiasm și The Big Bang Theory. Ah, a mai fost și studențiada… varii motive au lăsat-o să treacă pe lângă mine.

Ah, ca să nu uit, azi am fost la TechTalks pe care îl organizăm (ROSEdu) și mi-a plăcut. Git is the new emacs. GJ Mircea.




Editor imagine xsplash pentru ubuntu 9.10

Pentru că abia a trecut ACM-ul, mâine este UIFv3, nu am mai scris de ceva timp cod, iar AJ mă bătea la cap cu întreba despre un nou xsplash de modificat (după cel de la USO), am scris un mic GUI peste imagemagick care micșorează numărul de pași pentru personalizarea ecranului de login.

Arată așa (ignorând Terminatorul din spate):

xste-1

și face cam ce zice.

xste-2Exemplu pentru laboratorul de USO.

Sursa: xsplash-theme-editor-0.1.tar.gz .

LE: v0.2 cu surse și pachet .deb :D

Enjoy! Btw, the new ubuntu is awesome.