PSTAM.com: Behind the Scenes

Over 300 people have suggested via Skribit that I chime in on what's involved with maintaining, writing and developing for this blog. With this post I aim to cover every aspect of how I work and keep PaulStamatiou.com rolling. Some things might be common sense while others might make you wonder. Enjoy.

Workspace

As part of my 2008 new year's resolution, I plan on maintaining a clutter free workspace. When I got back to Atlanta for the new semester I threw out things I didn't need, sent home several boxes of clothes I didn't wear, gear I didn't use and stuff I just didn't need at this point. You can see what I'm left with in this quick video below. If you're reading this in an RSS reader, you might want to click through if the video doesn't show up here.

Some of you might be asking what happened to my 30-inch Dell display. It's still boxed up in my closet from finals week when I put it away to reclaim my desk. I'm actually in the process of selling it. After reassessing my needs, I think it's just too big for what I do (however, it was great for watching movies from my bed). I have been doing well on just my MacBook Pro's screen with Spaces in Leopard. At most I'll sprout for a 24-inch Dell that has multimedia inputs so it can serve multiple purposes (Vudu, Blu-ray player, et cetera) as the older 30-inch only has a single DVI input.

Personal Technology

As I've mentioned many times here and there, my main and only computer is a 2.2GHz Core 2 Duo 15-inch (glossy) MacBook Pro with 4GB of OCZ DDR2 and OS X Leopard. I've ditched my Logitech MX Revolution mouse for my older Logitech G5 mouse. The MX Revolution battery life was slowly getting worse and the charger was just thing to add clutter.

I have two chargers for the MacBook Pro - one stays wired up in my desk and the other is wrapped up and ready to go with me should I find the need to head out with the MacBook Pro. For long flights to California and road trips I also have another battery. On trips, I always bring a Nikon D80 digital camera with a 4GB SDHC card and if necessary a Panasonic HDC-SD5 camcorder with an 8GB SDHC card. Unfortunately, the SD5 is now out of date.. blasted CES salting my game.

While I can live with the resolution on the MacBook Pro, I can't make due with the internal speakers for too long. Whenever I'm back in my room I always plug in my Logitech Z-2200 2.1 speakers (discontinued). I've had them for 5 years and they have been working well ever since and were very affordable. The same goes for my trusty HP LaserJet 1012 (discontinued). It prints fast, doesn't take up too much space and was cheap. I recommended its replacement in my realistic back to school guide for college students.

I have an old external FireWire Maxtor OneTouch 300GB drive for storing media only, with most of this being purchased TV episodes and movies from the iTunes Store that I no longer need taking up space on my MacBook Pro. There might be a hundred gigs of Top Gear and Fifth Gear episodes on there too. I only access my external drive maybe once every 3 months so things on there are not really vital.

The Online Life

Everything else not on my external drive is in an Internet cloud. I don't keep much, except for things I am currently working on, on my local machine. All of the pictures I take are immediately uploaded to my Flickr account and then deleted from my computer. To date I have around 9,300 photos on Flickr.

I have roughly 24.4GB of personal documents, server backups, iTunes music and more on my Amazon S3 account. Of course, an Amazon S3 account is only as secure as the password on the Amazon account tied to the AWS account, so my Amazon password changes very often.

Amazon S3 via Transmit - PaulStamatiou.com
This particular S3 bucket on the right is where I store my miscellaneous school-related work.

I interact with Amazon S3 exclusively with Panic's Transmit app. As you might imagine, the problem with storing files online is that it will take some time to upload. Most documents I have on S3 are small and several megabytes at most, with the larger 100MB+ zip and media files I have on there being uploaded from campus with a much faster Internet connection. Music is backed up to S3 with the help of Bandwagon, although people with large media collections will probably be better off just backing up to an external disk occasionally.

I keep the same online mentality with my email. I have Google Apps Premier edition for my email account and write emails with the web interface only. I've tried using Mail and Thunderbird, but I'm just too used to the web interface. One of the things people might have an issue with Google Apps is remembering the longer URL to check email: https://mail.google.com/a/[DOMAIN]. You can get around this by setting up a CNAME record for your domain - for example, mine is http://m.pstam.com. The only problem with that is it just redirects to the longer URL which takes some time and it goes back to using HTTP and not HTTPS. Regardless, it's not too big of a deal.

Google Apps - PaulStamatiou.com
I spent a few days replying to email to clear out my inbox for the new year.

I have IMAP enabled with Google Apps so I can use the same account from my iPhone easily. I also have the Google Apps setting that allows me to have the newest version of Gmail first. As for organization, I make use of several labels and have filters setup to automatically sort emails. Steve Rubel has a few articles dedicated to living the online life by keeping organized online.

Just as I enjoy the web interface for checking email, I also use the WordPress admin panel rather than OS X blogging software. I also enjoy the clutter free feel of not having to install extra software on my computer.

WP Admin Panel - PSTAM

OS X Things I Can't Live Without

I've mentioned Spaces in Leopard numerous times and this post is no exception. Spaces has honed my productivity quite a bit. Back in the summer of 2006, I wrote an article called Why I'm More Productive on a Mac that got around quite a bit. If I had to add one thing to that article since its publication, it would be Spaces. I still use Expose just as much, but Spaces let me setup playpens for various tasks and keep related items in their proper place.

Leopard Spaces
Safari, iTunes, Development Env (Firefox, Textmate, Terminal)

Spotlight in Leopard is like lightning. I actually stopped using QuickSilver for it. I know QuickSilver can do a billion and a half things but I only ever used it for changing songs in iTunes and launching apps. Spotlight can launch apps just as well and I can use Spotlight as a spell-checker of sorts. Going along with my whole clutter free ideal, QuickSilver one less application that needs to be running.

OS X - Spotlight
Type a word in Spotlight and you'll be greeted by the dictionary entry if spelled correctly.

The Inquisitor plugin for Safari 3 is quite dandy as well.

Inquisitor 3 for Safari
Ron Paul messed up my #2 Google spot. I wonder who's not getting my vote.

This seems to be turning into a more of why I love Leopard piece but QuickLook and its hacks are also massive timesavers. And of course I need all of the regulars: Adobe CS3 Suite, TextMate, Transmit, Adium, Firefox for Firebug debugging, Safari 3 for browsing and Google Notifier for checking my Google Apps email 24/7.

Server & Blog Stuff

PaulStamatiou.com has been hosted by Media Temple for over 2 years on their dedicated-virtual box. It gives me the control I need to tinker with the OS to my liking. I have written a script to backup server files and databases to a backup bucket on Amazon S3. Updating the blog CMS I use, WordPress, is as easy as a single command with SVN.

Last year I left Mint stats tracking for Google Analytics for speed issues - particularly database lag.

Google Analytics on PaulStamatiou.com

However, Google Analytics only updates stats every midnight PST so I don't get the live information I did with Mint. Fortunately, all that information is stored in the Apache web server's log and is easily accessible if you know a lick or two of Linux.

Before going into the details, I'll say that a lot of the server maintenance and tinkering I do is over the SSH protocol. That is, I fire up Terminal in OS X (PuTTY for Windows users) and enter in something like

ssh username@domain.com

and then the password. Upon a successful connection, I have the command line for my server at my disposal - basic stuff for anyone that has messed with a server at least once. After a while, typing out username@domain.com gets annoying which is why I edited the local SSH config file for OS X.

By adding an alias to ~/.ssh/config I no longer have to type out my long username and domain name and can just type in something like ssh ps. If you want to try it out for yourself, open up the Terminal in OS X and run:

vi ~/.ssh/config

and add an alias in this form:

Host aliasname HostName yourdomain.com User yourusername

If you were to save that in your local SSH config file, you would be able to ssh into your server with just ssh aliasname instead of ssh yourusername@yourdomain.com. With a long name like mine, it saves quite a bit of time in the long run. It's also a good idea to disable root login via SSH and enable key-based SSH authentication for security.

Once I have a command line for my server, I can run a small script to show the top 20 referrers in the day so far (logs are rotated everyday automatically). This script also takes out certain referrers like bloglines that would otherwise dominate the top 20, and unlike JS analytics services it shows all requests making it helpful for finding hotlinkers. (Note: the script is only 2 lines should you paste it and it be broken into more. Also, the location of your access_log will vary.)

#!/bin/bash sudo awk '{print 11}' /var/www/vhosts/paulstamatiou.com/statistics/logs/access_log | grep -v 'paulstamatiou.com' | grep -v 'bloglines.com' | grep -v '"-"' | grep -v 'feedburner.com' | sort | uniq -c | sort -rn | head -20

The same goes with another frequently used script that shows the number requests for the past day:

#!/bin/bash TODAY=(date +%d/%b) sudo grep "TODAY" /var/www/vhosts/paulstamatiou.com/statistics/logs/access_log | awk '{print 1}' | sort | uniq | wc -l

Mike Malone has an article detailing how to grep through your web logs. However if it's live stats you want, I've come to like apache-top. It's like the Linux command "top" but for Apache as you'll see.

apache-top on PaulStamatiou.com
Apache-top shows pretty much everything and you can cycle through screens with "d".

I usually don't fire up apache-top unless my site makes it on digg or del.icio.us popular and I want to see requests/second or other such metrics. I used to login to SSH so frequently that I wanted to maintain my sessions and began using the screen command that David Ulevitch showed me how to use.. but I've since forgotten all the keystrokes and only SSH in nightly or so.

WordPress

Back-tracking to my WordPress setup a bit, I've received numerous questions about what plugins I use. I try to keep it light but there are several plugins I've become accustomed to using.

Images in Posts

Most images I publish are slightly touched up in Photoshop CS3. If an image seems slightly blurry and could benefit from "crisping" up a bit, I'll run an unsharp mask filter under Filter » Sharpen » Unsharp Mask.... I usually set the amount to anywhere from 50 - 100% depending on the degree of "crispness" desired with a radius of 0.5 pixels and a threshold of 0. This is for images only as it can make screenshots look worse.

Photoshop Unsharp Mask

I also tinker with Levels and Brightness/Contrast. I often resort to using Auto Levels, Auto Contrast and Auto Color but sometimes their results are too dramatic and I'll go in manually and fine tune things. For very dark photos, I will increase the brightness while decreasing contrast. However, this result can be achieved better in Levels if I have the time to accurately play with the sliders.

Keeping Up with Tech News

One of the most frequently asked questions I get is how I manage to keep up-to-date with all of the tech news out there. Do I spend all of my time reading feeds? Nope. This might be a shock to some of you, but I hardly use RSS. I have many RSS subscriptions in Google Reader that I might check if I am absolutely bored and/or can't think of anything to write about.

Google Reader Trends for Paul Stamatiou

Instead, I follow a handful of influential tech news websites and manually visit the blogs of friends and so on. However, if you've been reading for a while you have probably noticed that more and more of my content is less news-based and more original content like this post and other reviews. I don't like being one in a pack and would rather differentiate myself from what everyone else is talking about. Although there are those big tech stories from time to time that my geekdom can't help but cover.

Here are some of the larger sites I follow regularly.

I also get wind of interesting articles from people that send them my way on del.icio.us by tagging them for:pstamatiou or through people I follow on Twitter. And not to mention through the press releases that land in my inbox from time to time.

I follow too many blogs to list so here's my OPML, which you can easily import into Google Reader or your preferred RSS aggregator. Is your awesome blog missing from my subscriptions? Leave a comment and I'll be sure to check it out.

What Else?

Is there anything else you'd like to know about what is involved with running PaulStamatiou.com? Now to get back to the OLPC..

OLPC with PaulStamatiou.com

OLPC Story: My friend Mike Wozniak (who knows enough about Linux to reverse engineer router firmware and cross compile the kernel) got in on the Give One Get One OLPC deal. On Saturday we went out to a bar with the OLPC obviously left back in his room. He checked Twitter later on to see that his roommate twittered "Just kernel panic'd an OLPC". The moral of the story being that you need to hide your OLPC from your computer science major roommates.

If you enjoyed this post, let me know by leaving a comment.

Like it? Tweet it.

"PSTAM.com: Behind the Scenes" by @Stammy

Get new articles via email