Exploration Through Example

Example-driven development, Agile testing, context-driven testing, Agile programming, Ruby, and other things of interest to Brian Marick
191.8 167.2 186.2 183.6 184.0 183.2 184.6

Thu, 05 Jan 2006


When I finally upgraded to Mac OS X Tiger, my old Emacs broke again. I hunted around for a replacement, tried a couple, and settled on Aquamacs. It has a few glitches, but it not only works like Emacs should, it also does a surprisingly decent job of acting Maclike. Some things I like:

  • It has the expected Emacs keystrokes, but the Apple key can also be used for normal Mac actions. Apple-O opens a new file, Apple-W closes the current buffer, etc. (You can use the Option key as Emacs's Meta modifier, but I've never been able to undo the 20-year-old hardwiring that has me typing ESC.)

  • By default, marking a region highlights it. As in other Mac apps, typing then replaces the highlighted region. I thought I would hate that, but I actually like it better than the old behavior (which is still available). But you must know that CTL-G undoes the highlighting!

  • Emacs yank (CTL-W), put (CTL-Y), and related actions are independent of the system clipboard, which you get to with Apple-C, Apple-V, etc. I was surprised by how well that fits with some of my common workflows.

It's good enough that I dropped a donation on its author.

## Posted at 08:58 in category /mac [permalink] [top]

Sat, 02 Apr 2005

Cocoa and Java

Is it possible to get to a place where you can comfortably use Cocoa and Java, or is the path always full of rocks?

<boring_tale_of_woe>I am finding plugging a Mac interface on my Jar file no fun. I am distressed that too often building produces mysterious behavior that goes away when I hit 'clean all' first. It's bizarrely cumbersome to include a jar file in the project. The link between the Nib and whatever other magic is involved in launching got so scrozzled that even backing up all the way to the Nib and regenerating all the Java sources yielded an executable that couldn't find the java UI objects. I had to start completely from scratch, redraw the UI, generate the Java sources, and paste in the code from the previous version.</boring_tale_of_woe>

Interface Builder is cool, but once past that things go downhill. I'm particularly wondering if the whole system is fragile in the face of lots of renaming of methods and redrawing of interfaces.

<boring_tale_of_woe>For example, the runtime once unilaterally ceased being able to find the action method addCasePressed. I had to rename it addCasePressed2, change the name in IB, and then it found it fine.</boring_tale_of_woe>

## Posted at 19:30 in category /mac [permalink] [top]

Mon, 27 Dec 2004

No Powerbook G5

The Powerbook G5 announcement has been canceled. Although my drive did die, I bought another disk instead of another Powerbook.

P.S. I've decided to opt for convenience over expense. Henceforth, I'm going to make bootable full backups to a Powerbook-compatible 2.5" drive in a firewire enclosure, rather than to a partitioned big disk. Next time a drive dies, I'll move the drive: Up and running again in fifteen minutes. And if my drive starts making ominous clunking sounds, I won't hang around waiting for it to die. Plus the extra planning and expense will ensure that no disk ever dies on me again.

Anyone else do that? Or do you have some other clever backup strategy? Mail me.

## Posted at 08:56 in category /mac [permalink] [top]

Mon, 13 Dec 2004

Powerbook G5 to be announced soon

My powerbook is making truly alarming clunking noises. Gosh, could it be the disk? I'll probably be buying a new one soon, which can only mean that some wonderful new model will be announced in soon+1 days.

## Posted at 20:45 in category /mac [permalink] [top]

Tue, 16 Mar 2004

Not iLife, my life

My life would be ever so much better if I could type control-shift-meta-cokebottle while reading mail and have that message added to an iCal todo list such that clicking on something (the associated URL?) would bring up Mail and show the message-that-prompted-me-to-want-to-do-something. Anyone know if this is possible? Mail me. Thanks.

## Posted at 08:59 in category /mac [permalink] [top]

Tue, 29 Apr 2003

iTunes 4

When I was about 12, I would stay up late Saturday nights to listen to the local community college station's alternative show. "What is this Frank Zappa creature?" They say that the Golden Age of science fiction is 12; for me it was also the Golden Age of Rock.

When I was a freshman in college, I became a huge Prokofiev fan. I actually signed up for two years of Russian just so I could read Nestyev's biography in the original. (That proved to be a mistake...)

In recent years, I've drifted away from music, but some of my enthusiasm came back in the last few months. I've listened obsessively to mostly old fogey music: the Clash's London Calling, Patti Smith, Springsteen (especially Nebraska), and Shostakovich's 8th. So Apple's new iTunes music store came at a vulnerable moment.

It's not possible, maybe, for a 43 year old without any particular musical talent or training to recapture that feeling that music matters, but I have to say I feel close to that tonight. Being able to reach out to a world of songs that mattered to me, click on one, and have it...

Good job, Apple. Good idea. Fine execution. But where are the Stones?

## Posted at 20:52 in category /mac [permalink] [top]

Sat, 01 Mar 2003

Mac OS X tool: Sciral Consistency

Sciral Consistency is a tool for reminding you to do things semi-regularly. For example, I want to check my Junk mailbox every three to nine days to see if my spam filter filtered out anything important. Every one to twenty days, I want to do something that improves my computing environment. Consistency reminds me to do those kinds of things through a display that looks like this:

That display is always visible on my left-most screen (of three). Each row is a task. You can see parts of some of the task names on the left. Each column is a day. Every so often, I'll glance at the display, focusing on today's column (the one with the brown heading). If I see red cells, I know I'm overdue for that task. Green cells are tasks I might do today or put off until later. Yellow cells mark my last chance: tomorrow, the cell will be red. Blue means that it's not time to do the task again yet.

The display of the past lets me know how well I'm keeping up with the things I want to do. As you can see, I slipped recently (a long consulting trip and some rush projects just after it).

It's really quite simple and surprisingly effective. Well worth $25.

## Posted at 18:34 in category /mac [permalink] [top]

Fri, 21 Feb 2003

Some tools for Windows switchers

I switched from Windows to Mac OS X last summer. It seems I know a lot of people who have switched too (PragDave), will switch as soon as their 17 inch TiBook arrives (Cem Kaner), or won't be able to resist forever (Mike Clark).

Back in my Unix days, I used to be quite the tinkerer. I fiddled with my environment to make it just so. When I went to Windows, I stopped doing that. I just submitted. On OS X, I'm back to spending time making myself more efficient.

Here are some thing I've done that other switchers might like. Let me know what you've done.

  • I have a 15 inch iMac, but I've migrated to using my 15 inch TiBook as my work machine. More pixels. I normally run it with a Sony SDM-X52 15 inch flat panel display as a second monitor. Having a second screen is just enormously more efficient for so many tasks. The Sony isn't the greatest display, but it's the best I could find out here in the boondocks for around $400. (I didn't want to buy sight unseen.)

    I actually have my iMac set up to the left of my TiBook, so I'm facing a semicircle of screens. It looks cool, but the iMac is just running iCal, my current todo list (in TextEdit), a program called Consistency (about which, more later), and iTunes.

  • I bought a Maxtor firewire drive as a backup device. Daily, I make a bootable disk image to it using Synchronize Pro X. I find it reassuring to know that, if my hard disk fails, I can run from the firewire disk. The Maxtor drive is a touch noisy. Synchronize Pro X is a bit pricy ($100), but I also use it to synchronize directories between the two macs.

  • I like switching programs from the keyboard, and I don't like the way the Dock does it. I always overshoot. So I bought Keyboard Maestro for $20. Option-Tab cycles you through a list of only the running programs. There are other commands to get you quickly to the finder, to quickly quit all programs, to back up if you overshoot, etc. It also lets you have N clipboards instead of just one. You can also program the keyboard to do arbitrary things. For example, when I'm in Emacs, F6 means "switch to project builder, build the debug version of the current program, and run it". That way, I can write my Ruby code in Emacs but still use the Project Builder for the things it's good for.

  • I use an Aquafied Emacs instead of the one that ships with the Mac.

## Posted at 08:08 in category /mac [permalink] [top]

About Brian Marick
I consult mainly on Agile software development, with a special focus on how testing fits in.

Contact me here: marick@exampler.com.




Agile Testing Directions
Tests and examples
Technology-facing programmer support
Business-facing team support
Business-facing product critiques
Technology-facing product critiques
Testers on agile projects

Permalink to this list


Working your way out of the automated GUI testing tarpit
  1. Three ways of writing the same test
  2. A test should deduce its setup path
  3. Convert the suite one failure at a time
  4. You should be able to get to any page in one step
  5. Extract fast tests about single pages
  6. Link checking without clicking on links
  7. Workflow tests remain GUI tests
Permalink to this list


Design-Driven Test-Driven Design
Creating a test
Making it (barely) run
Views and presenters appear
Hooking up the real GUI


Popular Articles
A roadmap for testing on an agile project: When consulting on testing in Agile projects, I like to call this plan "what I'm biased toward."

Tacit knowledge: Experts often have no theory of their work. They simply perform skillfully.

Process and personality: Every article on methodology implicitly begins "Let's talk about me."


Related Weblogs

Wayne Allen
James Bach
Laurent Bossavit
William Caputo
Mike Clark
Rachel Davies
Esther Derby
Michael Feathers
Developer Testing
Chad Fowler
Martin Fowler
Alan Francis
Elisabeth Hendrickson
Grig Gheorghiu
Andy Hunt
Ben Hyde
Ron Jeffries
Jonathan Kohl
Dave Liebreich
Jeff Patton
Bret Pettichord
Hiring Johanna Rothman
Managing Johanna Rothman
Kevin Rutherford
Christian Sepulveda
James Shore
Jeff Sutherland
Pragmatic Dave Thomas
Glenn Vanderburg
Greg Vaughn
Eugene Wallingford
Jim Weirich


Where to Find Me

Software Practice Advancement


All of 2006
All of 2005
All of 2004
All of 2003



Agile Alliance Logo