25 June 2007

GPS Data for Canon DSLR's?

Moose Peterson recently blogged about this really cool mini-GPS that mounts on the hot shoe of Nikon DSLR's. I'm wondering if there is anything like this for Canon's, in particular the Rebel XTi, or 30D, etc. I would also be ok if there was a solution that connected my Garmin 60CSx to my XTi to automatically store GPS data in the EXIF info.

20 June 2007

iPhoneDevCamp at Adobe San Francisco (free event)

Check out the iPhoneDevCamp, which is being held at Adobe's San Francisco office July 6-8. This is a free event, and features presentations, development projects, and demos.

15 June 2007

Fixes for Capistrano 2's Perforce

I'm starting to convert to Capistrano 2. We use Perforce, and I've found a simple typo/bug in Capistrano 1.99.1. The fix is simple:On line 57 of recipes/deploy/scm/perforce.rb, change the use of "revno" to "rev_no".

Now, the question is, where is the Capistrano bug DB, or where/how do I submit this to them?

I reported this to the mailing list, and Jamis has already checked in the fix in SVN. Capistrano lives in the Rails Trac.

Perforce Implementation for CruiseControl.rb

While I haven't had a chance to clean up the code, folks have asked for it, so I'm making my Perforce implementation for CruiseControl available. There are some important notes:

  • You need to set up your project manually, you can't do an "add" via CruiseControl.
  • Some work needs to be done on the text retrieval for checkin messages, and how that's displayed on the CC.rb results pages.
However, so far it's been working fairly well for me. Feel free to use this as you need. I have not yet submitted it to the CC.rb folks, as I hadn't had time to clean it up yet. So, if you dial it in better, please do submit it to them, or send me your changes, and I'll submit it, etc.

To install/use it:
  • Put the perforce.rb file into your cruisecontrol/app/models directory.
  • Manually setup your project:

    • Create a directory under the cruisecontrol/projects directory.
    • Place a cruise_config.rb file in it. It should contain something like the following in order to use Perforce:
    Project.configure do |project|
    # Use Perforce for source control
    project.source_control = Perforce.new(
    :port => 'your.perforce.server:1666',
    :clientspec => 'clientspec-for-cruisecontrol',
    :user => 'buildusername',
    :password => 'builduserpassword',
    :path => '//depot/path/to/your/rails/app/...')
    • Sync your code once.
    • Fire up CruiseControl, and let the games begin.
Usual disclaimer: I take no responsibility for your systems, code, etc. Read the code, test it out, backup your systems, etc.

Update: I've now given this an official home on GitHub. See the cruisecontrolrb_perforce project there. Fork at will, and please do send me Pull requests if you enhance the code, or at least tell me about your version, and I'll put that in the README or on the wiki, etc.

06 June 2007

Our Servers

Rack And Stack
Originally uploaded by • g l u b •
Gary got a nice shot of some of the servers we've recently racked up.

04 June 2007

Visionary Saver Updates Coming...

I've been swamped at work, so haven't had much time to work on Visionary Saver. But, I should have an update in the next week or two. Some of the things I'm working on:

  • Multi-monitor support: allowing you to pick which visualization(s) you want on each monitor (or fully random)
  • Adding a new Flickr visualizer: FlickrTicker
  • More options for various visualizers
  • Looking into enabling use of the mouse while the screen saver is running
Thanks everyone for the support!

In the mean time, to get the existing version, click here.

02 June 2007

New Home AV Stuff

Today the installers wrapped up the bulk of the new home theater and whole-house audio additions, changes, upgrades, etc. The house had come with a Nuvo Concerto system for whole-house audio. But, we wanted really good iPod control, so we upgraded (for cost difference) to the new Grand Concerto system, that has these improved touch pads (instead of keypads), and does full metadata display for iPods, radio, XM radio, and so on. They are really nice and we're stoked to have XM now (before it was a dual AM/FM tuner, which we swapped out for a dual AM/FM + XM). The iPod dock part shows up next week, can't wait for that.

They also installed the new Samsung 50" plasma, wall mounted, and then racked up the equipment in the little AV closet in our bonus room. Nice setup, but I think we'll likely have to get more ventilation in the little closet, it gets pretty hot in there.

They still have a bunch of othe wiring to do in the house, as we're having some ethernet and other stuff re-jiggered, and they didn't finish programming the killer Universal Remote Control MX-3000. Of course, I'll want to get my hands on programming this as well. You can do all sorts of crazy stuff with it.

The funny part is we probably wouldn't have done half of this if the Nuvo system didn't already come with the house. But now that we have it, boy is it nice. Being able to have music all through the house (and different choices in different rooms), as well as on the deck (that's my favorite!) is just so nice. We watched a movie on the new plasma tonight and it was great, plus super sound in that room. There are better plasmas, but for the money this one is extremely nice. BTW, we have a Loewe 42" plasma for sale if anyone is interested (no, you don't even want to know what that cost, it's rather embarrassing in fact). Anyway, as you can tell, I'm pretty giddy about it all.

01 June 2007

Online/Offiline Web Apps: Why Does the Browser Matter?

For a few months now we've been seeing more offline web app support. This includes technologies like Apollo, some of the tricks people are using with Firefox (like ), http://www.blogger.com/img/gl.link.gif, and lately .http://www.blogger.com/img/gl.link.gif

What amazes me is how much people want to seem to stay within a web browser. They're trying so hard to cram a feature into a space that wasn't designed for it, not to mention is just a crappy solution. No doubt there are a few nice uses of offline support for a pure browser-based app, but why haven't more people started to realize how much better they can do by going beyond the browser? Why do you want the browsers UI to be your dominant surrounding UI? Why do you want to be constrained to the browser's window, and force your user's to have your app running in another http://www.blogger.com/img/gl.link.gifapp, that doesn't have it's own dock/task bar icon or ability to interact with the OS?

I also don't think it's an all or nothing situation. I value having a browser-based UI available to me, so that when I'm not using one of my computers, I can still view my data. I don't expect the experience to be as good, and it can lack features, but I can get to the data in a pinch. But, I would much rather have dedicated applications for the "web applications" I use a lot. Examples of this would be Backpack, project tracking systems (currently I use Scrumworks, which has a Java desktop client that works with their web app, and Basecamp), music players, weather watchers, GotAPI, Twitter, and many others.

There are some examples popping up. Twitter has Twitterific, and FineTune has their Apollo player. These are both excellent examples of how deficient the browser is for many web applications, and how much better you can do outside the browser.

I admit that Apollo is really what took my thinking on this to the next level. You no longer have the excuse that you don't know native code or native code toolkits and such. Building an Apollo app can be done the same as you'd build a web app, and even gives you the choice of Flex or HTML, or a combination (this gets very powerful). You can even simply pop an existing web app into an HTML view in an Apollo window, and thus have a dedicated application (doesn't give you much more but at least you aren't just a tab in your browser, and can display it on a different virtual desktop or size the window differently than your browser window, etc.).

To make this more positive, this is a call to all web developers to think hard about this. Even if you don't need offline support, or you don't need it right away, think about the user experience and how you might create that much better of an app by not being constrained to a browser. I won't have anything in the next week, but yes, I'll be eating my own dogfood, and having some apps out soon enough (watch this space).