.NET Reporter

 
Get Top Posts and Jobs
Weekly via Email:

Subscribe
Unsubscribe

Search Posts:


Title Only
Title and Body
 

Search Jobs:


Title Only
Title and Body
245 posts from: ISerializable - Roy Osherove's Blog

Research Finds TDD Boosts Developer Productivity

(Indexed 2008-01-26):

Thanks to Haacked for posting this one.  I haven't yet read it fully, but this IEEE paper shows good results when doing test-first development vs. other methods. "We found that test-first students on average wrote more tests and, in turn, students who wrote more tests tended to be more productive. We also observed that the minimum quality increased linearly with the number of programmer tests, independent of the development strategy employed." "The external validity of the results ...(truncated)...

The Case For Typemock

(Indexed 2008-01-20):

I just wrote an email to someone regarding Typemock. We were discussing why they don't think Typemock holds the values that other mocking frameworks hold when I suddenly realized what I've been wanting to say all along about Typemock, and why it's a viable option for organizations (disclosure - I recently started working at Typemock) Before you read what I wrote, you can read posts that say "don't use Typemock" here, here,here and there are others. Most fear that Typemock will make it easy for ...(truncated)...

Trying out Team City - Looks Promising!

(Indexed 2008-01-19):

I've been looking both at CI Factory by Jay Flowers, and Team City by JetBrains lately. this has to do with the fact that at Typemock we currently have a Continuous Integration solution that is largely based on CruiseControl.NET and MSBuild files. It sucks. The MSBuild files are hardly maintainable and the logic for running the build, signing things, obfuscating, licensing, installation, 64 bit versions and more - it's chaos, held by some gum and a couple of strings. Not unlike many other buil...(truncated)...

Is Typemock too powerful? Will it kill design for testability?

(Indexed 2008-01-18):

A couple of days ago, Typemock held a small "insiders" web meeting, showing off the new features of the next release. The presentation lasted for about 10 minutes, and we were using Webex to show live screen feed and chat was also enabled (similar to IRC) Other than some nice feedback we got on what we showed, the most interesting part happened after the presentation was done, and we thought we'd give a few minutes for some small chat about various things. Suddenly, a question was raised in t...(truncated)...

Dependency Injection - Is it relevant beyond unit testing?

(Indexed 2008-01-18):

"What do you do if you've spent all this time convincing the powers that be that DI is absolutely essential and now . . . it isn't? That's going to hurt. Much better to just dismiss TypeMock as "too powerful" and move on. " This is a quote from Jacob Proffitt's post on our forum regarding typemock and design for testability. I urge you to register and comment there if this is interesting to you. The more I read Jacob's blog, and his (sometimes controversial) thoughts on Dependency injecti...(truncated)...

Debug into the .NET Framework Library Source Code - It's here.

(Indexed 2008-01-17):

Debug into the .NET Framework. It's here.  Here's how you configure VS 2008 to use it for debugging. "Specifically, you can now browse and debug the source code for the following .NET Framework libraries: .NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc). A...(truncated)...

The evolution of Unit Testing Syntax and Semantics

(Indexed 2008-01-17):

The semantics of how you write a unit test, the basic syntax, or Domain Specific language of how we write them, has been relatively stale for quite some years now.  But under the covers, the syntax revolution seems to be brewing, as people try to come up with newer, hopefully better and more readable syntaxes for tests and specifications that become more and more complex as the current Agile community struggles to accept best practices in this arena. I'm guilty of that too, but a recent po...(truncated)...

Typemock Snippets and future

(Indexed 2008-01-15):

Paulo Morgado just released a set of Visual Studio Code snippets for common Typemock usages. Coolness. On a related note, we're set to release a cool new version of TypeMock in the coming weeks with some features I'm excited about, but can't talk about yet. Once I can, watch this blog for them. Here's one example of the new features. as a hint.[Image][Image][Image] [Image] [Image][Image]

BitDiffer, anyone?

(Indexed 2008-01-15):

Note to self: check out BitDiffer. Looks pretty awesome. "Ever wonder what really changed in that DLL you are about to release to production? Would you like to check a 3rd party library for breaking changes before referencing it? Would it be helpful to integrate an automatically generated change report - at the assembly binary level - in your deployment and migration process? BitDiffer allows you to compare multiple versions of assemblies for all types of changes and drill down to find ...(truncated)...

Unit Testing at TechEd Israel 08 - Which talk would you choose?

(Indexed 2008-01-12):

Looks like I'll be presenting at TechEd Israel this year! Currently it appears that I will be doing at least two talks. One of them will be About "Deep Reflection", a 400 level session that will go deep into the bowls of reflection and back again. It's a very updated version of a talk I did a couple years ago, with all the new stuff added in .net 3.5. The second talk will be on the subject of Unit Testing. Either beginner or advanced concepts. Here's a little poll. If you live in Israel, and ...(truncated)...

Refactoring private methods is like...?

(Indexed 2008-01-12):

I'm still struggling away with my book, and was wondering what you thought about this analogy. I am referring to the problem of testing privatepublic method, and in that regard I refer to the ease of changeability of private vs. public methods and the contracts they assume of the interacting party (readerdevelopercode) Refactoring methods is like refactoring a book chapter. In a way, changing a private method is like changing a few sentences in a book chapter. The full chapter still may read ...(truncated)...

Scala, NRehersal and Fluent Test Interfaces

(Indexed 2008-01-09):

This post by Ian cooper triggered my interest in Scala, a new object oriented, functional, programming language that is very accessible for java developers.  From the looks of it, it seems very accessible for C# developers as well. Scouring around related links for a while I came across the Rehersal project, which is a unit testing framework for Scala(which already has a built in SUnit test framework very muich like JUnit), that tries to make things "less cumbersome" for developers, such a...(truncated)...

Wanna join me at TypeMock?

(Indexed 2008-01-01):

The good news for TypeMock is that we (yes, "we" instead of "they") have secured a 1.5M$ Investment. More details here. The better news is that we are actively looking for great .NET developers here in Israel. If you're hardcore about unit testing, or just a hardcore C# developer who'd like to get into this area, send us your resume . Specifically, send it to me: Roy at osherove.com and I will make sure to forward them and get things done. If you're good, we'll do our best to get you in the doo...(truncated)...

Joining TypeMock

(Indexed 2007-12-31):

Happy new year :) A new year is a great time to start off new things, or to renew old commitments that have been somehow left behind. [Image]I'm excited to announce that starting Jan 1 I will start working at TypeMock as a senior developer. I will help create the next generation of unit testing tools for .NET developers focusing on new and exciting areas in the unit/integration testing world that have yet to be fully addressed at the developer testing level. I will continue to speak and trai...(truncated)...

Basic Guidelines for using RowTest and data driven tests

(Indexed 2007-12-18):

I took a look at the code that was used to create the NUnit RowTest Extension (which is pretty neat) and found this in one of the samples: [Image] The highlighted areas in the code show something which I feel is problematic and is the manifestation of a unit test anti-pattern which the XUnit book calls "Interacting tests". basically, there is a dependency that is created by the first and second row, in which the second row cannot run individually. Bad Naming once again leads to confusion I...(truncated)...

Data Layer Testing: Test Inheritance Patterns

(Indexed 2007-11-29):

I'm preparing for my tutorial on Database and Data Layer unit testing that I will be giving at the Agile Practices Conference  next week. It's always nice to have a full 3 hours to get pretty deep into something. 75 minutes just isn't enough to grasp a concept deeply enough, just to graze it around the edges. When writing data layer tests, there are several patterns I've noticed, especially around the notion of inheritance within the test classes (Abstract test class pattern).  I've o...(truncated)...

IL Debug Visualizer for Compiled Lambda Expressions, MethodBase and DynamicMethod

(Indexed 2007-11-29):

Mark Watts just emailed me with cool news. He took the Dynamic Method visualizers I worked on and created a version of them that will also work and show the IL on Lambda Expressions. here's the full list of changes he did to the source code: 1) Solution and projects all coverted over to VS2008 2) References to Microsoft.VisualStudio.DebuggerVisualizers updated to version 9 3) M3 and M4 methods added in the test project to demonstrate how to use the new functionality 4) MethodBodyVisualizer a...(truncated)...

Style Macros for technical authors working in Word

(Indexed 2007-11-26):

One of the things you do as an author of a book working in MS Word, is do a lot of formatting on the text that you write. When working with the manning word templates, for example, you are expected to use a list of built in text styles that manning created, with names such as ".body" and "code" for formatting different elements in your text.   It's quite tedious to use the mouse to set styles on text selections, and as a keyboard junky it bothered me that you can't have specific shortcuts...(truncated)...

RikMigrations: Good start on the road to .NET DB Management DSLs?

(Indexed 2007-11-25):

Here's a library I think could be useful for database management tasks in .NET: RikMigrations. It's based on the idea of Ruby On Rails MIgrations which, since I don't know ruby, is only something I know of from other people. "RikMigrations is a database migration library for .NET based on the migrations facility provided by Ruby on Rails. It allows simple upgrading and downgrading of databases using .NET code (such as VB or C#) either from the command line or built into your application. Un...(truncated)...

Debug Into the .NET Framework Source Code

(Indexed 2007-11-19):

Best thing I've read in a while about VS 2008 (from Scott GU about the release of VS 2008): "Browsing the .NET Framework Library Source using Visual Studio As I blogged a few weeks ago, we will be releasing a reference version of the .NET Framework library source code as part of this release.  Visual Studio 2008 has built-in debugger support to automatically step-into and debug this code on demand (VS 2008 can pull down the source for the appropriate .NET Framework library file automat...(truncated)...

Mocking LINQ Queries, Extension methods and Anonymous Types

(Indexed 2007-11-17):

One of the things I wanted to show at my Interactive session on unit testing tips and tricks at TechEd this year was how you can "Stub" out results from LINQ Queries, or mockstub Extension methods in .NET 3.5 (what's the difference between mocks and stubs?) The only mocking framework in existence that can truly stub out LINQ queries and extension methods is TypeMock.NET.  Another option, if you use LINQ to SQL, is to be able to mock out the DataContext and the IOrderedQueriable interface, ...(truncated)...

[Security] Microsoft unveils Code Protection suite of tools

(Indexed 2007-11-16):

about a year ago Microsoft bought a small Israeli Company called Secured Dimensions. They had an interesting solution to the problem of protecting your .NET code. Basically they would help you choose which parts of the code you'd like to protect and then run those parts of hte code in a special virtual machine encrypted environment (in memory). Recently Microsoft released a set of products that seems to be based on SD's technology, and that's a good thing. There aren't many good solutions to p...(truncated)...

Cool Online Backup Service - Carbonite

(Indexed 2007-11-14):

Based on David Platt's talk "Why Software Sucks" (Which was easily one of the best and funniest at TechEd Barcelona this year), I went ahead and registered 3 of my home machines to the online backup service called Carbonite (If you use this link to sign up I get free months on my subscription - FYI) . so far I find it very simple to use and a true no brainer. Just like backup should be. (Here's a longer review) It has unlimited storage size and you just right click on a folder or file and say ...(truncated)...

Debugger Visualizers for MethodInfo, DynamicMethod, and MethodBase

(Indexed 2007-11-03):

Oren's post about DynamicMethods in Reflection is a great "advanced" intro to the idea of DyamicMethod (a method you can create on the fly and then cache to execute many times - great of optimization scenarios over multiple objects). My last talk at TechEd Europe this year will be about "Deep Reflection". It is a variant of a session I did at TechEd Israel and one of the topics I cover there is the use of DyanmicMethods. One of the things that I also show there is how you may be able to create...(truncated)...

My homework for the next year

(Indexed 2007-10-26):

Here are the things that are burning in my head these days, screaming at me to go through them and grok them to a point where I don't feel stupid talking about them too much: [Image] NHibernate+ ActiveRecord and LLBLGen Try to see if you can implement Hibernate Shards in NHibernate Spring.NET BOO and Boo DSLs Windsor Containers MVC and MVP patterns implemented in .NET Ruby and IronRubyRuby in Steel (whatever works for .NET) Take a good look at RetLangErlang F...(truncated)...

What's IoC good for, Really?

(Indexed 2007-10-25):

Oren has one of the best one liners about the benefits of Inversion Of Control Containers in a project in this post:   "Other people on my team keep adding components, and they aren't even aware that they have IoC there. They just know that if they put the IFooService in the ctor, they will get it when the code is running. And if they add IBarService and BarServiceImpl, they will be available to any component that uses them." Here's a quick "Getting Started" if you've never seen this bef...(truncated)...

Dave Platt In Israel - CAB Fans Prepare yourself

(Indexed 2007-10-23):

[Image] Dave Platt just pinged me to tell me that he'll be doing a 4 day Composite Application Block Workshop over at Idag in Israel. Dave is seriously one of the funniest and most knowledgeable speakers I've met (got to meet him a couple of years back when he was Speaking at TechEd Europe). He wanted me to help pass on the word about his course, and since I know this guy to be pretty darn good at what he does, I have no problem saying that this should be an interesting course to go to (if you c...(truncated)...

Organization Problems - Sounds Familiar?

(Indexed 2007-10-18):

I just finished a summary of a company's review about work modes and problems before we can start doing something about it. I'm posting part of it as anonymous because I think this seems to relate to many other companies out there: "The QA Department seems to be the main gripe of most of the departments in the company. The main issues are of it being staffed with personnel who does not really understand the application aspects of what they are testing, and so dont really know what to test in th...(truncated)...

Unit Testing in VS 2008 - Still not there

(Indexed 2007-10-17):

I'm starting to take a look at VS 2008 and writing down some things that are still "not there": Renaming a class using the "Rename" refactoring still does not change the file name. Are you kidding me? using "prop" snippet produces the shorthand syntax for properties. Nice. This is still all the refactoring we have by default in VS 2008: [Image] Are you kidding me? You can finally do test inheritance (and many other small blessings. someone is listening) You Still have to using anything that de...(truncated)...

Agile Dev Center on MSDN

(Indexed 2007-10-10):

Did you know that MSDN has an Agile Related dev center? well, not really dev center, but its part of the architecture center (for some reason). I only learned that on the MSDN related session at ALT.NET. Freaky.[Image][Image][Image] [Image] [Image][Image]

Database and data layer testing techniques at ALT.NET - slides and code

(Indexed 2007-10-10):

I contributed some material to the session about Database and data layer testing techniques at ALT.NET. The slides and code I used at ALT.NET are the same ones I used at DevTeach, so you can download them here.[Image][Image][Image] [Image] [Image][Image]

ALT.NET - Rule of Tool Composition

(Indexed 2007-10-09):

[Image] There is much discussion about What ALT.NET really stands for. Most of the things discussed were very "fluffy" in their description and mostly meant some state of mind and openness. Here's another possible explanation: We are uncovering better ways to develop software as Microsoft oriented developers: The Rule of Composition Compose your development tool set with just enough tools to make your job easier Always check to see if you can enhance your productivity, quality of work or confid...(truncated)...

Microsoft gets Design For Testability with new MVC framework for ASP.NET- Finally.

(Indexed 2007-10-07):

The big news out of the ALT.NET Conference so far are from Scott Guthrie, who did a full hour on introducing the new MVP Framework for ASP.NET. My take away - finally they get it. I wish there were more guthries out there in the b0rg. The framework if built and designed with testability in mind, which also means it is extensible and pluggable. It could well be a MonoRail killer and the semantics are very easy to use and understand. Jeffery has more technical info on it here. It also allows plu...(truncated)...

Pimp My Visual Studio

(Indexed 2007-09-28):

[Image] I'll have to check out this list of things to make a Visual Studio Usable system (that is, what you should really install after you have Visual Studio installed to make you more productive). Basic stuff like unit testing frameworks is there but also lots of possible extensions and addins you can use. Bookmarked. Did I miss it or is Resharper not there? I guess he only lists free stuff. that's also cool. [via David][Image][Image][Image] [Image] [Image][Image]

The Art Of Unit Testing - Available to Purchase Online Now

(Indexed 2007-09-26):

[Image] I'm happy to announce that you can now purchase my book The Art Of Unit Testing through the Manning Early Access Program. Currently, the first five chapters are available, but when you purchase the MEAP version you get the new chapters as they come in, before anyone else. Also, you can help make the book better and more accurate as a MEAP reader since the author forum can be used to discuss book topics you find interesting and I will be reading it at least twice a week (hopefully daily)....(truncated)...

Code-Reuse in unit tests is more important than you think

(Indexed 2007-09-22):

Scott Bellware mentions how he really likes the new ideas in XUnit.NET, especially the lack of [Setup] and [TearDown] methods. (Brad Wilson wrote in the comments to my post about XUnit.NET that you can mimic this behavior by using the constructor of the test class and the IDisposable.Dispose() method of the class -just implement IDisposable) . He especially says this: "I think that Jim is on the right track, but I'm the kind of guy that feels that a test class's greatest responsibility is to do...(truncated)...

XUnit.NET aims to be the Next NUnit, but it's too soon

(Indexed 2007-09-21):

James Newkirk, one of the original creators of NUnit, which is currently the most popular Unit Testing framework for .NET (he now works for Microsoft at the patterns and practices team if I'm not mistaken) has announced on his blog that together with Brad Wilson (also a Microsoftie) a new Unit Testing framework which is open source (it is hosted on the Microsoft CodePlex site under the Microsoft Permissive License. the new Unit Testing framework's name is XUnit.NET. James lists some of the reaso...(truncated)...

TDD Pattern: Composite Logic Development and Testing

(Indexed 2007-09-18):

Here's a video I made that captures my current thoughts on writing complex business rules which have lots of validation logic. Here's the scenario I show in the video: [Image] A Validate method on an object actually uses lots of smaller methods to return a result. The idea is to actually write separate tests for the underlying helper methods (which are actually individual rule checks) and a separate test for the overall logic driver (the Validate method. Different from traditional TDD techniqu...(truncated)...

Synchronize Team System and ClearCase with the TFS Migration & Synchronization Tool

(Indexed 2007-09-17):

It's about time! Just got this in the mail: TFS Migration & Synchronization Tool For ClearCase Released Yesterday we released a new tool that will help customers who use both Microsoft Visual Studio Team Foundation Server and ClearCase or are migrating from ClearCase to TFS. It is available for download today at no additional charge for licensed users of TFS (server and CALs). We are hoping to release some updates to TFS licensing soon that will simplify it for people using tools like this to ...(truncated)...

Mocks and Stubs - The difference is in the flow of information

(Indexed 2007-09-16):

In class today when explaining the difference between stubs and mocks, I realized a simple explanation to this: Stubs and mocks may seem the same but the flow of information from each is very different. Stubs provide input for the application under test so that the test can be performed on something else. Mocks provide input to the test to decide on passfail. the opposite direction. The following diagram shows the flow of critical information: [Image] The red arrows signify the "critical" flow...(truncated)...

Throw-Away Tests Vs. Tests that Last

(Indexed 2007-09-13):

TATs - That's what I call the tests people write when they are writing unit tests for the first time on a real project. [Image] Those tests usually don't last more that a few months before they either get deleted or ignored completely because it takes too much time to maintain them, or no one understands what they are trying to test, or no one understands why they keep failing when the code seems fine, or all of the above combined. What's the difference between TATs and TTLs (Tests That Last)?...(truncated)...

Scrum is not enough. Try ScrumP

(Indexed 2007-09-11):

I'm a firm believer in the idea that a good development methodology always has two parts intertwined. The first part is the Process. That's basically everything that has to do with the customer, requirements, iterations, planning etc.. . A process like Scrum is a perfect fit for this part. But the second part is the technical supporting practices. Things like Unit testing. continuous Integration, TDD, Pair programming and basically anything that states how developers work on a day to day basis i...(truncated)...

Team System Unit Testing May finally be "OK"

(Indexed 2007-08-29):

[Image] All I can say is, It's about time. I'm getting tired of apologizing for the Microsoft Team System Unit Testing framework, or ranting on it. Perhaps now it can be truly usable without the aid of external helpers such as TestDriven.NET, or be at least on par with NUnit in terms of... not having so many bugs. Peter Provost posted about upcoming features and fixes in the orcas (VS 2008) product: " Better Execution Times Run Tests Context Menus Short cut keys to run tests (WOOT!) Disab...(truncated)...

Reminder: Agile Israel meets TODAY

(Indexed 2007-08-29):

There are still 12 places left. If you have a video camera tripod, please bring it, we need one. More details here Confirm your arrival here. [Image] Two books will be raffled: [Image]Agile Project Management with Scrum (Microsoft Professional) [Image]Test-Driven Development in Microsoft .NET (Microsoft Professional) [Image][Image][Image] [Image] [Image][Image]

Upcoming Talks Update: August 2007

(Indexed 2007-08-27):

It's going to be a busy end of year. I have the following talks in the following conferences: [Image] ALT.NET Open Space Conference It's open space, not prescheduled talks, but I have some ideas + a guitar JAOO, Denmark Testing Data Access Related Code Pragmatically TechEd Developers, Barcelona Unit Testing Tips and Tricks Continuous Integration with Team System Deep Reflection: Things you really need to know about Reflection 2.0 Better Software Agile Prac...(truncated)...

Auto forward emails from exchange to your gmail (or other) email accounts

(Indexed 2007-08-23):

I work with various clients and some of them have internal email aliases for me. What I usually do is have them automatically forward all my email messages for the internal account to my google email account where it is indexed, searchable and I can reply through there. Some admins don't know how to set up exchange to automaticlaly forward any internal emails to your external account, so I asked Daniel Petri, who is a god for sysadmins everywhere. here is his reply, for future reference: Hi Ro...(truncated)...

Ask An ASP.NET Expert Live

(Indexed 2007-08-23):

If you're interested in having a live chat with some experts on .NET. here's your chance (right now as I'm posting it's starting) Ask An ASP.NET Expert Live The Strong Coders Community will be hosting its monthly Ask An Expert Live chat on Thursday, August 23, 2007 at 5:00 PM PDT. Get your tough development questions answered by Microsoft MVPs, ASPInsiders, Regional Directors, and other industry experts. Experts will be on hand to answer your .NET- and Visual Studio-related questions. No off ...(truncated)...

Get Agile with Nintendo Wii (Craig Larman's London Course)

(Indexed 2007-08-19):

I recently got this email from Skill Matter, and quoting it here entirely, with emphasis of my on on the interesting bits for you readers, who are close enough to London to attend: "We were wondering if any of your blog readers would be interested in taking Craig Larman's Agile Project Management course: Applying Agile and Iterative Practices to project management. It takes place on September 11th in London at Skills Matter.Craig recently successfully completed managing the worlds largest Agile...(truncated)...

Source control hosting heats up: Dynamsoft introduces SourceAnywhere

(Indexed 2007-08-08):

It's usually aimed at the open source crowed with sites like Assembla, SourceForge and others, but now it seems that a new player is in town. Can they make it where others don't charge anything? Kevin Gao from Dynamsoft pinged me by email to tell me that they have a hosted solution for source control which uses SQL server (kinda like SourceGear Vault only hosted). It's interesting to see another player in this space. Here's what they list on the features side: "Key features SaaS (Software as a ...(truncated)...

Speaking at: Agile Development Practices Conference

(Indexed 2007-08-07):

I'll be speaking at the upcoming Better Software Agile Development Practices Conference Taking place December 3-6 in Orlando, FL this year. I'll be speaking about: Design for Testability Database Unit Testing (Half day Tutorial) Java & .NET Interop - Bridging the gap (half day tutorial) Should be exciting! Never been to Florida before, and I get to meet lots of very well known Agile folks (Mike Cohn, Johanna Rothman, Esther Derby, Mary Poppendieck and more).[Image][Image][Image] [Image] [Image]...(truncated)...

August 2007 @ Agile Israel

(Indexed 2007-08-05):

It's my pleasure to re-announce the Agile Israel user group. See the full announcement(with maps) over here on the agile news blog. When? August 29, 2007, 18:00- 21:00 Where? Ohel Shem Ramat Gan, Eshkol Hapais (more info) What do we eat? Cookies and coffee.. 18:00 - 19:15 Introduction to Agile Methodologies and Concepts by Roy Osherove, Agile Lead, Sela 19:30 - 20:45 Scrum Planning by Danny Kovatch (Danko), Agile Coach, Sela If you are planning to show up, PLEASE send an email to Roy@AgileIsra...(truncated)...

Behave# enables Behavior Driven Testing, raises some interesting questions

(Indexed 2007-08-04):

AgileJoe pinged me with an email about Behave#, a Behavior-Driven-Development verification API (think NUnit syntax with a more real-world feel of behavior descriptions). Here's what a "test" might look like using this API: 1: [Test] 2: public void Transfer_to_cash_account() 3: { 4: 5: Account savings = null; 6: Account cash = null; 7: 8: Story transferStory = new Story("Transfer to cash account"); 9: 10: transferStory 11: .AsA("saving...(truncated)...

ClassTester - Test automatically all the stuff you don't bother testing with hand written tests

(Indexed 2007-08-03):

A dude named Josh sent me an email about a Class Tester he's developed, available here. The idea is to take care of all the things I usually avoid writing unit tests for because it takes too much effort for too little benefit: "What it can do: Automatically test properties, spotting any miswired getters or setters Increase code coverage, reaching parts manual tests don't even try to Supports ignoring specified properties if you have any funky logic in there that needs a manual test Tests fo...(truncated)...

Hire me for a day: Two Opportunities

(Indexed 2007-07-29):

I'm looking for consulting or course gigs in two places so I can get where I want to go. If you're interested in me working with you for a day or two, drop me a line to roy@osherove.com . Opportunity #1: Austin, Texas, before or after October 5-7. (So I can go here) Opportunity #2: Vancouver, Canada, before or after November 26-30 (So I can go here) More about what I can help with here and here. Basically, I can consult for a day or two on anything Agile, unit testing or tdd related (also about ...(truncated)...

ALT.NET Conference Announced

(Indexed 2007-07-29):

Scott Bellware recently announced the ALT.NET Conference, which he's organizing.(What's ALT.NET?) When? October 5-7, 2007 Where? Austin, Texas (that's all I know for now) The conference will run in the open spaces style which means that no one is a speaker, and everyone can speak and organize their own little topic to talk about(as far as I understand). I'm part of the organizing committee (not sure what that means yet either..) along with Ayende, Jeremey,JP and more: Jeremy Miller Ayende Rahi...(truncated)...

Essential Software to Install on a new computer

(Indexed 2007-07-28):

I recently got a new laptop. here's what I installed in the first couple of days: Installed: - Office 2007 - FireFox (with addons below) o TabMix Plus (Control tabs in firefox better) o AdBlock (Block any annoying ad forever from showing on your browser) o IE Tab (Allows using IE inside firefox for those "special" sites out there - MemInfo tray (Shows memory usage in tray icon) - BsPlayer (Great player, I have the pro version. Beats VLC and Media Player Classic for my taste). Note: the fr...(truncated)...

Visual Web GUI Helps me Write in Winform and run as ASP.NET

(Indexed 2007-07-28):

If you know me well enough you'll know that I'm not a big fan of website development. I just hate the idea that you need to learn about 17 different languages and paradigms to be able to show a simple progress bar when doing a long running action. I'm a winforms guy. always been. That's not to say I can't program my way out of a non-scalable server, but when it comes to web user interfaces I just suck. Everything is much harder than it should be. I dislike JavaScript, Html, Ajax and all that goe...(truncated)...

Hotfix request Web Submission form could be a life saver

(Indexed 2007-07-28):

If Stefano is right, than this form by Microsoft should save plenty of time for people who just need the damn hotfix, yesterday. Microsoft Hotfix request Web Submission form (Request, get hotfix link direct by email the day after, no hassle) [via Larkware][Image][Image][Image] [Image] [Image][Image]

Test Driven Development Public Course is open

(Indexed 2007-07-19):

I'm happy to announce a public course about Test Driven Development in .NET, being run by Oren Ellenbogen, a personal TDD student of mine who's become quite a master on his own when it comes to TDD and unit testing techniques. the course takes place in Israel, but let me know if you're interested in having me or Oren fly out somewhere to teach it. I like traveling :) As part of the Sela Agile team offerings, The TDD course is 3 days long and takes place on the following dates: 9.9.07 - day 1 (U...(truncated)...

Watching your computer breath using FileSystemWatcher

(Indexed 2007-07-12):

Breath is the only word that came to mind to describe the regular second to second operations your computer does just to keep itself in the current state while preparing for the next states (in terms of temporary files, background processes and more). Here's a nice exercise you can do: Create a new console application Paste in this code for the Main() method:static void Main(string[] args) { FileSystemWatcher watcher = new FileSystemWatcher("c:"); watcher.IncludeSub...(truncated)...

Wanted: C++ Trainers for Test Driven Development

(Indexed 2007-07-10):

You don't have to be a TDD guru to be considered, but you should have the passion to learn what TDD is, besides being a very good C++ developer and living in Israel. Good presentation skills are also nice to have. (we can always make them better, don't worry) If you're interested, we're hiring. Send an email to royo at sela.co.il and I'd love to talk to you. If you get in, I will personally train you and make sure you are the best trainer for TDD in C++ in the business (not that there are a lot ...(truncated)...

Wanna work at TypeMock?

(Indexed 2007-07-02):

The TypeMock crew is looking for new people to join the team. Here's Eli's blog post about it. I'd say if you're a .NET or C++ developer who knows what unit testing is and what mock objects are, and are pretty darn good at what you do, this job might be a cool job to have..[Image][Image][Image] [Image] [Image]

Israeli .NET Bloggers Update

(Indexed 2007-06-29):

There are several .NET related Israeli bloggers out there who provide good content but sometimes get missed from people's RSS readers for lack of.. well, knowledge that these blogs exist. Some of them I come accross when I look through my referrer links, some I find by looking at comments on other people's blogs, and some I know personally or have been reading for a long time. Here's a list of israeli .NET bloggers to keep an eye on(most write in english. I've noted who writes in hebrew): Ken ...(truncated)...

Implementing Unit Test MetaData using XtUnit custom attributes

(Indexed 2007-06-26):

Regarding my last post on xml comments used inside a unit test Here's how you can implement the same "metadata on a test" equivalent using XtUnit custom attributes (note that you need to inhering from a custom class for this): using NUnit.Framework;using XtUnit.Framework.Internal;[TestFixture] public class CustomDataAttributes:TestFixtureBase { [Test] [Data("sql","Select * from categories")] public void useCustomDataAttributes() { string actual = Dat...(truncated)...

Unit Test Tip: Encode test data as part of your test xml comments

(Indexed 2007-06-25):

What a cool idea, and simple too. You can encode various test data as XML comments on your test, and then use them in your test by parsing the XML file generated by the compiler. More details here. Lars Thurop wrote the CommentReader which can enable a test that looks like this: /// /// create table Orders ( id int, customer int ); /// [Test] public void TestNonXmlComment() { string content = CommentReader.GetElement("sample"); ...(truncated)...

ThreadTester with new Ability: StopWhenTrue() and thread polling

(Indexed 2007-06-25):

I've updated The ThreadTester Library with a new ability: StopWhenTrue(). It allows you to periodically poll while all the threads are running (and the test is blocking) and either assert stuff or stop the run midway when some condition is true. Download source and binary. Here's the source in SVN. Here's a test that shows how this is possible with the new API:[Test]public void StopWhenTrue_ReturnTrueWhenCountOver1000_AllThreadsStopImmediately(){ Counter c = new Counter(); ThreadTester tt = ...(truncated)...

Agile Israel Conference 2007 - Call For Speakers

(Indexed 2007-06-24):

This is a public call for speakers for the first Agile Conference in Israel - Agile Israel 2007. We don't have a site yet, but the current date for the conference is (mark your calendars): December 16 2007. The conference will be 2 days long with a pre-conference track and we're considering adding a post-conference track as well. We (as in Myself and Sela, who is helping to organize and sponsor this) are bringing in several speakers from abroad as well as well known Agile folks from Israel. Ho...(truncated)...

Regionerate - Free Code Layout Addin for VS.NET

(Indexed 2007-06-24):

Omer Rauchwerger is a reader of this blog. A while ago he sent me an email about a new addin for visual studio he created called Regionerate which was in private beta at the time. Unfortunately it ended up in my spam box and I couldn't find it until today. Now Regionerate is public (and open source) and seems like a cool addin to have in your tool box if you're a neat freak who likes their code to look exactly like they want it too. Here's the tool site, and here's the tool's blog. It even has a...(truncated)...

Multi Threaded Unit Tests with Osherove.ThreadTester

(Indexed 2007-06-22):

The title says "unit tests" but they are really integration tests, since we rely on the cpu and the context switching mechanisms of the OS to do the work for us, but still ,this tries to solve a scenario many people have been asking me about. The ThreadTester library helps create tests that use multiple threads. Its main use is to synchronize and block the running test until all the threads have finished their job, or a timeout has occurred. It is designed to make the test developer's life easie...(truncated)...

Blow to open source on VS.NET: VSIP License forbids Open Source

(Indexed 2007-06-21):

Microsoft - why can't you feel his pain? "For those of you not in the know (AKA, everybody) they recently switched back to the old distribution EULA, which essentially says, 'sorry, no open source' among other inane restrictions. " Gee, thanks Microsoft. I almost accidentally got productive there for a second. You really helped me dodge a bullet there! Now I get to ship product to my customers who license the source code with the caveat, "Oh, and don't forget that your developers will also n...(truncated)...

Que Sera Sera - A song about Agile Development

(Indexed 2007-06-21):

It's been a while since my last developer song, so I recorded another one that I did during some of my recent talks. This is a song about Agile Development, to the music of "Que Sera Sera". Here's the MP3. (2.6 MB) Other songs I recorded: It's Time for Violence - A song about Databases The lyrics: Que Sera Sera - A song about Agile Development Lyrics by Roy Osherove When I was just a new team lead One of the clients came to me Will we succeed? How much will it cost? Can you do it in half th...(truncated)...

HTTPSimulator - Simulating HTTP Requests for unit testing made easier

(Indexed 2007-06-20):

Phill Haack just released HTTPSimulator - a class to help with running tests against a simulated Http Context, to help simulate requests and more without resorting to needing a web server running for the tests. [via DNK] I like this approach but I also like Phil's comments at the end. Read them. He's right. Also noted: "originally tried to do all this by using the public APIs. Unfortunately, so many classes are internal or sealed that I had to get my hands dirty and resort to using reflection. ...(truncated)...

Art Of Unit Testing Book Available Shortly

(Indexed 2007-06-19):

Parts of it, at least. My upcoming book, The Art Of Unit Testing, has just gone in to the first review cycle, on the 13 complete mark (five chapters complete so far, we want to review and get feedback).I'm excited! It's already been sent out, and I'm sorry to say that the reviewer list is closed already. The good news is that soon, in the coming weeks you should be able to buy the book in parts using Manning's Early Access program, where you can read the book chapters as they come out, talk abo...(truncated)...

Debug your Application using a Wiimote

(Indexed 2007-06-10):

The guys an MainSoft are insanely cool. They developed a product (has a free version)that allows compiling .NET to Java, basically allowing you to have VS 2005 and .NET (VB or C# ) as the front end development environment for real Java applications that can run on J2EE servers (that includes full interop with Java from the .NET point of view such as adding Jar References and such). But that's not why I'm talking about them right now. Rafael Mizrahi, the QA Lead at Mainsoft, who's also a known G...(truncated)...

Tips for Testable code and for testing legacy code

(Indexed 2007-06-10):

I was consulting for a project today, and I was helping the team figure out how to test a method inside their business logic. Here's the thing - it was one of the least testable method's I've seen. It took me about 4 -5 hours to refactor the code to make it testable,and in the end it pretty much looked horrible. We tested and and saw all the tests pass, but the feeling wasn't very good. This was legacy code at its most glorified being. Hard to test, hard to follow, and lots of dependencies spri...(truncated)...

List of Unit Testing Frameworks

(Indexed 2007-06-08):

There used to be a great list of unit test frameworks at http://www.xprogramming.com/software.htm . The site seems to be dead now. I wonder what happened. It's a sad thing when good resources suddenly "die". There's another list (I think it's not as extensive as the one that died) over here on wikipedia: http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks...(truncated)... [Image] [Image]

Chapter 5 - Mock Object Frameworks - Done

(Indexed 2007-06-07):

Last night I finally Finished chapter five in my upcoming book about unit testing. Chapter five was all about Mock Object frameworks and was the longest and hardest to write so far. Some of the reasons it was hard to write this: It took me a long time to decide which mock framework I'll be using for my examples. I ended up choosing Rhino.Mocks after running this little survey on my blog. The truth is, the Mocking framework scene in .NET is not as great as it could be (I.e it sucks). Most of the...(truncated)...

API Usability vs Backwards Compatibility

(Indexed 2007-06-06):

Here's an interesting issue. At what point in the life of an API do you decide that it's better to keep a less than perfect API convention but keep backwards compatibility to a maximum, than to change or add new overloads of methods that are more self expressive and understandable? Rhino.Mocks is a good example of just such a scenario. Rhino.Mocks contains several ways to create a Mock Object: MockRepository.CreateMock(type) mockRepository.DynamicMock(type) MockReposity.PartialMock(type) Look...(truncated)...

Running Matlab, Python and Tcl scripts from .NET

(Indexed 2007-06-05):

Someone asked me about ways they can execute Scripts from MatLab, Python and Tcl from .NET. Here are three interesting links I found on these: Matlab and .NET: http://www.mathworks.com/matlabcentral/fileexchange/loadFile...(truncated)... python: http://www.velocityreviews.com/forums/t358105-starting-some-...(truncated)... Tcl (pronounced "tickle"): http://forge.novell.com/modules/xfmod/project/?ticklesharp[I...(truncated)... [Image] [Image]

ALT.NET - Alternative tools and approaches to mainstream .NET

(Indexed 2007-06-04):

There's starting to be a lot of talk lately about working in an alternative way than the "mainstream" prescribed ways which most .NET and MS developers use in their day to day work. I'm still working out on my own what does it mean, and the difference facets in this concept, but one thing is for sure - there is *something* out there which people are getting a hold of, and MS seems to be missing great deals of it. here are some points(Some overlaps, for sure): Update and clarifications: I don't ...(truncated)...

Is Google Gears a Disaster Waiting to Happen?

(Indexed 2007-06-04):

Google Came out with Google Gears, a set of APIS you can use from JavaScript to persist your web app's Data into a local database (SQLite). The idea is awesome, but I'm worried, and I'm not sure if I'm missing something here: You'll now have complex application logic and persistence logic in full JavaScript syntax. Feels like we're lookin at a big maintenance nightmare How secure can your web app really be if all data access is open for anyone with "view source"?[Image][Image][Image] [Image] [...(truncated)...

Train to be a Keyboard Master with Keyboard Jedi

(Indexed 2007-06-03):

Key Jedi allows learning and training to use keyboard shortcuts. It can be used in presentations, screencasts and videos, as well as when working with someone else on the same machine to teach new shortcuts. It shows a visual list of shortcuts as you type them, no matter what application you work in. It is free, simple and quick to use. Download it here Version 1.5 is out, and this one has some major new abilities: Force yourself to only use the keyboard on a specific application Press Ctrl-Shi...(truncated)...

Automating web tests with FitNesse and Selenium

(Indexed 2007-05-30):

Here's a nice article details to little known tools in the "mainstream" developer community: Selenium, a browser and web automation framework, and Fitnesse, an acceptance and integration automation solution that uses a Wiki style for managing the tests and data. To be clear, these are pure integration tests, and not unit tests. They might be using some sort of a unit test framework to do their bidding, but they are testing integrated parts of a full running application, they require configuratio...(truncated)...

Key Jedi 1.03 (Renamed from ShortWatcher)

(Indexed 2007-05-29):

It occurred to me that the previous name for this tool had kind of a nasty meaning for some people, and, although it may have brought me more google search links for "watching shorts", it's definitely not what I meant. So, Here's a whole new name and version for this application, inspired by the notion of "Resharper Jedi". [Image] Key Jedi will list keyboard shortcuts as you use them. It is a global keyboard hook that will work with ANY application you use. It might be useful for presenters and...(truncated)...

Introducing ShortWatcher: Show your keyboard magic while presenting

(Indexed 2007-05-28):

This is a quick a dirty solution to something we thought about during DevTeach. Wouldn't it be cool if there was a tool that would show in real time any shortcut keys that were pressed in your favorite application? that way, in your presentations and screencasts, people could follow up on your important keystrokes and learn how to use keyboard-power-tools such as Resharper. So I made ShortcutWatcher. You can download it from here (34k). There is a second version that will capture keystrokes in ...(truncated)...

Team Build Ticker for your system tray

(Indexed 2007-05-26):

I've been asked what is this nice tool that I have that notifies me of finished Team Builds from VSTS. It's free and simple, and called "Build Ticker:. You can grab it here: http://blogs.msdn.com/abhinaba/archive/2006/08/09/693234.aspx [Image][Image][Image][Image] [Image] [Image]

OR/M Smackdown - Ayende Vs. Ted Neward

(Indexed 2007-05-26):

The "Object Relational Mapping" Smackdown show between Ayende and Ted Neward has hit the blogsphere, recorded on .NET Rocks. I've listened to it live, and have not listened to the edited version, but judging from the comments on Oren's blog post about this, it seems that many people are taking Ted to task on how he argued for his side of things. some random quotes from the comments: "Ted really lost the plot, however, when he started advocating db4o as a good solution.." "Ted used a fair few ch...(truncated)...

It's Time For Violence: A song about Databases

(Indexed 2007-05-19):

It's my pleasure to introduce the first "production" of one of my developer songs, which I've also sung at the awesome DevTeach conference. The song talks about my experiences working with a database on a project not too long ago.. I hope you find it... familiar. This was done with CoolEdit pro, with about 6 tracks of audio, each recorded on my laptop, with a special Guitar to USB Cable I purchased. It's hardly production quality, but I think it's "listenable" enough for people to enjoy. Down...(truncated)...

Easier Winform UI Thread Safe Methods with DynamicProxy2 and Osherove.SimpleInterception

(Indexed 2007-05-19):

Wouldn't it be cool if you could write something like this in your winform apps? :[RunInUIThread]protected virtual void DoSomeUIStuff(){this.Text = "hey"} Download the binary files from here. (here are the source files) Inspired by Ayende's talk at devTeach where he showed using Castle Windsor, I decided to take a closer look at how to implement a UI-Thread-Safe solution for winforms, based on his talk. With a little help from Oren, it took about 5 minutes to implement the basics using the won...(truncated)...

Impressions from DevTeach - Wow!

(Indexed 2007-05-19):

I've my my share of rest from DevTeach, and now, as I prepare for next week (going to Edmonton and Winnipeg for user group talks), I have some time to reflect about the past week, and tell you some of my thoughts about this wonderful, wonderful conference. First thing is first - This is by far the most fun conference I've been to both as a speaker and as attendee. Because less than 500 attended (I think), it was really easy to interact with a lot of people at the conference, including geek dinn...(truncated)...

Learning new technologies: Is C# is XAML for the CLR?

(Indexed 2007-05-16):

Oren's way of learning new things seems to be radically different than mine. Learning WPF, for example. I currently have 3 books on WPF: Adam Nathan's book (the one with all the pretty colors and XAML examples ("XAMLPES" ?) [Image]Windows Presentation Foundation Unleashed (WPF) (Unleashed) Petzold's book (the one who was dissed in CodingHorror) [Image]Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation (Pro - Developer) Sells & Anderson...(truncated)...

NDemo - Demo Driven Development?

(Indexed 2007-05-16):

One of the people I met in DevTeach yesterday was Ben Monro. I'm pretty sure this is his blog. Ben asked me if I've heard of NDemo (same concept as JDemo which I've also never heard of). No I didn't. But it sounded cool! Ben is the creator of NDemo, and here's what the site has to say about it: "NDemo is an open source framework for creating automated testable demonstrations in .NET. With NDemo, .NET developers can create automated demos in much the same way they create NU...(truncated)...

Learning new technologies: Is C# a XAML for the CLR?

(Indexed 2007-05-16):

Oren's way of learning new things seems to be radically different than mine. Learning WPF, for example. I currently have 3 books on WPF: Adam Nathan's book (the one with all the pretty colors and XAML examples ("XAMLPES" ?) [Image]Windows Presentation Foundation Unleashed (WPF) (Unleashed) Petzold's book (the one who was dissed in CodingHorror) [Image]Applications = Code + Markup: A Guide to the Microsoft Windows Presentation Foundation (Pro - Developer) Sells & Anderson's book (haven'...(truncated)...

Tips for a successful team lead

(Indexed 2007-05-03):

A few days ago I gave a talk in front of a crowd at Intel Israel. It was actually three talks, and the first was about project management and Team System. I specifically took that talk into a bit of a different direction, and besides showing off VSTS, I also gave some tips for being a successful team and project lead. Heres a partial list of those tips. Some of them can be seen in various Agile methodologies, but taken as simply tips, they can improve the quality of your project-life wi...(truncated)...

What build tool do you use? And TFS Vs. Open Source Round 3

(Indexed 2007-04-29):

Ah, Oren. You amuse me yet again, you OSS guru you ;) (he replied about my earlier post regarding using TFS Vs. Open source tools) (No I don't have shares in Microsoft) (I also do consulting on TFS) (I also do Consulting for Configuration management using open source and commercial tools, many times connecting tools from both worlds together) Oren: "Let me put it in the simplest terms that I can, TFS puts me out of the zone. That is simply unacceptable, period. If I need to be aware of "D...(truncated)...

What Source Control tool do you use? And more on TFS Vs. Open Source tools

(Indexed 2007-04-29):

Regarding my last post, Oren (Ayende) points out that regarding TFS's features, he can either find a match for them in open source land, or he doesn't really care about them. What bugs me is whether, assuming you can find and create such a solution out of a package of open source applications working together that operate with the same level of integration as TFS, can you still handle the things that matter to the organization using your solution: Maintainability: Granted, it's not easy ...(truncated)...

TFS or not? Being a perfectionist in a realistic world

(Indexed 2007-04-29):

Oren pointed out that he would run away from TFS because its not a zero friction tool. He does have some valid points, mostly about the length of time some of the source control actions might take, though personally I havent found this to be much of a problem. I'd usually say "stay clear of all-or-nothing recommendations" but Oren's is a special case because I know him and respect his opinion on many matters. However, I think that Oren is making one big mistake: he's throwing the baby out with...(truncated)...

We're hiring Team System People - Are you passionate enough?

(Indexed 2007-04-28):

It's that time of the year again. Our Team System team at Sela is looking for good people with (hopefully) existing skills regarding Visual Studio Team System, but definitely .NET programmers who aren't afraid to work alone on cutting edge integration and IT projects involving team system for our clients. If you Have at least 1 year .NET programming experience Worked with Team System before like to work with clients like to program Have a passion for Configuration management (Automated builds, ...(truncated)...

See you At the DevTeach Agile Track!

(Indexed 2007-04-27):

I'll be speaking at the upcoming DevTeach in Canada on the 15th Of May on the following topics: Agile Development Q & A Techniques for testing Data Access Code Continuous Integration Tools in .NET Panel: Open Source in the Microsoft Community And yes, I'll be bringing my guitar along for a small song at the end of each session! I'll also be joined by two other Israeli bloggers in the Agile Track, organized by noted blogger Scott Bellware: Oren Eini (Ayende), creator of RhinoMocks and many other...(truncated)...

Poll: What Mock Frameworks do you use?

(Indexed 2007-04-27):

I've been looking for a good way to add simple polls to my blog for a while now, and then I came across this blog post which reviews 12 free online poll sites (some of them actually dedicated to bloggers). I chose PollDaddy(they also have a blog) and you can now take a short poll (no registration or redirect!) about what mocking frameworks you use at your workplace or at your home. (it's the same poll that I put on my previous blog post, so feel free to answer just one of them - it's the same on...(truncated)...

Choosing a Mock Object Framework

(Indexed 2007-04-26):

My upcoming book is going forward ever so slowly, mostly due to my beautiful new son, Itamar, which seems to be changing everyone's priorities, by simply being the cutest little person that he is (at 4 months). Still, I'm struggling to bring myself to write more, and it's a tough job. I simply feel less strongly about everything technical these days, but it's slowly coming back to me. I'm currently struggling with Chapter 5, which is currently titled "Mock Object Frameworks". My current dilemm...(truncated)...

Microsoft acquired TeamPlain web client for TFS - Get your free download today

(Indexed 2007-03-27):

This is the news of the day and you might have seen it in other blogs & news posts. Brian's blog talks in detail with screenshots at http://blogs.msdn.com/bharry/archive/2007/03/26/microsoft-ac...(truncated)... . Effective today, TeamPlain is available, at no additional charge, to users who own a Team Foundation Server and can be downloaded from here[Image] [via Narend][Image]

Remote Pair Programming with collaborative text editors

(Indexed 2007-03-16):

Pair Programming when working with remote teams is somewhat of a problem, until you start counting in the fact that Collaborative Text Editing between remote location is supported in some text editors as a primary feature. Gobby and MoonEdit are two that I know about, but when will we see something like this for Visual Studio .NET? I'm pretty sure the latest version of SlickEdit has something like this as well, right? Know any good add-ons or tools that will allow remote Pair Programming with .N...(truncated)...

Test Reviews Vs. Code Reviews - Some Helpful Tips

(Indexed 2007-03-13):

One of the things that I like to show people during my TDD courses, is how much easier it is to do a test review rather than a simple code review. A code review is like literally debugging the code with your eyes, trying to understand not only how it works, but what it's trying to do. The latter is much harder to understand from reading code, because understanding why things are the way they are requires looking at the meta level of the code. Stuff like "oh, so you're looping here and your thro...(truncated)...

JUnit 4 feels like NUnit with attribute-like syntax

(Indexed 2007-03-07):

I'm doing Test-Driven-Development with Java course, after having not done one for a long time, and I was browsing through my samples and online to see if anything interesting in JUnit land has happened since last time. And there sure is! JUnit 4 is out and allows using Java Annotations (Java's version of .NET Attributes if you will) to write tests. No need for inheritance anymore, or to begin test names with 'test". simply use annotations: Here is an example takes from this blog, which has a mor...(truncated)...

Code Generation using LINQ Expression Trees and .NET 3.0

(Indexed 2007-03-04):

via this thread on theServerSide I found this very interesting blog which talks a lot about C# 3.0 news features, including deep hacks and tricks using LINQ and Expression trees in .NET 3.0. For example, he shows how to do code generation using the Expression tree API instead of using IL, CodeDOM or anything else. Very interesting![Image]

Testable Designs - Round 2: Tooling, Design Smells and Bad Analogies

(Indexed 2007-03-02):

Eli Lopian, the guy who runs TypeMock.NET(An amazing Mocking product, BTW - a bit too powerful for it's own good, perhaps) and myself share what seem to be conflicting views on how "Testable" object Oriented applications should be out of the box that is, should or shouldn't you be considering Testability when designing your software, and how much would you let Testability considerations change your design (add interfaces, exposes some methods, allow polymorphism etc..). I suggested creating "T...(truncated)...

Introducing FxCopUnit - A framework for integrated FxCop rule testing

(Indexed 2007-02-25):

This post is a continuation of my Quest to test FxCop rules. The previous one was about writing pure unit tests for FxCop rules. This one is about writing Integration tests with a new framework Ive developed called FxCopUnit. For the past few days Ive been struggling with FxCop Ive been Reflectoring the hell out of it (Reflector 5.0 is amazingly cool). The purpose of all this fussing around is to create some sort of usable framework that would allow an easier testing experience for creating c...(truncated)...

Why you should think about OOTP - Object Oriented Testable Programming

(Indexed 2007-02-25):

I think it's time that Object Oriented DesignProgramming got a little face lift. We live in interesting times, where quality and the quest for testability and continuous integration are starting to sprout all over the development world. It's in these times that one needs to think about one simple fact - in many ways, pure object oriented design does not go well hand in hand with the notion of testable design. I wrote about a classic example of this in this post - FxCop is removing Testability ...(truncated)...

FxCop is heading in the wrong direction - No testability whatsoever

(Indexed 2007-02-25):

If you don't know what FxCop is, go look. You'll like it. In response to my release of FxCopUnit which allows an easier experience testing out FxCop custom rules, David Kean of the FxCop blog posted his thoughts on the matter. I highly respect the folks doing this work, this is a very powerful tool, but what David posted worries me very much. From his post: "Unfortunately, his approach is not going to work in the next version of FxCop/Visual Studio for a couple of reasons. 1) We did some work ...(truncated)...

Why you should think about TOOP- Testable Object Oriented Programming

(Indexed 2007-02-25):

Update: Mark has a point - Using "TOOP" and "TOOD" are catchier acronyms - I've changed them accordingly. I think it's time that Object Oriented DesignProgramming got a little face lift. We live in interesting times, where quality and the quest for testability and continuous integration are starting to sprout all over the development world. It's in these times that one needs to think about one simple fact - in many ways, pure object oriented design does not go well hand in hand with the notion...(truncated)...

Writing real unit tests for your custom FxCop rules

(Indexed 2007-02-24):

Its possible to create elegant small tests which require little to no configuration whatsoever that test out your custom rules ability to verify problems. (I'll be discussing a framework for FxCop integration testing in a later post) Heres a sample unit test: You'll need to add a reference to three libraries (on my machine they were located under C:Program FilesMicrosoft Visual Studio 8Team ToolsStatic Analysis ToolsFxCop ) FxCopCommon.dll FxCopSDK.dll Microsoft.Cci.dll [Test] public void Invo...(truncated)...

Naresh Jain - Great Agile Blog

(Indexed 2007-02-11):

I've found this great Agile Related blog by Naresh Jain. Naresh works for ThoughtWorks (These guys just keep getting better and better people!) and has lots of information and knowledge about Agile Development Techniques and Using Tools like Fitnesse (An framework for integrated testing). Through his blog I've found out that there was a very unique conference called "Simple Design and Testing" Conference, which features folks like Ron Jeffries, Brian Marick and other Agile Figures. Here are the ...(truncated)...

Nice Israeli Blog from the AgileJava World

(Indexed 2007-02-03):

Guy Nirpaz is VP R&D of GigaSpaces from Israel. He's a strong Agile proponent, and runs an interesting blog with an Agile slant, talking about Java Development, his open source projects, and how they are successfully implementing the Scrum Agile Methodology in their organization. Much like Ayende, he talks a lot about containers and Inversion of Control, but from the Java Perspective. A nice blog to have in your RSS reader to get some points of view from the Java Side.[Image]

Feedback on the Israel Microsoft Developer Academy?

(Indexed 2007-02-03):

There's quite a lot of feedback going on about last week's Microsoft Developer Academy in Israel both from the presenters and from the comments on their blog posts. Tapuz Forum Omer Shahar Gvirtz (the 14 year old presenter at the show) Guy Yosi Taguri Tal Adi Lior Tzoref I'll see if I can summarize it for those of you without time to read through: Great content (not fluff) no marketing content, very deep lectures, very little disappointment from the talks (those who got to actually attend th...(truncated)...

Keyboard shortcuts posters and introducing Enso Launcher

(Indexed 2007-01-30):

Rob posted about a whole bunch of keyboard shortcuts posters for Visual Studio. As a keyboard junkie I agree that you should *know* this. One amazingly cool tool I've found to help me with my keyboard addiction is Enso Launcher and Enso Words (found via Scott's blog). I love the interface and I love the fact that you use CAPS lock to run commands. finally, I've found use for this crappy little key. [Image]

Catch me speaking at DevTeach

(Indexed 2007-01-29):

I will be speaking at the upcoming DevTeach conference in Canada this upcoming May. It's my first time to DevTeach and even to Canada for that matter. Exciting! The talks I'll be giving at DevTeach are : Continuous Integration Tools in .NET Techniques for Testing Data Access code (probably) Introduction to Agile Development Concepts I'm happy to say that a couple of other Israeli presenters (and bloggers) will be speaking at DevTeach this year: Oren Eini and Udi Dahan. After DevTeach I may b...(truncated)...

Cheat Sheets for ASP.NET, Regex, Mock Objects and more

(Indexed 2007-01-29):

Ah, I love cheat sheets! You can hang them up on a wall, and then look at them when you need to remember how to do something. Looks like there is some very thorough cheat sheets for regular expressions over here.(via Mike). You can use them along with Regular and Regulazy to do you Regex stuff. There are lots more Cheat sheets here for ASP.NET, CSS, HTML etc.. Now, here's something you'll find very helpful if you do unit testing with Mock Object frameworks such as NMock. Cheat sheets for Mock...(truncated)...

How to save a streaming MSDN Showtime video locally

(Indexed 2007-01-28):

Update: Daniel has graciously supplied a very easy solution to this problem: Using the VLC player to download and transcode the stream into a file on the local system. Very easy indeed! See the 2nd and 3rd comments on this post for more details. If anyone has any idea how I can save the video of the presentation I did here: http://msexp.streamnavig.com/msexp/player.asp?e=E0068&s=0337...(truncated)... It would by greatly appreciated if you let me know about the steps to achieving that. Heck, the...(truncated)...

Using TFS Integrator to manage complex project dependencies

(Indexed 2007-01-28):

One of the clients I went to today had an interesting dilemma relating to managing references in source control between projects. Their situation is not unlike many other companies: they have an infrastructure team that creates regular releases of the basic APIs that many internal projects in the company use to create applications. The problem is, what happens when a new version is releases and the other dependent projects need to be updated with the new version of the framework? To make this ...(truncated)...

New Job - Looking or New People!

(Indexed 2007-01-22):

It's been a while since I last wrote, but things are a bit.. hectic. Itamar (our new child!) is amazingly beautiful, but I don't recall ever being as tired as I am these days. waiting for the 3 months mark :) In any case, For the past few months I've started leading the Team System and Agile Development Fields at the Sela Group here in Israel. If you don't know it or you *think* you know it, here's a little run down of what Sela Does: Consulting, Coaching and outsourcing technical knowledge T...(truncated)...

New Job - Looking for New People!

(Indexed 2007-01-22):

It's been a while since I last wrote, but things are a bit.. hectic. Itamar (our new child!) is amazingly beautiful, but I don't recall ever being as tired as I am these days. waiting for the 3 months mark :) In any case, For the past few months I've started leading the Team System and Agile Development Fields at the Sela Group here in Israel. If you don't know it or you *think* you know it, here's a little run down of what Sela Does: Consulting, Coaching and outsourcing technical knowledge ...(truncated)...

Team Data and the Database publishing wizard

(Indexed 2006-12-20):

Update: Sachin from the DB Pro team has alerted me that indeed creating the script is possible with DB Pro edition. Coolness! BTW - he just published a white paper on using DB pro to write database unit tests. This is something very powerful in potential, but there is still much work to be done in this area in terms of usability and maintainability of tests. The all new "Data Dude" for Team System is amazingly cool and people who see it for the first time love it. I got a question from a potenti...(truncated)...

Catch me talking Agile at the Israeli .NET Architects user group

(Indexed 2006-12-14):

I will be giving two talks at the upcoming .NET Architects user group this month (December 24). More info here. The talks I will be giving(Guitar is still in question...): Part I: Introduction to Agile Methodologies and Concepts Ever knew on your first day on the project that you're going to miss the deadline? Ever been 'surprised' that the customer changed their mind? Ever had long nights trying to fit your latest changes into code that just keeps on breaking? You're not alone. Wondering where ...(truncated)...

Unit Testing your ASP.NET Validators - Validation Everywhere

(Indexed 2006-12-10):

heynemann just posted about a very nice and testable validation framework for ASP.NET called "Validation Everywhere". "The Validation Everywhere project was born because I have a very complex UI that I need to unit test. This UI is built using MVP Architecture (Powered by NMVP), but in ASP.Net it has a lot of Validators logic to perform UI Validation. Since this logic is extremely complex I need to unit test it. ?" Example can be seen here. I'd highly recommend taking a look, mainly because if ...(truncated)...

BSDAgile - Team System Project Template for Extreme Programming

(Indexed 2006-12-09):

Now, how come I didn't notice this one before? BSDAgile - BSDAgile is a Methodology Template for Visual Studio Team System (VSTS). It is intended to provide an ultra-lightweight process for people building software in small teams using VSTS. It promotes the idea of starting with a very simple process and then adding complexity as its needed. People who are doing Extreme Programming may find this a better starting point than MSF Agile. What's important to note here is the list of the members on...(truncated)...

Video: Implementing Continuous Integration: With and Without Team System

(Indexed 2006-12-09):

Paul just alerted me to the fact that my TechEd Europe presentation on Continuous Integration with and without Team System is now available online at MSDN Showtime. Implementing Continuous Integration: With and Without Team System [Image]In this session we'll dive into a world where the system is built and run on a daily basis, and even on an hourly basis. We'll discuss Tools and Libraries that help you get there with VS 2003, 2005 and Team System. Even with Express tools - it's all possible, ...(truncated)...

I screwed up with a client. Here's what I've learned.

(Indexed 2006-12-06):

Several days ago I finished a very angry phone call from one of my clients. They were letting me know how disappointed they were in me for letting them down, and how I just cost them a whole bunch of money and time for nothing. They were right. I screwed up. Ive been running my own little business for over two years now. Ive had ups and downs, and Ive learned plenty by just trying to do things, but an angry client who Ive completely let down is something that I never faced until this week. So, I...(truncated)...

Extended Unit Test Attributes for Team System

(Indexed 2006-12-05):

Justin Burtch just posted a handful of cool attributes that extend the basic testing attributes within Team System's unit test framework. Some of those include [Rollback] - to rollback DB changes after the test [TimedTest] - fail if time expires [EnvironmentVariable] - Set Env.. var to a value for the duration of the test [ParameterizedDataMethod] - kinda like MbUnit RowTest Very cool Justin![Image]

Hello DataDude! Team System for Database Professionals is RTM

(Indexed 2006-12-04):

From Matt Nunn "On Friday 1st December 2006 the development team officially announced that Data Dude was done and was being released to manufacture. It should be available for download to MSDN subscribers on December 7th 2006 and generally available for purchase on January 1st 2007." This is great news. I gave a 30 minutes talk today at a QA Gathering in Israel about this tool, and how it enables better testing scenarios coupled with the whole lifecycle management idea that is team system. The...(truncated)...

HnD - Open source forums and support backed by LLBLGen 2.0

(Indexed 2006-12-04):

Frans Bouma, one of the people I highly respect in the blogsphere as an architect and ISV (Built LLBLGen - one of the strongest ORMs out there for .NET) Just released HnD, which stands for Help and Discuss - an open source forum and support system built on top of LLGBLGen data access. "Yesterday, we released HnD, which stands for Help and Discuss, our own customer support system and forums software! HnD has been released as free, open source software under the GPL v2 and uses ASP.NET 2.0, SqlS...(truncated)...

New research shows SQL Server 2005 more secure than Oracle

(Indexed 2006-12-01):

Could it be true? A research shows that there were no security flaw fixes in SQL 2005 since its release (it does not show non-fixed flaws) compared to Oracle. Is Microsoft's Secure Development Lifecycle initiative paying off? [Image] From the article [PDF]: "When you look at the graphs, Oracle was pretty secure in the past, but since 2005 the number of security flaws has increased immensely. When we look at the previous SQL Server versions, less security flaws were reported over the years. Whe...(truncated)...

I'm looking for a great DBA!

(Indexed 2006-11-25):

I'm looking for a DBA (SQL required, oracle is a plus) to join my team at Sela and become a guru on the DB Developer side of Team System. This person needs to have several years experience as DBA in real projects. Your job will be to learn and become an expert on everything that is Data Dude. You will present and train clients, research solutions, create courses (and teach them), present at conferences, and will be getting to be part of a highly trained task force that deals with Team System. I...(truncated)...

Solving "An error occurred while enlisting in a distributed transaction" error when using Rollback Attribute or COM+ in unit tests

(Indexed 2006-11-25):

One of the things I'm most proud of creating is XtUnit, which allows Rolling back the effects of a unit test against a database. (which really means its an integration test - maybe we should call these hybrids "coded tests"?) MbUnit added the same attribute to its core attribute set and now people are starting to get weird errors sometimes when using the rollback attribute: "An error occurred while enlisting in a distributed transaction" Steven Harman has a good explanation of what you should do...(truncated)...

I'm looking for a great tester to work with me

(Indexed 2006-11-19):

I'm looking for great people to help me drive the Team System Field which I am running through Sela. The first thing we need is someone who can become our Testing with Team System Guru. More jobs will come later. Hardcore testing, web testing and load testing with Team System You don't need previous team system knowledge, just previous testing knowledge and the urge to learn cool new powerful things. You live in Israel and can work in Ramat Gan (where Sela is located). You like to be at the top...(truncated)...

MVPs Week - Full week of hardcore training from Experts4D

(Indexed 2006-11-19):

Great news for the Israeli Dev Crowd! I've known Ohad Israeli for more than a couple of years now - we met when I worked at Magen as a consultant. He's a great guy with great knowledge and abilities. Now Ohad is partner with Eyal Vardi, another talented individual, and together they created Experts4d.com - their own consulting gig here in Israel. Their first step - MVP Week. What a great idea! This feels like something that should happen once or twice a year (which Ohad promises to try and do). ...(truncated)...

Scrum Vs. XP - Why Scrum is easier to sell

(Indexed 2006-11-17):

One of the things I talked about during my Pre-con sessions ate TechEd Barcelona was how to Implement Scrum using Team System and the Scrum For Team System Project Template. I like XP, but I really like Scrum as a methodology for several reasons: It's pretty open to customization It talks about the iterations planning, release planning and solely lies in the real of management practices. It says nothing about Engineering practices (besides Estimation) - leaving much leg room to do whatever you...(truncated)...

Final updates on Israeli Blogger Dinner on Monday

(Indexed 2006-11-17):

Omer has an update on the the Blogger Dinner this coming Monday (read it all here in Hebrew) : Monday 21:00 Papagayo (Azriely center Tel Aviv - Kosher) 10-15 people are coming! I'm defiantly there! Yosi - hope I'll see you there :) If you want to come as well, contact Omer through this link and tell him. P.S - MS Israel is looking for new people to help with .NET Adoption. Yosi has more details here. It's a cool job if you can make it:)[Image]

How to waste time with people you highly respect

(Indexed 2006-11-17):

What do you do if you happen to be sitting at the same table with David Chappell (SOA and architecture guru), Steve Swartz(Architect for BizTalk and in charge of many many people at MS) and Clemens Vasters(Architecture Guru)? After the speaker dinner at TechEd EU Barcelona(traditional dinner where speakers gather at the end of the conference to talk about how cool we think we are and pat each other on the back, while eating good food), a bunch of us decided to head down to the beach front and fi...(truncated)...

TeamLook Integrates Into Team System Projects From Outlook

(Indexed 2006-11-17):

TeamLook looks like a great way to Integrate Team System Projects into everyday outlook so that anyone who needs to can see it from something that's always open on their desks: Outlook. "Personify Design TeamLook extends Microsoft Outlook so that all stakeholders in a software project can communicate more effectively and gain accurate visibility into project status. TeamLook connects to Visual Studio 2005 Team Foundation Server and enables users to view WorkItems, Reports, and other artifacts...(truncated)...

Managing team build files sucks a little less with Attrice SideKick for VSTS

(Indexed 2006-11-13):

Oh, I could have seriously used the Team System Add-on from Attrice's SideKick project last week at TechEd when one of my Demos Broke. The add-in allows version control operations for selected build type to be performed in Team Explorer. It provides the following commands: Check out selected build type .proj file with single click Edit checked out build type either in Visual Studio or in user's editor of choice Check in modified build type files with single click Undo check in on build typ...(truncated)...

Que Sera Sera - How was TechEd Developers Europe?

(Indexed 2006-11-12):

Yosi just posted the video if me singing "Que Sera Sera - the project moved overseas" in front of 630 people. One of the scarier things I've done - and one of the most fun at the same time. It came at the end of a talk about Agile Development Concepts and methodologies that I had on day 1 of Tech-Ed Europe in Barcelona last week. I've had 3 other songs which should be popping out soon in unexpected places. I'll refer you to them when I see them :) TechEd was a blast. In terms of the goals I had ...(truncated)...

People find use for my sessions

(Indexed 2006-11-08):

It's nice to know I've helped people in my sessions yesterday. Miguel started using a naming best practice I suggested in my Test Driven Development Session - give your unit tests a name that divides into 3 parts: MethodName_StateUnderTest_ExpectedBehavior() Red Dog liked the extensibility and notification mechanisms in Team System that I showed (I used them to create a Continuous integration solution with TFS) Feels all warm and fuzzy :)Share this post: Email it! | bookmark it! | digg it! |...(truncated)...

SQL Refactor looks cool

(Indexed 2006-11-07):

If you do any work with stored procedures and SQL databases, SQL Refactor should look very interesting to you...Share this post: Email it! | bookmark it! | digg it! | reddit![Image]

Agile Development Sessions - Slides and Demos from TechEd

(Indexed 2006-11-07):

Update: here's a video of my draft song before the preconference... Que sera sera... Yesterday was a full day of pre-conference goodness. I've had a blast doing 4 sessions dealing with Agile Development within a team system Environment. As a special treat I've also brought in my Acoustic guitar which I had hooked up to an amp , and after each session, I sang a little "cover" song about the last session's topic. So I have 4 songs: Agile Development, TDD, Continuous Integration and Scrum. I was re...(truncated)...

Project Server Connector for Team System RTM announced

(Indexed 2006-10-26):

One of the issues that many people have faced when moving to Team System was how to integrate it with their existing project management software. Specifically, Microsoft Project Server. Team System can already connect to Project professional, but project server is a much more robust solution for managing multiple projects and resources in parallel. There was a sample Team System Connector for project server that worked with Beta 2 of team system, but the RTM version suffered for a long time unti...(truncated)...

MomPC - Creating a parent safe PC

(Indexed 2006-10-25):

As many techies out there, Im also the primary technician and support personnel for my parents mainly, my Mom. Herein lays the problem. My mom is not really a computer whiz. In fact she doesnt know how to do much besides using Work, Email and the occasional game. Except one thing. If theres one thing my mom is really good at when using the computer it is making it crash, crawl and beg for someone to just kill it. She would click on every email link, site link or file shortcut in site (and t...(truncated)...

Israeli .NET bloggers you should read

(Indexed 2006-10-23):

I wanted to draw your attention to several prominent Israeli Bloggers in the world of .NET that I know and respect. (I'm only mentioning those that post regularly - I know and respect many more, but they don't write at all, or close to that, unfortunately) Udi Dahan Udi is an architecture geek, and the word 'SOA" is written all over his forehead. still, he likes to take a pragmatic approach to things and comes up with many interesting ideas and concepts about software architecture. He also writ...(truncated)...

How to run web services and sites on the same box as sharepoint (avoiding "404 Page Not Found" errors)

(Indexed 2006-10-23):

I just finished a 6 hour "chase-around" session after what seems to be the most annoying problem I've encountered. The problem I had was this: I was using the Virtual PC image that can be downloaded from MSDN Subscriber downloads : it contains the following installed: Team Foundation Server RTM Windows Sharepoint VS 2005 IIS 6 Windows Server 2003 Everything is working great out of the box when you use Team System, browse to the team project portal and such, but one little thing. If you try ...(truncated)...

MSDN Premium auction for Africa

(Indexed 2006-10-19):

If you're an MVP who got the "MSDN Card Giveaway" thing early this year but had no idea how to give it out, Jamie Cansdale has a great idea that might actually help people who really could use some help. "I'm thinking of organizing an auction along the same lines as the one Julia Lerman did for Banda Aceh. My father is currently involved in the setting up a pump workshop in Malawi. The pumps they will be manufacturing are made from ABS plastic and are virtually indestructible. The only perishab...(truncated)...

MassDataHandler: generate test data to help with data layer testing

(Indexed 2006-10-15):

Yet another tool to help with integration tests against the database layer(got this by email: "I wanted to let you know about an open source tool I created to help unit test the data access layer. http://www.codeplex.com/Release/ProjectReleases.aspx?Project...(truncated)... This tool uses knowledge of the database schema to do all the grunt work and let you store your test data in an easy xml file. It has an API so that you can call it from within any test framework. The download has a 10-step...(truncated)...

DataFresh - Database rollback library for unit tests

(Indexed 2006-10-14):

A while ago I wrote an article about database unit testing, and the various ways you could "rollback" the database state to the way it was before the test ran. Today I got an interesting comment from Mike Brockey: "I have yet another solution to this very common problem. We have been able to isolate the steps for preparing a database snapshot, tracking the database modifications and then refreshing the modified tables back to their original state all using built in SQL statements. We call it...(truncated)...

How to get disqualified as an MVP

(Indexed 2006-10-11):

Jamie Cansdale is not an MVP anymore - his title wasn't renewed this year. "So what" you may think. "Who on earth is Jamie whatever?". Jamie is the guy that created TestDriven.NET (formerly known as "NUnit Addin") - one of the most successful free addins in the VS line, that, to my knowledge, has just roughly same amount of people using it daily as those that use NUnit - which is a lot. So why am I writing about this? Because I think someone made a mistake. Here is the notice Jamie got when his...(truncated)...

The Art Of Unit Testing - Download Chapter 1

(Indexed 2006-10-11):

I'm happy to announce that draft of chapter 1 from my upcoming book "The Art of Unit Testing" is available for download immediately - click here for the PDF. the book will also be available to download from Manning's home page. Chapter summary: Chapter 1 tries to give a better definition of what a unit test is, by first trying to understand what isn't a unit test (integration tests are often mistaken for unit tests). It also covers the basics of what makes a good unit test instead of just saying...(truncated)...

Good Agile, Bad Agile

(Indexed 2006-10-11):

Steve Yegge, an employee at Google, has a very interesting post where he separates "Bad Agile" from "Good Agile". I urge you to read this long post as it contains many points that try to explain what "Bad Agile" is. There's a lot I want to talk about in regards to that post, but first it's important to read it (and it's 180+ comments) to get an idea of Steve's thoughts. Regardless of his thoughts, he describes Google as the ultimate place to work for. The stuff he mentions that goes on there sou...(truncated)...

Installing VS 2005 SP1 Beta on Vista RC1

(Indexed 2006-10-10):

Installing Visual Studio 2005 SP1 Beta on Vista RC1 sounds like a common task until you figure out the UAC - User access control, and the enhanced security functionality in Vista. You may find that your install suddenly just stops in the middle or does not work at all. The solution is quite simple: You need to run the Setup as an Administrator on the machine (shift right click, "run as"), and from then on, you need to also run VS 2005 as Administrator on the machine (you can define a shortcut on...(truncated)...

Avoid multiple asserts in a single unit test: revisited

(Indexed 2006-10-04):

James Avery argues that what he'd really like to see in a unit test framework is the ability to run (and fail) multiple asserts within the same test. As some background, I personally am in favor of the "single assert per unit test" idea for several reasons, the most prominent of them is that currently, all unit test frameworks I know in .NET will fail the test on the first failing assert call. The reason this is how it works is that the framework detects failure by catching a special type of exc...(truncated)...

My sessions at TechEd Europe 2006

(Indexed 2006-10-02):

here's the current list of sessions I'll be doing at Tech Ed Europe: Developers: (Note: the Test Driven Development Chalk & Talk is in the morning after the Tech Ed Party - if you're there - you're hardcore :) ) ARC207 Introduction to Agile Methodologies and Concepts Tue Nov 7 14:15 - 15:30 Ever knew on your first day on the project that you're going to miss the deadline? Ever been 'surprised' that the customer changed their mind? Ever had long nights trying to fit your latest changes into c...(truncated)...

U2U refuses to work with Israelis due to ' War crimes and apartheid' in Israel

(Indexed 2006-09-27):

Here's a story that made me angry. It involves a Belgian company called U2U. A company that I personally got to meet some of its employees when I was at teched europe. According to a news story on YNet(Hebrew) - an Israeli newspaper with an online extension, the CEO of U2U, Wim Uyttersprot, has refused to do business with an Israeli company (who was not named in the article) due to the war we had in Lebanon less than 2 months ago (which was totally justified after a few Israeli soldiers were ...(truncated)...

Notes from my .NET Rocks show on Regex

(Indexed 2006-09-27):

Notes from my.NET Rocks show: I say waaay to many "uh"s and "you know"s and "for example" One big mistake in the Regex tutorial : i said "." means "zero or more of something" but it's actually " * ". Note about the various regex frameworks out there: Think of the difference between the different regex libraries out there like the difference between Ansi-SQL and PL-SQL: same - but different capabilities based on same basic standard The part about Source Server in the end is totally not unders...(truncated)...

Using TypeMock vs. Design for testability

(Indexed 2006-09-27):

Eli Lopian, the Israeli guy who is now running TypeMock - one of the most powerful Mocking frameworks out there for.NET developers, opened a blog. I personally know the guy and he is a brilliant coder and architect - so it's worth listening to what he has to say. For example. in this post he lists resources for and against using TypeMock because of the design issues you can run into - you don't have to design for testability if you use it - you just intercept all calls to objects(even static on...(truncated)...

.NET Rocks: Regular Expressions with Roy Osherove

(Indexed 2006-09-26):

My .NET Rocks Interview about Regular Expressions in now officially online and I am excited! I'll have a good listen at my walk tonight, so if you get to listen to it first, your comments are welcome on this post. I'd be happy to hear whatever criticism you have - I'll even review myself on the blog after I listen to it. I promise to be as objective as possible :) We're also planning to do a DNR TV show where I'll show Regex in use (I think I'll show how to do site scraping very easily, or log ...(truncated)...

Problem: Underlying HTML from a selection inside WebBrowser Control produces different HTML than the original page

(Indexed 2006-09-25):

here's a problem I've been trying to deal with: the WebBrowser control in .NET 2.0 Winforms. I'm trying to get the selected text's underlying HTML representation, and it works, kind of. IHTMLDocument2 doc2 = browser.Document.DomDocument as IHTMLDocument2;IHTMLTxtRange range = doc2.selection.createRange() as IHTMLTxtRange; string plainTextSelection = range.text; string selectionHtmlText = browser.DocumentText; string fullHtmlText = browser.DocumentText; My problem is that the html text from ...(truncated)...

Enter the Larkware Contest

(Indexed 2006-09-25):

If you haven't already entered, you should join the larkware 1,000 contest. It's pretty darn easy to join, and the prizes are awesome. In fact, I'll be joining my self by posting a link to a useful site. here's how you can enter: At the top of the Larkware home page you'll see the new "tell a friend" feature. Every time you refer someone to the site using this feature, your own e-mail address will be entered in a prize drawing that will be conducted when I publish #1000. You can also enter b...(truncated)...

The future of unit testing tools - MbUnit, NUnit, NMock and FIT

(Indexed 2006-09-25):

After I posted that I still recommend NUnit over MbUnit, and reading Andrew's response regarding how it's unlikely that MbUnit will freeze anytime soon, I started thinking some more. What if MbUnit keeps going and becomes the de-facto standard? If it's "freezability" is not an issue anymore, you're left to compare it by merits only to NUnit - which is interesting. Currently, MbUnit surpasses NUnit in almost every facet: amount of features, types of attributes, ease of extensibility, amount of ac...(truncated)...

TorPark - New anonymous, secure, free, USB-Key friendly browser

(Indexed 2006-09-25):

There's a new "Secure" browser out there, based on Firefox, called TorPark. "TorPark is a program which allows you to surf the Internet anonymously. Download Torpark and put it on a USB Flash keychain. Plug it into any internet terminal whether at home, school, work, or in public. Torpark will launch a Tor circuit connection, which creates an encrypted tunnel from your computer indirectly to a Tor exit computer, allowing you to surf the internet anonymously. How much does Torpark cost? IT'S FRE...(truncated)...

MbUnit vs. NUnit Vs. Team System Unit Testing - Choosing a unit test framework

(Indexed 2006-09-24):

MbUnit is gaining some momentum as one of the nicest unit testing frameworks for .NET out there. I just came out as an RC2 release with many new features an enhancements, including dull support for NUnit 2.4 Asserts - which is a big deal. The two coolest features that draw people to using it are: [Rollback] attribute that automatically rolls back any changes to the database that were made during that test method (using a method I developed with COM+ 1.5) [RowTest] attribute that allows declarin...(truncated)...

How Telerik won a blogger's heart - attention and openness

(Indexed 2006-09-24):

If you develop 3rd party controls for .NET Development, you should be taking notes Telerik's attention to customers - here's the full story. Chris complained about his overall problems with 3rd party controls, and Telerik's in particular (less than perfect docs, too many features that need to be turned off, too much HTML output in one of their ASP.NET controls etc..). A while later, he got a direct email from Telerik's CEO letting him know he read his blog fully, and explaining how they are plan...(truncated)...

Continuous integration with Team System and Team Foundation Server

(Indexed 2006-09-24):

Team foundation server is a monster. Seriously, it's so big and heavy, that trying to do something as simple as adding custom actions to a build process, reading the documentation and googling on how to achieve this is like drinking water from a fire hose: There's way too much to sift through It stinks After you are done you wonder if you weren't better off just sitting at home watching TV for a week. Take continuous Integration (CI for short)for example. The basic idea is that whenever a chec...(truncated)...

Faster builds of web projects with VS 2005

(Indexed 2006-09-24):

This goes out to all the folks who tell me that ever since they switched to VS 2005 - the time it takes to build their solution is very very long when talking about web projects. Stop blaming Resharper, folks. Here's what Scott Guthrie has to say about this: Keep the number of files in your /app_code directory small. If you end up having a lot of class files within this directory, I'd recommend you instead add a separate class library project to your VS solution and move these classes within t...(truncated)...

Setting up a technical blog online - some options

(Indexed 2006-09-24):

In the last few weeks I've been asked by several would-be bloggers here in Israel how they can start their own blog. Should they use custom blog software? what sites can they register to, how one goes about registering etc.. There are several blogging sites out there for technical bloggers, especially if you're from the Microsoft world that I know of. Unfortunately, weblogs.asp.net isn't one of them (at least for now). http://Codebetter.com is invite-only but there are others who are open for bu...(truncated)...

Blogging about embedded software development

(Indexed 2006-09-18):

Beniot Asks "Am I alone?" when it comes to Blogging about Embedded Software development. He's talking about hard core low level programming with C and C++ and Assembly and what not, not about the .NET Compact Framework (I think he's not, anyway. It's a new blog). From his blog: ".NET has news sites like Larkware, it has blogosphere celebrities like Chris Sells , Scott Hanselman, and Larry OBrien..." "... But what about the embedded world? Where are the high profile bloggers? WindRiver, GreenHil...(truncated)...

Test Driven Development Related Podcasts and a few other comments

(Indexed 2006-09-18):

It's been an Test-Driven few weeks in the .NET podcasting scene. If you're into it, here are some audio shows that should help you learn a little bit about this world. Hanselminutes has a couple of shows on the scene. The first one is about Test Driven Development. Scott introduces the concept in a clear and cornise way, and points to various resources on the web to go and learn more about it. This week he has a show about Mock Objects. The concept of Mock Objects, which many find quite a bi...(truncated)...

XP Simulation Blog

(Indexed 2006-09-13):

Here's a blog from someone who is simulating an XP project from start to finish. I find that the test naming are less than perfect, but I should read more before commenting on the real "meat". So far it seems to be delving mostly into Test Driven Development and unit testing (from a brief scroll down the blog). "This blog will simulate an XP project, from start to finish using the XP methodology. I won't be able to work on it continuously, or at least in true XP form (working live with customer...(truncated)...

TypeMock Bundled Up with TestDriven.NET

(Indexed 2006-09-10):

Looks like TestDriven.NET can now be purchased as a bundle package with TypeMock. Here is the announcement. Both of these products rock, though I suspect using the latter is a task most developers won't find interesting until they really get into the nasty stuff of unit testing legacy code or code that is virtually un-testable. In any case, it seems like a nice deal to use if you are getting into unit testing. Of course, you can still use whatever unit testing framework your hear desires - NUnit...(truncated)...

How to create your own Auto Login Remote Desktop Application

(Indexed 2006-09-09):

Speaking of Multiple Remote Desktops - it's not really that hard to build such an application. Microsoft had a "Microsoft RDP Client Control" ActiveX control that you can use in your apps. I've even went ahead and implemented a small proof of concept form (you can download it here) that opens a new remote desktop and does an automatic login user your supplied user name and password. The only "catch" is that the RDP control does not seem to have a method that supplies the user name and password ...(truncated)...

Video: Designing For Testability

(Indexed 2006-09-01):

You can now download my presentation video from DevDays Belgium Entitled "Designing For Testability" from last year. Stuff I cover in this talk: Basic design principles that help make sure your code will be testable Using "Fake" objects (Stubs and Mocks) and how Interfaces play a role Overcoming common hurdles such as Singletons, static methods, private methods, constructor logic and more You can download this via a torrent file (Be kind, keep seeding it after you've downloaded it): http://file...(truncated)...

Simple designs through Test Driven Development

(Indexed 2006-08-27):

Scott Bellware keeps on wowing me with his elegant way of putting ideas into words, sentences and paragraphs. If you are into Test Driven Development, you should be reading his blog. In one of his latest posts he talks about the value of simplistic design, and how you can achieve it with test driven development, despite your brain telling you to do different. here's a nice quote: "Imagine that you have the freedom to create the simplest, most uncomplicated, and easiest library to use. Writ...(truncated)...

Unit Testing Pros And Cons

(Indexed 2006-08-27):

"Unit Testing is teh suck" - this post, and some of the comments to it, represent just about every conceivable FUD (fear, Uncertainty, Doubt) about Unit Testing and Test Driven development I've heard, so I'd urge you to go and read that post and especially its comments. Why? If you're not sure about Unit Testing, you'll certainly be familiar with some of the fears and doubts mentioned there, which will make you feel better about yourself, but still when you read the comments you'll get a sense ...(truncated)...

The Art Of Unit Testing - Starting out My First Book

(Indexed 2006-08-25):

I'm happy to announce my new Book Project : "The Art Of Unit Testing". The book will use examples in .NET, but it should be general enough so that any java or C++ developer should be able to read it and learn things. I'll talk more about the book's contents in future posts.I'll be writing the book for Manning, and it should hopefully be out in time for Tech-Ed US, Next year (Spring 2007). I hope to blog about my experiences writing the book, and to share the readers with parts of...(truncated)...

Free E-Book: Developing Time-Oriented Database Applications in SQL

(Indexed 2006-08-22):

One of the books I mention in my Amazon Wish List is Developing Time-Oriented Database Applications in SQL (Morgan Kaufmann Series in Data Management Systems) . A few days ago I got an email from Steven Gravitz telling me that the book is actually available in downloadable PDF form for free. Here's the direct link (PDF). One of the reasons I was once interested in such a book was that I had to build and design a payroll system, which had many interesting facets relating to time. Mainly, it had t...(truncated)...

Nice Threading in .NET 2.0 E-Book and online reference

(Indexed 2006-08-19):

I recently found this great online E-Book about Threading in .NET (also applies to .NET 2.0!), thanks to a link on this blog. I've used it several times since to learn about interesting and useful stuff such as how to properly use ReaderWriterLocks, When does Thread.SpinWait() make sense (almost never) and the various ways there are to synchronize access to common resources in a multi threaded, multi CPU environment (lots). The thing about .NET threading is that, not only is it scary to the unin...(truncated)...

SharpRobo - Winform UI Unit Testing made easier?

(Indexed 2006-08-16):

Hmm. SharpRobo seems like something that might *start* to satisfy those who just can't do without UI Testing and have been looking for a way to do it from within their unit test frameworks (such as NUnit or FIT): "SharpRobo is a Functional Testing and Recording tool for WinForm applications written in .NET supported language. It supports all the standard WinForm controls. SharpRobo records the tests in FIT format which can be played back using Fit (File or Directory Runner)." [via Jeffery]Shar...(truncated)...

2 Day Architecture & SOA Course - Sound Interesting?

(Indexed 2006-08-07):

If you're in Israel, Udi Dahan, Israel's own Software Simplist, is holding a 2 day Architecture and SOA course. Some of the stuff he's covering sounds interesting. Even if it's something I've heard before, It's always good to get another perspective on things, especially from someone who seems to be living and breathing this stuff on a daily basis. And by that I mean someone who'd go through the trouble of doing a whole podcast on REST vs. Web services on Dr. Dobbs...(truncated)...

Online Database Schema Samples Library

(Indexed 2006-07-25):

This is so I don't forget.Scott Guthrie posted abouta site that has pre-bui;t schema examples of common database scenarios.In short - it lets you see what a "standard" database for anapplication related to a specific topic might look like:"The library includes hundreds of sampledatabase schemas for tons of topics – ranging from “AirlineReservations” to “Organizations and People” to “Car Servicing” to“Pizza Delivery”."Coolness:library of f...(truncated)...

ISerializable mentioned on HanselMinutes

(Indexed 2006-07-23):

Congratulationsto HanselMinutes on 25 shows filled to the brim with excellent content,highly geeky, technical and, yes, not wasting my time! I only wish the show was1 hour instead of 30 minutes, so that it would fit better with my nightlywalks.. With the latestshow I was in for a little surprise. Scott lists his essential blogs tosubscribe to, and my blog is one of those 20+ blogs that Scott Mentions. That'spretty cool, in my book :) He also mentions my latest tools portal, The Regulator and...(truncated)...

Important note: Moving to FeedBurner, change your feed address - Old RSS feed will stop working!

(Indexed 2006-07-23):

This is an important note: My new RSS feed address from now on is http://feeds.feedburner.com/Iserializable. The original RSS feed will NOT BE UPDATED. So you should change your RSS subscription now.The latest version of community server allows us bloggers to use an external Feed Source to publish our RSS news feed (like FeedBurner). From my next post onwards, I'll be using the Feedburner feed exclusively, which will also be reflected on the main page of the blog.If you're a blogger on w...(truncated)...

Hibernate may violate "Object model mapping and runtime engine" patent

(Indexed 2006-07-23):

"Red Hat will face a patent infringement lawsuit this week over whether Hibernate, which it inherited from JBoss violates ORM patents held by FireStar Software. FireStar alleges that Hibernate violates U.S. patent 6,101,502 -- " Object model mapping and runtime engine for employing relational database with object oriented software." [via ORMappers.com]The world has gone mad.Share this post: Email it! | bookmark it! | digg it! | reddit![Image][Image] [Image] [Image]

Moving to FeedBurner

(Indexed 2006-07-23):

This is an important note: My new RSS feed address from now on is http://feeds.feedburner.com/Iserializable. The original RSS feed will NOT BE UPDATED. So you should change your RSS subscription now. Will redirect to the new feed automatically (Thanks for the important comment on this, Scott!.The latest version of community server allows us bloggers to use an external Feed Source to publish our RSS news feed (like FeedBurner). From my next post onwards, I'll be using the Feedburner feed excl...(truncated)...

Microsoft's SharePoint treats FireFox as 2nd class citizen

(Indexed 2006-07-21):

Looks like the next version of SharePoint won't support FireFox fully.as Jeff mentiones: "Every time Microsoft is doing something cool (like Xbox 360 or Visual Studio Express), they do something that's crap like this" Personally, I've used AvantBrowser for a long time, but am now working exclusively in FireFox (for the past few days, anyway). I'm not giving IE 7 a try until it becomes more stable, and I'm really loving the vast number of extensions for FireFox out there (IET...(truncated)...

Oren is grokking Test Driven Development

(Indexed 2006-07-19):

Oren Ellenbogen is having various learning experiences from our last session together (I'm coaching him on Test Driven Development as part of my work).He's writes in a clear way about his thoughts and perceptions about Test Driven Development, and does well in trying to take in small pieces at a time. There are tough questions to be asked (in the comments to his post you can find some), but these are answered in time, and I can promise they all have good answers.In the mean time, you can...(truncated)...

Regulazy Facts

(Indexed 2006-07-19):

[Image] Over 700 downloads in the past 7 days since the announcement.Over 250 Unit Tests that run in under 3 seconds together(not for the UI, but for all the logic)Next iteration release: August 10th.1 major bug - reported using FogBugz on myFogbugz server.1 major crash - Reported by {SmartAssembly}'s Exception handler and uploaded with stack traces and all the goo onto where I can use it and find out the problem.4 feature requests - reported by email (you can use my fogbugz to do that as w...(truncated)...

Understanding the different generic collections in .NET (List, BindingList, Collection)

(Indexed 2006-07-18):

An innocent question came up in one fo the mailing lists I subscribe to. It was about when would you want to derive from the various generic collections in the framework. That also prompted another discussion about the various kinds of generic collections in .NET you shoudl be aware of, which I think most people can't really tell the difference between when and where to use which of them. So here are parts of that discussion, quoted.First, some reasons you'd want to derive from a generic...(truncated)...

Solution: Using Source Server with Team System Source Control

(Indexed 2006-07-17):

If you just want to go to the site: Go here: http://SourceServer.Osherove.Com .A team I work with needed Source Server usage support for Team System. Unfortunately, this is just about the only place online that really talks about source server besides the MSDN docs - until now.Microsoft source server is part of the Debugging Tools For Windows package. It enables a client to retrieve the exact version of the source files that were used to build an application(while debugging!). Because the source...(truncated)...

Geek Desktop Contest Announced

(Indexed 2006-07-14):

It's time for another Geek Desktop Contest (last one was 3 years ago!).Just head on over to http://Desktops.Osherove.com , register, and upload a screenshot of your desktop.Contest closes on august 31st 2006, and the first prize is an MSDN Premium Subscription for 1 year.I'm still at the point of getting judges and other cool prizes for this, but rest assured this is going to rock!. and of course, you can always just boast with your geek desktop no matter if you win or lose.The site will...(truncated)...

Solution to: "Cannot add diagram to SQL Server 2005 DB: Database diagram support objects cannot be installed because this database does not have a valid owner."

(Indexed 2006-07-10):

I found the answer in this post via Larkware. There are some other alternatives over here.I came accross this problem a couple of times but never had the chance to delve too much into it. Next time I'll know what to do - and so will you. "In SQL Server Management Studio do the following:Right Click on your database, choose properties Goto the Options Page In the Dropdown at right labeled "Compatibility Level" choose "SQL Server 2005(90)"And some other comments on that post add: "Actually, once ...(truncated)...

More Interesting Podcasts about technology

(Indexed 2006-07-10):

After my post about QAPodcast.com and other podcasts (which actually isn't that great after listening to a couple of shows, sorry), I got some nice referrals to other podcasts in the comments. Here they are: Brian Schmitt offered the following links:Polymorphic Podcast - seems very nice!SoftwareAs.com - very much targeted as web development (Ruby on rails, Ajax)http://www.webdevradio.com - Guess what it about?ASP.Net Podcast - Some people are not too crazy about it, but it's all a matter of tast...(truncated)...

TypeMock 3.5 is out - and it's powerful!

(Indexed 2006-07-10):

The wizards at TypeMock.com have released a brand new version of TypeMock - one of the coolest Mocking frameorks you've never heard of - and it's a shame you hadn't.(if you're new to this product, look at the bottom of this post for an explanation) Here are some of the updated features in the new version: Natural TypeMocks (Professional and Enterprise Editions)TypeMock.NET now supports the innovative Natural TypeMocks way of defining expectations.Using Natural TypeMocks Refactoring and compiler...(truncated)...

Introducing Regulazy: Point & Click Regular Expressions

(Indexed 2006-07-10):

Regulazy is an attempt to build a small "Expert System" for creating .NET Regular Expressions.It lets the user create an expression based on a real life example of text they would like to parse. As the user interacts with Regulazy using the mouse, Regulazy offers the user possible expressions that would fit the currently selected text. As the user selects "rules" to apply on various parts of the text,a regular expression is built automatically in the lower application pane. The end result is a v...(truncated)...

See you at Agile Israel today!

(Indexed 2006-06-29):

Don't forget that today we meet at Agile Israel. Complete details found here.The two topics are: Feature Driven Development and part II is Designing for Testability. We'll also be giving away two cool Agile related books - [Image]Agile Project Management with Scrum (Microsoft Professional)[Image]Extreme Programming Adventures in C# (DV-Microsoft Professional)See you there!Share this post: Email it! | bookmark it! | digg it! | reddit![Image]

NSPec - The evolution of unit tests into behavior description?

(Indexed 2006-06-28):

Get ready for another naming storm. This time it's going to be "Behavior Driven Development". The most important thing coming out of the BDD "movement" thee days is NSpec - a framework and specification for writing Behavior Verification code (Think Unit Tests with a clearer syntax that explains what you're *really* doing).Here's a code sample using NSpec: [Specification] public void BooleanSpecificationExample() { // ...Some set...(truncated)...

Four cool books to give away at today's C# user group

(Indexed 2006-06-21):

If you're planning on showing up today to the Israeli C# User Group meeting (Wednesday) be prepared for a great raffle I'm planning in the end.I try to make it a habit to bring along cool books to presentations I host. Since I'm hosting this session with Dan Amiga, and it's about ASP.NET, I'm brining in four cool books to raffle off at the end. Showing up would be a good idea. [Image]Maximizing ASP.NET : Real World, Object-Oriented Development [Image]Introducing Microsoft SQL Server(TM) 2005 fo...(truncated)...

MSBuild SideKick - Fixed to use with Team Build

(Indexed 2006-06-20):

Update: Downloading the latest version of hte Sidekick tool fixes the problem mentioned here. See this comment from Matan:"Please download the latest version of the MSBuild Sidekick - that should take care of the non-MSBuild parts not being saved problem. We've released a patch for it less than a day after the release. Regarding the absence of Team Build elements from the UI, please note my post about schema-support. This is a known issue and we are working hard to solve it as soon as possible. ...(truncated)...

[Cool Tool] CodeSmart 2007 for VB6 - The Killer Addin for VB6

(Indexed 2006-06-18):

The guys at AxTools are at it again, with CodeSmart 2007 for VB6. If you still do VB6 development (and I know plenty of places that still do (mostly because they have no choice), this is the tool you'd want to get.The features it adds to the VB6 IDE are too many to list here, but you can see a good summary on the product page. I've used this addin since it first came out, and still am one of its biggest supporters. It outshines any other addin for VB6 I know with features and power. The only thi...(truncated)...

This week at the C# User group - Hardcore ASP.NET 2.0 [Dan Amiga]

(Indexed 2006-06-18):

I'll be hosting the meeting of the Israel Visual C#/C++ User's group this week due to scheduling problems on part of the original hosts of the group, Shai Bar Lev and Moshe Raab.So what's the meeting about? Read the abstract below. Israel Visual C++ Users Group June MeetingDate: Wednesday, June 21, 2006, 17:00 - 20:00 Place: Microsoft Israel Hapnina 2 (Amdocs Building)Ground FloorRaanana+972 (9) 762-5100 Parking is available at the Kurkar parking lot. Proceed straight past the traffic circle and...(truncated)...

Mapping CLR, Winfx and .NET Framework 3.0 upcoming versions

(Indexed 2006-06-15):

The announcement of .NET Framework 3.0 previously dubbed WinFX is definitely confusing. Microsoft is trying to plug some of the holes but isn't doing so well, which is why you'll start seeing all these random blog posts popping out trying to explain the chaos. This is one of them. Here's the latest word from Joe Binder of the VB Team, and you can also read Brad Abrams' Post on the topic which clear up a lot. Heres a tabular view of whatscoming down the pipe, and when. Highlighted items ship to...(truncated)...

Interface Naming - Anything But Java's Standard, Please

(Indexed 2006-06-15):

Jeremy dislikes Interface names that being with 'I' ("ISerializable"..). Len Holgate disagrees with him, but likes to name his classes in a "verb-noun" fasion ("IManageUsers"). Personally, I'd much rather have "I" for interfaces. It makes the code much clearer.Having worked both in Java and C#, I find it very confusing in Java when I keep seeing class names, but I alwasy have this thought in the back of my head "maybe it's really an interface?". And so I have to keep hovering my mouse over the v...(truncated)...

[Cool Tool]Unlocker : Unlock Files/Folders without going nuts

(Indexed 2006-06-15):

Jean Paul Boodhoo has a nice tidbit about a new free tool called Unlocker that helps detect and actually unlock "locked" files in Windows. You know, those ones that seem to be held by some unknown entity on your machine.Process Explorer is good to find that out, but Unlocker seems to have not only better usability for this task (Simply right click on the file/folder and select "Unlocker"), it actually has more abilities and ways to make a file/folder unlocked (such as unloading a dll, which Pro...(truncated)...

June @ Agile Israel (Feature Driven Development, Design For Testability)

(Indexed 2006-06-13):

After a long time with no meetings at Agile Israel, Id like to invite you to our next meeting which will take place on the 29th of June (Thursday) at Microsoft Israel. As always, it is completely free to attend, so bring your friends and colleagues over if you think theyd be interested! You can learn more about the group in the temporary site: www.AgileIsrael.com . See you there,Roy OsheroveFounder, Agile Israelwww.TeamAgile.com Time: June 29th, 18:00 (gathering at 17:30, we start at 18:00, no...(truncated)...

Fixing "mapi32.dll is an invalid Extended MAPI Library" and "Mail is not installed on your system" on Windows Server 2003 with Exchange

(Indexed 2006-06-13):

I get these annoying message on w Windows 2003 Server with Exchange Installed, when trying to do mail merge or send do as attachement from within Word: "mapi32.dll is an invalid Extended MAPI LibraryMail is not installed on your system" I looked everywhere how to fix it, but it turns out there's a really easy fix for it. From the TomorrowMan:"This appears to be because the Exchange 2003 version of mapi32.dll located in c:windowssystem32 has overwritten the Office 2003 version of MAPI32.dll and t...(truncated)...

[Cool Tool] ASP.NET Enterprise Manager on Steroids: Ajax, Multiple DB types, And open source!

(Indexed 2006-06-12):

What would the ASP.NET Enterprise Manager look like with Ajax Support? The VisualWebGui guys have a clue. They built a new one from scratch with their cool technology for making web from winforms, and they even made it work with a database provider model, so you can manage many database types with it.On top of that, it's open source. What more can you ask for? Well, A screenshot! [Image] "Visual WebGui Enterprise Manager is a new open source database administration tool that was developed with ...(truncated)...

Resharper Vs. Refactor! and CodeRush - Let the games begin.

(Indexed 2006-06-11):

It feels like the VS.NET Add-in wars are coming this way again, and I'm glad. Here's what DevExpress had to say on this unofficial blog post: "Just as a taster, how about these: Refactor! Pro 2.0 has more than twice as many refactorings as ReSharper 2.0; CodeRush 2.0 has a revolutionary next-generation template engine that delivers a significant boost in power, productivity and efficiency" I've been using Resharper 2.0 (which just opened a blog too)for the past month and it's been nothing but pu...(truncated)...

Got an MSBuild-SikdeKick wish? Post it on Matan's blog!

(Indexed 2006-06-11):

Matan Holtzer is one of the guys behind the new MSBuild SideKick, which is essentialy a visual editor for editing MSBuild and Team Build files instead of editing raw XML (and a tool like this comes out only now??).His blog will focus, among other things on SideKick, so if you have any complaints like these, queries or wishes, it's time to ping him on the blog and comment![Image]

News: TestDriven, SideKick, Expression Evaluators and Security to boot

(Indexed 2006-06-07):

I've gathered some interesting links posted only yesterday, so I don't forget (and neither should you). Jamie has a couple of posts related to TestDriven.NET you should be aware ofTestDriven problem with Building ASP.NET 2.0 Dependencies with workaroundTestDriven.NET and Vista Justin just posted about "SideKick" for MSBuild - UI for editing MSBuild files which takes some of the pain out of editing those darn XML files for MSBuild. I mean, it totally sucks not to have a GUI, and this is currently...(truncated)...

Review: Shell MegaPack - Windows Explorer GUI Replacement Controls

(Indexed 2006-05-30):

This week Im happy to put up an ad and review for Shell MegaPack by SSWare. Ive used parts of Shell MegaPack by SSWare in a couple of small projects I did(Windows Forms), and was wonderfully surprised to find their controls fully featured, easy to use and customize and powerful in terms of abilities.Their Windows Explorer GUI replacement Controls are the best Ive seen on the market and can definitely help in making the Windows File system a part of your applications. [Image] Apart from some min...(truncated)...

[Cool Tool] Free Intellisense for SQL Query Analyzer!

(Indexed 2006-05-23):

Thank you Red-Gate!Their "Intellisense for Query Analyzer" is free for download until September 1st! "No time-bombs, no restrictions"[Image] This is a must have cool tool. Mucho Appreciato![via ScottGu] [Image]

Review - Automise: Automise almost anything

(Indexed 2006-05-22):

This week, I'm happy to review and advertise Automise, from the makers of FinalBuilder. As a .NET developer, Ive always thought that FinalBuilder was a fine product. In fact, its one of my favorites and I recommend it to people when doing Daily builds automation. Now, the guys that created FinalBuilder are coming out with a more general purpose tool, based on the FinalBuilder engine, called Automise. The idea is that you can use the same platform to automatise just about any repetitive taks in...(truncated)...

.NETWeblogs upgraded - finally.

(Indexed 2006-05-22):

Weblogs.asp.net has upgraded to the next version of Community Server. Finally!Thanks for all your hard work guys. Ads on blogsOne of the upcoming changes to weblogs.asp.net will be that there will be ads on the blogs of *new members*. That is, existing member's blogs will not change one bit, but new bloggers that will join the site will have text ads on their blogs. Filtered Main FeedThe main feed for the site will only show specific tags related to .NET, ASP.NET etc..and there will also be a ...(truncated)...

Two Powerful Generic Collections And Algorithms Libraries

(Indexed 2006-05-20):

Two very good resource links that Oren pointed out to in at the end of his presentation about advanced use of Generics and Delegates are two powerful Generic Collection Frameworks: PowerCollections (by Wintellect, free sign up required) "Power Collections extends the Base Class Library with an algorithms class and a series of new containers. This has been created by you, the developer community. We ask for your input on the specification, design and code and invite you to submit your own." C5 ...(truncated)...

CLR Generics Vs. C++ Templates - some good links

(Indexed 2006-05-18):

An interesting question in last night's talk triggered lost links I had about an interesting subject: What are the main differences between CLR Generics and C++ Templates? Here are some good links: http://blogs.msdn.com/branbray/archive/2003/11/19/51023.aspx http://msdn.microsoft.com/msdnmag/issues/05/06/PureC/http://...(truncated)...

Oren Ellenbogen rocked last night about Generics, Delegates and Anonymous Methods.

(Indexed 2006-05-18):

Update: His slides and demos are posted here . Last night was a very good meeting of the C#/C++ users group. Oren Ellenbogen spoke about Advanced usage of Generics, delegates and anonymous methods to a crowd who really wanted to know. The result - a very informative lecture. Oren mainly covered using Anonymous delegates to send logic to various utility methods (much like the use of Array.ForEach in .NET 2.0 but a couple more scenarios). The best part of the talk was near the end when he covere...(truncated)...

HL7 Software Factory Project is a success in progress, says MS Architect Mauro Regio

(Indexed 2006-05-18):

I got a response in my comments to my post about Software Factories perhaps being too complicated to be used in the real world. It was from Mauro Regio , one of the initiators of the HL7 project mentioned in that post. Here's what he had to say: "Guy's comment is missing the fact that Software Factory is a long term initiative and that what is available today (in terms of tools and platform) is a "down payment" on what needs to (and will) be built to provide factories architects/developers wit...(truncated)...

TheServerSide.NET - The .NET Equivalent of SlashDot?

(Indexed 2006-05-18):

I am totally starting to respect TheServerSide.NET. Not only do they have some fabulous content up there, but now they've made the mistake of publishing my post on Agile Vs. Formal Methodologies a couple days ago, and it has been brining about LOTS of traffic (much more than the main weblogs.asp.net feed). I've been "ServerSided". I guess I should subscribe to their RSS feed, huh? [Image]

SQLOne - SQL Converter for many DB Dialects?

(Indexed 2006-05-18):

SQLOne looks like a good idea: "SQLOne Console 3.0 - Automatic SQL conversion utility to translate SQL queries between the dialects used by Oracle, SQL Server, DB2, Informix, Sybase, MySQL, PostgreSQL, and pure ANSI SQL. Looks very useful indeed if you need to support multiple back ends. Trial version is limited to converting 50 queries, contact them for pricing. " [via Larkware] Though the "contact them for pricing" seems a bit scary. That usually means something costs a lot. PS I use a...(truncated)...

Are Software Factories too complicated to be used in the real world?

(Indexed 2006-05-16):

Continuing this thought, one of the more interesting answers that came up at teh TechEd Architecture panel by Guy Ron is that the Software Factories initiative is most likely to fail from the evidence thus far. He mentioned a big project for the healthcare industry (HL7 Software Factory) and how, even today, a long time after it started, it still has not finished. Microsoft was trying to build (with third parties) the full object model of the HL7 so that applications can be built against it.For ...(truncated)...

Trend: Who works the hardest and knows the least?

(Indexed 2006-05-15):

Now here's an interesting thought from Google Trends: [Image] Which country outsources the most work in .NET? I'd love to say that Israel is third just because we care so much about technology etc. but I think the Truth may be somewhere in the space between "we work cheap for people overseas" and "we work really hard on our own stuff". Of course, a cynical bastard might say that the graphs merely show the amount of lack of knowledge by these regions, which forces them to search Google, but ...(truncated)...

The Good and Bad in Tech-Ed Israel 2006

(Indexed 2006-05-15):

This Years Tech-Ed Israel has been very good in many many ways. There were some glitches and mistakes, but overall Id like to give props to Microsoft Israel for putting together a very good conference. Here are some good and bad things in This Years Tech-Ed The Good: Great Session offerings. Ive heard from several people who attended that theyve had a very good time listening to the sessions in this years Tech-Ed. Ive heard much less mumblings about how bad some session were (except for the ...(truncated)...

Tech-Ed Panel Q&A: Architecture in the Real World - Questions

(Indexed 2006-05-15):

During TechEd Israel last week, I've also had the privilege to take part in an Architect's panel that took place on the third day (and was largely ignored by the general population, perhaps because there was a Clemens Vasters Talk Taking place at the same time - Timing is Everything!). Anyway, The panel hosted 8 guys, 4 of which were Microsoft Consulting Services guys from Israel and the others were outside Consultants, myself included. It was a fun panel, hosted by guy Ron of MCS, mainly beca...(truncated)...

Review: SmartInspect - Logging for .NET, Java and Delphi

(Indexed 2006-05-15):

This week Ive decided to promote the Ad for Gurock Softwares SmartInspect on my blog's front page. In this fair review youll read why. The idea behind SmartInspect is to give you rich tracing abilities from multiple frameworks and languages on one hand, and a rich UI client to view, filter and sift through all the generated data on the other hand. As a long time user of other logging frameworks like EIF, Log4Net and such, this is a refreshing product. Its the same difference I find between ...(truncated)...

Q&A: Agile Vs. Formal Methodologies

(Indexed 2006-05-15):

Agile Vs. Formal Methodologies Is "Agile" just another trend that is slowly turning into a more accepted and practiced methodology? Is this the beginning of the end for "Formal" Methodologies? What role, if any, as VSTS played in the struggle of Agile methodologies to become more "mainstream"? When would you use Agile or Formal Methodologies? What about "hybrid" culture where Agile and Formal mix together rather than going the full on extreme path of "one or the other"? Is "Agile" just anothe...(truncated)...

Small Tip: Getting the name of the current or calling method at runtime for debugging

(Indexed 2006-05-15):

Here's a simple little trick that you can use when using Debug Mode(though it does have its overhead, so turn it off when you don't need it). You know how you write those nasty trace messages that say "I'm entering/leaving this current method"? Ain't it a nasty thing to keep writing the names by hand, or using Macros to automate it? The maintenance is just too much when refactoring method names. You can use the class "StackTrace" located under "System.Diagnostics" to return the name of the cur...(truncated)...

Why did 2,000 people leave during Steve Sinoflsky's Tech-Ed Talk? Not Just Boredom

(Indexed 2006-05-14):

On the first day of Tech-Ed, on the assembly Talk (the one that takes two and a half hours), Steven Sinofsky, the new manager of the windows division, went up on the podium to talk. He was on after a couple of short films (whihc were funny) and a short introduction from Lior Tzoref (the official teched blogger who won't take comments). There was magic in the air as 3 thousand people watch Steve go up onto the podium to talk about his vision for a better windows. This was the main assembly at...(truncated)...

My "Deep Reflection" Talk at TechEd - Slides, Demos and links available.

(Indexed 2006-05-14):

Update: Oren has a more technical scoop of my Talk and the WinFX Talk he attended on Day 1. He gave us both a 9 out of 10, which I'd say is a pretty remarkable first day at TechEd :) BTW, Oren will be speaking at the C# User Group this week on Advanced Uses of delegates and Generics. I just might make it there and catch him live. Oh.My.God. What a great experience this Tech-Ed Israel has been! My Session about Deep Reflection went very well, if I do say so myself. It felt smooth ,and the only...(truncated)...

Broken Download Links Fixed! XtUnit and EventsVerifier

(Indexed 2006-05-04):

There are some broken links hidden in my blogs from the past year - mainly because I was changing hosts, domains, etc.. So here I am, rectifying that situation now: EventsVerifier class: Helps write unit tests that verify the throwing/non throwing of events from a class (more info) XTUnit 1.01: Add Rollback abilities and more to your unit tests (more Info) XTUnit 1.02 Bin and Src (Some people had problems with it, but it's just as good and even better) If you find more broken links, let me kn...(truncated)...

Misc. Links and odd ends

(Indexed 2006-05-03):

Scott is so totally wrong - it hurts to read. He thinks FAR and xplorer2 are the best explorer replacements ever, but personally I think once he tries Total Commander, he'll never go back (the UI looks like an oldie, but it has more features than both combined, methinks) Oh, and have I mentioned how much I like Larkware yet? I like it a lot! Unfortunately, I haven't had enough time lately to check it out, so here's a collection of links posted there in the last month or so, which I find inter...(truncated)...

Review: SmartAssembly - Assembly Improvement and Protection Tool

(Indexed 2006-04-30):

I'm very happy to introduce SmartAssembly as part of my official blog's "Ads I stand Behind" advertising. I chose to advertise SmartAssembly after taking a long look at the application, and realizing that it is indeed something I would find good use for in my real day to day work. In short, SmartAssembly is an Assembly "improvement" tool, to be used after you've created your project and your app is ready to be deployed. It's very slick and easy to use UI allows doing many useful things to the ...(truncated)...

Review: {SmartAssembly}- Assembly Improvement and Protection Tool

(Indexed 2006-04-30):

I'm very happy to introduce {SmartAssembly} as part of my official blog's "Ads I stand Behind" advertising. I chose to advertise {SmartAssembly} after taking a long look at the application, and realizing that it is indeed something I would find good use for in my real day to day work. In short, {SmartAssembly} is an Assembly "improvement" tool, to be used after you've created your project and your app is ready to be deployed. It's very slick and easy to use UI allows doing many useful things t...(truncated)...

Debugger Visualizer for MethodInfo, DynamicMethod, and MethodBase available for download

(Indexed 2006-04-25):

When I was preparing (still am) for my TechEd talk about Reflection 2.0, one of the coolest things I found was this nice DynamicMethod visualizer posted as a code sample. Taking apart the code for this project was a blast, and I learned many interesting things. I set out to create a new version of this Debugger Visualizer that also supports visualizing MethodInfo objects, not just Dynamic Methods (Code generated on the fly). Here's the result: Download Just the binaries (38k) (simply unzip...(truncated)...

My Tech-Ed Talk: Deep Reflection - What's new & Hot in Reflection 2.0

(Indexed 2006-04-23):

My upcoming Tech-Ed Talk in Israel will be all about whats new and Cool in .NET 2.0 Reflection. Over the coming weeks until TechEd, Ill supply links and information detailing the stuff Ill be talking about. For the past three weeks or so Ive been totally immersed in Reflection-Land.There are seriously cool things going on behind the scenes, and, frankly, I was surprised at the amount of new stuff that is now possible.One of my favorite features is the new ability to reflection over a Methods Bo...(truncated)...

New Tapuz User Group Meeting in Israel (and is it really needed?)

(Indexed 2006-04-22):

Looks like there's another .NET user group being born in Israel these days - The Tapuz .NET Prgramming Forum User Group. (click the link for the official announcement and instructions on how to get there). Heck, I'd just call it "The Tapuzer Group" ..:) The group meets on May 29th at the Microsoft Facility in Ra'anana. I'll be there, just to see this energized group of people who in real life I haven't really had a chance to meet at any of the other .NET user groups or seminars or MS conferenc...(truncated)...

Partial Classes - Add to your Unit Testing Bag of Tricks

(Indexed 2006-04-15):

Ralf has a nice tidbit about how .NET 2.0 Partial Classes can help you with writing unit tests for methods on classes that are otherwise harder to get to.It's a nice trick to add to the trick bag, though I'd argue that if you were doing Test-Driven-Development in the first place, you'd have a testable design out-of-the-box, and you wouldn't need to come up with clever hacks such as these.Having said that, sometimes you just don't have a choice and you need to write tests for legacy code (a.k.a "...(truncated)...

CreateObject on remote server in .NET

(Indexed 2006-04-12):

In VB6 you could easily create a COM+/MTS object on a specific server by using CreateObject(progId, serverName).Corrado Cavalli, an MVP, just pointed this snippet showing how one would do the equivelant of that in .NET:Dim t as Type=Type.GetTypeFromProgId(progid, servername)Dim o as Object= Activator.CreateInstance(t)Here's a C# version for the VB-Challenged..Type t = Type.GetTypeFromProgId(progid, servername)Object o= Activator.CreateInstance(t)Cross Posted from Blogs.Microsoft.Co.Il/Blogs/Royo...(truncated)...

May at the Israel C# user group: Advanced Use of Delegates and Generics

(Indexed 2006-04-11):

Earlier this month, My friend Oren Ellenbogen contacted me saying he'd like to do a talk in one of the upcoming user groups here in Israel about .NET about the advanced used of delegates and generics in .NET applications.I referred him to the C# and VB user groups and surely enough, he'll be speaking at the upcoming C# user group meeting next month. (speaking of user groups, a little bird tells me that a new user group is forming in Israel, for development managers. Shhh. you'll here more in the...(truncated)...

Upgrading weblogs.asp.net from a slow and painful death

(Indexed 2006-04-02):

Omer writes eloquently about the slow death of weblogs.asp.net: "Time passed and as it did, more and more weblogs went the way of weblogs and were never again posted to, while other writers kept theirs alive by the sheer power of their collective will. The sense of community - of equality between fellow developers across corporate boundaries - had been lost to the capitalistic PR ambitions of the behemoth that is Microsoft. The application running the server was left to die the death of unupgr...(truncated)...

Solving those nasty "Out Of Memory" problems

(Indexed 2006-03-31):

This came up on the win-tech-off-topic mailing list the other day and I'm writing it down here so that I can explorer it further later on. I'm interested because I like to run *lots and lots* of programs at the same time. Lately though, instead of opening 50 Explorer windows and 50 Internet Explorers I just use Total Commander and Avant Browser with Tabbed Browsing. It's sooo much easier!. Nevertheless... Here are two KB articles that talk about why and how the issues of low memory can occu...(truncated)...