Hacking With GitJour

I finally figured out how to use gitjour effectively during "hack night" pairing sessions. The benefit of gitjour over git-daemon is discovery over Bonjour - from there on out, simple git commands are all you need. The secret is a setting in your project's .git/config:

[daemon]
  receivepack = true

The full post is over on the Viget developer blog. Enjoy.

Taming Your Feeds

I while back I was inspired by a talk that Clinton gave about maximizing developer efficiency, so I set out to find ways of improving my own efficiency. As part of that process, I ended up changing how I go about reading all the RSS feeds that I track. It's a simple approach that's worked for me for some time, so I thought it worth sharing.

In the beginning, there was categorization

Once I started using a Macbook, I ditched my NetVibes account and picked up a free copy of NetNewsWire since I no longer needed to read my feeds online. As part of this switchover, I spent a bit of time categorizing all the feeds that I had at the time. I dropped feeds into well-named buckets like "Programming" or "Contacts", etc..

While this was a very organized way of keeping track of feeds, it wasn't quite efficient when it came time to actually read them.

Then came prioritization

After spending some time analyzing my habits, I discovered that there were certain blogs that I wanted to devote more attention to and others that I could just safely skim. The thought occurred to me: why not just have 2 groups, one for reading and one for (gasp!) skimming? So, that's what I did:

read / skim

As I add new feeds I can quickly drop them into the appropriate bucket, and I can also promote or demote feeds into either bucket depending on the value I derive from the content. Each day, I can focus on the important content in my "Read" list and then burn through the items I need to skim.

Fleakr In The Wild: Flittr

James just launched a Twitter / Flickr mashup that matches tweets with relevant photos from Flickr and he's using Fleakr to make it happen:

Flittr Announcement

Very cool. Check out the app and vote for your favorite combos:

Flittr

Upload Images to Flickr With The Fleakr Gem

I just released version 0.4.2 of the Fleakr gem which includes better support for options when uploading files. To get started, install the gem from RubyForge:

$ sudo gem install fleakr

Then make sure that you have an API key, shared secret, and auth token for the Flickr API. You can find instructions on how to do this in the Fleakr documentation (see the "Authenticated Calls" section). Once you have that data, you can configure the gem pretty quickly:

Fleakr.api_key       = 'ABC123'
Fleakr.shared_secret = 'sekrit'
Fleakr.auth_token    = 'DEADBEEF'

Now, let's start uploading.

Single Files

The simplest way to upload is using a single file:

photos = Fleakr.upload('/path/to/my/image.jpg')

Once uploaded, you now have a reference to the new file through the photos array. By default, this image has a title based on the filename and is only viewable to you. Let's change that:

photos = Fleakr.upload('image.jpg', :title => 'My Mug', 
                                    :viewable_by => :everyone)

This new image is available to anyone and has a customized title.

Multiple Files

In addition to specifying a path to a single file, the upload method accepts a fileglob. This way, you can push out a full directory of images in a single call:

photos = Fleakr.upload('/party/images/*.jpg', :title => 'Party Photo',
                                              :viewable_by => :everyone)

Once the upload finishes, photos will contain a collection of the newly-uploaded images.

Additional Options

We saw how to set titles and permissions, but here are the full options that are available:

  • :title - Duh.
  • :description - The description of the image / photo.
  • :tags - A list of tags. This should be supplied as a single string value or an array of strings.
  • :viewable_by - A list of who can view this photo. Can be either :everyone or a combination of :friends and :family (e.g. :viewable_by => [:friends, :family]).
  • :level - The "safety level" of the photo. Can be one of :safe, :moderate, or :restricted
  • :type - What does this image represent? Can be one of :photo, :screenshot, or :other
  • :hide? - Should we hide this image from public searches? Set to true or false.

This list is also available in the documentation for Photo#upload.

Replacing Files

Remember when I said that the upload method returned a list of newly-uploaded photos? You can use that to replace the image if you'd like:

photos = Fleakr.upload('/path/to/image.jpg', :viewable_by => :everyone)
photos.first.replace_with '/path/to/other_image.jpg'

The same applies to any photo in your photoset. For example:

user = Fleakr.user('my_username')
photo = user.photos.first.replace_with('~/embarrassing_photo.jpg')

Enjoy!

Additional Resources

Srsly?

Skratchin'

Eks Ell Arrr Ayte Arr

I've been subbed to the XLR8R podcast for a while now, originally to check out a Glitch Mob mix (which I just finally downloaded). In the process I found a few new gems:

Kill Them With Cuteness

We The Robots

We the Robots - About

Great comic (about / the strip)

No Wonder Arrington Was Spat On

I don't know if Mike is still carrying hostility from an earlier event, but what a shitty interview with Robert Kalin (Etsy founder) he just did. Scoble even jokingly refers to his technique of "just slam[ming] the interviewee."

Meta Viget

My wife pointed me to this post on some blog designs. It was no surprise that the Inspire blog showed up on that list, but this image caught my attention:

Meta Viget

What is it? A screenshot of a blog post that references the mighty Extend blog (we're first on the list). Very cool!