Skip navigation.

Blog

Skip the blog side panel.

On 23rd of April 2015, Mihai Șucan passed away due to metastatic cancer caused by RDEB.

My name is Mihai and I work on the Firefox developer tools. When it comes to web development, I like both server-side and client-side work. I am mainly interested in web browsers, web standards and related technologies.

PaintWeb - contributors wanted

PaintWeb is an open-source web-based paint application usable as a component within any other web application. From a technical perspective, the application uses very well known technologies like JavaScript, HTML 5 Canvas and CSS.

Project contributors wanted!

PaintWeb logo

If you are a student with spare time maybe you want to work on a serious project, where you can learn new things, where you can prove your skills. Maybe you thought many times about "cool" projects you could do, but you do not have the resources to just do it, then you might be interested of PaintWeb: you have the chance to break out of routine, to quit working on boring projects which level your skills down - you can work on a project where you advance your skills. You will learn what it takes to start your own project.

If you are a teacher or a professor and you have students passionate about computer science who do not have any practical project, then recommend joining PaintWeb to your students. As a teacher, you can help your students apply their skills while working in an international team, over the Internet without any physical boundaries. Besides these benefits, your students are given the chance to work with some of the newest web technologies, and they will also use source code version control tools like Subversion. The skills your students will develop are essential in IT jobs all over the world.

Why PaintWeb? Because PaintWeb will be integrated into Moodle 2 - the most popular open source virtual learning environment. Hundreds of thousands of students and teachers use Moodle all over the world. There is also a PaintWeb plugin for integration into TinyMCE - one of the most popular open source HTML editor, used by thousands of web sites and applications. Thus, your work counts and makes a difference to many people. If you want to be part of those who make image editing and manipulation possible inside Moodle, inside TinyMCE and many other open source projects, then join this project!

Who can contribute to PaintWeb? You, anyone! Are you a programmer? Then you can work on the JavaScript code, you can implement new features, or you can fix existing bugs. You are not a programmer? Then you can work on the project documentation, tutorials or translations. You think you are not experienced enough? Nothing to worry about, nobody was born expert - you just have to want to learn and you will be guided through the process of learning new things. Does it seem boring to work on a certain aspect of the project? No problem, you pick what and when you work!

What can you do for PaintWeb? You can write documentation or translations into other languages, and you can implement new functionality into PaintWeb as a web developer. You will learn to work in a cross-platform and cross-browser environment, you will become very well acquainted to technologies such as the DOM, HTML 5, Canvas and CSS among others. If you want, you can take a look at the TODO list from the project wiki, and also check the Issues tracker to see what you could do for the project and what features are already planned.

If you want to join this project then get started by sending an email to the mailing list at paintweb@googlegroups.com, or just contact the project author.  

Acest articol este scris în limba engleză. O traducere în limba română este disponibilă.

Announcing PaintWeb

Today I finally managed to upload and release my latest project: PaintWeb. Marius helped me with designing the GUI and with other suggestions.

PaintWeb is a client-side Web application which allows users to draw online. It makes use of some newer Web technologies, mainly the HTML 5 Canvas 2D context API. Currently, it's in its infancy, but with lots of work planned ahead.

The major decision for me was to release this project as open-source, under GPL v3. The project is now hosted on the Google Code servers.

Please contribute with feedback, bug reports and even code - volunteers are welcome!

Lots of bugs in the Web application are already known, nonetheless that shouldn't stop you from reporting them.

The Web application works in the latest versions of Opera, Firefox, Safari and Konqueror. Obviously, it also works with any Gecko and WebKit based Web browsers.

Nightly builds of Firefox 3.1 and SVN trunk builds of WebKit have the best support for this Web application.

I'd like to mention that the greatest surprise to me was that the new Konqueror 4 has its own Canvas implemention. They've done a really great job!

I am looking forward to publish more information about the project and to continue work on it.

Update 3 days later: Back in september we presented PaintWeb at a local university-organised seminar. Today we have updated the presentation and we translated it to English as well. Go ahead and download the English or Romanian presentation.

New project: ReTidy page cleaner

I did publish my latest PHP script: the ReTidy page cleaner. The script allows you to clean HTML documents exported from word processing applications. For more details look at the ReTidy project page.

Linux şi open-source

This is the Linux and open-source article I previously wrote in english. I translated it to Romanian, on request.

Când eşti un utilizator al Windowsului, fiecare din prietenii tăi care folosesc Linux îţi sugerează să treci la Linux: "nu mai fi sclavul Microsoftului" sau alte formule.

Alegerea unei distribuţii de Linux este un pas greu de sine stătător. Acest pas este greu chiar şi pentru "experţii" Windows.

După ce în sfârşit ai ales şi instalat distribuţia, urmează o etapă pe care eu o consider amuzantă: prietenii tăi care folosesc o altă distribuţie încep să glumească pe seama alegerii făcute. Asta se întâmplă indiferent dacă ai avut sau nu cunoştinţele necesare să alegi exact distribuţia de care ai nevoie (deobicei nu ai). Dacă întâmpini probleme şi le ceri ajutor răspunsurile pot fi de genul "ha, asta nu păţeşti cu distribuţia X".

După ce eu mi-am instalat Ubuntu, un utilizator de Gentoo mi-a spus în glumă "ah, Ubuntu e aproape Linux, dar bine că ai trecut pe Linux". Asta e încurajare! Alt utilizator de Fedora Core 4 mi-a spus foarte simplu "Ubuntu merge prea bine, e prea grafic". Interesant, deoarece lui nu-i place că unele distribuţii Linux ajung la un nivel la care utilizatorul poate să treacă direct la Linux, fără să întâmpine problemele foarte cunoscute: linia de comandă şi editarea manuală a fişierelor de configurare. El a spus acest lucru deoarece a văzut că am avut Samba funcţionând perfect şi v4l (Video for Linux) era deja funcţional (el a avut aceste două probleme pe FC 4). Cauza acestor probleme poate fi dată de faptul că FC este o distribuţie ce introduce pachete de ultimă oră, fără foarte multă testare.

Trebuie specificat că nu doresc să las impresia că distribuţia Ubuntu este cea mai bună. Nici pe departe. Am întâmpinat şi eu tot felul de "bucurii", dar multe din ele sunt foarte uşor de rezolvat.

Contrar părerilor unora, eu nu am trecut la Linux doar pentru a fi în pas cu moda (aş fi putut face acest lucru ani în urmă). Trecerea mea la Linux a fost datorată necesităţilor în domeniul programării web: am nevoie să experimentez cu tehnologii mai noi care în mod "natural" sunt făcute pentru Linux.

Nereuşita Linuxului de a creşte în popularitate pe desktopuri este cauzată de lipsa acordului între membrii comunităţilor de programatori Linux şi utilizatorii Linux, diversitatea fiind foarte mare. Comunitatea Linux este probabil prea diversă prin definiţia open-source-ului. Foarte bine (din punctul meu de vedere) este că acum se mobilizează tot mai multe grupuri de utilizatori şi dezvoltatori pentru a face Linuxul pentru desktopuri mai bun şi mai uşor pentru începători.

După ce te obişnuieşti cu Linux, poţi ajunge să-ţi chiar place puterea oferită de scripturile Perl/Python sau orice altceva din consolă. Acestea-ţi oferă într-adevăr libertatea de care ai nevoie după ce foloseşti mult timp abordarea WIMP pentru a interacţiona cu calculatorul. Window, Icon, Menu, Pointing device (fereastră, iconiţă, meniu, dispozitiv de indicare) sunt metaforele cele mai bine cunoscute în interfeţele actuale ale programelor de calculator (pe Windows, Mac OS X, Gnome şi KDE). Pe Windows aceste capabilităţi lipsesc. Distribuţiile de Linux destinate utilizatorilori începători nu dezactivează accesul la consolă, ci doar adaugă capabilităţile necesare în modul grafic. Asta este foarte bine, deoarece după un timp ţi se permite să experimentezi, să înveţi şi altceva.

Nu ar trebui să existe "războiul distribuţiilor" Linux. Fiecare distribuţie este bună în felul ei. Trebuie să o foloseşti cea care-ţi place, cea care-i pe gustul tău. Nu vei ştii care-i până nu le încerci pe fiecare. Când ai găsit una care-ţi place, nu o mai schimba.

În legătură cu diferenţele între distribuţii: Claudio Santambrogio a punctat foarte bine spunând că Ubuntu este doar o simplă distribuţie, nefiind specială, şi mi-a dat o legătură spre un articol scris de el despre laptopul de $100, din care citez:

Pentru un începător Linux este confuz să înveţe că există mai multe aplicaţii care fac acelaşi lucru. Răspunsul la cea mai evidentă întrebare («care program să-l folosesc?») este de multe ori, îndrâznesc să spun, o problemă cvasi-religioasă decât ceva raţional ce poate fi înţeles de începători.

Exact aceeaşi problemă este reflectată şi în alegerea unei distribuţii Linux.

Am instalat KDE pe Ubuntu doar să-l încerc. Acum am mii de pachete care nu le folosesc niciodată şi nici nu ştiu cu ce se ocupă toate. Am vreo 10 vizualizatoare de imagini, câteva navigatoare web, managere de fişiere, managere de pachete, playere video/audio, joculeţe, şi multe altele.

În general, distribuţiile foarte cunoscute (Fedora Core, Ubuntu, Debian, SUSE, etc) sunt şi foarte bune, chiar mai bune decât Windows. Asta se datorează stabilităţi, a vitezei şi a programelor disponibile. Cea mai serioasă problemă este că programe importante pentru Windows (gen Photoshop sau Flash) nu există pentru Linux şi nici multe drivere pentru imprimante, scannere şi alte accesorii la calculator. Parcă nu ar fi de ajuns, librăriile necesare pentru vizionarea filmelor şi ascultarea muzicii nu sunt permise în distribuţii Linux open-source (este ilegală integrarea acestora). Pentru un simplu utilizator asta este ceva foarte neplăcut, făcându-l să refuze Linuxul şi să nu mai vadă părţile bune.

Din unele puncte de vedere KDE şi Gnome sunt mai bune decât Windows. Ceea ce afectează KDE-ul este incorecta organizare a meniurilor, a interfeţei din fiecare pachet ce îl are. Gnome urmează standarde mai stricte şi din acest motiv îl folosesc.

Proiectele open-source sunt exemple extraodinare de lucru voluntar şi de organizare, fiind produse realizate de programatori începători pasionaţi şi de experţi angajaţi la diferite firme.

Trei dintre cele mai populare proiecte open-source (OpenOffice, Firefox şi Wikipedia), au tot felul de "probleme". Nu trece o săptămână să nu apară un articol negativ despre Wikipedia în care se arată proasta calitate a unor articole. Cu toate că exemplele oferite în aceste articole "bine intenţionate" sunt reale, nu se poate spune că Wikipedia este un proiect nereuşit. Wikipedia este, în general, o sursă bună de informare. Însă nu trebuie să crezi tot ce citeşti pe orice site. Avantajul pe Wikipedia este că ştii înainte că informaţiile ce le citeşti sunt probabil greşite. Dacă e ceva important întotdeauna trebuie verificat. La fel trebuie făcut şi cu orice alt site. Oricine doreşte să se documenteze la modul serios despre ceva nu trebuie să-şi bazeze cunoaşterea pe un singur site.

OpenOffice este un pachet foarte mare care probabil are scopul să ajungă la fel de greoi ca Microsoft Office. La ora actuală este bun şi-l folosesc, dar ar trebui să fie mai rapid, mai bun şi mai mic. Personal nu sunt prea mulţumit de el, deşi îl recomand în locul lui Microsoft Office.

Firefox este un produs realizat într-un mod inteligent. Corporaţia Mozilla este mult mai bine organizată şi se menţine pe o linie dreaptă. Nu e bine că Gecko (motorul din Firefox) introduce tehnologii proprietare, care nu sunt bine departajate de celelalte. Mă refer la adăugarea de proprietăţi noi în DOM care sunt specifice Gecko. Aceeaşi metodă este folosită de Microsoft, în Internet Explorer. Probabil cei de la Mozilla vor să obţină un Firefox similar cu Internet Explorer-ul actual (nu numai să domine piaţa navigatoarelor). Să sperăm că asta nu se va întâmpla şi că Gecko nu va rămâne în urmă la suportul standardelor web.

Pachetele Linux nu ar trebui să încerce să copieze programe Windows. Acum este nevoie de abordări diferite, de îmbunătăţiri pe desktop care să conecteze calculatorul la web (noua tendinţă). Mulţi ar trece la Linux dacă ar oferi ceva cu mult mai bun, uşor de utilizat, uşor de învăţat. La ora actuală pe Linux găseşti aproximativ aceleaşi lucruri, dar unele nu sunt la fel de bune. De ce să treci? Doar pentru a fi altfel? Există acele lucruri care chiar lipsesc pe Windows, gen opţiuni pentru customizare, stabilitate, viteză, control mai bun asupra sistemului, şi bineînţeles manager de pachete/programe, dar nimic nu sare în ochi.

Nu e necesară revoluţia, deoarece asta sperie un utilizator fiind vorba de schimbări prea mari. E vorba doar de evoluţie.

Foarte interesant e dacă va fi cândva o distribuţie Linux care încearcă să fie "mama" tuturor. Una care poate fi recomandată începătorilor de către toţi utilizatorii actuali Linux (indiferent de experienţă). O singură distribuţie care să aibă baza de date de pachete întotdeauna cu ultima versiune, unde găseşti aproape orice doreşti, cu drivere, cu instalare semi-automată de librării pentru ascultarea muzicii şi vizionarea filmelor, etc. Această distribuţie trebuie să fie stabilă dar nici veche precum Debian Stable.

O asemenea distribuţie, cu interoperabilitate între KDE şi Gnome, cu WINE preconfigurat foarte bine, ar aduce mulţi utilizatori pe Linux. WINE este un pachet ce poate rula aplicaţii Windows pe Linux la o viteză aproape nativă, dacă-l ştii configura. Acesta poate fi bine integrat în sistem. Nu trebuie uitat că este necesar să poţi să rulezi programele Windows, pentru că multe nu sunt disponibile pe Linux, sau la multe nu se doreşte renunţarea (de exemplu, a plătit mult pentru Adobe Photoshop).

Discuţiile generale despre Linux ar trebui să fie despre Distribuţia Distribuţiilor.

Linux and open-source

This post is about what I think in general about Linux (not strictly about Ubuntu) and open-source.

When you are a Windows user you are bothered by friends who use Linux, each of them suggesting you to switch to Linux: "stop being a Microsoft slave" or whatever.

Picking a distro is a "daunting" task for a Linux newbie, even if he's an expert or "expert" in the Windows world.

When you finally decide upon which distro to install, and you install it, the funny part comes: your friends who are using a different distro mock you for picking another one, no matter how experienced you are. If you need help when you run into a problem, answers can be along the line "ha, that doesn't happen in my distribution!".

After I got Ubuntu, one Gentoo guy said to me "ah, Ubuntu, uhm that's almost Linux, nonetheless good you made the switch". That's encouraging! Some guy from Fedora Core 4 simply said: "Ubuntu works too good, it's too graphical". Interesting, since he seems to dislike the fact some Linux distros are reaching a level which allows the user to simply just use Linux, without the problems most Windows fear of: going to CLI, and manually editing configuration files. He said that because he was a bit amazed by the fact I got Samba perfectly working very easily and v4l was already working (he had these two specific problems with FC 4). That's probably because FC is a more of a "cutting-edge" distro than a working/stable distro. :)

Worth noting Ubuntu isn't a perfect distro either. I did have some problems with it too. However, many of the solutions were very easy.

Contrary to what some might think... I haven't switched to Linux just to be hip & cool (I could've done so long time ago). I switched because there's a real need ... me being a web developer, also requires experimenting and developing with a lot of technologies - most of all being available only for Linux (or working better and faster on Linux).

The failure of Linux still being a niche desktop OS is caused by the simple fact that the entire community doesn't agree on the purposes, being too diverse. Gladly (from my perspective), groups of users and developers who want an easy-to-use Linux desktop are mobilizing to build very good distros.

Once you get used to Linux, you really like the power of scripts, the power of CLI and whatever. These really give you the kind of freedom you need after spending all day using the WIMP approach for computer interaction. The CLI stuff would be quite a big improvement to Windows, if they'll ever decide to actually make it useful. The graphical Linux distros don't "disable" access to the CLI, they just make it unnecessary for general configuration purposes. That's very good.

There shouldn't be this "distro war". Each distro is good in it's own way. Use the one that suits your taste. If you haven't yet found one, keep on trying. When you find a distro you like, don't change it just for the sake of change.

Regarding the differences between distros: Claudio Santambrogio made a very good point saying Ubuntu is yet another distro and offered me a link to one of his blog posts about the $100 laptop.

It is one of the more confusing points for a Linux beginner to have to learn that there are several applications for one and the same job, and answering the most obvious question ("so - which one should I use?") is often more an issue of, shall I dare saying, quasi-religious belief than anything the new user could grasp rationally.

It's exactly the same problem as picking a distro.

I found myself installing KDE on my Ubuntu just to give it a try. Now I have a gazillion of packages that I never use, nor I know what they do :). I have about 10 image viewers, several web browsers, file managers, package managers, video/audio players, TV applications and what-not.

In general the most popular Linux distributions (Ubuntu, Fedora Core, SUSE, Debian, etc.) are very good, even better than Windows. This is because they are stable, fast, and provide good packages. A big "downer" for a new Linux user are missing hardware support (drivers), missing capabilities for audio/video playback (patents...) and missing Windows-only software (like Photoshop, Flash, etc.). These are problems which are not caused directly by any distro, yet they make new comers forget about the good things in the Linux world.

In some way KDE and Gnome are better desktoper environments than Windows is. The organization of the menus, of the GUI in each package from KDE is problematic. The reason I am using Gnome is it's better organized, following stricter guidelines.

Open source projects are both an amazing example of volunteer work and organization, products built by begginers with passion and experts working for big companies, and an example of diversity.

Three of the best open-source projects (OpenOffice, Firefox and Wikipedia) have varying levels of "problems". Wikipedia is having quite a big share of articles dedicated to show readers the bad quality of some articles from Wikipedia (bad/vandalised articles full of lies). While the examples provided by these well-intended writers from very well-intended news agencies are right, it's still not entirely true. Wikipedia is quite a very good source information. It's affected by the "too open-source" factor. I am not saying Wikipedia is perfect and everything you read there shall be trusted. Yet, the same fact applies to any other site. The good thing on Wikipedia is you know before there might be trouble ahead. Anybody who's serious about documenting him/herself about something won't base all his/her opinions and knowledge on just one site or two. He/she must do some research and make-up his/her own impressions and opinions on the matter.

OpenOffice is a huge package which probably has the purpose of becoming as bloated as Microsoft Office 11. It's currently in a good state, I use it myself, but it should be better.

Firefox is intelligently made. Mozilla Corporation heads seem to be better organized and focused on what they want. It's not good they add proprietary extensions (no, not those extensions). I mean DOM extensions that have no vendor specific prefix like non-standard CSS properties have. There are some DOM stuff in Gecko which are available only on Gecko, yet there's no indication they are proprietary. That's the same problem IE has. Maybe Mozilla Corp. wants Firefox to be the next IE (in every aspect, not just market share domination). Or shall I say the next Netscape 4? From one perspective, this might be very unlikely, because (I hope) Gecko won't fall behind on implementing cutting-edge web standards.

Linux packages shouldn't try to just copy Windows counter-parts. This goes specially to KDE, Gnome and OpenOffice. Microsoft Office 12 might be quite good because it changed the user interface quite a lot (or so they say, we'll have to see when it's released). There's the need of new and better approaches. If desktop environments on Linux would really bring users something amazingly good with a great usability factor, ease-of-use, ease-of-learning, I am sure many users would try Linux and make the switch. Why? Because currently they see on Linux only the same old stuff they got used to on Windows, but worse in some ways (not professional, a bit bloated, lost compatibility with Windows executables, etc). Why really switch to Linux? Just to be hip? What do Linux distros provide users truely amazing the instant they boot the CD? Yes, I know there are many cool stuff (package management, stability, speed, better control over the system, etc), but nothing truely amazing.

I am not talking about something revolutionary, because that's not what users want, even if it might be better. They won't want to learn anything too different. I am only talking about evolution.

I am interested if there will ever be a distro that actually tries to be the "mother" of all of them. One that any Linux user can suggest to any Windows user (be it an expert or a newbie). A single distro supported by all distros, where the repository is always up-to-date, where you can find almost all packages you'll ever need. A distro that offers the almost perfect balance between cutting-edge and stability (this is what Ubuntu comes close to, IMHO).

One such distro, with a very good interoperability between KDE applications and Gnome applications (yes, they should unite their forces), with a very well configured WINE could be a big booster to Linux. WINE is quite good if you have the knowledge of properly configuring it. It can also be seamlessly integrated into the desktop environment. Any Windows user wants to be able to run its own Windows applications for which s/he doesn't have counter-parts (like Adobe Photoshop, Macromedia Flash, etc). Sometimes users want to run their Windows applications (like Microsoft Office) just because they like them more or they got used to them, or simply put they paid a truck-load of money for them and ... switching to Linux would make those payments worthless :). WINE is the package for this (quite a good one too).

General talk about Linux should actually be about the distro.

Article updated on 2006-06-22, making it similar to the newly published Romanian translation.