The Wilson-Sidlinger Method
Philip Carl was working on some XSL yesterday and noticed a fair amount that looked like this:
<table> <col…/> <col…/> <col…/> <x:apply-templates select="…" /> </table>
It was everywhere, and we all know to not repeat ourselves. But neither of us knew at the time how to wrap the execution of an XSL template in some boilerplate. Ladies and gentlemen, may I present the Wilson-Sidlinger Method†:
<x:template name="wrapWithTable">
<x:param name="innards" />
<table>
<col…/>
<col…/>
<col…/>
<x:copy-of select="$innards" />
</table>
</x:template>
<x:template match="critter">
…
<x:call-template name="wrapWithTable">
<x:with-param name="innards">
<x:apply-templates select="kin" />
</x:with-param>
</x:call-template>
…
</x:template>
<x:template match="you_uns">
…
<x:call-template name="wrapWithTable">
<x:with-param name="innards">
<x:apply-templates select="mama" />
<x:apply-templates select="em" />
</x:with-param>
</x:call-template>
…
</x:template>
We verified that execution time was not greatly affected. As a matter of fact, loading the stylesheet was a little faster with the reduced amount of code.
Is the apply-template being passed to the called template as a function or the result of a function? We may never know. The great thing about XSL, though, is it is a side-effect-free language that lets us care not one bit.
† This method of dealing with XSL repetition may have been used before, but we couldn’t find any mention of it.
Update: P. Carl corrected me. It’s copy-of in the “wrapWithTable” template.
On Slicehost
I’ve migrated my blog to my slice. Have I mentioned that [Slicehost](http://slicehost.com) kicks ass?
Xeroxyzstan
[Xerox](http://xerox.com) is [looking to change its image](http://www.prweb.com/releases/xerox/brand/prweb606831.htm “Xerox Unveils Biggest Change to Its Brand in Company History”). Their efforts include a new logo that apparently a [lot](http://commercial-archive.com/node/142223 “Xerox new logo looks like a beach ball”) of [people](http://www.underconsideration.com/brandnew/archives/xerox_the_very_very_very_shiny.php “Xerox, The Very, Very, Very Shiny Company”) think is hideous. I think it’s lame and ugly, too, but my sense of design does not qualify me to weigh in on the work of a ridiculously-named company like Interbrand. What I *will* say is that I find it a little odd that they admired [Kyrgyzstan](http://en.wikipedia.org/wiki/Kyrgyzstan) so much that they used a design element from their flag.


Silence Isn’t Golden
> In the meantime, please don’t mistake silence for inaction. – [Dean Hachamovitch][ieblog]
Consider it done. In the meantime, I also won’t mistake silence for a viable strategy.
[ieblog]: http://blogs.msdn.com/ie/archive/2007/12/05/internet-explorer-8.aspx “IEBlog : Internet Explorer 8″
Marvel Digital Comics
I subscribed to [Marvel Digital Comics][mdc] yesterday. It’s nice to have a very extensive library of material without taking up any space. I’m busy catching up on content that I missed during the time I was either broke or thought I was too cool to be buying comics.
The comics are read with a flash “player”. It seems to do a pretty good job with the images. I believe that the comics have been scanned and then vectorized, but I may be wrong. The reader provides you with three ways to view the comic: two page, which makes the text too small to read on my MacBook, single page, and smart panels. The smart panel mode works pretty well, zooming in to a panel or two.
Nothing’s perfect, though. While I think this is a nice move towards an online distribution model, I do have some complaints.
At this point, the issues available online are spotty, and it’s hard to find contiguous runs of a title that are more than a few issues. Inexplicably, limited-length series and story-lines are not complete. For example, [Secret Wars][secretwars] was an eight issue limited series. Marvel has made issues 1, 2, 3, 4, 5, and 8 available. I can only hope that the gaps will be filled in over time.
There isn’t any way to get access to content off-line. I understand Marvel’s concern about “secondary” distribution, but I think a move to watermarked PDFs, like those available on [Safari][safari], would be well received. Restricting the comics to an online-only player will not stop the people sharing them through Bitorrent or Usenet, and only lowers the usefulness of the service to paying customers.
The player is a little buggy. The size of the navigation bar at the bottom of the window doesn’t seem to be taken into account when calculating the rendered size of the content. This results in the bottom of the content being clipped in smart panel mode. Usually, I can deal with this, but some letterers seem to like placing dialogue at the bottom of the panel. I’ve provided feedback to Marvel, and, hopefully, they’ll address this soon.
**Update:** Marvel has responded to my email, and they are working on a fix. In the meantime, resizing the window to have a standard aspect ratio seems to work.
All in all, I’m fairly happy with the service, but I’ll wait for a couple months to see how it progresses before committing to a prepaid, year-long membership.
[mdc]: http://marvel.com/digitalcomics “Marvel Digital Comics”
[secretwars]: http://www.marvel.com/digitalcomics/titles/SECRET_WARS.1984 “Secret Wars on Marvel Digital Comics”
[safari]: http://safari.oreilly.com/ “Safari Books Online”
It Must’ve Been My Complaining…
The 1.1.2 firmware for the [iPod touch](http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2FApple-16-GB-iPod-touch%2Fdp%2FB000JNYWBG%3Fie%3DUTF8%26s%3Delectronics%26qid%3D1194057922%26sr%3D8-1&tag=davidsidlinge-20&linkCode=ur2&camp=1789&creative=9325) updates the calendar application to allow [adding and editing of events](http://www.appleinsider.com/articles/07/11/09/ipod_touch_software_1_1_2_adds_calendar_functions.html). I can return my touch to its unjailbroken state.
via [daring fireball](http://daringfireball.net)
Why My iPod touch Is Jailbroken
Today, I ran the jailbreak on my [iPod touch](http://www.amazon.com/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.com%2FApple-16-GB-iPod-touch%2Fdp%2FB000JNYWBG%3Fie%3DUTF8%26s%3Delectronics%26qid%3D1194057922%26sr%3D8-1&tag=davidsidlinge-20&linkCode=ur2&camp=1789&creative=9325). I was perfectly content to leave it locked up and wait for ISVs to get their hands on the SDK in February. The *only* thing that I wanted was the ability to add and edit events in the calendar application. I give Apple a lot of leeway (and a lot of my money,) but the artificial limitation they placed on the calendar app on the touch was too much. Apparently, it’s the same binary that runs on the iPhone with a configuration property change. What in the world were they thinking?
Keyboard Infatuation
I recently picked up of the [new Apple keyboards](http://apple.com/keyboard), the [wired one](http://www.amazon.com/Apple-MB110LL-A-Keyboard-Kit/dp/B000V07N9U/davidsidlinge-20), to use on both my laptop and with Windows at work. Spending a lot of time on the MacBook made me accustomed to typing on the chiclet keys, and I’m now used to the positions of the control and alt keys on a Mac. My traditional Windows keyboard, a [Microsoft Natural Ergo 4000](http://www.amazon.com/Microsoft-Natural-Ergo-Keyboard-4000/dp/B000A6PPOK/dsidlinge-20), was slowing me down.
The good news is that the keyboard works fine with Windows. A little bit of work with [SharpKeys](http://www.randyrants.com/sharpkeys/) and I was ready to go. I remapped F13 to Insert (VMware Workstation uses Ctrl-Alt-Ins to send Ctrl-Alt-Del to virtual machines) and the right Command (Windows) to the Application key (context-click).
The only problem I have had so far is “bottoming out” my keystrokes. The travel on the new keyboard is extremely short. Sometimes my fingers forget about that and pretend they are hitting the keys on the old one. It’s a lot like when you think there’s another stair to go and end up slamming your foot down _hard_. I’m sure that will go away in time.
A couple things prospective buyers might want to know:
* As far as I can tell, the “special” function keys don’t do anything under Windows; so, no media/volume control is available. The keys don’t register at all using SharpKeys’ “Type Key” functionality. The only way to fix this appears to be a driver.
* Mac’s don’t use NumLock. The clear key functions as a NumLock key under Windows, but there is no indicator light for feedback.
**Update:** Forgot to mention that I love this keyboard. It’s the opposite of what I thought I’d want, but I wouldn’t want to go back now.
VMware Fusion and Quicksilver Not BFF
I recently started using [VMware Fusion](http://www.vmware.com/products/fusion/) instead of [Parallels Desktop](http://www.parallels.com/) to run virtual machines on my MacBook. The main reason I switched was support for multi-processor VMs, but I also had a nagging suspicion that Parallels’ kernel extensions might be behind [the sleep issues my machine has been having](http://discussions.apple.com/thread.jspa?messageID=5250411&tstart=0#5250411).
I think Fusion is a great product, but I’ve run across something that caused me huge amounts of frustration. Sometimes, it would warn me that it couldn’t write preference information. Once that happened, it was all downhill. Attempting to change the application preferences would cause the whole application to die immediately. Most of the other applications I use would start acting funky.
It turns out you should [never ever launch Fusion](http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1002204&sliceId=2&docTypeID=DT_KB_1_1&dialogID=23230307&stateId=0%200%2023226721) using [Quicksilver](http://quicksilver.blacktree.com).
I don’t know what exactly VMware is doing, but Fusion has earned the dubious distinction of being the only application that I know of that won’t work with the best application in the explored universe. My first guess is something to do with changing the process identity.
I like to imagine that it does feel some shame being the only item that I’ve had to add to my dock since installing Quicksilver.
RRoD Shirt
I’ve got to get one of [these](http://www.splitreason.com/productdetail.php?id=468). My 360 decided to go belly-up last week.

RRoD t-shirt design @ © SplitReason.com




