Mocking is evil. At the very notion of that, all the citizens of Nounlandia, are screaming for my blood, shouting ‘Heresy! Heresy!’. I think I can hear the sound of sharpening stones on pitchfork tines even as I write this. Mocking is fundamentally evil. It encourages you to write bad, poorly factored code, not-very-functional code. It encourages you to avoid standing up as much of your system as possible during integration testing. Finally, all too often at the end of all that mocking all you end up with are some really well tested Mocks nested N! levels. In other words, mocking produces a bunch of useless code that costs money and time to maintain.
This article is an update and refinement of my ‘Team Development with Git’ of last year. It changes the model to take into account the strengths and weaknesses of Github’s PR process.
I have given a lot of talks over the last ten years or so some good and some bad. There are three talks that specifically stand out in my mind and bad talks from the last few years. The first was an introductory talk that we call ‘Essentials’ that I gave at StrangeLoop in 2011, the second was the same Essentials talk that I gave at the Indianapolis Java Users group last year. The third and final talk and the one that got me thinking about this topic was a talk on release handling in A Coruña Spain last week. Each of these talks was bad, far below what I consider an acceptable level. The reason these three stand out is that they were all bad for the same reason and that reason was over-confidence.
The Dialyzer is a static analysis tool that identifies software discrepancies using a Hindley-Milner style system called Success Typing. It brings some of the benefits of Haskell or Ocaml style type checking to Erlang. If you are not using it as part of the automated build for your system you should be.
Every year Martin Logan, Jordan Wilberding and I put on a conference called ErlangCamp. We have done it for three years so far; Chicago in 2010, Boston in 2011 and now A Coruña, Spain People come from all over the world to spend two days talking about engineering highly resilient systems with Erlang and OTP. They spend time with some of the most prominent engineers in the Erlang world, and they learn a lot in a short amount of time. However, it isn’t a conference in the normal sense. At ErlangCamp we have one goal and one goal only; that is to get people over the hump of learning OTP and how to build big, reliable systems in just two days. It’s much more of an intense two-day workshop or training class then it is a normal conference. Its tough to keep up, but you learn a ton. Best of all its a very good value at just around $100.