» Never build for the future
After a couple years of programming are under your belt, it’s likely you’ll fall into the trap of building for the future. This feels like a good thing to do, especially when you are dealing with technical debt from folks who didn’t build for the future. However, if this resonates with you, let me save you some grief: It’s a waste of time!
» Read more» Shipping Software Just-in-Time
There’s always been a certain disdain in software circles for management techniques from other industries. With things like the mythical man month, the Agile industrial complex, and the myriad of failed attempts to measure productivity, most software engineers develop a bias early in their career, then as they gain experience, also gain significant blind spots for techniques and learnings from other industries that would help substantially with the problems they face.
» Read more» What's the deal with Relational Databases?
I recently wrote an internal blog post at Truepill intended to make relational databases a little more approachable for folks that are coming from a more document-oriented world.
Given the positive internal reception, I decided to create a public version. The main things I covered were:
- Schemas,
- Normalization of Data, and
- Relationships
» Open Sourced Typescript Packages
At LiveRamp, I built a lot of TypeScript services. Coming from Scala, I was very hesitant at first to move to a less strict environment, and I was also wary about structural typing. However, after having used it as well as onboarded engineers to it, I can’t recommend it enough.
To make development a little less finicky, I created two packages, which successfully were open sourced last week!
» Read more» mash / Hello Again, World
I finally took the time to put the rewrite of mash online.
It’s still not ready to replace the main homepage, but I’ve made pretty decent progress, and also managed to support composition of commands.
» Read more» Standardization / "What" vs. "Why"
Standardization is one of the hardest things an engineering organization can do, especially when it’s also trying to ship new products.
Small and medium sized companies often face this - they have a lot of market share to win, so they need a lot of features. They need a lot of features, so they hire a lot of engineers. They hire a lot of engineers, so they want to keep them aligned.
The trouble is, while a lot of engineers are familiar with standards, chances are they mostly enjoyed the “what” without understanding the “why”. And, by nature, standardization is a cross-cutting concern, which means its impact is amplified - good or bad.
» Read more» mash / Mash Rehash
I decided recently to refactor my homepage, so as to better represent the way a bash shell works. This is because my site, while cute, didn’t capture the best part of doing things the Unix Way – composability.
» Read more» Pleasant Surprises
I started this evening totally set on building my own static website generator, based off a GitHub Repository and some Markdown, then caught up to the rest of the world and realized Github Pages already did all of that for me. So, I find myself now with the problem all bloggers face - the part where you actually write content. Rather than do the classic hopeful first blog post, where I promise tons of content, I figured it would be fun to review my spotty blogging history, in no particular order.
» Read more