All Posts
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.
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…
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.
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.
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.
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:
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…
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…
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:
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.
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).
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.