• Pssst. Over here…

    Are you enjoying what you are reading? I hope so. If you do please take a second to subscribe to my RSS feed. Thank you for visiting my site. If you would like to know more about Adrian3 be sure to check this out. Oh, and you should probably follow me on Twitter if you aren't already...





  • Flickr
    Facebook
    LastFM
    Netflix
    Flickr
    YouTube



    Archive for the 'Uncategorized' Category

    The Parable of the Thousand Dollar Nail

    Monday, April 11th, 2011

    Squeak.

    Creeeeeek.

    Squeak.

    Every time Mr. Smith walked through his living room the wood floor would squeak. It drove him crazy. “I would pay anything to get this old floor fixed,” he told himself. He had tried calling the local flooring specialists, but after a close inspection the specialists told him that there was nothing they could do other than replace the entire floor. They explained that some squeaking is inevitable with houses as old as his and that he should try to get used to the noise or rearrange his living room so that he wouldn’t have to walk over the squeaky part. Mr. Smith wasn’t happy with this diagnosis, but didn’t see any other options.

    One day Mr. Smith had a guest over to his house for dinner. As they walked through the house the guest commented on the squeaky floor. Mr. Smith explained the problem and how hopeless it was to get the floor fixed. The guest listened to the story and then calmly said, “I can fix it.”

    Mr. Smith was surprised by his guest’s response and explained that the floor was unfixable. Mr. Smith was convinced that fixing the floor was impossible. Again, the guest replied, “I can fix it. But I will have to charge you.”

    Mr. Smith was very suspicious of his guest’s claim, but he decided to let him to attempt to fix the floor. “I doubt that you can do it, but if you want to give it a try go ahead. And if you fix it, I will pay you for the work.”

    The next day a knock came at Mr. Smith’s door. It was his guest with a hammer in his hand. “Please come in. I see you brought a hammer. If you need any other tools help yourself to my workshop. I own almost any tool you might need.”

    His guest thanked him, but responded, “All I need is my hammer and a little time.” Mr. Smith watched his guest go to work on the floor. The guest got down on his hands and knees and slowly worked his way across the floor. He gently applied pressure in certain areas and carefully examined the wood. He paced from corner to corner listening for something that Mr. Smith couldn’t identify. After ten minutes he took a nail out of his pocket and carefully pounded the nail into a seemingly random spot in the floor. “That’s it.” he said.

    “You’re done?” Mr. Smith almost laughed, but as he walked across the squeaky part of the floor he realized that it was fixed. “I can’t believe it! You did it! Thank you so much.” His guest told him that he would send him a bill for his work. Mr. Smith was still in shock from what he had just witnessed.

    The next week Mr. Smith got a bill in the mail from his friend. He opened it and couldn’t believe what he saw. The bill was for $1000.00. Mr. Smith was furious. How could this simple repair cost so much? He got his guest on the phone and gave him a piece of his mind. “You charged me one thousand dollars for a simple repair? It only took you ten minutes! It only cost you a single nail! How can you expect me to pay that much?”

    After listening to Mr. Smith’s rant the guest replied, “Yes, the work only took me ten minutes. Yes, I only used a single nail. But you are forgetting that you told me that this job was impossible. You consulted with experts who lacked the skill to make the repair. It took me a lifetime to learn the skill needed to fix your floor. I have worked my entire life to know exactly where to put that nail. You could have hammered hundreds of nails into that floor and you still would have had a squeak. I apologize that my bill was unexpected, but that is the price I am asking.”

    Mr. Smith responds by telling his guest that he will never pay the bill. He hangs up the phone and the relationship between these friends will never be repaired.

    The end?


    I think this story has several lessons for professionals. There are many people represented in this tale. Which one are you?

    1. The so-called experts
    Many of us call ourselves experts in our field, but the truth is we are only experts in a narrowly defined area of our trade. When things are outside of our comfort zone we shrug off the problem as impossible. The posture of an expert does not necessarily qualify you as a true expert. Rather than solving real problems we try to upsell our customers on something that they don’t need. We replace the floor rather than fixing the squeak.

    2. The nail salesman
    Implied in this story is the people who can sell you a nail for ten cents. Does that sound similar to your job? Most people are selling 10 cent nails. Anybody can do that and there isn’t much profit in it. Maybe instead of nails you are selling your time dissected into 15 minute increments. You have to sell lots of nails to make a living. The real value you bring to your job isn’t the ability to sell nails. Your value comes from your ability to solve complex problems. What is it that you can do better than anyone else?

    3. The expensive tool owners
    Another implied character in this story are the people with expensive equipment and fancy machinery. Mr. Smith had a garage full of tools much more impressive than a hammer. Many professionals rely on their tools to do their work for them. They pay extra for the privilege of transferring the burden of expertise off of themselves and onto their gadget. If you are really an expert, you can do more with a pencil than most people can do with a top of the line computer.

    4. Mr. Smith
    Mr. Smith represents our clients. He has a problem. He knows he has a problem but doesn’t know what it takes to correct it. He is misled by experts and eventually gives up. The only time in our story that Mr. Smith is angry is after his problem has been solved! Sound familiar?

    5. The guest
    The hero of the story is the guest. He is the only one with the skill to fix a problem that everyone else believes is impossible. He solves the problem quickly, gracefully, and with the touch of a master. And yet he goes unpaid. Could he have done a better job of managing his client’s expectations? Perhaps. Could he have charged less for his service? Not without devaluing his skill. Could he have done anything differently to convince Mr. Smith that his service was worth the expense? What would you have done differently if you were the guest?


    This story is paraphrased from something my former boss told me years ago. I am not sure where the story originated but I am pretty sure I butchered it from its original form. If you have heard a version of this story or know its origin please let me know. And please leave a comment if you have some thoughts about how this relates to your experience.

    Art Show: Pre-Consumer Artifacts

    Wednesday, November 3rd, 2010

    I was lucky enough to get to participate in an art show at the University of Northern Colorado called, “Pre-Consumer Artifacts: Behind the Creative Curtain,” which opens tomorrow. I thought I would share with you the artist statement I prepared for the show along with the video that will is part of my contribution to the show. The show runs from November 3-December 3, so if you are in the area, please stop by to see it.

    My Artist Statement:
    Standing knee deep in garbage in the alley behind the local grocery store I find what I am looking for. I am not sure what led me to climb in the dumpster, but what I see in front of me is amazing. It’s a Jackson Pollock. No, not literally a multi-million dollar painting, but something just as beautiful. I lift my camera and zoom in on the artwork in front of me. As I focus on the layers of color I imagine the scenario that may have lead to the creation of this masterpiece. Maybe some kid at the grocery store was throwing out the trash the night before. While cursing the store manager under his breath, he lifts a dripping sack of rotten fruit over his head and slams it against the back of the dumpster. The bag explodes and the juicy garbage drips down the wall. The mark left by this moment is monumental, but it probably didn’t even catch his eye. He closed the lid, lit a cigarette, and killed a few minutes before returning inside to finish his shift. I press the button on my camera and snap a photo. Maybe some day this image will find its way into a corporate brochure as the texture behind the photo of some company’s president.

    I try not to make a habit of climbing in dumpsters but I regularly find myself doing things that seem equally absurd for reasons I can’t quite explain. I buy expired film. I process it with coffee grounds and vitamin C. I take photos with cameras that are older than me. I build cameras out of Legos. I setup my camera to take a photo every ten seconds for 9 months at a time. I replace the film in my camera with photo paper. I leave the shutter of my camera open for minutes, hours, days, or weeks. I disassemble, hack, damage, and modify my cameras so that the images produced are anything but predictable. I poke holes in tin foil and let muddy light paint the film inside old tin cans. I don’t advance the film and let the images sandwich on top of each other. When I take a picture I want to smash the subject against the film and squeeze it through the body of my camera leaving an impression on the film so deep that you hold the print by its edges for fear of getting your hands dirty.

    And somehow these experiments are related to my profession as a designer. Maybe I use my art to compensate for the rigid controls and robotic routine that comes with sitting behind a computer all day. Maybe the hours retouching blemishes out of stock images has left me thirsty for the filthy reality that my pinhole cameras provide. Perhaps creating art within the constraints of a business environment has redefined my ideas about authenticity. Maybe the tight control of design software has encouraged me to embrace situations where I have as little control as possible over the images I am creating. Maybe the hours spent coding websites has triggered a need to feel real objects in my hands.

    Maybe, but I think the real reason is much less profound. I don’t feel there is much of a conflict between my job as designer at the computer and the artist in my basement studio. I am just as likely to think of a design solution for a commercial project when I am dissecting cameras as I am to think of an idea for a camera when I am designing a logo. The inspiration for both comes from the same persistent and uncontrollable need to be creating something. It doesn’t matter if the tools are the latest technology or a century old photographic technique.

    I create things and try not to get caught up in questioning what is or isn’t the “right” way of doing it. The second you try to formalize your creative process you begin to copy yourself and before you know it you have slipped into a predictable style. I am always looking for different ways of doing things because this is the only way to create truly original work.


    The opening reception is today (November 3) from 5-7pm. The location is the Mariani Gallery in Guggenheim Hall. The address is 501 20th Street, Greeley, Colorado. I hope to see you there!

    DreamHost Review

    Saturday, September 25th, 2010

    Back in June I moved my website hosting from MediaTemple to Dreamhost. I was happy with the decision, but you don’t totally know if you made the right decision until you have a real test of the new web host. Last week I had a major issue with my sites and I thought it would be good to follow up with my earlier “MediaTemple vs. Dreamhost” review by outlining my experience. These kind of posts can be pretty boring and technical, so if you are just looking for a one sentence summary it is this: Dreamhost does a pretty good job, but it depends a great deal on the individual person giving you technical support. I still recommend them and if you are looking to switch, you can save $50 from Dreamhost if you use the promo code “adrian3″ when you sign up for a year.

    So let me tell you what happened. My websites went down and I went digging around to see what caused the downtime. I am on DreamHost’s private server which allows you to manage the resources associated with your account. This has a nice feature that allows you to monitor how much CPU usage and memory your account is using at any given time. Here is what the previous week looked like for me:

    dreamhost_graph1.jpg

    This is showing weekly averages, so what was actually happening was much more severe than it looks. For example, the 400mb spike is actually happening on the same day as my sites being offline. So, despite big chunks of time when the CPU usage was effectively 0, there were times when I was spiking above 500mb which in turn killed my site again. Look at this mess when you zoom in to an hourly view:

    dreamhost_graph2.jpg

    The most frustrating part about a situation like this is that it is terribly hard to isolate the issue causing the problems. Is it a script gone wild? Is it a WordPress plugin? Is it the server itself? Here is a list of things that I did to try to identify the problem, none of which ended up being the real issue:

    • Upgraded all WordPress installations
    • Upgraded all WordPress plugins
    • Eliminated WordPress plugins (like all-in-one SEO pack)
    • Replaced WordPress plugins
    • Reverted to default WordPress plugins
    • Turned off Mint
    • Turned off Fever
    • Turned off TweetNest
    • Turned off OpenX ads
    • Took sites on and offline systematically
    • Reviewed access logs
    • Reviewed error logs

    As best I can tell, this is what was actually happening. Font Burner just uses a ton of resources and it finally hit a point where it overwhelmed my servers. Because so many sites hotlink to the javascript, css, and swf fonts on the site, there is a constant stress on the server. Hundreds of sites are serving up thousands of pages that are accessed thousands of times every day. Each time a page is loaded on one of these sites it makes 1-6 request of the Font Burner server. Since the load is spread out across so many sites, it is hard to reduce this usage. Surprisingly, taking fontburner offline completely didn’t even reduce the load because this doesn’t reduce the amount of requests coming in from the outside. So even though the site was technically offline, the server was still getting bombarded with requests. With the site offline, these turn into errors. And errors require cpu usage to be handled. Even an htaccess rule that blocked hotlinking wasn’t enough to keep the site online.

    So I was in a really tough spot. I couldn’t take the site offline and I couldn’t leave it up. Either way, the site was crashing DreamHost’s server. Finally, in desperation I changed the dns settings to point to an unused hosting package I had on 1and1.com. This at least would redirect the nuclear waste pointing at my site. I thought this would cripple the 1and1 server, but to my surprise it has stayed up so far.

    To reduce the amount of resources used by Font Burner I made a fundamental change to how Font Burner works. I can’t afford to let people hotlink to my files any more. So, I blocked hotlinking with .htaccess. I took some of the files that get hotlinked to offline completely. I changed the instructions to encourage people to host files themselves. This is a bit more work for the average user, but it will benefit everyone since they won’t rely on my site being online for their fonts to get served. To read the full change announcement, you can click here.

    Finally, I want to post transcripts of my correspondence with Dreamhost technical support. Probably not the most fascinating read, but it might give you insight into the type of help and timeframe of their responses. Hopefully this is helpful to you…

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-21
    Ends: 2010-09-21 09:53:13
    Duration: 4.8 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘Brandon’
    Brandon: Hi, how may I help you?
    me: My sites are down. It doesn’t seem to be listed in your system status blog. Can you look at adrian3.com?
    Brandon: I’d be glad to. One moment please.
    Brandon: Hmm. It looks like your scripts are being killed for going over the set memory limits on your PS. Please e-mail me at brandon@dreamhost.com from the address associated with your account so I can provide you with further details.
    me: okay. just sent it.
    Brandon: Great. I’ll be in touch ASAP!
    info: Chat session has been terminated by the site operator.

    By email, Brandon wrote:

    Hi Adrian, I’m very sorry that you’ve been running into this issue.

    I’ve checked into why you’ve been receiving these internal server errors,
    and it seems your scripts have been getting automatically killed by the
    host machine due to your memory usage spiking above the set limits on
    your PS:

    Sep 21 12:14:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 11806
    Sep 21 12:18:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 11928
    Sep 21 12:26:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 8161
    Sep 21 12:28:05 homie-vserver118 debuglogger: ps26964/memory.failcnt 1949
    Sep 21 12:30:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 4659
    Sep 21 12:32:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 7663
    Sep 21 12:36:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 658
    Sep 21 12:38:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 4548
    Sep 21 12:40:04 homie-vserver118 debuglogger: ps26964/memory.failcnt 5730
    Sep 21 12:42:05 homie-vserver118 debuglogger: ps26964/memory.failcnt 8021

    This log basically shows us when the host machine (on which your PS runs)
    had to forcibly kill a script running on your PS in order to prevent the
    PS from using more than the memory allotted.

    Please understand that while you may not be hitting your disk space or
    bandwidth limits, these are actually entirely different things.

    Also, as the spikes typically occur and are then subsequently killed
    within milliseconds, they often don’t register on the panel memory usage
    graphs at all.

    I would highly recommend that you follow the steps in the following wiki
    articles in order to reduce your usage:

    http://wiki.dreamhost.com/Finding_Causes_of_Heavy_Usage

    http://wiki.dreamhost.com/PS_Optimization

    Also, please be aware that the site displaying the error isn’t
    necessarily the one responsible for the total usage involved.

    For instance, if Site A is using 90% of your allotted memory usage, and
    then Site B attempts to use an additional 15%, Site B will be 5% over and
    will get it’s script killed.

    I’d also recommend looking into any 3rd party plugins you may be running,
    especially if you happen to be running WordPress installs as they can be
    notoriously poor at memory management.

    You may find this link helpful in specifically optimizing any WordPress
    installations:

    http://www.prelovac.com/vladimir/wordpress-optimization-guide

    Lastly, you may want to look into raising your memory limits via “Private
    Servers” > “Manage Resources”. This will especially make it easier to
    diagnose the problem without the scripts constantly getting killed while
    you’re attempting to resolve the issue.

    Thanks!
    Brandon

    My response:

    Thanks, Brandon. I appreciate the links to the helpful info. The strange
    thing is that when my site goes down I can’t even connect by FTP. That makes
    it really hard to troubleshoot things. Is there anything I can do to keep my
    site up for long enough to fix things?

    Adrian

    By email, Brandon wrote:

    Hi Adrian,

    Throwing up the memory limits temporarily should help with being able to
    connect so that you can troubleshoot things ;)

    Thanks!
    Brandon

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-21
    Ends: 2010-09-21
    Duration: 74.3 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘danielj’
    danielj: Hi! How can I help?
    me: Hi. My site is hitting some limits and scripts are getting killed. At least that’s what a dreamhost person told me earlier. The site came back online for a few minutes, but now it is down again. I can’t login by FTP so I can’t really change anything to reduce my server load. Can you advise me?
    me: The domain is adrian3.com
    danielj: ok let me check it out
    me: It looks like I started getting resource spikes on the 19th. That’s when I installed an app called Tweetnest.
    danielj: ok, yeah the server should be accessible in the next few minutes, I have an admin looking at it
    me: I deleted the database about tweetnest a half hour ago. But that hasn’t helped.
    me: Sorry. That didn’t make sense. I meant…
    me: I deleted the database for tweetnest about a half hour ago…
    danielj: no problem I understood what you meant
    danielj: ok the server was just restarted, you should now be able to log in
    me: I am in.
    danielj: great
    me: Can you tell if this was the same issue as earlier or something new?
    danielj: it appears to be the same issue
    me: Okay. I am going to take tweetnest offline and see if that fixes things.
    danielj: ok
    me: I am watching my my “Load” numbers in the Dreamhost P.S. panel.
    me: It looks like that is a couple hours behind real time. Is that a correct assumption?
    danielj: oh yeah it’s not real time, though it should be about 15 to 30 minutes behind real time I think
    me: So if the server needed to be restarted does that mean my site killed the server? Yikes.
    danielj: it looks like it was the case this time
    me: My memory usage never goes beyond 286 it seems. My limit is 300. Do you think I am hitting the limit consistently or am I in the safe zone?
    danielj: let me check
    danielj: it looks like you have been hitting the memory limit, it basically never shows higher than 280ish because the processes which are being killed would normally take more than 20MB
    me: I see.
    danielj: is there anything else I can help you with?
    me: No. Thanks very much for your help.
    danielj: anytime!
    info: Chat session has been terminated by the site operator.

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-21
    Ends: 2010-09-21
    Duration: 8.3 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘Jeremy T.’
    Jeremy T.: Hi there! how can I help you?
    me: Hi Jeremy. I am wondering if you can help me with a unique hotlinking question.
    me: Are you an htaccess wiz?
    Jeremy T.: A bit, what’s up?
    me: I have a site with you guys at fontburner.com. It basically is a service that allows people to use sIfr fonts that I host for free.
    me: So I am encouraging people to hotlink to my files.
    me: But I am hitting my bandwidth limits.
    me: I need to block certain ip addresses from hotlinking to .swf files.
    me: I think if I blocked a few of the heaviest users I could significantly reduce my total bandwidth.
    Jeremy T.: Okay, here’s a guide on blocking hotlinking:
    Jeremy T.: http://altlab.com/htaccess_tutorial.html
    me: But .htaccess scares me and I am not sure I can figure out how to just block ip addresses. Do you know if that is even possible?
    Jeremy T.: You just need to add one line to it, one of the conditions from this page:
    Jeremy T.: http://www.netshinesoftware.com/component/option,com_myblog/Itemid,65/show,Restr icting-access-to-a-URL-by-IP-address-using-mod-rewrite.html/
    me: That looks promising.
    Jeremy T.: If you combine those two, you shoud be good to go.
    Jeremy T.: Well, have a good day!
    info: Chat session has been terminated by the site operator.

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-21
    Ends: 2010-09-21
    Duration: 17.1 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘Jeff M’
    Jeff M: Hello, how may I help?
    me: Hi, Jeff. I am having trouble writing an .htaccess rule.
    me: There is an offensive website that is hotlinking to a .swf file on my site.
    me: Everything I have read tells me that the rule I wrote should work, but I am missing something.
    me: Can I show you the rule I have written?
    Jeff M: Sure, I can’t guarantee I can help though
    me: Warning, it has an offensive site listed in it…
    Jeff M: Also, we have a guide on this
    Jeff M: http://wiki.dreamhost.com/Preventing_hotlinking
    me: RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://(www\.)?baddomain\.net [NC]RewriteRule .*\.(jpg|jpeg|swf)$ – [NC,F,L]
    me: I am wondering if this only works for images and not swf files.
    Jeff M: Looks right to me, based on my limited knowledge.
    me: Hmmm. The swf still shows up on there site. The swf gets called from a javascript. Could that affect things?
    Jeff M: I don’t know.
    Jeff M: I’ve never set this up myself.
    me: I think I have it working.
    me: Thanks for your help.

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-22
    Ends: 2010-09-22
    Duration: 15.2 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘steve’
    steve: Hello! How may I assist you?
    me: Hi steve. Over the last two days I have been getting huge spikes in my CPU usage that I am seeing in the chart on my P.S. “Manage Resources” screen.
    me: Can you help me pinpoint where it is coming from?
    me: It has been steady at 0mb for months.
    me: My domain is adrian3.com
    steve: Having a look
    steve: It looks like the big CPU user is a PHP process under the ahanft3 user. Unfortunately, it doesn’t show us what exact process that is. Have a look at this page in our wiki to view your usage and determine what’s causing it.
    steve: http://wiki.dreamhost.com/PS_Optimization
    me: I read that yesterday.
    steve: Also, have a look at-
    steve: http://wiki.dreamhost.com/Finding_Causes_of_Heavy_Usage
    steve: Skip down to Checking Processes.
    me: I am terrible at command line stuff. I can’t figure it out.

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-22
    Ends: 2010-09-22
    Duration: 34.7 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘george’
    george: Hello
    george: how can I help you?
    me: Good morning.
    me: I am hoping you can help me.
    me: All I get is links to the dreamhost wiki from other people I talk to. I need some real advise.
    me: advice.
    me: I am trying to track down the source of spikes in my cpu usage.
    me: My domain is adrian3.com
    me: I am too dumb to do any command line things. I am on a mac and I can’t get terminal to connect to the server.
    me: Over the last two days I get giant spikes in cpu usage.
    george: well you’re going to need to connect via ssh to run the commands
    me: Then I need you to walk me through getting that to work.
    me: I can’t connect because I get this error.
    me: Offending key in /Users/Adrian3/.ssh/known_hosts:1RSA host key for adrianhanft.com has changed and you have requested strict checking.Host key verification failed.Adrian-Hanfts-Computer-4:~ Adria
    george: try removing your .ssh/known_hosts file
    me: okay. where would I find that?
    george: or even better edit the file
    george: it’s listed in the error
    george: /Users/Adrian3/.ssh/known_hosts
    george: this is a mac issue that you should sort of by either searching the web or checking a mac forum
    george: when you have that sorted contact us via the contact support page in the panel
    george: https://panel.dreamhost.com/index.cgi?tree=support.msg&
    me: It’s not a mac issue.
    me: It is a spike in traffic on YOUR SERVER.
    me: You guys just dodge the questions.
    me: It’s really frustrating.
    me: I need HELP.
    george: your inability to connect via ssh is an issue on your end
    me: Who can I talk to about the REAL issue?
    me: Forget it.
    me: You guys are worthless.
    me: Nothing has changed on my site.
    george: so you want us to figure out the issue then just let you know
    me: And all of a sudden I get huge spikes that I can’t identify.
    george: give me a few minutes
    me: All I want is help so I can identify where the problem is.
    george: that will require you to connect via ssh
    george: one moment
    george: fontburner.com is getting the most traffic
    george: you’re going to want to get rid of all of this:
    george: all-in-one-seo-pack
    george: You’re going to need to make sure you’ve optimized the install and that you’re running FCGI and not cgi.
    george: you can replace all-in-one-seo-pack with platinum seo pack
    george: it runs better
    me: Great advice! THanks.
    me: Good to know.
    george: If you haven’t already, you should also download and enable either wp-cache or wp-super-cache
    me: We use the all-in-one seo on a bunch of sites where I work. I didn’t realize it was a resource hog.
    me: I use w3 Total Cache.
    me: Is that one any good?
    george: that alone can get some site with decent amounts of traffic to get kicked off of our shared servers
    george: any caching solution is good
    george: we know that supercache runs well
    george: checking what’s currently running under your user
    george: I know you don’t want to see another wiki, but fontburner can use this http://wiki.dreamhost.com/Preventing_hotlinking
    george: so fontburner is the cause
    george: using 338
    george: I disabled it for a sec
    george: the ps was using 114
    george: you’re still going to want to take care of the seo plugins but fontburner needs the most attention
    me: I am working on the hotlinking issue.
    george: good
    me: That site kind of encourages hotlinking. So there are a ton of sites linking to my files.
    me: I am trying to contact the big sites that are using my bandwidth and having them host the files themselves.
    george: here are the top 10 IP hitting your site:
    george: 102 87.14.226.194

    115 94.193.69.208

    116 98.232.199.18

    121 79.213.197.55

    125 98.17.182.244

    130 208.78.53.179

    239 64.132.49.242

    240 87.153.110.155

    243 87.89.61.206

    354 86.131.252.193
    me: Awesome!
    me: I can block them with .htaccess I think.
    me: I will try to give them a chance to stop the hotlinking before I pull the plug on them.
    george: not sure if you want to
    george: but you can
    george: okay
    george: here’s a link that might help with your ssh issue
    george: http://forums.macrumors.com/showthread.php?t=367310
    me: Thanks for looking that up for me. Sorry I got frustrated with you guys.
    me: Now that I am certain that Font Burner is the major drain, I can do some work to clean up how that site works.
    george: okay
    george: take care
    info: Chat session has been terminated by the site operator.

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-23
    Ends: 2010-09-23
    Duration: 23.9 minutes

    info: Please wait for a site operator to respond.
    info: All operators are currently assisting others. Thanks for your patience. An operator will be with you shortly.
    info: You are now chatting with ‘chalise’
    chalise: Hi, how can I help you?
    me: Good morning. I have been talking to you guys for the last few days about spikes in my memory and cpu usage on my domains. Out of the blue it just skyrocketed and we can’t figure out why. I have gone through all your wiki articles and nothing seems to help. I have eliminated WordPress plugins, I have optimized my databases, taken sites offline, I have prevented hotlinking, I have cleaned up my themes – pretty much anything I can think of. Nothing seems to work. Can you take another look and see if you can tell if there is something else that might be causing the excessive load? My domain is Adrian3.com
    chalise: Have you tried disabling any cronjobs you my have set to run?
    chalise: Honestly, the information on our wiki pages are exactly the same things we’d check as well.
    me: I don’t have any cronjobs. Although, WordPress might use cronjobs, right?
    chalise: Actually, it looks like you have one set to run every hour.
    chalise: Goodies / Cronjobs in your panel
    me: I will take a look.
    me: How much of a toll does a single cron job cost in terms of cpu and RAM usage?
    chalise: It depends on what the script you have it set to execute is coded to do.
    me: It just refreshes a page.
    me: I will disable it and see if it has any effect.
    chalise: You may also want to try clearing out any old scripts or old files you’re not using.
    me: Okay.
    me: Is there a way to elevate my issue? Because I have exhausted the wikis. Something is wrong with my site as of 3 day ago. Nothing changed on my end at that point. And now I can’t keep the site online because the spikes are so extreme.
    chalise: Honestly, there’s very little we’re able to do to help you troubleshoot your scripts, themselves.
    me: None of my scripts changed.
    me: And if the problem were a script, I can’t identify which one (or ones) are causing the problem.
    me: Seriously, I have spent days optimizing things. Nothing works, and I could seriously use some help. Is there anything you can do for me?
    chalise: I’ve gone through your support history and seriously, everything that has been suggested is exactly what I would suggest and all we can really offer as that is exactly what we check as well. If you’re running a script or many scripts on your PS, it is really important to know how to troubleshoot them, or to have a developer or contact with the developer who created them who can lend you some advice.
    chalise: I just had my supervisor take a look at the same things I was checking and the only thing he suggested was that if you really think it’s something on our end, to go ahead and submit a support ticket and request to move to a new host machine.
    chalise: However, if the problem is your sites and what you’re running on them, that’s not going to fix the problem.
    me: Okay, thanks.
    chalise: Sure thing.
    chalise: Good luck and have a good day!
    info: Chat session has been terminated by the site operator.

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-23
    Ends: 2010-09-23
    Duration: 20.8 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘john’
    john: Hello, what may I assist you with today?
    me: Hello. My sites are down again. Can you help me get it back online? I have rebooted my P.S. and it isn’t coming back online.
    me: The domain is adrian3.com
    john: Let me check that out for you one moment
    john: seems to be the apache server
    john: I am going to kill and restart that
    me: okay, thanks.
    john: That did it
    john: there were a bunch of these:
    dhapache 7043 0.0 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]

    dhapache 7044 0.0 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]

    dhapache 7045 0.0 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]

    dhapache 7046 0.0 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]

    dhapache 7047 0.0 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]

    dhapache 7048 0.3 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]

    dhapache 7049 0.0 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]

    dhapache 7052 0.3 0.0 0 0 ? Z 14:01 0:00 [apache2-ps26964]
    john: so I manually killed them off and it started up
    john: I also agree with your appreciation of Apple =)
    john: is there anything else I can help you with?
    me: Ha! Thanks.
    me: I have been watching my resources over the last 24 hours and I get massive spikes and falls.
    john: You might try sifting through access logs
    me: Is there any way to know if this is the same apache errors?
    me: Okay, I will.
    john: if you’ve noted when the spikes are you should be able to look at time stamps
    john: and see what’s being called right at that moment
    me: I have a 6mb error log, so something is going on.
    john: could be in there as well
    john: if not the access.logs should say what script/page is called
    john: if it comes to it I am able to install our process watcher for you as well
    me: I have been talking to you guys for the last few days but can’t isolate the problem.
    john: that runs on shared only usually
    john: and it kills runaway processes
    me: Oh really? That might help.
    john: it’s not a ‘fix’ but it might serve as a solution
    john: =)
    john: here’s my direct address: john@dreamhost.com
    me: I thought we had isolated it to my site fontburner.com. So I moved that to a different web host this morning.
    john: feel free to hit me up directly if you would like me to install it (we can always remove it later too)
    me: But things seem to be getting worse not better.
    john: maybe requests are still hitting the server?
    me: Thanks for the email.
    john: of course =)
    me: I will let you know if I end up needing that.
    me: Maybe, so.
    john: one moment
    me: I will let things settle down (hopefully) and see what’s left when the dust settles.
    john: let me ask one of our admins if he has any suggestions too
    john: our apache expect shows as available on jabber
    john: so hopefully I can grab his attention
    john: I am still seeing requests for that one site
    john: 0-1 16474 0/4/107 _ 0.00 3 399 0.0 0.00 0.37 64.234.84.101 www.fontburner.com GET /flash/asenine.swf HTTP/1.1
    john: but they probably just have slow DNS
    john: you just moved that today right?
    john: the only other active request I see is for your other site:
    3-1 16464 0/7/78 _ 0.00 0 385 0.0 0.00 24.84 95.108.246.253 www.beadesigngroup.com GET /blog/archives/2008/01/live-designblog-i-fail-to-design-a-c
    john: which did take a while to load
    john: the front page that is
    john: do you have your WordPress sites fully optimized?
    me: Yes, fontburner.com got moved today.
    me: Yes, I have been working to optimize my WP installs.
    john: one of my minions found this:
    http://www.prelovac.com/vladimir/wordpress-optimization-guide
    john: he swears it’s the best one he’s run across so that might come in handy
    me: Checking plugins, etc.
    john: caching is the big one
    john: that seems to cut down on overhead a ton
    me: You guys sent me that link yesterday. I have read it thoroughly.
    john: oh ok sorry just making sure all bases are covered
    john: if you like I can email you if he gets back to me, looks like he’s caught up on other projects as he hasn’t responded yet
    me: No, that’s good to know I wasn’t chasing a ghost!
    me: Okay.
    me: My email is designer@adrianhanft.com
    john: got it
    john: aah also this was just called
    john: 9-1 22501 2/29/76 C 0.12 1 124 15.6 0.14 0.24 75.71.108.198 www.adrian3.com GET /mint/?record&key=6734323451363732353851486e4879584b584b326
    me: Thanks for your help.
    john: I know mint can be troublesome
    john: I am not sure if it can be optimized
    me: Oh? Interesting.
    john: I am just looking at your apache status
    john: and reloading it to see what comes up
    me: At this point I could get rid of Mint if that were the problem.
    john: it might be something to test for a day
    john: I am not sure how frequent the outages are
    john: but if it’s daily that would be one to test
    me: Definitely. Outages seem to be a handful of times each day.
    john: I used to work on unstable shared hosting servers and I remember seeing Mint crash a few back in the day – it may be better coded now but it’s worth a look
    john: anyways I’ll get in touch if he responds and do let me know if you would like me to just pop the process watcher on there to keep it under control
    me: Do you think I can just rename my mint folder? Or do I need to strip out the javascript code from my themes that uses Mint?
    john: Sorry we don’t have a tool to just track the problem for you – it’s pretty tricky determining what’s causing spikes sometimes
    john: I think re-naming it would do it
    me: Cool. Thanks.
    john: that’s how I used to disable it previously
    john: Was there anything else I can help you with in the meantime?
    me: I have talked to probably 6 people at Dreamhost on this issue. You are the first to give me hope!
    me: Thanks. That is all for now.
    me: Is there any way to contact you directly in the future?
    john: john@dreamhost.com
    john: you may also ask for me on chat
    john: but I am not on all the time
    john: the other managers and myself rotate
    me: Thanks, so much.
    me: Bye.
    john: Cheers!
    info: Your chat transcript will be sent to designer@adrianhanft.com at the end of your chat.

    Customer Name:
    Webid: adrhan
    Begins: 2010-09-23
    Ends: 2010-09-23
    Duration: 43.0 minutes

    info: Please wait for a site operator to respond.
    info: You are now chatting with ‘Sam’
    Sam: Hello!
    me: Hi. I was talking to john@dreamhost.com and he told me I could request to have a process watcher turned on for my P.S.
    me: My domain is adrian3.com
    me: Is that something you can activate for me?
    Sam: Checking for ya!
    Sam: Yes we can, and I will for you
    Sam: Yall ready for this?
    Sam: and yes, feel free to imagine that I did actually play the song
    Sam: k might take some time
    Sam: your system is not responding
    Sam: so i will do the needful
    me: Thanks! Oh, and I appreciate the music reference. I am singing along with you.
    me: You probably already looked at my history, but you guys restarted apache for me a couple hours ago.
    Sam: haha awesome
    Sam: Yes, I do see, I have it stopped right now as I set things up
    me: This has been a heck of a week for my sites. I can’t keep them online. I am wondering if I need to switch to a different P.S. machine or something.
    Sam: Ok, procwatch is installed now
    Sam: configured and running, turning on your apache
    me: Cool. Do I access that from my control panel then?
    Sam: Its all automated and running in the background of your PS
    me: Things must be back online. My CPU usage just shot up to 500mb again. Dang!
    Sam: 219 used right now
    Sam: 230
    Sam: now 196, so its up and down a bit right now
    Sam: fontburner.com is really the only one being visited right now
    Sam: and there is no reason for you to be using so much memory, considering traffic alone
    me: That’s weird. I changed the dns for that domain early this morning.
    me: It is now hosted through 1and1.
    Sam: So, you must be running some processes, perhaps web scripts, that could be eating up memory
    me: Can I still be using scripts if the site is offline?
    Sam:
    ps26964:/home/ahanft3/logs/fontburner.com/http# awk ‘{print $7}’ access.log|cut -d? -f1|sort|uniq -c|sort -nk1|tail -n10

    1125 /flash/engebrechtre.swf

    1235 /flash/geosans_light.swf

    1417 /flash/candara_bold.swf

    2635 /css/fontburner.css

    2694 /css/fontburner_print.css

    2738 /flash/andron_scriptor_web.swf

    2798 /fontburner.js

    2829 /flash/cuprum.swf

    4055 /flash/delicious_smallcaps.swf

    25759 /flash/fontin_sans_bold.swf
    Sam: Yes you can, scripts will run on your server
    Sam: But without apache, no website to use
    me: That’s interesting.
    Sam: Top 10 files being visited on your page
    me: Those are the files that other sites were hotlinking to.
    me: So I blocked hotlinking with htaccess.
    me: And yet they are still getting pounded apparently.
    me: I don’t get it.
    Sam: http://wiki.dreamhost.com/Preventing_hotlinking
    me: If I were to rename my fontburner.com folder would that kill all the processes?
    Sam: You should consider raising your memory, and maybe removing the file will help lower your memory usage
    me: Well, I moved the site to 1and1 so once that goes away my memory levels should drop to normal.
    me: I hope.
    me: /fontburner.js is a file that I renamed this morning because I suspected it.
    me: What happens when a site hotlinks to a file that is no longer there? Does that cause an error?
    Sam: I recommend that you review the following article
    Sam: http://wiki.dreamhost.com/PS_Optimization
    Sam: It errors out, the server still has to respond and reply to their request
    Sam: So, albeit less things to do, the traffic could still be flowing in
    me: Maybe all my cpu usage is from the sites hotlinking to files that are no longer there.
    me: That kind of makes sense.
    me: Well, the dns should have all switched over to 1and1 servers. So it is still puzzling that Dreamhost would be handling anything for that domain.
    me: But, 1and1′s control panel is down. So I can’t get in there and confirm anything. That’s the way it has been going for me.
    me: I have the touch of death.
    Sam: Lol! Big words
    Sam: how long ago the switch?
    Sam: cached DNS servers can still be serving it to us
    Sam: and since your domain is hosted here, its going to handle the requests until those servers recognize 1 and 1 as the host
    me: It was over 8 hours ago.
    Sam: Servers around the world take 4 hours or longer to update their DNS
    Sam: They query the nameserver, us, to retrieve the update
    Sam: I cannot guarantee that all DNS servers around the globe will update at the exact time
    me: I will give it some time. Thanks for your help. And the tunes!
    Sam: ^_^
    Sam: take care
    info: Chat session has been terminated by the site operator.

    Chess Game Viewer WordPress Plugin

    Friday, March 5th, 2010

    Last week I quietly released my second chess plugin for WordPress and I wanted to make a quick post to tell you a little about it. You may remember I tested out a plugin a while back that allowed you to display chess games in your WordPress posts. While that plugin worked okay, I wasn’t impressed and was looking for a way to customize the chess board interface. Unfortunately there wasn’t a WordPress plugin like that available so I decided to make one myself.

    I found a great open source javascript called JSPgnViewer that give me a very functional PGN game viewer to build on. For those of you unfamiliar with “PGN,” that is the standard format (notation) that chess games get saved as. It is basically just text that shows the moves of a game. With the heavy lifting of creating a PGN viewer already finished, I was able to focus on building the customizable skins for the chess pieces and boards. Another feature that I am pretty happy with is the ability to add your games through a WordPress quicktag. All you have to do is click on this button in the HTML side of your WordPress editor and paste in your code. More information about the chess game viewer plugin is available here.

    I will wrap this up with a quick demonstration of the plugin in action. Here a few of the games I have enjoyed recently:

    In the game above I was down a two major pieces and preparing for a loss until the water parted and I ended with a nice combination.

    I almost took a draw in the game above at move 27, but then I saw a way to get my second knight involved to force checkmate. Move 30 puts my knight in harms way as a cocky way to finish the game. I am a jerk that way.

    Sometimes your opponent just doesn’t want to win and they let you checkmate them with just a single knight.

    Above is a terrible move at 27! Luckly, I still had a little life left. I love this ending.

    Suitable Replacements for a MacBook Pro

    Sunday, March 15th, 2009

    As I anxiously await the verdict of what it will take to repair my MacBook Pro I have been researching my options in case I have to replace my laptop with something new. I love Apple products, but I am open minded enough to at least explore the non-Apple alternatives out there.

    So I stopped by Best Buy today to see what is on the market for new laptops. I don’t think I could bring myself to use Windows, so I was looking with the plan of running Linux or maybe try to get Leopard to run on it.

    As I walked from laptop to laptop I have to admit I was really disappointed. Aside from cheap price tags, there wasn’t anything that appealed to me. The specs of almost all of them were well beyond what I probably need in terms of storage and processing speed. Computers are so fast and have so much storage that you don’t really have to count gigabytes or processor speed like you used to. So what does that leave a person who is shopping for a computer?

    Put simply, it is all about design. I want a computer that has been built with attention to detail. It doesn’t have to have Apple’s every-square-inch-has-thought-behind-it level of design, but it has to be a joy to use. It can’t have flaws that show that the people making the computer didn’t have me in mind when they built it.

    I was a graphic designer for five years in the RV industry. If you know anything about RVs you know that this is an industry with very little differentiation between brands. It is hard to tell a Winnebago RV from a Fleetwood. The things that pass for innovations in the RV industry are quickly cannibalized and copied by competitors. All the products are basically the same, all purchasing parts from the same vendors. That’s how I felt in the laptop aisle. It was really hard to tell one brand of laptop from another. The same design flaws existed in pretty much every PC. I am talking about attention to detail: seams everywhere, flimsy plastic, non-intuitive keyboards, clunky buttons, cheap materials, screen glare, awkward textures, etc.

    The thing that struck me as I evaluated the PC products was that I would rather have one of the generic PCs than the ones that tried to stand out from the crowd. The few computers that were a little different weren’t better. For example, the HP laptops now have a reflective metal keyboard and case. On the one hand, this sets it apart from the other laptops, but it doesn’t make it any better. The reflective surface is distracting and gets covered in dirty fingerprints almost instantly.

    Another brand emphasized big woofer-looking speakers. Again, the design was different, but not better. Another was covered in an interesting pattern that although it was somewhat elegant seemed random and lacked purpose. Some had mouse pads that were off center for seemingly no reason.

    The one computer that seemed the most promising was a Sony. It had a keyboard similar to the Mac. It also had some attention to detail that although it was meant to be Mac-like it wasn’t quite there. If I am going to buy an imitation Mac, it would have to be a great imitation.

    So if I am going to by a PC I am left with two uncomfortable options. I can buy a generic looking PC that doesn’t have any new glaring design flaws. This option leaves me with a laptop that lacks personality. Option two is to buy a unique machine with obvious flaws. Neither of these options is acceptable.

    So now I am back to looking at Apple’s product line where I know I can’t go wrong. The remaining question is: do I fix my old MacBook Pro or do I buy a new one. Hmmm.

    My MacBook Pro Crashed Today

    Wednesday, March 11th, 2009

    I suppose it was bound to happen some day. This morning I started up my 17 inch Macbook Pro and the startup chime sounded as usual. A few seconds later the chime sounded again. Then again. And again. And again. Uh oh. Not good. Nothing I tried worked. I couldn’t get it to respond to anything. I tried zapping the PRAM. Starting in safe mode. Booting from a cd. All I got was an endless loop of startup chimes. Finally, I gave in and took it in to be serviced.

    While I am still waiting for the official diagnosis, I am anticipating that the logic board went bad. That’s pretty much the worst thing that can happen to a laptop.

    The thing about losing my laptop is that I feel so lost and aimless without it. I feel bad for being so attached to a material possession, but it is really hard to be without it. Almost everything I am is connected to that machine. Photography, friends, family, work, writing, music, entertainment. Everything. When you are being fed by a machine and the umbilical cord gets cut your body goes into shock. This afternoon while driving home after dropping my laptop off with some stranger that won’t love it nearly as much as I do, I literally felt sick. My head hurt and I was nauseous. It turned out to be a migraine (something I have never experienced before) but I have to wonder if somehow it was related to my losing my computer. Could I be so dependent on that machine that even my physical health depends on it? I hope not.

    Luckily, I was able to get Betsy’s MacBook loaded to a satisfactory level so I can hopefully survive until I get my laptop back. My headache has subsided and I am once again getting regular digital sustenance. Sweet, sweet sustenance.

    I am blogging about design again

    Monday, March 9th, 2009

    I know what you are going to say. Another blog? Well, yes, I am adding my voice to the Red Rocket Blog. If you haven’t heard, I recently started working for Red Rocket Media Group up the road in Windsor. I love the place so far, and a blog is just one of the things they do to keep ahead of the curve.

    My first post went live yesterday and I am looking forward to talking about design again regularly. When I wrote for Be A Design Group and the audience of mainly designers it was a bit like “preaching to the choir” so the expanded audience should give me plenty of new material to explore. After all, if a designer can’t communicate with non-designers he isn’t much of a designer. That’s my opinion at least. I hope you add Red Rocket to your regular reading and jump into the conversation by leaving comments. See you over there!

    New Job Update

    Sunday, February 22nd, 2009

    Many of you know that last week was my first week at Red Rocket Media Group. As you can imagine, it was really hard to leave HuebnerPetersen after five years. I love the people there and the job has given me so much personally and professionally. I am very grateful for the friendships and knowledge I received there. I wouldn’t hesitate to recommend them to anyone looking for a branding agency. They do good work and go the extra mile for their clients. I expect nothing but good things for HP in the coming years as their future looks bright. My last day at HuebnerPetersen really made me feel lucky to be surrounded by such supportive friends.

    When you leave a job as comfortable as mine was you can’t be completely sure you are doing the right thing. It’s a leap of faith really. How do you know? Luckily after a week at Red Rocket I know I made the right decision. I have had a great time getting to know my new team and the work looks to be challenging and creatively rewarding. The change of scenery has me feeling more creative and fresh than I have in years. I love the challenge of new opportunities. Those are the times when you grow the most. Wish me luck as I embark on this next phase of my career and thanks to everyone who has been so supportive of me throughout this transition.

    Ten things to do on your last day of work

    Monday, February 16th, 2009

    Hopefully you aren’t in a situation where you have to clean out your desk because you lost your job, but if you are I want to give you a checklist of things that people often forget to do before they leave their computer workstation. I am started a new job this week (more on that in the coming days) and these are some of things I made sure to do before I left my old computer behind. It is important to make sure your computer is free of personal info and ready for whoever works on my computer in the future. I work on a Mac, so these might be a little different for a PC user.

    1. Clear out the history and cache from all your browsers. Don’t forget to remove bookmarks, too.

    2. Remove personal email accounts delete all personal email

    3. Deauthorize iTunes

    4. Remove instant message accounts

    5. Remove FTP shortcuts to personal sites

    6. Clean out Keychain access to make sure all your passwords are gone

    7. Backup all personal files and remove them from your computer

    8. Copy any work related files that you may want to use in your portfolio

    9. Organize files that people will be working on after you leave

    10. Copy your address book

    Did I forget anything?

    12 things that make a good mechanical pencil

    Sunday, February 1st, 2009

    I have always been a bit obsessive about my writing instruments. For one thing, I love calling them instruments. A good pen or pencil has more in common with a musical instrument than most people would realize. Good handwriting or skilled draftsmanship is an art. If you take writing or drawing seriously then you need a good tool to help do the job.

    The problem is that while I treasure my mechanical pencils like beautiful instruments most people are content to use ten cent ballpoint pens. When the average Bic user has misplaced their pen they automatically turn to the person closest to them and ask to borrow a pen. It seems the most of the world has an attitude that pens and pencils are part of the public domain. It is common courtesy to offer up your pen willingly regardless of how much you treasure your pencil or pen. I have always struggled with that social norm. I carry a high quality mechanical pencil with me almost everywhere I go so I am never forced to use an inferior writing machine.

    If you ask me for my pen you better not walk off with it. At my desk at work I have a pencil holder full of crappy pens and pencils that I don’t mind if people use or steal. Actually I have several in there that don’t work. I get a kick out of watching people take a pen out and walk away only to return moments later after they find out it is out of ink.

    Last week my wife commented on my pencil. I told her that I have had it since 5th grade. She seemed surprised. Somehow I have managed to keep my pencil fetish secret from her all these years. But the truth is that I have kept the pencil for so long because it is a great machine. I have come across very few pencils that stand up to my high expectations for a mechanical pencil. As I was thinking about this pencil that I cherish I started thinking about all the things that can be wrong with a pencil. Before I knew it I had a list of 12 things that can make or break a good pencil. So here’s the list of 12 things to consider when you are decide to upgrade your writing instrument…

    1. What size of lead does it take?
    The size of lead that you use comes down to personal preference and the mechanics of how you write. If you have a heavy hand you probably want a thicker lead like .7mm to avoid breakage. If you like a thinner line then go for something thinner. I have always been a fan of .5mm but there is lead even thinner than that. Also keep in mind that lead comes in different hardnesses. The local office store probably only carries HB, but with a little searching you should be able to find harder or softer leads.

    2. What does the click feel like?
    You want a nice click. This is a little hard to explain, but you will know when it is wrong. When you press the button you want it to resist and then spring down and back. Cheap pencils don’t have the click right. It’s too loose and springy. Did I mention I am obsessive?

    3. How far does the lead advance with a single click?
    This is critical if you want to avoid breaking your lead. If the lead comes out too far you have to press it back in manually with your finger. If it’s too short you have to click it three times to get the lead far enough out and you have the same problem. A good pencil will push the lead out to a perfect length with two clicks. This is so that when you are writing and need to advance the lead you only have to click it one more time to get a perfect length.

    4. Does it have solid construction?
    When you press does the lead to the paper is there any movement? When you shake it do you hear anything? A good pencil is solid and should feel well made.

    5. What is the lead sleeve like?
    The tiny metal tube at the end of the pencil that protects the lead is a critical part of the pencil. Drop the pencil wrong and the tip will get bent or jammed in. Either way your pencil is toast. Higher quality pencils will have a sliding sleeve at the end. When you aren’t writing you can advance the lead and push the lead and sleeve into the pencil where it is safely protected.

    6. What is the eraser like?
    I never understood why most mechanical pencils come with a tiny little eraser that is almost not worth using. Isn’t that why we are using a pencil instead of a pen – to easily erase mistakes? I like having a fat white eraser at the top of my pencil. It seems that the majority of mechanical pencils have a cap that covers the eraser. While this helps the aesthetics of the pencil it makes it inconvenient to make mistakes.

    7. Does it have a good clip?
    Plastic clips will eventually break. Metal clips that snap on are fine but they give the pencil a sense of cheapness and lack of design. I good clip will be a part of the pencil extending naturally off the pencil giving you a simple way to attach it to your notebook or pocket.

    8. What does it weigh?
    Again, this is a personal preference but it can affect how you write. I like the feel of steel over plastic, so I am willing to sacrifice light weight. The weight should be equally distributed or slightly bottom heavy.

    9. How does the grip feel?
    My preference is for a solid rubber grip and I am amazed how many rubber grips are loose. I can’t stand a grip that slips up the pencil or rotates easily. It’s like riding a bike with a flat tire. The pencil is unresponsive and less accurate. Another mistake is if the grip is too soft. If you need a pillow to grip onto so your fingers don’t get sore then you need to write more.

    10. How thick is it?
    There are some fat pencils out there that I can’t use. If it is too wide I feel like I can’t control the pencil. The same problem happens when the pencil is too thin. For me the perfect circumference is a little fatter than a normal wooden #2 pencil.

    11. How much lead can it hold?
    I like to fill my pencils with as much lead as they can hold. I never want to be caught without lead. What do you do in that situation? Ask to borrow someone’s ballpoint? No, I would rather stop everything and find some lead.

    12. Is it cool?
    The final thing I look for is whether or not it has something unique about it. Is it a unique color? Is the design clean and beautiful? Is it covered in ugly logos and text?


    So did my list persuade you to upgrade your writing instrument or just convince you that I am crazy? If you are looking for a great pencil check out jetpens.com. Happy writing!

    Switch to my mobile site