Looking back at 2015
March 12, 2016
Sidenote: You can say your procrastination level is very high where you write an article like this in March.
This article is more a writing exercise for me than something you should read, unless you have nothing better to do than reading about my 2015 year. And I have the feeling that it will be quite long. Nevertheless, I make this page public.
Programming, open source
I began the year spending the vast majority of my free time programming and contributing to open source, with the motivation and productivity momentum being part of the SassDoc team gave me since mid 2014.
I'm especially super thankful to Hugo, Pascal and Fabrice, we made an awesome team that I'm really proud being part of. I learnt so much by building SassDoc together, as much in programming as in open source project handling and team building.
I Celebrated the 1 year anniversary of my home server I gave birth to in 2014. This also means 1 year day to day FreeBSD usage as a server OS. The only thing I have to say is I still happily run it!
During this year of administration of my little server, I experimented with FreeBSD jails, setting up, hosting and maintaining a web, mail, IRC, XMPP server, among others.
While I did not experience with real word charge and scaling, it tought me one or two things about system administration.
Release of SassDoc 2.0.0, after a lot of work with the SassDoc team on the previous months to completely rewrite the core, add more features, and make a pretty website.
I made my first pull request, and (not so) sadly last, since I don't do PHP anymore, on the Symfony project to add support for images extraction with the crawler component, involving a slight refactoring of the module.
Symfony is a large project, and to my eyes an example for open source guidelines and contribution process. Everything is documented with well-defined and enforced rules. The code review is really solid, I had input on my code by multiple people, got really good comments and suggestions, my mistakes were directly pointed out. It made me feel really confident while contributing, and it was a really insightful experience contributing to a project of this size.
While such a strict process requires more time and implication (at least for non-trivial change like this), both for the external contributor and the maintainers, it results in a really consistent and totally documented project, from the actual file tree to the commit and pull request history.
The only negative point for me is that the pull request got actually merged nearly one year later (close to 3 days). Also my name didn't appear as the final commit author, and while I don't really care, it surprised me a little bit. But I see it as a pledge that one of the reviewers actually takes the full ownership of this code and its maintenance which is a good thing.
First real contribution to the NixOS project, by adding a Vim plugin and the late io.js support, following a quick fix for npm packages the day before.
I published my blog, CodeJam, that you are currently reading, after experimenting for a while on a blog engine using a makefile as its core.
I released gogs-migrate, a tool to automatically migrate (and optionally mirror) GitHub repositories to a Gogs instance. This is my most successful personal project by number of stars (16 as of today, great success)!
First release of markdown-it-anchor, another of my (relatively) most successful projects, this time by number of contributions (5 pull requests, and 10 issues, OMG).
It's a flexible plugin for the markdown-it Markdown parser allowing to add an ID and an anchor to headings (I'm using it on this very blog). I released it on the day following markdown-it-title, markdown-it-highlighted, and markdown-it-highlightjs. These are all plugins I needed to improve my KISS blog engine.
I bought a Kimsufi. I had to monitor its status in real time minutes for a week, so I could get a notification when the server I wanted was available. I could log it as available maybe 3 or 4 times in the week, and each time they were gone in less than 5 minutes. The first time I was sleeping, the second time I lost too much time creating my account and the server was not available anymore when I was ready to pay, but I got it the third time!
I started a lot of libraries and tools as side projects, that don't really worth mentioning, but I still do.
- cgip CGI IP echo service.
- es6-denodeify Convert callbacks to promises.
- through2-sync Synchronous through2 transforms.
- stream64 Base64 encode/decode stream.
- bind-late Late binding of overridable object properties.
- gogs-migrate Migrate existing repositories on a Gogs instance.
- help2md Convert command help string to Markdown.
- antisocial-auth Social authentication for websites that don't provide any.
- express-then Express handlers with promise support.
- crypto-promise Promise version of Node.js crypto module.
- jvc Node.js jeuxvideo.com API client.
- jvc-cli CLI jeuxvideo.com client.
- jvc-auth Authenticate jeuxvideo.com users.
- stream-concat-promise Promise version of concat-stream.
- promise-done Propagate errors out of promise context.
- markdown-it-title Extract title during markdown-it parsing.
- markdown-it-highlighted Whether code was highlighted during markdown-it rendering.
- markdown-it-highlightjs Preset to use highlight.js with markdown-it.
- markdown-it-anchor Header anchors for markdown-it.
- fetch-cookie Decorator for a
fetchfunction to support automatic cookies.
- fr-gas-price Retrieve French gas price data from government website.
- promise-retryable Retryable promises.
- babel-plugin-transform-array-from Replace
Since I procrastinated my days off for 3 years (yes, I procrastinate even my days off) while working at Dredd, I had the equivalent of 3 months of vacations to take before the end of June (provided that I was still studying 2 days per week at Aries).
I wrote code all day long for a month, but then I realized than as the time was passing, I was getting incredibly way less productive than when I was working, even though I had all the time I wanted to dedicate to my side projects, open source, and generally improving my technical skills.
At the point where I was doing nothing meaningful of my days, I started biking, and hiking a little later. I was not in a good shape since I spent the past years basically daylong behind a computer without any physical activity, it was terribly demanding, and I could barely bike for 4 kilometers, being super exhausted and thirsty at the end. But by training nearly everyday, I quickly got better and could bike more and more kilometers while being less and tired and needing less water.
Soon enough I could bike for 20, 40, even 80 kilometers straight! This was a rewarding experience and was really worth the initial pain.It allowed me to discover nice places around my city, Grenoble.
Being in the heart of the Alps, and since I had a car, I had the chance to be able to go hiking in wonderful places in just 30 or 45 minutes of driving. Like for the bike, I started with small but exhausting hikes, until I got trained enough to do larger ones, with more ease.
At the end of the summer, I walked roughly 20,000 vertical meters among 30 tracks.Here's a taste of the sublime landscapes we have in the Alps.
I graduated from Aries. This marks the end of my studies, with a software developer diploma, 3 years after integrating this school in the webmaster class.
Those 3 years at Aries were really enjoyable. We had such great vibes and complicity within the class that the 2 days of school per week felt like a week-end before the week-end. These memories will remain etched in my mind.
I moved from Grenoble (France) to Montreal (Quebec) with a 2 years WHV.
I had quite a fright because the carpooling I took to go to the airport in Paris the day before had an engine problem in the middle of the trip and we were stuck in a garage for half a day. Fortunately they could fix the engine and I got to my destination on time.Direction Montreal!
I Joined Busbud as a backend developer. I'm so excited to work here, it's really motivating and productive to be part of such an awesome team of enthusiast programmers.
We also have a blazingly awesome ping pong setup, that is, admittedly, quite addictive. I'm working on making it work on different setups than our exact configuration and hardware in order to make it open source. Stay tuned!Busbud, a startup with a view!
I signed the lease for a flatsharing that I visited the day before. It was the last day of my Airbnb and I can say I was really lucky because it was for me the best match, both for the place and the roommates, that I had between the dozens of flatsharings I visited during my first week.
I spent most of my day in IKEA, and the whole evening building all the furniture. This is definitely not my area of expertise nor an enjoyable hobby for me.
I now live with 4 awesome roommates in a beautiful apartment, with 5 rooms, two bathrooms, a BBQ, and even the luxury of a dishwasher!
Right when I got my first paycheck, I bought a new guitar, since I left mines in France. It's a Fender Stratocaster, the guitar of my dreams since ever. Let's play that funky music!Shameless guitar porn.
I got a bit annoyed to walk 20 minutes to work everyday while I felt like it would take 5 minutes in bike. Same for getting kinda anywhere in Montreal, while there are buses and metros, everything seems so close in bike and you don't have to wait nor pay anything!
So I decided to get a bike, even if the winter was coming. After all, I heard some people here kept biking in the winter, even with snow storms and a decent amount of snow on the road.
Turned out the snow took a while to fall, so I could profit of my bike in ideal conditions for another month. And even once the roads were covered by a couple centimeters of snow, biking on it was surprisingly good, and even really enjoyable when the snow is fresh!This is my bike. It's a beautiful bike.
I and a few friends casually made a BBQ for Christmas Eve. That's a pretty badass thing to do for a first Canadian winter. :D
5 AM, I took my bag, put my balaclava and walked to the bus station downtown under the falling snow. Direction New York for the New Year's Eve!
After a 8 hours bus trip we arrived in Manhattan. During 2 days we walked around the whole island and could visit a decent part of it.New York.
The New Year's Eve in Times Square was also an unique experience. It's incredibly hard to get in Times Square at 3 PM, and even if you're lucky enough to get inside (which we were), you then have to wait another 9 hours standing in the crowd without really any kind of animation. All of this to have the countdown the last minute before midnight, and a tiny firework. I have quite mixed feelings about this experience, to say the least.
That was a pretty intense year for me; finishing my studies, leaving my job, family and friends to start from scratch in a new country, where I had my first full time job and also my first flatsharing experience!
It will be hard to make 2016 even more awesome, but I'm happy I quickly found a stable situation that gives me peace of mind, and I think like enjoying this for a while, focusing more on programming and playing music.