• The REPL: Issue 2

    The Little Mocker

    Uncle Bob writes about mocks, stubs, doubles, spies, etc. He explains the differences between them, how and when to use them. The examples are in Java, but are easily followed even with vague familiarity with the languge.

    Back To Basics: Regular Expressions

    The fellows at thoughbot give a great primer on regular expressions in ruby. The examples are easy to follow and yet manage to explain a lot of more advanced concepts like capture groups, expression modifiers and lookarounds.

    Goto Fail, Heartbleed, and Unit Testing Culture

    Back when Apple’s Goto Fail bug was news, my reaction to this was: How did the introduction of this bug pass the tests. At the time I thought about writing a test suite around it and running it with and without the duplicated line that causes the bug to demonstrate how test catch regression mistakes. I never got around to it, mainly because of my lack of familiarity with the language. Martin Fowler has written a lengthy and thoughtful post that expressess the feeling much better than I would have. It gives the same treatment to the [Heartbleed Bug] and explains why testing is so important in softare development.

    I am lucky to work mainly in ruby, a community that is very test-oriented, even after the recent hoopla.

    Read on →

  • Unicorn vs. Puma: Round 3

    MRI Ruby has gotten a lot faster since I ran my last benchmark, so it’s time for an update.

    Read on →

  • The Illusion Of Security

    I recently refinanced my car loan with a local credit union. The refinance process is pretty easy and mostly handled over the phone, until it’s time to sign the paperwork, for which they requested an email address. A few minutes later I get an email from the credit union in which I am notified that I have a secure email waiting at the other side of a link. Upon clicking, you visit a Barracuda Network site, in which I a need an email and password to access. As I have not established a password in the past, I just need to type a new one and confirm it in another box. Easy.

    Read on →

  • Killing Me Softly

    Every once in a while, a process is stuck and doesn’t want to respond. I usually just found the process id by using ps and then ran kill -9 <pid>. Why? Cargo-culting, mostly.

    Read on →

  • Use Multiple Ruby Engines In The Same Project

    One of the biggest pains of using jruby is the slow startup time.

    Read on →