I don’t even remember signing up for the beta or leaving an updated email address within the previous version, but it’s good to once again see Sean managed to get Reinvigorate running again. It was a small surprise considering I had not expected to see this project alive so soon. Then finding this among the contents of my inbox made my day.
From: Reinvigorate // sm
Subject: Reinvigorate // Private Beta
You have been invited to join the Reinvigorate private beta. Use the link below to get yourself set up.
…
Initially we’re launching with 28 reports and some very exciting new features. We hope you enjoy the new service. We look forward to seeing you.
For those unfamiliar with previous versions of Reinvigorate, it’s a very nice and thorough site statistics monitor which tracks of all your visitors much like Google Analytics. At first glance Reinvigorate appears to compliment Google Analytics quite well by giving you more details on things like referrers and visitors details with a more simplified but highly detailed view like you would pull from your own access logs. But Reinvigorate really seems to pick up where Analytics leaves off by giving you the necessary and gritty details which any “webmaster” might be looking for quickly without having to drill several clicks deep into the interface which is quite nice.
Sean really only seems to be getting started here but I can’t wait to see what improvements come after the long-awaited IP-exclusion feature. Until I feel motivated enough to set up my own access log parser, Analytics and Reinvigorate are here to stay. Next to see which one earns its keep.
Category : annoying + programming + software
For those visiting last week, you may have noticed my extremely awesome “uh-oh” page informing you of my total screw-up. This happened after I decided to blindly take a chance and upgrade WordPress from 2.0 to 2.1. The entire experience was a bit like accidentally pulling your steering wheel off its column and throwing it into the back seet while driving down the highway. Somehow you still having most of the ability to steer but then only losing control and causing you to crash when the airbag on that steering wheel decides to magically deploy well after the fact.
What I suspect really happened was that upon upgrading, categories for all posts and links were merged incorrectly or not at all. This may have been the caused when I accidentally ran the WordPress upgrade script under 2.0.6 or 2.0.7 which caused those tables to get skipped upon migrating to 2.1. With a little luck however I had made a backup before this which contained 99.9% of the current database and it upgraded almost flawlessly. All that was left was fixing a small error in my template.
WordPress 2.1 also introduced a new template tag appropriately named “wp_list_bookmarks” to spit out the links from your blogroll. I decided to see if this worthy of replacing the MySQL query I’ve used this entire time found in the “wp_get_links” example. I was slightly impressed with it’s moderate flexibility on list items themselves, but the least desirable part is that there aren’t really any formatting options for the unordered list parent itself.
Given the minor amount of database changes, I simply tweaked existing query a bit and decided to also make it a conditional statement to make things backward compatible. While it’s not as elegant as a template tag, it works exactly as written because the output is entirely up to you. The only difference between this one and the original example is the query, and the obvious fact that it’s conditional. Simply, if “wp_list_bookmarks” is found as an option it assumes the version of WordPress is not 2.1.x and falls back onto the original.
<ul>...
<?php
if (function_exists('wp_list_bookmarks')) {
/* Look to see if this is WP 2.1 */
$link_cats = $wpdb->get_results
("SELECT cat_ID, cat_name FROM $wpdb->categories WHERE link_count > 0");
foreach ($link_cats as $link_cat) {
...(...)...
} else {
/* If it's not 2.1 run the old query. */
$link_cats = $wpdb->get_results
("SELECT cat_id, cat_name FROM $wpdb->linkcategories");
foreach ($link_cats as $link_cat) {
...(...)...
}}
?>
...</ul>
If you don’t need a 2.0.x condition to fall back on, then all you really need to do is tweak the original enough to suit your need. Additionally, “wp_get_links” my have to be swapped out for just “get_links” depending upon how you like your output. If I can remember and find the time I may eventually just turn this into a friendlier plug-in if nobody has already done so. Otherwise feel free to steal the idea.
Happy Hacking.
Category : hardware + review + updates
There has also been a new addition to my network with a recent purchase of a 玄箱 “Kuro Box” and a small redetermination to learn Linux from scratch. While I probably still couldn’t build a kernel if my life depended upon it, I did manage to get Debian (Sarge) setup and running fairly easily with a little help and guidance from the users I encountered on IRC over the past few weeks. Hat tip to TampaKuro for most of the ideas and suggestions.
Kuro Box initiations generally begin with these three steps. One, figuring out how the hell to actually open the case so you can further disassemble it and mount a proper hard drive. Two, remembering how you took it apart so you can put it all back together again. Three, familiarizing yourself with the default (fresh out of the box) operational states. It sounds simple, sure. But oh yeah, did I mention that all the documentation in the box is written in Japanese? No? Oh yeah, all the written documentation is in Japanese. Don’t worry though, after you’ve either cracked the case or a couple of finger nails you’ll be well on your way.
Consider it a small right of passage, because after all this you’ll be more determined to hack the hell out of it even more. Once your initiation is complete, head over to the ever-helpful wiki pages and get your read on. Here is where you will find just about everything known and even some unknowns documented thoroughly based upon what works and even how to turn your Kuro into a $150 paper-weight if things go terribly wrong. If you’ve skipped ahead and are still trying to crack your box open, you’ve come to the wrong place. The first rule of Kuro Box, nobody talks about how to crack open a Kuro Box.
In the end, this little “network appliance” gets my full approval for being a fully capable power-toy. While not nearly as exotic and robust as a mini or micro ITX system, it fits the bill for most needs and so far is putting up with my minor amount of stress and abuse. But if this all seems a bit daunting, then I would recommend it’s close sibling the Buffalo LinkStation which comes fully assembled with your choice of storage and then some.
Stupid CLI Tricks I’ve accidently learned so far: Blindly typing “Yes” is NOT funny.