Installing Arch Linux on my Acer Aspire 4530

Awww.
This is the hardiest distro i’ve ever used, after so much distro-hopping. Even slackware was… well… easier…?

I decided to completely remove the existing system (kubuntu, which sucked big time), to make way for Arch.

So this is what i did :

1. I downloaded the 357~MB iso, which contained the core packages ( kernel, package manager, and some other little things … obviously no X ).

2. I looked around for a CD… but couldnt find one. I didnt have a USB drive lying around either. So i burnt it to a precious expensive DVD. 😛

3. Upon inserting the CD, i was greeted by a nice cheesy-looking grub screen. Oh, and one of the grub options was…. guess what? A SPACE INVADERS game!

4. I chose the Core install. Then I was sent back to the main menu. Then I chose the usual options like Clock settings and stuff.

5. Then I got the main menu with … well, have a look :

I chose prepare hard-drive and told it to format the entire disk… what the hell, i had taken backups… didnt matter.

I gave a 32 megs size to the /boot partition, 15 gigs to /, and the rest to /home…. lol my HDD is 160 gigs…:P

Then i was told to select packages from the disc. I chose all, including the devel packs.
And then, well… i installed ’em. What else?

6. Then i was asked if i wished to change settings. Well, this is not a next-door distro, so dont skip this step. You HAVE to change the default settings. And no, arch wont hold your hand. So this is all I did… I just added eth0 (dhcp) in the interfaces section of the /etc/rc.conf file.In arch linux, this file is the mecca of system settings.
Thus, I effectively told my system to request an IP address at the eth0 interface at startup using
dhcpcd eth0

7. I didnt have to change things anymore. So I rebooted and lo! My ethernet was working. So i first did pacman -Syu to update my system. This is always a good idea in any distro, since you get the latest kernel this way, and if you update later, it would always be a pain in the ass to persuade old kernel modules to love the new kernel.

More next time!! C ya.

svn-compiled Kaffeine for KDE4

This one has been my favourite video player ever since I started actively using linux as my main system. I’ve been missing it ever since KDE4 came out. So I decided I should give svn a shot.

I got it from “svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia”.

You need the parent directory “multimedia” to build it. Since you only want to test kaffeine, you can use the following commands to download the least possible:

svn co -N svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia
cd multimedia
svn up kaffeine

and build from the multimedia directory.

Well, the code is nicely written and easy to understand. But I did not see much on-the-surface difference from the KDE version, except for the obvious switch to phonon.

On the first view, it looks very much like the old kaffeine. There aren’t many new features, it seems. Looks like just a port from old to new.

The video playing view looks like this :

which looks simple with no frills, but with many features packed inside.

Below is a shot of the playlist section :

It aint bad… the lower left frame is a kde file chooser, the upper left shows a list of playlist (note that I couldn’t find any obvious way to rename the playlist…). The upper right listview shows the files in the selected playlist, and the lower right is a video player widget showing the currently playing video.

As I said, its just a port. Not much new.
One thing that’s badly needed is software sound amplification…

And, of course, some eye-candy in accordance with the KDE4 style !!!

Gooey stuff

Well, since most of the core work is done, i thought i would give some effort to the GUI. In the First screenshot, the toolbar’s default actions have been limited to four, and each is separated from the others by category. By the way, note the word “default”. There’s more you can add to this toolbar, all you have to do is create a QList of QActions and read these actions from a config file created specially for plugins. These new actions will be appended after the last separator.

The icon theme is oxygen, of course, except for the main application icon, which i use as the mainwindow’s icon and the tray icon. It has been borrowed from … well… i cant remember. Will change it to a more original icon. But thats for later.
Note that the multicast and send buttons get highlighted only if someone is on the wire. Which is why they are grayed out in the snap.


This is a snap of the first tab of the settings dialog. Next to the group label is an editable combobox, so in case you want to make a new group, you can just write it in the field.

Status hasn’t been implemented yet, which is obvious from the snap, but in a few days everything should be finished.

Also, I might consider using a list view widget instead of the tabbed style, along the KDE lines… each element in the list view should have a 32*32 or 64*64 icon with a bold text like “Appearance”
below it.

And talking of some non-gooey stuff, im thinking of launching the file receive dialogs in separate processes… I already have ideas on how to implement it… 😛 looks like this will be in beta stage for a long, long time…

By the way, MVC programming sure is fun… yo.

KatKit 1.0 alpha (as of now)

Well i should say most of the required functionality is there, file transfer, text message sending all works though there are some minor crashes ( though far lesser than in qommunicate 1.0, due to some hacks i did to nikhil’s code).
The GUI is still very immature and clumsy, so now that will be a bigger priority. I’ll create some custom widgets to pimp up my qt learning experience.

TODO:
1. Beautify things.
2. Use a few custom widgets (just for experience).
3. Hack up the code a bit more to clear out the crashes. Adding qdebug() lines everywhere now should be a big help.
4. Plugins!!! Possible ways to implement them would include reading a plugin database file and registering them with the main application. The plugin maker person should include his/her own little program to configure his plugin. Though how to implement it, im not sure… that reminds me… i’m still IRC-starved!!! no help at all!!
4. Try for some more modularity… but then it would become too abstract for my liking…
5. Implement separate processes for separate tasks… like launch file transfers by passing params to a special file transfer program – or maybe let it be done by a plugin!!! NOTE: avoid race conditions!!!
6. Try making a KDE plasmoid for this program. I’ve intentionally kept the name of this program KatKit ( starts with a K ) so that maybe someday i can make a version of it using KDE libraries!!!

IRC Blocked? what the hell ?!!?

Yo.
I was working on KatKit, and needed some help regarding how to implement my much-desired plugin system. So I fired up my new IRC client, and awww hell… the connection timeouted. The same problem happened with other channels… eg #kubuntu . So i changed the port to a different value, and got the same problem.

Finally i decided to complain.
This was what i wrote to the sysadmin :

Dear Sysadmin,
It seems as if the IRC protocol chat (Internet Relay Chat) has been
blocked in the university campus. This is extremely restricting and
inconvenient as most programmers/developers communicate to each other
via IRC chatrooms. This has greatly slowed down my work on a particular
software project I am doing. I have to rely on some websites’ forums and
email for help and guidance from other developers and this is a very
slow process as replies can be delayed by hours and days. Even changing
the port number from 6667 to some other value does not work. It is NOT
something like yahoo messenger or gtalk, so I see no reason for it to be
blocked.

Thus, I request that you take the necessary steps to remove this
unnecessary nuisance quickly, so that my work can be done faster.
Please reply to this mail ASAP

Yours Sincerely,
Aditya Bhatt (B.Tech 2008)

It pretty much says it all about my frustration… 😄
No wonder sysadmins are the most hated folk on all acad campuses..^_^ All they seem to do is block stuff…

An ultra-modular package manager

Today’s package manager frontends give a rigid and un-customizable feel.

A list of some of the things a perfect package manager should have:
1. Plugin-system for any type of package format… debs, rpms or tarballs.

2. Should not fuss when attempts are made to install something by overriding or disrespecting dependencies… a “fusser” plugin should be okay.

3. Have the ability to parse simple input files for package installation… and generate meaningful output files such as error files and download scripts… even better, rather than download scripts, it should just output an easily processable list of packages, allowing for greater user choice.

4. Should provide an option for removing configuration files of programs when you try to uninstall them.

5. All cache-related stuff… about storing in cache… that is standard nowadays.

6. There should be a program that can *EFFECTIVELY* convert debs, rpms, and stuff to each other without much hassle and such programs should be available as plugins to the package manager. AND there should be provisions for handling inter-format dependencies, that is, i should be able to install some packages from the opensuse repos and some from the debian repos for one single package i wish to install.

7. There should be a modular download backend. That is, I should be able to use wget or axel or whatever * download manager program to install my packages, and this should be integrated into the package manager. For example, my hostel download speed rarely exceeds 5 kilobytes/sec, and apt-get frequently stops its data transfer when the speed falls. On the other hand, kget rarely stops downloading.
Obviously i would like my package manager to download using kget’s method.

8. Ability to pause and resume downloads later.

9. Ability to automatically get gpg keys for added repos like ppa’s… there should be a central, trusted “gpg repo”, which contains keys for all major and minor trusted repos, so the user does not have to add a key file.

Modularity is the biggest asset…
One in-development package manager is Kpackagekit, and i would really like it to have all these features.