Old Posts

First experience with MOOC

The year of 2012 for the Internet was definitely the year of the “massive open online courses” with some startups of online education stepping up to the big stage (Coursera, Udacity, etc) and some well know names coming up with their own initiatives (MIT, Harvard and Berkeley at Edx). So in the beginning of this year there were many opportunities to learn something new or update your knowledge with college level quality, where the only prerequisite is your motivation.

So i decide to give it a try, in January I picked up a topic that i wanted to learn/improve and signed up for it. The course wasn’t taken in any of that major sites that i previously mentioned but the system was based on Edx. At the end of the month, i started the 10gen‘s 7 week course on “MongoDB for Developers” (Given in Python) and followed the weekly classes flawlessly till the final exam in the middle of March.

In the next few paragraphs i will describe my experience based on some notes that i took during that period, basically, i will tell what i liked and what i think that should be improved.

On the first week in a course for developers, the rythm was kinda slow with the instructors wasting too much time with the basics of python and how to install some libraries. At first i thought everyone would think the same, but in the discussions i noticed that many of the fellow students didn’t even knew how to install python on their machines. Even though it was a nice thing to do, in my opinion for this kind of course previous python experience should be a prerequisite.

In the next few weeks things started to get interesting when we focused more on mongodb and talked about its operations, design, performance, the aggregation framework, etc. Every week a new batch of 3 to 10 minute videos (with few exceptions), covering each one a new concept or use case about the week’s topic was released, plus some questions to make sure you understood the what was being explained in each video. Personally i like this approach, i didn’t move to the next video until i completely understood the previous one, and if i had doubts it was as simple as watch the video again and use the discussions in the case the doubts persists. The responses to your questions were posted generally pretty fast, many times by the instructor but most of the times by fellow students.

To complete the week you had to complete some kind of homework that weighed 50% of your final grade. Some people complained that it was relatively easy to complete these tasks, but in my opinion the purpose of this homework is to certify that you, at the end of each week, understood the key concepts lectured and not to test the capacity and expertise of the participants.

In the last week of the course, you only had to complete the exam, the content posted by the instructor were optional and consisted in interviews with professionals talking about mongodb implementations in production right now on codecademy and foursquare.

One improvement that i would like to see in future courses is a discussion box per video where you didn’t have to leave the video page to ask questions or to answer the ones you know.

In conclusion, i really liked the experience and i will certainly put my new “mongodb” skills in action on a future project. Right now I’m already aiming to a new course for the summer (when my weekly schedule is lighter). If you already took one of these online courses, I would like to listen what you have to say about them. Feel free to use the comments.

Old Posts

This time you’ll have to leave

It’s time to pack my feed list and move away from Google reader, something that I had already tried and failed before, because this time the service will be shutdown by Google on the first day of July 2013.

The Internet is (mostly the tech community) in tumult, with every major tech news site writting something about it and big discussions taking place in many communities. You can say that this is too much and basically it’s only the shutdown of a service that’s using a technology already half dead, in that case I must disagree.

In my humble opinion, RSS still has a big role in today’s Internet usage and is one of the few really open technologies, that improve the flow of information and that don’t rely only on major sites with walled gardens that belong to big companies.

In my daily habits while I surf the Internet, Google Reader tops the ranking of most used “app”, when you count the in time spent (and the usefulness), it’s where I keep myself up to date with whats happening in the world, just to give you an example, here’s what the app has to say about my stats:

From your 39 subscriptions, over the last 30 days you read 736 items, clicked 43 items, starred 0 items, and emailed 0 items.

Since July 18, 2009 you have read a total of 29,114 items.

The discussions about the alternatives don’t have been very enlightening, many suggest apps like feedly and flipboard, these ones are pretty and run on tablets and cellphones but don’t fit to my usage, that magazine style thing (and I don’t own a tablet) doesn’t feel right, I need a full featured powerhouse tool with lots of flexibility.

One other option suggested was netvibes, but I’ve already tried this one in the last time and it let me down. So currently, the only web based options with good feedback left in my list are newsblur and theoldreader, which I didn’t had the time to try yet.

So do you know any other alternative that I should add to my test list?

Note: There is the possibility of desktop or self hosted software, but for now I’m trying to avoid those, so they will be the last resort.

Old Posts


Generally when I have to develop a website or web application, I use technologies and frameworks that I am used to work with and I have more than basic knowledge about them, in most of the cases it turn out to be django and in some of them I also use node.js. With these two i can always achieve what I want without to much effort (with some exceptions).

Some time ago I was asked to participate in a project that involved Ruby on Rails, a technology that I didn’t have too much knowledge and never had done anything with it, besides attending few workshops and talks about it (where I’ve just got a general idea how it worked). So it was time to give it a try and the fastest way to learn basics is to build something from the ground up with it and understand how stuff works along the way, and that’s what I’ve done at the time.

So the first step was to find something or some idea that I wanted to work on and that would involve all the common techniques and stuff that you generally have to master when you start developing webapps.

Here is what I’ve come up with:

An inverted daily “To Do” list. So basically instead of making a list of what you have to do, you at the end of the day write what you have done and rank it with the amount of effort it took to do it. The system then store it, and shows to you in a pretty graph of your performance along some period of time. For a motivational boost at the end of each week it sends you an email with all tasks that you accomplished and the total amount of effort points.

Basically it’s an app to monitor your daily performance and could serve as a motivational tool to help those who struggle in getting things done.

I know its a basic app and I didn’t implement too many features, but it served its main purpose, at the time, of understanding the basics of ruby on rails.

Yesterday I made it available on-line to anyone who wants to try it. For those who end up using it for some days/weeks I would appreciate some feedback, reporting of any errors you find or even suggestions of new features that would improve the app.

So you can find it at: (Update: after 5 years, the server was turned off)

Old Posts


Have you ever played “bomberman”? Yesterday I found that some guys made the classic even better. Just go to and you will be able to play the game in a huge scenario against hundreds of other people in a massive multi-player game.
But the best part is that you won’t need to install anything because it’s played in the browser. Believe-me it’s fun, give it a try and hope you don’t get caught by one of my bombs.

Note: This note has nothing to do with the subject, i thought one of the comments in the game discussion makes a good point about this kind of games and the all the buzz around html5. So here is the extract that i wanted to share:

Web Apps set us back 20 years in pretty much every respect except ease of deployment (1992 – people are impressed that Wolfenstein 3D gets 60FPS on a 100MHz Pentium; 2012 – people are impressed that Wolfenstein 3D (in Javascript!!!!111omg) gets 15FPS without sound on an 8-core 3GHz box).

by Shish2k

Source: HN

Old Posts

Tour of the International Space Station

I already reshared this post on Google+ but i think the video is just too awesome to not publish here in the blog too. So here it is, a twenty minute tour of the International Space Station:

Old Posts

This year’s project

Another year and another codebits edition has come and gone. This time i had to enter the 48h programming competition. So with André Gonçalves and some help of Carlos Santos, we tried to develop a new service that would help the users of MEO Kanal. The description of the service was the following:

Basically this project aims to develop a new way of managing your MEO Kanal (or several of them) through your cloudpt account. Giving you the ability to access all the functionality without the need of a browser or any additional software.

The way it works is simple, just give the permissions to the webapp (from MEO Kanal and cloudpt accounts) and you are ready to manage your channel from any devise which can upload files to cloudpt, by adding or removing files in the channel folder. The next video (we made it for the presentation) shows the basic usage of the app:

Since the project is not finished and the coudpt will not be available to the public till December, i will try, in the next few months, to complete at least the basic functionality and publish a prototype. You can access the code (and help) in the github repository of the project. So if you have any idea, opinion or want to give a little feedback, please use the comments.

Old Posts

Here i go again

Just take a look on what arrived to my mail box yesterday morning:


Like last year (and a little bit sooner this year) i had the privilege of being accepted for the biggest technology event here in Portugal. It will take place in Lisbon in the middle of November and i will be there, participating in the 48h hackathon, and this time trying to finish my project. So in the next two months I will be collecting ideas (comment box please, if anyone would like to share some) and preparing for a great weekend.

If you’re going too, see you there. If you didn’t applied yet, you only have 3 days left.

Old Posts

Between 32°22.3?N 16°16.5?W and 33°7.8?N 17°16.65?W

… you will find the atlantic pearl also known as “Madeira island“. I spent this summer there and is always good to return to that paradise, where few kilometers separate the 20ºC waters (sometimes even more) of sea from the highest mountains with 1500+ meters.

Since most of you never had the chance to visit the island and i am very proud of the place where i was born, i’ve made a simple compilation of photos and videos that can give you a glimpse of what you can find in Madeira.

I hope you like it and if you have any extra content you would like to share just use the comments below.

Edit July 2016:
The content has been removed from the post, you can find it here.

Old Posts

Using less browser toolbars

One thing that I don’t like is having a big chunk of my screen area wasted with browser’s toolbars. Generally, i try to remove all of them, leaving behind only the minimum required to browse the web, this way I’m able to maximize the area used for what really matters. Recently i start using one really neat webapp called Bundlr that lets me save and organize images, videos, tweets and some other type of content in a single place that’s always available for me and for the public (the premium account allows private bundles), something similar to Pinterest but way better.

The app works just fine, but since my browser is Opera I’m obligated to use their bookmarklet in bookmarks toolbar to select and capture the content i want to add to my bundles. This isn’t good because, or this bar steals space from my screen or i have to turn it on and off every time i want to clip something. Chrome users have an extension that solves this problem in a beautiful and practical way, adding a button right next to the address bar.

Well i just need something similar in Opera, so i tried to do the same thing and create an extension to opera that transforms the bookmarklet into a button. The final result is in the picture bellow:snapshot

And it works pretty fine!

I could upload this thing to Opera Addons website but they don’t allow the extensions to run external javascript, so probably this one will not be accepted. For those of you who want to try it, here is the link to the file.

Maybe on a future post i’ll explain how to do a simple Opera extension and what steps were needed to transform the bookmarklet in an extension.

Edit: just updated the extension to better handle secure connections, following a recomendation from the bundlr team.  (19-07-2012 )

Old Posts

Recovering your bookmarks

Some time ago, while cleaning stuff in my computer, I decided to switch my browser to Opera and delete the version of Firefox that I was using at the time. While doing that and removing all the Firefox folders that are left behind, I accidentally erased all my bookmarks and I didn’t had them synced with some on-line service. Well that wasn’t good, I had references stored there that I wanted to keep.

When trying to recover the file ‘places.sqlite’ I found an bookmark backup generated by Firefox. When I opened the file I found that it was a mess, basically it was bunch of big JSON objects stored in one line containing lots of garbage (I only needed the urls).

I kept that file until today, when I finally decided that I would put those bookmarks again in my browser. As Opera doesn’t import this kind of files, I made a little python script that extracts the names and urls of the backup and generates a single file that opera can import, while keeping the folder structure.

Well, it worked, so I tought it might be usefull to someone else and pushed it to github. If any of you ever have the same problem give it a shoot and use this “quick fix”. You can find it here with some instructions on how to use it. If you find any problem, use the comments and github issues.