Tips for Efficient Coding with Claude Code
I have recently adopted Claude Code as my primary AI coding assistant. In this blog post, I'd like to share some of my learnings on how to use the tool efficiently.
I have recently adopted Claude Code as my primary AI coding assistant. In this blog post, I'd like to share some of my learnings on how to use the tool efficiently.
I have been working in professional software development for ten years now. During these years, I believe that the single most important development principle boosting the productivity of teams and individuals is to create small pull requests. This post explains why.
This post is a summary of Chapter 6, "Amazing Meetings", from The Making of a Manager by Julie Zhuo.
Good meetings are simple and straightforward. Practice clarity and ruthless efficiency with your meetings, and people will thank you for respecting the sanctity of their time.
During the last three years, I've had the opportunity to conduct some 70 technical interviews. In all these interviews, I've asked candidates the same question: "What is good software?" In this post, I'd like to share some ideas of answers to this question.
Two and a half years ago we started developing a software application for creating training data for ML applications. The heart application of this annotation tool is a REST API built with Django. The API serves as the backend for a Vue front-end and a Python SDK.
I recently finished reading Clean Architecture by Robert C. Martin. This book accompanied with Clean Code and Clean Coder are very useful reading for any professional software developer, even though they are getting old and there are better books available out there. This post briefly summarizes Clean Architecture.
In this article, we'll see how to deploy the Django application built in Part 2 of this series to local Kubernetes cluster. We'll be using Skaffold for the deployment. Skaffold offers support for multiple profiles, making it useful both local development with hot code reloading as well as production deployments.
In the previous part, we created a custom user model in Django. In this part, I'd like to show how to roll custom authentication. Neither custom user model nor custom authentication are required for the granular role-based access control, but I'd like this series to be a complete tour of authentication and authorization in Django. The code accompanying the series can be found in GitHub. So let's get started!
In this short series of articles, I'd like to share how to implement granular, resource-level role-based access control in Django. We'll build a REST API that returns 401s (Unauthorized) for unauthenticated users, 404s for authenticated users not authorized to view given resources, and 403s (Forbidden) for users authorized to view resources but forbidden to perform given actions.
Hi! In the previous article, we saw how to speed up I/O-bound tasks with multithreading without any callbacks. In this article, I'd like to share how to speed up compute-intensive (CPU-bound) tasks with ProcessPoolExecutor, again using asyncio high-level methods to keep the code readable and without a single callback.