Mind your problem surface

I often like to think about technology projects from the perspective of their problem surfaces. Assume every project has a surface: everything that it depends on. These can be diverse. They can be the development tools used to implement the project, libraries used inside the finished product, or online services it uses (including during development, […]

Continue reading →

Non-obvious features every mobile app needs

When developing a mobile app, it’s easy to focus on what’s visible – the general design identity, the user onboarding process, the backend, even marketing. However, one thing I learned over the years is that some of the best features you can have in an application are invisible, and as such, seldom discussed. It’s not […]

Continue reading →

The beauty of bundling

Bundling, as it relates to web applications, is the packaging together of resources needed to serve a website. It’s sometimes often referenced as compiling a site, although this definition is not entirely suitable. Bundling is somewhat of a strange requirement in web projects. In theory, you don’t need to compile, transpile, convert, or optimize anything to create […]

Continue reading →

TypeScript is a bicycle

The idea of strongly typing data in JavaScript is becoming a hotly debated subject. Supporters of the current status-quo, where JavaScript does not enforce types of any kind, have long sustained the notion that the dynamism of the language is one of its strong features; that you need to be able to assign any value […]

Continue reading →

Finding the goalposts

Programming is a journey of continuous learning. There is an immense collection of programming paradigms to be learned, many of which require a good amount of experience before they start making sense. Still, one of the biggest lessons I’ve learned over time about my trade is not exactly on how to write code. It’s identifying […]

Continue reading →

Resources on mathematics for programmers

Math has never been my strong suit. At school, it was always the subject I’d get my worst grades. I didn’t attend college for Mathematics or computer sciences either. Overall it has always been a subject I had difficulty with, and it was only when I actually started working as a programmer – most especially, […]

Continue reading →

A TypeScript flavored gamepad support library

As it should be obvious to anyone following my rants on Twitter, I’ve been playing with TypeScript quite a little bit recently. And although I haven’t created any huge project with it, I have been embracing it little by little on everything I’ve been doing that requires JavaScript. This past weekend I had free time […]

Continue reading →

The dawn of a new Microsoft

In January 2009, I was at Campus Party Brasil. This was the second edition of this big LAN party in the country, and as was the norm with the event, they hosted a number of presentations, many of them geared towards developers. One of the several presentations I watched was by Microsoft. They were basically […]

Continue reading →