_UnPrEdictAbLe_

All that you need to find out about what am I upto.

Archive for October, 2006

Operating systems, iYum and Flash 9

Posted by Anurag on 24 October, 2006

Introduction - Operating systems and me

Its been long since I wrote an entry here, but this one has a purpose rather than being a pass time. I’ve always been interested in operating systems. Ever since I knew about computers, I wanted to make my own operating system. MSDOS used to be my dream at a time, then Windows 3.1, then Windows 95, Windows 98, Windows ME, Windows 2000, Windows Xp, Redhat 7.2, Redhat 7.3, Redhat 9, Fedora Core 2, Fedora Core 4, Ubuntu, Kubuntu and now Fedora Core 5. I’ve been updating my knowledge at each step, changing the dream everytime.

BASIC and the OS dream

In the beginning when we began with ‘BASIC’ (Beginners All-purpose Symbolic Instruction Code), we learnt to write ‘graphical’ programs in it. We wondered that all world has been programmed in BASIC and that learning to create a ‘WINDOW’ using the graphics of BASIC will enable us to write an operating system. As if thats the only missing link in our knowledge. Back then, our computer instructors used to say that operating systems are very complex things and can’t be made by someone as such. I accepted his point of view, but didn’t let the dream die.

When I came to IIIT

When I entered IIIT, the exposure to a new environment, different from the old and familiar Windows, which I had been used to since 1994, gave a new outlook to the whole thing. And the fact that Linus was able to make an OS of his own made my will even stronger. Though now we know that Linus only made the ‘kernel’ of the whole operating system, which is only about 3% of it (I read it somewhere).

Anyways, this was just to tell you about my strong desire to work in the field of operating systems, though I haven’t been able to do so. This was also to tell you about my familiarity with both platforms, as some people stereotype me as a ‘Linux person’. I use what I like more and its not completely impossible that I’ll switch to Windows Vista if I find it better.

iYum Repository

When Sugandh mailed about having a IIIT Yum repository, I was very excited about it. I had some idea about it. Initially, Sagar and I began working on making the Yum Repository for Fedora Core 5 - 32 bit. Sugandh talked to the faculty and got us resources. We installed a new system there, and I wrote some shell scripts initially. Later Sagar helped me out with some python too. Finally we made a mechanism to create Fedora Core 5 -32 bit repository. It downloaded about 7700 packages from the internet, about 12 GB of data.

And a set back

But you see, bad scripting and organisation resulted in a catastrophy. The script automatically deleted all packages naming them as ‘old versions’. This was a huge set-back. We decide to revive. I am very good at this I’d admit - reviving. People generally lose interest, hope, faith - after a crash. I, on the other hand, rebegin from wherever it is. Even if it means building from ground up.

Reviving

Sagar almost lost faith, while I was getting fascinated by the whole thing. It opened a new path of imagination for me. Besides, I was getting in touch with the power of Python, which I never acknowledged or experienced before. I designed a new mechanism for the Yum Repository.

New plan

Why should Yum Repository download all packages from everywhere? Why should it download any RPM for Fedora Core 2 if there isn’t any PC running it? Why should 100 others with Fedora Core 5 wait because Fedora Core 2 is being updated? Everything was so straightforward, ask the users to generate the requirement, and download only that.

The design
I designed the two tier architecture of the iYum network. The client runs a service in the background, constantly reading what packages the server ‘can’ download, comparing with what packages are old or not-installed. It sends back a list of those packages to the server. The server process combines the lists from various users and downloads the requirements. Thus, an automated system takes birth, which can expand itself as an when needed, as well as shrink itself when a particular operating system is getting obsoleted.

The actual work

I kept on telling Sagar to work, but he had his other commitments like his DIP project, BTP, etc. So, slowly and gradually, I coded the entire thing. The iYum client service, made in Python as well as the whole server and its webpages. The iYum client is currently a non-GUI thing, but my vision is to make it into something like synaptic or yumex. I might use yumex code to do so too. Anyways this is just a dream.

Flash player 9

Adobe took over Macromedia. The new version of Flash, Flash 8 came into picture. But, as Linux is not a popular platform, they didn’t work towards developing a version for it too. As a result, all Linux users were forced to use the old version, Flash 7. Many internet sites insisted on Flash 8, like the popular news site, www.ibnlive.com. Finally, Adobe has kept its promise to release a version 9 for Linux. It prerelease versions include a browser plugin and a standalone utility to run Flash 9 on Windows, Mac and Linux. Enjoy! Here is the link.

BTP

On 9 of October was a great day for me. Jawahar sir scolded me like anything for not working on the project. Initially I was very depressed and angry, but now I am happy that he did so. It brought me on the right track again, the track of working! He explained me very nicely about the BTP viva and report today, and about the future plans. I’ll be giving it my best during these couple of days. Wish me luck!

Fedora Core 6 and Vista

I heard FC6 was coming today, haven’t seen any news about it. The Fedora website is down for maintainance. Regarding Windows Vista, I am very keen. Recently I’ve read many blogs supporting and against Vista. I want to see what has Microsoft offered this time. Hopefully it’ll be something good.

Anyways, bye for now. Ciao.

Posted in Development, Events at IIIT, Life at IIIT, Linux, Project work, Studies and Courses, System software, Utility software | 1 Comment »

Another combo post :D

Posted by Anurag on 4 October, 2006

Its not fair. I write so less these days and most of the posts are just a sum total of the past days. Anyways, what can I do, lets continue the trend.

Tomorrow

Tomorrow is a busy day. I have to prepare a BTP presentation, a Advanced Graphics course presentation along with normal classes (read it as one class at 11). The upcoming matches from 7th of this month is to be recorded match-by-match on the tv.iiit.ac.in server. Yes!! The same old server which people enjoyed. We are working on the audio-video sync of the recording system these days. Hopefully after the series, the server will be open for the public.

This week

Well, I’ve to finish a lot of things this week. There is a pile of backlog for the Cognitive science course and a pending GPU assignment. We’ve set up a YUM REPOSITORY SERVER for IIIT. But mirroring 12 repositories for 6 platforms is a wastage of disk space and bandwidth. As a result, we are working on a better mechanism to create the repository. Sagar and I are jointly working on the project to come up with something good. Lets see what do we make.

This month

Diwali is ’scheduled’ this month. And its been 3 long months since I went home. I came to college on 7th of July 2006 and today is 4th of October 2006. I’m thinking to go home from 16th to 22nd of this month. As a result I’ve to skip a few classes and also finish the BTP final report beforehand, which is to be submitted on 24th of this month. Hopefully Jawahar sir will allow me to go home. I have to restart the work on the 4th semester 4 credit Mobile Blogging software project. The placements have come very near, and I need to have a clean marksheet.

Qt 4

Wow! This new thing is such a marvel. Initially I used to hate it, because I didn’t understand how to use it. But now I am familiar with the Ui namespace, resource files and other fundas, it feels good. For starters, let me tell you a good news. In Qt 3, if we created a Ui from Qt designer, and edited the header and sources generated using the uic command, the ui files used to overwrite them next time we needed to change something in Ui. Now, they’ve separated Ui component from the functionality code. As a result, the programmer can completely rely for Ui on Qt4 designer and on his code for the rest of it. Another good thing is resources. Now we can define the resources like images, text files used by the application we develop. All of them will get embedded inside the executable itself. As a result, we need to ship only single files instead of zip archives.

My experiments - Embedder

I was thinking about making something like ’setup.exe’ of windows. Generally linux setups come as tar archives or like rpm files. Almost nothing (except jdk setups, etc) come like a single setup file which handles everything. I wrote a command line utility as the first steps to generate something similar for linux. The command is called ‘createArchive’. This command takes two arguments, name of a new executable and a resource file. The resource file contains a list of files, both executable and ordinary. The command reads all files given in the resource file and finally creates an executable by the name as specified. This new executable contains all the files embedded in itself. Upon execution, this executable creates a temporary directory in /tmp and extracts all the files. It then executes the executables in a specified order. It has options of ‘quiet’ and ‘destroy extracted files on exit’ too. You can try this too. Download the files from here. It works on Linux, but is pretty much platform independent, most of if is just CORE C++. Maybe you can try it on windows as well. Does “FILE * fp;” work on windows? Sorry, the code isn’t documented (at all).

Movies

Ok, not many in the list. Lage Raho Munnabhai has been the favorite since a few days. I don’t know if the director had any intention to spread the gandhigiri, but I can see it already spreading (at least in orkut profiles). What I think one should notice is that the ‘noble thought’ is being internalized and understood by someone who has been violent and aggressive all the time, a gunda. If such a person can understand the words of truth and non-violence, we, the ordinary people ought to.

Pyaar ke side effects… they are already there. Actually Tanu wanted me to see this one. And after people appreciated it, I got desperate to see it. Eh, well I can already notice some of the side effects in my life too, hehe. In all a fun movie, a must see for your PC and can be worthy for the cinema hall as well.

Blogging - bring me back

Oh its been so long since I last visited my blog or someone elses. I am like out of the blogging world. Not that I am busy or something, but I do other things more often. They include movies, orkutting, chatting, working on the YUM REPO, etc. And rest of the time I am outside my room doing some other activities. Lets see if I revert back with this opening post. Actually I was considering of creating a private blog as well, or making this one private or something similar. I think a lot of my thoughts don’t find place in this open blog. Maybe its too early to let my ideas open for the public to read and judge.

Conclusion

Ok fine, now that I wrote a post, I have to have a conclusion. There is nothing to conclude though. Welcome me back to the blogging world. Hopefully going home this diwali. And well keep your fingers crossed for the upcoming YUM REPOSITORY and TV.IIIT.AC.IN.

Ciao.

Posted in Blogging, Events at IIIT, Fedora Core Customizer, KDE, Life at IIIT, Linux, Moods, Movies and Songs, tv.iiit.ac.in | 1 Comment »