Also see the list of articles, none to be taken seriously.

Why does Windows still suck?

The most surprising figure in the article—that 91% of PCs are infected (or maybe the word should be “infested”)—sounds high, but gets some anecdotal support in comments in Brent Simmons’ weblog.

Read and Post Comments

The fact that you’re reading this means the server move was successful.

Read and Post Comments

Bill Bumgarner’s useful Dupinator script, for removing duplicate files, recently hit Python-URL. However, it has a logic bug that end up deleting too many files.

If you have several sets of duplicates that happen to share the same file size, all but one of the sets will be wiped out completely. The problem is that within each group of files of identical size, there’s at most a single generated "duplicates" list. The first file on the list is spared; the rest are deleted.

The net effect, when I tested the script on a large corpus of text files, was the program reported it would delete many files that were clearly not identical. (I had commented out the os.remove call for testing.)

There was an additional problem with iPhoto: the posted script follows symbolic links. iPhoto stores its albums as collections of symbolic links, so all photos in albums are flagged as duplicates of the original photos. An islink() test fixes this.

Here’s a modified version of the script. It has only been lightly tested, though the changes did successfully eliminate the false positives. Uncomment the os.remove() line only when you are satisfied with the list of redundant files generated.

Minor optimizations: all files < = 1024 bytes go directly into the dupes list, not potentialDupes, since the whole file has already been checked. Also, Mac OS X’s pesky .DS_Store files are skipped.

(I haven’t heard back from Bill yet on incorporating the fixes into his code, so I’m posting here.)

View Source Code (

Read and Post Comments

Just to keep everyone current who’s playing along at home: I recently became chair of the Narragansett AMC Young Members, which until we get some more leaders to post is practically my other weblog.

Also, my application with the Boston AMC Young Members to become a 3-season dayhike leader was approved. And I’m now a co-webmaster of the Boston AMC Young Members site. Busy, busy.

Read and Post Comments

I’m going to co-lead a beginner/intermediate day hike with the in the North Pack Monadnock area on Oct. 10. It’s a Boston AMC Young Members event. Most participants will be in their 20s and 30s, but there’s no age limit. AMC membership is encouraged, but not required, and the trip is free.

See more details at the Narragansett AMC Young Members site, which I just set up a few days ago.

Read and Post Comments

I’m co-leading an easy kayak trip with the AMC this Sunday, June 27. It’s a combination Young Members/Kayak Committee event.

Easy Paddling on Pawtuxet River: One of RI’s major rivers with an abundance of wildlife and history. Pontiac Mills in Warwick to Rhodes on the Pawtuxet.

Some rental boats may still be available. AMC membership isn’t strictly required, though participants should consider it. Contact me if you’d like to come.

See also: pictures from past AMC trips and past kayaking trips.

Read and Post Comments

The AMC Boston hike/bike and young members committees use trip rating codes such as "B3B" to indicate difficulty. Recently there’s been some discussion of how hard this makes the listings to understand for newcomers. Here’s a workaround for users, and the core of a script that would help the authors automate a solution.

This tool translates the codes to English text. To try it out, click the link below and enter a code such as A2C.

Decode AMC Rating

To use this on any trip listing page, drag the Decode link up into your links toolbar, or open your Bookmarks or Favorites window and drag it in. You won’t even have to type the codes anymore; it can work on any text you’ve selected. Go to the AMC Boston YM trip listings, double-click any trip rating to select it, and choose the Decode AMC Rating bookmark.

This is part of a proposal to provide English tooltips for trip rating codes in announcement web pages and emails. Here’s an example of a trip rating with a tooltip. Move your mouse pointer over the following code and hold it still for a few seconds: AA1B.

Read and Post Comments

Broken Windows: With viruses, worms, and vulnerabilities in the news, John Gruber wrote an excellent piece. “Here’s a billion-dollar question: Why are Windows users besieged by security exploits, but Mac users are not?”

And, like clockwork, here comes the latest Windows vulnerability:

Internet Explorer Carved Up By Zero-Day Hole:

“Two new vulnerabilities have been discovered in Internet Explorer which allow a complete bypass of security and provide system access to a computer, including the installation of files on someone’s hard disk without their knowledge, through a single click.

Worse, the holes have been discovered from analysis of an existing link on the Internet and a fully functional demonstration of the exploit have been produced and been shown to affect even fully patched versions of Explorer.

It has been rated ‘extremely critical’ by security company Secunia, and the only advice is to disable Active Scripting support for all but trusted websites.”

The article goes on to say that the code exploits three holes in Internet Explorer for Windows, including one that has been known since August 2003, and there’s no patch available for any of them. (You could turn off Active Scripting, which breaks functionality on many sites, or stop browsing web sites you don’t trust completely. If that’s not acceptable, you have to switch another browser such as Mozilla, or switch to a Mac.)

Read and Post Comments

WordPress 1.2 now has an its own RSS import feature. However, it’s based on a different technique (regular expressions) than the code I contributed in January (which uses a true XML SAX parser). So I’m posting the code here as open source under the GPL license. This code has some additional features:

  • It can import single files from either your local drive or from a URL you specify, or it can import entire folder hierarchies of RSS files (blogBrowser-style: one folder per year, one file per month), making it a general-purpose weblog batch import tool using RSS as the exchange format.
  • It aggregates RSS feeds, if you point one or more copies of it at feeds on the web and set it to run regularly. (Even when run frequently, it won’t import the same item twice.) You can also use this to maintain more than one WordPress site that shares the same content, such as a test site and a production site.
  • It handles time zones in a sophisticated way, preserving the timezone offset so that each item can appear on your weblog under the author’s original local time, while using GMT for all date comparisons.
  • It respects and stores modification dates if given in the RSS file.
  • If modification dates are given in the RSS file, it can optionally import only new or changed posts, leaving posts alone that haven’t been changed or that have been changed more recently on the local machine.
  • Using the above feature and two copies of WordPress, it can synchronize two or more weblogs, bidirectionally or multi-directionally. New and changed posts on any one weblog will automatically show up on the others.
  • It complies with the XML specification, for correct behavior with XML namespaces with arbitrary prefixes and CDATA sections in arbitrary locations, both of which can trip up a regular-expression-based parser.

As long as your RSS feed passes the XML well-formedness test (which it probably does, even if it doesn’t validate according to the RSS Validator), you can use this RSS Import filter. If it’s not well-formed XML, you’re better off with the RSS import filter built into WordPress.

Versions are available for WordPress 0.9 through 1.2.

More Info and Download

Read and Post Comments

Interested in doing the Newport Cliff Walk? I’m co-leading an easy trip there with an Appalachian Mountain Club group on Sunday, April 25.

Young Members trips like this one are most often attended by people in their 20s and 30s, but all are welcome, and it’s not even required that you be a member. Other typical trips include kayaking, biking, hiking, rock climbing, and skiing, at any level from beginner to advanced. This trip isn’t very demanding; it’s billed as a “leisurely walk.” We’ll probably have some kind of social afterwards and talk about future trips.

I have an archive of pictures of past trips online (including two snowshoeing & cross-country skiing trips this March with the Boston chapter).

The official writeup:

Young Adult Members Walk/Social

Sunday, 4/25 11am

Join us for a leisurely walk on the Newport Cliff Walk before the tourists take over. 6 mile easy hike, picnic lunch to follow.

Leader, Deb Hanley

Co-leader, Andrew Shearer

Contact me to register.

Read and Post Comments

« Previous Page -- Next Page »