Blog


Alternative Comment System

I spotted something that I found neat today. A blogger named Wulf recently devised a system for tracking blog comments, without using any native comment system.

He uses the Blosxom blogging system that doesn't (as far as I can tell) natively support comments. Additionally, any system for keeping track of comments is prone to being inundated with spammers. So when Wulf decided that he wanted comments for his blog he decided to use a comment system that he already knew about: Flickr Photo Comments.

The way it works is rather simple:

  1. You create a post for your blog.
  2. You then pull down a list of your photos using the Flickr API.
  3. You associate one photo with the particular post.
  4. You then add each Flickr Photo URL to the bottom of your post, as a way of commenting.

For example, here's a post from his blog, and here's the associated comment page.

There are a couple things that I like about this technique in particular: It completely kills the comment spam problem - leaving that to Flickr, it brings more views and comments to your Flickr photos, and it uses a system for an unintended purpose. All in all, I really dig it. I hope that he chooses to build a plugin out of it, as I think others would really enjoy using something like that.

Update: More discussion on reddit.

Tags: comments, blogs, flickr

eJohn Aggregation

The eJohn web log has been rather quiet lately - but that doesn't mean that I haven't been working! I'm currently, actively, working on my two projects: jQuery and ideaShrub. I've also been making blog posts to both of their respective web logs (ideashrub is quiet right now, but I'll be posting more, soon) instead of eJohn, proper. So, my question is:

Should I aggregate my other web logs into eJohn.org?
Add in posts from the jQuery Blog.
Don't add in posts from the jQuery Blog.

Add in posts from the ideaShrub Blog.
Don't add in posts from the ideaShrub Blog.

Add in posts from my del.icio.us account.
Don't add in posts from my del.icio.us account.



This would mean that the eJohn RSS feed (and main page) would include posts from the jQuery Blog and the ideaShrub Blog - definitely increasing the posting volume. Would you, as a reader, be interested in this? Or should I keep my various projects completely separate? Thanks in advance!

Tags: rss, aggregation, blogs, poll

Word to the Wise

Word to the Wise: If you run a dedicated web server for multiple people and web sites - make sure none of the sudo-capable accounts use a dictionary-based password. Ever. With that in mind, the past few days have been a complete mess. Luckily, all the data and files were saved from my various web sites (this one included) - and no data was lost or stolen. I forgot to copy a couple .htaccess files during the transfer, so I'm working on rebuilding them from memory. Regardless, everything should be 'ok' with this web site now, all the bugs seem to have been cleared away. I still have a couple web sites that need to come up (ideashrub, and some new, unmentioned, projects included) due to the fact that they need some additional TLC. Sorry for all of the mess.

To make up for it, I'm planning on releasing a project every day for the next couple days. I've been playing with some new technologies and I really want the chance to show all my work off.

Tags: server, blogs, hacking

Column Writing Class

This summer I'm taking a column writing class at an excellent literary center, just down the street, called Writers and Books. If you're driving down University Ave, you can't miss it - they have a giant pencil sitting out front. The premise of this class is to identify a topic and title for your column, help you write (and critique) it, a find a newspaper, magazine, or journal to send it to. The whole process is very interesting and they're very accepting of 'bloggers' joining the class. Both Julia and I have gone in order to learn how to 'blog better'. Most of the rules that apply to column writing apply to writing in a blog, also - except for a few.

  • There is no editor pouring over your entries and critiquing how you write.
  • You get to directly interact with you audience (in the form of comments, as opposed to by snail-mail).
  • You write much more often then for an actual paper - most columns are every couple weeks to once a month, while bloggers generally shoot for at least once a day.
  • The barrier to entry is much lower. It takes nothing to setup and run your own web log - however, having to jump through all the hoops necessary to get an column published in a paper is very intimdating.
  • The pay structure is very different. Most entry-level independent columnist only make a couple dollars per column, while more experience ones will make a couple hundred dollars. Making money with blogs is completely dependent on your audience and you're ability to attract people to click on the advertisements (if you have any).

Even with all the differences, having a constructive writing class is very good for me - I hope to be able to publish much more over the course of the upcoming months and maybe even maintain my daily post schedule that I'm working on right now.

Tags: education, column, author, writing, blogs

Blogging is a 'Problem'

I read an article written by "Ivan Tribble" (a pseudonym) over at the Chronicle. Ivan was part of a committee, at a small college, looking to hire a new professor. It just so happened that a couple of the people vying for the position also had web logs. Ivan's argument is that the majority of web logs are highly innapropriate for someone to get a job with - and that may be the case. However, one person, in particular, caught my eye:

Professor Turbo Geek's blog had a presumptuous title that was easy to overlook, as we see plenty of cyberbravado these days in the online aliases and e-mail addresses of students and colleagues.

But the site quickly revealed that the true passion of said blogger's life was not academe at all, but the minutiae of software systems, server hardware, and other tech exotica. It's one thing to be proficient in Microsoft Office applications or HTML, but we can't afford to have our new hire ditching us to hang out in computer science after a few weeks on the job.

Now, I have a real problem with this. It seems as if the position that this person is going for is not immediately related to technology, which is fine. However, Ivan seems to think that simply because this person has a web log that discusses technology, that he would immediately run off to another part of campus. Can't a person's hobbies be different from their profession? If a person had a web log dedicated to cooking, writing, politics, or philosophy - would that person immediately run off to be with people of a similar interest? The whole notion that having interests that aren't inline with your profession, and being vocal about them on the Internet, is a negative attribute is ludacrous.

Tags: academic, business, blog, blogging, blogs, research

Number of RSS Readers

A piece of information that I've been analyzing, in my spare time, is the number of readers on this web log. How this is done can be very tricky, as there are a number of factors (people can click your RSS feed and 'view' it in their browser, but it doesn't mean that they're reading it on a regular basis). Regardless, the easiest way to figure out, approximately, how many readers you have is to count the numbers provided by news aggregators in their user agent string. Some information on common user agent formats can be found in an excellent write up on InsideGoogle.

I've also pulled together some code, from a Perl application that I'm writing in my spare time, if you're interested in tracking something like this yourself.

my %rss = (
  "Blog" => ["/index.rdf","/?p=rss","/blog/index.rdf"],
  "Links" => ["/links/index.rdf"],
  "Projects" => ["/projects/index.rdf"]
);

my @rss_names = qw( users subscribers readers );
my %rss_count = ();
my %rss_ip = ();

sub rss {
  my ( $page, $user, $ip ) = @_;
  my $found = 1;

  foreach my $i ( keys %rss ) {
    foreach ( @{ $rss{ $i } } ) {
      if ( $page eq $_ ) {
        unless ( exists $rss_ip{ $i }{ $ip } ) {
          my $count = 1;
          foreach ( @rss_names ) {
            if ( $user =~ /(\d+) $_/i ) {
              $count = $1;
            } elsif ( $user =~ /$_ (\d+)/i ) {
              $count = $1;
            }
          }
          $rss_count{$i} += $count;
          $rss_ip{ $i }{ $ip } = 1;
        }
        return 0;
      }
    }
  }

  return 1;
}

In a nutshell, this is what the code is doing: Each RSS feed is analyzed, of which each feed can have multiple URLs. The URLs for the RSS feeds are specified in the first declaration:

my %rss = (
  "Blog" => ["/index.rdf","/?p=rss","/blog/index.rdf"],
  "Links" => ["/links/index.rdf"],
  "Projects" => ["/projects/index.rdf"]
);

(This pieces of code is what I use on my weblog.) I especially like the multiple URLs to RSS feed due to mis-behaving news aggregators not following updated permanent redirects. This way I can make sure that everyone reading the same content is pulled together.

The next aspect of RSS tracking lies in figuring out if the IP of the RSS user is unique, or not. Currently, this is the only way to track users who don't use some form of a public aggregator and only pull information using some form of a desktop news application.

The main subroutine, itself, accepts three arguments. $page takes the URI of the requested page (e.g. /index.html). $user takes the user's user agent string. $ip takes the user's IP. The best way to use this subroutine is by iterating over your web server access logs (whatever form they may be in), parsing out the three pieces of information described above, and feeding it into this method.

After you're done parsing all the requested information from your logs, you now have a nice little hash of information, that will look something like this:

%rss_count = (
  "Blog" => 155,
  "Links" => 31,
  "Projects" => 45
);

Unfortunately, you end up having to take this figures with a grain of salt, considering that users sometimes request a feed, but end up not becoming a regular subscriber. You'll probably notice that you're subscription numbers fluctuate on a day-by-day basis, this is mostly due to the fact that different numbers of people read on different days of the week (weekends are very slow reader days).

So, play around with this code, have some fun - I'm hoping to release a full stats app that I've developed (using the above code), here soon.

Tags: rss, blogs, news, aggregator, data, analysis, stats

Idea Sling Review

I came across a blog this evening, disturbingly named Idea Sling. (Disturbingly due to the similarity in name to my current project: ideaShrub) I was very concerned that this web site was, somehow, going to be in direct competition with my work, however that does not seem to be the case.

In a nutshell: The premise is that if you have a good idea, but neither have the time nor means to implement it, you should free it up to the public. To quote their mission statement:

Creative People and Go-Getters are celebrated on this site. Those personas often don't exist in the same person.

Instead of letting your idea fester and nag you until the day you die, let it free, into the wild. Who knows it may take wings under the guidance of some industrious soul.

What this site reminds me of, more then anything, is a really slooow version of Half Bakery. Honestly, I see no advantages to using this particular service over the other long-established web site. I wonder if they even realize that Half Bakery exists? Granted, sometimes the ideas on Half Bakery are a little bit out there, it is still an excellent forum for project proposals (similar to the ones on Idea Sling).

On a closing note, ideaShrub is going to, incidentally, provide the core service of both Idea Sling and Half Bakery, and much more, giving users the ability to publish, broadcast, share, and collaborate their ideas in a much more open (or private) forum. I'm tempted to auto-create some new shrubs (using the handy API) filled with data from both of these web sites, so that people can easily browse them in a 'familiar' interface.

Tags: ideasling, review, blog, blogs, idea, ideas

Feed Links in Safari

A good new feature in Safari 2.0 is the RSS reader, which I'm sure everyone has heard about by now. However, Apple feels compelled to change all feed URLs from their original http: to a new feed:, making it annoying to use that address elsewhere. The one area that is particularly frustrating is trying to subscribe to a web site using a bookmarklet (such as one provided by most of the major news aggregator services). So, in a nutshell, here are a bunch of modified bookmarklets that will work in Safari, handling the wonky feed URLs easily.

Drag the following link(s) your bookmark bar:

Note: The above links will still work in Firefox, IE, Opera, et. al.

Tags: apple, osx, safari, rss, feed, blogs, bookmarklet

· « Previous entries

Current Projects

jQuery JavaScript Library

jQuery

Comprehensive DOM, Event, Animation, and Ajax JavaScript Library.

Recent Projects

Pro JavaScript Techniques

JavaScript Book

The best techniques for professional JavaScript. Published by Apress.