47 posts
2012
- 2003 895
- 2004 604
- 2005 402
- 2006 289
- 2007 190
- 2008 143
- 2009 109
- 2010 58
- 2011 44
- 2012 47
- 2013 43
- 2014 6
- 2015 2
- 2016 2
- 2017 2
- 2018 0
- 2019 6
- 2020 7
- 2021 1
- 2022 0
- 2023 1
2,851 posts, 2003–2023. Each bar is one year; pick a year to see its posts.
-
New Book: Notes to a software team leader
I've started to write my upcoming book titled " Notes to a software team leader " (hat tip to Kevlin Henney for the name idea). The book will combine many of the subjects my 5whys blog addresses, plus notes collected…
-
Looking for full time work in Norway
It’s decided. I want to live with my family in norway (unless some magical opportunity comes my way from Sweden!) for a few years and see what happens. It seems like a big place of opportunity and learning, and here in…
-
NEW: Ruby podcast in hebrew
A few of the members of the ruby underground in israel have started a ruby related podcast in the hebrew language. It’s pretty awesome - go have a listen to the first show about quality software .
-
The Zen of python should be the zen of good unit testing
I’ve come across the “ zen of python ”. A list of siple rules for style and thought. Overall, I’ve heard that python folks like to be more explicit, and I always felt it’s a good idea. but when I came across the full…
-
Hire me for a day or two in Oslo, in June
During the week of NDC, I will be spending some of my time doing absolutely nothing but look at apartments (we’re planning to move to Norway in august, given all works out and I find a good place to work). If anyone…
-
Annual Poll: Which Isolation framework do you use if any?
Please answer the following:
-
[Video] Vimming - Hello World with vim
My first foray into trying to teach vim related stuff. hope you like it. Play video vimming - Hello World with vim
-
[Video] Vimming - All about change
here’s my second attempt Play video vimming - All About Change
-
[Video] Vimming - Natural Selection in Visual Mode
My third vimdeo Play video Vimming - Natural Selection
-
What does the 'unit' in 'unit test' mean?
I used to think it was a method. Then I thought it coule be several methods. then I thought it might be several classes. then I realized it changes all the time. It means “unit of work”. A unit of work is a use case in…
-
Test Naming Conventions With Unit of Work
When I name my tests I use the name of the “ unit of work ” as the first part. If the unit of work is bigger than a method, I usually name the test with the name of the initial public method that starts the unit of…
-
Zen of python revisited with code samples
I really like reading this code . I will look deeper into it this week. Many of the “zen” ideas here speak to me on the unit test level.
-
Test Driven Validation Logic with Extract & Override
In the NerdDinner project, there’s this amazing test (see the bottom, second one). There are so many things wrong here: What is exactly correct about these properties? Many magic values Multiple tests in a single test…
-
File System Wrappers for Unit Testing in C#
I’ve asked this on twitter, and here’s what I got: System.IO.Abstractions (looks pretty deep) SystemWrapper (I’m not crazy about the file system being used as a mock API) Something older I’d take a look at the first on…
-
Free for private leadership and TDD training June and July
With all the work going on with our move to norway this august, I managed to not book anything for end of june, and all through july. If anyone wants me to come over and bring some TDD sense , or leadership techniques…
-
The courses I'll be teaching while living in scandinavia
If you answer this poll, I’ll get a better chance of knowing which courses i should do and which I shouldn’t waste my time on. Help me figure this out. And feel free to suggest courses you’d like to see me teach!
-
[Cool Tool] Chocolatey for windows is what you will not live without in two years
OK, the name isn’t amazing, but having lived in linux land for a while now, and on mac too, the one thing I miss in windows is a no-hassle, dialog-free installation experience, that I can just do using a command line.…
-
Upcoming 1-day courses in Sweden
I’ve joined with Foo-Cafe in Sweden (the same folks who brought you oredev until a couple of years ago) here are a few one day courses I’ll be doing there, which are open to the public: Stockholm, October 19, 2012 -…
-
Video: (part 1) Building a Go Game Engine with TDD and Pair Programming
I’ve put the whole list of continually updating videos on this Go game over here , so you can watch them form the beginning. A few days ago, a guy named Raymond Lim sent me an email with some questions about how to do…
-
HOW TO: Find the temp videos screenflow makes when uploading to vimeo and youtube
I was finishing up a screenflow recording and immediately pressed the “upload to youtube” button. then I realized that the auto-saved video file will have to be re-generated if I ever wanted to upload it to another…
-
FakeItEasy or NSubstitute? Which should I use for samples in art of unit testing 2nd edition?
In my upcoming 2nd edition of art of unit testing , I’ve decided not to use RhinoMocks (too old and stuck in the past), or Moq (although widely used, I think it represents the past, not the future) for examples of an…
-
Video: (part 2a) Building a Go Game Engine with TDD and Pair Programming
I’ve put the whole list of continually updating videos on this Go game over here , so you can watch them form the beginning. There is still much to do, but this is starting to get fun! In this 30 minutes video, Raymond…
-
The future of Isolation frameworks, and how Moq isn't it (for now)
In a past post I hinted that I think Moq is not a part of the future of isolation frameworks. Here’s where I get to explain why. To be clear, it is a really valuable, widely used framework, and it helped change the…
-
Video: Part 2b : TDD and Pairing on a go engine with Raymond Lim
Here’s the 2nd part of three total, of my second session with Raymond going through building a Go game engine from scratch. I’ve put the whole list of continually updating videos on this Go game over here , so you can…
-
Video: (part 2c) Building a Go Game Engine with TDD and Pair Programming
In this final part, Raymond and I finish a big refactoring. First, we fail. then we back up and start moving slowly again.Finally, we succeed. Our tests save our asses in the process. Play video TDD and Pairing Session…
-
Video: (part 3) Building a Go Game Engine with TDD and Pair Programming
Another good hour of pairing with Raymond Lim yesterday. This time we continue by adding more sub-features to the “GetWinner” feature, and discover a bug in the process. As usual, you can find all the videos of our…
-
Refactoring Dillema Video: (part 4) Building a Go Game Engine with TDD and Pair Programming
In this video ( the rest are here ) we focus on refactoring, and we try out the strategy pattern. We end up not being sure how well it worked out for the future, but we’ll see how things unfold in the next parts. We…
-
Video: (part 5 - A Test DSL) Go Game Engine with TDD and Pair Programming
In this session we start writing some tests that don’t fail first, and we don’t understand why. So we take some time to make a testing DSL, so that our tests will be more readable, and also easier to write. We also…
-
Video: (part 6 - Total n00b mistakes) Go Game Engine with TDD and Pair Programming
If you calculate by hours, this might be called “the first session of the 2nd day” of Raymond and me working together. This was by far the most frustrating one of the 6 we’ve had so far. all the other sessions are here…
-
Faking static methods in Moq, FakeItEasy and NSubstitute might be closer than imagined
Update : the version that works with .net 4.0 is here (link to InjecttionExample3.zip in that page). the examples from the link below work in .net 3.5 and under. While I was doing my TDD course at Soluto this week, One…
-
Video: (part 7 - The bug that wouldn't die) Go Game Engine with TDD and Pair Programming
In our continuing series of TDD pairing videos , Raymond and I meet again to continue where we left off. Where we left off was not a good place - we had bugs in the logic of our test code that we hunted down in the last…
-
Video: (part 8 - The big Refactoring) TDD Pairing a Go Game Engine
In this video (all the sessions are here ), Raymond and I do a refactoring of the code, to something we like much more. We end up with code we can be more proud of, and the comtinued feedback of the tests helps us do…
-
Book me for consulting,courses in Norway and scandinavia - I live here now
Hi Folks. My move to Norway is now almost complete (should be getting my id number mid September.) Bærum Kummune, I am in you. Yeah. And I have the norwegian keyboard to prøve it. Now that I’m here I plan to do a lot…
-
A view of the books in my bouvet office
Here’s a short video I took reviewing the old and new books in my bouvet shared office. Its interesting to look at, just like watching the rings on a cut down tree. You can tell what things the team is interested in (or…
-
Update on foocafe courses in sweden (tdd and elastic leadership)
My links were wrong. here are the links for the sweden courses Stockholm, October 19, 2012 - Advanced TDD Subjects in .NET Malmo, October 15, 2012 - Advanced TDD Subjects in .NET Stockholm, November 2. 2012 - Essential…
-
Video: Discussing Evolutionary Value Delivery with Tom Gilb
During JavaZone yesterday in Oslo, I got to meet with Tom Gilb and his son - Kai. I don’t know much about what they teach relating to Evolutionary Value Delivery (EVO for short) so i was intrigued to find out more. Tom…
-
protip: How to have a very good panel debate at your conference
I was part of this panel about “making the programming pain stop” along with Kevlin Henney and others. It was such fun! One of the things that helped it succeed was the fact that Johannes (the panel moderator) asked the…
-
Readable, Maintainable, Trustworthy Unit Tests in Java
While in JavaZone, I adapted my talk about good unit tests to Java. Here you go
-
Polite Code, News Articles, And Pulling Out Early
Christine Gorman gave a talk about getting rid of unneeded complexity in code, but removing ideas many of us (me too) find make it more readable. I couldn’t explain why I disagreed with her, except that I like the…
-
The Three Values of a Good Isolation Framework
I’m working on the 2nd edition of “ The Art of Unit Testing ” and this is one of the topics I plan to cover. A good isolation framework(mocking framework… but that is a horrible name for it. the word mock is overloaded…
-
Build Bullet #1 - Use Version Aware Build Scripts
I am thinking of writing a small booklet about better builds . this blog post might end up as a part of it . Let me know if you’re interested by taking a look here. While I do love to use Continuous Integration Servers…
-
Build Bullets #2–Avoid XML Facing Build Tools
Having your build scripts in XML is one of the worst things you can do for maintainability and readability. Treat your build scripts like you treat your source code (or, how developers should treat their source code) –…
-
Build Bullet #3– Start Products with an Empty Build and Deploy Pipeline
Builds can be nasty beasts when It’s finally time to organize and do them. There are so many things you did not think about, that it can take days or weeks to come up with a build for an existing system. To avoid the…
-
Build Bullet #4: Rolling Builds and the Plane of Confidence
When I check in code I have been working on, I feel: 1. I want to wait for the build result 2. I don’t want to waste time waiting for the build results, doing nothing 3. But I fear doing something in the code until I’m…
-
Build Bullet #5– How to make your builds FAST using DRY and SRP Principles
(this will become part of my upcoming booklet on beautiful builds ) One of the things that kept frustrating me when I was working on various types of build configurations in our CI server, was that each build in a…
-
When they tell me I have to use MSBuild to automate our CI Process
When they tell me I have to use MSBuild to automate our CI Process When I see a terminal keyboard junkie doing their thing When we are starting a brand new green field project When they approve the budget for…
-
Build Patterns: Script Injection
I am slowly realizing that perhaps my concepts for the build book could be better serving as reusable patterns for creating builds, solving specific problems. This is a test to see how well this idea holds up in…