Shiny Pretty

So my new shiny pretty is a 19-inch…monitor. LCD monitor. Specifically, a Samsung Syncmaster 193P.

Quick take:

I have it hooked up via DVI and at native resolution (on Macs, you can specify other resolutions even with the DVI interface). I was able to play Unreal Tournament 2004 at full resolution and didn’t notice any issues beyond the detail and immersiveness of this screen–I think I actually get more area than the Dull CRT it replaces.

The default calibration on the Mac is pretty much dead on–nice and bright and with great contrast. Color gradients look better than any other LCD I’ve seen. I can, as usual, see JPEG artifacts more easily. Text is not as pretty as on a CRT at certain font sizes, but it is much more readable. (I just checked, and sure enough, Mac OS X had already switched to an LCD-optimized antialiasing setting. I also enjoyed reading about the driver installation and setup instructions for various flavors of Windows and Linux but not Mac OS X–It. Just. Worked.) Since the monitor size is fairly large compared to the resolution, I can see a little teeny bit of the mesh pattern of pixels and a hint of moir� in some flat color areas. Blacks are the blackest I’ve seen on an LCD. No dead or stuck pixels that I’ve yet detected.

Ergonomically, the monitor is very adjustable unless, as I do, you like it to sit a bit high. However, I was using a stand on every CRT I’ve ever used. I now have room to push the monitor back where I like it and stretch my arms out to the keyboard where they belong. However, the monitor adjusts along the z-axis as well (twisting the display to 90°). This is nearly useless for me as they don’t provide this software for the Mac (hello, one of your more loyal customer bases, Samsung). So it means that I’ve been twisting it a half a degree in each direction trying to find completely level.

Aesthetically it’s wonderful. A nice tannish silver which not coincidentally complements the color of both Mac laptops and G4 and G5 desktops. It works well with my charcoal electrostatic Monsoon speakers (the flat panels of the speaker world, and, by the way, well worth it–unbelievable the depth, richness, and lushness these electrostatics produce. I’d always thought electrostatics were dry and overly precise). It has a thin bezel, and the panel attaches to folding arm that rises from a round base. In the back of the base, under a lip, are three connectors: power, DVI, and analog. There is one button and a blue power light on the front. That’s it. All adjustments are made via the software.

The only place I’ve seen the dreaded ghosting is when switching between two Web pages with black backgrounds. I never saw this during the game I played. I’m prepared to live with it for the extra real estate.

It’s a little pricey but I’m satisfied I got what I paid for, and then some.

I Want to Say ‘He’ Looks Like You

…is the quote heard upon viewing my one musical TV appearance. ‘He’ of course, being me, but about 15 years previous or so. I was blathering about a completely different set of geeky things, wearing completely different clothes, and I am immune to hockey hair because I already had it–from 1987 to 1992. Sheesh, I didn’t even wear glasses then.

Just goes to show that if you miss one of my parties, you really miss out.

Uncompress DiskDoubler Files on OS X

If you are an old Mac hand, as, young and vital as I am, I seem to be, you may have odd old files lying around, possibly on floppies.

Assuming you can get them onto your Mac OS X system (floppies? How…1984), you may find they are unreadable. You might even find they are labeled “DD”. Stuffit Expander doesn’t know how to deal with them. However, it turns out you can trust that backwards compatibility on a Mac will actually rival Windows.

Go to ye olde HyperArchive, a site you may dimly recall from the mists of time. Find the line that says:

Abstract of dd-expand-40.sea.hqx 181K (12/20/1993) Download

And click the “Download” link. Yes, the file date is 1993, and yes, that’s a 181K file. That app will browse your filesystem to this day and expand any DiskDoubler archive. This is what we used before hard drives were cheap. It used the LZW compression algorithm, apparently, which is why open source tools don’t decode it. It is now basically abandonware by Symantec. Thanks, Symantec.

But anyway, this file from 12 years ago opens and runs just fine in emulation, and it managed to get a bunch of my old files recovered.

Woot.

Simplication in Action

Simplicate (SIM-pli-kat), v.
To make more complex by attempting to simplify.

So can you read this mess?

||{B,t,w=4,s=padding:10px} !SyntaxCMS Engineering ||{B,t,w=4,s=padding:10px}Sandy Smith||{s=padding:10px}Establish SyntaxCMS RoadMap||{c,s=padding:10px}W,C||{c,s=padding:10px}O||{c,s=padding:10px}O||{c,s=padding:10px}O||
||{s=padding:10px}Aggregate and centralize features wish list, and procedures for all staff to contribute||{c,s=padding:10px}W,C||{c,s=padding:10px}O||{c,s=padding:10px}O||{c,s=padding:10px}O||
||{s=padding:10px}User Documentation||{c,s=padding:10px}B||{c,s=padding:10px}C v1||{c,s=padding:10px}C v2||{c,s=padding:10px}C v3||
||{Rs=border-bottom:1px solid #000,s=padding:10px} Re-usable templates, Administrative ability to select template to use for a specific section ||{c}C||||||||

Neither can I. Supposedly that’s table code, but it’s in Wiki-language. Now, it’s funny, because it implements things that are already in HTML, but because the Wiki-authors were too scared to try to filter out cross-site-scripting attacks, they came up with this simplified markup language. However, their users wanted to do everything you can with HTML. So what do we get? This horrible, unreadable piece of crap that is far worse for the user than just using a frickin’ table like I intended.

Mind you, I have years of experience, but it took quite a bit of hunting to figure out why adding a row didn’t work correctly–an hour, in fact. Maybe I was having a blond moment, but there are real, live idiots who run Internet Explorer with no virus protection and have their geek friends come over to install Office who will be using this application. So in an effort to simplify things, the Wiki-authors made it more complex.

And, of course, they made it so any creep who wants can come along and automatically replace the content with German porn.

So basically, Wikis are only useful in intranets anyway (which eliminates the worry about cross-site scripting attacks, unless you have hired a bunch of porn spammers, in which case, you should be fired), and only then if you use the absolute, most basic features, or find one that allows HTML.

For jebus’s sake, don’t try to mix the two.

Good News: Royal Mail Edition

Looks like almost two centuries after the US government muscled out private competition in letter carrier services, such as Lysander Spooner’s American Letter Mail Company, the UK may offer up competition to Royal Mail a full year earlier than previously planned.

In fact, this is part of a larger European Union policy of opening up competition to national mail services. It at first seems strange that the EU should be fostering competition, as they are known for overweening bureaucracy and propping up France’s agriculture and aerospace markets with anticompetitive measures, but in the larger, original mission of the EU, it makes sense. Having letter mail still being handed off from government monopoly to government monopoly is an atavism in the age of greater political and economic integration.

A cynical part of me (OK, so pretty much most of me) thinks that this is an easy end-run around the problem of a declining need for non-parcel post. With DHL and FedEx delivering everything from furniture down to legal documents and e-mail making the personal letter an anachronism, there is not going to be enough work for the postal infrastructures devised in the 19th century. So rather than take the political heat for directly cutting those services and turning out legions of postal employees, the EU is providing a fig leaf of competition so governments can point to the big, bad market as the reason they’re having to sack Kevin Costner. (Side note: I searched for a better-known example of a postal employee and thought I’d use Mr. McFeely (“Speedy Delivery!”) from Mr. Roger’s Neighborhood, but it turns out the most popular postal character for children in America is in fact an employee of a private package delivery service.)

Either way, this should improve and reduce the cost of postage in Britain, unless the EU and/or Labour come up with onerous new regulations to make things less efficient than they were. But one can hope, and that’s more than we have with the alleged free-marketers in place in the US.

The Pain of Types in PHP

The only way to check an uncast scalar variable in PHP for being truly non-empty (i.e., not being null or an empty string (''), but allowing any valid boolean, integer, float, string, or decimal, is:

'' !== $x && null !== $x

A caveat to this is you’ll have to detect arrays separately, because a garbage array could be array(), array(''), array(null), or even array('', ''). At some level you just have to accept that as long as you document what a method or function expects, whoever uses it will have to check that stuff themselves or expect garbage results.

In a strongly typed language, all this would be detected at compile time, but then again your development time would be longer and you couldn’t grab just any newbie off the street and throw them at it.

Unfortunately, newbies off the street generate garbage, so I end up either wanting an expensive (in terms of processing time) function that checks if anything I get is either a non-empty scalar or a non empty array of non-empty scalars (or arrays that meet the same criteria). Simpler just to have strong types that will produce a nice, ugly error if your function expects an integer and you pass it a string.

Happy Birthday, Bird

And in that conversation with the aforementioned Buffi, I realized that today is my cockatiel Squeak’s arbitrarily-decided birthday. I actually got him some time in April, but it had been between 11 and 13 weeks since hatching, so I picked February 15 as a likely hatch-date.

So, rock on you pro-tech, anti-pen-and-paper anarchist, noisy, cute birdie:

No, it's German: 'The Pen, the!