Archives
-
Pair Programming breaks
Jeff Schoolcraft has an interesting post on Pair Programming and how it influences your break schedule. Two people working together certainly helps to avoid distraction and remain "on task" (asides from all the other benefits) but is it unhealthy? Should there be a "pairing-o-meter" which turns red at some point and causes the pair to stretch their legs before the dreaded window incident Jeff alludes to? :-)
-
C# Teaser - The Tricky Ternary Teaser?
Today we came across a little quirk that is worth sharing. Big thanks to Bob Flanders and Jeff Schoolcraft for help in figuring out the quirk.
-
Programming Contest by EggHeadCafe ... just Regex?
Rafael Munoz pointed me towards a Programming Contest By EggHeadCafe in his latest MVP Update Newsletter. Reading through their criteria ...
-
Interview with SD Times on C#/VS.NET 2005 ... fear of the sound byte!
A few weeks back, Bob Flanders (a fellow consultant) and I gave an interview to SD Times reporter, Jennifer deJong on our experiences with C# and the features we were anxious for in the Whidbey release.
-
Jeff Schoolcraft joins Thycotic as Senior Technology Consultant
Jeff Schoolcraft has recently joined Thycotic Software Ltd as a Senior Technology Consultant specializing in .NET and TDD practices. I am very pleased to welcome Jeff to the company. Jeff is also the president of the WinProTeam Vienna User Group which helps to further expand our activities in the community.
-
"Copy and Paste Programming" - the TDD way.
Setting the scene...
You are building your second large TDD project for a new client. Some of the requirements are almost identical to the last TDD project. Management is aware of this and expects some form of code reuse to occur that will save budget and time. The functionality required is separated well in the code and design but is still tied to the business tier in deployment and cannot be easily isolated in binary form. -
Darrell Norton, I presume.
The local DC and surrounding area .NET community leaders came together last night courtesy of Microsoft's local Developer Community Champion, Geoff Snowman and our new Developer Evangelist, Andrew Duthie.
-
Thycotic.Data (DAL) gets a wiki!
Thycotic.Data (our free, open source, database independent DAL) has finally reached the point of requiring some documentation! (The project was spawned as a result of a presentation on late binding ADO.NET Providers back in early 2003). We use it at Thycotic Software on all our projects but others in the community appear to be using it too.
-
Customizing WebControls at the DC .NET UG Today
I will be presenting at the Inner DC .NET User Group today (11/16) on Customizing WebControls. The session will be very "hands on" with lots of code and plenty of time for Q & A. The focus will be on all the things people seem to be missing in *current* (pre 2.0) ASP.NET development.
-
Q & A from Build and Deploy with NAnt in Rockville
I presented on "Build and Deploy with NAnt" (slides/code available) at the WinProTeam Rockville .NET User Group on 11/4.
-
CruiseControl.NET - second impressions ...
On our current project we have been running our NAnt build script using a Windows Scheduled Task. While this never seemed particularly sophisticated, it did the job especially given that our build (plus all test suites) takes around 2 hours to run! Today, I installed CruiseControl.NET for a dabble - my last experience was many moons ago - when SourceGear Vault support was still a do-it-yourself affair.
-
Build and Deploy with NAnt in Rockville on Thurs 4th November
I will be presenting on NAnt and how to use it to build and deploy your software - the session will touch on the commonly used tasks and how to use them in your integration process. It promises to be a great jumpstart for the NAnt newbie and may even show the seasoned NAnt'er a thing or two - such as C# scripting in NAnt and building your own custom tasks.
-
When Refactoring is YAGNI ...
I attended a Washington DC XP UG (WDCXP) meeting tonight for the first time. It was a small turnout with Bryant Smith presenting on DIP (Dependency Inversion Principle) with a slant to persuading new developers to adopt agile techniques through design patterns. The discussions were interesting and varied wildy across different aspects of design patterns and XP.
-
Bill Gates mentions Automated Testing Tools in his view of the future
Scoble points to this article ("The Enduring Magic of Software") by Bill Gates in which Bill states:
-
Passed Certification 70-315 - Web Apps with C#
Just passed 70-315 this morning!!
-
TDD Interview with Capital Area .NET
A series of interview questions and answers have been posted by the Capital Area .NET User Group as a followup to the presentation I gave at their user group in July. The questions are quite probing and make a good introduction to TDD for both the newbie and the skeptic. Feel free to comment on their site with thoughts from your own experiences!
-
Pair Programming - The Ultimate Setup and the other options we tried.
We have tried various equipment and configurations at my current client to determine the optimal pairing environment. Such as:
-
C# - NAMED LOOPS ... I miss them.
Named loops give the ability to extend flow control with markers. Cynics would argue they are glorified gotos but in that case, they probably don't like continue anyway!
-
TDD Teaser #2 - Think you know NUnit?
I recently concluded a TDD with ASP.NET presentation in Cleveland with several TDD Teaser problems for the audience. The idea proved to be a lot of fun so I decided to repost the problems on my blog.
-
C# - Why Overloads Instead of Optional Parameters? And AOP.
I just came across an old post on Dan Fernandez's blog that links to the "Whiteboard with Anders" session from TechEd 2004. I was lucky enough to watch this event live. One of the memorable questions answered - one that I often hear from ex-VBers - is why C# uses overloads instead of optional parameters ...
-
Inheritance in types returned by a WebService - good or bad idea?
Simon Guest posted a list of his Top Ten Tips for WebService Interoperability which is a wonderful resource if you are building a webservice that will be widely used.
-
TDD Teaser #1 - Do you know the answer?
I recently concluded a TDD with ASP.NET presentation in Cleveland with several TDD Teaser problems for the audience. The idea proved to be a lot of fun so I decided to repost the problems on my blog.
-
.NET Mobility Road Show at Microsoft's Reston VA Office on 10/15
John McClelland, the Western PA Microsoft .NET Evangelist, just made me aware of the .NET Mobility Road Show which is visiting various cities in the upcoming weeks. Registration is FREE and the event is sure to be a blast.
-
SPAM, Damn SPAM, and SPAM Statistics.
We have all heard how SPAM is costing us money - wasted time, wasted bandwidth, anti-SPAM software, lost business emails, etc.
-
Test Driven Development is growing in popularity.
The audience tonight at the Cleveland .NET SIG responded that about half were aware of TDD and around 8-9 attendees were already practicing it!
-
TDD with ASP.NET in Cleveland next Tuesday
I will be speaking at the Cleveland .NET Special Interest Group (hosted by Bennett Adelson) on Tuesday, 9/14/2004. The presentation will move quickly through the theory and then focus on a hands-on session building a simple ASP.NET application with a database backend. This will introduce the concepts of Test Driven Development while tackling the typical challenges most of us face. We will also use some testing quality tools to determine the quality of the hands-on session. Finally closing with an open floor for audience questions.
-
Rosebud. Or is it RoseBud? (Hashtable)
Last night at the WinProTeam .NET UG Rockville Meeting, Carney Clegg spoke on "Using Hashtables Effectively".
-
Generics - why all the fuss? Explained.
I have just never really understood all the fuss about Generics (the upcoming feature in 2.0). Maybe it is because I have never used templates in C++ or done anything meaningful in C++ for that matter! :)
-
SubNAnting - Deploying software with different configurations
On my current project, we have 5 different environments - bleeding, stable, test, stage and production. The application is ASP.NET-based but also has a complicated Extraction Transformation and Loading (ETL) process which synchronizes the application's data with a legacy system. All of this requires *alot* of configuration!
-
TDD Q&A at the Capital Area .NET User Group
Many thanks to the Capital Area .NET UG for their hospitality last night. During my presentation on “TDD with ASP.NET” several interesting questions were raised and I have decided to repeat and answer them here (in no particular order):
-
WSE 2.0 at the DC .NET UG
Todd Barr presented on Web Service Architecture and WSE 2.0 at the DC .NET UG tonight. The session was very interesting especially seeing the new features involving security and policy.
-
Pair Programming - use a "pair" Windows login?
On my current consulting gig, we have been Pair Programming for almost all development. In the past I have always just used one of the pair's Windows accounts while working. This has proven to be a pain due to MSN Messenger, Email and other distractions typically being run in that account. This also combined with one of us forgetting to check everything in and staying logged in on the pairing machine - preventing anything from happening till we arrive in the morning.
-
Generic Sorting and poor late bound performance - a solution?
<offtopic>What a month! Relocated the family to Washington DC, fought with the DC DMV, finally closed on the first house we have ever sold and got the flu!</offtopic>
-
TechEd Blogging: Wednesday's Cabana Question of the Day
Attendee question of the day:
-
TechEd Blogging: "Test Driven Development with ASP.NET" in the Cabanas
After much confusion and schedule changes, I was able to take over Steve Smith's session on TDD at TechEd today (Steve was unable to attend TechEd due to military service). Many thanks to Brian Marble for making the last minute arrangements!
-
TechEd Blogging: Pair Programming at TechEd
I will be in the Development Cabana in the “Sails” area of the San Diego Convention Center. I have been writing some articles, code, eating icecream and otherwise keeping busy. If you would like to come along and try some Test Driven Development first hand - I am open for pairing and general questions during the following times while I will be in the cabana.
-
TechEd Blogging: Bright sunlight and a caterers challenge!
The first day: I arrived at the San Diego Convention Center around 10am via cab ($15 for 4 miles ... a little steeper than DC!). The building is very impressive ... it is huge with interesting architecture and unusual elevators. Registration was a breeze using the staff line and finding the development cabanas was easy enough with lots of helpful people and great planning.
-
TDDing ASP.NET tonight in Vienna - from TODO list to ASP.NET with an audience ...
I will be presenting “Test Driven Development with ASP.NET” tonight at the WinProVienna .NET User Group in Virginia (near Tyson's Corner). This is going to be an updated ASP.NET version of my other TDD presentation which has a very heavy “hands on” approach by pairing with the audience. Some of the feedback that I have had in the past is that my TODO list (building a custom array/collection sorter using reflection in .NET) was a little tough to follow while seeing TDD for the first time. I chose the sorter since it felt like a real world problem and I didn't want to pick something too simple and have the comment “oh sure, TDD works on this easy stuff but what about ... “
-
See you at the Microsoft TechEd 2004 Cabanas!
I will be assisting other developers and meeting the community during Microsoft TechEd 2004 this year. The Developer Tools and Technologies Cabana lounge will be the place to meet developers, trainers and speakers from far and wide.
-
MVP Award!!!
The email arrived today! I have been recognized with the MVP award for C#. Many thanks to all those in the community who I have met and who have made my forays into .NET as interesting as they continue to be. I am very pleased and humbled to be counted amongst the ranks of other MVP holders!
-
CShark and other interesting .NET related license plates?
It has finally arrived - a personalized license plate (or tag in DMV jargon) from the DMV. After them first issuing the plate which never arrived - then refusing to do anything about it when called, then the kind souls at AAA issued a new plate so we could complete this years registration for the car and issued a request to the DMV to reissue the plate which they finally did!
-
Speaker photos from Pittsburgh DevDays 2004.
-
Dinner with the pros - aka DevDays and punch cards
After the Microsoft DevDays rehearsal this evening we all had dinner at Pittsburgh's FishMarket. It was great to share war stories of tough projects and encountered .NET challenges. The crowd was really interesting and you could feel the brain power at the table right up until the conversation turned to programming with punch cards and all was lost! :-) The crowd included - John McClelland, Mike Snell, Craig Oaks, Chris Mazzanti, Pat Santry, Stan Spotts, and Terry Weiss stopped by for a minute.
-
Background reading for DevDays 2004
In preparation for my presentation at Microsoft DevDays 2004 in Pittsburgh, I have been reading “Writing Secure Code” by Michael Howard and David LeBlanc (which a past colleague, David Williams, pointed me towards). For those of us living in the business application and web application realm, a buffer overrun is something we read about on security bulletins. It was fascinating to read how it all works and how to overcome it. Some great code examples - thoroughly interesting. But don't leave thinking that this book is only for those dealing with unmanaged code ... !
-
Automation to the rescue (again) for newbie TDDers! (NCover)
My current project (which I am very excited about!) is building an internet facing ASP.NET application for a high profile function. It involves building business objects to map to the database and general functions of the system and then mapping those into the UI. And now the fun part ... the entire application has been built using TestDrivenDevelopment (TDD)!
-
Back to Pittsburgh for Microsoft DevDays on March 9th!
I will be speaking at Microsoft Developer Days 2004 back in Pittsburgh on March 9th. It looks to be a very exciting event with a strong emphasis on security. I will be presenting “Threats and Threat Modeling - Understanding Web Application Threats and Vulnerabilities” on the Web Development Track.
-
Xml documentation comments are like hairspray!
The Refactoring folks talk about CodeSmell and CodeDeodorant. The concept is that a code smell is when there is a feeling that something *could* be wrong with a piece of code. CodeDeodorant is when an attempt is made to cover up the smell by adding whitespace (for “clarity”) or detailed comments to explain the code. These are usually signs that the code needs improving ...
-
Remote Scripting in Findlay
I presented “Remote Scripting in .NET” for the first time last Wednesday (1/28/2004). The event was held at Microsoft's offices in Findlay, Ohio. There were about 30 people with quite a few Microsoft employees. The presentation digs deep into how Remote Scripting works and gets rather technical in places - this knowledge is not necessary to use Remote Scripting but it is often useful to really understand what is happening. It also looks at how the landscape has changed with .NET and Microsoft phasing out support for their JVM. I was worried that I may have lost the audience in places but was very pleasantly surprised by the number of probing and interesting questions I received.
-
TDD in Toledo - thanks, questions and an interesting observation.
Many thanks to Greg Huber for carting me around during my stay in Toledo last week. It was a fun time and I even got to visit Tony Packo's - a Toledo tradition.
-
Toledo and Findlay on Tuesday and Wednesday!
I will be flying into Toledo from Washington DC on Tuesday the 27th January to speak at the Northwest Ohio .NET User Group on Test Driven Development with NUnit and C# (event details here). Greg Huber from the group has been drumming up excitement on the AspAdvice lists so hopefully we will get a good turnout and have another mass TDD session - thanks Greg!
-
nGallery gets unit tests!
I have finally checked in my code for unit tests and MySQL support to the nGallery project (a great .NET open source photo gallery implementation). Not everything passes but it is tough when playing catch up to a team of devoted developers who keep adding features! :-) A nice feature of this unit test implementation is the use of inheritance in the test fixtures to test all the different implementations of the data layer with a single suite of tests (XML, Sql Server, AnsiSql). If you are interested in the unit test implementation or nGallery's new support for MySQL then grab a copy of the development code (these features aren't near release quality yet though).