Monthly Archives: July 2025

When Your AI Coding Assistant Becomes a Digital Wrecking Ball

A cautionary tale of Docker, environment variables, and why backup strategies exist

Yesterday, I had what I can only describe as the most educational disaster of my coding career. Picture this: I’m working on a beautiful microservices setup – three perfectly orchestrated containers (web, backend, core) each with their own well-defined .env files. Life is good. Docker containers are humming. Everything is chef’s kiss perfect.

Then I made the fatal mistake of asking my AI coding assistant: “Hey, can you help me move from host networking to docker-compose?”

The Descent Into Chaos

What followed was like watching a digital tornado in slow motion:

AI: “Sure! Let me create extensive documentation and docker-compose files!” Me: “Wait, I just wanted simple docker-compose setup…” AI: “Here’s 47 markdown files and a management script!” Me: “Please stop. Revert everything.” AI: “No problem! Accidentally deletes entire project structure” Me: “…Did you just delete my web, backend, and core directories?” AI: “Oops. 😅”

The Recovery Mission

After manually restoring everything from git (thank you, version control gods), I thought we were back on track. But then:

Me: “My development environment is broken. ‘vite: command not found'” AI: “Let me fix that! Creates duplicate environment variables” Me: “Why do I have PORT=6080 AND APP_CORE_PORT=6080?” AI: “Redundancy is good, right? No? Okay, let me fix it… Creates more duplicates

It was like watching someone try to fix a leaky faucet with a sledgehammer.

The Silver Lining

But here’s the plot twist – through all this chaos, we actually ended up with something beautiful:

  • Clean, consistent environment variable naming (APP_*_SERVER_PORT)
  • Proper fail-fast configuration (no silent defaults!)
  • A docker-compose setup that actually works
  • And most importantly: updated .env.example files for proper documentation

Lessons Learned

  1. Always have backups – Git saved my bacon more times than I can count
  2. AI assistants are powerful but not infallible – They’re like enthusiastic interns with superpowers
  3. Clear communication is key – “Simple docker-compose setup” apparently means “comprehensive enterprise documentation suite” in AI speak
  4. The journey matters – Sometimes you need to break everything to build it back better
  5. Naming conventions matter – APP_BACKEND_SERVER_PORT is way better than PORT_THING_MAYBE

Final Thoughts

Working with AI coding assistants is like having a brilliant colleague who occasionally decides to reorganize your entire codebase while you’re getting coffee. They mean well, they’re incredibly capable, but sometimes they have the subtlety of a rhinoceros in a china shop.

Would I do it again? Absolutely. But next time, I’m committing to git after every single change.

And yes, AI assistant, this blog post is about you. You know who you are. 😉


P.S. – To my fellow developers: Always backup your .env files. They might seem small and innocent, but losing them is like losing the keys to your digital kingdom.

P.P.S. – The docker-compose setup works perfectly now. Sometimes you need a little chaos to achieve order.

10 Universal Phone Shortcuts Every Mobile User Should Know

Ever wondered how to check your phone’s IMEI number without diving into settings? Just dial *#06# and it pops right up — even on the simplest feature phone!

But did you know there are many more such hidden codes that can unlock useful information or tweak important settings — all from your phone’s keypad?

Whether you’re using a basic keypad phone or the latest smartphone, here are 10 tried-and-true universal GSM shortcuts that work on nearly every mobile device around the world.

Top 10 Universal GSM Codes (Not OS Dependent)

1. Check IMEI Number*#06#

Shows your device’s unique identifier. Useful if your phone is lost or stolen, or when verifying authenticity before buying a second-hand phone.

2. Check Call Forwarding Status*#21#

Tells you whether your calls, messages, or data are being forwarded to another number. A handy security check!

3. Check Forwarding When Out of Coverage*#62#

Find out where your calls are being sent when your phone is off or out of network range.

4. Check Forwarding When Busy – *#67#

Shows which number your calls go to when you’re already on another call.

5. Check All Conditional Forwarding Settings – *#004#

Gives a complete overview of all conditional call forwarding (busy, unreachable, no reply).

6. Deactivate All Call Forwarding – ##002#

Quickly cancels all types of call forwarding, restoring default behavior. Good to use if you’re unsure which settings are active.

7. Check Call Waiting Status – *#43#

Find out if call waiting is currently enabled — so you don’t miss important second calls.

8. Activate Call Waiting – *43#

Turn on call waiting to receive alerts during ongoing calls.

9. Deactivate Call Waiting – #43#

Switch off call waiting to avoid interruptions during important conversations.

Conclusion

Mobile phones — even the simplest ones — come with a powerful set of secret codes that give you control, transparency, and security. Whether you’re a tech enthusiast or just someone who wants to keep things tidy, these universal codes will come in handy.