Showing posts with label GNU/Linux. Show all posts
Showing posts with label GNU/Linux. Show all posts

Tuesday, March 22, 2011

Linux: Making the jump to Free Software

I was reading an article about introducing your better half to Linux. It's something every geek goes through: having to pick between their girlfriend and their favourite operating system (good thing most of us are hopelessly single! :P ). But in all seriousness, weaning off Windows isn't that hard.

My Desktop at the moment

There are obvious categories of people that this post is not meant for: Hardcore gamers (let's face it, gaming options on Linux are seriously limited), People who live on Visual Studio/Photoshop and Microsoft employees. For everyone else, there's Linux. ;)

I started using Fedora as my primary OS last year, when I got my own laptop (I have since switched to Ubuntu due to the whole 'ease of finding and installing software' (PPAs) thing). Using it on the desktop was never an option. For one, I had a USB modem (unsupported by Linux) and my mom was constantly on Excel, and retraining her to use Linux would've been a lot of work (not that difficult, but I tend to cut corners when it comes to my parents).

Anyhoo, I was never a serious gamer, nor used Office obsessively. Most of my work is done on Google Docs (or in text files. I'm using gedit to write this post) and most of the time I'm stuck on a browser (Firefox 4 there, which coincidentally is leaving the testing phase and being released today!). Banshee is much better a music player than either Windows Media Player or Songbird, and GIMP works really well if you're not really into photoshop but want to mess around with some images or something (there are a load of extensions for it that make so many things possible). Emesene is an awesome Windows Live Messenger clone, and Pidgin is the best chat client that money can't buy.

And for those pesky tasks that can only be done on Windows, I have installed Windows XP inside a Sun VM VirtualBox (but seriously, FUCK ORACLE!). I've run MS Office 2003 and SPSS 13 (a statistical package by IBM) without issue in the virtual box.

I've used Linux exclusively for over 6 months now, and save a few occasions when newly installed kernel images refused to boot (rebooting always fixed the issue), I have faced no major issues with the OS. No blue screens, no security threats, no OS crashes and little or no unstable software. This in spite of me using Alpha or Beta quality software (Hotot and Firefox).

So, my friendly advice to all of you looking for a change is: Think about it. Find out about it. Run a live CD, experience it. Discover that Linux is not all typing complex commands into the console (in fact, the themes coming out these days can pwn Windows sideways!).

Also, for the latest updates on Ubuntu and free software, check out OMG! Ubuntu! :)

Wednesday, March 16, 2011

Why Windows is better than Linux

Wallpapers

Can you find one wallpaper for Linux that doesn't have a penguin or a gnu in it?

You don't have to use the command line in Windows, ever

(...because it's underpowered)

Anything runs on Windows


Even scripts off some random site that some script kid in Russia copy pasted together to steal your personal data. M$ loves 'em script kids!

Windows never asks for the root password


Any user can delete all the OS-critical files. Such an egalitarian design.

The blue screen of death

From here
So blue. So pretty. I think I'm in love.

If my little jab at your beloved Windows pisses you off, you should totally read this! :D

Thursday, November 18, 2010

2nd Semester ST Project

The main intention I had when setting up this blog was to share coding related stuff and other content that would be deemed boring and too tech-y for my other blog. The following post is about an accomplishment of mine that I'm very happy about, and this seems like the perfect place to share it.

Software Technology was my favourite subject during my (recently concluded) second semester at SLIIT. We were blessed with a wonderful lecturer and assistant lecturer and this, combined with my love for code, resulted in one of the most enjoyable learning experiences I've ever had in my life, comparable to that time during A/Ls that we learned about sub-atomic particles and nuclear energy, or the time in 8th grade which I started my first website on Yahoo! Geocities. (RIP)

So, at the end of the semester, we had to do an assignment based on the stuff we learned. It was done in C++, in Visual Studio, this neat little Windows Forms Application. But all that Microsoft goodness came at a price, and our simple application was 1.8 megabytes large. Another drawback was that it wasn't portable, meaning poor old me couldn't compile it in my GNU/Linux machine.

So after we finished our semester, and began our two month long vacation, I reimplemented the program in C. I simplified the problem that we were given (it would otherwise need an insane amount of coding, which I - a lone programmer without the incentive of assignment marks - would find difficult to do), but also switched the data structure we used to store the records from a linked list to a binary tree. The advantages of using a binary tree would be  that searching and inserting would be pretty fast. I also did use a post order deletion method to ensure that every record on the tree was deleted before exiting the program, so as to ensure that there were no memory leaks.

My original idea for the C program was to implement it in GTK+ (a cross platform widget toolkit, itself written in C), but I settled for the command line in the end because I had no experience with GTK (and very little experience with C itself) and the learning curve could've been too steep to handle. But I did what I could do, and I finished up with this, a working system that does what does. :) And in the process, I learned how to use malloc and got a new found sense of respect for the 'new' feature in C++ which makes memory allocation so much easier.

So this concludes this long, boring and pointless ramble about a piece of code that doesn't really do much at all. But it is released under the GNU general public licence, not because the free software foundation needs crapware like mine, but because it feels so right to give back to the community that has given us so much, including (but not limited to) the OS that I'm using (GNU), the kernel (Linux), the distro (Ubuntu), the web browser (Firefox) as well as the compiler (GCC) and the text editor (gedit) that I used to create the program. Long live software freedom! :)