Geeks With Blogs

News Jonathan Starr is a developer in Saint Louis, MO. He holds an MBA in Finance from Columbia Business School and earned his MCSD from Microsoft.

All statements in this blog are personal opinions and do not reflect the opinions of his employer.

Related Sites
Join My Community at MyBloglog!
Jonathan Starr's Blog Thoughts on C#, Ajax, WCF, LINQ, Agile et al. Software Development
Agile: Spikes With TDD - My Conundrum
Leonardo da Vinci, when he painted Il Cenacolo, or as we call it here in the US, The Last Supper, produced studies for the work before he began to paint. Later, when the painting was restored in the 1970s, researchers used infrared reflectoscopy to look underneath the outer coats of paint to find that the original work of art was in fact very different from what tourists had seen for the past few generations - mostly because of the poor showing conditions for the painting, but partly because Leonardo ......

Posted On Monday, August 4, 2008 7:54 PM

Scrum / Agile Development and Team Consciousness
improve my => 'code' One of the interesting features of Agile development is the regular feedback created by the methodology. Continuous builds, especially when they show graphically when they are broken or have failing unit tests, give Agile teams a sort of self awareness about the health of their project. Many Agile projects even give visual cues regarding the health of the project for instance showing the health of the build through the use of traffic lights (green for good, red for broken). ......

Posted On Friday, August 1, 2008 10:53 PM

Coding With Comments
improve my => 'code' Jeff Atwood wrote an interesting post today about Coding Without Comments. If you didn't catch it, he basically says that if a coder uses excellent naming conventions in his code, the code is eminently readable. So the need for comments is obviated. Partly true, I say. But there are significant exceptions to consider. If you have external customers using your code, public methods should have have lots of comments. With summary tags filled so your customer know what the methods ......

Posted On Friday, July 25, 2008 5:48 PM

Scrum / Agile Development: A Renaissance of Culture Through the Eyes of Levi-Strauss
improve my => 'code' On weekends, I tend to go off tangent, and this weekend is no exception. I started to read some of the works of Levi-Strauss, the structural anthropologist, and it occurred to me that many of the positive changes from Agile Development are not merely the result of greater business focus. Agile also develops culture in a field that is generally devoid of culture. This can be a stabilizing factor for companies by - Reducing turnover by empowering team members. - Creating rituals, ......

Posted On Saturday, July 19, 2008 6:47 PM

Hint for today - Install SQL Server 2008
improve my => 'code' Even if your databases are from prior versions of SQL Server, you should download the new CTP for SQL Server 2008. The new version's SQL Server Management Studio will connect to older versions of SQL Server databases and give you intellisense (almost as good as Red Gate's Sql Prompt!). Hope this saves you some time, Jonathan ......

Posted On Wednesday, June 25, 2008 12:07 PM

Code Redundancy is NOT Bad - Part 2
improve my => 'code' I got some responses from a post I made on Saturday, that troubled me. I really think it is important to code to an interface whenever possible - not only to give your application to flexibilty, but to give it testability as well. So I thought I might give you an example. Say I have a class that depends on two other classes I have. In this example, Partitioner depends on SystemIOAdapter and MerchantRecordCounter. jstarr jstarr 2 0 2008-06-23T23:16:00Z 2008-06-23T23:16:00Z ......

Posted On Monday, June 23, 2008 6:26 PM

Code Redundancy Is NOT Necessarily Bad
improve my => 'code' I was just reading Jeff Atwood's recent blog article Department of Declaration Redundancy Department He makes the case that writing code without static typing is easier to read, and "Anything that removes redundancy from our code should be aggressively pursued -- up to and including switching languages." My take is "maybe". Say I have a class named Example that implements two interfaces, IFoo and IBar. When I instantiate I have several options when dong so statically. Example ......

Posted On Saturday, June 21, 2008 5:43 PM

Who Is An Average Developer?
Every blogger I read claims to have superior coding skills, and every place I have worked claims only to hire superior developers. In my current position and in my prior one, my employers say they interviewed more than twenty candidates to fill each position. If that's so, where are the average coders? I heard one theory - they are all unemployed! And they keep trying to get jobs but they can't. So interviewers have a skewed sampling of coders. I will confirm that in my current and previous position ......

Posted On Friday, May 2, 2008 7:24 PM

LINQ and Financial Simulation
improve my => 'code' I just started playing around with LINQ seriously, and I really love some of the features incorporated, like the Enumerable.Range() function and how it can be used for integer programming. Here's a simple function for generating lognormal distributions (could be useful for financial engineering). Hope you're enjoying the samples, Jonathan Starr public List<double> GenerateLogNormalDistributi... numberOfTimes, double mean, double standardDeviation) { Random randomGenerator ......

Posted On Friday, January 25, 2008 8:00 PM

Surprising CLR Behavior
improve my => 'code' The following code (surprise, surprise) compiles. But it does not work as intended (you won't be able to "doSomethingElse()! Can any of you figure out why? (I have my suspicions.) Jonathan Starr using System; namespace test { internal class BaseTest { private int _prop1; public virtual int prop1 { get { return _prop1; } set { _prop1 = value; } } } internal class DerivedTest : BaseTest { public override int prop1 { set { base.prop1 = value; doSomethingElse(); } } } } ......

Posted On Friday, January 25, 2008 4:45 PM

Response to Brainteaser #11?
I have been pretty excited about LINQ, because it seems to do all of the optimization for me for free (kinda like T-SQL). Yow Han-Lee asks in his blog, Brainteaser #11, Given any two large List, what is the quickest way to find the mutual intersection of the two? Now take into consideration memory constraints? Well, the answer that only takes a minute or two for me is the following... Comments welcome! Jonathan Starr using System; using System.Collections.Generic; using System.Linq; using System.Text; ......

Posted On Friday, January 25, 2008 3:23 PM

Beauty.Equals(Truth) ?
improve my => 'code' I noticed an entry on Wikipedia that made me smile. SPL or the Shakespeare Programming Language is, in the words of Wikipedia, "designed to make programs appear to be something other than programs; in this case, Shakespearean plays. " Variables in code are treated like characters in a Shakespearean play. Variables must "enter" to be useable (allocated?) and "exit" to be declare out of scope... And variables speak their mind to output to the console. For instance, [Enter Juliet] ......

Posted On Tuesday, January 22, 2008 1:58 PM

Instructional Video #3 for Mobile Phone Project management
I did one more video with a friend today for 1CCN.COM - which is a mobile phone project management toolset custom designed for the construction industry. The video below shows you how a user can add time entries via mobile phone to a project. I am very interested in your comments! Is the video easy to understand? Jonathan ......

Posted On Sunday, January 13, 2008 8:17 PM

1st Instructional Video
I have been helping a friend finish a mobile web application for his new business (, and posted below are my first attempts for making instructional videos. Windows Movie Maker (which comes with Vista) was a blast - really easy to use. Any comments are appreciated - btw, we will be adding Ajax to the budget entries tomorrow. Thanks! Jonathan Adding a contact to the Contractors' Collaborative Network Creating a Project in the Contractors' Collaborative Network ......

Posted On Saturday, January 12, 2008 8:55 PM

Re-Adding Service References
improve my => 'code' While using Visual Studio 2008, I made the mistake today of dropping and re-adding a WCF service reference. If you do this, not all of the service operations and exposed proxy types are recreated in the References.cs file. If you made my mistake, cleaning the solution (right click on the solution and choose -> Clean Solution) will clear out the problem. And in the future, I will be updating service references instead. Hope this helps you out! Jonathan ......

Posted On Friday, January 11, 2008 5:30 PM

Motivating Developers
I was just reading Jeff Atwood's post - The Magpie Developer - where he uses the metaphor of the magpie who collects shiny objects for his nest to explain why elite programmers go from one programming language to another. Perhaps it would be more useful to think about what really motivates programmers generally. After all, while the pay is okay in our profession, most of us work in relative isolation on problems not generally of interest to the public. Personally, I studied math as an undergrad - ......

Posted On Monday, January 7, 2008 5:26 PM

How can we help
improve my => 'spirit' My good friend, Michael Bittel, writes in his blog that it's All About Africa. I confess that I spend less than 1% of my time thinking about Africa. But I should be spending more time. Here are the best reasons I have to support Michael's statement. 1. The problems of poverty and health issues are most pronounced in Africa. Logically, the place where we can make the greatest difference is the place in which we should be concentrating our energies. 2. Our societies are getting ......

Posted On Wednesday, December 26, 2007 4:44 PM

Copyright © Jonathan Starr | Powered by: