No comments yet.
No trackbacks yet.
Consultancy
about 1 year ago - No comments
Software Consultancy Serving the Greater Seattle Area Our consulting service is now open for business. We can help you with:- Business planning Program management Software Development for the Microsoft.NET platform Architectural advice and review Custom software development (offsite or onsite) Migrating web applications to ASP.NET MVC 2 Migration to Entity Framework 4 Complex threading using More >
Singleton tasks: A TaskFactory for the Task Parallel Library with ‘run-only-one’ semantics
about 1 year ago - No comments
When developing .NET applications there is often the need to execute some slow background process repeatedly. For example, fetching a feed from a remote site, updating a user’s last logged in time, … etc. Typically you queue actions like these onto the thread pool. But under load that becomes problematic as requests may be coming More >
Email opt-out: Here’s a great example of how to do it right
about 1 year ago - No comments
I came across this opt-out screen today. It’s one of the best examples I’ve seen recently of an opt-out screen done right. First, they try to fix one of the key reasons people opt out of email: they are still interested but they want less email. Then they give you the option to really just More >
Cloud computing – where’s the silver lining?
about 1 year ago - No comments
I’ve seen several people propounding the cost savings of cloud computing as being of great benefit to startups. Most recently someone wrote “… cloud offers an amazing opportunity to reduce costs for startups” This simply isn’t true. It cost ~$2500 to buy a smoking hot server from Silicon Mechanics with SSD drives and under $100/month More >
DateTime values should always be stored in UTC
about 1 year ago - 1 comment
Developers are sometimes confused about this issue but the fact of the matter is that you should always store Datetime values in your database in UTC and almost never in a local time zone. Canyon De Chelly, Az/NM border: One of the many places where naive use of local time will cause you problems! photo More >
ASP.NET MVC 2 and the Ambiguous Match Exception for Action methods with different signatures
about 1 year ago - 3 comments
Although you can use this technique to allow POST requests to a page avoiding a redirect this is now considered a bad practice from a usability perspective because if the user hits refresh they get the classic browser warning. You normally want to use a Post-Redirect-Get pattern: when you make a POST request, once the More >
Issues combining ASP.NET MVC and ASP.NET Web Forms in the same application
about 2 years ago - No comments
Recently I started migrating an ASP.NET WebForms project to ASP.NET MVC. Hoping to do this in phases I created a combined project that is both a webforms project and an MVC project. Routing allows some requests to go to the WebForms pages and some to go to the new MVC pages. Routing has also enabled More >
If it walks like a class, talks like a class, it probably is a class
about 2 years ago - No comments
I occasionally come across attempts to extend Enums to include additional fields. These attempts typically use Attributes and reflection to get at the extra values. I have to say I don’t like them. The most extreme example of trying to get an Enum to do something else was this article on Code Project attempting to More >
The Blog of Ian Mercer: Home Automation++
about 2 years ago - Comments Off
This is the blog of Ian Mercer, Serial entrepreneur, Digital Mapping Pioneer, Inventor of Windows Movie Maker, Microsoft Producer, HighMat, SnapTune, … Patent holder, Guinness world record holder, and founder and CEO of SignSwift, LLC, Here you’ll find my thoughts on Home automation, Energy Conservation, Programming, Operations, Entrepreneurship, Business, Startups, Quality, Agile, Optimization, .NET, Natural Language More >
Tip: getting the index in a foreeach statement
about 2 years ago - No comments
Using LINQ you can easily get at the index in a foreach statement.
Agile Software Development is Like Sailing
Photo credit Patrick Doheny
Software development is a lot like sailing: unless you are sailing downwind you can’t get there directly and you have to tack; so you pick a tack and set off. You hold the tack for a ‘sprint’ and then you go ‘go about’ and head in a slightly different direction for another ‘sprint’ until you reach your destination. Just like sailing if you change direction too often you go nowhere (this is why agile insists no changes in direction during a sprint). Just like sailing, currents and wind can change during your trip causing you to adjust your tacking (sprints) to get there. Just like sailing, you can’t say exactly when you will arrive unless you know every single current and wind change that will happen during the trip.