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.

Fix/configure Linux font rendering

One of the most common issues on Linux is font rendering. Usually the Arial font renders really badly, especially if you use Gnome and you try KDE/Qt applications (for example Opera).

Gnome and KDE use fontconfig to render fonts, but both use different settings. As such, if you pick your Gnome-based distro, you usually have problems with KDE/Qt, and vice-versa.

The Appearance properties (gnome-appearance-properties) allows you to nicely change the font rendering options. You can also manually adjust these settings using the gconf-edit tool, just go to the /desktop/gnome/font_rendering preference keys.

KDE has it's own appearance properties, but usually Gnome users don't know which one it is, and they don't want to install the entire KDE package.

To adjust the font rendering options for KDE/Qt applications, here's what you need to know. You can create a per-user ~/.fonts.conf file, or you can set system-wide settings by editing /etc/fonts/fonts.conf (and/or /etc/fonts/conf.d).

Download my .fonts.conf file. Just save this in your home folder and restart your KDE/Qt applications. I use the same settings in Gnome.

I do not recommend you to edit the /etc/fonts/fonts.conf file. However, you can still adjust global settings by changing the symbolic links in /etc/fonts/conf.d. I did that myself.

Please read man fonts.conf for more details.

Note: you might not like my font rendering configuration, because it also depends on your monitor and screen resolution. Please adjust the settings as needed.

Linux, Konqueror 4 and more

Sunday I upgraded my Ubuntu installation to the new version: Ubuntu 8.10. Almost three years ago I switched to using Linux exclusively. I haven't reinstalled Ubuntu since then. I always upgrade my system every 6 months, and then I spend a few days fixing post-upgrade issues. It's a pleasure. ;)

I am working on a new painting Web application. The greatest surprise to me was that the new Konqueror 4 implements <canvas>, and it does this theoretically better than Opera. I will make my Web application public and you will see this. Amazing and very quick work done by the Konqueror developers. Congratulations, guys!

Note: I initially thought that the Konqueror implementation of Canvas is just a copy of the code from Webkit, but it's not. They wrote their own code, which is great.

On a related note, I have published a new page with some of my Linux configuration files.

Computers are too abstract

Recently I had the chance to observe how someone learns to use a computer, without having any prior experience. She doesn't even have experience with using mobile phones or any technology - except TV remote controls.

Since she has no experience with computers I gave her a Linux-based system to learn with: Ubuntu 7.10. This is a vanilla installation, in Romanian language (she knows only Romanian). The Web browser of choice is Opera with an unofficial Romanian translation, obviously.

For experienced computer users the whole WIMP metaphor of today's GUIs might seem very easy, but it's not for newcomers. For example, the windows concept is too abstract: she doesn't know when a window has focus. That's even after explaining to her when a window is focused and when not, several times. She once believed the window is the title bar itself.

Focusing windows, text fields and various interface elements is not intuitive at all. It's hard to know where the text you type will show - in which field, in which window. Generally, she moved the pointer on top of the field she wanted to write to - without caring if the window was active, or if the field was active. Moving the pointer on top the field was her intuitive solution to the problem: "I want to write here". She quickly forgot that a field is focused if she sees a blinking cursor in the given field. As such, when she remembers about the field focus, she always clicks the field, just to be sure it's focused.

Her attention span is very problematic. If a dialog or a notification pops-up, she won't notice it at all. If you tell her something new showed-up on screen, she believes it was always there, or ... she asks "when did it show up?". Computers, and technology in general, make us multi-task a lot, they force us to be always alert to any change on screen. When you use computers, you can't focus on one issue at a time as good as people normally do. Not to mention the fact she didn't have automatic system updates poping up, antivirus updates, dreadful Java updates and tons of annoying Windows-only crap. That would make computers a lot harder to use.

I did not yet explain her the differences between lots of interface widgets and concepts. It's too hard to keep up with the tons of concepts and interface widgets, how each work. She eventually needs to learn the difference between combo-boxes, radio buttons, menus, icons, buttons, task bar buttons (and the association with the "windows" concept), notification tray and the associated icons of running applications, tab bars, scroll bars, and multiple desktops (workspaces).

A special note about workspaces: among the first things she did, was to switch to a different workspace without knowing what happened. She was very confused: "where did my windows go? I closed them all?". I immediately disabled workspaces.

The whole mouse concept is also hard. She doesn't know when to click, double-click, triple-click, middle click, right click and drag. It's confusing to be required to hold the button down for longer or shorter periods of time. She believes all three buttons do the same thing. I believe mice have too many buttons. This is one reason I agree with Apple's one-button mouse. There's something she learned really quick: the mouse wheel is easy and intuitive - just spin the wheel to scroll the Web page.

The keyboard is generally intuitive, but she always keeps the buttons pressed for a longer time than necessary (thus she gets duplicated keys). I could configure keyboard delays to be longer, so she would not be affected by the issue, but still, the defaults should probably more suited to beginners. Additionally, the concept of modifier keys, like Control, Alternate, Logo, Caps Lock, Shift, Scroll Lock and Number Lock are, again, counter-intuitive. I haven't yet explained her keyboard shortcuts.

About scroll bars I can say people see a photo, and they want to move it to the left. To do so, they press the left key to scroll/move the image to the left. Actually, with scroll bars you have to press the right key to the see right side of the image. While I understand both expectations, I do believe computer user interfaces should follow the "default thinking". Why not reverse scroll bars? They would work as people expect naturally. I saw this is expected by other people as well, people who don't use computers, not only her.

Menus are annoying because they show up out of "nowhere" and they disappear too soon. She's always confused when using menus. People do not expect, intuitively, that things change on screen based on the mouse position. Another issue with menus, but more with linguistics is best explained by an example: in Opera, I told her "go to Bookmarks menu" which she did, "then Bookmark page". Her reply was: "how to bookmark the page?". This linguistic issue is amusing: she just had to click the menu item "bookmark page" - easy, but it wasn't obvious. This problem happens quite often.

Context-based hovers pose an important problem. It's not intuitive to move your mouse on top of something, for context information. This even disturbs her usual computer usage. She doesn't care where she leaves the mouse. For example, in Opera she sometimes leaves the mouse on top of a tab title. After a second or two, the tab thumbnail shows up, which begs the question "what happened?". She is no longer able to read the Web page. The problem with hovers is even greater when they provide options, like Web-based hover menus. I know our Web site exhibits this very issue, but ... we have to live with that decision for now. :)

Tool tips for context-based information are more like a hack for forcing the user to read/see what the author wanted. Newcomers don't expect to get any help by moving the mouse on top of an option, nor do they want it. I believe users would benefit a lot more from a general approach, easy to use, for getting help in any moment - something like man on Unix systems (in CLIs).

Having accounts for Web mail, instant messaging, and for every service is quite confusing. She would expect she has only one account which allows her to boot the system, and get every service working, automatically.

I would add that the whole concept of having different applications for different purposes started manually, is not very intuitive. Finding a good and intuitive reason for a newcomer as to why you must start Pidgin for instant messaging, or Opera for Web browsing, is not really easy. Users expect the computer "does" the things they want - not applications running in an OS. When she clicks on the Opera icon she doesn't see the Opera window instantly, as such she clicks it several times more. This can seem amusing, but ... actually, why does everything have to startup? It would be interesting if we could have a reachitectured OS which would provide every application/functionality instantly. People like the fact their TV doesn't have to boot, it doesn't have to prebuffer streaming data, nothing. They just work.™ Having more than one media player, more than one Web browser, and in general more applications for the same purpose, complicates everything a lot more. While I believe choice is good, I also believe choice should be available to those informed, not forced onto everybody, from day one. This is where I agree with Ubuntu, Mac OS X and Windows: they do not initially provide tons of options - you just go ahead and use the system. Unfortunately, Microsoft and Apple try to limit the choices for experts, unlike Ubuntu.

From the perspective of a newcomer, the separation between Web applications and software applications is confusing, again. Even computer users who are not experts today, mistake Meebo as being a software application. In the minds of average Joe computer users, the two concepts are fuzzy. People don't know Web sites/applications do not have the same priviledges as, say, Pidgin. A new system which would allow a complete merger between software and Web applications would help newcomers. Fortunately, this is already happening.

I was very tempted to teach the newcomer how to use computers in Ubuntu's virtual terminal, only with the command line. She wouldn't have to learn so many things. She wouldn't have to focus on so many things which do not matter. She would be able to play music, videos, chat and browse the Web with greater ease once she learns the commands. This is what I like about the CLI: the system is multi-tasking, yet it does allow you focus on one application at a time. You always know where your text shows up when you type. People like to know where to look, to focus, all the time. GUIs are too dynamic with respect to "where should I look now?". In CLI mode, you just follow the "dialog" with the machine.

There's one thing I didn't expect: she was able to navigate Web pages a lot easier than she could use the OS. She didn't need any training, apart from "you click on links, on images, on texts which are underlined, usually they are blue". Yet, things got worse once she stumbled on Web sites with menus, or with "complex" actions. Web pages which use the anchor target=_blank attribute value break the back button - which is very annoying actually.

The OLPC project aims to improve user interfaces, among other things. I like about this project that the Sugar interface is about activities, not applications. Automatic updates and installations are a lot simpler. The user focuses only on one application/activity at a time, with no overlapping windows.

Newer interface concepts like Sugar and the ZUI want to give focus to a single application, a single activity, without giving up any multi-tasking capabilities. The user should be given the power to be uninterrupted, to focus on any single task.

One idea I have for an user interface would be to present the user all windows full screen, no toolbars, no menus, no desktop. Imagine your word processor showing only the rulers, scroll bars and your document. The OS provides only a command line, always visible at the bottom of the screen when you press a certain key to toggle it on/off. When it's on, you always write a command you want, with automatic complete, as good as possible. The command line would allow for system commands (such as switch to another window, "play song", "do whatever", "set whatever", etc), and application-specific commands. Say you are in a word processor, you can use the command "save". With this approach, the command line could become internationalized, available in multiple languages - making it a lot easier for newcomers. APIs would allow any developer to build software and Web applications which hook into the command line.

This system would allow the user to do as much as possible in a single way. Multiple ways to do the same should be allowed for those interested, for "experts". Newcomers should be able to learn something as simple and intuitive as the keyboard and a simpler pointing device than the mouse. Let the user be able type "play song song-name", "open www.google.com", "search ...". Something like an universal command line which is context aware in GUIs as well. A command line which allows users to build better habits, without any notifications, without any task bar, without multiple windows. Allow the user to manually check for notifications from the command line, allow the user to switch to other tasks instantly - don't require application startup. Users don't have to start Opera to open a page. Just "open www.google.com". Allow users to define which application is associated. Users would focus much better on their work.

The Enso Launcher is a promising free product which tries to be an universal command line, bridging GUIs with CLI. I would wish such efforts would be brought onto Linux, in a unified desktop environment. Currently, Enso Launcher and similar applications are awesome "toys" - however they are not yet The System itself.

The new Microsoft Office 2007 package is a bold release by Microsoft - I was glad to see such big changes. While some people blame the GUI choices, and others blame the changes are too drastic, I like it - they did something. They gave up stagnation, to try new things. Based on my experience with Word I can say I like to use it a lot more than previous versions, and yes, I discover new features a lot quicker.

In spite of all the efforts of the Office team I was disappointed by only one major flaw: they did not add a quick search field in Word, always visible, at the top of window (maybe on the right would be best). This "quick search" field would be brilliant if they would allow users to: search for all the help, and apply any of the available commands. For example allow me to type "help file formats", "save", "save as new.docx", "open old.docx", "insert image", "bold", "go to page 10", "insert equation" and a lot more. No matter what, no matter how brilliant people are, they will not be able to squeeze tons of options into an easy-to-use GUI, and easy-to-learn GUI. You are always thrown back to the command-line, or to a perfect Voice recognition system (which doesn't exist yet).

Some say Vim is too hard to use compared to any other editor. I dare to say it's easier to use compared to today's modern IDEs, simply because you do not have to learn tons of concepts which are completely unrelated to the given task: file editing. If you take a complete computer beginner, I'm certain he would learn how to use Vim faster, when compared to any IDE. Before you can teach anyone how to use the modern editor itself, you have to teach the person all the GUI concepts. In Vim you can just go ahead and explain how to do basic editing, then allow him/her to discover new capabilities. Vim has tons of options and features - the same goes for IDEs, but Vim looks very simple.

It's like with kids: parents don't explain to kids everything on the first day they ask something. Who in his/her right mind would explain in details why the sky is blue? Or... the usual question: where do kids come from? :) You allow them to evolve, to grow up, to understand, to find the answers themselves.

With this being said, I look forward to new interface metaphors, new ways to interact with computers and technology in general.

Opera2 script

Hello people!

Given the fact I'm constantly checking new Opera builds, I repeat lots of things. I decided to write my own BASH script which does the common work.

To better understand how the script works, and what it needs to do for me, here's an explanation of my usual testing setup.

First, I run Ubuntu Linux. I always keep and use the latest official stable release of Opera. I don't use the Debian package, because I want to upgrade more often than the repos. As such, I use the official tar.gz/tar.bz2 packages: I unpack them myself and I upgrade the files manually.

My stable Opera installation is self-contained within a single folder: ~/bin/opera. My profile is self-contained as well, within ~/bin/opera/usersettings (the default profile folder). I don't risk using ~/.opera. This way, I can make sure I always backup my entire Opera nicely - just the usersettings folder. That's where I keep all the Opera files, including plugins and emails.

I keep the weeklies in a completely separate folder: ~/opera-dev/linux. Here I manually unpack tar.gz/tar.bz2 archives. The nice thing about the Opera archives is you can immediately run them, since they create their own profile subfolders. This way I can have as many Opera "installations" running simultaneously without any problems.

By now, you can tell I have to manually move the archives I download to a predefined location where I store them. Also, if I want to test an experimental build with my stable profile, I generally don't have time to do it. That's because I would have to manually modify the INI files to point to the location of the experimental build, after I copy the entire stable profile folder. That's boring. :)

As such, here's how to use the Opera2 script:

  • opera2 clean
    

    This removes the profile of your latest Opera build. You can configure where experimental builds are located using the DIR_OP_DEV variable.

  • opera2 clean-run
    

    The same as above, but Opera will be started afterwards.

  • opera2 unpack opera-*.tar.bz2/gz
    

    This unpacks the Opera build you want designated by the second argument. The build must be provided as a tar.gz or tar.bz2 file - as the official ones are. The package will moved to the configured DIR_OP_PACK, and the content of the archive will be extracted to your DIR_OP_DEV.

  • opera2 unpack-run opera-*.tar.bz2/gz
    

    The same as above, but the script will also start Opera from the extracted folder.

  • opera2 upgrade opera-*
    

    This will "upgrade" the Opera build you want designated by the second argument - a folder name starting with "opera-" followed by the major and minor version (this is the default naming of Opera builds). If the second argument is not specified, the current working directory will be used.

    The script will copy files from your stable profile folder (defined by DIR_OP_STABLE) to the profile of the build you specified. The script will also make some changes to several copied files (will replace all paths pointing to the stable Opera installation folder to the new build).

    Warning: Doing this will DELETE the profile of the target Opera build. The script does NOT try to detect if the destination folder is REALLY an experimental build. Do NOT run this on your Opera stable installation folder.

  • opera2 any thing else (or no arguments)
    

    This will start the latest Opera build from the configured DIR_OP_DEV with the provided arguments. You can configure other applications to automatically open links with this script - the latest Opera build.

You should check the script source ... to be sure it will not break your stable installation. :) Always check the result of running this script before starting Opera.

As you can see, the script is tailored to my needs. Care should be taken when using the script. I am sure it does not work if your stable installation is configured with "exotic" file paths. The script was only tested with Opera 9.x builds, on Ubuntu 7.04.

Download the Opera2 script.

My .vimrc file

Since I started using Vim 7 I created my configuration file. I upload it to any remote server where I have vim installed. Here it is for anyone who likes vim:

Download .vimrc.

Highlights of the file:

  • Enabled maximum memory usage for better performance when you have lots of RAM (1 GB here).
  • Enabled the use of ~/.viminfo which remembers data across restarts of vim (open buffers, marks, history and such).
  • Automatic complete.
  • Automatic Indentation.
  • Syntax highlighting.
  • Code folding enabled.
  • Line numbering enabled.
  • Automatic file backup, on save.
  • Custom status line and ruler.
  • For code indentation tabs are used instead of spaces. Tab width is set to 4 spaces.
  • Word wrapping is enabled, but no automatic formatting is done in the actual file. Just like in Notepad (and other simple editors) you see the document wrapped on screen.
  • Changed the keyboard mapping such that when you press " you get the second ". Same goes for when you open a parenthesis (, vim automatically closes the paranthesis with ).
  • Added two new functions: Fullscreen and Eretidy.
  • Fullscreen disables line numbers, code folding column and also disables the status line. You only get a view very similar to the view of more (or less). At the bottom of the screen, on the right side you have a small ruler which tells the buffer number, file type, line number, and column number. I use this function when I edit text documents - very nice to have a "simple" editor.
  • Eretidy is specifically tailored for me. This function just opens the ReTidy files. I use this quite often when cleaning documents.

For readability, I didn't use short notations in the file. For example, I use set autoindent instead of set ai.

I will update the file from time to time.

Ubuntu Edgy

Hello!

Some time ago I upgraded to Ubuntu Edgy. Due to many complaints about failed upgrades, I've decided to upgrade as safely as possible.

My definition of safe upgrade meant doing it "sandboxed" once, and if there no serious problems, I do it on my live/real system. Therefore, I copied all my current system to a secondary HDD, I created a new virtual machine in VMWare Server which uses the physical HDD to boot. Once the system booted I ran the normal upgrade procedure. Doing this I've learned that the same Linux installation can boot on completely different machines (different drives/hardware, same architecture).

Of course this didn't work as easy & quick as wanted.

I used the Damn Small Linux distribution (LiveDistro) to install GRUB within the virtual machine. I didn't use Ubuntu itself as a LiveDistro - too graphical for administration purposes, and rather slow in VM. :)

I used tar to create a big uncompressed file of the entire root. From /home I excluded some big files & folders manually.

Before booting the snapshot of my system in VMWare I had to edit /etc/fstab and /boot/grub/menu.lst to manually remap the mount points.

The system booted properly without any problems. I just had to run sudo dpkg-reconfigure xserver-xorg because VMWare has a different video card. Then xorg also worked. It's really interesting to see your entire system running sandboxed, in the same system. :)

As a measure of protection I edited /etc/hostname and /etc/hosts. In the first file I changed the host name of the virtual machine, to avoid conflicts with mine. In the second file I made the host name of the host system to point to localhost (127.0.0.1). I didn't need network access to the host from the guest. Also, this change still allowed me to access the host, by IP.

I mounted the alternate CD image of Ubuntu 6.10 and I started the upgrade. I had very bad luck since for no specific reasons xorg crashed in the host OS, taking VMWare down. That was my first xorg crash :). I rebooted the host, I rebooted the guest and resumed the upgrade. Xorg crashed again. And again. And again. After several restarts, after several crashes upgrade finished. WOW.:)

I edited the /boot/grub/menu.lst on the host system, and I edited /etc/fstab on the guest system for the purpose of booting the newly upgraded system natively. It worked properly - after reconfiguring xorg, of course.

Due to the crashes keyboard layouts were completely damaged (almost unusable keyboard in Xorg). Other than this and several small issues, not worth reminding, everything was "fine".

I was pretty much surprised Xorg crashed due to VMWare. I have used VMWare with Windows in my Ubuntu installation for quite long. I had no problems. I noticed my xorg crashes when I start xorg in the guest OS.

I have tested Beryl+XGL. Quite nice, but slow :). I couldn't install compiz (problems with their packages in that day), neither AIXGL (my Nvidia Geforce 4 is too old).

Being glad the upgrade went "smooth" overall, given Xorg crashes, I decided to upgrade my real system.

So I did. No crashes. Everything went rather well. No keyboard layout problems, maybe because I did switch my system back to english, english keyboard, before I started, so the upgrade tool won't be confused. I also did set LC_ALL environment variable manually (in VMware dpkg complained about missing LC_ALL for many packages).

First thing I didn't like about Edgy was the boot splash. It looks good, but it hides all information - quite annoying. The solution was to uninstall usplash, and remove "quiet" from the kernel arguments list in my GRUB menu.lst.

Another problem I had was Firefox 2: no extension wanted to install. The solution was to remove my profile folder, eh. Then the DOM Inspector disappeared :). I had to manually add the extension to some INI files.

Another thing I disliked is that GRUB menu.lst now uses UUIDs instead of the human-readable /dev/hd*. Why?...

I don't know why, but Xorg in Ubuntu Edgy is less stable. I got several crashes - I didn't notice what's causing them.

Quanta doesn't want to start in French. It's always English, and I have all the French language support packages. I've been told I should have quanta.mo somewhere in my root - I don't. Yet, I have kdewebdev.mo which contains the Quanta French language strings.

The new apt-index-watcher package used 100% of my CPU every 10 seconds, until I removed it. :)

Was the upgrade worth it? The answer is almost no. I don't like they don't include the latest gaim 2 beta. There's beta 5 now and they still have beta 3.1 (you can't convince me beta 3.1 is somehow better than beta 5).

Maybe I'll do a clean install next time. Debian...

IE and Linux

Hello!

Doing web development under Linux requires to no longer use Internet Explorer. For web site testing the only available solutions are dual-boot, virtualization or WINE.

I have the feeling that picking to use dual-boot is like not actually switching to Linux. That's because you'd code everything in Windows, test everything in Windows, with all Windows browser: IE, Firefox and Opera. Not a true switch. You can't code everything in Linux then do a quick boot in Windows to see if the cool CSS layout renders properly in IE 6. You still need to have all your web development tools (your IDE, your FTP/SSH client, etc) in Windows.

Virtualization is a nicer solution: you can do all coding and testing in Linux. Once you've booted Windows in VMWare Server (insert your favourite virtualization software) you can simply load the page and refresh it when you need to test something. Quite nice. I use this for "complex web applications" and for final testing of any web site. You only need a clean install of Windows.

For occasional and quick web development testing I mostly like WINE. Yes, installing IE 6 in WINE is (very) annoying.

However, there's IEs4Linux - a script which automatically installs IE 6, IE 5.5 and IE 5. It's very easy to use and quick to install.

Also, very recently there's beta support for IE 7 installation - which is quite awesome.

Why is this better than virtualization *and* dual-boot? You can have a context menu item in Opera which opens your page in IE 6 and IE 7 in just a few seconds after clicking (I do, hehe). Nothing to boot, and it's faster than virtualization.

I even use WINE with Opera 9 + Voice enabled for web development. Installing Opera 9 in WINE is only a matter of running the installer in WINE - easy.

Bottom line is: are you a web developer who would like to switch to Linux but believes he can no longer test his web sites with IE? The complete answer is: you can test your sites in IE, quick and easy. There's no long answer. You do not have to drop compatibility with IE. You can make the switch™. :)

The themes of (k)Ubuntu

Hello!

One of the first steps, and most likely the easiest, in making KDE and GNOME seem consistent is getting both of them have the same themes.

I simply don't understand (somebody explain to me please) why is Kubuntu required to have a completely different theme than Ubuntu?

Seriously, guys, if you really want that, then no problem: Kubuntu blue and Ubuntu orange. BUT at least take the time and provide both of the themes so we can select the one we want in the theme managers of both DEs.

I personally favour Ubuntu's theme. I can't get get KDE apps to look exactly as those in GNOME. I switched to polyester, I applied my own color theme (the Ubuntu colors available on kde-look suck, and that's nicely said - I had to make mine). The biggest problem is changing the icons. I believed this should be easy: in kcontrol I find the icon set named Human. Yes, it changes most of the icons, but the most obvious ones are still the blue KDE Crystal: file icons - and some others :). Again, KDE-Look provides amateurish Human iconsets for KDE which don't even properly work.

Oh and for those wondering: somebody cannot live in a GNOME-only box, or KDE-only box. It's not going to happen, not today, not tomorrow.

Hint: this is not a "job" that needs to be done by neither of the DE teams. It's the "job" of the distro guys.

Making the orange theme the default in Kubuntu would be awesome, not because of the theme itself - I'd say the same if Ubuntu would use by default the Kubuntu theme.

Bonus suggestion: while they are at it, they should configure the default behaviour of KDE to match the one of GNOME (or vice-versa).

Summary of the post: get the GNOME theme on KDE, and get the KDE theme on GNOME. It's easy, it's doable, both DEs are capable of it.

Good luck!

P.S. I don't like the purple theme in Kubuntu Edgy Eft.

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.

KDE and GNOME

Yet another blog post about KDE and Gnome. You've all been waiting for this one. :)

First of all, I use Gnome 2.14 and I have some parts of KDE 3.5.3 installed too. Why? Gnome seems to be better glued together and more professional, feels less bloated and it also feels faster. I say it only feels so, because I haven't done any real tests.

KDE got some real goodies like Quanta Plus which is probably the best web programmers editor I've used. Given it's free ... I'd say it's amazing. I've seen loads of shareware editors that have far less features (for Windows of course).

KDE TV was also my favourite TV application since it's really good for all my TV viewing needs (it does have the deinterlace filter :) ). However, since then I switched to tvtime, because I find it faster and better in some ways (too bad I can't configure it too much, it's very minimalistic).

I was pleasantly surprised by Konqueror (as a web browser). I've never knew it's so powerful. Much better than IE. Too bad it's very little known. I am aware it's not a browser as capable as Opera or Firefox, but it's very good (it can properly render all the CSS layout sites I have).

Nicest surprise to KDE was KTTS. Nice stuff guys. Just one suggestion: add a global shortcut for reading the clipboard.

KolourPaint is my choice for simple image editing (GIMP is too advanced/different for me ... even if I am used to Photoshop).

Kig and Kseg are two educational packages worth the time spent by their respective authors on development. Meaning Kseg is a very cool dynamic geometry software, but it's not as complete as Kig. Kig, IMHO, will become my primary tool for dynamic geometry. It's very, very good and advanced. Yet, I still need to learn some of its capabilities. :)

Amarok is the music player. Much better than Winamp and all others. I've tested Rythmbox, Banshee, juK and other music players. None comes close to Amarok, which is feature packed and nonetheless it's fast enough. Don't expect it to be as fast as XMMS, but it's faster than Banshee and Rythmbox which are the two music players receiving most attention. Amarok has a very good collection, tagging with online database, automatic scoring of songs you listen most, it also picks similar songs recommended by Last.fm. You can automatically search for lyrics, for artist information, similar artists, etc. The context browser is very nice, because it automatically shows songs you are most likely to be interested of (favourites, new additions, songs from the same album, same artist, etc). Other goodies includes are cover management (automatically finds the cover online), Python extensions (web control and more), nice customizable OSD and lots more. Simply put, amarok is the best player. It doesn't crash, it got a very fast collection search and analizer. Rythmbox and Banshee both crashed when scanning my songs, LOL.

The funniest part in KDE is ... guess what? Image viewers. Amusing, huh? Most KDE image viewers suck big time. They are even worse than the worst image viewer I've ever seen on Windows. There you go, I've said it. Shocking statement? I'd say it's a shocking fact on my Ubuntu 6.06 install (and Ubuntu 5.10): just loading an image of lets say 800x600 in Kview (or KuickShow, whatever) and zooming to 400% sends the system to hell :). Memory usage increases a lot and the virtual memory is required, so the HDD activity raises like I'm copying several files on the network at once (it even slows down mouse movements). I suppose it's because the 400% zoomed image is way too big to hold it all in the memory :). Veeery efficient code. If this caused by the Ubuntu distro, then ... this is the worst thing Ubuntu has.

Worth noting is the problem doesn't apply to KolourPaint, which most likely uses a different library.

Here comes the irony: KDE image viewers have better support for image formats. I wasn't able to view some BMP images with any of the Gnome image viewer (GQView, Gthumb and EOG). Also, I wasn't able to see any PSD image, only KDE supports them. :)

So, my default image viewer is Gthumb and besides it I also have Kview. I removed all the other image viewers.

The latest Kopete seems to be a very attractive alternative to Gaim. I simply enjoyed "hacking" into the XSLT files to change the display of the conversation. I also like it has notifications, and more options. What made me not to use Kopete: it's underdeveloped. Anyway, Kopete is still in its infancy.

Both desktop environments are not professional and fast enough. They should also follow stricter guidelines, making them look more professional.

I like the panels, the applets, menus editing, the multiple desktops/workspaces environment, the keyboard configuration (accessibility, layouts and variants). These are things Windows should get too, just like it should get proper permissions per file and symbolic links. Windows is actually a very weak desktop environment compared to KDE and Gnome.

Gnome 2.14 has noticeable speed improvements. As far as I know, it's going to get more speed improvements for version 2.16. I like that. KDE 4 is going to be interesting, but I have a "hunch": it's going to be buggy, since they make big changes.

I like the idea of KDE: having a single keyboard shortcuts editor in all applications, a single toolbar editor, menu editor, etc. I also seem to like the idea of KNotify with it's integration with KTTS.

As for customization, KDE is the clear "winner". I like I can easily customize the themes and everything I want in a single place: KDE Control Center. Yes, I know it's hatable, but it's also good. The themes in KDE seems to be more flexible than the ones in Gnome.

What I dislike when I am in Gnome, if I start KDE applications, I'm seeing KDE, not Gnome. I know it's normal, because they depend upon the KDE packages, but there should be more interoperability. Why not use the Gnome keyboard shortcuts editor when in Gnome? Why not use the Gnome widgets (and more stuff)? Same goes for when I am in KDE: I see Gnome stuff.

It's all about consistency. Is that too much to ask for? :)

Projects like Tango Desktop Project, LSB and Portland are very good because they help with consistency. I'm glad the latest Ubuntu uses the Tango icons.

KDE and Gnome also play the "catch-up with Windows" game Windows functionality, just like OpenOffice seems to do with Microsoft Office. Microsoft will always be one step ahead, because they are currently modifying the rules of the game with Microsoft Office, Windows Vista and more.

Why not be a bit different? Why not bring something new and better?

Thanks to Microsoft, alternative web browsers (Opera, Firefox, Safari, Konqueror) had enough time to go miles ahead of Internet Explorer.

KDE and Gnome had the same amount of time... and the heads of these desktop environments decided upon using the allocated time to catch-up with Windows. They almost did. :)

KDE 4 received some good press, mostly hype currently (IMHO), about bringing new stuff to the table, about innovation (Plasma, whatever). That's nice. I'd be glad if they'll succeed.

Another thing I do not like, specially in regards to KDE: they include a huge amount of packages. Come on, keep the desktop environment only. Gnome is sticking to Epiphany, which is, with all due respect, yet-another Gecko browser. Seriously, why would I switch to Epiphany? Both desktop environments should be bare bones. The other packages should only be optional, just like screen is.

Konqueror, as a file manager this time, is more feature packed than Nautilius. However, I'm in favour for the simplicity offered by Nautilius.

The overall conclusion is both desktop environments are powerful, each having its own strengths and weaknesses. I am very well aware most of the ideas have already been expressed before by others, yet I think the more people voice their opinions the closer we'll get to this happening (consistency, blah, blah). Those in charge of the development of these two great desktop environments will take into consideration what the majority says.

Customize your Linux terminal

Hello!

How many like the terminal/console in Linux?

I myself like it, even if I do not use it too much. I use much of the X-based "bling bling": Gnome, Opera, Gaim, Xchat, Quanta, XMMS, etc. However, I particularly enjoy the power the console gives you: the one who says you're somehow limited in the terminal is very wrong. That's because you do almost everything you want: you can play music, you can play browse the web, use any Internet protocol (ftp, bittorent, pop3/imap/smtp mail, etc), you can do programming (of course), etc.

Simply forget about the MS-DOS console you know. That's limited (flame bait). Linux console, even if it looks the same, it's not the same. :)

One thing missing in the GUI approach (KDE, Gnome, Windows, Mac OS X, etc) is consistency. The terminal is always consistent, it's the same on Linux, on Windows and Macs. The commands differ between operating systems, but the basics are the same.

I did four things to customize my terminals on Ubuntu Linux:

1. Console font. I picked a font which includes the most-used non-english characters in the documents I usually view (romanian and french).

To do this after you booted use:

consolechars -f /usr/share/consolefonts/font-file-name

This is handy for testing because the changes will be lost after you restart, plus the changes are applied only to the current terminal.

You shall pick the font-file-name you want. Just take a look at the console fonts you have installed. The ones I have are named based on the character set they can display: iso01, iso02, latin1, koi, etc. I use iso-8859-2 (for Central European).

To make the change permanent just edit /etc/console-tools/config. Change SCREEN_FONT value to the font file name you found to like.

2. Keyboard layout. I changed the keyboard layout to a custom keyboard layout I made, based upon the romanian programmers keyboard layout provided by default in Ubuntu, plus the American international keyboard layout with dead keys. Last, but not least, I also looked into the French keyboard layouts :). My purpose was to have a normal english keyboard layout, but greatly enhanced for Level 3 (activated with the Right Alt key).

To make your own custom keyboard just go to /etc/X11/xkb/symbols and pick the keyboard language you want to start from. Edit it, look into other files to learn what needs to be changed, have fun. :)

Things to know about those files: they contain the symbols associated to each key on the layout. Therefore, they are not exactly keyboard layouts. The files are named based on the country code, and they contain all the keyboard variants belonging to the country. You should be able to add your own, but you need to learn how to do that (you need to edit other files aswell). My file does not add a new variant for two simple reasons: lack of knowledge (caused by lack of spare time to learn how), lack of motivation (caused by the fact I don't want to backup another file). I just modified the basic variant.

XKB is very advanced and complex: you can change the geometry, the rules, the symbols, everything. You can make a single key do wonderful things. Yet, don't ask me how LOL (I am still learning myself). All I know is enough to make my own nice keyboard layout :).

To learn more:

It is important to note all changes also apply to the X server. You can use the keyboard layout in Gnome, KDE and what else you wish.

To change the keyboard layout in the terminal just run kbd-config or

sudo dpkg-reconfigure console-data

In Gnome you must know how to do it, same goes for KDE.

Download my keyboard configuration: xkbd-ro.

If you are a romanian, you'll most likely want this layout :). Save the file as /etc/X11/xkb/symbols/ro (overwrite!).

For maximum fun I edited my xorg.conf to use the custom keyboard layout.

Section "InputDevice" 
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "ro"
Option "XkbVariant" "basic"
EndSection

For an unknown reason, the keyboard layout does not work exactly in the same way as in X. In the console, the keyboard map is a bit "screwed" and dead keys are out of the discussion, since they are not supported by the font. I'll probably have to make a new variant specialized for the console. Based on what I learned, the difference might be caused by the fact I do not have the same XkbdRules as xorg. I'll see. :)

Suggestion by csant: To edit the keyboard layout, you can also use a GUI-based tool:

sudo apt-get install xkeycaps

3. Sticky keys. I use sticky keys in X, so I wanted to use them in the terminal aswell. The above two guides also provide tips in regards to how to enable sticky keys. Based on other tutorials, there are several ways one can achieve this goal. I picked the "loadkeys method".

The file is:

keymaps 0-6,8-9,12 
keycode 29 = SCtrl
keycode 42 = SShift
keycode 56 = SAlt
keycode 54 = SShift
keycode 97 = SCtrl

Keymaps differ from a configuration to another. So, you need to learn which ones are on your system:

dumpkeys | head -1

Save the above file, after you update it and execute:

sudo loadkeys your-file

Warning: Providing a wrong keymap can render your keyboard unusable (I actually needed to do a forced reset :) ).

Warning 2: Your system might use different keycodes for the same keys. If this is the case, use showkey. Generally, if you have a PC which is "mainstream" (like mine), this should be safe.

If you take a close look at the above, you'll notice the missing second SAlt. That's because the second one (Right Alt = keycode 100) does provide access to level 3, used for inputting special chars. Making it sticky, loses the "special" attribute. I don't know currently how to make the it a sticky without losing the capability of switching to level 3.

The behavior is: you press Shift then a = A. Pressing again a = a. This means that pressing shift will not lock it. For locking-type of sticky keys, read the above two guides.

To make the change permanent, just add the call to loadkeys into your /etc/rc.local.

4. Higher resolution. To do this edit /boot/grub/menu.lst by adding vga=792 to the kernel you use. Something like this:

title           Ubuntu, kernel 2.6.15-25-386 
root (hd0,0)
kernel /vmlinuz-2.6.15-25-386 root=/dev/hda3 ro quiet splash vga=792
initrd /initrd.img-2.6.15-25-386
savedefault
boot

Tips and tricks:

1. VNC for the console. If you like VNC, you can also share your console :). Install the linuxvnc package (use apt-get).

Yet, it's recommended that you use the screen package, which is better. VNC is generally meant for graphical stuff. :)

2. To capture the screen of your terminal, as a text file, use:

sudo setterm -dump

What I want to do next is enable beep for sticky keys, same as in X. Also, I'd add the "locking-type" of sticky keys, exactly as in X: press Shift twice to lock it.

Ubuntu 6.06 (Dapper Drake)

Hello!

I have upgraded to the latest Ubuntu version about a week ago. I have chosen the "alternate" upgrade method: I downloaded the ubuntu-6.06-alternate-i386.iso and mounted the image. I also added the CDROM, as pointed by the Ubuntu Dapper upgrade guide on their wiki. Of course, I also downloaded all the upgrades which are not available on the CD, so I won't have any surprises.

Problems:

  1. Logout procedure crashed: gnome-session had some problems.
  2. After reboot Xorg failed to start. I found out GLcore module was removed. To my surprise, no nvidia-glx either. Reason: nvidia-xconfig and nvidia-settings were previously installed. In the new Ubuntu Dapper you are not allowed to install those two packages alongside nvidia-glx. So, the automatic upgrade procedure picked the "best" option: no nvidia driver at all. LOL. I reinstalled the nvidia-glx package and removed nvidia-settings and nvidia-xconfig. Back in business.
  3. Keyboard preferences were lost. It also lost which keyboard layouts I have, which accessiblity features I have enabled. Not a big deal.
  4. VMWare Workstation 5.5 fails to start with some errors regarding libcairo, libpng and libbonobo. Problem not yet solved. Anyone has some suggestions? I of course recompiled the module for the new kernel. I even tried complete VMware reinstall.
  5. Because of the first problem, it also removed the ubuntu-desktop metapackage, therefore I missed a few new packages (funny). Problem solved.

For unexperienced users these kinds of problems are a real turn off. This has been said before.

Overall, the upgrade was worth it. Congrats guys! I like the updated interface for Gnome, the speed improvements (now I'm back to Gedit instead of Mousepad, hehe), etc.

The new Deskbar applet is very cool, I like it much. However it's unusable due to the fact each time I type an address of a site starting with www. then continuing to .whatever ... the deskbar popup. That's silly and annoying. I've disabled the "web" plugin in the deskbar preferences. I still can't type www.google.com. Therefore, I won't use the deskbar applet. Otherwise I would've liked using it.

That's about all.

Update 2006-06-16: Ubuntu team updated the kernel and many other packages in the repositories. After applying all updates, VMWare works again! Plus the deskbar does no longer show when writing web address. Kudos to the Ubuntu team. :)

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.

Ubuntu 5.10

Hello!

I decided to try the latest Ubuntu Linux.

I have previously tried Fedora Core 2 and before that I had some very old Red Hat, but that's all very long time ago and ... I always switched back to Windows for various reasons, such as, but not limited to: networking with Windows (Samba-fun), TV tuner configuration (I never got this close to "working"), slow Internet connection (couldn't download a gazillion of packages), getting video/audio playback and what-not. With FC 2 there were some really cool advancements: easier to configure, better package management and seriously stable Gnome (compared to what I tested on the very old Red Hat).

Installing Ubuntu was easy, but I have to say it took more time than Windows XP Professional installation (don't flame me, it's true on my system).

I had the pleasure of finding the local area connection almost working properly. I was able to access shared folders from other Windows machines in just a few minutes. Configuration wasn't a hassle at all. I said it worked almost perfect because I still had to manually edit a file, so I can share my own files on the Windows network.

Ubuntu Wiki is a great resource of information and documentation. Very easy to follow tutorials.

I haven't had big problems with Ubuntu. Everything seems to work just fine. I have removed my Windows installation and now I got only Ubuntu (one month ago). I am actually writing this blog post in Gedit :)- it's safer to have a local file.

I've got everything working properly without too much hassle (actually very little ... if I read Ubuntu Wiki, which I don't always do, because I sometimes forget :) ).

TV tuner configuration was uhm ... lets say a piece of cake. Yet, I got my TV tuner working on Ubuntu after a few weeks :P. Why? I was busy configuring other more important stuff and ... TV tuner configuration was a bit "hard": I had to search on Yahoo for some documentation about bttv. The problem: I had v4l and v4l2 working perfectly from the start, but no TV application was able to search for the channels. Why? The driver didn't detect the exact tuner type/card I have (Mentor TV). Solving the problem was a piece of cake: modprobe bttv card=78.

On Windows I was using DScaler for viewing the TV (I have no need for PVR software). It was quite a CPU intensive application (100% constantly), because it has some very good deinterlacing filters. Gladly, the Linux counter-part is much better :). I use KDE TV 3.5. It's faster than Dscaler, features-packed and very good.

The minor annoyances that affected Ubuntu a bit were:

  1. I had to install gcc-3.4 to be able to install kernel modules.
  2. Firefox 1.5 was not available in the repositories: manual install is required (not a big hassle once you read the wiki).
  3. Ubuntu boots slower than Windows XP. Why? Even after I removed all the unnecessary boot services. Guess what? The slow part is not the graphical boot (actually gdm and gnome start-up faster than the graphical system of Windows). The loading section until gdm starts takes the most time.
  4. Opera wasn't available in the repositories. :P

Movie and audio playback wasn't hard to install at all. Movie playback is actually much faster than on Windows using Mplayer with XV output. Very fast player and good one. I use VLC only for heavy duty stuff. :)

The part that I liked the most was installing PHP 5, MySQL 4.1, PHPMyAdmin and Apache 2. Much faster and easier than on Windows (of course).

Unexpected goodies of Linux: WINE, accessiblity support (magnifier, TTS, on-screen keyboard display and screen readers) and more I'm forgetting.

I've switched to Linux. Nothing more to add.

P.S. I like the Human theme. :D