Welcome to Surprise Driven Development (SDD) — the revolutionary methodology where uncertainty isn't a bug, it's a feature. Why plan when you can panic? Why document when you can discover? Join me as we explore the chaotic art of building software where every deployment is Christmas morning and every bug is a delightful present from your past self.
28 posts tagged with "development"
Articles tagged with development
The Neurodivergent Developer's Guide to Thriving in Agile Ceremonies
Agile ceremonies can feel like navigating a social minefield when you're neurodivergent. The constant context switching, sensory overload, and unstructured discussions that energize neurotypical teammates might drain your focus and leave you feeling disconnected from the process.
But here's what I've learned from years of facilitating scrum events and working with brilliant neurodivergent developers: your brain isn't broken, and Agile ceremonies aren't fundamentally incompatible with how you think. You just need the right playbook.
Walking Back with Git: HEAD^ vs HEAD~ Demystified
Ever stared at a Git command with HEAD^
or HEAD~
and wondered if you're about to accidentally nuke your commit history? You're not alone. These two syntaxes look suspiciously similar but behave differently when your repository gets complex. Here's the playbook I'd run to understand when to use which one.
Git Diff Deep Dive: Choosing the Right Algorithm for Your Workflow
Have you ever stared at a Git diff that looks like it was generated by a cat walking across your keyboard? You're not alone. While Git's default diff algorithm works well enough most days, there are times when it produces cryptic, unusable output that leaves you scratching your head.
Git Notes & Trailers: The Hidden Features You Should Be Using
I stumbled across Git Notes during a late-night debugging session last week, and honestly, I'm slightly annoyed that I hadn't been using this feature for years. If you've ever wanted to attach persistent metadata to commits without changing commit hashes (and who hasn't?), this hidden gem deserves your attention. And while we're exploring Git's underappreciated features, let's also look at Git trailers - another powerful tool for managing metadata in your repositories.
Git Merge vs Git Rebase: Understanding the Perfect Integration Strategy
Version control with Git offers developers multiple ways to integrate changes across branches, with merge and rebase standing as the two primary approaches. While both accomplish the same fundamental goal—incorporating changes from one branch into another—they do so through fundamentally different mechanisms, resulting in distinct commit histories and team workflows. Understanding when to use each strategy can significantly impact your project's history clarity, team collaboration, and conflict resolution process. In this deep dive, we'll explore how each option works under the hood, examine real-world usage patterns, and provide clear guidelines for choosing the right approach for your specific situation.
MFA on the Command Line with PowerShell
Ever find yourself juggling endless passwords, worried about whether they’re secure enough? You’re not alone. In today’s digital landscape, protecting sensitive accounts and data goes beyond just a clever passphrase. Enter multi-factor authentication (MFA)—an effective layer of defense that ensures a random intruder can’t waltz in with stolen credentials.
Time-Based One-Time Password (TOTP) systems are a powerful way to implement MFA, producing short-lived codes that are invalid mere seconds later. If you’ve ever used an authenticator app on your phone, you’ve already seen TOTP at work. However, building your own TOTP generator can offer greater flexibility for custom workflows, automation, and even just tinkering to learn something new.
In this tutorial, we’ll walk through a PowerShell script that securely stores your TOTP secret keys in the Windows Registry, then generates fresh codes whenever you need them. By the end, you’ll have a handy, easily integrable tool that keeps your secrets encrypted and your one-time passwords safe and ready on demand. Let’s jump in!
How to contribute to open source software projects
Open-source software is everywhere. Most of the software you use daily is open-source or built on top of open-source components. Contributing to open-source software is a great way to learn new skills and gain experience. It can also be an opportunity to help others, as many people worldwide often use open-source projects. It might seem intimidating initially, but it doesn't need to be.
Loading Visual Studio environment in your default PowerShell profile
As a developer, you may want to load the Visual Studio environment in your default PowerShell profile. This is useful for debugging and developing.
Becoming an effective open source maintainer
Developing code is not easy. It is a challenge, but it is also a fun thing to do. Maintaining a project, however, is not easy either. It requires a very different skillset and time investment. When I became a maintainer of Selectize, I was able to learn a lot about the project and how to improve it, and I was able to learn so much about how to interact with the community.
Display all environment variables with powershell
When configuring a development environment, you can use the PowerShell command to display all environment variables. This can be useful for gathering information about the environment, or for debugging.
Git Tip of the day -- Remove accidentally added files
We've all been there. You're working late, feeling productive, and you run git add .
without thinking. Then you realize you just committed your .env
file with production API keys, or that embarrassing debug log with customer data, or your personal notes with colorful commentary about the codebase.
The good news? This is fixable. The bad news? Simply deleting the file and making a new commit doesn't solve the problem. That sensitive data is still sitting in your Git history, waiting for someone with git log
and too much curiosity.
Here's how to actually remove files from Git history, when to use different approaches, and how to avoid this mess in the future.
Find What App is Hogging Your Port: A Developer's Detective Guide
You're trying to spin up your development server, and boom: "Port 3000 is already in use." Sound familiar? This scenario plays out daily in development environments worldwide. Sometimes it's obvious (your React app is still running from yesterday), but often it's a mystery process lurking in the background.
Instead of rebooting your machine or randomly killing processes, let's solve this systematically using the right tools for the job.
Punctuate your alt text.
It's the tiny details that show you care
Although it isn't technically required for compliance, it's a great idea to ensure your visitors that rely on alternate descriptions have a good experience.
The benefits of being a mentor
Nobody reaches their full potential alone; which is why having a career mentor is so incredibly important. Today, I'm going to talk about the other side and reveal how rewarding it can be to share your experience with future generations.
Amplify unheard voices in the open-source community
Organizations that leverage social media to amplify their voices may find that they missed a crucial step. Often, people will not speak up, if we don't let them. Let's discuss how we can be sure to include diverse points of view.