28 January 2008

Alpine Navigation DVD's: Alpine are idiots

We have a Honda Odyssey which has an Alpine navigation system in it that runs off DVD. They only update the DVD annually. Fine. But get this, they prioritize new cars, sitting on a dealer's lot over their existing customers who are actually using the darn thing every day! No joke.

I called and talked to them today about it, and that's what I was told. They told me that until that process is done, only dealers can order the DVD (it's been out since the fall of 2007), and only once all the dealers have done it will they make it something you can order on the web site.

How ridiculous is this in this day and age? It's a DVD, burn a few more, or heck, burn on demand! I fail to see how there is any logic, any value to their customers, etc.

27 January 2008

RubyCocoa Rocks

My infatuation with RubyCocoa continues. I've been working on a small app for the Building Web Apps folks. I'd originally been tasked with a feature that was to be done 100% within the web app. However, some of our requirements changed, and the workflow was not efficient enough. So, essentially what we moved forward on was a desktop Mac application that could interface with NetNewsWire, as well as the Building Web Apps site. The desktop app gives us a faster way to add data into the system - rapidly processing a ton of content and injecting what is desired into the web app, yet without getting slowed down by a web app interface. AJAX or Flex, or some other web UI tech wouldn't make it any faster in this particular situation.

Thus, I pursued building a Cocoa app, but this time using RubyCocoa. I've written Objective-C apps before, and spend the bulk of my time in Ruby, but this was my first opportunity to use RubyCocoa. The combination, much like JRuby, Jython and other hybrid systems, gives you "the best of both worlds." There are cons of course (slower, a few Cocoa things you can't do, debugging is harder, etc.), but for the most part, it's really nice.

For me, the infatuation stems from letting me use the aspects of each system that I am either more efficient with, or that are easier for a particular piece of functionality, all yielding a faster, and better end result. I can iterate on the app more quickly, and get a solution to BWA faster. And, one step further in the case of RubyCocoa: having the native OS integration abilities at hand.

What's been great is the ability to use Ruby's more effective (for me at least) string processing, XML processing, and networking features; create a native Mac application - using any cool Cocoa/native features; and support for AppleScript, which was critical for this particular application. This latter feature ruled out using something like Adobe Air.

This evening I setup the second use of AppleScript/Apple Events in this app: registering a custom URL protocol for the app. Applications like Pukka and Mailplane do this. What for? Well, in this case, it allows me to create a web browser bookmarklet, that can send data from the browser to our app. It also means that it works in basically any browser on the Mac (as opposed to AppleScript not working for Firefox). Further, it allows a simple "push a button" in the browser to send the data over to the app, as opposed to having to switch to the app, pick a menu item to pull the data, or horror of horrors, copy-paste.

How do you do this? This article is short and covers how to do it in Objective-C. It's just as easy in RubyCocoa: You need to add an entry into your Info.plist file to specify the name of your URL protocol as described in the article. Then, you need to register your app as a handler for that protocol:


NSAppleEventManager.sharedAppleEventManager.
setEventHandler_andSelector_forEventClass_andEventID_(
self, :getUrl_withReplyEvent, fourcharcode('GURL'), fourcharcode('GURL'))


The fourcharcode method is my way of translating four character codes for use in Ruby. I discussed this in more detail in my last post about RubyCocoa, but here's the actual method for your pleasure:


def fourcharcode(character_code)
character_code.unpack('N').first
end


Ok, so now that you've registered your app to handle its custom URL protocol, you will get an Apple Event sent to you with the URL whenever one is opened. This is handled (as per the parameter in the registration function above), by the getUrl_withReplyEvent method:


def getUrl_withReplyEvent(event, reply)
url = event.paramDescriptorForKeyword(fourcharcode('----')).stringValue
# url now contains the complete URL as a string
# do your processing of the URL/content...
end


That's it. Pretty cool eh? Handling events from NetNewsWire is almost identical (register for them, write a handler function).

And, one more great thing I could integrate: Sparkle. Sparkle is a superb Cocoa library that does automatic application updates. It checks the web for a newer version of your app, downloads it, and installs it. Integrating it is simple, and in fact, depending on your needs, you don't have to write a single line of code. The only code I wrote for it was actually a Rake task to build the appcast and upload it to the server. Slick.

All this could only be done as a native Mac app, which means Cocoa. But, as said above, doing it with RubyCocoa gives me access to all these abilities, yet, I can do all the more heavy string and XML processing I need to do using Ruby, which is much more effective for me. Also, the web services calls and code is a lot easier for me to do in Ruby than Cocoa.

Furthermore, this is plain fun! Unlike some, I feel desktop apps still have a place, but love webapps at the same time. With RubyCocoa I can build super cool Mac apps, but do so in a language I'm happier using, yet have the power of Cocoa available to me. For me, some of the best "applications" these days are such hybrids: a web app that does your primary data storage, and gives you access to the app from "anywhere" (i.e. anywhere you can get to a browser and net connection), but a desktop app to use most of the time for faster interaction, potentially better integration on your desktop system, and so on. It's the same reason I use Mailplane (desktop app for Gmail), or PackRat (desktop app for Backpack). I suspect it's the same reason we're seeing other solutions like Adobe Air, or Google Gears. Technology is so cool, isn't it?!

18 January 2008

Building My First RubyCocoa App - Some Notes

Today I started work on my first app built using RubyCocoa, which is now a first class citizen in MacOS X 10.5/Leopard. I had read the docs and tutorial found here. I proceeded, and ran into a few bumps along the way, so here are some notes maybe someone else will find useful...

The code for the example app RSSPhotoViewer, is not quite the same as that shown in the tutorial. Specifically:


  • The tutorial says you need to put "ib_action :method_name" after your methods that are Actions. The example code does not do that, and I found I didn't need to do it either.

  • The example code does not require osx/cocoa or include OSX, yet I had to do this in my Ruby source code in order for it to recognize the class names properly (or at least so I didn't have to prefix them with OSX).



I couldn't get Interface Builder to recognize my Ruby window controller class - i.e. it didn't show it's outlets and actions. I tried a variety of things here, but basically I finally had to go to the command line and run "rake" and let it do a command line build. I have no idea what that did differently, as I can't see any new files it generated, etc., but that resolved it - now IB can see all my outlets and actions.

My app wouldn't run, and I got a strange error in Xcode saying "The debugger is still running" etc. It appears that if your app crashes this will be the case. And, in this case, Console is your friend. Open up Console and you should see messages that will help you assess what's gone wrong.

And now for the win... dealing with Apple Events. My app wants to receive a particular apple event from NetNewsWire. NNW documents this protocol nicely, however, when registering as a handler for the event (using NSAppleEventManager.sharedAppleEventManager.setEventHandler_andSelector_forEventClass_andEventID_), you need to pass in the class and event ID that are not standard ones (they're defined by NNW/external blog protocol). Well, in Cocoa code, these are just a four character string, but as I found, a string that an unsigned long via string packing. So, it was a question of how I get these ID's in via Ruby. Luckily this turned out to be rather simple, as you can use String#unpack. And, in this case, you pass unpack "N" as the format, which is an unsigned long packed in network byte order.

Lastly, debugging. As mentioned above, Console and such are your friend. I haven't tried any shenanigans with ruby-debug or such from the command line, so that might work. But, Xcode can't debug into the Ruby code in your project (it can into the code in main.m just fine though). So, if you have weird crashes and such, check Console. Also, use NSLog, or pop alerts or what not. If someone knows a better way please do tell.

Regardless, I'm quite excited by RubyCocoa and have another couple apps that I may do with it. This app was a small one, and of course is not done in just a couple hours, but it's going to be a nice addition to the tool belt.

17 January 2008

Sending SMS (Text Message) to Your Phone Using Ruby and iChat

Tonight I took a bit more of a look into the various Scripting Bridge and RubyOSA features in MacOS X 10.5/Leopard. This originated with a quick bit of research on a script that would pull data from the current article being read in NetNewsWire, and send it off somewhere else. But then seeing a Tweet from a friend, and how he's using Twitter and such, I thought, why not just send SMS directly (more robust in his case). This led me to the fact that the latest iChat can send SMS's, and knowing that I could drive iChat via Ruby (instead of AppleScript), I investigated.

With no further ado, here's a simple script to send an SMS to a phone that's in your buddy list (i.e. you've had to sent an SMS to it from iChat previously):


require 'rubygems'
require 'rbosa'

ichat = OSA::app('iChat')
myphone = ichat.buddies.select {|buddy| buddy.name == "+18005551212"}.first
ichat.send2("from ruby!", myphone)

Obviously put in the correct phone number. You'll need to install the RubyOSA gem:

sudo gem install rubyosa

Anyway, I think this is pretty cool. One other thing I learned was that you can leverage a neat tool called rdoc-osa that will generate rdoc for a scriptable application! For example:

rdoc-osa --name iChat
open doc/index.html

This will generate the docs (placing them in a directory called "doc" in your current directory - you likely want to put it elsewhere if you plan to keep it around), and then the second command obviously will open those up in your browser. The docs are more of a way to get started, and you'll likely want to combine those (for the Ruby syntax/naming), with the docs from the app's scripting dictionary (pull that up by running Script Editor, and then opening the scripting dictionary of the app you're interested in).

I should note, you can also do this via the osx/cocoa Ruby library, if for example, you have a full fledged Cocoa app written in Ruby (another super cool thing introduced in/built into Leopard). But, I find using the RubyOSA stuff just slightly nicer if all you are doing is driving an app via scripting, and aren't doing Cocoa stuff.

11 January 2008

Things: the Ultimate Todo/GTD App?

I've finally struck gold when it comes to a todo list/GTD app! I've recently switched to a new Mac app called Things, and I couldn't be happier. Finally, a system that works the way I do, is fast, looks nice, and has everything I need. Things is produced by Cultured Code, who also happen to make the excellent Xyle Scope product.

For the longest time, I used Backpack to manage my todo lists, and I've worked in a semi GTD way. I originally chose Backpack as it was relatively simple, I was using it for other things, and it provided access to my lists anywhere I had access to the 'net. When I was working at Adobe, and had many computers, plus my home machines, this was valuable. But, I disdained having to always keep a browser tab open for it, and have it mixed in with other browser use. I started working on an Apollo app to have a dedicated system for it, but that was in the early days of Apollo when the HTML view was buggy and prevented this app from working effectively. Along came Packrat and solved it, making a dedicated Backpack app, as well as providing offline storage, and much faster access. Yea! I still use this combo today, and that will be the subject of an upcoming post. But, alas, I was not happy with my todo system.

Now that I'm using essentially a single machine, and I wanted further speed for this commonly used app, as well as a better overall functionality, I started looking. This was stimulated when I saw Anxiety, which was a nice HUD implementation of a display for your iCal todos, which I'd been thinking about using to sync to my phone. I switched and tried it a while. Not bad, but definitely some issues (Anxiety was a pure viewer (you can add items) - you can't re-order, it doesn't pay attention to priority, and so on). But I'm babbling, get on with it right?

I found out about Things, I believe via Twitter I think. I watched the screencast, which starts a bit slow, but is a good display of the app. What immediately attracted me was the "Today" view, and it's separation from Next, as well as the abilities to tag, to postpone (with a timered re-add/check for re-add), and the whole Someday system.

I had been organizing my stuff more manually into a "to do today" list, and everything else. It was actually somewhat tedious to manage in Backpack, until they added dragging between lists. But still, Things just does it naturally and really well. Simple buttons to move things back and forth between Today and Next, or you can drag. Also, it pays attention to due dates on tasks, and automatically moves them into Today if they are due today.

Also, I really like the Areas of Responsibility and the Projects. I use Areas heavily, and Projects much less, but they are both useful and distinct. In general I organize all my different "work" items into areas (by client or project, or various other ways), and my personal stuff is area-less, with some exceptions. The Areas show up as distinct lists, or as separate lists in the Next and Today views. I could tell you more, but just check out the web site and/or the screencast.

So, what about web/network storage, and access from multiple machines? Nope, Things doesn't have this (yet?). Hasn't bothered me a bit though. It is an extremely rare day that I don't use Packrat to for Backpack, and with my single computer setup now, I just have much less need. Things will supposedly have some Export options later, and it's data is stored in an easily accessible and readable XML file, so I could create a simple solution for read-only data if I wanted to at least have it on the web, but I just haven't had the need or desire. The app itself works so darn well, that this aspect has barely even been on my radar.

I've looked at a variety of other apps and solutions over the last couple years, but hands down, Things is the best.

09 January 2008

Cocoa Screen Saver Prefs and Bindings (or Not)

In my latest work on my Visionary Saver screen saver, I had tried switching all my preferences to use Cocoa Bindings, to make it super easy to manage the prefs. After doing this, and having it appear to work, I realized that it does not.

The problem is that screen savers are supposed to use the ScreenSaverDefaults class to manage their preferences. This is a special Defaults class that namespaces a screen savers defaults/preferences within the defaults system, given that a screen saver is a bundle, and works within System Preferences (as opposed to being its own application). The reason it doesn't work with bindings is that you can't tell the Bindings system about ScreenSaverDefaults (to my knowledge), in the same way as you can bind to the Shared Defaults Controller. ScreenSaverDefaults requires a module name, and so on. If there's a workaround, I'd love to hear it.

I thus had to go back to manually getting and setting the preferences for Visionary. This did simplify one thing, which is the preferences settings for an NSPopUpButton, where the content values come from an array, yet the selection and setting should go to preferences. Personally, NSPopUpButtons, for simple use, are a real pain. I'm not an Interface Builder expert, but it's odd that you can set up to 3 values into an NSPopUpButton in the UI, as generic text, but if you want more, you have to setup the whole NSArrayController and its content array, and so on, then bind that to the popup, etc, etc. It's not awful, but the documentation is pretty weak in terms of a straight forward use of something like this. I suspect many other folks don't have complicated data models behind the values for some of their popup buttons, and a cleaner way to do all this would be nice.

Anyway, it's all good now, or well, it's all fixed up, and there's a new version of Visionary Saver out.

28 December 2007

New Visionary Saver Version, and Updates

The Visionary Saver screen saver now has an official home, on my new (and barely going) business site (Cobalt Edge LLC). There is a new version (1.3) out, which mainly adds some additional visualizations. It is built for Leopard only, and will be this way going forward. My apologies to anyone running MacOS X versions prior to 10.5.

Installing Litespeed on Slicehost

I was trying to install Litespeed on a new slice at Slicehost. This is an Ubuntu 7.10 setup. It all seemed to work until I tried to start it up. It said it couldn't find the binary for lshttpd, but it was there. Doing some searching finally yielded this thread, where I realized I just needed to install the 32-bit compatible libraries (since Litespeed is 32-bit). So, a simple sudo aptitude install ia32-libs and a re-install of Litespeed did the trick.

22 December 2007

Use every tool you can

I just spent a chunk of time figuring out a problem with the way the content of one of the sites I work on flows. We have theme templates, and so on, but all of a sudden the sidebars of the site were no longer sidebars, but shown at the bottom of the page, and there were a few other oddities.

We couldn't figure out anything that had been recently changed that would affect this, so I basically had to start sifting through the HTML to try to see what it could be. I suspected a missing ending div tag or similar, that would thus pull the sidebars into the main content area's div.

To solve this, I started with the Web Developer plugin in Firefox, but that wasn't leading anywhere. I checked some things in CSS Edit. I then used Web Developer's View Source with my associated editor (TextMate) and pulled up the code. The code was messy as hell (no thanks Drupal and the theme we are using), and using code folding, re-indenting and various things was going to take forever.

Next up was Dreamweaver. Voila! This is probably the third time I've used Dreamweaver in my life, but I opened up the source for the page in it, and turned on it's ability to "Highlight Invalid Code". Immediately it showed two div tags that did not have closing tags. Just as I suspected! Now, how to figure out what code within that was eating the ending div (i.e. that itself did not have ending div's, because I could see that the matching ending div for these particular two divs was there (I'd edited the theme to put in comments showing the matching ending divs).

Now it was back to TextMate to manually look at the enclosed HTML. This was tedious for sure, but after some time, I found what looked like some missing closing div's. I identified which blog entry it was in, went to the site and looked at the content for that blog entry, and voila, wacky use of divs! This appeared to have been remnants from some kind of formatting the TinyMCE WYSYWYG editor had been doing. Thankfully we've bailed on TinyMCE and are now using FCKeditor which appears to work much better so far.

Anyway, wrapping up, I fixed up the two blog entries that had these weird div uses, and voila, that fixed the site layout! For me at least, I found a new useful tool, which is Dreamweaver, or specifically Dreamweaver's "Highlight Invalid Code" feature.

Monitoring

For some of the sites I work on, that are either personal projects, or small, where I'm not going to setup Nagios, Monit, or some other internal or serious solution, I've been looking for monitoring services. What I've found, and signed up for (all of these), and will compare over the next few weeks are:



Have others to recommend? Please do tell. Note, they basically have to be free, or super cheap (which for me right now translates to maybe a couple bucks a month if, and only if, they are providing something more than simple uptime watching and monitoring intervals 10 mins or less (less is great, most of the above range from 5-60 minutes depending).

20 December 2007

Amazon Kindle: First Use Thoughts

I received my Kindle the other day, and have had a chance to read with it for several hours now. So far, so great! I like it quite a bit. I'm going to keep this short, because the Kindle has been covered a lot elsewhere.

Things I like:


  • Trivial setup. The unit comes completely setup, tied to your account, and included all the books I'd already bought. All I had to do was turn the thing on and start using it. I did follow directions and plug it in to charge, which reached full within maybe 15 minutes. Also, the unit starts right into a quicky getting started, that I found to be just the right length and usefulness.

  • The "electronic ink" display is awesome. You can read this thing in any kind of light, no problems like you'd have with a laptop screen or many other devices. Very pleasant to read to as well, did not tire my eyes at all after several hours!

  • Easy to use UI. Basically, learn a couple buttons and the scroller and you're done.

  • Neato features like clippings, search, and bookmarks.

  • When the unit is in sleep mode, the display actually has an image on it, and it tells you how to wake it up (in case you forgot ;-)



What I don't like... I can really only think of two things to start off:

  • No PDF support. This is a pretty big deal. I knew this going in, but had read you could convert documents. You can, but have to use a Windows app, and it's unclear how well it works. I haven't tried it yet, but plan to. I was hoping to place some of the existing ebooks I have onto the Kindle this way. This is hands down my #1 complaint and the thing I truly hope Amazon can remedy. I understand the reasons, but I'd like to see them solve it, even if it's not ideal.

  • The price of subscribing to blogs. Usually it's cheap, such as $1/month, but really, blogs are free, and yes, obviously this is partially to cover Whispernet fees (which Amazon always says they cover in their docs, but obviously it's built into the price you're paying), and to cover management on your account, but seriously, it's a blog. How about you give us at least 10 for free, and then make them dirt cheap thereafter. Or at least don't tell us that you're covering the Whispernet fees.



All in all, I love this thing so far, and am really excited to see how I use it going forward. I very much like the idea that I can take this one thing when I travel, instead of having to either figure out what I might want to read ahead of time (I'm usually in the middle of a few books), or take multiple books with me. Also, nice to have even around the house, for just the ability to grab it and know I've got various reading material on it.

I will be most curious to see if I try blogs, newspapers, or magazines on it. Cost wise I probably won't, and I don't get a newspaper as it is (blogs, newspapers/news, I get all online). Magazines maybe, although most of the ones I read have a good visual component (various cycling mags, National Geographic Adventure and Outside, techy mags which typically don't translate to something like this very well, Wired, or whatever). Time will tell, but it's pretty cool so far.

26 November 2007

Ordered an Amazon Kindle

I bit the bullet and ordered up an Amazon Kindle ebook reading device. I'm a big reader and this thing has serious appeal. As Don MacAskill says, I am often into several books at a time, and don't know what mood I'll be in, so when traveling it's hard to trim down the list to something easy to travel with.

I am also very intrigued by its ability to send documents to it, in particular PDF. The PDF translation (to the MOBI format the Kindle needs) is apparently not perfect, but this is huge, as it'll allow me to take all the ebook versions of tech books I have and use with me. I always have these on my laptop, but there are times when I want to actually sit down and read some of them (as opposed to just do a quick lookup while coding).

It's pretty promising, and I promise to review it once I have it, which won't be for a few weeks (mid-December is my approx ship date).

17 November 2007

Killer New Cooking Tools

Well, really, I hope they aren't actually "killer", but I am talking about knives, and spinning blades...

I recently attended a knife skills class, and during the class got to try a slew of different types and brands of knives. I came away very impressed with Shun knives. Great feel, cut briliantly, and the food just falls off - no need for the hokey hollow ground divots, etc. Also, I was able to try the "Ken Onion" Shun knife in particular. This knife has a specially designed bolster/handle area, where your fingers can sit in the proper style. It also rocks really well while cutting. And technically, there is a whole range of Ken Onion knives know, it just seems that this one was the first and thus is what folks refer to as the Ken Onion.

A few weeks later I picked up a Ken Onion, a paring knife, and their cool new serrated "Ultimate utility knife" (I couldn't find this on Shun's site, so the link is to the online store of the place I bought it from). I also took in my Wusthof Grand Prix knifes to be sharpened. These have been great knives, but I actually think I will sell the two cook's knives and paring knife now that I have the Shuns. Eventually I will replace the others as well.

I returned a bit later to pick up my Wusthof's, and low and behold, the Shun rep was there for the day. I talked to him for maybe 10 minutes (I was actually in a hurry at the time). Luckily he clued me in that "diamond fingers" sharpeners, which work rally well on German/stainless steel, shouldn't be used on VG10 steel of Shun knives. I thus got Shun's sharpening steel, which handily has a properly angled bolster on it to help you be certain you are maintaining the proper angle on your edge.

Finally, somewhere in all this, I also picked up a Viking immersion/hand blender. I got a chance to use it for the first time tonight, and WOW, that thing rocks! Made itself worth it in one use. I was making potato leek soup, which needs to get pureed, and previously I had to do this by taking stuff out in batches and putting it in a food processor/blender - a total pain. With the immersion blender, obviously, you just pop the thing in the soup pot, and blend for seconds (it probably took me 20 seconds). This is going to be one nice addition to the kitchen tool chest.

Oh, one note on the Viking vs. others. The Viking is extra powerful and has two speed settings. The first speed setting is what most immersion blenders can dole out, the second is turbo. Also, it's blade guard/bottom area is a nice design that lets the food flow out much better than many of the others that have holes, but where those holes aren't open to the bottom. It also comes with a whisking attachment, and others are available (I got a mini-chopper one with mine due to a current promotion).

12 November 2007

Open Source, Linux-based, New Wireless Protocol Bike Computer

This is really amazing - an open source, Linux based, bike computer/cyclometer, that does GPS, heart rate, power metering, and all the usual other cyclometer stuff (speed, distance, etc.). The system is fully hackable, an intended to be hacked. They are also using Ant +Four, which is like Bluetooth for bikes. I blogged about this more, including the link to the video showing it, the company, etc, etc., on my Mountain Monkeys blog. Check it out, quite cool.

11 November 2007

What Leopard Changed for Me

I've been running Leopard for about two weeks or so now. It has not been the usual OS update where it has some nice eye candy improvements and some underpinning changes, but doesn't essentially affect the apps I run. Leopard has directly impacted the apps I run. There are also some that I've chosen not to switch to.

Documentation?!



But first, wow, the little printed booklet that comes with Leopard... wow, a) I actually read it, and b) the info in it was actually useful! Hath hell froze over?! Printed documentation of value?! Woah nelly! Even better, it was short, easy to read, and to the point, with almost zero fluff. Way to go Apple.

The app changes...



Not a lot, but a couple key ones. As I mentioned in a previous post, I am no longer using Path Finder, because regular Finder has some great improvements, picks up some of the key features I used Path Finder for, and it eliminates needing an additional app, that didn't integrate as seamlessly as you'd hope.

Update (12 Nov 2007): A new version of Path Finder has been released that integrates MUCH better with Leopard, including supporting Quick View, and having an "Open in Finder" replacement that works completely. I'll have to see if I go back again to using Path Finder...

Second is iChat. The jury is still out on this one to be honest, but the fact that you can now login to multiple accounts on a single network (Jabber for me), all the video and screen sharing enhancements, and again, one less app to install and keep up to date, has led me to stop using Adium for now. We'll see. I've tried before, and iChat was not up to par, but this time it's looking like a replacement.

Other bits... Stacks are pretty cool, especially when you add overlays to keep them straight. Quick View rocks. Safari is definitely better, and thankfully the one feature Safari cannot seem to implement, for who knows what reason, is still solved by Saft. This is the feature of it remembering all the tabs you had open when you close the browser, and re-opening it with that. Saft also adds a great feature, which is to allow you to edit Text Area's with your favorite editor. This is key for me (I use(d) a similar plugin with Firefox).

What hasn't changed...



Time Machine. Yep, I am not a convert. Admittedly I haven't looked at every option, etc., but I'm a Super Duper! fan. Why? First I don't really need multiple revisions of files - any files I do need that for are already in a version control system. Second, one of the key features of Super Duper (or similar) backups, is that I have a complete clone of my drive, that I can boot off of. This has saved me a few times. What happens if your hard drive goes bad or something happens to your system. Fine, you restore from backup. But, what if you are in a time bind and you really need access to your files? Well, you can just boot off your backup, work there for a short bit, and then perform your restore/redo when time permits. No biggy. Yes, you lose whatever was changed between the time you did you clone backup and the current time, but for me that is often very little (due to what really matters being in version control, or being backed up by Jungle Disk every 15 minutes).

I still don't use Apple Mail. In fact, these days I don't use a desktop mail program, or rather, one that I POP or IMAP mail with. I use Mailplane, and all my email accounts are Gmail accounts (I have a half dozen or more at this point). Works extremely well for me.

XD

The blog post, Dock Stack Overlays on the XD blog is really cool. It shows you how to put an overlay icon on your dock stacks, so that you always know which stack is which. This is incredibly useful if you use stacks (or more than one stack anyway). Great stuff.


10 November 2007

New Tools

I've been using a few new tools lately, and also got rid of one I've used a long time. First up, now that I'm running Leopard on my Macs, I've found I just don't need or want Path Finder. Path Finder has been great, I've used it for a few years now. But, with the new features in Finder, and the niggling issues I've had with Path Finder, it was finally time to end my use. The Finder's new sidebar, stacks, quick look, and the fact that you can show the directory path at the bottom of Finder windows (this was a big-little feature in Path Finder for me), brought me back to using it.

Update (12 Nov 2007): A new version of Path Finder has been released that integrates MUCH better with Leopard, including supporting Quick View, and having an "Open in Finder" replacement that works completely. I'll have to see if I go back again to using Path Finder...

Some new tools, both web and Mac that I've been using a fair bit lately include:

Mind Meister


I haven't used mind mapping tools much in the past. I've tried various ones several times, but they either were too cumbersome, too slow, or just didn't seem useful. I found out about MindMeister from someone on Twitter, and have a couple mind maps running on it now. I'm also collaborating on one of them with others. MM is fairly preferment, quite easy to use, nice to look at, and the collaboration bit is super nice. I'd like to see them add a way to insert a URL/link, where that link could be clicked on, but that's about the only issue I have so far. Interesting to note, if you get the Premium account (a measly $4/month!), they have offline editing. They are using Google Gears for this. Another intriguing bit is that they have an API. I haven't looked into this yet, or haven't thought about how I'd use it, but I always like to see services that have this as an option.

Mars Edit 2


The 2.0 version, now produced by Red Sweater Software is quite nice. In days of old, I'd preferred ecto, but this new version is simple, effective, fast, and quite nicely, has great Flickr integration. I've been using Flickr quite a bit, especially with my other blog, and often put multiple photos in a post. Mars Edit makes this trivial.

Navicat


Navicat is a GUI database tool. I used to use CocoaMySQL, and YourSQL and such on Mac, but YourSQL doesn't seem to work these days, and CocoaMySQL seems out of date, and I think wasn't under development anymore(?). Navicat, while a commercial product, has been rock solid, and I've found to be quite useful. Admittedly, I use it a lot of simple browsing, simple queries and value changes, etc., but the dependability and quality of it have kept it in my tool chest (and got me to buy it). One other nice thing here is that while it has a real Mac UI, it is a tool also available on Linux and Windows.

Acorn


Acorn is a slick, simple new image editor by Gus Mueller of Flying Meat Software (likely better known for VoodooPad). It's extremely fast to load up, and I'm finding it's my top pick to do things like saving images in another format (if they aren't in my Lightroom library - otherwise I use Lightroom), make minor tweaks, crops, etc. The speed is one of the best things - it launches super fast, and is very fast to use, so it's an excellent tool for quick work. Interesting note: you can write plugins in Python or Objective-C.

Pack Rat


I use 37 Signals Backpack extensively. It's my GTD system, and I keep tons of notes and information I need in it. Backpack's web interface is somewhat slow, especially if you switch between various pages a lot (and don't want to keep said pages in lots of browser tabs). I have a half completed AIR app to be my Backpack client, but Pack Rat seems to be the ticket now. It has synchronization, offline editing, and so on. I am sold, and have essentially not used my browser for Backpack since.

Panic Sans font


Last, but certainly not least, is the Panic Sans font. This is a fixed width font, great for coding. I've been using the Bitstream Vera Sans Mono font for quite some time, but Duncan's recent post about this discovered a few new ones. Panic Sans is actually a font found inside the Coda app's package. It's very similar to Bitstream Vera Sans Mono, but slightly nicer. Duncan's post has good info in that particular post, but also see some of his followup posts on the subject.

What's new in your tool chest?

07 November 2007

lselect: great Finder toolbar addition

lselect is a really handy Finder toolbar addition. It lets you select files, in Finder, using globs, just as you would on the command line. On the lselect page, if you download the "lselect-toolbar-app.zip", expand that somewhere (e.g. where they suggest on the web page), then drag it up to your Finder's toolbar to add it. Now, wherever you are in Finder, if you click this new toolbar button, it'll show you a dialog that lets you type in a glob pattern, and will then select all the files in your current location based on that glob. Pretty slick.

05 November 2007

WBC Champ Makes More Coffee Than Espresso - What's Happening?!

In Jimseven's (aka James Hoffman) latest blog entry, he says that he makes very little espresso these days in comparison to how much Chemex or press coffee he makes. This caught my attention as he's mentioned the Chemex a lot. I of course take note, given that this guy (jimseven is James Hoffman) is the 2007 World Barista Champion. Not that baristas don't make "regular coffee", but the WBC is all about espresso, and so on.

I like experimenting, and am tempted to get a Chemex just to see, but it seems almost every time I drink "coffee", it is rarely enjoyable (of course most espresso from cafes here in the US at least sucks as well). The other thing that is a big discussion in the coffee world these days is the Clover machine, which is basically sort of like an espresso machine, but for coffee, in that it makes one cup of coffee at a time, with grounds made separately, measured precisely, and so on. Some of the higher end coffee houses are getting them (Ritual in SF had one when I was there a few weeks ago, so I got to see it in person ;-) They are also a machine you can put on the net, and you can have it track all the coffees you make, as well as program it with various settings so you can just say, make a #3, which you know is all the settings you use with a particular coffee, etc. I think the machines cost several thousand bucks, so they aren't likely a home machine (and they may require a water connection). Of course Mark Prince of CoffeeGeek doesn't really like Clover coffee, for many of the same reasons I tend to not like coffee in general, which is that he claims it has almost no "body".

That's like coffee in general for me, in that espresso is this complete mouth experience, in that it has real density to it, and does all sorts of things to your tongue, much in the same way wines do, etc. Maybe I've just had too few good cups of "coffee", but coffee usually just winds up tasting like flavored brown water to me, as opposed to a liquid in its own category.

Note, I mean no offense at any of this, as one thing I love about the coffee world is the range of different preparations and opinions on what is great, etc. So, any of you espresso lovers out there, should I bother trying a Chemex?

31 October 2007

First CSA a Hit So Far

I only learned about CSA's (Community Supported Agriculture) this year. They are beyond plentiful in Eugene, with I think something like 40-60 providers. We signed up for a fall CSA with Groundwork Organics. What this is, is a weekly delivery of locally, and with our choice, organically grown produce. In the spring we will likely sign up for multiple of them, with potentially one doing dairy and/or meat as well. Anyway, it's been really great so far. They provide a bunch of things that we wouldn't usually buy, or in some cases, have never even heard of!

We've had I think 3 deliveries now. Each week we've gotten 1-2 pounds of lettuce/greens (lots of spinach, field greens), a bunch or three of carrots, and then things like parsnips, beets, dill, Italian parsley, watercress, squash, potatos, onions, arugala, garlic, leeks, and more. The apples we got last week are the most flavorful apples I've had in a long time (they were "Liberty" apples I believe).

The delivery we got today included leeks, red potatos, and dill, with a recipe to go along with it (they always include recipes). It also included "Delicata squash" (roughly 8-10" long, white with green veins, and tubular, maybe 4" in diameter), with a recipe, and we'll try that out. I don't think we've bought salad greens at the market for a month due to this, which is great.

We've tried several things we have either never had, or needed to go find recipes to figure out what to do with it, etc. (the roasted parsnips were yummy). We used a bunch of the salad greens, carrots, etc. tonight, and I roasted up 4 heads of garlic as well.

I can't wait to see what the next one brings us, as well as what we sign up for in the spring (when the real CSA season occurs).