• Introducing Nudgy Timer

    For the last two years, I had been meaning to write an Android app just for the sake of it. I had attempted to do so in short chunks of “free time”, but that never played out well: I had to force myself to sit down for a few hours straight to fight Android Studio and overcome the initial difficulties in coding for an unknown platform. That’s why, during the last Thanksgiving week, I took three days off of work to focus on writing my first Android app. The goal was to get a basic app that could later be built on iteratively as open source. The specifics of the app did not matter much for this exercise, but I had a simple idea in mind. [Continue reading]

  • Introducing Markdown2Social

    Markdown2Social is a new open-source tool, originally written at Google for Google-internal posts, that converts Markdown documents to Google+ posts. [Continue reading]

  • Compilers in the (BSD) base system

    A commonly held axiom in the BSD community is that the C compiler belongs in the base system. “This is how things have been since the beginning of time and they define the way BSD systems are”, the proposition goes. [Continue reading]

  • Welcome to my homepage, version 2.0!

    Back in May, I wanted to play a little bit with Twitter Bootstrap and the result of those experiments was that I set up a personal site on this same URL. The site served me well for these months, but I wanted to see it grow to better represent my presence on the Internet. To that end, I have now been playing with Jekyll, a static content management system natively supported by GitHub Pages, and came up with the site you are own now, which went live yesterday. [Continue reading]

  • An open letter to online support staff

    Dear online support staff member, [Continue reading]

  • "Your English is pretty good!", they said

    As I spend September in Seoul and attend an intensive Korean language course, my story with English comes to mind. This is a story I have told a bunch of times to friends and coworkers and it’s time to write it down for posterity’s sake. [Continue reading]

  • My coding workflow

    How would you best organize your work environment for maximum productivity if you were tasked to develop a type of application you had never developed before? Wouldn’t it be nice if you could witness how an experienced developer manages the tools of the craft so that you could draw ideas and incorporate them into your own workflow? This post aims to answer the above for the type of work I do by sharing how my workflow looks like. I want to compel you to share your own story in the comments section, and by doing so, create a collection of stories so that others can benefit from them. [Continue reading]

  • How to commit a code hack and not perish along the way

    You are the developer in charge to resolve a problem and have prepared a changelist to fix the bug. You need the changelist to be reviewed by someone else before checkin. Your changelist is an ugly hack. [Continue reading]

  • Get a handle on email subscriptions

    Do you have any idea which online services and stores have you given your email address to? Are you able to quantify the effort it would take to fully migrate to a different email account if you ever wanted to? [Continue reading]

  • Six years at Google

    Mission: Site Reliability Engineer for the Storage Infrastructure at Google D-Day: May 25th, 2009 Location: Dublin, Ireland Duration: Unspecified [Continue reading]

  • Hello, Medium!

    In search for a new home to personal essays. [Continue reading]

  • Offloading maintenance tasks to Travis CI

    From day one, the Kyua source tree has had docstring annotations for all of its symbols. The goal of such docstrings is to document the code for the developers of Kyua: these docstrings were never intended to turn into pre-generated HTML documentation because Kyua does not offer an API once installed. [Continue reading]

  • On Bazel and Open Source

    This is a rare post because I don’t usually talk about Google stuff here, and this post is about Bazel: a tool recently published by Google. Why? Because I love its internal counterpart, Blaze, and believe that Bazel has the potential to be one of the best build tools if it is not already. [Continue reading]

  • Nexus 9, focused writing, and more

    About three weeks ago, I got a Nexus 9 and its accompanying Folio case+keyboard at work with the main goal of drive-testing Google's mobile apps. [Continue reading]

  • Kyua turns parallel

    After three months of intensive work on Kyua's executor Git branch, I am happy to announce that the new execution engine, whose crown feature is the ability to run test cases in parallel, has just landed in master and passes all self-tests! [Continue reading]

  • Unused parameters in C and C++

    Today I would like to dive into the topic of unused parameters in C and C++: why they may happen and how to properly deal with them—because smart compilers will warn you about their presence should you enable -Wunused-parameter or -Wextra, and even error out if you are brave enough to use -Werror. [Continue reading]

  • One month in with Android Wear

    Or: A review of the LG G Watch. [Continue reading]