shinyblog

Saturday, October 29, 2005

the tools in my development environment

I've been in this job for four months, and I think I have the development environment I want. Things are fitting together more nicely than they have in a long, long time. Fundamentally, I'm using the mac for client side computing, and whatever I can find for a server.

  • mac g5 (dual-2, 1 gb ram). running Tiger. This is plenty fast so long as I don't try to run a server or a java VM. It's a client machine.

  • dell inspiron 8200 running OpenLaszlo, tomcat, mandrake 10.1. Just a 1.5 gigahertz processor and 512 mb of ram, but the java runtime outperforms the mac's by a factor of 5.

  • BBEdit, mostly just because it's a classic and the key commands are easier on my hands than emacs. I've been switching editors for so long that I don't really have a home, but Scott Evans pointed out that at some point playing with new tools just becomes a way to avoid doing real work... so I'm sticking with BBEdit for a while. Also because my employer bought a BBEdit license for me.

  • PathFinder by cocoatech. Industrial-strength, professional-grade Finder. I need massive speed and control when navigating the filesystem, and I need to do it all right from the keyboard. Macworld gave it 4.5 mice, which really made me take notice. Superb integration of the terminal, a graphical file browser, preview, info, shortcuts, keyboard commands. I'm just getting started with this but it is already a major productivity enhancer.

  • xScope by IconFactoryfor on-screen pixel measurement and color sampling

  • perforce, industrial-strength version control. Version control we pay money for. A set of related changes are a changeset, which can be treated as a unit. Nice graphical tools, but since I'm becoming keyboard-kid, I'm getting into the command line.
  • bash, find, grep, and terminal. Did I mention that I like the command line?

  • Safari. for a while I felt bad that I wasn't using firefox, but I'm over that now. Safari works for me, except when it crashes, and I know the keyboard commands.

  • Quicksilver. It took some work to get me and Quicksilver working together well, but now we're just in love. It's all about rapid keyboard navigation.

  • OmniGraffle 4. Now my diagrams can look like I'm a designer. Sort of.




What I'm not using:

  • Microsoft Office. I threaten to get out my machine gun whenever anyone sends me a word file; this technique has been surprisingly effective at reducing the number of doc attachments.

  • Macromedia Flash. LZX is my authoring tool for Flash. I write Flash via lzx. Every once in a while I think, hmm, could I do that in the Flash application? That thought passes more quickly than I can requisition a chunk of expensive software.



So, look at that: a few small-to-moderate tools, each focused on one goal. From the universe of software and methodologies, I'm picking the ones that work best for me... Tiny tools which work together. I wonder what government would look like if I could set it up just like my development machine.

Sunday, October 23, 2005

I will only buy wireless input devices from now on. Last week I tripped on a power cord for my laptop; the power jack was bent but the laptop was fine, despite crashing to the ground. (Good thing my host had a nice thick throw rug.) Then just now, I tripped over the cord to one of the weirder input devices I've owned, the Belkin Nostromo n52. Elementary physics indicates that when a cable connecting two items of unequal mass is tugged in the middle, the item with lesser mass will move. The heavier object (the laptop) will require more force to overcome static friction, especially if it has little sticky rubber feet.

little rubber feet
The little rubber feet keep coming off my powerbook. Over and over. When apple repaired it the first time, they replaced all the feet. Now one of the feet has started falling off again. I'm hoping some superglue will fix the problem, but it's a pretty small area for adhesion.
Bit of a design problem, there: the feet are high-friction so that the computer doesn't move when it's on a smooth surface, but that means the feet will stick when I put the computer down and slide it. This makes me think something about coefficient of static friction.
I hereby commit not to buy a new powerbook until Apple releases intel-based notebooks. I might, however, have to buy a Sun Ultra 20.

life is good
Another afternoon spent in bed... but that was after a very out-and-about morning. I spent the middle of the day shopping with Money-D. We discovered that Cheap Pete's really does have low prices on frames, that the waitresses in dim sum restaurants look at you funny if you ask them for the check (you have to ask a guy in a suit), and that the giant Macy's furniture store on El Camino in San Mateo really is a furniture store (not an abandoned warehouse). We ran into Frisco while driving around -- hard to miss a squareback VW -- and he was going to taco bell, of all places. Taco Bell! In the middle of California! It was a nice small-town feeling to see him. And just generally nice to spend a big chunk of my day with other people.
Since returning from my errands, I've been in bed watching 5ive Days to Midnight, a miniseries from the SciFi channel. So far it's rather good, except for a major sensation-of-disbelief requirement. Whoever did the soundtrack could make
I really need to go grocery shopping, but mmm, my bed is so nice and warm. Also, it's 69 in my apartment and I just set the thermostat to 72. Mmm, how tasty is that? Central heating, a thermostat, a bed with blankets. Life is good.

Saturday, October 22, 2005

twenty four hours without designers
Sometimes I like to pretend I'm nearly a designer, but then I get reminded that I'm lost without the real designers. One of them is at the roller derby and the other is on a farm in Pennsylvania. I'm working on adding a little tidbit to the promotional sequence, from a rather lovely comp. I built out the static view, but then when I went to integrate it into the animation sequence, I had no idea how to animate it.
"Fine," I think, "I'll just fade it in." Nope, Flash doesn't allow for text's opacity to be anything but zero or one. I'm sure Bret knows a trick for doing this, but he's on the aforementioned farm. Then I think, "maybe I can slide it in? the sliding looks so nice when Bret does it." But no. We've already got one thing sliding on the screen, so the other thing sliding too would look wrong.
I'm a coder, though, so I'll do a little refactoring to prepare for when the designers tell me how they want it to act. I miss them. Come back soon, designers.

In his occasional column on NPR, Andre Cordescu suggests keeping the sabbath. Driving home from a long but rewarding work week, I thought, "Damn, that sounds nice." Then I planned my weekend:
Saturday: pay bills, vacuum, go grocery shopping, add a new feature to Laszlo Mail
Sunday: go furniture shopping with Money-D (aka David Nault, who seems to be an ungoogleable except for this odd tidbit.) Eat dim-sum. Change kitty litter. Figure out how to use datahandlers.

But then my coffee plan fell through... I walked to Whole Foods for lunch and coffee. I can't stand Starbucks coffee because it all tastes so powerfully burnt to me. Whole Foods usually has a nice light roast, so I was distressed when I took a sip of today's offering and found it bitter. Acrid! Burnt! I started talking to one of the bakery staff, and asked her to brew a cup of real light roast for me. She suggested that the coffee I was drinking really was a light roast, but it was strong in a way that reminds the palette of bitterness. She gave me a lesson on coffee beans, roasts and origins, complete with several tastings and instructions on how to use a french press. Then a bunch of other coffee-shoppers descended, and I retreated... but without a blessed paper cup full of light and sweet coffee. I drank the remainder of my sample, then left, embarrassed to ask for the rest of one of the tasting pots.

Back at my apartment, I really wanted to take a nap, so I did. I'm honestly not sure whether it's a good thing or not. In the "observe the sabbath day" sense, it's a good thing, but in the cognitive-behavioral therapy way, not so much. Does napping lead to more napping? Or to renewal?

Ah, I think I get it. It's good to not work all the time, but "not working" doesn't necessarily mean "napping." So now that I'm awake, do I resume my litany of errands? Or start working on that feature the designers want? Or go see Serenity?