Wednesday, November 30, 2005

Outbound Compliance: Getting More Important (and Better!)

The InfoWorld TechWatch blog keeps track of, well, all things tech. It's a good all-around gatherer of information. Today there's a post on OCC: Outbound Content Compliance.

Corporations are increasingly needing to monitor their employees' communications to ensure that they are compliant with any regulatory issues as well as any internal guidelines.

One great product that handles this is OutBoxer by Audiotrieve. How do I know these guys? Well, I first met them at the Demo conference in Phoenix last January. They were demoing Outboxer, and we were demoing the Digipede Network.

As it turns out, they "train" their product by running millions of messages through it, using Bayesian analysis to make their algorithms more accurate. It's the kind of thing that scales linearly. We struck up a conversation with their CTO Sean True at the conference, and they were one of our early beta customers. They became a commercial customer as soon as we released. Their analysis runs went from overnight to under an hour. Faster analysis has two huge benefits for them: more accuracy and better use of their employees' time.

It was a great proof-of-concept sale for the Digipede Network. We never visited their offices; they were able to download and install the software by themselves. After seeing it work, they bought new, dedicated hardware to scale their solution even more. They were the first users of our COM API (which they were calling from Python!), and Sean got into .NET programming and even ported one of our samples to IronPython for the Digipede Community Boards.

If you're interested more in the implementation, we've got a case study here.

Tuesday, November 29, 2005

Saving the screen, wasting everything else...

If you're not reading Nicholas Carr's Rough Type blog, you're missing one of the best writers in the blogosphere.

His post today is called "Kill All Screensavers," and he tells an interesting story about screensavers in corporate America--he's talked to at least two CIOs who have been prevented from successfully implementing grids on their PCs because of the official corporate screensaver.

He said that while grids were theoretically attractive as a cheap means of harnessing lots of processing power, he faced a big roadblock: his company's official screensaver. It turns out that the corporate communications department created an elaborate screensaver, complete with video clips featuring the CEO, to promulgate a “corporate values” program. Installed on all the company’s PCs, the screensaver sucks up the processing cycles that might otherwise be put to a productive use – like finding a cure for cancer.
When we were first designing the Digipede Network, we looked at a lot at what had been done by other distributed computing networks. Many of them implemented a fancy screen saver (SETI@Home is a good example, but there are many others).

Without thinking twice, we decided not to implement one. Why? Because it's an enormous waste of resources! (See Nicholas's post for some staggering statistics on the power wasted alone). It's bad enough for a pharma company to willingly waste power and CPU hours; it's ludicrous for a grid company to do it. They're wasting the very commodity they're supposed to be saving!

Needless to say: don't look for a Digipede screensaver when you implement the Digipede Network.

Technorati Tags: , , , ,

Monday, November 28, 2005

(Social) and (Distributed) Networking

I've spent a lot of time over the last couple of months thinking about software as a service and service oriented architecture, especially how they relate to distributed computing.

Today my colleague Kim sent me a link to Threeminds blog on Digital Marketing. In this post, 3minds makes an interesting point that I hadn't considered very much: distributed collaborative development (SourceLabs, SWiK, Sourceforge, et. al.) enable "extreme acceleration" in collaborative development by distributing the development, accomplishing more work by developing in parallel. Distributed computing offers extreme acceleration in the work that can be done by that software, accomplishing more work by computing in parallel.

The networks (social and computing) are becoming more powerful. The tools available on both sides are becoming more sophisticated every day.

Thursday, November 17, 2005

Interview with John Powers

While I work on a post about Supercomputing 2005, feel free to chew on this interview with Digipede CEO John Powers on

Tuesday, November 15, 2005

(Not) Blogging from SC05

I had intended to blog directly from Supercomputing 2005. However, our days ended up being so full, I couldn't find a free 15 minutes to write. So I'm back in Oakland and ready to pour the thoughts out of my head. We had a pretty huge week here at Digipede, so it's been tough to find time to blog.

This was my first trip to Supercomputing. There were some things that struck me as odd, some things that wowed me, and other things that just struck me.

I was amazed at the amount of computing power there. John overheard someone say that they basically loaded as much computing power into the building as the power grid could handle. There were huge racks of servers. There were supercomputers. The vendors brought computers. The national labs brought computers. It was an amazing amount of compute (and networking) power. They put up some pretty good information about the network they built for the show here.

One thing that surprised me about the show was the incredibly large presence of the not-for-profit agencies that do supercomputing. The national laboratories (Argonne, Brookhaven, Idaho, Lawrence-Berkeley, Los Alamos et. al.) were there in force. They had large booths (20x20 or 30x30, with many displays, multi-story structures, etc.). I was surprised to see them because I think of conferences like this (and exhibits, in particular) as a way to attract customers. Clearly these institutions use this conference as a way to keep the industry abreast of what they've done in the last year. It was all very informative, and made the exhibit hall a little a little more tolerable because not everyone there was trying to sell their wares.

One thing that made this show very different than Supercomputings past was Microsoft's large presence. They probably had the most floor space of any exhibitor: one large booth for themselves, and another devoted to Microsoft partners. In addition, Bill Gates gave one of the keynote addresses.

From speaking with other attendees, I gathered that Bill's speech went better than expected. I think a lot of people were expecting him to give a "Rah! Rah! Microsoft!" speech; he didn't. Instead, he talked about the benefits of supercomputing, and the dawning of the "personal supercomputing" era (with many CPUs on each desktop). Kyril Faenov did a demo of Microsoft Compute Cluster Solution in action. I think the things that impressed people the most is that they showed CCS working on a real world problem and interoperating with a Linux cluster.

As with most conferences, the best part for us was meeting with the people who attended. Going to a conference like this saves you 15 business trips because so many people are in the same place at the same time. The place was just full of partners, potential partners, and potential customers. We had meetings nearly all day both days and got some terrific leads out of it.

Monday, November 14, 2005

See you at Supercomputing 2005?

I'm heading up to Supercomputing 2005 for Tuesday and Wednesday.

Anyone going to be up there? Shoot me an e-mail, or comment below.

Friday, November 11, 2005

The MS-Trifecta

One of the coolest things about being at the Global Launch of Visual Studio 2005 and SQL Server 2005 was being able to demo a product that utilizes both: our SDK plugs directly into VS 2005, and our server runs on top of SQL Server 2005.

Not only that, but we're also running on the "not really announced loudly but it's out there now, too" product: .NET 2.0. (As an aside--I wonder why they didn't make a bigger deal about this? I guess developers know about it, and non-developers don't understand or care)

So how many companies can say they have a single product that plugs in to VS 2005, runs on top of SQL Server 2005, and takes advantage of .NET 2.0?

I'm giving a webinar on Thursday next week to show it all off. Sign up here if you're interested.

Thursday, November 10, 2005

VSTO: A Difficult upgrade to VS 2005

WARNING! This post will only be interesting to anyone upgrading Visual Studio Tools for Office projects from VSTO 2003 to VSTO 2005. All fans of distributed computing, you may want to skip this one!

Last week I wrote an entry about installing some minor difficulties installing VSTO 2005--it was not as painless and trivial as it should have been.

After getting things installed, I immediately tried to upgrade a VSTO project that I had written for Excel. I needed to get it done quickly, because we needed to demonstrate it at the VS 2005 Launch. The upgrade of the VSTO 2003 project did not go as easily as I had hoped.

It seems Microsoft has made some pretty significant changes to both the mechanics and the object model of the VSTO projects. Most importantly, they've changed things from a workbook-centric model to a worksheet-centric model. This means that, in practical terms, you may need to do some re-architecture of your model before it will work.

I opened up my old project in VS 2005, and it offered to upgrade (making a backup, of course). After a few changes I was able to get my project to compile; however, when I tried to run it I got the dreaded "Office document customization is not available" error. Of course, I had no idea why I was getting it; my first assumption was that my project is dependent on two different libraries, and that one of them didn't have permission to load (this was a difficulty in VSTO 2003).

So I went off to my Administrative Tools->Microsoft .NET 2.0 Configuration tool. When using VSTO 2003, I generally used the .NET 1.1 Wizard to give full trust to any libraries loaded by my assembly. However, .NET 2.0 doesn't have a wizard. Instead, I had to use the Configuration tool. The VSTO projects in the .NET 2.0 Configuration Tool are set up differently than they were in .NET 1.1. Formerly, I'd see either a Wizard entry under the Machine->Code Groups->All Code entries, or I'd see an entry under User->Code Groups->All_Code->Office_Projects that was based on the directory where I built my project. In the .NET 2.0 Configuration Tool, projects are listed under User->Code Groups->All_Code->VSTOProjects, and each is listed by its GUID rather than its folder.

Because I had had such difficulties with security when using VSTO 2003, I assumed that my problem here was the same. I was wrong. When I tried tweaking the settings in the .NET 2.0 Configuration Tool, I started getting a new error that made it clear that now I didn't have permission to load that assembly.

Eventually, I gave up and tried recreating the project. Once again, I upgraded my VSTO 2003 project. At Rob's suggestion, I followed the directions in the "How to Upgrade Solutions from Visual Studio Tools for Office" document (I was wondering why the upgrade hadn't told me to read that first, and also why that document is so hard to find when searching in MSDN). I copied and pasted code as directed; some of my code used to get called when the workbook opened, so I put it in the ThisWorkbook_Startup method. Again, it wouldn't open.

At this point I was pretty frustrated, having spent the better part of a day trying to get this working.

Finally, I "started from scratch." Rather than upgrading my old project, I created a new project. When the wizard asked if I wanted a new workbook or a copy of an existing workbook, I pointed to my old workbook. It created a brand new project, with files for each of my sheets (that's another change between 2003 and 2005--there are .cs files for each sheet of your workbook).

I then added references to the DLLs that I needed my project to load; I built and ran--it loaded! Now I just needed to add my code. I copied and pasted most of the code from my old project into Sheet1.cs (this time, I didn't put any code in ThisWorkbook.cs).

Almost everything was ready. The only problem I had was that I had no way to get values from multiple sheets--in the VSTO 2003 paradigm, your workbook had access to all of the sheets; the new object model seems to make that harder. I used to use code snippets like
mwksResultsWorksheet = (Excel.Worksheet)ThisWorkbook.Worksheets["Results"];, then I'd use that worksheet to get values. Now I didn't have access to the other sheets, because I was working within a sheet rather than within a workbook.

Eventually I came upon the Globals class. This class gave me access to all of the sheets, using construction like this: Excel.Range cellBetas = Globals.Sheet3.get_Range("cellBeta1", "cellBeta30");

The most inconvenient thing about it is that I have to refer to the sheets by sheet number rather than by their name.

Anyway, at long last, I had my VSTO sample working. It's awesome. Using distributed code behind my Excel spreadsheet, I can have 10 machines sharing in the 700,000,000 calculations necessary for my retirement simulator. All in all, I get 3 minutes of work done in about 20 seconds.

Other than the difficult upgrade process, I actually like some of the new aspects of VSTO 2005. But I'll have more on that later...

Wednesday, November 09, 2005

VS2005/SQL2005/BT2006 Launch: No Cheap Trick!

I may give away my age if I say that one of my favorite parts of the Microsoft Visual Studio/SQL Server/Biztalk Launch was that Cheap Trick played both the keynote session and the party. After 30 years, I have to say, they sound great. I've seen over-the-hill bands before, and this is not one of them: Cheap Trick still rocks. (Rob has some pictures of them here).

But there was so much else going on, it's hard to pick a favorite part. Steve Ballmer gave his customary high energy keynote (available here). There were tons of Microsoft partners there, and it was great to catch up with people from Softagon, Allin, and many others. All of the major hardware vendors were there.

The development communities were there in force, too. INETA, the International .NET Association, was there, as was its local affiliate Bay.NET. Oliver and Bennett from Bay.NET put together tons of great informational programs; I think that both Kim and Rob will be presenting for them soon.

But, as always, the best thing about a Microsoft event is the chance to meet with and talk to the Microsoftians themselves. No, Steve Ballmer didn't stop by the Digipede kiosk. But Kari Martin and the ISV Connect team was there (is it true, Kari, that you put the "kari" in "karaoke?"). Sam Ramji stopped by for a few minutes--we are very excited about the work he's doing; we think that Microsoft is building a great platform for SaaS, and we think we have an important piece of the puzzle for SaaS providers. Dan'l Lewin spent some time with our CEO, John Powers. And both Matt Pease and Diana Beckman from the partner program both came by at some point. Many Microsoftians made it a point to come by, say hi, and ask what they could do to help.

And at the party, I let Jason Mauer school me in air hockey ;-). I should have known better than to play against anyone who uses the word "pimpiest" in a blog entry.

So what did I take away from the show? Well, I already knew all about the great new technologies, and how fast SQL Server 2005 is, and how powerful Visual Studio 2005 is. But it's not what you know, it's who you know. Having spent a day where we got to talk to the folks in charge of Microsoft's partner programs, Emerging Business Team, and the ISV Connect team--oh, and got to show off our latest release to 3000 potential customers--was a darn good day.

Friday, November 04, 2005

MSDN Blogger Community

Just found out I've been accepted to the "MSDN Architects Bloggers" community--because I signed up to be part of the Visual Studio/SQL Server Launch blogging community.

I was part of the PDC Blogger community, and I enjoyed reading other people's posts. It was impossible to go to every session and meet every interesting person there, so having the ability to experience the PDC through other attendees' eyes was really useful. I hope this leads to the same thing.

For those of you who are reading that feed: welcome! And if you're interested in grid/distributed computing on the Microsoft platform, add this feed to your aggregator.

And if you're interested in hearing about my experience upgrading a VSTO project to VS2005, stick around: more on that adventure later today. The good news is that we will have our demo ready for the VS launch on Monday!

Programs are great; people are better

At Digipede, we embraced the Microsoft partner program from the day we decided on building a product on their platform. We immediately enrolled in the Empower Program, which was great. It saved us thousands of dollars in license fees.

As soon as we qualified, we became a Certified Partner and then a Gold Certified Partner. Really, the programs are invaluable. Access to lots of software. Access to great people within Microsoft. And, best of all, access to lots and lots of other ISVs and Microsoft partners. As I've blogged about before, they put lots and lots of effort into their partner programs.

But you know what the most useful thing we've found is? It's not the programs at Microsoft--it's the people at Microsoft. There are certain people there who absolutely bend over backwards to help partners. In particular, we've had amazing help from Suzanne Lavine here in the Bay Area, and Kate Bothell up in Redmond. They both do a wonderful job helping partners. They both take the time to understand what individual partner's needs are, and take time to try to see how they can help. They're willing to step outside of their defined roles and just lend a helping hand. I get lots and lots of e-mails from the different partner programs that I'm in, but 100 of those aren't worth as much as an e-mail from Kate telling me about a program we should be in or an introduction from Suzanne to a vendor she knows we could partner with.

Of course, not everyone at Microsoft is this outward oriented--I've met plenty of people who would barely give me the time of day (or maybe just terse e-mail now and again). Microsoft tries to emphasize the importance of its partners to all employees (walk the halls in Redmond and you'll see posters reminding employees that 96% of Microsoft's revenue comes through partners), but clearly some people grok that better than others.

For us, finding those people who truly embrace partners has been critical. So: thanks Suzanne and Kate!

Wednesday, November 02, 2005

VSTO Changes / VS Release

I'm preparing my machine to be our demo machine at the Visual Studio launch event on Monday.

One of the very effective demos that we've done in the past involves Digipede-enabling some .NET code behind a spreadsheet in Excel. It drastically reduces the time it takes to run, and only takes about 20 lines of code to do it. Really, really cool stuff.

So I installed VS 2005 on my machine, only to learn that VSTO isn't part of it. So I downloaded the 400MB VSTO install and installed it. It's a little strange, because it seems to be its own installation (not just an "add on" to Visual Studio).

However, now when I try to open an office project, I get a message telling me that I need to install Microsoft Office Professional Edition 2003 SP 1. This is a problem, because I have Office Professional Edition 2003 installed already! I have SP 2, though, not SP 1. In any case, I can't actually create or open an Office project.

Has anyone else seen this problem?

Just a quick one...

There are millions of people out there writing blogs; the variety in terms of both content and quality is staggering. Many people seem to be just providing links to other blogs in many (if not most) of their entries; now that great aggregation services exist, those blogs are mostly a waste of space.

There's one blog I read that stands out in its insight and incisiveness: Nicholas Carr's Rough Type. He writes effectively, and each and every post has good analysis and content. I bring him up today because he has an interesting take on Microsoft's announcements from yesterday about Live Software and

So add Nicholas to your subscription list.

Oh, look. I just became one of those people who writes a post that just links to someone else's post! More content later; I promise.