It's official: Edit and Continue will be in C# in VS.NET 2005. Thank you!
I'm just sending out the 5th installment of my Distributed .NET Newsletter.
Welcome to the October 2004 issue of the Distributed .NET Newsletter!
Oh, yes ... it's been a long time since the last issue of this newsletter. A lot of things have changed in the meantime. Some of you might already know that - earlier in this year - I've got together with the Web services expert Christian Weyer to found thinktecture. Together with Christian Nagel and Ralf Westphal - two other independent Microsoft Regional Directors - we offer in-depth consulting, coaching, project-specific training, and troubleshooting services to help you create architectures and applications which live up to the demands.
More important for you, there have also been great changes for this newsletter and the associated Architecture Briefings: Two magazine publishers will print the briefings in advance in German and Italian, allowing me to distributed the English-language version to you each month! There's a lot of content in the pipeline, and I'm sure that it will help you in your work as a software architect or developer. If you'd like to receive the Briefings in German, let me suggest subscribing to the dot.net magazin, or - for the Italian version - to the Visual Basic & .NET Journal.
This means for you that, starting with the next issue, the newsletter will be sent out monthly with great content in a new layout. Your email address is of course as safe as it always was: We will not share it. With anybody. Ever.
Pure SQL - Three steps for more scalable database access
When talking with developers and architects in the previous years, I have learnt that quite a number of them focus on scalability only in terms of their application servers. A lot of applications however suffer not from a badly designed middle tier - quite the contrary! - but from database access code which has not been created with high concurrency in mind. If you have ever seen deadlocks or timeouts while waiting for database locks, then you've experienced it on your own. (And, yes, the sad part is that it might not even be your own code which causes these problems!) In this issue of the Architecture Briefings, I will show you a different way to think about accessing your data which will help your application (and all other applications which access the same databases) by minimizing locking, transaction time, and deadlock possibilities.
John recent posts about Python finally made me install and play with it.
When using it for the first time, two small Ingo-shaped beings (one sporting a devilish red glow - the other colored in divine white) popped up on my right and my left shoulder. One of them is still convincing me that this might actually be a good idea:
class Foo: def Add (self, x, y): return x+y calc = Foo() print calc.Add(1,2) # 3 Foo.Square = lambda self , x : x**2 print calc.Square(4) # 16 calc.Add = lambda x, y : x - y print calc.Add(1,2) # -1 Foo.Add = lambda self, x, y : x + 1 calc2 = Foo() print calc.Add(1,2) # -1 print calc2.Add(1,2) # 2
If you are a Python non-user, please look closely at the last two lines and also keep in mind that neither -1 nor 2 would be what you expected of class Foo's Add() method. Interesting, indeed. (Red still tried to convince me ("but think about the possibilitiiiiiieeeees ....") when he received a fatal blow from White.)
Too many things, too little time. Just a quick note to show that I'm still alive.