Open Academy and KDE

December 26, 2013

It has been a while that I don’t write here but I thought this subject was worth it :)

Open source is a huge part of Facebook engineering. Whether we’re building new data infrastructure tools like Corona and Presto to manage our warehouses on Hadoop, releasing a new mobile build tool like Buck, or improving PHP runtime with HHVM, open source projects are integral to our operations.

The hypothesis Facebook is exploring with Open Academy (I love the fact that we have Akademy already :P)  is that the best way to learn about software engineering is to do software engineering. As simple as that sounds, we have not traditionally done a good job with this in academia. CS departments may provide a project experience as part of the curriculum, but it typically does not map well to a real world software engineering experience. Facebook and the partner universities wants to do better.

To help bridge this gap between school and industry, last spring Facebook teamed up with Jay Borenstein, a computer science professor at Stanford, to launch Open Academy. Open Academy is a program designed to provide a practical, applied software engineering experience as part of a university student’s CS education. The program works closely with key faculty members at top CS universities to launch a course that matches students with active open source projects and mentors and allows them to receive academic credit for their contributions to the open source code base.

The idea is that partnering with selected open source projects holds a great deal of promise on a number of levels; it will give students exposure to learning how to come up to speed in an established code base, revision control, project estimation and access to examples of good software engineering practices beyond what we are able to provide inside university walls, among many other things.

One question that might be on top of your mind is: “how is this different than Google Summer of Code?” One key difference is the tight integration with universities. Facebook OpenAcademy runs as a university course offering for which a student receives a grade and academic credit. It also allows the university teaching staff to stay very involved and work in tandem with the open source mentors to give students good support for their software development efforts. Another difference is the team element. This course offering partners students from around the globe on teams that work together, which IMHO is exactly the way KDE works.

In a nutshell, the program works like this:

  • A student team of 3-8 students, potentially spanning multiple universities, is formed
  • A matching process is run that puts a student team with an open source project
  • The team and a “mentor” from the open source project are flown to a location for a weekend ramp up hackathon (the location is Facebook headquarters in Menlo Park, CA). The students can work on improving the project in two ways: by knocking out low hanging fruit issues that already exist or by identifying and pursuing new functionality
  • The students will work on projects for between 8-20 weeks depending upon the schedules of the universities involved Univerisity faculty will be closely involved and consult with the mentor when determining final student grades. Expectations will be set with the students that states the coding contributions they make – the quality and ambition of them – will be the main factor determining their grade
  • Start date: January-Feb depending on university
  • Feb 7-9 Hackathon at Facebook Headquarters in Menlo Park, CA
  • Midterm Acknowledgment (tbd)
  • End date: Mar – Jun depending on university

Summary of expectations for mentors:

  • Attend Kickoff Hackathon at Facebook HQ Feb 7-9, 2014 (your flight and hotel will be paid for)
  • Meet the students working on your project(s)
  • Help the students select project goals and develop plans to achieve them
  • Set expectations for how you like to communicate with the team
  • Be responsive to requests from the team during the course
  • As often as possible, attend weekly, 30 minute remote team meetings (IRC, Hangout or equivalent)
  • Be prepared to provide the course instructor with a grade recommendation at the end of the course.
  • Overall time comittment: You are obviously in control of this and it is also proportional to the number of students you decide to have, but not counting the hackathon, 3-5 hours per week is our expectation

I am asking every interested mentor to fill in project proposals here: http://community.kde.org/Open_Academy . I am excited that KDE can have some slots in this program and as with every other program out there that brings students to open source I am sure KDE is the best place for a student to learn more about software engineering.

If you have questions, feel free to email me.

2

Big changes!

May 8, 2012

After 5 wonderful years working with passionate and skilled people I am now moving to São Paulo to work at Facebook’s office for Latin America. My official role will be Partner Engineer.

This doesn’t mean that I will go away from KDE, neither from Qt. It just means that I will contribute more on my free time (as it was before Nokia acquired Trolltech) than during working hours.

I am thrilled with this opportunity and I am sure that all of you who know me are also happy with this announcement.

I will be a little bit offline the next days due to my move, but I will be checking emails regularly :)

 

7

Back to life!

November 21, 2011

I am back from my honeymoon and I’m starting to organize my life again!

Incredible Circus

Meanwhile, we finally released a game that I’m really proud that is called “Incredible Circus”. It’s the kind of game that is really addictive :). In three weeks we achieved 200k downloads on Nokia Store and today is available for the N9. It’s also a really good showcase for Qt. If you have a Symbian^3 or MeeGo device, just follow the link to try the game.

You can also check it out on the video below.

Apart from that, I’m updating my machine and as soon as I have a developer environment again I’ll start hacking on Plasma again. Probably fixing some bugs, right Aaron? ;)

10

It has been a while

September 14, 2011

It has been a while since my last post and a lot happened in the meantime. Just to point a few (in no special order):

  • 11th February for Nokia;
  • Tokamak;
  • GSoC;
  • Qt Contributor Summit;
  • Qt Open Governance announced;
  • Desktop Summit;
  • Release of N9;
  • Google acquired Motorola;
  • Plasma Active;
  • Netflix in Brazil;
  • Use of Tiny Tiny RSS (my share feed)
  • …(many other stuff!)

The sad part though is that I haven’t been able to contribute much code to KDE lately. Next month I’m getting married and as you can probably guess, there is a lot of planning going on (and we can’t forget the famous “bridezilla” effect that usually happens with girls before weddings :P

On the bright side I’ve been working on awesome projects, trying to eat our own dog food (mainly QML). With these projects we are feeling the pieces of Qt/QML that needs some love and we plan that for the next year we will be able to help the Qt Project to solve these small issues that you can only find when you develop real world applications and not developer/designer-wanna-be demos ;)

IMHO that’s one of the skills that is hard to find today on framework developers: most of them didn’t contribute much to KDE in the last years nor developed real applications. Because of this sometimes it gets harder for them to understand a use case or a “complain” about the technology they develop. I hope that with open governance we can get more help about this (and also use more the rule of the “3 examples” before adding new APIs).

I’ve been following closely the development of Plasma Active and the rest of KDE. I still have one item on my TODO list (related to one of our scripts that get the content of qml files that need translation) that I promised to tsdgeos that I would fix ASAP but I just didn’t have the time unfortunately :( . November seems the month that I will be able to get back to KDE development (after the honeymoon!!).

Well, I think that’s it. I just wanted to make a simple blog post and update my KDE friends :)

2

kdeplasma-addons is on git too

February 1, 2011

Today we finally converted kdeplasma-addons to git :) The rules itself were written some time ago and we waited for the conversion of kdelibs and kdebase. Thanks to eean I found a last minute problem on the rules and today we fixed that!

Picture by The Rocketeer

Picture by The Rocketeer

You can find kdeplasma-addons on https://projects.kde.org/projects/kde/kdeplasma-addons and you can easily clone the repo using:

git clone kde:kdeplasma-addons

Assuming that you did the trick below in your ~/.gitconfig file:

[url "git://anongit.kde.org/"]
insteadOf = kde:
[url "ssh://git@git.kde.org/"]
pushInsteadOf = kde:

I have been working with git for almost four years now and I used a lot of tools to create projects and help with visualizing repositories. With ReviewBoard and RedMine all integrated, the commit mails, integration with BKO and other features (a lot of them were already present with svn) I can say that KDE’s git infrastructure is one of the most complete and professional that I’ve ever seen. It’s really very “PRO” and I would love to have any of our sysadmins working on my IT department. Guys, you really rock! (besides doing an amazing work).

I think that it’s fair also to thank KO that sponsored Ian to work and do the conversions of kdelibs and kdebase. This was not an easy job and it’s really a pain to do the conversion *right*. Of course we may find some rough edges right now as we still need to get used to new workflows and new tools but IMHO we will overcome that and soon we will feel the benefits of git ;)

0

Small update for ‘share’ dataengine

January 8, 2011

Invest in sharing! by Toban Black

Invest in sharing! by Toban Black

Following the awesome work done by our sysadmins, I implemented a backend for the share data engine that supports the use of KDE’s official pastebin service: http://paste.kde.org .

This way people using trunk will already have this support upstream and people using earlier versions (which includes 4.6 !) can also use the script provided by Andrea Scarpino thanks to the brand new Get Hot New Stuff support that I integrated into the Pastebin applet for 4.6 :)

Flattr

Today I also signed up to Flattr, in order to test this micropayment service that sounds like a great idea to donate small amounts to people that do great work and create awesome content. I must say that I signed up after wanting to Flattr the work done by Lydia (aka Nightrose) and Tom Albers (aka toma).

Of course I don’t expect to earn a lot of money this way, but It’s awesome to be able to help some great workers and also add the possibility of earning a little bit of money, specially in the year of your wedding ;)

0

The bad side of “The Cloud”

December 15, 2010
The Cloud

The Cloud - by web@kstp.com

Since some time ago I started to worry that some “vital” information for me was on the “The Cloud” and that most of the service providers didn’t provide a way to retrieve my stuff or a support line.

I started to worry also about privacy for the first time in my life: what if companies suddenly becomes evil? Hmm. That could be bad. The “big players” are able to know everything about me: the email I read, the news I read, who are my friends, my family, my pictures….and much more! They could relate all this information to know what I like, what I dislike and so on.

Of course there are benefits. By knowing me more, they can offer better services that could be refined search, special advertisement or even make it easier to find that friend from kinder garden that I’ve never met after I was 4 (?)…

But what is the problem if they turn evil or decide that I do not deserve anymore these goods?

Some months ago I started to “migrate” at least some of my important stuff to open source and “controlled by me” services. I’m now sharing a server with one of my friends where I have my own email service for instance. I also contributed some patches to Akregator to let me share my news with my friends. I started to just use identi.ca and let Twitter “replicate” that, so my friends from Twitter get my thoughts. But in worst case I can just install Status.net on my server and voilà. I’m also looking forward ownCloud.

Yesterday and today I had the proof that I’m not (completely) paranoid (and trust me, I’m one of the last ones to be paranoid about subjects :P).

Starting from yesterday: after getting an invitation to try Diaspora (thanks Lydia!), and linking my twitter account there I discovered that my Twitter account was “suspended”. Ow great. I was supposed to get an email when this happens and there was nothing on my inbox neither on spam. I tried filling a support request and I always get the “Could not perform the task. Wait a few minutes” message.

I don’t know how but I finally received an automatic email from one of this support tickets that actually managed to be sent (all the time I tried I received an error…). I followed all the guidelines and answered the email asking for my account back. Tom pointed out that twitter had some security issues…but it has been already 24 hours that they disabled my account without sending even an email. If it wasn’t Diaspora I would never discover that it was suspended.

Today, while reading my morning news, I discover that Richard had a problem with Google and can’t solve that. He tried email, forums and everything else he could. Ah, great! He even has an Android phone that is pretty useless without a Google account. I’m sorry Rich :(

“The Cloud” is awesome, isn’t it? :) That’s why we need projects like StatusNet, Diaspora, ownCloud and Open Desktop (UPDATE: thanks to the ones that pointed out that open desktop isn’t actually open source).

11

KDE Mobile Sprint and MeeGo

November 21, 2010

Yep, I didn’t blog about MeeGo Conference yet. But come on, a lot happened during the last few days :P I barely had time to sleep really well (those that know me can tell histories about my sleep-walking and sleep-talking hehe).

However, just to keep everybody updated before I do a full post or read an article on the dot here it is a simple video that means a lot!

http://www.youtube.com/watch?v=UKdLCGCTu8w

Basically we put Plasma mobile to run on top of MeeGo and thanks to a lot of Marco’s work we already supported screen rotation! Besides the “fail” that drivers don’t properly report that the screen is being rotated on this device, pressing some keys we can make the view rotate and then comes the magic :D

Of course we also put the Plasma netbook to run on the device but the mobile one was really nice to play with our hands :) Keep your eyes on the Planet as I think more people have news to share ;)

More about the sprint and the conference after the break :P

5

Sharing articles using Akregator

October 22, 2010

A month ago I integrated into Akregator the “share” feature that uses Plasma’s microblog service to help you to share news with your friends using the microblog services (identi.ca and twitter). The good thing about using identi.ca is that all your data belong to you ;) and you can easily replicate your posts to twitter too. Another place where identi.ca is better than twitter is that it provides RSS feeds for all kind of information.

You may be asking yourself: “why the heck is this useful?”. The answer is: everytime you share some article on Akregator it publishes the title of the article, the link to the article and put’s a tag “#share”. This way you can use the tag feed to retrieve the news that your friends are sharing: just add the RSS feed to your feed reader and voilà :D This provides a feature that looks like the one that Google Reader provides, but in completely open environment!

If you are interested in reading my shares, just add this to your reader: http://identi.ca/morpheuz/tag/share/rss .

I’m on vacations so it has been hard to keep doing any development as I’m busy traveling with my fiance ;) but I can post about some stuff that I’ve been developing before my vacations!

See you!

2

I am part of the game!

August 29, 2010

There are several ways of being part of the KDE game: you can develop, translate, be an artist, help users, take care of our infrastructure, organize developer sprints. A lot of ways right? But some people just lack the time to join the game in any of the areas that I just listed but still want to contribute in some way to the project.

Join the Game

The “Join the Game” campaign was launched to create another way of contributing to the project: you donate some money to the project in order to help organizing developer sprints, to represent KDE on conference and trade shows, maintaining the current infrastructure and help the e.V. to legally represent the project in different manners.

As soon as the campaign was launched I wanted to be part of it too because I know how hard it is to sponsor all the activities that we have and how important the activities are. Some weeks after joining the game I received this awesome gift from the KDE e.V. It came in a simple box and when I opened I could find a blue box (no, it’s not a T.A.R.D.I.S. :P) and a letter.

It was really a nice emotion to read the letter that was sent to me, signed by the president of the KDE e.V. (really signed, not that image of the signature that organizations usually use). Opening the blue box another surprise: a nice silver card with my name, the KDE e.V. logo and the number of my membership: 0006! It was a surprise and I am very very happy to be an early adopter of this! And the cherry of this awesome cake: a playing piece (the same that you see on the posters), made of wood and with the KDE logo painted on it and also my membership number. Just great! Congratulations to everybody involved on this campaign! Check below some pictures:

The Letter - really signed

You can see the KDE logo in the center of the box

What you see when you open the box

Membership card

The Membership card

Playing Piece - front

Playing Piece - back

And you? What are you waiting for? Help KDE and be part of it: Join the Game!

15