Mike Schaeffer's Blog

June 1, 2005

I've been shopping for a laptop recently. My target specs are these:

  • Any modern laptop processor is probably adequate.
  • 1GB RAM.
  • 30-60GB Disk.
  • A DVD writer would be nice, but not necessary.
  • 14-15 inch display, the highest dot pitch I can find.
  • Reasonable 2D graphics performance, 3D is not that important to me.
  • Touchpad pointing device.
  • 3 year warranty, accident insurance is a nice plus
  • Long battery life, >3 hours.
  • Reasonable expectation of 2-3 years of reliable life.
  • Can run a couple small Windows applications I need to do my job.
  • Can run MS Office.

That's a long list, but nothing on it is very demanding. Let's see how close a couple vendors get:

Dell D610Thinkpad T4xApple 15" PowerBookApple 14" iBook
CPUPentium M, 1.6Pentium M, 1.8G4, 1.564, 1.33
Ram1GB, 2 DIMMS1GB, 1 DIMM1GB, 2 DIMMS768MB, 2 DIMMS
Hard Disk60GB60GB80GB60GB
Optical DiskDVD+/-RWDVD+/-RWDVD+/-RWDVD+/-RW
Screen14.1", 1.5MP14.1", 1.5MP15", 1MP14", 0.75MP
Warranty3 year3 year3 year3 year
Insurance3 yearnonenonenone
Price$1,893$2,306$2,648$1,948

So, as ever, Apple is the most expensive choice, even when compared to nicer PC's like the ThinkPad.

Maybe the thing that suprises me the most about this is that Apple isn't even close to the bleeding edge of display technology. Given the energy they've put into OS X's desktop rendering pipeline, I'd expect them to have displays that could compete with Sony's XBrite or maybe the 2MP 15" widescreen that Dell makes available on the D810. OS X could drive those displays better than pre-Avalon Windows. Maybe this is a artifact of the suppliers Apple is using?

May 27, 2005

This is cool... I knew IBM (er, Lenovo) did this, but Dell does it too. They have an online site with all of the service manuals and documentation for every machine they've ever sold. This includes detailed instructions on disassembling and rebuilding laptops.

Even more cool is that the archive goes back to the beginning, back when Dell was called PC's Limited.

Note: The IBM link above is actually still on the IBM site... I expect the link to break whenever Lenovo takes the contents.

May 27, 2005

I just found about it, but I already think it might end up in vCalc. Anti Grain Geometry is a open source 2D rendering library with a very liberal license. The feature set looks pretty comprehesive: it supports anti-aliasing, affine transforms, sub-pixel resolution, and alpha blending. Even better, it's designed as a lightweight set of C++ classes, so it shouldn't bloat or slow down vCalc too much. About the only hole is that it doesn't have any kind of built in text rendering; However, even there there are are detailed instructions for using the Windows True Type renderer to generate glpyhs.

All I need now is time...

May 17, 2005

This is well documented on MSDN, but it's still pretty cool.

I've never been happy with the text quality of the vCalc display: it's jagged and at a font size that doesn't rasterize well on the displays I have access to. Well, as it turns out, this is relatively easy to fix. The LOGFONT structure that GDI uses to select fonts has a field, lfQuality, that is used to select the quality of the text rendering. Back in olden days, this field was used to do things like disallow scaling of bitmap fonts (if you don't know what that is, be thankful: it was awful). These days, it's used to turn on Antialiasing and Cleartype (on winXP). Thus, this one line of code:...

lf.lfQuality = CLEARTYPE_QUALITY;

...transformed this...

...into this.

There's also a setting for anti-aliasing:

lf.lfQuality = ANTIALIAS_QUALITY;

Anti-aliasing (in Windows) dates back to the Windows 95 Plus pack, so this setting should be much more widely supported. However, it's also much less powerful: it doesn't do any of the sub-pixel stuff and it is enabled far less often. In my experimentation, non-bold fonts had to be pretty big before anti-aliasing was used at all.

The other caveat is that this doesn't automatically buy you decent formatting of the text you display. That is, if you're still computing text positioning on per-pixel increments, you'll still get mediocre layout. vCalc does this, but it also has very minimal text layout requirements for now.

Older Articles...