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.

Ugly:

http://example.com/page.php?article_id=1234&title=Happy%20Blogging

Descriptive (dated): 

http://example.com/2014/06/happy-blogging/

Descriptive (shorter, not dated):

http://example.com/happy-blogging/

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.

chemex650

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 DeepFitness.com. 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

DeepFitness.com 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.


This newsletter will be sent out 1-2 times a month tops. It will be a roundup of current and relevant archived posts.

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.

comic-switch-a-roo

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 INeedCoffee.com. 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.

coffee-snake

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.

Examples:

  • 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.

Function maskEmail(email)
   For j= 1 to Len(email)
      maskEmail = maskEmail & "&#" & asc(Mid(email,j,1)) & ";"
   Next
   maskEmail = "<a>" &amp; maskEmail &amp; "</a>" 
 
End Function

Then you can call that VBScript function from inside an ASP page. For more information email me at <%= maskEmail(“someEmail@someDomain.net”) %>. 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 eFax.com. 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 larrykind@cnn.com 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;}
<img onclick="postage('larryking@c','n','n.com');" alt="" src="123.jpg" />

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.

Useless

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.

arvixe-down

This is why you should never host with Arvixe.com. 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.

Feedly

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-1998

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 Random.org 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 WordPress.com. 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.

I Love Typography

Photo by kitsimons

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.

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 ArtLung.com 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 INeedCoffee.com. 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.

Hey!

Anyway, since the last comment on January 19th a single IP address 199.19.109.246 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!

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)
)
RETURNS INT
BEGIN
    RETURN (LEN(@InputString) -
            LEN(REPLACE(@InputString, @SearchString, ''))) /
            LEN(@SearchString)
END

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.

DECLARE ContentCursor CURSOR FAST_FORWARD FOR
SELECT url, title, longDesc, quality, page
FROM Articles 
 
DECLARE SearchWordCursor CURSOR DYNAMIC FOR
SELECT word, POSITION FROM #searchWords
OPEN SearchWordCursor 
 
OPEN ContentCursor
FETCH NEXT FROM ContentCursor INTO @url, @title, @longDesc, @quality, @page
 
WHILE @@FETCH_STATUS = 0
BEGIN
    FETCH FIRST FROM SearchWordCursor INTO @word, @POSITION
    WHILE @@FETCH_STATUS = 0
    BEGIN
        -- place more weight on the first search term
        SELECT @score = CASE @POSITION
            WHEN 1 THEN 3
            WHEN 2 THEN 2
            ELSE 1
        END
        -- search the TITLE 
        SET @COUNT = dbo.udfCountString(@title, @word)
        IF @COUNT &gt; 0
        BEGIN
            INSERT INTO #searchResults VALUES (@url, @title, @longDesc, @quality, @score * 10)
        END
        -- search the PAGE
        SET @COUNT = dbo.udfCountString(@page, @word)
        IF @COUNT &gt; 0
        BEGIN
            INSERT INTO #searchResults VALUES (@url, @title, @longDesc, @quality, @score)
        END                    
 
        FETCH NEXT FROM SearchWordCursor INTO @word, @POSITION
    END
    FETCH NEXT FROM ContentCursor INTO @url, @title, @longDesc, @quality, @page
END
 
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.

Code

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 DeepFitness.com. 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 CriticalMAS.com?

Three years ago I reached out to my readers and asked about moving my blog away from CriticalMAS.com to MichaelAllenSmith.com. The response was overwhelmingly in favor of staying on CriticalMAS.com. 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.

CriticalMAS.com 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.

 

ASP.NET Web Hosting Endorsement

Since 1998, I have had at least one domain hosted using Microsoft’s IIS web server. Last year I ended a multi-year relationship with one host when they were hacked on a Sunday and didn’t respond to my email for over 24 hours. I took a chance on a new host and have been extremely pleased. That host is WinHost.

WinHost offers ASP.NET and SQL Server hosting at a good price, but speed is the most important factor for me. Both INeedCoffee and Digital Colony are smoking fast. Each site frequently has sub 1 second page draws. INeedCoffee connects to a SQL Server database and Digital Colony uses MySQL.

WinHost ASP.NET Web Hosting

I’ve setup an affiliate program with WinHost. If you decide to order web hosting, click on the banner in this post (or the one in my About page) before you do. I get a little kick back. :)

A Word About WordPress

Although WinHost does an excellent job hosting WordPress, at this time I would not use any Microsoft IIS host for WordPress unless you need to run ASP.NET code. The reason is that many of the plugins do not work properly on IIS. I’m hoping that over time either I’ll discover better plugins or existing plugins will be fixed to run in IIS.

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 DigitalColony.com).  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.

dreamhost-memory

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. :)

Some Blog Housekeeping

Excuse the dust as I prepare to launch the new “Best Of” guides for Critical MAS. I’ll be slowly rolling these out in the coming weeks. I’m also preparing for a physical move, so posting may be sparse.

Other changes:

  • I removed the Support MAS page. That information is now on the About page.
  • I removed my affiliation with DreamHost. In good conscience, I can no longer recommend DreamHost as a web host. They have a killer control panel and responsive customer service. Unfortunately, they allocate trivial amounts of memory and processing to their accounts and use every crash as an opportunity to up-sell you on a dedicated server. They also do schedule maintenance during weekday business hours. Punks. I’ll be moving this site and Coffee Hero in early 2011.
  • During this cleanup, I lost my link list. I really hate maintaining this list. I know WordPress could have done this for me, but I stubbornly did it myself and now it is gone. If you link to me and want me to link to you, comment on this post and I’ll start the reconstruction.

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.

idea-bulb

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 DigitalColony.com. 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.

MichaelAllenSmith.com 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.

MichaelAllenSmith.com

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

http://michaelallensmith.com/i/img/web-empire-sprite.png

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 DeepFitness.com. 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.

Category
Posts
Comments
Ratio
Books1251491.19
Finance1294483.47
Fitness1191851.55
General2933311.13
Nutrition811732.14
Photos2311210.52
Travel144930.65
Web1561621.03

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 Netrition.com. 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 Netrition.com. 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)

BEST OCCUPATIONAL CATEGORY

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.

CREATOR OCCUPATIONS
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.

CREATOR WORKPLACES
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.

2nd BEST OCCUPATIONAL CATEGORY

You’re an ORGANIZER

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.

Accurate?

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(http://www.w3.org/1999/xhtml);

@-moz-document domain(“tmuscle.com”) {

/* 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;}
}

Before:

After:

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, DigitalColony.com 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 MichaelAllenSmith.com

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 MichaelAllenSmith.com 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 CoffeeHero.com. 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.

Web Goals for 2010

The primary focus of my web goals for 2009 was to redesign INeedCoffee. That never happened, because that goal changed intolaunching the new Coffee Hero website. Coffee Hero then became the clear focus for 2009. Also in 2009, MichaelAllenSmith.com got a redesign and DigitalColony now looks like Seattle instead of Southern California.

What is in store for 2010? Here are my web goals for 2010 in their order of importance.

DigitalColony.com

This site was put on hold while I worked on my other sites. 2010 will the year I completely revamp the entire site. I hate Blogger and up until recently believed there weren’t any quality supported content management systems that met all my requirements and ran on an ASP.NET platform. Now, I have a solid lead that I think will work. I also need to make a 3rd version of the Amazon Link Builder. This site will be priority #1 for 2010.

MichaelAllenSmith.com

I love the Sharpie redesign which came out in April, but it needs some tweaking. Look for a new version this month. Where is my Sharpie?

CoffeeHero.com

I launched this site using the PressRow theme, because I wanted to focus on getting content before making it look pretty. Now that the site has some content, it will get a face lift.

INeedCoffee.com

There are some things I plan on coding for the back-end content management system that will improve how the site uses tags. From a user perspective, I don’t expect much to change.

DeepFitness.com

If I finish all the above projects, I will look into adding some more features for this site.

CriticalMAS.com

My only goal for this site is to just keep posting. There will be a minor photo gallery reorganization. Nothing that will impact this site directly though.

Wrecking a Mini Van?

I woke up to find that I had wrecked a mini van in Iowa on the same day I was flying from Kuala Lumpur to bangkok. From the Daily Record of Central Iowa.

On Dec. 8, a minivan driven by Michael Allen Smith, 714 E. Anson St., was travelling east on Edgebrook Drive approaching the curve when due to the surface conditions it went straight an struck an electrical box owned by Alliant Energy, 1911 E. Anson St. No injuries were reported. Smith was cited for violation-financial liability-accident. Damage to both the Smith minivan and the electrical box were estimated at $1,000 each.

I’m just glad they didn’t find drugs or missing children in the van. :)

Amazon’s Weak Defense

After lashing out at Amazon for moving the images to books used by Associates, I got a response. Here is their defense.

It seems that you are using a Third party application to build your links. If that is the case you need to contact them about links breaking.

We offer online automated link-generating tools in Associates Central for the exclusive use of our Associates.

My response is, of course I’m using a 3rd party application to build my links. It is my application. I wrote it, because your crappy tools are incapable of generating valid XHTML code. I’ve even emailed you guys on how to fix your tools, but that fix was deemed to be a difficult task. Your words. Closing tags and lowercase are taught in beginner HTML classes these days.

But that is beside the point. The data used to build my links came from the Amazon API. My application asks Amazon directly for that information. I wrote my tool to conform with all their security requirements to retrieve the data needed to build those links. The links point to image files on Amazon servers. How is that the problem of the link building tool? FACT: Amazon is moving images on their own server. The paths to those images come directly from the Amazon API.

Here is what I am going to do to solve the problem. I am going to update the code on my Build Amazon Link With Image application. Since I can only be guaranteed that the image path is valid at the time I make the call, I will make a copy of the product image and host it on my server. Then the link built will point to the product on Amazon, but the image will be on my server. I am not happy with this solution, because it means that if the product media gets updated, my image file will be stale. But, I’d much rather have a stale image than a broken image link.

Dear Amazon – Stop Being So Stupid

As a customer, I love Amazon. As an Associate that makes small referrals from reviews, I am sometimes amazed how stupid they can be at basic web stuff. Back in August I released a new version of my Amazon Image Link Builder, because they are incapable of writing tools that generate valid XHTML code. From the post Amazon Link With Image Tool Has Been Updated:

** I emailed Amazon requesting an XHTML tool and they responded:

The W3 validator is very strict and constructing an HTML page which passes through it without any errors is quite a difficult task.

They have a market cap of $36.7 Billion and find XHTML to be a difficult task.

Having W3 valid code isn’t the end of the world. I’ve been told that Amazon developers have more important things to work on. Since I was able to knock out a tool superior to theirs in an afternoon, I disagree with that premise, but whatever. My real annoyance is the fact they are continually moving image URLs around. I’ll give you an example.

In June I wrote a review of the book Primal Blueprint. In the review, I linked to an image of the book cover. The reader could click on the image of the book or the title and be directed to Amazon to learn more about the book or even make a purchase. Today I discovered that they changed the URL to that cover image. This isn’t the first time. My link checker pulled up 15 examples.

I don’t want broken links on any of my websites. Amazon pulled this crap over a year ago. I made the fixes. I thought it was a one time thing. Nope. I sent them a piece of my mind today.

I am SICK AND TIRED of you guys breaking the links to the images of the products that I review.

My reviews have generated thousands of dollars in sales this year alone. Why you guys change the URL to image files of the books and DVDs makes no sense to me. You don’t break the links to the products.

We are suppose to be partners. I have 15 posts that now have broken image links. I have to go back and get a new URL for each one. Do you guys want more referrals? STOP MOVING THE IMAGES!!

Before someone jumps to Amazon’s defense about moving images, I’d like to cite usability expert and Internet pioneer Jakob Nielson. This is what he wrote back in March 1999 in the post URL as UI:

Do not move pages around but keep them at the same URL: it is very annoying for authors of other sites when their links either stop working or turn into pointers to something different because the original page has been moved and replaced by something new.

He specifically cites pages, but in a partner relationship, most would interpret the modern meaning to extend to other media. I certainly do. Amazon provides me with the images and links to help them sell products. I use them. They move the images, which alters the meaning of my work. A review with a broken image link appears sloppy and in my opinion is less likely to generate trust.

Amazon is located here in Seattle. I know a few employees. When I talk to them, the impression I get is they just don’t care about the Associates program. It is just a minor part of the review picture for Amazon, so it gets less attention. Sad.

WordPress 2.8.4 Woes

I’ve been using WordPress to run this website for a while now and I’ve been pleased with every version upgrade until 2.8.4. I’m having a problem that the “Update Post” and the “Publish” button freezes and I can’t save my recent changes. My only solution is to copy the text from the HTML tab into the clipboard, do a hard refresh (Control-R) and then paste the text back. At that point the buttons start working again. Thebehaviorisunpredictable. Sometimes it freezes after a minute, sometimes ten minutes, sometimes it doesn’t freeze. I use Chrome as my browser.

As a code jockey, I can tell that the problem is with the client-side Javascript. I click a button, Javascript intercepts my request and doesn’t pass along my request to the Form Submit. So I am stuck frozen until I initiate a hard refresh. I’ve never had this problem until the most recent version of 2.8.4.

I searched around to see if anyone else has this problem and turned up nothing. Maybe it is the Chrome browser? Is anyone else experiencing this problem?

UPDATE (Oct 20, 2009): This is a Chrome problem. It does not occur in Internet Explorer.

Giving 2 Bucks To Plugin Authors

This site and Coffee Hero run on WordPress. It is an open source (free) content management system. One of the things that makes WordPress great is the plugins. Plugins can extend your blog to do things not part of the WordPress installation. Plugins can be written and distributed by anyone. They are almost always for free, but the coders will sometimes ask for a smalldonationif you use their plugin and find it useful.

Now that I am committed to WordPress, I want to support the best plugin writers. I figure a $2 tip is a nice thank you. So today I tipped 3 plugin authors $2 each for these 3 plugins.

  • All in One SEO Pack – Helps the search engines find my sites.
  • Google XML Sitemaps – Also helps the search engines and I use for debugging.
  • WP-Table Reloaded – A civilized way to manage tabular data in WordPress.

If you have WordPress and a plugin that you adore, consider giving a few bucks to the author. With PayPal it is super easy to tip these coders.

Photo Cute Tip Jar by Ann Althouse

Who Do I Write This Blog For?

Every now and then someone will tell me what I should blog about. Someday I’ll explain why I detest the word should, but for now I’ll explain who the target audience is for MAS o Menos. Only after the target audience is defined can one understand why I rarely take suggestions for blog topics.

Who do I write MAS o Menos for?

1 – ME!!! – This is my story. There might be a post on a book I just read or a place I just visited. All things that I care to share, but all things that were interesting to me. My interests can and do change over time.

Back in September 2000, I wrote a blog post about the Autobiographical aspect to blogging. Note that in 2000, I was refusing to use the term “blog” and instead used the term “web log”. I was such a rebel in my youth.

[An autobiographical blog] only works is you live an interesting life. Most people don’t. Web logs about getting stuck in traffic or reformatting a hard drive are complete drivel. Meeting the President or totalling a car is far more interesting. If your life isn’t that exciting, perhaps developing a web log to document your days on Earth isn’t the best use of your time.

So the primary function of this blog is to keep ME interested. I do and learn interesting things and share them here. If I don’t do or learn something interesting, then this blog falls apart. I’m not going to sit around taking personality quizzes just to have something to post. I have things to do.

2- Readers that Comment – I love good comments that extend the discussion of the topic. In July, there was so many good comments on The Importance of College that I will most likely be creating a new post on that topic. I’ve had some really good comments in the past year. Thank you!

3- Everyone Else – The anonymous majority is last. Does this mean I think valued commenters, many whom I’ve never even met, are a more important audience than friends and family that don’t comment? Absolutely.

A Little Digital Colony History

In April, I celebrated 10 years of my coffee site INeedCoffee.com. For some reason I thought that my second site DigitalColony.com had a September birthday. I was wrong. After digging through old backup discs, I have uncovered that it went live in May 1999. Happy belated birthday!

Digital Colony 1999 Logo

Digital Colony logo from 1999

Last year I stopped adding new content (other than labs) so I could focus on the CoffeeHero project. Also, I hate Blogger and need to revamp the site with a better content management system. That project will have to wait until next year.

Digital Colony business card 20000

My business card from 2000 with the “no longer accurate” phone number smudged out.

I’ve always loved the name Digital Colony. Other people seem to like it too. In the past decade, I’ve seen several companies launch (and fail) using the name Digital Colony. I own the dot-com. I also have the user-name digitalcolony for GMail, Flickr, YouTubeDelicious, Facebook, MySpace, Blip and 10 more that I can’t think of at this moment. Despite all this, new companies still launch (and fail) using the DigitalColony name. Can’t they think of an original name? Another one just launched this year. I’ve outlasted them all. I’ll outlast this one too. The DigitalColony.com domain is registered through 2018.

Digital Colony 2004 logo

The Digital Colony Scfi-Fi retro logo from 2004-2007.

Where did the name come from? I found these sentences which I wrote back in 2000 that explain.

I named the company Digital Colony because in many ways the Internet today is a lot like colony. When a colony is setup there is plenty of work to do. Digital Colony is here to get some of that work done and help the smaller businesses accomplish their web goals.

That still rings true, except for the focus being on smaller businesses. I get more enjoyment when I am my own client.

Egg Boiling Video

I wanted to test out the video capabilities of my new camera, so I made a video of hard boiling eggs. Once I had the video, I played around with some effects and then added a dance track underneath it. Maybe my next video will be making toast? I also have a recipe for ice cubes. :)

For this video, I setup a VIMEO account.

Hard Boiled Eggs – Iced Bath Method from Michael Allen Smith on Vimeo.

Making hard boiled eggs using the iced bath method for easy peeling. Boil for 3 minutes. Turn off heat and let sit for 7 more minutes. Dump water, rinse eggs and then load them into a container of ice water. Let sit for 2 more minutes. Peel then eat.

Background music is DJ DLG’s version of GNR’s Welcome to the Jungle.