One Year of FOSS
Hello internet friends, long time no see.
After doing a total revamp of this weblog, I think it is finally time to explain what’s happening in my life.
Two months ago, I decided to quit my job. I was tired of Paris’s pollution. I was tired of Paris’s shitty public transportation. I was not really happy doing my job. I had one year of runway. Long story short, I moved to Bayonne, a really nice place in southern France.
Sadly, as nice as this place is, we cannot call it a tech-friendly place. There is not a lot of software-related jobs there, even less interesting ones. So instead of looking for a new job, I decided to do something bold. Why not, instead of constantly whining about low quality software, trying to write something I can be proud of, software I personally enjoy, and in the meantime, forgetting about getting any income for one year?
I came up with this manifesto:
- Do not think about money or employment, only think about learning and creating something useful.
- Each started project will be a completed one. Even if it turns out to be a failure or a bad idea, reach at least the minimal viable product stade. There is no escape.
- Do not parallelize projects. You should have one and only one software project at a time.
- Release everything you do in an opensource form. Preferably using the MIT V3 license.
- Try to cooperate with other people as much as possible in everything you do.
- Share your experiment publicly in an honest way. No idealistic bullshit, if something you do sucks, say it and explain why.
- Try to suck as less at possible in your job. You are here to learn about how to write highly reliable software, regardless how long it takes. Time will not be a constraint this year.
I have been following these rules for the last two months.
What Have I Done so Far?
I first started learning haskell. Yes, yet another time. This was the third time I was attempting to learn that damn language. I can finally say that this was definetely the last try. I grasped enough concepts to have a real world usage of it. It took me one month: the first one of my sabbatical.
This time, instead of trying to get started in two days using some crappy internet resources, I went the hard way. I studied the real world haskell book. I couldn’t recommand it enough, it explores the language in depth with enough practical exercises and examples to grasp the presented concepts. As I was mentionning, it took me around 3 weeks fulltime to finish that book. So be warned, Haskell is a great language, but do not expect to grasp the basics in 2 days as you would do with yet another c-based language.
After getting through this book, I decided to start right away a Haskell project from scratch, just to prove myself I was able to build something practical with this language.
This is when I decided to create a videogame. Partly because it was a child’s dream, partly because I was curious about how to build a purely functional game.
I will write more in-depth about DobadoBots in some upcoming articles, but long story short, after one month of development, I am yak-shaving its minimal version. All the features are now implemented, it only needs some polishing.
Radical Lifestyle Change
Starting a new life phase is always a hustle. This time was no different.
First, the city. Moving from a 2 million inhabitants metropolis to a small 15 000 inhabitants city was a hell of a change. In the end, I couldn’t be more happy. The city center is pedestrians only: no more pollution nor car noise all day long. Everything is within reach using a bycicle: no more crowded public transportations. I can reach the beach in a 20 minutes bycicle ride. I really like this place, I actually would love to stay here even after this sabbatical.
Next, work. I am not going to lie, this has been the harder part. Moving from a on site white-collar job to a completely constraint-free homeschooled one has been greatly affecting my show up rate! During the first month, I have been constantly struggling with self-motivation. Not having external constraints and sharing the same space for both personal life and work turned out to be encouraging me procrastinating. Luckily, I finally catched up momentum and have been effectively working fulltime for the past month. I guess this struggle will never end, but at least I now know that I can effectively beat procrastination!
That’s pretty much it so far, I think I will try to write an update about this sabbatical after every project wrapup.