Category Archives: General

Cogitatin’ on Windows 8

I haven’t spent a lot of time looking at demos of Windows 8, but I have been reading and listening to thoughtful commentary by Horace Dediu and John Gruber, which has, in turn, got me thinking.

This post is an attempt to work through some of those thoughts, but, where to start?

I guess I’ll start by noting some basic facts, as I understand them:

  • Windows 8 won’t ship for a year or so.
  • Microsoft demoed Windows 8 on an Intel i5 based tablet that is so beefy that it needs a cooling fan, and which, by implication, must have some combination of poor battery life and added weight and bulk to support the larger battery.
  • They also demoed Windows 8 on ARM based tablets running the soon to be released NVidia Tegra3. This platform, or it’s successor, will likely not perform as well as the i5 based tablets, but should offer better battery life for a given level of performance. In theory, the power/performance will be in the range of whatever Apple puts in the iPad3, but hardware is only part of the story.  The iPad’s apps and OS are built for the power and performance constraints of a mobile device.
  • Windows 8 is schizoid.  On Intel, it will run traditional Windows apps within the context of a slight evolution on the traditional windows API and new Metro apps.
  • On ARM, it will only run Metro apps, unless, of course, it doesn’t.  There will be no x86 emulation on ARM, but Microsoft may or may not allow developers to recomplile traditional Windows apps for ARM
  • Metro apps will be distributed through a Windows App Marketplace, and microsoft will take a 30% cut of revenue.
  • A corrolary of Moore’s law, dubbed Koomey’s Law, states that power efficiency of computation doubles approximately every 18 months.
  • Battery technology improves much more slowly. Capacity of lithium ion batteries is improving at a rate of less than 10% per year.
  • iPad 2 Power consumption: Display: 2.7W, Also a 25Wh battery
  • IPad WiFi+3G Idle, with display, 2.97W.  Average power consumption 2.5W (25Wh battery, 10 hour run time)
  • These numbers don’t quite square up, but they support something I read when the first iPad was released, that the large display was the biggest contributor to the devices power consumption.
  • Microsoft’s biggest customers are businesses, particularly “enterprises”
  • Micrsoft’s enterprise customers are slow to upgrade.  Many were on Windows 2000 or XP (and IE6) and only just recently upgraded to Windows 7, which helps explain why Windows 7 has sold so well, but also suggests that they will not be in a hurry to upgrade to Windows 8, indeed, they may not upgrade again until Windows 10.
  • Apple has been winning new enterprise customers with the iPad.

Well, that took longer than I thought.  What I actually think it all might mean is going to have to wait for a follow-up post.

Windows 7 to OS X Server PPTP VPN MTU Solution

I’ve been having trouble with a Windows 7 client connecting to a PPTP VPN endpoint on Mac OS X 10.6 (Snow Leopard) Server.  The client authenticates just fine, and can access resources on the LAN, but connections time out when connecting to remote servers.

The simple solution was to configure the VPN client to only tunnel LAN traffic through the VPN, but that undermined one or our reasons for having a VPN: Securing connections from public WiFi hotspots.

For a long time, I assumed the problem had something to do with the routing, but after an hour or two with a packet sniffer hooked to the server, I discovered that TCP sockets to the problematic servers were being established, and, often, significant amounts of traffic were being passed back and forth.  I also noticed that the conversations were interspersed with packet fragmentation errors.

Ah Hah!  Something must be screwy with negotiation of the MTU.  With a little digging, I found some instructions for adjusting the MTU, which I’ll summarize here:

  1. Click the start menu, search for “cmd.exe,” right-click the search result, and choose to run as administrator.  Answer yes to the security warning prompt.
  2. Connect to the VPN in question.
  3. Run “netsh interface ipv4 show subinterfaces
  4. Make note of the name of the listed connection name (it should be the same name as the VPN connection entry you used to connect to the network)
  5. Run “netsh interface ipv4 set subinterface “[CONNECTION NAME]” mtu=1100” Substituting the name of your connection for [CONNECTION NAME], you can try different values for the MTU, in my case, it defaulted to 1200.
  6. Check that the change was made “netsh interface ipv4 show subinterfaces
  7. Restart your computer.
Thanks to travisn000 for the info.

Early CGI Animation by Ed Catmull

A friend posted a link to an early 3D animation by Ed Catmull (co/founder of Pixar), and Fredrick Parke from 1972.  The footage was digitized and posted earlier this year by Robby Ingebretsen, whose father was a grad student at the University of Utah along with Catmull and Parke.  He gives more background on his blog.

I did a little digging to try and find information on the “kit” used to produce this footage. Catmull published “A System for Creating Computer Generated Movies,” in the 1972 Proceedings of the ACM that seems to cover this work. It was surprisingly difficult to find a copy of the paper available without traversing a paywall, but I did find it on dockstock. By the time the paper was written, the idea that a computer was a general purpose computational device seems well enshrined, because there are pretty much no specifics on the hardware.

With a little more work though, I found another paper that describes the facial animation work by Fredrick Parke included in the film. That paper describes the hardware used for producing the animations and capturing it to film as:

This system uses two PDP-10 computers. One of these is a dedicated machine that allows only one user at any given time.

This processor is interfaced to the special equipment needed to produce half-tone pictures. The other PDP-10 is time-shared, and runs under the TENEX operating system . There is a link between the machines that allows data to be transfered between them . This system allows us to take advantage of the TENEX operating system, particularly the file system, on one machine and the special half-tone display equipment on the other machine.

According to the paper, it took about 2.5 minutes to render out an individual B&W frame of the facial animation. That’s on hardware that was probably in the ballpark of $400,000 in 1972 dollars.

I grew up in Salt Lake City in the 70s and 80s and I was crazy about computer graphics. I knew about Evans & Sutherland, a pioneering computer graphics company founded by two faculty members at the University of Utah  (I was in heaven when I got a tour and a demo of their systems in the early 80s), but it wasn’t until I was much older that I realized what an important place the U of U was in the early days of computer graphics. A look through some of the earliest PhD students of their School of Computing casts some light. John Warnock, Ed Catmull, Henri Gourard, Bui Tuong Phong, James Clark…  And then there is the famed Utah Teapot!  Warnock, Catmull and others shared some memories of those days in a 1994 session at the Silicon Valley SIGGRAPH chapter.

Crashplan Install Script for ARM Debian on Pogoplugs and Dockstars

I’ve pulled together information from a few sources on installing Crashplan backup software on a Cloud Engines Pogoplug, or Seagate Dockstar, and turned it into a simple bash script.

The script assumes you’ve already installed and booted Debian on your device using the instructions and scripts provided by Jeff Doozan. Be sure to check his forum for updates.

My main contribution here is in pulling things together into a bash script. I’ve built on the work of others, in particular Crashplan user Torbjörn and Paul Chilton.

Get the script here.

Update:

  • The script now references a local mirror of the jtux source tarball, and the patchfile.
  • Script references an out of date version of Crashplan. You can probably just update the URL, but I haven’t tested it. On the other hand, Crashplan autoupdates for you.
  • More recent versions of Crashplan have a new native MD5 library dependency.  They complain about it in engine_error.log, but automatically fall back to a marginally slower java version of the routine instead.
  • The version of the openjdk6 package in Debian Squeeze has bugs in the JVM JIT. In my experience, this led to the Crashplan service dying occasionally, historically, and often now that I’ve got more files. The alternatives are to edit the java command-line options in /usr/local/crashplan/bin/run.conf to make it run in interpreted mode only (-Xint) or to download a copy of the Oracle Embedded JRE SE (ejre) for ARM v5 headless and update the crashplan scripts to use it.
  • I may update the script to deal with these issues once I have something to test the changes against, but I have too many other, higher priority, projects right now.

Inkling and Connexions

TechCrunch brings news that Inkling, a maker of rich media textbooks for the iPad, has received big investments from textbook publishers McGraw-Hill and Pearson.

I’ve checked out some of Inkling’s demo content, and the presentation is really well done. Personally though, I favor more distributed approaches to producing and distributing educational content, such as Rice University’s Connexions project

Mac App Store Thoughts

I haven’t had a chance to download the OS X update that enables the Mac App Store, but I wanted to jot down some meta-commentary.

The iOS app store has benefitted from low prices. Developers tried pricing early apps close to $10, but average prices quickly fell to a few bucks.

iOS developers gnashed their teeth about the race to the bottom in app pricing, but a few things have helped make up for that. For one thing, low app prices likely encourage disproportionately greater sales. People are more willing to try multiple apps in search of the one that best fills their needs. Also, small purchases slip into personal budgets more easily than larger purchases. Combine this with the fact that Apple has sold in excess of 50 million iOS devices in the past year, and you get a decent opportunity.

I had my doubts that things could play out on the Mac in the same way, but I just learned that my impressions of the relative sizes of the OS X and iOS installed base was way off. There are roughly as many Macs as iOS devices, which suggests to me that the same dynamics could take hold.

I think this is going to be great for Macintosh hardware sales. Particularly since you get the same sort of multi-system licensing that iOS apps have. I’m really curious to see if it will be possible to buy a single license that works across both iOS and MacOS X in the future (and no, I’m not talking about a universal binary).