Archive

Archive for the ‘Linux’ Category

Nautilus enqueuer plugin for Rhythmbox - new and improved!

April 25th, 2010

It has been almost a year since I created my plugin to enqueue files into the Rhythmbox play queue from within Nautilus. I got feedback from several people across the globe regarding the plugin and the most common complaint that came across was that the plugin could not enqueue folders recursively. Also, when some files had embedded special characters, the plugin did not work as expected.

So, finally after a busy year, I sat down one evening and made the requested modifications to the plugin. Now it can handle folders recursively and also embedded special characters within file names. It is also intelligent enough to detect if a folder has zero music files and in that case the option to enqueue the folder itself would not come up. Another good  friend of mine gave a very good suggestion that the plugin should automatically detect the default player in Gnome and enqueue the files to that player. I think I shall take that up as an enhancement in the next version ;-)

So, here it is. Download and enjoy! Install instructions are same as before, which you can find in the original post. If you are already using the older version, then you just need to download this version, and replace the old one in your $HOME/.nautilus/python-extensions folder.

Last but not the least, I must thank all of you to have downloaded and tried my original plugin. But more thanks are due because of the fact that you took out time to give feedback. I know a year is late of me to have got back to you with the enhanced plugin, but things were quite hectic on my personal life as a result of which I got very little time for such activities.

admin Linux, Ubuntu , , , ,

A desktop notifier for new emails in your Gmail inbox for Ubuntu

June 11th, 2009

I have been fiddling with the Python programming language over the past few days.  And even though it has just been few weeks and I hardly have covered every aspect of the language in detail, I am already producing working code in python. In short, I am flying! Python really rocks!

So yesterday I thought it would be nice to be able to check my Gmail inbox for new incoming mails from the command line. So a little searching gave me this link.

This is a python script that does exactly what I wanted. But it runs from the command line and is interactive in that it asks for the user name and password from the user interactively. I went a step ahead and thought what if I can make this process automated and for every new mail, show up a notification. Speaking of notifications, you must be aware of the new OSD notification that is creating much buzz these days, especially in Ubuntu circles. This new notification system is designed to replace the existing notification system with a cooler UI and better usability. At least that’s what the canonical folks claim.

Anyway, I set out to create this cool notifier and in a few hours it was ready. Being a first timer to Python, it took some time as every now and then I would stop to see some documentation and then once I understood the concept, carried on hacking. Once complete, the next few minutes I spent in fine tuning the notifier, like add an image (the gmail logo of course!!).

Eureka!! It worked, Yippee !! That’s what I like most about Python. Even a complete newbie like me can create working code in such a short time! Having written the it, now I wanted to make it more user friendly. So the next day, I ended up writing a setup.py script to provide ease of installation. Believe me, writing this setup was far more difficult than the original notification script ! But because of this script, installation is super-easy. Just run the setup.py file, that’s it!

So finally, it was done. I did some minimal testing but it should work well. You may download this from here.

Steps to install:

0. First make sure you have the python bindings for notify-osd, the new notification system for Ubuntu. If not, then install it with the below command:

$ sudo apt-get install python-notify

1. Download, gunzip and untar the gmailnotifier.tar.gz file from the above link.
2. Go to the gmailnotifier folder so created and run the setup.py file.

$ ./setup.py

It will ask a few questions, like your gmail username, password, where you want to install the script and what should be the time interval in seconds to periodically check your mailbox for new mails. Make sure you answer those questions carefully and correctly. I have not added error checking for those questions yet :-|.

But if you feel anything is not correct, you may simply press Ctrl-C, abort the script and then run it from the beginning.

3. Now simply log off from gnome and then log back in. You are all set! That’s it. And don’t worry my setup script makes sure that the configuration file is not world-readable, since your Gmail password is there in plain text.

Enjoy ! In the event that you want to uninstall my script, you can do it manually(since uninstall option is not present in the setup.py script yet). Just open the file ~/.config/autostart/gmailnotifier.desktop in your favorite text editor. Note down the line which has an ‘Exec’ in it as the first word. That line would be something like:

Exec=/path/given/while/running/setup.py/gmailnotifier/gmailnotifier.py

Note down the path, excluding the gmailnotifier part. Here it would be

/path/given/while/running/setup.py

Go to that path and delete the gmailnotifier folder altogether. After that, close the ~/.config/autostart/gmailnotifier.desktop file and delete that also. That’s it.

And in case you are wondering how this looks like, here is a screenshot of it in my Ubuntu Jaunty installation. Look at the top right hand corner. It says I have 3 new mails.

gmailnotifier_in_action

Also, if you have not noticed by now, once installed my notifier script installs itself as a gnome startup program. If you go to ‘System->Preferences->Startup Applications’ you can see a new entry named ‘gmailnotifier’. Here is a screenshot of that too, just so that you don’t get surprised later when you see this new thing there all by itself.

gmailnotifier_installs_itself_as_a_startup_program

Read on if you want to know the technical details of my notifier. Basically my notifier depends on chiefly two main libraries - glib and pynotify. Glib is a general purpose library that is the foundation for GTK+ but more than that, it is a very high quality general purpose library that you can use freely in your other programs. Pynotify, on the other hand gives python bindings to the libnotify library.

In my script I first create a glib main loop. A main loop is an event loop that waits for events waiting indefinitely. Yeah, you guessed it, a glib main loop is at the heart of all GTK+ GUI applications which are fundamentally event driven and respond to mouse clicks, drags/drops and key events. But before I start the loop, I register for a timer callback every n seconds. This n is the interval the script would check your inbox for new mails.

This is one of the values you supply while running the setup script. Anyway, whenever this timer expires, the timer callback is called and this callback logs in, checks the Gmail RSS feed and informs you if there are any new mails. The point to be noted here is that new mails here mean mails that are ‘new’ to the script not to your inbox. Since this script does not mark new mails as read after displaying them, it maintains its own 2 buffers of old mails and new mails respectively. Any mail that is present in the new mail buffer but not in the old mail buffer is flagged as new and this count is what is shown in the the pop up.

As usual, comments/suggestions/bug reports are welcome if you liked my gmailnotifier!

admin Linux, Ubuntu , , ,

A nice little Nautilus plugin to enqueue audio files into Rhythmbox

May 19th, 2009

Nautilus is the default file manager in Gnome for Linux. And Rhythmbox is the official Gnome music player.  Rhythmbox supports many advanced features like Internet Radio, Library management, support for Apple iPod, DAAP shares and MTP to name a few.

So the other day, I had an idea to find a way to directly enqueue an audio file into the rhythmbox play queue. If you have used Winamp over windows, it is akin to the ‘Enqueue in Winamp’ option that windows explorer provides for audio files if you have installed Winamp in your machine and right clicked over any audio file.

So first I searched if such a Nautilus plugin was really already available. To my happiness I found one plugin, written in python for a similar use but for enqueueing into the playlist of the Audacious, another music player on Linux. So, I downloaded it, and after a few minutes of hacking, it was ready for rhythmbox. So I can’t take entire credit for creating this plugin ;-).

The only trouble I had was to find out which option to use with rhythmbox from the command line to import the audio file into the library AND enqueue it into tha play queue. The man page did not mention anything. Then I downloaded the entire rhythmbox source code and finally from the code was able to know how to achieve what I wanted.

So here it is. Click here to download the plugin, add-to-rhythmbox.py. Installing this plugin is really easy. Just follow the following steps:

1. First, install python-nautilus package which gives the python bindings for Nautilus:

sudo apt-get install python-nautilus

2. Create a folder called ‘python-extensions’ within .nautilus within your home folder. i.e if your home folder is /home/foobar then create /home/foobar/.nautilus/python-extensions.

3. Copy the downloaded script, `add-to-rhythmbox.py` into this python-extensions folder.


4. Restart nautilus with the command:

killall nautilus

That’s it. Now you can right click over any audio file and see the new option to enqueue that file into the rhythmbox play queue. Here is a screenshot of how it looks like:

Screenshot of my Nautilus plugin.

Screenshot of my Nautilus plugin to enqueue an audio file into Rhythmbox.

Hope this plugin would prove useful to all you Linux/Gnome users. Ideally I should have written this using dbus but was too lazy to do so. Maybe next time I would do that and post version 0.2. ;-)

Until my next post, g’bye and take care!

admin Linux, Ubuntu , , , ,

10 cool Ubuntu applications to boost your productivity.

March 26th, 2009

I have been using Ubuntu for quite some time now and am quite hooked onto it. I like Ubuntu for its simple yet clear looks, ease of software installation and ease of customization all at the same time. Here is a list of 10 cool Ubuntu applications which will boost your productivity.

Note that, this is a subjective list based on what I feel would be productive. Your opinion and mileage would vary based on your personal taste and priority of what you like to do with your Linux box. Also note, all these applications referred here are based on an ‘Intrepid Ibex’ installation.

1. Terminator:

screenshot-seemantavyasa-tmp-terminator

Terminator is a replacement for the gnome-terminal. I personally used gnome-terminal but ever since I came across terminator, I have been using it, forgetting gnome-terminal in the process. The main difference between terminator and gnome-terminal is that terminator supports splitting the terminal window into horizontal and/or vertical sub-terminals AND tabbed terminals while gnome-terminal ONLY supports tabbed terminals.

Installation:

sudo apt-get install terminator

The way I use terminator is to create a permanent ‘root’ window so that all commands that need to be ’sudo-ed’ can be directly given here. Remaining windows are created on a need basis to work on non root stuff.

Usage:
Once installed, it would appear in Applications->Accessories->Terminator, in the gnome desktop environment.

Link:
http://linux.softpedia.com/get/Terminals/GNOME-Terminator-29392.shtml

2. Gnome do:screenshot-1

Gnome do is a kind of keyboard based program launcher(similar to the popular launchy application in windows). You can summon Gnome do with Win+Space keyboard combination and type whatever application you want to fire up. Gnome do performs an intelligent match based on your application usage pattern and then you can ‘do’ it or in other words, execute it.

But the best reason to gnome do is its new docky interface that comes with version 0.8.0 onwards. In my opinion, this is the BEST gnome dock I have ever seen. Do not want to sound demeaning to the popular AWN and the Cairo dock, but gnome do docky is the best dock out there. First of all, docky is not as slow as AWN and the effects are much more slick than Cairo dock. Also configuration of docky is MUCH simpler than configuring the Cairo dock. And it runs fastest out of the three. Way to go, docky!! Below is Gnome do in ‘do’ mode where I summoned it by typing Win+Space and just typed A N J U. It matched that with the Anjuta IDE. Pressing ‘Enter’
key here launches Anjuta.

screenshot-2

Installation:

sudo apt-get install gnome-do gnome-do-plugins

Usage:
Once installed, it would appear in Applications->Accessories->Gnome Do, in the gnome desktop environment.

After launching, a nice looking dock comes at the bottom of your screen with all the application icons.
You can press Win+Space to summon the ‘do’ interface and summon any program to execute. Please note however, by default Gnome do won’t come up in docky mode right after installation. You need to change its appearance from classic mode to docky mode in its ‘Preferences’ tab.

Link:
http://do.davebsd.com/

3. Screenlets:

Gnome screenlets is Linux’s answer to the popular desktop widgets that you occasionally see in Windows, whether from Konfabulator or the native ones in Vista. I tried many ’screenlet-esque’ packages like gDesklets, aDesklets etc. but screenlets stole the show. Main reason is it is MUCH more stable and usable than gDesklets or aDesklets. Besides, if you know python, writing new screenlet becomes a breeze.screenshot

In fact the package includes an ‘example’ screenlet that does not nothing but is a skeleton python screenlet script that you can modify to create your screenlet within minutes. It’s open source, dude! Enjoy!

Installation:

sudo apt-get install screenlets screenlets-doc

Usage:
Once installed, it would appear in Applications->Accessories->Screenlets in the gnome desktop
environment.This brings up the screenlet control center so to speak, from where you can centrally control the
activation/deactivation/configuration of all screenlets. There are a plethora of screenlets too, right from
weather, to calendar to CPU meter and what not.

Link:
http://screenlets.org/index.php/Home

4. Devhelp:

If you develop applications in the gnome environment, then chances are you must yearn for a centralized place for documentation. Nah, I am not speaking of man pages that can be viewed in the terminal , but specific documentation like glib APIs or LibGlade APIs. Then devhelp is the right application for you.

screenshot-gtk-reference-manual-gtkwindow-1The best part is, as and when you keep installing different gnome libraries and their associated documentation using apt or synaptics paackage manager, it keeps on adding those documentation packages  into the devhelp library.  That way, you always have a centralized repository of information at your fingertips. Happy hacking with DevHelp!

Installation:

sudo apt-get install devhelp devhelp-common libdevhelp-1.o

Usage:
Once installed, it is accessible from Applications->Programming->Devhelp

Link:
http://live.gnome.org/devhelp


5.  Tilda:

Ok, so you need to access the command line ever so often for doing some of your tasks through the command line. But you think that clicking on the minimised terminator icon or gnome-terminal for that matter, is time consuming and sucks. Never could have agreed more ! I agree for some time consuming tasks it might make sense to click on the minimised terminator icon, maximise it and do your work. But for giving simple one liner commands that becomes an overhead. That’s where I use Tilda. I summon tilda to do normal routine stuff like delete a particular folder, create symbolic link etc.. However, when I think that I would be using the terminal for some extended period of time, then I use terminator.

screenshot-3

If you have played games like Quake or Doom then you would remember that pressing the ’tilde’ key would cause a game console to drop down where you could give in-game commands or chat with your teammates over the network. Tilda does exactly that. Press the ’tilde’ key and voila ! A terminal drops down where you can do all your neat stuff. Done? Press tilde again and there it vanishes leaving you to work with whatver you were doing. It is so non-intrusive and yet always there for you to summon it, whenever you need it. This happens to be one of my most often used program in Ubuntu. In case you are wondering why ’tilda’ is not called ’tilde’ and called ’tilda’ instead then as per the website, it seems ’tilde’ name was already taken in sourceforge when the author registered his software.

Installation:

sudo apt-get install tilda

Usage:
Tilda runs in the background by default pressing tilde(~) summons tilda.  Presising tilde key again sends it back to the background.

Link:
http://tilda.sourceforge.net/wiki/index.php/Main_Page

6. Tomboy:

While on the gnome desktop, you may have needed to take notes on certain things. Well, use tomboy for that. Ah, you would say, whats so special about a note taking application. Well for one, in tomboy you can link your notes. You can have a main note, and then each link in your main note can be a hyperlink opening another sub-note and so on. Secondly, if you modify the link in the sub-note to correct a typo or any other reason for that matter, tomboy would automatically rename the link in the main note. Neat, eh? And if that’s not all, tomboy also enables you to synchronize your notes at a centralized web server ! Check it out for more details.

screenshot-41

Installation:

sudo apt-get install tomboy

Usage:
Once installed, accessible from Applications->Accessories->Tomboy Notes

Link:
http://live.gnome.org/Tomboy

7. Nautilus scripts:

Nautilus is the default gnome file manager. If you install these scripts in nautilus, you can multiply your productivity a million times because you can achieve almost anything just by right-clicking and then selecting things like, open command prompt here, archive file, extract here etc. This greatly enhances productiviy as this screenshot will illustrate. There are literally a plethora of options available when you install these scripts and not just the three examples mentioned above.

screenshot-file-browser-1

Installation:
Download and follow the instructions mentioned in the below link.

Usage:
While in the file manager, right click and select the script you want to execute. Above screenshot will clarify better.

Link:
http://g-scripts.sourceforge.net/

8. Preload:

Preload is an adaptive read-ahead daemon that is designed to decrease the load time of software. It is adaptive because it analyzes your application access pattern and then caches those applications in RAM so as to decrease their load times. As per reports I have heard, it leads to as much as 30% decrease in load times. I have indeed observed faster load times for Firefox after installing preload.

Installation:

sudo apt-get install preload

Usage:
Nothing. Preload is a daemon which would run at startup once you install it. So, just install and enjoy faster load times !

Link:
http://www.techthrob.com/2009/03/02/drastically-speed-up-your-linux-system-with-preload/

9. ffmpeg:

Want to rip out the audio of a video file you have? Want to add an audio track to a video which does not have sound? Want to convert your AVIs into flv format before uploading them to youtube? Want to transcode from ogg video format to AVI? You just think of it, and ffmpeg does it! It’s a swiss army knife for all who want to transcode video files.

screenshot-seemantavyasa-hb-terminator

The only minus is that its plethora of options can scare away the casual user. But there are a host of sites which would give you a quickstart guide sort of thing to get started on ffmpeg the quick and dirty way. If you are curious, in the above screenshot, I am inserting an audio mp3 track(audio_track.mp3) into an ogg video file(out-9.ogv) and then encoding the resulting output directly into flv(audio_video.flv) format. Above,  you can see ffmpeg at work as it outputs its progress.

Installation:

sudo apt-get install ffmpeg

Usage:
Are you kidding? There are so many options for ffmpeg that I can’t even dare to put them here. Try out this link to get a feel of the power of ffmpeg. ffmpeg is a command line application accessible from the bash prompt once installed.

Link:
http://ffmpeg.mplayerhq.hu/

10. VLC Media player:

This is another must have application on Ubuntu. I have seen VLC player able to play almost any *damn* format on my Linux box. It supports so many formats that you would lose count if you try to remember each one of them. VLC player truly and undoubtedly remains the video media player of choice for me on Ubuntu. In my opinion, having VLC player is productive because you install it once and then forget it and any other codec-not-found woes ;-)
screenshot-monsters_incmp4-vlc-media-player

Installation:

sudo apt-get install vlc

Usage:
Once installed, it is accessible from Applications->Sound and Video->VL Media Player

Link:
http://www.videolan.org/

So there, I have reached the end of my list. I hope installing these applications proves to be a real productivity booster for you just as it has been for me. If you enjoyed reading this post or it proved useful to you, then I would love to hear more from you. Leave a comment/question/suggestion/whatever for me to read on my blog.

So much for this time, see ya around!

admin Linux, Tech, Ubuntu , , , ,

Fun with the Maxim DS5000T microcontroller

March 19th, 2009

A few months ago, I got myself two DS5000T microcontrollers. DS5000T is a popular product from Maxim semiconductors. It is (yet) another microcontroller based on the 8051 core. However, it is much advanced than plain 8051s or even the very popular AT89S52 microcontroller.

A very special word of thanks to Maxim who made the free samples of DS5000T available to me free of cost. In the market they cost about 50 USD each. Without their support I would not have been able to make this project. So thank you, Maxim ! :D

So here is how a DS5000T looks like:

IMG_0649

The DS5000T is considered advanced because it has an in built serial bootloader within it as well as its entire RAM contents are backed up even when you do not connect power. This makes it one of the most expensive 8051 based microcontrollers out there today. Because of the serial bootloader, we do not need any specialized programming hardware to burn the microcontroller. All we need to do is connect the microcontroller to a PC serial port and then follow a particular protocol and then send the hex file we wish to burn in it using that particular protocol. The bootloader accepts the data stream through the serial port and performs in-application programming of the device, thereby programming our hex file in it. Oh and did I mention it has an inbuilt real time clock as well ?

When I got these DS5000Ts, I at once set out to create a sort of development board for it. I was lucky to come across this link which gave the complete schematic for just such a thing. So I went ahead and created my board. Here is a snap of it:

img-0642

On the left hand side, you can see two connectors. The bigger grey one is the RS232 or the serial port connector. The other end of it goes directly to my laptop. Well, not exactly since I do not have a serial port on my laptop. It actually connects to the output of my USB-to-Serial converter.

The smaller white one is the USB which powers the development board. On the top there is a small slider switch which is used to switch the board from programming mode to run mode and vice versa. All these details would be explained in the forthcoming video.

The big black IC that you see at the center is the DS5000T. It is somewhat bigger because of the fact that the DS5000T is completely based on NV RAM which is maintained by a small in built battery. This battery maintains the program as well as data contents for as long as 10 years. So technically, this microcontroller does not have any flash ROM or EEPROM. It contains NV RAM only, all of it. The NV RAM can be partitioned and a part of it can be configured to act as program memory and the other as data memory (8051 has a Harvard architecture). There is a total of 32KB available on the DS5000T and so I can configure the entire 32KB as program without any data or a part of the 32 Kb as program and the remaining part as data. I can also potentially misconfigure it to have 0 Kb program and 32 Kb data. But then the microcontroller would not work at all !

Now comes the biggest problem: I had my development board but no software to burn it. Well, there was this utility from Maxim itself to load hex files into it using the serial bootloader but then it was windows based and did not run on Linux. Being a Linux fanatic, I set out to create a Linux port for that loading software.

Just then it dawned upon me that I could use my earlier ‘gnuProload’ and enhance it so that it could talk to a DS5000T microcontroller as well. In case you have not read my earlier story on ‘gnuProload’ I suggest you do so, primarily because it is a very interesting read and secondly, it would some give you some background about gnuProload itself.

So after a weekend hacking session I was ready with my new version of gnuProload, which I preferred to call version 2.1. I made considerable enhancements in this version. First there was this ‘preferences’ dialog where the user could choose various settings like serial port device, baud rate, microcontroller type etc.. Secondly, I fixed some other bugs and made the operation much more smoother than the previous version. Thirdly, gnuProload settings were now entirely driven from a user config file. Various settings could be changed by changing the config file which was parsed once when gnuProload started up.

I made a screencast to show a demo of gnuProload. It is followed by the actual LED blinking demo wherein you can see how a small assembly program that I have written blinks an LED. Do post in your comments if you like the video :-) (Clink on the HD button in Youtube if you want a larger, better quality version of the video)

So, that was about me and my DS5000T. Here’s hoping I would create more exciting stuff with my DS5000Ts !

P.S. If you wondering how I created my screencast video then it is actually a combination of audacity, record-my-desktop, gnome-sound-recorder, ffmpeg and Windows Movie Maker. Phew!

P.P.S. Due to problems with the sound quality I was getting with record-mydesktop, I had to record the sound separately and then add it into the main screencast video. This is where audacity and ffmpeg came in handy. Maybe I shall write a small how to do this as well !

admin Embedded Hobbyist, Linux, My Creations, Tech

Cool screenlet to monitor Hard disk Load Cycle count on Ubuntu.

March 8th, 2009

If you are using Ubuntu, then chances are that you already know of the notorious issue which causes hard disk to wear down three times as fast on laptops.

More details about this bug can be accessed here. The Ubuntu team has claimed to fix this bug and currently it is enabled in the Ubuntu Intrepid ‘proposed’ repositories. However, you would have to wait a while to get the official fix in the ‘Intrepid’ repositories. There is also an ‘ugly’ fix for this issue which is an unofficial fix which can be found here.

The root cause of this issue is the very high rate of increase of the Load_Cycle_Count of laptop hard disks causing more wear and tear of your disk. The ‘ugly’ fix manages to bring this rate down to a reasonable level. However, you may want to keep tabs on your Load_Cycle_Count for many reasons. That’s where my screenlet comes into the picture.

I already made a post on Ubuntuforums on this. I have given detailed step-by-step instructions on creating the screenlet which shows the current Load_Cycle_Count, the current HDD temperature and the average Load_Cycle_Count per hour. Just click here and go to my Ubuntuforums post.

Oh, in case you are wondering, this is how my desktop looks after activating the screenlet(Click on it for actual size):

My desktop screenshot showing the screenlet in action.

And yes, whatever do you with your computer, you are at your own. This is an informative post. While my every intention is to help you, I can in no way be blamed if your computer goes boom !

admin Linux, Tech, Ubuntu , ,

In defence of Ubuntu against old school hackers.

March 7th, 2009

ubuntulogo1

I have been using Ubuntu since version 5.04 came out. And let me add, this is the damnest Linux distro out there today !! I was a Debian devotee but after 4 years of Ubuntu, now I am a born-again Ubuntu convert. I like it mainly due to its EXTREME ease of use. The Anti-ubuntu camp must be drawing its swords and lunging for my throat with the previous statement, I am sure. They believe that Ubuntu has betrayed the hacker community by making things a mere click away. They believe Ubuntu is bad for the hacker ethos, an ethos that encourages exploration and DIY(Do-It-Yourself).

While I fully subscribe to the hacker ethos, to them I would say only one thing: If hacking Linux is the ONLY thing you ever did then probably Ubuntu is not for you and you should stick to an old-school distro(like Slackware). Ubuntu might be really taking the joy of doing things ‘Yourself’ from you.

But what if I am NOT a Linux hacker? What if my interests are in some other field like Robotics or embedded systems? What if I like to hack on embedded stuff like 8-bit microprocessors and stuff? I still hack ON Linux, but I do not hack Linux itself. Linux becomes the platform for me, a means to achieve and end, and a FREE means at that too! Note the distinction I have drawn here: Hacking (something) ON Linux is different from Hacking Linux.

This is where Ubuntu scores over other distros: It does its job so smoothly that it allows me to focus on whatever I want and then quickly fades to the background never reminding that it even existed. That is what OSes are supposed to be, right? If I get as OS, then I should not spend more than half of my time rigging it with scripts and binaries and customizing it to work as I desire. Well, if I ENJOYED doing all that rigging and writing scripts then it is a different matter. But I do not. Truth be told, there are very few people who solely are focused on that. Linux users have a several reasons for using Linux: Some want the freedom of using Open Source, some don’t want to spend hundreds of dollars in buying closed source alternatives,  some are mere users trying out a different look and feel and way to do things and some like me like to hack on 8-bit systems and embedded stuff. And some of course, are old school hackers who want to control every aspect of their Linux system. (Linux from scratch is an interesting alternative for such people.)

And the only way to serve such a diverse user base is when Linux becomes CONVENIENT to run. Why should an user of sdcc (the Small Device C compiler : a free and open source compiler for 8051 8-bit microcontroller) should bother with resolving dependencies manually when the same can be done seamlessly by the aptitude package manager?

On the other hand, if you ARE really a slackware type hacker who wants to customize and rig everything, then Ubuntu allows you to do that too, because deep down, it is still Linux and follows the same philosophy when it comes to running the system as a whole.

So you see, Ubuntu gives a win-win situation for everyone! And that is why I am big fan of it. It allows me to hack on my beloved AT89S52, or my favorite ATmega32 , or write GTK+ based applications. And at the same time it allows me to add my own customization tid-bits once in a while (hey, I AM a embedded hacker, but that does not mean I don’t try my hand at writing system administration scripts every now and then ;-) )

To conclude: Install Ubuntu and do whatver you have always wanted to do. Go, chase your dreams!

admin Linux, Tech, Ubuntu , ,