• A paean to tcpdump(1), or why knowing how to use it is a necessary skill for today’s networked software.

  • Of Varied Interests

    I’m keen to learn a little about everything, but obviously I don’t know everything. Especially sports.

  • Photography

    Photography as a hobby.

  • Catch-up

    I’m behind on my blogging – let me catch you up on the past month.

  • Borrow?

    My penchant for curiousity, borrowing books, and generally being a nosy and smart alec kid back in the day.

  • Luck

    I cannot stress enough how lucky I am.

  • Hilaw/Unripe

    Hindi ko gamay ang pagsulat sa Filipino – ngunit, eto ako ngayon, nagsusulat.

  • Filipino

    What does it mean to be Filipino?

  • Coffee

    I am an inveterate consumer of the black elixir that is coffee.

  • OPM

    I’ve been listening to a lot of OPM (Original Pinoy Music) of late; here are some tracks playing heavily in my library.

  • Winter

    It’s cold out here.

  • Politics

    I’ve avoided talking about Philippine politics for a while now here on my blog – the current political landscape has been very divisive and polarizing. However, recent events have made me reconsider this.

  • Typing and Types

    My ongoing internal debate on static versus dynamic typing, and all that jazz – or why I still like dynamic typing, even with the benefits of compile-time types.

  • Procrastination

    Putting things on hold.

  • Breadth/Depth

    Jack of all trades, master of none – but oftentimes, better than master of one? Maybe.

  • Soul of a New Machine

    Soul of a New Machine: a review.

  • Revisiting my Emacs configuration as a Java almost-IDE, switching to using LSP.

  • print('foo')

    The humble print statement is probably the unsung hero of many a debugging session in my career: it’s what I reach for first before breaking out the debugger.

  • Failure Modes

    The software we write is fallible, precisely we’re fallible. That’s not to say that all software is unusable though. Failure is always an option.

  • Comparison

    It’s inevitable that I compare everything to Manila, even if I would rather not: I have only that data point to use as basis.

  • Journaling

    Since November, I’ve been keeping a journal of my work, as a means of data gathering on my own productivity; it also gives me a sort of timeline of events, should I need to look back.

  • A Good Meal

    Food, glorious food.

  • Bilingual

    Communication when being fluent or conversant in two languages, coming from a culture of code-switching.

  • Models

    The map is not the territory, and often when writing software we’re building maps and models of things – which inevitably encodes our own assumptions.

  • Downtime

    The time I spend outside of work on rest and relaxation – or at least, Not Work.

  • Talk

    On socialization, introversion, and small talk.

  • Retrospective

    Looking back on the year that was

  • Why I Write

    There are various reasons for why I write on this blog (even if I’m not as consistent with my schedule sometimes).

  • Three Months In

    Three months in, and I think I’m fine.

  • On Call

    The operations side of writing software.

  • Locked Out

    The universe apparently has a wicked sense of humor, Or how I locked myself out of my own apartment on a public holiday.

  • The IKEA Adventure

    In which the protagonist goes through sensory overload.

  • Taking A Chance

    I’ve been pretty lucky in my career so far, and if there’s one thing I’ve learned: you have to take a chance on yourself.

  • Emacs as a Java IDE

    Into the forays of using Emacs as Java almost-IDE.

  • Identity

    I am a software engineer. I’m also an amateur photographer, a writer, and a dabbler. Or, at least that’s how I view myself.

  • Trying to get Emacs to work with a whole environment of tools is a lot of work; it pays to look for other Emacs users and ask them how they fit Emacs into the environment.

  • Vocabulary

    Observations on a shared work vocabulary.

  • Week Two

    The second week: looking for apartments, and observations of weather in Sydney.

  • Firehose

    Diving into the deep end: moving into a new city, and starting a new job.

  • Podcasts

    Filling my everyday commute with awesome long-form audio content.

  • Public/Private

    Just what exactly am I comfortable sharing online?

  • Life Changes

    I’m moving to Sydney (finally!): what’s on my plate for the next month.

  • Nuance

    As I’ve said previously: I try to view things critically, and that means understanding that there are usually shades of gray.

  • How to create a gRPC in Clojure and build it with Leiningen.

  • Polyglot

    Learning other programming languages is pretty beneficial, even if you don’t write code in those languages everyday.

  • Compromise

    Engineering involves compromises and trade-offs. But is it a good idea to trade-off quality of code for time?

  • Music

    The music I listen to; suggestions welcome.

  • I’ve decided to reconfigure my Emacs environment, and (re-)learn some stuff, in the service of making the most out of my preferred editor.

  • Food

    I love food; it’s one of the things I splurge on, as my girlfriend can attest.

  • Level Up

    As you gain more experience, you realize that there’s more to writing software than just the technical.

  • Writing Readable Code

    Reading code is a necessary skill— most of a professional software engineer’s time is spent reading code. But how do you write readable code?

  • Cringeworthy

    I have no words to explain it, but sometimes it’s worth looking back at your own past work, cringeing all the way.

  • A New Look

    Off-schedule update: I’ve changed the layout/theme!

  • The Great Adventure

    The Great Adventure; or what’s going on in my life to date.

  • RTFM

    On documentation, the phrase “RTFM”, and writing good documentation.

  • Books

    Recommended reading

  • Confidence, criticism, and why code reviews are hard.

  • Passports and Visas

    On the anxiety of getting a visa as a Filipino.

  • Sensible Commits

    One thing I’ve learned early on is that commit messages are important; it’s the one thing I always read first when reviewing code to understand the context of a particular change.

  • Deadlines

    No one likes deadlines, but I find that having them forces me to get things done.

  • Stupid Shell Tricks

    I spend an inordinate amount of time on the terminal, so it makes a lot of sense for me to learn a few shortcuts and tricks and make the terminal comfortable for my use.

  • Workman's Tools

    Thoughts on Emacs and the other tools in my repertoire.

  • Figuring Out My Voice

    Getting back into the groove of writing is harder than I thought; figuring out my voice is even harder.

  • Design and Entropy

    I’ve come to realize that a lot of design and architectural decisions are a fight against entropy, and it’s a never-ending battle.

  • Freelancing

    Freelancing and consulting work isn’t my cup of tea, but I’ve learned a lot from it.

  • Hello, World!

    Rebooting the blog. Is this mic on?

subscribe via RSS