Dot Net Dan's .NET Discussion


Saturday, March 27, 2003
Pat Helland
I first saw Pat Helland present at Tech Ed Australia in 2000. He's recently created a blog and some fascinating discussion around SOA has developed. Don't ignore the comments by John Elliott.

Saturday, December 21, 2002Tuesday, September 23, 2003
Skype
We briefly interrupt the silence for one word: Skype
(Username: dotnetdan)

Saturday, December 21, 2002
Miscellaneous reading

Piracy is progressive taxation
Read Tim O'Reilly's latest article whilst determining your thoughts on the Creative Commons.

Saturday, November 30, 2002
Win Forms DataBinding
Win forms databinding: so much promise, so much complication, so much confusion.
Two excellent resources:
DataBinding Chapter (free) by James Henry.
How databinding really works. Quite depressing, really.

Friday, November 22, 2002
The author of the Iliad is either Homer, or somebody else of the same name
Hey, we all know .NET solves the DLL Hell problem, but you still gotta love hearing it formally. (via Jason W.)
Reason for blog's title is twofold: (1) It's an abridged version of the title of the paper and (2) Bring some doc/lit culture to those google-wielding eng/lit undergrads. ;)

Saturday, November 16, 2002
C# Future
Dare writes a good precis of the proposed new C# language features.
Only real disagreement: Partial Types can be of assistance to code generators.

Within our company there has been much discussion of the pros and cons of having C# and VB.NET lose their virtual parity and become different horses for different courses. We wonder what Microsoft thinks.

Assorted apropos language:
Lisping at JPL.
XML is not S-Expressions.
C# and Java: The Smart Distinctions.


Real-world XML Schemas
developerWorks: Real-world XML Schema.
via douglasp

Office 11 to lower the cost of interop?
Clay Shirky is right when he says interoperability isn't free. The question is, how much will Office 11 lower its price?

21st Century Philanthropy
Mitch Kapor (co-founder of Lotus) is investing USD5 million into a competitor for Outlook and Exchange.
We wonder where Spaces fits into this picture.

Saturday, November 02, 2002
The Talent Myth
The Talent Myth: "It never occurred to them that, if everyone had to think outside the box, maybe it was the box that needed fixing."

Friday, October 04, 2002
Web Service Architectures
Peter Drayton continues to please. His latest link is to a simple-to-read yet highly informative and pragmatic article, Web services architectures: Easier said than done.

Wednesday, September 18, 2002
Intentional Programming
Is it just us, or is there something splendidly ironic about the juxtaposition of Ingo's lack of interest in Intentional Programming and his praise of System.CodeDom? :-)

We have spoken about Intentional Programming before. What we do know, which isn't much, has been gleaned from these resources:
Intentional Programming Presentation by Dr Oege de Moor, Oxford University, Feb 2001
Lutz Roeder's Intentional Programming Page
The Death Of Computer Languages, The Birth of Intentional Programming by Charles Simonyi, Sep 1995

With the news of Simonyi and Kiczales forming Intentional Software there has been some discussion about revolutionary new GUI ways of programming. For us, the gold doesn't have to lie in a fancy editor, although no doubt there will be one.

We'll see real value just from being able to forget the complex internals and runtime overhead of IMessageSinks, RealProxies and ContextBoundObjects, yet still be in a position to craft code declaratively and with brevity. Then again, perhaps our humble requirements merely require a good pre-processor.

The FAQ page mentions many ideas that resonate fondly with us, such as "one difference is that UML is originally rooted in what might be called a 'code and design' philosophy, whereas our goal can be described as 'code is design'."


Sunday, September 15, 2002
Frustrated by SOHO networking
It's going on 11:30pm and we still haven't got our simple little SOHO setup. Here's the story:
(1) Problem installing 2nd NIC: Computer hangs. Cause: Hardware problem. Fix: Place card in separate slot. Time to Fix: ~2 hours (many roads travelled to determine cause).
(2) Problem setting up ICS: Browsing web doesn't work reliably on client W2K laptop (but pinging web sites works). Expected cause: MTU setting problem due to ADSL's use of PPPoE. Attempts to fix: Change MTU on laptop to 1454, 1424; change MTU on .NET Server to 1454. Ongoing attempt to resolve. May have to try RASPPPoE, although since we're using Windows .NET Server, which has default support, this is undesirable.
Update (next day): Installed RASPPPoE (set MTU: 1454, limited MSS) and everything now appears to work. Root cause of problem: ICS on Windows .NET Server doesn't support our ADSL connection.

Saturday, September 14, 2002
Yummy dog food
In a recent
interview, Jim Allchin bemoans the lack of web services being provided by web sites. Strangely, he neglects to mention that Microsoft still forces its users to actively poll for new articles on MSDN, Knowledge Base and Technet rather than have them automatically notified via client-side applications that use web services. Umm...do we need to say more?
...on more positive content within the same interview, Mr Allchin says "[The Linux] community is very, very good, and we're hard at work trying to follow that model."
This sentence might be small, but its importance is huge.
From the first day .NET was previed back in mid-2000 we've seen Microsoft folk actively helping out the community. Many people haven't realised Microsoft change and learn. The number of developers using .NET and writing blogs has exploded and sites like asp.net, windowsforms.net, csharp.net are just the start. Soon gotdotnet will introduce workspaces and open-source .NET components will have a home similar to sourceforge.net.
The .NET community is a real factor in .NET's value-proposition.

Thursday, September 12, 2002
The Roman Kiss Phenomenon
A few days ago, Roman Kiss presented the world with the Remoting Probe.
This is just the latest in a line of articles he's published on codeproject.com.

Thursday, September 05, 2002
We're hiring!
Are you in Sydney or Melbourne, Australia?
Do you have a passion for .NET?
Are you enthused by the idea of helping others build the best software of their lives by using .NET technology?
Well, the company DotNetDan works for, Monash.NET, is hiring. We've taught serious .NET to more Australians than any other company. We've also consulted with many of the Big Co's. And we've established ties with Microsoft both within Australia and Redmond.

We teach, we consult, we build. We help others to be the best they can be by using .NET technology.

Send me a note if you'd like to join the ride. You don't have to know all of .NET, so please don't be shy. But be aware you may be asked questions till you cry, and not because we ask daft crap like "tell me your worst trait". ;)


Saturday, August 31, 2002
No Rumours, No Death, No Fame
Well, it's been absolutely quiet here for 5 months and we haven't spotted a single rumour we're dead. Kinda puts a damper on our wish to declare it being greatly exaggerated, don't it? Appears the quest for fame will have to continue. Who'd have thought?

Monday, April 01, 2002
DalHand Update -- Declarative Transactions without COM+
Our long-term readers will know it has been over 6 months since we've done any work on DalHand. The good news is that over this past Easter long weekend we've had an opportunity to get back to work on this exciting project.
The result is a new port of DalHand for version 1 of .NET that includes support for declarative transactions. That's right. The next release of DalHand will give you the ability to use declarative local transactions without the hassles of COM+. But that's not all. We have also included support for Isolation Levels, providing the kind of industrial-strength technology that Microsoft will be delivering with Windows .NET Server in the second half of this year. Of course, there is work still to be done. Next on the list is support for automatically retrying transactions that fail with deadlock -- a problem that sometimes plagues large-scale projects.
We expect to begin a beta testing program within the next month.

Friday, March 29, 2002
An Architectural Tour of Rotor
David Stutz provides an overview of the Rotor architecture...
The loading of a managed program is a miracle of self-assembly, during which those inert blobs of metadata, resources, and CIL are transformed into instructions executing directly on the microprocessor.

Sunday, March 24, 2002
.NET X-Platform Update
Ladies and Gentlemen... Rotor is here... (bongo clap) ...Rotor is here! bongo clap

Meanwhile, Microsoft and Mono meetings take place at the developer level. Cool. Which leads us to today's quote of the day, by Miguel. Explore and you'll even find the name of the venerable Dr. GUI.
It's been a month since our last post, but with leads like this one on the name of Dr. GUI we sure understand why you come back. ;-)


Tuesday, February 26, 2002
Microsoft, the hardware company
News from the "how many letters do you have to change to get a microsoft from a macintosh?" department
We've mentioned Microsoft's eHome division before and its Mira, Freestyle and Homestation products. Recently, homestation has been officially denied, thereby confirming its existence, especially when one considers that the UltimateTV group has been "disbanded" into the same division.
Anyway, there is now news that Microsoft is building airport...err, a wireless device.
Why are they doing this?
1) They think it will be profitable. (And they've got a bit of loose cash lying about.)
2) Trustworthy Computing. Microsoft doesn't like 3rd-party driver inspired BSoD.
Regardless, we just think this is exciting news. Our question is, will the device's protocol end in an 'a' or a 'b'?

Saturday, February 23, 2002
How do your chops rate?
Microsoft has publicly released FxCop, a free tool that inspects assemblies for compliance with the .NET Framework Design Guidelines.

Saturday, February 16, 2002
Trustworthy Computing Continued
In his latest newsletter, Bruce Schneier foretells of difficult decisions Microsoft will have to make as part of its Trustworthing Computing initiative.
A day before Schneier sent his newsletter, the .NET community had evidence Microsoft is facing such difficulties head-on. On 14 February, Chris Anderson, Microsoft's .NET Client Architect,
explained that in a soon-to-be-released "service release" the default .NET security settings are going to be changed to be more restrictive. The new changes will prohibit .NET code running from the Internet Zone unless explicitly authorised. Many .NET developers are upset by this new "draconian" decision, with a surge of replies to Anderson's post. Like everything related to security, it is a complex issue, and some of the replies contain reasonable arguments for why the new measures may ironically result in lessened security.
Still, this is a perfect example of Microsoft's new philosophy of being prepared to restrict functionality in an attempt to improve security.
On a related matter, Anderson's post also notes that whilst the rest of Microsoft is spending the month of February in a "security timeout", this is just "old news for the .NET framework team".

Coding lesson of the day
Screechingly Obvious Code -- "[do not] put behavior into an event-handling method...call out [to] a behavior-containing method with the appropriate name."
Today's tip comes from Alistair Cockburn, one of the very few folks we respect when it comes to matters of "software process".

What is .NET
If you scroll down, you'll notice that a year ago to the day we posted an item entitled "What is .NET". Well, apparently Ars Technica believe there is still a need to tell folks what it is. Fortunately, they've done a pretty good job: What is .NET?
Peter Drayton provides an explanation of areas where they didn't do quite so good a job.

Saturday, February 09, 2002
.NET X-Platform Update
Mr Mono (nee Gnome), Miguel de Icaza, says it how it is:
"The .NET Framework is really about...increased programmer productivity"
"...my personal experience and the experience of some of my friends with this platform has been amazing."
"...we are bringing the best technology out there to our beloved free software platform."
Joshua Allen, Microsoft employee, and writer of our favourite blog explains why he admires Miguel's patience.
Mono is currently set to ship in the 2nd half of this year and has some new contributors: HP and Intel.
A different strategy is being taken by Halcyon Software, which now has its iNet .NET->Java product available for download. We haven't used it yet, so if you have a chance please let us know how it goes.
XDNet News: The convergence of .NET and Java

Wednesday, January 23, 2002
Trustworth Computing. Making software "Good Enough" just got harder.
Last week, Bill Gates released a statement indicating in no uncertain terms that Microsoft's new #1 priority is trustworthy computing.
In the past, Microsoft has had a very different attitude, such as the pronouncement "there are no significant bugs in our released software" made by the very same Bill G in an interview back in 1995.
So why the 360 degree turn-around? Read more...

Commentary and Analysis: Bruce Schneier's Crypto-Gram Newsletter, which includes today's quote-of-the-day in regards to Oracle's security-flawed 9i database, advertised as 'unbreakable': "I don't care who Larry Ellison is; he can't rewrite the dictionary."


Saturday, January 19, 2002
Intentional Programming
Now that .NET has shipped (how frightfully blasé ;-) it's time to think disruptive software technology. Some think it's Aspect Oriented Programming, others think Subject Oriented Programming. Charles Simonyi and his team think Intentional Programming. What do you think?
Any which way, we just hope it doesn't involve hungarian notation.

Sunday, January 13, 2002
Is 2002 the year Microsoft becomes a hardware company?
Microsoft looks set to take us where the Macintosh only threatened. Mira, Freestyle, .NET My Services and Homestation are the first tangible outcomes from Microsoft's eHome Division. Read this Microsoft PressPass for background.
Oh, and just so you know, .NET is set to be their hardware division's defacto programming platform.

Friday, January 04, 2002
The award for the coolest .NET tool of the year-that-was goes to...
Anakrino, for helping bring the wonderful framework class library's source code to a window near you.

The award for the best help system of the year-that-was goes to...
The Microsoft folks hanging out on the .NET Mailing lists!
The number of them is huge but special thanks has to go to Scott Guthrie, Rob Howard, Susan Warren, Mark Boulter, Brian Harry, Steven Pratschner, Jim Miller, Jonathan Hawkins, Brad Abrams, Duncan Mackenzie, David Sceppa, Mark Boulter and Scott Berry for hanging out and contributing to the .NET mailing-list community (apologies to those we forgot).
These folks all have big brains, controlled egos and an amazing willingness to help. At times you could be forgiven for forgetting they actually have a product to ship.
Oh yeah, the MSDN .NET Shows have also been pretty cool. Go Hessie!

The award for the cleverest marketing play of the year-that-was goes to...
Microsoft, for not shipping .NET.
Hoorah for quality-driven release cycles!

The award for the dumbest marketing play of the year-that-was goes to...
Microsoft, for describing .NET as the "platform for building XML-based Web services."
C'mon, is that really the .NET sizzle? Or do you agree with us that a simple "faster, better, cheaper software" slogan might actually have been more attractive, understandable and real?

Friday, December 14, 2001
Uh oh, hell's about to freeze over...
Pop quiz: As at 12/12/01, who's the guy on pole position at the main Microsoft developer site?
Did you guess a Linux guy? No?
Well, check it out. Miguel de Icaza (primarily of Gnome fame) talks about why he's been busy porting .NET to the Linux platform.
This continues to give us hope that .NET won't be the cross-platform white elephant COM is. We wish you all the best Miguel!

Wednesday, December 05, 2001
.NET Delegates
We admit we've tried to write a comprehensive and understandable article on delegates for quite a while. Unfortunately though, every time we've sat down in front of the typewriter and clattered the keys, the result has been the same -- a twisted ball of paper sitting in the wastepaper basket and a pained expression on our face.
Chris Sells, however, has done delegates proud with the best darn article you're ever likely to read on them --
.NET Delegates: A C# Bedtime Story.
(Psst...if you have a Java background, it may even help clear up where delegates have advantages over interfaces and the Observer Pattern.)

Tuesday, November 13, 2001
.NET signals an Industry Shift
David Bau: "Convenient approaches to programming...have now become cost-effective. ...You must be willing to waste CPU power in order to save time on software development. ...[.NET] helps developers trade the Moore's law surplus to achieve lower software development costs". Superb independent analysis of the industry-forces driving .NET and Microsoft.
Chris Sells: "The power of .NET is Programmer Productivity". Yep, the power of .NET is reduced Total Cost of Ownership for now and simple yet powerful access to the network and client interface in the future.

Friday, November 09, 2001
Bob banks on .NET
Bob Cringely (who is he really?) has devoted his last couple of articles to the inevitability, in his opinion, of .NET triumphing over Java (and the usual fun conspiracy-theory stuff) --
  • Sharper Than Ever
  • Caught in a .NET

  • Wednesday, October 24, 2001
    Microsoft rewrites Sun's Blueprint Application
    News from the "you won't read this on Sun's website" department
    Now this is fun! Microsoft decided they'd have a go at writing Sun's J2EE best practices blueprint application in .NET. The result is an app that runs 28 times faster with 1/3 of the code.
    We haven't yet had a chance to look at the actual code, though, so we'll refrain from commenting on how maintainable it is. Stay tuned.

    Tuesday, October 23, 2001
    .NET Performance Tips 'n Tricks
    Worth a scan:
  • Performance Tips and Tricks in .NET Applications
  • Performance Considerations for Run-Time Technologies in the .NET Framework

  • .NET My Services
    With these puppies about to be released into the beta-testing-wild (via an SDK given out at the PDC), it's probably a good idea to refresh your understanding of .NET My Services and XML & XPath technologies required for playing with them.

    Sunday, October 21, 2001
    Rich Client Renaissance
    The latest .NET Show concentrates on Win Forms .NET technology.
    Maybe you're sceptical about rich clients. Maybe, even after hearing us rant and rave about how cool Win Forms are after all these months, you still think smart clients are 90s technology and green screens, err...thin clients are noughties technology (and not actually 70s tech).
    Well, if this is you, spend an hour and fifteen listening to the show. And while you're listening, keep thinking "Total Cost of Ownership".
    If you build thin client apps because they're cheaper to secure, deploy and maintain than rich clients, you may discover that premise is no longer true.
    Please note that we're not saying there isn't a place for thin clients. All we're saying is that such a decision should now be based on the reach vs. rich and disconnected vs. connected requirements of your application, not TCO. Or at the very least you need to reconsider if the TCO of rich clients developed using Win Forms technology will be any higher than thin clients. Microsoft are certainly doing their best to ensure the TCO of Win Forms is the same, if not less. And you don't have to think about it long from a Microsoft perspective to understand why.
    What's "thin client" mean to Microsoft? It means end of market share and profit, that's what. It means the end of their desktop operating system dominance. You really think they want that to happen? You really think they're not pulling out all stops to provide us developers with an easy-to-use technology that locks us into their platform? Of course that's want they're trying to do. And that's a good thing! It means they've got to offer us goodies to get it to happen. And with Win Forms, they have.
    Win Forms allow us, as developers, to be more productive, our users to be happier with better useability, our frugal IT departments to bask in the glory of lower TCO, and the wackos over in /. land to continue to amuse us with their ranting.
    The way we see it, Win Forms are crucial to Microsoft's .NET vision, even if their marketing department's been doing its best not to say it. So we've been making sure we know Win Forms -- we like swimming with the tide, not against it.

    Thursday, October 11, 2001
    .NET Grooves
    News from the "we don't know what this means but we know it's gotta be good" department
    Microsoft have invested in the latest brainchild of Lotus Notes creator Ray Ozzie: Groove Networks.
  • The accouncement
  • Recent Commentary
  • Older related piece
    Update via scripting.com: Groove's rubber sole

  • Monday, October 08, 2001
    News on the J word
    If you like to sup from the Java cup, this news may be of interest --
    Visual J# has been (unofficially) released.
    Update (11 Oct): J# Official Release

    Friday, October 05, 2001
    Security, Security, Security
    We've all seen Steve Ballmer doing the "Developers, Developers, Developers" chant and it may only be time before we see Brian Valentine do a "Security" chant.
    Unfortunately, though, do you see Brian or any of the other MS folks doing a .NET security chant? No. Where was the reference in the recent interviews to ensuring .NET has no security holes? Where was the discussion of how any security problems are going to be patched and those patches propagated to clients? The absence of any such comments concerns us.
    Sure .NET has security baked into it in the way of Code Access Security (CAS). But no matter how cool CAS is, do you really think .NET is going to ship without a single security hole? Sure CAS is just wonderful in theory, but c'mon -- it's only to .NET what ACLs are to Windows. And the security flaws in Windows are rarely related to ACL problems. In general they concern administration (and have you seen how pathetic the beta .NET CAS administration tools are?) and other matters like how difficult patches have historically been to find and how trustworthy they've been to install (in the past it's been a leap of faith to install a Microsoft patch before hearing reports from the field that it didn't toast something else. Then again, maybe that's just a perception thing).
    We need to be confident Microsoft can promptly and professionally deal with any .NET security problems that are found after .NET has been released. That's not an admission of defeat, that's an exhibition of professionalism and duty of care. So please Microsoft, if you are ensuring a solid security story in .NET, tell us about it! If you aren't, uh oh, we see history repeating.

    Thursday, October 04, 2001
    Don't believe the hype
    Have you taken one too many sups from the Web Services cup?
    Then it's time for Shirky to set you straight.
    In the .NET world, of course, we have both Web Services and CLR object remoting. They're different; do you know which to use?
    BTW, JaNET is using object remoting for interop with Java objects.

    .NET not quite yet
    According to this article, VS.NET is set to go "gold" in November and ship to stores in Feb 2002. So what's the possible timeline for this going to look like?
  • End of Oct (PDC) - Release Candidate
  • End of Nov - .NET SDK Ver. 1 available & VS.NET Release To Manufacture
  • Feb - shrink-wrapped VS.NET boxes on shelves
    If this proposed timeline is true, .NET essentially goes live in November -- in the form of the free SDK download -- and MSDN universal subscribers will also have access to a compatible version of VS.NET. The key question is, though, when will MS marketing go into berserk mode? They may want a little bit of time to let the dust settle on the XP party (also end of Oct) before bombarding the world with more happiness and joy in the form of .NET.
    Update: Another, better article, confirms our timeline.

  • Saturday, September 08, 2001
    Taking out the Trash
    Microsoft has recently made a Whitepaper on .NET Resource Management available to help us all remember to take out the trash.

    Microsoft HomeStation
    So, the rumours are true and Microsoft does have a son of XBox. Details are still very scarce, though.
    Given that Microsoft are heavily in bed with the west-coast of america entertainment industry, it will no doubt have SDMI-style goo built into it. What's the chance that its first killer app will be an SDMI-cracking web service? Oh, the irony, the irony.
    Regardless, we sure look forward to streaming The Basement over it.
    [What is SDMI?]

    Friday, August 24, 2001
    Metabase -> Meta Abyss -> .NET XML
    If you've done the hard yards developing web apps on versions of IIS prior to version 4, you no doubt said a few choice words when you learnt that MS had chosen back then to replace human readable registry entries with a binary "metabase" in IIS4. Well, if you listen to the
    talk Scott Guthrie gave at the recent Conference.NET, you'll hear the story of how the Word team conspired to make the spell checker replace the word "metabase" with "meta abyss" (we reckon there's a better word still, but this is family broadcasting). With our scars still visible after battling IIS 4 installs in the past, we especially enjoyed that anecdote.
    More important, though, is listening to Scott talk about the history of ASP.NET and the need for dogfooding, listening to customers, adjusting goals, modifying schedules and being courageous.
    It's clear that Scott's no ivory-tower architect who hasn't seen code since it came stacked in cards; nor is he some kind of low-level bit twiddler not prepared to lift his head above the wall of predict-not-taken pipeline branch prediction. Instead, he's just the guy who's almost single-handedly brought us the world's best thin-client presentation software. And we reckon that's enough reason for an hour of your time.

    Also, thanks to Don Box and DevelopMentor, they've made a bunch of other great Conference.NET sessions from folks like Brian Harry and Don Box himself available too.


    Tuesday, August 21, 2001
    Maid, more SOAP please...
    Last night we installed VS.NET beta 2. You might think we no longer have an excuse for not upgrading our old DecHand tool. Humbug! Of course we have an excuse. It's called DalHand and we're trying to make it a must have item for every lazy .NET developer. So obviously we've got a bunch of stuff still on the todo list. When we sift our way through that we'll return to DecHand (and if you're good and patient we promise a surprise with that port, too.:-)

    BTW, after installing VS.NET (which is way cool despite a few quirks -- it sure is nice to have Intellisense back) we found ourselves navigating, via the hotlinks provided on the start page, to Keith Brown's site and from there to a most comical gem on SOAP interoperability. Eventually, after you've finished giggling yourself stoopid, you may like to check out Keith's article on .NET Code Access Security.


    Friday, August 17, 2001
    busy busy busy
    We're hard at work on the next version of DalHand, which should be available within the next week or two.
    In the meantime, read the freely available ClueTrain Manifesto. It's a blast.

    Oh, and Brandon reckons system administrators aren't going to be impressed by our attempts at a Rich Client Renaissance. He's right. Do you agree? Comment!


    Wednesday, August 08, 2001
    DalHand is Shipping!
    We've just finished building our latest tool, and we're excited.
    DalHand consists of a framework and code generator that combine to produce an ADO.NET Data Access Layer unlike any other. Download!

    Tuesday, July 31, 2001
    Lawyers and Geeks
    As we've said before, we like Jon Udell. He's knowledgeable, pragmatic and a darn fine writer. And he's just finished writing up his take on the recent Open Source Conference that Microsoft's Craig Mundie bravely attended.
    If you wish to watch the debate Jon's talking about (and view The Three Faces of Poker for yourself) you can find it at Dr Dobb's TechNetCast. Look out for Mitchell Baker's (of Mozilla) comments and questions -- they are the most evocative and profound of the lot, but also ironic as they talk to Microsoft's policy of giving away software. But who has the answers? Certainly none of the other wanna-be Kill Guys ...err, BigCo's.

    Saturday, July 28, 2001
    The Moose That Roared
    The Talking Moose has been getting a fair bit of deserved press recently. From his most recent entry (emphasis ours):
    Putting bigger and bigger advertisements in our faces won't earn our trust. Sites that are doing that are on a death spiral. Nope, the Internet is different than magazines or TV or radio. Deal with it. Eyeballs aren't the answer -- trust is.

    Wednesday, July 25, 2001
    On Matters COM+
    Dot Net Dan began and finished reading the most important COM+ book ever written today --
    Transactional COM+: Building Scalable Applications, by Tim Ewald (of DevelopMentor fame).

    Saturday, July 21, 2001
    Five Nines Reliability
    Details are light but it seems our email forwarding service has been hit by a Denial of Service attack for the last day. The result is that little to no mail sent to our @dotnetdan.com addresses has reached us.

    This episode is yet another reminder of how fickle the Internet remains. DoS attacks are rampant and ingress filtering is still not enforced. Really makes you wonder about the Application Service Provider model, doesn't it?


    Friday, July 20, 2001
    Configuration File Handlers
    We've been recently playing around with various designs for a Data Access Layer. At one point we were going to use the CodeDOM to spit out code based on settings read from a standard .NET Configuration File. We've since scrapped the idea, but we figured there'd be no harm in sharing some code that demonstrates how to write a custom Configuration Section Handler.

    Saturday, July 14, 2001
    Data Binding Internals
    Ever wondered how those funky ASP.NET <%# ... %>statements did data binding, or scratched your head at the magical powers of Container.DataItem?
    Well, we've peered under the covers of ASP.NET to reveal what's actually going on in our article on Data Binding Internals.

    Friday, July 13, 2001
    The Rich Client Renaissance Continued
    Microsoft's Mark Boulter (Program Manager of the Win Forms team) has posted a detailed mail that describes how .NET fosters The Rich Client Renaissance (see our post back in early March).
    If you develop software for the Windows platform this is a must read! It again stresses the fact that .NET is not just about Web Services.

    Now, we want to hear from you! Do you agree there's going to be a Rich Client Renaissance or have you been warned off Rich Clients forever? Do you see flaws in the Win Forms design that will have Thin Clients reigning supreme? What's your IT department going to say about Win Forms? Do you have users crying out for useability and disconnected access beyond that which thin clients can provide? If you develop thin clients do you only target IE? Will you bother with any other browsers in a year or two? Will you be as productive developing ASP.NET forms as you will Win Forms? If you currently develop rich clients do you plan to migrate immediately to Win Forms?
    There are so many factors that may make this a "disruptive technology" or a "white elephant". We have our thoughts but we want to hear yours. Discuss!


    Monday, July 02, 2001
    .NET Remoting
    We've put together a short article describing how simple it is to get started with .NET Remoting.
    Be advised this is for Beta 2. DecHand, however, is yet to be upgraded; pending installation of VS.NET beta2.

    Thursday, June 28, 2001
    A Good Day for Developers
    The .NET Common Language Infrastructure (CLI) has been semi-officially declared open source. We actually enjoyed reading David Stutz's insider comments on Microsoft's attitude to the education sector more than those he made on open source, which we find kinda old news (see our comments from back in November). We happen to believe that the language agnostic nature of the CLI is just as beneficial, if not more, to academia as it is to the enterprise. (We spoke of this a couple of days ago in relation to Python, ActiveState and university education.) If you could do your CS degree again, would you like a platform that was capable of seamlessly and homogeniously handling all your courses on assembly, functional, declarative, procedural and object oriented programming? .NET now makes that possible and this is not a small point. It could be the biggest threat Java faces. If Java loses the education sector it stands to lose the enterprise sector and also, heaven forbid, some of the open source sector. Microsoft certainly haven't missed that point. About 2 years ago, though, Dot Net Dan did. He made a post (search on the page for the word "serious") over on the wiki wiki web where he seriously underestimated the work Microsoft was doing (please remember, though, .NET wasn't even called NGWS back then -- it didn't publicly exist in any form). He has been suitably humbled over the last year. Talking of which...

    Today is a good day. Its stories help reassure us on the decision we made about a year ago to shift our focus away from Java to .NET. So why would we need this reassurance, when the technical elegance of .NET is so obvious? Well, because technical elegance isn't always a determining factor of success. It's some of the other things that do the trick. Today's stories help promote some of those other things. On the subject of which, Tim Bray (of XML fame) talks about what it takes to have a technical hit during the last 5-10mins of his presentation on XML hits and misses (a topic we would otherwise probably find rather soporific).


    .NET Performance
    As they say, there are lies, damn lies and statistics. The ones to your left show the .NET application outperforming IBM Websphere by a factor of ~4 in pages handled/sec. They were conducted by Microsoft so we look forward to IBM's rebuttal.

    Tuesday, June 26, 2001
    .NET access modifiers
    Do you know your internal from your protected? Pop quiz.

    Monday, June 25, 2001
    ActiveState and .NET
    ActiveState impress us. We just downloaded their Komodo IDE and quite frankly, it rocks! The download, install, run and then debug-a-python-program experience was impossibly simple and frictionless.
    Perhaps it won't be too long before universities are running PythonNet (currently in production) within Komodo. Shortly thereafter, enterprises may find themselves confronted with a bunch of enthusiastic youngsters espousing the virtues of Python and its dynamic typing. In such a future Python will have hit the mainstream and ActiveState will be happily riding its coat-tails. Perhaps this same future will also contain a .NET for linux, enticing the open source crowd into the fold. If so, these ActiveState folks are superbly positioned.
    As for now, if you need a free C# editor for educational purposes, you might like to try Komodo. It's not yet a fully fledged IDE for .NET like it is for perl, python, xml, xslt, html, javascript, php and tcl but you may still find it of interest. As an aside, it's the first app we've ever run that uses Mozilla technology.

    Microsoft vs. GPL
    Read Robert Scoble's summary of recent findings regarding .NET target operating systems. Then read this CNet article on the Microsoft Mobile Internet Toolkit EULA.
    We're sure you'll enjoy making your own conclusions us much as we have.

    Saturday, May 26, 2001
    Secure Email
    We admit it. Today was the first time any of us bothered to install a Digital ID into Outlook Express. In case you didn't know, Outlook Express supports Signed and Encrypted email through the use of Digital IDs (aka certificates).
    Despite Outlook's best effort at making the whole process unmanageable, it actually wasn't that hard. We used a free service offered by Thawte (a Certification Authority). And thanks to their great instructions, Outlook was sending secure mail in less than 15 minutes.
    We're surprised Passport doesn't offer a service like this. Has Microsoft given any indication it will offer CA services as part of Hailstorm? If you're in the know, please drop us a mail (signed, of course;-).

    Thursday, May 24, 2001
    Microsoft Maintains its Moat
    A Business Week article describes Microsoft's Moat as being deeper and wider than ever. And AOL's latest actions seem to confirm it. While the details aren't yet clear it appears they have chosen response (1) or (2) from their list.
    The Everyone But Microsoft Consortium can't be pleased.
    Update: Dan Gillmor wonders if Microsoft's dominance is only just beginning.

    Roger Sessions Sells
    We're big fans of Roger Sessions' newsletter. (For those of you who read the link we made to the knowledge management article a couple of days ago, you'll like note Roger's effective use of story telling as a mechanism to help achieve tacit knowledge in the reader.)
    Today, we discovered Roger has a couple of extra goodies on his site: A white paper and presentation on .NET vs J2EE.

    Tuesday, May 22, 2001
    Forgetting the way of life...Men rely on laws
    Some smart, eloquent, rational and reasonable people discuss such trivial matters as innovation, creativity, laws, napster, open-source software and Deadheads. You'd almost think the world was in the midst of a disruptive force. ;)
    The people involved are: Tim O'Reilly, Larry Lessig, John Perry Barlow, Dan Gillmore and Clay Shirky.

    In Australia, we pay a levy (ie. a tax) that allows any resident to receive free treatment in Public Hospitals. Here at Dot Net Dan's headquarters we reckon we need music as much as our health...actually, probably to retain our health! So why not follow the health theme and impose a music (or, more generally, an entertainment) levy? We'd then be able to grab any and all music we desired in bit form without having to worry about micro-payments or infringing copyright laws. The artists (who we care about) would be properly remunerated and the distributors of jewel boxes (who we don't) would probably go the way of the dodo. Of course, this may be mind-shatteringly absurd, as we haven't done any research into how steep the levy would have to be. Discuss


    Blogging as KM
    We're not convinced blogs make particularly great Knowledge Management tools (wikis on the other hand...), but this highly interesting article makes a case for them. It reminds us that stories are a wonderful mechanism to turn explicit knowledge into tacit knowledge -- or as we put it, stories get you to grok it.

    VS.NET for the Enterprise
    Microsoft have announced some Visual Studio.NET Enterprise edition features.
    We're happy with the prospect of better in-built automated testing tools.
    We're indifferent with respect to the fluffy diagram and draconian architectural template tools.
    We're surprised with no announced support for a SourceForge-like service (surely that's what has to become of GotDotNet and Code Center).
    And we're disappointed with the lack of integrated groupware facilities like bug/task tracking (no, the task list bar doesn't count) and knowledge management. Given the strategy and kind of execution Microsoft were doing with Netdocs (and are now doing with Office) we find it difficult to believe they don't have some exciting skunkworks project going on to support development teams using agile (or lightweight) processes.

    Still, we are pleased to see Microsoft continue in its attempt to address Enterprise developer needs. They're listening, there's little doubt of that. But are we asking for the right things?


    Saturday, May 19, 2001
    Maintaining the Moat
    Warren Buffet has been known to only invest in companies he believes can maintain their competitive advantage. He refers to this as maintaining the "moat" -- a business is like a castle, and it needs a protective moat.
    Here is an insight into how AOL are trying to maintain their moat, given the charge of the Microsoft .NET brigade. A digestable third party commentary is also available. The AOL Operating System discussion is also in progress.

    Is Amazon's "grow first, profit later" approach a case of building the moat before the business? Maybe this New York Times article can help you decide.


    The State of SOAP
    Many of the SOAP luminaries sat themselves around a table and did a bit of talking.

    Friday, May 04, 2001
    .NET Services in 2001
    Paul Thurrot provides (with the help of some insider information) a short calender for .NET Services.

    Thursday, April 26, 2001
    Bringing back the bots
    It's not hailstorm, but IM is poised to become an instant information tool.
    Maybe it's just us but we reckon many company's support systems have been using this kinda technology for years. ;)

    More interesting technology is Yenta. This kind of agent has been discussed for eons. Hopefully Yenta transcends such vapour into kick-ass execution. However, as Yenta currently only runs on Unix we haven't been able to confirm this for ourselves.

    What do both of these apps help demonstrate? The reports of P2P's death are just a little over-exagerrated. As Shirky says, just utter "decentralisation" rather than "P2P". If you're a sys admin, good luck for the next couple of years.


    Thursday, April 05, 2001
    Secure UI?
    One possible use of web services is to add server capabilities to devices on the edge of the network, like the machine you're using to read this. A machine exhibiting "server capabilities" is one that responds to network connections initiated by a third party. Machines on the edges of the network have traditionally been used as clients -- they initiate connections (such as when browsing the web) but they don't listen out for anyone else trying to connect. (As an aside, the recently much-hyped P2P movement is all about adding server capabilities to traditionally client-only machines.)
    An example candidate for a web service is Windows Update. It could be written as a web service that runs on your machine and receives product update messages from Microsoft as soon as they are available and published. The web service model may become the standard technique by which all rich-client software updates itself.
    We won't go into the technical details of the advantages and disadvantages this "push model" has over the traditional updating "pull model". Instead, we wish to comment on the issues of security and trust this raises. If any software can create a web service on your machine as part of its installation process, you're vulnerable to allowing third parties to effectively control your machine. Let's say you download a shareware text editor and it creates a web service for managing updates. But let's say the developer of the editor wasn't particularly security conscious. There's a potential that your text editor's update web service is a virus-writer's dream. Now, the really scary thing is that during the editor's installation process you may never have even been alerted that a web service was being installed, so you can't make a call on whether you're installing a time-bomb. Hmm. If adding "server capabilities" to the edges of the network is ever going to be viable, we'll need assurances that there can be no web services acting as "virus writer dreams". Do we need something like a Secure UI to help us easily configure the "sandbox" each application runs in? Discuss

    Related reading: Network Security by Clay Shirky.


    Sunday, April 01, 2001
    Do You Foo?
    Sunir Shah links us to the Etymology Of 'Foo', delightfully dated 1 April.
    Yep, slow news week.

    Saturday, March 17, 2001
    What Is Hailstorm?
    For the latest on the upcoming "Hailstorm" Microsoft technology, read comments by Robert Scoble and Dann Sheridan.

    Friday, March 16, 2001
    Get a Clue!
    Recent events with bad customer service have reminded us of the gloriously simple truths in The Cluetrain Manifesto. (Please take a moment to familiarise yourself with them before reading on.)
    Now, rather than bore you with our recent bad experiences, let's instead consider Id Software, maker of certain game titles you may have heard of like Doom & Quake. Id is a company that embraces the cluetrain philosophies. For example, John Carmack -- Id's chief propeller head -- has published .plan files for as long as we can remember. The topic of these has varied from hardware to algorithms to stuff-ups to the colour of his Ferrari. This communication, although uni-directional, gives us all an insight into the person behind the closed doors of the company. A bunch of his colleagues similarly converse. When you combine Id’s breakthrough technology with this culture of communication you aren't surprised to learn that Id has a happy and loyal customer-base and John Carmack has a following of “rock star” like proportions. Most all of the companies within the games industry now keep in constant communication with their customers. Game Modification communities have sprung up that have essentially created a positive feedback loop into the game economy, itself. The industry also uses these game mod communities as a pool of talent to draw from when recruiting. It’s a win/win for the companies and their customers.
    Other software industries don’t seem to care much for the cluetrain philosophy, though. For instance, to the best of our knowledge, companies like Microsoft, Sun and Oracle only let their people out of their offices to attend sanctioned conferences and 1-dimensional mailing lists and web sites. We very rarely see the personalities and brains behind these companies except for "renegades" like Joshua Allen and R&D dudes like Jim Gray.
    Perhaps these companies could also learn a little from the community spirit that is garnered in open source projects. Do they realise they don’t have to show off their code to attract a community? They just have to show off their passionate best and brightest. Open people, not open source.
    Finally, we certainly don't see any company/customer conversations taking place in other industries. Take finance, for instance. There are fantastic sites out there like Motley Fool that exist solely to nurture financial communities. But the people inside the Managed Fund Companies aren't openly conversing with their customers. They're still all hiding behind glossy brochures and marketroid-speak. Well, Berkshire Hathaway have formed a community spirit with a combination of Buffet’s folksy wisdom in their Annual Reports and unbelievable ROI, but Berkshire is most certainly a one-of-a-kind (their kind of common sense is, after all, far from common).
    Most finance companies seem to insist on keeping their heads in the sand. Don’t they understand that the reason folks like us at Dot Net Dan don't invest with them is because we don't know the people we're entrusting our money to? A fancy logo, an expensive premises and a history of good returns is not enough. For instance, are the employees of today, the same as when returns were good? What’s their take on the current currency devaluation? What's their sense of humour like? Impress us with your people and we’ll impress our money upon you.
    If you’re in business, you obviously need a good product and/or service. If that product is way better than the rest you'll probably get away with being arrogant (for how long, though?). But if that product and service becomes something of a commodity (like managed fund companies), you can differentiate yourself through communication. And note that we’re not talking company-sanctioned communication here. We’re talking about open employee-to-customer person-to-person communication. Communication that will sacrifice an occasional faux pau for reality, brilliance and personality. Customers are drawn to that. They want to support it. It's real and it's human.
    The technology for letting it happen is here in abundance. It’s formed a sandpit that those outside company walls have been playing in for ages -- irc, icq, newsgroups, blogs, wikis, ... The question is, when will the company "school bell" ring so that employees can come out and play too?

    Thursday, March 15, 2001
    And now for something a little different...
    As our local currency -- the Australian Dollar -- plunges to new found depths, it is time for us to move our attention (albeit briefly) to economics, the social science that seems no more mature than software. Even Alan Greenspan (Chairman of US Fed Reserve) has been heard to say: "we're learning on the job here". Those economists just seem to show more humility and interest in statistics than us software guys.
    Anyway, we normally don't care too much for economics, but sometimes forces conspire to have us just a little curious -- like our current currency devaluation (to less than US0.50) -- and that's when we turn to Paul Krugman. This professor of economics at MIT not only knows his stuff (probably the most acclaimed economist in the world), he is a damn fine and funny read -- a combination that is almost as tough to find in the world of economics as it is in the world of software.
    If you're living in Australia and are a little worried about the current state of the dollar, read some of his work.
    If you're living in the US, rush out and take advantage of Australia's current predicament by buying up its quality produce -- like us -- at bargain prices. :-)

    Wednesday, March 14, 2001
    Clay answers a Pop Quiz
    Clay Shirky thinks about and groks the culture and economics of the Internet far better than most and has just answered some interesting questions over on Slashdot.

    Thursday, March 01, 2001
    The Rich Client Renaissance
    Have you ever used a "Thin" client design for a reason other than pure platform independence? Have you ever shoehorned an architecture to be a web server/thin client model just to help with pesky versioning, security and deployment woes?
    If so, we hope you've noticed the rules of the game have changed of late. "Next generation" applications individually target areas of installation, deployment, updates, versioning, sociability, UI, security and connectivity. They aren't just "fat" or "thin".
    The next app you write doesn't have to use a no-frills UI and enforce the laptop user's nightmare of requiring a permanent web connection just because the IT department rightly shuns the hassles of deploying, trouble-shooting and maintaining rich clients on a 1000+ desktops.

    Sunday, February 25, 2001
    The DSL Dream
    Like Bob Cringely, we're bandwidth junkies...with ADSL...and also with issues.
    If it's any consolation (it's not!), it seems the issues we have with our local carrier aren't confined to the landscape of this sunburnt country.
    Bob makes the point that the problem is economically driven in the States: "The saddest part of all is that this is a product that will revolutionize society, yet there are lots of people trying to stop that." We're pretty sure it's just incompetence over here, though.

    Saturday, February 24, 2001
    P2P
    Dr. Dobb's Technetcast of the funky-named Clay Shirky's Lessons From Napster talk is a must-listen.
    Clay talks about:
  • What P2P is -- an aggregation of resources at the network edge.
  • P2P usability -- making network configuration transparent and simple (napster's killer feature).
  • Lessons software architects can take away from napster's use of "just good enough" decentralisation.
  • Lots of other good bits 'n pieces (with humour, even).
    You might not take away any new points from this talk, just like you might not learn new things from a Software Pattern you read, but you will hear many of your thoughts consolidated in an eloquent manner, helping you jump to a new level of understanding.

  • Regular Expressions
    Until we are blessed with The Semantic Web (see entry from a couple of days ago), we're going to be stuck with screen-scraping. Fortunately, .NET ships with an uber-powerful regular expression engine. Brad Merrill's written a neat introduction to how to use it in his article, C# Regular Expressions.

    Test First Design & Pair Programming
    Robert Martin has an excellent article on test first design and pair programming on his Object Mentor site.
    Back here in the pleasant but all-to-real world of dotnetdan's labs, we're continuing to struggle with test first design on serious projects. Our current process normally involves a little bit of code then a little bit of test, rather than the other way round. Still, we're still experimenting and finding our feet, which is all we recommend you do too. Read Uncle Bob's piece and hopefully it will help you find your one true way.
    We assume you've already read the Test/Code Cycle of XP in .NET.

    Wednesday, February 21, 2001
    The Semantic Web
    We've been hearing a whole lot about the Semantic Web recently. In the event that you've gone dry on this subject after hearing a little too much on angled brackets (...err, XML), RDF and ontology, read the terrifically pragmatic Making a Semantic Web by Joshua Allen, a member of Microsoft's Netdocs skunkworks project.

    Of course, none of this stuff is new to those of us who have been using Ward Cunningham's Wiki Wiki Web for quite a number of years. It was 'meta' before 'meta' became cool. (BTW, will metaBlah replace i, e and webBlah as the next generation startup company names?)

    Today we downloaded BrowseUp -- a tool that allows you to add your own links from any page to any other page -- to see if it's a step in the right direction. We believe its current incarnation has some hurdles that will prevent its wide adoption (it is only in beta, though). It's memory intensive, fairly difficult to get up to speed with (hopeless help) and the overall usability ain't necessarily great. Still, we do advise you check it out, as it is certainly interesting. (Oh yeah, and we've used it to already tag Microsoft's .NET site with a link to our own -- which is the only way that was ever gonna happen.:-)

    We were going to wait till Sunday to post this, just so that we could title the piece "Semantic Sunday" but for some reason our good judgement got the better of us and we didn't. Go figure.


    Monday, February 19, 2001
    The .NET language choice
    In a post to the .NET mailing list, Microsoft employee Andrew Jenks made the comment that "...now I'm working on the next version of VB. The truth is that we've reached the point where the language choice really is a tool. What matters now is bringing serious power to _every_ developer without worrying about what language they're using.".
    Is a seriously powerful VB.NET an anachronism in a world that has C#? Wouldn't a seriously easy VB.NET be more suitable? Can the two co-exist? Will Visual Studio.NET come to the rescue?
    We flesh out some of our thoughts on the matter in our latest article, where we look at Microsoft's 4 .NET language offerings and fearlessly predict who's going to be using what.

    Friday, February 16, 2001
    What is .NET?
    Murphy's law ensures that only when you're at your most vulnerable (probably working in the "flow state" and just on the verge of cracking some impossible np-complete problem) will your department manager loudly interrupt you with the words "so what's this .NET thing I heard about yesterday?"
    You need to prepare a response to this potential can of worms, so you can return to your life with minimum fuss. Our currently favoured technique:
    Nonchalantly comment, "oh, it's simply a set of technologies that enable us to develop better applications faster than we can now. It's currently in beta, won't be released till the end of the year but will require extensive ramp-up time for our folks." And then quickly follow that up with "here's an article you really should read," handing them your pre-printed copy (colour, if you're a true pro) of the TechMetrix article Introducing .NET. Good luck.

    Thursday, February 15, 2001
    A new look
    Well folks, at last we've cleaned house.
    Our goals for the new look were simple:
  • Fast
  • Consistent
  • Easy-to-navigate
  • Pleasing to the eye
  • Version 4+ Browser-independent (but still exploitative of IE features)
    We've established a dotnetdan.com usabilty discussion forum where you can let us know if we've missed the mark. (Even if you're not interested in contributing you may like to check out the site the forum is hosted on. Pretty good stuff.)

    Please let us know how long to make this initial .NET discussion page. For new users, we think it's important to provide as much content as possible. But for our beloved oldies, well, they just want the new juice.
    If only it were simple to satisfy both audiences. Unfortunately, our free web host doesn't provide any server-side scripting facilities, so we can't dynamically choose how much content to send over the wire.
    The only thing we really could do to reduce the burden of such a long page is not use tables. Our expectation is that this will result in the newer content immediately rendering while the older content is still downloading. If your mileage varies, please let us know over on the forum.
    Thanks!


  • Saturday, February 03, 2001
    w2k open source
    This morning's copy of Paul Thurrott's newsletter, The Win Informant, caught our eye. Apparently Microsoft has opened the windows source code to hundreds of its biggest clients. This is heady news, indeed. Definitely more so than the alleged new name for Whistler: Windows XP (won't the eXtreme Programming crowd be pleased?).

    Saturday, January 27, 2001
    i18n
    If you spell internationalisation with an 's' like we do, you may want to check out Microsoft's Localising .NET Tutorial

    Friday, January 26, 2001
    JUMP from Java?
    Microsoft has announced a tool that converts Java to C#. We'll wait for futher details before commenting on the practicality of the migration path -- we need to know more about JSP, Servlet, standard library, JDBC and J2EE support, amongst other things. We'll be more than amazed if the tool offers a one-button click solution away from that to .NET.
    Update: More details can be found on Microsoft's JUMP Page and the associated PowerPoint presentation (276K). The tool will provide Java Language -> C# language conversion and also binary interoperability layer conversion to the .NET platform (interop = win32 api and COM support).

    (BTW, we apologise for being MIA recently but we'll resurface in the next day or two.)


    Thursday, January 18, 2001
    Building the Middle Tier in .NET
    While Dot Net Dan was waiting for a response to his discovery of a Web Form initialization problem he read a great article by Mike Griffin on Building the Middle Tier in the Microsoft .NET Framework that he thought ya'all might also just be interested in. Also watch out for the second article by Mr. Griffin, where he will discuss the relationship between a middle tier and data binding.

    Tuesday, January 16, 2001
    Validation Summary Control Uses Zen Navigation
    ASP.NET comes packaged with a bunch of controls that provide general form-validation facilities. One of these controls, the ValidationSummary, displays a summary (in a list or paragraph format) of all validation errors on a page. Unfortunately, it doesn't provide a facility for automatically underlying the message with a hyperlink to the field in question. This is especially useful on large forms, where users can get confused as to which field a message is referring to.
    Well, Dot Net Dan's made a couple of pleas for this feature to Microsoft but the latest "official" word is "no dice", at least for this release. That's too bad, but don't fret, loyal reader, for Dot Net Dan pledges to you a NavigableValidationSummary control in the not too distant future (for now it's just an item on an ever increasing list of todos). We'll let you know where these adventures take him (which is better than we can say for the ValidationSummary control, itself;-).

    Sunday, January 14, 2001
    Interviewing Question Revisited
    Our technique for communicating with a computer-less Prof. Hawking? Use cardboard cut into a [square] donut with the letters of the alphabet spaced around it. Hold the cardboard between you and the professor (like a window) and watch his eyes as he "spells" out his words. To improve the speed of deciphering (by lessening your guesswordk) distribute the letters so that those most grouped in english words are the most separated. Perhaps a QWERTY keyboard could help guide the layout if better letter grouping statistics aren't readily available?

    Friday, January 12, 2001
    The Test/Code Cycle of XP using .NET
    A couple of weeks back we promised you a C#/NUnit port of Bill Wake's article on "The Test/Code cycle of XP".
    For your viewing please, here it is. Enjoy.
    Eventually, we'll also provide you with some of the ways we rigged a GUI onto the model. These exploit, to varying degrees, .NET's excellent data binding facilities.

    Thursday, January 11, 2001
    In yesterday's article, we remarked that the recommended location for event handling logic is the Web Form class (aka code behind class). In all-too-typical article fashion we then went and flagrantly broke the rule. Today's Deliving Into Dot Net article describes the internals of the automatic event wiring ASP.NET provides that enables that kind of "transgression".

    Wednesday, January 10, 2001
    Delving Into Dot Net
    In the first of our in-depth .NET articles we take a look at ASP.NET First Principles.

    Monday, January 08, 2001
    .NET Code Inheritance - IsA GoodThing?
    Due to transmission difficulties with this site, you'll find today's comments over here.

    Friday, January 05, 2001
    Software Process -- Interviewing
    Given the comments we've previously made on the human-focus of lightweight software processes, it makes sense for us to follow that up with a post on ways to ensure you're hiring the the right people.
    A sensible and straightforward approach is described in Joel Spolksy's Guerrilla Guide to Interviewing.
    In his article, you'll notice Joel refers to "famous Microsoft interview questions". You can see some of these over at Chris Sells' site. And just for today, Dot Net Dan's even going to provide you with one of his own:
    Stephen Hawking, one of the most famous scientists of the 20th century is tragically afflicted with Amyotrophic Lateral Sclerosis (ALS). The disease paralyses him. His brain functions perfectly, though, and fortunately we live in a computer age that enables Stephen to effectively communicate with the aid of a computer and speech-synthesizer.
    Now, let's assume that you have won an hour's audience with Stephen after your ground-breaking work in particle physics (only a small leap of faith, we're sure). To your dismay, however, you learn a day before the meeting that his computer is on the blink and can't be fixed in time for your meeting (if only it was running on .NET!).
    You have a day to prepare a mechanism that will provide Stephen with a way to communicate with you. What do you do?
    In a few days we'll post any (good?) submissions we receive and also the technique we have in mind.

    Thursday, January 04, 2001
    Know your TCP/IP
    Due to problems posting to the site you're currently reading, Dot Net Dan's had to swat up on some networking details he'd long lost forgotten. A great reference: MS Windows 2000 TCP/IP Implementation Details.

    Wednesday, January 03, 2001
    XDR Schemas
    Dot Net Dan generally uses the XML editing tool provided with his beta version of BizTalk Server 2000 to generate XDR (XML Data Reduced) Schemas. This supports the XDR -> XSD -> Dataset-subclass (using xsd.exe) process we'll write more about in a while.
    If you want to know XSD details, take a look at
    W3C Note: XML-Data (5 Jan 1998)

    Monday, January 01, 2001
    .NET Discussion List Ego Surfing
    Dot Net Dan sometimes likes to be able to look for responses to various posts he's previously made to the .NET discussion list. Fortunately, the search mechansim provided by the .NET list uses an HTTP GET Request and Querystring values rather than a POST with Form values. This allows easy bookmarking of the page: search for Dot Net Dan's posts.
    This is something you should consider next time you build a web application. Any dynamic page you think a user may wish to bookmark directly should be controlled through querystring values rather than form values.

    Answer to yesterday's question
    A class that is both abstract and sealed cannot have any non-static members but it can contain static fields and methods. It may also define nested types. (Ensure you remember that when next packing the campervan and heading off to your local obfuscated coding championship.)

    Sunday, December 31, 2000
    Obscure .NET question of the day
    Does the Common Language Runtime support a class that is both abstract and sealed?
    Answer will be revealed in 2001!

    Saturday, December 30, 2000
    The Rise and Fall of Intel
    Just before you go and buy those Intel stocks at "rock-bottom prices" you should probably read Darek Mihocka article on the weaknesses of Intel's Pentium 4 processor and the ramifications that may have in the next few years to their progress. He also mentions AMD and Transmeta. In one point in the article Darek pointedly remarks: "hats off to the geniuses at Transmeta for pulling off such an amazing feat...software-assisted execution may well in fact be the solution for Intel's woes in future generations of chips, as it takes the burden of code optimization off the hands of millions of software developers and puts in back in the chip without requiring millions of extra transistors." Maybe it'll be us humble software folks that do something for the hardware guys for once. The JIT-nature of .NET seems totally suited to this task.

    Friday, December 29, 2000
    Put Your Process on a Diet
    Martin Fowler does it again with another superb article on software process in the best magazine freely available for that kind of talk: Software Development.

    XML, XDR, XSD, Datasets
    Individually, the items in the heading are simply buzzwords. Combined, they form the most powerful data binding story Dot Net Dan's ever had the privilege to be privy to. Data binding has received a significant airing of bad press in the past. Quite rightly, too. But that was then, this is now. .NET will restore trust in data binding techniques, which can significantly improve your productivity, the product's quality and ease-of-maintenance. Dan intends to back up these sentiments by providing a version of Bill Wake's Bibliography example (originally written in Java and currently being ported to C#) using data binding techniques. You can then be the impartial judge.

    Alpha blending
    Kids, do you like the funky graphical effects?
    Well, in .NET Win Forms, just set the opacity property of the Form object to a percentage between 0% - 100% to enjoy "see-through" windows. This could be very powerful for dialog boxes, floating toolbars, etc.
    Update: We have noticed that this is exactly the approach Visual Studio, itself, takes! Any floating toolbar automatically fades itself in and out depending on the mouse location (full opacity when mouse is over the toolbar). This certainly initially generates a "hey cool!" response.

    .NET Data Binding
    Dot Net Dan's been struggling with the many data binding interfaces in the .NET framework over the last couple of days.
    The documentation is frankly wrong in parts (not to be unexpected in a such a huge beta1/version1 product). It talks about using IList implementations for data binding but this isn't actually possible either at run-time or design-time. At run-time, a strongly typed IList implementation is required (we don't know how to get design-time working at this stage). Fortunately, there's a framework example that produces one of these beasties (ie. a TypedCollectionBase implementation) for you, so things could be worse. For the straight dope, refer to the data binding documentation graciously produced by Microsoft's Mark Boulter for the .NET mailing list.

    Wednesday, December 27, 2000
    .NET & Design Patterns
    Today we stumbled across a book draft covering design patterns & .NET that may well be worth checking out.

    Tuesday, December 26, 2000
    Automated .NET Unit Testing Example
    Some time back we made reference to NUnit as a great technique for automating the unit testing of .NET applications.
    Well, Dot Net Dan has since been in contact with William Wake who has a number of excellent papers on Extreme Programming. A couple of them describe the process of test-first programming (using Java and JUnit):
    The Test/Code Cycle in XP: Part 1, Model
    The Test/Code Cycle in XP: Part 2, GUI
    The first example has been ported to C# (although not publicly available yet) and the GUI example is underway. It's taking a little longer as Dan's taking a Win Forms scenic tour in the process. You can be sure we'll keep you posted of progress.

    Sunday, December 24, 2000
    Lightweight Software Process
    While the enterprise-focussed software industry has been busy making (broken) metaphors about software development being like civil engineering (ergo, the activities and artefacts required in producing software should be the same as for a bridge), games guys just get on with the job. They seem to instinctively understand that the software process must support two main concepts before any others:
    1) Adaptability. A game is limited by only the creativity of the designers and the technology. Change is ever-present In the games world: requirements change (hey John, let's allow our hero to dig as well as fly!), hardware changes (can you spell GeForce?) and new algorithms are revealed for enabling extra polygons and effects per frame. The team needs to be able to adapt to these changes in order to produce a great title.
    2) People-friendliness. Games development requires people who are the best of the best in the areas of production, design, art and coding. If you can't attract and keep the best people you don't end up with a games title, or if you do it's on one of the shelves in the store that requires a ladder to reach.

    Wednesday, December 20, 2000
    Music while you code
    Dot Net Dan's favourite broadband site on the web at the moment is The Basement. 328kbps streaming on Telstra's backbone allows interruption-free video & audio from his home ADSL connection. He remarked recently: "they churn out the tuneage with plenty of wattage and seguing comedic verbiage without the suckage". Who can argue with that?

    Windows Media Player
    Will we receive salvation from the latest (but certainly not greatest) Microsoft Media Player with the release of a version 8 beta on Friday? Let's hope we get something lightweight, fast and capable of supporting multiple streams simultaneously. Unfortunately, we expect just more "features". Oh well, the default CD player is probably what we're supposed to be using - what a pity it doesn't rip mp3.
    Update: unfortunately it is only the encodings that are being made available. We'll have to wait for whistler to get the new player. Darn.

    .NET Timeline
    A microsoft insider has provided the first "real" indication of the .NET timeline -- with absolutely no surprises.

    .NET won't go primetime till 2nd half of next year (at the earliest).

    Thursday, December 07, 2000
    Lightweight Software Process
    Warren Spector writes some interesting comments on game production (really software development in general) in his Deus Ex Postmortem.
    Reading between the lines of his report of what did and didn't work in producing Deus Ex (voted game of the year in some circles) seems to endorse many of the principles suggested in lightweight methodologies such as the Extreme Programming Process.

    Sunday, December 03, 2000
    Extreme Programming
    The Product is being developed using Extreme Programming techniques (with twists, of course, which will be explained in the future).
    If you're not familiar with XP, start with Martin Folwer's article The New Methodology and then move onto the Wiki Extreme Programming Roadmap.

    When you get fed up reading the words and want to get your hands dirty with some of the details, take a look at the automated unit testing tool for .NET: NUnit and get Test Infected!

    Dot Net Dan (an XP advocate since '97) is a little surprised how long it's taken for many people to realise that software is developed by humans (with all their foibles) rather than the droids that many methodologies seem to think do the work. He is very pleased with the recent publicity given to XP, though.


    Saturday, December 02, 2000
    Useability
    One of the user interface decisions for The Product was whether to display hyperlinks differently for those that spawn a new window from those that don't.
    After much discussion it was decided that no links would spawn new windows. The user will need to do this manually if they so desire. Heck, it's just a matter of holding Shift while you click the link (well, for IE, anyway).

    Friday, December 01, 2000
    .NET is vapourware rebuttal
    Dot Net Dan wrote a wiki commentary on a Joel Spolsky .NET article that he considered ill-informed. Joel's a mighty bright guy and Dot Net Dan's a big fan. Please bear this in mind.

    Broadband Access
    Dot Net Dan's entering the world of broadband access via ADSL. To find out more about ADSL within Australia, browse to DSL Users of Australia.

    Thursday, November 30, 2000
    Groupware in the 21st century
    Jon Udell, who runs a weekly Byte column also provides an excellent discussion of Groupware solutions. It discusses the good, the bad and the ugly of newgroups, Wikis, email and the many other forms of internet communication and talks about future directions.
    Even The Product team took notice!

    Electronics Lesson
    Oh boy! The team wishes this guy had been their Elec101 lecturer back at uni.
    Update: Dot Net Dan has recently learnt that his actual Elec101 lecturer recently sold the company he started in 1997 to Cisco for AUD500 million. The product? 54Mbits/s wireless communication. Fair 'nuff -- this ain't no greeting cards website.

    Game Programming
    A member of the team, disgracefully slacking off from working on The Product, thought a link to Gamasutra -- The Art & Science of Making Games was a good idea. Who are we to stop him? It is a great site with lots of tips from amazing games programmers.
    Shortly after this post, Dot Net Dan was caught sulking in his office. When asked why he just mumbled something about mathematical matrix manipulation, fast cars and glam.

    Wednesday, November 29, 2000
    Software Process
    The Web Forms User Interface for The Product is being defined using the very minimalist technique described here. It uses HTML to evolve bullet point requirements through to pages in a natural fashion.

    .NET Resource
    GotDotNet is a new site hosted by Microsoft for the .NET community. Dot Net Dan posted a sample to it today.
    Update: support for the sample is far greater than any presidential candidate - 5 stars.

    Brainy
    Jim Gray is a member of Microsoft's Research team and a Turing Award winner. Take a special look at Building the Virtual Astronomy Observatory for some fascinating insights into the future of large databases and computation. Good stuff.

    Tuesday, November 28, 2000
    .NET Ecma Process
    Dot Net Dan's comments on .NET are echoed over at ZDNet: Sun should submit to ECMA

    .NET Resource
    The .NET FAQ

    Soap
    What Is SOAP? If you've found yourself asking such a question this site provides a very high-level description in an animated text flash movie (<70k). Kinda cute idea.

    .NET ECMA Process
    Dot Net Dan is very passionate about the .NET ECMA process. It greatly disappoints him to read the FUD (Fear, Uncertainty & Doubt) made by some folks on the web regarding .NET lock-in.
    None of us know what the exact future of .NET will be but here are some facts:
  • Microsoft have gone to ECMA for standardisation of the C# language and the Common Language Infrastructure (which includes some of the base classes in the standard library aka .NET framework) Details
  • Microsoft recently purchased Corel.
  • Prior to being bought by Microsoft, Corel were producing Java software for Linux.
  • ECMA requires more than one implementation.
  • Java has not been standardised, nor have Sun intimated that it ever will be. This has frustrated companies such as IBM, and Dot Net Dan has heard many murmors that the various J2EE implementations on the market are not simply substitutable. Dot Net Dan hasn't seen this for himself, though, so you may choose to read this particular item with a grain of salt.

  • The Product
    Oh, just in case you're wondering, The Product will permit offline data entry. There's nothing The Team hate more than having to be online in order to enter data like timesheets and expenses. It just doesn't make any sense, right? Right.
    So the architecture (Web/Win Forms <-> Web Services <-> Components <-> ADO.NET <-> SQL Server) has been chosen to enable offline access for the Win Forms UI. The requests that should be sent to the Web Services layer can be stored while the user is offline and then batch-sent to the layer as soon as connectivity is reestablished. Of course, there's not much that can be done for offline access of the Web Forms UI because it requires connectivity just to support the UI layer.
    So why have a Web Form UI for this type of product, at all? Well, the primary reason is to exercise The Team's skills. In addition, though, HTML access provides users with the ability to access the functionality from any old machine with Internet access. An example where this may be important is when the Team Lead steps into the pointy-head boss's office to be grilled about project progress. The Team Lead can use the pointy-headed boss's computer (maybe even turning it on for the first time that week) and access the reporting areas of The Product's web site, with all its pretty progress tracking charts.

    Web Services
    The team got their first Web Service running today - it returned a DataSet object. What a happy bunch they were! They gave three cheers to the DataSet object and its friends. They were all smiling broadly while discussing how they were able to call a web service that, in turn, invoked a stored procedure on a database and automatically returning the relational data in XML form that is seamlessly streamed back to the client. In fact, it was so quick 'n easy there may be some folks out there charging by the hour that are gettin' worried.

    The team has been gaining more and more confidence with ADO.NET recently. However, they are still not sure of the drag 'n drop code generation provided by Visual Studio. They recognise it makes life easy but they question the difficulties it may pose to deployment. They also question whether the code breaks the Once And Only Once (OAOO) Principle.
    Talking of code generation, boy does the Visual Studio application do a lot of it: .sdl files, .disco files, code-behind files, xml schemas, database access, just to name some. Phew! Those lads in Redmond have been busy.


    .NET Resource
    The ultimate .NET resource site is provided by DevX.

    Language Lawyers
    For the best comparison of C# with Java and C++, visit Genamics.

    Dot Net Dan was very interested to discover (in follow-up work to a reference in the article) that Joe Nalewabau, co-founder of the Sydney Java Users Group is now a Program Manager for Microsoft. Dot Net Dan is pleased he isn't the only Aussie to have abandoned the Java ship for more luxurious cruising. :-)


    Monday, November 27, 2000
    Curtain Raises
    Well here we are, ladies and gentlemen.
    Dot Net Dan and The Team of xmas elves are busying themselves with Microsoft .NET. They're building "The Product" -- enabling developers (& those other pesky peripherial folks involved in building software) to track tasks, bugs, requirements, client correspondance and time (well, that's all for now, anyway). It will have both a web and windows-based user interface. Over time more and more features of the product will be revealed.

    Throughout the process the team will provide references to sites that provide quality .NET (& other) information. They'll also discuss technical issues and other matters as they arise.

    Dot Net Dan would like to thank the most excellent Joel Spolsky weblog for providing the impetus for this log. It has always contained material or references that have exceptional signal/noise ratios.