Expert Texture
The blogged wandering of Robert W. Anderson
Archive for January, 2006
January 31, 2006 at 11:47 am · Filed under .NET
Pat Helland, Senior Principal Engineer of Amazon, gave a talk titled Programming for Scalability. Very good speaker. He went through the evolution to his views of building highly scalable systems and is now an apostate of the ACID, distributed transactions, single serializability scope-religion.
He walked through his approach to designing databases for high scalability from the start so applications don’t need to be rewritten when data-partitioning becomes inevitable.
He didn’t speak about Amazon in particular, but these are the kinds of things he works on there.
While this talk was quite high-level and following the “SOA and messaging” mantra, it was very practical too. If you ever get a chance to hear him talk, take it.
Tags: .NET, Amazon, VSLive
January 31, 2006 at 10:30 am · Filed under Miscellaneous
I met Chuck Berg, the chair of the SDForum Windows SIG.
He is speaking February 1st on Getting Started with Visual Studio Team System. I’m sure it will be an interesting talk and a chance to take advantage of his real experience getting it up and running.
If you make it to his talk, try to convince him to blog about his experiences — I’ll subscribe.
Tags: .NET, SDForum, VSTS
January 31, 2006 at 10:01 am · Filed under .NET
Not the sonic-software Dave Chappell, but the one of Chappell & Associates on Building Modern Software: Services, Workflow, Integration.
Exuberant speaker. Ex-funk pianist.
Walked through service-orientation as the current default enterprise architecture; and how the new Microsoft technologies underly this architecture: WCF, WF, and BizTalk.
This was a good overview of these issues (but, I wish I could get to the Digipede VPN from here . . . ).
Tags: BizTalk, SOA, VSLive, WCF, WF
January 30, 2006 at 2:09 pm · Filed under .NET
We got the Microsoft development rally cry from S. (Soma) Somasegar. Visual Studio / SQL Server have really come a long way in terms of their broad application to many types of development. Anyway, here are some stats (I don’t recall how these have changed since the Visual Studio launch) about adoption:
- Over 10 million .NET Framework 2.0 downloads. Good (as this is a pet issue for me). I still wonder about penetration of .NET 1.1 / .NET 2.0 on consumer machines.
- 1.8 million Visual Studio Express downloads.
- Over 300,000 SQL Server Express downloads.
The new platform is beating Java in the enterprise: platform chosen for mission critical applications: 25% Java / J2EE, 35% Microsoft .NET. Look at this IDC report for these and other statistics.
There was also a very cool demo of Visual Studio Team System and server builds — the coolest part being the workflow model for builds. Significant Team Foundation Server dates:
- There will be a Team Foundation Server Release Candidate at the end of this week.
- RTM in March.
Maybe I’ll start playing with the RC once it is out (in my “spare” time).
January 30, 2006 at 9:19 am · Filed under .NET
In response to the renewed interest in SSDL prompted by the IEEE article, Jim Webber recently posted about how SSDL compares to the existing W3C/OASIS stack. I blogged about the article in my previous post, I like SSDL.
The post is worth checking out if you are interested in SSDL; however, I’m disappointed by the last comment:
Of course the practicalities of the situation with huge existing investments in the W3C/OASIS stack means that SSDL will most likely remain nothing more than a toolkit for academics and geeks.
Pragmatic and perhaps true, but I hope that doesn’t turn out to be the case.
I’m still hoping to see this in a future version of WCF — I’m counting on Savas to make this happen
Tags: .NET, SSDL, WCF, WSDL
January 27, 2006 at 9:16 am · Filed under Web 2.0
And a thanks to Dave Winer for organizing the event. Sorry to say, I still haven’t met the man. Had a good time at the dinner last night — met many interesting people:
- Scott Mace: working on the swamp of calendar formats so we can actually have shared calendars that work.
- Scott Rosenberg: look for his coming book (in November) on the Chandler product.
- Sylvia Paull: talked about what to blog and what not to blog; what to look forward to as a parent; and about nerdliness.
- Jay Cross: talked about all sorts of things . . . he pointed out that Vista is going to be a bonanza for training companies.
- Steve Hill: has a cool idea for geographically distributed events.
- Edward Piou: cool to talk to a FreeBSD user for a change. FreeBSD rocks!
And a shout out to the enigmatic Dr. Chadblog (aka Chad Williams) — didn’t get a chance to talk this time.
Tags: Blogger_dinner, FreeBSD, Vista, Web2.0
January 26, 2006 at 11:09 am · Filed under Miscellaneous
I will be attending VSLive! next week in San Francisco.
I probably spend most of my time in sessions on WCF, WF and Atlas; but haven’t quite decided yet.
If you plan to be there and want to meet up, contact me through this blog or at robert at digipede dot net.
Tags: Atlas, VSLive
January 24, 2006 at 7:13 pm · Filed under Miscellaneous
In Perils of a poor Computer Science Education — Part I, I said that I basically agree with Joel Spolsky in his post, The Perils of Java Schools. I do, but I can’t give the impression that this is the only path to being a great developer.
At UC Berkeley, the classes used Scheme, assembly, other languages, and primarily C. The very first course was nearly all functional programming using Scheme. I think using Scheme had three main purposes: to teach recursion (duh), to expand the students view into other programming models, and take the hot-shots down a peg — it leveled the playing field (a little). Most of the rest of the program was C. Here we used C for nearly everything including, of course, the complex data structures. Yes, lots of pointers.
So were the Scheme, C, and pointers necessary to help me become a developer of production-quality code? How often have I written a hash table for production? Rarely, but I’m way better at what I do because I know how to implement a hash table, and heinous balancing trees that I can’t even remember the names of, and how to debug at the machine level, and what a functional language is, etc.
That said, managed or scripted code is the way to go for 90% of the applications written today. Pointers aren’t so important and the data structures are covered by the frameworks. Clearly this kind of coding doesn’t demand the old-school Computer Science graduate. Merely great C#, Java, PHP, etc. developers run the gamut from important role-players, team members, to team leaders, etc.
I think the most important thing you can learn as a developer is to be flexible. Think outside of the constraints of the languages and tools that you use. If it helps you to learn a different language to enable this, do so. If it helps to go deeper into the runtime environment (e.g., deeper into the CLR or the Java runtime or the compiler / assembler, etc), do so.
Flexibility – that is the practical lesson of the Computer Science program.
Tags: c#, Computer_Science, Java, JavaSchools
January 24, 2006 at 8:41 am · Filed under Miscellaneous
Miscellaneous blog changes:
- Updated my picture. I heard that I looked too clean-cut in the old one.
- Added the askimet plugin. My spam comment problem has gotten out of control. In the last few days I’ve gotten over 2000 spam comments. Cheers to Matt et. al. at Automattic for making this so easy.
- Added explicit About and Disclaimer links — these were there all along, just buried.
- A new, better, Digipede graphic.
If you wonder why I blog about these things: it is mostly so I can track changes in case a problem is introduced.
Tags: blog
January 23, 2006 at 11:43 am · Filed under .NET
The Digipede Network has been chosen as a finalist for the 2006 Codie Awards.

Thanks, SIIA judges!
Update: Dan has a more complete description of the awards, here.
Tags: Codie, Digipede, grid
January 20, 2006 at 12:27 pm · Filed under Miscellaneous
As you may know, Windows Live Messenger is in an invitation-only beta. I can’t imagine this is terribly exclusive, but I have some extra invitations.
There is information about Live Messenger here. I will say that it is, by default, more orange than the previous one. This is a great benefit. Unlike Michael Arrington, I like the color orange.
If you would like one, contact me through this form: Contact Me.
Note: I have no more invitations!
Tags: Live, Messenger
January 19, 2006 at 1:31 pm · Filed under Miscellaneous
Earlier today, I posted on upgrading to Visio for Enterprise Architects. It occurred to me that it might be helpful to quickly document the newer versions of Visio for the developer.
- Visio 2002 is from the Office 10 / Office XP family.
- Visio 2003 is from the Office 11 / Office 2003 family.
- Visio 2003 for Enterprise Architects is part of the Visual Studio .NET 2003 release. It was built on Visio 2002 and can be installed along side Visio 2003.
- Visio for Enterprise Architects is part of the Visual Studio 2005 release. It was built on Visio 2003 and cannot be installed along side Visio 2003.
Hope this helps.
Tags: Visio, vs2005
January 19, 2006 at 10:06 am · Filed under Miscellaneous
I have made a change in my RSS feed. Several months back I thought I would experiment with FeedBurner Item Stats. To get this feature to work, you turn on the Feed item link clicks (”clickthrough” tracking) feature.
This allows publishers to track clickthroughs from their RSS feed. This is accomplished by redirect-links added by FeedBurner. My permalink was replaced with a redirect that increments a counter and then redirects the user back to my site.
Cool.
However, I recently noticed that some links to my posts were linking through the FeedBurner link and not directly to my own permalink. This greatly skews the per-item stats, because I cannot tell the difference between actual RSS click-throughs and other links. While this makes the stats less useful, a bigger problem is it seems to disable automatic trackbacking.
So, I turned it off. My feed is full-text anyway, so I don’t really care about clickthroughs.
If your news-reader caches posts (and therefore the item link), those redirected links will now link to my nicely-formatted FeedBurner RSS page. Not so perfect, but good enough.
Tags: blog, feedburner
January 19, 2006 at 9:49 am · Filed under .NET
I just upgraded to the latest Visio for Enterprise Architects. We use it primarily for modeling the Digipede Network database and generating DDL. The upgrade worked without a hitch. Be sure to do the following:
- Uninstall Visio 2003.
- Install Visio for Enterprise Architects.
- If you are going to work with database diagrams, create a new blank one. Then check the Database/Options/Drivers dialog and make sure your driver is set correctly (e.g., to Microsoft SQL Server) and that your driver settings are correct. If you don’t do this your existing database diagrams won’t be read properly.
Now for the first time in recent memory, I have only one version of Visio on my machine. Now where are those Office12 discs . . .
January 18, 2006 at 1:48 pm · Filed under Miscellaneous, Web 2.0
In a picture here, you can see a part of AT&Ts new ad campaign.
Reading through the comments, some bloggers seem to like it. Others don’t. Robert Scoble humorously suggests that blogging has jumped the shark. Tara Hunt says to AT&T, kiss my RSS.
Outside of my office is a “Close friends delivered” billboard. Aren’t they just saying that they provide connectivity?
The way I see it, if this is the “Year of RSS” it must also be the year of blogging which implies more silly ads by the big companies.
At least now your grandmother might ask you what a blog is.
P.S.: It seems there is no consensus that this is the year of RSS. Maybe it was last year and the year of the blog was the year before that, I don’t know. Anyway, it sure is hitting mainstream now. Heck, I’m even doing it 
January 16, 2006 at 7:38 pm · Filed under Miscellaneous
Several people have asked me how the launch of our baking soda / vinegar rocket went (see my previous post, How I Spent My Day Off).
I have no good pictures of the rocket in air; however, it worked quite well. My son was really excited about it. We launched it three times and got it up to about 50 or 60 feet. I’ll bet we’ll get it higher on the next launch.
After we repair the fuselage tube, that is.
Tags: Model_Rockets
January 13, 2006 at 10:11 am · Filed under .NET, Grid Computing
IEEE just published an article introducing SSDL: Asynchronous Messaging between Web Services using SSDL written by Savas Parastatidas, Simon Woodman, Jim Webber, Dean Kuo, and Paul Greenfield. You can find it here. You can also find much of the content (and more, I think) at ssdl.org, though on Jim Webber’s blog, he says that the IEEE version is:
all in ruthlessly clear IEEE edited prose
while Savas points out that it is heavily cut — so, choose your poison ;).
They did a great job of describing their approach to a WSDL replacement. SSDL allows for complex contracts between services far beyond what WSDL can support and does it in a straightforward way.
They even created an SSDL parser and code generator for .NET on top of WSE2.
SSDL’s message orientation fits perfectly with the description of MEST — my guess is we’ll see lots of SSDL in the coming book.
It will be interesting to see how SSDL progresses. Can we suppose that this is one thing Savas is doing at Microsoft?
January 11, 2006 at 8:18 pm · Filed under .NET, Grid Computing
I spent some time last week looking at what it will take to move my product, the Digipede Network, from WSE2 to WSE3.
The motivation to move to WSE3 is
- the many performance improvements;
- support for MTOM; and
- interoperation with Windows Communications Framework (WCF).
Unfortunately, therein lies the rub. Not only doesn’t WCF support DIME, which is too be expected, but neither does WSE3. The last two items (MTOM + WCF interop) basically imply this, but I was hoping WSE3 would offer a migration step combining DIME and MTOM.
This decision can make it much more complicated for developers to migrate their production apps to WSE3. It is even more complicated for those of shipping product based on WSE2 & DIME. Let me highlight one example (that is near and dear to my heart):
Imagine you have smart-clients (or agents) that use WSE2 and DIME. These clients periodically “check-in” with the WSE2 Web service. Among other things, they find out whether an updated client is required and perform their own self-update. Now imagine you want to upgrade the entire system (i.e., the Web services and clients) to WSE3. You need to:
- Maintain your original WSE2 Web service for your clients to continue to use throughout the migration period.
- Create / install a second WSE3 Web service that supports MTOM under a different virtual directory (of course, with different endpoints).
- Update your clients inclusive of a redirection to the new WSE3 virtual directory and Web service.
- Manually uninstall your WSE2 Web service when it is no longer needed.
This is a real hassle. I think it isn’t too bad for developers with control over a public Web site or corporate intranet; however, it introduces a lot of complexity for those of us who create shipping product. Complexity around installations and upgrades increases support costs for both the developer and the user. Necessarily.
I would have appreciated it if DIME was supported in WSE3 even though not in WCF. That way we would have the opportunity to migrate our customers with a single WSE3 site release supporting both DIME and MTOM.
This reminds me a bit of the Visual Studio 2005 Web Projects in the RTM. The ASP.NET project model changed significantly from Visual Studio 2003. These changes were focused on making the tool better for building public Web sites and corporate intranet sites. In the process they missed the fact that they broke Web projects for companies that ship product based on ASP.NET. Luckily for many, they fixed this with an add-on the week VS2005 shipped (I solved the problem myself two weeks earlier and didn’t make it into a plugin because I knew Microsoft was working on a solution).
Is Microsoft forgetting about those of us building installed software?
January 11, 2006 at 7:37 pm · Filed under .NET, Grid Computing
On Thursday, January 12th, Kim Greenlee will be presenting at eBig. She’ll be talking about OOP-G and introduce the Digipede Network. I understand she’ll be giving away Developer Editions too!
Details on eBig’s site, here.
Tags: .NET, Digipede, grid
January 7, 2006 at 11:45 pm · Filed under Miscellaneous
Joel Spolsky recently wrote about what he calls The Perils of Java Schools.
His main point is that Computer Science departments have dumbed-down their curriculum to increase their enrollment and graduation rates. One way this has been done, he argues, is by replacing the teaching of multiple languages with Java. Instead of teaching functional languages (think Lisp) and using a low-level languages (like C or C++), the student does all coursework in a managed object-oriented language. Not only does this mean that students aren’t as well educated, but that is harder to interview new graduates to find the really good ones.
Some people have bridled at the article because they see it as slamming Java. Others suggest that he should update his interviewing style because he says it is harder to evaluate people. These comments miss the point of his article.
I agree with him fundamentally that learning with a high-level language is just not enough. Kang Su Gatlin has a post about this as well: What Should Change in Comp Sci Education. I agree with him too (though would like to hear more from him regarding MapReduce).
I went to UC Berkeley when Computer Science departments were primarily interested in training Computer Scientists. No language courses were included as a part of the required curriculum — it was expected that we would learn the required languages on our own time (note: I’m sure the teachers-assistants must of helped students with languages and environments, but I either skipped those sections or have blocked it out because it was no help to me). In our classes, we used Scheme (to learn functional programming), assembly, and primarily C.
One of Mr. Spolsky’s main points is that routinely using a low-level language (like C) provides the student with critical experience. C is closer to the machine than Java or C# and forces the programmer to work harder. C forces the programmer to use pointers. Programming and debugging pointer-based programs develop and hone debugging skills. The experience of using these over my years in school was quite beneficial. Better to learn that at school than in industry.
So without fully condemning nor claiming to even grok what is motivating the universities to this end, I will say this:
I have heard from many people over my life that “pointers are hard.” If you have a Computer Science degree and you think pointers are hard then one thing is for sure: your Computer Science program failed you.
Tags: c#, Computer_Science, Java, JavaSchools
January 2, 2006 at 4:49 pm · Filed under Miscellaneous
My son and I built a rocket fueled on baking soda & vinegar.

We haven’t fired it yet — we missed the weekend launch window due to weather.
Tags: Model_Rockets
January 1, 2006 at 3:16 pm · Filed under Miscellaneous
Happy New Year and a warm welcome to the year 2006. Time does have a tendency to fly.
Here is an uncomprehensive list of some things I’m looking forward to this year:
- Digipede (products, marketing, staffing, selling, etc.)
- Microsoft Vista
- A service pack for Visual Studio 2005 (apparently there is one for 2003 coming too)
- Windows Communications Foundation (WCF), Windows Workflow Foundation (WF), Coordination and Concurrency Runtime (CCR), and Compute Cluster Server (CCS)
- Attention and Gestures
- The little one out of diapers (whoops, wrong blog) . . .
I’m sure there are some other things that I’m not thinking about today.
This will be an exciting year for Digipede and for me and my family as well as for the greater tech industry at large.
Happy New Year!
Tags: Digipede