Kudos to Bob Young for investing in Charlottetown’s downtown. We will be regular, devoted customers of his new hardware store.
Will Pate phoned me tonight and asked me to take a look at this CityFilter post about TownSquare.ca, and perhaps to post a response.
I started to write a well-considered review of my feelings, when it suddenly dawned on me that I was falling prey to the TownSquare time-sucking vortex, and I couldn’t waste my time paying attention to something that, in the end, is irrelevant, both to me, and to most of my fellow citizens.
Yes, the TownSquare.ca portal is ugly, expensive, poorly organized, and generally ill-regarded by anyone who lives on the webside.
But it is a product of bureaucrats who were charged with creating the sort of project — a “regional portal” — that hasn’t been warmly received by the web intelligentsia for 5 or 6 years. TownSquare.ca is ugly and poorly organized because nobody with any sense would spend any time on a project which, in the end, doesn’t actually make any sense in the first place.
The Emperor has no clothes. Do you really expect talented tailors, with plenty of other interesting, compelling garments on their sewing tables, to spend any energy either pointing this out, or trying in vain to stitch some up?
The blame for this irrelevance doesn’t lie on any one person, or even on the project team. Bureaucracies, by and large, are incapable of creating beautiful, well-organized, information systems; it’s simply not in their nature. Perhaps the real irony is that the sort of muddled brown fuzzy-headed vibe that TownSquare.ca reflects is a pretty decent reflection of the bureacractic systems that brought it to life.
TownSquare.ca was inevitable, and nothing anyone said or did could have prevented either its conception or birth nor its necessary uselessness. It doesn’t make any sense to try and forensically audit it, either conceptually or monetarily, because there’s not much more to it than that.
The saving grace of the project, as I’ve pointed out before, is that several excellent, worthwhile projects have managed to exist under the same umbrella. For that we can take some solace.
In a few years, when the money runs out, TownSquare.ca will quietly fade away. We probably won’t even notice. It’s a shame that we could have planted some more trees, or built better playgrounds, or even had a big party, with the money that was wasted otherwise. But let’s not user more of our energies pointing out the folly, when they are better spent doing the things that we actually think need to be done to virtually enhance our communities.
To do otherwise is to let the ugliness envelope us further. And that’s not healthy.
Ivan Dowling — actor, professor, singer, gadabout — writes in response to my earlier post about Catherine Hennessey’s birthday party, in part:
You mentioned that I had done a dance after my song. I presume you were referring to the second picture of me where I was curtsying at the end. I had just finished singing “Alice Blue Gown” , which to my embarassment my parents had me sing on radio 66 years ago. It describes the pride of a GIRL!! named Alice who had just displayed in public her new blue gown. As soon as I work up a dance to go with the song I’ll have my agent get in touch.
Apologies to Ivan for assuming he was dancing when he was really mid-curtsy. Sometimes it’s so hard to tell.
I’m still a heavy user of the text-only Lynx web browser. It was my first browser, and it’s still near and dear to my heart.
These days I mostly use Lynx on the server side to navigate web pages that lead to software downloads. It saves transferring from my local machine to a remote machine.
Today, downloading a particularly huge 500MB file from IBM, I found that Lynx was placing its temporary file for the download in my home directory, which, alas, had little space, and certainly not enough to hold 500MB of data.
The solution?
export LYNX_TEMP_SPACE=/directory/with/lots/of/space
Set this environment variable, and then run Lynx, and you’ll find that Lynx will use the location you specify as its location for the temporary file.
If you encounter a ERROR 1189: Net error reading from master when running the MySQL command LOAD DATA FROM MASTER to set up replication, you might check to see that your slave isn’t suffering from a full disk. I fell into this trap and, thinking that the error was somehow network-related, spent a lot of time running down that blind alley before I checked the disk.
On Friday, at the Formosa Tea House, I was assailed by web maven Daniel Burka for having sent him an HTML file for the Zap website that had HTML list items that were left “unclosed.”
For those of you outside the web intelligensia, a list item looks like this in your browser:
- This is a list item!
To make a bit of text into a list item, someone writing HTML starts an “unordered list” with <UL>, and then sticks <LI> in front of every item on the list. For example, to produce this list:
- Apples
- Peaches
- Pumpkin Pie
…I would use the following HTML:
<UL> <LI>Apples <LI>Peaches <LI>Pumpkin Pie </ul>
Now the issue at hand here — the one that bothered Daniel — is that proper HTML requires adding a closing </LI> at the end of every list item as well. The thing is that almost any browser in the world will still render the list properly if you leave this out, and it’s been that way since the beginning of time. So if you don’t have to do it, why bother?
Daniel’s argument would be that leaving off the closing </LI> means that the resulting HTML won’t be following standards, and what’s more, that there are some instances when using cascading style sheets where the closing </LI> is required and, if it’s missing, bad things will result.
My reply to Daniel’s accusations of HTML standards flouting was to say that as long as my content was readable in most browsers, most of the time, I was happy.
This isn’t strictly true, of course — I care about web standards as much as the next guy. But it’s at least partially true. And I certainly don’t attend the same standards church as Daniel does.
Now I don’t mean this to be a “standards vs. no standards” argument — I can happily argue for or against either side of that issue.
What intrigues me is why this matters so much to Daniel, and so little to me. We both derive our income almost entirely from things that happen on the web, and yet something that Daniel cares passionately about means relatively little to me.
The easy answer here would be that Daniel’s uptight and I’m footloose. Or that Daniel’s responsible and I’m negligent. Neither are very satisfying.
I think some of the answer might lie in the same issues I discussed in my Designers who don’t program and programmers who don’t design essay on the Zap Your PRAM Weblog: Daniel is a designer. Period. I am a programmer who happens to design.
In my world, the centre of the web is the server. If it’s important, and it involves the web, it’s happening behind the scenes, and is probably written in Perl or PHP. I tend to treat the browser as simply the canvas upon which the art — which is conjured on the server — is displayed.
I suspect that in Daniel’s world, the centre of the web is the browser, not the server. And that Daniel would see the “art happening” in the browser, not on the server.
And so I imagine that Daniel takes the browser more seriously than I do simply because we’re standing in different positions in the web universe; my planets revolve around the server, Daniel’s around the browser.
Or maybe I’m just negligent. Or footloose.
I welcome comments.
Replication is one of those words that we don’t use in everyday life (unless we live aboard the Enterprise). And so, if you use MySQL as a database server, it’s easy to ignore what is arguably one of its coolest, and most powerful features: replication.
Replication, to make a long story short, is setting up a “slave” database server, on another machine, that automatically mirrors any changes on its “master” server (the one you’ve been running all along).
There’s a useful replication how-to that’s a good starting place for setting up replication.
One important thing to note: replication mirrors everything you do on the master server. So if you mistakenly run DELETE FROM ImportantTable, the slave will dutifully do exactly the same thing.
As such, replication is only 1/2 of a good database backup strategy: it protects you if your master’s hard drive fails with an up-to-the-minute version of your data. But it doesn’t protect you from “human error” problems on the master. For that, you need a good daily, weekly and/or monthly backup of the data files themselves.
Almost 20 years ago I had a friend named Stephen Badhwar. He was one year ahead of me at Trent University and we were friends, off and on, for 5 or 6 years.
When I first met Stephen he dressed in crested blue blazers, and had military dioramas in his dining room. Over the years we knew each other, he shifted from that lifestyle into being the manager of a cooperative organic farm and living in a tipi.
Stephen was always interesting, no matter his world-view.
The last time I saw Stephen was on the GO Train from Toronto. We bumped into each other by chance, and had a couple of stops to catch up. He was south from Atlin, BC, where he had established himself, his partner and their young son.
I haven’t seen nor heard from Stephen since then, which was probably 10 years ago.
I’ve done a little Googling, and I’m fairly confident that this letter is from Stephen — mostly, ironically, because I recognize his signature. I’ve dropped him a line, and I’ll see if I can’t renew the acquaintance.
Apropos of my last post, here’s an sample of the same paragraph, part of an earlier post here, rendered in various text-to-speech systems. All samples have been converted to MP3 files (using iTunes) for ease of comparison:
- IBM Text-to-Speech: Unconstrained U.S. English Text Demo
- AT&T Natural Voices Demo
- Festival Voice Demo
- Winbond USA TTS Demo
- Testen Sie die ATIP Sprachsynthese interaktiv
- Mac OS X Built-in Speech
To my ears, the IBM female voice is the best sounds — it has a certain melodic quality that’s quite pleasant. The AT&T speakers are very good too, if a little over-zealous. Winbond can’t really be faulted for its poor quality — it’s a “TTS on a chip” system, not a general purpose software system.
As an experiment, I’ve begun to translate the posts on this weblog into audio files, using the Festival text-to-speech system.
Festival is a free, open project of The Centre for Speech Technology Research at the University of Edinburgh. The system makes it easy to translate text — like the words in this post — into speech — like that which you’ll hear if you click on the little speaker icon beside the post title, or the “listen” link at the bottom of the post.
The speech isn’t quite “human,” but I’ve found it clear enough to allow me to understand posts. And because I’ve converted the audio files to MP3, it’s possible to dump them onto an audio player, or anything else that one might do with an MP3 file. I’m not intending the audio files to replace the text, simply to offer new ways to manipulate it.
As an aid to experimentation, I’ve also added a new RSS feed that links directly to the audio versions of posts.
I welcome comments.