Once an organization transitions from a start-up to a more mature business, it often finds that its software development velocity stalls when it tries to add new features or attempts to refactor problematic code. This is because without solid, automated tests developers don’t know if they’ve broken existing behavior. Management then tries to ameliorate the …
Author Archives: Aaron Cohen
Recursion
What’s Recursion? A recursive function solves a problem by solving smaller instances of the larger problem. It does this by calling itself with different parameters until a base case is reached, and the function simply returns vis-à-vis a non-recursive expression. Recursion is most commonly used to traverse data structures with indeterminate depth, such as multi-dimensional …
Kubernetes Secret Management
Most apps consume secret data (e.g. API keys, database passwords etc.). We explored managing configuration in the first part of this series using configmaps. However, configmaps are meant for storing non-sensitive configuration data because they are unencrypted at rest and usually are set by a yaml file, which would likely be checked into source control.
Local Development in Kubernetes
In this second post of my Exploring Kubernetes series we’re going to make our k8s development environment less onerous. The code can be found here. There’s continuing debate whether you should local k8s development at all. One camp says that you should develop on a remote cluster in order to mimic production as much as …
Abstractions
We rely on abstractions to make sense of the world. Your dog is not really a "dog." There’s no such thing. The word is a generalization for a group of entities that share a similar genetic make-up. But it’s easier to just say, "dog," and we all understand because we generally agree on the things …
Evaluating an Existing Tech Project
A dilemma often faced by professional programmers is whether to work with what they have, or start fresh when inheriting others’ code. They say it’s easier to write code than to read it (especially other people’s code). Why is this? Unless the code is perfectly readable, it’s challenging to put yourself in someone else’s head. …
The Essence of Functional Programming
This post is aimed toward giving a basic understanding of functional programming (fp) for the beginning to intermediate JavaScript developer with a few years of experience. This is not an endorsement of applying such techniques in arbitrary circumstances. Other factors, such as existing code, co-workers’ experiences and preferences etc. are important factors when deciding to …