Technology

  • Why I Advocate “Anti-Patterns”

    ·

    When I ask developers, “why’d you use a Singleton here,” more often than not they reference a tutorial, another developer, or “that’s how I’ve always done it.” No one ever takes the time to learn about the patterns (or anti-patterns) they’re using so they can make informed decisions about software design.

    Read More

  • Singleton: Alternative to the Anti-Pattern

    ·

    There are valid reasons for using a Singleton in your design – these reasons, however, are rare enough that many developers can avoid them entirely and still have a full career. If you find yourself using Singletons often, you’re doing something wrong.

    Read More

  • Vagrant and Windows

    ·

    I often brag about the fact that I’ve dumped heavy tools like XAMPP in favor of Vagrant. I’m quite proud of this accomplishment, and I urge every other developer I meet to look into Vagrant.

    Read More

  • Democratizing SSL Certificates

    ·

    I have an easier time trusting individuals and corporations I personally know than large companies with whom my only relationship is as a certificate vendor. I’m also a huge proponent of democratizing both publishing on the Internet and the Internet itself.

    Read More

  • Proper Code Styling

    ·

    I look at a lot of code. In my job, recreationally on weekends. Everywhere I see people using a specific coding style and, upon pushback, defend it in the sake of brevity. I’m talking about braceless one-line conditionals.

    Read More

  • DVCS is Broken

    ·

    While Git (and Mercurial) is a lifesaver when it comes to easily branching, tagging, and resolving merge conflicts, Subversion (and TFS and the like) is superior when it comes to sub-project management.

    Read More

  • Understanding Parallel Processing

    ·

    When I explain to people that I enjoy writing code in C# more than PHP, they scratch their collective heads and, with a quizzical look, always respond, “why?” My biggest reason: I really enjoy working with parallel processing.

    Read More