Zion & Desktop Matters

March 18th, 2007

I’m finally caught up on sleep from the Desktop Matters conference and subsequent hiking trip to Zion last weekend. Both were great!

Some thoughts:

  • With the new Apps Framework, progress on the Binding JSR, and some great RAD tools, desktop Java has become a serious contender. If they can nail the deployment problem, look out!
  • The real night sky makes the city sky seem like one viewed from some other planet.
  • When clinging for dear life to a chain along a steep, narrow ridge, gloves are helpful.

Festivus Pole Ornaments Rig

December 6th, 2006

This year, I outfitted my Festivus Pole with an ornaments rig.

If you didn’t watch TV in the Nineties and don’t read the Style Section, Festivus was created by American Philanthropist and Inventor, Frank Costanza, as a less commercialized alternative to more familiar and incompletely-secularized winter holidays.

As a convert from one of those holidays, I had a lot of cool ornaments lying around, but no tree to put them on. Would it be against the rules to put them on the Festivus Pole? According to Costanza:

instead, there’s a pole. It requires no decoration. I find tinsel distracting. [emphasis mine]

So decoration wasn’t required, but it wasn’t forbidden, either - as long as I avoided the “distraction” of tinsel.

The next problem was how to hang ornament hooks on a thin, Aluminum cylinder.

Many Festivus observers favor heavy, solid poles. My own is a light, segmented, telescopic pole from Home Depot. These are typically attached to specially-made clippers, cybernetic claws, etc. Because the top segment collapses into the bottom one, my pole is not uniformly cylindrical, which enabled me to suspend a chicken wire sinusoid from the joint.

This design, inspired by the work of George Hakkio, has three attractive features:

  1. the appropriately inexpensive, even shabby aspect of the chicken wire
  2. gobs of usable surface area
  3. the entire rig can pivot to be viewed at any angle

Here are the results.

Note my great-grandmother Mary Kathryn Moir’s hand-made angels, kitten, sled, boots, clowns and elephant, as well as the traditional California Sea Otter (from Shani’s trip to Sea Otter Shirts in Monterey) at the rig zenith.

The base is a display box the folks at Home Depot let me have. The pole’s bottom fits snuggly into a (hidden) slot.

After covering the top with a sock to protect my ceiling, I extended the pole out and locked it at a length ever so slightly higher than my living room. Then, I wedged it in vertically.

Happy Festivus, everyone!


The March of Progress

November 12th, 2006

By now you’ve probably noticed the notorious soothing gradient title block that indicates this blog has defected to WordPress.

When I started up the blog, I wrote a short program (actually an extensible stylesheet) to manage it. I wanted something that was simpler to maintain than the other blog software I’d encountered. I didn’t want to have to bother with anything beyond a webserver and a filestore. Other blog management systems required a relational database and some kind of common gateway interface or application server.

I also wanted to host my blog from my own account.

My custom software didn’t handle user comments. Comment spam was becoming a serious problem at the time and there was a school of thought that soon, everyone would have a blog and therefore user comments would become unnecessary.

In retrospect, that was naive. Comments are a big part of what makes blogs fun. I made an attempt to retrofit a comment facillity onto my software in a manner that I hoped would preserve its minimalist design. Although a special add-on was needed to harvest the comments, they were directed into ordinary files and served up through unobtrusive client-side scripting. It probably needed a good week of additional work before it was ready for the sunshine.

But there had been two developments in the meantime.

One, the migration paths between standard blog management offerings got better. WordPress in particular gained a very serviceable feed import facillity. The existence of good migration paths diminished the chance that I would get stuck on some system that ultimately proved to be a dud.

Two, I came into contact with some excellent software that muted the pain I had traditionally associated with web application deployment. Fantastico, cPanel and Ensim made MySQL database installation easier. I was also impressed by how easily I had been able to roll out the Simple Machines Forum software, which like WordPress is implemented using highly-portable server-side scripting.

The Plunge

With a little help from Max at my hosting facillity, everything is now ported over. And although it wasn’t Macintosh-easy, I am nevertheless pleased with the results. I did need to play around with line breaks, but I don’t fault WordPress for that since a variety of odd practices have sprung up for grafting styled content into RSS feeds that were never formally part of the spec.

So what about my custom blogging software? I’m still using it extensively to power my webcomic, where I’ve coupled it with ComicsML to acheive some interesting layout and accessibility features. More on this, later.


Here & Now

September 25th, 2006

After two games of the new, Here & Now Edition of MONOPOLY, I figured it was my patriotic duty to write up some of my impressions.

Tokens

Much of the media attention has focused on the new playing pieces. These are:

  • Laptop Computer
  • McDonald’s French Fries
  • Labradoodle
  • A Cup of Starbucks Coffee
  • Mobile Phone
  • Jet Plane
  • Toyota Prius

Some have suggested that the use of recognizable brands here constitutes “selling out”. This strikes me as a strange charge for a game that is a celebration of pure capitalism. The tokens are reasonably emblematic and Hasbro reportedly hasn’t received any payment from the brand holders (although their relationship with the McDonald’s people was already pretty cozy.)

The mobile phone looks an awful lot like the laptop. Surely an iPod would have been a better choice.

Another thing — since when does Starbucks coffee come in a nice ceramic cup? Although I prefer Dunkin, I visit Starbucks occasionally and can’t remember ever being offered one.

Final word on the new tokens: nice, but I still prefer the classic MONOPOLY Scottish Terrier and Kodos from Simpsons MONOPOLY.

Properties

The classic Atlantic City spaces are charming, but also obscure. Here & Now Edition features properties from all over the United States.

I like seeing public places like Times Square and the Golden Gate Bridge on the board. But it feels a little uncomfortable to “buy” them, particularly given recent inroads by Libertarians to privatize American schools. I do appreciate the irony that the White House is for sale.

(In this same vein, the National Parks edition of MONOPOLY is now more depressing than ever in light of National Geographic’s recent articles discussing attempts to sell off or diminish our national parks.)

Board

The three-dimensional Rich Uncle Pennybanks / Mr. MONOPOLY and “America” back drop in the center of the board look okay, but was it really necessary to crowd them out with the enromous MONOPOLY logo, which contains another Rich Uncle Pennybanks / Mr. MONOPOLY? Take it easy on the branding, Hasbro; we know what the danged game is called. This may make sense for Star Wars MONOPOLY, but it is totally unnecessary here.

Money

To better represent today’s market, prices have been multiplied 1000 times over their classic values. Now, you get $2,000,000 for passing Go rather than $200. This seems like it would be a small matter, but significantly effects game play.

These prices seem more natural, and the resulting fortunes are more satisfying.

I found that it was surprisingly trickier to do math in my head with all those extra zeros. Unmortgaging was difficult, and we found we were having to break up transactions into more steps than usual. In some cases, dividing everything by 1000 to recall the classic prices helped.

One disappointment was Hasbro’s failure to find more distinct colors for the $100,000 and $1,000,000 bills. They’re yellow and very yellow, and easier to confuse than ever. If you’re out there listening, Hasbro, please consider changing $10,000 to brown or purple.


Symmetry

August 11th, 2006

I’ve been sitting on this one for a while. It’s topical. It’s relevant… it’s time.

Here goes: the best idea I have ever had, or am likely ever to have. My solution to the airport carry-on luggage crisis. I think you will agree it leverages America’s strength in information technology in an exciting and entirely novel way.

  1. When you get to the airport, an attendant helps you take inventory of every item you have with you.
  2. This inventory is entered into a database.
  3. You are matched up - in real time - with another person at your destination who has approximately the same stuff.
  4. When you reach your destination, you take that person’s stuff. They in turn will take yours, which you have thoughtfully left behind for them.

This plan would entail a number of additional benefits:

  • Lower air fares and lessened climate change from diminished fuel use.
  • No point in asking whether you have had your things with you at all times: nobody will have.

Comic-Con Photos

August 11th, 2006

Photos from San Diego Comic-Con last month.


Goodbye, Dynamic DNS

July 11th, 2006

IP addresses are a lot like telephone numbers for computers. You need one to interact with the Internet. Unfortunately, there aren’t enough IP addresses to go around. I don’t understand the motivations of the Internet’s Founding Parents well enough to say whether this resulted from a desire for economy or merely a failure to anticipate the eventual hugeness of our interconnecting network of networks. But it has unquestionably resulted in some expensive and confusing compromises.

The most common of these compromises has been something called Dynamic Host Configuration Protocol (DHCP). When you deposit a dollar into a bank account, the bank turns around a lends out a portion of that dollar. They can do that because they only need to keep enough cash on hand to cover the worst case withdrawl scenario.

DHCP is essentially the same thing, but with IP addresses instead of dollars. Your Internet service provider buys enough IP addresses to cover what they anticipate to be the worst case Internet usage scenario, and deals out an IP address to you as needed.

They will take this back if you stop using the Internet for a while and give your IP Address to someone else. Sometimes they will even do this while you are still using the IP Address. I have wondered whether they might not do this to incent you to buy more expensive service packages, but let’s be charitable and assume that there’s some legitimate technical reason for doing so, like the need to reboot their server or something.

The upshot is that DHCP works fine for Internet consumption, but terrible for Internet publishing. Imagine your telephone number changed at sporadic and unpredictable intervals. It would still be relatively easy to make outgoing calls. But it’d be very hard to receive calls. No one would ever know your number!

This left those interested in Internet publishing scrambling for other alternatives. There’s another scheme called Virtual Hosts in which several web site domain names share a single, fixed IP address. But somebody still needs to buy that IP address. And like any scarce resource, the marketplace charges a premium for them. Plus most of those somebodies charge extra to let you run exactly the kinds of software you want (not unreasonable, since it takes work to administer all that software safely.)

So many gave up and published their content on other people’s web sites. That’s why most blogs are associated with a collective, often owned by a big company. But it wasn’t supposed to be this way! Those Founding Parents of the Internet never intended having a read/publish chasm. Even something as basic as pushing updates to visitors on a newspaper website is fabulously more complicated than it ever needed to be.

A few years ago I learned about a hack called Dynamic Domain Name System (Dynamic DNS). Basically, it employs a highly-responsive central registry to keep track of those etherial IP Address dealt out by DHCP. Whenever DHCP changes your IP, a program running on your computer notifies the registry. Everytime someone requests a resource from your web site, the Dynamic DNS registry nameserver resolves to your current IP address. Allowing you to publish a web site on your own computer without paying for a static IP address. In theory.

My brother and I both wanted to put up web sites on the cheap, so I set up a Dynamic DNS solution (hence bros.dyndns.org.) It worked okay. I’m not a network person, and getting Apache web server to do what we needed proved to be a little bit of a chore. But I learned a lot.

The biggest catch (and I don’t really understand why) was that I could never resolve my dynamic domain names from my own local network. I had to cheat by setting up entries in a special hosts file. This had the effect that certain DNS problems could be completely invisible to me, and I could never be sure our sites were ever really “up” without going out thru some kind of jurry-rigged HTTP mirror.

The other problem was my router. My router presents a bunch of disparate, fake IP addresses to the world a single, real (and DHCP-provided) IP Address. This enables me to use the Internet from more than one device on my local network over a single Internet account. Perhaps I didn’t really need a local network, but it made me feel more secure not to have our web sites served on the same computer I did my work on. And I didn’t need to worry about taking the sites down whenever I needed to reboot my desktop computer.

The combination of Dynamic DNS with a local router proved to be pretty much a disaster. Those fake IP Addresses were dealt out by the router, in much the same way that the DHCP server dealt out real IP addresses. The router was then configured (manually) to forward web requests to the appropriate fake IP Address. If the power went out and the computers rebooted, there was no guarantee they would get the same fake IP address! The practical effect of all this was that our web sites would often go down without my realizing it.

I probably could have set up a scheme in which all the machines on my local network, including visiting laptops, were permanently rooted to assigned, particular fake IP addresses. When the laptops left, they would have to have been de-configured back to potluck mode before they could be used on another local network.

At some point, you have to ask whether the configuration is serving your needs or you’re serving its. In fact, just seeing this all written out here in the blog entry makes me appreciate how unreasonable it was to go to all the trouble.

What ultimately pushed me over the edge was energy conservation. I have been looking closely at how many amps I draw lately, and could no longer justify having an entire computer on 24/7 just to serve a few dozen files. What if Al Gore found out, after all!

So this weekend, I took the plunge, purchased a remote Virtual Host account, and moved everything over. The new arrangement will cost a little more, but there should be a significant improvement in uptime. Thanks to Max over at webwizarddesign for all his help! I’m looking forward to not having to care about all this stuff anymore.


XSLT Book Round-up

June 17th, 2006

Extensible Stylesheets Language (XSL) is just about my favorite these days. Although Michael Kay’s book is pretty good, Jeni Tennison’s Beginning XSLT 2.0, From Novice to Professional is indispensable.

XSLT uses a lot of very specific terms, and using the back-of-the-book index can be a little tricky if you don’t know exactly what you’re looking for. So, for the benefit of you the Internet blog reader, I have compiled together my index margin notes.

Clip ‘n Save! Beginning XSLT 2.0 index add-on


entry page / reference
[] see predicates
data-type conversion 161
less-than see
lengths (of strings) see string-length
lengths (of sequences) see count()
messages see xsl:message
output methods 761
paths see also predicates
sequences, converting 236
stripping space see normalize-space()
today see current-date()
totals see sum
trim see normalize-space()
URL see Uniform Resource Locator

I also have read and liked O’Reilly’s older XSLT offerings, XSLT and XSLT Cookbook. I might be fonder of O’Reilly’s XSLT if I hadn’t spilled radiator fluid all over it, and subsequently worried that I was going to poison myself whenever I consulted it.


Sandals

March 25th, 2006

I’ve started a new science webcomic called Sandals. I will try to post new installments 4 to 5 times a month.


Adobe-Sun Conspiracy?

March 22nd, 2006

Adobe Reader & NetBeans icons, side-by-side

I just happened to have the application icons for Adobe Reader and Sun’s NetBeans side-by-side on my Dock. It occurred to me that they appear to fit together.

Coincidence?