What did I do in July

Search for a command to run...

No comments yet. Be the first to comment.
One of the methods of abstraction is to integrate another service. But can you trust someone else's service? Third-party APIs are notorious for failing at the worst possible time. Over time, I ended u

A race condition can hit you anytime, you think it won't because your system isn't that big, or doesn't process a lot of requests, but it will happen, and when it happens, you will feel a bit silly ab

The world is going through a tumultuous phase, but that doesn't stop the progress of humanity. Things go on, people move, prices fluctuate, we eat fruit and live a healthy life. April is hot, so hot,

Well, I celebrated my birthday. :P I worked on a functionality end to end using AI. It was a simple feature and AI wrote everything correctly in a single pass. I used Codex. After that, I had to ask i

Let me think. So I worked on a new functionality and raised a PR in just 2 days for the whole end-to-end correct flow. I did not focus much on performance because I wanted to first get it right and th

Well, long time no see. I got pretty busy or maybe I just didn’t have the will to write this.
Hmm… existential crisis.
Anyway, I built a full end-to-end functionality using AI heavily, and honestly, it didn’t suck. Context is always a bottleneck. For similar tasks, there was a lot of repetition, but that’s likely because you have to provide so much context.
I think a better approach is to have AI first write an overall architecture, and then use a summary of that architecture along with your DB models and functions as context. Providing the functions and their return values works better than dumping a ton of raw code. Abstracting certain parts can really help.
The functionality I built allows users to download reports in both JSON and XLSX formats - summarised reports and raw data. This needed to be an on-demand download so that the dependency on developers was removed.
It’s useful, but I’ve built similar reporting systems everywhere I’ve worked. There’s nothing novel in the core approach:
The real challenges are delivery and storage. Large datasets need cleanup after 3–4 months (unless you’re using buckets). But storage is cheap, so… who cares? ¯\_(ツ)_/¯
The client also wanted the files zipped, so we did that. Everything runs asynchronously.
AI wrote some code and I had to spend 4-6 hours finding and fixing a bug that AI introduced. Suxx.
I also did some DevOps. You’d think dockerising things is easy, it isn’t.
CI/CD: Setting up the pipeline was straightforward and saved us from manual deployments.
Dockerising: Writing the Dockerfile is fine.
Kubernetes: That’s where the pain starts. So many configurations, so many things that can go wrong. But once it’s set up, life becomes much easier. :P
I resolved user-raised bugs and handled some organisational stuff.
I’m also mentoring two interns and helping with their projects. Let’s see how that turns out.
This was my first time mentoring someone showing them the ropes.
I told them: Don’t use AI to write code directly. Your ability to write and understand code will diminish. Use AI for brainstorming and idea generation, but write code with your own hands. Speed isn’t the point here.
We had an issue where files created by Celery tasks weren’t accessible to the Django server. The root cause? The www-data user (owned by Apache2) was different from the user running the Celery jobs.
I have also added aliases so that my life on the server becomes easy.
Solution:
usermod <username>
One command. Done.
I feel I’m getting better at LLD and HLD, always pragmatic, no over-engineering.
I also built a CLI-based side project for timezones: Chrononav, nice, right?
I want to dive deeper into lower-level programming, maybe even kernel-level stuff, but I’m not sure where to start. I’ll probably look for open-source repos to contribute to.
I feel basic CRUD work can already be done with AI, with just a few tweaks. It’s not fully there yet, but almost.
Maybe I’ll become a Rust or Haskell dev. I’ve tried learning Rust three times and even contributed small things to OSS Rust projects, but I don’t vibe with it. Or maybe my neuroplasticity is gone.
Still, I think jumping straight into a Rust project might work for me, I’m more of a hands-on learner.