Saturday, July 31, 2010

Whats up doc?

Pardon me for the excessively cliche title, I was short on time :P

Its been a week now since college began, and already I feel the
extreme busy-ness that occurs trying to squeeze every activity into 24
hours. The vacations were comparatively totally empty.

The UPnP collection support in Amarok is concluding pretty well. Today
I committed the fix that considerably shortens the amount of data
transfer required over the network for subsequent queries once the
local cache is relatively filled. With a relatively small share on
miniDLNA, I got near native performance, with the tracks being
populated as soon as I opened up a tree. The kioslave too has had some
additions that allow applications using it to bypass many of the
user-friendly features (required for browsing via Dolphin or
Konqueror) and get blazing fast results instead.

With another Amarok release coming up, I want to get some time to fix
bugs, but it has been hard to come by, even on a weekend.

My other pet KDE project has been Rekonq, more specifically Chrome
extension support. I can't remember the last time I blagged about it,
but just so it doesn't get buried as defunct project, let me give a
status update. Work is slow but not stalled. I have extension
installation working. I have figured out how to interface the C++ and
JS parts, although it is a bit hacky. The Chrome Tabs API is mostly
implemented, (localization and script injection and message passing
are not), including the captureVisibleTab() method. Now that I have
some experience, it should be much easier to implement the rest of the
APIs. I still have to figure out how to implement background pages
(most likely a WebTab not added to the UI), implement safe message
passing and so on. A nice UI to manage extensions would also be
required, and it would be great if others are interested in jumping in
to the project.
I would be glad to explain the architecture ( I have a IRC log lying
around, thanks to Rohan Garg :P )

I don't know about 1.0, but extension support will get there in the
end, so lets not remove my name from the Credits :)

Posted via email from nikhil's posterous

Saturday, July 17, 2010

UPnP Searching

I’ve been pretty quite about GSoC progress. But I had a great time at aKademy and forgot all about blog posts. So the current status is thus. If programming was just about getting things done, I am done! But its not, which means although everything I was supposed to do is done in a big picture way, the next few weeks will see bug fixes, optimization and ensuring that certain things can be done faster, more accurately or in a more user-friendly manner. I also have to port the code over to use Solid, now that fellow GSoCer Paulo Romulo has improved UPnP support in it.

Last time I gave a glimpse of the Browse based collection. UPnP MediaServers have two methods of accessing their content. Browse() is similar to going through your hard-disk directory by directory. As you can see, this can be quite inefficient for a Collection since it has to keep track of a large number of tracks. The other method is Search(), wherein users can query the MediaServer to give tracks/media matching certain criteria, such as belonging to a specific artist, or containing a certain pattern in the name. This is much more efficient because all the work is done by the server and we just need to handle the results.

That has been the crux of my work this past month. Due to the restricted format of the UPnP search standard, it required a bit of work to handle more complex queries. In addition, due to the way the Amarok Collection and QueryMaker code works, I have to always ask the server for tracks rather than telling it to return on Artists or Albums. It took quite a bit of experimenting to understand these two things. But two days ago the collection started working with actual searching for simple patterns.

Here is the Search based collection with no search.

Here it is with a search term.

I should point out that the code is intelligent. It will contact the server and ask it if it supports Searching, or only Browsing and use the appropriate collection.

Other than that there are several bug fixes in the slave and in Amarok and support for reference IDs to prevent duplicate items ( every FOSS software server I tried still doesn’t support refID properly though ).

By the way, I passed mid-term evaluations. Yay!

Posted via email from nikhil's posterous

Friday, July 16, 2010

Fogged goggles

It is my habit to go swimming daily in the summer. This is the time when I am home from college, but the poor Mumbai University chaps are trapped in exams. The swimming pool as an habitat is a fascinating picture. And with no distractions it proves to be an ideal ground to pay attention to the human species, not to mention overhear conversations. I’ve come to the conclusion that swimmers can be categorized and a taxonomy is not far off.

First up are Blubbers. Physical characteristics: men, past their prime, pot-bellies. It is undoubtedly easy to identify a Blubber. A lone Blubber is not so interesting. A tendency to not take effort leads him to float on his back. Since fat people float without effort, he can enter a state of quiet contemplation.

It is when Blubbers congregate that things can get interesting. If you ever have the opportunity to stand next to a Floogie ( a group of Blubbers ), watch them try to out do each other every time they talk. You will notice that all those ‘achievements’ are always in the past. Exploits of swims attempted in rivers in their youth, or nephews and sons who have reached heights come up often. But mostly it is the banter of how the country is going to hell and how every politician should be burnt and what they would have done in the same situation. I should mention that it is quite common for them to also plan the next drink-guzzling afternoon where-in each will try to increase his beer-belly more than others. Warning: It is dangerous to expose children to Floogies. Make sure you are strong minded and get far away at the first moment of light-headedness.

We now turn to Ladies. Their count is lower due to a lack of time or often devotion to other things. I should remark that swimming seems to bring their words-per-minute down by about 80%. Owing to the awkwardness involved in getting close to one, Ladies are quite an under-studied species. Some female readers might be interested in expanding upon this, the US military is always looking for ways to spend money on completely pointless things.

Kids. Don’t you wish you could be one. Kids are extremely easy to identify. They are small.

Some tend to morbidly afraid of the water and will not go in until forced by a Moleskein guardian ( see below ). Once they take to the water they immerse in their own world, unaware that they are about to kick a swimmer. Groups of kids often avail of trivial pursuits like throwing a coin into the water and rushing to get it. This is encouraged, it is known to lead many to become Swimmers later. Interoperatability between the sexes is best at this point, after all ignorance is bliss. The ease of swimming is inversely proportional to the number of kids in the water, as normal traffic rules do not apply to them ( Lack of rules has also been observed in Blubbers ).

The author feels no qualms when he puts himself in the species called Swimmers. They are the alpha males of the pool, strong, lithe and confident of their ability in the water. Their aim is to exercise, to push themselves to do as many laps as possible. It is quite unfortunate then, that every other class conspires to block them, hit them and more generally just piss them off by mere presence. In densely populated pools, Swimmers have been known to demonstrate extreme reaction times. It is my inference that this is due to the need to grind to a halt when a Kid comes in the way.

Moleskeins. Mostly harmless.

A major cause of concern in my pool is the lack of a species called Beautiful Girls. Taxonomically perfectly named with the English word ‘beautiful’ denoting physical appearance and ‘girl’ meaning ‘young of female gender’. Extremely rare species in these parts of the world, swimologists have laboured to collect information about them. Your author has had the bad luck to observe only one in his 3 month sojourn. It is unfortunate that she could swim a bit. This immediately discounted the species Damsels in Distress. This is bad because it has led to my inability to be called “my hero” which is important for a Swimmer’s confidence.

The rarety can be comprehended by the fact that only once in this time was the BG close enough to attempt communication. Alas, I was checked in my attempt by the arrival of a Blubber who attempted to teach the BG the right stroke. Considering that Blubber’s are incapable of coming within 50 yards of the right stroke, I think he must have read it in a book. This has led to my lifelong hatred of that species. It is the wish of me and my colleagues that Beautiful Girls increase in number, and that is the reason why I’m all for feminism.

( this is meant to be an anecdote, my first attempt at writing one. I will not apologize for any Politically Incorrect behaviour. I do not believe in PC in jokes. Enjoy :) )

Posted via email from nikhil's posterous

Friday, July 09, 2010

Akademy Day 5/6

Day 5 of Akademy was spent hacking too. Then I had a great meal at Plevna), Tamperelainen, which was mashed potatoes + lingonberry jam + Tampere’s famous blood sausages. Well it lived up to its expectations, the sausages were definitely good, but different. It was kind of like sabudana vada.

Unfortunately Germany lost :( The final will still be a good watch though.

Once again, I would like to raise my fictional hat to COSS and all the volunteers for the excellent organisation of this year’s Akademy.

The day trip was spectacular.

We were treated to Finland’s natural beauty in abundance. Merunlahti Centre for Nature Tourism has this camp like area right next to lake Höytämöjärvi with canoeing, slacklining and other activities.

The first thing to do was to jump in the lake, which was pretty cold. I have never properly swum in fresh water before ( which says something about India’s screwed up Nature ) so it was great. And unlike the sea, a lake actually has a reachable ‘other side’. So I swam across and back about 150 m or so. Give a human a log in the water and he is transformed to a 5 year old. KDE developers spent half the time trying various things like standing on the log, getting everyone on without falling off and other stunts, which was really funny and great ‘community bonding’. Maybe day trips should be done at the beginning of Akademy :)

I tried my hand at a bit of darts, but I am bad at it. Archery was more my thing. Slacklining was not. Canoeing was great though. I got a feel of the boat immediately, although it was my first time ever, I think I’ll be trying it again when I get the opportunity.

The food was great too. We had bread and fruits and BBQed corn and potatoes, sausages we could cook ourselves over a fire and marshmallows!

Now a sauna isn’t really my thing, but they had a great sauna house and so I took a few spins. When in Finland, do what the Finnish do. Get out of the sauna and jump into the lake!

Tomorrow is the last day of Akademy, and I will miss this place and all the fascinating people. I wish I had a hackspace like Demola, fast internet, food, no disturbances. Kudos to the organizers again.

Posted via email from nikhil's posterous

Wednesday, July 07, 2010

Akademy Day 3/4

Akademy just keeps getting better and better, and this year's location
couldn't have been more perfect.

The Demola office, if it could be called that, is the perfect
hackspace. Lots of tables strewn over the place, no partitions, sofas
to relax on and even a retro arcade game!

Yesterday and today and the rest of the week will be hackdays and
BoFs, so there isn't really much to report.
But at the end of today I just took a random walk across Tampere, and
its a beautiful city as you can see.

Tomorrow I plan to take the free walking tour that takes place everyday in Tampere, any other KDE
hackers planning to go?

Posted via email from nikhil's posterous

Monday, July 05, 2010

Akademy Day 2

Today was the day of fluffy, hands down! Frederik Gladhorn gave a
super lightning talk introducing his quite serious pet project

Other than this I attended Lubos' performance talk, and Milian and
Aleix's great KDevelop feature promo. I mean if Ctrl+Space can give a
complete program, why am I even learning C++? :) In addition Casper
gave a very nice talk about getting KDE to work on windows, and hats
of to the KDE-Windows team for there efforts.

The show-stealer was of course Aaron Seigo's keynote, exhorting all of
us to strive for 'elegance' now that KDE has achieved a great
technical base. The simple brush paintings, which I assume are done
with Krita, complemented it perfectly. So here's to more elegant
software.

I spent the rest of the day tracking down a pretty annoying bug in the
UpnpSearchCollection and then find out that UPnP has no way to group
searches to clarify precedence. So I have to think about that
tomorrow. The thing with the first two days of Akademy has been that
by the time you settle in to do some coding, there is an interesting
talk :) So with that done, I am planning to get quite some work done,
not only with the GSoC but a few kwin and Amarok things too.

I will also attempt the Qt certification to see if I'm good enough.

The most important thing is that we had free icecream today, thanks to
the basyskom guys.

Unlike yesterday's party, today was a relaxed evening, with the TOAS
sauna running. I attempted it, but my body's capability to produce
sweat is very high and I had to get out in 5 minutes. I did some
random stuff, met some more people and figured out where the laundry
room is!

Posted via email from nikhil's posterous

Sunday, July 04, 2010

Akademy Day 1

Into the sea of existing akademy posts enters another one.

Technically its my second day in Finland. I arrived on the 2nd with Pradeepto from mumbai. We met seele and Justin at Schiphol itself, while blauzahl and Mek were on the same flight! If that wasn’t enough, the bus from Helsinki to Tampere found aseigo and Hans Chen on it too, making it the Akademy bus.

The Student House TOAS city is an awesome place to live in, with rooms just like in college, a bit better :)

The Finlayson area hack room was really cool too, and yesterday I spent a few hours there getting to know quite a few people, including Vishesh Handa. I also bought my KDE shirt. At 8:30, the sun was still high up in the sky, at 11, its like evening in Mumbai which was bizarre. Akarsh and Prakash also caught up after a delayed flight.

Today was even better. The keynote was pretty good, its great to see KDE going deeper into the mobile space. Meanwhile (Qt made sure to give us all a rubber duck)[http://developer.qt.nokia.com/duck].

I met a lot of people who have been mentors, helpers and friends over IRC – Martin Grasslin, Leo Franchi, Nikolaj Nielsen, Friedrich Kossebau, Martin Sandsmark, Lydia Pintscher and many many more, whom I have to talk too about various topics.

Thomas Thym’s talk about principles in open source communities was very interesting while both Nikolaj and Leo conveyed social music capabilities and Amarok’s role in it very well. During the few talks I didn’t attend, I tried to do a bit of work, but it was a little hard due to all the excitement :)

Now Martin had written a plugin for the match, but I couldn’t stand not watching it and missed his talk. I wasn’t alone. It was great fun to travel 9000 km to watch football with other KDE developers. And since KDE has a large number of Germans you can guess who was supported. Germany were amazing with a 4 goal trouncing of Argentina, and with this form they can easily win the Cup.

With all the talks out of the way, me, kstar and pinocchio went to the downstairs supermarket. I had a strawberry-pineapple bread and rajma-chawal for dinner :) followed by liquorice sticks.

The KDE Akademy party was at the Love Hotel on Hameenkatu and it was fun meeting a lot of people and talking non code stuff and enjoying the Spain-Paraguay match. But now I’m really tired and have to crash if I want to be attentive tomorrow, particularly with performance, UX and cloud talks.

Posted via email from nikhil's posterous