Posted on June 8th, 2010 by Neil Crosby. Filed under Blog Posts.
I’ve been using del.icio.us for years. I started using it well before it was bought up by Yahoo!, and for a long time my primary use for it was to store my bookmarks in an always available location – I used many computers, and not having my bookmarks tied to a single machine always seemed like a good idea.
As time went on, I started paying attention to the “Most Popular” feeds on the homepage, and even managed to get on there myself a few times. It was a good way to find interesting techy links. Then, when the friends network facility was introduced I started following the links that my friends were saving as well. All was well.
However, I never really saved as many of the links that I found interesting as I could have done. There were plenty of occasions when I remembered telling people about particular pages because they were useful, but not being able to find them again myself. Oh, how I wished I’d added them to del.icio.us.
The problem is that I’m lazy. So, I was really happy when Packratius peeked its nose up to the cage bars. The idea behind Packratius is that it’ll keep an eye on your twitter activity and automagically add any links you tweet to del.icio.us (by default with a
via:packrati.us tag). It’s deceptively simple, and something that deeply interested me – I immediately signed up.
A good idea gone overwhelming
As it turns out, so did quite a few of my friends. Overnight, my del.icio.us network feed went from being a carefully curated list of links to a mishmash of Carrots Glazed with Cum, gowalla updates and twitpics.
Now, to its credit, Packratius has options to allow you to not auto-delish links tweeted by any twitter clients that you define. This allows you to not auto tweet twitpics and the like. Of course, telling it to stop tweeting those things from your own twitter account is great, but it doesn’t stop you from seeing those updates from other people (/me looks pointedly at Simon Jobling). So, I needed to find a way to split these auto-delished URLs off from the main list.
As it turns out, whilst del.icio.us’ searching abilities are pretty powerful, you can’t do a simply negative search. So whilst you could say “Show me everything in my network feed tagged with ‘kittens’ but not ‘via:packrati.us'” you can’t say “Show me everything in my network feed not tagged with ‘via:packrati.us'”. Thankfully I came up with a solution to this – I created a Yahoo! Pipe called “del.icio.us network feed minus packratius“. (Catchy, huh?)
It’s a fairly simple pipe, with the following aims:
- Provide a feed of your del.icio.us network with items tagged with
- Easily customisable to show different peoples’ network feeds.
If you’ve been having similar problems with Packratius overwhelming your del.icio.us network feed, then give it a go. I know James Broad has been finding Packratius overwhelming – it was his tweet that inspired me to finally write this post up, in the hope of benefitting a few more people.
How does the pipe work?
Like I said, the pipe’s fairly simple – most of the complexity comes from generating the URL to load a given user’s del.icio.us network feed.
Once we’ve obtained the network feed, the only thing we need to do is discard all the feed items that contain
via:packrati.us as a tag. Handily, del.icio.us provides us this information in its feeds:
<item> … <link> http://wwp.greenwichmeantime.com/time-zone/africa/south-africa/ </link> <description> South Africa is in Southern Africa, at the southern tip of the continent of Africa. http:// bit.ly/am78yK #statingthebleedingobvious </description> <category domain="http://delicious.com/simey_j/"> statingthebleedingobvious </category> <category domain="http://delicious.com/simey_j/"> via:packrati.us </category> </item>
In the feed item above (cut down for space), we can see that as well as
statingthebleedingobvious tag has been automatically generated from the hashtag in the original tweet. This is a great feature of Packratius, but it did mean that I ended up having to do more than a very simple filter to filter out the
via:packrati.us tagged feed items.
Instead what I did was create a
Filter block in pipes with rules that looked at the first 6 tags on each feed item (the idea being that there isn’t enough space in a tweet for more than 6 or so tags). If any of them matched
via:packrati.us then they’re discarded from the feed.
The filter I created looked something a little like this:
Block items that match any of the following:
- item.category.0.content is via:packrati.us
- item.category.1.content is via:packrati.us
- item.category.2.content is via:packrati.us
- item.category.3.content is via:packrati.us
- item.category.4.content is via:packrati.us
- item.category.5.content is via:packrati.us
- item.category.content is via:packrati.us
Those first six filter rules cover the instance of more than one tag being applied to the item, and the final filter covers the intances where only a single tag exists. Simple.
And that’s all there is to it. Of course, writing this Pipe wouldn’t be necessary if del.icio.us allowed us to do a simple negative search. Still, it’s good that it’s nice and easy to generate this new feed using Pipes.
Hopefully it’ll be useful to a couple of you.
If you enjoyed this post, subscribe to The Code Train and read more when I write more.