# Roy Osherove > Roy Osherove's personal site: 20+ years of blog posts on unit testing, TDD, software craftsmanship, team leadership and continuous delivery, plus his training and consulting. Roy Osherove is the author of The Art of Unit Testing and Elastic Leadership. This site has his blog (about 2,900 posts since 2003, newest first), videos, TDD katas such as the String Calculator kata, and his training and consulting offers. Posts from before 2015 are historical and kept as written. Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/ About the author: Roy Osherove — Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery. More: https://osherove.com/about-roy.md (sites, social links, contact). Every page listed below is plain Markdown (YAML front matter: title, canonical URL, dates, tags, author, license). The full text of every post is in https://osherove.com/llms-full.txt. Only the 150 most recent of 2879 posts are listed; every post has a .md version and is in llms-full.txt. ## Pages - [Home: Roy Osherove](https://osherove.com/index.md): Site overview: every page and post with a short description and its Markdown link. - [TDD Kata 1 - String Calculator](https://osherove.com/tdd-kata-1.md): String Calculator The following is a TDD Kata- an exercise in coding, refactoring and test-first, that you should apply daily for at least 15 minutes . You - [Training](https://osherove.com/trainingoptions.md): Public & Private Training: (Due to #COVID19 - all training can be scheduled to be done ONLINE with Zoom webinars) Contact for course info or scheduling - [Tools](https://osherove.com/tools.md): Here is a non comprehensive list of tools I made and how to download them: NOTE: you can get the source code and contribute to most of these over here Regu - [Enterprise DevOps Training](https://osherove.com/enterprise-devops-training.md): You can find this course plus the full list of training options by Roy at this link. (Previously called “Enterprise DevOps”) DevOps is the implementation o - [TDD Kata 2 - Interactions](https://osherove.com/tdd-kata-2.md): Videos of people doing the kata The kata in C++ and Igloo The kata in C# and Moq Before you start If you have an online video of you performing this kata o - [TDD Kata 3 - Refactoring](https://osherove.com/tdd-kata-3.md): Create a Password verifications class or function for the purposes of password verification. Verification will fail if any one of the rules mentioned does - [TDD Training](https://osherove.com/tdd-training.md): This Course Listing has been moved to this page. - [One Day Zero to Expert Unit Testing in .NET](https://osherove.com/one-day-zero-to-expert-unit-te.md): This Course Listing has been moved to this page. - [Team Leadership Training](https://osherove.com/leadership-course.md): This Course Listing has been moved to this page. - [Train The Trainer](https://osherove.com/train-the-trainer.md): Want to be personally licensed by me to teach my TDD and Elastic Leadership Courses? This course is for you. In this course I teach prospective trainers of - [Class Setup](https://osherove.com/class-setup.md): This Course Listing has been moved to this page. - [Terms and Conditions - Courses](https://osherove.com/terms.md): These apply to all course related transactions and ordering, unless specifically overridden by email from me with the customer. Travel I usually ask my cli - [Contact](https://osherove.com/contact.md): Contact Roy Osherove about training, consulting, the TDD katas or his books. - [Recommended Books](https://osherove.com/recommended-books.md): The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity by Alan Cooper Click to View on Amazon Implementing - [TDD Kata 0](https://osherove.com/tdd-kata-0.md): Decide that you will give this a serious try. At least 10 times. - [TDD Kata 4](https://osherove.com/tdd-kata-4.md): page - [TDD Kata 5](https://osherove.com/tdd-kata-5.md): page - [Tdd Kata 6](https://osherove.com/tdd-kata-6.md): I didn’t try them all. I have no idea how useful they are. - [Tdd Kata 7](https://osherove.com/tdd-kata-7.md): page - [Tdd Kata 8](https://osherove.com/tdd-kata-8.md): I guess I’m bored too. - [Tdd Kata 9](https://osherove.com/tdd-kata-9.md): It’s always fun for me to see people try the first kata . Especially when they try to “trick” it. Because they only trick themselves out of learning a usef - [Tdd Kata 10](https://osherove.com/tdd-kata-10.md): page - [Tdd Kata 11](https://osherove.com/tdd-kata-11.md): page - [Tdd Kata 17](https://osherove.com/tdd-kata-17.md): page - [Tdd Kata 18](https://osherove.com/tdd-kata-18.md): Do you find this at all useful? - [Tdd Kata 19](https://osherove.com/tdd-kata-19.md): Oh well. You’ll back me up right? seeing as how you’ve not spent 10 HOURS trying to find secret pages on my site? - [KataNew](https://osherove.com/katanew.md): page - [String Calculator](https://osherove.com/string-calculator.md): Intro The following is a TDD Kata- an exercise in coding, refactoring and test-first, that you should apply daily for at least 15 minutes . You can downloa ## Unit Testing - [What's new and Changed in the Art of Unit Testing 2nd Edition](https://osherove.com/blog/2014/10/25/whats-new-and-changed-in-the-art-of-unit-testing-2nd-edition.md): I still get called out for some things I wrote in the first edition published in 2009. Some people might not be aware there is a 2nd edition out there, or are borrowing old copies. Lots has changed in my thinking about… - [Should you write unit tests or integration tests?](https://osherove.com/blog/2014/7/11/should-you-write-unit-tests-or-integration-tests.md): I got this question in the mail. I thought it was quite valid for many other people: Question: Trying to promote unit tests in a new work place: the “search” action from the UI goes through IOC container which calls a… - [Video - Refactoring and Design Skills for Test Driven Development](https://osherove.com/blog/2013/10/14/video-refactoring-and-design-skills-for-test-driven-developm.md): Last week I presented a keynote and a talk at the London Software Architect conference. Here is the video I recorded from my laptop during my talk about refactoring. I hope you find it useful. Play video Refactoring and… - [Ugly Code Means Your Product Used to be Successful](https://osherove.com/blog/2013/6/4/ugly-code-means-your-product-used-to-be-successful.md): I have now worked at a bunch of companies, and consulted for quite a few. I have looked at some pretty horrible code. Every company I visit with say the same thing: “Yeah, but our code really sucks. “ It does not suck… - [April 18: Refactoring and Design Skills for Test Driven Development Workshop](https://osherove.com/blog/2013/4/11/april-18-refactoring-and-design-skills-for-test-driven-devel.md): When? April 18-19 Where? Oslo How much? 11,900 NOK How to register? Send me an email. The Problem You have been trying to learn TDD, and it’s going pretty well, but your code looks horrible. Your design skills are… - [Acceptance Frameworks Vs. Specification APis](https://osherove.com/blog/2013/3/29/acceptance-frameworks-vs-specification-apis.md): I see two forms of ‘BDD’ tools floating in the wild. The first form, let`s call it ‘deep BDD’ for now, requires you to go through a special langauge filter, before translating it with special adapters into executable… - [Using System.Transactions.TransactionScope to Rollback Database changes under an integration test](https://osherove.com/blog/2013/3/28/using-systemtransactionstransactionscope-to-rollback-databas.md): It has been several years since I came up with the idea of database rolled back tests based on com+ transactions, which later became ServicedComponent tests, which later became TransactionScope aided tests. At some… - [Video: (part 8 - The big Refactoring) TDD Pairing a Go Game Engine](https://osherove.com/blog/2012/7/13/video-part-8-the-big-refactoring-tdd-pairing-a-go-game-engin.md): 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… - [Video: (part 7 - The bug that wouldn't die) Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/7/9/video-part-7-the-bug-that-wouldnt-die-go-game-engine-with-td.md): 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… - [Faking static methods in Moq, FakeItEasy and NSubstitute might be closer than imagined](https://osherove.com/blog/2012/7/8/faking-static-methods-in-moq-fakeiteasy-and-nsubstitute-migh.md): 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 6 - Total n00b mistakes) Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/7/5/video-part-6-total-n00b-mistakes-go-game-engine-with-tdd-and.md): 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… - [Video: (part 5 - A Test DSL) Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/7/2/video-part-5-a-test-dsl-go-game-engine-with-tdd-and-pair-pro.md): 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… - [Refactoring Dillema Video: (part 4) Building a Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/6/29/refactoring-dillema-video-part-4-building-a-go-game-engine-w.md): 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 3) Building a Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/6/28/video-part-3-building-a-go-game-engine-with-tdd-and-pair-pro.md): 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… - [Video: (part 2c) Building a Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/6/28/video-part-2c-building-a-go-game-engine-with-tdd-and-pair-pr.md): 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 2b : TDD and Pairing on a go engine with Raymond Lim](https://osherove.com/blog/2012/6/27/video-part-2b-tdd-and-pairing-on-a-go-engine-with-raymond-li.md): 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… - [The future of Isolation frameworks, and how Moq isn't it (for now)](https://osherove.com/blog/2012/6/27/the-future-of-isolation-frameworks-and-how-moq-isnt-it-for-n.md): 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 2a) Building a Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/6/26/video-part-2a-building-a-go-game-engine-with-tdd-and-pair-pr.md): 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… - [FakeItEasy or NSubstitute? Which should I use for samples in art of unit testing 2nd edition?](https://osherove.com/blog/2012/6/26/fakeiteasy-or-nsubstitute-which-should-i-use-for-samples-in.md): 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 1) Building a Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/6/25/video-part-1-building-a-go-game-engine-with-tdd-and-pair-pro.md): 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… - [File System Wrappers for Unit Testing in C#](https://osherove.com/blog/2012/5/16/file-system-wrappers-for-unit-testing-in-c.md): 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… - [Test Driven Validation Logic with Extract & Override](https://osherove.com/blog/2012/5/16/test-driven-validation-logic-with-extract-override.md): 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… - [Test Naming Conventions With Unit of Work](https://osherove.com/blog/2012/5/15/test-naming-conventions-with-unit-of-work.md): 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… - [What does the 'unit' in 'unit test' mean?](https://osherove.com/blog/2012/5/15/what-does-the-unit-in-unit-test-mean.md): 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… - [Free event and 5 day TDD masterclass in Copenhagen this month](https://osherove.com/blog/2011/10/6/free-event-and-5-day-tdd-masterclass-in-copenhagen-this-mont.md): Hi all. Two things to announce: TDD Master Class: If you’re in or near Copenhagen this month, and are interested in joining my 5 day TDD master class in .NET, you can learn more about it here . This is the only time… - [Why MSTest is the IE6 of unit test frameworks](https://osherove.com/blog/2011/8/24/why-mstest-is-the-ie6-of-unit-test-frameworks.md): Someone asked me by email a couple of weeks ago, whether I still think NUnit is better than MSTest. I had two weeks to think about this before having enough time to write this. keep in mind, I posted pretty much the… ## Build Bullet - [Beautiful Builds: Release Compilation Step](https://osherove.com/blog/2013/4/23/beautiful-builds-release-compilation-step.md): Imagine you could only compile once a week. Once every two weeks. Once a month. Scary? All that code that you write blindly, not knowing whether it even compiles. All those hidden errors lurking, accumulating in the… - [Build Pattern: Cumulative Build](https://osherove.com/blog/2013/2/7/build-pattern-adopt-artifacts.md): Note : This will become part of my book on beautiful builds . Any comments or feedback are more than welcome, as well as ideas of other common build patterns you see in the wild. Other Names: Distilled Build… - [Tests and Builds are Made to be Broken](https://osherove.com/blog/2013/1/20/tests-and-builds-are-made-to-be-broken.md): Many agile teams seem to be very focused on not breaking the build. I myself used to jokingly say that your team should have a “I Broke the Build” T-Shirt, to switch between team members. That was a mistake. I think… - [Build Pattern: Gated Commit](https://osherove.com/blog/2013/1/20/build-pattern-gated-commit.md): Other names: Pre-tested commit Gated Check-in Private Build Delayed Commit Symptoms: The build keeps breaking for trivial problems. Problem: Developers do not know what are the outcomes of committing their source code… - [Build Pattern: Extract Script](https://osherove.com/blog/2013/1/19/build-pattern-extract-script.md): This is a variation of Fill in the blanks and will become part of the Builds Book. Symptoms: You have multiple build scripts that contain parts that execute the same set of complicated actions, differing only by path… - [Build Pattern: Fill In the Blanks](https://osherove.com/blog/2013/1/19/build-pattern-fill-in-the-blanks.md): Other names: DRY Build Scripts (Don’t Repeat Yourself) Infrastructure agnostic scripts Parameterized Scripts Fill In the Blanks Symptoms: You find yourself having to change the script in many places, because a single… - [Build Pattern: Location Agnostic Script](https://osherove.com/blog/2013/1/19/build-pattern-location-agnostic-script.md): Symptoms: Running the build script on a machine where it was never run before requires extra pre-work to make the machine ready, such as mapping drives, creating a special build script folder etc. Problem: The build… - [Build Pattern: Shipping Skeleton](https://osherove.com/blog/2013/1/7/build-pattern-shipping-skeleton.md): 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. Pattern: Shipping Skeleton other names: “Hello World”,… - [Build Bullet #5– How to make your builds FAST using DRY and SRP Principles](https://osherove.com/blog/2012/12/6/build-bullet-5ndash-how-to-make-your-builds-fast-using-dry-a.md): (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… - [Build Bullet #4: Rolling Builds and the Plane of Confidence](https://osherove.com/blog/2012/11/27/build-bullet-4-rolling-builds-and-the-plane-of-confidence.md): 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 #3– Start Products with an Empty Build and Deploy Pipeline](https://osherove.com/blog/2012/11/18/build-bullet-3ndash-start-products-with-an-empty-build-and-d.md): 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 Bullets #2–Avoid XML Facing Build Tools](https://osherove.com/blog/2012/11/18/build-bullets-2ndashavoid-xml-facing-build-tools.md): 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 #1 - Use Version Aware Build Scripts](https://osherove.com/blog/2012/11/17/build-bullet-1-use-version-aware-build-scripts.md): 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… ## video - [Videos: Beautiful Builds, and a Second Look at Unit Testing](https://osherove.com/blog/2013/5/17/videos-beautiful-builds-and-a-second-look-at-unit-testing.md): While at the msswit conference in the Ukraine, I got to speak on two subjects with the following videos: Beautiful Builds: Maintainable, Coherent Build Processes A Second Look at Unit Testing : what I learned since the… - [TDD Master Class Online: Get Each Day Separately for $59](https://osherove.com/blog/2013/3/22/tdd-master-class-online-get-each-day-separately-for-59.md): Due to public demand, The full course is 99$. and as part of the big experiment I am doing, you can now have TWO ways to get my TDD master class online: You can get the whole master class thing in one big giant course ,… - [Can’t attend my five day TDD master class? Buy & Watch it online, recorded live.](https://osherove.com/blog/2013/3/17/canrsquot-attend-my-five-day-tdd-master-class-buy-amp-watch.md): Phew. This is going to be scary. I am making my full TDD master class in .NET available as a video series of over nine hours, recorded live in class . If you have ever wanted to attend my classes, but couldn’t : this is… - [Two Day Leadership Workshop–London April 11-12](https://osherove.com/blog/2013/2/6/two-day-leadership-workshopndashlondon-april-11-12.md): I would love to see you at my upcoming two day workshop in London . Place is limited to 20 participants. The workshop is for architects, team leaders, and managers . The point? Learn how to make the things you believe… - [\[Video\] Vimming - Natural Selection in Visual Mode](https://osherove.com/blog/2012/5/9/video-vimming-natural-selection-in-visual-mode.md): My third vimdeo Play video Vimming - Natural Selection - [Video: Team Leadership in the Age of Agile](https://osherove.com/blog/2011/7/8/video-team-leadership-in-the-age-of-agile.md): during QCon 2011 in London, I gave a talk about the new qualities that team leaders need to make agile succeed. It's a very small fraction of what I cover and coach during my upcoming course. See the full video here… - [Video: The 3 amigos at NDC2011](https://osherove.com/blog/2011/6/18/video-the-3-amigos-at-ndc2011.md): Embedded Flash media from the original post is no longer playable. recorded at NDC 2011 picturing Ruby on Rails development vs. ASP.NET MVC development ## course - [New Online Course: TDD and BDD in Ruby](https://osherove.com/blog/2013/9/15/new-online-course-tdd-and-bdd-in-ruby.md): If you are just coming into the Ruby community, you might think “man; everyone here does unit testing and TDD already”. But the truth is, that is very far from reality. Most people in Ruby seem to talk the talk, but… - [Coming to America (to do training)](https://osherove.com/blog/2013/6/6/coming-to-america-to-do-training.md): After a long standing bureaucratic battle with the US immigration authority , I finally have a visa to come to the US, and it expires DEC 2nd 2013 (in a few months… I know..) I would like to make the most of this… - [Osherove online TDD master class at 40% off for a few hours.](https://osherove.com/blog/2013/3/21/osherove-online-tdd-master-class-at-40-off-for-a-few-hours.md): FYI, for the next few hours, I am offering a 40% off my TDD online training course ($300 instead of $500). use coupon code ‘ readability’ on the course page. This is an experiment I am doing, and will be doing others,… - [March 7 : Refactoring Skills for Unit Testing and TDD Course](https://osherove.com/blog/2013/2/21/march-7-refactoring-skills-for-unit-testing-and-tdd-course.md): update: the course is running. we have 8 participants so far. yay! I usually do not focus about design in my TDD courses. I believe that separating the learning about the core skills of Unit Testing, TDD, and Design… - [Upcoming 1-day courses in Sweden](https://osherove.com/blog/2012/6/20/upcoming-1-day-courses-in-sweden.md): 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 -… ## .NET - [How Microsoft Israel Scares .NET Consultants Into Submission](https://osherove.com/blog/2011/11/27/how-microsoft-israel-scares-net-consultants-into-submission.md): If you are a consultant related to any Microsoft related technology in Israel, you might know the feeling - There's something you really want to tell your customers about a product that might be better than a current… - [TDD Master class - Videos Available For Purchase at TekPub](https://osherove.com/blog/2011/11/11/tdd-master-class-videos-available-for-purchase-at-tekpub.md): UPDATE: I have moved my tdd master class videos over to udemy.com . I’ve added many more and the class is now almost fully complete. In the past several months I’ve been taking background recordings of my classes with… - [Upcoming 3 and 5 day TDD classes](https://osherove.com/blog/2011/8/25/upcoming-3-and-5-day-tdd-classes.md): September in Stockholm (3 days) I'll be giving a 3 day version of my TDD masterclass in .NET, in Stockholm. You can register and find more details here. October in Copenhagen (5 days) This is the only 5 day TDD class I… - [The first Ruby on Rails course in Israel is open for registration](https://osherove.com/blog/2011/7/8/the-first-ruby-on-rails-course-in-israel-is-open-for-registr.md): if you've ever wanted to learn ruby on rails in Israel, but didn't know how to start on your own, I think you'd find this very interesting! (no, I am not teaching it. someone with much more experience than me is) Web… ## Cool Tools - [Tools And Frameworks for Unit Testing in .NET for 2013](https://osherove.com/blog/2013/3/16/tools-and-frameworks-for-unit-testing-in-net-and-java.md): in “ Art of Unit Testing 2nd Edition ” I am now at work on the tools and frameworks appendix. It currently includes the following sections: • Isolation frameworks Moq Rhino Mocks Typemock Isolator NMock ? NUnit.Mocks… - [Six Tools for managing multiple remote desktop sessions on windows and mac](https://osherove.com/blog/2013/2/22/tools-for-managing-multiple-remote-desktop-sessions-on-windo.md): I use both mac and windows at work, and I do a lot of remote desktop stuff as well. I asked on twitter “what tools would you recommend on windows to manage remote desktops?” here is the list I got: RemoteNG - oldie but… - [\[Cool Tool\] Chocolatey for windows is what you will not live without in two years](https://osherove.com/blog/2012/6/18/cool-tool-chocolatey-for-windows-is-what-you-will-not-live-w.md): 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.… - [\[Cool Tool\] Checking Out VsVim](https://osherove.com/blog/2011/12/14/cool-tool-checking-out-vsvim.md): I've been using VsVim in my latest TDD course. It's a simulator of Vim keybindings for visual studio. I've been using vim since january 2011, so almost a year now, and i've come to really like the power you get when… ## More posts from 2020–2023 - [Video: Test Driven Smart Contracts with Solidity and Forge with Roy Osherove](https://osherove.com/blog/2023/3/23/video-test-driven-smart-contracts-with-solidity-and-forge-with-roy-osherove.md): I did a talk about Test Driven Solidity Smart contracts at the Israel web3 developers underground last week. Here’s how it went. Hope you enjoy it! Play video Test Driven Solidity Smart Contracts with Foundry & Forge -… - [Some opinions about effective software development after 20+ years](https://osherove.com/blog/2021/1/24/some-opinions-about-effective-software-development-after-20-years.md): This post on hackernews made me write this: Being able to communicate ideas > Being a great technical developer - For every great developer that's an asshole, you can find a great developer that won't be an asshole.… - [SOLVED: Getting Skype for Business to Work on Mac with Virtual Camera](https://osherove.com/blog/2020/12/9/solved-getting-skype-for-business-to-work-on-mac-with-virtual-camera.md): Skype for business… it used to be “acceptable”. These days it’s the notepad of the conferencing world. Skype has recently broken compatibility with Virtual cameras with the new versions of MAC OS, so here’s the trick… - [Solved - Pihole FTL DB is huge taking too much disk space](https://osherove.com/blog/2020/11/18/solved-pihole-ftl-db-is-huge-taking-too-much-disk-space.md): If, like me, you’ve also run out of room on your pi-hole running on a raspberry pi, here’s how you can clean up the database (note: all of the logged data will disappear forever!) cd /etc/pihole sudo service pihole-FTL… - [SOLVED - High CPU and Lagging when Screen Sharing in Zoom 2020 Multiple Screens](https://osherove.com/blog/2020/8/18/solved-high-cpu-and-lagging-when-screen-sharing-in-zoom-2020-multiple-screens.md): (on a mac) I’m sharing here what I’ve learned the hard way. This has now helped me when teaching half day remote classes about TDD: Go into zoom settings Under “Screen Share” -> Advanced -> Screen Capture Mode Set… - [COVID19: All current online unit testing and TDD training content is free until further notice](https://osherove.com/blog/2020/3/19/covid19-free-unit-testing-training.md): OK. We’re all stuck at home (or will be soon). COVID19 is wreaking havoc on our economy and our way of living. It’s pretty intense, but it’s also a time, for those of us who can do it, to grow and learn new skills, get… - [Unit Testing Entry and Exit Points](https://osherove.com/blog/2020/3/12/unit-testing-entry-points-and-exit-points.md): Let’s talk about the word “unit” in unit testing. To me, a unit stands for “unit of work” or a “use case” inside the system. A unit of work has a beginning and an end. I call these entry points and exit points . A… - [Re-Thinking the Role of Mock Objects, Design & Test Maintainability (stream of thought)](https://osherove.com/blog/2020/3/2/re-thinking-the-role-of-mock-objects-design-amp-test-maintainability-stream-of-thought.md): Disclaimer : this post assumes you understand mock objects deeply and have been using them for a long time and are familiar with the london-school of TDD. Disclaimer : written as a stream of though. So might be a bit… - [Seeking Speakers about Branching Strategies, Feature Toggles, Pairing & Other XP/CD Practices](https://osherove.com/blog/2020/1/19/seeking-speakers-about-branching-strategies-feature-toggles-pairing-amp-other-xpcd-practices.md): The new CD/XP israel meetup that I’m running is seeking speakers for our meetups in the next few months about any of the following subjects: Branching Strategies Continuous Delivery Metrics Engineering Practices &… ## More posts from 2017–2019 - [An updated diagram of the TDD process from the upcoming 3rd Edition of Art of Unit Testing](https://osherove.com/blog/2019/11/12/an-updated-diagram-of-the-tdd-process-from-the-upcoming-3rd-edition-of-art-of-unit-testing.md): As part of the work on Art of Unit Testing in JS, here’s a diagram I’ve created to explain Test Driven Development. Any feedback is welcome: - [Can you write for 5 minutes?](https://osherove.com/blog/2019/8/22/can-you-write-for-5-minutes.md): Here’s a nice little web app that forces you to write continuously for a specified amount of time, and if you stop, all text is deleted. It’s a fun exercise, especially if you want to practice writing “flow”. Here’s… - [Art of Unit Testing, 3rd Edition, With Examples in JavaScript: Tech Reviewers Wanted](https://osherove.com/blog/2019/7/26/art-of-unit-testing-3rd-edition-with-examples-in-javascript-tech-reviewers-wanted.md): TLDR: I need JS Savvy tech reviewers for the 3rd edition of the book. Apply here, get a free book with your name mentioned in it if your feedback is awesome. The Rest Dear Diary. It has been six years since the last… - [Announcing Continuous Delivery Israel Meetup - First Meeting (June 24)](https://osherove.com/blog/2019/6/2/announcing-continuous-delivery-israel-meetup-first-meeting-june-24.md): I’m pleased to announce that we will have the first ever meeting Continuous Delivery Israel meetup , in the AWS Floor28 offices in Tel Aviv, June 24th, 2019, at 6PM. The Group’s page is located at CDIsrael.com If you… - [About Being Lonely as a Consultant](https://osherove.com/blog/2019/4/16/about-being-lonely-as-a-consultant.md): Loneliness, as far as I’ve felt it in the past 20+ years where I’ve done perhaps 50% of them as a consultant, is very common. If you become a consultant, you should expect and anticipate it as a given for at least part… - [Looking to do training or consulting in London around week of May 13th 2019](https://osherove.com/blog/2019/3/14/looking-to-do-training-or-consulting-in-london-around-week-of-may-13th-2019.md): If you're based in LONDON - I'm looking to do a 1-2 day workshop for interested customers about either DevOps Patterns , Elastic Leadership or TDD during the week of May 15th. Here’s the list of possible training or… - [Removing bloatware from a new windows machine](https://osherove.com/blog/2017/9/29/removing-bloatware-from-a-new-windows-machine.md): Reminder to self: here’s what you do through powershell: get-appxpackage messaging | remove-appxpackage get-appxpackage sway | remove-appxpackage get-appxpackage commsphone | remove-appxpackage get-appxpackage… - [New Vim Course Online - Vim Hates You](https://osherove.com/blog/2017/4/20/new-vim-course-online-vim-hates-you.md): I’ve added a new course to http://courses.osherove.com - This time it’s all about Vim, which I’ve been using for a few good years now. Play video Vim Hates You You can check out my online Vim course at… ## More posts from 2014–2016 - [Enterprise DevOps](https://osherove.com/blog/2016/10/29/enterprise-devops.md): As part of my work in the past few years I’ve been more and more deeply involved in large scale DevOps implemementations in very large companies. I’m now writing about my experiences in here: Main website:… - [Code as Music - Test Environments](https://osherove.com/blog/2016/8/18/code-as-music-test-environments.md): Music Production also has some corollaries with coding in terms of testing. When producing music, it is important that the music sounds good on multiple types of speakers: in your car, in your iphone headphones, on a… - [Music Production vs. Code Production](https://osherove.com/blog/2015/12/21/music-production-vs-code-production.md): My off hours hobby is music production. Here are similarities I see between coding and music production so far: Code compiles into binary - midi is rendered into wav files When producing music you need to take many… - [Two new Online Courses: Effective Total Command and FinalBuilder Training Videos](https://osherove.com/blog/2015/1/30/two-new-online-courses-effective-total-command-and-finalbuil.md): I’m happy to report two new video courses that I just finished recording and publishing two new courses: Automating All the Things with FinalBuilder Commanding Total Commander Both of these are tools that I rave about… - [Why The Hell did you move to New Jersey, Roy?](https://osherove.com/blog/2014/10/7/why-the-hell-did-you-move-to-new-jersey-roy.md): After two years in amazing Norway, our Scandinavian adventure has been transformed into what I can only call so far as “The New Jersey Experience”. I’m here on an O-1 visa . I’m also open to doing part time training… - [New Online Course: Beautiful Builds and Continuous Delivery Patterns](https://osherove.com/blog/2014/7/11/new-online-course-beautiful-builds-and-continuous-delivery-p.md): I somehow forgot to blog about this, but it’s never too late. My new online course Beautiful Builds and Continuous Delivery patterns is now available and is $25 until the end of this month (July). Here’s the course… - [Why I stopped selling courses on udemy](https://osherove.com/blog/2014/5/7/why-i-stopped-selling-courses-on-udemy.md): The Udemy Pyramid Scheme. I’ve run several successfull courses on udemy (update: I’ve moved my courses over here now) back when they had a royalty rate of 90% revenue share per course. Then things started to change, to… - [Photo and Video Backup Strategy: Why I am not likely to ever lose my family photos and videos from the last 10 years in the next 10 years.](https://osherove.com/blog/2014/1/28/photo-and-video-backup-strategy-why-i-am-not-likely-to-ever.md): Here is the way I backup my photos> First I use dropbox for “immediate” backup of the last month Then I use PictureLife as a full backup and viewing service Then I use Amazon Glacier for “cold storage” For my stuff I… ## More posts from 2013 - [Fifteen things I look for in an Isolation framework](https://osherove.com/blog/2013/11/23/fifteen-things-i-look-for-in-an-isolation-framework.md): Is the framework strict or non strict by default? Hopefully non strict. Is everything called a mock? Hopefully not. a fake? mock/stub differentiation? Does it have recursive fakes? Hopefully. How good are the error… - [Looking for a new adventure and challenging work in 2014](https://osherove.com/blog/2013/10/20/looking-for-a-new-adventure-and-challenging-work-in-2014.md): TLDR; If you think I would be useful to your company in the US or in Europe as an Architect, Team Leader, Senior Developer, CTO, Trainer or any other role where I can make a real difference - maybe we can work together,… - [$11,000](https://osherove.com/blog/2013/10/18/11000.md): That is what I earned on my book for software team leaders before it was even finished. This august I finished writing and publishing my first self-published book. Last month I got done adding a print and an audio… - [Refactoring and Design Skills for Test Driven Development](https://osherove.com/videos/2013/10/16/refactoring-and-design-skills-for-test-driven-development.md): Last week I presented a keynote and a talk at the London Software Architect conference. Here is the video I recorded from my laptop during my talk about refactoring. I hope you find it useful. Play video Refactoring and… - [Video: Unit Testing and TDD – Why You Should Care and How to Make It Happen](https://osherove.com/videos/2013/10/16/video-unit-testing-and-tdd-ndash-why-you-should-care-and-how.md): A few weeks ago I spent a few days in Germany and got the opportunity to speak at the siemens healthcare testing conference. I talked about why we usually fail to introduce new paractices into an organization and… - [Video: Unit Testing and TDD – Why You Should Care and How to Make It Happen](https://osherove.com/blog/2013/10/16/video-unit-testing-and-tdd-ndash-why-you-should-care-and-how.md): A few weeks ago I spent a few days in Germany and got the opportunity to speak at the siemens healthcare testing conference. I talked about why we usually fail to introduce new paractices into an organization and… - [Looking for promising .NET developers for my current project](https://osherove.com/blog/2013/10/3/looking-for-promising-net-developers-for-my-current-project.md): I am currently in Norway, Oslo area, and involved in a very interesting project. Both architecturally and in terms of teams and cross communication of a big product. We are looking for good .NET developers to join, who… - [Book & Audio Book: Notes to a Software Team Leader](https://osherove.com/blog/2013/8/19/book-audio-book-notes-to-a-software-team-leader.md): If you are a software team leader, architect, scrum master or project leader, you might be interested in the book Notes to a Software Team Leader which I have just finished. The book contains important techniques and… - [Be a Book Reviewer for 'Notes to a Software Team Leader'](https://osherove.com/blog/2013/6/20/be-a-book-reviewer-for-notes-to-a-software-team-leader.md): Want a free book ? Willing to review it on Amazon when it is published? Willing to give me valueble feedback? Fill out this form. Loading… - [Fix: PhantomJs, YSlow and Loadspeed load pages very slowly on windows machines](https://osherove.com/blog/2013/6/10/fix-phantomjs-yslow-and-loadspeed-load-pages-very-slowly-on.md): I was running into this problem. We were using phantomjs to run speed tests and weight tests for our web pages, and it all worked well on my machine. Then it worked VERY slowly (five times slower!) on the build agent.… - [Creativity in Coding - Does TDD Leave Room For it?](https://osherove.com/blog/2013/6/3/creativity-in-coding-does-tdd-leave-room-for-it.md): “Is there any room left for creativity in coding?” That’s hilarious. Let’s reach back in time… As poets focus more on rhyme schemes and meter, where is there room for creativity? Now they have this new-fangled thing… - [Video: A Second Look At Unit Testing](https://osherove.com/videos/2013/5/17/video-a-second-look-at-unit-testing.md): While at the msswit Conference in Ukraine, I spoke about all the things I had learned since the first version of my art of unit testing book . lots. You can see the video here. - [Video: Beautiful Builds](https://osherove.com/videos/2013/5/17/video-beautiful-builds.md): While at the MSSwit conference in Ukraine, I spoke about Beautiful Builds , and common patterns you can use to make your builds more coherent and maintainable. You can view the video here. - [Two workshops on Beautiful Builds, Refactoring and Design Skills](https://osherove.com/blog/2013/4/6/two-workshops-on-beautiful-builds-and-refactoring-and-design.md): This April, I will be in Kyiv, speaking at the Microsoft SWIT conference . I will also be holding two separate workshops before the conference. Two very NEW workshops that I have only done once or twice before. The… - [Which Specification Style Framework in .NET are you using?](https://osherove.com/blog/2013/3/29/which-specification-style-framework-in-net-are-you-using.md): Which one are you using? - [Poll> Which IoC frameworks Are you actively using in your current .NET projects?](https://osherove.com/blog/2013/3/25/pollgt-which-ioc-frameworks-are-you-actively-using-in-your-c.md): Which ones do you actively use? - [My first talk in Norwegian - Beautiful Builds](https://osherove.com/blog/2013/3/15/my-first-talk-in-norwegian-beautiful-builds.md): I promised myself that I would be able to do a full talk in norweign about six months after coming here. A couple of days ago at the internal Bouvet One conference, I got the chance, as I was standing in for a friend… - [Refactoring String Calculator with SOLID Principles in Mind - Examples Needed](https://osherove.com/blog/2013/3/6/refactoring-string-calculator-with-solid-principles-in-mind.md): Given this simple implementation of string calculator , mid way, how would you refactor this, based on SOLID principles ? and how far would you go? Please note what principles you think this code breaks, and why it is… - [Books vs. Kids](https://osherove.com/blog/2013/3/4/books-vs-kids.md): Books vs. Kids: a post by Roy Osherove. - [When I fight with legacy code](https://osherove.com/blog/2013/2/8/when-i-fight-with-legacy-code.md): When I consult on Sharepoint Projects When I see sharepoint designers at work When I pair with someone and we rock - [Mac: keyboard shortcut to enable and disable function keys](https://osherove.com/blog/2013/1/22/mac-keyboard-shortcut-to-enable-and-disable-function-keys.md): I work a lot with visual studio in a virtual machine, and on a mac, the function keys just get in the way of debugging and what not. I needed a way to quickly enable and disable the mac function keys. Found my solution… - [Elastic, Agile, Adaptive Leadership Workshop, January 31 2013, Oslo](https://osherove.com/blog/2013/1/16/elastic-agile-adaptive-leadership-workshop-january-31-2013-o.md): This January, the 31st, I will be giving a two day Workshop for team leaders, architects, and scrum masters, titled Elastic, Agile, Adaptive Leadership. If you’re interested in joining, please contact me directly (or… - [When I have to support an old vb6 project](https://osherove.com/blog/2013/1/12/when-i-have-to-support-an-old-vb6-project.md): When I try to read Prolog When devops do their thing The first time I logged into realtime chat in a BBS every company party ever When everything works beautifully - [Upcoming Courses (C#, Java, Ruby, IOS, MVC and more) (Q1 2013)](https://osherove.com/blog/2013/1/11/upcoming-courses-c-java-ruby-ios-mvc-and-more-q1-2013.md): So, I have lots of new courses that I am doing in Oslo . If you are interested, or if you want me to teach these course in your place, or organize public courses like these in your country, ping me directly by emailing… ## More posts from 2012 - [Build Patterns: Script Injection](https://osherove.com/blog/2012/12/30/build-patterns-script-injection.md): 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… - [When they tell me I have to use MSBuild to automate our CI Process](https://osherove.com/blog/2012/12/12/when-they-tell-me-i-have-to-use-msbuild-to-automate-our-ci-p.md): 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… - [The Three Values of a Good Isolation Framework](https://osherove.com/blog/2012/10/14/the-three-values-of-a-good-isolation-framework.md): 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… - [Polite Code, News Articles, And Pulling Out Early](https://osherove.com/blog/2012/9/21/polite-code-news-articles-and-pulling-out-early.md): 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… - [Readable, Maintainable, Trustworthy Unit Tests in Java](https://osherove.com/blog/2012/9/17/readable-maintainable-trustworthy-unit-tests-in-java.md): While in JavaZone, I adapted my talk about good unit tests to Java. Here you go - [protip: How to have a very good panel debate at your conference](https://osherove.com/blog/2012/9/14/protip-how-to-have-a-very-good-panel-debate-at-your-conferen.md): 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… - [Video: Discussing Evolutionary Value Delivery with Tom Gilb](https://osherove.com/blog/2012/9/14/video-discussing-evolutionary-value-delivery-with-tom-gilb.md): 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… - [Update on foocafe courses in sweden (tdd and elastic leadership)](https://osherove.com/blog/2012/9/7/update-on-foocafe-courses-in-sweden-tdd-and-elastic-leadersh.md): 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… - [A view of the books in my bouvet office](https://osherove.com/blog/2012/9/6/a-view-of-the-books-in-my-bouvet-office.md): 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… - [Book me for consulting,courses in Norway and scandinavia - I live here now](https://osherove.com/blog/2012/9/5/book-me-for-consultingcourses-in-norway-and-scandinavia-i-li.md): 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… - [HOW TO: Find the temp videos screenflow makes when uploading to vimeo and youtube](https://osherove.com/blog/2012/6/26/how-to-find-the-temp-videos-screenflow-makes-when-uploading.md): 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… - [Video: (part 1) Building a Go Game Engine with TDD and Pair Programming](https://osherove.com/videos/2012/6/25/video-part-1-building-a-go-game-engine-with-tdd-and-pair-pro.md): A few days ago, a guy named Raymond Lim sent me an email with some questions about how to do something with TDD. He has been working on creating a game engine for “Go” game, for practice. I thought it would make for a… - [The courses I'll be teaching while living in scandinavia](https://osherove.com/blog/2012/6/17/the-courses-ill-be-teaching-while-living-in-scandinavia.md): 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! - [Free for private leadership and TDD training June and July](https://osherove.com/blog/2012/6/12/free-for-private-leadership-and-tdd-training-june-and-july.md): 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… - [Zen of python revisited with code samples](https://osherove.com/blog/2012/5/16/zen-of-python-revisited-with-code-samples.md): 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. - [\[Video\] Vimming - All about change](https://osherove.com/blog/2012/5/8/video-vimming-all-about-change.md): here’s my second attempt Play video vimming - All About Change - [\[Video\] Vimming - Hello World with vim](https://osherove.com/blog/2012/5/7/video-vimming-hello-world-with-vim.md): My first foray into trying to teach vim related stuff. hope you like it. Play video vimming - Hello World with vim - [Annual Poll: Which Isolation framework do you use if any?](https://osherove.com/blog/2012/5/4/annual-poll-which-isolation-framework-do-you-use-if-any.md): Please answer the following: - [Hire me for a day or two in Oslo, in June](https://osherove.com/blog/2012/5/3/hire-me-for-a-day-or-two-in-oslo-in-june.md): 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… - [The Zen of python should be the zen of good unit testing](https://osherove.com/blog/2012/5/2/the-zen-of-python-should-be-the-zen-of-good-unit-testing.md): 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… - [NEW: Ruby podcast in hebrew](https://osherove.com/blog/2012/5/2/new-ruby-podcast-in-hebrew-1.md): 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 . - [Looking for full time work in Norway](https://osherove.com/blog/2012/4/16/looking-for-full-time-work-in-norway.md): 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 Book: Notes to a software team leader](https://osherove.com/blog/2012/2/28/new-book-notes-to-a-software-team-leader.md): 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… ## More posts from 2011 - [Help me pick a name for my new site - a search engine for keyboard shortcuts](https://osherove.com/blog/2011/12/5/help-me-pick-a-name-for-my-new-site-a-search-engine-for-keyb.md): I’m working on a new site that will be a search engine for keyboard shortuts, where you’d put in an app name and get all the shortcuts for it. But I’m not sure which name is best. help me decide, dear reader! - [Norway - Stavanger Elastic Leadership Class](https://osherove.com/blog/2011/11/29/norway-stavanger-elastic-leadership-class.md): This is very short notice, (which is why there is a surprise) - but During December 15-16, I’ll be doing my Elastic Leadership Course “Lead Better” in Stavanger, Norway. This course is for new and experienced software… - [My Suggested Talks for NDC 2012](https://osherove.com/blog/2011/11/23/my-suggested-talks-for-ndc-2012.md): Here’s the list I submitted to the powers that be for NDC 2012 . Most of these are new. soe are ‘refurbished’ with information I learned in the past year. I wonder which ones will go through.. 10 things every software… - [Effective Miscommunication](https://osherove.com/blog/2011/11/5/effective-miscommunication.md): My previous post was precieved by some people as an arrogant, self congratulatory public postering of someone who wrote me some praise. That was not the intended meaning of that post. It was about effective ways of… - ["This is not a question. Just a comment for you, Roy."](https://osherove.com/blog/2011/11/5/this-is-not-a-question-just-a-comment-for-you-roy.md): —————- My Name:: ***** My Email is:: ******* My Company: I’m interested in: Other I am located in : Sweden Message: Thanks for having videos publicly available. I am going to setup hands-on courses in using… - [What You Don't Know You Don't Know](https://osherove.com/blog/2011/10/21/what-you-dont-know-you-dont-know.md): I recently did a talk to a your crowd of israeli developers (it was in hebrew) about a stopic I’ve never spoken about before in a talk - The reasons for my leaving the .NET world for a year. You can see the video of… - [What You Don't Know You Don't Know (Hebrew)](https://osherove.com/videos/2011/10/19/what-you-dont-know-you-dont-know-hebrew.md): what_you_dont_know.mp4 In this video (which is in Hebrew) I talk to a crowd of young developers in Israel about the reasons for my leaving the .NET world - mostly - the idea of finding out the things you don’t know that… - [Want me to train or consult in your company during 2012?](https://osherove.com/blog/2011/9/19/want-me-to-train-or-consult-in-your-company-during-2012.md): I'm planning 2012 , as well as December of this year, so I'm looking for interesting places to host either my 3 or 5 day TDD master class in .NET, or a two day Software Team Leader Essential Skills (Elastic Leadership)… - [Agile Israel - Intro to Agile (Hebrew)](https://osherove.com/videos/2011/9/9/agile-israel-intro-to-agile-hebrew.md): During 2007 I did a talk at teh agile israel user group about introduction to agile development. It’s in hebrew, and there isn’t a lot of hebrew video material on this yet. Also, I didn’t want this to get lost in the… - [One Day Software Team Leader Skills Class - Lund, Sweden](https://osherove.com/blog/2011/9/2/one-day-software-team-leader-skills-class-lund-sweden.md): FYI - this course has been CANCELED I will be doing a one day class for new and experienced software team leaders about important skills you need to "make" it as a team leader. In the class you will learn how to… - [One day dive into Unit Testing and TDD in .NET - Lund, Sweden](https://osherove.com/blog/2011/9/2/one-day-dive-into-unit-testing-and-tdd-in-net-lund-sweden.md): FYI - this course has been CANCELED This September, I will be doing a one day TDD and unit testing class in Lund. The class is it for both people who have never written a unit test before and people who have. The first… - [A week in Stockholm - Open for consulting or training](https://osherove.com/blog/2011/9/1/a-week-in-stockholm-open-for-consulting-or-training.md): I'll be spending the week of September 12-16 in Stockholm, Sweden. While i'm there I will be doing consulting gigs and possibly training. If you're interested in me coming to your company for a day or two and teach Test… - [TDD in .NET Day 3 Learnings](https://osherove.com/blog/2011/8/12/tdd-in-net-day-3-learnings.md): 3rd day of TDD in .net in Oslo is over, and here are some of the subjects covered: Moq FakeitEasy Extract & Override refactoring Typemock Doing Test Reviews on other people's tests Approaching Legacy Code - [TDD in .NET course - Day 2 Learnings](https://osherove.com/blog/2011/8/11/tdd-in-net-course-day-2-learnings.md): Just finished day two od TDD in .NET course here in oslo. here are the list of things we covered today: Test that an even gets fired Understand the boundaries of a unit of work (more than a single method) mocks vs.… - [Elastic Team Leadership Class in Oslo - August 2011](https://osherove.com/blog/2011/8/2/elastic-team-leadership-class-in-oslo-august-2011.md): I'm holding a two day Elastic Team Leadership class in Oslo next week - (right before my 3 day TDD course) This class is about everything that Agile methodologies do not teach you Have you ever come across these… - [TDD course in Oslo - August 2011](https://osherove.com/blog/2011/8/2/tdd-course-in-oslo-august-2011.md): I will be starting a 3 day TDD in .NET course in Oslo next week (wed.). The course covers everything from zero - so I assume you have no unit testing experience whatsoever. Then it gets you al the way to *highly… - [How not to do TDD](https://osherove.com/blog/2011/7/29/how-not-to-do-tdd.md): Update : It seems that much further down in the book, they do cover a more minimalist and simplistic approach to make the tests pass . I was too quick to write, and did not look further in the book. I would recommend… - [Ruby User Group: upcoming meeting on Ruby next week](https://osherove.com/blog/2011/7/8/ruby-user-group-upcoming-meeting-on-ruby-next-week.md): Hi all. Next week the Ruby Underground meeting is actually taking place in Microsoft in Herzliya. The topics of the meeting will be about Sinatra, and a glimpse of one developer's development environment and what tools… - [Agile Practitioners Israel Group Announced](https://osherove.com/blog/2011/6/9/agile-practitioners-israel-group-announced.md): Elad Sofer and Lior Fridman have created Agile Practitioners in Israel group. More details here , and you can sign up for the upcoming event here . I'm happy to see that people are picking up what ever shreds of the… ## Optional - [Full text](https://osherove.com/llms-full.txt): all 2879 posts and 29 pages in one Markdown file - [About Roy Osherove](https://osherove.com/about-roy.md): bio, sites, social links and contact - [Blog: all posts](https://osherove.com/blog): archive page (HTML) - [Blog categories](https://osherove.com/blog/categories): archive page (HTML) - [Videos](https://osherove.com/videos): archive page (HTML) - [Posts from 2023](https://osherove.com/blog/2023): 1 posts - [Posts from 2021](https://osherove.com/blog/2021): 1 posts - [Posts from 2020](https://osherove.com/blog/2020): 7 posts - [Posts from 2019](https://osherove.com/blog/2019): 6 posts - [Posts from 2017](https://osherove.com/blog/2017): 2 posts - [Posts from 2016](https://osherove.com/blog/2016): 2 posts - [Posts from 2015](https://osherove.com/blog/2015): 2 posts - [Posts from 2014](https://osherove.com/blog/2014): 6 posts - [Posts from 2013](https://osherove.com/blog/2013): 43 posts - [Posts from 2012](https://osherove.com/blog/2012): 47 posts - [Posts from 2011](https://osherove.com/blog/2011): 44 posts - [Posts from 2010](https://osherove.com/blog/2010): 58 posts - [Posts from 2009](https://osherove.com/blog/2009): 109 posts - [Posts from 2008](https://osherove.com/blog/2008): 143 posts - [Posts from 2007](https://osherove.com/blog/2007): 190 posts - [Posts from 2006](https://osherove.com/blog/2006): 289 posts - [Posts from 2005](https://osherove.com/blog/2005): 402 posts - [Posts from 2004](https://osherove.com/blog/2004): 604 posts - [Posts from 2003](https://osherove.com/blog/2003): 895 posts - [RSS feed](https://osherove.com/blog/rss.xml): RSS feed of the newest posts - [Sitemap](https://osherove.com/sitemap.xml): every HTML page (XML sitemap)