Wednesday, July 29, 2009

Hello Planet

( One of my entries already got aggregated, but this is the traditional introduction )

Hello KDE people! My name is Nikhil Marathe. I'm a relatively new KDE developer ( ~3 months ), currently working on implementing tiling in kwin.

I started using KDE when I switched to ( what was ) Mandrake in 2001. I think it was KDE 3.2. Well I loved it, and have stuck with KDE ever since, following every release with great excitement. But I never considered myself able enough to hack the code. But it seems all those years of learning paid off, and motivation come in the form of Google's Summer of Code. Unfortunately tiling support didn't get a slot, but I decided to implement it anyway. And now it's coming along just fine. Thanks to Martin (mgraesslin), my mentor, for his guidance and Jonathan for his early interest in the code.

So a little bit about myself. I'm 18 years old. I'm an Indian. I'm currently in the 2nd year of the undergraduate course at DA-IICT. Though I'm currently in Gandhinagar, I'm a Mumbai boy through and through.

When I'm not hacking away I usually read or play football.

Thats it. I hope to keep contributing to KDE for many more years. I remember when I used to read the Planet wondering whether I would ever feature on it. Some dreams do come true!

Tuesday, July 28, 2009

KWin tiling progress

Between yesterday and today I made quite a lot of changes in kwin-tiling. Layouts now have a superclass which manages certain things. Each desktop now has its own layout. The root tile is no longer stored directly by the workspace, instead the workspace stores layouts for each desktop. For now each desktop has the Spiral layout, but it should be possible to dynamically change layouts for each desktop a few weeks down the line. Right now the plan is to fix certain layout issues ( such as spiral not understanding when a window is removed and adjusting the next one properly ).

The other major change is that cross virtual desktop moving is now supported. This was a major problem when it first arose, but once the first change was implemented, it was simply a matter of removing a tile from the old desktop and adding it to the new desktop.

There is no screenshot because none of these changes can be shown in a static image. But you can always try using the branch!

In other news I'm back in college. The third semester began yesterday, which means development time is now seriously down. I hacked on a (cool?) tool in the last two weeks, and I'll be announcing that soon. I'm also planning to add my blog to PlanetKDE.

Thursday, July 16, 2009

Harry Potter and the Half-Baked Prince

I've just returned from watching the Half Blood Prince, and it was a mess. I don't know what they were playing at, but I've never seen a worse Potter movie. The linear plot is suffocating. While the movie begins with somewhat of a bang, the rest of it proceeds at some enforced speed limit, leaving no climatic or anti-climatic moments. In addition some of the key characters are missing or have such restricted roles that is it disgusting to watch ( the Dursleys, Neville Longbottom ). In addition Harry actually seems to be supporting the Ministry. The lack of Rufus Scrimgeour even prevents him from being Dumbledore's man through-and-through. Ron Weasley is made somewhat of a tag-along for the Harry-Hermione pair. It seems they were trying to put forth the idea of a Harry-Hermione pair, but that is ruined by the obvious Harry-Ginny romance throughout the movie. The only point where Ron does something is to play Quidditch.

Speaking of Quidditch, if you expected a nice match like the first three movies, you will instead be treated to the 7 Great Saves of Ronald Weasley.

Darkness is indeed rising, but that does not mean that the Order of the Phoenix do nothing while Death Eaters abound. It was somewhat of a joke to see Arthur, Tonks and Lupin running (yes!), when Harry and Ginny are trapped by the Death Eaters. But wait a minute, what is Bellatrix doing at the Burrow, and how does it just burn down. Wasn't it given the most protection by the Ministry of Magic?

It was also surprising to see the absence of the Order and Dumbledore's army at the Lightning Struck Tower ( or Dumbledore's tower as in the movie ). Meanwhile Harry stands around like some idiot while the Death Eaters and Dumbledore have a chat.

The Half Blood Prince was essentially meant to explain Voldemort's past, the story of the Gaunts, and hints to the Deathly Hallows. All of this is pushed aside and replaced by two tiny memories of the orphanage and Horace Slughorn. The ring has no mention of the Peverell coat of arms, nor physically nor in speaking.

If deviations from the book are not enough, David Yates failure to capture key moments was particularly visible. The kissing scene is just pathetic, the fear in the Wizarding world seems to be totally absent and the whole lake scene was just too lame. There is no palpable sense of magic about the cave ( quartz isn't magical you know ), nothing special in the potion ( it looks like water ) and the return to Hogwarts is far too easy. Dumbledore's death is very very underplayed. There is no dead silence, no grief in any of the characters except for a few unnatural tears.

Overall every scene seems to have some kind of half-heartedness in its execution. The only thing the movie has going for it is the comedy and some of the romance. The fixation with feet is also a bit annoying. Who the hell ties their boyfriend's shoelaces? Since the previous movie Hogwarts seems to have become just another Muggle school, with robes hardly ever being worn. I think that HBP will only do well because it is riding on the success of the earlier movies. But do not expect book fans to come out satisfied. This is the only Potter movie which doesn't leave you with a sense of magic when you get out of the theater. I don't know how it has received brilliant pre-release reviews but apparently the reviewers seem to have seen the movie as some disconnected one of a kind event, but it fails to capture Harry Potter, the story as well as the phenomenon.

Monday, July 13, 2009

The little things screw up

I had this really weird bug in kwin for half a week. When you started resizing windows, all of them would start dancing about the screen. There would be little gaps between them and so on. And I couldn't figure out why. So today I finally tried comparing ( x + width ) and ( right ) of a window. Turns out they are always off by one. So to the QRect::right() documentation:
Returns the x-coordinate of the rectangle's right edge.

Note that for historical reasons this function returns left() + width() - 1; use x() + width() to retrieve the true x-coordinate.

Argh! That ( and bottom() ) was causing the mess. What a relief.

Tuesday, July 07, 2009

KWin dynamic resizing and the first layout

After a short break due to various other responsibilities and a general lack of clarity in planning some of the code, I've made progress and now you can resize windows while in tiling mode and watch all the others adjust themselves to fit the screen. Admittedly there are a few kinks, and an annoying bug where the resize pointer suddenly makes the window super-tiny, but they should be fixed in two or three days. I also implemented a basic Spiral layout today which keeps halving windows and moves towards the centre in a spiral. Gradually layouts will be in the form of a plugin system, and you would be able to choose different layouts for each virtual desktop. Here is the latest screenshot. House of Cards it is.