• Reboot

    20 July 2018

    It's been a long time since my last post (more than two years, in fact). And the reason is absurd.

    tl;dr: I have redesigned Solar Sailer, making the home page the most important one and refocusing this site as a way to find me on Internet. The blog is relegated to a secondary part of the website. I still plan to publish articles, but the focus of Solar Sailer is to quickly know who I am, what I've done and where you can find me.

    The rest is a bonus. However, I'm still planning to expand this website in new ways — adding a portfolio and a resume, most notably.

    New redesign and home page

    If you want to read more about why it took so long, continue. Otherwise, you know everything. 😉

    I was using Jekyll to generate this blog and hosting it with GitHub Pages (Jekyll is maintained by GitHub, so the workflow to publish a Jekyll site on GitHub is dead simple if you accept their dependencies and constraints). Then, one day, GitHub said that they were deprecating the Markdown engine that I was using, affecting a few posts I wrote.

    I wanted to redesign this site for a long time, so instead of just updating the posts, I decided to rewrite the whole blog (like every developer do each time they have a small change to do — it's our curse).

    I experimented. I designed 6 or 8 layouts. I was never happy, and I never gave me the time to finish it properly. When I started to implement a new design, I let it wither for a few months. And when I came back, I just ditched it all. Again. And again. And again.

    I moved the blog to Hugo. Then I came back to Jekyll once more. I modernized everything. Then I was fed up with Jekyll again, so I tried Gatsby. And I did other things, abandoning the redesign once again. Meanwhile, and even if I had dozens of drafts, I couldn't update the old blog with new articles. So it languished there, in its infamous uglyness (something I was not proud of, calling myself a designer).

    And finally, I retried Gatsby recently and completed a new design. It's not perfect. It's not well tested on older browsers. But it works, in a good enough way for me — I have already spent too much time on it.

    I've also cut the dependency I had on GitHub Pages. I'm still using GitHub to host this website, but the workflow is separated and I'm free to use what I want.

    It's time to ship.

    More than just a simple redesign, I wanted to reboot the site to add a portfolio, a resume, a documentation·codex·tutorials, as well as a photo and automation sections. Of course, if I wanted to do it all, I would never have finished anything, so I just focused on a simple redesign at the time being, keeping in mind that the site would be expanded later.

    The goal, in the end, is to do all that — if I'm motivated enough. A good start would be to publish new articles with a regular schedule.

    Another thing that was ticking for this website was the "deprecation" of HTTP by Chrome in an upcoming update. By deprecation, I mean that Chrome will show an "Unsecure" flag on non-HTTPS websites. HTTP will always work, but it will be relegated to a legacy protocol that nobody should continue to use.

    I was in a hurry to complete this reboot before this update. I soft-launched the new site a few weeks ago, and tweaked it since. And now it's official.

    To be a little bit exhaustive:

    • I have 6 designs in Sketch files, plus a few more that I did directly in the browser.
    • I did more than 50 logos. And I'm still not satisfied by the one I use now (it's not the best that I did, but I think it fits better with the layout and what I wanted to do). It's so hard to capture the essence of something personal. It's a blank canvas without any constraints.
    • I tried 4 or 5 blog engines (Jekyll, Metalsmith, Gatsby, Hugo and others). I even toyed with the idea of creating my own.

    I'm so exhausted by this whole process and that's mainly why I'm so long to end this blog post. 😇

    I hope you'll like it.

  • Cats, taverns and cleaning systems

    01 April 2016

    Tarn Adams:

    It’s funny how I have popular bugs, right? You shouldn’t have popular bugs. […] I added taverns to fortress mode, so the dwarves will go to a proper establishment, get mugs, and make orders, and they’ll drink in the mug. And, you know, things happen, mugs get spilled, there’s some alcohol on the ground.

    Now, the cats would walk into the taverns, right, and because of the old blood footprint code from, like, eight years ago or something, they would get alcohol on their feet. It was originally so people could pad blood around, but now any liquid, right, so they get alcohol on their feet. And then I wanted to add cleaning stuff so when people were bathing, or I even made eyelids work for no reason, because I do random things sometimes. So cats will lick and clean themselves, and on a lark, when I made them clean themselves I’m like, ‘Well, it’s a cat. When you do lick cleaning, you actually ingest the thing that you’re cleaning off, right? They make hairballs, so they must swallow something, right?' And so the cats, when they cleaned the alcohol off their feet, they all got drunk. Because they were drinking.

    But the numbers were off on that. I had never thought about, you know, activating inebriation syndromes back when I was adding the cleaning stuff. I was just like, ‘Well, they ingest it and they get a full dose,’ but a full dose is a whole mug of alcohol for a cat-sized creature, and it does all the blood alcohol size-based calculations, so the cats would get sick and vomit all over the tavern.

    The original bug report is, ‘There’s cat vomit all over my tavern, and there’s a few dead cats,’ or whatever, and they’re like, ‘Why? This is broken.’

    People helped me with this. We were all looking and figuring out, ‘What the heck is going on here?’, and that was the chain of events. It’s like doing the detective work to figure out that entire chain of events is what happened. You can see how adding just a tavern that gave the opportunity for spilling alcohol, which was really uncommon before, now all the spilled alcohol starts to, form in one location where something could start to happen. You activate bugs and little parts of code from eight, six years ago where you just didn’t balance the numbers because it didn’t matter. […]

    PC Gamer: So the cats’ inebriation system was just based on any organism would have the potential to get drunk.

    Yeah, right now it’s any creature that has blood, and that includes, like, an octopus. I don’t know if an octopus can get drunk or not.

    The way the different systems are all interacting together is so fascinating. Especially when the outcome becomes something like this. :)

    I don’t even use version control. If you don’t know what that is then you’re not gonna yell at me. If you even know what version control is you’re gonna be like, ‘You don’t use version control? You don’t use source control? What is wrong with you? How can you even work?’

    I'm still baffled to know that many game developers (or other developers) work without version control. It seems so dangerous, but… well.

  • Delight

    19 March 2016

    Craig Mod in his beautiful essay about the Leica Q:

    And what is delight? For me, delight is born from a tool’s intuitiveness. Things just working without much thought or fiddling. Delight is a simple menu system you almost never have to use. Delight is a well-balanced weight on the shoulder, in the hand. Delight is the just-right tension on the aperture ring between stops. Delight is a single battery lasting all day. Delight is being able to knock out a 10,000 iso image and know it'll be usable. Delight is extracting gorgeous details from the cloak of shadows. Delight is firing off a number of shots without having to wait for the buffer to catch up. Delight is constraints, joyfully embraced.


    It should not exist. It is one of those unicorn-like consumer products that so nails nearly every aspect of its being — from industrial to software design, from interface to output — that you can’t help but wonder how it clawed its way from the R&D lab. Out of the meetings. Away from the committees. How did it manage to maintain such clarity in its point of view?


    The Q — like most recent Leicas — is engraved with the softly geometric, proprietary LG 1050 typeface. It feels so, totally, completely at home, stamped into the camera body in all caps. It's highly legible and precisely designed. Minimal, functional, but with a bit of quirky character. Like the Q itself. This is the perfect camera typeface used in the perfect way. Mic dropped. Case closed.