The official approach might seem a little complicated to some developers and is not available on Windows. In this post, I suggest using Vagrant to set-up a development virtual machine. You will be ready in a few minutes and it works on every platforms.
I am publishing today The Four Hour to Git and GitHub Training. Is is available under the CC-BY-SA license to anyone who would like to organize a Git/GitHub training at work/school/user-group/etc.
Developers training on GIT @cticdakar par Thomas Sarlandie (@sarfata). With @peopleinput @seysoo @samaevent @afriqueitnews @esmt & others! — Yann Le Beux (@YannLeBeux)
Git is an awesome tool and I have not met a developer who went through the learning curve and regreted it. Combined with GitHub (or a similar service), it is even more helpful and everyone should learn how to use it.
I think in most developer groups (user-groups, companies, schools, etc) there is at least one developer who has some experience with Git. Taking the time to show to his/her fellows how to jump into Git is often the best way to get them started but most do not have the time to prepare a full training.
With those slides, available under the Creative Commons license, I hope that many developers will take the time to organize a small training for their friends and colleagues so that everyone joins the fun!
About two weeks ago, I met the people of Jokko Labs here in Dakar, and they mentioned they had a 3D printer but currently lacked time and resources to use it. Of course I volunteered, and yesterday I picked up a beautiful FoldaRap which is a foldable version of the famous RepRap: a 3D printer than can reproduce itself (mostly).
FoldaRap is a design by the french (cocorico!) designer Emmanuel Gilloz and if you are interested, he is running a crowdfunding campaign to make a new batch of them. This printer can be folded for easy transport and is really compact. It can still print objects as big as 140x140x140mm.
For 600€, I am really impressed with the quality of the prints - If you want to get started, this might be the moment you were waiting for!
It took me a few hours to get my first prints out. Here are my notes and tips for anyone else starting in 3d printing.
A few companies in the room (Intek and Seysoo) have been implementing Scrum for a few months now so after my slides we had a great in-depth look at the tools they use to implement Scrum (Icescrum, Balsamiq and DokuWiki mainly).
My goal today was to extract the most important (IMHO) practices of agile methodologies that can be applied individually or together to improve the performance and well-being of project teams. I split those practices into two: practices for the developers, practices for the entire team.
Slides after the break!
Yesterday night, I did a presentation at Mobile Monday Dakar on what I have learnt in six years in the mobile industry in France.
The big themes were:
Technological transformations and their impact on our business
In six years, we saw: the iPhone, unlimited data plans, Android, iPad, HTML5, etc. Those technological changes also brought a lot of changes in the way mobile services are built: from finding the perfect way to say something in 160 characters (SMS) to designing gorgeous interface that combine beautiful artwork with finely tuned user-experience.
How the ecosystem evolved
While it sometimes can look very stable and rigid from the perspective of a small startup, the mobile ecosystem is a living being that has evolved a lot. In 2006 carriers were the big monsters that everyone feared but with whom everyone had to deal with, in 2012 the new pilars are the device manufacturers and content owners have taken a well-deserved place in between them.
The notion of mobile strategy
A few years ago, the options were very limited and jumping on the mobile wagon was pretty straightforward: J2ME or mobile websites were the only options until 2008. Between 2008 and 2012, the number of options has quickly increased and now a company has to decide between going native, html5 or hybrid; building for one phone or all the platforms and whether they should address tablets. Making the right choice requires a well defined target audience and a careful look at the features that are being built.
A big thank you to the Mobile Monday Dakar team for inviting me! And thanks everyone for showing up - this was a very interesting evening!
Slides available after the break (in french).
I have started working with startups in Senegal, sharing some of what I have learnt in my 6 years as CTO of Backelite. This is the first set of slide I am making public: on resource planning.
Resource planning is very important for small service companies: you have lots of projects, with priorities that change every week and you need to find ways to deliver in time, make sure everyone is always busy and also try to do everything in normal hours.
This is a very basic introduction but I wished someone had given this to me six years ago.
As some of you know, I am spending a bit of time (six months) in Senegal. Last week, Orange Senegal ran a promotion: their 3G Internet usb key was available for 10000 FCFA (~15€/$20), including one week of unlimited data access. I already have Internet access through my phone but I thought this would be a fun new toy, especially if I could get it working on the Raspberry Pi as well.
Huawei is one of those huge chinese companies who are changing the face of Telcom but we almost never hear about them. They provide everything from software to run a mobile network to cheap phones and 3g devices.
It turns out this little device is quite amazing: Internet access works on the Mac but also on Linux, I can use it to send and receive SMS and you can even configure it to act as a USB ethernet card and access its embedded web server… quite amazing for $20!
A nice bonus is that the key I got is not sim-locked so I can use it with any network (if yours is locked and you happen to google ‘huawei + the model of your key’, it’s hard to find anything but unlocking instructions…).
Let’s learn something useful today! I have always been interested in data vizualization and my recent addictions to data analysis is pushing me to try new things.
Turns out I have the perfect problem to go with it: having trekked around the globe my wife and I have the pleasure of being invited to weddings all around the world. We try to go as often as we can.
The list for 2013 has been growing very rapidly and it seems it would be quite a challenge to attend all of them. The goal of this little exercise is to:
Let’s build this together.
Although I have decided to blog mostly in English, I am writing this post about the french intervention in Mali in french to share my two cents with fellow french people.
Depuis une semaine et l’annonce d’une intervention armée de la France au Mali j’entend plusieurs voix se lever et dénoncer une guerre qui ne serait justifiée que par les intérêts nucléaires français.
Setting up a VPN server with Amazon EC2 is a great way to protect your privacy. You can turn the server on when you need it, shut it down when you dont. All your traffic will go through your VPN and go out on the internet from your EC2 box so that you are in a really secure environment.
Amazon lets you use a free instance for a year that will be perfect for our purpose. And with the help of this post, it should not take more that 5 minutes!
Of course, you know I could not spend a week without the Internet, so I finally looked into securing my computer which I should have done a long time ago. In this post, I want to share some recommandations on how to really secure your mac computer and protect your privacy when surfing online.
We will go through setting up the MacOS firewall and a VPN to an amazon EC2 box. This is still quite technical so if you have never opened a terminal this is probably not for you might still want to read the next paragraph to understand the risks and have some basic ideas of how to protect yourself.
Every script described here is published on my github as the Voodoo Privacy project.
CTO101 is a series of guidelines for entrepreneurs who have great ideas but have not found yet the CTO that will help their company grow. It is all about giving you the tools you need to work effectively with freelance developers, hosters and 3rd party tools.
Source Code Management (or SCM) is the combination of a processes and tools that allow a company to effectively manage the source code for different projects.
In a nutshell, SCM allows you to:
Trees, houses and bushes were passing by as our tuk-tuk pulled by a small motorcycle rushed down the unpaved street of Cambodia. I had only been gone for a few weeks but already my mind was rushing to find a new project to work on. This is when it happened.
How the idea came up is probably not that important. It was probably something that had been running unnoticed in my mind. The peace of the moment gave it an opportunity to materialize in my head. What does matter is: How could I find out whether this was the idea?
One thing I have learnt working with creative people is that a good idea does not just show up. It takes time, it takes energy, you need to work at it. And slowly, as you go, the idea matures, transforms and becomes way more than the initial grain of sand.
What I am really working on is growing ideas. And after having watched the video and read the book, I knew exactly what to do with this idea: Build a Minimum-Viable-Product and get feedback. This is the story of the first iteration on a product called C-Light, a connected lamp, my contribution to the Internet of Things.
I tend to have tons of great ideas of stuff to do, but quite sadly most of them just end up in a huge mental stack that never seems to go down. The more ideas I have, the more frustrated I get that nothing actually gets done. The luckiest ones get my attention for a few days, but no matter how much time I spend, they never leave the state of great ideas that I just did not finish.
Those symptoms are not unlike the problems that a lot of companies face: they spend a lot of time working on new features, on a new process that will revolutionize how work is done but often nothing gets out of that work: no code is rolled in production or the slides end up in the trash of an executive that will never have time to approve them. When dealing with products, agile practices encourage small iterations and frequent releases. In a company, lean practices recommend working in very small batch that follow a complete design-develop-test cycle. It occured to me recently, that those principles could very well be applied to my own personal projects: building this website for example.