Showing posts from 2006

US City and State CSV File

I've seen requests for this type of file on a few forums. Well, I just happen to have a pretty large list of those cities and states at my disposal, so I'm posting it on for anyone to download.

If you want any more data to go with it, just let me know. Otherwise, enjoy.

US City and State CSV File

Text-Link-Ads - You've been found out!

Look out, Patrick Gavin and crew. Google is on to you. As you can see, my gmail has already alerted me that anyone buying links through text-link-ads will obviously be needing to file a re-inclusion request, so they included the link for convenience. That's awfully swell of them.

I guess I'll quit marketing and start filing re-inclusion requests now. They're on to this little game of yours. Matt Cutts finally figured out your scheme.

Yeah... right. And next you'll tell me MSN's results are totally SPAM-less. At least Google has a good enough sense of humor to make me laugh today.

Free shipping test

We've never really wanted to offer free shipping. After all, it something we get charged for every single order we send out. So we're running a test. Let's see what our conversion rates do. It's not actually free, but it is one penny. Close enough for me.

Over the holidays, we had some manufacturers pony up and pay for shipping on a lot of the orders. Our conversion rates really went up. But this will mark the first time that any order over $99 (and under 75 lbs) will ship for 1¢ on ToolBarn.

I've got my eye on it, and when I learn something, I'll report back here. But for now, it'd be a great time to buy something from ToolBarn.

Doggone blog tags.

Yeah... incrediblehelp, I mean Jaan Kanellis, blog tagged me. It took me a few days to get through my RSS feeds to see that he had done it, so here goes.

5 things you (probably) didn't know about me.

1. I never finished college.
Much like Jaan, I didn't finish. In fact, I took 2 semesters of Chemical Engineering from UNL right out of high school, didn't really take a 3rd, then went through most of the management training at Radio Shack before going off and really getting into computers. I took some classes at Metropolitan Community College for web stuff later, although I just ended up helping other students (and the teachers) most of the time.

2. I play tennis.
I started in grade school, didn't take it as serious as I should have in high school, didn't play in college at all, and took some years off. Last year I started up again and now play a couple of nights per week on an organized league.

3. I've built and mostly on my own.

Frosted Linux Charms - Openly Delicious

“They’re always after ‘me Open Source Secrets!” A favorite for more geeks than sheiks, delicious Linux Charms cereal features frosted oats and colored marshmallows. Tux the Penguin creates the marshmallow shapes – yellow dogs, red hats, and white boxes – with his Open Source magic. While kids love the taste, parents are happy that Linux Charms is fortified with 256 bit security, and is a good source of independent thought. It’s openly delicious!

This magical Yellow Dog marshmallow, while not all that well known, has been found to be particularly tasty for those with iPod, cell phone and PS3 serving utensils.

Probably the most famous of the Linux charms marshmallows is the Red Hat, which has taken the enterprise breakfast to the level of banquet in a short amount of time.

White boxes have a flavor similar to that of Red Hats, but are getting to be much more plentiful due to their low cost and quality ingredients. We include White Boxes in each and every spoonful of Linux Charms for exactl…

My PC is finally back to full speed

I'm not exactly sure what happened, but we had a power blink yesterday (which my battery backup didn't protect me from), and now my PC is back to full speed. How ironic. I even turned on hyperthreading for both CPU's and it's working fine, with a graph showing 4 CPU usage percentages.

Now we get to see if I can do more work. I know for sure I'll be looking at my email more since it won't take 2 minutes between messages.

Interview on

I got interviewed alongside Allan Dick at SES in Chicago last week by, and they posted the video on their site. Go ahead and give it a watch. I'm sure I said something stupid somewhere, but I think it shows my long-term strategy a bit.

Linkbait... oh the possibilities

Every time I go to SES, I end up talking to Todd. Lately, I've also been talking with Rand, Ken (some guy), and Todd. What do the first two have in common that the second two don't seem to buy into as much?


Todd and Rand are two very good writers, and the linkbait they produce is second to none. Ken and the other Todd seem to use more traditional SEO methods, although they're not totally ignoring linkbait. Nor are they ignoring rankings.

I guess what it comes down to is this: Do you want to do linking strategies, or do you want to be creative and have links show up because of some (interesting / controversial / insightful) content? Either one takes work.

So what type of linkbait could we come up with for power tools? Something viral, like doing stupid things on video with power tools, would obviously attract some attention. Buying guides and hands on stuff seems to get minimal attention, although they do bring a few links if done well. I've got a couple ideas up …

Wal-Mart's pricing is different online

As I was browsing for a monitor today, I noticed they had one for less than most of the other online sites I usually check out. I decided that since this wasn't an "Online Only" listing that I'd head over and pick one up. I didn't have much trouble finding it in the store (they don't have much selection, so it's easy to spot it), then I went to the checkout. I was grabbing the one below:

I wasn't thinking about it much as I approached the register, but when the lady scanned the box and it came up as $192, I wasn't pleased. $22.12 extra just for shopping in the store? That's not right. That's an extra 13%, plus I'll have to pay more in sales tax.

For now, Wal-Mart is on that list that begins with the letter "S" once again. Not that they ever stray much from that list, but I've got another reason. Too bad my hometown doesn't have much else to choose from. I'll have to venture out after work one of these d…

By popular demand...

I've been having lots of people email me asking for a copy of my slides from the Shopping Search Tactics session at SES last week. Instead of emailing everyone with that, I'm just going to post the presentation here. Any questions on it, let me know.

WebmasterRadio.FM - What's up?

I had a nice conversation with Darron of WebmasterRadio.FM at SES. He showed me a sneak peek of WebmasterRadio 2.0 and gave me a tour of the analytics he can pull from Akamai, which he had switched to just 8 days prior. It was really cool, and I'm hoping to take a deeper look at using soon (which is why he showed me anything in the first place). Oh, and I won't say anything about those stats, the servers, or the admin panels since Darren said he'd hunt me down and kill me if I did. I don't think that's really the case, but I did see some sensitive stuff that he doesn't want out in public.

But all of this leads me to wonder what's going on tonight. As I'm trying to get a podcast of "The Alternative" - specifically the episode from 12/07/2006 (52 MB), it's been working for 2 hours and still shows 12 minutes left. I'd consider that it might be my connection, but I downloaded 800 megs of other podcasts while this was going, and that didn…

Being called a RockStar... priceless

My ego got a boost at SES this time (not that it really needed that - ego's don't sell products) when I was called a "True SEO RockStar" by an SEO RockStar. It's rather nice getting noticed by some of the people in the industry, and really validates what I do on a daily basis.

Some other take-aways from SES so far.

There is a lot of money in domain brokering. I heard about a .net domain that a guy bought for $149k. He also has a domain that is related to our space that he scored that has had multiple offers that he's rejected thrown at him.

Podcasting isn't just for playing with any more. It's a real medium that even some nuts-and-bolt sellers are using to increase sales.

Very few online businesses can do $1M/month in sales. According to a source, even the's of the world fall short of that mark, making what I'm doing at ToolBarn even more impressive.

I guess what people have been saying for years is true - the Internet creates a level play…

The windy city... and SES

One thing you've got to say about Chicago... this place blows! Literally. And it's always a cold wind on top of that. But I made it here, all the giveaways I have for evens made it in one piece (well, 37 pieces for the socket sets), and I'm all ready and waiting for something to start.

While checking in, Bruce Clay welcomed me to the wonderful weather of Chicago. Little did he realize it wasn't much different than home.

Prices for Internet access went up from last year. It was $9.99 12 months ago, now it's $12.95/day. I opted for the $59.95 for a week route, since 5 days at $12.95 was a bit more than the weekly rate.

In any even, I'm off to meet Allan Dick of Vintage Tub and we'll see what we can accomplish tonight. First order of business: food.

Packing my bags

I'm packing my bags tonight to head out to Chicago tomorrow. I'll be speaking on one panel on Thursday. I'm looking forward to seeing some friends, talking shop with someone who understands what I do, and meeting some new people. I tend to get more from the networking than from the sessions now (9 conferences in 3 years can do that), so I'll be watching out for cool people once again.

Someday I'll have to show up with my resume polished up, but for now I'm not actively looking. Yet, every time I go there, someone offers me a job. I guess success breeds interest and options.

I've also got some really cool giveaways this time, ranging from several 37 piece socket sets for my session to a huge contractor's bag full of hand tools and a Lithium-ion cordless driver for a private party on Monday night. This should be fun. Last time sure was as I gave Chris Sherman of SearchEngineWatch a tool belt. Not only was it fun that he won it, but he actually wanted it fo…

Wow... what a day!

It appears that just like everyone was speculating who was more reputable than the news, Monday wasn't the biggest day for online sales. In fact, today has been MUCH stronger than Monday was. In fact, today was over 40% better by sales numbers, although it was fewer orders.

This sort of mirrors last year... with us showing a 40% increase just as December started. This could be the sign of good things to come for sure. Higher and higher... until eventually the top will blow right off the building.

Ok, maybe not. But it is nice wondering how we're going to get all of the orders out the door and not wondering if we're going to have anything to do tomorrow like some site owners I've talked to.

If I could just take everything I know about building an online business, put it in a bottle, and then sell it... why... that'd be worth at least 35 cents plus tax. If I'm still attached to those thoughts, then what am I doing in a bottle? Let me out and I could help out a lot m…

Easily Installing Perl, PHP, and Apache in Windows

For many developers, running a simple web server on a windows box would simplify things a lot. I've been asked many times how to do that best. Well, my answer has been the same for a while now: use Indigo.

Indigo Perl installs Apache as a service with PHP and Perl support. You can install this right to your Windows workstation and be off and running in a few minutes. No more uploading a file and saying "Oops" when there's a typo. Install it and view your site on your own PC before you FTP the files up to your web server.

I've installed this on a few Windows servers as well for some Intranet apps. It sure beats manually configuring things to run Perl, since that's the language I program almost everything in. Yep, I'm old school, but that's mostly linked to my past as a Unix sysadmin. Wow... that makes me really old school.

My Dad - Blogging About Jeeps

My dad decided he wanted to blog about his Jeep a while ago. So we got him set up on blogger and gave him a real simple template. Some of the little things that get him excited about his blog is a real hoot. They all seem so "normal" to me now that it'd be annoying if it didn't work.

For example, we got him hooked up with AdSense last night for his blog. He had to email me today to say "It's showing Jeep ads now". Uh, what else should it show. But last night it was PSA ads, so this was a change that just "Happened", and it got him excited. Excited enough that he made 2 posts today.

Something that I find refreshing when he makes a blog post is that he's not concerned with SEO (oh, I'll change that... eventually), so his articles come out more "Genuine". I see so many blogs any more that are so SEO focused that they're tough to read. Some seem to be so centered around Keyword Density that they just don't make sense to rea…

P3P Privacy Policy

For years now, I've been holding out on a P3P implementation. My reasons were a few.

P3P participation was voluntary.P3P xml files have a lot of options, and I didn't want to muck them up.I didn't really see any negatives for not participating.
Well, in researching the checkout issues we've been having, it seems I may have stumbled on what's happening. It appears that some anti-phishing filters were getting tripped because we're collecting personal information without P3P disclosure of what we're doing with it. Grr... this could be a real pain in the... Hey!

Turns out, there are several simple tools for creating a P3P Privacy Policy now. I tried the tool from IBM, and it wasn't too good. It seemed tougher than just making an XML file, since you had to know what all the options meant. I think you may as well just look up the spec and write one if you're going to use their tool. I looked at a few others, but they didn't take AmEx (the only business c…

Getting organized

Being overwhelmed with work most of the time, I don't do a good job of cleaning off my desk. This ends every so often with a 2 hour sort through everything and trash most of it session. So when my dad decided to start blogging, I think he remembered my desk when choosing a topic. He decided to do some organizational tips.

It's not that organizing is that hard, but getting started is always a problem for me. I don't ever know where to start, let alone how to keep it up. I think I'm going to need to get some hanging files and start sorting documentation from code samples and marketing ideas from magazines.

The main point of this post is that my dad is starting to blog and needed someone to announce this to the world. That someone just happened to be me.

Warehouses, wallets and their 4th quarter connection.

We got done with inventory today. It looks like we located items we had written off when they weren't in the right spot... and we even found more than had grown legs for once.

So now that we know where everything is and how many we have, I think we're ready to ship it out by the truckload for the holidays. Ah yes... 4th quarter, when warehouses and wallets shall both run empty. It seems those are connected this time of year.

More inventory fun...

Well, I got out of counting by entering the data into our Inventory Management System. I'm not sure if that was worse or better. On the one hand, I didn't have to get up on ladders or try to hunt down where on the sheets the item was. On the other hand, I was stuck using a computer with a 15" CRT and lots of glare - not to mention it locked up on me several times. But with how our system is set up, I didn't even have to use most of the keyboard for my job.

Tomorrow we'll be finishing up counting, then we'll finalize it and the inventory on our website will update automagically. At least that part of the technology is cool, even if the manual entry of everything isn't all that much fun.

Physical Inventory Today

Physical inventory. Two words I dread more than, well, anything. Ok, so "We need to talk" would scare me more. But in this virtual age, why can't I count all the bits and bytes while the people who deal with physical goods deal with the physical inventory? That'd be fair, right? Look, I can do it now.

df -v

Ok, so that's a bit of Linux humor, and not all that good either. But physical inventory with orders literally flying in the door is going to be interesting to say the least. But I guess it's better to have too many orders than not enough. I better get started counting.

1, 2, 3, 4...

How do people sell on eBay below cost?

Well, I've got to say I've always wondered this myself. There are constant calls and emails to us asking for price matches to eBay for items being sold as "Brand new" for far below our cost. But how do they go about doing this? Simple: Fraud.

But it's not the type of fraud that you first think of with eBay. This is a smarter fraud. One that we've had the pleasure recently of being on the wrong end of. We let our guard down and got nailed, so our internal policies are changing. They're having online merchants ship the products to whoever buys the item... but placing the order with a stolen credit card.

You see, online business isn't where credit card fraud originates. Sure, there are select cases where that's happened. But, for the most part, credit card fraud begins offline with someone getting a credit card via physical means, then moves to online to do the fraudulent transaction. Rand Fishkin says we're all going to have to figure out how to p… - Sweet search idea!

As I'm trying to catch up on SEO Rockstars, I came across them mentioning's service that rates websites and the probability that they're installing spyware. I tried a search for "free screensavers" as a test (not that I know someone in that space or anything), and I see 3 of the icons showing just in the ads. Very sweet.

Not only is this an overlay over Google's results (not quite the same as going straight to Google, though - must be API results), but they also have the option for MSN or Yahoo results. It looks like they're also getting ready to roll out Ask results, and I hear there might be a toolbar for FireFox soon. They have the FireFox search plugin already, but a toolbar to tell you about the site you're on would be very cool.

I think we need to get some of our executives using this tool. That might make some of the IT job easier.


I sent this to Matt from our IT department, and he checked out the phrase "free antispyware&qu…

How can my eCommerce site use RSS feeds?

I've heard this question a few times. The answer is both simple and complex. So let's take a look at what you can do for an eCommerce site using RSS.

BLOG feeds

Ok, so this answer is probably too simple. But the important thing here is that you've got a blog talking about all the neat things you learn about your own products as you add them to your site, get feedback from customers or (better yet) use them yourself. Nothing beats personal experience, and if you can relate that to your customer well, you gain credibility. Plus, a well done blog gathers subscribers over time and those are "trusted" feeds, so you don't have to worry about SPAM filters when delivering your message to potential customers.

New products

Yes, a new products page is very important to have on your site. I've seen people question their usefulness, but to me there is no better way to get bots to index new product quicker. We maintain our new products page (in an automated fashion, of cou…

Scraping our site - for ourselves

After spending some time digging around online, I've noticed a few things.

1) Scraper pages rank well.

2) Our site ranks well.

3) Links to searches on our site tend to make that page rank well.

By taking a look at our search logs, it appears that people search the same way on our site that they search on Google. That's good news to me, because we use Google hardware for our search. But what's even better news is that we can capture what product they go to when they search for an item and create a link back to the search results the item was found in for each and every product on our site.

So let me back up one step here. Since our product pages are dynamically generated, we can take a look at referrer data (HTTP_REFERER environment variable) and get the search terms out of the URL (if any). We can log these to a table with the brand name and the SKU, then take a look when we display the product page for any queries in that table that we'd like to show.

So now, on a product l…

Prepping for SES

Once again, I'll be speaking on the Shopping Search Tactics panel at SES. This will be the 6th time on that panel, so I want to change up what I'm saying quite a bit. Nothing is worse than a stale presentation, right?

So what I'm doing is starting out with a horror story, then showing how it wasn't a reality because of our involvement with shopping engines. From there, I'll get more into the strategy of optimizing feeds and how testing can make or break a shopping engine campaign.

This will be quite different than what I've done in the past, but it seems like from the feedback we've received this is more what people want. Of course, the rest of the session being re-done should help as well. It'll be interesting in any event.

Overwhelming response...

I posted on a couple of forums (both private and public forums) about the site-wide HTML validation service that I'm working on and mentioned here yesterday. So far, the response has been overwhelming. Of course, people want it to do everything imaginable out of the box, but most of the things that have been asked of it are in the plans for down the road. Most people are happy to hear that it's at least in the plans.

Now, as for pricing models, I have a lot of ideas there. Obviously this thing could get to be a bandwidth hog if I let everyone check every page of their site multiple times per day. So my plan is to have the free plan, the $5/month plan, the $20/month plan, $50/month plan and the $100/month plan. This will allow for different number of automated page checks per month based on the plan cost. Oh, and I plan on allowing to pay for 10 months for 1 year of service as well. But I'm not going to say exactly what's allowed for each pricing level yet. You'll ju…

Full Site HTML Validation - Coming Soon

If you've ever tried validating a large site (more than 100 pages), you know why I say that's a huge headache. Well, I'm getting ready to roll out a full-site HTML validation service. It'll do all the checks of the W3's validator, using their tools in fact. But what it does differently is validate all of your pages automatically without having to check each one individually, with follow-up checks available. You'll even be able to sort them by most or least errors.

Obviously I'm not going to be able to help everyone fix the errors, but I should be able to give them a list of errors to work from.

If you're interested in this service, I'll have a form up fairly soon to be notified when more beta testers are being accepted as well as when the full roll-out occurs. Until that happens, you won't be able to use HTML Monitor, just the W3 validator.

Microsoft : Macs are the $H1T

Yes, Microsoft Office is far from the greatest product I've ever used. But when they come out and put on the front of the package what they think macs are made of in full visual representation, it entertains me. Better yet, I'm pretty sure that version works better than the one they sell for PC's. Hey, it can't be much worse. After all, Microsoft is the preferred target platform of virus and malware developers.

Whatever happened to...

Whatever happened to all those reports that people were getting brain cancer from cell phones? I remember one that took only a matter of months to supposedly get a huge tumor. But that was before the whole ringtone craze, text messaging wasn't common, and cell phones weren't quite an "everybody" thing.

So what does this mean? Did phones get safer? Did some of those reports get disproved? Were they all hoaxes? Or was it all part of some "Master plan" to try to get us using hardwired lines again? Whatever it was, it seem that the trend has passed (thankfully), and we can get back to wasting our lives away on the phone from everywhere - not that anyone had been stopped from doing so by the news reports that were coming out during the height of the scare.

Sadly, this seems to be just like most things nowadays: We all ignored it and it went away.

Attempting HTML validation on checkout pages

That's right... I'm attempting HTML validation on our checkout pages. This process is a real pain, but it seems like one of the few places for me to look yet when trying to troubleshoot our MSN customer checkout problems. So far, it's been mostly forgetting to end fonts before the end of a td section, so it hasn't really changed anything. Oh, and forgetting a few # signs at the beginning of colors. I used to be terrible at that. But so far, quite a few errors corrected and nothing in the way of changing the phone overload problems we've been facing.

I guess it's good that we're getting record sales yet, but imagine where we'd be if our site visitors could get things to work on their own. Who knows how much business we're losing as a result? I sure don't, but I have a guess, and that guess wouldn't make me happy if I dwelled on it too much instead of looking at other possible causes of the problems. As long as I keep busy, things seem much be…

Troubleshooting MSN Checkout problems

We've been having some trouble with the checkout process on our sites over the past month.

First, we have been preparing a third party integration on ToolBarn (not even Offermatica, as that's been installed and running for a while now without problems) that caused SSL warnings in checkout. This lasted most of a business week, causing sales during that week to seem slightly "soft" (our term for below average.)

Secondly, Shoemoney had a $50 coupon for AdCenter (Microsoft's advertising platform for those not familiar with PPC). Well, I got it all up and running, and we immediately started having people calling in saying they were having problems with checkout. The oddball part here - they all have MSN as an ISP, most using MSN Explorer for a browser. So I'm left trying to figure out why. I mean, IE and FireFox are both used in our call center, and we've got the occasional Opera user testing it. I have a Mac to test things on as well. I also use Linux, so yet a…

Another record month - and checkout problems to boot

We had a record Monday yesterday, and October has proven to be an overall record month online for us. Both of our sites had individual records, leaving no choice but to have a combined record month.

But the month wasn't without problems. In fact, both sites have been suffering from some serious problems, which leaves a record month as even more amazing to me.

I'll describe some of those in my next post... but this one is all about the celebration! Let's get this party started!

10 Terabytes of data

Talking about eBay:The ultrapopular auction/sales Web site continues its exponential growth and finds itself adding 10 terabytes of new storage every week. That's a lot of data.Holy cow! We've been running an ecommerce site for several years now, and we've got quite a bit of data, but nowhere near 10 terabytes. And that's just what they add per week? Wow.

Of course, I don't have an inside scoop at eBay. This was a quote from an eWeek article. But when I stop to think about 10 terabytes of data, then imagine 10 more the following week (yes, that's more than 1 terabyte per day), that makes me quickly realize we need a new word, because 3 years will top 1,000 terabyes of storage added. That's just incredible.

One other thing that seemed very interesting in that article and worth mentioning, was on the final page.
When it comes to handling all that traffic, Strong said the world's time zones provide a kind of natural "load-balancer." "When we&…

IE7 still lacks in encryption

For those of us that use FireFox on a regular basis, 256 bit encryption is something we don't think about. It's just there, as it should be. SSL certificate providers have been issuing 256 bit certificates for several years now, so it's a no-brainer that browsers should support this.

In defense of IE6, it came out long before 256 bit certs became the norm, and very few feature enhancements were ever incorporated. However, IE7 is a different story. FireFox has supported them for quite some time, and IE7 is brand spanking new, but it still doesn't support 256 bit encryption.

Now I'm not saying that breaking 128 bit is so common that this is a HUGE security problem. But when something to make communications over a public network more secure is available, why wouldn't a software company choose to support those features?

Well, the answer found on the MSDN blog is that the dll they use for cryptography is part of the OS, so Vista will have the fix. Of course, IE3 and IE…

Google Results Estimates (still) Broken

I was doing some searching to see how a blog we set up was doing. When you use the "And" operator in a Google search, it says that it isn't necessary because Google looks for all the words in the query string for each search every time, or something to that effect. So, the natural meaning to that is the longer the query, the fewer the results.

Google search for tool repair = 1.7M results.
Google search for tool repair success = 8.7M results.

What's wrong with this picture? Making the query more specific by adding another word shouldn't more than quadruple the number of results. That's just plain crazy. So much for the "More accurate counts" I have been hearing about.

Validating email addresses within forms

I'm starting to work on developing an AJAX-style checkout process and came across something pretty cool. It uses a combination of a server-side Perl script, a Perl module, some JavaScript and a simple HTML form.

The first thing I had to do was install the Mail::CheckUser module. The installation on all 5 servers I tried it on didn't want to work via normal methods, and 'make test' always came back saying it had errors, but doing a 'make install' let it install and it works just fine, even with all of the errors reported by the test step.

The next thing to do was create a real simple Perl script to check it out. I simply called it (since it's part of a form validation routine) and loaded it to a web server with the correct permissions, then replicated it across the rest of our servers. The actual work is done by the following chunk of code.
print qq(Content-type: text/plain\n\n);
use CGI qw (:standard);

sub checkEmail{

Sweet PC Cases & the problem with upgrades

Today we came across some really cool PC cases while trying to find one to hold my 12"x13" motherboard. Not only do some of the new cases not look like PC's at all, they have some neat features. This got Matt and I talking about upgrading our home PC's again, and we came to an interesting conclusion.

In the past, it was easy enough to buy a new motherboard and processor and call it an upgrade. Now, the accessory technologies have changed so much that both of the PC's we have at home would basically need complete replacements. This has us both frustrated to the point of not wanting to upgrade.

Basically, we both have AGP video cards, so we'd want to change to SLI or PCI-Express as a minimum. We'd also want SATA Raid-Spec drives, and memory technology has changed enough to make our RAM need replacement if we get a new machine. But what really bugs us is that we would only be re-using the sound card, and those are sort of outdated as well. Oh, and we'd al…

Ultra Long Passwords

Matt was reading his weekly Woot email today and had to send me a link to this support article about an error that had surfaced.
Your password must be at least 18770 characters and cannot repeat any of your previous 30689 passwords. Please type a different password. Type a password that meets these requirements in both text boxes.Well, if I saw that error and had to choose a new password, I'd have to begin it with 1hat3m1cr0s0ft4mak1ngm3ch00s3th1sr3a11y10ngpa55w0rd (translates to "I hate Microsoft for making me choose this really long password" - for those that don't speak l33t). After that, it's anyone's guess.

Before someone starts calling me out, yes I know that this isn't supposed to be an interactive password, and that the encryption process makes them much longer than what you type in. But the error message doesn't exactly state that this is the case, so my password would have to start with that.

If enough people actually chose a password that long…

Inventory Management Systems

So we've decided to start looking at new inventory management systems. We're going to take a look at the advantages / disadvantages of custom as well as the good and bad of many existing software. We haven't decided if we're moving to something new or not, but it seems like if we're not seeing what's out there we could be missing some great opportunities.

Anyone with suggestions of software to look at, let me know. Comments are fine... just try to provide a URL so we can take a look at it. We're well beyond something like Quickbooks, and we realize that this probably isn't going to be cheap. But if we don't look, we won't know what we are or are not missing.

Working on foreign hosting platforms

I've never really had to work on a hosting platform I didn't have complete control over. Ok, so back in 1999 we were hosting ToolBarn on Earthlink (yes, many many moons ago), but since then we've always had root access to our servers, and it wasn't actually too long after that when we started using our own hardware. ISP's are fine for getting started (we used dedicated server options at a few ISP's before moving to our own hardware), but when you need to make a change nothing beats root level access.

As I'm doing some simple changes to a site hosted on Yahoo's hosting platform, it really feels foreign. It's almost as bad as trying to work on the first site I ever worked on... maybe worse than that. I'm so used to making changes via SSH or some other server side login that even the simple things seem to take me forever. Wow... how does the rest of the world get along this way?

The more I have to do on this project, the happier I am that we have our…

My first bit of PHP

I actually did a quick PHP 301 redirect the other day on a server that I couldn't create an htaccess file on. Rather cool that php does that so easily. It has me inspired to learn more php with as easily as it actually worked (once I remembered to begin with < ?, that is).

I guess maybe this ol' dawg can learn new trix.

Made it back... playing catch-up

I made it back from the races on Sunday. After catching up a bit on sleep, I spent most of Monday catching up with email. Yesterday was spent in meetings and loading images to Flickr for the most part, so today I got a blog entry done on my tool geek blog about Vise Grips and have been working on an Apache problem. Matt downloaded MSN Explorer so we can try to recreate a problem people have been reporting as well.

Wow... it's nice being gone for something fun, but returning sure means a lot of work. No wonder I don't ever use up all my vacation days - even if I'm taking a couple more this week. That's right... today is the last workday of the week for me. My boys are sure excited about that. I'm sure I'll be doing some work from home anyway... either for NeO or for ToolBarn. Either way, I won't be at the office, and that means my stress level is going to be abnormal. I won't tell you which way it'll go, though. You'll just have to guess.

Met up with a new old friend

Product training was amazing. I didn't realize just how much innovation you can put into small hand tools, but wow. I'll be posting a lot of that information on my other blog for the next few weeks. After hours, we went to Dave & Buster's for dinner and some socailization.

First off, the food was great. After some time eating some great mexican food, we went over and started bowling. It was about then that I met up with long-time friend Andy Sain who lives in the area. He wasn't there for training, but since we've been conversing online forever and hadn't ever actually met he came over and joined in for a few games of bowling. He was one of the first webmasters I met when I was just starting to get into the whole online deal, and he's helped me quite a bit over the years. He's got a great software site that I refer to quite often.

Andy and I talked for a while on how tough it is to come up with new ideas any more, then on some of the difficulties in …

I made it...

After 5 hours of sitting in Chicago, I'm happy to say I'm now in Huntersville, NC. Tomorrow starts product training at 8am Eastern. Wow that's early for web geeks. At least I'm here now and can start thinking about sleep... not that I'll get any, but I can think about trying to get some.

Stuck in Chicago...

This is my first blog from an airport. Exciting, isn't it? Well, due to all the stupidity going on today I'm stuck in Chicago. The flight was supposed to take off at 5:55 originally, and we're pushed back to at least 9pm now. Seems like every time I fly something odd happens. Last time it was the whole iPod bomb deal over in the UK that raised security, and before that it was the plane going off the runway at Midway and onto the car driving down the highway.

Well, with any luck I will get out of here and on to Charlotte yet today, but I'm not holding my breath. Scheduled arrival is already tomorrow. ;)

Here's to hoping I get up and back down with some time left to sleep before training starts in the morning.

Off to the races...

As I mentioned in a previous post, Irwin is sending a few of us out to North Carolina to [unnamed] Motor Speedway (sorry, no mention of our competitors here). We get to tour Roush Racing and check out some neat new Irwin products before heading to the races both Friday and Saturday nights. Somewhere in there, we're even supposed to meet up with Jamie.

I'll be returning next week for those of you keeping tabs on me. Until then... Go Jamie Go!!!

Finally replicated...

Since we got our new database servers up and running, it had been about a month. I had both of the servers in sync, but because it was an emergency type of a changeover I skipped setting up replication at that time. Earlier this past week, I went ahead and started setting that up again. It didn't seem like a big of a deal at the time, but it ended up taking 2 and a half days to get the second server caught up. I guess that means we run a few queries each day, although only one slave SQL thread can run at a time which limits the amount of CPU that can be used by either of these severs for replication to about 25%. Since we have dual dual-core machines, it only uses one of the 4 available threads, making 25% the maximum. That was sort of disappointing from a performance point of view, but understandable to keep things perfectly aligned between the machines.

Once it was caught up, I went ahead and set up replication the other direction as well. We now have 2 servers which can handle a…

Everything including the Kitchen Sink

I was reading an article in a magazine about another Nebraska resident that goes by Shoemoney (who I met in San Jose last month - nice guy) and he was talking about diversifying within your niche. This had me scratching my head a bit, then Allan Dick from Vitage Tub and Bath sent me an email. Clawfoot tubs are a niche, so when he gave me an email about diversifying, Jeremy's interview popped into my head and things started clicking for me.

Kitchen Sinks

What Allan and his guys are doing is expanding within their niche. They have supplies for all sorts of bathroom related products already. They have relationships with Kohler, Whitehaus, American Standard and the like already. These manufacturers also make kitchen products. So what they're doing is expanding into a new area without setting up new vendor relationships. They're selling Kitchen Sinks and faucets at a new website - appropriately named So now expanding within a niche starts to make sense to me.…

ToolBarn is well balanced

For the past several months now, we've been using Kemp LM-1500 load balancers to split the load among multiple web servers. These are pretty simple Linux based load balancers which don't have hard drives - everything is on CF cards.

Well, to make our servers even more balanced, we're going to move to load balancing our database servers and our Mini(s). Yes... load balancing replicated database servers isn't unusual. That's actually a lot of the reason that the load balancers have a second network interface. But mini-balancing?

Since Google has been generous enough to offer us some cash off of a second mini, we're going to go ahead and look at buying a second one to put behind the load balancers as well. Load balancing a couple of minis will do several nice things for us.

1) If a mini fails or needs rebooted, we will still have a functional site search.

2) We can use one primarily for searching ToolBarn and one primarily for searching ToolPartsDirect, making for mo…

Google's note on crawling framesets

It comes up from time to time at the forums I hang around at that many sites use frames, but not too many people know if they can be crawled or not. Taking a look around our Google Mini this morning shed a little light on that topic.

Appendix F: Crawling Framesets and Frames To crawl framesets and their nested frames, the framesets must be well-formed with the tags occurring within the tag. Anchors (links) must also occur within the frameset. Depending on the particular structure of your site, the search results may point to the frameset page itself or to the individual frame pages. There is currently no way to specify which behavior you prefer.
Sort of says it all... don't rely on the engines to handle frames correctly. Frames = poor SEO due to the unpredictability involved and lack of content on the actual page - the content is in each frame, which makes each one of those more valuable than the overall page but also much less useful to someone landing there.


Caught Spamming in the GooglePlex

Last week, I was at SES in San Jose. Each year, Google hosts a little event that they call the Google Dance at their Mountain View headquarters. While I was waiting to get on the bus, I was given a white hat with the letters SEO on the front. It was a nifty gift from some friends at, so I donned it.

Later in the evening, I saw Matt Cutts getting ready to grab some grub in the cafeteria. He walked over to talk to us, and it didn't take him long to notice the hat, and even less time to realize it was hidden text (white on white).

He posed for a picture in the hat, but now I'm left wondering. Since I've been caught with my SPAM (hidden text) at the GooglePlex, do I need to file a reinclusion request so I can return next year? If so, should I do it in video format like Matt's latest blog entries?

Someone please give me some advice here. :-D

Taking one for the team

As many of you know... the fact that I have a red leather #8 jacket and a life-sized cardboard cutout of a guy in a Sharpie uniform in my basement shows just how much I don't like racing. That's why it pains me so much to have to go to Irwin training this October. Yep... 2 days of training, a trip to Jack's place, being forced to watch the Busch series race on Friday night and then being tortured by being dragged to the inside of the track to watch the Cup series race. Oh, woes me. Whatever shall I do?

I suppose I'll be forced to enjoy myself, grab some
markers (one of Jamie's other sponsors), get as many autographs as I can and fill up a few gigs of SD cards with photographs.

I think their mechanics may be better than what my son did for them, but I'll get a chance to see firsthand now. I suppose that's the price of selling a lot of Irwin Tools online. I'll just have to do what I can about enjoying the experience... since I wouldn't ever want to... a…

2 SES Sessions

Coming up in San Jose, I'll be speaking at 2 sessions at the annual Search Engine Strategies event. Yes, only 2 this time. It's sort of like a vacation compared to the past few times. Both of the sessions I'll be doing will be on Wednesday, August 9th.

Shopping Search Tactics

This was the original panel I started on in Feb of 2005. We're going to be making some big changes to the content, and we're even dropping one speaker entirely. (Ok, so she refused to work with us any more... or maybe it was just getting to be too far out of what she's involved with now... you make the call). We've been working on making the presentations more of one coherent thought among 3 speakers, so it should be a much more fluid panel than it's been the past few times. In any case, it's my 5th time on this panel and it's always fun... not to mention it makes me look at our stats again and see what changes have come out recently.

Retailer SEM Tactics - 1:30 pm

This one wa…

Google points to as good example

Today I received a voicemail from a gentleman asking about customizing the Google mini search appliance's results. He explained that he had asked about adding product images and an "Add to cart" button to the results that the mini kicks out and he was told to check out

Well, thanks for the compliment, Google. I'll take that as an indirect Kudos, and you can deposit +3 to our green Kudo meter in your toolbar whenever you'd like. I'll be expecting it by the end of the month, but really... no hurry. ;-)

S-Nat and XML transactions

As we're getting our new hosting platform in place, we've noticed a few issues popping up. The first larger issue was PayFlowPro from Verisign and their lack of support for 64 bit operating systems. That was easily worked around, but the next issue has me perplexed.

The load balancers we're using work as NAT devices (Network Address Translation), so we have a private network behind them with all of our servers attached and the public network on the other side of them. All traffic to/from our servers goes through the load balancers, making for a firewall. To allow the web servers to talk to sites they want to visit (or request services and information from), NAT is used to allow for the public address of the load balancers to be used in the request to the servers on the other end.

This works well for most things I've tried. OS updates install just fine (rather quickly over the large pipes our data center has, I might add). Payment related data works just fine (or at least…

Creating JPG images from PDF's using Perl and ImageMagick

One of the things that has always bugged me is the excessive bandwidth that PDF's use when presenting schematics. We also have a fair number of users that aren't computer literate enough to understand what Acrobat Reader is, although this seems to be less of an issue lately. Many of our vendors only supply PDF's, and with the 1000's and 1000's of schematics we have it's just not a good option to manually manipulate each one. Enter ImageMagick.


ImageMagick is available for many languages, but I prefer using Perl to manipulate the images. Most of the concepts will be the same regardless of language, even if the syntax is changed. So, to begin, I'll include the module and assign the path I want to convert files from. I've also bolded any items you may want to change for your implementation in all of the code snippets below.
use Image::Magick;
use IO::Dir;
my $path = [path to images];
tie %dir, IO::Dir, $path;
At this point, we've go…

Dell Server Guts

So what's the first thing I had to do when shown a pile of servers to install? That's right, crack them open and see what makes 'em tick. I'll start out with the web servers.

Web Servers

These are 3 machines that were laid out pretty cleanly. You probably can't see it, but there are 4 fans in front of each CPU. Several fans on the power supply and another across the motherboard make this one noisy server. Of course, since heat is the natural enemy of computers, I don't really care that it has more fans than all of the PC's in my office combined. I think that's a good thing.
As you can see from the picture above, the memory is easy to get at, and the wiring is pretty straight forward. There wasn't even a need for an add-on board in these servers. Of course, pretty much anything failing means the motherboard needs to be replaced in a Dell, but that's the way most any name brand server is these days.

Mail Server

The mail server that we'll be using w…


Part of moving into a new location is rewiring the building. We ran Cat-6 throughout, but ended up using Cat-5 between the patch panels and switches. Now, we get the fun job (yes, that's sarcastic) of adding in wire management. They were already in place between each of the patch panels, so that's all pretty. But the bottom portion is what our phone system installers did, and the mid section is all of our switches. I suppose it could be worse. It could have been worse, though. We could be staring at a wiring closet like in our last building.

Yes, we've got data lines. Way too many of them... and the warehouse has their own patch panels with one cable between.

Load balancers are shipping

An essential part of any balanced breakfast... ok, so these ain't no Lucky Charms. We ordered load balancers from Kemp Technologies (no, not hemp... I said Kemp) yesterday and they've already shipped. Load balancers are an essential part of any highly available website infrastructure, allowing for multiple servers to handle the requests based upon rules set up ahead of time.

Example #1: Server down

The first example of when someone needs a load balancer is when a server crashes. For some websites, this means they're gone. For a load balanced website, this means that the traffic starts hitting the other server(s) and the users have no idea that something happened.

Example #2: Server slow

Sometimes, a processes goes in an unplanned direction and uses a ton of resources. This presents a more difficult problem - the server responds as if it is up, but it just doesn't perform well. That means that the load balancer needs to watch what's going on (response times) and not jus…

Database Servers Ordered

We ordered our database servers from IBM. These have less RAM than the Dell machines we ordered as web servers, but they have much more processor. I didn't even think about the Itaniums in the Dell's being 64 bit when I placed the order, so they were more CPU than I thought, but that's nothing compared to what I've got going on here.

Base Model

The base model is an Opteron powered 1U server with 1GB of RAM, 1 Gb card, and a SCSI adapter on-board.

Memory Upgrade

We upgraded the RAM on each of these to be a mere 4GB each.

Processor Upgrade

We went from the base model Opteron to dual Opteron 275's (dual-core) in each machine.

Hard Drive Upgrade

Databases are only as reliable as their drives, so we went with mirrored storage.

Another NIC

I also added in a second NIC for total redundancy (one for each switch).

Warranty Upgrade

IBM seems to have more confidence in their servers than Dell, because for a little less than what Dell's 3 year warranty was we're getting 5 years on…

Dude, we're getting some Dells...

We're trying to upgrade to a load balanced, fully redundant web serving platform now. What we currently have was a $3000 server about 30 months ago, so it's time to look at upgrades. I don't usually like Dell, but their prices are something else. As we're getting ready to upgrade our servers, I happened across Dell's website and checked what they had for a deal at the moment. We ended up getting a few at stupid prices - stupid meaning very low for what we're getting.

Base Model

The base model on these machines is a 1U rackmount 2.8GHz/2MB Cache Xeon with 1GB RAM, 2 x GB ethernet ports and an 80GB HDD. Nothing too impressive.

Free Upgrade

To start making it seem a little nicer, they offered a FREE second processor.


We added in 7GB more RAM, another drive (mirroring is a good thing) and a few other odds and ends including the 3 year service plan. Since it's Dell, we'll probably need that. ;-)

Price Reduction

Since it was over $2700, Dell took off $6…

Google is killing their search appliance!

Ok, so not really. But, they have an easter egg in their search appliances that is sort of funny.

If you click on the "About" link at the bottom of the main page, then click on the snowy or sandy looking image along the left side on that page, you end up with the image shown below. I believe they're celebrating it's completion and they're sending it off into the world, but who is this mystery googler in the picture?

Have a ball and some rejected marketing slogans.

I'm going to SES in NY next week, so I'll be heading out on Sunday. Anyone that sees me there, mention this post and I've got toys for the first 100 that ask. Stress Balls with a catchy slogan on them.
Don't stress, we have the tools to fix it.This reminds me of some other (rejected) marketing slogans we've tossed around here. Ok, so they haven't all been tossed around while printed on a stress ball, but you get the idea. Most of these were mentioned as a joke at one point or another, but then got some thought before being rejected.
If you want "Tickle me Elmo", you know where to go.
If you're serious about Power Tools, come to the barn.There are three things that were rejected about this one. First, the search traffic could have been wrong. Second, we're referencing that giant among e-commerce giants, which probably wouldn't have been the brightest move. Finally, we didn't even have our full site name in there.
Tired of wading…