One Less Plugin, Thanks Jetpack

As a developer, I’m a huge fan of “red changesets”; when you get to delete more code than you add. Less code means less maintenance, less potential for bugs, security problems, etc. Today I got to “red changeset” the plugins powering this website because I realized I could just go ahead and delete the plugin I was using for update notifications.

I’ve been running a plugin here for a while now that emails me when I have updates available for plugins, themes or core on my WordPress installation. With the latest version of Jetpack though, I get that notification via a simple little indicator on WordPress.com (and I’m there every day already). In addition to the notification, I’ve enabled the auto-update feature for all plugins on all sites connected via Jetpack, so now I don’t even have to think about keeping my plugins up to date.

There’s a lot more cool stuff coming in this Jetpack/WordPress.com integration, and I’m really excited to see (and work on) what we can do to help make life easier for self-hosted users while leveraging the power of WordPress.com.

A Whole New Dented Reality

Back in April, this blog celebrated 10 years of existence, and it’s been almost five years since the theme on this site changed. Yesterday I decided to just go ahead and flip the switch on something I’ve been working on here and there since late last year. It’s a complete new, very experimental theme that I call “Homeroom“.

There are some specific things driving what I was aiming for with Homeroom:

  1. First and foremost, a lot of the decisions are based around the intention that it would use Keyring and the Social Importers to pull in my content from all over the web. With that much data being collected and displayed here, I realized I couldn’t go exactly with a traditional blog layout, and had to get a bit creative with some types of data.
  2. It’s intentionally heavily integrated with Jetpack (although it works without it). Jetpack powers the comments, infinite scroll, sharing buttons and more. I’ve taken care to try to make that integration feel as native as possible (although I know there’s more to be done there).
  3. Homeroom started out as an _s-based theme, although it’s been pretty radically modified from there.
  4. I’m using a technique that I’ll call “post lookahead” when going through the loop to check the next post, and do some things like collapse sequential posts if they’re the sam type of thing.
  5. I wanted something with a bit of a timeline feel, since it’s now collecting some much data, and it’s all sequential; I wanted to show the relationship of different things along that sequence of time.

It’s not particularly beautiful because, well, I’m not a designer 🙂 In the near future I’ll be talking to some friends who are though, so hopefully I can get some advice on improving things there. I’ve been mainly focused on getting it working the way that I wanted it to. Here are some other bits that might be interesting:

  • Allows custom Header and Backgrounds via wp-admin
  • Options (currently defined in a file, because I haven’t built a UI) to control some preferences around stuff like hiding Foursquare check-ins until a set amount of time after they happened (to help avoid the creepers!).
  • Heavy use of Post Formats
  • Ability to hide Twitter replies, which you probably don’t want showing up on your site.
  • There’s the beginnings of a front-end post box (partially inspired by o2), although it doesn’t actually work yet
  • Handles Foursquare checkins differently. Rather than showing them all as individual posts, it “collects” them and shows a single, multi-point map at the end of each day.
  • Shows a map automatically on any post using the WordPress-recommended postmeta fields.
  • Using the new taxonomy introduced in Keyring Social Importers 1.4, allows you to easily filter your display based on where posts were imported from.
  • Includes a custom icon font from IcoMoon to display social icons indicating where things were imported from.
  • Search results use a Masonry-based layout so that you can quickly scan the results. Unfortunately something is broken with the search mechanism on this site right now, so that’s not working 🙁
  • Automatically lists out child-pages when you view a Page that has them, for example my Projects page.
  • Dynamic heading re-writes: format your posts for individual viewing, and the H1 etc tags are automatically “stepped down” on listing pages to maintain hierarchy
  • Has some fun mapping stuff for TripIt in particular, which draws out a “flight path” between airports. Check it it out in my TripIt section. Here’s a fun one.
  • Uses Photon to apply some effects to images in places
  • Borrows liberally from the styling of sites like Instapaper and Readability.

There’s still a lot of work to go, both on the theme itself and the importers that power a lot of the content. I wanted to get this online because I knew that’d motivate me to spend more time on it. I’m also hoping that other folks might be interested and/or have some ideas on ways to improve the theme. I haven’t got all of my content imported yet (that takes a while 🙂 ), but you’ll see more and more things fill in over the coming week hopefully.

If you’ve got any ideas for improvements, I’d love to hear them down in the comments!

Welcome to the new server

I’ve finally gotten around to moving this site (along with all my other random sites) onto a single server. It’s all now hosted at Media Temple, on a 512MB (dv). We’ll see how that goes. I’ve got a bunch of things to write up once the move is complete, but if you’re seeing this then it looks like we’re most of the way there.

There’s definitely some more tuning and tweaking to happen, but at least I have my memory usage below 100% 🙂

Running WordPress 3.0 alpha

I’m now running the development version/alpha of WordPress 3.0 on this blog so that I can get a feel for any changes (and fix any bugs!) before the official release. So far so good, the upgrade was clean and nothing significant is broken. This release is going to be awesome!

Changes afoot(er)

I’ve been tinkering in the footer of this site a bit, check it out and let me know what you think. Nothing major, but I’ve…

  • Added some shadows to make the footer appear “sunken”,
  • Added some neato jQuery so you can collapse the footer if you’re not interested,
  • Added icons next to the header of each block.

When I get a chance I’m going to make another version of my current sidebar lifestream that will accept iCal feeds and create a simple, combined feed so that I can include Upcoming.org, Facebook and Meetup.com events in my events feed as well. That is all, carry on.

Simple Activity Streaming with SimplePie

A few different people have asked me recently how I created the activity stream/life stream you see in the sidebar of Dented Reality. It’s actually really simple, and all it does is load up the feeds from a few different locations, combine them in date order and then output them on my page using an HTML “UL” (unordered list). Based on the source of each feed, it also adds a CSS class to each list element (LI) so that I can add an appropriate icon. Here’s the complete code that I use, and then I’ll explain some parts of it, and some of what makes it tick: (more…)

Updated to WordPress 2.8

I’ve just updated this site to WordPress 2.8, using my favorite method for handling a WordPress install, Subversion. Here’s what I typed at the command line to upgrade:

svn switch http://svn.automattic.com/wordpress/tags/2.8/

Once that was complete, I logged into my admin panel and completed the DB upgrade, then I had to check some plugins. I had these problems/changes:

  • TinyMCE Advanced had an update available, so I did that,
  • One Click Plugin Updater seems to clash with the new Plugins page, and I don’t really need it now anyway since its functionality is in core, so I deactivated it and then deleted it
  • IntenseDebate seems to clash with some of the JavaScript now used in the admin, but I work with those guys now, so I’m working on a new version of the plugin to address those issues! My comments are a bit ugly while I deal with this, but I figure that’s a good motivation to get it done ASAP.

Have you upgraded yet?

2 New Projects

I forgot to mention that I have 2 relatively new projects launched in the Projects section of this site:

Check them out and let me know what you think.

Dented Reality v5.0

You’re now looking at (I think) the fifth major revision of this website.

It’s been a (long) time coming, but I finally got it online today. I thought it would be fitting. It is a day of change after all. It’s definitely time for a change here at Dented Reality — the previous version was online for around 5 years (April 20, 2003 according to the WayBack Machine). I think it stood up quite well considering the changes that took place in the browser landscape in those 5 years.

Dented Reality v4.0

Dented Reality v4.0

You may notice that there are a number of new posts here, which just magically appeared. That’s because I was posting while I was developing this site on my laptop, but I didn’t want to post to the old site. For the record, here are all the posts that are new as of today (oldest to newest):

There are going to be a lot of small tweaks to be done still, and I’m sure there are some broken links etc, but I think this version is quite a step up from the previous one. It reflects a change in direction for the site and I think does a better job of showing who I am and what sort of projects I engage in.

Dented Reality v5.0

Dented Reality v5.0

Comments are now open (and powered by IntenseDebate), so please feel free to leave a note on what you think of the new site on this post!

Comments Disabled

Well, I’ve had enough of dealing with blog-comment-spam for now, so I’ve decided to disable comments until I can come up with a satisfactory solution. I have 123 blog posts that I’m going to have go through by hand – AGAIN – to remove spam from. I don’t have time for this, but I refuse to be a PageRank monkey for these losers by leaving their links up and accessible on my site.

It really saddens me to have to do this, and I think it reflects very poorly on the current state of the internet. Damn the idiots who are blog-comment-spamming, damn them to hell and back. People like you are making the internet a worse place to be. We’d all be much happier if you would go away and die in a hole somewhere.

Settling In At DreamHost

Well, things aren’t going too badly with DreamHost, I’m sorting out all my domains and CGI, databases, PHP etc and things are looking good. When I get dentedreality.com.au across, then I will know things are good 🙂

UPDATE: Things are looking very good – .com.au is transferred properly and appears to have propagated pretty much everywhere, judging by the traffic on my old account. I’ll leave it there for a couple days longer and make sure I’ve migrated everything properly, then close my account at phpwebhosting.com.

New Web Host Soon

Well, I think I’ve finally outgrown phpwebhosting.com as my host, so I’ve started the process of setting up my new account with DreamHost.com.

The reasons that I have decided on DreamHost are along these lines:

  • UNIX Servers (personal requirement)
  • SSH/Shell Access (crucial)
  • .htaccess Editing (crucial)
  • CGI/PHP (crucial)
  • Ability to host multiple domains/subdomains (can only have 1 domain on phpwebhosting)
  • IMAP Mail server – good benefit, since I am switching to web-based mail
  • Good price – for me to host 10 domains there (6 properly + 4 mirroring) is $14.95 per month
  • Good reputation – checked around and only heard good things. The usual criticism of their support, but hopefully I won’t be using it much, so it won’t matter 🙂
  • FTP – I can add users who will have FTP access to certain areas on my servers, which will be good for sharing some space with friends
  • crontabs – can edit them and set them when I want

So please bear with me over the next few days as things might get a little messy on this site (and related ones) while I am moving things around between this host and my new one.

UCMore At It Again

A couple weeks ago, I realised that the UCMore Toolbar was hitting my website something like 20,000 times a day (based on the User Agent string in my Apache logs). I looked into their site and it looks like it’s trying to get my favicon.ico (which I don’t have) to use as part of a suggestion for similar content to people using their toolbar.

I emailed the guys there and asked them to remove my site from their toolbar because that traffic was a waste, and the icon wasn’t even there. They replied courteously and said that they’d remove my site. A couple days later, the traffic dropped off to around 10,000 hits a day, but has since returned to, and exceeded, 20,000 hits a day.

I emailed them again, and they say they are taking care of it, but so far it looks like something similar is going to happen again (ease off, then jump up again). If things don’t change, I’m going to have to revert to a technique I have seen used around the place and use Apache Rewrites to redirect all traffic coming from their toolbar back to their site, which will be something like an automated DoS I suppose, although I don’t suppose that this amount of traffic will cause any problem on their server, but it’s a statement if nothing else.

Waiting, waiting — will give them 5 days from now.

blosxom Plugins Online Again

In case you didn’t notice, all my blosxom plugins are working again!

Now that that is taken care of (ended up being a naming conflict within a plugin), I can eventually get around to doing what I had actually intended on doing, which is upgrade to the official release verion 2.0 of blosxom, and then implementing some more plugins to create better RSS feeds and probably sub-topic menus within the templates to aid in navigation of the sections.

Thanks to phpwebhosting.com (my web host) for giving me access to an error_log, even if it’s only a shared one across the whole server 🙂

Domain Offline… Again

Up until recently, I would have recommended phpwebhosting.com with flying colours for their fantastic, very cheap web hosting service. Unfortunately, over the last couple weeks, I have had a few days where pretty much for an entire day my site has been unreachable. I haven’t really had any feedback from the staff there as to what’s going on, except to say (after the fact) “we had to do some upgrades, but they are finished now”… only to have another day’s outage soon after.

I still think they are a great provider, but they are going to have to be very stable for a pretty long time to get me back to my very happy status of yester-week…

Got Some Flavour For You

Here’s the flavour files and style sheets that I use for this blog. Please note that they have been modified slightly (story.dr especially) since I am using a “custom” version of blosxom, with some Apache Rewrites to handle my URLs in a prettier way than normal 🙂 This may or may not have worked, so you might need to play around a little with that one file. Also, you will probably want to modify the paths to the style sheets in head.dr so that they are full paths, or at least root-relative (which is what I use, if you are interested).

Also please note that I am using these plugins, so there are references to their output in the flavour files;

  1. writebacks
  2. calendar
  3. breadcrumbs

That’s it – unzip and enjoy! I’ve named the flavour files *.dr to avoid overwriting any of your existing flavours, so that shouldn’t be a problem for you either 😉