MaisonBisson

a bunch of stuff I would have emailed you about

Cupcakes?

“I’ve never seen the inside of a rabbit’s brain before. What’s in there anyway?” “Nobody knows yet. Johnson and I are hoping it’s cupcakes.” “Me too. Except vegan cupcakes. Because I’m a vegan. Vegans don’t eat animals or animal prod–” “I know what vegan means, Thomas. You’ve told us.” “Well, I was just saying, because–” […] » about 100 words

Twenty Years And A Day

Mark Nelson’s Pripyat series on flickr is full of the pictures of desolation that people seem to be looking for as we solemnly honor the twentieth anniversary of the Chernobyl disaster. Google added high-resolution satellite photos of the area yesterday, and Pripyat.com offers both stories and photo galleries to help us remember. It is there […] » about 200 words

Chernobyl and Pripyat Satellite Photos

Today, on the twentieth anniversary of the disaster, Google has added high-resolution satellite photos of the Chernobyl Nuclear Power Plant and the abandoned town of Pripyat. Above is the plant; the damaged reactor is on the left. In Pripyat, the ghostly ferris wheel was easy to find, but where’s the vehicle graveyard? Update: here it […] » about 100 words

Twenty Years Ago Today

Twenty years ago today at 1:23:44, the Chernobyl NPP reactor number four exploded. Five thousand tons of lead, sand, and other materials were dropped on the resulting fire in an attempt to stop the spread of the radioactive cloud. The world learned of the accident when Western European nuclear facilities identified radiation anomalies and traced […] » about 300 words

Boolean Searching in WPopac

WPopac takes advantage of MySQL’s indexing and relevance-ranked searching (go ahead, try it), including boolean searching (on MySQL versions > 4.x). Here are some details and examples taken wholesale from the MySQL manual: + A leading plus sign indicates that this word must be present in each result returned.  – A leading minus sign indicates […] » about 500 words

Shifting Borders

My first reaction to the notion of librarians running reading groups in Second Life was a question of whether this was akin to putting a reference desk in a bar.

My second reaction was a question of how our systems will support these extra-library interactions. Can people quickly and easily trade URLs to access the library materials they’re talking about? Will library systems ever be as easy to use as the game/social environments we’re trying to use them in?

My third reaction is a question of politics. The movement of people online doesn’t respect geographical borders, nor those of gerrymandered political districts. Libraries may serve online users, and some of them will be successful, but our funding models are for local libraries that serve geographically constrained communities.

Living The Life Embarrassing, Stupid Online

Without contradicting the moral weight of social software post from last week, let’s take a moment to look at three stories from Arstechnica about MySpace and others: online video leads to teen arrests, shooting rampage avoided due to MySpace posting, and Google + Facebook + alcohol = trouble. These are the stories we’ve come to […] » about 300 words

That Crazy Gnarls Barkley

Other than the notion that I heard it on a KCRW music show, I couldn’t put my finger on the tune weaving through my head. So I listened, and listened carefully, waiting to hear it again. Eventually I learned the earworm was Gnarls Barkley‘s Crazy (thanks to Molly for the mp3 download link). The group, […] » about 200 words

Movie: Airport

Iain Anderson‘s animated film, Aiport, shows even the most pedestrian of designs come to life with a bit of creativity. Elsewhere, a post at Copyfight, suggests that the availability of those symbols — their freedom from copyright and trademark restrictions — was a key factor in spurring their broad adoption, creating both the culture and […] » about 100 words

Bush: “I Invented The iPod”

President Bush, speaking in Alabama at the American Competitiveness Initiative, made a claim that would make Al Gore blush: he claimed to have invented the iPod. After taking credit for the development of ultra-small hard drives, audio compression, and chemistry(?), he laid it out: “it turned out that those were the key ingredients for the […] » about 100 words

The Wealth of Networks

Wendy Seltzer gave a shout-out for Yochai Nenkler‘s The Wealth of Networks: How Social Production Transforms Markets and Freedom, describing it as… …an economic history of information production. We’re moving from the age of industrial information production to one of social information production. Ever-faster computers on our desks let us individually produce what would have […] » about 200 words

Danah Boyd On The Moral Weight Of Social Software

Danah Boyd posted recently at Many-to-Many about the future of social software. I’ve been more than a little bit gung ho on web 2.0 for a while, but I do like her caution: If MySpace falters in the next 1-2 years, it will be because of this moral panic. Before all of you competitors get […] » about 300 words

WordPress Baseline Changes To Support WPopac

I’ve whittled things down to the point where the only baseline change from WordPress 2.0.2 is in the next_posts_link function of the wp-includes/template-functions-links.php file. The change is necessary because WPopac rewrites the SQL search queries in a way that’s incompatible with a piece of this function, but necessary for performance reasons.

Here’s how my version reads:

`

function next_posts_link($label='Next Page »', $max_page=0) {
	global $paged, $result, $request, $posts_per_page, $wpdb, $max_num_pages;
	if ( !$max_page ) {
			if ( isset($max_num_pages) ) {
				$max_page = $max_num_pages;
			} else {
				preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches);

				// added April 5 2006 by Casey Bisson to support WPopac
				// necessary because the preg_match above fails with some queries
				if(!$fromwhere)
					$fromwhere = $wpdb->posts;
				
				// changed April 5 2006 by Casey Bisson to speed the query by eliminating
				// the slow DISTINCT clause
				//$numposts = $wpdb->get_var(“SELECT COUNT(DISTINCT ID) FROM $fromwhere”);
				$numposts = $wpdb->get_var(“SELECT COUNT(*) FROM $fromwhere”);
				$max_page = $max_num_pages = ceil($numposts / $posts_per_page);
			}
	}
	if ( !$paged )
		$paged = 1;
	$nextpage = intval($paged) + 1;
	if ( (! is_single()) && (empty($paged) || $nextpage < = $max_page) ) {
		echo '<a href=“';
		next_posts($max_page);
		echo '”>'. preg_replace('/&([^#])(?![a-z]{1,8};)/', '&$1', $label) .'</a>';
	}
}

`

Where’d All My Rewrite Rules Go?

Between WordPress 1.x and 2.x there was a big change to the way rewrite rules are handled.

In the old days, everything got written out to a <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule">.htaccess</a> file. Every condition, every form of permalink could be found there, and I had some comfort knowing I could see and mess with it all. I was a bit surprised to find that with 2.0.2, WP writes out a sparse file that has only one significant rule. Something that looks like this:

RewriteRule . /blog/index.php [L]

That one line takes everything in your request URL and passes it through to index.php for processing. The beauty of this is that WP doesn’t need to write to the file system with every change to the permalink structure (which used to include every new “page” added or renamed).

The only downside to this is that you can no longer expect a $_REQUEST array full of all the query terms your plugin might use. Instead you’ll have to use the <a href="http://codex.wordpress.org/Function_Reference/WP_Query">$wp_query</a> object. All of this was probably mentioned in the API docs before I built a bunch of dependancies on $_REQUEST, but it was easy enough to fix.

The Crucible

Who wouldn’t like to play with The Crucible‘s “fire truck”? What’s “The Crucible”? [it’s] an arts education center that fosters a collaboration of arts, industry and community. Through training in the fine and industrial arts, The Crucible promotes creative expression, reuse of materials and innovative design while serving as an accessible arts venue for the […] » about 100 words

Printer Fingerprinting

News came out a while ago that many of our laser printers were embedding “fingerprints” that allowed folks who knew how (like, say, the feds) to trace a printed page back to the day and time it was printed, and the serial number of the printer. Or, at least that was the theory, until the […] » about 200 words

PHP5’s SimpleXML Now Passes CDATA Content

I didn’t hear big announcement of it, but [deep in the docs][1] (? PHP 5.1.0) you’ll find a note about [additional Libxml parameters][2]. In there you’ll learn about “LIBXML_NOCDATA,” and it works like this:

simplexml_load_string($xmlraw, ‘SimpleXMLElement’, LIBXML_NOCDATA);


Without that option (and with all previous versions of PHP/SimpleXML), SimpleXML just ignores any < ![CDATA[...]]> ‘escaped’ content, such as you’ll find in most every blog feed.



 [1]: http://us3.php.net/manual/en/function.simplexml-load-string.php
 [2]: http://us3.php.net/manual/en/ref.libxml.php#libxml.constants "additional Libxml parameters"

Email Is For Old People

I happened to stumble back onto the Pew Internet Report on teens and technology from July 2005 that report that told us “87% of [US children] between the ages of 12 and 17 are online.” But the part I’d missed before regarded how these teens were using communication technology: Email, once the cutting edge “killer […] » about 400 words