Posts filed under ‘Uncategorized’

Considerations on home office

Ah… home office. The dream of any real programmer.


I was about to say ‘hacker’ but it seems that this substantive has become something that can’t be said in some circles in current ‘social sensitive’ society (but that is a topic of another post).

Can you imagine that: wake up at any time, no need to commute, have your very own office space decorated in any way you want?


I have being working in a home office setup for the last 16 months and realized a couple things that may be interesting to share with my friends and the opensource community overall.

First lesson: it requires discipline. There is no one around to push you to do your job, so unless you are a disciplined lad, probably you may get in trouble. I’ve lead teams of developers in the past, and I can say that not everyone is cut to work in a more relaxed and self managing environment. What is interesting: the majority of people when offered the opportunity to work remotely will be scared of it and will find an excuse to avoid it.

Second lesson: timezone differences are your friend. Last year I was able for 2 months to wake up early in the morning, visit a beach from 6AM to 12PM and then start working. If you have the opportunity of working remotely for a sponsor located in a different timezone, it is beneficial for both sides to explore that. You will be available at the sponsor’s timezone and at same time, it gives you freedom to do things that won’t be possible in a common 9AM to 5PM workday. Tip: since I’m using KDE, I have in my workspace analog clocks displaying the timezones of all involved parties in a project.

Third lesson: have your office. To properly turn on your mind set, have an office (which may be a room in your house) that will be your work place. When you start working, close the door and make clear to everyone that you are busy and not available. And when you are done with your daily journey, simply leave the place and close the door behind you, to help you change the mindset and be able to relax.

Fourth lesson: communication rules. Be in touch with your pals, provide daily updates and try as much is possible to be aware to what is happening in your project. Being thousands of Kms (or should I say miles to the Imperial guys?) away makes your work pretty hard to be noticed by managers and at same time provides unique challenges to be able to feel how a project is going and what the sponsors priorities really are.

Fifth lesson: you will always loose something. The trash talk at the coffee place? Not documented good practices? Some cool pet project developed by a co-worker? You will loose all that working remotely and that is a sad fact that you need to accept. There are also limits to what you can contribute back to your company while working remotely, which leads to the next point.

Sixth lesson: you will achieve the ladder’s end pretty fast. We, humans, are related to primates. Hunters in the past used to depend on facial expressions to properly assess danger and happiness. Even with current’s advances on remote communication, there are limits imposed by our own nature that won’t be overcome by technology. You need to accept that you won’t be able to achieve the top of your company while working remotely.

Seventh lesson: it requires courage and confidence on your skills. Think about it: you probably signed a contract with a foreign company that probably cannot be enforced in your local country and which gives freedom to both parties to end the aforementioned contract at any time. I personally feel that this keeps things straight and honest between both parties (you need to be happy and the sponsor needs to be satisfied with the results), but there are people who may be afraid of such situation.

Well… this is it. If I remember other things I’ve learned on this subject, I will update this post. Do you have thoughts on the subject? Let me know.

April 24, 2013 at 5:27 am 5 comments

CellarDoor in German plus Debian package

Dear friends

Some quick updates on CellarDoor are due. Since last week, it has debian packaging support in the buildsystem, contributed by Milton Soares.

Simply run ‘make deb’ and you are set: a nice debian package is generated at end.

Next, Adriano Cavalcanti contributed another translation to CellarDoor, German:

Thanks to the fact that German has some bigger than average words, it will require some adjustment in some parts of the UI, but so far so good! As soon I finish some missing features, I’m planning to make a ‘non-hackers’ release.

Currently CellarDoor is available in:

  • English
  • Brazilian Portuguese
  • Italian
  • German

Do you known French or Spanish?

August 17, 2011 at 1:23 am 13 comments

CellarDoor got its second translation: Italian!


Just 1 day after blogging about my pet project CellarDoor, I was contacted by Francesco Frassinelli asking about how to make translations.

The result in the next day can be checked below:

Of course there are some places in the UI that we will need to make minor adjustments, but it certainly is progressing really fast (except for minor UI code glitches, the Italian translation is done).

Do you speak German or French? Want to contribute to OSS/Freesoftware? Let me known.

August 8, 2011 at 2:16 pm 1 comment

Long time no see you

It is being almost one year without posting in my blog… What else to say, besides I have being busy? Since my last post, I have:

a) Trying to be a not so lousy father;

b) Led 2 teams in 2 different projects at same time at OpenBossa (both non-oss, targeting Symbian and Maemo respectively);

c) Visited Boston, Brussels, Miami, London,  Bristol, Jericoacoara;

d) Improving my old motorcycle with new accessories;

e) Bought a Brazilian off road “car” and travelled through the country side;

f) Moved to a new apartment, with space for a small office;

g) Since just motorcycling is not enough, tried some new things:

h) After learning QML, decided to write a new pet project (details in the next post!)

i) Reviewing and merging several patches in libgcal (news soon!)

And probably some other stuff that I plainly forgot. Now, I’m planning to post once in a while to not let my blog to collect dust… after all, like I said way back in September 2009: “… having a half-alive, half-dead, zoombie-like blog is worst than having no blog at all.”.

August 5, 2011 at 10:44 pm Leave a comment

Delayed post: Nuremberg


A lonng delay to post it, but here goes some photos I snapped in Nuremberg. Since I got a travel to Finland that was delayed, I was happy to have a weekend to enjoy the city.

And boy, it was really cool! Sandro reported some of the places we visited (hey, man! What about the karaoke video?). But the best of the whole cultural experience came in the Saturday: visiting the Museum of Industrial Culture (by suggestion of Will Stephenson).

Have a look on some photos:

a) When your grandpa says that people nowadays lack the guts, believe it!

b) Feeling like a kid in a candyshop (and yes, most of the motorcycles still work!). It seems that up until the 60’s, there used to be several local motorcycle companys in Nuremberg (some of the items in the collection are older than 100 years and some feature engines with more than 1000cc).

c) From my poor German, there was a sign saying something like “Kids, you can ask you mommy or daddy to snap a photo”.

d) Visiting the train exhibition gives you a good idea of how the old and the new can be present together in the city.

Some extra notes:

  • the stereotype of German people being unwilling to help tourists is completely false, as long you are at least capable of asking for help in the local language;
  • local food is delicious and way cheaper than Northern countries or say San Francisco/USA. You can eat very well by paying 10 euros a meal (included the dunkel beer!) in Nuremberg;
  • train system is cheap and effective (but not always on time);
  • The beer is awesome and the cars german!

March 29, 2010 at 10:40 pm 3 comments

tokamak4: some js love

Some years ago, I used to think that real programmers only do C or C++ and that script languages were not for real man. Of course, I was wrong and realized that when I did my pet project doing the server in C and the client in python.

Javascript seems to be all the rage lately (Palm WebOS anyone?). An amazing idea that I have being discussing for 2 days with aseigo, richmoore, notmart, igorto (all good hackers lurking in the #plasma channel) while in Tokamak4 is somewhat that might sound strange: javascript based animations.

Currently is possible to use our C++ animations in javascript plasmoids, which is good. But if we look at the code of those classes, a significant part is just boiler plate code to setup the object. So, what if we have a single JavascriptAnimation class coded in C++ and put the logic of setting/reseting the properties of animated target widgets on a javascript file?

Some clear advantages:

  • easier to prototype an animation
  • easier to make animations theme dependent
  • easier for users (and designers) to contribute animations

And some obvious disavantages:

  • execution speed might suffer
  • exposing some properties of widget objects that might be dangerous for js coders (no offense intended!) 😀

So, maybe you are wondering ‘Nice, but where is the code?’. You can look at it here: svn://

(it will probably only compile with KDE trunk but might work with KDE 4.4. SC).

It is really interesting to see that a simple zoom animation (and somewhat limited, it is just an example) becomes in javascript:

function updateCurrentTime(currentTime)
var delta = currentTime/duration
target.scale = delta

So what now? This is just a PoC, a lot of work is waiting for us to port other animations, test, profile, do some js black magic for speed ups. What is really interesting is that until last night I have never used the QScriptEngine class, but thanks to its good documentation (and hacking the whole night on it while in the hostel) I got the PoC working. It is quite funny how Qt can be an enabler for experiments like this.

Interested to join the boat? Follow plasma-devel and KDE techbase.

February 25, 2010 at 5:07 pm 2 comments

Tokamak4: high quality pulse

In monday after getting bored of being a long time without programming (I told in my previous post that I was in vacation, even hitting the personal record of 2 weeks without programming!), I was talking with Nuno Pinheiro a.k.a ‘da design guy’ of KDE. When he asked me if there was a way to make the KDE 4.4. SC pulse effect with really bigger scaled factor, I was thrilled.

After considering some different approaches and thinking about the limitations, it got to be fast, got to look pixel perfect to please the UI designer and *can’t* break the so loved or hated BC (Binary Compatibility), I got this results: at left there is the new pulse optimization and at right the normal pulse (you can also download the file in ogg format).

[ ?posts_id=3288009&dest=-1]

The code has still a bug that the pulsed shadow is not centered in the new code but it is looking promising specially for high DPI screens. Another remark is that the animation was set to have a long duration to make it easier to notice the pixels in the outer limits of pulsed shadow.

February 25, 2010 at 4:40 pm 5 comments

Older Posts


June 2017
« Apr    

Posts by Month

Posts by Category