I’m going to be in Boston for the WordPress meetup this month. My plan is to hit every city that has one eventually. 🙂 Free copies of WP to anyone who shows up, and I’ll bring stickers too.
Upcoming WordCamps
I really enjoyed attending WordCamps in Houston, Savannah, and Salt Lake City the past few weeks. You can always find upcoming WordCamps here, and I’m currently planning on attending Jerusalem (this Sunday), Portland (September 18-19), and Philippines (October 2). I’m looking forward to meeting more of the WordPress community and also answering your questions in the Town Hall sessions.
Subversioning WordPress Upgrades
Here is the simple script I use to upgrade all the WordPress sites I run on a single server in one fell swoop. Each site is a Subversion checkout of the WordPress trunk so getting the latest changes and merging them with my version is a simple command, however remembering to do each site was a pain. It also helped me figure out exactly how many WordPress installation I’m responsible for upgrading. (Twenty-seven.) Just fill out the array with the site roots of each install (use locate wp-login.php to find them) and run the script on the command like php upgrade-sites.php. I also like to put the time command in front to see how long things take.
Dusty Apple
Shelley says, “It’s odd, but when I first switched from Movable Type to WordPress, I also thought the interface was ‘unpolished’.” This is a common first impression but an uncommon lasting impression. What could be done to make WordPress a little snazzier for first-time users without compromising the speed and elegance long-time users appreciate?
RSS Bandwidth Usage
Robert Scoble looks at RSS bandwidth usage but unfortunately doesn’t give real numbers. There are a couple of important points in looking at HTML vs. RSS bandwidth usage, some brought up in his comments but I’ll review here:
- RSS is not a transport mechanism, and these problems should be handled on the HTTP level. This is faster, better tested, works with caches and proxies, et cetera.
- I don’t care if an aggregator checks my feed every 5 minutes, if they support HTTP properly (last-modified headers) the load is neglible for me and them. The bandwidth used each time is around 250 bytes.
- Speaking of HTTP, gzip encoding works just as well for RSS feeds.
- Bloated HTML in full content feeds will make for bloated feeds. We’ve upped our standards, up yours.
- Adjust your number of items to match your posting schedule. If you update two or three times a week, you don’t need 20 items in your news feed, try five. If you update a lot like myself or Robert you run the opposite risk: people who don’t check your feed for a while might actually miss content. I talked to aggregator developers a few months ago about a way to address this, perhaps we need to look at this again.
- A visit to a homepage like this generates a lot of requests. First you get the HTML, then your browser requests the CSS files, then it gets all the images, probably about a dozen of them. RSS is generally a single request, and then images embedded in posts may be requested later if that entry is viewed.
That out of the way, how about some real numbers? I can give the best stats for photomatt.net because my RSS feed is on a separate subdomain. Here’s bandwidth usage for August:
- photomatt.net – HTML and images, et cetera
- 56.0 GB
- xml.photomatt.net – RSS and other variants
- 1.7 GB
The ratio for July was similar, 77.6/2.0 GB, I guess I lost some readers in the summer slowdown.
My front page is an average of 17K HTML and about 30K of images, so lets say 50K. The images and CSS are all cached, but I don’t output the proper headers on the HTML because it would be a pain. I would have to check the time of the latest post, check the latest updated link, make sure there’s not a random photo, basically go through a lot of trouble that isn’t really worth it. (When I was caching everything with Staticize the page was stored in its entirety so I sent correct headers, but I don’t bother with that anymore because everything is so fast it doesn’t really make a difference.) All that said, I’m happy with the level of optimization, my HTML and CSS is as streamlined as I want it to be.
My feed, on the other hand, is completely self-contained. I can send headers with confidence because I know everything in that file and can say authoritively when it was last changed. (Actually WordPress handles it all automatically, I don’t worry about it.) Most of the aggregators that hit my site support this. I don’t think about it and they don’t think about it, HTTP just works. My feed has 25 items because of my posting frequency, more than twice the number of items most feeds have. The feed is usually around 10K, and as I already mentioned it’s only one request.
Here’s the kicker: my RSS feed is requested 3 times for every time my front page is loaded. So a HTML page with 1/3 the traffic is using over 30 times the bandwidth. What was that about scalability again?
Magento / WordPress Integration
Broken Kindle
My Kindle is quite broken, not sure how it happened, probably it got pressure in my bag or something? Since I’ve been professing my love of the Kindle to anyone who will listen maybe Amazon will send a replacement, if not I’ll try to go through support when I get back to the states. In the meantime, back to reading dead trees (or more likely not much at all).
phpOpenTracker
phpOpenTracker is an OS framework for tracking website traffic that looks like it has some interesting features. Anyone else have any favorites for tracking stats?
WordPress Party Next Monday
On Monday May 21 we’re having a WordPress party at Thee Parkside in San Francisco. It’s a cool dive-type bar across the street from a park at 17th and Wisconsin, and they have a free ping pong table. (You may want to bring your own paddle though.) The party will get started around 8 PM and go until they kick us out. What’s the occasion? Well, WordPress 2.2 is out, WordPress.com is about to pass a million blogs, and we’re coming up on our 4th birthday since WP’s first release.
Ford uses WordPress
Jason just wrote in that Ford Motor Company has launched a WordPress site, and it’s pretty kickass. How cool that the first Fortune 5 company to use WP goes beyond just a regular blog and really shows what can be done with a powerful framework.
Bulletproof Fridge
Watching Mr and Mrs Smith today I learned that the doors of a Sub-Zero are bullet-proof. Handy!
Whoops!
Sorry for the interruption in service, things should be back to normal now. *ahem* If you missed it, someone guessed my not-at-all secure password to this blog and posted an entry and changed the “siteurl” setting.
I’m really excited abou the new Jetpack, it includes toolbar notifications, mobile push for iOS, a new REST API, and fixes to the contact form.
WordPress Malaysia Logo
Malaysia is celebrating 50 years of Merdeka and Avijit made these cool WordPress logos to celebrate.
Absentee Ballot Voting
Because of travel and uncertainty with my schedule I’m going to vote absentee in this election. There seem to be two good sites with wizards that walk you through everything: Go Vote Absentee and Long Distance Voter. Going into polls and waiting in lines seems like an anachronism. Someday I hope I can vote online.
Update Phishing
I just got a spam/phishing email that looks exactly like a Windows Update notification, and every link in the email is to a real Microsoft site, save one. The download link, which I must “Install now to maintain the security of your computer from these vulnerabilities, the most serious of which could allow an attacker to run code on your computer,” goes to a file named Windows-KB835935-SP2-ENU.exe on the domain windowsupdatenow.net. I’m sure the exe will do awful things to whoever falls for this. I hope Microsoft/Scoble get their lawyers on whoever is behind this, I’ll admit until I noticed the download link domain the email seemed totally legit.
WordPress CrazyEgg
CrazyEgg is a pretty cool service that tells you where people are clicking on your web page. By far, the coolest feature is the “heatmap” doppler view of your page, which they overlay over a snapshot taken when you start the click tracking session. I’ve been running it for a few days on the front page of WordPress.com, here is a screenshot of the results. Next I’m going to try it on our signup form. And wouldn’t it be cool for the WP write page?
What’s in My Bag, 2014
As the start of a new year’s tradition, I’d like to take inventory of what I carry around in my backpack, which I have with me almost everywhere I go. I’m constantly iterating and changing what I carry around, so I hope it’s interesting to see this vignette of what I’ve found to be the best or most effective items to have with me all the time. With the things in this backpack I can be productive pretty much any place on the planet with a wifi or LTE connection.

- Kensington international adapter, I like this one because it has two USB ports, but every adapter I’ve used seems a little janky.
- Plantronics BackBeat GO 2 with charging case, as I mentioned in my headphones post.
- Kindle Voyage. Love love love.
- 64gb USB stick.
- Lockpick set.
- Apple Thunderbolt / VGA adapter. (I can probably stop carrying this around.)
- Samsung Level Over, as I mentioned in my headphones post.
- Macbook power adapter, and Moto Hint bluetooth headset.
- Audrey Hepburn deck of playing cards, and business card holder. The last few items are on a Gridit holder, which I like but seems to drop items as I walk around.
- Macally double USB charger, which I like because the plug pivots, and it can charge an iPad at full speed.
- Thunderbolt to thunderbolt cable, which is great for transferring between computers, and Belkin audio cable splitter, with an old Beats cable wrapped around which I use with the Samsung headphones.
- Retractable HMDI cable.
- Garmin chest strap heart rate monitor, for running.
- Miscellaneous retractable cables: Jawbone UP24 charger (not using the UP at the moment, just the Basis), 1/8th inch audio cable, ethernet CAT5e, USB mini type B.
- Ultimate Ears 18 Pro Custom, with a gold cord taco.
- Jetpack notebook for taking analog notes.
- Some bag balm in a little plastic holder, an Aveda Blue Oil that I find relaxing, and some Advil for when ouches happen.
- TP-LINK TL-WR702N Wireless N150 Travel Router, which works so-so.
- Chargers for the two watches.
- Mpow Streambot Mini Wireless Bluetooth 4.0 Audio Music Streaming Receiver Adapter.
- Apple Magic Mouse, still the best.
- Moto X second generation, with walnut back and orange highlights.
- Not pictured, iPhone 6+, because it took the picture, space grey of course.
- Miscellaneous swag and trinkets, and a T-mobile SIM card.
- Maison Bonnet sunglasses and cleaning cloth.
- Lamy Pico Pocket Ballpoint pen.
- Brand new passport! No stamps in it yet. Unfortunately picture was taken when I was still in the mustache competition.
- Basis Peak watch, which I like a lot overall.
- Garmin Forerunner 620, for quantifying running along with the chest strap in #13.
- Westone ES49 custom earplugs, for if I go to concerts or anyplace overly loud.
- Bucky eye shades, like an eye mask but has a curve so it doesn’t touch your eyes. I don’t use this often but when I do it’s a life-saver.
- Retina Macbook Pro, 15 inch, with a few stickers and the custom W light cut-out.
- The bag that holds everything pictured: Old School Laptop Rucksack. I wish it had a few more interior pockets for organizing things. It’s starting to get pretty worn, I probably need to treat the leather on the bottom.
- Not pictured: Incase dual USB 2.4 amp car charger, a Belkin car mount, and a retractable lightning cable. (They were in the car when I took this.)

So if you add it all up, there are about 53 unique items I’m carrying around all the time. I’m curious how this total number changes over time as well. If you have any recommendations for a better, lighter, or more functional item than what I’m carrying please leave it in the comments!
Dropbox
Dropbox is open to the public now. I’d love something like this I could use with my own Subversion server.
Thirty-seven
I turn 37 today. I look around and I feel incredibly lucky to be writing this after a topsy-turvy year. I have health. I have friends whom I love. These are all good reasons to feel optimistic about the future. A few unconnected thoughts today:
My father had me when he was exactly 13,300 days old, and this year I passed that number of rotations of the Earth.
It’s hard to plan when so much is changing, so resolutions this year haven’t felt the same. But in times like these it’s even more important to plan for the long-term. A look back, once a year, is enough to remind of what remains.
I’m so thankful for the internet. It’s where I learned and practiced my trade. It’s where I connect every day with the most interesting and eclectic group of people I could imagine, a modern day Florence during the Renaissance. I hope to make a lot more internet and enable others to do the same.
Many years ago I said “Technology is best when it brings people together.” This quote has taken on a life of its own on motivational posters and images. When I first said it I think I had in mind WordCamps and meetups and other physical gatherings; this year it transformed for me seeing how technology brought together those separated by the pandemic. This year has appeared divisive, so it’s easy to overlook how many times people came together. It’s like the old saying, it’s not how many times you fall, it’s how many times you get up. Fall thirty-six times, get up thirty-seven.
All birthday posts: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41.