Category Archives: Computers and Internet
New multi-touch technology for the mouse
How to add a long hyperlink (e.g., to an InfoPath form) to an Outlook e-mail
Microsoft’s use of Custom XML and the lawsuit by i4i
All this talk about the recent patent lawsuit verdict against Microsoft got me curious about what "Custom XML" is and how it can be used. Well, I can’t say that I fully understand it, but I’m going to learn more through the links below. My initial impression is that Microsoft’s use of Office Open XML in Office 2007 applications allows the business data to be separated from the presentation data (in XML files). Using XML is much easier for developers when creating or manipulating Word or other Office documents programmatically. Microsoft isn’t the only vendor to use Office Open XML, and the Open Document Format (ODF) may be infringing on i4i‘s patent also, which means a lot of open source tools may be at risk. I’m interested to see in how this all plays out. As an Office, and in particular InfoPath/workflow/SharePoint/LOB, developer, I value the ability to fully utilize and integrate custom XML files into Word and other Office documents, and benefit from the offline access to the custom data, speed of local access, and inherent structure and functionality with XML as a data storage medium. However, there is always another paradigm, another way of doing things.
Links
- This video introduces the whole Custom XML architecture and concepts. Best viewed in Internet Explorer to get the sync’d video and slides.
- Microsoft provides some code snippets for Visual Studio to use when working with the Office Open XML file format.
- Each XML file in an Office Open XML container, or "package", is called an XML part. To manipulate those XML parts, check out this video.
Grounds for appeal
One way that Microsoft will appeal is to say that the i4i patent is ineligible due to it not passing the machine-or-transformation test as with In re Bilski. I’m curious as to whether Microsoft actually developed any of their XML processing using this "map of metacodes" method. From what I see as a user, it’s just XML (content), XSD (schema), and XSL (formatting) files. If I want to render an XML file, I have to create a custom transform (.xsl, .xslt). The XSL separates the formatting from the content in the XML. I don’t see a metadata mapping and stripped-down content like i4i is saying, unless it’s in the source code somewhere.
Jeff Cogswell wrote a cogent article describing the salient points of the patent ruling, what might be meant by "custom XML", and arguments for Microsoft’s appeal.
Update 12/22/2009
Microsoft lost its appeal and has stated it will change its code for Office 2007, and 2010 which does not currently have the feature. Milan Kupcevic offers some perspective on what "custom XML" is and how that is similar to i4i’s patent. Basically any file included embedded a Word 2007 document. This embedded file can be displayed or used in the Word document through a "relationship" created between the main document and embedded document. That is the infringing part.
How to get the remote (UNC) name of a mapped drive
prompt $M, and the full remote name will be displayed, or nothing if it was not a mapped drive.Freeware I use
| Technology | Application Name/Link | Why I use it |
|---|---|---|
| FTP client and server apps | FileZilla | Download, upload files to an FTP server using a nice GUI. |
| HTTP proxy app, ad blocking | Privoxy or AdSweep | Filter out advertisements (use Google Chrome and AdBlock instead) |
| Multimedia viewer | IrfanView | View, edit images; watch movies. |
| SharePoint administration GUI | SharePoint Manager | Browse, administer SharePoint’s internal settings at all levels of detail through its Windows-Explorer-like interface. |
| Text differencing, merging | WinMerge | Put my InfoPath project back together after it randomly separates and scatters my project files across one or more “template” folders. |
| CAML query generation | U2U CAML Query Builder | Create, test CAML queries |
| Code formatting, colorization | Manoli’s C# Code Formatter | Format code for my blog |
| File backup, synchronization | SyncToy Allway Sync |
Both apps are free, but SyncToy has better file and folder exclusion functionality. Allway Sync is good for small (e.g., PC or USB drive) back ups. SyncToy is better for doing real work that requires advanced filtering functionality. |
| XPath query testing | BIT-101 XPath Query Tool | Visualize results of XPath expressions against XML |
| Regular expression testing | Regexp Editor | Awesome online regexp tester, great tooltip descriptions of the regexp operators. Also see regexplib.com. |
| XML Validator | Validome | Better validator than W3C’s validator. I use their HTML / XHTML validator as well. Gives me low-level error details even if the document is invalid at the very beginning. |
| VPN client | Cisco AnyConnect | |
| Searching and replacing text | Search & Replace Master | Multi-line text replacements across files without having to mess with regular expressions as much |
| Mount ISO images as virtual drives | Virtual CloneDrive | Mount ISOs I get from MSDN and other places |
| File Downloader | iGetter | Download files in a queue, resume downloads, and optimize download speed by downloading in parallel segments. |
Google Chrome keyboard shortcut for text alignment is annoying
I use Chrome a lot, especially for Gmail, and frequently I hit some combination of the right Shift and Ctrl keys, which really bugs me. This all started just a few weeks ago with a "bug" they fixed in Chrome that now allows this. Great for the non-Latin-language crowd, but sucks for us. Ctrl + Shift +arrow key can be used to highlight a word. If Chrome weren’t faster and more secure than other browsers, I’d stop using it just because of this keyboard shortcut.
I finally found my answer–it’s a feature of Chrome that changes the alignment of a your current paragraph (good for when I want to quote something in Hebrew or another right-to-left alignment language). The fix for me when I use this key combo R Shift + Ctrl is to type L Shift + Ctrl. I wish they would not make a keyboard shortcut for this, especially with those keys. How about using the F1-F12 keys? Geez.
Regular expression evaluator
I wanted to test a regular expression and found this online tool which works really well. Check out the Regular Expression Calculator.
Outlook 2007 multiple Personal Folders, infinite error loop
I had this error in my Outlook 2007 client that was bugging me and I didn’t have time to resolve it, so I just used Outlook Web Access. Well, I finally got around to researching it, and the solution was to create a new default profile in the Control Panel’s Mail applet.
Google Voice
Google will be debuting its Voice service, another free utility integrated with Google’s ubiquitous services, and it’s coming out in a few weeks. I’m excited about several of the features, such as voice mail transcription, voice mail in e-mail form, personalized messages for a caller/group (including messages for ignoring/blocking callers), and having calls routed to multiple phones. I’m going to wait for a while to see what other companies do.
While these features are well and good, do I really need visual voice mail? I don’t get that many voice mails, and when I do, I know who they are from due to caller ID, so I’m inclined to hear their message. I don’t need phone routing as I don’t have a home phone, and I can forward my work phone calls to my mobile if necessary. The call blocking feature is nice, but I can automatically (and of course, manually) silence the ringer for particular people. I have a T-Mobile G1, so I hope T-Mobile works with Google to get the voice mail and some other features integrated into my phone/service without me having to get a new number.
What Google has done is integrated all these great features into one product with a clean interface to which we’re accustomed. Plus, it’s free, web/mobile/phone-accessible, and absent of advertisements (for now, although sooner or later you’ll see them).
Formatting code for blogs
For this blog, I’ve used Snippet Compiler‘s Export HTML to Clipboard feature and then wrapped that HTML code with this tag:<pre style="overflow: auto; background-color: rgb(255,255,255)">.
I also found Manoli’s C#code formatter to work well for adding line numbers and/or alternating line background colors. However, its CSS formatting is not inline. I’ve found inline CSS to be more compatible on the various browsers.
To work around this cosmetic issue is easy for Windows Live blogs. Using Internet Explorer (or another browser that renders the rich text editor control used), just copy and paste the rendered HTML into your blog’s design-view editor, not the HTML source code editor. The Windows Live blog editor automatically infers/converts the code from CSS classes to inline CSS.
