Using YUI Compressor to compress your website CSS and JS files

June 15, 2013 in Tutorials, Web Development by Tom Henderson

Lately I’ve been spending a lot of time optimizing the Web site I work on in my corporate day job.

When looking for ways to minimize the page download times, there are dozens of small things that need to be addressed. Two of those are: minimizing the number of files that are being downloaded, and minifying (compressing) the files that you do call. In this post I’ll be focusing on CSS files. (YUI Compressor can also be used to minify your JavaScript files.)

As a website lives, breathes and grows over the years, new functionality gets added, and quite often another CSS stylesheet comes along with it. Unless that new functionality is only used on remote sections of the website, you should consider adding the new CSS code to your main CSS file. Sure, your main CSS file is going to grow by a few KB, but you’ve eliminated one more call to the server. With today’s high bandwidth connections, it generally takes less time to download a slightly larger file than it does for the server to deliver two separate, smaller files.

The next step, and the primary focus of this article, is to minify the CSS file, (reducing its file size, by removing all unnecessary characters without changing its functionality), so it can be downloaded as quickly as possible.

OK… let’s do it! But where do we start?

How often does this happen to you? You have an idea for something you would like to accomplish on your website. You research it and find a couple of seemingly viable solutions. You begin working through one of the solutions… and you determine that… hey… great… unfortunately, it looks like I need a doctorate in computer science to get this app to work. With that in mind, here’s the Cliffs Notes version of using YUI Compressor to minify your CSS files.

1. Download YUI Compressor (The Yahoo! JavaScript and CSS Compressor) from, saving  the file in a known location on your computer, (yuicompressor-2.4.7 is the current version as of the date of this post, replace with your version as needed).

2. Create a folder in a known location from which you would like to run the YUI Compressor, (i.e., such as your desktop). Open that folder and grab the path for later use, (i.e., C:\Users\Tom\Desktop\YUI Compressor).

3. Use a zip file decompression tool like 7-Zip (free) or WinZip (trial) to unzip the zip file, and extract the files to the folder you created previously.

4. Open the yuicompressor-2.4.7 folder and look for the folder named ‘build’. Inside that you should see the .jar file,
(i.e., yuicompressor-2.4.7.jar). This is the file you will be running.

5. Locate the CSS file you would like to minify and place it in the ‘build’ folder along side the jar file.

6. Open the Windows command line tool.
On a Windows 7 computer select the Start button and search for “cmd.exe” (without quotes).
On a Windows XP computer select Start… Run… end enter “cmd” (without quotes) and hit “Enter”.
On a Windows 8 computer select… wait!!! Where the heck is the Start button! Doh! ;-)
On a Linux computer, I’m assuming you can run it from the terminal (Ctrl + T) although I haven’t tried it
On a Mac, I’m assuming you can run it from Applications… Utilities… Terminal…

Windows Command Prompt
Run the jar file via the Windows Command Prompt

1. In the Windows command line tool we are first going to change directories to the build folder in which the jar file and our CSS file is located.

2. Enter text similar to the following. (After typing cd followed by a space, you can right-click in the command window and select Paste to enter the path to the build directory.
cd C:\Users\Tom\Desktop\YUI Compressor\yuicompressor-2.4.7\build

3. Next we will run run the jar file to minify our CSS file. In this example, we’ll assume my CSS file is named styles.css and the minified version will be called styles_min.css.

4. Enter a command similar to the following… and hit Enter.
java -jar yuicompressor-2.4.7.jar styles.css -o styles_min.css

5. Done! Your CSS file has been minimized and re-saved with the file name “styles_min.css”.

6. Upload this new file to your Web server and change all calls to the new file name “styles_min.css”.

For additional information on YUI Compressor, visit the YUI Compressor page on GitHub.

YUI Compressor - Minified CSS File

YUI Compressor - Minified CSS File

Tom Henderson

Solution – Firefox, Chrome, IE not working after Windows update

April 5, 2015 in Troubleshooting by Tom Henderson

Windows 7 update ate my Web browsers!

Following a recent Windows 7 update, my primary Web browsers were all left unable to access the Internet!

Firefox, Chrome and Internet Explorer were all unable to access the Internet!

Strangely enough, my 2112 version of Apple Safari (5.1.7) browser was still able to access the Internet and quickly became my default browser for a while. (Still not sure how Safari worked when the others didn’t.)

After many series of attempts to track down and correct the problem, this morning I was finally successful in finding the solution!!!

It seems that the Windows update had “messed up” the TCP/IP (Transmission Control Protocol/Internet Protocol) settings.

I found this Microsoft support page that showed how to reset TCP/IP. I tried it… and IT WORKED!!!

Note: In step 2, make sure you run cmd.exe as Administrator, or it won’t allow you to reset TCP/IP.

Note: Step 5 is to reboot your computer, so make sure you have closed out all programs prior to running the reset.

Good luck!


Reset TCP/IP


Key phrases:

Unable to access the Web?
Internet Explorer not working?
Firefox not working?
Chrome not working?

Saucony Omni 13 Running Shoes – The Overpronation Solution

August 22, 2014 in Reviews by Henderson Tom

I may be a few years past my Glory Days, but I still love to lace up the running shoes and put in a few miles, at least a couple of times a week.

Living in northern Illinois, the biggest kill joy in the running scene is generally the on-set of winter. Following up the longest Illinois winter I can ever remember, Spring finally broke through enough in late March 2014 (28° F) to get back out running. The previous October, I had purchased a nice $120 pair of (another major brand of) motion control running shoes from a local running shoe store and they were working out pretty well.

Due to my propensity to lay off running during the winters, my biggest problem each Spring is usually getting aerobically back in shape. The running season of 2014 started out in a similar manner, but in late June I ran into another issue. The balls of my feet (forefoot pain) began to hurt after about 3 miles of walking and running.

There are four things that come to mind as to what could be driving this new foot pain:

  • * I’m carrying a few pounds more than I was last year (after the longest winter ever)
  • * Possible premature aging of my year old running shoes
  • * A change in my workout or distance of my running
  • * Or a change in the structure of my feet

Looking back, I did change my workout somewhat. Being older, heavier and early-season out of shape, I was walking more miles than I used to, especially in the early warm-up phase of each run. Guess what? Walking uses different sections of your foot, compared to running. When walking you do a lot more ‘roll-through motion’ that works the balls of your feet more than mid-foot striking does during running

Unfortunately, prior to putting it through a complete, rational analysis, I decided it was my running shoes fault. I thought, “They had stopped protecting my feet”! I had documented proof that this new pair of shoes had only lasted for 249 running miles, (as evidenced by my running app) before I began having extreme pain in the balls of my foot after running/walking more than three miles.

I contacted the manufacturer, who initially offer me a 25% off coupon for anything purchased from their website. After some email bantering back and forth with customer service, the company sent me a 2014 version of the shoe I had been having difficulty with. Sweet… a brand new pair of running shoes! Unfortunately, the balls of my feet still hurt with this brand new version of their shoe. I do greatly appreciate their spirit of customer service in sending me a new pair of shoes, but I was still in pain.

I decided I needed a shoe with a lot more padding in the forefoot area. Which shoe seemed like it probably had the most padding? Hoka One One running shoes. I purchased a pair of Hoka One ones from and wow, were they ever comfortable! I put them on and lap some laps through the house. Supreme comfort! Unfortunately, they didn’t address my problem with being a severe over-pronator. As I ran through my house, I could tell that they weren’t providing the motion control I required as a runner. Unfortunately, I had to send them back.

Note: If you are a neutral runner looking for maximum padding  for maximum distance, Hooka One One running shoes are definitely worth a look. They are incredibly comfortable running shoes!

Looking into Runner’s World Fall 2014 Shoe Guide I found the Saucony Omni 13 running shoes. Ratings: Forefoot Cushioning: 94 of 100 and Stability Features: 93 of 100 grabbed my interest! I’ve never owned a pair of Saucony, but the Omni 13 looked like they might be just the right shoe to solve my hurting feet.

Arriving home from work on a Thursday evening, I was thrilled to see another Zappos box waiting for me! I laced up the Sauconys and found them to be very comfortable and well-padded in the forefoot. They felt good, and based on the Runner’s World shoe guide, I took them out for a (now-you-own-me) run. Concluding a run of 3.56 miles, my feet felt great! No pain in the forefoot what-so-ever. Awesome… now I could get on with the prospect of just getting some quality miles in so as to get back in running shape.

In just a week and a day of running in my new Saucony Omni 13’s, I’ve logged 23.2 miles without any lingering foot pain what-so-ever! In addition, I’ve brought my average training minutes-per-mile pace down by about a minute per mile. I’m running at a faster pace during training, without any foot pain at all! To me, that spells faster training runs, which will eventually result in better race times. Now I just need to sign up for my first race since my last 18:24 – 5K race 30 years ago… or my best 15:35 3 mile time 36 years ago!

Final thoughts:

  • If you’re an over-pronator check out the Saucony Omni 13 running shoes
  • If you’ve never purchased from check them out! They offer free shipping both ways, even if you decide to send a pair of shoes back!
  • You’re a runner! Get out there and put in some in magnificent miles!

Check out Saucony Omin 13 Running Shoes!

May the miles be your friend!


Molly’s 1st Career Goal Sets Up the Blue Rampage for the Win!

August 13, 2011 in Hockey by Tom Henderson

With 10 1/2 minutes remaining, and the game tied 6 to 6, Molly Henderson (left wing) pounced on a rebound off the goalie’s pads, and with a quick, back-handed wrist shot lifted the puck into the net for the very first goal of her hockey career! Only a minute later, Molly capitalized on another scoring opportunity when she grabbed the puck about 12 feet out in front of the opposing team’s goalie and let loose a quick wrist shot… score!

Molly’s first two career goals both came within about 1 1/2 minute of each other, while on the same line shift!

Molly Henderson was awarded the game puck, following her first 2 career goals (both in one shift on the ice)

Molly Henderson was awarded the game puck, following her first 2 career goals

Something really must have clicked for Molly in the past week. Last Wednesday night, in her Mites game against the red team, she looked like a completely different player out there! She was skating hard, being aggressive and playing incredible position hockey!

In the past several days she’s watched all four of the Stanley Cup re-runs currently on Xfinity On Demand television. I believe she’s learning from it and becoming inspired by it. Two of the most important things she’s learned from watching the Boston Bruins Stanley Cup replays are: skate fast and shoot fast! Don’t wait until you get yourself and the puck perfectly under control… if you’re in scoring territory take the shot! Taking that extra second to make sure everything is perfect, prior to shooting,  just gives the other teams additional time to get into position.

Today, I saw four situations in today’s game in which Molly responded quickly, (just like the Bruins), rather than waiting for the perfect moment. The first two quick-response shots she took had my jumping to my feet and throwing my hands into the air, in response to what I thought would be her first career goals. The second two quick-response shots she took, did in fact result in her first career goals, each put a point on the board for the Blue Rampage, putting us into the lead and onto the win!

Each team scored one more goal prior to the end of the game, but the Blue Rampage captured the win 9 to 7. This game goes into our family’s personal historic record book as the game in which Molly scored her first (and second) career goals, and spurred her team on for the win!

To top it all off… when coach Bill made his way into the locker room following the game, he announced, “Listen up… a special award… the game puck… goes to Molly for scoring two goals in the same shift! Great game Molly!”.

Wow… I can’t wait for Wednesday night! We’re back on the ice (Riverview Ice House) with a double-header!

Final score. Blue Rampage: 9 vs. Green team: 7
Rockford Park District – Junior Icehogs Hockey – Mites (age 6-8) – The Blue Rampage (team 3) vs. the green team (2)

How to opt out of LinkedIn Social Advertising

August 11, 2011 in Social Media by Tom Henderson

In an article entitled, “Privacy Policy Changes: More control over your LinkedIn information“, LinkedIn promises to honor their “commitment to put… members first”.

How does LinkedIn they do that? By automatically opting you into their new social advertising program, in which “your name/photo may show up in related ads shown to LinkedIn members”, without your explicit permission.

So how do you opt out of LinkedIn Social Advertising?

It’s a quick, one minute process:

1. Log into your LinkedIn account.
2. Mouse over your name at upper right of page.
3. Select “Settings” from the drop-down menu.
4. Under “Profile”… select “Account”.
5. Under “Privacy Controls”… select “Manage Social Advertising”.
6. Uncheck the box for “LinkedIn may use my name, photo in social advertising.”
7. Click “Save”.

That’s it!

HAL9000 says, “Congratulations. You have resumed control… you have resumed control… you have resumed control…”.


Unbreakable Hockey Laces

July 14, 2011 in Hockey by Tom Henderson

I’ve been playing hockey for years… and in just about every league I have ever played in I’ve held the record… the record for number of times a player has retightened their skates in a game.

I’ve recently cut down the number of times I’ve had to tighten my skates, with the purchase of a new pair of MLX skates.

My MLX hockey skates, new in box!

I’m no mechanical engineer, but it’s my opinion that MLX skates are leaps ahead of the other major manufacturers in several areas of technology. One of those areas is the heat-moldable properties of the materials they use in their skates. After completing the (at home, in your own oven) heat-molding process, these skates really fit your feet! This precision fit is a major reason I don’t feel the need to retighten my skates countless times every game anymore. Unfortunately, the skates you wear aren’t the only variable in the mix. The skate laces also play a big part in this scenario.

When I ordered my new My MLX skates, they arrived with a pair of fairly light weight (almost "airy" quality) skate laces. I believe they are made of 100% cotton, but at first glance they seemed to be really cheap laces. At first, I thought they were supplied with the skates as a manufacturing cost-cutting measure. After a couple of skating sessions with them, I decided to replace them with a pair of A&R White Wax Laces.

A and R White Waxed Hockey Skate LacesThe A&R laces are much thicker and denser, and feel to be a high quality lace. Unfortunately, the first pair of A&R laces I used only lasted four games until a skate blade across the arch of my right foot sliced the lace in half. Until I could get to the store to buy another pair of laces, I put one of the original MLX laces back into the skate. Upon skating with the two different laces in, I noticed that the MLX lace was staying just a bit tighter than the A&R lace.

I thought, "Wow, these MLX engineers have thought of everything! They have even created a lace that holds it grip and doesn’t stretch". Unfortunately, upon checking out the MLX website I didn’t find where you could order the original laces, and if they did the shipping & handling fees would have been prohibitively expensize. I found an awesome, gotta-have "Revolution" t-shirt on their site for $14.99… bit it’s shipping was $24.00. Since it’s about the same amount of hassle to ship a pair of laces as a t-shirt, I assumed the S&H would be proportionate and decided not to pursue even asking them about the laces.

Although I’m slightly nervous that the original lace in my right skate might break at any time, I left it in as a sort of engineering test. Following an additional four hockey games and several hours of public skate ice time, the lace is still holding its own.

In preparation for the upcoming summer hockey league, I was thinking about laces again. In a clear and focused moment, (in the same place I get so many good ideas, while washing my hair) the thought of what I needed came clearly to mind: kevlar hockey skates laces!

Just last night, I mentioned to my wife, "I’d be willing to pay $15 or $20 bucks for a pair of kevlar laces that didn’t stretch". Was any manufacturer already making kevlar laces? Sunday afternoon I did some searching and found a company making them, Unbreakable Hockey.

On a couple of online bulletin boards, I read several comments about the high cost of the laces ($21.95) and whether there could really be such a thing as an unbreakable lace. No one professed to have actually purchased a pair.

Getting back to my first thoughts in this article… the fact that every pair of laces I have ever owned gradually stretched or slipped while wearing them, forcing me to retighten my skates much more often than I would prefer. From my personal experience, it seems like A&R laces take about 6 games or skating sessions worth of tightening and retightening to get the stretch out of them. Following that they seem to hold their tightness much better, although they still seem to loosen up a bit more than I would prefer.

Unbreakable Kevlar and Nylon Waxed Hockey Skate LacesCan a $21.95 pair of laces made from DuPont kevlar and high tensile-strength nylon from Unbreakable Hockey, L.L.C. be the answer to my quest? We’ll find out soon enough, as I ordered a pair of them last Sunday afternoon.

Are they actually unbreakable? That’s really not my primary concern. What I’m really hoping for is a pair of laces that are both non-stretch and slip-resistant.

I’m expecting delivery any day now. I’ll present my opinion once I’ve had an opportunity to lace them up and give them a couple of games worth of testing.

Until then…

Governor Quinn Signs Illinois anti-OnLine Business Bill HB3659

March 10, 2011 in Illinois by Tom Henderson

Shown below is the email I received from today, terminating our Amazon Associates Program contract, following today’s signing into law of Illinois bill HB3659; now Public Act 096-1544.

These politicians think we live in a vacuum and believe they can implement any kind of supposed state money making policies they desire. Well, Governor Quinn, that paper you signed is going to cost the state of Illinois more losses in state revenue than you know. I think I just heard the sound of several moving trucks on their way to the old Wagon Wheel resort property in Rockton, Illinois. I’ll miss seeing that cool remote-controlled, FatWallet blimp flying around at the Rockford Ice Hogs games.

Here’s the email:


For well over a decade, the Amazon Associates Program has worked with thousands of Illinois residents. Unfortunately, a new state tax law signed by Governor Quinn compels us to terminate this program for Illinois-based participants. It specifically imposes the collection of taxes from consumers on sales by online retailers – including but not limited to those referred by Illinois-based affiliates like you – even if those retailers have no physical presence in the state.

We had opposed this new tax law because it is unconstitutional and counterproductive. It was supported by national retailing chains, most of which are based outside Illinois, that seek to harm the affiliate advertising programs of their competitors. Similar legislation in other states has led to job and income losses, and little, if any, new tax revenue. We deeply regret that its enactment forces this action.

As a result of the new law, contracts with all Illinois affiliates of the Amazon Associates Program will be terminated and those Illinois residents will no longer receive advertising fees for sales referred to,, or Please be assured that all qualifying advertising fees earned prior to April 15, 2011 will be processed and paid in full in accordance with the regular payment schedule. Based on your account closure date of April 15, 2011, any final payments will be paid by July 1, 2011.

You are receiving this email because our records indicate that you are a resident of Illinois. If you are not currently a permanent resident of Illinois, or if you are relocating to another state in the near future, you can manage the details of your Associates account here. And if you relocate to another state after April 15, please contact us for reinstatement into the Amazon Associates Program.

To be clear, this development will only impact our ability to continue the Associates Program in Illinois, and will not affect the ability of Illinois residents to purchase online at from Amazon’s retail business.

We have enjoyed working with you and other Illinois-based participants in the Amazon Associates Program and, if this situation is rectified, would very much welcome the opportunity to re-open our Associates Program to Illinois residents.


The Amazon Associates Team

Custom Wordpress Themes

February 22, 2011 in Domain Names, Web Development by Tom Henderson

I have been developing websites for small businesses and professional organizations since 1998.

In the early years, developing database-driven websites took literally hundreds of programming hours. Today, with the advancement of open source content management systems like WordPress, Drupal and Joomla, required programming hours have been dramatically lessened. Development hours are now focused primarily on website theme creation, site installation and configuration, and the writing of your site content.

If you are considering creating a website for your small business, drop me an email (tom ‘at’ henderson ‘dot’ cc) and I’ll be happy to get back to you by phone or email with information about the website services I offer.

Some of the website services I offer are:

  • Custom website theme development – a unique look for your website. See the images of sites I have recently created below.
  • Installation and configuration of your content management system
  • Work with you to create recommended pages for your site
  • Train you on how to create your own web pages
  • Selecting a great domain name for your site, like I have with:,,, and many others
  • Search engine optimization strategies that will help your site rank high in Google searches
  • Google AdWords strategy, set up your account and create your first ad
  • Economical website hosting – from $3.75 per month ($45 annually)

Shown below are a few of the websites I have recently created.

Locate32 – A Fast, Efficient, Desktop Search Tool for XP

July 26, 2010 in Reviews by Tom Henderson

As the years go by, we find ourselves saving more and more important information on our computers. Digital photos, text documents, spreadsheets, video, the list of file types goes on and on.

As the number of saved files grows, it becomes more and more difficult to find any one specific file amidst the growing jungle of digital data.

If you’re using Windows 98, ME or XP, the default “Search” tool has a lot to be desired. It’s incredibly slow and it doesn’t find every file associated with the search phrase you enter. It will find most or all of the folders, but rarely finds all of the actual files, based on file name.

I did a “Search” on my Windows XP machine for “sitepoint”, the name of a favorite programming Web site of mine. The Windows XP search tool returned 11 results; 6 folders and 5 files. The search took about 80 seconds to complete.

I did the exact same search with the search tool, Locate32, and it returned 37 results; 16 folders and 21 files… in about 3 seconds!

Locate32 is a free, small footprint, search tool that works at lightning speed! Their Web site states, “Locate32 is a file finder which works by indexing all your files on your hard disk drive and thus is able to provide almost instant access to them.”

In my above example, Locate32 was able to retrieve more than 3 times the number of search results that Windows XP “Search” tool returned… in about 3.75% of the time.

As a side note, the Microsoft people must have been working over-time on the search tool for the Windows 7 operating system… because it totally ROCKS! It too must be using an internal database of the directory structure, because like Locate32, it too is very fast… and returns some excellent search results.

Not so sure about the VISTA search tool as I totally avoided that situation.

Thunderbird 3.1.1 POP3 Email Account Set-Up

July 24, 2010 in Tutorials by Tom Henderson

For the past six months, I have been using Mozilla Thunderbird (version 2) email software on my new custom-built computer, though I actually do most of my emailing on my old XP computer running Microsoft Outlook.

I’ve been planning to assist a friend set up a new Thunderbird POP3 email account, so last night I was playing with setting up new accounts to familiarize myself with the required steps. After creating a few faux accounts last night, I was prepared to assist them this afternoon.

I went to their house and we downloaded and installed Thunderbird version 3.1.1. “I’ve already set up your account on the server, so this should be a snap to create your new account on your machine”, I said.

I opened Thunderbird and selected “File… New… Mail Account…” and up came a screen I hadn’t seen before, the “Mail Account Setup” screen. It was obvious this was a different version than the one I was using, but it shouldn’t be that big a deal to set up a new POP3 email account.

After entering my friend’s name, email address and password into the “Mail Account Setup” screen, I clicked the “Continue” button. Instantly, Thunderbird went online and (presumably) checked the available configurations on our email server and automatically set the account to an IMAP email account.

Well, that’s a neat trick, but I wanted to set up a POP3 account. (POP3 goes to the server and downloads the mail to your computer, clearing off the mail server, while IMAP just gets a copy of the email, while also leaving a copy on the server. That’s not what we wanted).

We then proceeded to spend the next 15-20 minutes looking for a way to change the account from IMAP to POP3. After checking every conceivable account setting, I search the Internet. I read one post that said, after clicking the “Continue” button, you had to quickly click the “Stop” button, to interrupt the process of Thunderbird checking your mail server settings online. Then you can select to change the account from IMAP to POP3.

That’s great in theory, and does work on my home computer, but it didn’t work on my friend’s computer. Before you could click the “Stop” button, Thunderbird had already set the incoming mail type to IMAP!

I thought, OK… I know a way to keep Thunderbird from accessing the mail server settings! So, I unplugged the Ethernet cable connecting the computer to the router. I recreated the account… clicked “Continue” and Thunderbird sat and spun, trying to access the Internet as I clicked the “Stop” button. Success! After a few seconds, Thunderbird gave up in compliance!

When it gave up, the account was still set to the default IMAP, but there was a select menu that also offered the POP option. I selected POP and changed the port number from 143 to the POP port of 110, and successfully created the new POP3 email account.

Let me ask you though, what the heck were the Thunderbird developers thinking when they decided to automatically set new accounts to IMAP, without an easy way for users to change that selection to POP?

On some computers, (such as my Windows 7 PC), you can successfully click the “Stop” button, as is illustrated in my “Thunderbird 3.1.1. POP3 Email Account Set Up” video. On other computers, (like my friend’s Windows Vista PC), you may have to temporarily unplug your computer from the Internet when creating the account. On other computers, (like my friend’s old XP PC), unplugging it from their Internet just causes it to sit and spin forever, and clicking the “Stop” button just throws an error.

Hopefully Thunderbird will get this problem figured out and offer a patch for it in the near future, as Molizza Thunderbird really is an excellent, free email client. Until then, try one of the methods mentioned above.

To illustrate how clicking the “Stop” button allows you to select POP email, along with demonstrating a few other necessary changes, like changing the port number, I have created a quick 1:00 minute video. “Thunderbird 3.1.1. POP3 Email Account Set Up“.