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.
I’m now on my third cell phone. The first one was a Nokia analog phone the size, relatively speaking, of a brick. I moved up to a digital phone with an AudioVox 4500 about three years ago (Catherine’s using it now), and finally moved to my current phone, a Nokia 3285, about a year ago.
I originally got a cell phone to let my clients contact me in an emergency — it replaced the pager I wore on my belt for the same purpose. It was cheaper than a pager, allowed for longer messages, and it worked in the US, which was a step up. I’ve come to use it, more and more, as an extension of my office phone, especially when I’m traveling.
I’d like to get a new phone, mostly because, as I’ve come to rely on my current one more and more, its weaknesses have become more and more glaring. What follows is a list of the qualities of my “ideal phone.” So far I’ve not found a phone/carrier to match all of these items; I welcome comments and suggestions from the readership on options.
- Coverage across Prince Edward Island. Charlottetown is most important, of course, but I’d like to be able to be reached in Summerside, Cavendish and New London too.
- Roaming coverage in Southern Ontario, Boston, and southern New Hampshire. These are the areas I travel to most frequently, and where a phone absolutely must work.
- Small. I’m tired of big cell phones.
- Works with Apple’s iSync to allow me to synchronize my phone book and calendar. It would be nice if the phone had Bluetooth, but I’m willing to sync with a USB cable. I need at least 500 entries in the phone book; I would prefer 1,000.
- Usable as a modem with my Apple iBook. I don’t have a lot of use for this feature, but there are some times when it would be invaluable.
- Available on a month-to-month plan. I don’t want to sign a contract for service.
- Long battery life. Talk time, which I don’t use a lot of, is less important than standby time: I don’t like to have to worry about plugging in my phone at night, every night.
So far, the only phone that appears to qualify is the Motorola v60 from Aliant (warning: crazy website). Telus Mobility appears to offer the same phone. Rogers has weak Island coverage, and questionable coverage in southern New Hampshire. Fido has no coverage on the Island.
Anyone own a v60? I welcome comments from the field.
Christopher Lydon, who is quickly becoming my favourite broadcaster (narrowcaster?) has recorded an interview with Adam Curry [MP3 file]. Lyndon is a good interviewer; Curry is a good interviewee.
The Zap Your PRAM conference is coming up soon — Oct. 24 to 26. The speakers are getting nailed down, the caterers called, the Internet access arranged. Things, in other words, are coming together nicely.
If you’re interested in coming to the conference, please contact us soon; we’re closing registration on Oct. 14 so that we can get numbers for food, lodging, etc. firmed up.
If you’re interested in weblogs, design, technology, radio, film, or the future, you’ll find a niche at the conference: we’ve got a good mix of Islanders and visitors, and if nothing else I can guarantee that you’ll suffer from a weekend of interesting conversation and good food.