0wn3d

I’m not sure if I’m one of the “six prominent webloggers” Brad mentions in his post Gmail major security flaw, but when I got a mail from him saying that I was guilty of exactly what he described, I thought it would be a good time to change my secret question and password. I guess he was really anxious to get a Gmail account. He could have asked though, I let Adam poke around mine.

My thoughts on Gmail? It’s really well-done in terms of how the interface works. It’s faster than Thunderbird for common tasks and I could see using it full-time. But I wouldn’t even consider it until they provide a good way to import and export everything. Email is the lifeblood of everything I do, and I’ve been burned too many times to trust it to a third party—even if it’s non-evil Google. When I put my address out there in a previous post I was pleasantly surprised to get emails from a number of people I’d never corresponded with. Unfortunately soon after that the spam started coming in. It’s more than I get on my “real” account, but I can’t expect a beta product to compete with a finely-tuned SpamAssassin installation and 22MB bayesian database.

Speaking of passwords, a few months I switched to using 8+ characters of random junk for everything, and different passwords for everything. You can use the random password generator to get a few of your own. Throw in SSH tunneling, a great VPN through my university, and consistent rotation schedule and I’m feeling pretty secure. (Knock on wood.) I just need a fingerprint scanner.

In other news, the place of residence has been spruced up a bit with surround-sound speakers, a cut-glass-hanging-thingy, and some additional lighting. Pictures forthcoming.

Finally, the mosaic thread currently stands at nearly 669 comments, and soon there will be more comments on that post then there are posts on this site. I don’t generally talk about traffic in public because I think it’s bad taste, but the numbers this month have been intimidating. In terms of bandwidth photomatt.net used a few dozen gigabytes last month, mostly in photos. So far this month the usage stands at 305 gigabytes for this domain alone and I’m at a loss for words, except to say it’s nice to know I have that sort of scalability. I think I’ll go back to posting pictures of my cat.

Update: Final usage for April on photomatt.net was 511 gigabytes.

What is Google Cooking?

Watching my logs, I’ve been getting random requests from Googlebot for atom.xml and index.rdf files on this site and others. It’s always in the root or in relevant subdirectories (usually /blog or similar). All of these sites run WordPress, and I can promise there is no mention of or links to atom.xml or index.rdf anywhere. This means Googlebot is guessing that these files will be there. Now I’ve come to expect random flailing for syndication files from Feedster and Kinja, but Google? Et tu, Googlebot?

I suspect this is a hint of something new coming, perhaps feed-aware search like Feedster or RSS links in search results like Yahoo. Maybe a Google-aggregator? Google BlogNews? I want answers! They’ve got some room on above the search box since their redesign, maybe the next item there will be a “blog” tab. (Of course since their redesign they aren’t real tabs anymore, a regression in my opinion. I think tabs are a very effective navigation metaphor and worked well for Google.)

Anyone have any clues, ideas, or notice something similar in their logs?

Update: As always, we’re a few days ahead of the curve here at photomatt.net. Dave Winer has noticed the hits on his server and is covering the issue today.

Update: I’m late to the game, but Evan Williams confirms in part what I was suspecting and also jabs at the conspiracy theorists.

Is it more likely that this is not a calculated move, but that they are experimenting with crawling feeds in general and that, if they’re going to index them, they probably want as many as possible? And that maybe (hmmm…) they started with Blogger blogs first, since they were handy, and they tended to find feeds at index.rdf and atom.xml, and they haven’t yet optimized their crawler because they’ve been working on other stuff?

Spring Ping Thing

Now I know what you’re thinking. It’s Spring and time for me to stop teasing and come forward with something dramatic.

Announcing Ping-O-Matic, the automatic pinging fanatic that handles the pinging of almost a dozen different update services. Erratic server responses making pinging problematic? Bookmark the Ping-O-Matic results page and let us handle the dirty work.

With the dream team of Dougal and yours truly, you knew it was going to be cool. What you see is just the beginning. Think a unified XML-RPC interface (One Ping to rule them all, One Ping to find them…), think ping queueing, think quality of service and response graphs, think different, think global blogtimes, think update aggregation, think Ping-O-Matic.

So spread the word from here to Beijing. More than just a fling, we’re committed to being the Kings of Pings. We take this ping thing seriously, so you don’t have to.

Bing!

23rd Page

<sheep>bahhhh</sheep>. Here’s the deal:

  1. Grab the nearest book.
  2. Open the book to page 23.
  3. Find the fifth sentence.
  4. Post the text of the sentence on your blog along with these instructions.

Depending on how you count it, my fifth sentence is either “Today they perform strenuous verbal feats to escape that fate.” or “Watch them wriggle through TV interviews without committing themselves.”

A cookie to the first person to guess the book. Hint: the author’s initials are W.Z.

In other news, Dougal hints at a secret. Don’t click. The Zeldmans finally announce their new joy.

Original Zen

I think I’ve found the original CSS Zen Garden, circa 1996. Internet Explorer version 3 or above required. The rest of the CSS Gallery is highly entertaining. It shows that with great power comes great responsibility and that Microsoft is capable of true evil. How far we have come. (Good work does not go unnoticed.) And how far we have to go.

(How could the same people we thank for giving Verdana and Georgia to the web be responsible for such a thing?)

iPod Supports Standards

Standards like MP3? Nope, web standards. Go to the iPod sub-site and toggle your stylesheets using a favelet. Notice anything? Now check out the source; still crufty in places, but a giant step forward from Apple’s old code, which is still viewable on other parts of their site. Great!

I noticed this because I was on the site to check out the iPod Mini. Yes, I know that for $50 more I get 11 more gigabytes, but even the largest iPod still wouldn’t hold all my music. Realistically, I don’t 10,000 songs in my pocket. About a thousand should hold me for a few days between syncing. I thought the Minis were pretty silly until Elissa dragged me into an Apple store the other day and I saw one up close. My goodness those things are small, making the iPod feel gargantuan in comparison. Size does matter, a lesson I learned from my old 16.1″ Sony laptop, bulky digital camera, and the Visor Prism. My only concern about the Mini is I wouldn’t be able to use accesories like this voice recorder. That’s probably for the best though, as I need to stop recording concerts and such on hardware not meant for it and break down and get (another) MiniDisc recorder and a decent microphone.

While at the site I noticed the rollovers were so fast they had to be CSS, and checking under the hood I found not only a mostly-CSS layout, but pages just a few simple mistakes away from validating. It’s good to see a company that “gets it” in many other areas finally maturing in their web presence.

UPDATE: Apple properties which seem to be on the bandwagon:

This is obviously a work in progress becuase you have pages like this antivirus page which is very much old-school markup. Can’t wait to hear more about this, or an official word from Apple with more information about their new-generation markup. Are there any bloggers inside of Apple?

XFN Press

Today was a great day in that I got to read two excellent write-ups of XFN. The first comes from Shirley Kaiser at Brainstorms and Raves: Friends, XFN, and Hyperlinks. The second came from Molly and it’s a mouthful: Integrated Web Design: Social Networking — The Relationship between Humans and Computers is Coming of Age. Molly’s article quotes me on pages 3 and 4, so watch out.

I suppose now is as good a time as any to announce this little tool I wrote for XFN about a month ago. Exefen (pronounced exy-fen) reads any public HTML page you give it and then returns every external link on the page with a XFN Creator widget attached to it. You can then go and add XFN values as appropiate just by clicking a few boxes. Then when you submit that data exefen returns the original page source with all the XFN data added. Some features:

  • Works with all reasonably formed XHTML and HTML, different quoting styles etc.
  • Parses any existing rel values and uses those
  • Preserves formatting, etc in original document
  • Ignores internal and relative links

It could probably do more, and reasonable requests will be entertained. This tool was actually made in response to a comment by Zeldman saying he didn’t have time to add XFN values to his externals page. Using this tool he did it in less than an hour. In his words, “Fabulous! Great tool.” Are you XFN friendly yet?

Tracking in Generated Images

Generating images with PHP is one of my favorite tricks and the ease of doing this in PHP is really a testament the language getting something right. If you’re on the site and not in your RSS aggregator, then you enjoy a generated image on every page on PhotoMatt.net, the titles of each post and the post times graph at the bottom of the page. Combined with image replacement techniques, PHP-generated images can be very useful. This was one of the first blogs I know of to do it, but I’ve seen it on several sites since then and I’ve shared the code with anyone who asks.

However the function I’m using for all of this, imagettftext is rather crude, and doesn’t allow for much control in how the text is presented. After a bit of work I just created a function that simulates tracking in text images that are created by PHP. I’m happy with structure of the code, but the result is much uglier than if the text had been set by any decent program. Imagettftext is supposed to support unicode, so I’ll have to investigate using unicode semi-space characters or perhaps interfacing with Freetype more directly.

Anyway, now the image generator takes a background color (which may be transparent), a text color, and a rollover color. Then it generates a single image with the given text in it once with each color, for use with Pixy’s fast rollovers. This is all in the context of the Unamed CMS that is coming Real Soon(tm).

Notables

Some WordPress-powered blogs that have caught my eye recently:

Bill Day
“Bill Day is a Staff Engineer & Technology Evangelist at Sun Microsystems as well as Founder & Technical Guru of Day Web Development.
Bill’s J2ME Archive, writing, and speaking have helped drive J2ME adoption to hundreds of millions of devices and empowered tens of thousands to write applications for Java enabled handsets and PDAs.”
AxxLog
Joe Clark’s accessibility blog. Focusing lately on the (lack of) accesibility of a PVR.
Matthew Thomas
The same mpt, new domain. I don’t know if WordPress is the ultimate weblogging system yet, but it seems to work well for him. Matthew has given some brilliant input into the options interface which is going to be in WordPress 1.2.
Kimberly Blessing
Interesting gal I met at SxSW, Kimberly is a standards evangelist and developer at AOL.
Binary Bonsai
Great design and content. Most sites find a good design and stick with it. Micheal pulls out a brand new one just as good or better than the last every month or so. Michael is the guy who taught me how to make my XP desktop look decent.
Lars Holst
An very well-done WP site. Check out the style switcher.
Image Safari
Nicest WP photoblog I’ve seen yet. Reload for entertaining random header graphics.
Rebel Pixel
Excellent look and layout. Very interesting link styling. Nice linklog.
Debian WordPress package
Not a blog like the others, but an amazing development. Type apt-get install wordpress at your Debian command line and it’s there, automatically setting up MySQL, PHP, or Apache as needed. The packager says “I’m working on some scripts to make Debian automagically configure your blog on the next release of the package.” Awesome.

I hesitated to even start a list because this really is the very tip of the iceberg. I could write a post every day for the next 3 months highlighting someone doing something great with WordPress, and in July there would be hundreds more.

I know of a couple of projects in the oven and I can’t wait for them to (re)launch. If you’re doing something interesting or innovative with WP, let me know. Maybe I can even help out.

Temporally Challenged

Eric has a new book you should buy, despite the fact he’s all wrong about weblogs. His thesis is that it’s easy to read chronological items that relate to each other from top to bottom on a page. It’s not that Eric has his facts wrong, he’s just looking at the wrong facts.

Weblogs are not 20 chapter books. Eric’s entries refer and develop more than the average weblog’s, he is no exception to the rule that most weblogs would be just as intelligble if they randomly ordered the entries you haven’t read yet than if they presented the newest ones at the top. For some reason Eric insists on using monthly archives for his permalinks, which isn’t helping his visitors or Google (or the bandwidth he’s concerned about). Anchored monthly archives should never be used for permalinks. The only people who still use these are those who are technically hindered from or too lazy to implement post-level permalinks.

On monthly, weekly, or daily archives it makes perfect sense for the entries to be ordered chronologically, because the defining characteristic of the posts is their chronological relation to that date range. On a search result page, I want to see the results ordered either in reverse chronological order or by some search relevance. Both Technorati and Feedster get this, and both default to reverse chronological order of their results. On the front page, which is where Eric has his main beef, the most relevant thing to at least 95% of visitors is going to be the latest items. Anything else is going to be making the site less useful to the majority of users for the benefit of a few. There is a much larger precedent for putting the most recent items at top than just weblogs: most email and webmail software I’ve used, every press release page, news sites like CNN, Zeldman, the Board of Governors, the White House. Breaking the convention of thousands of familar sites for the benefit of the occasional reader who checks back every week or so but is really annoyed at having to scroll funny to what they’ve missed breaks the Hippocratic Oath of design. Weblogs aren’t ordered the way they are because of some freak historical accident, they’re ordered this way because it works.

(A sidenote about the bandwidth issue: it’s dead. Of course pages should be made as small as possible using standards and efficient markup to help them load quickly. No one is going to argue that. However an optimized 10K page loaded thousands of times a day is still a healthy chunk of bandwidth. If you are adjusting your content or paying more for the popularity of your website, find a better provider. The server that this site (and others) is on is allocated 1.2 terabytes of bandwidth transfer per month. At worst it uses a third of that. Server bandwidth should not be an issue anymore these days.)

I mostly disagree with his post, however I feel Eric’s pain. I’ve had to do the scroll-catchup thing before, and it was annoying. Without breaking the website for the vast majority of my users, I can offer some relief:

  1. Eric is a busy guy and I’m guessing he uses a newsreader (like NetNewsWire) to keep track of who has updated. If you click through to the permalink of a new item it will take you to the individual archive for that page, complete with comments. I have always had intra-post navigation at the top of the page, but after reading Eric’s screed it occurred to me where that would really be useful is after you’ve read the article and want to move on to the next thing. So now I have post navigation above the article, after the article, and after the comments. If you’re a few posts behind, navigate the individual archives instead of a monthly archive or the front page. Enjoy.
  2. One benefit to a completely dynamic system is that you can change views on the fly pretty easily. So if the reverse chronological thing bothers you that much, at least with WordPress blogs you have a easy fix. Simply add ?order=asc to any WordPress URI and it will order the dates ascending instead of descending. Example: my March archives, my March archives descending. It would also be pretty trivial to set a cookie to allow people to see things ordered different ways, and I imagine within a few hours of writing this there will be a new hack or plugin on the forums. If only everyone used WordPress.