CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Rod Paddock

April 2007 - Posts

  • Sliverlight the Cross Platform CLR

    Scott Guthrie went in to demo mode and uncovered some of the features of the new cross platform CLR...

    Here's a list of features:

    You can code in VB.NET, C# and other CLR languages

    Will contain assemblies of WPF Controls (light version)

    Contains a number of namespaces I think I saw 10+ including Threading, LINQ, Web, Text, IO and others.

    You can link into web services using standard .NET Web References.

    And something really cool... You can attach to Silverlight Processing running on a MAC!!!!!

    And item of real interest.... Scott installed the Silverlight engine on a clean machine right in front of us. The size of the download was around 5MB.....

    Hope you found this interesting.... I'll blog when I have more details later on in the conference.re

    UPDATE: The SDK for VS.NET is available too http://www.microsoft.com/downloads/thankyou.aspx?familyId=c744cbb8-d4d9-4bf9-ad5c-eef36e064911&displayLang=en

     

     

     

  • MIX07 Keynote Silverlight Meets .NET

    I'm here live at the MIX conference. Ray Ozzie started off the festivities with a good discusison of the current state of affairs of the web. We also got to view a cool video of current WPF applications. Man there a lot of these.

    Now we have Scott Guthrie.... Big announcement of today... Sliverlight... announced two weeks ago at the NAB conference has a new features.... A cross platform .NET framework!!!!!  I am very interested to see just what this means for us. How much of the framework has been ported? What namespaces are there and how many of there features ae intact? Will it run on Linux?

    This conference (that was already interesting) is now MUCH more interesting.....

  • CoDe Magazine and Jean-Paul S Boodhoo

    New CodeBetter blogger and rather cool dude makes his CoDe Magazine Debut

    Layered Architecture, Dependency Injection, and Dependency Inversion

    http://www.code-magazine.com/Article.aspx?quickid=0705071

    Congrats!

  • Lifting the Skirt…Stored Procedures and Change Tracking

    Recently I’ve been involved in an online discussion related to data update techniques. Part of the discussion turned to the issue of data updates and change tracking. A question came up:

    >1) The SP receives and updates all fields every time.
    >2) Contention management is via a pessimistic locking mechanism. Effectively you lock the entire row/s when a user enters edit mode.
    >3) Therefore you don't need dataset/entity change tracking.

    My answers:1) Yes. We update all columns.
    2) True. Yup we lock the row or in the case of a complex entity we lock the header row which implies locks on the child tables.
    3) Yes. That is true we don’t need these mechanisms.

    We do use a lock table that contains table/entity/process name, key, user, date, lock notes, etc....

    Long lunch syndrome or dead workstation is done via the age of the lock.

    Old locks can be overridden, in the case of the dead workstation the same user can repossess there lock.

    We generally have a clean locks routine incase of bugs or buildup.

    The reason...When we started doing database work (even in the foxpro days) we used the same approach. So we did our best to take it to the SQL world and it has seemed to work OK for us.

    We also have the ability to turn locks off as well. In a lot (not all) of web apps we don’t worry about contention as much as the owner of the data is the one manipulating it. Like in amazon the customer owns the record until a certain point and they are allowed to make changes to their order/customer info/etc....
     

    Some background… we do ALL database access via Stored Procedures. We have our own custom CRUD class that does all of this via a common stored procedure API.

    Our update transactions update all columns regardless of what changed.

    We have our own semaphore based locking system.

    So just like in that forum I am lifting the skirt here as well and would like to see how the CodeBetter world at large does this:

    How do you handle updates?

    How do you handle conflict checking and resolution?

    How do Nhibernate or any  other data access tools do this?

     

     

  • Bridge Building as Software Metaphor

     

    Software developers love to contrast software development and construction projects.  When compared to construction software is in its infancy. Construction is a very well understood process with literally thousands of years of history and understanding. Developers like to say things like “building bridges is a very well understood process and can be scheduled accurately. “

    Well I am here to tell you that even bridge builders suffer delays not unlike software developers.

    I live in Gig Harbor, Washington and over the last couple of years have had the “privilege” of watching them build a brand spanking new $850,000,000 suspension bridge across the Tacoma narrows.  http://www.wsdot.wa.gov/projects/sr16narrowsbridge/

    If you have ever watched the discovery channel show that shows a bridge basically disintegrating in wind storm you have seen the Tacoma Narrows. Here’s a Wikipedia topic to look at http://en.wikipedia.org/wiki/Tacoma_Narrows_Bridge

    Well this new bridge has not been without its delays.

    The first one was that the wire they used on the bridge got left out in the rain. Imagine that rain in Seattle. Well it wasn’t the rain that screwed it up it was the paper that the wire was wrapped in that screwed it up. It caused corrosion in the wire. OOPS!

    Next delay happened in November and December. We had a record set of storms in November. Record rain in Seattle... Whoopee!!!!! Also in December we had a 70-90 mile an hour wind storm.  That storm caused all kinds of problems on the bridge. Heck we were without power for over 5 days.

    And the most recent delay… Shipment of the expansion joints. Expansion joints help control the give and take a bridge experiences during the year because of heat, cold, wind, rain, etc…. The first expansion joint has been sitting at the Idaho/Washington border for weeks.  The Washington DOT won’t allow the trailer they used to ship the joint into our fine state (as of this morning the 1st joint is 20 miles from the bridge)

    So now we are getting very close to the final stages of the bridge project.

    This project which was supposed to “ship” April 2nd will be lucky if it opens in August or September. Only 5 months late.

    So be careful comparing your software project schedule to building a bridge. Bridges can be delayed too….

     

     

     

More Posts