This page is an aggregation of everything I'm thinking about all of the things I'm thinking about. The content of this page is a mirror of the original content now available at robwilkerson.org. To subscribe to my thoughts, visit robwilkerson.org or subscribe immediately via FeedBurner.
Quicksilver is Making My CPU Its Bitch
I love Quicksilver. I don’t even use more than a third of its capabilities and I still couldn’t do without it. As nothing more than an application launcher, it’s completely indispensable to me. Because of it, I’m able to autohide my dock and, quite honestly, never see it. I don’t keep a single application icon on it (save those that are running, of course).
For the last few weeks, though, I’ve been noticing that Quicksilver has been absolutely monopolizing my CPU cycles to the tune of 65%-95% according to Activity Monitor. I don’t know when this started and I don’t recall any kind of “precipitating event” in the recent past that even might be the cause. If I only saw this kind of monopolization when it was reindexing, it would make some sense. That’s not the case, though. Usually, Quicksilver’s Task Viewer indicates nothing happening at all. The only thing I know for certain is that the application seems to have gone rogue on me. It’s out of control.
I thought I’d found a solution on Mac OS X Hints, but…no. And, by the way, if anyone else cares to try that hint, note that the Quicksilver caches are located in ~/Library/Quicksilver, not in /Library/Quicksilver as the hint indicates (the comments point this out as well). Deleting the specified directory (and a few others) briefly offered hope only to snuff it out. Cruel.
I don’t appear to be the only one seeing this, but it’s not something I’ve heard much rumbling about nor have I found a working solution. Has anyone else seen this and maybe dug up any kind of explanation, fix or workaround?
Source Control Strategies for Frameworks
I’m starting to get my hands dirty with CakePHP and as I’m getting started, I find myself pondering the use of source control. Not whether to use source control, mind you (because, well, duh), but how to use it optimally in the context of a framework or even a product that can be extended with custom code. Ideally, I’d like to version any and all code that I write or modify, but none of the framework code that is left unmodified. I’m not sure that I’ve ever spent much time on that question. As best I can remember, I’ve always just committed everything.
I’m wondering what strategies others employ with respect to source control when custom code is mixed with product or framework code. Are there any best practices?
The Favre Thing
Am I the only one who thinks that the Packers are doing the right thing with this? I’m a sports junkie and listen to all of the chatter, but I haven’t heard many editorials that come out strongly in favor of the Packers. I’m not a member of Packer Nation, but I have all the respect in the world for Brett Favre, what he’s done in his life, his career, what he’s done for the Packers and for football. That said, this is starting to feel like that (girl|boy)friend that everyone’s had who can’t stand to be with you, but doesn’t want to be away from you.
Chyrp Upgrade
Or, On the Lack of Changes Made to This Site.
It’s been a long time since I’ve made any changes to this site. The reasons for that are many and most of them are personal: lethargy, (lack of) motivation, interest, etc. One reason, arguably the most compelling reason, though, was that Chryp – my platform of choice – was undergoing a major overhaul to its architecture. I liked what I was hearing about what the new version would offer, so I decided to hold out on investing any significant time on my existing site.
Chyrp 2.0 has been out in beta for a few weeks and today I took the plunge; I upgraded my dev site and I think I’m going to be glad I waited. Everything of any substance in the platform seems to have changed and neither my modules nor my custom theme will work as-is – a decision I applaud, by the way. I’m all for breaking backwards compatibility in the interest of bettering the software.
The UX of Form Buttons
This morning I was reading the second article in Smashing Magazine’s series on Web Form Design Patterns and I was surprised to read that the author(s) believe that “[…]it makes more sense to use a clear visual distinction between primary action buttons and secondary action buttons and introduce a significant amount of space to clearly separate them.” What makes sense to them feels counter-intuitive to me.
In my experience, “a clear visual distinction” usually takes the form of the primary buttons being dominant and the secondary being more, and usually too, subtle. It seems like the recent trend is to render the primary action buttons as, well, buttons and the secondary action buttons as text. I can’t be precise about how often I’ve accidentally clicked the dominant button (for no other reason than because it’s just so…dominant) when I meant to click the other, but suffice to say that it’s a big number. One day I almost spent an extra $100 for up to 2” of extra legroom while checking in for a flight online simply because of the “primary button” issue.
What? You think the airline planned that? How cynical of you.
Anyway, that’s been my experience. I can’t imagine I’m alone in that. I’d argue that if a distinction is considered necessary then care should be taken to ensure that the distinction itself is subtle. Making the primary action buttons significantly larger or “hiding” the secondary action buttons is very much the opposite of subtle.
Going to Portland
I feel like the title should have been more lyrical than that, but I’m running on a ridiculous sleep deficiency so I’ll settle for offering only excuses. Nonetheless, I am – as the title may suggest to those of you with minds astute enough to crack my code – going to Portland. I’ll be in town for a week attending the OSCON 2008 conference.
If anyone (read: either of you) is in the area and interested in meeting up for a beer or your preferred social beverage, feel free to leave a comment, send me a direct message on Twitter or contact me via email at r o b (at) r o b w i l k e r s o n (dot) o r g (take that, spammer wannabes). I’ll be flying solo all week.
Since this will be my Portland deflowering, I’m also taking suggestions on what to see, where to go and any other touristy advice. Please donate. I don’t want to spend the week sitting by myself in my hotel room.
Don't Hide or Disable Menu Items
From Joel Spolsky’s post with the same name:
Don’t do this. Users see the disabled menu item that they want to click on, and are left entirely without a clue of what they are supposed to do to get the menu item to work.
I’m going to have to beg to differ with Joel on this. Or at least with his seemingly all-or-nothing stand on it. Of the myriad of problems that exist in all of the user interfaces that are so prevalent in our world, I don’t think this problem is really a problem. I’m not arguing that disabling menu items is right, necessarily, but maybe that it’s not bad. And certainly that it’s not so bad that we should “outlaw” it. A minor distinction, perhaps, but I don’t think it’s simply splitting hairs.
(Dis)Organizing Bookmarks
This is another call for help. In all my years of computing, browsing and generally keeping up with the times (or trying to), I’ve never – seriously, never – found a way of organizing and accessing my browser bookmarks that doesn’t quickly devolve into utter madness. Madness, I tell you.
I’ve tried the entry-level folder structuring, centralized solutions like Delicious and Google Bookmarks and am beginning down the path of a synchronized solution in Mozilla Weave (true, not a purely organizational metaphor, but synchronization will facilitate maintained organization). I’m also vaguely aware of new bookmarking features in Mozilla 3, but must confess my total ignorance of the details and to how to use those features effectively.
So to those of you out there who actually like how your bookmarks are organized, what the hell are you doing right that I’m doing so freakishly wrong?
Utility Gem: iStat Menus
I’m a sucker for a good utility application. That’s hardly news, but for new readers it seemed like a logical introduction. I can’t get enough of those tiny little applications that do one thing (or a few small things) that really makes my life better in some way and does it really well.
Today’s gem: iStat menus
Social Networking Overload
Over the course of the last, oh, I don’t know, year or so, I’ve signed up for a few social networks that looked interesting, useful or otherwise worth checking out. In case anyone’s wondering, MySpace didn’t make that cut. With respect to those that did make the cut, I didn’t go in with high expectations of any of them. C’mon, I’m a developer. Per the stereotype, I’m not supposed to be social, right?
One that I find extraordinarily useful on a regular basis is Flickr. I use it so often that I sprung for the pro account. Lest I appear disingenuous, I should state that I signed on as a paying customer because they forced me to do so. No one showed up at my house wearing a dark fedora and a shoulder holster, but they cut my free account off once my inventory reached 200 photos. It’s a hell of a service, though, so $30 a year is money well spent, I think.
API Authentication Model
So I’m in the process of modeling a few applications that will include a fairly rich set of APIs and I had some time to spend really thinking through how I want to design the authentication model. After thinking about it for a while, I decided that, well, I can’t decide. As a result, I thought I’d call on any collective wisdom I can gather and see what others are doing and, perhaps more importantly, why.
First, let me state that these applications are not DoD(Department of Defense)-grade applications. We need something stronger than security through obscurity and something (significantly) less than national security cryptography.
Spaces Becomes Usable
I’ve had two big problems with Spaces up to and including 10.5.2:
- When Command-Tab’ing to an application, Spaces would shift me to a different Space that already included a window of that application rather than allow me to open a new window in my current space. More »
- When I had multiple windows of an application open in multiple desktops, Command-Tab’ing didn’t, by default, place the focus on the window of that app that was open in the same desktop I was already in. It didn’t do anything, really. It’s like that action confused the OS. More »
After a while, I was able to track down a fix – and by fix, I really mean glorified hack – for the first problem (which seems to have a real fix in 10.5.3 via a System Preference, by the way) and 10.5.3 seems to have addressed the second quite nicely.
Zang.
Help: Keyboard Unresponsive in VMWare Fusion
Normally I try to post solutions here, but today I have a question and I’m hoping that someone else can provide a solution. For months now, I’ve had this rather intermittent problem with VMWare Fusion on my Mac. Maybe someone else has seen it too.
It seems that every once in a great while I do something (or my system does something) that locks up the keyboard in my WinXP virtual machine. I can type to my heart’s content and all I get for my trouble is an annoying series of clicks from the virtual machine telling me that it has no clue what I’m doing. I’ve tried restarting the virtual machine, logging off, suspending the machine, mucking about with the preferences and just about everything else with no luck.
About the only thing that has worked is to reboot the Mac itself. That, however, seems awfully ham-fisted and I find it particularly annoying that I’m rebooting my Mac just to satisfy some sort of whimsical dalliance of Windows. I’ve Googled my arse off, but haven’t found any solution (and only one relevant result) that works for me.
Anyone have any thoughts?
Update 5/28/2008: A colleague just pointed me to these links that, for me, indicated that it was the Last.fm client causing my problem. He also pointed me to this message in the Last.fm forums indicating that they know about it.
PHP Sucks, But It Doesn't Matter
PHP isn’t so much a language as a random collection of arbitrary stuff, a virtual explosion at the keyword and function factory.
I develop a lot of stuff with PHP these days, but I tend to agree that the language design is a massive suckfest. It’s the inconsistencies that drive me mad some days.
Classmates Personalization
There are a lot of things I don’t like about Classmates. For example, I don’t like the obscene quantity of (unnecessary) email that I get from them and I don’t like that they make me seem rude by not allowing me access to my guestbook unless I pay for the service. That said, I signed up a while back out of sheer curiosity and filled out my profile. Today I clicked a link in their latest mailing and saw this on my profile homepage:

Hmmm. Nope. I’m almost certainly not.
Seems their personalization “feature” is somewhat flawed.
Powered By Pulse
Or not.
On the long flight back from Bangalore, I settled in to do some work. The work was local and I use Eclipse as my IDE so I was ready to rock.
Or not.
For a while now, I’ve been trying Pulse to manage my Eclipse installs across multiple computers. I’ve had significant, but not critical, issues in other areas that I won’t go into here, but because I’ve got a few active projects on my plate, I didn’t want to take the time to rebuild my entire Eclipse installation. On the flight, though, the camel’s back was broken.
Welcome to Bangalore, India
So, as many of you already know, I’m in India this week to work with my company’s Bangalore team. It’s my first international travel experience, so I had – and since today’s my first day in the office, still have – no idea what to expect from the week. Nonetheless, here’s a quick list of first impressions in (roughly) chronological order:
- That’s a long time to spend on a plane.
- Flying business class is a big improvement over coach and essential for long flights, I think.
- The boarding “process” in Frankfurt (my connecting flight) was a complete gagglef***.
- I need to figure out how to sleep on planes.
- The culinary options on flights aren’t so bad. I was well-fed and most of it was really pretty good.
- The aesthetics of the airport in Frankfurt look frighteningly similar to those of an IKEA store.
- I was less impressed with Lufthansa than I expected. My United flight out of Dulles offered better service than did Lufthansa.
- I couldn’t use my laptop on the flight from Frankfurt to Bangalore (the Lufthansa flight). The power plug was there, but I couldn’t maintain a connection for more than a minute before I’d lose juice and switch over to battery. That sucked. I had planned to get some work done.
- Deboarding in India was a breeze. They did a really nice job of getting us through everything very quickly.
- My hotel room has two single beds. I’m traveling alone, so it’s fine, but I can’t remember the last time I slept in a single bed (not counting last night, of course).
- My hotel has free wireless access. I say again, free wireless access. Wish hotels in the US would offer that.
- Traffic in Bangalore is beyond insane. Quite.
- Bangalore’s population is ~10 million. Evidently they were all driving to work this morning at the same time we were.
- Bangalore appears to offer the same mish-mash of wealth and squalor you might see in any big city. The squalor is a bit more visible and maybe a bit more pronounced, but that’s a difference of degree, not of kind.
- There’s more green (in the way of vegetation) here than I’d have imagined. And palm trees. I didn’t expect that.
Quitting Caffeine the Mac Way
From time to time, I find the need to start Caffeine on my Mac, but my use is infrequent enough that it’s not something I like to keep open and available all the time. Invariably, once it’s running, I forget how to quit the application to get it off of my menu bar. It’s not an easy thing to Google so, for the sake of my own sanity, I give you:
- Cmd+Click the menu bar icon (the coffee cup)
- Select the Quit option
It’s a simple enough process, but I guess it’s just different enough from that of other menu bar icons that I can never seem to remember it.
Transparency Engenders Loyalty
Although I’ve stretched my response to the conversation I had with the folks from Wesabe over far more days – and by “days”, I mean “weeks” – than I’d intended, I wanted to touch on one other turn taken in the conversation that I’m fairly passionate about.
The topic, of course, is transparency. I’m a firm believer that transparency is, in general, a very good thing and engenders loyalty, trust and a lot of other positive feelings. It’s been my experience, as both a developer and a consumer, that organizations can make an awful lot of mistakes as long as they’re accountable for those mistakes and make them right.
Renew a Mac's DHCP Lease Via Terminal
Being a long-time (and still part-time) Windows user, I’ve spent many a not-so-happy second typing the following:
> ipconfig /release > ipconfig /renew
Today, though, I made a few changes to secure my network and needed to renew the DHCP lease of my Mac. Usually, I’m sitting in front of the laptop so I can just use the System Preferences GUI, but not today. Today I had to remote in so I only had the command line available and I realized that I had no idea how to map the Windows commands above to the Mac terminal. Mostly for the sake of posterity:
$ sudo ipconfig set en0 BOOTP $ sudo ipconfig set en0 DHCP
In typical Unix fashion, there’s no output to indicate that succeeded or did anything at all, for that matter, but it seems to do the trick.
