Author Archive

Funny, Personal

Another scene from my life with Kiara

Here’s a tip. When telling one’s spouse about a story in the Onion, make sure they’re awake enough to notice that you said it’s from The Onion.

I started telling Kiara about this guy who was caught in a scented candle store during a mall shooting.

“I looked around at where I was and told myself there was no way in hell I was going to let them find me curled up behind a floor display of Midnight Jasmine Housewarmer jar candles.” …

Much of Mull’s desperate plight was captured on mall security cameras. In the grainy footage, he can be seen inching his way slowly over the blood-slicked floors and past the contorted bodies of other victims before collapsing unconscious in the entrance of The Sharper Image.

She looked at me, horrified. “Oh my god, is his wife alright?”

That’s when I realized that she had been asleep when I started talking and missed the crucial bit.

Then again, maybe it’s just safest not to share stories like this, period.

Apple, Usability

Mac Spaces

One of the reasons I was happy to upgrade to Leopard was that I could finally use Spaces, Apple’s take on virtual workspaces. Once I started using it, though, I was mostly content. Defining and switching between spaces is easy, and now I can keep my work projects separate from my RSS reader, iTunes, Twitter, and so on. So far so good.

But two things still bothered me:

  1. I could not figure out how to move an application window from one space to another, no obvious way to “send to another space.” I thought I’d done it once accidentally, but couldn’t reproduce it so must have been wrong. I knew I could pin an app to a space — I do this for Twitter and NewNewsWire — but once a window was open I couldn’t move it elsewhere.
  2. I can’t set a different desktop background in each space. I would love this, because then I could immediately identify which space I’m in without having to think about it. Having to take a split-second to review the app windows or check the menu bar isn’t unbearable, but the small things add up.

Granted, I have not bothered to investigate whether these things were possible, but they weren’t obvious. I’m lazy.

I was delighted to find, then, that there are several ways to move a window to another space, including the now-obvious technique of clicking a window’s title bar while switching spaces. Excellent.

Still flummoxed by the different desktop backgrounds, but neither have I started digging. :)

I really should read Mac Tips more often.

Personal

Keeping Warm

Kiara and I were snuggling on the couch watching Earth 2 last night, and I noticed she was shivering. Huh. It was a little colder than I expected. I have the thermostat set to drop to 60 after 11 p.m., figuring that if we’re not in bed by then, which we rarely are, it’s our own damn fault if we’re cold. But Kiara was really cold.

Turns out the batteries in the thermostat needed to be replaced, and the furnace wasn’t running. It was below zero last night, so yeah — we were cold. Easy enough: turn the heat off, replace the batteries, replace the batteries again because the first set didn’t work for some reason, reprogram the settings, and go to bed.

Did you notice the step I missed? Yeah, neither did I until I got up in the morning and saw that it was now 50. Brrr! It seems that it helps to turn the heat back on.

So there. A little tip, from me to you. Sleep well.

Browsers

New Firefox 3 beta

Oh sure. I went digging today through the Firefox nightly builds to find a release of the latest Firefox 3 beta, and hours later they show up on the main beta download page.Of course.

I’ve been looking forward to Firefox 3 mainly because I’ve been having trouble with Firefox 2 crashing or hanging on my Mac. Sometimes it happens all day, sometimes it might be days between crashes. Could be an extension doing it, but whatever. It’s a problem. I’m grasping at straws.

Few of the extensions I use work yet in Firefox 3, but Firebug does if you go digging. That’s the one I care about most.

Programming

Bill Higgins wrote something that resonates with me:

We began bootstrapping the Admin Web UI in September and I thought we’d made good progress in such a short amount of time. Erich didn’t seem so impressed with what he saw. I was a bit frustrated by this because I thought Erich was being unreasonable – we’d made good progress for the short amount of time we’d been working on it. But after a few more minutes of chatting, I realized that there was simply a mismatch in what we were evaluating. I was evaluating the state of the Admin Web UI vs. the resources (time and people) we’d had to work on it; Erich was evaluating the state of the Admin Web UI vs. his vision of what an awesome Admin Web UI should look like.

I can relate. To Erich Gamma more than Bill.

At work I am sharply critical of what we do. For every app we work on, I have in mind something far better than what we end up releasing. I want us to do an amazing job and naively believe we can.

Quality isn't Job One. Being totally fucking amazing is Job One.

After a recent user acceptance test of an application we’re working on, I was dismayed by how fragile the app felt. It just isn’t as good as I know it can be. In contrast, the development supervisor was thrilled because, like Bill Higgins, he was evaluating the state of the app versus resources available — and mostly because it was indeed better than it had been 6 weeks earlier.

Bill’s insight is a good one, to recognize the need to think in terms of both “current vs. previous” and “current vs. ideal.” I spend most of my time worrying about “current vs. ideal,” (worse: my ideal, which is a damn brutal standard). A healthy dose of celebrating progress would good for me. Without a good, hard look at a just-completed iteration, I don’t get that sense of progress so am likely to be drawn into a morass of despair. Likewise, the less despondent among my team could do well to get a sense of where we sit in relation to where we need to be, to help inspire and keep the work interesting.

It’s important to take time as a team (and individually!) to reflect on what you’ve done. Not only is it an obvious opportunity to learn from successes and failures, it can be help keep up morale. But as time pressures loom, it’s easy to let that time slip. Don’t.

Security

RSnake speaking to Twin Cities OWASP

Robert Hansen, aka RSnake, whom you might know from his insight on web application security over at ha.ckers.org or perhaps his book on cross-site scripting, will be speaking at our local OWASP chapter on Monday. It promises to be good.

Pre-registration is encouraged to give some idea of how many to expect — the venue for last month’s meeting had to be moved because so many people registered.

Update: Hansen appears on today’s Future Tense.

Java

JavaFX for Java3D

When I first mentioned that I had started diving into Darkstar and Wonderland and doing Java 3D programming, I wrote:

All that interesting work being done making Swing programming easier and more tolerable with JRuby? Yeah, Java 3D could use some of that.

Not long afterward, watching Joshua Marinacci demonstrate JavaFX at Sun’s Midwest Java Days, I got to thinking that JavaFX would be the natural way to make Java3D programming easier, much as it alleviates the pain of Swing. Something gave me a hunch that it just might be in the works. Sure enough, it has been:

As many of you are aware, Sun’s emphasis on client technologies has led to the creation of JavaFX — a platform for creating rich content applications for mobile, set-top, and desktop devices. The majority of our current effort is focused on building out the 3D support for JavaFX. … Specifically, we are working on a new 3D scene graph, as part of the JavaFX player, that will complement the 2D Scenario scene graph. Its initial focus will be 3D effects, casual games, and simple 3D viewing applications. We anticipate that future versions will include additional features that may meet the needs of many existing Java 3D applications.

Oh ho! This is good news. It gives me hope for the future of both Java 3D and JavaFX.

Uncategorized

Crosby/Bowie duet

Sometime in the ’80s, my sister had me scouring record stores in the Twin Cities for a copy of Bing Crosby and David Bowie singing a duet of “Little Drummer Boy” that she wanted to give to her friend for Christmas. I never found it. A few years ago it turned up on a holiday sampler from Martha Stewart, of all things, and I’m sure can be found elsewhere.

Now we have YouTube.

Here’s the story behind the duet. Kinda cool. And that Martha Stewart CD has a couple other gems. Emmylou Harris just kills “The First Noel.”

Environment

Brrr!

The National Wildlife Foundation has an initiative they’re calling the Green Hour:

by giving our children a “Green Hour” a day — a bit of time for unstructured play and interaction with the natural world — we can set them on the path toward physical, mental, and emotional well-being.

Sound idea. I’ve read Richard Louv’s Last Child in the Woods. I’m sold on the importance of connecting to the natural environment as a child. So I’ve been making a point of getting our kids outside to play for at least an hour every day.

But some days, it’s hard. One of the things I like most about living in Minnesota is the winters and all the fun we can have outside in the snow. But whew! Was it cold today! I used to say that I felt like I could dress for cold until it got to  -30F. Until then, don’t talk to me about cold. Then I had kids. Even when it’s “just” in the single digits, I’m not so keen on keeping my one-year-old outside in a dangerous windchill, no matter how he’s dressed.

Books, Gaming, Security, Virtual Worlds

Exploiting Online Games

I have been eyeing Gary McGraw and Greg Hoglund’s new book, Exploiting Online Games, for a while now, probably since before it was published. Seems like a no-brainer considering my recent tinkering. But I haven’t bought the book, partly because I’m buying nothing new, partly because I’ve got a stack of other books to get through.

McGraw’s recent appearance on Phil Windley’s Technometria podcast has really got me itching to get this book. Not only do they discuss why criminal abuse of online games has been on the rise in recent years (there is so much money to be had!), but explains why one might care even if games hold no interest:

If you look at online games, they have architectures which are very similar to the ones everybody’s all excited about, with SOA, and Web 2.0, and Software as a Service, where you have sort of a fat client model connected to a central server. And the security lessons that we have to take from online games are *huge*. It turns out that the kinds of attacks, the kinds of problems, the kinds of mistakes that developers make, and the kinds of exploits that those can lead to are already present in the online game world, and so we can get a real peek into the future as far as SOA and Web 2.0 systems go now.

« Prev - Next »