Jeff Duntemann's Contrapositive Diary Rotating Header Image

software

Odd Lots

  • Carol and I just finished the bulk of our Christmas cards. The cards we bought this year had little sparkles glued (badly) to them, and as we processed the 70-odd cards going out, the cards began shedding, and sparkles are now showing up…everywhere. I’m looking down at my shirt cuffs right now, and they’re blazing like a disco ball. Next year: No sparkles!
  • Illinois’ illustrious governor will soon (we hope) be matriculating to the Governors’ Wing at the Joliet Correctional Center, and I am displeased to announce that he went to my high school. In fact, he was a freshman when I was a senior, and his sneaky little face is in the Lane Tech 1970 yearbook. Pete Albrecht was also a freshman that year, and narrowly missed out on the cooties inherent in having a future felon governor in your homeroom. Pete tells the story at greater length (with scans from the yearbook) over at InfoBunker. (Scroll down to the December 9, 2008 entry.)
  • David Beers passed along a link to what might be the absolute worst idea of 2008: Google Code’s research project aimed at allowing x86 native code to run in a browser. Hoo-boy. My question: If the Cloud is so great, why risk being pwned at native-code speeds? (And isn’t this what Java is for?)
  • Google Books has very recently posted back issues for a number of venerable magazines, including Popular Mechanics, Popular Science, CIO, Ebony, Jet, New York, Vegetarian Times, American Cowboy, and who knows what else. (I don’t see a master list of magazines.) The PM collection runs from 1905 to 2000, and isn’t just a scattering of issues, but damned near all of them. So what was PM’s cover story the month you were born? (Mine? “Mermaid Theater.” Wow.)
  • Alas, you can look at the Google Books magazine back issues, but you can’t save them to disk or print them out. Or can you? (I haven’t tried this yet.)
  • The wonderfully named Nevada Lightning Laboratory has managed to transmit 800 watts of power across five meters’ distance, besting the previous record of 60 watts across two meters, set by MIT. The technique is not new, and was patented by our boy Nikola Tesla 100 years ago. Very cool, but are my wire-frame glasses going to melt when I step into the field with my Tesla-powered laptop?
  • This Friday’s full Moon happens only four hours from Lunar perigee, and is the biggest of the year, 14% greater in angular diameter (not especially noticeable) and 30% brighter (way noticeable!) than the apogee Moon we saw earlier this year. That’s bright, it’s high, and if you’ve got snow all over the place, midnight will be knee-deep in moonshine. (Not that kind.)
  • 200,000 inflatable breasts got lost on their way from China (where there is evidently an inflatable breast factory) to Australia (where they were to be polybagged with a men’s magazine) and have only recently been found in Melbourne. Just thought you’d like to know.

Coming -Clean About Eclipse

I got the NASM plug-in installed into Eclipse yesterday, after a tip from Bishop Sam'l Bassett of the Old Catholic Church, who had spotted a forum comment that I hadn't. (The real skill in using the Internet is crafting your search terms.) Eclipse has a plug-in cache, and sometimes you have to empty the cache to get it to refresh its list of plug-ins. I intuit that this function is usually served by exiting and restarting Eclipse, but in my case that wasn't enough.

I got the cache cleared by rebooting the system, and suddenly, there was the plug-in. The forum comment in question also mentioned that you can start Eclipse with the -clean command-line parameter, and Eclipse will start “clean” with an empty plug-in cache. I didn't have to do this, but it's worth knowing.

Otherwise, I had done all the right things. Eclipse doesn't really “install” plug-ins in the sense that we install things in Windows. Unzipping a plug-in archive under the Eclipse plugins directory is all that installation requires, assuming that the archive contains all of a plug-in's necessary elements.

There's still work to be done in configuring Eclipse to develop with NASM (setting paths for the assembler and gcc, and a bunch of other things) but that's straightforward and should be done long since by tonight. I'm going up to SoftPro Books in Denver tomorrow with Jim Strickland, and we'll see what they might have that could be useful getting up to speed with Eclipse. A quick scan of pertinent titles on Amazon indicates that most books are about developing Java apps with Eclipse, but some discussion of the IDE in general terms would be very useful about now.

I have a gripe about Ubuntu that I might as well air at this point. The folders in which you unpack Eclipse plug-ins are owned by root, and unless you're running as root you can't unpack files into those folders. Fair enough. I had hoped that Ubuntu and Gnome would have evolved sufficiently since I last did this sort of thing to just pop up a sudo dialog when the user (and we're all users on this bus; Ubuntu does not really have a root account in the strict sense of the word) attempts to do something that violates permissions. But no; it throws up a fairly useless message and glares at you. To get the job done you have to bring up a terminal or the graphical command line dialog and run “gksudo nautilus” to run Nautilus as root. Installer systems like apt-get don't throw tantrums like that on you; when they need permission to install files in folders owned by root they just ask for your password. Nautilus needs to do that.

After all, I'm the Visual Developer Magazine guy, and I have a fetish: Command lines should never be compulsory. Never. It's 2008. We're supposedly all OS grown-ups now. Fundamental things like file management should be 100% point-and-click.

Crossover Linux

Crossover Linux has been on my list for a long time, and I might not yet have bought it except for a peculiarly ascerbic but brilliant promotion that the notoriously eccentric company did prior to the recent election. I downloaded the 25 MB shell script installer, got the serial number by registering at their site, and finally last night I brought up Intrepid Ibex and and gave it a shot.

I boggle. This is Unix? No, this is not Unix, and it's not Kansas either. I had the shell script on a thumb drive. I inserted the thumb drive, waited for Ubuntu to toss up a window with the script file visible, then right-clicked on the script and selected “Run in Terminal.” It ran. It unpacked itself, installed, integrated itself with the menus, and then brought up the installation wizard to install Windows apps. That's when the real amazement began.

Crossover Linux is a commercial implemention of WINE, and both Crossover and WINE are Windows API emulation wrappers within which software written specifically for Windows will run unaltered as though it were native. It sounds like a virtual machine mechanism but it's not. It's a clean-room implementation of the Win32 API set as defined in ECMA-234, plus other odds and ends that Windows apps need to run. Codeweavers has written a lot of the emulation code itself, and it sells the package (for $40—hardly a fortune) but it also contributes heavily to the free WINE project, and the consensus among everybody but a few grouches is that we all win.

What Codeweavers does is important: They single out a selection of the most-wanted Windows apps, and they work specifically on their implementation to fully support those apps. They offer tech support to registered customers for those apps they list as “supported.” (These include Microsoft Office and numerous other Microsoft apps, Adobe Photoshop, Acrobat 5, Indesign CS2, Lotus Notes, Quicken, Framemaker, and some odds and ends that I'm not familiar with.) Other Windows apps may be installed under Crossover (and WINE) but they are not guaranteed to work.

I didn't have a lot of time last night to spend on it, but I'll summarize what I did. I first wanted to see what Crossover could do at its best. So I began by installing Microsoft Office 2000, figuring that that was probably the most-requested and intensely debugged of all the supported Crossover apps. And it was a boggler: The installation Wizard spun the Office CD, then lurked in the background while the MS installer did its thing, popping up only occasionally to ask me for guidance, such as what bottle the software should go in. (More on that shortly.) Eventually it sticks an icon on the desktop and calls the job done.

It was uncanny. Office works perfectly under Crossover, and I spent half an hour loading various documents and trying various things, with nary a glitch or a hesitation. Wow. Just wow. I then went for a tougher supported install: Visio 2000. Visio does all kinds of weird stuff and reboots Windows twice during the install, but zoom! It cooked along, and twice I noticed a small Crossover window in the corner of the screen informing me that it was emulating a Windows reboot. Heh. But once all the kafeuthering was over, Visio had an icon on the Ubuntu desktop, and I was drawing a regenerative receiver with my jaw hanging open. Double wow.

Office and Visio going in without a glitch made a believer out of me. So I then went for the wild side, and selected an unsupported app: The SureThing CD Labeler 4 , which is a fine and venerable utility that I've been using under Windows for seven or eight years now. The app is listed as “untested” in the Codeweavers database, so it was the perfect choice. And it went it just fine, though I put it in its own bottle, as Crossover recommends. Alas, although it runs, when you create a new label file and click the Finish button in the create wizard, the entire app just goes poof and vanishes. So not everything works, even relatively simple apps that have been around for awhile. Emulating the Windows morass is not a simple nor easy thing to do.

Now, bottles. A “bottle” in WINE/Crossover talk is an independent set of configurable Windows parameters upon which one or more Windows apps draw when installed under Crossover. It allows an unruly app to have carnal knowledge of Windows internals without messing up other installed apps. You can install multiple apps in the same bottle, but when you install an unsupported and untested app, it's best to give it its own playground and put a high fence around it.

I'n not done testing Crossover by any means. Next up is Indesign 2, which is not a supported app but gets an “honorable mention,” which probably means it shows up when called and after that, we'll see. Family Tree Maker is another Honorable Mention, and QuickView Plus (which I use to open ancient word processing files like Wordstar and WordPerfect) isn't even listed. I'll let you know how it goes.

However, I was poleaxed by how well Office and Visio worked, given that Microsoft isn't well-known for respecting its own APIs. You can give up Windows and not give up Office, and as time goes on and the Crossover and WINE gang sort the glitches out, you will have to give up less and less. Highly recommended.

Malware from SourceForge?

I've been chasing something very odd here recently. For about a year nowI have used a FOSS utility called MozBackup to both archive and move my 1.7 GB mailbase around. It has always worked beautifully, but when I used it to restore my mailbase onto my new quad-core machine last week, the mailbase did not come back intact. I was getting weird error messages about the inbox not truncating when messages were moved into the junk folder, etc. which made me wonder what was going on.

Ok. This is a quad-core machine running XP SP3. I deliberately set it up so that AVG 8 runs during the day and not at 2 ayem, because I want to observe what effect multiple tasks in multiple cores has on overall system response. So every day at 1 PM, AVG 8 runs a full scan. It ran a full scan on all drives yesterday, and came up with nothing except warnings about a couple of revenant tracking cookies.

Late yesterday afternoon, I copied the current MozBackup installer file from my installers archive on D: to my “installed installers” folder (where I put installers for software installed on the machine) on C:. Instantly, AVG 8 set up a howl that it had found a trojan in MozBackup-1.4.8-EN.exe, the installer for the instance of MozBackup that I have had installed on the quad-core since June. The trojan was called Generic12.HTC.

That's odd in itself: On all the bazillion-squared pages that Google indexes, there was not a single mention of “Generic12.HTC” yesterday . Nor is there any entry by that name in AVG's virus encyclopedia. This morning, however, I suddenly see five or six mentions indexed during the night. It looks like a false positive, but I'm still a little nervous.

As a test, I went back to SourceForge and downloaded another copy of the file. As soon as it was complete in a temp folder, wham! AVG's “resident shield” utility called it out as Generic12.HTC. Now, I'm not used to thinking that SourceForge downloads can be malware sources, though there's no reason that it's impossible. However, the MozBackup-1.4.8-EN.exe file has been on my hard drive since June, and has passed muster every afternoon that the machine has been powered up. The file's time stamp has not changed. I can only assume that during yesterday's daily update, AVG brought down a signature that matched something inside the file—and that would be a mighty freaky coincidence if true.

The other freaky thing is that after I deleted MozBackup 1.4.8 and installed the previous version 1.4.7 (which is in use on three of my other machines, including my X41 tablet) the mailbase restore worked perfectly. So are there two problems here or one?

The handul of reports surfacing this morning seem to indicate that it's a false positive, which would make sense, given that it's been on this system since June without AVG making noise. So maybe I don't need to warn you against the 1.4.8 version. However, it does look like 1.4.8 doesn't necessarily import an archive created with 1.4.7. Yes, a coincidence, and a weird one.

Scarcity Leaves Its Mark

Whether or not an unexamined life is worth living, examining what goes on inside your head is a lot of fun. I’ve become interested in psychology late in life (after treating it with contempt when I was a cocksure young rationalist) and identifying my biases and tracing them back down to their sources has become a minor hobby here.

My recent study of CSS reminded me of one of those biases: I hate windowing. I just hate it, and hate it so deeply I don’t even notice the hatred anymore. If you were to look over my shoulder as I work, you’d notice that I don’t use it. Whatever app I’m working in gets the whole screen, and when you can see the desktop at all, it means I’m in neutral and nothing useful is going on. I came to the insight after practicing fluid layouts in CSS. BTW, If you’re interested in learning how to do fluid layouts, I haven’t found anything better than Nate Koechly’s Web article “Intricate Fluid Layouts in Three Easy Steps.” Nate created the Yahoo UI Grids CSS system, which I may begin using once I learn enough CSS by building things from scratch. I like YUI because it supports fixed widths. Fluid layouts are not mandatory.

This is good, as I find fluid layouts peculiarly repellant. Things like this suggest a live frog nailed to a tree, squirming in agony. (Drag the corner of the window around and you may start to see what I mean.) Part of it is my long history with fixed page layouts in magazine and book work, and part of it is a desire to focus and not be distracted by things going on in other windows. The bulk of the bias, I think, proceeds from the same reason that the Greatest Generation were tireless savers and hated to waste anything: They grew up in conditions of scarcity. I ducked the Great Depression and WWII, but I followed personal computing from its rank beginnings, when displays were 16 X 64 character text screens or worse. I learned computers starving for screen real estate.

The IBM PC gave us 24 X 80 displays, but that was never enough. Text windowing systems like TopView seemed insane to me, and back in April 1989, when I was doing the “Structured Programming” column in DDJ, I wrote and published an “anti-windowing system” that treated the crippled 24 X 80 display as a scrollable window into a much larger character grid. Full-page text displays eventually arrived: The MDS Genius 80-character X 66-line monochrome portrait-mode text display (left) sat on my desk from 1985 through 1992, when Windows 3.1 finally made text screens irrelevant. (Lack of Windows drivers for the display soon forced MDS into liquidation.) It wasn’t until I bought a 21″ Samsung 213T display in 2005 and started running at 1600 X 1200 that I first recall thinking, “Maybe this is big enough.”

And only just barely. People who were born with a 1024 X 768 raster in their mouths may not be able to figure it, and I guess there’s really no way I can explain. It’s just me. Starve a man for screen space for thirty years, and he is unlikely to want to share what he has with more than one app at a time. Scarcity leaves its mark.

CSS Progress

I'm continuing my re-exploration of CSS in my spare moments, and it's worked out very well so far. If you're doing static pages that don't need Javascript or other fancy stuff, CSS can make very slick layouts with only a handful of rules. The problem of many people using old browsers that don't fully support CSS still exists (especially for IE) but to some extent it always will. CSS-challlenged IE6 still has 32% of the browser market, which means that at least 32% of people will not see your pages render correctly, and that seems like an awful lot to me. I thought I was alone in grumbling about this, but I'm not—and this guy does webstuff for a living.

Anyway. The browsers aren't there yet, but they do enough to support my modest goals. First of these is to get rid of table-based layouts in my Web articles. Tables are a kluge, but they were the best that the Web could do for its first ten years. Another goal is to create an “imprint style” defined in a single external style sheet. I've taken my several articles about kites and have been CSS-izing them to a common imprint style. These three articles work off the same style sheet:

(The Hi-Flier article is the biggest and messiest, and is still on the workbench.) The headers are custom-made images for the sake of the decorative title fonts. One of the Web's biggest defects is not having embeddable fonts. If you want to use fancy fonts, you have to render the font text in graphics and treat the rendered titles as images. I don't mind doing that at all; the page title is present in the META information, so the Semantic Web, wherever the hell it's hiding, will not be deprived of its due.

I'm still interviewing CSS editors. I've already gone through a bunch of them. The biggest disappointment was Amaya, an editor/validator that goes way back and was created by the W3C. Something that old (it's been around since 1996!) should be much better by now. Six of the toolbar icons are empty holes, and it crashes with the same unenlightening error on Win2K that Kompozer does. It did help me clean up my markup between crashes, but there are other ways to do that. Another major disappointment was TopStyle, an $80 commercial product with a downloadable trial version. The trial version is a good thing, because the only supported preview browser is IE. You can rig it to preview with Firefox, but there's a three-year-old message claiming that the Mozilla embedding technology is “experimental” and not supported, with warnings that border on those against crossing the streams. No way to preview in Opera or anything else. This is the kind of lazy-ass nonsense I will sometimes forgive on free products, but it's most of the way to 2009, and anything that costs money and claims a preview feature had better do IE, Firefox, and Opera, or it gets the hook. TopStyle got the hook.

In the meantime, I'm using Kompozer every day downstairs on my XP machine, and it hasn't crashed yet. It's got some thin spots—by default it creates internal style sheets, and you have to manually insert a link to an external sheet—but now that I've gotten to know it, my productivity is way up. Kompozer is a cleaned-up version of Nvu, and the French chap who wrote Nvu is working on a successor. (Having a little French helps here, though most of his posts are at least mostly in English.) Kompozer/Nvu's heart is definitely in the right place, and if I have to use it for awhile until M. Glazman releases its successor, I should at least be able to get some work done.

Other odds and ends associated with my efforts to transcend Webfossilhood:

  • I tried to upload WordPress to Sectorlink using a product called ZipDeploy. Apart from the arrogance of having a three hour trial period (!!!) the damned thing got partway through the longish upload and…vanished. It didn't show an error dialog. It didn't even beep. The app window simply disappeared, leaving the upload incomplete. There was nothing running in Task manager. It Died And Made No Sign. Hook!
  • Sectorlink being unhelpful in this regard (and I will not be renewing the contract for next year there) I went over to my Fused Network account and installed WordPress through their Installatron utility. It took 2 minutes and worked flawlessly. I've had difficulty installing Gallery 2 there, but it's looking like the problem is with Gallery and not Installatron.
  • Contra will be moving to WordPress sometime around the first of the year, depending on how quickly I learn it and how long it takes to sort out the hosting equation. There is a plug-in to do automatic cross-posts to LiveJournal, so I will be keeping my LiveJournal mirror. But this hand-edited table monster will (finally) be laid to rest. My WordPress install is browsable, but don't bookmark it, and don't expect it to be a mirror. It's just test posts. I have it on junkbox.com right now, but it will be on duntemann.com when it “goes live.”

And so to work.

Evaluating WordPress

I’ve been manually editing ContraPositive Diary in Dreamweaver since 2000, and prior to that (mon dieu!) in Notepad. The template is typical 2000-era table-bashing, and it has some quirks. I got the notion not long back that this nonsense has got to stop, and I have to sit down and think through what I’m going to be doing in terms of Web presence for the next few years, assuming that it’s not going to be what I’ve been doing for the last ten.

So what you’re looking at is an experiment. ContraPositive Diary is still alive and well at its usual home on duntemann.com and will be there for awhile yet. I’m playing with themes and plugins and CSS and a lot of other things, and I suspect that at some point I will switch over to WordPress. Soon. (Or maybe not soon.) But not yet.

Crossposted from contrapositive.junkbox.com

Gritting My Teeth Over KompoZer

I've been re-learning CSS over the past week and change, and it hasn't been hard because I didn't learn all that much of it to begin with. Back in 1999 and 2000, CSS was mostly proof-of-concept in Web browsers. The spec itself is a work of brilliance, but it wasn't until the release of IE7 at the end of 2006 that it was possible to make even fairly simple pages render identically on IE, Firefox, and Opera. IE6, which an amazing (appalling?) number of people still use, will not render the max-width property correctly, so fluid and even flexible layouts are still problematic.

No matter here. I'm a page-oriented, fixed-width kind of a guy. My 25-year publishing background has taught me to think in textual spaces that don't change shape. This is in part my webfossilhood showing, but in truth it's not a new argument, and the discussion pivots on how you use your UIs. I display only one thing at a time on my screen, as an inducement to personal focus, and so I maximize all windows that I use except for those belonging to small utilities. There is sometimes a need to show two or maybe three windows at once, but it doesn't come up often for me, and when the need arises, I know it.

So what I've been exploring are table-free fixed-width CSS layouts that will render on an 800 X 600 display (as you find on some of the smaller netbooks) without kicking up a horizontal scroll bar. I haven't tested this on all browsers on all platforms, but the magic number is probably 775. If you don't insist on total fluidity, you can make a very nice 2-column layout with no tables and very little CSS. Here's my learning project. It's not an expert job (I'm not an expert) and it's far from finished, but considering how few lines of CSS it took to do it, I'm pretty happy. I'm going to try to center the material as my next step, and from my reading that shouldn't be hideously difficult.

It's worth a little time here to describe my experience with Kompozer. Overall, it's a nice little item, especially for simple table-oriented layouts. Its CSS features are limited to what CasCadeS can do, and as best I can tell, CasCadeS was abandoned in 2002. I'm still shopping for a good CSS-capable Web editor, but in the meantime Kompozer has been a reasonable learning platform. It has some weird gaps—for example, I see no way to make it insert an em dash—but that's not my major problem. Kompozer does not work reliably on Windows 2000. It crashes frequently when you click the tabs to shift between the different views (text, tags, source, and browser preview) and sometimes when you click the Save button, egad. Then when I went downstairs to my XP lab machine, I edited for hours and suffered no crashes at all. Whose fault that is, well, I won't pursue, but it feeds into the difficult ongoing decision process I have here over moving to XP for my daily work. These days, alot of media stuff, even free software, won't work reliably (or sometimes at all) on Win2K. I have to force myself not to grit my expensive new teeth when I think about it.

Anyway. CSS reminds me a little bit of PL/1. Both technologies tried to bite off way too much at one time, especially considering the state of the underlying technologies when they first appeared. CSS would probably have been accepted more quickly if it hadn't been such a huge challenge to the developers of HTML rendering engines. As with PL/1, different groups with different emphases focused on different features, with the result that identical rendering on all the major browsers still isn't quite here, even though CSS is now ten years old, with roots going back another five. A simpler standard intelligently incrementalized and expanded every three or four years would have been better.

The lack of genuine WYSIWYG tools for CSS bothers me, but I keep reminding myself that hand-futzed CSS/xhtml is not the future. The future is turn-the-crank Web apps that manage content. Tweaking those requires that you know PHP and especially CSS, so I'm cracking the books here and brushing up. I will shortly have a Joomla instance to play with, and Drupal will be close behind. I won't be redesigning Contra because it's all going into a CMS as soon as I can manage it. Hand-coding is addictive, but in the vast majority of common cases, machines do it better and faster. After all, I'd much rather be researching and writing articles than hand-formatting them.

Fetishes

The original Star Trek premiered 42 years ago today. Feeling old, I went for a walk and tried to identify another pair of three-syllable homonyms and got nowhere. Viritrilbia, we need ya down here for a bit—and bring McPhee if you’ve got him.

Also on the word front, I got a note last night from a reader asking me how I define “fetish”, as my use of the word in yesterday’s entry puzzled him. I think he’s young, and maybe he’s thinking latex or bicycle seats, but not so: A fetish is a morally-neutral opinion held with peculiar force. The words “bias” and “prejudice” are now generally considered pejorative, so I had to think of something else. “Fetish” seemed to fit. We all have them, and as we get older and more willing to consider the possibility that we are not all-wise, we often begin to admit it.

My best-known fetish is the contrarian reaction to the well-known (and pretty silly) tech culture aversion to upper-case characters. Talk about a fetish: EVERYBODY KNOWS THAT UPPER-CASE CHARACTERS MEAN THAT YOU’RE SHOUTING, SO NO ONE ANYWHERE IN THE UNIVERSE SHOULD EVER EVER EVER EVER EVER EVER EVER USE THEM FOR ANYTHING EVER AGAIN!!!!!! well guys in just spring when the little lame goat-footed balloon man begins coding far and wee (in pretty-how towns like palo alto) even e. e. cummings cant figger out wtf hes trying to do especially if he does it in c {heh}

My fetish is this: Upper-case characters should be used for the framing members of program code and content markup. In Pascal, things like BEGIN, END, WHILE, REPEAT, UNTIL, IF, THEN, and so on give the program its shape. They should stand out against the general landscape of functions and variables like kleig lights. Ditto content: Markup tags should be in upper case. They need to stand out. Statistically, ordinary content text is lower case, with a sprinkling of upper-case characters so thin as to barely be there. Not being able to spot a tag in the thick of your text can make errors so hard to see that you start flip<p>ing out, whether you’re in Palo Alto or Pa<hr>ump. The whole idea is to make the structure of your work easier to see at a glance, especially when there are pages and pages of it to go through and keep correct and-up-to-date.

I know I’ve lost the war, but I and others with the same fetish may have fought it well enough that the lower-case fetishists had to build the prohibition into what amount to the physical laws of content markup: XHTML absolutely will not allow upper-case characters in tags. God help us all if somebody somewhere perceived our HTML tags as SHOUTING!

And we give these people Ph.D.s, mon dieu.

(The only rational argument I’ve ever seen about this involves HTML compression, which gains you a mind-boggling 3-4% in markup file size. OMG, PONEZ!)

My other major fetish is about visual development. As our tools get better, hand-coding is increasingly a waste of time and an exercise of pure hubris. I know it’s fun, but how much will you bet that you can write better assembly code than gcc? I’m sure that I can’t, and I may know maybe a little bit about the subject. This goes triple for CSS/XHTML, which compared to modern x86 machine code are almost trivial. The field is newer than native code generation, and the tools are less mature, but the day will come when you draw the screen you want, and correct, optimized markup and styles come out the back end. We may be closer than you think, and halleluia for that!

It’s downhill from there on the fetish side. My off-dry wine fetish is well known. I’m increasingly sure that high-fructose corn syrup lies behind most of our obesity problem. I worry that the Pope will become a serious danger to the Catholic Church, if he hasn’t already. Etc. The point is that we all have our obsessions. We may have reasons for them—or think that we do—but certain ideas put down roots in us, and after awhile it’s difficult to set them aside. The wise person watches his/her own fetishes closely, lest they become damaging in some way. Shoot for moderation in all things, especially your obsessions!

On Being a Webfossil

Carol and I bundled up the puppies and took Otto (our Bigfoot RV) down the road about 100 miles to Buena Vista, Colorado, and we’re kicking back here amidst the mountains for a few days. We’re not doing much—that’s the idea!—but reading and gathering our thoughts.

I’ve been tearing at what I call my “Webfossil” problem for some time now without saying much about it here. I’ve been posting content to the Web since 1995, and way back then I tried all kinds of things. However, for the past seven or eight years I’ve been using basically the same toolset: Dreamweaver 3/Fireworks 3. These were released in 1999 and are pretty creaky, but they work and the content gets posted. Periodically people message me and tell me that my HTML is a little bizarre, and it is, because I don’t write it—that’s what software is for. (Newcomers here should keep in mind that I’m the Visual Developer Magazine guy, and that WYSIWYG design, whether for code or for content, is one of my major fetishes.) I’ve become a bit of a Webfossil. Yes, I know, I need new software.

But if I’m considering new software, shouldn’t I be thinking about entirely new approaches to the basic challenge? I keep a blog, and I write Web articles on various topics, both using 1999-era tools. LiveJournal has been a useful mirror, and I adopted it almost entirely to provide an RSS feed for Contra. (The comments have been fun, and were something of a surprise.) I don’t really need LiveJournal for that anymore, as hosting services with preinstalled and house-supported instances of blogging tools like WordPress are common and cheap. (I just got an account with one and am testing a few things. More on this in coming weeks.)

CMS packages are one alternative approach that I’m looking at very closely. Blogging is either built-in or supported by plug-ins, and management of static articles is basically what CMS systems are for. It’s an embarrassment of riches out there; my biggest question now is which one to choose. Drupal is more secure than Joomla, but from what I’ve seen it takes a lot of work to change anything, most of which is hand-coded PHP or CSS. Now I’m no expert at either, but I’ve played with both and I’m a quick study when I know it’s worth my while. What I barf on is what I always barf on: Too much work per unit result. Hand-coding is fun (and addictive—definitely been there!) but it wastes my time, and at 56, you reluctantly start counting the years you have left.

I know less about Joomla, but it looks like it has more visual tools, more plug-ins, and more available themes. The themes are CSS and thus easily altered by a very cool sort of object-oriented programming for content markup. CSS is fun, if you don’t get deranged about seventeen-box fluid layouts. I tried it back in 2001 or so, and set it aside because the spec was twenty miles ahead of the rendering engines. There are still some weird little issues—the CSS greasy eminences do not like the HR tag at all, and deprecate it mortally in favor of peabrained hacks like making the lower edge of a paragraph box visible—but b’gosh and begorrah, you can render the same code in the major browsers these days and it all looks pretty much the same. I guess I really should abandon table-based layouts.

My fundamental objection to CSS remains: There’s no reason not to drag text boxes around on a display and then have the software compile your design to XHTML and style sheets—except the software to do this doesn’t exist yet. I still have a couple of things to test, primarily Style Master and especially iStylr, but even the formidable Dreamweaver CS3 is still basically an HTML table-basher. I’ve been doing that for seven years now and it’s a nuisance.

I may hand-code a fluid equivalent to my canonical table-based Contra layout for practice if nothing more, but the ultimate solution is probably an all-purpose turn-the-crank Web content management system, even if what I want doesn’t quite exist yet. Sooner or later, it will. Time to crack the mold (as venerable and useful as it’s been) and stop being a fossil.