I'm Umer — a software engineer and builder at heart. Since 2016 I've written here about software engineering, ML, AI, distributed systems, and leading engineers.
2023
2022
2021
2020
2019
2017
- YAGNI, Cargo Cult and Overengineering - the Planes Won't Land Just Because You Built a Runway in Your Backyard Aug 19
- Caching Strategies and How to Choose the Right One Aug 11
- Basics of Java Garbage Collection Aug 06
- Message Batching to Increase Throughput and Reduce Costs Aug 03
- Amazon DynamoDB Auto Scaling Jul 29
- AI Is Not Magic. How Neural Networks Learn Jul 28
- Fix Employee Weaknesses or Focus on Their Strengths? Jul 26
- Tweaking TCP for Real-time Applications: Nagle's Algorithm and Delayed Acknowledgment Mar 19
- Cluster Analysis Using K-means Explained Feb 19
- Certificate Authorities - Do You Know Who You Trust? Feb 18
- Testers Make Software Teams Highly Productive Feb 17
- What Is Yak Shaving? Advice for Software Developers on Staying Focused Feb 13
- Committing Teamicide by Micromanagement Feb 08
- htop Explained Visually Jan 20
- Review of Andrew Ng's Machine Learning Course and Next Steps Jan 19
- If Your Site Isn't Using HTTPS, You Are Doing It Wrong Jan 18
- There's No Backdoor in WhatsApp. Just a Weakness That Could Be Exploited Jan 17
- Leadership vs Management - Leaders Have a Dream, A Vision... Jan 16
2016
- Tutorial - Configuring Photoshop for 2D Pixel Art Dec 11
- Should You Unit Test Private Methods? Nov 19
- Performance Testing Serverside Applications Nov 16
- Taking Responsibility for Your Actions Nov 14
- Git Tips - Undoing Accidental Commits Nov 13
- Automated Tests Help Developers Sleep Better Nov 12
- Building Microservices in Python and Flask (GitHub Project Included) Jul 10
- Interactive Emails with Email Markup Jul 08
- Unit, Integration and End-To-End Tests - Finding the Right Balance Jul 05
- RESTful - What Are Idempotent and Safe Methods and How to Use Them? Jul 04
- Idempotent and safe HTTP methods - REST API Jun 30
- Behind Monty Hall's Closed Doors - Our Limited Minds Jun 26
- What is Serverless Architecture? AWS Lambda Features (2020) Jun 25
- Blameless Postmortems - Examining Failure Without Blame Jun 20
- Continuous Delivery - Automating the Release Process Jun 18
- The Law of Demeter - Writing Shy Code Jun 17
- Remote Software Development - Lessons Learned Jun 12
- IDEs and Productivity Jun 10
- Write Less Code Jun 03
- Avoid Singletons to Write Testable Code May 27
- Effective Coding Standards May 22
- Software Estimates are not Targets May 14
- The char Type in Java is Broken? May 08
- Minimum Viable Product - Lessons for Software Teams May 07
- Good Abstractions Have Fewer Leaks May 06
- Software Rot, Entropy and the Broken Window Theory May 02
- Do Experienced Programmers Use Google Frequently? Apr 30
- Do Not Let Technical Debt Get Out of Control Apr 27
- What is HTTP/2? Apr 23
- When to Rewrite from Scratch - Autopsy of a Failed Software Apr 21
- Git Stash - Saving Your Changes Apr 18
- The Problem With Code Coverage Metrics Apr 16
- Is it OK to make mistakes at work? Apr 14
- Generating Sessions Ids Apr 13
- Developing Sense of Ownership in Employees - Let Your People 'Own' It! Apr 12
- What Are Code Reviews and How to Do Them Effectively Apr 03
- Checked vs Unchecked Exceptions in Java. Why it's so Confusing Apr 02