Monday, June 27, 2011

Project Integration in Nepomuk - My project in Gsoc 2011

Ok time to start blogging again this time the reason : Google Summer of Code 2011 + KDE + Nepomuk.Its a bit too late for me to be writing a 'introductory' blog post about the gsoc, but better late than never.

The project is called Project Integrator (or Project Manager) to give you a brief idea, en excerpt from GSoC 2011 Nepomuk Ideas Page :

One lands up working on various different projects. It would be beneficial if Nepomuk could keep track of Projects. This would include remembering which files were involved, the people involved, TODO lists, etc. One of the most important aspects would be a form of browser integration, as research for a project is primarily done through a browser. There should be ways to annotate web pages, bookmarks, and even selected parts of a web page.

State Of the project right now

This is the (rather ugly) GUI at the moment, it'll get changed after I'm done implementing all the functionalities.

What is it capable of doing at the moment:

  • Create 'Projects' (in nepomuk its stored as something called PIMO:Project)
  • List out all the Projects in nepomuk (also list out other things like notes,Persons,tasks etc.
  • Double Click and select a 'LiveProject' : The concept of live project is central here, more on that in a while.
  • Drag and drop text snippets, Web Urls, Any kind of files and the project manager will store it in nepomuk in 'proper' association with the current 'Live Project'
  • Open filedialog and associate files with the project

Why would you want to use it?

The concept of a live project presumes that one is working on one project at a time, say I want to start working on the Gsoc project: I open up the project manager. List projects and double click the Gsoc project. This sets Gsoc project as a live project. What it means is whatever you drag and drop in the project manager will be associated with the Gsoc project (until you change the project). When i say associated I mean, a nepomuk resource for that dropped file/text/webpage will be created and associated with Gsoc project. When you start working on another project you can just double click another project and set that one as the live project.

What is in scope for coming few weeks:

  • A plasmoid! : its not really convenient to keep the project manager window open and adjust your current window just to drop some weburl to the project manager. I tried a system tray icon but then realized it doesn't support darg-drop (if you know a way to do it, please let me know). So a plasmoid is the way to go. You don't need the window open just drag and drop things in the plasmoid
  • Ui for browsing the resources related to a project: Ui is not very neat at the moment. It needs work and some way to browse all the resources related to a project.

Tell me what you would want!

This project is something everyone of us can use. It would be awesome if you can suggest features to add, concerns about GUI, or ANYTHING.

Project Repository : git://

my IRC nick is swair, I hang out mostly at #kde-in , #nepomuk-kde on freenode.If you have ideas, comments or concerns about the project just drop in a mail at the nepomuk mailing list.or my personal address swairshah at gmail dot com.

Sunday, June 26, 2011

google summer of code 2011

I know its been over a month since the coding period started but my first blog on gsoc 2011 (on the blog and planet KDE) is going to be out in just a few mins, I couldn't resist posting this before i start discussing the project!

I'm working on Nepomuk, KDE.

Thursday, February 3, 2011

Mind your language

Here is an article which i wrote about 5 months back for my college (web) magazine, Entelechy. This month it got selected by the press club and is getting published in the 25the edition of Entelechy.

When the human race was at a stage where language was not developed, there would not have been many ideas in a man’s head to think about, let alone to share with the others of his community. Without the primitive knowledge of any language, a brain does not think beyond the range of personal experiences. Just look around you and try to think about the first thing you see, but no words are allowed in your thoughts. Getting my point? You don’t have definite chain of thoughts before you start using any language you know. Thus the language is the medium of thought. (Well, if you are a musician or a painter, may be then you sometimes do get thoughts which do not need any language to carry them forward, but that is a different scenario.)

After the cavemen uttered the first words which went on to form a basis of a formal language, there had been a lot of advances in the language theory, including the invention of writing system in most languages. The language went on to become a very important art form. People wrote plays, poems and novels and far more enjoyed reading them.

Then internet was invented, and a couple of decades later a bunch of people made communities to destroy all that had been worked for, in developing a formal lingual system and the art form that was created out of it. Let’s call these people, the language destroyers.

“LOLLZZZZ”,”LMAO”,”ROFL”,”OMG”, these are some of the “expressions” you find on the social networking websites. One might defend a fellow destroyer when he/she writes “thnx hv gud de” to express what we know as “thank you, have a good day!” by saying that it’s just a way to express yourself with using less number of alphabets. I say, what do you think about this one line I found, “hEy pEOpLe hOwZ iT gOoiNg”? And if that wasn’t not enough there are the “ma” and “mah”s (the later one does not even decrease the number of alphabets!).

I wonder what urges a person to write “mah bike so kool”. And what’s more, the population of the “KOOL” people is increasing day by day. It has come to my notice that one fine day a fresher from our college joined the destroyer’s squad, posted “wHt uP FoLkS” on his facebook page after a long history of writing like a normal person, and s/he hasn’t looked back since. Some of them even chat like that! Trust me; it’s very infuriating to be on the other side of that chat and receiving each and every word in a randomized sequence of alphabets written in upper and lower cases, with half the spellings customised and most of the vowels missing.

Now let us go one more step further. One day I heard someone speaking “words” from the destroyers’ vocabulary, as if cluttering cyberspace with them was not enough, and from his facial expressions I could make out that the person/destroyer on the other end had made a comic remark. The destroyer I watched and heard went “LOLLLZZZ OMG….ROFLOL” The pronunciation I guess was “law-luh-zuh(let the ‘zuh’ linger for 2 seconds) oh-em-jee raw-fuh-law-luh.Many of you will agree that hearing phrases as “ULTI LOL” and “OMG” are common. If this continued, we may expect a certain change in the way they write novels these days. After about 50 years the destroyer author will write “and she had a beautiful smile” as “she LOLed beauti4ully”, “I chuckled” as “MEE LMAOed”, “Oh! Dear god, all my dreams are shattred” as “OMFG, ol mah dreams r screwed”. (I apologize for my lack of knowledge of the destroyer skills, as I have not studied their ways in too much depth).

Even though the words in the league of the F-word are not banned from social groups, they are at least frowned upon (and that’s the reason I had had to use the word “destroyer” instead of something more suitable in the first place), but these pseudo-words are neither banned nor frowned upon. More and more words of these kinds are getting the acceptance of first the cyber communities and then the everyday speech. Please good people stop the abuse, let the likes of Shakespeare rest in peace.

Saturday, January 1, 2011

Introduction( )

I am, in a word, a drifter. Easily get impressed and inspired by every AWESOME! thing I come across, and then get drifted away to another AWESOME(R!)! thing.This blog conceived just after the new year started (and the birth will be on the first day of the year 2011).This was purely coincidental, no 'new year resolution' attached to it. (I personally hate the fuss people create when just another pseudo-static digit is changed on their calenders.) Let me describe the circumstance under which I finally started 'blogging'. That justifies my 'in a word' description of myself. 

After 2 days of playing FIFA 11,sleeping,eating and taking (prescribed) drugs I finally reboot my computer to Linux in order to do something which might be considered productive. I open the browser and ctrl+shift+T, around 20 tabs open up which i have been meaning to read from a week now. I close some read one or two. The Cromed Bird changed its color. Click and up comes a github page some javascript project. That reminds me I had started reading nodejs documentation and had started enjoying all the JavaScript stuff ( !! ).
But then of course something better must have come along and I moved on from js, and somehow ended up spending over 17 hours playing the AWESOME FIFA in feverish condition and realized something went wrong. Yes so the Github page, there i found the 'inspiration' for that project. Now that was a Web app from the google app store. (It was an addictive game and very challenging one at that.) 

So i came across the google app store and i realized that its just another new thing which may become as big as the ITunes store. Personally I love the idea of having applications that run in the browser and consequently I love the netbooks concept, but more on that, later. With Google's Cr-48 yet to hit the market the app store is relatively new.I think we spend most of our 'computing' time using the browser and Web apps are going to replace native apps. But everything said I just think web apps are cool and wanted to know how to build one that can be put up on the Google webstore. It is a simple(r) 10 step process, but it requires you to have a site to host your app on, I have no such site hence the blog on Blogger. 

I didn't want to make an empty blog which was just what was required at the moment, but no I thought its high time for me to start scribbling in the cyberspace. The web apps pages got pushed on the never ending tab stack of my browser and I started searching my mind and soul for the hidden literary genius hidden somewhere (I browsed all the blogs of my friends that I follow and tried to find a proper Introduction blog to steal from.) First of all I needed a name (and copying the NAME of some blog i follow would be lame (I think)). I looked around. A bunch of half finished (lets just go for optimism shall we?) books and I eyed the one that has been my partner through all the ups and downs for years The Road to Reality.(Yeah I just can't seem to be able to go beyond a certain chapter in the damn thing for such a long amount of time that I just don't want to share it, its just too mentally demanding at times!). (OK if you know what i am talking about then this, you should check out.) Combine that with my new found interest in coding the blog is named CodeToReality! Drifting continues. 

Now a little about me and less about the legendary CodeToReality. My interest and consequently future posts on this blog include this set : Math, Theoretical physics (the adjective makes it sound so cool), computers (work and play), music (I am learning to play the guitar (I LOVE string instruments and specially the cello, guitar and sitar)), art and artists ( I occasionally sketch and may be will flaunt my better works on the blog someday), technology, applied mathematics (it not the same as math and again the cool adjective), and some random stuff. Yes thats about it. I tend to use a lot of parentheses, the reason: I can write a simple code and create a new blog removing some or all the parentheses entries and thats an article by my another (split) personality!(!).
I swear I had no idea that I would write this long an introduction. I hope this blog would be a log of my hitch hiking from one awesome thing to another, and will remind me when i drift REALLY away from my main course( ha ha! Even i don't know yet what it is) and its time to return to something productive again.