(Python) ipython

October 31, 2007

When I was just peeping into the discussions at #python, I saw a few talking about ipython. On first look, I thought it to be Iron Python stuff but was wrong. It is an (another?) enhanced Python Shell or what we otherwise call as Interactive Python Mode. The good thing with these stuffs is you can just download and try them, not much a paining process to get them working. Hence I went for it.

Features

  • Dynamic Object Introspection : We can access docstrings, function definition prototypes, source codes of modules, source files and a lot more dynamically.

For example, after importing `os` module, typing os.path?? or os.path? gives complete source code and description of the os module respectively. Similarly `%pdoc object`gives us the object’s doctstring information.

  • Local namespace completion with TAB press.
  • Numbered input/output prompts.

In [1]: print “Hello World!”
Hello World!

In [2]: (1+2)*3
Out[2]: 9

  • User-extensible`magic` commands (type %magic for information).
  • System shell access with ! prefix.

!ls will issue the `ls` command in the system shell and print its output.

  • File system navigation with %cd command.
  • Verbose and colored exception traceback.
  • Auto-parenthesis.

>>> callable_ob arg1, arg2, arg3
and the input will be translated to this:
–> callable_ob(arg1, arg2, arg3)

  • Auto-quoting.

>>> ,my_function a b c # becomes my_function("a","b","c")
>>> ;my_function a b c # becomes my_function(”a b c”)

  • Embeddable within other python code/modules.

Installation

I always prefer the `svn checkout` way of getting the source code. We can get to know more about ipython at its home site. We can also get pythonreadline from the same site, which helps us to have features like color, tab, completion, etc. (I read somewhere that it is not needed for ipython as it implicitly has pyreadline). The following are the steps to install ipython from the svn repos as a local copy,

  1. We can get the source code by doing an svn checkout,
  2. svn co http://ipython.scipy.org/svn/ipython/ipython/trunk ipython

  3. We need to get into the checked out source directory and run the following command
  4. python setup.py install

  5. The –home option can be used to specify a directory to install the ipython, else it will install in the default python directories.
  6. python setup.py install --home /home/myuser/python/ipython

  7. If we are using –home option, then we need to add the following line into our.bashrc. Else we need to export the PYTHONPATH variable every time adding the path of our ipython/lib/python installation to it.
  8. export PYTHONPATH=/home/myuser/python/ipython/lib/python

  9. We can run ipython by executing ipython/bin/ipython from the shell (or create a link pointing to this file).

The complete documentation can be obtained as pdf as well as viewed as HTML.


Not an easy ride

October 20, 2007

I still have the memories of doing beta testing for Edgy and fighting daily with broken packages. It was an awesome experience, which helped me learn a lot of packages, upgradation, pre and post installation processes and how to face problems out of a broken package. Feisty has started become something of the past, similar to Dapper and Edgy. Now what every one speaks about, writes about, discusses about is Gutsy Gibbon.

This time I missed all the fun of upgrading during the beta days and doing testing, reporting bugs, helping out others fix issues and many more things. The reason is I do not have the luxury of Internet connection at home in Bangalore, as well as we have bandwidth issues in office such that I don’t want to trouble my admins by adding extra load.

Thus I made my trip to Chennai for Dusshera holidays mainly to upgrade my Helios from Feisty to Gutsy. I landed here on the day when the world was busy upgrading to Gutsy. Hence the load was more on the apt mirrors that when I started the download last evening, it took almost 18 hours to finish the whooping 1.65 GB download. I had to wait for additional couple of hours for it to finish the install. But nothing goes without troubles, this time exim4 package’s configuration process was giving me errors and it was messing up the whole upgrade.

I had to resolve to running `dpkg-reconfigure -a` which started configure every piece in my Ubuntu installation. It took 50 minutes to finish up the reconfiguration and finally I cleaned up unwanted stuffs with `apt-get autoremove`. Then I went for a reboot to boot with the new 2.6.22 kernel and my new Gutsy desktop.

I boot in, welcomed by my usual login screen. Nothing new or unusual. I login to KDE to find most things same other than a few icons and menus. I was told it will remove beryl but I still find it there. Then I went to check the GNOME desktop as I had no clue of where the compiz was in KDE. As I knew where to enable the compiz effects in GNOME (Preferences –> Appearance ), I turned them on to find the new desktops effects appear. GNOME is fine but what I need is KDE, so I relogged into KDE to see how it works there.

There is no menu option in KDE, and hence one good way is to add “/usr/bin/compiz” to .kde/AutoStart/ as a symbolic link. This makes compiz to be started when we log into KDE. But I still face the issue I had in Beryl with the multiple workspaces showing a distorted look when changed to and back between compiz and None. Also, if I select 4 multiple desktops in `Desktop preferences`, it produces 8 workspaces but only two of them works with compiz. *sigh* Tried to make things work, but having lost interest any further turned off the compiz thing and removed it from AutoStart.

The other cool things with Gutsy are newer version of OpenOffice (which I don’t care about), Gimp and the Gaim instant messenger now known as Pidgin. One more thing to feel good is the pop ups we get when Thunderbird gets a new mail. This is really useful when you are working in some other workspace and don’t have a audible ping turned on. Yet to try with the new Strigi desktop search (is it new? may be for me). The kernel is now 2.6.22.14 which is another good thing.

Am yet to check other things like bluetooth which people have reported to have improved a lot,as well as things on the KDE side. Will report them once I find them, as well as more bugs here and there as I encounter. For those who are still waiting to upgrade to Gutsy, just do it buddy without any second thoughts. Good luck and Congratz to the Ubuntu developers team and MOTUs for another awesome work :)


The Comparison

August 24, 2007

The hot news I heard from Digg today was about the new “Compare” site from M$ as a replacement of its famous “Linus Hate Site”. I was curious enough to look at the fresh load of charges on Linux under a new cover.

In contrast to the older version, now there is not direct tabular comparison at all. Each category is filled with case studies from firms who have turned up to using M$. But looking at the stories in many of the case studies I tried reading,

I feel that the stories are too ancient. One of them talked about moving to Microsoft from using Red Hat 9 servers and another one talked about trying to use Staroffice. It reads ” using a Linux/open-source solution would have necessitated an “unmanageable migration expense,” especially because individual Microsoft Office documents and solutions would not have been convertible“. Eh!? Which world are they living in?

There is no mention of Debian servers as far as I read. There is no mention of other Open Source softwares like Blender, not even OpenOffice anywhere. The reason for the new comparison site is stated in a corresponding article as “It turns out people wanted 3rd party validation in addition to people’s experiences making OS purchasing decisions so in addition to customer case studies, research reports that compare platforms the site will also offer guidance around best practices, web casts, etc.

Should I stop and laugh, or keep my ass moving along not minding these poor jokes ?


Gobuntu, go freedom!

July 11, 2007

A surprise post by Mark Shuttleworth appeared in Ubuntu Planet today, beginning of a new flavor of Ubuntu called as Gobuntu. I am not sure about the reason behind this name, but the idea behind this new flavor is have an “official” freedom focused flavor of Ubuntu.

I was very much like what you are thinking now, “What about gNewSense then?”. As what I infer from Mark’s post, this will serve as a upstream reference for all such distributions like gNewSense. Or in a more technical term, Gobuntu will serve as a base for freedom oriented distributions based on Ubuntu.

Gobuntu is available under Gusty daily build here.

Indeed, there were people inside the Ubuntu community to bounce back with questions. One important question, which I too would like Mark to answer is, whether a freedom-focused Gobuntu is going to use Canonical’s closed source applications like Launchpad and Merge-o-Matic. I join Jordan Mantha in asking the question to Mark. Shouldn’t it something bad to use a non free tool to develop a freedom oriented distribution? Though I have been somewhat agreeing to use of those for Ubuntu, where the ultimate aim is to provide a Linux distribution which “just works” for the user, I have this question when the total aim behind Gobuntu is removing all those controversial non-free drivers, firmware and apps out from the Ubuntu and offering a complete freedom GNU/Linux distribution.

Let us once again wait to hear from Mark.


Will the leader answer ?

June 15, 2007

The latest hot talk in the FOSS world has been about the latest deal between M$ and Linspire. Many had expected it, especially after the bashing of GPLv3 by the Linspire lead. This follows similar deals with Novel and M$ which had provoked large scale debate over the actual intentions of M$ with respect to its publicly proclaimed enemy, GNU/Linux.

Though the new deal has similarly kicked on another round of debate, I was a bit excited to find a number of posts in the Ubuntu planet, from some of the top bloggers there. It was started by Aaron Toponce, followed by Richard Johnson, Jonathan Carter and Christopher Denter. The one common thing with all these 3 active Ubuntu guys is that they all wanted to know what Mark Shuttleworth thinks. Its because Ubuntu project is being financially supported by Canonical Ltd. and the same nightmare can be created by them too.

But we Ubunteros have our hopes, mainly at the bug #1 filed by Mark. We all believe that Canonical and Ubuntu are committed to solve that bug and we will not fall prey to lure of $$ by M$. Also, we have Mark’s comments in the past in which he had been certain that there won’t be an Ubuntu-M$ deal. But nothing is impossible in this world.

Hence, the Ubuntu community is looking ahead to hear from its leader, a reassurance that we will also be not embarrassed with a similar deal. And, many of the Ubunteros who had commented to one of the posts in the Planet had mentioned that if some thing like that ever happens, they will not have a second thought in walking away from Ubuntu. With respect to the passion we have within the Ubuntu community and think of the past years since we joined our hands, we hope that day won’t come.

/me joins the Ubuntu community and waits to hear from our leader. :)


Promising Projects - Brainwave and Returnable

May 18, 2007

In the past two days, I happen to see two mails regarding two new projects. Though both did not attract the best of my interests that I jump out and dig my hands into it. Rather I felt I can write about them. Here I go with a brief introduction to both of them.

Brainwave

Brainwave is said to be a Software Development Kit which comes along with a very different database engine, a rich API widgets library and a deployment server. I came to know through a mail sent to Bangypy mailing list. Though the question whether this product is Open Source is yet to be answered, there is an interesting component in this product which is told as a pending-patent technology.

The main components of this SDK are

  • Iris, the Application server
  • Aphrodite, the User Interface
  • Poseidon, the Database
  • Cerberus, the Security component

Iris is the application server (or the deployment server) which is actually built over the very popular CherryPy Python-based web server. Aphrodite is a XSLT based standard templating system, which renders the templates as HTML 4.0 Transitional compliant code for IE5+ and FF1.0+ (but it is said for Windows and Mac, urgh!).

Poisedon is said to be the core of Brainwave, being the database system with a difference. It is an non relational DBMS with no requirement of schema. Instead of tables and columns, data is stored as ‘memes’ and ‘links’ which are types of neurons. While memes are fundamental units of data, links are relationships between neurons. Links have a subject (origin), an object (target) and a verb (modifier). Thus data is stores as neurons linked to one another by the links defined by the verbs. This model imposes no constrain on the type of data that can be handled. This is a very new idea which is yet to hit the masses.

Cerberus is the security manager for Poisedon and it acts based on capabilities and policies.

Brainwave is a promising product indeed, but until the question of FOSS gets answered let me wait to dig my hands into it.

Returnable

Returnable serves as an open platform architectural guide to advance the URL as a DSL for specifying 3 traits - the content, its delivery and its behavior on the web through the use of Returnable elements embedded within the web pages.

This is not a big endeavor such as Brainwave, but rather a personal project from Bhasker Kode (who had mailed the ilugc mailing list about this). It involves a bit of JS, PHP, url rewrtie, regext and CSS. This is just a way to create events using HTML as the API, provided that the initial script was added to the DOM.

He claims it to be a great utility for bloggers, for an easy way to create tool-tips. The following are some links associated with this project.

—————— The End —————————


From Edgy into Feisty

April 15, 2007

Since I bought my laptop been running Ubuntu in it. Started with Dapper Beta, upgraded it to stable, then moved to Edgy Beta and then to stable and now, I have moved to the latest Ubuntu Feisty (not sure whether it is Beta or RC). Dapper is still the best distribution out there, though succeeded by Edgy and now Feisty. Edgy was initially highly unstable and got better with time. I had a horrific experience moving from stable Dapper to Edgy beta, breaking a lot of things and having tough time mending things all the way.

When tuxmaniac announced that he had upgraded to Feisty, the first thing I asked was how stable it is? He assured me that he had a smooth installation and really did not have to mend anything. So, I decided to upgrade mine too. The only problem I had was, mine was a Ubuntu installation over which kubuntu-desktop was added later and now I completely use KDE. So, I was wondering from where to start the upgrade, KDE or GNOME. G0SUB clarified the doubt and I started my upgradation.

The upgradation started with the command “update-manager -d”, downloading 1729 files in almost 13 hours. When the download ended, it spewed some error on the screen and the installation stopped. I had to start the installation again with  “apt-get update && apt-get dist-upgrade”. It again fetched some 41MB of files and finished installing them. I went for a reboot, praying that everything should work fine.

Nice to see the kernel 2.6.20 but not pretty impressed with the new usplash theme. Thankfully, it showed the login screen. Logged into KDE (default) and was surprised to see a new icon for power manager and network manager. Indeed, network manager has changed way much and has become more easier to use. Also, xchat now gets placed in the system tray.

Ok, time to check GNOME. When I logged in as a temporary session, there lay the mine. The welcome screen hung in the middle and I could see the panel blinking many times. Then it said some error message stating that it tried to restart the panel many times but in vain. OMG!, things have screwed up again. I went back to KDE for a bit more shock, the terminal was not showing me the bash prompt that I had to use Alt+F1/F2 to get the prompt. I tried installing gnome, gnome-desktop, gdm, metacity and gnome-panel. The gnome-panel installation was the reason for the trouble which got solved in the last re-installation. Luckily the terminal also came back to normalcy without doing anything. Though I new its going to mess up, I tried Beryl and it did mess. I got no window border, windows hung where they were and I couldn’t enter text into them (Xchat and Firefox address bar).

I was determined not to upgrade until the final stable version is out, but giving away to it had thought me some lesson. But, having suffered the worst during Edgy has given me enough courage to fight and solve things. The truth is, I took a back up of important stuff in my /home and was readt to make a new installation of Sabayon. I wanted to give a last try as the installation of new distro and setting up things again would be a PITA. That was a good decision at the end, or else I would have been spending the next couple of days installing, configuring and tweaking stuffs back to where I was (luckily, where I am also ;) ).

Off late I have been seeing too many people migrating out of Ubuntu, inspite Ubuntu still being one of the best distros out there. Am surprised at this as well as pained that I can not just stop them because their experience left some bitter in their mouths. Hope the final and stable release of Feisty Fawn breaks the Ice and does much more in Desktop GNU/Linux than what Dapper did around a year ago :)


PHP Code Builder - A Fair Evaluation

March 30, 2007

If you have been to #linux-india over the past one week or so, you could have spotted an enthusiastic new comer trying his best to publicize his creation called as PHP Code Builder.

This is a web based software which will generate PHP code for the corresponding design you do by selecting a few options shown. To be a bit more precise, say you want the PHP code for a login page, you can specify the database name, table name (which stores the login information) and click the “generate code” button, it generates the code for a login form. So, they actual intention is to make the development of PHP code easier for standard modules like login and database interaction.

Now, I know people will ask the question “why make a code builder to create PHP codes when writing one is not a much tougher job?”. Indeed, I do not think writing a PHP code for a login page is not as much hard as making a dosa by ourselves, from my 4 month real time experience of writing PHP web app. It is a new idea, a cool one, I agree. But, how it is going to help people ? May be if it can mature into a product that can handle a bit complex issues like session management, cookies and complex database operations. But, it is premature to say its not a useful product as its just a new born baby and I can not expect to ride a bicycle.

I got a mail whereby the creator of the software under consideration asking for some publicity. So I decided to lend my blog space for a post on their software, just my 2 cents to the cause. I visited their product page which looks very clean and simple. It looks like a web site of a product in full demand, kudos to that. Surprisingly there was a demo to test what the product can do. I jumped into getting some experience, so I can write something about it.

Clicking on the ‘Demo’ tab takes you to a page, where an almost empty screen with “Have fun using PHP code builder DEMO.. If you like it don’t wait to download it. :)” welcomes you. With opening my eyes little bit wider :-o, I discovered there is a side menu of available demos.

The first demo is of queries to the MySQL DB, where you have 4 buttons for generating insertion, deletion, selection and updation query strings. I click on the generate button and viola, I am given the query “insert into details set id=’$id’, detail=’$detail’”. what I actually expected was a PHP code to do execute the same query to a DB.

I decided to check other demos to find some real PHP. “Code for Sessions”, ahem, the topic which took a week or so for me to code a pretty basic session management in PHP in my beginning days as PHP dev. I just wanted to see the code again as I have forgotten it with 8 months of Python coding. It asks me to select the DB, the table, number of session variables and depending upon this number select the variables from a drop down list. I select things and click the generate code button with all enthusiasm to see a PHP code and I g0t this at the end,

//log in table code in html
<!–Login table for session –>
<table align=”center” width=”375″>
<tr>
<th colspan=”2″ align=”center”>Log-In</th>
</tr>
<tr>
<th align=”center”> </th>
<th align=”center”> </th>
</tr>
<tr>
<th align=”center”>Username:</th>
<th align=”center”><input type=”text” name=”id”></th>
</tr>
<tr>
<th align=”center”>Password</th>
<th align=”center”><input type=”text” name=”detail”></th>
</tr>
<tr>
<th align=”center”> </th>
<th align=”center”> </th>
</tr>
<tr><th width=”182″ align=”center”><input type=”submit” name=”Submit” value=”Log In”></th>
<th width=”183″ align=”center”><input type=”reset” name=”reset” value=”Reset”></th>
</tr>
<tr><th colspan=”2″></th></tr></table>
<!–session table ends here–>

I started to ponder whether am I seriously looking at a PHP code builder or HTML generator ? Where is the damn “<?php” and “?>” at least :(

I checked other stuffs to find some PHP code somewhere and returned with to /dev/null. As a few things weren’t in demo, I had to check the source code after downloading it. Also, I do not want to make a prejudice and jump into flaming people for the absence of PHP code getting generated.

After the downloaded I jumped in, at last to see some PHP code :) The source directory contains a dozen and half PHP files, most with the name db_<something> in it. I checked a few files to understand what they were, with my slowly succumbing knowledge of PHP. I decided I have to give a go and moved the app to my webhome so I can run it.

The first page asks for my MySQL username, password and hostname. I entered it, wishing the tables to get created. Rather, I got an error saying it did not have enough write permissions to write into a file. It made me curious to look into the file actually intended to create the db stuffs. What it did was, create a file or rather write the data into a file. Am not sure how secure is it to write MySQL username, password into a plain text file and have it in a web server. I couldn’t proceed because it couldn’t write into the file.

But, I am left with a few questions and concerns. First, where is any PHP code getting generated ? If the answer is “You did not check the downloaded code fully”, then why it is not there in the demo. What it gets generated in the demo is HTML and not PHP. If there is some PHP generated around, please let me know where it is.

Not moving into an offensive mode, I feel its still in a pre-mature state to go public, especially without any real PHP code. For example, the form demo generates the tables for two fields and not even a button for the form, where hell is the <form> tag to give some meaning to the form ? If a form is all about HTML for two labels and input text boxes, please name the app as HTML builder. No, am not meaning to hurt you or criticize you.

I will just put the my feeling about it as “a kid’s weekend project”. If am really serious I can write the same app in Python in a day or maximum a couple because what I need to do is just print the HTML, or even the PHP code for that matter.

Ok, if you ask me what it should be, it should be something like you have a canvas, you have objects for HTML elements like what you have in a GUI designer tool like Qt designer. You can drag and drop elements into the canvas and finally it can generate the code. Now, you can either have it as HTML generator or PHP generator. The latter will generate the appropriate PHP code for the form logic to work, like validation a text field and POST/GET methods for the form. The form validation can be guided by asking to select from a list of validation options like “only characters, only numbers, email address…” and validation the element for the same.

This is what I will accept as a decent PHP code generator or builder, even for a first release. For this, you can make use of Ajax to make the drag and drop features. Please, do not show just HTML generation while calling it as PHP Code Builder, because it will turn off people who will never mind to check your app during further releases and improvements. And I hope this is not your Final year project :(

If you have anything to add on or justify, then add it to the comment section for this post. :)


Oh no! Not another distro!

March 12, 2007

Whenever I hear some one telling that he is planning to create a Linux distro, I just laugh and walk off. Making a distro is the simplest thing you can do if you want to show something in GNU/Linux. And that is what people tend to do too. Whenever I hear about a FOSS event happening, not the big ones, they try to release their own distro. I wonder whether they themselves used these distros at first place.

Releasing or creating a Linux distribution and releasing them during local events have become a very common habbit. But, really this trend should die. Although I have been thinking to write about this for some time, an article in LFY this month really motivated me to drop my two cents in my blog about this.

The main reason for personally taking a stance against any idea to create another distro is that already we have more distros offering a wide range of options or alternatives and there are more things to be added to them, improved in them. The existing distros need continued support, contribution, feed back and consistent user base. There is a word that we already have almost 2000 official Linux distributions. And, already this is causing a lot of confusion, especially for those venturing into Linux for the first time. When some body asks me what distro to use, although I always answer Ubuntu, I somehow feel am not doing justice. Its because no distro is perfectly suitable for all people.

It depends upon what expectation and requirements you have, that you need to select a distro. So, the best bet is pick up top 3 distros which people prefer to be good, try them out and settle with one which works for you. This is what I did in my life, started with Knoppix, then madrake, then Red Hat 9, then Fedora core 3 and 4, finally landed with Ubuntu - Hoary, Breezy, Dapper and now Edgy. Until I found Ubuntu, there was a search for better distro. I do not argue Ubuntu to be the best distro, but its fact that its good; good for making things just work.

Whenever I see or hear an upgradation and newer release of one distro or another, I can find an effort made to make it better as per customer requirements and preferences. And, still there are 1000 things left to be done, 1000 things more to be improved and excelled.

So, people if you are thinking of creating and releasing a distribution of yours please try to answer the following question yourselves.

  • What is the real necessity to make a new distro ?
  • If contribution is the idea, then can’t you contribute to any existing distro which is your favorite ?
  • If you want to create something new, aren’t there any other idea of an application or plug-in that can really make a difference ?
  • If you want to release something for an event, then can you just create a custom app or customize an existing distro to fit the needs of a specific target user ?
  • Can’t you create something for the shop nearby or a NGO, so that they are really benefited ?
  • Ok, still you want to create a distro - who is the target ? what is your distro’s specialty that makes it useful for the intended target user ? What is the extra stuff you are providing for them to use it in the place of other more supported, more tested and proven, more famous distros ?
  • If you release a custom distro, how long will you able to support it?
  • Are there enough softwares available in the form of packages, if the user wants to install it later ? how easy it is for the user to install something either from the package or source ?
  • Will you able to offer personal support, either for free or for a charge ? Is it practically sustainable ?

Make a true introspection on all these questions and decide whether you still want to make a distro ? Really you can make it, but does your efforts and talents just good enough for making another foo-bar distribution. Make a proper use of your talents, put in your efforts for better things, more important things. Rather than trying to make something better the first time, try to make existing things still better.


Linux Asia 2007 - A Field Report

February 6, 2007

Just arrived back from Delhi, after a week out from my home town. I have been to a conference, which as branded as India’s Premier Open Source Conference by its organizers. As I checked my in-box, there was one long thread in ilugd mailing list discussing about this conference called Linux Asia. Though I have been hearing all the sides of the dice about this conference, I could never come to a conclusion. This post, rather than portraying the comments made by people, will just serve as a field report of what I saw there at LA 2007 and what I could conclude.

India Habitat Center was simply a fantastic place to have a conference. We landed there on a cold morning, on the 31st of January 2007, for the Opening Ceremony of the event. Our only participation was having a stall there for NRCFOSS. To our surprise, our stall was very opposite to that of Microsoft’s.

Some other notable stalls were from Google, Novell, Collabnet (Subversion), Infoaxon Technologies (Spike Source), Turbolinux (WizPy) and Tetra Information Services.

Google this time concentrated on recruitment and their stall wasn’t as good as the on that was at foss.in. Turbo Linux had displayed a ipod like product called WizPy, a mobile device which was a multimedia player as a stand alone device, while it carried Turbo Linux OS within it and could be connected to a desktop, booting from the mobile device. collabnet had Subversion as their product at display. And the stall of suspicious interest had Vista and Office 2007 displayed along with a presentation displaying some terms like “interoperability”, but as many would have been interested to find, there was nothing related to the term put up at display.

Our own NRCF stall had three groups, one from CDAC-Noida, AU-KBC group and CDAC Chennai group displaying BOSS.

Common observation on all the 3 days was, only 10% of the visitors would have mind to get into the MS stall, especially the students did not. Most of the times I could see the two chicks posted in the M$’s stall to be yawning and chatting within themselves. Also their eyes was always on our stall because we were having good number of students attending us and the rest of the times, our eyes were on their stall ;)

I attended totally 4 talks including the key note speeches. Knopper’s talk were really nice, both the keynote one and the “mobile and Linux” talk where he demonstrated using a  mobile phone for connection  to Internet and also spoke on lot of issues.

We also had an IOSN meeting, organized by CDAC Chennai, where representatives from various South Asian Countries (Pakistan, India, Nepal, Srilanka)spoke about FOSS initiatives in their repsective countries.

Klaus Knopper came over to NRCFOSS stall and talked with all the three groups. His advice to us was “People like IBM, Seimens and others will try to buy you people; never fall prey to their baits; be individual developers and contribute”. And, IMHO he was the right person to give that advice. I also got my fist ever Linux CD, a Knoppix one, to be signed by him.

A lot of students from various colleges in Delhi thronged our stall, especially enquiring about student internship program and FOSS activities in their colleges. I have of got a lot of mails from them as follow ups :) .

The food was good, the tea/coffee was free while the lunch was restricted to people who had the coupon.

As a whole, though there were not much from the known circles in the community, I met a lot of people who are working in FOSS domain, mainly in service based industry based on OSS.

I came to know about an Incubator Facility being operative and available for young entrepreneurs to make use of, at Pune University, from one Prof Jitendra Shah of VJTI Mumbai.

On a whole picture, Linux Asia could not even match foss.in on any grounds as *the community* was missing, but had the presence of a company which considers FOSS and GNU/Linux as its biggest threat on world. A highly commercial conference, sponsored by enemies of software freedom, but all with a tag Linux on them. Weird!!


Gallery - Web/Online Photo Album Service

December 1, 2006

Sometimes we surprisingly get to know some nice software. The world is becoming more and more web oriented than desktop oriented. The things which are done is desktop has become online services like bookmarks, address books, why even presentation and word processing softwares are available as web tools. One such tool is online albums. When I say this, the first thing to come to your mind are either flickt or yahoo/google albums.

But what about one album which you can host in your own web site, if you have one ? It was during the discussion about FOSS softwares being developed by Indians, in the mailing list, it got mentioned about Gallery. I immediately checked out the web site of gallery project. it seemed woth a try. I checked whether I have it in my ubuntu repos and surprisingly it did. There are two versions gallery1 and gallery2, I went for the latter.

The advantage of using apt is that, we neither need to worry about dependencies as well as configurations. 90% things are taken care by it mostly, and rarely it needs some tweaking. I went for an apt-get install of gallery2 package, which also installed libnetpbm10, netpbm and wwwconfig-common packages along with it.

The package got installed in /usr/share/gallery2, while I had to actually access it as a web service. So, I wanted it to be in /var/www/ rather, which is supposed to be my DocumentRoot. I asked this in #gallery-support but did not get a contempting answer. At last, my buddies in #linux-india came to help and suggested to have symbolic link of it in DocumentRoot. This actually worked out and when I accessed `http://localhost/gallery2`, the installation and setup screen opened up in my browser window.

Ok, then walk through the 7 step process and you get your online album service before you. You need Apache2 and either MySQL or PostgreSQL installed.Obviously it works on other webservers and OS as well.

The Gallery main page shows you all available galleries/albums. You can create as many albums and sub-albums as you want. You can modify settings and appearance of the albums and sub-albums individually. If you are on a network, then you can make this service available to other also. I tried it out in my personal laptop and just running it in ‘admin’ mode. In real use, we need to create user accounts for individual users. These is also provisions for large scale user management, which is available as optional modules during installation. If you are doing an installation in stand-alone machine, better install only modules pertaining to your needs and not all those which is available.

There are two things which may trouble you during installation.

  1. You need to copy a text file login.txt, which contains a key generated by the gallery app itself, and copy it to your installation directory (/usr/share/gallery2).
  2. You need to change the value of maximum memory limit in your php.ini file, which is in /etc/php5/apache2 directory. In addition or alternate to this, is to create a .htaccess file in your /usr/share/gallery2 containing the following line,

php_value memory_limit 20M

This is by default set to 8M, which is not sufficient. The suggested value is 16M or above and I have given 20M.

Also, when you create an user account, the confirmation mail will be sent and for it we need a mail service such as sendmail installed, configured and working. Else, it results in an error and the user account is not created.

Here are a few screenshots of the Gallery…

The main album page

Main Page of Gallery2 Album

Individual albums inside view

Sub-albums view

View of a single photo, where the properties of the photo are shown below the photo.

Individual Photo view


e17 on Ubuntu - A brief enlightenment

November 19, 2006

e17 is the DR17 version of the Enlightenment window manager. Enlightenment is one of the other well known window managers in Unix/Linux world and its advantage is light weight and simplicity. e16 was simpler, yet it did not satisfy the eye candy that the users migrating to Linux demanded. But, e17 has solved this much by bringing in some elite eye candy which doesn’t ask you for much RAM.

I had used e16, though GNOME has been my favourite. But, I wasn’t confortable with e16 much. When I came across an article in LFY about e17, I wanted to have a look. The enlightenment which is available in ubuntu repository is e16 (am afraid so!). And, it messed up along with my GNOME/metacity that when I booted back in metacity, it was showing elements of enlightenment along with it. I had a bad day clearing all the mess it did.

But yesterday, Sudharsh told me about e17 and showed me a script which will download the required files from the CVS repos and compile-install it on my machine. I tried it in my workbox at office, but it demanded some dependencies which weren’t met. But, I thought of checking it out in my Laptop at home.

I tried it today. We need to just get this script in your local machine, give it executable permission and run it in a terminal. The script will run in 2 phases, phase 1 takes care of downloading all the files and phase 2 compiles the downloaded files and installs them in the local system.

$ sudo apt-get install build-essential cvs libtool libltdl3-dev automake1.9 autotools-dev libpopt-dev libcurl3-dev libx11-dev x11proto-xext-dev libbz2-dev libid3tag0-dev libpng12-dev libtiff4-dev libungif4-dev libjpeg62-dev libssl-dev libfreetype6-dev bison flex xlibs-dev gettext libimlib2-dev libxml2-dev libxcursor-dev libgtk1.2-dev autoconf pkg-config libpng3-dev libxine-dev libxkbfile-dev libsqlite3-dev giblib-dev libxmu-dev libxdamage-dev libxcomposite-dev libtag1-dev libtagc0-dev giblib-dev libasound2-dev

A small note on this, rather a warning: you need an additional library which is missed in the list of dependencies to be installed prior to running the script. The missing thing is libxslt and do an apt-get install for these 2 packages - libxslt1.1 and libxslt1-dev

$ sudo apt-get install libxslt1.1 libxslt1-dev

To run the script

$./easy_e17.sh –skip=etk_server -i

The `–skip` option skips the download and installation of ‘etk_server’ which I was adviced to.

If you want any additional help then,

$./easy_e17.sh –help

If you encounter any problem, especially dependency, then install the corresponding package. If it happens during compilation stage, later you can run the script skipping the download part using this command,

$./easy_e17.sh –skip-cvsupdate -i

After it has compiled and installed, there is one step you need to do before you can login into e17. Do the following

$sudo vi /usr/share/xsessions/e17.desktop

Add the following lines into the file and save

[Desktop Entry]
Encoding=UTF-8
Name=E-17
Comment=
Exec=/opt/e17/bin/enlightenment_start
Icon=
Type=Application

If you refer to the actual ubuntu forum page, then you will notice it is ‘enlightenment’ instead of ‘enlightenment_start’. But, when you boot it using that option then when you login it will ask you to change the option as I have given.

The last thing to do is that add the path ‘/opt/e17/bin/’ to your $PATH. This is because e17 got installed in ‘/opt/e17/bin’ and hence we need to put in on the PATH environment variable to be found.

$ export PATH=$PATH:/opt/e17/bin/

Now, logout of the current desktop. While loging in back, remember to change the session to e17. I will advice you to select ‘Use for this session only’ option, so you can first experience, hang around and change if you do like. Otherwise, you have the existing desktop/window manager as the defaulft.

Will add more about my e17 experience later. Enjoy the enlightening experience.


gNewSense 1.0 - One more to the numerous!

November 4, 2006

It was a fresh Friday morning, with a second depression formed over Chennai and rain pouring down like hell, when I had just turned up online and was checking digg.com. One of the posts which attracted my attention was the release of another new GNU/Linux distribution named “gNewSense”. I read the article as well as checked out gnewsense.org, which is the official web site of the project.

This new distribution gNewSense is nothing new in the real sense. Off late, Ubuntu has become really a distribution for the comman man and has acclaimed wide fame. But, there were some non-free (`Free as in Freedom`) stuff contained within which has been a subject of criticism off late. Thus a new distro was created by taking out binary blobs from Ubuntu Dapper, making them free to end up with a more ‘Free’ GNU/Linux distribution.

In addition, their website talks about scripts with which anyone can create an entirely new distribution, based on Ubuntu Dapper. There is a step by step guide to help out creating a new distribution.

Although it is said to be the clone of Ubuntu Dapper, there are a few distinct features such as,

  • Firmware and restricted packages removed
  • Logos of Ubuntu has been removed
  • Universe repos enabled by default
  • Emacs and build-essential are part of the default installation

Other than this, it is nothing but Ubuntu Dapper. But it is said that in coming releases more non-free softwares might me removed and this gNewSense made 100% free software.

I downloaded the 661MB iso image of gNewSense Live 1.0 and burned it up in a CD. The iso image can be obtained from cdimage.gnewsense.org or from various mirrors sites that the supporters of this new endeavor has put up. I downloaded from one put up by Gnuklear in his site gnuklear.org.

$ wget -c http://gnuklear.org/gnewsense/gnewsense-livecd-1.0.iso

The official press release by FSF talks more about the project as well as calls for volunteers for acting as developers, website maintainers, graphic artists, freedom verifiers and documentation writers.

There is a very active community already up for the distro in the IRC channel #gnewsense @ irc.freenode.net.

Now comes my personal opinion.. ahem ahem.. this looks cool, ok ?! But, I have been hearing a particular criticism from a part of community, which I found to be justified. Why do we need another distro when there are already numerous ? And that too, one which is nothing but an already existing distribution with a few software, tagged to be non-free, being stripped off from it. Not all people out there are followers of FSF and hence, they accept and agree on certain amount of non-free softwares which one or another make their life a little better without compromising a lot on ‘Freedom’. This is also seen as a move to yank away a part of Ubuntu community which is not too happy with the existence of non-free softwares within Ubuntu. But, will it really affect the existing distributions and their popularity or community strength ? I seriously doubt it. May be a 100 people might migrate from other distributions with a new sense of freedom but not those who have settled down with one distro for their life. I mean those people who will forgive certain inabilities of their favorite distribution even when there is something which is ’said to be better’ available. I am one of these men, a proud Ubuntero. As of now, I find no other distribution which I personally feel as good as Ubuntu. There are a lots of fellow Ubunteros, Debians, Fedoro Cores, Red Hats, Mandrivians, Suse’s etc etc. out there.

For the eyes of a Free Software zealot, it might be the distro he has been longing for; but for an ordinary Linux enthusiast, it adds one more to the numerous existing flavors of Linux (pardon me if I should have said GNU/Linux instead). For me, it was no better than Dapper Drake or rather Edgy Eft which am currently running.

To be a bit optimistic, let us wait and see what the gnewsense community leads itself to. Whether it is going to reach a height that Dapper Drake did or it is going to see a fall which many other not-so-famous Linux distributions did, is in their own hands of the newly born gNewSense community.

Long live the Freedom! Long live the Community! :)


The fresh smell of new books..

October 7, 2006

The question many people ask is why do I spend money on buying *new* books. I just reply them, “I hate the old smell of second hand books, but like the fresh smell of new books”. Its pretty simply reply but true. Right from the days I started buying books, I loved to have a fresh new copy. Generally I got used ones, especially when I was in first 2 years of college. My sister gave me almost all books for 1st year and I managed second year with what I got from my brother and others from my sister. But, from the 3rd year I had to buy books because I had no one to get me books. I did get from a few seniors, but I had to return them at the end of the semester, rather I preferred to have them for ever.

Thus, was born the habit of buying new books. But, I had to depend on my parents to get me some and I can’t be troubling them with big bills. So, I used to take xerox most of the times using the books borrowed from my friends and if I did find some really good book then I used to pester my dad to get me, which he used to fulfill in the same day itself (aah, what a wonderful dad naa ?!).

Other than these academic books, I also got the habit of reading novels, mainly passed down by my sister. She was a great book-freak. She used to read loads, she used to stay awake whole nights for finishing the novels. This did create some interest inside me on reading books. But I wasn’t an active reader, I just read because I didn’t want to fall behind. When people spoke about novels they read, I didn’t want to be an odd-man-out. But, I never went to a book shop and picked one book which I felt like reading. Also, my dad was a member of local library and hence, I had a constant supply of books whenever I felt like reading.

It started all just a year ago that I decided to become an active reader, actually aimed to improve my linguistic standards. Once I got into it, I could never come out. I needed books, one after another. And I got into this bad habit of love-for-new-book. My collection doesn’t include just academic books and novels, it also includes lots of computer books.

Ahem.. Ok, tracing back to my route to the intention of this post, I went to Landmark in Spencers Plaza today and bought my due of ‘one small load of books’. I needed a book on JavaScript to prepare for the presentation on Monday as well as thats the only book am not having in my collection of “Web Development” books. When am in Landmark, how can I return with just one book in hand ? So, here is my list of fresh smelling books..

  • JavaScript, The complete reference by Powell Schneider (Tata McGraw hill)
  • CSS, The Definitive Guide by Eric.A.Meyer (O’Reilly Publications)
  • The Awakening of Intelligence by J.Krishnamurti
  • Desperation by Stephen King (Thriller)
  • The Janson Directive by Robert Ludlum (My Fav. Author for Fiction)
  • The Paris Option by Robert Ludlum and Gayle Linds

Two techy, one philosophical, one thriller and two fiction - This will last for another couple of months before I again visit to pick up my next load of fresh smelling paperbacks. ;)


Glimpses from the Bustling Metroplois - 2 “Impatience”

October 6, 2006

Impatience - lack of patience, restlessness, intolerance of delays and hindrances.

This time, am going to expose you to often observed impatience prevailing amongst the present generation, especially a majority of school/college going youth.

If you have been in conversation with me in the past couple of months, you would have very well known that I go a bit early to my office than normal office goers. I started with catching the 6.30 am bus, but off late had been a bit lethargic that I had to either catch the 7.10 am bus or the 7.50 am bus. Whatever, I make sure I am in the bus stop between 7.00 am to 7.15 am, so I catch either of these 2 buses. When I am early enough to be there by 7, I meet up with a lean guy who is studying in some college in Tambaram. This guy (call him Mr.Lean for ease of use) Mr.Lean tries to catch the 7.10 am bus. But, the fact is that the maximum probability of the 7.10 bus turning at around the expected time is a bit low, often it comes early by 6.50 right after the 6.40 bus or never comes.

I had been facing a bad omen, whenever I go early (sometimes even by 6.50 am) to catch this bus, it never comes that I am made to wait till 7.50. And, this Mr.Lean, comes around 7.05 am to the bus stop. Right from the time he arrives at the bus stop he never stands at one place. He can be often located peeping at the long stretch of the road to our right, standing in the middle of the road. He will constantly move around the bus stop. It used to remind us those times in my 4th and 5th standard at my school, when we had only one toilet for boys for that floor (we can’t go the other floor’s toilet, sorry!), so when the break is on we often used to have a long queue of guys in awkward postures waiting for his chance. and most of the boys (including me sometimes) used to walk here and there, not standing at a place :P. This Mr.Lean does a similar thing, despite the cause being different - “He is waiting for the bus”.

If you had been accompanying me daily, for at least a week or two , then you will very well know that the bus comes either between 7.10 to 7.15 am or never. Despite this common fact which every one knows, this guys shows high degree of impatience. He goes near the door of every bus that comes, especially 5E which goes till 1/4 th of the our route, that sometimes the bus waits for him to get in and having waited for sometime and this guy not getting in, it moves on. The more funny thing is, he waits till 7.40 and catches a bus that takes him no near what 5E would have taken him. Considering the frequency of 5E, I guess it will be better to take this bus rather than something which takes us half the distance where 5E can take us. And, if he has waited for 10 more minutes he would have got 18M (mostly you will get a seat) and it directly takes us to our destination.

Ok, I know what you are going to ask, “Is just a single guy makes you complain about the majority of youth?”. This was the most probable example I could give. There are many. There are people who very well know when the bus comes, wait for it till its almost the time for the bus and at last resort to catch a break-of-journey route bus.

Another instant, which actually got me the idea of posting this topic is this: Three college kiddos got into the bus in the afternoon along with me (time was around 2.30 pm). People very well know that white board buses stop at every stopping and also that 18M has only white-board buses. Two of these kids (college going kids) were intended to go till Ashok Pillar, where most of the buses go (pass through). But, inspite of knowing all these facts they got into the 18M and sat right behind me. Right from the time the bus left chrompet, these guys started cribbing about stopping at every stopping, that the conductor got fed up and politely told them it was a white-board bus and it was intended to stop at every stopping. Despite this cribbing didn’t stop. They started calculating what time it will reach the destination, to an incredible results of one hour minimum. Their comment was, “Will the bus reach Pillar by 5 pm, my girl friend will be waiting at home”. Most of us felt “Eh? Who’s waiting!?”. Ok, i agree these are immature kids who doesn’t know what to talk, especially in a public bus with a pitch as good as the person in a vehicle next to us can hear. But still, the maximum time the bus takes to move from vadapalani to Tambaram itself is 1.5 hours max, and in the afternoon time it fairly reaches less than an hour.

There were many such instances I have met in my life in the past few months, that put me into writing this post. Why do these young bloods have such high levels of impatience when they have to observe and display the exact opposite to learn and make them face with the odds of their lives ?! I leave the question open for you… :)