Some mistakes Rust doesn’t catch – When you look at all the combinations of all possible instructions in a programming language, only a tiny fraction are useful programs. Even fewer actually achieve the task you’ve set out to do. So rather than looking at what a programming language can do, perhaps a better way is to look at what it won’t let you do. Here’s a look.
Regexes are Cool and Good – Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Then they solve their problem, hooray!
How to design better APIs – In this post, I’m trying my best to compress everything I know about what makes a good API. An API, that your consumers will enjoy using. All tips are language-agnostic, so they apply to any framework or technology.
A non-standard book list for software developers – I view the field of software development as a big logical system with highly interconnected and complex parts. Understanding such a big system naturally requires having an excellent grasp on the tools used to build them. And the most fundamental one is logic itself. What follows from what, what are the starting-points or the elementary parts, what are the ways of composing these into more complex ones, ways to spot complete non-sense in the system and how to decompose the complex parts back to more fundamental ones to check their consistency and truth. The following book list contain titles that are all playing fields for one to start experimenting with such systems and gain the required confidence that one can master them.
Literate programming might help you write better code – “It seems obvious, but code isn’t only written for machines: it’s written for people, too. Overlooking this fact can cause problems.”
Designing Netflix – Just for fun, design a video streaming platform similar to Netflix. Ankit Sirmorya will walk you through it.
Goose – DB schema migration framework.
How to use undocumented web APIs – A couple of people asked how to do this, so I wanted to explain how because it’s pretty straightforward. We’ll also talk a tiny bit about what can go wrong, ethical issues, and how this applies to your undocumented APIs.
Editing stuff in prod – Here’s a concept: “ssh to prod and edit directly on the machine” is generally bad news.
Writing for engineers – Writing is key to have impact in large organizations. As a senior software engineer chances are that writing is the most important skill you have to acquire in order to increase your scope beyond the team and advance your career.
What artists notice – Painters at work notice details we’d ignore. From those details they develop delightful insights into reality. What do I mean? Let’s take a gander at Van Eyck’s “Arnolfini Portrait” to find out.