Posts

Bing

I searched for "mrpmorris" on bing.com recently.  Now on Google it would show the address of my blog as the first result, which is very relevant.  On Bing it showed a page from a web chat from over 3 years ago, not very impressive. Not sure how long this photo will remain on the web for, but I found it quite interesting... http://farm4.static.flickr.com/3604/3585051300_d23a37a32e_o.png

Generation gap - update

Martin wrote to me and explained something I wasn't aware of. He doesn't catalogue best practises or only the ones he likes, he is cataloguing all patterns he can find. He said he would rather someone made an informed bad decision than an uninformed good one. Not quite sure I agree with that either :-)

Generation gap

I have just read this blog by Martin Fowler. I like a lot of what Martin writes, but this is not one of them. The article suggests using inheritance to separate code-generated classes and manually written classes. You would descend from a code-generated class instead of trying to modify the code-generated source. The problems I see with this are Attributes If I have a descendant of a code-generated class how do I attach .NET attributes to members? I’d have to override them and add the attribute in the descendant which would mean all of my members need to be virtual. Obviously this wouldn’t work for Private members. I expect you’d have to attach all of your attributes in the tool which generates the source code, but I don’t like this idea. I will explain why later. Sealed / final What if we want to create a sealed/final class? We can’t. What if we want a specific member to be sealed/final? Then we couldn’t add attributes to the members. Partial Microsoft introduced Partial clas

I've just ordered some books

Someone kindly gave me a £100 gift certificate for Amazon.  I posted a request for book suggestions to 3 groups where I would expect to receive good recommendations    http://tech.groups.yahoo.com/group/altdotnet/    http://tech.groups.yahoo.com/group/domaindrivendesign/    http://groups.google.com/group/RhinoMocks I received a lot of recommendations (thanks everyone!) - here are the ones I have bought:   Building Domain Specific Languages in Boo   Writing Secure Code, Second Edition   Analysis Patterns Reusable Object Models (OBT)   How to Solve It: A New Aspect of Mathematical Method   Object Oriented Project Design   Extreme Programming Explained: Embrace Change   Getting Things Done: How to Achieve Stress-free Productivity    Here are the books that made it onto my "future" list which I didn't have enough cash for this time around.   http://www.amazon.co.uk/gp/registry/wishlist/13GXONVVMLHZZ I generally went for the cheaper books first, so that I could get as much inp

MUMS - How good you are when things go wrong

I always say this so I have probably blogged it in the past, in light of my MOZY incident probably recently, but "It's not how good you are when things go right, it's how good you are when things go wrong". My wife and I are (unexpectedly) expecting our 4th baby.  We paid for a private scan at MUMS last week.  Part of the package is a DVD of the scan.  The scan was a really good one, but unfortunately when we got home we realised our DVD was completely blank. I phone them up and they offered a free scan.  I was still disappointed because there was a beautiful part of our previous scan that would be lost, where we were zoomed right into our baby's hand as she repeatedly clenched and reopened her hand, but I agreed because at least we would have something . When we had our scan they gave us probably double the normal amount of time.  In addition to that they upgraded our scan from a plain ultra sound to one of those 4D scans.  We were given twice as many printed ph

Bletchley Park

If you are unaware Bletchley Park played a vital part in World War II, it undoubtedly shortened the war (possibly by years) by decoding intercepted Nazi messages which had been encoded on the Enigma machine.  This site is credited with being the place where the first programmable computer was used to crack the more complex Lorenz Cipher Machine. According to this petition number 10 Downing Street... http://petitions.number10.gov.uk/BletchleyPark/ ...the park is severly lacking in funds and has at best 2 to 3 years before it is forced to close down.  The idea that a site with such a historical significance could be bulldozed and redeveloped is astonishing! Please help to preserve this computer related historical UK site by making as many UK residents as possible aware of this petition!

Locking in ECO 5

Jonas has just added the following feature to ECO 5 which should turn up in the next build. Let's say you have a package with a single class LockObject in it. This LockObject must have TimeStamp locking, but you use this package in many applications.  In ECO 5 you can set the default locking mode for a package. Now let's say you have multiple packages that you use in many applications and the locking type is different per app.  App 1 uses AllMembers locking, App 2 uses no locking at all; how can you specify the locking type?  Now you can add a .NET attribute to the top of your application specific EcoSpace class.... [UmlTaggedValue("Eco.OptimisticLocking", "AllMembers")] public class Application1EcoSpace : DefaultEcoSpace {   etc.... } Locking is determined like so: The kind specified on the class itself. The kind specified on any super class. The kind specified on the package. The kind specified on the EcoSpace.