Archive for category Google Summer of Code
Getting things GNOME! is participating in GNOME Outreach Program for Women
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on April 5, 2011
If you are eligible and you are looking for a great summer internship, apply!
The program is here, projects ideas and motivation to participate are in my previous post.
Deadline is April 8 (I know, I’m terribly late).
Get paid to FLOSS! Apply for the Google Summer of Code with GNOME and GTG!
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on April 3, 2011
Hello fellow students!
If you like to code and you have no plans for this summer, consider applying for the Google Summer of Code with GNOME!
I did that last year, and it is a fantastic experience for lots of reasons. Here’s a few:
- You work from wherever you like, whenever you like (as long as you Get Things
GNOMEDone, it’s great) - You get paid to contribute in a FLOSS project! In three months, you have time to make an important contribution too!
- It looks great on you CV, and your works gets great visibility
- You get Google’s swag
- You get to go to GUADEC (the Gnome conference), with is an awesome experience itself!
- You can fully enjoy almost all August
- You get to blog on planet Gnome, and show your contribution to the world
- You become a better coder!
Now that I got your attention, have a look at the project ideas for GNOME. These are just ideas, you are free (and encouraged too) to come up with your idea: if the idea is awesome, you are more likely to get chosen!
Personally, I am rooting for you to come by and help us improve Getting Things Gnome. New ideas and great people are very welcome!
Don’t postpone, the deadline is April 8, and a great proposal can be written in just a few hours. You don’t have to have previous experience in FLOSS development (although it helps). If you are not chosen, consider contributing anyway: your next year proposal will be great!
Ps: if you have ideas for gtg, talk to me on IRC (GIMPNet/#gtg is our channel, I’m also available on freenode as invernizzi)
Getting Things GNOME! — GSoC review (#10)
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on July 30, 2010
I’m at GUADEC!
It’s been awesomely great so far. I’ve finally met the guys I’ve been working with and new people from all over GNOME. Thanks to them and to the talks I’ve been following we have new ideas for GTG! I’ll tell you about them as they get a little more polished, but they will involve Telepathy.
As for my GSoC work, the first version of the Remember the milk backend is now complete. A couple of small bugs still need to be fixed
Thanks to the first days GUADEC wifi, I’ve been able to test my backends on an unreliable link (now the network works perfectly).
We’ve also been having a small GTG hackfest to fix the nastiest bugs in trunk.
See you next week, and thanks for all the people organizing GUADEC, giving talks or just being here!
Automatically convert a new mail in Evolution to a GTG task
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on July 22, 2010
A GTG user, Damiano Venturin, asked me if it was possible to convert a mail stored in Evolution to a GTG task, as it can be done in mutt.
This is a pretty interesting question. There are two different ways:
- automatic conversion of new mails tagged in some way (e.g. “Note to self: go to surf tomorrow #TODO”)
- manual conversion of the mail currently being read
Both of them work. I’ll show you how:
Automatic conversion of new mails
- Download this script, place it anywhere you like and make sure you give it executing permission (that is, chmod +x <script-name>)
- Open Evolution, in the mail tab
- From the menu, select Edit->Message Filters
- add a new filter
- Edit the filter such that it catches only the mails you want to transform in tasks
- Edit the filter such that it executes the downloaded script
This screenshot shows all these steps
Here, when a new mail containing the text #task is received, the user is notified via the usual notifier bubbles and a new gtg task is created.
Manual conversion of mails
- In GTG, enable the Evolution plugin
- In Evolution, activate the Mail-to-Task plugin (via the menu bar: Edit->Plugins)
Now, each time you want to import a mail in GTG, you should:
- in Evolution, from the global mail view (that is, not from an opened mail), right click and select “Create a task”
- in GTG, synchronize with evolution.
The Evolution plugin for GTG will soon be transformed in a backend, which will make the synchronization completely automatic (removing the need for the second step).
Getting Things GNOME! — GSoC review (#8)
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on July 16, 2010
Hello and welcome to my GSoC report for my eighth week of work about supporting multiple backends in “Getting Things Gnome!”.
This week, I’ve finished the first complete version of the couchdb backend. This one is supporting all GTG’s features (subtasks, tags, fuzzy dates...), so it can be used as default backend (instead of the xml one).
Its performances are fairly good: for small and medium sets of tasks (I’ve been testing it with ~500 tasks) it’s a tad slower than the xml one, but I suspect that for big tasks sets there are speed advantages. Anyway, being GTG 0.3 fully asyncronous, users shouldn’t even notice it.
I’ve written a unit-test for it, and started to check how it behaves with replicating couchdb databases. It works quite well (a few crashes occur from time to time), but I’ll test it a bit more next week.
I haven’t been able to get automatic replication of the database via Ubuntu One so far. I’m starting to think that something is wrong in my installation.
Next week, I’ll keep on testing the couchdb backend and I’ll work on finishing the RTM one (which should be the last big one, since the Evolution one is very easy, thanks to the nice api).
Ciao!
Getting Things GNOME! — GSoC review (#7)
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on July 9, 2010
This week, I’ve started to work on two backends planned for my GSoC on “Getting Things Gnome!”.
One is the Remember The Milk backend, for which I’ve written the authentication system and started to sync task titles (I already have the code for the rest in the old plugin, but it will need a bit of refactoring to make it easier to read and compatible to the new backend system).
The more interesting backend is the one based on couchdb, which should enable to keep two GTG installations in sync. This backend should also work on the Ubuntu, which has a couchdb implementation which differs a little bit from the standard (e.g. deleted records are not really deleted, but are “marked” as deleted — FYI, a good tutorial on Couchdb and Python is the one on Ars by Ryan Paul). Anyway, so far, it’s working nicely, although it’s not yet supporting all the features of a gtg Task.
Getting Things GNOME! — GSoC review (#6)
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on July 2, 2010
This week has been busy for me, since I have (just a few hours ago) discussed my master thesis. Anyway, now I’m going to be working full time on GTG, which is nice.
So, this week I have finished the first version of the Launchpad backend (importing in a read-only fashion launchpad bugs assigned to somebody in GTG). I’m thinking if it would be interesting to have the possibility of changing something about the bug through its task in GTG, but I haven’t found nice ideas so far. I’ll look into making a bugzilla backend, since many people requested that.
Secondly, I’ve written an export backend to Zeitgeist, so that tasks that have been completed are also visible there. This makes it easy to see what it has been done day by day. Another approach would be informing Zeitgeist when a task gets modified, created and so on (like a regular document). While this second approach is more “zeitgeisty” (since it leaves a trace of the activity of the user), I think that for todo items the important information to keep trace of is when they get done. I’ll see what users prefer when they start using it, or you can leave your opinion in the comments here.
I’ve also written a patch to gnome-activity-journal to support TODO items (which are supported in Zeitgeist 0.4 which has just been released, and GAJ is being updated to use that).
That’s what you should get in September (~ planned GTG release time):
Next week, I’ve a lot of things to do. A few of them are:
- I’ll add a “remember the milk” backend, which will have a series of advantages versus my old plugin (automatic syncing is one of them)
- I’ll review and ask for merging to trunk the code for my UI and the tomboy backend, so that other developers and brave users can start using my code
- I’ll make order among my threads, since a few libraries that I used have a series of synchronous calls which can make closing GTG slower than normal. I’ve discussed this with a friend (the creator of Lightspark), and a few interesting ideas have come out.
Getting Things GNOME! — GSoC review (#5)
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on June 24, 2010
Another GSoC week has gone, and my project with “Getting Things Gnome!” has moved forward.
We now have a complete tomboy backend. Tomboy notes matching a particular @tag (you can configure multiple tags, or get all notes) are imported in GTG. The synchronization is both ways: if you change something in Tomboy, GTG will be updated and vice versa (and GTG doesn’t need to be running when the modification is done).
That backend comes with a unit test, which has helped me spot a few bugs. The tomboy dbus interface is synchronous, which coupled with the presence of a Global Interpreter Lock in python, has caused a few weird hangs during execution, as threads were not really indipendent. Anyway, now everything seems to work fine
Secondly, the new backend framework has landed in GTG Trunk, so my work is starting to be tested by a few reckless testers. Thanks!
Lastly, I’ve been working on a Launchpad backend, which imports (read only) the bugs assigned to you on that bug tracker. This one still needs a little work, as I’ve started working on it yesterday, but it will be ready and tested for next week. The synchronization engine, which is common for all backends (and generic, as the only requirements it has is that objects it syncs have unique id and a modification date), really does most of the work.
As usual, a screenshot with the Launchpad backend at work:
Next week I’ll work a little less, as I have my “pre-degree” exam. I’ve already done most of the things I’ve put in my proposal (I’m missing the RTM and Evolution backends, which are just a matter of converting my old plugins, and a couchdb backend –which was optional, but I certantly have the time to do it), so I’m confident I will finish in time.
Have a good weekend!
Getting Things GNOME! — GSoC review (#4)
Posted by Luca Invernizzi in Getting Thing GNOME!, Google Summer of Code on June 18, 2010
Another week has gone, and new ways to synchronize things to do have landed in my “Getting Things Gnome!” branch.
First of all, there is a new two-way synchronization engine for tasks (complete with test cases), which will be the core of all the backends to come.
The first backend using that is the new TOMBOY–GTG synchronization: the idea behind this one is that some of you are used to use tomboy to take quick notes, but then they realize that they also need that note in their todo list. With this backend, just adding a tag to the note (like “@tomboy-gtg”) will automatically add that note to GTG the next time you start it.
So, basically, it’s a way to superpower some of your notes, giving them a way to get scheduled in your super-busy third-millennium life.
Screenshot is due:
For now, two-way sync is working for all tasks (not filtering them yet), and a few bugs have to be ironed out, the most important of which is that GTG sometime issues the deletion of all tasks when it’s quitting (which is rather unpleasant).
Next week, I’m planning to get this plugin ready for the users. Then, I think the Remember The Milk backend will follow, and shortly after Evolution and CouchDb.
5 questions nearer to GUADEC
Posted by Luca Invernizzi in Google Summer of Code on June 12, 2010
1)Who are you and what do you do?
I’m Luca Invernizzi, a quarter of a century old Italian student. In a couple of weeks I’ll be graduating in Control Engineering at the leaning University of Pisa and in the fall I’ll fly to California for a Ph.D. in Computer Science (at UCSB). Right now, I’m a Google Summer of Code student working on “Getting Things GNOME!”.
Whow, lots of Capital Letters, my pinkie is hurting.
2) How did you get into GNOME?
It started as a way to keep my coding skills sharp, but then I got addicted to contributing. It’s great to work together and see our little app growing.
3) Why are you coming to GUADEC?
This will be my first FLOSS conference, and it will be an occasion to meet the people I’ll been collaborating with. AFAIK, they may be all very smart IRC bots
4) In 1 sentence, describe what your most favorite recent GNOME project has been.
Getting Things GN... Jokosher! I just discovered that I can plug in my acustic guitar and have fun with effects.
5) Will this be your first time visiting the Netherlands?
I’ve been to the Netherlands for just a little more than one day so far, so it will be like my first time.