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

    Counterintuitive Coffee: The Alignment of Perceptions and Expectations and Your Brand

    Wednesday, December 8th, 2010

    As I made myself a cup of coffee this morning it struck me how loud the Keurig coffee maker is. It buzzes, rattles, and hisses louder than any coffee maker I have ever used. In my pre-coffee daze I told myself, “that machine really works hard to make me a perfect cup of coffee.” I wondered if the coffee maker was just really poorly designed. Basically, all this machine is doing is pushing hot water through a packet of coffee grounds. It could be as quiet as a Prius passing you on the highway. There is no need for the over-the-top spectacle every morning. As my cup slowly filled with liquid energy, I came to my senses…

    The more I thought about it, the more apparent it became that all the noises and vibrations had been deliberately added to the Keurig machine. The big production was just a way to compensate for the amazing simplicity of the machine. Think about it. Coffee shops have trained people to associate loud coffee making sounds with high quality coffee. The average person would be lost with all the knobs, spouts and gizmos of that expensive equipment. We are led to believe that making great coffee is a complicated art that we should leave to the pros. We bring these expectations to the Keurig coffee machine. When you first try the machine you are skeptical that you can stick a little packet in, push a button and end up with a good cup of joe. “It just can’t be that simple,” you tell yourself.

    If you were Keurig how would you overcome this obstacle? Answer: you create an illusion that really complex things are happening inside the machine. You make the machine as loud as you can and cycle through a symphony of “coffee house” sounds as your cup is brewing. When you start the Keurig up everyone in your office will know that it is working like champ to squeeze out a single cup of coffee – a not so subtle reminder to your co-workers that they should refill their own mugs.

    When I shared this observation with my friend Aaron Brown he told me that Harley Davidson employs a team of sound engineers to perfect the distinct “chopper sound” that you associate with their bikes. There is no doubt that Harley could produce engines that sound smooth and quiet – but that would be a big mistake. You expect a Harley to sound that way and you would be disappointed if it didn’t.

    This is a tough lesson in branding because it goes against our instincts. Logically, we try to hide our flaws and refine everything until it is a perfect polished product. We often dismiss (or are oblivious to) our customers biases and expectations. We tell ourselves that “once they see our product they will understand.”

    As you think about your company and your products I challenge you to look for counterintuitive ways to add value. Could raising your prices actually improve sales? Could limiting the features of your product improve its performance? Is a low-tech approach better suited to your message? Could taking a controversial position in your industry improve your company’s image? Could you actually be more efficient if you correspond by phone instead of email? If you slow down your turnaround time, would your customers perceive your product as higher quality?

    Hopefully this gives you some inspiration this morning. I don’t know about you but I am ready for another cup of coffee.

    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!

    Start Making the Wrong Decision Today – 3 Tips

    Monday, October 25th, 2010

    Disclaimer: Before I lose 90% of you when you realize that this post is chess related, I urge you to stick with me because I think there are some ideas here that you can actually benefit from even if you have never played a game of chess in your life!

    In preparation for an iTunes app that I am developing, I have been studying some of the greatest chess games ever played. I expected these games to pivot on a moment in the game when one player had a spark of insight that led to a crushing defeat. I suppose to a certain extent that is true, but the impression I am left with isn’t how “good” the player’s moves were but exactly the opposite. These players weren’t making extremely “good” moves, they were actually making amazingly “bad” moves – that are only later realized as being correct. This has got me thinking about how our minds work and what we might be able to do to train ourselves to identify the difference between “bad” moves and moves that just look bad but prove to be correct in the end.

    To me this is the fascinating thing about studying great chess players. While a computer can plow through massive amounts of data to find the answer, humans have a huge burden of experience tied to their analysis of game situations. In order to make a move that goes against everything you have ever been taught is a rare achievement that takes real courage. Brilliance occurs not by following the established formulas precisely but by knowing when it is appropriate to break the rules. The amazing only happens when canonical knowledge is abandoned in favor of a decision to do something that everyone else in the world would agree is “wrong.”

    A computer doesn’t have to worry about breaking from tradition. All it has to do is crunch numbers. Humans can’t possibly process as much data as a computer so we create shortcuts. We boil things down to rules that are easy to remember. We make lists of exceptions to our rules. We look for patterns that match scenarios that are familiar. We survive based heavily on the shortcuts we make. We memorize answers in school because it is easier than solving problems repeatedly. We paraphrase. We summarize. And so we become a population of know-it-alls even though our knowledge is based on generalities and abbreviated summaries. Like walking CliffsNotes we each carry a knowledge base that is very wide, but rarely very deep. We get the “big picture” concepts and let Wikipedia fill in the blanks if we ever need to support our claims. This works really wonderfully except for the times when…

    We make mistakes.
    Our shortcuts fail us. The stats and research that was once so reassuring ends up being flawed. We are so used to trusting our machines that we stop questioning conventional wisdom. Oops. But that’s just the exception – most of the time we get it right. Right? I am not so sure. While we rarely run into catastrophic mistakes, we also rarely encounter amazing victories. Our days are filled with predictable, mundane, uninspiring, unexciting routine. You know that tomorrow will be pretty much like yesterday. Millions of games of chess are played every day and almost all of them are just like our every day life. They follow the established ideas. Risk is avoided at all cost. At the end of the day there are winners and losers but nobody really cares enough to figure out which is which. And most people are comfortable in this scenario. After all, it seems better to be moderately successful than to be a complete failure.

    But maybe you don’t want to be mediocre. Maybe you aren’t satisfied with the status quo. Maybe you want to do something big and memorable. If you are serious about setting yourself apart you might want to seriously consider making more “wrong” decisions. It would be counterproductive to try to debate what exactly a “wrong” decision would look like, so let me just wrap this up by giving you three thoughts that may or may not prove to be helpful to you…

    Three Rules For Breaking the Rules:

    1. Deep Trumps Wide
    With wikipedia only a click away it is much easier to understand a little bit about everything than it is to be the world’s authority on a single subject. That is why there are so many “jack-of-all-trades” and so few true masters in any given field. Strive to be a master. Know even the tiniest detail inside and out. Know exactly what you know as well as what you don’t know. Don’t ever “fake” knowledge on a subject that you are fuzzy about. Dig deeper, work harder, and never stop learning about your area of expertise. If you can truly attain mastership of something then making the “wrong” decision is no longer a risk. While everyone else is blinded by their incomplete knowledge you will be able to see the solution they are dismissing.

    2. iPhone Defeats iClone
    It would seem that patterning your project after someone else’s success would be a foolproof way of avoiding failure. Contrary to poplular belief, Apple doesn’t have the market cornered on innovation. Anyone can create the next revolutionary product. And yet the biggest competition of the iPhone isn’t from competing ideas. The only competition is from phones that function and look remarkably similar to the iPhone. This happens in almost every market. As soon as one company innovates there is a competitor waiting to copy their success. Don’t be the copycat. Embrace concepts that don’t look like something your competitor would make. Champion ideas that don’t fit nicely in the marketplace as it exists today. Look at how different the phone market is compared to pre-iPhone. This might feel like a mistake since it puts you all alone and separate from your competition. You won’t be alone for long.

    3. Conviction or Death
    If you are going to boldly break the rules there is one thing that you can’t do without: conviction. If you aren’t willing to defend your idea to the death then you might as well not even try. Lack of conviction leads to compromise. Compromise results in watered-down versions of your vision. Mediocrity is sure to follow and you will be left with nothing. But if you have conviction, the hard decisions will come easily because you know what needs to be done. This is the only way to achieve the impossible.

    Since the difference between insanity and genius is measured by success, you should understand that fully embracing these ideas means that people will probably question your sanity. But what really do you have to lose? Go crazy.

    P.S. Oh, I didn’t want to leave you hanging without a great chess game for your enjoyment. Here is a classic Bobby Fischer victory:

    How to Spread Your iTunes Library Across Multiple Drives

    Sunday, September 26th, 2010

    Since one of the most viewed pages on this blog is a tutorial on how to remove orphoned files in your iTunes music library, I think it is safe to say that managing a large iTunes music collection is a relatively common problem. Amazingly, even though the size of our storage space is growing rapidly, it is still out paced by our ever increasing media libraries. When your drive gets full you have to scramble to make room. Most files can be moved to an external drive, but music files pose a bit of a problem because you want your music to be there on demand – without having to plug in an external drive. So for most of us, our music libraries grow and grow until there just isn’t room on our computers for anything else. Then what do you do?

    Luckily, there is a solution that can help ease the pain of a large iTunes library. It involves spreading your iTunes music across two drives. The music you listen to most gets saved on your computer or laptop. The music that you don’t need (but can’t get rid of) gets copied to an external drive. That actually sounds pretty easy, right? Surprisingly, iTunes doesn’t allow you to do this automatically, so there are a few hoops we have to jump through to get this to work. Allow me to walk you through the steps needed to get your iTunes library saved on multiple drives…

    (Before you get too far, this assumes you are on a Mac. The second part of the tutorial specifically uses an app called TuneSpan that is for Macs only. There may be a PC equivalent, but I am not aware of one. If you are on a PC and have a solution please help us out by leaving advice in the comments.)

    Part 1
    The first thing you want to do is make two playlists. One will contain all the music we want saved on our computer at all times. The other will contain everything else, and this will be all the music that gets saved to your external drive. Here are some tips when you create these playlists…

    You can manually add whatever music you want to your playlists, but I highly recommend using “smart playlists” to help automate this process. A smart playlist is a playlist that automatically updates itself based on the rules you assign to it. For example, you could have a smart playlist that contains all the songs by the Shins. Any new Shins tracks that get added to iTunes will automatically get added to the smart playlist. This isn’t a tutorial on smart playlists, however, so if you are a little fuzzy on how they work, do a quick Google search and brush up on how to use smart playlists. They are worth there weight in gold.

    So for our playlist that will contain the music we want saved locally on our machine we can create a set of rules that might look like this:
    • Include all music by The Shins
    • Include all music that I have rated with 5 Stars
    • Include all music that I sync with my iPhone or iPod
    • Include all videos and tv shows
    • Include all podcasts
    • include all music added in the last 30 days

    This is what it would look like in the smart playlist setup screen:

    SmartPlaylist.jpg
    Now, to create the playlist that contains everything else. This is where the smart playlist pays off because you can have a playlist that says:
    • Include every track that is not in the other playlist

    Simple, right? It would look something like this:

    SmartPlaylist2.jpg
    (One sidenote here is that you can create folders of playlists. In the example above, I am actually saying, “Make a playlist of everything not in the folder of playlsits. This makes it a little easier, because now you can have multiple playlists in a folder.)

    Part 2
    Now that we have our playlists ready we are ready to move the files to an external drive. You will need to do download and install an app called TuneSpan. This is the program that will move all our files around and keep iTunes updated about where to find our music. Once you have TuneSpan installed you can follow these steps to get it connected to your playlists. Since this next step involves potentially moving gigabytes of files from one drive to another you want to make sure you do it right. It would be a good idea to make sure you are all backed up, too.

    TuneSpan works by kind of tricking iTunes into thinking your files are in one place when they actually live somewhere else. Open Tunespan and look at the top of the window where there are tabs for Library and Playlists. Click on the Playlists tab. We need to do two things. First, we need to tell Tunespan which playlist to move to an external drive (This is called “spanning”), and second we need to tell it where the other drive is located where it will move the files to.

    Selecting the playlist is simple. Find the smart playlist we created earlier it in the list and then drag it to the empty window below where it says, “Drag Playslists or Tracks Below to Select for Spanning.”

    Assigning the drive to copy the music to is simple, too, although you might miss it if you don’t look carefully. At the bottom of the window there is a place that says, “Click here or drop folder to choose span location.” I recommend creating a folder on your external drive called “Tunespan Library” or something you can remember and then dragging it into Tunespan.

    Now you are ready to “Span” your music. The nice thing about Tunespan is that it is pretty well documented and it explains what it is doing as you go. So don’t be too nervous about hitting the “Span” button to start the process of moving your music files. This will take a while depending on how much music you have. As each file is “spanned” it will be removed from your local computer. So you will immediately see space freed up on your drive as the music gets spanned.

    For me, this really helped me free up space on my laptop. I had about 50gb of music that I was able to move. If you have any other tips or if I need to clarify these instructions, please leave a comment!

    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.

    Inside the Mind of an Apple Hater: 5 Kinds of People You Should Understand

    Sunday, August 8th, 2010

    Forget religion and politics. I would venture that the Mac/PC debate has ended as many relationships as any other taboo topic. For most people with an opinion on the subject it is utterly incomprehensible that anyone could come to a conclusion opposite to what they believe. I happen to be an Apple fanboy and understanding the Apple hater is something I have been trying to do for years. I am finally starting to understand how people end up on the other side of the debate. Of all the Apple haters I have known and observed, I believe they fall into five basic categories. This isn’t a post to make those people look stupid, it is the opposite. The majority of Apple hating people are actually rational, competent, talented individuals. Allow me to outline these 5 types of people and you might start to understand how people end up passionately disliking the best products on the market. Put yourself in their shoes and you might get a little less defensive the next time someone insults your MacBook.

    Apple Hater Profile 1: The Tech-Savvy Power User
    Let’s close our eyes and pretend we are a super geek. Imagine if you have spent your life learning the intricacies of computers. This type of person shuns the mouse in favor of the command line. They prefer to browse the web with a text editor because reading raw HTML allows them to understand what the author really means without the distraction of images. Think of these people as living inside the Matrix. They see 1′s and 0′s where the rest of us are limited by seeing the world in hi-def. This person’s identity is connected directly to knowing more about computers than anyone else. They secretly enjoy the struggles that most people have with computers because it gives them the opportunity to show their expertise. What happens when the mortals stop asking for computer help?

    Now, imagine you have all this knowledge and someone tells you that you don’t need it any more. A Mac is a computer that makes all your knowledge, the skills that have defined you your entire life, seem useless. You would take that as an incredible slap in the face. Applications that install with a single click? Rubbish. Programs that are customizable without reading the owner’s manual? What fun is that? Now you are starting to see why an Apple product is so scary to the super nerd. It is not only a threat to the core of their identity, it also takes the fun out of computers. “Easy to use” is not a benefit to this type of user.

    So what do you do if one of these hardcore geeks tries to engage you in a debate of Apple’s merits? Here are some tips. First, don’t start insulting the PC or Windows. That’s the first reaction, but won’t work with the geek because you can rest assured he knows volumes more about the PC than you. Any insult you throw at the PC will be rebutted with a response that you can’t fight because you won’t be able to comprehend it. So a more effective response is to say, “I sure do love my Mac, but I can appreciate someone who is an expert on PC’s like you. Frankly, I am just not smart enough to use them as effectively as someone like you.” The point of a response like that is it gets the geek talking about themselves. This is really why they brought up the subject in the first place. Remember, this kind of person’s identity is connected to their PC knowledge so if you acknowledge this they will probably be less hateful towards you.

    Apple Hater Profile 2: The Heavily Invested Professional
    Our second character has less expertise than the super geek. This is a person who has a substantial investment in the PC. This investment might be money. Perhaps he has spent thousands of dollars on PC’s and upgrades. Maybe the investment is time. Perhaps he has spent hours on the phone with Microsoft’s support team. Or maybe they have gone to training classes. Or maybe they just spend their evenings removing viruses. Maybe the investment is patience. If you have spend hundreds of hours in PC maintenance you have made an investment. It is hard to come to terms with the fact that this time was wasted. In order for you to recover this loss you need to put that investment to good use. Now that you know how to remove a trojan virus from the deepest hidden corners of your computer you need to put that knowledge to good use. If nothing else, if it ever happens again you will be prepared.

    When someone has a great deal of time and money invested in something they will be much more likely to defend their PC decision. So if you were to switch to a Mac, what happens to the hours you have spent customizing your machine? What about all the knowledge you have obtained? That investment is gone and you can see why this kind of person would be resistant to Apple.

    So what do you do if one of these hardcore geeks tries to engage you in a debate of Apple’s merits? Here are some tips. First, don’t brag about how easy to use your Mac is. This will only remind your opponent about how much time he has wasted. Instead, say something like this, “You’re right, my Mac isn’t perfect. Don’t you wish there was a computer that didn’t require maintenance? If only there was a way to reclaim all the hours we spent on technical support phone calls.” The point is to switch the debate to a subject that you can agree on. Remember, this person’s hatred for Apple is connected to the fear of losing their investment. If you can identify with this person’s pain of time/money lost on computers you might be able to defuse the pending conflict.

    Apple Hater Profile 3: A Person Who Struggles with Technology
    The third type of person is the least savvy user in the list. They struggle with technology in general and don’t have much patience with computers. If you want to get an Apple hater worked up just tell them how easy it is to use a Mac. While there are things about a Mac that truly are easy, much of using a Mac is just as confusing as a PC. This is an extremely complex machine after all, and without a basic level of understanding about what that machine is doing you are going to get confused. You can only remove so many buttons and eliminate so many options. At some point you just have to know certain things. What is an application? What’s the difference between a folder and a file? What happens when you save something? What is going to happen when you click on that?

    If you are the kind of person who struggles with technology a Mac can actually be more confusing and harder to use. This is especially true if you are switching from a PC to a Mac. What happens when the things that you barely understood to begin with change or disappear. Put yourself in those shoes and you can see how an Apple hater is born in this situation. “You said it was going to be easy! It took me three days just to figure out that I didn’t have to run an installer!” Rather than baptizing this person into the Apple cult you have instead created a PC user for life.

    So what do you do if one of these techno challenged people tries to engage you in a debate of Apple’s merits? Here are some tips. First, don’t talk about how easy to use a Mac is. Instead say something like, “Isn’t it frustrating when something you just learned gets changed? I hate that. I guess that’s the problem with technology. It is always changing and it is hard to keep up with it all.” By switching the conversation onto something that addresses the person’s core fear (having to learn yet another technology) you shift the debate away from Mac vs. PC and onto the less volatile subject of technology in general.

    Apple Hater Profile 4: The Budget Conscious Bargain Hunter
    Not everyone can afford a PC. Even though the price of an Apple is cheaper than any comparable PC on the market, they are not cheap. Imagine if you can’t afford an Apple. Even if you are open to the idea of a Mac, it is hard to justify. It seems ridiculous. Thanks to the high resale value of a Mac, even the used models on Ebay go for more than the computers on sale at Best Buy. There are no sales for Apple products. If you are looking for a bargain on a Mac, they don’t seem to exist. If you are the type of person that loves a bargain, thrives on sales, or just needs to save money you will never ever be rewarded by an Apple product. Hence, many Apple haters are born based on price alone.

    So what do you do if a bargain hunter tries to engage you in a debate of Apple’s merits? Here are some tips. First, don’t tell them that Mac’s are comparable in price to PC’s, that is just pouring gasoline on the flames. Instead, say something like this, “I am lucky I was able to buy a Mac. They sure are expensive and I wish they could drop the price so more people could afford them.” Since this person isn’t fundamentally opposed to owning a Mac, you might be able to turn this person into a Mac fan. By acknowledging the high price up front you can prove that you have the same concerns as this person. From there you can answer questions about why you own a Mac despite the cost.

    Apple Hater Profile 5: The Non-conformist or Trend Averse
    There is a perception that Mac users are just trying to be trendy. This is the type of person that hates fanboys of any kind dismissing devotion to a single brand as a serious character flaw. They typically don’t trust corporations. They might be the kind of person that believes huge companies like Wal-Mart, Apple, Microsoft, and McDonalds are seriously damaging to the world. If the person is tech savvy they will be deeply devoted to open source software and might be running Linux rather than Windows. They might be a hacker type that builds their computers from scratch. If they aren’t tech savvy then they probably are more opposed to the idea of the Apple brand than they are to any technical objections. They hate the Apple ads vehemently. They might own an iPod out of necessity, but you can rest assured that you wouldn’t recognize a single band in their playlists.

    This might be the hardest Apple hater to debate. If someone hates you just because of the logo on your laptop, what do you do? If you know enough about Linux or open-source software to bring up that subject, you might start there. The only thing that this person enjoys more than ripping on Apple is bragging about what they use. They would love to convert you to their cause, so if you can show interest in what they are in to, you might be able to deflect the Apple hatred. The same could work with music. Rather than saying, “How can you hate Apple and still carry around an iPod,” you could show interest in their music and get them talking about what obscure band they discovered before anyone else.


    Hopefully this look at the characteristics of the average Apple hater will help you avoid conflict in the future and might even save some relationships. As incomprehensible it may seem for someone to hate Apple products, these people are acting in a predictable an rational manner. Learn to identify what actually makes these people tick and you open a door that would otherwise be slammed in your face. As always, this is easier said than done, but I think it is worth the effort.

    Stop Thinking of Yourself as a Problem Solver

    Wednesday, June 16th, 2010

    I have been thinking about the term “problem solver” today. Problem solving seems like such a desirable trait, but is it really all it’s cracked up to be? Isn’t that just the entry level skill that everyone must posses just to be considered qualified to do the most basic of tasks? While the education system is (arguably) failing to deliver graduates with even this most basic skill, I wonder if we should be expecting something more from people. We can set the bar much higher. So what is better than a problem solver? How about the ability to identify problems before they need to be solved? Let’s call that skill “problem identification.” Here are some thoughts about the difference between a problem solver and a problem identifier:

    1. A problem solver is reacting to mistakes that have already been made. A problem identifier can see potential mistakes and eliminate them before they become a problem.

    2. A problem solver looks good only when things go wrong. A problem identifier’s work may go unnoticed because their work isn’t accompanied by calamity.

    3. A problem solver is threatened by creative, untested ideas because they can’t apply their pre-determined formulas to fix problems they haven’t fixed before. A problem identifier can confidently embrace bold ideas without fear because they can address problems on the fly.

    4. Problem solvers are by definition looking for opportunities to do damage control because this is their opportunity to shine. Problem identifiers hate damage control because they see it as the result of poor planning.

    5. Problem solvers see job security in things that routinely fail. Problem identifiers will never make the same mistake twice.

    6. Problem solvers can identify blame quickly (as long as it isn’t their fault). Problem identifiers can identify mistakes just as quickly, but use these moments as teaching opportunities for the team.

    7. Problem solvers love the postmortem because they are good at pointing fingers in hindsight. Problem identifiers have sought out feedback throughout the process and rarely learn much after the fact.

    8. Problem solvers prefer problems that they know the solution for. Problem identifiers love new problems because they lead to new insight.

    9. Problem solvers don’t see the status quo as a problem that needs to be solved. Problem identifiers resist the status quo because it is the equivalent of stagnation.

    10 Problem solvers need conflict and failure to maintain their comfortable existence. Problem identifiers need new challenges and become uncomfortable when things become routine.

    11. Problem solvers don’t speak up until the problem is obvious. Problem identifiers have deep insight into a project and can articulate the implications of subtle adjustments within the plan.

    So the next time someone asks you whether or not you have good problem solving skills tell them no. They will undoubtedly be surprised by your answer and ask you why. You can answer confidently that you specialize in something far more rare than problem solving. You are a problem identifier.

    Goodbye MediaTemple. Hello Dreamhost.

    Sunday, June 6th, 2010

    A few weeks ago my relationship with MediaTemple came to an end. I used to be a huge fan of MediaTemple. Huge. They were innovators. They appreciated and supported great design. Their customer service was great. I was more than happy paying a little more for their product because in my opinion it was much better than any other options available. Loved them. And then things turned bad. I wouldn’t go as far as to say that MediaTemple sucks, but I am happy to not have my sites hosted with them.

    Here’s the short story:
    My site got hacked. I started getting charged way too much for bandwidth overages. Customer service was bad and failed to find a solution for me. I signed up with Dreamhost and have been more than satisfied so far. It gets technical after this, but you can keep reading for the full story…

    Long Story:

    1. Media Temple Exploit #1026
    First off, I was on a gridserver (GS), so I can’t vouch for any of their other hosting packages, so keep that in mind as you evaluate MediaTemple. Their other services might be better. This is what happened to me…

    Last November my site was the victim of a major MediaTemple hack. A large number of WordPress powered sites were affected by the exploit which added code to .htaccess files as well as index files. Bad news. While nothing was permanently damaged and no data was lost, the fact that so many MediaTemple accounts could be compromised so easily really makes you question the security of their whole operation.

    The other thing that was strange about the MediaTemple hack was how they handled their PR throughout the ordeal. MediaTemple has a “system status” section on their site so that anyone (customer or not) can see what issues they are working on at any given moment. This is brilliant. It says to people, “No, we aren’t perfect, but as you can see we fix things as soon as we can.” It builds trust and makes you wonder what is really happening at hosting companies that aren’t so transparent. But when the MediaTemple hack happened, the response was slow. The argument could be made that this was for security reasons. Maybe. But it really seemed like they were covering something up. I got emails informing me that they would be changing my passwords, but it took a long time to get things under control and you can see that issue #1026 has several long posts on their site outlining the whole thing.

    But accidents happen, and I wasn’t going to let one incident kill a relationship that had up to this point been so stellar. So I stuck with them.

    2. Slow Sites
    My sites started getting sluggish and unresponsive in March. Font Burner was practically unusable taking a minute to load the homepage at times and sometimes being down completely. Then at times it would work just fine. I haven’t gotten any explanation for this, and never found anything wrong with my files that would cause such sluggishness. This may seem like an unmeasurable thing, so let me reassure you that this isn’t just a passing observation. I use tools like yslow and caching tools to make sure my sites are as fast as possible. I have worked on sites hosted through most of the major hosting companies, so I know the difference between a poorly optimized site and a slow server like GoDaddy (AKA slowdaddy). For whatever reason, MediaTemple was regularly slow. This is something that isn’t supposed to happen on a gridserver. That is the main benefit of being on the grid compared to other shared hosting options.

    3. GPU Overages
    It was about this same time that I started receiving my first notices of GPU overages from MediaTemple. At first it wan’t very expensive, but each month it slowly increased. Granted, my Font Burner website is a bandwidth hog that was built to support hotlinking to the fonts I host there. As more and more people use Font Burner, my bandwidth will obviously increase. I accept that. But as I researched GPU usage and optimized my site, I learned some interesting things about MediaTemple. Let me explain…

    The GPU itself is a unique measurement invented by MediaTemple. Here’s a link to their GPU FAQ’s. Basically, this is a measurement of the amount of their server’s processor your site is using. Since the gridserver distributes the load of your website across a grid of machines, they chose processor usage as a way to identify the heavy users. That’s fair. If you are using more than your share of the grid, you should pay more. But the thing that is deceptive about MediaTemple’s marketing that this is strangely absent. You don’t see it mentioned in their description of the product. All you see is “100gb of storage, 1TB network traffic, 100 domains, etc.” The catch is that you will hit their GPU limits way before you ever get anywhere close to using that much storage, traffic, or total websites. So the $20/month cost is very misleading.

    4. Expensive Excessive Charges
    At $0.10 per GPU it doesn’t sound that expensive if you are going over your GPU limits. Trust me, it adds up. If you are 3 GPU’s per hour over your limit it will cost you $50 per week. That is what you would pay for their Dedicated Virtual server for the whole month.

    So I prepared myself for the ever increasing GPU usage that I would be using by optimizing my sites. Again, I learned some interesting things about MediaTemple. The main cause of GPU usage comes from your error pages, specifically the 404 pages. These pages are hogs because they redirect you to an error page any time a url is typed wrong, of from clicks on links to pages on your site that don’t exist. The first thing MediaTemple recommends is to fix broken links or create files at the location where you get the most errors. Here is a link to their GPU tutorial.

    So I went about fixing my broken links and creating files in places where I was getting excessive error pages. I had a uniques situation here because of how Font Burner is setup. If you are one of the 12,000 people who have downloaded the Font Burner WordPress plugin you had to manually enter the name of the font you want to use into a box in your WordPress admin. If you make a mistake (capitalizing the name for example) this will create a link on every page of your site to a file that doesn’t exist on my site. It’s inevitable, and there isn’t much I can do about it. It happened on a dozen fonts or so, so I simply created fonts at those locations and with those names. Problem solved. Actually, no. Not at all. Read on.

    5. Disappointing Customer Service
    I fixed many links and dramatically corrected the errors found in the GPU tool that MediaTemple provides. This had almost no impact on my total GPU usage. I was very surprised by this, so I called them. Up until this call I have only talked to competent helpful people at WordPress. This call was different. The guy reassured me that if I had fixed the 404 errors, I should be seeing a drop in GPU usage. I took his word for it and gave it some time to see if thing leveled off. They didn’t. So I called again and got the same answer. This person even told me that he saw a dip in my usage. It wasn’t until I got off the phone that I realized that he was looking at the current days usage. For the current day, their stats are about 12 hours behind. Since his reading was only a few hours into the new day, he thought I was below my limit. In fact I was almost at the limit just from the time in the middle of the night when my traffic is the lowest. Terrible analysis.

    I commented on the support ticket. Silence. For days.

    I tweeted about it and started asking people for an alternative to MediaTemple that they recommended. I was surprised to get a response from an MT worker through Twitter. They promised to look into it if I DM them my account number. So I did. Silence.

    So I began the process of moving web hosts. I was looking at GatorHost, Bluehost, and Dreamhost. I decided on DreamHost because I liked how they let you move to a VPS if I needed to upgrade. I chatted with their support team on their site and was satisfied with their answers. I liked their control panel (almost as nicely designed as MT). The price was less than MT and they got lots of good praise from bloggers. Their customers are as loyal and vocal as the MediaTemple people. I found some negative reviews, too, and carefully measured the pros and cons.

    I began moving my websites over and recreating databases. I was transferring files and setting things up pretty steadily for a few days. It isn’t an easy task, and not something I would have done if I could have stayed with MediaTemple. I had everything transferred over when I finally got a response on my open support ticket from MT. They said they would pass my issue over to someone else who could advise me about upgrading or something.

    After my DNS switched over, I closed my account with MT once I was sure I had everything I needed from them backed up. I got a phone call from someone at MT while I was at work. I asked them to please call back because I really wanted to talk to them. The gal said, “sure,” but the phone call never came.

    Happy With DreamHost
    So now, I am done with MediaTemple and so far every thing is going will with DreamHost. One of the bonuses of DreamHost is that they make it really easy to host Google products like gmail, google calendar, etc. on your own domain. Loving that. I haven’t had to upgrade to a VPS yet, surprisingly. The speed of my site has been satisfactory, and I haven’t noticed any sluggishness. I hesitate to give them my full endorsement having only used them for about a month, but so far I am impressed. Perhaps, I was just a bad match for MediaTemple because of my unique Font Burner needs. If you are thinking about switching hosting companies, you can save $50 from Dreamhost if you use the promo code “adrian3″ when you sign up for a year. I will check in on this post again after I have been a DreamHost customer longer. Hope this was helpful to you!

    In Defense of the Leaked iPhone 4g Design

    Saturday, June 5th, 2010

    Photos of the alleged next generation iPhone leaked recently and unlike the vast majority of people who don’t like the change, my first response is nothing but positive. Now, I proudly where my Apple fanboy status on my sleeve, so you have to trust me when I say that I think this new design is an improvement. If you permit me to geek out about the subtleties of design for a few minutes, I will explain one by one why the biggest criticisms of the new design are actually strengths.

    Complaint 1: “What happened to the rounded corners?
    I can appreciate a gratuitous rounded edge as much as the next designer, but let’s break this down. What happens when you eliminate all edges from a cube? Answer: you blur the boundaries between the edges. In other words, you start to lose the sides. The old design really just has a front side. The sides, top, bottom, and back are all a perfectly rounded curve. That would be fine if this object could exist completely without buttons, speakers, ports, or a headphone jack. These are all areas where flat objects are coming into contact with a rounded surface. This causes design flaws. For example…

    Plug your headphones into your iPhone and run your finger across the area where the two meet. Your finger (and jeans, or shirt, or anything else that comes in contact with this point) will catch on the edge. Functionally, this is dangerous because it increases the likelihood that your headphones will get disconnected. Visually, it creates a hole that exposes the underside of the headphone cord.

    The same can be said about the buttons. Have you felt the vibrate on/off switch? Feel it. Right now. It’s pretty rough. The same with the main power button on the top. Being placed on the highest point of the rounded edge only accentuates this because it puts itself out there just begging to get bumped or catch on something.

    Connect your ipod to the usb cord. Just look at it. Does that connection look well designed to you? No, it looks clunky and awkward. Very unApple when you think about it.

    Flat sides on the new design addresses these issues. Now things can connect to it snugly and firmly. It doesn’t have to apologize for having a top and bottom, they are right where they should be. It doesn’t have to apologize for having buttons now, either. Having curves for the sake of being round isn’t enough to make something well-designed. Things need to have purpose, and now they do.

    Complaint 2: “Why two buttons for volume up/down? I thought Apple was anti-buttons.”
    I would be surprised if anyone really loves the current unibutton. If you do, please explain it to me. Currently you have an awkward large button thing that to my touch doesn’t feel that great. Apple has alway been great about getting buttons to feel really great. They have the right amount of resistance, and the feedback is pleasing. I can’t say I get that from the current button. Obviously, I don’t know what the new buttons will feel like, but they look right. They are small, slightly raised, and I bet they feel more like a button than the current version.

    Not sure about the vibrate on/off button. This seems like it should be a switch, not a button. The jpg looks like a button, so I am not sure how that will work. More than anything else, this is what makes me think that this might be a prototype that could change dramatically before it hits the shelves.

    Complaint 3: “I see a seem, I see a seem!”
    The reason I embrace this is because I have a major complaint about the iPhone that is purely functional. I would like to know that if I needed to, I could open it up and replace the battery. I have no idea how I would crack my iPhone open without damaging it. Seeing a seem makes me think that maybe this thing could open up without damage or special tools. I kind of doubt that Apple will make it that easy, though. Wouldn’t it be great if you could upgrade your memory, swap out the battery, and replace the SIM card easily with just a small screwdriver? I would gladly accept a small seem in exchange for that functionality.

    Complaint 4: “The back is plastic!”
    If you look side by side, the new iPhone actually has more metal showing. The current phone has a thin aluminum rim on the front that looks more like decoration than serving any practical use. Now that the steel is firmly on the sides it has purpose. It looks like this thing is reinforced. It says that despite having a plastic back, it is solid steel all the way through. The seem actually reinforces that feeling. It makes it look solid and substantial. Would I rather it had a solid aluminum back? Well, yeah, but that isn’t a fair criticism when the existing iPhone has more plastic than this one.

    So count me as one of the few who really hopes this version makes it into the hands of consumers. It will be interesting to see how this plays out…

    The Next Generation of Creators

    Saturday, June 5th, 2010

    This is a post from the ongoing blog-to-blog conversation between myself and my friend Jason Simanek. If you need to catch up, here are our previous posts:

    1. In Search of a Truly Creative Occupation
    2. Fine Art in Museums: Tigers in Zoos
    3. Invisible Artwork: If we ignore it maybe it will go away
    4. Art is Communication, Getting Yelled At by Art Is as Much Fun as Getting Yelled At by People

    “It is a certain kind of educated, intelligent and intellectually hungry person that seeks out and enjoys encountering things and people that challenge their own culture. To have any hope that the general public would embrace this practice is foolish.” – Jason Simanek

    I am debating whether the population of people who embrace “a challenge to their own culture” is growing or shrinking in response to the internet age where everyone is networked together. On the one hand, people are connecting with people far different from themselves that they never would have encountered in the past. But people are also digging deeper into communities of like minded people. Is it better to be loosely connected to a physical community centered around ancestry and tradition or is it better to be tightly connected to an online community that passionately supports your obscure interests? There are pros and cons to both I suppose and a healthy person would benefit from both.

    In general, I have more hope in the public than I think I have ever had in my life. One of the exciting things about the age of the internet is that the population of “intellectually hungry” people that you describe is exploding. While the walls of our homes may not reflect it, the population of artists has exploded thanks to the internet and technology.

    Most people can afford a computer that makes it relatively easy to create something. Sure, the first thing they create with these machines is a video/photo/blog about their cat, but nevertheless, this has huge implications. It has changed the general public from a passive participant in our culture into an active member who is adding to and shaping the world. Now, rather than copying the rich “culture makers” sense of art, each person can define the meaning of their culture individually. And is it any wonder that the walls of most people’s homes isn’t where they choose to display their work? Now you can share your creations online with people who might actually appreciate what you are doing. The walls of the home seem pretty limiting by comparison.

    So now we are shifting into a creative culture that encourages participation. We are all asking ourselves these questions: “Now that I have these tools, what should I create? Who can I share my creations with? Now that I have found a community of people who share my passions, what can I contribute? How can I improve the work that I am creating? How can I help others improve their skills?” In addition, people are forming opinions about things that they never would have thought about before.

    “Only recently has the general public had the free time and money to attempt to emulate the rich by thoughtfully decorating their homes with the mass-produced copies of images that have already been defined as ‘good art’ by rich people in the past. Its as though they have a nostalgia for someone else’s past. They’ve replaced what was most likely their own relatively simple but rich folk art tradition with thoughtless, mass produced imagery.”

    There is an article in Wired this month called “The Great Cognitive Surplus” that talks about how differently people are spending there time compared to a decade ago. Clay Shirky makes a great statement that, “When someone buys a TV, the number of consumers goes up by one, but the number of producers stays the same. When someone buys a computer or mobile phone, the number of consumers and producers both increase by one.” I think that the general public is shifting from a population that spends their free time into a population that uses their free time. (On a side note, the other voice in that Wired article is Daniel Pink who has a great video on YouTube talking about “the surprising truth about what motivates us.

    Five years ago it was almost impossible to connect with people who would stop and notice my work. The best I could do was offend a few people in the middle of a small town in the middle of Nebraska. Today I can share pinhole photos with hundreds of like-minded enthusiasts who appreciate what I do without giving me strange looks. These people are invested in the same kind of work and willing to contribute to my improvement.

    Admittedly, I am blurring the lines between traditional artists (Warhol, Pollock, etc.) and people who just like to create things – whether that is open source software, Widipedia entries, blogs, or whatever. The internet isn’t going to transform everyone into artists and there are plenty of downsides to what the internet has contributed to society. But overall, I think it is an exciting time to be alive.

    Switch to my mobile site