Domain Auction Has Begun

If you are interested in starting a fitness site and want a killer domain name, I have just put up for auction. I will also transfer over the @DeepFitness Twitter account to the winner of the auction. Bids start at just $20 or you can buy it outright for $500.

This blog and INeedCoffee take the bulk of my web attention span. I also have a few other sites and projects. For a few years I have considered launching a dedicated fitness site, but I haven’t gotten around to it. I’d rather see someone else take this cool domain name and do something with it.


Photo by DC Central Kitchen

Newsletter #2 – Chill

Yesterday I sent off my 2nd newsletter, which I called Chill. I was very reluctant to start a newsletter. My thinking is that readers already have RSS, Twitter and can even have each post sent via email. Why should I add more noise and yet another newsletter?

It turned out that I really enjoyed putting together the two newsletters so far. Instead of being link dumps, I wanted to attempt to connect the various posts with a new narrative.

For those that aren’t signed up, here is a direct link to Newsletter #2.

If you have any comments regarding the newsletter, leave them below. Right now the plan is to put out a new newsletter every other month.


My Initial Review of SiteGround Hosting (2014)

I am very hesitant to ever endorse a web hosting company. The reason is the relationship usually starts out strong and then something happens and I am forced to move to another host. SiteGround is the 4th web host I’ve had this year. After leaving Site 5, a few people have asked me how SiteGround is working for me.

I moved this blog to SiteGround’s GoGeek plan almost 2 months ago. GoGeek is their highest level of shared hosting, which they list as having advanced hardware. The 3 metrics I care about on web hosting are:

  1. Stability
  2. Speed
  3. Customer Service


As far as I can tell and accordingly to the control panel, this blog has been up 100% of the time. Bluehost and Arvixe couldn’t go more than a day or two without the server crashing.


Let me start by saying that WordPress is not a fast application. It is a content management system written in scripting code that hosts a mess of plugins that may or may not work together. Then there are themes and widgets. For what you get in ease and functionality, you give up some speed. I’m OK with that up to a point. Although what I consider acceptable speed will change over tine, right now 3 second page loads is my line in the sand. Anything longer makes me nervous. Anything shorter impresses me.

SiteGround has done what I didn’t think was possible. With their SSD (Solid State Drives) and WordPress optimization, I am getting sub 1 second page draws! This is on the shared GoGeek plan.

Before I went on my trip, I ran this speed test.

siteground speed

Under 1 second. I thought it might be a fluke, so I ran it again this morning. This time from a Dallas server.

criticalmas-speed 2

Holy Toledo! 0.7 seconds for WordPress! That is smoking fast. And I am not even using a CDN (Content Delivery Network).


I needed help setting up a remote SQL connection on a Sunday evening. There were very responsive. I went back and forth with them until the problem was solved.

Early Report Card

So far everything is going great with SiteGround. In fact, I am considering moving over to SiteGround for the speed benefits. Having all my sites with one host makes me nervous, but sub 1 second page draws on WordPress is the Holy Grail for performance.

I signed up with their affiliate program, so if you get hosting, please use the link below. :)

Web Hosting


The one caveat I have is they pre-select a Hacker scan add-on on the order form. Unless you want it, uncheck the box. I didn’t notice it and accidentally signed up for it. When I noticed it the next day, I tried to get my money back. They gave me credit instead of money. It was only a few dollars, so I wasn’t concerned. Plus if this level of service keeps up, I’ll be using those credits on next year’s hosting.

Stop Typography Inflammation With Stylish

This is a topic that I can not drop. I am so sick of websites that use small gray fonts. My theory is that all designers are under 30 years old, have perfect vision and work on the best monitors money can buy. They design webpages primarily to make photographs look better and not to make the text most readable. And then they don’t test the new design on the people that actually use the site.

When did their last design they chose a light thin gray font called Whitney that is painful to read. Someone asked Meetup if they A/B tested it.

What the jerks at Meetup were saying loud and clear is that they don’t give a damn about their users. Their design is there to please their designers, who don’t have to interact with the site as users do. An A/B test, which measures how users navigate and use the site with the changes and without would have clearly shown that it now takes more effort to read the site.

I created a User Style workaround called Meetup Darker: No Whitney Font. When the page loads for me, my style sheet overrides their awful typography with clean readable text. Anyone with the plugin can install my style sheet.


For a long time I used the plugin Readability to clean up the small gray fonts. The problem with Readability is it doesn’t work for application sites like Meetup and for blog content it strips out the comments. This weekend I was painfully reading the light gray comments on a site when the term Typography Inflammation came to me.

Thankfully there is a tool that you can use to fix these sites called Stylish. Here is how you use it.

#1 Install Stylish

If you have Chrome or FireFox, install the Stylish browser add-on. If you are still using Internet Explorer, you are out of luck. It appears to be available for Safari as well, but I haven’t tested it.

#2 Visit Site You Wish Had Better Fonts

Use the Readability plugin if you don’t need comments. But if you do, press the Stylish button on your browser and select “Find more styles for this site”.


If a good one exists, use it. Problem solved.

For this example, I will be tackling the site ChefSteps. There are worse offenders. Because I am taking a multi-part class on this site, I plan to read the content thoroughly and probably more than once. If I were just skimming the text, I wouldn’t have gone through the trouble.

The one I created for this example is called Chef Steps – Darker. Below you see the before and after screenshots.


Not as bad as Meetup, but when you are reading long amounts of text for comprehension, it is nice to bump up the size and darken. 


Much better.

#3 Create an Account on

Pretty straight forward.

#4  Create a New Style

Pick the create link on the home page. Enter whatever name, description and info you like. Under CSS drop this code in. I used Verdana. It is one of the best things ever to come out of Microsoft. Designers hate the font, but you already know what I think of the current crop of “designers” when it comes to font selection.

@-moz-document url-prefix("") { 
html, body, p, li { 
font-family: Verdana,helvetica,arial,sans-serif !important; font-size: 15px !important; color: black !important; 

Replace with whatever domain you are on. If the site uses SSL, be sure to use the https:// in this description. You can upload a screenshot or the system says it will generate one. I have yet to see the system generate one, so I create and upload my own.

#5 Install Style

Once it is created, you can install and test it. Hopefully it will work.

#6 Advanced

What I did very basic. Your typography issues might be different than mine. Use it to meet your needs.

Some people have created much more advanced styles. When GMAIL got rid of the light blue in place of the cold black fonts in 2012, I installed Old Gmail Approach and instantly my email was back to the glory days.

Podcasts I Listen To (2014)

Another year, another list. I love podcasts. I love them more than I have hours in the day to listen to them. And because new shows or recommendations are coming at me faster than I can keep up, I have to keep pruning my list. For those interested, here were my top 10 podcasts in 2012 and 2013.

Here are my top podcasts for 2014.

  1. EconTalk (economics)  #1 for 3 years in a row!
  2. RadioLab from WNYC (stories, reporting)
  3. James Altucher Show (interviews)
  4. NPR Planet Money (finance)
  5. Accidental Creative (productivity)
  6. Tim Ferriss Show (interviews, productivity)
  7. Adam Carolla Show (comedy)
  8. Podcast of Doom (history)
  9. House of Reggae (music)
  10. Revolution Health Radio with Chris Kresser (health)

I still love EconTalk. When I am not listening to new shows, I am digging through the archives going back to 2006. Some of the shows I’ve listened to multiple times. In the past few months, I’ve read three books by guests on the show. In each case, the interview was better than the book.

I stopped listening to Freakonomics. Too much filler and too many logical errors.You get more info in a single EconTalk than a year of Freakonomics.

My newest find is the James Altucher Show. I couldn’t stand this guy when he was the perma-bull on CNBC, but I gave his show a chance and I’m really digging it. MAS Better tipped me off to Radio Lab, which is awesome. And my friend Dave is doing a great job with Podcast of Doom.


Photo by Kin Mun Lee

Newsletter #1 is Out

I finally got around to playing with the MailChimp application long enough to publish the 1st CriticalMAS newsletter. The theme was Summer of Moving. Not sure if I’ll have a theme for every newsletter, but it seemed right for this one. I did not plan to put off sending the first newsletter for almost 4 months. The next one will be 1 or 2 months tops.

For those that haven’t subscribed here is a direct link:

Summer of Moving

The signup form is in the right column. If you have any feedback or suggestions for Newsletter #2, please leave a comment.

my new pad

The new CriticalMAS World HQ


We Need a Browser Extension to Block Those Newsletter Pop-ups!

I am so sick of the trend that every site have a newsletter and that they launch a pop-up window in your face 2 seconds after you visit their page. The pitch is that if you like what you see, you should sign up for the newsletter so you don’t miss anything. Well, I can’t see the page, because this annoying pop-up screen is blocking me from the reason I came to the site in the first place.

Giving over your name and email is a sign of trust. I don’t trust someone that bombards me the second I arrive. Therefore I’ll never sign up for those emails. Most of the time, I’ll just hit back on the browser and get the same information from another, less needy site. Doing this increases their bounce rate and could lower their search engine rankings.

The social media pimps tell us that blasting your readers with these pop-ups gets more conversions. That might be true, but I am wondering about the quality of those subscribers that freely give their email to sites after a 2 second introduction. Are they even going to read the newsletter? How many newsletters do they get each week?

I have a newsletter for this site and for INeedCoffee. I still need to send the first issue for both. :) You’ll note that my form is off to the side. It is there if you want it. I do not want to hit people over the head, because I don’t want to be hit over the head. I will always prefer RSS anyway.

I think newsletters are a fad and as more and more sites drown their visitors with more and more newsletters, this method will get played out and sites will move onto something else. Investing so much time and effort into how the message is delivered instead of the message itself isn’t that interesting to me.

Stop it!

Photo by somewheregladlybeyond 

Extension Developer We Need Your Help!

I’m not a developer for browser extensions, but here is how I imagine it would be coded. Most of the sites that bombard us with their newsletter pop-ups are running WordPress. Most of those sites use a handful of plugins to assault us with their newsletter offers. The code generated runs on the client. The extension would detect the function calls of the most commonly used plugins and rewrite the code to perform no task. So when the page loads, the pop-up code fires, but does nothing.

Can this be done? I think so. We already have ad blockers that detect and block the most common ad networks. If this already exists, please tell me where to download. If you code it, I will promote it.

My Online Password Strategy (2014)

My last post Scan, Encrypt, Store, Delete, Shred: Going Paperless! was about physically securing sensitive data in my home. The other half of a security plan is securing your online accounts. I am not an expert on security. My strategy is to be more secure than the vast majority of people on the Internet and do it in a way that is sustainable. We all know the problem. We either use easy to remember passwords or we reuse passwords across different sites or we become a ball of stress trying to recall which password we used with which site. Then we save passwords in our email folder and hope that it doesn’t get compromised.

Technology is always changing. What might have been considered a secure password a few years ago is now trivially easy to hack. In a few years, there may be new guidelines on passwords, but right now longer is better. And every password should be unique. Sites are being hacked all the time. When a site is hacked, the usernames and passwords are tested against other sites. You don’t want your health insurance password to be the same as your Amazon password and vice versa.

I used to have a “tough” password for important sites and an “easy” password for sites I didn’t care about. In retrospect that was a dumb approach. Compromise one of the important sites and the hackers could access all the other important sites. And my “tough” password was only 8 characters long with numbers and symbols, but because it wasn’t in the dictionary I felt comfortable with it. Processors are much faster now. That “tough” password is now trivially easy to break.

The Wikipedia has a good page on password strength and password cracking.


Photo by Nathan Meijer

#1 Get a Password Manager

Passwords that are tough to crack are impossible to remember. They are also hard to type correctly. Password Managers not only help remember the passwords you use for different sites, but they are able to generate very secure passwords on your behalf. A good password manager will also be able to run a security analysis on your passwords to alert you when you are reusing a password or when a password isn’t secure enough.

There are several Password Managers. This CNET article covers a few. Which one you pick will depend upon your needs and devices. I’m not going to tell you which is best. Again I am not a security expert. I will say that whichever one you use is a step up from reusing short passwords.

#2 Create a Passphrase

The password you use to secure your password manager should be long, memorable and impossible for anyone else to guess. Mine is almost 30 characters long. An idea on creating a long passphrase is to use fictional characters, animals, numbers and string them together in a Mad Libs type sentence that is too silly to forget.


That passphrase is 31 characters long, memorable and impossible to guess. You should be able to create something equally as secure that you will not forget.

#3 Setup 2-Factor Authentication on Email

You can secure every password, but if someone hacks your email, they can start requesting lost passwords. Get 2 factor authentication. Read Two-factor authentication: What you need to know (FAQ) for a primer on the topic. The Two Factor Auth List has a list of email providers and other sites that offer this level of security.

#4 Change ALL Your Passwords

You can’t  assume that some hacker doesn’t already have one of your passwords already. Change them all. It will take time. Start with the sites that are most important to you. Use the Password Manager to generate the password. Here is an example of a 20 character password generated by my password manager.


Thankfully I don’t need to remember that or type it in by hand, because that task is now handled by the password manager.

If during this process you decide to close old accounts, still change the password first. You don’t want your old insecure password sitting on a database table* forgotten.

#5 Delete Old Emails

Even though you’ve changed your passwords, it is still a good idea to delete any old emails announcing you’ve created an account. Some have links to reset passwords in them. Delete them all and then empty the trash.

#6 Run a Security Test

A good password manager will have a security test. Run it until you pass. Once you pass, add a recurring event to your schedule to retest your security every so often. I retest my security every 4 months.

More Secure, But Not Perfect

If you follow the above steps, you will be far more secure than the average person on the Internet. If one of your sites is compromised, the damage is contained. Some argue that the Password Manager becomes the weak point in the security. Break that password and you have all the passwords. This is true. To minimize that risk, make sure your passphrase is secure (#2) and that you monitor developments in security from time to time.

The article “Severe” password manager attacks steal digital keys and data en masse talks about how some password managers were recently exploited. Most of the password managers were fixed. Despite those risks the article still advises:

On the whole, readers are likely better off using a password manager than they are using the same password for multiple sites. For that reason, Ars still recommends that people use a password manager. However, readers should remember that password managers represent a single point of failure that could lead to the complete compromise of virtually every website account they have. It’s not possible to know which managers are safer than others without a trusted third-party conducting a detailed assessment on each one. That said, well-known managers that have been available for years are probably more trustworthy than a newer one that was recently introduced into the market.

I put (2014) in the title of this post, because I expect security strategies will change at some point.

* When you create an account on a site, they are supposed to store your password in a secure manner. Meaning it should be encrypted on their database and not stored as plain text. That way if they are hacked and the hackers have a copy of the database, they won’t be able to make use of the passwords. Unfortunately, not every site uses best practices. OKCupid was storing 42 million user passwords in plain text. This is big reason why every password should be unique. I wonder how many of the OKCupid customers used the same password and email to access their online banking? 

Stay Away From Site 5 Web Hosting (2014 Review)

Yesterday I moved this blog off Site 5. My page draws were fast, the server was stable and with one exception the service was excellent. Why did I leave? Because my account exceeded their in house metric of Resource Points. When I signed up for the account, I didn’t even see a mention of Resource Points. I saw what other customers see and that is the word Unlimited.

Unlimited disk space. Unlimited bandwidth. Unlimited websites.

On one hand they promise Unlimited, but if you dig around you will see that isn’t true. I understand why web hosts do this. You don’t want someone using their account as a media server abusing the bandwidth. My issue with Site 5 is this blog never abused their resources. What they consider excessive is far from it.

I’ll repost my traffic here.

site stats

As I mentioned yesterday, the traffic to this site is not tremendous nor is it trivial. It is in that middle ground that makes finding decent hosting at a fair price a challenge.

This is not a high traffic site. It does not deliver audio or video files. I’ve been hosting this blog since March 2000 using numerous hosting companies. Not a single one ever had an issue with the resources I was using.

Reaching Out to Site 5

Back in May I was poking around on the Control Panel and I saw the Resource Usage link. When I looked at the page, I discovered I was in violation and had been everyday since joining. Not just by a hair, but by quite a bit. I read every page they had on the Resource Usage and still saw no reason why my site would even be close to being in violation. I also did not know why they hadn’t contacted me.

After contacting support, I was still confused. I knew I was in violation and I knew they weren’t saying anything about it. The conclusion I reached is that whatever Resource Usage metric they created was done a long time ago before processing power and bandwidth costs were much higher and that it hadn’t been updated.

resource point usage

Site 5 has known since February that I’ve been in violation of their Resource Limits. I learned in May. I brought it to their attention so we could resolve the issue. Other than sharing links to resources I had already read, they offered me no guidance. Then a few days ago, they decided to enforce their metric. This means getting my Resource Usage down or the site will get moved to their a $100 a month VPS server or I get suspended.

My response to them:

I need help explaining to me why my site is exceeding resource points.

– I serve no audio or video.
– I only get ~1,500 visitors a day, which get cached WordPress pages. Most pages have just 1-2 images.

On Backstage if I look at AWS, I can see my site is using 35 GB bandwidth a month. Is this the number that is a problem? If so, then why do you sell “unlimited”, when you could just say “30” or whatever the limit really is. If it is a different metric, where can I see and monitor it?

Is there something else going on? I’ve implemented the tips on the WP optimization page.

More than a day went by and I got no response. So I contacted them again. I finally got a response, which basically said “due to the nature of dynamic scripts” they can’t tell me why the usage is high. And I am suppose to diagnosis which dynamic script is draining resource limits, which is a number I can’t calculate? They also said it could be bots or malicious scripts hitting my website. How is that my problem? My site is on their network. I pay them to host it. They have the power to defend their network against external threats. I don’t.

The Real Problem

Let us say hypothetically that someone can convince me that I installed rogue code on my server and that was the cause of the problem. Site 5 has known since Day 1 there was a problem. If they were incapable of hosting my site, they should have reached out to me sooner. We could have worked together to find a resolution or I could have found a new host while I was still inside the refund period. Because I am now past the refund window, I’ll be eating the cost, as I had to hire a new host yesterday.

What About Lower Traffic Sites?

Initially I thought I could still recommend Site 5 for lower traffic sites. Their servers are fast and stable enough to handle 500 daily visitors. But there are lots of web hosts that do a good job with lower traffic sites and they do it at a better price. Also, what happens when you grow your audience? You run the same risk I did and could end up having to hire a new host in the middle of a billing cycle.

My First Date with SiteGround

My research for a new host lead me to SiteGround*. If you go their hosting page, you will see they guide you into a plan based upon monthly visitors. Wow, an actual metric I can look up! They have plans for 10K, 25K and 100K monthly visitors. Before signing up for the 100K plan, I contacted their support. I shared my blog link, all my site statistics and disk space usage both today and estimates going forward. They were super cool and said hosting my site at the GoGeek level (100K) would not be a problem.

Our relationship is off to a good start. Page draws are super fast. Based off my tests, twice as fast as Site 5 or even my beloved WinHost, which hosts INeedCoffee. In fact they are the fastest page draws I’ve ever seen on a WordPress site.

* Although I am not ready to endorse SiteGround, I did sign up for their affiliate program. So far I’ve been impressed with their service and performance. 

Always on the Run

Looks like I will be forced to change web hosts again. Site 5 has turned out to be no better than the rest. In many ways they are worse. More on that in a future post. They claim I am exceeding their resource limits. This is a number they calculate, which I have no way to verify.

The traffic for this blog is not tremendous, but it is also not trivial. This puts me in an odd middle ground, where most affordable services offered to the hobby blogger are insufficient and higher end services used for high traffic businesses are too expensive. I host no audio or video files. I use caching plugins. And because this is a hobby, I am not going to spend $70 – $100 a month on a VPS.

site stats

My coffee site INeedCoffee, which is hosted by WinHost, gets more traffic and uses more bandwidth than this blog and I have no problems there. When I was on the Basic plan and was getting close to exceeding a defined bandwidth limit (something Site 5 doesn’t have), WinHost emailed me and I upgraded to the Max plan. Everything went smooth. Never was I threatened to pay for a VPS or get my account suspended.

This means I may not have a new post for a while, because in addition to this site, I will likely have to move four others.

I do have 4 leads on my next web host. I don’t need another. I may even use WinHost, but I like the idea of not running all my sites on a single host. I was planning for this day. I’ve been hosting this domain since March 2000 and been through so many hosts.

Always on the run.

I’m leaving the comments open on this post for now. Typically these types of blogs are magnets for SPAM, so I may be forced to turn them off. Again I don’t need another lead. I’ve researched this for months. MOST hosts do not met my requirements for reasons that are too boring to explain. 

UPDATE (9/4/2014): Site moved to SiteGround. Let us hope this relationship works out. I did show them my numbers before signing up, which they could handle.

Blog Drafts I Never Finished

Yesterday I deleted about 12 blog post drafts that had been piling up. Most were from early 2014 and late 2013, although one I started back in 2011. As someone that has been blogging since March 2000* or was it July 1996, one thing I’ve learned is that when an idea comes to you, it is usually when you are most motivated to blog about it. The more the idea sits around, the less interesting the idea becomes and the probability that it will ever become a post decreases.

When I looked over my Drafts yesterday, I felt no desire to blog about any of the topics. The spark was gone. And it wasn’t going to come back. In some cases the topic now bored me, in others my opinion changed and in a few I forgot what my view even was. Granted all but a few did not have much text fleshed out. Most were a title and a few sentences.

Just a Few of Drafts I Trashed Yesterday

Panic at the WAPF Meeting – I was going to do an entire post based upon 5 minutes of panic I witnessed at a Seattle Weston A Price meetup. The presentation was about tooth decay and healing your teeth. The host said that some people with a history of cavities might need to avoid grains during the healing process and maybe forever. You would have thought he said there was ebola in the drinking water. The panic that some in the room felt at the thought of not eating bread was amusing. They interrupted the speech and started bargaining. “What about this type of bread?” The rest of the details I forgot.

Conventional Chill – This post was going to be about the stress I see some people going through to acquire and confirm everything they eat is organic. I view that stress as more damaging that just relaxing and eating conventional. Not much more to this idea.

Fixing the Army PT Test – Knowing what I know about fitness now, I consider the Army PT test to be flawed. I’d replace pushups with a static hold pushup for time (like Hillfit), replace situps with a plank (like Hillfit) and keep the 2 mile run. I might add a static hold chin-up for time. Nothing new, just a different application.

Nutritional Economics at the Farmers Market – You can spend $4 of a bunch of organic chard or you can get a pound of grass-fed beef liver. I never buy veggies at the FM. Mostly I get organ meat. Was going to do a post where I broke out all the nutrients and divided by cost to make my case. A long way to go to make the case that veggies are overpriced and/or organ meat is underpriced.

(untitled post about Calories) – Was going to write a post that weaved a middle ground between the CICO group and the calorie denialists that believe quality can trump calories. Realized I was out of my league and never posted it. I lost certainty in my opinion and approach and gave up on this post. Recently Matt Stone did a great post on this topic that is better than anything I would have done and more complete. See Weight Loss Theories.

Distraction Diet – This one is ironic. I read an article about a Distraction Diet, had some ideas to add, but didn’t jot them down. When I went back to the original article, I had no clue what I was going to add to the discussion on my blog. I got distracted. :)

a few recipes – I either took photos or notes, but not both. The meals are long gone, as is the memory on how I made them.

blog sign

Photo by Mixy Lorenzo


I probably could have made a few of these topics decent posts, but I let too much time pass. Now I don’t care and so they won’t get written. If you get a good idea for a post, try to make time to get the post out that day or the next. If you can’t find the time, add as many notes as you can. Not just for the post details but how you want the post to read (funny, informative, rant). When you do return to the notes, they should be complete enough to bring you back to what you were thinking, feeling and experiencing when the idea for the post was formed.

* My first blog ran from 2000 to 2004. Had over 1,000 posts, which were mostly about the events of the day. Kind of like how people share links with a few sentences or paragraphs on Facebook today. When I restarted this blog in December 2005, I started fresh. All the old posts have been deleted.

Blogging and Permalinks

This is a post about my thoughts regarding permalinks and blogging. My opinions are likely different than what you’ll hear from an SEO “guru”. I’m not an SEO “guru”. I’m just a blogger that has been at this since at least July 1996.

I am now seeing a majority of blogs, especially new ones, moving to a short permalink structure that removes the date. In most cases, I think this is a bad thing. Before I explain why, I first what to cover what permalinks are and how they evolved.

Although there are still many examples of ugly links, they are gradually disappearing. Blog links have gone from ugly to descriptive to short. See the image below.


Descriptive (dated):

Descriptive (shorter, not dated):

It is easy to see why the ugly links are going away. Not only are they harder to type and unmemorable, but they also can potentially expose your website to attack via SQL injection. The descriptive ones are much better. In most cases, I prefer the dated ones, although I acknowledge the shorter ones are better for link sharing on mobile. But with short link services, that isn’t enough of a reason in most cases. 

CriticalMAS and INeedCoffee

I use a Descriptive (dated) permalink structure for the Critical MAS blog and a Descriptive (shorter, not dated) for INeedCoffee.

I see this blog as a conversation. I’m discussing what is interesting to me at that time. Those interests may or may not change over time. My opinions may or may not change. I see this blog and 99% of most blogs as evolving. We post, we get comments, we research and we post again. It is a story of interest.

I’ve never considered INeedCoffee a blog, although I don’t fight the label. It is primarily a reference website. Because the pages are mostly being accessed by new readers, it makes less sense to use dates. Instead of having several articles on how I’ve changed my method of Chemex brewing in the last 15 years, it makes more sense to continually improve the article itself. How I evolved my brewing technique is not important to the new reader looking for guidance.


Last month I released a brand new version of my Chemex coffee brewing tutorial. It was the third version of the article, which was originally released in 2003. Unless you are committed to maintaining older content, I think using dates in your permalinks is a better option. 

Which Permalink to Use?

As a reader and a blogger, I think unless you are using blogging software to manage a reference site, you should use dates in your permalink. It provides more information to your reader before they even click on the link. I don’t read gadget sites, but the top ones all use dates in their links. Same with financial blogs. I think they should with health sites as well.

Dateless Permalinks Will Backfire

There is an industry out there that convinces people to start blogging their way to riches. They pimp SEO services and tips which advise using these short dateless URLs. The reasons are two-fold. First, shorter URLs are currently seen to be of higher quality. The second reason is the reader wants the most updated information, so they will favor new content over old. By hiding the date, you can trick more people into clicking on the link and visiting your site. More page views!

Not so fast. What happens if you click on a link without a date in the URL only to discover the information is years old? You often hit the back button. You bounced. If Google sees a site with a high bounce rate, they often push them lower in the search rankings.

Most new blogs aren’t that good. It takes time to get things dialed in and provide useful content to your readers. If the majority of these new bloggers now using dateless permalinks, over time you will see the average quality in a dateless url drop. And the average age of a dateless permalink will get older and older. Users will become either consciously or unconsciously aware and begin seeking out dated permalinks as a signal of trust.

Free To Be Wrong

There are some bad posts on this site. Back in October 2006 in the post Cleaning Up My Diet 2, I boasted about how I was now using an egg-white mayo made from soybean oil. Thankfully I have “/2006/10/” in the url. Unlike Chris Kresser who has decided to hide the dates of his posts, I want the reader to be aware of the post date. Blogging is a journey, not a destination.

And if I change my opinion about dateless links, I can always add a new post, which if it is on this site, you can bet will have the date in the permalink.

Shut It Down!

Today I finally pulled the plug on That site has been an embarrassment. For a few years I haven’t even linked to it or mentioned it here or on my portal page. For those that never saw the site, it was a collection of over 1,000 reprinted articles. Ten years ago when the site was launched those article farms were the rage.

The problem with the sites that used those reprints were they way overdid the ads and didn’t have the coding skills to manage a large library of content. I had enough coding and database skills to clean up the dataset of articles and make a user friendly site that was easy to navigate, had a decent search and had minimal advertising. DeepFitness became one of the better of these junk sites. It worked for a while and was throwing off some revenue.

Then Google Panda hit and article farm sites got punished, as they should have been. The content was dreadful. The more I learned about fitness, the more DeepFitness made me cringe. The only reason it lasted a decade is because I wrote such slick code that it could run on autopilot for about 2 years releasing “new” content daily without any intervention. And it earned more in advertising revenue than hosting fees, so I turned a blind eye. Plus I was proud of the code.

Shut it Down – 30 Rock

The internet doesn’t need more crap fitness information. There are too many articles that will lead someone to hurt themselves or become neurotic about food. I don’t want to be part of the problem.

My Favorite Line From My Favorite Movie

From the movie 8 1/2.

Destroying is better than creating when we’re not creating those few, truly necessary things.

8 1/2

DeepFitness was never necessary.

Domain Now For Sale is a cool domain name. Short, memorable, easy to spell and a decade old. It is now for sale. I’d love to see someone do something positive with it. The domain plus the the Twitter handle can be yours for $550. Last year I sold the CoffeeHero domains plus Twitter for $1,000. I figure this name is half as cool, so half the price is fair.

If the domain doesn’t sell, I’ll still keep it. I may launch a new fitness website on the space, but probably not for another year or two.

The Critical MAS Newsletter

For the longest time, I have rejected the idea of having a newsletter for this site. There are too many spammy sites out there that have jumped on the “win the inbox” meme. But there are some people doing it right. They cultivate content and limit the number of emails they send. And although I wish the world would all embrace RSS, I can see that isn’t going to happen. Facebook, Twitter and Google+ want to get between content providers and content consumers. A newsletter is a way around that control.

Unlike Matt Stone and Danny Roddy, I have zero plans to ever shut down my website and become newsletter only. They are both making a serious mistake, which I’ll cover in a future post.

My initial plans for the Critical MAS newsletter is to summarize what is new on the blog as well as highlight older posts that are still relevant. I don’t see any reason to send the newsletter out more than 1 or 2 times a month. If I were still actively posting on finance, I could see a more frequent mailing, but I’m not.


Lil MAS first Day of School

Your first newsletter! 


By the way, this is not a replacement for Feedburner’s RSS to email service. That will continue as is.

New Version of INeedCoffee Released

I haven’t posted much in the last week, because I was knee deep in a tricky redesign. I moved my coffee site INeedCoffee to WordPress. Prior it was on a hand-built content management system I coded many years ago. Moving 15+ years of content and doing it in a way that no link would break was a technical challenge. I still have a lot more work to do on the site, but the toughest part is over.


Switch-a-roo from Inanimate Objects #40

The current design is temporary. I needed something that was decent to look at while I got all the back end stuff working correctly. Once the dust settles, I’ll start looking into creating a more permanent design.

And for my fellow WordPress gurus, did you notice how responsive the new INeedCoffee site is? It is running on IIS not Apache. No caching plugins have been installed yet. I still have more configurations to do. When I am ready, I plan to load test the install and compare it against some other blogs running WordPress on Apache. And if my suspicions are correct that IIS is at least if not faster than Apache, I will share  my results with the WordPress community.

Spinning Off a New Coffee Website

Right now I am working on the next version of my coffee site As I was going through content from the past 15 years it became clear the site had too many voices (175 contributors) covering too wide a range of coffee topics. Back in 1999 when INeedCoffee was launched, it made sense to cover as many coffee related topics as possible, but that model is outdated. It is better to pick a narrow focus and do that well.

This past weekend I took all the coffee farming content off INeedCoffee and created a new site called EcoFriendlyCoffee. It will serve as an academic exploration of coffee agriculture.


From the article Human Snake Conflict Inside Coffee Forests.

This is version one of the site, which is basic by design. I will be working with Dr. Pereira on making this site better as the year progresses. 

Masking Your Email Address

This was originally written in May 2002. It was updated in February 2007 and April 2014.

Some of you are probably aware of spiders. They are these little programs that surf the internet looking for data. Some spiders assist search engines in helping you find the web page you are looking for. Those are the good spiders. There also exists evil spiders. They jump from web page to web page looking for email addresses. Once they find one, they send it to a database so someone can send you junk email. Not cool.

Hiding In Plain Sight

What we need is a way to display an email address so the reader of a web page can communicate with the web site, yet we also need to hide the address from the spider. The reader and the spider are looking at the same web page but at differently levels. The reader is looking at the browser’s rendering of HTML. The spider is looking at raw HTML.

Three ideas come to mind: ASCII codes, server-side mail forms and images. ASCII codes and images will look like email addresses on the screen, but nothing like an email address in the source code of the HTML document.

Aquarius Spam Tin Lunch Box
Aquarius Spam Tin Lunch Box

Method 1: ASCII

In HTML when you place “&#” in front of the ASCII code of a character the browser will write the character not the ASCII code to the screen. The reader will see the real character and the spider will see the ASCII codes. The ASCII codes won’t look like an email address, so the spiders won’t notice.


  • A  will render as an uppercase A.
  • b  will render as a lowercase b

The function below accepts an email address as a parameter and returns a masked email address that is made up of ASCII codes. When the browser writes the codes to the screen it will get converted back to text. Although it’s possible for a spider to read and convert ASCII codes inside the HTML source, it’s probably not that prevalent. The function goes character by character converting the email address. The last step is to merge the masked email address with the HTML mailto: tag. In order to minimize the chances a clever spider might look for the mailto:, this example masks that word as well.


Then you can call that VBScript function from inside an ASP page. For more information email me at <%= maskEmail(“”) %>. The above function should be easy enough to convert into your language of choice.

For those that don’t want to add any code, but are comfortable with HTML, I created a tool to help you.

Mask Email ASCII Generator

Method 2: Server-side Mail Forms

These are the contact forms you see everywhere these days. The user fills out a form, clicks submit, and hopes it gets to somebody. This is great for the recipient, because their email address never appears on the site. However, some users don’t trust filling out a form and will withhold feedback.

Recently I was trying to open a new account with Their order entry page was down so I filled out a form alerting them to the problem. After detailing the problem the form rejected because I didn’t already have an account with them. They didn’t have a direct email address listed anywhere else, so I became a customer of one of their competitors.

Method 3: Images

Another option is to create an image of our email address. I created a tool to help you build your own.

Mask Email Image Generator (Email Obfuscator)

Method 4: Chopped Javascript

Now that you have an email image or icon, you may want to assist the users so they click on an email address image it behaves as if it were a hypertext link. This means having their email client launched with the TO line filled out for them. In order for this to happen with the email image, we need to hack out a chopped Javascript function. There are many possible ways to write it.

In this example I wrote a function that accepts an email address into 3 parts  I used the email address and split it into 3 parts. Where the splits happen is not important. The code reassembles the email and launches the email client. How you chop up the email address is up to you. Also feel free to change the sequence of the parameters.

function postage(one,two,three){     
window.location = 'mailto:'+one+two+three;}

2014 Update

I believe using the above tools over the past 12 years has greatly reduced the amount of SPAM I received. However, these days SPAM filters are much better, so the need for the above code may be fading. Your call.

ASP.NET Control

I created an ASP.NET control version as well, which is available on GitHub.

Shutting Down My Other Blog

I’ve decided to shut down the blog portion of my technical website Digital Colony. It has been almost 2 years since my last post. When it comes to my web priorities it has always come in dead last. I don’t see that changing. After almost 15 years, that site only has 85 posts. Meanwhile this site has published 2,025 since December 2005.

What I am going to do is take the best articles from that site and move them over here. I’ll do my best to add them with the date they were written, so they won’t appear on the home page. But, they may appear on the RSS feed. Unless you dig code and tech talk, just ignore them. I’ll be back to bashing CrossFit, Quantified Self and PUFA shortly. :)

Digital Colony business card 20000

My business card for Digital Colony from back in the dot-com days. That was before I got the brilliant idea to convert the site to a technical e-zine. For the kids out there, e-zine was the term we used before blog became the standard.

INeedCoffee Turns 15 Years Old Today

My other website INeedCoffee turned 15 years old today. Feels like forever. Although I have spent far more time and effort on this site in recent years, I am currently working on a complete rewrite of INeedCoffee. Moving 15 years of content from a custom hand written content management system to WordPress isn’t trivial, but it needs to be done.

In 2010 I greatly improved the branding of this blog and the traffic and number of quality comments increased. INeedCoffee has some great content and some lousy content. Once the migration is complete, many articles will be rewritten and some removed. With better navigation and a clearer voice, I plan to make the site much better.


From Inanimate Objects #40

Google Alerts are Mostly Worthless

Yesterday I was catching up on some blog reading and I saw an excellent post on The Friendly Anarchist about rejecting Quantified Self. The post quotes a post on this blog and uses my full name spelled correctly. I would think this is something Google Alerts should be able to pick up. The Friendly Anarchist is not a new blog. It has archives going back to 2009.

This morning I got a Google Alert for my name.

Google Alert for MAS

This is common. Every other month I get a Google Alert for an arrest by someone with my same exact name. Do I ever get Google Alerts for when I am actually mentioned in a blog or newspaper? Never. When the super popular site LifeHacker mentioned my coffee site INeedCoffee in a featured article, I didn’t get a Google Alert for INeedCoffee.

I have confirmed the settings on every Google Alert multiple times. I should be getting Google Alerts when my sites or myself are mentioned, but I’m not. Google support is worthless, so I won’t waste my time reporting this to them. I just setup an account with Talkwalker, which is an alternative to Google Alerts. Hope they do a better job.

Web Hosting: Goodbye Arvixe, Hello Site5

I moved this site to a new web host yesterday. My one month experiment with Arvixe was a disaster. They were worse than BlueHost. In less than a one month I had submitted a full page of tickets for just when I caught the site was down. I’m sure the site was down much more than what I caught.

This also goes to show you that you can’t trust online reviews. Everyone is getting referral money. As long as they get their beak wet, everything is wonderful. I had a BlueHost affiliate relationship for a long time. As soon as the outages started and they denied my request to move servers, I pulled it from this site.


This is why you should never host with And I never received an email update for anything but the first two tickets (not shown). 

The new host is Site5. It costs more. Let us hope it is worth it. Early ping tests show it is twice as fast as the last host. Like every host relationship, I won’t endorse or recommend until at least 2 months have passed.

If you see any issues, please leave a comment. Moving a site with 8+ years of content isn’t easy. Sometimes code breaks.

New Web Host

I moved this blog to a new web host today. I got tired of the poor performance and outages with Bluehost. Hopefully, the new host Arvixe will work better. So far it appears to be running faster. I am seeing page draws in the 1.5 second range, which is outstanding for WordPress on Apache.

I get a 60 Day Money back guarantee should this new host fail to deliver. If you see any issues, let me know. With 8+ years of content, there is bound to be something that didn’t transition over correctly.

Introducing the Stuff I Like

With the new redesign, I wanted to create a single page with all the best books, gadgets and videos that I’ve come across throughout the history of this blog. The first version of the page is now live.

Stuff I Like

It is easily accessible from the top menu bar. My plan is to keep this page updated. I’ll add new items or take down items periodically.

A Guide to the Good Life: The Ancient Art of Stoic Joy
A Guide to the Good Life: The Ancient Art of Stoic Joy by William B. Irvine made the list

The next thing I will be doing is adding more Best Of pages. This should help a lot with site navigation as the site approaches 2,000 posts.

I’ve also created a Pinterest account for CriticalMAS. Pinterest does a good job with recipes and posts with a more visual element.

Shutting Down the CriticalMAS Facebook Page

I have some pretty strong opinions when it comes to the web, especially when it comes to owning and controlling your own work. In recent months I’ve become increasingly frustrated with Facebook. I think it is a fine social network for individuals, but when it comes to Pages, I have some issues.

#1 Facebook is Hiding Posts

Facebook does not show every post to those individuals that LIKE the page. It selectively hides based off what it thinks the user wants to see. Then on my end, I get the opportunity to pay money to Facebook to get my post on the wall of everyone that already clicked LIKE. I don’t respond well to digital extortion. Below is a screenshot of the Boost Post option from my INeedCoffee Facebook page.

Boost the Post

This post went up yesterday. The INeedCoffee Facebook page has 1,443 LIKES and yet Facebook has decided that only 75 should see the post. In the screenshot above you can see that for $30 I can get this post to 4,500-12,000 people. I have no interest in that offer. I’d prefer to reach 1,443 people for $0, but that isn’t an option. Some will argue that Facebook needs to make money and that I’m using their service for free and this is a fair compromise. I disagree. Not only am I providing content on my Facebook page for which they can run highly targeted ads beside without compensating me, but I’m also directing my readers to the Facebook server. Plus I am not asking to go outside my network for views.

What I noticed about the INeedCoffee Facebook page was as the number of LIKES increased, the engagement ratio decreased. I wanted to know more about Boost Post, so several months ago I paid $5 to promote a new piece of content on INeedCoffee. I wanted to see how many new LIKES I got and if that engagement increased traffic on the posts that followed in the next two weeks. It failed. The site got very few new LIKES and the engagement level dropped immediately back to pre-extortion (um I mean Boost Post) levels.

CriticalMAS has far fewer LIKES, but do I really want to go through this process again?

#2 Facebook Comments Aren’t Searchable and Available to All

This blog has almost 9,000 comments. I consider them as valuable as the almost 2,000 posts. Those comments can be read by anyone on the Internet. I am a big proponent of openness and transparency.  I even acquired a search plugin that searches comments, which is something 99% of WordPress blogs do not have. Your comments are very important to me. I want to be a good steward of those words. I can’t do that on Facebook. Comments get lost as time passes. My non-Facebook readers can’t see the Facebook comments, whereas the Facebook readers can see the blog comments.

The quality of comments is getting greater and greater on Facebook. Everytime I see an awesome comment, my first thought is I wish that were on the blog where everyone can see it. If I let the Facebook page continue to grow, this problem is just going to get worse.

#3 Facebook Comments Have a U/I Threading Bug

Depending on how you reply to a comment on Facebook, you may or may not see the entire thread. It has the appearance that comments are being deleted. The only way to see the entire thread of comments is to click on the date beside the post. This is not intuitive design. Here on the blog, every comment is visible on every page draw. Nothing is ever hidden.

4 Ways Facebook Users Can Continue to Read Critical MAS

Posts by Email – This is handled by Google’s Feedburner. It is easy to unsubscribe and your email address is safe.

RSS – I love RSS. If you aren’t sure what RSS is, go to Feedly and set up an account. Then watch this video. RSS connects content producers directly to readers without having to go through sites like Google and Facebook. Another great thing about Feedly is it can display content in mobile friendly format, even if the subscribed site can’t.


Screenshot of my Feedly RSS Reader. The left column shows the new articles I have available to read from sites I have subscribed to. I selected the post from Beyond Kimchee and a snippet from the newest recipe appeared in the right column. Sometimes a snippet appears. Sometimes the full article. For CriticalMAS, at this time I show the full article. Sites that have had copyright theft often use snippets. 

@CriticalMAS – A link to each new post to automatically sent to Twitter. Because Twitter responses are limited to 140 characters, those with valuable comments will leave them on the blog.

Google+   G+ to my knowledge doesn’t hide posts like Facebook does, but unfortunately they also collect comments, which I dislike. The good news is my G+ readers are still leaving comments on my blog and not G+.

Last Words

I’m tired of digital sharecropping for Facebook. I’l probably lose a few readers, but it is better to take a small hit now and not a larger one in a few years. So I will be pulling the plug on the CriticalMAS Facebook page in a few days. The 18 month experiment has ended. The INeedCoffee Facebook page will remain, as that audience despite being much larger, almost never leaves comments, let alone interesting ones.

Update December 2013: I created a CriticalMAS Pinterest account. Seems I’m getting more referrals from there than Facebook and Twitter combined. Mostly recipe posts.

Welcome to the Redesign – It’s Awesome!

The redesign of CriticalMAS is finally here. I love it. It took months of looking to find a theme that met my needs. Large readable fonts, mobile friendly, a fixed “sticky” header”, clean layout and fast. Posts look good with or without images, which is not true for the majority of themes. Also, I found a theme that will make it much easier to manage and find the close to 2,000 posts on this site.

I haven’t blogged as much as I would have liked in the past few months. The reason for me is that Design Inspires Content, which is something I posted about in April 2010 and July 2013. When I dislike how my words look on the screen, I tend to write less. The good news is I can’t recall every liking any version of this website more that this one. Even the crappy posts look good. :)

Let me know what you think of the new design or if you have any suggestions. I will be adding more pages to the top menu to help site navigation. I’ll also be investigating an alternate email newsletter solution.

MAS beer cans

I’ve always had a fondness for good layout.

Where Seattle Pedestrians are Getting Hit

In June, the Seattle PI put out the article “Where Seattle Walkers Get Hit”. It pulled data across 3 years to show which were the most dangerous intersections. As someone that has been hit by a car in Seattle, this article was of interest to me. However, the data was in a horrible format. Instead of having a single map, our local newspaper spread the dataset across 34 pages to drive up pageviews.

It’s not like people are getting killed..oh yeah they are.

Last week, I met some developers working for the Code For Seattle project. One of the members told me about a mapping solution call MapBox. Tonight, I rebuilt the Seattle PI article as a single map, which shows the most dangerous intersections in red, followed by orange and yellow.

Much better.

Full screen version

Lost My Blog Idea List

Whenever I would get an idea for a blog, I’d add it to a list. Often the ideas came from someone leaving a comment. Well I transferred the paper list to a text file and threw away the original. Now I can’t find the blog idea list. The one file I recovered only has two ideas. The larger list is gone.

With that said, if there was a post you were waiting on or something you wanted me to blog about, please leave a comment.

Design Inspires Content

I’m already tired of the redesign. As much as I love how this site now looks on mobile and the new search, I’m sick of the new version. It is too boring. The previous version had a Seattle backdrop, which was nice, but since the blog rarely mentions Seattle anymore, I didn’t feel it was relevant.

I’ve had websites since 1996. Whenever I dislike a layout, I notice that stop I producing as much content. The more I like the layout and look, the more I post. For years whenever I get stuck, I remind myself that Design Inspires Content.

I think I need to go back to the drawing board on the next version already. I’m thinking I need some logo or background that correctly brands this site.

Layout: I do like the spacing and layout of this blog. I like the width and strongly prefer blogs where the sidebar is on the right.

Fonts: Good, but not great. I really like the fonts used on Calculated Risk.

Logo: I love the branding Richard has at Free The Animal. He also great fonts. Probably the best looking Paleo site.

Sidebar: I love the sidebar of Barry Ritholtz’s blog.

Any ideas for logos, colors or branding ideas? And a follow-up question, what are your favorite sites strictly from a design and typography point of view?

Two Week Blog Break

I am going to be mostly offline until May 30th, so I probably won’t have any new posts until June.

The redesign is mostly finished. There are still a few things I want to fix, but that will have to wait for now. The good news is the site looks awesome on mobile and the new search engine is much better. It not only searches posts, but your comments as well. Results are not returned in date order, but weighed for relevancy. If you have a WordPress site, look into Relevanssi. Their free version is excellent.

When you do a blog redesign, you stumble upon older posts. Some that are still good and others that aren’t. As tempted as I am to remove some of the stinkers, I don’t. A blog is place where I can throw up an idea that was on my mind that day. It doesn’t mean that I’ll keep that opinion. I often don’t.


Critical MAS logo from 1997.

The Critical MAS blog now has 1,898 posts and 7,825 comments. It has 487,633 words (not counting this post). Finding the good posts can be difficult for even me. While I am away, I’ll be thinking about better ways to highlight the better posts. The BEST OF section above is OK, but not ideal. Until then, here are 10 random posts I still like.

  1. Tales From the Glitter Gym – The Commando
  2. The Problem With Boot Camp Training
  3. Space Needle For $1
  4. How To Get Lower Rent
  5. Rejecting Nutrition
  6. True Job Insurance Means Shorting Your Own Company
  7. Rejecting the Naked Warrior
  8. How Tim Ferriss REALLY Gained 34 Pounds of Muscle in 28 Days
  9. Blinded By Successful Outcomes
  10. Kimchi 2.0


The Next Version of Critical MAS

I plan to release a new version of this blog sometime in June. Some ideas I have so far include:

  1. New theme. The current theme I am using hasn’t been updated in a long time and unsupported themes can be problematic.
  2. Better typography. Although I like the fonts on this site better than 95% of all sites, I still think they can be more readable.
  3. Slightly wider content area. I’d like to start adding 640 pixel width images to posts without having them cramp up.
  4. Mobile. I had an OK mobile theme for a long time, then I tested a mobile app solution that ended up not working for me. When I tried to roll back to the older mobile theme, it wouldn’t work. The new theme will be Responsive, meaning one design to fit itself to a wide range of devices from monitors to tablets to phones.
  5. Better search engine. I’ll be deploying a site search engine that will not only search posts, it will also search user comments. 99% of blogs don’t have this capability. I’ll also be able to weigh content, so better posts appear higher than newer posts in the search results.
  6. A little bit faster. This site usually moves pretty fast, but I’ll explore some ideas on increasing performance.

Any other ideas? What would you like to see improved on the next version of Critical MAS?


Critical MAS Fitness Book Giveaway Contest

I have 2 fitness books that I’d like to giveaway to one of my readers.

  1. Power to the People! : Russian Strength Training Secrets for Every American by Pavel Tsatsouline
  2. The Grip Master’s Manual by John Brookfield

Power to the People has a well worn cover and The Grip Master’s Manual is in great shape. To enter the contest:

  1. Be in the USA. I’m shipping these 2 books via USPS Media Mail. Sorry international readers. 
  2. Leave a comment listing your TOP 2-3 health and fitness sites. How you rate your TOP resources is up to you. It could be trust, knowledge or just entertaining. You can even plug your own blog or podcast.

There will only be one winner. The winner will be receiving both books.

The contest will close Saturday March 9, 2013 at 7 AM Pacific (was 9 AM, but I have to leave early that morning). I will use the random number generator at to decide which comment is the winner. I will email the winner requesting a mailing address. If the email bounces for any reason, I will get another random number and repeat the process.

If you are outside the USA, but still wish to list your TOP 2-3 health and fitness sites, please indicate that you are outside the USA in the comment, so I can pick a new number without sending you an email.

The Grip Master's Manual
The Grip Master’s Manual by John Brookfield

Power to the People! : Russian Strength Training Secrets for Every American
Power to the People! : Russian Strength Training Secrets for Every American by Pavel Tsatsouline

Goodbye Coffee Hero!

Today was a good day. I sold the Coffee Hero web domains. Soon I’ll be transferring over the Facebook and Twitter accounts. Coffee Hero is a killer name and I have confidence that the guys that purchased it will put out a solid web entity in the future.

I spent a huge amount of time from 2009-2010 trying to build that site. It never took off. The web didn’t need another coffee e-zine or a Seattle coffee blog. One coffee website is enough for me. The good news is I got a nice chunk of change today and I can finally stop thinking about what I am going to do with those domains.

Photo by Kate Haskell

Chasing Down Site Performance Issues

I’ve been spending the last week chasing down site performance issues. Every so often, usually in the morning the site starts hanging. At first I thought it was a WordPress plugin issue, so I went plugin by plugin with no benefit. BlueHost showed me a page that detailed when my site was being CPU throttled. After several more hours of investigation, I now believe it is being caused by a webcrawler called 80legs.

80legs has hit my site almost 50,000 times in the past 3 days. Actually less than 3 days. Some of the hits were multiple times per second. Does that qualify for a Denial of Service attack? I’ve reached out to the company and added a disallow rule on my robots file. Hopefully, this will get resolved in the next few days.

Telling the 80legs crawler to leave.

Why I Post Food Recipes

I love cooking and then food blogging about what I made. As honorable as sharing my kitchen adventure is to others may be, I realized that my primary motivation is selfish. Whenever I take on a new dish, it usually involves looking at several recipes online and then based off my own likes, dislikes and equipment, coming up with my own variation. If my variation works, I document everything and take photos. Then I publish to this blog in the Recipe category. Now the next time I go to make the dish, I go to my own website without having to repeat the research I did the first time.

The recipe section of the site is my own version of the family recipes that used to reside on index cards. In cases where I don’t make any alternations, I might just take photos and provide a direct link to the source. This is also saving me time as I don’t need to go back to the search engine to locate the recipe that I already know I like. As great as Google Search may be, when it comes to recipes they favor larger sites with more cluttered design and recipes of unnecessary complexity.

I much prefer getting recipes from the independent blogger than some celebrity chef. There is less noise. The recipe is less likely to try an up sell me on something I don’t need. So when I search recipes online, I almost always jump down to about the 10th spot in the search results and start my research there.

In the outstanding book An Economist Gets Lunch: New Rules for Everyday Foodies, author Tyler Cowen goes into greater depth on why getting recipes from celebrity chefs is usually a bad idea. It is in the economic interest of a top chef not to make their dishes too easy to replicate. They tend to have more ingredients and steps than most. The more complex the recipe, the more likely something might go wrong and worse is you might not be able to figure out what caused the dish to turn out poorly. Simple recipes are better for learning and can often yield equal results in terms of quality. This is why I’ll favor an independent blogger like dishes and dishes over someone with a show on The Food Network.

An Economist Gets Lunch: New Rules for Everyday Foodies
An Economist Gets Lunch: New Rules for Everyday Foodies by Tyler Cowen

Another reason I post the recipes online is the instant feedback I get in comments. These tips and suggestions help me become a better cook at a faster pace. When my attempt at cooking pig uterus came out rubbery, Terri added an excellent comment guiding me in the correct direction the next time I make this dish. Even though I rarely will update older posts, that rule doesn’t extend to recipes. As I improve upon a dish, I will go back and make updates to those posts. In April 2012 I made quite a few changes to my July 2011 recipe for Dill and Caraway Sauerkraut.

If you are learning to cook, I highly recommend getting a camera and starting a blog. Use the free service offered by Your blog will become your personal recipe drawer. Then sharing recipes with friends and family is as simple as emailing a link.

Removing the Readability Publisher Tool

UPDATE: Readability has confirmed this bug exists in Internet Explorer. I’ve added back the plugin at their request so they can perform testing. 

UPDATE 2: Readability has fixed the bug. Yeah!

As a user I absolutely love the Readability browser plugin. I can go to any site that uses hideous typography and with a single click the page will magically convert into easy to read text. Readability is not the only application that makes text easy to read. Instapaper and Pocket also do a great job beautifying the web. I highly recommend using one of these services.

Publisher Woes

So now that my love letter to Readability as a user is over, I’m going to say why I’ve removed their publisher toolbar from the posts on this blog. It has a bug. I’ve reported this bug and provided screen shots. First they claimed they couldn’t reproduce it. Then they ignored me. If you do not have an account with Readability or you are not logged into Readability and you click the Read: Later button this is what happens.

The Later button turns to Saving and the Saving icon appears. 

Instead of loading the save page on Readability, the script redirects the user back to originating server where that page doesn’t exist. The user sees an error.

The code that performs this redirect is hosted on Readability. It is broken, I reported it, they ignored me. That is why I’ve removed it from this site. I was also planning to add it to INeedCoffee. That isn’t going to happen now. At this point, even if they fix it, I won’t use it. It slows page draws and the fonts on my sites are larger, darker and have more spacing than most. The print and mobile versions of this site aren’t bad either.

So if you miss having the Readability buttons on this site, please install Readability directly to your browser.

How Web Hosting Tech Support Works

Last night this site was offline sporadically for an hour. I submitted a Support Ticket to my web host and waited. I don’t know why I even bother with the tickets, because I know how it is going to end before I even start typing. My ticket goes into a queue. By the time support gets around to my request, every thing is running fine. A number of things could have caused the problem, but they can never replicate the problem, because it is gone by the time they go to investigate.

Photo by tyle_r

Then I’ll get the email saying how there is no problem. A few days or weeks will go by and the same problem will play out all over again. Never once does any tech support member run some analysis on what was happening on their server during the period I reported the problem. Maybe we can learn something to prevent the next problem? That is a radical idea. It is 2012, they should have much better monitoring and forensics by now. But they don’t, so the customers keep sending in ghost stories of phantom problems that only they can see.

My other web host goes a step further. They tell me to go parsing through log files to determine how I screwed things up. Never mind the fact that my site ran perfectly fine on other hosts. It must be my problem. Always omitted from the discussion is the fact I’m paying for shared hosting, which means my site is just one of many on that server. Looking at just my log files, assuming I could even understand them, only provides a partial view of that server.

Airplanes have “black box” recorders that they use to figure out what caused a crash and how to prevent the next one. Web hosts need something similar. Maybe it already exists. If it does, the support representatives I get aren’t using them.

Spacing Out on Extra Spaces

One year ago an article I read convinced me that one of my deepest beliefs was wrong. The article was Space Invaders: Why you should never, ever use two spaces after a period by Farhad Manjoo.

Can I let you in on a secret? Typing two spaces after a period is totally, completely, utterly, and inarguably wrong.

When I was in school, I had been taught to drop 2 spaces after every period, question mark and exclamation mark. In a world of monospace fonts, that might make readability better, but not for the vast majority of fonts, which aren’t monospaced. The Slate article really impacted me. I was convinced, so around June of last year I broke a lifetime habit of double tapping the space bar.


Photo by Jake Bouma

Within a week of doing the single space, I could see how much nicer the fonts were lining up. Whenever I went back into the blog archives to collect a link, I’d cringe a little seeing all those extra spaces. Every now and then I’d hand edit the post and remove those extra spaces. The problem is this site has over 1700 posts. That could take forever.

A few weeks ago I was doing some housekeeping on this site and decided to do something programmatically about it. I wrote some queries to remove extra spaces out, but they didn’t work. After a lot of work, I determined that the ASCII codes for the first and second space after a sentence were different. Then I modified a stored procedure to clean the posts of these evil hidden spaces. Before running the query, I did several tests and it appeared to be solid code. So I ran it and it appeared to work. All those extra spaces from the December 2005 to June 2011 were gone.

All was not well though. I started seeing cases where words that should have been separated by spaces were now collapsed. And there was no rhyme or reason on where it happened. Last night I wrote I stored procedure to locate long words, with the thought that some of these long words were really pairs of words packed together. I found a bunch and I’m still finding more. I went from having yucky typography to having a number of spelling errors. I do have a backup, but I’m hesitant to roll back because far more posts were positively impacted than negatively.

This might take a while.

UPDATE: Eventually all the extra spaces were removed. There may be a few stray ones left, but the bulk is gone.

Comments About Comments

This site recently passed a great milestone of having over 5,000 comments. I love the comments this site gets. I’ve gotten so many great ideas. Last year I added comments to my coffee site INeedCoffee. It was a disaster. Despite having ten times the traffic this site has – very few readers left comments and those that did added no value and were often spam. I ended up shutting down the comments. I may restore it to selected articles in the future, but not right now.

Photo by Premasagar Rose

I don’t comment on other blogs as much as I’d like to. Recently, I thought about the barriers that prevented me from adding a comment and came up with this list.

Why I Didn’t Comment on Your Blog

  1. No Option to Subscribe to Comments – This is the number one reason I won’t leave a comment. WordPress offers several plugins that manage it all for you. Google’s Blogspot offers a clumsy way to subscribe to comments, but it works. If I really like the site and they don’t offer a way to subscribe, I’ll send an email to the website owner requesting the feature. If it gets implemented I’ll become a more active reader and participant in the site, because I feel invested in their success. If my request gets ignored, I may stop reading the site altogether.
  2. CAPTCHA – I hate CAPTCHA. It often takes me multiple attempts to see those letters. There are far better ways to prevent SPAM that don’t annoy the reader. Blogspot sites are most guilty of this. And I hate Blogspot. I find it ironic that Google engineers are geniuses when it comes to filtering email spam, but are blithering idiots when it comes to comment spam.
  3. Force Me To Log In To Comment – If I have to sign up for account or use some authentication method that requires a form to fill out, I won’t leave a comment. As bad as DISQUS was at filtering SPAM, they have a great interface for authenticating users. If you are logged into Twitter or Facebook, you can click a single button to be authenticated without filling out a form. Meanwhile, Google is completely stupid on this point. Even though I’m logged into GMAIL, YouTube and other Google services, I am forcing to log into their Blogger service to leave a comment on Blogspot accounts. There is also a bug that if you can’t request to subscribe to comments until after you are authenticated. *BTW, I no longer report bugs to Google. I have a long history of them ignoring every bug request I’ve ever reported.
  4. Censor My Comment – Not “holding for moderation“, but outright censored. I’m always respectful and never combative in the comments I leave. Once I figure out that a site censors comments, they are dead to me. High Intensity Nation censored two of my comments. I am no longer a fan or supporter of that site.
  5. Too Many Comments – If a site is super popular and receives lots of comments, I’m less likely to comment for two reasons. One is that I feel that someone has probably already said what I’m thinking and the second is that I feel my contribution will get lost. It would be better to flesh out my idea over on my own blog.
  6. Comments Aren’t Maintained – If I see lots of spam in the comments or if the author of the article doesn’t respond to simple direct questions from their readers, then I won’t leave a comment.
  7. Comment Thread Has High Noise Factor – Look at the comment threads for the articles over on Yahoo! Sports or most investment forums for examples.
  8. Site Has Coding Errors – Maybe everything is right about the site, but one of the plugins looks like it is throwing an error. I’ll assume the comment system may have issues as well and leave. I once left a comment on a blog that errored out. I emailed the website owner the bug I was experiencing and I got an “LOL” response. I unsubscribed from the site and have never been back.
  9. Site Has Poor Typography – I’m a sucker for a clean user interface. If you use small gray fonts on a white background, I won’t comment. I can use the Readability plugin to make your site legible, but that plugin doesn’t clean up the comments, just the content.
  10. Author Doesn’t Ask For Specific Feedback – Sometimes I’ll read a great blog post and the only thing I can think to comment is “great job”. But that really isn’t enough to motivate me to comment. When the author closes with a few questions to extend discussion, I’m more likely to comment.
  11. Doesn’t Support Trackbacks – I am more likely to link to and engage in the comments of a site that supports Trackback links. Sites like FreeTheAnimal and PerfectHealthDiet have linked here and me to them. We all honor trackback links. Blogger and Blogspot sites do not support trackbacks. This one isn’t a deal breaker, but a nice to have.

Those are my reasons for not commenting. Did I miss anything?

Case Study: Failed WordPress Update Due to Database Issues

This post is about symptoms that broke my install of WordPress and how I was able to get everything fixed.

This past Saturday I noticed some bizarre blog behavior. I was getting an email backup of this WordPress blog every minute for several days. Even after disabling the backup plugin, the email backups kept coming. So in a desperate attempt to do something, I upgraded to the latest version of WordPress.

Database upgrade required

After running the auto-install to the latest version, I got a screen telling saying “Database upgrade required”. When I pressed the button for that screen, I was told the Upgrade was complete. But it wasn’t. Clicking that button sent me back to the “Database upgrade required” screen. Endless loop.

Joe from tipped me off to the post Solution for WordPress WP-Options Issue – Database Upgrade Required. Basically, the database version exists on both the install and as a field in the database and they need to be equal for things to run. The solution is to update the database field so they are equal.

UPDATE Fails on WordPress Database

Using HeidiSQL I executed an UPDATE command to fix everything.

UPDATE WP_Options SET option_value = ‘19470’ WHERE option_name = ‘db_version’

No luck.

/* SQL Error (1142): UPDATE command denied to user ‘xxx’ for table ‘wp_options’ */

Now I was stumped, so I reached out to my host. They informed me my database was full.

Database Full

Turns out my WordPress database had filled up. It went from a few MBs to 50 MBs. How did that happen on less than 100 blog posts? Seems my Redirection plugin had created a log file of over 54,000 rows.  I attempted to delete the log file from the settings page, but it failed, so I did it from HeidiSQL. That dropped the database back down to under 3 MB. To prevent this from happening again, I found a setting for the plugin that truncates that log entries. I set it to 30 days.

All Is Well

Once the database had free space, UPDATE commands worked and the WordPress install went successfully. The endless backup problem was solved as well, once that plugin was able to update the database.

Hopefully, this post helps at least one other blogger.

The INeedCoffee Redesign is Live

Way back in April 1999, I launched a coffee website for fans called This was before blogging or blogging software was available to everyone. So I hand coded my own content management software for the project, which I still use.

Today was a major milestone, as I released a long overdue redesign. Check it out. Tell me what you think. A mobile friendly version will be coming soon.

Latte Etching

Who is Attacking My Web Server?

This week I noticed something very interesting. Whenever I get a fresh comment on the post Filing Fraud Charges Against XM Radio, it is usually followed by a barrage of SPAM comments. Of the almost 1700 posts on this blog, that is the one with the most comments. And almost three years later, the comments on that post are still coming. It seems I’m not the only one that got ripped off by Sirius XM Radio. If you are thinking about signing up for their service, browse the comments before you read your credit card number to their call center in India.


Anyway, since the last comment on January 19th a single IP address has been slamming me with SPAM on just that post. Now my filters are strong, so nothing got posted on the site. These requests are coming from Volume Drive out of Clarks Summit, PA. I’m not a security expert, but I was able to block their IP Address.

Maybe it a coincidence? I don’t know. What I do know is that post has been #1 on Google for “XM Fraud” for almost 3 years. I also know that bloggers will often disable comments on older posts if they start receiving too much SPAM. Well, I’m not. I’m leaving the comment section on that post open.

Creating a Search Engine Without Google’s Help

Most websites these days use content management systems that already have their own built-in search functionality. This solution is for websites that run on IIS and have their content inside a SQL Server database. Like INeedCoffee.

It was surprisingly easy to create a smoking fast search engine that delivered relevant results. I can’t help but think of cooking analogies. That great meal at the restaurant often isn’t that difficult to replicate at home. Google is an amazing chef, but my home cooking is pretty awesome too!

Writing Your Own Search Engine Using SQL Server


Hey graffiti photo taken near the University of Washington

Writing Your Own Search Engine Using SQL Server

My coffee site INeedCoffee needed a better search engine. I had thrown some basic SQL together when the site was launched back in 1999. It did an OK job when the site didn’t have much content. Over the years, the quality of the search results got worse and worse. So I did what any coder would do, I looked for a free solution.

Google did better job searching my site than my own code, so I looked at their Google Custom Search solution. I didn’t like their free ad version and I didn’t what to pay them $100 each and every year for the non-ad version. I decided that not only could I write my own search engine that was just as fast, but I could also deliver better results to the users. After all, I knew my content better than anyone else.

Assigning a Quality Score

The first thing I noticed about Google’s search results is that the best article on a given topic often wasn’t listed first. It had no way to know quality, but I did. So I added a quality score of 1 to 5 for every article. The default was 3. The best content was rated a 4 or 5. Articles that needed better photos or improved in some way, were given a 1 or 2. Later I’d also use this quality score when assigning weight on the sitemap.

Web Form -> Server Side Code -> Stored Procedure

The HTML search form is pretty basic. A single text box and a submit button. What server side code you use to call the stored procedure is irrelevant. ASP.NET, Classic ASP, PHP – it is all good. The server side code will call the search stored procedure.

Two Temp Tables

The search stored procedure will have two temp tables: #searchWords and #searchResults. The purpose of #searchWords is to chop up any search phrase into individual words and then record their position. Later that position will be used to order search results, which more weight being placed on the first and second word in a search query. The #searchResults table are the results being returned to the web page.

CREATE TABLE #searchWords (
    word      VARCHAR(100),
    position    INT
CREATE TABLE #searchResults (
    url        VARCHAR(100),
    title      VARCHAR(100),
    longDesc   VARCHAR(MAX),
    quality    TINYINT,
    score      INT

Splitting Search Phrases

For this functionality, I found some code on StackOverflow that did the job. The SplitWordList user-defined function by Terrapin works perfectly. If the user places the search term inside quotes, I do not call the SplitWordFunction and inside enter the entire phrase as one row in the #searchWords table.

INSERT INTO #searchWords SELECT word, position from SplitWordList(@searchString)

Count String Function

For the actual search, I used the Count String Occurrence Function. The search words are compared first against the article title and then the content itself.

CREATE FUNCTION [dbo].[udfCountString](
    @InputString    VARCHAR(MAX),
    @SearchString    VARCHAR(100)
    RETURN (LEN(@InputString) -
            LEN(REPLACE(@InputString, @SearchString, ''))) /

I Like Cursors

The most straight forward approach I could think of for getting search results was to use two cursors. One with the content and one with the search words. Then write the hits to the #searchResults temp table. But cursors are often frowned upon for poor performance. I decided I would first code the search engine using Cursors and then if I ran into a performance problem, I’d come up with an alternate solution. But I didn’t need to, as I got rocking fast results using CURSORS.

SELECT url, title, longDesc, quality, page
FROM Articles 

SELECT word, position FROM #searchWords
OPEN SearchWordCursor 

OPEN ContentCursor
FETCH NEXT FROM ContentCursor INTO @url, @title, @longDesc, @quality, @page

    FETCH FIRST FROM SearchWordCursor INTO @word, @position
        -- place more weight on the first search term
        SELECT @score = CASE @position
            WHEN 1 THEN 3
            WHEN 2 THEN 2
            ELSE 1
        -- search the TITLE 
        SET @count = dbo.udfCountString(@title, @word)
        IF @count > 0
            INSERT INTO #searchResults VALUES (@url, @title, @longDesc, @quality, @score * 10)
        -- search the PAGE
        SET @count = dbo.udfCountString(@page, @word)
        IF @count > 0
            INSERT INTO #searchResults VALUES (@url, @title, @longDesc, @quality, @score)

        FETCH NEXT FROM SearchWordCursor INTO @word, @position
    FETCH NEXT FROM ContentCursor INTO @url, @title, @longDesc, @quality, @page

CLOSE ContentCursor
DEALLOCATE ContentCursor

CLOSE SearchWordCursor
DEALLOCATE SearchWordCursor

Working With the Results

Before dropping both temp tables, here is the query used to return the search results. If you look at the SQL above you will see that it is possible (likely) that a search hit will take place on both the title and the page content. I ran some tests and determined that a search hit against a word in the title was 10 times more important than the content, so I multiply the score time ten if there is a title match.

To flatten the results, I use a GROUP BY clause in the SQL. Then the results are returned order from highest to lowest scores.

SELECT TOP 20 S.url, S.title, S.longDesc, S.quality, SUM(S.score) AS Score
FROM #searchResults S
GROUP BY S.url, S.title, S.longDesc, S.quality
ORDER BY SUM(S.score) DESC, S.Quality DESC

Better Than Google?

I ran numerous tests comparing my search engine to Google. My hand-coded INeedCoffee search engine delivered better results at equal or faster speeds. And the best part is I don’t need to send Google a check for $100 every year.


All the above code is available on GitHub.

Is Critical MAS now Mobile Friendly?

This morning I installed and configured the WordPress Mobile Pack plugin. It detects if the site is being viewed by a mobile device and returns a more friendly version of the site. I was able to test it using an iPod 4. With two exceptions, it appears to work great.

  1. Following the small link to comments using a mobile device returns the post without comments. However, using the larger ribbon button to access comments works.
  2. The Archive page doesn’t display correctly. Since that page is rarely accessed, I removed the link from the top.

Ancient Mobile Phone

This is me testing out the site. “h…t…t..p..colon…” ;)

If you have an Android or Windows mobile phone, can you test out the site and leave a comment? Thanks!

UPDATE: Testing has passed for iPhone, Blackberry, Android and Windows Phone 7.

The Website I Don’t Speak About

In addition to this blog, I have a few other websites. The one I have stopped speaking about is The reason is that as my understanding of fitness and nutrition has improved over the past few years, the more I dislike the content over there. The content is a collection of shared articles. Some of the articles are decent and some are just awful.

The purpose of DeepFitness from the start was to both promote fitness and make some ad revenue money. Well, it hardly makes any money and I now see many of the articles fail to promote good health. What I am proud of is the code base. Of all the web projects I’ve ever designed, it has the tightest code (ASP.NET, C#, SQL Server, Web Services). Many times I’ve been tempted to pull the plug on the site, but the code works so well that I can’t bring myself to do it. Until this week, that was the sole reason I kept this site running.

How do you improve the site? Updating 2,152 articles is not an option as it would take years to complete that project. Then a few days ago, I got an idea on how to make the content better without updating any articles. During my investigation of nutrition and fitness over the past few years I have read many great books. What I needed to do was expose the readers to those books. So using my Amazon Link Builder, I added some code that drops in large images of relevant books when an article is requested.

Example: The banner for Wheat Belly by Dr. Davis now gets inserted into some of the articles, such as 5 Tips To Losing Weight While Keeping Your Sanity. The article is drivel, but I’m certain the book is excellent. And if the reader connects with some of these great books then the goal of promoting fitness is achieved.

Wheat Belly: Lose the Wheat, Lose the Weight, and Find Your Path Back to Health
Wheat Belly: Lose the Wheat, Lose the Weight, and Find Your Path Back to Health by William Davis MD

Adding a Recipe Category

Up until this morning, I had been placing all my recipes into the Nutrition category. That kind of made it hard to find things, so I spun off 24 posts into their own category. And more recipes will be coming.

Critical MAS Recipes

The recipes are mostly Paleo/Primal or Nourishing Traditions inspired. If you are looking for a low-fat whole wheat vegan recipe, you came to the wrong site. :)

My kind of cupcakes: bacon, eggs, no grain, no sugar.

Moving Away From

Three years ago I reached out to my readers and asked about moving my blog away from to The response was overwhelmingly in favor of staying on I listened to you guys and stayed on CriticalMAS and although I like the name, a new problem has surfaced.

Google now “auto corrects” my domain name in their search box by adding an additional “s”. Then the search is executed and none of the results come from this site. So Google has deemed my domain name a misspelling. I could map both domains so no links ever break. I still prefer the shorter name. has been live since March 2000. I would really hate to destroy that legacy, but Google controls the Internet.

What to do? Your thoughts?

Getting Mauled by a Panda

I was mauled by a panda. Not the panda you find at the zoo, but Google Panda.

Google Panda is the code name for the latest Google search engine algorithm. It is Google’s latest attempt at making their search engine results more relevant. Although it did not affect this site, it hammered my coffee site INeedCoffee. Google Panda caused a 40% drop in traffic. Other sites such as EZineArticles lost over 90% of their traffic.

Photo by Valerie

INeedCoffee has been around since April 1999. Granted it doesn’t post with the frequency of many other sites, but coffee is unlike other interests. A financial site might require multiple posts a day to stay relevant, whereas instructions on making a cup of french press coffee really don’t change from year to year. I wonder how much of the drop is based upon post frequency.

One thing I’ve learned about Google is they don’t respond to complaints, suggestions or even when you take the time to report bugs in their products. Reaching out to them is a waste of time. So what I am going to do? I am going to take the advice in this article and strive to make INeedCoffee a better site.

I have a list of ideas to improve INeedCoffee. The primary fix is going to be improving navigation. It is too hard to find specific articles on the site. I also plan to replace or remove the worst articles on the site. I’ll be sharing more details as I roll out the changes.

My technical site Digital Colony was also impacted. That seems fair since most of the articles are about technologies that have since been updated. Also, I discovered some sitemap issues which have since been resolved.


Top 10 Posts For 2010

I see other bloggers doing an easy Top 10 list. Why not me? Here are the 10 most popular posts on Critical MAS written in 2010.

  1. 2010 Fremont Solstice Parade Photos
  2. Intermittent Fasting Improving Your Success Rate, A New Strategy
  3. Why I Am Not Renewing My Sirius XM Radio Subscription
  4. Four New Books That I Cant Wait To Read
  5. The Paleo Diet Is About To Get Huge Again
  6. If I Were Still a Vegetarian
  7. Bok Choy Kimchi Recipe
  8. Gary Taubes Why We Get Fat Lecture
  9. Lights Out: Sleep, Sugar and Survival
  10. Coffee Ice Cream Options in Seattle

By far the most popular post on this site is The Lovely Ladies of Texas? , which was posted over two years ago. It still gets insane traffic. In second place is a 2009 post titled How Mickey Rourke Gained 27 Pounds of Muscle For The Wrestler.

5 Years Later

Five years and 10 days ago this blog was relaunched.

I decided that I would no longer post about the news of the day.

I would post about things in my life that I found interesting.

In order to keep the blog interesting, my life had to be interesting.

At first I explored San Diego and posted photos.

Then I started to travel and eventually I moved to Seattle.

For a few years I was heavily interested in real estate and finance.

In the past few years I have posted a lot about nutrition and fitness.

What is next? I really don’t know.

Blowing Up Coffee Hero …Again

This morning I pulled the plug on Coffee Hero. Version two was more focused than the initial launch, but it bored me. I’d rather be over here discussing nutrition than over there posting about latest coffee shop in Seattle. There are so many blogs about Seattle coffee now. It has one fewer now. It’ll survive.

Here is a quote from the movie 8 1/2.

Destroying is better than creating when we’re not creating those few, truly necessary things.

Coffee Hero was never truly necessary. It is time to destroy it. I’ll be moving over my favorite posts and deleting the rest. If I get the urge to write about Seattle coffee, I will do it here. Broader coffee topics will go on INeedCoffee.

I did leave a teaser on the last post.

Will something non-blogging related surface on the Coffee Hero domain next year? Maybe.

Although there is a possibility that I will sell the domains — I own the .net and .org as well — I may release something new on the site. It may or may not be related to Seattle. It certainly won’t be a blog.

DreamHost and the Myth of Unlimited Domains

DreamHost promotes unlimited domain web hosting for $8.95/month.  It seemed like a sweet deal, so I signed up for it.  The reality is that their offer is misleading.  DreamHost offers 100 MB of memory per account.  If you exceed this number – even for a second – they unleash a procwatch to kill the process.

At this point you can reach out to DreamHost’s support team.  They will tell you that it is the fault of WordPress plugins and then try and upsell you on a VPS account.  They promise not to kill your processes if you get a VPS account.  Kind of like a shop keeper that pays the gangster protection money so his store doesn’t burn down.  How sweet!  My personal opinion is why should I pay for an enhanced service if the basic service is awful? I’ll just switch web hosts.

Back to the question of resources.  Just how much memory does a website running WordPress with some basic plugins use?  As of this writing, I have 2 WordPress sites on DreamHost (not  I installed 2 plugins to help me track my memory usage: WP-Memory-Usage and TPC! Memory Usage.  Below is a screen shot from one of my sites.  The other site shows similar numbers.


With these two plugins I learned a few things:

  1. DreamHost limits your PHP memory to just 90 MB.
  2. A basic install of WordPress takes about 30 MB of memory on a 64 bit installation of PHP.
  3. I activated and deactivated every plugin.  Most used trivial amounts of memory.  No plugin exceeded 2 MB of memory.  Even the much aligned All-In-One SEO plugin used only 1.05 MB.
  4. Switching themes had almost no impact on memory usage.
  5. With as little as two domains using WordPress on DreamHost you are already reaching the upper limits of memory allocated. So much for unlimited domains.  Perhaps they should rephrase it to unlimited unused domains?
  6. DreamHost has a serious LOAD AVERAGE problem.  The numbers in the above screen capture were the lowest I captures.  Often the Load Averages exceeded 10.

Even though I went looking for answers on memory usage, the load average numbers  jumped out at me.  What do they mean and what is a good number?

The article Understanding Linux CPU Load – when should you be worried? is a great tutorial on the topic.  It makes the case that the maximum load should not exceed the number of cores on the server.  My DreamHost server has 4 cores.   I monitored this number all day and it is always in the red zone. The CPU load on DreamHost servers is excessive.

My advice is to stay away from DreamHost.  Their servers are overloaded and if you plan to host more than one WordPress account you’ll experience problems.

UPDATE (Nov 25, 2010) – This morning the DreamHost Load times spiked much higher!

  • Load Averages: 144.95 45.93 21.12

ASP.NET Site Performance Secrets

This past summer Packt Publishing found my technical website Digital Colony and liked it enough to extend an invitation to be a technical editor for the book ASP.NET Site Performance Secrets. The book has just been published and my name is in it. :)

ASP.NET Site Performance Secrets
ASP.NET Site Performance Secrets is by Matt Perdeck.

This is my first experience with editing. I learned a lot and I hope my feedback was valuable to the publisher and author.

Urban Hiking Guide Now Up

My first Best-Of guide is now up.

Urban Hiking

I added some tips for those of you that wish to start urban hiking yourself.

Now that weather has cooled, I expect the long hikes to begin again. Yes, I prefer urban hiking when it is 40 degrees to 70 degrees. :)

The Problem With WordPress and How I Would Solve It

I use the WordPress content management system to publish this blog. As much as I love WP and think it is the best blogging software available, there is a problem.

Sitting on top of the blogging engine there are plugins, widgets and themes. The code for the plugins, widgets and themes could be clean, fast, secure and stable. Or it could suck. The problem with WordPress is most of the users do not have the technical skills to determine what is causing their site to run slow. Turning on and off plugins is a guessing game, especially in a shared hosting environment using browsers that may or may not cache portions of the screen.

Recently this site was down for several hours because a new plugin corrupted an older unrelated plugin. I worked with the developer and a technical genius friend of mine to get the problem fixed. I was lucky.


Photo by Ramunas Geciauskas

WordPress is open source and if a problem is ever discovered in its code, it is found, fixed and deployed quickly. Plugins, widgets and themes have varying levels of commitment from their developers.

My solution would be to create something like WordPress Labs. It would develop software to do quality testing on all plugins, widgets and themes. Testing is not my thing, but I could envision software that could do load testing to determine the speed, security and stabilization of everything that runs on top of WordPress.

WordPress Labs could be an open source offshoot or it could be a private business. Developers and designers could pay a fee to have their code certified. Users could pay WordPress Labs for Consumer Reports like analysis.

This is a rough draft of an idea. If you have more thoughts on this topic, post them in the comments.

Ideas on How to Find Posts on Critical MAS?

Recently I’ve had trouble locating older posts. Considering that I was the one that wrote them, this isn’t good. This means the readers of this site are most likely having problems as well. This blog has an Archive page, which is broken down by month. Who looks for posts by month? I don’t. The Categories are now overflowing. Tags help, but they aren’t perfect.

The problem with blogs is that new posts are always deemed more important. This is fine for long time readers, but not for new ones. This site now has 1,300 posts and if it were a book it would be over 1,000 pages long. I need a way to highlight the “best of” Critical MAS.

One idea I have is creating a series of Guides. I don’t know if I like the term Guide, but some potential guide topics would include:

  • Intermittent Fasting
  • Cold Weather Exposure
  • Evolutionary Nutrition
  • Tales From the Glitter Gym
  • College
  • Urban Hiking
  • Roadside Photos
  • Investing Philosophy
  • Great Books

Am I missing any? Is this a good idea? Do you like the term Guide or is there something better I should use?

How Developers Can Increase Their PayPal Donations

In the last year I have donated money to four developers via PayPal. Their code was of benefit to me and they had established a relationship with PayPal. Putting a few bucks in their tin was easy for me to do. Of the four developers, one did something that I deeply appreciated. He thanked me.

When we are out in public and we give money to tip jars or the open guitar case of a street musician, we get thanked either verbally or a smiling nod. This is polite behavior. If developers wish to increase their PayPal donations, I highly recommend thanking the people that voluntarily give you money. A simple thank you email takes no more than 30 seconds, but it lets that person know your appreciation.

thank you note for every language by woodleywonderworks

Earlier this year, I added a PayPal donation setup on Of all my sites it is one where a donation system seems the most appropriate. Developers can cut-and-paste my code into their projects and bill their clients or employer. If they deem the code helpful, I wanted a way for them to tip me.

I’ve received 4 donations and I’ve sent each one a quick thank you email.

My email thank yous probably won’t increase the number of donations I get, but it may make that person feel better about donating to another developer. And you might be that developer. So I encourage all developers that accept PayPal donations to say thank you.

Portland Coffee Adventures

My guide to the Portland, Oregon espresso scene is now finished. Head over to INeedCoffee if you want to read Portland Espresso Vacation. As if living in Seattle with all its wonderful coffee isn’t enough, we are fortunate to have Vancouver to our north and Portland to our south. Many coffee professionals cite these 3 cities as having the best coffee in North America, if not the world.

Technical Problems on the Blog

This morning I installed and tested a new plugin. It worked fine, but I decided it didn’t look right on this site, so I uninstalled it. That act corrupted the blog and now the root home page no longer loads. The author of the plugin is working with me to help fix the problem.

This problem does not affect the newsletter, RSS feed or individual posts.

UPDATE ( 30 minutes later): All is fixed. The Internet is now blessing my site again with awesomeness! ;)

Facebook Won. I Surrender.

I tried to go 30 days without connecting to Facebook. I failed. Besides being an agent of distraction, Facebook is the best contact management system ever created. I was receiving emails for events that required a response before September. And I got some new friend requests. It would be rude to leave them hanging for 3 more weeks. So I caved on my Distraction Diet and connected to Facebook.

I’ve been successful on turning off Twitter and the news sites, so this isn’t a total loss.

Facebook is still a distraction, but it is also essential. I’m thinking about doing a 1-day-a-week strategy or maybe two 15 minute blocks. I’m not sure yet.


Photo by mkhmarketing Now Drinking Sprite

Not the beverage.

Joe from ArtLung discovered a cool new feature in CSS called Sprites. Sprites allow the web developer to create a single master image and then load parts of that image based off instructions in the style sheet. Joe took what he learned and created an updated home page for my portal site. So instead of loading 11 different images (each an HTTP call), the site now loads a single image and the CSS file positions the appropriate section of the image accordingly.

The entire page, including the roll-over images, comes from this single image file.

Now for the glue. Here is the portion of the CSS file that loads the image for Coffee Hero and its mouse-over image.

a#CH { background-position: 0 -200px; width: 650px; height: 117px; }
a#CH:hover { background-position: 0 -327px; width: 650px; height: 117px; }

The regular Coffee Hero image slice is 200 pixels down on the main sprite image. It is 659 pixels wide and 117 pixels tall. The browser takes this instruction and it works. If you have no desire to count pixels, there are tools online to help you create your own Sprite, such as the CSS Sprite Generator.

For more detail on the optimization benefits, check out Optimize Your Web Site Using CSS Sprites.

Thanks Joe!

My First Dated Blog Post Was From July 1996

I’m digging through some very old files right now. Although I had a personal website as far back as late 1995, I think I have uncovered my first dated content. Since the term blog had yet to be invented I don’t think this technically qualifies. Or does it? However, I do have a stamped date for these 2 posts. That date was July 21, 1996. Back then I had a Tributes & Slams page. That day I wrote one of each.

From the page Hall of Fame: THE MAS TRIBUTE Gallery:

AT&T and MCI 7/21/96

Yes, the two largest long distance phone companies are worthy of the TRIBUTE award. Do they call me and ask me to switch over while I’m eating? Yes they do. Do they whine about all the savings I’m going to experience? Yes they do. But, they pay me way more money to “switch over” than I ever spend in long distance. Bless their hearts!

Last fall I moved to Tampa and started with MCIAT&T called me up and said they would give me $40 to switch over. Sounds good to me, I don’t even make long distance calls. A few months later MCI calls and said we love you MAS and would like to give you $35 to come back. I said I love you too MCI and would be happy to come home.

A few months pass and then AT&T calls. They are concerned that they have lost my business and would like us to get off on a fresh start. Me too I echoed. How fresh of a start do you want? Would $40 be fair to you MAS? Give me a hug you big lug!

Not one to throw in the towel,MCI called me and let me know that maybe AT&T had tricked me with their confusing promises and maybe I wasn’t seeing the savings. Sounds horrible, what should little ‘ole MAS do? Accept this $25 to switch back to MCI. Thank you MCI for looking out for MAS and making sure I don’t get tricked in the future.

Well………..AT&T it’s your move.

UPDATE! (7/26/96) – Just 1 week later AT&T calls up with a $15 check and free switch over. What a great country!

UPDATE2! (8/9/96) – Opened the mail today and MCI had a check made out for $15 for me. Is that beautiful or what? They aren’t even wasting my time with a phone call any more. Just cut a check and send it, I’ll switch!

From the page Walk in Shame: THE MAS SLAM Gallery:

WMTX and WUSA 1980’s Mix shows 7/21/96

“I knew the music of the 1980’s, the music of the 1980’s was a friend of mine, and WMTX/WUSA your shows are not representative of the good music of the 1980’s.”

When I first heard WMTX do an all 1980’s show I was ecstatic. Here I was just 25 years old and already I was able to hear the sounds of “my day”. I always thought I would be 40 before I would hear a show dedicated to the sounds of 1980’s.

To say I that I’m let down would be an under estimate, to say I’m angry would be more accurate. These shows decided to take the “classic rock” attitude and just play just the top radio and video hits. Basically condense an entire decade into 50 or so songs that get heavy rotation. Sure, every now and then a little known gem may sneak through, but that is very rare.

Also, I’m tired of hearing these on the air requests. The 30 or so people that hear their voice on the radio may giggle with delight, but the 20,000 other listeners would prefer to stay on the dance floor than hear about how your doing nothing in Plant City tonight.

And another thing! Any club DJ understands that songs need to compliment each other. You don’t whip your listeners into a frenzy by playing Billy Idol’s Rebel Yell and then throw on Billy Joel’s Uptown Girl. Seems like common sense to me, but both of these shows are guilty of such crimes. Can these shows be saved? Yes, but they will need to follow the steps below:

  • Stop taking user requests on the air. If I want to hear listeners on a Friday night, I’ll switch over to Lassiter on the AM dial.
  • Give the DJ total power over the show. Trust me, the DJ’s know a lot more about music than we do, IT’S THEIR JOB. The mix will suddenly be unpredictable and exciting.
  • Eliminate any songs from a must-play-every-week-or-we-all-die list. We don’t need to hear Robert Palmers Addicted To Love every show, do we?
  • Different versions of popular songs. Why play the same vanilla version of every song when many songs have really cool remixes that most of us have never heard. Have you ever heard the extended mix to Cyndi Lauper’s She Bop?
  • Educate the listener. If the DJ plays some gem then tell the listeners who it was and when it came out. On the flip side, don’t break up a show to tell us that it was Michael Jackson that sang Billie Jean.
  • Make it a total 80’s show. Play TV and movie sound clips from the 80’s. Maybe even do a few “time capsule” news reports.

So, until these shows treat the 1980’s with the respect they deserve I hear by SLAM them!

I did write 4 Tributes and 3 Slams before July 21, 1996, but I don’t have a date for them. They weren’t that good anyway.

DC Medfly

This morning I went looking through some old backup files and I uncovered my home page from my early days in DC. For some reason I traded the named CriticalMAS for DC Medfly between mid 1998 and early 2000. Here is a blast from the past.

The DC Medfly just flew in from the Tampa Bay area. While in Florida, the DC Medfly (then known as Critical MAS Tampa Bay’s Digital Informant) provided local information via radio scheduling and coffee house guides. The site also featured a few satire pages that poked fun at the South Tampa powerful, elderly drivers, and the un loveable Canadian tourists. The guides are gone, but the satire pages have been moved to this site for archival purposes.

Over time this site will present a more DC feel. Will a new radio guide appear? Maybe. Will a new coffee house guide be developed? Doubtful. Will the infamous Tributes & Slams get resurrected? No. New satire? Most certainly, but give me a few months to meet my new neighbors.

12 year old pixels. Kind of feels like Antiques Roadshow for the internet. :)

Internal Renovations on INeedCoffee

With over 11 years of content, not every article on INeedCoffee is good. In fact, there are a handful of articles that are terrible. Some are outdated. Many need to be edited and most could benefit with higher quality photos. Fixing it all is going to be a lot of work.

Instead of changing the layout, font or navigation for INeedCoffee, I am taking another approach. I’m going to replace the boards that I see as rotten with brand new boards. A little internal renovation. There are several articles that make me cringe when I see them. It is not as simple as just removing them either. Many of these bad articles actually get decent traffic. Redirects aren’t the cleanest solution. I could rewrite a better article and then hope over time that the user finds the new one. My experience with the french press articles on INeedCoffee tells me that doesn’t happen. Google likes the oldest one best.

What to do? My solution is to do a Reverse Indiana Jones. Remember in Raiders of the Lost Ark when Indy replaced the Golden Idol with a bag of sand? I plan to go through INeedCoffee replacing the worst articles with better ones. No links will break and hopefully the users will find an article that meets their needs better than the one being replaced.

What articles are candidates for replacing?

  1. Anything that is a reprint.
  2. Articles with embedded links to commercial sites.
  3. Content that is poorly written or inaccurate.
  4. Missing or terrible photos.

I’ve replaced four articles already. I’ve got a lot more work to do.

Going Forward With DeepFitness

After fixing the branding issues with this blog and Coffee Hero, I knew that the next site that needed to be addressed was The site has been running since 2004 and has the most inconsistent traffic of any site I’ve ever developed. The site would get impressive traffic for a few months and then it would all go away for a longer period only to return again. Great articles would get no traction, whereas several mediocre ones did well.

I was seriously ready to pull the plug on the site when the hosting renewal came up in mid July. Besides the odd traffic patterns, the site had three major problems.

  1. Out-Dated User Interface – The layout and fonts inspired no trust with the readers. Despite only having one ad per page, it just looked shady.
  2. No Major Navigation – Tags are a useful tool for drilling down onto specific topics, however the site lacked top level Categories. The result was there was too much internal linking.
  3. Poor Content – Many of the articles are poorly written and some are just awful. I was often embarrassed to tell my own friends about the site.

Despite these issues, it was decided to give DeepFitness one more chance. The plan going forward would need to address those three major issues. Here is the plan:

  1. Better U/I – I’ve already increased and darkened the font. The layout is wider. The articles are in the left major column. Navigational links are now in the right column. Things are much easier on the eyes. There will be more changes on the right column later. It needs to have that friendly toolbox look, like this site has!
  2. Categories – Behind the scenes I updated the code and database to provide Category support. The next step is getting the 2,300 articles mapped to one of eight categories. When that is complete, I’ll add the category navigation code and links to the site and rebuild the sitemap.
  3. Delete the Worst Articles – On deeper analysis I discovered that not the articles are bad. In fact, most have some merit. However, about 5-10% of the articles are just terrible. Those articles will be removed.

When will this all be completed? I wish I could say July 22nd, but my gut is telling me it will be closer to September 1st.

Coffee Hero is Back!

This morning I relaunched the Coffee Hero website. I believe that I solved the branding problems that I discussed in the post The Lessons Learned From One Year of Coffee Hero. Coffee Hero needed a clear mission that was distinct from INeedCoffee. Taking time off made me realize that the distinction was Seattle.

Coffee Hero is a guide to celebrate the amazing coffee culture found in Seattle, Washington.

The new About Coffee Hero page makes it clear who I am and what the site is about.

I am 100% independent. I do not work for any coffee business and never have. Since 1999 I have been publishing the coffee website INeedCoffee. That site is for fans of coffee to celebrate their favorite beverage. Coffee Hero puts a local spin on the quest for great coffee. The Seattle coffee scene is large enough to justify its own website.

The new tag-line is Seattle’s Independent Coffee Blog. It is all about Seattle now. All other coffee content will go to INeedCoffee. There are other Seattle coffee websites being run by businesses and industry employees. Coffee Hero will fill the role of the uber coffee fan that doesn’t have the patience to camp out on Twitter all day.

If you live in Seattle and enjoy the coffee scene, check out Coffee Hero!

Welcome to the New Critical MAS

After dealing with the branding problems with Coffee Hero, a friend pointed out that this blog had major problems as well. It was too confusing. The blog title MAS o Menos had nothing to do with the site. There was a photo of a kid at the top, but the site had nothing to do with kids or even me as a little kid. It was a blog, but it lacked a personality or theme to connect the various topics. I also started to despise the look, since it was the same theme I used on Coffee Hero.

The first change I made was renaming the blog. It is now called Critical MAS to match the domain name. MAS o Menos means “more or less” in Spanish. Since the site isn’t in Spanish, using the domain name is much clearer. I also made it clear that MAS = Michael Allen Smith.

The second change was a new theme. A fresh coat of pixel paint is always nice. :)

Full view of the background, which is an HDR photo of Seattle by bonacheladas.

During the redesign, I thought about adding the best of the early blog posts (2000-2004) to the site. I have over 1,200 blog posts on the Blogger server, which aren’t public. Well, I should say I HAD over 1,200 posts. After reading them, I came to the conclusion that they were awful. They were too negative, too dated and poorly researched. I deleted them all.

I hope you like the new Critical MAS and if you have any ideas to help me with my branding, please leave a comment. I am also testing a new SPAM blocker that no longer requires you to do a math problem.

Design Inspires Content

Since I pulled the plug on Coffee Hero, I have noticed that I am writing less here on CriticalMAS. It should have had no effect, but it has. I think the reason is that both sites use the PressRow theme. When they were both humming along, all was well. Now that Coffee Hero is rusting on the digital front lawn, it kind of makes this site look bad.

Whenever I’ve run out of motivation on a website, the root cause is almost always that the design is lacking inspiration. I need a new look for this site. Design inspires content. A new design will be coming soon.

Seattle December 2009

That Time I Got a Cease and Desist From Starbucks

This post has been moved from Coffee Hero. It was originally written on July 25, 2009.

With all the talk about the new Starbucks location opening up that will serve alcoholic drinks, I think this story is relevant.

Way back in 2001, INeedCoffee published a collection of Espresso Martini recipes. One drink recipe used a Starbucks trademarked name in part of the title. Their lawyers discovered the page two years later and I was ordered to make changes.

I’m not going to spell out the drink, but I think you know what I’m talking about. For the purposes of this post, I’ll substitute the word CRAPPUCCINO for the real beverage name. I complied with their request by renaming the recipe Just like a –frozen iced espresso-based beverage–!

Here is part of the blog I wrote on July 21, 2003.

Even though I’m not supposed to share the contents of this letter, here is a portion that made me laugh.

We are concerned that this portion of your Web site may leave consumers with the false impression that any coffee and ice blended beverage, regardless of its source, complies with the stringent quality control standards that are applied to genuine CRAPPUCCINO beverages.

This is funny for two reasons. First, what moron could possibly mistake a vodka and Bailey’s based drink for a CRAPPUCCINO? Imagine some yokel telling a barista that they didn’t put enough liquor in their drink. A CRAPPUCCINO has to have vodka in it, I read it on the Internet! The second reason this is funny is the phrase ‘stringent quality control.’ Our recipe used fresh homeroasted espresso made from a custom blend by Tom of SweetMarias. A CRAPPUCCINO uses stale over-roasted drip coffee which is masked in flavor by massive amounts of sugar. When it comes to quality control, we’ve got them beat.

I wonder what Charbucks is going to do on August 1st when we release our own better version of the CRAPPUCCINO recipe?

On August 1, 2003, we did release a reverse engineered version of their CRAPPUCCINO called An Espresso Based Frozen Drink Recipe. Since we didn’t violate any trademarks, we never again heard from their attorneys.

A Starbucks concern in 2003 was not having their customers believe they were serving alcohol. Now they have a new concept store where they just applied to sell beer and wine. I find this amusing.

The Lessons Learned From One Year of Coffee Hero

On March 24th, I announced to Coffee Hero readers that the site was going away for now. Although I touched on this in the post Rebooting Coffee Hero?, I’ve had more time to think about why the Coffee Hero site failed to be as successful as I had hoped. Here are the reasons I came up with.

  1. No clear distinction between what belonged on INeedCoffee and what belonged on Coffee Hero. Later I would use length of article as a metric, but it was an after thought.
  2. I spent way too much time on Flickr uploading and tagging images. Adding links back to articles was almost a complete waste of time. Flickr users just want to look at pictures. They have almost no desire to read articles to learn more about those photos.
  3. Topics were too haphazard. One post would be about an episode of the TV show Dirty Jobs. Another would be about drinking coffee in Thailand. Then there would be some tips on buying a French Press. Although there were readers that found each of those topics interesting, there were few that found them all interesting. The site needed a clearer focus.
  4. Having 5 writers was great for generating content, but the site did a poor job of personalizing each of the contributors. I should have studied other blogs that use a handful of contributors and how they solve that problem.
  5. Maybe the most important reason was the lack of a true HERO. The writing voice would jump from personal to “just the facts”. Who was the HERO and how has that title been earned? A year later I look back at all the posts and I can’t find the HERO. I’m sure many readers that had seconds to decide if the website was relevant felt the same way.

Unless someone wants to give me a fistful of money for the domain, Coffee Hero will return at some point. A version 2.0 will only surface after I have come up with a plan to incorporate the lessons learned above.

Rebooting Coffee Hero?

It was this time last year that I decided to freeze INeedCoffee and start a new coffee site called Coffee Hero. My stated goal was to start something fresh. From the post The Song Is Over, It’s All Behind Me:

At some point this spring, I will launch a new coffee web site. It will just be me at first. I may post a few times a week or once a month. No promises. At some point, I may extend invitations to my favorite contributors from INeedCoffee should they wish to post. Or maybe I wont. No promises. It may or may not succeed. Lets find out.

In the last year, I’ve spent probably close to a 1,000 hours building and promoting the Coffee Hero site. I wanted to do something different. With Coffee Hero, I wanted to extend the topic of coffee beyond the obvious. Writing reviews for crappy coffee has no appeal to me. Although I am proud of the content, I did receive some feedback a few months ago from a reader that stated he didn’t get the site. It was confusing.

Was it confusing for others? Probably. Site statistics show that after a year, Coffee Hero gets less than 5% of the traffic of INeedCoffee. Most of site traffic goes to longer articles that would have received far more readership if they were on the INeedCoffee server.

I am strongly considering dimming the lights on Coffee Hero, moving the best content over to INeedCoffee and returning to Coffee Hero with a completely new focus at a later date. The next 1,000 hours I would devote to Coffee Hero could probably be better spent on my other sites.

Your thoughts?

Interesting and Innovative Data Driven Websites?

I usually post about my own thoughts, but this time I want yours.

The other day I was thinking about the evolution of how information is presented on the Internet. Fan pages became e-zines. E-zines became blogs. Then came podcasts and videocasts. Wikipedia popularized the Wiki format. Social networking succeeded with aggregation of social status information. The latest leap that I’ve seen that impresses me is Stack Overflow.

Even though there are many forks in the evolution of data driven websites, the blog still appears to be the most popular. I love the blog model, but I see a few flaws with it.

  1. Too many blogs, too much content. John Mauldin recently stated it felt like he was drinking water from a fire hose.
  2. Older valuable content gets buried quickly.
  3. For a site to remain popular, it must keep posting, even if they have nothing new to say.

My question to you is: have you seen any websites recently that have decided to do something different that impressed you? Share any links in the comments. Note that my SPAM filter will sometimes flag links in a comment as naughty, so it may take a little longer before it shows up.

Windows 8 Wish List

I may be the only Windows user out here that was unimpressed with Windows 7. Sure it was pretty, but so far I have found it slightly less stable than VISTA. Windows 7 turned my working printer/scanner into a stand alone scanner that refuses to print. Oh well, time to discuss the future.

Here is my Wish List for the next version of Windows.

  1. When I kill an application for hanging, don’t go searching for a solution. You’ve never found one. You never will. All you do is kill a minute of my life making me wait. And I am aware there is a 10 step instant kill method that geeks know about. Not interested. I want the ability to KILL INSTANTLY any application.
  2. A lean mean Windows Explorer. It has gotten way too bloated. This application should be rocking fast. It routinely hangs loading folders with lots of files.
  3. What happened with Adobe Flash? It used to work fine, but now it crashes frequently. The browser doesn’t matter. Flash became unstable once I went to Windows 7. If it is a Microsoft problem, fix it. If is an Adobe problem, deal with them directly on finding a solution.
  4. Unified volume control. I am so SICK of every web and desktop application having independent volume controls. Radio and TV don’t work that way. I want the operating system to calibrate the volumes for me and then I can adjust a single volume from my speakers.

If you have something you wish to add to the Windows 8 wish list, add it in the comments. I know at least one person inside Microsoft will be reading it.

An Observation About Quality Content and Advertising Revenue

I’m sure others have had this same observation, so I doubt I’m the first to point this out. The Internet is funded in a large part via advertising. No shocker there. Millions of websites pay for hosting from some advertising link revenue stream.

What compels someone to click on an ad link? I already know the answer, but I’ll set up three scenarios. Let us assume you enter something into a search engine and you land on one of these three pages.

  1. The article delivers the information you wanted. The writing is crisp, detailed and maybe even engaging. The article may have a conversational feel or ring of authority. When you scan the page, the content is distinct and easy to read.
  2. The article seems somewhat relevant, but not exactly what you want. It is almost what you asked the search engine. It has a generic forced mechanical writing style. There is a ring of authority, but it is not conversational or if it is conversational it comes off as fake. Like the first example, the layout is professional and the content is not difficult to read.
  3. The article is buried in a design that is littered with obvious advertising. The page fails to earn any trust.

Which page will earn more advertising revenue?

The answer is usually #2. Why? Because the reader will pause to scan the article for information. The writing style won’t be compelling enough to actually read, so scanning for meaning will continue. At some point the reader will realize that the article is almost what they need, but not quite. Then they notice an ad link on the page that seems to be more relevant than the page itself and click it.

Over time article #1 may earn decent revenue if enough people link to it and the search engines reward it with lots of traffic. The CTR (advertising click thru rate) will still be lower though. When people read quality content, they don’t go racing for the exits. Article #3 will just have people hitting the back button.

My theory is not just a hunch, I’ve studied years worth of data for DeepFitness and INeedCoffee. The articles that are well written have higher traffic, but lower CTR. DeepFitness has some great articles and some embarrassingly bad ones. The bad ones pay the hosting fees, not the good ones.

I’m not the only one that knows about this. Recently Wired published a story called The Answer Factory: Demand Media and the Fast, Disposable, and Profitable as Hell Media Model. In it a business model is detailed where companies bid out articles based on custom search strings. How much are the writers getting paid?

The average writer earns $15 per article for pieces that top out at a few hundred words, and the average filmmaker about $20 per clip, paid weekly via PayPal. Demand also offers revenue sharing on some articles, though it can take months to reach even $15 in such payments. Other freelancers sign up for the chance to copyedit ($2.50 an article), fact-check ($1 an article), approve the quality of a film (25 to 50 cents a video), transcribe ($1 to $2 per video), or offer up their expertise to be quoted or filmed (free). Title proofers get 8 cents a headline.

You won’t get quality content when everything gets commoditized and farmed out to the lowest bidder. But then again quality content rarely pays the bills. Sad.

Where Have All the Comments Gone?

Even though the number of visitors to this site is pretty constant, I have noticed a drop off in comments. My first thought was the Math Captcha wasn’t working properly, but after many tests I can say it works like a champ. My second thought was my recent focus on travel, photos and fitness is less comment worthy. So I dusted off my SQL skills and uncovered this data.


The data suggests that readers are most likely to comment on a Finance post and least likely to comment on Travel and Photos.

Amazon Thank You and Netrition

I want to thank all my readers that started their Amazon purchases on this site. I had a really good December and January, which helped me feel a little bit better about the $3,000 in car repairs I had between October and January. Even though the software developer in me has issues with Amazon, I do think they are a great company. I enjoy hearing that one of reviews helped connect someone with a good book.

Another company that I have been a customer of for over ten years is They have an outstanding selection of nutritional supplements at great prices. Like Amazon, they also have an affiliate program, which I signed up for. Even though I think most supplements are crap, there are a few that I still believe are highly effective (Vitamin D3, Creatine, Fish Oil, whey protein). There are a few more good ones, but those are the most important for me at this time.

If you are looking for a place to order nutritional supplements, check out I’ve added them to my About page. Thank you in advance.

whey protein powder

Optimum Nutrition NATURAL Whey Protein uses no aspartame or sucralose.

903 Pages

If this blog were a novel, it would be approximately 903 pages. Using the TD WordCount plugin in for WordPress, I quickly learned that I had written 225,843 words over 1,147 active posts. Google Answers then sites several sources that list 250 words per page as the publishing standard. That works out to 903.4 pages!

Note that number is just for posts since December 2005 and does not count the 1,247 posts from my previous blog (April 2000 – November 2004) which ran on this same domain.

Photo saturated writing by tnarik

Color Career Quiz

I just took the Color Career Counselor Quiz, which tries to match your color preference to a career path. My results are below. (h/t Caffination)


You’re a CREATOR

Key Words: Nonconforming, Impulsive, Expressive, Romantic, Intuitive, Sensitive, and Emotional

These original types place a high value on aesthetic qualities and have a great need for self-expression. They enjoy working independently, being creative, using their imagination, and constantly learning something new. Fields of interest are art, drama, music, and writing or places where they can express, assemble, or implement creative ideas.

Suggested careers are Advertising Executive, Architect, Web Designer, Creative Director, Public Relations, Fine or Commercial Artist, Interior Decorator, Lawyer, Librarian, Musician, Reporter, Art Teacher, Broadcaster, Technical Writer, English Teacher, Architect, Photographer, Medical Illustrator, Corporate Trainer, Author, Editor, Landscape Architect, Exhibit Builder, and Package Designer.

Consider workplaces where you can create and improve beauty and aesthetic qualities. Unstructured, flexible organizations that allow self-expression work best with your free-spirited nature.

Suggested Creator workplaces are advertising, public relations, and interior decorating firms; artistic studios, theaters and concert halls; institutions that teach crafts, universities, music, and dance schools. Other workplaces to consider are art institutes, museums, libraries, and galleries.



Key Words: Self-Control, Practical, Self-Contained, Orderly, Systematic, Precise, and Accurate

These conservative appearing, plotting-types enjoy organizing, data systems, accounting, detail, and accuracy. They often enjoy mathematics and data management activities such as accounting and investment management. Persistence and patience allows them to do detailed paperwork, operate office machines, write business reports, and make charts and graphs.


The Antidote to TMuscle’s Horrific User Design

I’m going to make this quick for those that already know. I have always hated the look of the fitness website TMuscle. Blinding gold text on black background may sell lots of worthless supplements, but it makes reading comprehension difficult. In the March post I Can See Clearly Now, The Glare is Gone, I thought I had solved the user interface problem by using bookmarklets. Sometimes they worked, sometimes they didn’t. They weren’t easy to edit and I ended up abandoning them.

Today I discovered a FireFox plugin called Stylish that allows you to override the design when you visit a domain. You write the rules in simple CSS.

After adding this block of code into a new User Style, my eyes were very happy.

@namespace url(;

@-moz-document domain(“”) {

/* Clear the clutter */
#mastHeadContainer, #indexCats, .mppHoriz,.discuss, #productBanners, .bottomLinks { display:none !important; }

/* Make articles readable on white background */
.articleFullWidth, .email, body, p, .ref
background-color:#FFFFFF !important;
color:#000000 !important;
.email { font-style: italic !important}
h1,h2 { color: navy !important;}
.subtitleHeader, .header {color: green !important;}



Not only did I clean up the typography, but I was able to remove the clutter at the top and bottom of the page. You’ll also notice that I was able to remove the supplement ad on the right column. I’ll buy their creatine to support the site, but their snake oil products are of no interest.

Cleaning up horrific user designs could become a hobby. I’m thinking IMDB needs a good scrubbing. ;)

What Google Should Have Done With Blogger FTP Accounts

Not that Google cares about what I think or even bugs I’ve found using their products, but I thought of a simple solution to their Blogger FTP problem. Google states they are abandoning support for FTP based Blogger accounts, because few people use them. The reality is their software architecture was flawed. Without getting technical, I am going explain how the Blogger FTP accounts worked and how they should have proceeded.

When a blogger using the FTP account option published a new blog, Google would build the files on their server and then open an FTP connection and transfer static files to that blogger’s web host. The problem was that Google didn’t just send the file that was created or updated, they sent EVERY FILE. They had no way to know if your changes impacted other files, so they sent them all. If you have 30 posts, this isn’t a big deal. If you have 300, every update becomes a nightmare. Transfering MBs of files every time you add a comma is a painful experience to the blogger.

I can only imagine what was happening at Google. God knows how many hundreds of thousands of bloggers were transferring hundreds of terabytes daily on their dime. Everyone loves free software until someone has to pay the bill.

What Google should have down is create a desktop application version of Blogger. They already create one for Picasa and Google Earth. That would have offloaded the FTP activity to the user and off of Google’s servers. Then create a settings page that would allow the user to configure what gets published. And then publish those changes in the background. Desktop applications have an advantage over web applications when it comes to background processing. I don’t how many hours I wasted staring at the Blogger FTP status screen while I was ready to write a new paragraph. If you need inspiration, look at Microsoft’s Live Writer.

There you go Google. Feel free to cut me a check for this face saving move. You lost a lot of goodwill this week with your announcement.

The Case For Online Photo Storage

Every year I pay to have my photos stored with SmugMug and Flickr. I use SmugMug for my personal photos and Flickr for the coffee photos used on Coffee Hero and INeedCoffee. My SmugMug account has 9,831 photos. The Flickr site holds 2,762 photos.

Let me quickly tell you my story of why I am glad I have remote photo backup.

In October 2003, my house was evacuated as fires raced across San Diego. My house was spared, but I know others that lost everything. Every photo. During the fires, I went around emergency barricades with a friend so we could get to her photos before the fire came to her home. We risked our lives choking on smoke to save photos. I can not stress how important remote photo backup is.

Many years ago I wrote my own code to manage my online photo galleries. Now I gladly outsource this role to SmugMug and Flickr. Why?

  1. Managing thousands of photos is a task better suited for a team of developers and not an individual.
  2. Photos have grown in size as cameras have added megapixels. This fills our hard drives quickly.
  3. Hard drives and computers do fail.
  4. SmugMug and Flickr backup all media and that backup is remote. You may be diligent about backing up to a remote drive or burning DVDs, but if you are a victim of fire or theft that won’t help you much. Both companies back up the photos, so I don’t have to it.

Why SmugMug and Flickr? I am not a fan of any photo site that requires one to create an account to view someones photos. I am also not a fan of cluttered sites with ads that are pushing you to buy prints. There are 100% free sites out there, but free sites can’t stay free forever. They either end up charging users or they turn the user interface into an ad-cluttered visual nightmare. In some cases they just shutdown.

Screenshot of my Elvis the Concert photo gallery on SmugMug.

This leaves Flickr and SmugMug. I like both, but I prefer SmugMug. SmugMug has amazing customer support and great tools like Send To SmugMug and Album Fetcher. Send to SmugMug is a file uploader application that runs on your computer, which is similar to the Flickr Uploader. Album Fetcher allows you to pull down complete photo galleries after you’ve uploaded them.

One thing Flickr does that annoys me is they embed “nofollow” into every outbound link. SmugMug doesn’t do this. What this means is that if I create a blog with a few photos and I decide to link to that blog, Flickr tells the search engines to explicitly NOT FOLLOW the link. They want the traffic for themselves. Now this isn’t a problem if the account were a free service, but Flickr Pro users pay for their accounts. Then Flickr has the balls to require link backs to Flickr when you go to embed photos, even if they are your own photos.

SmugMug doesn’t play those games.

My SmugMug referral code is:IzodUqeQndZYc It will save you $5 if you decide to open a new SmugMug account.

Google Pulls Plug on Blogger FTP Accounts

Told ya. Two years ago in the post Death to Blogger, I said this about the Blogger FTP service.

I’ve been with Blogger since April 2000 and I’ve finally had enough. It is clear that Google has no intention of repairing the code that runs the FTP accounts. It is slow and buggy.

Today Google announced it will no longer support FTP accounts after March 26th. In other words, if you built a site using your own domain and the Blogger service, you now have less than 2 months to migrate to another tool or you will be forced to use Google as your web host. Some people have been with Blogger for a decade. This is going to suck for them. It took me weeks to move 2 years of blogs and update all the links and I’m good at this. The average Blogger user is about to experience some pain.

I am fortunate that I moved this site to WordPress two years ago. However, still uses Blogger. It can’t be rolled into the Google Borg because I host code labs on my domain. Looks like I’ll be putting the Digital Colony rebuild on the front burner.

Two years ago I told you Blogger sucked. I also warned you about BlogSpot. It is crappy code. Avoid it.

Testing Out the Math Captcha

In the past 24 hours, this site has been getting hammered with SPAM from a certain country. I don’t know if it will work, but I’ve added a Math Captcha to the comment form. Hopefully the math isn’t too difficult. If it is, you can use a calculator. I’d rather have you add two numbers than strain your eyes trying to make out twisted letters.

Send me an email if you have any problems with it.

The Flood of Worthless Comments

I can’t recall when it started, but I’ve noticed a gradual increase in the number of worthless comments on my two blogs. A worthless comment is a non-specific comment, usually a compliment, posted by a spammer. The spammer then has a link back to their site. They are hoping the search engines and my readers will visit their site.

If you have a blog, you already know what these spam comments look like. They aren’t the typical BUY, FREE or DISCOUNT spams that are easily filtered. They look like this:

I was very pleased to find this site.I wanted to thank you for this great read!! I have enjoyed every little bit of it and I have you bookmarked to check out new stuff you post.

This type of comment, especially from a stranger, adds nothing to the discussion. Because it is not overtly SPAM, my blog filter can’t decide if it is valid and I get an email asking me if I wish to approve it. This happens several times a day, which is more than real comments. Of course I reject everyone of these worthless comments, but it is an annoying waste of my time.

I tried experimenting with a plugin that turned off comments after 60 days of posting. The logic is that real comments would be more attracted to recent posts. This had no effect and I’ve since turned it off. I really don’t want to add a CAPTCHA, nor do I know if it would be effective. I’m stumped.

Have any of my fellow bloggers solved this problem?

Tweaking the Sharpie Redesign of

Last April I redesigned my portal site using a piece of typing paper, a Sharpie pen and a scanner. It was a hit, but it had two problems. I insultingly referred to INeedCoffee as the “old” coffee site and it was too large. Unless you had a large desktop monitor, it required vertical scrolling to see the bottom inch.

The 2010 touch up of is now 15% smaller and no longer uses the word “old” in front of INeedCoffee. You still need to scroll if you are on a netbook, but most desktop monitors should be able to see the bottom of the page now without scrolling.

Defend Yourself Against Facebook’s Terms of Service

I think Facebook is an outstanding contact management tool, however I have a huge problem with the rights they claim in their Terms of Service.

For content that is covered by intellectual property rights, like photos and videos (“IP content”), you specifically give us the following permission, subject to yourprivacy andapplication settings: you grant us a non-exclusive, transferable, sub-licensable, royalty-free, worldwide license to use any IP content that you post on or in connection with Facebook (“IP License”). This IP License ends when you delete your IP content or your account unless your content has been shared with others, and they have not deleted it.

This means Facebook can do whatever they want with any photo, video or I’m guessing blog post you upload to their server. They don’t need to tell you, credit you or compensate you. You surrender these rights when agree to the terms of using Facebook.

Before you dismiss your little old photos as worthless, let me give you an example of one case I witnessed. One day last year I saw a photo of Paul from Caffination beside an ad for a router company. It said something on the lines that Paul suggests you would like this product. I contacted Paul. He was unaware his photo was being used in an advertisement and he received no compensation.

What if you want to use Facebook to tell your friends about something you created? There are two ways that I have found that protect your intellectual property rights.

Method 1: Post a link to whatever you created. This will direct traffic to your site or one of your choosing.

The problem with Method 1 is anything with a link is filtered from Status Updates. Those links are only visible on the News Feed. There your link will get buried with all the quizzes and friend announcements and it doesn’t show up as your current status.

Method 2: Create a Fan Page for your website. I have one for Coffee Hero and INeedCoffee. Whenever new content is posted to either site, I add a link just like in Method 1. Now this status update will only show up on the Pages section. This has the benefit of reaching out to Fans outside your Friends, but the disadvantage of not showing up on your Status Update.

Now for the glue to connect the two. After posting a link to new content on your Fan Page, go to your personal page and create a new status referencing the Fan Page using the “@” symbol. Adding the @ symbol will build a link directly to your Fan Page. This update, unlike posting a link, will show up in the Status Update feed.

Add link to blog post on Fan Page.

Go to personal page and reference the Fan Page using the @ symbol.

Your Fan Page will become a link inside your status update.

In the example above, all photos are hosted on Flickr and protected by a Creative Commons license that I set. Those photos are embedded onto a blog post on my website of A link to that blog post is added to the Fan Page for Coffee Hero. Then I update my personal status and reference @Coffee Hero. Not a single photo, video or blog was uploaded to the Facebook server, yet I was able to alert Facebook Friends and Fans about the latte design photos.

I don’t do this for every post. Maybe 2-3 times a month. Moving your content updates to a fan page a polite way of notinundating your friends withannouncementswhen they are already aware of your website.

I understand Facebook needs to pay the bills, but they won’t be doing it using my unpaid labor.