Mike Schaeffer's Blog

Articles with tag: tech
June 30, 2005

I've been playing around with how to map XML to S-Expressions nFor a while, I had been considering a mapping like the following:

From:<phonebook name="Jenny">867-5309</phonebook>
To:(phone_book ((name . "Jenny")) "867-5309")

In other words, a symbol for the tag name in the car of the list, an association list of attribute values in the cadr, and then the subelements in the cddr. This seems reasonable, aside from the fact that attributes and tag values are still wierdly disjoint.

On the way to lunch today, I came up with another mapping that might be more reasonable:

From:<phonebook name="Jenny">867-5309</phonebook>
To:(phone_book (name "Jenny") :end-of-attribute-marker "867-5309")

This is simpler in that a tag is modeled as a list containing the tag symbol and then all of the sub-items, attributes or not. Data stored as an attribute doesn't get special treatment relative to data stored as a tag value. The symbol :end-of-attribute-marker makes it possible to still distinguish between attributes and tags. If you don't care, a simple call to remove can remove the marker symbol.

It's a subtle design point, but this'll probably end up in vCalc in the XML support... I've had XML for vCalc on the back-burner for a while now, but due to some real work obligations, I might have to make it a higher priority.

June 30, 2005

For a few years, I used this graphic as the front matter for my website:

michael.schaeffer

This, the logo for my website, is basically just antialiased text rendered into a bitmap. At the time, it seemed like a good idea to render the text as a bitmap because I didn't trust the browser to render it for me. Bad idea.

As it turns out, Internet Explorer rescales bitmaps on high resolution displays. This is a somewhat misguided attempt to make keep bitmap sizing consistent. Bitmaps aren't rendered at 1/1 zoom, they are rendered at screen_dpi/96dpi. On non-96dpi screens, that results in ugly scaling. While scaling can be disabled, that's not the ideal solution. The ideal solution is to do as much of the rendering as possible in the browser: which should know more about the client's display than the server. Therefore, my logo is now CSS formatted plain text. That means it looks the right size on more screens, anti-aliases appropriately, uses ClearType if it's available. The next step is going to be to switch from pixel sizes to 'real' sizes.

June 30, 2005

I ran across this quote the other day from I, cringely:

The market has stupidly decided that Intel microprocessors are better than Apple's preferred PowerPCs, so Apple will be at a disadvantage trying to sell PowerPC machines into the Intel market. This is what's right now killing Silicon Graphics, which is finding rough going pitting its MIPS processors against Intel. ... Yes, Apple will build computers with Intel processors. Their aim, as in all of these products, is for the high end. Based on Intel's new Merced chip, the new Apple machine will have PCI slots, Universal Serial Bus, Fast Ethernet, IEEE 1394 FireWire, IRDA, DIMM sockets, but no ISA slots and no backwards compatibility to DOS. So this is NOT a PC in the strictest sense, since it will only run Rhapsody, but not System 8 or Windows NT. It will run Mac applications inside Rhapsody. And because Apple is both the author of Rhapsody and the designer of this machine, Jobs believes that more customers will want to buy their Rhapsody wrapped in Apple hardware than not.

Funny thing is... that quote is from October of 1997. A lot has changed since then, but since the core reasoning was sound it probably shouldn't be too much of a suprise that he was ultimately right.

The other interesting bit was that Cringely wrote that piece around 1997, which is when the NDA for 'Project Star Trek' expired. Star Trek was a project in which a few Apple, Novell, and Intel software engineers got MacOS 7 running on PC hardware. I'm not sure what the business story would've been, but it was a nice technical accomplishment nonetheless.

June 28, 2005

I haven't had as much time to play with it as I'd like, but the laptop arrived today. In the hour I've had it running, so far I'm quite impressed. A couple quick thoughts:

  • I like the keyboard: nice and solid. Since the layout is more like a Dell D600 than a D400 (what I have from work), there'll be a little getting used to it. The D400 layout puts page up and page down near the arrow keys, which I've gotten used to for reading documents. The I6000 (and D600/D800) puts page up and page down up near the display. If that gets too obnoxious, I might have to investigate remapping some of the media keys on the front of the machine to more useful keys.
  • I love the WUXGA (1900x1200, approx.) display. The machine came from the factory with large icons enabled and set to 120dpi. Set up that way, it seems readable enough to me, but my vision is so far correctable to 20/20. If smaller text adds to fatigue or is harder to read on a bouncy train, it'll be possible to enlarge text through preferences, so I'm not worried about it at all. At this point, the 1024x768 D400 is going to feel very cramped.
  • Dell still dumps its machines full of software. This machine came with several broadband offers, four media players, and a bunch of modem stuff. Most of that's getting uninstalled in the name of system stability. I already have broadband, I don't use streaming media that much, and I haven't used a modem in years.
  • XP Media edition looks the same as XP Pro, so far.

Older Articles...