Thoughts

SmugMug, are you listening?

I’m disappointed with SmugMug over their continued lack of support for proper export and maintenance of photographs directly from Lightroom. Back in July, I wrote about the Flickr Publish Service in Lightroom, and wondered when SmugMug would introduce their own.

What I was really looking for (and I said this in the post) was a way for the publish service to identify what I’ve already uploaded and allow me to re-publish those photos where I’ve made changes to the metadata or to the processing. The official Flickr Publish Service didn’t offer that option.

A few of my readers (Gary, Chris, Russell, thanks!) pointed me to Jeffrey Friedl’s excellent plugins for Lightroom, and I’ve been using them ever since. As a matter of fact, I’ve switched over to them completely. I use them for all four web services where I currently publish photos (SmugMug, Flickr, Facebook and PicasaWeb). I don’t know what I’d do without them. Wait, I do know — I know for sure I’d be doing a LOT more work and spending a LOT more time uploading and maintaining my online collections.

With Jeffrey’s LR plugins, I was able to identify about 90% of the photos already uploaded to SmugMug, and about 75% of the photos already uploaded to Flickr. In the case of Flickr, I then did manual updates and re-identifies so I could get it to know 95% of the photos already uploaded. This means Lightroom now allows me to quickly identify, update and replace almost any photos I’ve got at SmugMug, Flickr, Facebook and PicasaWeb. This is huge.

There is a catch, though, and it’s a BIG one. I keep running into the same “Wrong Format ()” error with SmugMug, which means I still haven’t been able to straighten out the photos I’ve uploaded to them. Here are a couple of screenshots of the error messages I get. It starts with a “TimedOut” error, then I get the “Wrong Format ()” error, then the upload process aborts.

I get these errors almost every time I try to re-publish an updated photo, but I don’t get them as often when I try to upload new photos. To give you an idea of how bad things are, I’ve currently got 109 photos to update in one of my galleries at SmugMug, and last night, I had about 167 photos. I’ve had to restart the re-publish process about 30-40 times since last night. You do the math, but I think it works out to 1-2 photos per error. This sucks. I should be able to just click the Publish button and walk away, knowing all of my changes will propagate correctly.

I’ve contacted Jeffrey, and I’ve contacted SmugMug. I’ve had extensive email conversations with each. SmugMug alternates in their replies. They’ve said the following to me:

  • It’s a fault with the plugin
  • It’s something on their end but they’re working on it
  • There’s nothing they can do about it
  • I should use something else to upload photos
  • They blamed my setup, which we ruled out after some internet connectivity tests

Jeffrey says there’s nothing he can do about it, and I believe him more than I believe SmugMug. Want to know why? Because his other plugins work just fine. I’m able to re-publish updated photos to Flickr and Facebook and PicasaWeb without any problems. Only SmugMug somehow can’t handle my uploads.

I’ve tried reloading the plugin, installing it anew, removing and re-adding the publish service, upgrading the plugin, but nothing. I still get the same errors.

My question for the smug folks at SmugMug is this: how is it possible that Facebook and Flickr and PicasaWeb have worked out the re-publish issues, but you haven’t? What’s taking you so long? Why can’t you work out the same problem on your end?

I was hoping that with the release of Lightroom 3.2, and the release of the official SmugMug Publish Service for LR (hat tip to David Parry for the advance notice), that SmugMug would work out the kinks in their API, but it looks like they still haven’t done it. I tried their plugin, but of course they took the easy route, like Flickr, and haven’t introduced any functionality that would identify photos already uploaded to their service. Only Jeffrey Friedl’s plugins offer this feature.

This leaves me terribly disappointed. As a SmugMug Pro, I don’t want to bother with error messages. I don’t want to bother with posts like this. I’d rather post photographs and update my SmugMug galleries in peace, but I can’t.

If you’re having the same problems with SmugMug, please, write to them, and ask them when they’re going to get their act together. This problem’s existed for several months. How much more time will it take until they deal with it?

Standard
Thoughts

A tally of my post ratings

On July 28, 2008, I installed the WP-PostRatings plugin on my blog, and since then, watching what and when people rate has been an interesting experience. If you haven’t yet enabled ratings on your website, it might be a worthwhile effort to do so, because you’ll get another sort of feedback about your content beside the usual reader comments. I think many people who are too shy to comment, or those who haven’t got the time to do so, would still like to give me an idea of what they think about my articles by a quick click on some stars, and that’s very helpful to me.

By now, I’ve gotten 1,339 post ratings. Considering I’ve had the plugin installed for 533 days, that works out to 2.51 ratings per day. Since 7/28/08, I’ve had 374,756 unique visitors, 415,857 visits and 595,078 page views on my website. That means 0.23% of my page views yielded a rating.

Let’s compare that to my comments for a bit. Since that same date, I’ve had 1,754 comments posted to my site, or 3.29 comments per day. That means 0.29% of my page views yielded a comment. It’s slightly better, but not by much, though I should specify that, by and large, the folks who commented didn’t leave ratings, so that means I got feedback from two different sets of readers.

Still, if I combine the two types of feedback together, it means I got 0.52% of my readers to give me some sort of feedback. I’m interested to find out how these percentages stack against established benchmarks, so if any of you can point me to the benchmarks, please do so.

Even if my feedback stats may or may not be something to brag about, I can be happy about the quality of my ratings. My rating score is 6,370, which means my average article rating is 4.76 out of 5. I like that.

I thought I’d tally up some of my highly rated and most rated articles below, for historical reference.

These are my top ten highest rated posts:

  1. Hardware review: Drobo (5.00 out of 5)
  2. The underrated Betta fish (5.00 out of 5)
  3. Matrei im Osttirol (5.00 out of 5)
  4. Hardware review: WD My Book Studio Edition II (5.00 out of 5)
  5. Hardware review: Elgato Turbo.264 (5.00 out of 5)
  6. Automatic redirect from HTTP to HTTPS (5.00 out of 5)
  7. A Dell order and return experience (5.00 out of 5)
  8. American habits (5.00 out of 5)
  9. Hardware review: Logitech Alto Connect Notebook Stand (5.00 out of 5)
  10. A few words on the economic crisis at hand (5.00 out of 5)

These are my top ten most rated posts:

  1. Hardware review: Dell S2409W Flat Panel Display – 61 votes
  2. Stranded in Frankfurt thanks to United Airlines – 21 votes
  3. How I got cheated on eBay – 14 votes
  4. USPS Priority Mail is anything but that – 13 votes
  5. Hardware review: Second-Generation Drobo – 12 votes
  6. Hardware review: Drobo – 11 votes
  7. Big problems with the WD My Book Pro Edition II – 11 votes
  8. The underrated Betta fish – 10 votes
  9. WD TV is better than Apple TV – 10 votes
  10. Using the economy as an excuse to shortchange employees – 10 votes

These are my top ten posts with the highest scores. The list is a combination of the highest rated and most rated lists. It’s the posts that have gotten the highest and most ratings.

  1. Hardware review: Dell S2409W Flat Panel Display – 61 votes
  2. Stranded in Frankfurt thanks to United Airlines – 21 votes
  3. USPS Priority Mail is anything but that – 13 votes
  4. How I got cheated on eBay – 14 votes
  5. Hardware review: Second-Generation Drobo – 12 votes
  6. Hardware review: Drobo – 11 votes
  7. The underrated Betta fish – 10 votes
  8. WD TV is better than Apple TV – 10 votes
  9. Using the economy as an excuse to shortchange employees – 10 votes
  10. Big problems with the WD My Book Pro Edition II – 11 votes

These are my ten lowest rated posts:

  1. When it comes to home computers, k.i.s.s. and forget it! (1.00 out of 5)
  2. Pet snakes in the Everglades(1.00 out of 5)
  3. Elie Wiesel: biography of a Holocaust survivor (2.00 out of 5)
  4. How many of my photos were stolen? (3.00 out of 5)
  5. Why I turned off comments at Flickr (3.00 out of 5)
  6. The Exakta EXA Ia analog camera (3.00 out of 5)
  7. A lesson in civics and citizenship (3.00 out of 5)
  8. Romania’s orphanages still a bad place for children (3.00 out of 5)
  9. More about Cartoon Network (3.00 out of 5)
  10. Fat clothes for fat people (3.29 out of 5)

It’s enlightening to see that some articles I care about happen to be on this last list, and it goes to show that no matter how attached I as an author can get to something I’ve written, it doesn’t necessarily mean it will resonate pleasantly with my readers.

It’s been an interesting experiment so far, and I plan to continue it.

Standard
Reviews

Installed and used the SimplePie RSS plugin

Installed and used the SimplePie RSS plugin for WP on my regular site at raoulpop.com. Its name is somewhat of a misnomer. It’s neither simple, nor “easy as pie” to begin with. Sure, after you check the documentation carefully, a light goes on in your head and you realize how to use it, but there’s a learning curve. I do agree, however, that the things it lets you do are quite nice. For example, I used it to rewrite my SmugMug recent photos feed and show only the thumbnails of the latest 10 images uploaded, each linked directly to the original image. I really like the result, but it took a bit of figuring out.

screenshot-home-page

Standard
Thoughts

WordPress Stats plugin has gone cuckoo

For over a month now, I have been unable to rely on the official WordPress Stats plugin. (I say official because the folks that made WordPress also made this plugin.) It, all of a sudden, started assigning all site visits to the same article, so that all of my stats became completely skewed. Let me explain it with a screenshot:

WordPress Stats has gone cuckoo

Instead of seeing the proper distribution of site visits by titles, which is what happened in the past, almost all of the site visits get assigned to a random post. I have no idea any more which titles get the most traffic for a given day. I know this is wrong because I’m also using Google Analytics. Here’s a screenshot of the 20 most popular titles for the past 30 days.

Google Analytics Content by Title

I like WordPress Stats because they aggregate the data almost instantly, whereas there’s a 3-4 hour delay with Google Analytics. Sometimes they even correct the data a day afterward (this happened to me recently) so you can’t rely on their figures until 24-36 hours after the fact [reference].

I stopped using WordPress Stats for a while, hoping the problem would somehow work itself out, but when I re-activated the plugin, all that happened is that it started assigning all site visits to a different random post. Whoopee…

If someone at WordPress reads this, please let me know if it’s something I’m doing wrong, or if it’s something that you’ve got to work out on your end. I posted about this problem in the WordPress forums, but I have yet to receive a reply there.

Standard
Reviews

PictureSurf, a new gallery plugin for WordPress

PictureSurf Plugin

PictureSurf is a new WordPress plugin that launches today (February 10, 2009). It aims to make it easier for bloggers to upload galleries to their WordPress sites.

I spoke with PictureSurf’s founder, Alan Rutledge, via chat this morning, and I wanted to find out what makes his plugin different from the standard WordPress functionality. You may or may not be aware of the fact that WordPress offers an Image Gallery feature that’s built into the core WP install.

From Alan’s perspective, the PictureSurf plugin differentiates itself by offering:

  1. An enhanced user interface, because it lets you drag and drop photos to rearrange them, label multiple photos at once and,
  2. A little more SEO juice, because of better permalinks and conditional nofollow tags on the thumbnail links. The nofollow tags are activated when there’s too little content on the photo page — for example, your description of the photo is too short, etc.

As I told Alan, I don’t see enough of a difference between this plugin and what WordPress already offers to convince me to use it myself. The PictureSurf website claims that it’s faster to build a gallery with their plugin than with WP, but I ran into a glitch when I tried to use it. I couldn’t upload any photos. The upload engine froze and even though I hit Cancel and tried to re-upload the photos a few more times, I wasn’t able to do it. Still, that’s not too important. I’m sure that if I had more time, I could have gotten it working properly.

The thing is, I built a WordPress Image Gallery for this review in under 30 seconds. Each thumbnail links to its own photo page, very much like PictureSurf does it. I was able to choose how many images I wanted in each row. And I was also able to drag and drop the images to change the order in which they appear in the gallery. You can see the gallery below.

Another claim made by the PictureSurf plugin is that you can monetize your blog much better when an image sits on its own page instead of displaying on a blank page. I’ll agree with that, but I’ll also add that WordPress lets you do the very same thing. In WP’s Image Gallery options page, you get to choose where the thumbnail links go: they can go to the images themselves, or to something called attachment pages, which are pages that WP generates dynamically for each photo, using your blog’s own theme. So I ask again, what is it that differentiates PictureSurf from WP’s built-in functionality?

As much as I love WordPress plugins, I’m a big believer in built-in functionality. I don’t want to be stuck in a situation where I need to stop using a plugin, for whatever reason, and have my post archives become unusable because the plugin is no longer there. I ran into that issue with a video plugin I used in the past. It stopped being supported, and then I had to modify all of my old posts where I embedded videos, in order to make them playable again. If the long-term survival of your content is not a concern for you, then don’t worry about it. It is a concern for me though.

Last, but not least, I found PictureSurf’s design somewhat rough. It just doesn’t integrate as well as it should into the WordPress Editor. Furthemore, if it aims to take over the image gallery role, then it should fully take over that role. If I install PictureSurf, once I click on the Image Upload button in the WordPress Editor toolbar, it’s the PictureSurf AJAX window that should open up, not the WordPress Image Uploader. And when I access an old post that uses an image gallery, written before I installed PictureSurf, it should automatically take over that gallery and display the images using the PictureSurf gallery settings. But none of this happens. Old posts remain the same. I’d have to modify each and every one, manually, in order to get PictureSurf working there. As a publisher and writer, that’s a labor I’m not willing to undergo.

For me, the PictureSurf plugin does not differentiate itself enough from the standard WordPress functionality and does not offer enough added value in order to make it to my roster of active plugins. I find the WordPress Image Gallery feature quite adequate and necessary, and therefore, using the PictureSurf plugin becomes a matter of preference, not need. I myself do not need it, therefore I won’t use it. Your situation may differ. Feel free to try it out and see what you think.

Standard
Thoughts

Mobile version of site now available

If you happen to browse my site via a mobile device like an iPhone or another web-enabled smartphone, you will automatically see an optimized version of the site that downloads and navigates a lot faster than the regular version on your mobile device.

This was made possible by the folks at MobilePress, who’ve put together a wonderful (and free) WP plugin. My thanks go to them, to Digital Inspiration for writing about them, and to Chris Nixon for sharing that post through Google Reader for me. That’s how I found out about it.

Standard
How To

How I moved all my content from comeacross.info to raoulpop.com

A place in this world

Background info

As midnight approached this past New Year’s Eve, I was busy working on a long-term project. I was about to move all of my content (every article and post I’d written) from comeacross.info to raoulpop.com. There were many reasons for this, but consolidation was the most readily apparent.

As detailed on my About page, I’d already combined my content from other sites of mine onto comeacross.info, but there was one more piece of the puzzle that needed to fall into place. I’d alluded to it already. I was thinking about doing it in 2006, believe it or not. As a matter of fact, when I sat down and thought about whether to start writing at comeacross.info or raoulpop.com, I knew deep down I should choose to start writing on my personal domain, but worried it might be too difficult for people to remember and type the name.

After a year or so at ComeAcross, I realized that the subjects I was writing about were much too varied for a standalone site. I was writing in a personal voice, using a lot of 1st person, and it only made sense to have that sort of content reside on my personal site. Plus, there were so many splogs (spam blogs) on the .info TLD, that I worried whether I would be taken seriously if I stayed on .info. I’d owned raoulpop.com for a long time, I wasn’t really putting it to good use, and it didn’t make sense not to.

I set a deadline of 12/31, and got to work on planning and research. What better time for such a big change as this than New Year’s, right?

I’m documenting this for you because someone else might need to know how to do it. And I figure the thought process that went on behind the scenes is also worth knowing.

Planning and research

My biggest challenge was to figure out how to redirect all of the traffic from comeacross.info to raoulpop.com, reliably and accurately. I needed to make sure that every one of my articles and posts would redirect to my new domain automatically, so that a URL like

http://comeacross.info/2007/12/30/my-photographic-portfolio/

would automatically change to

https://raoulpop.com/2007/12/30/my-photographic-portfolio/

and the redirect would work in such a way that search engines would be properly notified and I wouldn’t lose my page rank.

I knew about 301 redirects, but I wasn’t sure how to accomplish them in the Linux/WordPress environment the way that I wanted them to work. I had worked mainly with Microsoft web servers until recent times, and Linux was and still is fairly new to me. I was using John Godley’s Redirection plugin for WP (it’s an awesome plugin btw), and I knew it could do 301 redirects quite nicely. I had been using it heavily when I changed post slugs or deleted/consolidated posts at ComeAcross.

I worked out a line of Regex code that I could use to create a site-wide redirection, I tested it and it worked fine. In case you’re wondering, you can easily test it by creating a 307 (temporary) redirection instead of a 301 (permanent) redirection. Here’s how to do it:

Create a new 301 redirection where the source URL is

/(.*)

and the target URL is

http://www.example.com/$1

Make sure you check the Regex box, add it, and you’re done.

Just to make sure, I contacted John Godley to confirm whether it was the best way to do things. He said that would certainly do the job, but there was a MUCH easier and faster way to do it, one that saves a lot of the overhead that comes into play when WP gets used. It works through the .htaccess file. He was kind enough to provide me with the code, which is reproduced below.

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

</IfModule>

Just paste that into your .htaccess file (remove all other code but make sure you back it up somewhere in case you need it), save it, upload it, and you’re done.

Don’t do anything yet though! Not before you’ve thoroughly backed up everything! Let me outline the steps for you, and keep in mind that I wanted to mirror all of my content from two separate WP sites using the same WP version, and to redirect from the first to the second. These two conditions have to be met in order for my advice to apply to your situation.

  1. Make sure both sites are on the latest and greatest version of WP, or at least they’re on the SAME version of WP
  2. Back up the database from the old domain
  3. Download all site files from the old domain
  4. Upload site files to new domain
  5. Restore database to new domain
  6. Make changes to .htaccess file as shown above
  7. Log into your new domain’s WP admin panel and change the site and blog URLs. Now you’re done! Check to make sure the redirection works properly and all of your content is there.

Upgrade your WP installs

The two sites have to be on the same version, or else things might not work as expected. Upgrade both sites to the latest and greatest, or at least make sure they’re on the SAME version before you do anything else. Go to WordPress, download and install the latest versions. There’s also an Automatic Upgrade plugin, but I haven’t tried it yet, so I can’t vouch for it.

BEFORE you do any sort of upgrade, you need to back up. Yes, you can’t get away from this… You’ll need to do two backups, one before you upgrade, and one after you upgrade, before you transfer the content.

Back up your content

This combines steps 2 and 3 listed above. Backing up your site files is easy. Use an FTP client to access the files on the web server and download them to your hard drive. I always keep a local copy of my site files. It just makes sense.

Backing up your database is a little more involved. Your database contains all of your site content (posts, links, comments, tags, categories, etc.) so you definitely don’t want to lose it. There are detailed instructions on backing up the database on the WordPress site. You can follow those, or you can go to your site’s Admin Panel >> Manage >> Export and download the WordPress WXR file, which you can import into your new site afterwards.

While this is great for backups, restores are another matter. I tried it and found that the import operation kept timing out at my web host. Given that I have thousands of posts, I didn’t want to sit there re-restoring the WXR file only to get a few posts done with every operation. I needed something quicker.

There is a plugin called WordPress Database Backup which lets you download a zipped SQL file of the database. You can use this to restore the database through the MySQL Admin Panel, if your webhost provides you access to it.

What I did was to simply point my new site install to my old database. This is a very handy and easy solution if you plan to host both sites with the same web host. But this still doesn’t excuse you from backing up the DB before you upgrade the WP install! 🙂

Restore your content to the new site

This is a two-step process (see #4 and #5 above) and involves reversing the steps you took during the backups. You will now upload your site files to the new domain, and you will restore the database to the new domain as well. If you’re in my situation, where you’re using the same web host, you can simply point the wpconfig.php file on your new domain to the old database.

Make sure all your content is properly restored before going on to the next step!

Make changes to the .htaccess file

You will need to make sure you don’t touch the .htaccess file before you transfer it to your new domain. Only the .htaccess file on your old domain needs to change. Remember this, or you’ll be wondering what’s going on with the redirects afterwards…

Use the code I’ve given you above, in the Planning and Research section, to make changes to the .htaccess file on your old domain, after you’ve made absolutely sure that all of your content is now mirrored on the new domain. Once this is done, the redirects will occur automatically and seamlessly.

Final checks and tweaks

This is very important. Surf to your old URL. You should get re-directed to your new URL. Do a search in the search engines for content of yours that you know is easily found. Click on the search results and make sure the links get redirected to your new site. Because you’re using 301 redirects, the search engines will automatically change their search results to reflect the URL changes without affecting your page rank, so you shouldn’t lose any search engine traffic if you execute the content move correctly.

There are a few more things you’ll need to check:

If you’d like to make changes to your site feed (and I did), you’ll need to handle that properly. I use FeedBurner, and there are people that subscribe to my content via RSS or via email. I needed to transfer both groups of subscribers to my new feed seamlessly. The FeedBurner folks helped me do just that, and I didn’t lose a single subscriber during the move. I detailed that process in this post.

What about internal links? If you’ve blogged for a while, you’ll have linked to older posts of yours. Those link URLs now contain the old domain, and you’ll need to change all of them at some point, or you’ll risk making those links invalid if you should ever stop renewing your old domain. Fortunately, there’s a Search and Replace plugin for WP that lets you do just that. It works directly with the database, it’s very powerful, and it’s very fast. That means you have to be VERY careful when you use it, because there’s no undo button. You can easily mess up all of your content if you don’t know what you’re doing.

What I did was to replace all instances of “.raoulpop.com/” with “.raoulpop.com/“. That did the trick nicely. I then did a regular site search for all instances of ComeAcross and manually made any needed changes to those posts. (Here’s a thought: back up the DB before you start replacing anything. This way you can restore if something should go wrong.)

Finally, if you’re using the Google Sitemaps Generator plugin, you’ll want to make sure you manually rebuild your site map. You don’t want to have your old site information in the site map as Google and the other search engines start to crawl your new domain.

That’s about all I did for the site content transfer. It occupied half my New Year’s Eve night, but it was worth it. It’s quite a bit of work, but if you plan it out, it should only take you 4-5 hours or less to execute the transfer, depending on your familiarity with this sort of thing, and the speed of your internet connection (keep in mind that upload speeds are a LOT slower than download speeds on most broadband connections).

Given how much work is involved, I was a bit surprised to see Matthew Mullenweg (founding developer of WordPress) talk about doing his own switch to a new domain in “2 seconds“. I think what he referred to is the changes to the .htaccess file and the blog URLs, which are the fastest parts of the process. There is, however, quite a bit of work that needs to take place behind the scenes before those switches can get flipped. And I also believe (someone correct me if I’m wrong) that he pointed both domains to the same web files — in other words, re-used his existing WP install — so he bypassed a lot of the steps that are otherwise required.

Hope this proves helpful to someone!

Standard
Thoughts

Better video

I’ve wanted to be able to post the videos I upload to Vimeo on my blog for some time, but the WP video plugins just hadn’t caught up. I’m glad to say that I found one tonight. It’s called, appropriately enough, WordPress Video Plugin. It’ll work just great for most people, so I encourage you to try it out.

I wanted to take advantage of the full width of my blog’s content column, so I modified the Vimeo code to make sure that my videos get sized to a width of 550 pixels and also stay centered.

I’m happy to say that I really like the results. You can see the modified plugin in action on these three posts:

Since I record my videos at a resolution of 640×480 pixels, it’s only natural that I display them at the maximum width possible on my site, right?

Standard
Thoughts

Something happened to ComeAcross

Something really good, that is. Over the weekend, I worked on improving the site functionality and on presenting a unified front, so to speak. I eliminated some sections, created some new ones, deleted tons of categories, and introduced some new feeds. The best way to explain it is to show you a screenshot of the sidebar. Have a look at it, then scroll past it to read the details.

The new ComeAcross sidebar

First, let me explain why. The gist of this effort is simple, at least to me. I’m trying to build an online brand, and it’s no good to have my online properties looking scattered and isolated, even when they’re part of the same brand. Second, I needed to value my work a little better, and to present it in ways that are easier to digest. I have a ton of content, but it’s not easy to find. I write on many subjects, but most people aren’t necessarily interested in all that I write. Add to that my constant lament about having too many categories, the release of WP 2.3 which allowed for native tagging, and finding John Godley’s awesome Redirection and Headspace plugins for WP, and it all adds up to some serious blog work that I’d been aching to do for some time.

You may remember I had other site sections just a little while ago, sections such as Blog, Photos, Videos, Podcasts and Faves. Those were located on individual sub-domains. ComeAcross resided under Blog, my photos posted to Flickr or Zooomr resided under Photos, and my videos posted to Vimeo or YouTube resided under Videos. The ComeAcross Podcasts resided under Podcasts, and I was using a podcasting platform called Loudblog to publish them. The Faves section displayed my Shared Items from Google Reader. But the problem was that all of these sections were separate. They were part of the same brand, but to search engines, they were different properties. I needed to bring all of my online content under one fold. I decided to do away with all of the subdomains and integrate everything into my blog, and that’s just what I did. I thought long and hard about this, and realized it was best to have everything under one roof, even though that meant my podcasts wouldn’t have a dedicated podcasting platform.

You’ll notice I’m advertising multiple feeds in the Meta section. I’d been sitting on some really good feed URIs from FeedBurner and not really putting them to good use. After re-categorizing my posts, I was able to re-dedicate those feeds to the my various categories, in order to allow you to subscribe to whatever interests you. I’ve got the main site feed, the comments feed, the articles feed, the photography feed, and the podcasts feed. It adds up to more choice for the reader. Incidentally, mouse over the articles and photography feeds, and look at the URIs. Isn’t that awesome? Can you believe I actually have those URIs? 🙂

Related to the feed changes mentioned above: my apologies to anyone currently subscribed to the following feed: feeds.feedburner.com/Information. I’ve been using it for my podcasts, but changed my mind and decided to use it for my articles instead. I know there were some diehard subscribers who stayed with that feed even though I put out no new podcasts in over a year (!), and they’re probably pretty confused right now. If you’re one of those, many thanks for sticking with me, and I’m sorry for switching content on you like this. The new feed for my podcasts is: feeds.feedburner.com/Raoul-Podcasts. And yes, in case you’re wondering, I’m working on a new podcast which I’ll put out soon (this month). 🙂

This brings me to the Categories. At some point, I had over 60 categories for my posts. What I was really doing is using categories as tags, and I shouldn’t have done it. After upgrading to WP 2.3, I decided to use categories as categories and tags as tags. I deleted almost all of my categories, and ended up with only five: articles, photography, podcasts, ideas and announcements. Now each one of my posts goes into only one category. Since I’m using tags as well, you can explore ComeAcross via categories, then click on the tags that interest you to get only the posts that you want. (I haven’t tagged all of my posts yet, that’s an ongoing process. I’m also displaying a tag cloud at the bottom of the sidebar, but I’ve got to work on the formatting of that text. I’m not quite happy with how it’s getting displayed. )

Finally, have a look at the Archives section. This is a small change, but it makes a big difference to the reader. I’m only displaying the years for my posts. This allows you to get a better idea right away of the spread of my content, and to explore the time period that you’d like to see. I still need to do some work on Archive and Category browsing, and on the Search results page.

I’m constantly working to improve ComeAcross, because I really want it to grow into a useful, well-read source of information. Here are just a few of the posts that talk about other changes and progress I’ve made:

Standard
Thoughts

Catching a code injection hacker in the act

Several days ago, I installed the Redirection plugin from Urban Giraffe. It’s truly awesome, in more ways than one. John Godley, you are an amazing programmer! As I re-arranged the categories on my blog, I tracked the 404 errors through the plugin. On Saturday morning, I noticed the following bit of information in my log:

You can click on the thumbnail to view the screenshot at full size. Look at the entries for IP address 65.90.251.169. Notice something peculiar? That’s a hacker trying to inject malicious code into my pages. He was trying to call to code contained in a text file by the name ide.txt located on a possibly compromised domain.

First, I checked out his domain, new-fields.com. It looked legitimate. The text file was another story altogether. Have a look at the screenshots above. I also saved the code to my computer in case it ends up disappearing from the hacker’s website.

I tested the code, and it looks like some pages from the podPress plugin are targeted or affected — at least that’s what the error message given by WP referenced when I ran the code. I had that plugin enabled at the time, and I’ve disabled it since. It seems that the code tries to modify one of the header.php pages, along with checking disk space (?). So I thought, let me find out who this hacker is. Apparently, he’s from Napperville, IL, US, or at least that’s where his IP address lives.

What’s more, I thought it’d be interesting to see who owns that domain name where his text file resides. It turns out to be one Samir Farajallah from Dubai.

So what we’ve got so far is some dude in Dubai who owns the domain where the malicious code resides, and some hacker in Napperville, IL, trying to exploit my blog using that malicious code.

Wait, it gets better… On Saturday evening, I have another look at my blog’s 404 log, and I find that some other hacker from Vietnam (IP address: 203.171.31.19) is trying to hack into my blog using that exact same code, but this time the text file’s located on some domain in Argentina. That last link leads directly to the text file with the malicious code, but it’s harmless if you browse it. It only works if you run it as PHP code, like these hackers are trying to do.

So far, it looks like I’ve got two hackers, who may or may not be working together, using the same malicious code, located on two different, possibly compromised domains, and trying to modify my header files, possibly to insert code in there that will display splog content or some other stuff.

Update: It looks like three more hackers are trying their luck today, on Sunday morning, 9/30/07. Their IP addresses are 65.98.14.194, 66.79.165.19 and 66.11.231.48.

What I can tell you is that they haven’t been successful. I checked all of my files, and none of them have been touched. Everything’s fine. At this point, I’m not going to waste any more of my time trying to hunt them down. If I see that the attacks continue, I’ll notify my web hosting provider, along with the hosting providers of the other domains, and I’ll also notify the ISPs who own the IP addresses used in the attacks.

My thanks go out to John Godley for the wonderful Redirection plugin. I wouldn’t have been able to catch these hackers without it. I don’t often check my 404 log files, although I should.

I’ve been working in IT for 13 years or so. Maybe I’m naive, maybe I’m too honest for my own good, but I’ve stayed away from this hacking business, and I’ll continue to do so. It’s just not a sustainable lifestyle. I believe that the bad stuff you do in life will catch up with you sooner or later. It’s inevitable. These hackers will get what’s coming to them, and I won’t even have to lift a finger beyond what I’ve done so far.

Standard