Sunday, April 14, 2013

Google Summer of Code

Hey, there!

It has been quite some time since my last post here. I'm having very little "free" time as my CS course is tasking me a lot this semester. Two cool programming assignments I'm currently working on are:
  • In the Operating Systems course, we have to do some non-trivial modifications in the Linux Kernel source of our choice. I'm planning to do something related to file system monitoring, as this knowledge can be useful for the Nepomuk File Watch service. One specific thing I'll maybe do is implement recursive watches in inotify. Of course, it will probably not be production-ready after that; the most important contribution to Nepomuk will be a better understanding of the inner workings of inotify (and maybe the reason why it doesn't support recursive watches will be clear).
  • In the Code Analysis and Optimization class, our first two programming assignments involve writing LLVM Passes. This has nothing to do with Nepomuk, but anyway it's still very cool to hack a real-world compiler.
Besides doing lots of programming assignments and training for programming competitions, I'm also writing my proposal for Google Summer of Code! I plan to take on the only idea related to Nepomuk in KDE's ideas page, which is to rewrite the Nepomuk Query Parser, basing the syntax for queries on a formal grammar, and add support to brand-new features. If everything goes well, in the end, you'll be able to write some very nice queries in KRunner, like:
  • "music yesterday" would return the musics you heard the day before
  • "(music or document) tagged classes" would search for files with the tag "Classes"
  • and others I still didn't think of.
Moreover, queries can also be done internally by other applications. That means the user will possibly see improvements even when not directly doing searches using KRunner or Dolphin (although I don't know a specific use case in which an application makes a query directly).

Also, the project includes adding auto completion to queries, using both Nepomuk keywords and previous queries. That means if you always search for that loved song or work on some documents in a daily basis, Nepomuk will remember you want them quickly :)

That's it for now. I'll probably finish the first version of the proposal in the middle of this week and then get it reviewed. Hope I'll have some news soon!

No comments:

Post a Comment