Software running on a single device is almost always only the tip of an iceberg: it usually communicates with other software by the use of APIs (Application Programming Interfaces). There are an infinite number of ways to structure data when software communicates, but some conventions have developed over time in order to rein in the chaos of every programming interface implementing its own protocol. This post launches a series examining various conventions to structure APIs.
More →
Use git hooks to remind yourself about stashed changes or commits that are works in progress.
More →
The Fermi Paradox refers to the contradiction between the lack of strong evidence for extraterrestrial aliens and the high probability that they exist. Or, as Enrico Fermi himself put it, "Where is everybody?" There are many resolutions to this Paradox, but in this essay I explore one of my favorite: that aliens exist and are all around us, but that we humans do not recognize them for what they are. Working backwards from assuming this as true, what does it imply about us and our understanding of the Universe? I do not necessarily advocate for this idea as true, but I find it an intriguing thought experiment to explore the contours of our human perceptual and conceptual limits.
More →
There are 6 ways of rolling the sum of 7
with two dice. Is there a mathematical formula that will tell us this probability directly? This series attempts to discover one.
More →
TL;DR The question of sentience and consciousness is irrelevant.
More →
Yesterday I wrote, for the first time in a while, about my (re) discovering the super-power of RTFM (reading the fine manual).
More →
It took me way too long in my career to understand this, but reading the manual is a relatively easy way to boost programming super-powers.
More →
Quest Driven Development is an expressive approach to writing game stories and interactive fiction that leaves coding and implementation to software, so writers can focus on narrative and world-building. This approach can highlight inconsistencies or problems as potentially clashing narrative branches are woven together, allowing a writer to correct errors or inconsistencies as they go.
More →
As a Finnish language learner, I find Wiktionary to be invaluable.
More →
I like Twitter. For the most part. I like that there is immediate access to information, thoughts and musings from around the world, from everyday individuals. I dislike that mobs attack and bully individuals on Twitter, and while I am certain that Twitter as an organization abhors this, I believe that it is an inevitable result of deliberate design decisions.
More →
In which your humble author muses on due diligence, translates a Tweet, learns about the best-selling Finnish band of all time, and mentions a fellow Finnish-language-learner
More →
I have lived now in Finland for nearly 7-and-a-half years! That's a long time. Longer than I expected when I arrived here from New York City. It's probably time to admit to myself that I'm not going anywhere.
More →
I have a simple rule of thumb when choosing to use array methods, and I'd like to share it with you. The array methods I'm discussing here are:
More →
A technical interview can be a learning experience for all, or it can be a grim, soul-sucking grind. The first path will lead to an effective team, and the second will lead to a dysfunctional team; this is an exorable, near-mathematical inevitability. Think deeply about how your interview process will lead to the team your company deserves.
More →
For years my website and freelance company has been rendall.tv
. Today that changes to rendall.dev
.
More →
This is a quick guide to get a webfont into your website with some attention to web performance and is intended as a starting point for small sites that will write in a Latin alphabet. At the end of the post are some resources for further optimizations, if you choose.
More →
I took John Lindquist's online video course Build Your Own RxJS Pipeable Operators which comprises 12 videos in 31 minutes total. Yep, that is fast! While I can recommend the course if you're interested in RxJS 6, you do need some experience with RxJS, and Lindquist is super speedy necessitating frequent pauses.
More →
These are my class notes to Paolo Perrotta's excellent and entertaining video course Mastering Git, comprising 8 videos of 2 hours 45 minutes total. I recently took up the Microsoft Dev Collective's offer for a 30-day free trial of Pluralsight and this was one of several that I enjoyed. I highly recommend this course if you are familiar with git, but even a little unclear on how git works. Especially if, like me, you use the same git commands every day with only a vague notion of what they do. Signore Perrotta explains everything brilliantly.
More →
You're using a bundler like Webpack that squeezes those modules into a single minimized javascript file, so you want to keep that line as-is.
More →
Happy Holidays, everyone. I just launched this blog right into the holiday season, and so start with a gap! I hope your holidays are going well.
More →
Databases are often described in terms of their ACID properties (e.g. "eventual consistency"), so knowing the vocabulary is useful when considering a database solution. Some contemporary database management systems intentionally disregard ACID properties in a tradeoff for other gains.
More →