All Posts

A thumbnail image

Hard Truths About Entrepreneurship

I originally posted this on X as a response to this HackerNews post (full text at the end of this post) but thought its worth expanding on.

A thumbnail image

Golden Testing Helm Charts

We love tests at Twingate. When working on the Twingate’s helm charts repository I wanted to incorporate testing like we do with other code. For a long time our release process requires a long process of manual testing - every change to the chart’s templates required a manual process of testing the chart with various inputs to make sure it still works as expected. Enter golden tests as a way to automate this process…

A thumbnail image

Zero Downtime Django (gunicorn) Deployments on GKE

We recently switched to Twingate’s GKE load balancer to use Google’s new Container-native load balancer. The premise was good - LB talks directly to pods and saves an extra network hops, (with classic LB, traffic goes from LB to a GKE node which then, based on iptables configured by kube-proxy, get routed to the pod) and should perform better, support more features, and in general we’d rather be on google’s maintained side and not on legacy tech.

A thumbnail image

Scaling Your Analytics Schema Using Events Grammar

One of the most important aspects of building your own analytics system is how you store the data and expose it for querying. This post describes the challenges and approach taken when designing the analytics system for dapPulse (now monday.com) and later at Wondermall.

A thumbnail image

Best Practices Writing Production-Grade PySpark Jobs

How to Structure Your PySpark Job Repository and Code

Using PySpark to process large amounts of data in a distributed fashion is a great way to manage large-scale data-heavy tasks and gain business insights while not sacrificing on developer efficiency.

A thumbnail image

5 Tips for Choosing Your Startup’s Technology Stack

Having worked as a CTO and technology consultant to many startups I can tell you that choosing the initial technology is an important decision where you have to take into account several factors:

A thumbnail image

5 Things I Learned About Managing an R&D Team

I made the first developer I was ever in charge of want to quit programming. That was roughly over 15 years ago. I’d like to think I’ve improved over the years…

A thumbnail image

The Ultimate Github Atom Setup

A coder’s editor is his temple.

I’m a long time TextMate user. It has been my default editor for quite some time now. Everyone I know have already moved away to some other editor but every time I tried Sublime, Atom, etc. it never stuck. Atom was too slow, Sublime required editing long undocumented preferences JSON to customize…

A thumbnail image

Insight: Hiring Developers

There’s a very interesting blog post over at Raw Thought on the topic of hiring developers. It offers the following insight on hiring:

A thumbnail image

Data Mining — Handling Missing Values the Database

I’ve recently answered Predicting missing data values in a database on StackOverflow and thought it deserved a mention on DeveloperZen.

A thumbnail image

Introduction to MapReduce for .NET Developers

The basic model for MapReduce derives from the map and reduce concept in functional languages like Lisp. In Lisp, a map takes as input a function and a sequence of values and applies the function to each value in the sequence.
A reduce takes as input a sequence of elements and combines all the elements using a binary operation (for example, it can use “+” to sum all the elements in the sequence).

A thumbnail image

99 Ways to Become a Better Developer

I’ve encountered this post on my weekend reading — 91 Surefire Ways to Become an Event Greater Developer. It contain a comprehensive guide linking to all sort of blog posts providing insights on improving your skills as a developer.