September 15, 2020
"Everyone gets the experience. Some get the lesson." T.S. Eliot Contributing to a project is not an easy task, especially if you're new to the project, new to coding in general, or
just not an active contributor. I have been on both sides, the…
August 28, 2019
I've recently finished reading John C. Maxwell's The 5 Levels of Leadership - an excellent analysis of the levels of leadership, categorized by the manager's influence. Although the author's descriptions and points are mostly spot-on, I've found that…
June 03, 2019
We have a Mongo Replica set inside a AWS VPC that's inaccessible from the outside world. The common practice
for this is to create a Bastion Host which has a leg in the VPC,
but also an available leg to the outside world (usually over a non-standard…
May 25, 2019
Lambda technology is often decorated with misleading superlatives, such as "unlimited scale" and "no ops". In our data-pipeline project I found that working with AWS Lambda functions at scale, meaning
thousands of concurrent operations a second, and…
March 20, 2019
Pushing data to AWS Kinesis Data Streams can and does fail, especially if you do not
have enough shards or your shards are not evenly balanced. Under-provisioning will
usually get you the all-dreaded ProvisionedThroughputExceededException. It's…
March 14, 2019
In this guide I'll explain how to package (zip) your AWS Lambda Python 2.7 (Edit: Included Python 3.7 as well)
code for deploying it to your Lambda function. The main issue I stumbled upon was using Pipenv,
most of the guides explain how to handle…
March 10, 2019
Automatically reporting alerts using AWS SNS Subscription to Pagerduty is super easy,
especially with Terraform. I recently attempted to integrate the services using email subscription,
but found that because of the async nature of email confirmation…
March 05, 2019
Debugging applications is a key part in any developer's toolkit. Debugging applications in non-development environment is
an even harder and more difficult challenge. It is only after your production application crashes, or you find yourself
spending…
February 27, 2019
I read Kent Beck's Conditions Are Power-Law Distributed: An Example
today, and it made perfect sense. In a codebase there are lots of conditions used once, and few
conditions used many times, the distribution following a power law. Kent had some Bash…
February 18, 2019
Today we had a code retreat at the office. I had a really good learning experience
and wanted to share my thoughts. In general, a developer's most important skill (and perhaps everyone's) is the ability to constantly
learn. This relies on many…
February 10, 2019
We've been using AWS Lambda in our Data Pipeline in my company. Needless to say the experience so far
has been far from great. Deploying isn't trivial. Debugging is far from trivial. Even logging,
a developer's coarsest debugging buddy, isn't easy…
February 04, 2019
Chrome Extensions have access to a wide range of native Chrome APIs, some which require special permission
from the user, and some are "free" to request. (See here) One of most hated permissions to be requested by a Chrome Extension, is the…
February 04, 2019
Always wanted to open a blog and write about life, adventure & technology. The blog-o-sphere was hot early 2010s, but now, it kind of seems late to the game. Adding to that, being primarily a web developer, I didn't want to use a turn-key blog of…