Archive for August, 2008

Use OpenId in your WordPress blog for comments and your identity

Saturday, August 30th, 2008

Worn old welcome mat The web has evolved into this amazing place filled with user-created content, blogs, wikis, photo sharing sites, and users can enter comments on just about all of them. But there’s a problem - commenting in Blogger, Flickr, and some random self-hosted WordPress blog requires you to create user accounts or type in tedious contact information separately in each one.

As a user, you probably want to spend your time commenting rather than remembering usernames and passwords.  As a blogger, you no doubt want to make it as easy as possible for your readers to comment on your posts.  What we need is some really powerful identity management system to make this all possible.

OpenID is an attempt at creating such a system that seems to be growing quickly.  Instead of hundreds of usernames and passwords you have a simple URL that you control.  I just added it to my WordPress blog to see if it’s helpful, and I’ll walk you through the steps you need to take to use it and allow your commenters to use it too.

How to use your blog as your OpenID

First off, you need to get an OpenID.  Luckily, you probably already have one.  Major sites like Blogger, LiveJournal, Flickr, and Yahoo are supporting OpenID so you can just go with what you have.  You can also go with a specific provider.  Which one should you use?  It doesn’t really matter, since you can use your site’s URL as your OpenID and switch providers whenever you want.

Now that you have a URL, you need to use delegation to allow your site’s URL to stand in.  In WordPress, this means opening up the header.php and adding a few lines to your <head> section.  If you’re using Google’s Blogger (like me), the links would look something like this:

<link rel=”openid.server” href=”http://draft.blogger.com/openid-server.g” />
<link rel=”openid.delegate” href=”http://blogname.blogspot.com/” />

One side note - if you view the source of this page, you won’t see these lines.  I’m using my root domain instead.

For more information, see this post by Sam Ruby.

How to use OpenID for comments in WordPress

This part is simple - like everything else you want to do with WordPress, there’s a plugin.  Just download and install the WP-OpenID plugin and activate it.

You should notice a little OpenID icon in the fields for the comments below this post.  Go a head and test it out.

Sphere: Related Content

New social news site - NewsTrust.net

Tuesday, August 26th, 2008

I happened across NewsTrust.net, a new social news aggregation site.  I’m a big fan of other sites in the category like Reddit, despite their flaws, and NewsTrust includes a tagging system so I feel obligated to investigate it like any other folksonomy.

So I created an account to give it a try.  The big difference between this site and others is the emphasis on quality journalism.  NewsTrust asks for your real name, and in addition to giving weight to users who write good reviews and get votes from other users, it adds factors like experience as a journalist to the mix.  It makes specific disticntions between mainstream media sources and altenrative media sources.

It’s an interesting idea, and it’s good to see journalists working together with programmers and web developers to make use of some of the social software techniques that newspaper websites so often catch on the trailing edge.  The site’s features seem geared toward providing users with the best that professional journalism has to offer with a dash of brilliant amateur writing thrown in - even the page layout looks more like a newspaper site than a Digg or Del.icio.us clone.

But I’m not sure it will work, at least not without some tweaking.  I don’t know if they put a lot of weight into the “experience” of users, but it didn’t require any verification of my 5-9 years of journalism experience (for the record, that’s four years in college plus more than a year of stringing here and there).  Here’s the problem of trust again, though hopefully mitigated by fellow users’ reviews.

The other issue is interaction design.  The widgets and buttons all work just fine, but when you rate a story you’re asked to score on six dimensions: Recommendation, Trust, Information, Fairness, Sources, and Context.  Only the first is required, but give users options and they are bound to feel obligated to exercise them.  Give them too many tasks and they will tend to give up.  So the simple interaction model of Reddit, where users don’t even have to click through to rate a story, might be information-poor but participation-rich in comparison.

Still, I will play with the site more and I wish them luck, I think they have some promising ideas.  For example, in their blog they talk about gathering sources from other countries based on big world news events, specifically the Russian invasion of Georgia.  Reddit is only fleetingly so reflective and few sites use temporary peaks in interest to get long-term data on source credibility.

Sphere: Related Content

Create a survey or poll for your blog with Google Docs and Spreadsheets

Saturday, August 23rd, 2008

You may have noticed the snazzy poll I posted on my blog the other day.  There’s a number of different survey and poll plugins for WordPress but all the ones I’ve looked at have caveats and limitations.  You can also use a service like SurveyMonkey but it has some data limitations for free accounts.  Instead, I used Google Docs and Spreadsheets to create a survey quickly and easily.  Here’s how to do it.

1. Getting to Google Docs and starting your form

We’re going to assume you have a Gmail account or have signed up for some other Google service already.  Go to http://docs.google.com.  Click on New -> Form

2.  Creating your form

This is actually pretty easy, and the online help does a pretty good job explaining what to do.  You have a number of options when creating a question - you can make it multiple choice, full text, or even a numerical scale, and you can mark some questions as required.  If you’re looking for the “Add question” button, it’s up at the top of the page rather than below the last question.

3.  Publishing the survey on your site

After you’ve created your form, use the More Actions button to find the Embed option.  Just copy this iframe into your blog post - it’s that simple. You’ll get code that looks something like this:

<iframe src=”http://spreadsheets.google.com/embeddedform?key=ppevxmL24UqnRb77Xy3AOWg” width=”310″ height=”1044″ frameborder=”0″ marginheight=”0″ marginwidth=”0″>Loading…</iframe>

You can change the height and weight to better fit your blog template.  Keep in mind that some blogging software will not let you post HTML code and others, like WordPress, require you to use the HTML view.

If you can edit your template or sidebar you can even include the poll on every page, instead of just putting it in a post.

4.  Getting data

Here’s where it gets really cool - the data is automatically collected into a spreadsheet that you can share, edit online, or export to Microsoft Excel.  It’s pretty easy to export CSV for a statistical package like SPSS too.

There’s an optional fifth step, creating a chart or graph to let your users see the results, that I’ll cover later.  If you can’t wait just jump back to my post about urban usability and read about how I created the time-series chart there.

Sphere: Related Content

Please take a quick survey - Related posts and social bookmarks

Friday, August 22nd, 2008

A little while ago I added the Sphere Related Content plugin to my blog, and I’ve been using the ShareThis plugin for social bookmarking links for a while now.  The former should theoretically benefit users who want to read more about a topic I’ve written about, while the latter should make it easy to share my articles with others.

WordPress makes it easy to add plugins but I wonder if these are actually useful my readers.  Please take a moment to fill out this survey and let me know.

I used a Google Docs and Spreadsheets form to make the poll.  Later I’ll post about how you can do the same on your blog as well.

Sphere: Related Content

Doing my small part to preserve digital history

Monday, August 18th, 2008

High cirrus clouds and low fog over the Pacific Ocean Years ago, in an undergrad course, one the of the school’s librarians gave a talk about the big risk of the move to digital publishing - historical preservation.  We know what the ancient Greeks thought in part because their words were carved into stone - would we be so lucky if they had used floppy disks?

I wasn’t completely convinced that the situation was so dire then, and I’m still not really worried.  The production and storage of information continues to grow exponentially, and I think the real problem for future archeologists will be dealing with information overload rather than some hypothetical gap in the written record.  But I have been thinking a lot about my own digital history lately so I spent part of this weekend looking at old papers from college and publishing them on my site.

I don’t think my meager efforts will be much help to future historians (much less reverse the entropy of the universe), but I did find some interesting stuff that I probably should have posted for the world to see a long time ago.

For example:

The more I dig up and paste into my WordPress archives the more I realize a few things.  First, a distinct lack of content between undergrad and grad school - I’m doing a much better job of writing without assignments now than I did then.  Second, a hard drive crash in 2003 resulted in a gap in my saved emails - this hurts more now that I’m looking back through things.  Finally, I need to make a point, for the rest of my life, to just put things out there. It seems like such a shame that I put work into these docs just to have them rot on my hard drive.

I know some of my co-workers, Reid and Wysz, have gone through the process of resurrecting old content to their current website.  Anyone else thinking about doing something similar?  What prompted you to do so?  Or, what prevented you?

Sphere: Related Content

I’m an old-timer when it comes to the Internet

Saturday, August 16th, 2008

Polaroid photos of old wreckers found in the desk Back when I was in college I did an interview with a journalism student at Kent State about online publishing.  I ran across it sort of randomly on my hard drive and thought I would share how I described my relationship with the Internet:

I’m an old-timer when it comes to the Internet.  I began playing around online some time in middle school, back when everything was text and the Internet was more or less just a way to pass messages between local bulletin board systems and universities.  I made my first web site back in high school, and it was a pretty pathetic homepage.

Wow, eight years ago (!) I already described myself as an old-timer.  It’s strange how so much of my life has revolved around the web and kind of fitting that I’m now on a team that helps safegaurd it.

Sphere: Related Content

Map App of the Day: A genetic map of Europe

Friday, August 15th, 2008

I’m a bit of a map geek and a big fan of using maps to convey information geographic and otherwise, so I’m starting a new series of posts - Map App of the Day.  I’ll highlight either a mapping web application or an application of mapping in information design that’s interesting, innovative, or just plain strange.

The New York Times had a brief article about a new study of genetic relationships between peoples in Europe.  The paper, by Lao et al., looked at genotype data from more than 2000 individuals spread throughout Europe.  The map on the right shows the normal geographic map of Europe, while the one on the left maps the genetic relationships between countries.

Here’s a link to a larger version on Current Biology’s web site.

The genetic map is a great example of why you should always consider mapping to illustrate data with a geographic component, and why you should always consider breaking the rules a bit  to get a good representation (most maps don’t show countries overlapping, for example).

This is also a great illustration of how permeable and impermanent national borders really are.  It would be interesting to see the same analysis done with distinctive populations like the Basque in Spain and the Sami in Finland added.

This also brings up with two non-mapping issues about journalism and research.  First off, the NYT article didn’t bother to actually link to the journal article, the researcher’s websites at their respective institutions, or any of the other places that readers would need to go to follow up on this paper or get more detailed information.  Why not?

Second, when I searched for Current Biology I was delighted to see that the journal publishes everything online, available via regular Google search, rather than hiding behind some expensive and proprietary publication database.  Open access is very cool.

Sphere: Related Content

What do you do when Windows won’t even boot?

Friday, August 15th, 2008

Shattered tempered glass still in the frame Several jobs ago I did some phone tech support, and I have been the official “computer guy” for friends and family for as long as I can remember.  This means I have spent far more hours of my life trying to resuscitate dying PCs than I’d like to admit.

My brother’s computer has gone belly up and he’d like to get photos and other important files off his old hard drive.  I thought I’d share my thoughts with the rest of the world as well.

So, something is preventing Windows from even booting.  I’m not there to make an in-depth diagnosis, but it could be due to some corruption on your hard drive or some other strange hiccup with the files that are important to Windows.  You really have three options:

1.  Try to figure out what’s wrong and fix Windows.  This is time consuming, frustrating, and might not be possible in the end.
Pros:  Maybe it will be easy to fix and you’ll be back to work, right where you left off.
Cons:  Most likely it will be a huge pain and there’s a good chance you won’t be able to get it working.

2.  Buy a new hard drive, install it in your old computer, then install a new copy of Windows and important apps.  Now plug in your old hard drive as a second drive so you can copy files off of it.  Make sure you pull photos and other important files first, since it’s possible your old hard drive is failing and will eventually just die.
Pros:  A new hard drive isn’t too expensive, this is a good option if your computer is relatively new and fast and you don’t want to toss it.
Cons:  You have to waste a bunch of time installing Windows and whatever other software you need.

3.  Buy a hard drive enclosure, put your old hard drive in it, and then plug it in to a new computer and/or laptop so you can copy files off of it.  Again, make sure you pull photos and other important files first.  This is a good option if you already have a new computer lying around or if your old computer was getting slow and obsolete and you want to get a new one anyway.
Pros:  Hard drive enclosures are pretty cheap.  You can plug your old hard drive in just about anywhere to get your files.
Cons:  If you don’t happen to have another computer sitting around (or weren’t planning on buying one) this is the most expensive option.

Of course, if this is your work PC, you have a fourth option - give it to your company’s desktop support and let them deal with it.

And no matter which option you pick, remember that it’s only a matter of time before your computer has some sort of problem, so figure out a way to backup everything you really need.

Sphere: Related Content

Update to Altocumulus Wordpress Tagging Plugin - version 0.2

Wednesday, August 6th, 2008

Screenshot of my tag cloud Wordpress plugin in action

Everyone has tag clouds all over the web, but are they really useful?  Altocumulus is an attempt to use tag clouds as a real navigational system in Wordpress blogs.

Install the plugin and it will automatically put a cloud of related tags at the top of all your Category and Tag pages.  Hopefully this will serve two purposes:

  1. Users who end up on a general category page can click through to a more specific (or more relevant) tag page, and
  2. It should give users a general idea of the topic of the posts on that archive page, increasing the information scent.

Next version I’ll add an options screen where you can change the number of tags, placement, etc.

Please drop me a note if you run into any bugs or are using it on your blog.  Let me know if you have any ideas you’d like to see implemented, too - I am all about implementing and studying folksonomies.  The more folks who are interested, the more likely I am to add features.  Thanks.

Download the Plugin Here

Sphere: Related Content

Obsolescence and obscurity in digital cameras

Sunday, August 3rd, 2008

University Hall Tower at OWU I’m planning on buying a new DSLR, and as I looked through old photos from college today I started to think about my first digital camera, a Philips ESP50.  Here’s a page with some specs, translated from German.

I remember buying the camera, logged in to eBay from my parents’ house late at night the day after Christmas.  I think I ended up paying something like $250 for it.

This was before the megapixel war, when 640 by 480 was considered a viable resolution.  This camera applied tortuous levels of JPG compression to fit images on the 4MB disk.  At the time, though, it seemed like a good deal.  Film cost money, and developing film cost money, and most of the year I was a ramen-noodle-eating college student.  Probably the biggest reason to go digital was the tiny little screen on the back - you could actually tell if you got the shot, instead of waiting to get back a bunch of blurry prints.

The camera is painfully obsolete now, and even then it was somewhat obscure.  The thing is, the Web was a pretty amazing place even back in 1998 - there were lots of web pages about this camera.  I remember reading at least a couple reviews, and searches for it on WebCrawler or Alta Vista or whatever I used back then came up with retailers, other auction sites, etc.  Look for information about this camera now, and it seems that it has been largely forgotten:

And that’s about it.

I wonder, is this the destiny of all cameras?  Will I do a search for my Nikon Coolpix 5700 in 2014 and come up with just as little, or has the Web expanded so quickly that the copious product reviews, blog posts, and technical discussions on photography forums outweigh the force of entropy?  I wonder if the Internet has gained any stability as it has matured - do pages tend to stick around longer, or is linkrot a constant of the universe?

Future generations will hardly feel deprived if they miss out on information about some crappy old digicam.  Still, you never know what kind of information will end up being useful to someone at some point, and this same problem extends to all the information on the Web - from reviews of obsolete products to the human genome.  If a website goes under and deletes a thousand blogs, it won’t exactly make the news.  But our great-grandchildren might look at that stuff the way we look at letters from the Civil War.

The only solutions I have are more effort behind projects like archive.org, increased data portability, and rational intellectually property laws that don’t make saving 70-year-old content from deletion into a federal crime.

For discussion, how do you deal with ancient equipment, keeping around old web content, or even archiving old email?

Sphere: Related Content

The most difficult problems you will ever face as a programmer

Saturday, August 2nd, 2008

Niagara Falls and city lights at night I was given a problem to solve at work earlier this week and I pretty much totally choked.  To be honest it wasn’t that hard of a problem - I obviously can’t share it with you here, but I will say that (among other things) I completely, totally blanked on how to find if two lines on a plain intersect and didn’t have a laptop handy to look it up.

This bothered me all week and got me thinking about my career as a programmer and the kinds of problems I’ve been asked to solve.  Everything we do as programmers, developers, or software engineers boils down to solving problems–so what have I been doing all these years?  Finally I realized that of all the difficult problems I’ve worked on in my professional career, most of them were difficult because of:

  • Imposed constraints;
  • Convoluted business rules and vague requirements;
  • Political or organizational issues; or
  • Human factors.

That last type of problem I actually really enjoy working on, but let’s put that aside for the moment.  Notice anything missing from that list?  Only rarely have I encountered problems that required really complex logic, difficult algorithms, or lateral thinking.

Why is this?  Have I shied away from those sorts of problems, or been unable to hack it?  I don’t think this is the case.  I did well enough on the SAT and GRE, and I can usually get myself back up to speed for solving logic puzzles in a week or two.  My guess is that my career is pretty typical, and that most of the problems that most companies face are due to constraints, vague business rules, organizational issues, and human factors.

This flies in the face of the kind of education most of us get as programmers.  At OWU the computer science department always erred on the side of math - we spent more time on concepts than practical applications.  I really, really value the kind of coursework I had in college but when it comes down to it, I learned just two things that I use on a regular basis:

  • Basic concepts and common programming paradigms; and
  • How to learn new languages, programming paradigms, etc.

I really enjoyed discrete math, but have rarely needed all the combinatorics.  Hacking scheme in my AI class was very cool but that’s the last time I’ve done any alpha-beta pruning.  I have successfully solved problems with some relatively mundane insights:

  • Don’t rely on memory, take notes and find references.
  • Look for low-hanging fruit.  Does the database even have indexes?  Do you really need to debug 2,000 lines of Javascript that essentially reimplement the concept of linking?
  • If you ever have a technical quandry, you’re probably not the only on in the world with the same question.  Chances are one of those other people has already asked the question somewhere on the web, and with a little luck someone else has already posted the answer.
  • Don’t get involved in political struggles between teams and don’t play the blame game.  Be unerringly pleasent in contentious situations, and if someone agrees to something in a meeting follow up with and email or some kind of documentation.
  • Prototype and iterate, people tend to use vague terminology and don’t always want exactly what they think they want.

So, if you’re going to end up implementing shopping carts or interfaces between large internal systems most of your career, why bother with brain teasers and algorithm interview questions?  Does this mean all that fancy book learning should be thrown out the window?

No!  Of course not!  If you do, when a really juicey problem does come along you’ll choke like me.

I’ve come to the conclusion that I need to make a concerted effort to look for problems that are difficult not because I don’t have enough time to do them, or because the two teams involved hate each other, or because the business analyst said “X is always Y” when he meant X is usually Y.  My guess is I’ll be hit with some soon at work.

In the mean time, got any good logic puzzles?  Textbook problems?  Favorite websites?  Feel free to post them in the comments below to get me started.

Sphere: Related Content