Category Archives: Daily life

Surprise mail and ideas.

Here is an excerpt from a mail in my gmail inbox:
Hide quoted text -

On Mon, Jan 07, 2008 at 09:31:39AM +0530, Shriphani Palakodety wrote:
> Hello,
> You are my IDOL !!. Every ext2fs utility that I see is made by you.
> There are countless times when debugfs and e2fsck played an important
> part in my “piddling” around with external devices. I applied to MIT
> for a place in the class of 2012 and I aim to be like you.

I’m glad those tools have been helpful for you.

Good luck getting into MIT!!

- Ted

That was a mail from Theodore T’so, the extremely cool maintainer of the e2fsprogs package and one of North America’s first Linux developers. He has like 2 degrees from MIT ( YAY!) and now works at IBM and gets paid to hack on Linux ( in short, gets paid to do what he likes ).

So let’s move on to something else. I happened to see this article on Semantic Filesystems and began thinking about it the entire day. I was trying to figure out the purpose they would serve. I then thought of the now-hacked TWINCLING WIKI (our mistake really). The web2.0 philosophy is more about reaching out using the Web and other nonsense, let us just say one opens up a “publicly editable” content management system - one where without logging into an account, an individual can put content up for the world to see (something like free advertising space - an idea? probably :) ). Let us say, I install something like drupal and implement FCKEeditor to allow people to throw content on this site. php’s file apis are more or less unix-like. If one gets the weird idea of throwing an “rm -rf” in there and getting it to execute somehow, BOOM!

It might seem easy to recover at first. But beware, once this CMS is removed, there is every chance that the backup is kicked out as well (if the backup is in the same directory as the CMS). Let us just say we had a file-system that knew about this installation and knew where the backups were. Within minutes after the attack, the intelligence the fs possesses should enable it to reinstall the CMS and put all the posts back. This is a better way of doing things than let’s say reinstalling the CMS manually hours after the it has been compromised. Sounds like a far cry, but is possible.

There can be worse situations at times. Let us just say that an administrator has found that a certain movie is taking up too much space on the filesystem(probably the movie is 5 gigs in size). He goes on to delete this file and realizes that no space has been freed. This is because the file will continue to take up space on the drive till the process which opened them is killed. Now that the file has no name, it is much harder to deal with. A filesystem with inherent intelligence should be able to perform the hardkill (signal 9) on every process accessing this file (this process could well be a search application keeping track of the files). Such enormous potential is what intelligent filesystems hold. 5 months till college. I can hardly wait.

By the way, that tweet over there —> will soon change :)

Father arrives…..

My father came two days ago from Lagos. After the ceremonial procedures, I got him to show me the state of the site he was working on and the pictures of Amsterdam - he was there for a few days before he came here. My dad gave me his Sony Cybershot camera and also the domain http://shriphani.com . Hence my blog’s residence is here.

I’ve almost finished my essays etc. I think I will be free to work on my web application after that.

I got a mail from Pavithran S. recently. He says that there will be a mukt.in meeting on the 30th at Osmania University’s Astronomy building and I have to make myself visible there. From what I gather on iLugHyd’s forums, there is a meeting on the 30th as well. And the topic….. Rapid Web Applications with Ruby on Rails !!! This will give me the chance to learn more about Ruby and the Rails framework which seemingly is undergoing drastic changes in the soon-to-be released version 2. I tried ROR myself some time back and found that scaffolds don’t work with rails 1.99. Open source software’s biggest drawback is the lack of backward compatibility. I supposed developers have to take backward compatibility seriously. Entire applications need to be rewritten thanks to these huge changes that are incorporated into the new releases.

Dad has a few problems looking at pdf files on his Treo. Seemingly files over 1 MB in size do not appear in full resolution. I have a solution with me right now and I shall put it here in the next post.

I wrote this post right after I woke up and hence my grammar/spelling/ might not be correct.

Happy thoughts courtesy PSF.

I rushed back home today to finish the CMU Essay and as usual checked my Gmail Inbox and I saw a mail from Steve Holden there !!. It reads:

Dear Student:

Congratulations! One or more of your submissions under the Google Highly
Open Participation contest has been deemed to be of high enough quality
to be incorporated into the Python distribution.

So my work at the GHOP( task 165: Python on Unix is accepted !!!

For those who want to verify this, I uploaded the document to the discussions page and it is over here.
I hope I get the all important t-shirt from them. I’ve got to fill a form and fax it to them. This is one email which won’t find its way to the Trash directory.

I am about to finish my essays and this blog might be devoid of the enthusiasm I put in my posts. So please bear with me.

Interesting observations, Semantic Web.

Well, I was browsing around in /etc/init.d and I found this:

shriphani@psp-laptop:/etc/init.d$ ls -ltotal 368

\-rw-r--r-- 1 root root 1386 Sep 13  2006 README

-rwxr-xr-x 1 root root 1850 Jan 14  2006 acpid

-rwxr-xr-x 1 root root 5884 Feb 26  2007 alsa

-rwxr-xr-x 1 root root 8710 Jan 12  2007 alsa-utils

-rwxr-xr-x 1 root root 4886 Jun 18 01:42 apache2

-rwxr-xr-x 1 root root  969 Jan  3  2006 atd

-rwxr-xr-x 1 root root 4318 Mar 17  2007 avahi-daemon

-rwxr-xr-x 1 root root 1109 Oct 27  2005 binfmt-support

-rwxr-xr-x 1 root root 2803 Oct 18  2006 bittorrent

-rwxr-xr-x 1 root root 5089 Sep 20  2006 bootclean

-rwxr-xr-x 1 root root 2146 Sep 13  2006 bootlogd

-rwxr-xr-x 1 root root 1915 Sep 20  2006 bootmisc.sh

-rwxr-xr-x 1 root root 2930 Sep 14  2006 checkfs.sh

-rwxr-xr-x 1 root root 9548 Sep 23  2006 checkroot.sh

-rwxr-xr-x 1 root root 6110 Sep  5  2006 console-screen.sh

-rwxr-xr-x 1 root root 1693 Oct 21 18:35 cpufrequtils

-rwxr-xr-x 1 root root 1761 Oct 13  2006 cron

-rwxr-xr-x 1 root root 1977 Feb  2  2007 cupsys

-rwxr-xr-x 1 root root 2760 Dec 13  2006 dbus

-rwxr-xr-x 1 root root 1753 Oct  8  2006 dirmngr

-rwxr-xr-x 1 root root 5984 Oct 23  2006 discover

-rwxr-xr-x 1 root root 1196 Sep  3  2006 festival

-rwxr-xr-x 1 root root 1833 Dec 15  2006 gdm

-rwxr-xr-x 1 root root 5823 Jul 31 02:09 glibc.sh

-rwxr-xr-x 1 root root 1360 Jan 14  2007 halt

-rwxr-xr-x 1 root root 1287 Sep 13  2006 hostname.sh

-rwxr-xr-x 1 root root 3886 Feb 21  2007 hwclock.sh

-rwxr-xr-x 1 root root 2518 Sep 15  2006 ifupdown

-rwxr-xr-x 1 root root 1046 Sep 15  2006 ifupdown-clean

-rwxr-xr-x 1 root root 5119 Sep 21 21:39 kdm

-rwxr-xr-x 1 root root 3484 Oct 16  2006 keymap.sh

-rwxr-xr-x 1 root root  944 Sep 13  2006 killprocs

-rwxr-xr-x 1 root root 1375 May 25  2006 klogd

-rwxr-xr-x 1 root root  417 Aug  9  2006 libdevmapper1.02

-rwxr-xr-x 1 root root 1060 Jan 29  2007 lisa

-rwxr-xr-x 1 root root  421 Mar  5  2007 lm-sensors

-rwxr-xr-x 1 root root 1054 Sep  7  2006 makedev

-rwxr-xr-x 1 root root 1793 Nov 14  2006 module-init-tools

-rwxr-xr-x 1 root root  617 Jan 15  2006 mountall-bootclean.sh

-rwxr-xr-x 1 root root 1718 Sep 13  2006 mountall.sh

-rwxr-xr-x 1 root root 2206 Oct  3  2006 mountdevsubfs.sh

-rwxr-xr-x 1 root root 2394 Sep 25  2006 mountkernfs.sh

-rwxr-xr-x 1 root root  615 Jan 15  2006 mountnfs-bootclean.sh

-rwxr-xr-x 1 root root 2299 Nov 26  2006 mountnfs.sh

-rwxr-xr-x 1 root root 3668 Nov 26  2006 mtab.sh

-rwxr-xr-x 1 root root 2550 Jan  6  2007 networking

-rwxr-xr-x 1 root root 6644 May 16  2007 nfs-common

-rwxr-xr-x 1 root root 2324 Feb 26  2007 openbsd-inetd

-rwxr-xr-x 1 root root 6499 Oct 22  2006 pcmcia

-rwxr-xr-x 1 root root 2350 Nov 27  2006 pcmciautils

-rwxr-xr-x 1 root root 1525 Dec 22  2006 portmap

-rwxr-xr-x 1 root root  375 Mar 18  2007 pppd-dns

-rwxr-xr-x 1 root root  997 Sep 13  2006 procps.sh

-rwxr-xr-x 1 root root 8045 Nov 28  2006 rc

-rwxr-xr-x 1 root root  798 Sep 28  2006 rc.local

-rwxr-xr-x 1 root root  117 Dec  2  2005 rcS

-rwxr-xr-x 1 root root  655 Sep 22  2006 reboot

-rwxr-xr-x 1 root root  994 Sep 13  2006 rmnologin

-rwxr-xr-x 1 root root 4096 Jul 31 17:09 rsync

-rwxr-xr-x 1 root root  695 Mar  7  2007 screen-cleanup

-rwxr-xr-x 1 root root 1376 Nov 28  2006 sendsigs

-rwxr-xr-x 1 root root  585 Sep 13  2006 single

-rw-r--r-- 1 root root 4187 Sep 13  2006 skeleton

-rwxr-xr-x 1 root root  520 Sep 13  2006 stop-bootlogd

-rwxr-xr-x 1 root root  730 Oct  2  2006 stop-bootlogd-single

-rwxr-xr-x 1 root root  541 Apr  7  2006 sudo

-rwxr-xr-x 1 root root 2037 May 25  2006 sysklogd

-rwxr-xr-x 1 root root 8178 Dec 19  2006 udev

-rwxr-xr-x 1 root root 1252 Mar 28  2006 udev-mtab

-rwxr-xr-x 1 root root 3175 Nov 25  2006 umountfs

-rwxr-xr-x 1 root root 2128 Nov 26  2006 umountnfs.sh

-rwxr-xr-x 1 root root 1122 Sep 30  2006 umountroot

-rwxr-xr-x 1 root root 1815 Sep 13  2006 urandom

-rwxr-xr-x 1 root root 1626 Oct  5  2006 wpa-ifupdown

-rwxr-xr-x 1 root root 1805 Feb 13  2007 x11-common

shriphani@psp-laptop:/etc/init.d$

My current OS was installed on my laptop this November and here one can see that the timestamps date as back as 2005. This means that those files haven’t been tinkered with since 2005 by the developers ?

I was talking to Mr. Saifi Khan of TWINCLING some time back. He told me about a discussion he was engaged in with some geeks from Yahoo! (TM). Seemingly Web 3.0 would be released. I shook my head. Web 2.0 was such a pretentious name for trash. Mr. Saifi then told me that Web3.0 was UI + Wisdom. Then my cellphone’s (well, my mother’s) battery got dischared. I then began formulating ideas based on what I was told on the phone.

I was browsing MIT’s EECS Research Page (I am inclined towards CSE now, but who knows) and I saw something called Semantic Web by Prof. Tim Berners Lee. Semantic Web has the wisdom to operate on data. Here is what he has to say about semantic web:


using the WWW infrastructure to create a global, decentralized, weblike mesh of machine-processable knowledge. Please see my general page for information about other subjects.

The Semantic Web can be described as doing for Knowledge Representation what the Hypertext WWW did for hypertext. It part of the completion of the original dream of the Web. URIs and HTTP create a universal addressable space of information, allowing things to be given globally unique and dereferencable names. By relaxing traditional constraints of global consistency, we allow the system to grow to a global scale, maintaining local consistency.

I might mention that Prof. Tim Berners Lee’s “work” called Design Issues seems to be a good source for information on the dynamics of the World Wide Web. I actually want to work on this (if I do get the chance to that is). I am really busy nowadays. I will write again later.

Visit to HPS R

I am particularly sad today. I didn’t attend the Open Source Roundup at TWINCLING Society. Well, lets forget it. I went to HPS Ramanthapur this morning as I had some free time. Seemingly Parag is holding some position of importance in the HPS prefectorial committee and so is Saurav. Saurav is as tall as me and is sprouting a beard. The school has a new principal who served in the Indian navy. I was surprised to see class 10 C (class 8 C when I was prefect) grow quite tall. What’s more, most of the teachers who taught me have resigned. But I did meet a few teachers.

BTW the NIPL wiki that was hosted on Argo which got closed recently has now been moved to another server and is up and running. Good news from the NIPL camp after some time.

Pavithran S. from NRCFOSS who works on KDE translations will be coming to Hyderabad on the 30th to talk about mukt.in. We plan to meet at Osmania University’s astronomy building again. This time our meeting will be aimed at mukt.in version 2. The mukt.in blog is being updated and artwork in flowing in. I have to make a few more stickers. I have been so busy with this admissions process.

I’ve got to go and draft those essays now.

Boolean algebra, my first experience.

Today I returned a bit too late from FIITJEE considering that I had to give the evaluation forms to my teachers. After returning home, I picked up a book titled “An Unusual Algebra” by I.M. Yaglom. It is an excellent work that introduces Boolean algebra. I have finished half the book. Here is what I learned:

2 + 3 = 5

3 + 4 = 7

If we have sets like A, B and C and if we define addition to be union, and multiplication to be intersection, then we have the following properties associated with the operations addition and multiplication:

1. Commutative property:

A + B = B + A or A + C = C + A or B + C = C + B

AB = BA or AC = CA or BC = CB

2. Associative propery:

(A + B) + C = A + (B + C)

(AB)C = A(BC)

3. Distributive property:

(A + B)C = AC + BC

(A + C)(B + C) = AB + C

4. Idempotent property:

AA = A, BB = B and CC = C

A + A = A, B + B = B and C + C = C

So we go on to state that the operation “addition” and “multiplication” are to have the above properties and if we go on to apply this operation “addition” to a set of numbers {0, 1}, then we have the following:

0 + 1 = 1

0 + 0 = 0

1 + 1 = 1

1 + 0 = 1

Now these satisfy the properties stated above. There’s Boolean algebra in a nutshell.

I was then musing that those properties that we stated for sets form the peoperties for operations in Boolean algebra. However I did find a catch in that. We have what is known as the Identity element for addition and multiplication, 0 and 1 respectively. But there is no such set X such that X + A = A or XA = A. If there were such a set, it would be the superset of every set. There you go.

I need to learn a bit more. I will be posting more about this book here. Till then, goodbye

GHOP, mukt.in stickers, sad news from NIPL and new ideas.

I finished my GHOP (Google Highly Open Participation) task a few days back. I was writing the docs for different unix platforms and it was nice to have a person from caltech monitoring my progress. I won’t say it was fun filled because it was not. I literally had to struggle to get those commands sorted out. I actually decided while writing the docs that I wouldn’t put in “./configure”, “make” and “make install”. I decided to put in useful links to help people prepare binaries for their own system. I will be getting the all important T-Shirt from them soon (hopefully). I do want to participate in a few more tasks. I actually picked a task a little too late and was left with the choice of talking on django or some other thing or writing docs. I went for the latter as both iLugH and TWINCLING won’t be meeting any time soon.

Now, I was thinking about the stickers for mukt.in yesterday. I didn’t know a lot about sticker design myself so I had to figure out something. I made myself a list of points to be kept in mind while designing a sticker. They are:

1. Imagine the object that the sticker will be stuck on. In our case, it might be cellphones (Superkiddo stuck a gnome sticker on his cellphone at mukt.in 1), laptops (I stuck two stickers on mine) and desktops (I don’t know who did this as there was only one desktop over there).

2. Pick a color that will go well on any laptop out there. My laptop is an acer travelmate with a brushed metallic finish on the keypad. A white background with a very professional font on it should look fine. A silver background seem too regular to me as the Intel inside crap or the “designed for windows xp” nonsense (it is on my toilet tank now) stickers come with silver backgrounds.

I got an idea about a firefox extension yesterday. I could make an extension that checks a website for change in content (The GHOP task page) and reports the new task through a popup. I will finish soon (hopefully)

rxKaffee, a dear friend on IRC gave me a free shell account on his new ubuntu server. Thanks rxKaffee.

Now the bad news, Argo (the server I worked on when I was at NIPL) has been permanently shut. I do remember the first time I dabbled with django on it. Made the User Request Management System on it and whatnot. Seemingly Sam Watkins (the owner of NIPL) is no longer able to generate funds for it. I am now free to provide the request management system to users. Probably it will be of use to someone somewhere. I will be putting it up today. I guess that this was inevitable considering the huge number of requests and the relatively low funds that came to the NIPL project.

Well, I will write again.

iLugHyd, Sloppy pace, Confusion.

I just returned from iLugHyderabad’s meeting. It was fun. I met a lot of interesting folks who had dabbled with the new release of Fedora. It is not like I am tempted to try out fedora but it was fun meeting the Fedora enthusiast Rahul Sundaram. Let me recollect what happened during the meet.

The venue for the meet was the astronomy building at Osmania University. The building was being renovated and I managed to whiten my navy blue coloured jacket by plainly brushing against the walls of the building. There was no electricity in the building too. We were discussing about moving to a different room when a professor who was there to attend the talk (teaches at Osmania and has been using Linux for 12 years !!) used an extension cord that somehow could span the length of two floors. The basic infrastructure needed to conduct the event was now complete. We waited for a few more people to arrive but not many turned up. Seemingly many students had exams the very next day and chose to stay back at home/hostel to study. I began discussing about Django newforms with Theju (I met him at mukt.in . He was one of those who did a project on server side validation at the google summer of code. I will take part in this when I go to college for sure. They give out some excellent projects and help in improving one’s coding skills.). Seemingly in December, django’s creators will launch newforms (or is it newforms admin?). Theju promised to teach me how to hack up the admin interface that comes with django.

Someone at the meet with long hair had a lot of troubles with Fedora 8. Seemingly his laptop wouldn’t boot into fedora and grub would get stuck at the “Loading Grub, Stage1.5″ stage. I also remember that I had some troubles with the new linux kernel way back when I used feisty. I placed a bug report here.

After that the talk began. Rahul explained about his association with linux since the days of Red Hat Linux. So automatically becomes part of the elite FOSS gang in Hyderabad.

Rahul turned out to be a jovial speaker and his speech was littered with comic examples dating back to his stint as the “font guy”, “the support guy” for Fedora and Red Hat Linux. Seemingly on one occasion, he was called up by a Fedora user from Greece who claimed that Greek didn’t look good in the Bitstream fonts but looked better in DejaVu Sans. Rahul’s reaction was “Which one is what and what looks better?”. We all had a hearty laugh at this. At the end of the meet, we all had an “introduce yourself” kind of session and there was this guy who worked at google and was all smiles. I just adore google employees. They seem to be in love with what they do and genuinely are “good” at what they do. Krish (mukt.in organizer). So we began talking. I voiced my anger at google’s choice to make us write applications using android in java and to provide an eclipse plugin to top it all. Now eclipse is a PITA. My experience with it lasted 30 minutes. 10 minutes it took to start, 10 minutes to install the pydev plugin and another 10 to close. Rahul then came in with his comment, “Some time back, your computer was considered very robust if it could run quake at 50 fps. Nowadays, if you can run eclipse at 50 fps, your box is top of the line.”. He earned another round of applause. That is the true FOSS spirit.

I did attend a Ruby on Rails session as well sometime back at TWINCLING. Mr. A.P. Rajshekhar gave a talk on ROR and it was one of the best sessions on web development (I attended one at mukt.in. It was conducted by Thyagu) that I had attended. In a span of two hours, Mr. Rajshekhar covered a lot about Ruby, MVC and also showed us a working application by the name talewiki. Mr. Rajshekhar is also writing a book on ROR and he plans to use talewiki to teach ROR. I promise you Mr. Rajshekhar that I will be the first to purchase your book.

Krish and I are coming up with a web application of our own. I will talk about it later as we are yet to come up with a working model.

I have to still figure out how to generate thumbnails for my firefox extension. I have discovered that nautilus uses a thumbnailer that picks a particular frame of a video, the first page of a file and so on. I think I will freeze the development of filerfox and do something else with firefox. I have to scout for them though.

Anyway, See you later.

Diwali’s over

Hello,

I enjoyed what can be called a sound-proof diwali. A few sparklers and a few flowerpots made up most of my 15 minute long diwali celebration.

I am not too sure I did a lot yesterday and the day before. I have a FIIT-JEE phase test coming up soon and I have a lot of coding etc. to finish. Terrific example of putting your feet in too many places at once.

I found a new album on the free albums galore blog. I have to yet listen to it. I also have a podcast to spit out soon (considering people were causing an earsore the past two days, recording became impossible). I’ve got to finish filerfox too.

Lots of work but only 24 hours in a day.

If I haven’t mentioned already, I do like music and I like melodious music. One that fills me with satisfaction once I listen to it. I was an avid follower of SaReGaMaPa for a very long time and in the senior’s edition which concluded some time back (should be back next year or so) I was a big fan of Mussarat Abbas (sufi singer who sang Nusrat Fateh Ali Khan Songs) and Amanat Ali (ghazal expert. Jagjit Singh said he had a terrific future). The kids version however seems a bit senseless to me. First of all they call these kids from all over the world and make a competition out of it. Hence we get to see a five year old crying over something that he can’t even announce about proudly ten years from now. Immature voices, overtrained kids, parents who feel that the judges have wronged their children. It is not comforting too when a child makes a complete mess of a song and when I frown, I am told that he is just a 7 year old. The point is why should I be wasting my time listening to mediocre performances.

I am going to conclude with this rant and I shall write again later

What I am up to these days

I have not been able to post a lot these days as I am all tensed about applying to colleges and so on, it is indeed a very stressful process. I have shortlisted a few but I think it is better I don’t shoot only for the top few and also look at tier 2 colleges with decent research prospects.

Now I am an individual who is eager to play with things. After the LUG meet I decided to make my own file manager extension for firefox that would enable me to easily pick the pictures that I would like to upload. I have made a basic UI for it and I will soon come up with a working version of it in about a week.

Apart from that I got to play with BSD again courtesy a generous gift from Deependra Shekawat ( a great friend who is a freenode regular ). He sent me the PCBSD installation cd. Let me recollect the process.

I put the cd in and up came a very good-looking screen that enabled me to cruise through the process and I kept encountering worthless pics that claim its capability to play all my music and edit all my files and whatnot. Typical “BSD on the desktop is finally here” kind of presentation. After a few minutes the installation finished and I was staring at KDE (oh how those jumping icons irritate me). Surprisingly everything works including my wireless. Even the distracting LED (ACER’s innovative design. They place the radio kill switch under the touchpad so that I can always hit it and see the Network Manager applet tell me that no wireless networks exist). I decide to experiment. The .pbi method of installing things irritates me further.

I recollect that a very dear friend who uses freebsd had told me about the complaints bsd threw when a device was not unmpunted correctly. I plug my external drive in and yank it out immediately. I plug it in again and type `mount /dev/da0s1 /mnt/external_disk` at the shell and get some stupid error report. I investigate further.

Tune2fs seems to be a good utility to look at ext3 fs parameters (my external drive is ext3 formatted, I know it is not smart but who cares). I notice this :

Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file

Bingo! So all I need to do is remove the ‘needs_recovery’ “feature” (stupid I know).

Being the MIT appreciator I pick debugfs which according to its manpage is written by someone from MIT (woohoo!!). So here goes:

[root@psp-laptop /root]# debugfs
debugfs: open -w -f /dev/da0s1
debugfs: features
Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
debugfs: features -needs_recovery
Filesystem features: has_journal resize_inode dir_index filetype sparse_super large_file
debugfs: quit

So there we are. I would however recommend that one runs e2fsck on the drive. That will also remove the troublesome “feature”.

Work, work and more work. I need to draft those essays now.

I will write again later