Friday 29 June 2007

FSF releases the GNU General Public License, version 3

The Free Software Foundation (FSF) today released version 3 of the GNU General Public License (GNU GPL), the world's most popular free software license. In a momentous occasion at Boston, Massachusetts USA, Richard.M.Stallman released the final text of GPLv3 which went through an unprecedented drafting process that has seen four published drafts in eighteen months.

Over and above the features of GPLv2, these are some of the additional features (as I have understood) of the new GPL licence known popularly as GPLv3.
  • GPLv3 grants patent licence to every user who use a GPLv3 licenced software thus coming down heavily on software patents.
  • Better cooperation with other GPL-like licences
  • GPL version 3 does not prohibit DRM. However, it prohibits the use of tivoization and Treacherous Computing to stop users from changing the software.

Read the full press release as well as the final text of GPLv3 at the FSF website.

Update: Bruce Byfield has written an even better understood synopsis of the newly released GPLv3 license. And Rob Miller reports that GPLv3 has been submitted to Open Source Initiative for approval.

Red Hat CEO says he held talks with Microsoft ...

I came across this very interesting piece of news on Reuters which says Red Hat CEO had at one point of time held talks with Microsoft regarding patents (infringement?). When queried Matthew Szulik refused to answer the question as to whether Red Hat is now in talks with Microsoft.

It is surprising to note that after all the hoopla and bonhomie evident in most Linux based news sites regarding Linux's (aparent) immunity to patent infringement claims, it is true that there is an under current of apprehensiveness amoung most Linux heavy weights such as Red Hat and the likes as to what strong arm tactics Microsoft has lined up for the Linux distributors who do not play ball with it.

Here is a quote from the article ...
...
An update to that license, version 3, is about to be implemented. It will forbid companies from distributing Linux software if they enter into patent agreements like the ones that Microsoft signed with Novell.

The Free Software Foundation, which authored the General Public License and owns rights to much of the code at the heart of Red Hat Enterprise Linux, inserted that clause into the agreement in an effort to discourage other open-source software developers from signing patent deals with Microsoft.

The authors of that license (read FSF) have said they believe that such patent deals will help Microsoft back claims that its intellectual property is being violated by code in Linux and other open source software, eventually giving the company ammunition to seek billions of dollars in license fees from users of open-source software.

This is evidently the reason why FSF spearheaded by Richard M Stallman is too keen to release GPLv3 which has provisions to negate any foul play that the likes of Microsoft can bring about. And this is why in my opinion, Linux should also move to GPLv3 as soon as possible instead of sticking to just GPLv2. Not doing it would be suicidal...

Monday 25 June 2007

Timeline of web browsers

I came across this timeline of web browsers which is very interesting. The timeline threw up a number of surprises for me. For example, only five web browsers have ever been developed from scratch or in other words from grounds up. And surprise! one of them is not the infamous Internet Explorer. In fact, the Internet Explorer (according to the timeline) is originally based on the code base of Mosaic web browser.

The five original web browsers are Mosaic, Opera, Konqueror, Omniweb and iCab. All the rest of the brood have a percentage of the code of either Mosaic or Konqueror. So without further ado, here is the timeline of the web browsers ever developed.... (Courtesy: Wikimedia.org)


Please note:
The image is an SVG format and so you will need a web browser which displays svg images (Eg: Firefox).

Related articles:
Mind map of Linux distributions
A Timeline of the History of Unix/Linux Revisited

Friday 22 June 2007

Performance tweaks for Ubuntu Feisty Fawn

Ubuntu is well on its way to becoming the neophytes Linux distribution going by the recent news of Dell deciding to sell their PCs pre-loaded with Ubuntu. And indeed Ubuntu is an excellent candidate for being pre-loaded on Dell PCs - what with its out of the box support for most peripheral devices.

Agreed, I have run into trouble in installing the latest version of Ubuntu (Feisty fawn) on my 2 year old Pentium IV machine with around 630 MB SDRAM as do many others. But this is something which I believe will be sorted out in later versions of Ubuntu - and I am willing to wait. In all other respects, we have a very promising distribution here which is based on the cutting edge Debian unstable.

Micke has written a good article explaining ways of speeding up your machine running Ubuntu Feisty Fawn. Apart from installing all the media codecs to make it a complete desktop, he also provides over 14 ways of fine tuning your Ubuntu so as to make it run faster.

Related Posts:
Book Review: Ubuntu Hacks
AptonCD - Create a backup of all the packages you have installed in Ubuntu
How to install anything in Ubuntu
Essential housekeeping in Ubuntu

11 Ways to fix your laptop

In these days when $100 laptops are making news, it has become really common to find people lugging a laptop to and from their workplace. A laptop is fast metamorphosing from a rich man's toy to a common man's portable work horse. And as the case may be, when you buy/own a laptop the number one thing on your mind should be how to take good care of it so as to prolong its life and thus squeeze out every penny worth of work from it.

And when things do go wrong as is bound to happen with all hardware, there are simple solutions which you can try out first before calling a hardware technician. For example, there are ready solutions which you can try out for situations such as laptop overheating, upgrading a laptop, detecting hard drive failure, network troubleshooting, system crash, fixing dead pixels in laptops and so on. Mike Spitalieri has written an interesting article titled "11 ways to fix your laptop" explaining just that and gives tips on overcoming these situations which many laptop owners will face at one time or the other.

While some tips such as defragmenting your hard drive does not apply if you are running Linux on your laptop, most hardware troubleshooting tips he details are applicable to even Linux users.

Related articles:
Do it yourself laptop
New name for OLPC
Status of the OLPC project

Tuesday 19 June 2007

Prof Fizzwizzle and the Molten Mystery - A beautiful puzzle game for Linux

Remember the time when I reviewed a very beautiful game called FizzBall which runs on Linux and which was developed by a young gaming company called Grubby games ? Well, they have released yet another game called "Prof. Fizzwizzle and the Molten Mystery" - this time a game of puzzles. The protagonist of the new game is again Prof. Fizzwizzle and the story line goes thus :

While on vacation, the professor Fizzwizzle comes across a simmering volcano. And his ever inquisitive mind prompts him to find ways of studying the volcano. But alas, on the way he meets his former pupil turned evil genius Penny Pyroclast who with the aid of her trusty flying robots (bat-bots) make his job that much difficult by spreading across his path a number of devious puzzles. And to reach the volcano, the professor will have to solve these puzzles.

Game play is quite simple and involves moving Prof Fizzwizzle from point A to point B. But in between, he has to surmount many obstacles. To aid him in clearing the path, he can use different objects such as magnets, barrels, crates, teleports, guns and many other things.

Fig: Move the Prof from point A to point B.

Prof Fizzwizzle can move only in four directions - left,right,up and down - which is controlled by the four arrow keys of your computer (The keys can be changed from the settings dialog) and his movements are restricted by the fact that you can't make him jump. So while it is easy to move him from a higher plane to a lower plane, to move him up, either the terrain should allow him or you have to make him use the objects at his disposal. And this calls for thinking through the steps which is what the puzzle is all about.

One thing I really like about the games developed by Grubby games is their rich cartoony graphics painted with a hew of colors. The games are developed with the kids as well as the adults in mind. And Prof Fizzwizzle is no different. I was so engaged in playing the game that I did not see the time fly by. And my whole family had a whale of a time playing the game.

Fig: A random level in the game

Coming back to the game, Professor Fizzwizzle and the molten mystery provides three different level sets, them being Regular levels, Advanced levels and Kids levels.

Fig: Yet another level - move the professor to the location pointed by the red arrow

While the regular and advanced levels require applying some logical thought, the kids levels are simple to solve and require little out of the box thinking.

There are numerous objects and terrains in this game and the interesting thing is that all the objects follow the laws of physics. For instance, when like poles of magnets face each other, the magnets repel each other and vice versa, crates can't move on gravel - unless they are freezed, hot metal objects transfer their heat when they come in contact with cooler objects and so on. And, you have to use these laws of physics to achieve your goal of solving the puzzles which is to help the Prof. move to his final destination.

The game is amazingly well designed. There are 210 levels in all and each one of them are unique. The levels are automatically saved which means you can close the game anytime and then come back later to pick up where you left off. Each users score, his game options and levels completed are tracked separately so different people can play the game simultaneously without any overlap. The developers have also been thoughtful in embedding a level editor in the game to help you create and play your own customized levels. And the "Level Manager" will help you manage the customized levels you have created. Grubby games provides additional levels which you can download from within the level manager and even upload your own customized levels to their website to share with others.

Fig: Kids levels are great fun to play

So what happens if you are unable to solve a level? Like for instance, I solved the regular level set up to level 59 and then in Level 60, I got stumped. To circumvent such situations, the game has an inbuilt "Show solutions" button which you can access from the menu. Instead of wringing my hands in despair, I navigated to the menu and pressed the "show solution" button. And guess what, Prof. Fizzwizzle solved the puzzle by himself. This is a very helpful option which has been incorporated in the game play which enhances the overall value of this game. Because as all puzzle games go, you reach a stage where the puzzle is a tad complex for you to solve and showing the solution makes it easier to move to the next level or even retry the level keeping the solution in mind.

Fig: Game settings screen - the game remembers each player's settings

This game is full of pleasant surprises. There is a pedometer on the lower right corner of the screen which records the number of steps Prof. Fizzwizzle took to solve each level. This is useful to know who among you solved the puzzle in the least number of turns. The professor can access up to 12 objects spread across the puzzles to aid him in solving each one of them. And you'd better watch out for bat-bots which will chase and overpower the professor if they lay their sights on him. To solve some levels, it is also required that you get your timings right.

Fig: A level from the advanced level set

I noticed on the Grubby games website that they have released an earlier version of the Prof. Fizzwizzle game and when I had a chat with Ryan Clark who is in charge of coding the game, he told me that there are a lot of enhancements in the new version. For one, you have 3 new power-ups namely the heat gun, inflatable teleports, and inflatable bridges which you won't find in the old version of the game. Then the bat-bots are a replacement for the older rage-bots with the added benefit that they can be placed under the terrain which increases the potential number of puzzles that can be created. You can share your score with others online which is yet another enhancement in the new version.

But the number one incentive for me to try this game apart from its excellent features was because the two co-founders of Grubby games - Matt Parry, Ryan Clark and their team have released the game not just for Windows and Mac OSX but also for Linux. I tried the game in four Linux distributions - Debian, Slackware, Fedora and OpenSuse and in each case the game started flawlessly. Obviously, the game does not depend on system wide libraries and is a standalone package which makes it possible to play the game in any Linux distribution.

Considering the sheer number of levels in the game coupled with enhanced graphics, superb gameplay and user friendly options, this game is well worth the $19.95 dollars charged for its full version. Mind you, they have also released a Linux version which is doubly exciting.

You can download a demo version of the game from their website and try it out before you decide to buy it.

Sunday 17 June 2007

Know your regular expressions

You can build and test regular expressions (regexps) on UNIX® systems in several ways. Discover the available tools and techniques that can help you learn how to construct regular expressions for various programs and languages.

A regular expression is a notation for describing a pattern that matches a set of strings and this is common across many programs and languages. These various regexp implementations differ to some degree in the finery of their details, but the principles for learning to build regexps are common for all.

For example, in Linux there are different grep implementations such as the ubiquitous grep, egrep, fgrep and so on. And each of them differ from the other in slight manner. egrep and fgrep are generally considered to be superior to grep and support additional features not available in grep. Over a year back, I had posted about a very useful tool in KDE called kregexpeditor which helps one learn to use regular expressions.

Michael Stutz - the author of "The Linux cookbook" and with over 20 years experience under his belt has written a very informative article describing some useful tools and techniques for learning to build and hone regexps across a range of UNIX® applications. He walks one through useful tasks such as highlighting matches,showing only the matches and not the lines, calling a wizard and studying docs.

10 Linux shell tricks you don't already know

Venture cake - a new blog on the horizon has written an insightful piece on the different ways in which one can use common commands to achieve complicated tasks in Linux.

The blog author provides examples in achieving the following :
  • A simple way to send output and errors to the same file. It is known as input-output redirection which I had covered a long time back.
  • Parallelize your loops by backgrounding them.
  • Catch memory leaks by using top command via cron.
  • Redirect output from other programs as standard input to a command directly from the command line.
  • Set a random initial password and force the user to change it.
  • Add Your Public Key to Remote Machines the Easy Way
  • Extract an RPM without any additional software
  • See How a File Has Changed from Factory Defaults
  • Undo Your Network Screwups After You’ve Lost the Connection
  • Check which Ports are Open on a remote machine using 'nc' command.
  • The Easy Way to Extract Tar Archives
  • Use Bash Shell variables - not the same as Bash shell shortcuts - I may add.
  • Never reboot a system for NFS failures
Apart from listing examples of each of them, he also provides in a couple of sentences the benefits and drawbacks of each trick. Check out this very interesting article to find out about the examples and explanation provided.

Thursday 14 June 2007

Linus Torvalds vs Jonathan Schwartz - clash of two titans ?

The fire started when Linus Torvalds wrote a reply to a mail in the Linux kernel mailing list where he pondered on Sun Microsystem's true intentions in willing to release Solaris under a GPLv3 licence and how the rise of Linux has hurt Solaris and how Sun doesn't want to help Linux.

In his own words, this is what Linus said (and I quote parts of the mail):

They may like open source, but Linux _has_ hurt them in the marketplace. A lot.

They want to use Linux resources (_especially_ drivers), but they do *not* want to give anything back (especially ZFS, which seems to be one of their very very few bright spots).

So to Sun, a GPLv3-only release would actually let them look good, and still keep Linux from taking their interesting parts, and would allow them to take at least parts of Linux without giving anything back (ahh, the joys of license fragmentation).

Jonathan Schwartz the president and CEO of Sun Microsystems has written a reply on his blog to Linus Torvalds explaining Sun's true intentions and why it is taking so long for Sun to release Solaris under GPLv3.

But most of all, from where I sit, we should put the swords down - you're not the enemy for us, we're not the enemy for you. Most of the world doesn't have access to the internet - that's the enemy to slay, the divide that separates us. By joining our communities, we can bring transparency and opportunity to the whole planet. Are we after your drivers? No more than you're after ZFS or Crossbow or dtrace - it's not predation, it's prudence. Let's stop wasting time recreating wheels we both need to roll forward.
You may also be interested in reading the comment made on Jonathan Schwartz's blog by OpenBSD founder Theo de Raadt.

Monday 11 June 2007

HTML entry character lookup

I am sure most people will know the HTML markup for an & or a © (Copyright). But what do you do if you have to display other non-english characters such as currencies of countries like the Japanese Yen, Pound and so on... You refer a HTML entry character lookup.

In Linux, if you are running Gnome desktop, you have the Gnome character map which can be used to copy the required characters and paste in the HTML document.

Fig: Gnome character map

There is another easier way though; you can use the online HTML entry character lookup which prints out the HTML code for the characters you are searching. For example, if you want the code for the Pound sign, just type "Pound" in the text box and the web page spits up the equivalent code for what you have typed.

Fig; HTML character lookup

The features of this facility are as follows :
  • Search for entity characters based on how they look (taken from the W3C list of entities)
  • Switch between standard and compressed views
  • Copy the HTML entity to the clipboard
  • Add your own keyword terms and characters to entities
  • Settings stored in a browser cookie
Check out the website here.

Sunday 10 June 2007

Beginner MySQL, PHP and Perl tutorials in pictures

Inpics - short for In Pictures is a website with a difference. While most websites provide tutorials and howtos which are quite verbose, Inpics takes a different path to teach the basics of technology related subjects. It explains things in pictures. And indeed, a picture is worth a 1000 words. The pictures are simple black and white photos.

They have a growing collection of tutorials which are quite easy for beginners. Inpics began as part of a research study conducted for the U.S. Department of Education. The goal was to make it easier for people with learning disabilities to grasp computer subjects.

As part of the study, they created simple, illustration-based tutorials. Everyone who tested them—not just people with learning disabilities— are claimed to have said the new tutorials enabled them to learn faster and easier than conventional text-heavy books.

For the Linux enthusiast, they have a couple of tutorials on MySQL,PHP and Perl which are quite refreshing to follow. Do check them out.

Thursday 7 June 2007

Book Review : The Linux Programmer's Toolbox

What does it take to start writing programs for Linux ? Most people will guess a text editor, knowledge of a programming language and the compiler and libraries of that language would suffice. But ask a professional programmer who has been writing code for Linux and he will differ with you and insist that while the three things stated above can very well help kick start ones programs, other things also come into play in writing efficient programs such as a debugger, memory profiler tools and above all a good understanding of the inner working of Linux kernel and its processes.

The book titled "The Linux Programmer's Toolbox" authored by John Fusco is a book which is a store house of knowledge which aims to make the average Linux/Windows programmer aware of the tools at his disposal which can help him write better programs for Linux.

The book is divided into 10 distinct chapters with the first 4 chapters describing various ways of boosting ones productivity while embarking on writing code for Linux as well as getting to know the various tools at ones disposal.

In the very first chapter titled "Downloading and Installing Open source tools", he talks about the different archive formats commonly used in Linux, various package managers such as Debian's own apt-get, Red Hat's Yum and how to properly authenticate the packages you download to ensure that they are not tampered.

The second chapter deals with building tools from source. Here apart from describing the actual steps involved in compiling the sources, the author also delves into explaining the concept behind the MakeFile, the common variables used in implicit rules and so on. In this chapter one also gets to acquire an understanding of the tools used to create projects as well as examine how these tools work together in the build process.

The book has a chapter exclusively devoted to explaining ways of ambulating through the myriad of documents; tools such as man, info, as well as some of the not so obvious ones. One thing I like about this particular chapter is how the author has provided tables which list a number of recommended manual pages with a short description of each of them.

Linux doesn't have a comprehensive IDE on the lines of Microsoft Visual Studio to develop programs - at least not yet. Most Linux programming gurus are perfectly at home with coding using their favorite text editor. And any book of this stature will be incomplete without a mention of the different editors available for coding in Linux and their pros and cons. The 4th chapter of this book introduces the different editors including Vim and Emacs and discusses their pros and cons. There are numerous tips in this chapter which aims to make writing code much more efficient, productive and a pleasant experience for the average Linux programmer. As a Vi enthusiast, I couldn't help but admire how one can convert Vim editor to work as a code browser with the help of Ctags which is explained in detail.

The fifth chapter titled "What every developer should know about the kernel" is a turning point in the book and gives a comprehensive understanding of the working of the Linux kernel. It is by far the largest chapter - with nearly 100 pages devoted to this topic - in this book. In this chapter the author talks in lucid detail about the different modes in Linux, the process scheduler, device drivers, the I/O scheduler and the memory management in user space, understanding all of which is instrumental in writing better programs for Linux.

The next two chapters deal with Linux processes and the communication between processes. Here one gets to know more about the technical vagaries related to processes such as forking, cloning, process synchronization and the basics of inter process communication. The author has introduced several APIs and basic examples of each.

In the 8th chapter, the author introduces many tools which are installed by default in most Linux distributions which aid in debugging communication between processes. The tools include (but are not limited to) lsof, fuser, stat, hexdump, strace and so on. And each tool is accompanied by its usage and its output with a short discussion of the output.

In the 9th chapter titled "Performance Tuning", one gets to know more about fine tuning ones Linux program. Here the author explains the factors affecting system performance as well as the tools for finding system performance issues.

Finally, the last chapter of this book explores some of the most common debugging tools and techniques for Linux. More specifically, I found the discussion on the use of GNU debugger quite informative.

At the end of each of the 10 chapters in the book, the author has provided a short synopsis of the tools that are used. Also many additional online resources have also been listed where one can acquire more knowledge about the topic being covered. Through out the book, noteworthy sections have been highlighted in dark background which makes it quite eye catching and also easy for quick reference.

The book is written with a slant towards the C language especially when depicting the examples in the latter half of the book. But that is something which can be understood considering that the bulk of the Linux kernel has been written using C language.

Book Specifications

Name : The Linux Programmer's Toolbox
ISBN No: 0-13-219857-8
Author : John Fusco
Publisher : Prentice Hall
No of Pages : 600
Price : Check the latest price at Amazon.com
Verdict : An excellent resource for those who are interested in improving their productivity as a Linux programmer.

Most programmers with Windows background will be forced to make a paradigm shift while embarking to program for Linux. While the Windows programmers could take deceptive comfort within the cozy confines of a Visual IDE, when they make the shift to write Linux programs, they are suddenly faced with the hard facts of programming as it really is. And this book could be an ideal companion for this set of programmers who wish to lessen their learning curve and make programming for Linux a much more pleasurable experience.

Having said that, I found this book to be an ideal companion for any programmer (not necessarily only of Windows background) who wish to develop programs for Linux.

Anatomy of the GNU/Linux kernel

M.Tim Jones an embedded software engineer and the author of several books has written a short but very informative article explaining the anatomy of the GNU/Linux kernel. He starts with a short history of Linux and moves on to giving a brief introduction of Linux kernel and its properties.

Then we get to know the major sub systems of Linux kernel such as the System call interface, Process Management, Virtual File System (VFS), Memory management, Network stack, Architecture and device drivers. Finally there is a short synopsis of the interesting features of Linux kernel.

I found it a very nice read especially with the accompanying images which makes it quite easy to visualize what is explained. After all don't they all say - a picture is worth a 1000 words ?

Read the article on the Anatomy of the Linux kernel at IBM Developerworks to know a little about the working of Linux.

Wednesday 6 June 2007

Download Netscape Navigator ver 9 for Linux

Remember Netscape - the very web browser which once enjoyed a major browser market share and which was nearly killed by Microsoft's anti-competitive practices by its release of Internet Explorer ? The very Netscape navigator whose code base was then released as open source and which lead to the eventual development of the stable and increasingly popular Mozilla and then Firefox? Guess what, it has re-incarnated as Netscape Navigator ver 9.0.

Contrary to popular belief, Netscape Navigator was not dead though its popularity was severely diminished. One of the reasons for it to fall out of favor with the net users was because its succeeding versions accumulated a lot of unnecessary bloat. I remember using Netscape navigator ver 4.0 which was really sleek and then when I upgraded to the next major version, it some how did not live up to the mark of its predecessor.

The new Netscape navigator has shed a lot of fat and is now much sleeker. It is based on Firefox and has a couple of unique features built-in such as :
  • Integration with Netscape portal which is now a social bookmarking site (Yes Netscape website is now a social bookmarking/voting site aka digg.com ). From within the web browser without visiting Netscape, you can share and vote for web pages that you find interesting.
  • Read the latest news directly from your browser.
  • Netscape navigator fixes commonly mis-typed URLs for you.
  • And the highlight of ver 9 release is a link pad (Similar to what you have in Opera) which allows you to save interesting links without cluttering your bookmarks.
Netscape ver 9 is available for Linux apart from that for Windows and Mac OSX and is a modest 8.9 MB download. The minimum system requirements are 256 MB RAM and around 100 MB disk space.

If you are interested, you can download Netscape Navigator 9 and take it for a test drive.

Tuesday 5 June 2007

Google Talk - Instant messaging client for Linux

Roughly one year back, Google released its popular instant messaging application called Google talk which allows one to communicate with others, similar to the ever popular Yahoo Messenger. Initially Google talk client was available for Windows users only and people using other operating system such as Linux had to do with using the window which was embedded in their Gmail account. The problem was that to use Google talk, you had to log into your Gmail account.

Google has not yet released a native build of Google Talk for Linux. But what has changed is that it has now released a flash version of Google Talk which works in the same manner that an Instant messaging client is meant to work. The convenience for the Linux end user is that now in order to send text messaging using Google talk, one need not log into ones Gmail account but can directly access the Google talk interface as shown in the images below.

Fig: Google Talk web interface (Flash version)

Fig: Google talk - main view.

Fig: View once I have logged in.

Monday 4 June 2007

Reasons to upgrade your code to GPL version 3 from GPLv2

Richard M Stallman the person who gave us the GPL version 2 licence on which Linux kernel and scores of programs are based on has written a very informative piece citing the pertinent reasons that one should consider moving ones code from GPL version 2 to the GPL version 3 when it is finally released.

Some of the points he makes in the article are as follows :
  • There is no problem in having GPLv3-covered and GPLv2-covered programs side by side in an operating system. For example if Bash and GCC move to GPLv3, while Linux remains under GPLv2, there is no conflict.
  • GPLv3 will block tivoization which allows embedded consumer appliances to contain GPLed code which the end user is not allowed to change. But GPLv3 tolerates tivoization for products that are almost exclusively meant for businesses and organizations.
  • GPLv3 doesn't forbid DRM (Digital Restrictions Management) but under GPLv3, the end user will have the power to remove the DRM if he so chooses to.
  • GPLv3 comes down strongly on software patents. So it provides for explicit patent protection of the users from the program's contributors and redistributors. Which means a person or company using a GPLv3 program is never going to get sued because the program infringes on some software patents.
  • Other features of GPLv3 include better internationalization, gentler termination, support for BitTorrent, and compatibility with the Apache license.
Ultimately GPLv3 licence even after it is finally released some time this year will be an ongoing process and might lead to GPLv4 if and when new threats to Freedom are encountered.

You can read the full article written by Richard.M.Stallman at the fsf.org website.

Sunday 3 June 2007

Google Gears : Your Web applications can now be used even when not connected to Internet

Microsoft has had a definite advantage in being a virtual monopoly in the PC market. In the past few years Google has been trying to grab this enviable market share enjoyed by Microsoft by releasing web applications which have similar features of popular Microsoft software products. Thus you have Google spreadsheet as a potential replacement for MS Excel, Gmail, Google Docs as a replacement for MS Word and so on. But till now Google applications lacked a fundamental feature which was that none of the Google products could be used while you are offline. In other words, you needed an Internet connection to use any of the Google offering except Google Desktop search.

Now this is bound to change for once and all and you can look forward to Google storming one of the bastions of Microsoft which is the PC Desktop. Google has just released what they have named as Google Gears. Simply put, Google gears is a web browser extension which makes it possible to make web applications run while you are offline.

Google Gears provides three key features which are :
  1. A local server, to cache and serve application resources (HTML, JavaScript, images, etc.) without needing to contact a server.
  2. A database, to store and access data from within the browser.
  3. A worker thread pool, to make web applications more responsive by performing expensive operations in the background.
Google has released Google Gears as a open source product which means, interested webmasters can use the API to develop their own web applications which work offline. You can go through a Google gears tutorial as well as access some sample applications to whet your appetite.

But what I find most enticing is the fact that Google has simultaneously released the web extension for Linux too along with that for Windows and Mac OSX. If you are interested in say, writing an email in your Gmail account while offline and then connecting to internet just to send the mail, then you can download and try out Google Gears.

Saturday 2 June 2007

Create a Linux Desktop application In 14 minutes flat using QDevelop and Qt

Who said creating gui applications for Linux were difficult, tedious and mind numbing ? Ok, perhaps this was true 10 years back or so. But now Linux has a plethora of tools which make it possible to create GUI applications - I dare say as easily as programming in Visual Basic for Windows.

You can literally drag'n'drop, move and resize all the widgets such as buttons, text areas, radio buttons and so on and design a very good GUI in minutes. And in the forefront of ease of use is QDevelop which acts as a visual integrated development environment (IDE) for developing Qt applications for Linux.

Clive a 54 year old programmer who has over 25 years of developing experience walks one through the nuts and bolts of creating a GUI application from scratch. What is really interesting is that he uses QDevelop to design the application and also walks one through the steps involved in installing Qt & QDevelop, the different layouts in Qt as well as the final finished product. A very informative tutorial targeted at beginners.

Friday 1 June 2007

Fedora 7 - latest offering from Red Hat

The latest offering from Red Hat, Fedora ver 7.0 has been released. This time round, Fedora team has mearged the core packages with the Extra platform components which is why you see the title of this post to contain "Fedora 7" instead of "Fedora core 7".

Some of the new features found in Fedora 7 are as follows :
  • The ability to create appliances to suit very particular user's needs.
  • The latest versions of Gnome (2.18), KDE 3.5.6, Xorg 7.2 .
  • Latest Linux kernel with integrated KVM (Kernel Virtualization) support.
  • Different Fedora 7 images to suit different users needs such as Gnome and KDE live CDs with accompanying installer, an all encompassing DVD image, A regular image for desktops, workstations, and server users and so on.
  • NetworkManager presents a graphical interface that allows user to quickly switch between wireless and wired networks for increased mobility. NetworkManager is installed by default in both GNOME and KDE Live CDs.
  • A new comprehensive graphical administration tool for SELinux, system-config-selinux is available by default in this release.
  • Integrates the experimental nouveau driver within Xorg and the kernel. The nouveau driver aims to provide free and open source 3D drivers for nVidia cards.
You can download Fedora 7 from the list of mirrors and also view the full release notes.