Eric White is my personal replacement for Brian Jones…

Okay! The title does sound “negative” but I’m the dude that wrote “Good Stuff about Brian Jones” in 2007. The issue here is that Eric White kicks the asses I’m thinking should be kicked—and I’m willing to childishly sing his praises at the expense of getting petty with Brian Jones.

Without Eric White, I would have no ‘sane’ way of dealing with this Microsoft litigation issue mentioned earlier. Here’s the plan:

  • Build a tiny, thin VSTO project that is a façade/gateway into the Open XML SDK. This stub would replace CleanXHTML.
  • Use the Open XML SDK to process Flat OPC strings obtained directly from any given Word Range object.
  • The ‘process’ is based entirely on Eric White’s code, the static method FlatToOpc, in “Transforming Flat OPC Format to Open XML Documents.”

My little OPC documents will litter the writeable temp folders as the Open XML SDK does its magic. One little reward for this revitalized interest in Open XML in general and the .DOCX file format in particular, is stumbling upon the way to get WPF to work in Office Solutions (VSTO):

Update: actually the two WPF articles mentioned above are not necessary to get WPF working with VSTO. All that is needed is a reference to a WPF Window object inside the VSTO project or as an external reference (my preference). More on this later…

In the Cloud without a Notebook

Haansoft(한글과컴퓨터) ThinkFree Office Live 사업실 Director : Benedict My current W2 assignment involves pre-release stuff from Microsoft. What this means is security and non-disclosure—and more security. Eventually, as things ramped up, we were told that bringing private “external devices” (like notebooks and storage keys) was not going to be allowed. This effectively forces me to experiment with using the cloud—stuff like Google Docs and Office Live. So, these are the reasons why Google Docs did not work out for me—sure it works for you but not me:

  • Google Docs HTML is not “clean”—it even uses <font /> tags for some reason. The app is not designed to copy/paste markup from one system to another.
  • The ‘publish to Blog’ functionality simply did not work for me. The login test to WordPress worked but the actual post did not—no messages about success or failure from Google—which is a serious turn off for company as big as Google.

So I’m actually in the Microsoft Word Web App from Office Live because I’ll be able to use my unreleased version of CleanXHTML (for Word 2007) to post to WordPress. So here are some notables about Office Live:

  • I would rather use the full Word application but I cannot until the Office Live Spaces upgrade is over. According to TechCrunch, “Microsoft didn’t provide a solid timestamp for when the automatic upgrade will occur, only saying that it will come in the ‘coming months’, and that it will be opt-in.”
  • I notice that my favorite keyboard shortcuts are not working in the Word Web App (like Ctrl+Shift+N and Ctrl+Shift+L). I need to read this.
  • My use of Custom XML is not available in Word Web App but is preserved and marked with the message “Word Web App can’t display this item…”
  • I am very impressed with the preservation of my document styles—which are available in the More Styles section of the Styles area in the word Web App Ribbon.

It must be said, however, that Google Reader is vastly improved (it no longer chokes on my rather large OPML file of feeds)—and, by the way, I am writing with Word Web App in Google Chrome.

Back to the Black Board with Tech Plans: Tabulating Technologies

Finally, some kind of big pictures emerge—some kind of expression of what I’ve been doing with most my adult life. This unimpressive rendition of a table started with the far left column as a list of data formats in decreasing disk space:

Back to the Black Board with Tech Plans

So, Apache log files are my largest set of data—then comes the Blog post data (you are reading now) in MySQL/WordPress. Notice how I still avoid storing my crap in “the cloud.”

The next column lists the technologies I use/built with the data forms in the first column. Here is where the organizational lousiness comes in because the order of items in this column has nothing to do with that in any of the columns. My struggle to compensate for this is through arrows going all over the place.

The arrows pointing to the third column intend to show me where the solutions in the first column will end up technologically. For example, DAR will use the Entity Framework, support WCF and maybe WF (Windows Workflow Foundation).

Another Tabular Attempt

Data Format Application of Data Format Future of Application
Apache log files DAR parses and loads these files into SQL Server 2008.

DAR will be modified to run on some kind of dependency injection framework—probably StructureMap or Unity.

SSIS and SSRS are being introduced for processing the results of the load.

SQL Server 2008 GenericWeb and DAR use various approaches in the Songhay.Data namespace. The Songhay.Data.Linq namespace will play a role here, featuring Entities Framework.
MySQL WordPress uses MySQL exclusively. No immediate plans to improve here.
SQLite SQLite.net and my custom PHP libraries approach. The Songhay.Data.Linq namespace should play a role here, featuring Entities Framework.
Word DOCX No released solutions approach. A WPF version of CleanXHTML is in the works.
OPML An internal InfoPath solution is used to generate list data. Newer PHP/Zend designs use OPML lists for lightweight site index data. A simple OPML editor for WPF and ASP.NET MVC is in the works.

Moving to Windows Server 2008 Land

rasx() in Windows Server 2008 My last VMware-related post was “Ubuntu 7.10 and VMware” and I thought for sure there are Windows Server 2003 VM entries in my journal. I suppose I was too embarrassed to admit that I was still using 2003 over one year after Windows Server 2008 was released. (Actually, the 2008 entry, “In Word 2007!,” spills the beans.)

So, now I am using Windows Server 2008 Standard x86 as a VM. I tried to install the 64-bit version twice—because I assumed that my Windows 7 64-bit OS host was all VMware needs. It turns out that VMware needs to work with a special set of 64-bit chips and my Pentium Dual Core T3400 is not enough apparently.

Since my readers usually stumble upon these things through Google, I remind you that I use my Windows Server VM as a development box and an Office desktop (it’s a VSTO thing). So this journal entry is coming to you from my new VM straight out of a 174-page Word 2007 file via my Word Add-in (still under development), CleanXHTML (the Word 2003 version of CleanXHTML is still out there…).

In Word 2007!

This entry is written in Word 2007 on the Windows 2003 Server virtual machine. The Office 2003 suite is on my broken Dell Inspiron 6400 (a little over two years old). The LCD is fading to dark from right to left or just not displaying at all. Of course the warranty has lapsed!

So my virtual machines are hosted by my bland-but-trusty, backup, W2-labor-camp notebook while I wait for a wonderful shipping container from the quality folks at Dell. (I can only hope these will be quality folks.) My Windows Server 2003 VM is decked out with Office 2007 and VSTO. So, yes, I am at it again: CleanXHTML for Word 2007 is underway. This post marks the first that’s generated by CleanXHTML for Word 2007.

There were not many alternatives to ramping up CleanXHTML development since the Dell has problems. Wow. The record shows that “CleanXHTML for Office Word 2003 Released” back in March of 2006 was the last ‘big’ CleanXHTML mention.

This CleanXHTML work, of course, gets in the way of the sorely needed Adobe Flex work last mentioned in “Zend Framework Version of SonghaySystem.com Released!”—the Zend stuff crazily was more ‘unexpected development’ of my incredible un-planning.

These delays can’t go on forever.