nerdy + lanky

Ben Brinckerhoff

I'm Ben Brinckerhoff.

email
Twitter
del.icio.us
GitHub
LinkedIn

Kiva - loans that change lives

Just saw Inception again. I can confirm that Tom Hardy is still the man. If in doubt, see Inception + Bronson.

Comments

LOL: An intelligent designer might have stopped at systematic infection. Not evolution, though. Evolution goes up to 11 http://bit.ly/algGQ9

Comments
Man, we’re really, really small (via farm5.static.flickr.com).

Man, we’re really, really small (via farm5.static.flickr.com).

Comments

Writing middleware to detect test dependencies in Tack http://bbrinck.com/post/850090134/test-dependency-detection-in-tack

Comments

Test dependency detection in Tack

Tack is a Ruby interface gem I’ve been working on. It’s like Rack for testing: it provides a single API for querying and running tests, regardless of what framework you write your tests in (well, as long as you use one of the supported frameworks - currently RSpec, Test::Unit, and Shoulda).

Also, like Rack, it supports middleware. Tack middleware is just any object that implements two methods: ‘run_suite’ and ‘run_test’. Here’s some example middleware that conforms to the spec (although it doesn’t actually do anything useful in this case).

Using the middleware API, I was able to quickly write some features that help with a common problem: test dependency detection.

As everyone knows, test dependencies are a bad thing. If running one test can affect the results of another test, then you can have strange and difficult-to-diagnose test failures if you move, delete or change tests (or even just run them in a different order).

Let’s say that you have a test suite that you suspect contains a test dependency. One simple way to potentially detect it is to run the tests in reverse. Here’s some middleware that does just that:

Well, that was easy. Another strategy would be to run the tests in a random order and see if they still pass or fail as expected. That’s almost as simple:

Or let’s say you’ve got a failing test and you suspect that one test is polluting your Ruby object space somehow (say, monkey-patching a common class in a way that breaks another test). Solution: use #fork to run each test in a separate process (thanks goes to Ryan Tomayko for his awesome Shotgun gem, from which I took the forking code):

Of course, because these features are written as Tack middlewares, these features just work with test suites written in any of the supported test frameworks.

Comments

Experiments in shaving http://bit.ly/cLZWGO

Comments

Experiments in shaving

TL;DR: If you suffer from razor burn/bumps, try to shave without ever stretching your skin taut. This might mean you need to shave over the same area repeatedly to get a close shave, but it’ll still be a win. YMMV.

Shaving has always been a struggle for me because I have sensitive skin and I’ve always been prone to irritation.

For years, I shaved in the shower with a Mach 3. I had a fair amount of irritation, especially along my neckline, but never thought I could do much about it.

A few years ago, I switched to a Merkur safety razor after reading encouraging testimonials online. The irritation on my neck disappeared, but unfortunately, it was replaced by irritation on my chin, under my chin, and at the corners of my mouth.

For reasons I haven’t pinned down (or maybe just a bad memory), the irritation has seemed to get worse since I moved to Colorado. I frequently started getting razor bumps (even grosser than razor burn) on my chin.

Eventually I got fed up and just started using a beard trimmer, but quickly realized that having several days of scruff wasn’t going to cut it at formal events like weddings, graduations, etc. Also, if you know me, you know that I have the worst, most uneven beard ever. Needless to say, my girlfriend wasn’t a fan of the patchy perma-beard.

So a few months ago, I started a set of experiments to see if I could eliminate the irritation. I decided to include several variables in my experiments:

Some results:

  • The Mach 3 still gives me extreme irritation on my neck
  • The electric razor missed lots of hairs, requiring a lot of shaving time, and in turn causes light irritation on my chin and nick. I also had more ingrown hairs
  • Shaving in the shower vs after a shower didn’t have an effect (but I had a harder time missing parts of my face in shower)
  • Shaving creams didn’t affect irritation

After a lot of frustration, I finally stumbled upon the key factor. I had thought for years that the cause of irritation was shaving over the same area too many times. However, I recently read that razor bumps are caused when the hair is cut slightly below the skin, which happens when you shave on stretched out skin (i.e. when you contort your face to get your skin taut). The trick for me was to just purse my lips and then to go over the same area over and over with small, short strokes.

Here is the recipe that’s working for me. I’m sure that not all the steps are necessary (I bet I could swap out shaving creams without ill effect), but now that I’ve finally found something that works, I’m not inclined to change it.

  1. Leave a ceramic bowl submerged in hot water in a sink. Leave a shaving brush in the hot water as well.
  2. Shower
  3. Empty the bowl of water. Use the brush to mix a lather using Proraso shaving cream. Apply lather to face. Set the bowl back in the hot water to keep lather warm (making sure that no water gets into bowl)
  4. Using the safety razor, shave your face using small, light strokes. On any area that gets irritated (in my case, my chin), do NOT stretch the skin. Instead, go over the area several times with short, light strokes. Only shave with the grain, never against. Don’t worry if you don’t get a super close shave this first pass.
  5. Rinse your face with hot water
  6. Apply another coat of later. Shave face again, again with short strokes.
  7. Rinse with hot water
  8. Once lather is all gone, rinse face with cold water
  9. Apply Proraso aftershave
  10. Let face air-dry. Don’t dry with a towel.

Of course, YMMV. Good luck!

Comments

& Google sending me a text to a number I provide isn’t secure. If attacker had my old pass, they could just provide their num & unlok acct

Comments

RT @danmayer, @techstars congrats to @TechStars 2008 company @occipital on their inc magazie 30 under 30 selection. http://bit.ly/bpo77m

Comments

Um, my gmail account was disabled? Not cool, Google, not cool!

Comments