Programming insights to Storytelling, it's all here.
For over two decades, I’ve worked as a software developer. At some point along the way, writing JavaScript stopped being something I had to think about, it just happened. Building CRUD apps, managing forms, handling the DOM, these became second nature. I could step into almost any project and instantly start wiring things up. This is what Daniel Kahneman refers to as System 1 thinking: fast, intuitive, automatic.
When I imagined the future of technology, I pictured a world where all my devices worked together seamlessly under my control. My car would never get lost in a parking lot because it could simply tell me its location. My home would intelligently manage the thermostat to save energy. The garage door would open automatically when it detected my arrival. My phone would serve as a personal assistant, coordinating everything to make each day run smoothly. At home, a central hub would connect all these devices, sharing information to optimize my life.
Looking at old applications, we always wonder who in their right mind thought of building them so badly. I encountered such an application in my career, and I was lucky enough that they had used version control to preserve its history. Let me describe how the application looked in its latest state.
I’ve been using Audacity for over a decade, and for most of that time, it’s been my go-to tool for quick audio edits. Need to trim a podcast? Normalize a voice recording? Remove background noise? Audacity handles it effortlessly. But every time I’ve tried to use it for something bigger, an audiobook, a documentary, or a music project, I’ve hit a wall.
During a demo for our AI agent, a sales colleague once asked, ‘How does it process refunds? Does it click through the website like a human?’ I grinned and said, ‘Nope, it just calls the refund API.’ Cue the blank stares.
At my old job, I built subscription management pages. The kind that should let customers cancel with a few clicks. We were a customer service automation company. Most clients understood this basic courtesy. One did not.
The web development landscape is filled with frameworks, no-code platforms, and AI tools promising to abstract away the "old-school" work of writing HTML and CSS. Yet, despite these advancements, the web’s foundation remains unchanged: HTML structures content, and CSS styles it. Here’s why mastering these core technologies is not just relevant, it’s essential for building a future-proof skillset.
After months of planning, development, and testing, FamFlix is finally live. Families are uploading their precious memories, streaming home videos, and creating new traditions. But as any seasoned developer knows - launch day isn't the finish line, it's the starting gate.
When I launch personal projects, my usual approach is to walk away. If someone finds it and uses it, great. If not, no harm done. With shotsrv, my URL screenshot tool, I only learned about problems when frustrated users went out of their way to email me - which meant dozens had likely encountered the same issue before one bothered to report it.
The majority of the traffic on the web is from bots. For the most part, these bots are used to discover new content. These are RSS Feed readers, search engines crawling your content, or nowadays AI bots crawling content to power LLMs. But then there are the malicious bots. These are from spammers, content scrapers or hackers. At my old employer, a bot discovered a wordpress vulnerability and inserted a malicious script into our server. It then turned the machine into a botnet used for DDOS. One of my first websites was yanked off of Google search entirely due to bots generating spam. At some point, I had to find a way to protect myself from these bots. That's when I started using zip bombs.