ILUGC Monthly Meeting June 2009

The monthly meeting of ilugc, which usually happens every second Saturday, for the month of June 2009 happened yesterday. There were two talks, Emacs’ org-mode by Ashok Gautham and CUPS configuration in the Configuration Series by Raman P.

As we did not have projector this time, both of them had to resort using the white board, which made them actually finish the talk sooner than expected. Although Raman managed to make the talk interesting by including real life situations he had faced, thanks to his experience, Ashok struggled a bit as his was more a practical demonstration. We should try our best to get the projector for the meet from next time, as well as the speakers should be prepared to do without one.

There was a lot of first timers to LUG meet this time, and one of them is involved in a project developing custom made embedded boards, which they plan to make available for a cost of 3ooo INR so that students can buy and play with them. He will hopefully be demonstrating the board during the next meet, so embedded fanboys mark your calendar in advance.

Here are some snaps from the meeting,

Ashok Gautham during his org-mode talk

Ashok Gautham during his org-mode talk

Raman speaking about CUPS configuration

Raman speaking about CUPS configuration

wireless usage – february and march 2009

The day I read a blog post about setting up vnstat to monitor network usage, I had one setup for my wireless network which I normally use at home. It’s been running for the past two months and been providing some interesting stats on my internet usage at home. Here are some snapshots as of today,

Monthly

vnstat-monthly

Hourly

vnstat-hourly

Daily

vnstat-daily

Looks like my typical use of wireless at home happens between 4 PM to 10 PM on weekdays, maximum being 6PM to 8PM. During weekends am using extra internet as I usually leave my mail client and messenger/IRC on most times. Well, this is just my usage at home which obviously happens in the evenings. Will also have a watch over wired interface which might give day time usage at work.

For Reading (25th September 2008)

When I closed the Feed Reader this morning, I realized that I had a dozen tabs opened in my browser due to all the clicking I did from the feeds. I thought of making a blog post out of it as most of them seem to be interesting enough.

Gnome 2.24 is out

Gnone 2.24!!

Gnone 2.24!!

Next is an interesting article (which links to another lot of interesting articles) on 10 easy ways to attract women to your FOSS project. (This might become the most clicked link in my blog, soon! :P )

If you are using irssi and looking for one another hacked-to-look-nice theme, here is 88_madcows theme from Aaron Toponce and a preview of how it looks.

If you want to check out some kewl artwork which might get into Ubuntu 8.10 Intrepid, checkout the stuffs in Kenneth Wimer’s PPA. (Note: PPA are personal playgrounds and neither Kenneth nor /me take responsibility for the darker side of your fate ;) )

If you are a frequent Google Maps or Yahoo! Maps user, but would like to have your own personalized maps somewhere then you might like to check out GeoServer.

Today Ubuntu Bugs is celebrating another Hug Day, and today the attention goes to the Update Manager. Make use of this opportunity to jump in and hug some bugs. The Update Manager Hug Day announcement/bug list is here and if you want some help then please do read this debugging wiki page.

That’s all for today, I myself gotta check them out all yet! ;)

The Firefox Fluster

When people speak about successful Open Source projects, what tops the list is the famous Open Source browser that’s been used by people not only on GNU/Linux, but on Windows and Mac as well. Firefox has always been the one prime example that OSS projects can be successful and famous. But no project is without problems, especially when the number of people using it and thereby the expectations on it from different kinds of people keeps growing.

This is not the first time that a GNU/Linux distribution is facing a problem with people behind the brand Firefox, indeed many distros took the decision to denounce the brand name Firefox and stay as Free as possible. But there were other distros which managed to get into an understanding and could keep the Firefox ball rolling.

What has happened over the recent past is that Firefox has come up with a requirement that when the distribution makes it’s own changes to Firefox and still want to use the branding of Firefox have to display an EULA when it’s users start Firefox the first time. As the distro chose to bundle Firefox as the default browser, this means that when you install this distro and start the browser the very first time, you have to face an EULA and agree to it to continue using the browser.

The second wave of problem associated with this is that it is conspired that the distro chose to implement this without consulting, debating and discussing with the community. A recent thread started in its bug tracker, lead to a long discussion (which many felt should have happened in a mailing list and not in a bug tracker).

The possible outcomes can be,

  1. Firefox again agrees for Ubuntu to use it without EULA being thrown to its users, hence the problem ends, at least for now.
  2. Ubuntu decides to still have Firefox with EULA but somehow get the permission not to throw on its users at first start (i.e. meaning all users implicitly agree to EULA when they start it first time)
  3. Ubuntu, following Debian and other distros, decides to denounce the Firefox brand and go for a custom brand or use Icedove (or similar browsers)

A lot of people support solution #3, especially those who want Ubuntu to strongly adhere to being like a Free Software distribution. My knowledge is very limited to the legal fundas behind it, but lots of people like me are also concerned. At one side, it’s about the philosophy of freedom which had been keeping us with FOSS. On the other side, it might be losing a well matured and powerful browser like Firefox. But we all hope that the final decision taken by people behind Ubuntu will be to the best interests of its community and something a major portion of the community can accept.

One day for freedom, for software

Most countries celebrate Independence Day to celebrate some kind of freedom associated with their countries history, a liberation from something which had been keeping them under chains, something which had been restricting them, confining them under the rule and wishes of someone else other than their own men. Indeed, Indians know the better of this story and we still feel proud of the freedom fight that a forefather (a few generations ago) participated.

Freedom is not just associated with this political or social liberation, but with technology as well. When the technology we used is controlled by a single company or individual, then that single entity starts controlling us indirectly through that technology. Think of a situation when someone says he owns all the water is this world. It may seem funny, stupid, but still if that situation becomes reality then the entire human race will be under the control of one single person. Thankfully it won’t be happening with water, but it might be happening with something else that has managed to become a part and parcel of our lives. Yes, computers have become very much crucial to all our lives. It’s there in our life in most objects we interact with, starting from mobile phones, to consumer electronics, in education, in hospitals, in banking, in our national security and what not.

It was in 1983, that this invisible thread was realized and an effort was started to educate humans about this threat and the solution to prevent it from becoming reality. A movement was started in the name of Free Software Foundation to this cause and been striving hard for the past 2 decades to make the freedom in software a reality.

As a part of this strive towards liberating the world from crutches of proprietary software, we celebrate one day for spreading the awareness of software freedom and it’s importance. This day is called as Software Freedom Day and it comes every year on September 20th. I have been participating in it for the past 4 years, in those celebrations which were organized by ILUGC.

This year, as am away from home turf, I was wondering where to join and thankfully Vincent Vikram called me up today and invited me to join FSUG Bangalore’s SFD celebrations in Christ College. There are indeed lots of other planning various things in India, like some Ubunteros organizing one in Mysore, ILUGC organizing a Demo Day at Kamban Engineering College, Jaya FOSS Club organizing SFD celebrations in Jaya Engineering College. Also a friend of mine, a fellow Ubuntero and an Ubuntu Tamil Team member Sri Ramadoss is releasing some of the RMS’s work in Tamil. This will help more local language readers to know about the Free Software movement and its ideologies in their own language and hence they can understand the importance of software freedom more effectively.

Looking forward to SFD @ Christ College and will keep you all updated on that :)

Reading docx files with OpenOffice

There are problems not because we use some lame software, but because our lesser sane friends decide to use some non-FOSS software which produces documents in some proprietary format. This has become too common since people started moving to Microsoft Office 2007 that the earlier .doc documents became a whole new challenge in the form of .docx documents.

My colleague had to face one such challenge today, while all he had was an Ubuntu box with OpenOffice. Hence, we had to make an effort to read the docx document with what’s available with us. And we founded a solution which is pretty easy to implement.

  1. Install libungif4g using apt or synaptic (or whatever your distribution uses)
  2. Download ODF Converter Integrator from here and install it
  3. If you had OpenOffice open during this process, just close it down and reopen it.

Now, you should be able to view .docx files in OpenOffice. I was told that it takes some time for it to load the file, which might be because it internally converts the docx file to doc and/or to odf. We encountered similar looking solutions from [1] and [2] as well, but the above one worked for us.

[1] http://ubuntuguide.org/wiki/Ubuntu:Gutsy#OpenOffice_add_ons

[2] http://www.thinkdigit.com/forum/showthread.php?t=58275

mere updates

There are two reasons for this post, first is that people have started feeling I no more blog, and second is that I heard of certain things that I thought of blogging.

It’s not new to have heard a complain that Ubuntu, though accepting openly that they are based on Debian GNU/Linux, has never acknowledged that they are thankful to Debian for what it has taken from them. We had no answers till sometime back but not anymore. Just visit the Ubuntu Home Page and you’ll know. If you want more, we have this page for you which talks about our relation with Debian.

Today I got the news which I was awaiting for sometime, the dates for foss.in 2008 were announced. This is one of the premier FOSS conferences in India and attended by a majority of FOSS enthusiasts from India and a lot more from abroad. This conferences gives us an opportunity to meet contributors from all over the world, the lead developers of many projects which we use or even contribute to and finally sometimes our heroes and heroines in FOSS. Also, this is an opportunity to meet a lot of my Indian friends from Mumbai, Delhi, Chennai and other places at one place. We have to wait for some more days to know more in this front.

Ubuntu global bug jam was a great experience. Though we didn’t have too many people from Indian team participating, it was great interacting with lot of people around the world in squashing some bugs. There was indeed a global competition to get more bugs triaged and reach a better place in dholbach’s 5-a-day stats. Looking forward to more such bug jams and more experiences making me a better triager.

Usability by Celeste

I made it yesterday though it was late into the midnight, attending Kubuntu Tutorials Day at #kubuntu-devel. The session I was interested to catch up was the second one by Celeste Lyn Paul aka seele on Usability. I have heard about her, her work, KDE-HIG and openusability.org a few months ago after I attended the HCI workshop at IIT Bombay. The following are the brief notes from my scratch pad on what seele said during her session. Official logs from the Kubuntu Tutorials Day should be available soon (or am not yet aware of the link yet..) and will update when I get it.

( Questions from seele are in italics, with related links I managed to get by Googling and my own comments. A little bit of editing to make it look a bit “blog formal” and readable. Comments are welcome, especially if you find something wrong :) )

In 20 words or less, what do you guys think usability is? (and no cheating on wikipedia)

If we take this from an ISO standard, usability means that a product must be,
1.learnable
2. efficient
3. memorable
4. prevent errors, and
5. be satisfactory to users

Learnable
This is the one no one usually picks when i ask the “what is usability” question. A product (in our case software) doesn’t have to be so easy that you don’t have to learn it. For a simple task, then you expect it to be simple but for a complex task, it is OK to expect learning.

Efficiency
This probably shouldn’t be #2 even though it is listed in the ISO spec this way, because it is related to learnability and memorability. But it is exactly what the word means, an appropriate use of time and resources in relation to the complexity of the system. Even if you made a simple printing function an easy to use 10 step wizard, it isn’t very efficient if you need to do that every time you print. Clicking one button will get the same amount of work done than stepping the user through all the options and clicking 10.

Memorability
This is what I think should be #2 because it is closely related to learnability.

Have you guys ever heard of the term Information Scent? It is an Information Science Theory

Information scent is a search behavior theory. Information scientists believe we search using the “gathering” skills of our “hunter-gatherer” basic instincts. What it turns in to from a UI perspective is how easy it is to find information (functionality or options) from it’s surface presentation. So, what options you expect to be under menu X before you open menu X? By having good information scent (good labels, structure, etc.), you can use the UI more efficiently because you can stack layers of information.

Basically you are leaving hints to the user to find the information on their own, they don’t need to Remember where options are, but only follow a logical path. This saves the user’s cognitive resources to go on and solve more complex problems instead of using them on the UI. Remember that a UI is a tool to solve a problem, the UI shouldn’t be the problem.

Error Prevention
Have any of you guys heard of Jef Raskin?

He was a famous designer who worked at apple (i think he was employee #12 or something close). He was a true user advocate in the sense that he believed no matter what the circumstance, the computer should do no harm. Also, many of you are probably familiar with the practice of confirming actions, particularly destructive ones, yes? Error prevention is more than just confirming a destructive action. It is preventing the user from having to make that decision to start with.

We dont see this too much in the desktop environment because we model a lot of our work-flows off of existing software, but i see this a lot in other expert systems. “Are you really sure you want to do that? It will cripple the system and you will lose all of your data” (Well then, the user should have never been able to choose that option from the top level of a UI). Even so, there are a lot of confirmations we do in the desktop environment which could be prevented if we shaped the work-flow differently; the user should never have to select Cancel.

Satisfaction (keeping it consistent ;)
Satisfaction is the quality many people tend to identify with usability. But it is also the last dimension in the spec (and i believe the least important of all we’ve talk about). Satisfaction is important. If a user finds a system pretty or cool, they will want to use it more than the other system that is not. Users will sacrifice ALL of the other parts of usability (learnability, efficiency, memorability, error prevention) for satisfaction. our goal is to help them not make sacrifices.

I’ve seen users in usability tests take 3, 4, 10 times longer to complete a task in a terrible UI that looked pretty, and complete the same task in a different not-as-pretty UI much much faster and they still like the pretty UI.This is an advantage and disadvantage: it gives us room to experiment because users will be forgiving if we give them options they want or other cool toys; but at the same time, we should use eye candy as a crutch to solve problems. We should solve problems and make our solutions beautiful.

Have you guys ever heard of a one-time learning event?
Often when you are reviewing a new UI or work-flow, one of the questions you may ask yourself is “will the user figure this out”; and the first time around, sometime the user doesn’t. they can’t find the options, they don’t know the label, they can’t figure it out. But,if they have someone show them how to do it, they find the solution on a webpage, or painfully figure it out, it makes sense to them and they remember it for next time. We call this type of experience a one time learning event

They won’t figure it out the first time, but if they can do it once, they will remember how to do it. This is something that is often forgotten in UI design. You can break users out in to different dimensions – one of them being problem solving skills and related motivation, some users are not afraid to try something and fail, other users will not try new things in fear of failing and the users who do not explore are at risk of never exploring options hidden behind a single-learning event.

That’s why doing user research on your product and understanding who your users are, their motivations, environment, and their skill (it’s not JUST about their skills) is important. This leads me in to a discussion about universal usability.

Has anyone heard this term “Universal Usability” before?

Universal Usability is the belief that any user, no matter their skill, background, motivation, experience, etc. should be able to pick up and use a product. In cases where products must serve the general public (such as e-voting machines), this could be a valid argument, but there are very few products that focus on EVERYONE. Even so, the concept of universal usability would be extremely difficult to achieve, especially in expert systems or systems which knowledge workers use

The ipod, why does everyone use that as an example of universal usability? The ipod is an excellent example of very sexy tech that people forgive its shortcomings for. It doesn’t do everything everyone wants, and not everyone can use it or figure it out, but because it is so damn beautiful, most people don’t care.

Universal usability forces designers to lower the bar of the average user to accommodate more people. This is why it hurts expert systems. If there is a pocket of experience or information that a certain group of users may not have or be able to attain, it must be removed.

[ To a question about apple and the point mentioned above...]
Yes, but apple traditionally does not follow a user-centered design approach. they believe that designers know better. It’s only been recently that they’ve done usability testing.. everything before was market research (which is very different).

[ We seemed to digress a bit, so I tried bringing it back on track with question :P ]
There are three domains of usability i work in: User Research, Design, and User Testing. Together, these are part of the user-centered design process (UCD). It is a design philosophy which keeps users in mind while creating a system for them.

User Research is often linked to the Requirements stage of software development. So when you developers are thinking of new features to integrate in to a software, or a new software to develop from scratch. Here are some things you should be thinking of in addition to your functionality spec and other things,

Who are your users?
Try to come up with some example users who you are building the software for. Even if you are a user, try to keep yourself out of the list, it makes it too easy to do what you want instead of what they need.

What will you users be doing too many times?
Not all of the functionality is documented or fully planned. A single function might be discussed and mapped, but the other functions of a system aren’t thought of until afterwards. What happens is you don’t have a complete picture of how your users are using the system, and if the functions are integrated properly mapping out screen flows before you begin coding will help document your functionality (so you aren’t trying to squeeze or force options in later) and give you a reference for when you code.

What problem are you trying to solve?
This is the big one, your Vision Statement. Having an idea of your goals before you start will help development. It is related to the “What are my users doing?” question. If you don’t know what problem you are trying to solve with your software, you can’t know what to provide users or what they will expect? Plus, in larger projects, it is a good idea that all the developers are on the same page. It prevents a lot of road map issues later on

Being able to answer those three questions will give you a head start. On KDE Techbase there are user research templates to help guide you.

I guess we will get in to Open Source Usability 101 now,

First step: Contact the project you want to work with and express interest in working with them.
You dont want to surprise developers by dropping a usability report in their inbox. It will just make them angry, even if the work was good.

Second step: Start small. Open source is a community based on commitment and trust (after the getting work done thing).
Start with a small activity such as interviewing users, conducting a survey, or doing a small UI review. This will help developers get used to your methods, get used to you, and know what to expect from your work.

Third step: Maintain your relationship with the project.
Design is an iterative process, just as open source is iterative development. Developers are wary of seagull designers: designers who fly in, poop on their software, then fly away. Developers are in for the long hull, they are committed to their project and want to see it succeed. They don’t want to work with a designer who will ask them to change a bunch of things, then disappear and not be able to comment on the results.

Obviously I don’t want to see any unhealthy marriages, but keep in mind that you will make a bigger difference in one project than doing a bunch of little activities for a bunch of projects. Design is a VERY iterative process; it is important for both you the designer and the developer you work with to understand this.

[ To my question whether we have something similar like KDE-HIG in Ubuntu/Kubuntu to which we can contribute.. ]
For Ubuntu designers, you will want to look at the GNOME HIG. It might be a little out of date, but one way to get started with contributing would be updating it!

For Kubuntu designers, you will want to look at the KDE4 HIG and the KDE3 User Interface Guidelines.

These are under active development, and so if you have any questions it would be best to ask me or Ellen Reitmayr who sometimes lurks in #openusability.

Other Resources:
Look at other interfaces that do similar things, not just in your own environment but in windows, KDE/GNOME, Mac OSX. You’ll find similar and very different solutions. You will want to look closely at the context of the solutions and make sure it is a good fit before you use it as a mode. Copying a solution will not solve a problem, the goal of reviewing other software is to get inspiration when you have no other better ideas.

[ The End - Applauds!! ]

Tasque

Heard about this wonderful little GNOME app called Tasque from nixternal’s blog post today, checked it out (mean the web site) and found it useful. May be I will try it out soon, not now because I am not having much tasks to do and whatever I have is reminded by ReminderFox in ThunderBird. Good thing is it is available for both Hardy and Gutsy (thanks to nixternal) from tasque-packagers’ PPA.

fossconf chennai 2008

Chennai chapter of Indian Linux User Group had geared up for their new avatar as conference organizers. Their long standing stint of not conducting a conference of their own was going to end. The discussions were happening for months, new logos getting designed, new conference management system getting developed. NRCFOSS joined hands with ILUGC and finally Madras Institute of Technology, the premier and historical institution which created leading professionals and world famous technologists like Dr. Abdul Kalam, was selected as the venue.

The conference was focussed on being a platform for first time speakers to come out of their shell and get an experience of speaking in a FOSS conference. Their audience will be a blend of experienced FOSS community members, students and academicians. In addition to just talks, there was also demo stalls as usual. This time, in addition to usual demo stalls on various topics, we had student present their final year projects. This was an opportunity for them to interact people who were doing similar things in their professional life, thereby they could get the valued feedbacks from the community and improve their projects.

The lectures happened in the Lecture hall, while the demo was in Hanger I (where Carte Blanche used to happen every time). Various colleges who have been interacting with ILUGC and NRCFOSS had sent their students as volunteers, participants and delegates. The core volunteer team was formed by the enthusiastic MIT Computer Club students, the one who conduct Carte Blanche every year (supported by ILUGC).

We had around 109 talks spread over 3 days (actually 2 days) and 863 registered delegates, while the registration desk reports the total attendance was above 1500. The attendees were mostly students from colleges and a few from nearby schools, academic community from the participating colleges, a few from the industry and representatives of the community. There were around 10 physical volunteers from ILUGC and another half a dozen from NRCFOSS co-ordinating the entire conference.

The conference formally began at 1.00 PM on 1st February, 2008 and was formally closed with Brian’s talk at 2.00 PM on 3rd February. Though there were few talks without enough audience, the beginner level talks were running houseful. May be the speakers should consider the focussed audience group before selecting what they are going to speak on. Or, may be we had too many of new entrants getting enlightened about FOSS that they choose to stick with beginner talks. We will be careful next time when we accept talks.

Though there were initial glitches and confusions during the first session on Day 1, with a speaker going missing while the alloted room was filled with audience, we managed to straighten up things as soon as possible. We had lots to learn from this experience of conducting a FOSS conference, when the major audience was students pretty new to the topic. There was also some logistic issues due to miscommunication or lack of proper communication channels. But on a whole we managed to walk across the rope, from one end to another without falling down and bruising ourselves.

We had people from few other LUGs attending the conference and they were really surprised to know that the entire show was run and supported by the students, with the LUG just standing behind and giving them a shoulder when needed. They also appreciated the idea of displaying the student projects which were actually nothing but final year projects for their B.E. degree.

What I wish to do now is to join hands with some of my friends (if they like this idea), with the students themselves and help them have a hosting space where they can properly host their projects. This means they will have a version control system, a issue tracker and project management tool and a weblog for them to blog as they proceed with their development. A few, with whom I talked about this, were really interested with this idea and said they will help in this. Hope, I get a few more helping hearts from those who read this post ;)

The fossconf chennai has ended and we are contented of performing to our best, and accept the mistakes we made, taking them as a good learning experience to improve ourselves next time. Thanks for those who supported us, who participated and those who have a shoulder and hand in making this happen :)

the new KDE era begins

All Ks are excited and rather celebrating. Wonder why? Because their new baby is out and it’s rocking the world. Still have no clue of what am excited about too!? It’s all about the new version of KDE , the KDE 4.0 release which happened yesterday. This has been the work of lots and lots of contributors to make a yet-another-endeavor to bless this world with a rocking Desktop Environment. As KDE has always been doing, this time too it has come out with really awesome desktop. The additional good news is that the KDE 4.0 release announcement is also available in various languages like Hindi, Bengali (India), Malayalam, Gujarati, Marathi and Tamil (coming out soon!).

It’s time for the party, one is indeed happening at Mumbai and one is being planned in Chennai as well. Thanks and wishes to all the Ks who have worked to bring out this wonderful version of KDE. Thanks also to those wonderful buddies of mine who translated the release announcement in various languages and to the one who pitched in this whole idea of having localized version of the release announcement ;)

KDE 4.0, its roKKKKKing! :)

Notes from Roger’s OpenJDK talk

I happened to be the Hall Marshal during Roger’s talk on OpenJDK (or Open Sourcing Java) during foss.in and happened to make some occasional notes on what he said (though the last 20 mins, I had something else to do).

  • Nov 2006 – gpl v2 hotspot VM jav compiler – openjdk.dev.java.net
  • Jan 2007 – kitchen sink language project
  • 8 May 2007 – the rest of java code, interim governance board (almost)
  • 25169 source files, 4% binary only, 8% not under gpl
  • font rasterizer, graphics rasterizer, crypto providers, color mgt are gpl’d
  • sound engine, snmp code, imaging api are not
  • sun in control, patches via email now —> community in control, non-sun committers
  • write a constitution, get it ratified by community, hold elections for open seats
  • initial projects – free font, free graphics, free sound rasterizers
  • Gentoo openJDK ebuild done in 3 hours
  • Fedora source rpm build in 13 hours
  • IcedTea icedtea.classpath.org, June 2007
  • framebuffer toolkit project, May 2007
  • Mercurial support for external committers, Oct 2007
  • Dec 2007, drafting constitution
  • April/May 2007, ratify constitution
  • openjdk.java.net, planetjdk.org, mail.openjdk.java.net, #openjdk
  • 2 trillion handsets with java on mobile

(Python) ipython

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

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 :)