Monthly Archives: August 2008

Memcached and high performance MySQL

Memcached is a distributed object caching system that was originally developed to improve the performance of LiveJournal and has subsequently been used as a scaling strategy for a number of high-load sites. It serves as a large, extremely fast hash table that can be spread across many servers and accessed simultaneously from multiple processes. It’s designed to be used for almost any back-end caching need, and for high performance web applications, it’s a great complement to a database like MySQL.

In a typical environment, a web developer might employ a combination of process level caching and the built-in MySQL query caching to eke out that extra bit of performance from an application. The problem is that in-process caching is limited to the web process running on a single server. In a load-balanced configuration, each server is maintaining its own cache, limiting the efficiency and available size of the cache. Similarly, MySQL’s query cache is limited to the server that the MySQL process is running on. The query cache is also limited in that it can only cache row results. With memcached you can set up a number cache servers which can store any type of serialized object and this data can be shared by all of the loadbalanced web servers. Cool, no?

To set up a memcached server, you simple download the daemon and run it with a few parameters. From the memcached web site:

First, you start up the memcached daemon on as many spare machines as you have. The daemon has no configuration file, just a few command line options, only 3 or 4 of which you’ll likely use:

# ./memcached -d -m 2048 -l 10.0.0.40 -p 11211

This starts memcached up as a daemon, using 2GB of memory, and listening on IP 10.0.0.40, port 11211. Because a 32-bit process can only address 4GB of virtual memory (usually significantly less, depending on your operating system), if you have a 32-bit server with 4-64GB of memory using PAE you can just run multiple processes on the machine, each using 2 or 3GB of memory.

It’s about as simple as it gets. There’s no real configuration. No authentication. It’s just a gigantor hash table. Obviously, you’d set this up on a private, non-addressable network. From there, the work of querying and updating the cache is completely up to the application designer. You are afforded the basic functions of set, get, and delete. Here’s a simple example in PHP:

$memcache = new Memcache;
$memcache->addServer('10.0.0.40', 11211);
$memcache->addServer('10.0.0.41', 11211);

$value= “Data to cache”;

$memcache->set('thekey', $value, 60);
echo "Caching for 60 seconds: $value <br>n";

$retrieved = $memcache->get('thekey');
echo "Retrieved: $retrieved <br>n";

The PHP library takes care of the dirty work of serializing any value you pass to the cache, so you can send and retrieve arrays or even complete data objects.

In your application’s data layer, instead of immediately hitting the database, you can now query memcached first. If the item is found, there’s no need to hit the database and assemble the data object. If the key is not found, you select the relevant data from the database and store the derived object in the cache. Similarly, you update the cache whenever your data object is altered and updated in the database. Assuming your API is structured well, only a few edits need to be made to dramatically alter the scalability and performance of your application.

I’ve linked to a few resources below where you can find more information on using memcached in your application. In addition to the documentation on the memcached web site, Todd Hoff has compiled a list of articles on memcached and summarized several memcached performance techniques. It’s a pretty versatile tool. For those of you who’ve used memcached, give us a holler in the comments and share your tips and tricks.

Memcached
Strategies for Using Memcached and MySQL Better Together
Memcached and MySQL tutorial (PDF)

Debunking Common Windows Performance Tweaking Myths [Mythbusting]


As a tech writer, one of my biggest pet peeves is the plethora of bad advice littered across almost every web site dedicated to system tweaking. Besides the tweaks that simply don't work, some of them will actually cause your computer to run even slower—or worse. Let's examine some of the most offensive myths out there regarding PC performance tweaking, and debunk them once and for all.

Disabling QoS to Free Up 20% of Bandwidth

This tip made the rounds with people believing that Microsoft always allocates 20% of your bandwidth for Windows Update. According to the instructions, you were supposed to disable QoS in order to free up bandwidth. Unfortunately this tip was not only wrong, but disabling QoS will cause problems with applications that rely on it, like some streaming media or VoIP applications.

Rather than taking my word for it, you can read the official Microsoft response: “There have been claims in various published technical articles and newsgroup postings that Windows XP always reserves 20 percent of the available bandwidth for QoS. These claims are incorrect… One hundred percent of the network bandwidth is available to be shared by all programs unless a program specifically requests priority bandwidth.”

Make Vista Use Multiple Cores to Speed Up Boot Time

boot_option.jpgThis bogus tip made the rounds recently and almost everybody got caught including Lifehacker and big brother site Gizmodo… although commenters called it out quickly on both sides, and the editors updated the posts. (That’s yet another reason to always participate in the comments here.)

According to this tip, you were supposed to use MS Config to modify the “Number of processors” drop-down on the Boot tab. The problem is that this setting is only used for troubleshooting and debugging, to be able to determine if there is a problem with a single processor, or for a programmer to test their code against a single core while running on a multi-core system. Windows will use all your processors by default without this setting.

Clearing Out Windows Prefetch for Faster Startup

The Prefetch feature in Windows XP caches parts of applications that you frequently use and tries to optimize the loading process to speed up application start time, so when a number of sites started suggesting that you clean it out regularly to speed up boot time it seemed like good advice… but sadly that’s not the case, as pointed out by many Lifehacker commenters.

The Prefetch feature is actually used as a sort of index, to tell Windows which parts of an application should be loaded into memory in which order to speed up application load time, but Windows doesn’t use the information unless it’s actually starting an application. There’s also a limit of 128 files that can be stored in the prefetch folder at any point, and Windows cleans out the folder automatically, removing information for applications that haven’t been run as frequently. Not only that, but a well-written defrag utility will use the prefetch information to optimize the position of the files on the disk, speeding up access even further.

Windows expert Ed Bott explains it:

The .pf files don’t get used at all until you run a program. What actually happens when you click an icon is that Windows uses the information in the Prefetch folder to decide which program segments to load and in what order to load those pages.

Cleaning the Registry Improves Performance


The Windows registry is a massive database of almost every setting imaginable for every application on your system. It only makes sense that cleaning it out would improve performance, right? Sadly it’s just a marketing gimmick designed to sell registry cleaner products, as the reality is quite different… registry cleaners only remove a very small number of unused keys, which won’t help performance when you consider the hundreds of thousands of keys in the registry.

This isn’t to say they are completely useless, of course. I’d still recommend cleaning the registry when you are trying to troubleshoot a problem caused by uninstalling buggy software that leaves entries behind, but even then you should be very careful to use a reputable application like previously mentioned CCleaner and review the entries before deleting anything.

Ed Bott weighs in with a stronger opinion:

I’d go a step further: Don’t run registry cleaner programs, period. I won’t go so far as to call them snake oil, but what possible performance benefits can you get from “cleaning up” unneeded registry entries and eliminating a few stray DLL files?

Clear Memory by Processing Idle Tasks

By this point you should be starting to get the picture… if something sounds too good to be true, it likely is. This well-traveled tip usually claims that you can create an “undocumented” shortcut to Rundll32.exe advapi32.dll,ProcessIdleTasks that will clear out memory by processing all of the idle tasks wasting memory in the background.

What’s the problem? Those idle tasks aren’t actually waiting in the background… what you are effectively doing is telling the computer that you’ve walked away so it can now do other processing while you are idle. Except you aren’t. The real purpose of this functionality is to finish all processing before running benchmarks to ensure consistent times, and according to the Microsoft documentation there’s a whole different story:

When called from the command line, the ProcessIdleTasks work is done in the background asynchronously. It can take 10 to 15 minutes for idle tasks to complete. Task Manager will report processes running, and the disk will likely be active during this time.

Read more at The Life of a Techno-Guru blog in a post called Response to Digg Article Claiming to Free up Memory.

Clean, Defrag and Boost Your RAM With SnakeOil Memory Optimizer

Just take a quick look at any download site, and you’ll find hundreds of products that claim to “optimize RAM to make your computer run faster”. Give me a break! Almost all of these products do the same things: they call a Windows API function that forces applications to write out their memory to the pagefile, or they allocate and then deallocate a ton of memory quickly so that Windows will be forced to page everything else.

Both of the techniques make it appear that you’ve suddenly freed up memory, when in reality all you’ve done is trade in your blazing fast RAM for a much slower hard drive. Once you have to switch back to an application that has been moved to the pagefile, it’ll be so slow you’ll be likely to go all Office Space on your machine.

Windows expert Mark Russinovich agrees:

At best, RAM optimizers have no effect, and at worst, they seriously degrade performance.

Disabling Shadow Copy/System Restore Improves Performance

I’ve barely come across a Windows Vista tips site that doesn’t tell you to disable System Restore to speed up performance, because it takes up to 15% of your hard drive by default, which sounds like good advice. Except it’s not.

The reality is that System Restore only actually kicks in when you are installing updates or applications, or at pre-scheduled times in the day, and the automatic checkpoints will only happen when your computer is not being used. These checkpoints allow you to easily roll back your system to a pre-crash state, and I can tell you from experience that System Restore is a critical feature when your Vista machine has problems, allowing you to easily get back to a working state.

Instead of disabling System Restore to free up space, Ed Bott suggests that you simply use Disk Cleanup to remove all but the most recent restore point. (Under the More Options tab, you’ll find a Clean up button).

Enable SuperFetch in Windows XP

Somebody decided to start spreading the myth that you could enable SuperFetch in Windows XP by adding the same EnableSuperfetch key into the registry that Windows Vista has, and it spread like wildfire. Naturally, this tip was completely bogus.

The good news is that this tip is one of the few that will not harm your system in any way, as long as you don’t break something while editing the registry. If you insist on using it, I won’t complain.

If you want some proof, you can use the strings.exe utility to see that “superfetch” doesn’t exist anywhere in the XP kernel, or you can believe Ed Bott and Mark Russinovich, who have already debunked this myth.

Disabling Services to Speed Up the Computer

Perhaps the most common myth is the advice to disable all services that you aren’t using. I realize this will generate some controversy, so let me clarify: Disabling non-essential services that are NOT part of Windows will sometimes yield a performance gain if you have identified those services as causing a problem. You can identify or disable those services by opening msconfig.exe and checking the box for “Hide all Microsoft services” on the Services tab:

The problem with disabling services is that your devices will often not work once you do: for instance, I disabled the “Unknown” dlbt_device service in the list above, and could no longer print to my Dell printer… disabling the VMware services made VMware unable to run, and so forth.

You should be even more careful to not disable built-in Microsoft services in Windows, except for a select few under certain circumstances:

  • SuperFetch—This caching service preloads applications into memory, and actually does work. The problem is that it can cause your hard drive to do a lot of grinding while it's working, which is especially irritating on a laptop.
  • Windows Search—If you don't use the Vista search or you use an alternate desktop search engine, you really don't need this service and can increase performance quite a bit by disabling it.
  • Windows Defender – If you are already using another anti-malware product, you really don’t need this running as well.

Ed Bott’s summary speaks for itself:

If someone tries to talk you into disabling a bunch of other services, ask them what you stand to gain. I’ll bet they can’t tell you.

Editor: Readers should note that a recent Windows Vista tweaking guide, offered for download by Microsoft, does suggest disabling unneeded services.

When it comes to performance tweaking, a very large amount of testing is required each and every time you make a change. The better option is to simply install more RAM and clean up your PC if you are having performance problems, and perhaps demand a little more proof before applying secret hacks.

The How-To Geek is a tech writer and geek enthusiast who loves to tinker with hidden settings that actually work. More of his tips and tweaks can be found daily at Howtogeek.com.


When is it Safe to Modify the DOM?

This is a pretty important question when in comes to DOM programming.  Start manipulating the DOM to early and bad things happen.  Do it too late and the users may see that annoying flicker.   So what's the best technique for figuring this out?  Well, I was curious about this myself so I took a look at how some of the popular Ajax libraries (jQuery, MooTools, YUI, Prototype and ASP.NET AJAX) are doing this.  Here is what I found out …

 

Update: 08/11/2008: I came across an article that sheds more light on ASP.NET AJAX's init technique.  There is a lot of good content in the comments as well (look for the ones left by Dave Reed).  Here are a few snippets of what Dave has to say …

His comments with respect to the location of where the ScriptManager injects the call to Application.initialize …

ScriptManager does not put the call to initialize in a “random” location. It is in fact, always the very last thing in the form, just before the closing form tag. There shouldn’t be anything after that (for better or for worse, form is a major part of an asp.net page), and if there is, it could only be because the dev put content after the closing form tag, and all they must do is move it inside

 

And what he had to say regarding why they chose this approach instead of what some of the other Ajax libraries are using …

To address your follow up post that questions why we used this technique rather than a “proven” technique developed by the community — when we release the framework, we always have to consider the shifting browser space. New browsers may come along. Updates for all the existing browsers come out all the time, sometimes causing bugs, like this one:

weblogs.asp.net/infinitiesloop/archive/2008/04/30/flickering-ui-from-the-asp-net-ajax-toolkit-tabcontainer-while-in-an-updatepanel.aspx

So when we come up against a browser quirk, there are a few rules we try to stick to if it makes sense. The primary one is SIMPLICITY. Because a simple solution is less likely to break than a complex one. Another one is CONSISTENCY. If one technique works in all browsers, it is better to use it in all browsers, otherwise you are more likely to wind up with subtle bugs in one browser but not in another. Another example in the framework of that rule in action is the requirement for the Sys.Application.notifyScriptLoaded call at the end of script references (required, at least, for them to load successfully during a partial update in an update panel). We really didn’t want to require it, but it was the best way to make it work in Safari at the time. So what if you accidentally left out the call in your script? We detect this, even if you are in IE or FF or Opera, and throw an exception! It can work in those browsers without, but its better to warn you — hey, this is wrong, it won’t work in Safari.

 

You don’t need to wait for window.onload …

Its definitely safe to muck with the DOM in the window's onload event, but there is really no need to wait that long.  The onload event doesn't fire until the entire page has loaded (DOM plus images) and often that ends up being too late.  The user ends up seeing the page in potentially 3 different states: DOM without images, DOM with images, and finally the DOM with images and what ever changes your script has applied.  There is no reason why your script can't run just after the DOM has loaded, but before the images are downloaded.

 

DOMContentLoaded

FireFox, Opera 9+ and recent Safari builds all support a DOMContentLoaded event that fires at precisely this moment (after loading the DOM, but before the images are downloaded).  Opera even fires it even before all of the stylesheets have loaded which actually turns out to be a bit too early.  But the bottom line is that you wire an event handler, add your code and be on your way …

   1: if (document.addEventListener) {
   2:   document.addEventListener("DOMContentLoaded", function(){
   3:     // run some code here ...
   4:   }, false);
   5: }

 

Wait – What about IE?

Internet Explorer is a little different.  There is no DOMContentLoaded event so we have to rely on IE specific hacks tricks.  There seem to be generally two different approaches to simulate the DOMContentLoaded event …

The first is to exploit an IE’s non-standard defer attribute located on the script tag.  When IE comes across this it will hold off on executing the script until after the DOM is loaded.  So you can simulate the DOMContentLoaded event by including the script you need executed (include it in onload.js in the example below).

   1: <script defer src="onload.js"></script>

 

The second workaround (which seems to be a little more popular) includes setting up a function that attempts to scroll an element.  If an error is raised, the DOM isn't quite ready for us yet and we try it again later.  If no exception is raised we know it is safe to run our script.  Here is an example of what this looks like (taken from ajaxian) …

   1: (function (){
   2:         //check IE's proprietary DOM members
   3:         if (!document.uniqueID && document.expando) return; 
   4:  
   5:         //you can create any tagName, even customTag like <document :ready />
   6:         var tempNode = document.createElement('document:ready');  
   7:  
   8:         try {
   9:                 //see if it throws errors until after ondocumentready
  10:                 tempNode.doScroll('left');
  11:  
  12:                 //call your function which catch window.onDocumentReady
  13:                 alert('window.onDocumentReady()');
  14:  
  15:                 //relaese some memory, if possible
  16:  
  17:                 tempNode = null;
  18:  
  19:         } catch (err) {
  20:                 setTimeout(arguments.callee, 0);
  21:         }
  22: })();
  23:  

 

jQuery 1.2.6, MooTools 1.2 and YUI 2.5.2 all use variations of the second technique to simulate the DOMContentLoaded in Internet Explorer.  Prototype 1.6.0.2 includes a variation of the first technique.

 

Will IE8 Support DOMContentLoaded?

I am not sure.  I found this gem in the transcripts for the Windows Internet Explorer 8 Expert Zone Chat (March 20, 2008)

Marc Silbey [MSFT] (Expert):
Q: Will IE8 support HTMLElement? addEventListener? DOMContentLoaded?
A: We are working on improving our standards support to be more interoperable with other browsers. That said, we can’t really promise support for features or standards in future releases. You can look for the features you want on the IE8 Beta Feedback site and vote on them. Check out the IE blog post here for more information:
blogs.msdn.com/ie/archive/2008/03/05/ie8-beta-feedback.aspx

 

What Does ASP.NET AJAX Do?

I found it interesting that ASP.NET AJAX doesn't attempt any browser specific optimizations (like attaching to the DOMContentLoaded event).  Instead, ASP.NET AJAX simply queues its initialization function to be executed after the DOM is loaded by using window.setTimeout.  Here is the bit of code that does this …

   1: function Sys$_Application$initialize() {
   2:     if(!this._initialized && !this._initializing) {
   3:         this._initializing = true;
   4:         // Raise the init events on a timeout so it is queued. This delays the component creation until after the body is
   5:         // is ready for use. Without this, if a component adds a dom element to body it will be modifying the body before
   6:         // window.onload, which causes an "operation aborted" error in IE. We use this trick for all browsers for consistency.
   7:         window.setTimeout(Function.createDelegate(this, this._doInitialize), 0);
   8:     }
   9: }

 

I tried to find some documentation explaining why this works, but I couldn't find any.  Apparently queuing a function like this ensures it will execute after the DOM has loaded.  This is real simple, but unless I am mistaken, not taking advantage of the other browsers DOMContentLoaded event causes ASP.NET AJAX's initialization function to execute just a bit later than it could in FireFox, Opera and Safari.  Not the end of the world, but it could maybe use some optimization as well.

Another thing I was curious about was if this approach would work if the call to Sys.Application.initialize(); wasn't located so far down in the page (I believe the ScriptManager injects this guy way down by the body's closing tag).  Anyone know anything more about this?

 

Some Real Simple Tests

To play around with these I created a real simple page where I used each of the Ajax libraries initialization functions to run a bit of code that hides a big red banner.  Then I loaded the pages in the different browsers to see how well they performed.  I know, nothing too complicated, but just enough to get a feel for it.

In each of these pages I have wired the Ajax libraries init function to hide an element that contains the text 'Did this flicker?'.  Ideally you will never see this text in any of the demos.  Under the header I print out roughly the number of milliseconds it took for the init function to be invoked and finally at the bottom of the page I have links to the other demo pages.

Depending on the what browser/Ajax library combination you are using will depend on how well the page performs.

Here are the links to these test pages:  ASP.NET AJAX | jQuery | MooTools | Yahoo!

image 

That's it.  Enjoy!

Griffith Manages Your Movie Collection [Featured Download]

griffth-logo.png Windows/Linux: Media cataloging software Griffith covers nearly every aspect of managing your movie collection. Entering movies in the database is snap, and a button in the add movie dialog box searches 22 film databases—so no matter how obscure the film is there's a good chance you won't have to fill in its information by hand. Search big collections by keywords or date ranges in Griffith as well, and track what movies you've loaned out to whom.

The image associated with this post is best viewed using a browser.

Other fun Griffith features include the ability to download movie posters, and a suggestion feature which selects a random movie from your collection that you haven’t watched yet. Griffith is a free download for Windows and Linux.


Free topo maps

Topo maps have long been friends of all explorers and wanderers. Contours of the land make or break your journey, but this critical relief is not captured by the satellite images or street maps usually found on Google Earth. Togographical maps however do show relief. Topo maps typically display the gradient of the land as concentric contour lines which can be easily followed. Topo maps also label structures, buildings, railways, and other features of interest to someone trying to navigate on their own power. All continental areas of the US have been mapped in topographic detail and these crisply printed topo maps are available inexpensively from the United States Geographical Service.

But this is the age of freeconomics, so there are two ways to acquire topo maps for free.

The easiest way is to download a free nifty app for Google Earth, called the Topographical Overlay, that will add a KMZ “layer” of official US topo maps on Google Earth. Once installed you can toggle it on or off. When on, the Topo Overlay displays the standard 7.5 minute topos as one seamless map of the country. This makes it very easy to center your interest in the middle of your custom map. (You can buy a similar service on a not-cheap set of CDs from National Geographic, but you get the same thing here for free.) For browsing, this arrangement is hard to beat. You can zoom in, or out, and scroll forever. Its major drawback is printing. I have not been able to get the displayed map to print larger than one half of a standard letter page.

topo-maps2.jpg
Topographical Overlay layer in Google Earth.

However there is another way to print free topos. You can download, for free, a high resolution PDF file of any US topo map made. These are the same maps that the Google Earth app is using, but here they are dished out one by one in PDF format. Go to the USGS Map Locator page, and search for the quad you want. You can type in an “street” address just like in Google. Click on the appropriate miniature map and then choose which scale map of the area you want to download. The PDF files of the standard 7.5 minute topo map will be between 6 and 16 megs. You’ll need Photoshop or equivalent to crop and size them. Be prepared to use some heavy duty processing power. These are big, very detailed maps.

Once prepared, you can then print the topo map out yourself if you have a wide color printer. But since you can order the topo map itself for only $6 (plus postage) from the same government website, why not buy if you have the time?

There are four good reasons you might want to download and print your own topo maps.

1) It is instant. When you need a topo today, it’s worth the hassle of messing with files.
2) It is selective. Way too often the spot you are looking for is in the corner of 4 maps, which means you have to order all four just to center the chosen area. You can eliminate 3 extra maps by combining the parts you want into one map.
3) You can print it on Teslin map paper (see below) which holds up in field use.
4) It can be lots cheaper.

However most of us don’t have extra wide printers. You can print a series of cropped portions of a topo on regular 8.5 x 11 sheets at the official scale, but I wouldn’t want to do many by hand like that — say a long trail. (Someone should write a utility for that job; write me if you know of one.) Even a slighter wider printer which can handle a 11 x 17 size sheet (Ledger) will give you very usable results. I recently printed a river run by cutting out the relevant sections of 6 topos, then printing each sheet at standard scale on an 11 x 17 page. We got served wonderfully.

topomaps3.jpg
Teslin +ink-jet map, printed on both sides. No-see-through when used horizontally.

Whatever size you print, you can drastically increase the usability of your home-printed map by upgrading to Teslin paper. National Geographic sells cut sheets of Teslin as Adventure Paper. Think tyvek, but smoother and printable. It’s available in boxes of 25, 15 or 10 sheets depending on size. You send this this untearable, nearly indestructible paper through your ordinary ink jet printer. The resulting map (see picture above) can then be dunked in the ocean, folded again and again, and it won’t break. When applied as if the paper were Glossy Photo Paper, your typical ink jet ink seems to adhere well and hold up pretty good to abuse. It can be printed on both sides, too, to further compact your maps.

– KK

USGS Topographical Overlay (KMZ file)

USGS Map Locator

National Geographic Adventure Paper
11 x 17 inches, 10 sheets
$20
Available from National Geographic

And from REI

Or Waterproof-Paper.com

Related items previously reviewed in Cool Tools:

gps-google.jpg
GPS & Google Earth Solution

offroute.jpg
Offroute

making-topos.jpg
Making Your Own Digital Topo Maps These Days

Microsoft’s Advice on How to Speed Up Vista [Vista Tip]

vista-tune-th.pngIf your Vista PC isn’t as speedy as you’d like, straight from the horse’s mouth comes a 14-page PDF document on Vista Performance and Tuning. Microsoft’s suggestions include customizing Vista’s power plan, sleeping the machine instead of shutting down, turning off search indexing in folders you don’t need it, disabling visual effects, using ReadyBoost to add extra memory with a thumb drive, and disabling unneeded startup programs and services. All of these tips are old hat to seasoned Windows tweakers, but this PDF is a nicely laid out and detailed package you can easily email to your brother-in-law.

Windows Vista Performance and Tuning [Microsoft Download Center via gHacks]


New Icons to Spruce Up Your Linux Desktop [Icons]

linuxicon.png Tech site CatsWhoCode.com offer 10 good-looking icon sets to customize your GNU/Linux desktop. No Linux? Check out our top 10 free wallpaper, fonts and icon sources.


Choose Safer Tires Based on Tire ID Numbers [MUST READ]

2008-07-31_002921.jpg Purchasing new tires would seem like a straightforward proposition. If it looks brand new, smells brand new, has a factory sticker on it, and no signs of wear and tear, it is brand new and perfectly safe, right? Unfortunately there is more to something as simple-looking as a tire than the average consumer has been lead to believe. Tires have a shelf life and gambling with that shelf life can mean gambling with your safety.

Many manufactures don’t advertise the fact that tires have a shelf life, and that even a brand new tire that has never seen the mean streets can expire before it’s time. Paul Michael over at the financial blog Wise Bread has written an excellent overview of how you can protect yourself against putting dangerously old tires on your car.

When it comes to determining the age of a tire, it is easy to identify when a tire was manufactured by reading its Tire Identification Number (often referred to as the tire’s serial number). Unlike vehicle identification numbers (VINs) and the serial numbers used on many other consumer goods (which identify one specific item), Tire Identification Numbers are really batch codes that identify the week and year the tire was produced.

Although in many other countries there are restrictions on selling older tires, in the United States there is no restriction. A retailer in the U.S. could sell you a 15-year-old set of tires if it looked new enough to convince you to pay for it, all the while knowing that the tire could well be dry rotted or degraded due to its advanced age. Stamped into the side wall of every tire is the date of manufacture, Paul covers the various incarnations of this date stamp and how to read it. Armed with the ability to read the Tire ID Numbers the next time you go to purchase tires you’ll be able to determine how old the tires are and ensure that you end up with a newly manufactured and safe set of tires.


Windows Tip: Vista Performance and Tuning Guide from Microsoft

Would you look at that? Microsoft suddenly came up with their own take on tweaking Windows Vista. As if we need their help now after all of this time all the other OS gurus have been helping us figure out a thing or two to make their darned OS do our bidding without flashing its Blue Screen of Death.

Just a few days ago, they’ve released this 14-page guide to tune Windows Vista. It’s available as PDF and XPS and is free for download.

Here’s a snapshot of what to expect in this document:

  • Making configuration changes that help a computer feel more responsive when you use it.
  • Using hardware to boost the actual physical speed of a computer.
  • Making configuration changes that help a computer to start faster.
  • Making the computer more reliable may help increase performance.
  • Monitoring performance occasionally so that you can stop problems before they get too big.

I’d have to admit that this guide is probably for the newbies to Windows. Experienced users might consider this a waste of time since most of the “tweaks” featured here are often part of routine set-up and maintenance.

Download Windows Vista Performance and Tuning Guide here.

Closing Microsoft Office’s Annoying Clipboard Bar [Office Tip]


As anyone who works in an industry that uses Microsoft Office exclusively can tell you, there are certain Office annoyances that grate on your nerves over time. For me, one of the biggest Office annoyances is the Clipboard bar that decides to dock itself to the side of whichever Office application I had the misfortune of using Ctrl+C in.

You can remove it by clicking the Options button at the bottom and unchecking the options to “Show Office Clipboard”, and closing the panel. But each time I sit down on a new install I’m annoyed all over again.

Instead of creating text snippets that can be inserted anywhere like Texter, or working across all applications like previously mentioned Ditto, the Clipboard bar is an Office-only feature, leaving the question that must be asked: Does anybody use this feature? Better still, do you have a preferred clipboard trick that saves you time? Let us know in the comments.


WP Like Button Plugin by Free WordPress Templates