Wrong Number

December 1st, 2010

It wasn’t technically a collect call, it was via TextCollect, which bills you $10 as a premium text message service, so that’s how the actual billing mechanism works without setting it up to receive.

I thought it might be one of my friends, …and I could return the favor they’ve done me several times and bail them out of jail. Fortunately, it turns out my friends are too old and boring to get themselves arrested, or have to call me to get out.

For all I know it was some dude random-calling people to see if someone would answer. That happened to me one time in College Station when I was at A&M, some woman in the county jail picked my number to get me to try to help her out.

Not that I would have minded much. One time back in must’ve been ‘95 I was in in jail and didn’t have anybody to call, so I know how desolate that can be. Luckily I had a check for $98 and I finally talked a bondsman into taking it.

This guy didn’t ask me to do anything for him, though, so when we were about to hang up I asked if there was any message I could deliver, seeing as I’d already spent the ten dollars.

He gave me his brother Bill’s phone number and asked me to tell him that he’d filled out a release for him to come pick up his belongings from Del Valle.

His brother been down there today, you see, he was waiting out front to get this guy’s stuff–I never got the guy’s name–but he couldn’t, because the release form wasn’t signed.

I did get a hold of the guy and told him the story. Bill asked me to tell his brother that it would be a couple days before he could get back down there. I told him that wasn’t how it worked, I was just delivering a message, and he sounded downcast. Them’s the breaks, though.

A very strange dream

September 22nd, 2010

The effect, in my mind, was of watching in the center of my vision a television set upon which a series of audio and video morphed quickly one into the other, video games to anime to period movies to cartoons to talk shows to television series. The dialogue seemed in some superficial way to make sense, but on close listening revealed itself to be an absurd string of words and noises.

At one point the television showed a television steam engine, and then it showed the engine circling up and ever smaller around the screen, until a great spiral of steam engines filled the screen and I could only think “The trains go marching on marching on go marching on the trains go marching…” and so on, even though trains don’t march. I got so stuck on thinking it, as a matter of fact, that I became incapable of thinking anything else. I do not know for how long this went on, because as I said I was incognizant of anything but the marching of the trains.

At some point the next thing to arise in my mind was unease with this repetition. Unease gave rise to occasional more cogent thoughts, like “will I ever stop thinking this marching of trains?” and “why is this happening”, and “what is left of me?”. Finally I wailed “WHO AM I?” in my thoughts, scared I’d never remember. Only the marching of trains greeted me at first, and I panicked without words, searching my empty memory for any clue to who I was.

Finally, it came to me, and I shouted “I AM KELLY JOYNER, AND I AM LAYING IN MY BED IN SUNNYVALE!” and awoke with a start. I almost said it again, aloud.

What a strange experience, I thought to myself: I should write it down before I forget it. But: There’s no way I’m getting out of this bed. Well: You’ll just forget it eventually, then. Finally: Then? Hell, I don’t remember it now.

If I were Microsoft…

July 24th, 2010

I’d be running sales on XBLA games to small cross-sections of the XBL community, and using the returns on that to judge the actual price elasticity of the game in the XBox marketplace. If the sample shows that you make more money per XBLA member with a lower price, then you lower the price for everybody. If not, then keep the price high until the returns are in.

I’d be running them on demand; you can run hundreds of these market experiments at a time, and they need only last maybe a few days or a week.

Developer Management for the Lone Programmer

July 2nd, 2010

I’ve been managing software developers going on ten months now, and although I could have done way better, I’m not the kind of guy to do something for ten months and not learn anything from it. I don’t pretend that anything below is original–you can learn most all of it in any introductory management book. I’m not entirely sure I’m even right about all this stuff, but they are the truest things I know as of now.

Let Go

You’ve got to let go of the development you were doing before you became a manager. Sure, that’s the first thing you read in every management textbook, but….it’s hard. It’s really hard. Not just at an emotional level, but logistically speaking. Transferring development from one person or team to another is hard, and that’s why we avoid doing it where possible.

Take a phased approach. Give bug fixes to other people. Give small refactors to other people. Make yourself available to the new owner of the code (they probably report to you anyway, right?)

I think every new manager wants to avoid looking like a micromanaging jackhole, and I’m certainly not recommending you become one, but it will be easier and safer to let go of the coding of your projects if you stay closely engaged at the beginning  with the other aspects of the development.

You’ll need to let go of your current responsibilities before you can…

Grab Hold

The people that work for you are a force multiplier. Before you had to depend on yourself and whoever you could Shanghai into helping you to accomplish the goals you wanted to accomplish.

You now have a whole team of people at your disposal, and it’s your job to deploy them as best you can to change the way business gets done. If you’re a manager, I assume that you believe you know how to do business (or government) better than anybody else, or at least anybody else available. I very much hope you have good reasons for believing this.

Regardless of whether your ideas are good or bad, it’s now your job to put them into action, and your team allows you to accomplish many, many times more work in this direction than you can do by yourself. You’ve been given a fantastic opportunity to change your department, your company, or the world for the better. Take every advantage of it.

Software development is in its infancy, or at least an infantile state. The rate of change is incredible, and if you’re standing still, then you have lost. The way you did things a year ago is not good enough for today. Keeping the foo counters turning is necessary to good management, but is in no way sufficient. Know the state of the art in software development, and make intelligent decisions about if and how to apply it.

Try new things all the time, and put your ideas into action. Get proactive. Look for a problem space that nobody owns and fill it with solutions.

Own the Code

You may not be responsible for writing the code, but you still exercise vast control over the quality of the software your team produces, way more than any single developer.

You’re technical; sit in on use case and requirements gathering sessions. Make sure designs are optimal and forward-looking. Make sure code gets reviewed. Make sure it gets tested. Stay personally involved in all of these tasks as much as possible.

If you do not provide guidance and keep your product aligned with your goals, your team is a set of developers, each with different habits and history and inclinations, and they will produce a body of software with inconsistent design and uneven quality, software that pulls in all directions at once.

Be Responsible

I’m not talking about the basic job responsibility of keeping everybody in work and producing useful software. You have a responsibility to your people to make sure they get to do the best possible work in the best possible way.

Even a talented developer can end up with a crappy resume if their boss is a loser who puts them on pointless projects and gives them no direction. If you do a poor job, you’re not just hurting your career, you’re hurting the careers of all those who depend on you. If you do a fantastic job, then you can sleep easy at night knowing you’ve done right by the people who put their trust in you.

Production Monitoring Tips for the Internet Enterprise

July 1st, 2010

I will here tell you a few truths, the most valuable ones I know on this subject:

Your primary monitoring should try imitate a customer as closely as possible, covering every major function a customer needs.

Prefer functional tests over diagnostic tests. Functional tests tell you whether a system is doing a job. Diagnostics only tell you whether a system thinks it’s doing its job.

Determine log retention in consultation with legal, and enforce it. It makes disk-full outages less likely, and costs more predictable.

Alerts should have tunable noisiness. Don’t turn the noisiness down until you’re sure you know what’s noise.

Spend your money monitoring what costs you money. Metrics you don’t use are a wasted expense.

But: Data is cheap. Get a lot of it. Constantly think of ways to turn it into information that you can use to your profit.

Shoved!

June 13th, 2010

A few days ago as I walked toward the spice rack at Whole Foods, a man in his fifties, about my height but wiry, approached me from the left. By walking up to the spice rack I forced him to go around behind me, but as there was an end cap protuding to my right, he would have had to circumnavigate any way.

As I walked up to the rack, He continued in a straight line, and I laughed nervously at the you-go-right-I-go-right sense of it, and started to say something, to which he ducked his head and with a “Mrrrrruuhhh!” put his hands out front and shoved me.

It was obviously not a credible attempt to hurt me so much as a childish fit of pique. I stared at him quizzicly as he passed around me, then laughed and yelled, “You might want to watch yourself there, buddy!” after him. He said something like “You did it!” while trying to intimidate me with his eyebrow, then turned and walked away.

I was going to let it go at that, but Travis thought the guy looked kind of coked-up and/or crazy, and and alerted the staff, who had a word with him (he said I walked into him, but they said it was obvious from the way he was acting that he’d done it).

Anyway, that’s the strangest thing that happened to me last week.

A weekend in Big Sur

April 18th, 2010

My brother and I spent a long weekend recently down in Big Sur, the area on the central California coast where the Santa Lucia mountains crash into the Pacific ocean.

Most of the Big Sur area is accessed via Highway 1, the Pacific Coast Highway, which runs along the cliffs and mountain slopes next to the ocean, often hundreds of feet above the sea, affording spectacular views.

Hurricane Point Panorama

We camped at Pfeiffer Big Sur state park, in a spot next to the Big Sur river after which the area is named. We started a fire badly and ate reheated tamales and pinto beans. The next morning we decided breakfast would be better served at the lodge at the front of the park.

We had forgotten that it was Easter Sunday, and when we went to the restaurant, were surprised to find a sumptuous buffet laid out, with chicken breast and rack of lamb, cheesecake and petit fours and a pair of chefs making omelettes to order. I asked for a local beer and was given the Double Barrell IPA from Firestone in Paso Robles. It was definitely the best possible way to start the day.

Big Sur

This was my second trip to the area, and my first overnight stay. Late March is the rainy season, and the first full day we spent was cloudy, with misting rain throughout much of the day. We spent much of the day taking short hikes to various waterfalls and overlooks. Among them was McWay falls, after the Bixby bridge perhaps the most well-known landmark in Big Sur, an 80-foot fall onto a sandy beach.

Above and slightly south of the falls there is are two “environmental camp sites”, a short hike from the road and situated near the cliff edges, some 100 feet above the ocean. Unless you are flexible with your schedule, reservations must be made seven months in advance. The next set of reservations becomes available on May 1, and I intend to make a reservation at that time. The beauty and natural drama of this place is difficult to overstate.

Driving south, we passed Lucia and the Lucia Lodge, a small collection of rooms perched precariously on the cliffs hundreds of feet above the sea. I will return to stay at this lodge someday soon.

Julia Pfeiffer Burns State ParkJulia Pfeiffer Burns State Park
Julia Pfeiffer Burns State ParkJulia Pfeiffer Burns State Park

We drove steadily south throughout the day until we saw a large waterfall on the inland side of the road, on Salmon Creek in Los Padres National Forest. An adventurous scramble brought us near the base of the falls, from which vantage point they towered over us. There are no waterfalls here to compete with Yosemite, which contains the highest falls in North America, but there are plenty big enough to awe.

Salmon Creek Falls

As darkness fell, rain began to fall in earnest, and we headed north again. The rain became heavier and heavier until we were driving along highway one in the dark, in a torrential downpour, it bucking and weaving serpentine alongside the mountain and far above the sea. Landslides and bridge construction at two points narrowed the road to a single lane.

Big Sur

Trixie was well up to the task, and the locals took no notice of the weather, but many visitors to the area were unnerved, driving twenty-five or thirty miles an hour. We passed on such crawler on a rare straight stretch of road, only a short while later to be caught behind another. Annoyed and hungry, we pulled off at the next opportunity, which happened to be Deetjen’s Big Sur Inn.

It was a fateful decision, and one of the best I’ve made in the last year. In addition to being a charming, historic inn, Deetjen’s has a rambling, English pub style restaurant. After the cold and the rain, the crowded, cozy dining room was a welcome relieve. I had a surprisingly cheap and shockingly generous glass of wine with my filet mignon, which was served with roasted potatoes. Travis had pork tenderloin with polenta. Both were delicious. I had for dessert the velvet mousse cake and a glass of sherry, which I would highly recommend.

While we were eating, a man came in, almost certainly the same I’d earlier passed, and asked the girl behind the bar if the road was any “safer” to the north, complaining that it was “very dangerous” to the south. There were rocks in the road–rocks! Poor fellow. She assured him it was, and he’s probably even still working his way toward San Francisco.

We drove back to the park and dove into the tent, keeping the water mostly out. We put our shoes outside, under the fly, to keep the interior free of mud. In the middle of the night, however, I awoke to find that the rain and wind had loosened the fly stake, and our shoes had gotten wet. I put them in my bag to dry them out, which worked very well, but I would not recommend with a down bag.

The next day dawned clear and beautiful. We went hiking at Andrew Molera State Park, where the Big Sur river runs into the ocean. It affords spectacular views back down through the Big Sur river valley. I was unable to capture much due to dying camera batteries.

Andrew Molera State Park

Finally, we stopped by Point Lobos State Natural Reserve, a rocky promontory on the south end of Carmel Bay. Francis McComas called it “the greatest meeting of land and sea in the world,” and I agree that I have never seen anything quite its equal. Ancient Cypress trees cluster thickly on top of towering cliffs, beaten tirelessly by the waves, throwing water sixty feet into the air.

Point Lobos

On the way home we stopped for burgers at American Burger in Monterey, and I highly recommend it as well. I had a chili burger open-faced, and it was delicious.

I Know You Care

March 11th, 2010

From my facebook status update:

Doing all your communication through Facebook forces you to admit to yourself that in the future, no one will give a shit what you had to say now.

Wait, let me go put that on my blog. There, I can still pretend.

The Petabyte year.

December 30th, 2009

Information security is most reliably done in a layered model, a consideration of which fact leads to a couple of interesting economic points.

The basic idea behind the layered model is that several successive security measures must be bypassed before data can be accessed. The outer layers protect large sets of data, like firewalls at the boundary of a corporate network, while middle layers protect sets of machines, like the traffic isolation provided by switched wired networking and VLANs. Inner layers protect smaller amounts of data, like that accessible from a single server, protected by the authentication and authorization infrastructure of the operating system. The innermost layers protect only part of this data, such as GPG encryption on a single data file.

The amount of data protected by a security measure is significant because of a simple fact: it is bad business to spend more money to secure a thing than the thing is worth. There’s no point in building a $500 safe box to protect a $10 bill.

Consequently, the outer layers of a security model, which protect the most data, can and generally do cost the most, since their cost can be amortized across all the data in the company. Corporate firewalls and VPNs and AAA infrastructure have a very significant per-seat licensing, hardware, and administration costs, but since they protect all corporate data, the total cost to protect a petabyte of data for a year is relatively low.

Move toward the inner layers of the onion, however, and because less data value is being protected, both the expected and actual costs drop spectacularly. At the single-server level and below, standard layered security measures are generally available for “free”. They ship with the operating system or are freely available, and the sole cost associated with them is administration, updating the installed base to fix any vulnerabilities found, education of the work force in the proper use of the security tools, and auditing and compliance remediation costs.

Those costs are not free, nor are they particularly low, but, again, they can be amortized over more than one set of data. This leads to the second point:

Because marginal “per-seat” costs at the inner layer of the model drop to near zero, but the administrative and educational overhead stays the same, it is much more economical to use the same security technology for a given layer across the enterprise than to support multiple competing technologies. It also follows that this is more true at the inner layers of the model than the outer.

Avatar

December 30th, 2009

I just watched Avatar in 3D for the second time, and I’ll say it: I love this movie. I will own it on blu-ray, I will get it in 3D as soon as I can get it in 3D, and I will watch it over and over again until something more beautiful comes out, which I doubt will be very long.

The story is simple, and on second viewing the thick melodrama of the dialogue melts into pure hokum. An evil corporation flies across the galaxy to an alien paradise called Pandora to strip-mine it for unobtanium, a highly-concentrated energy source needed to preserve a dying Earth. The native Na’vi are ten foot tall slender blue humanoids with carbon fiber skeletons, small breasts and serendipitously heart-shaped asses. They live, of course, right on top of the mother lode. The head of military operations wants to take them out.

A paraplegic ex-marine, Jake Sully, remote pilots a human-Na’vi hybrid body like a VR puppet; hence the name of the movie. He’s supposed to infiltrate the Na’vi and come back with valuable data for the military, but instead falls in love with the chief’s daughter and discovers that every living thing on the planet is interconnected together in a huge Gaia network.

If you can’t guess what happens next, I won’t spoil it for you, but if you think you know, you’re probably right. Hint: there will be a spectacular explodiriffic inter-civilization donnybrook. Heroes will do heroic things, and die doing them. There will be a heart-pounding showdown between the hero and the villain. True love will triumph.

Subtlety is not the script’s strong suit, and there’s no nuance in its unabashedly political message. For that some people will love it, and others will hate it. I just think that in fifty years it will make interesting commentary on our times and the less subtle ideologies they gave rise to.

Look, this story has been told a hundred times before, titled Dances with Wolves, or The Last Samurai, or A Man Called Horse, you name it. It’s been told better, but it’s told well here, and the reason it keeps getting told is that it works.

Here’s the thing, though: you don’t care about the story. The story is beside the point. The point is that this movie looks like Cameron hopped in a space ship and flew to Pandora to shoot all of this in camera. Have you ever seen the BBC series Planet Earth? The first half of this film is Planet Pandora, a stunning National Geographic travelogue of this strange world, its flora and fauna and strange native customs.

If there’s one thing I cannot be counted on to attempt objectivity about, it’s exploring lush alien landscapes. I grew up a geeky, galky teenager reading Anne McAffrey and Larry Niven and Jerry Pournelle and there is nothing I like more than seeing fantastic alien landscapes and peoples made real, and that’s what Cameron does here. He creates an entire world, an acid drenched world of neon jellyfish  by night that turns technicolor Amazon in the day. He never throws a three-dimensional spear into the audience, or makes things leap out of the screen in disruptive ways, but instead uses 3D to add depth to the scene, as if we are watching a 3D videogram from the future.

The real scene stealers in the movie are the Na’vi, virtual creatures that look so real you want to cry when you see anguish on their faces, as you frequently do. The performance capture technology seen in this movie is like literally nothing I have ever seen before. The subtlety of expression on the face of Neytiri, the Na’vi princess played by Zoe Saldana, is so convincing that you believe it. It looks real. It’s frankly amazing. Saldana’s performance here is her own, refracted through a blue giantess with yellow cat eyes and pale tiger stripes.

That is what is special about this movie. That, and inevitable huge land and air battle between the humans and Pandora. No red-blooded American boy who grew up on a steady diet of sci-fi and comic books can look you straight in the eye and say he doesn’t want to see a giant interplanetary battle full of wrath and pathos. I couldn’t, at any rate.

The story, if resigned to melodrama and derivation, at least animates the retelling with genuine enthusiasm and gusto, trading suspension of disbelief for fantastic visuals and soaring journeys through flying mountains.

The characters could have been cardboard stereotypes (some of which Cameron himself created), but for a host of strong performances by the well-chosen leads. Although, perhaps ironically, Jake Worthington’s performance in a dual role as Jake Sully and his blue alter ego never quite stands up to miss Saldana’s, he creates a cocky, good-natured grunt who is floored first by the jaw-dropping beauty of the world he’s been shipped to, and then by Saldana’s typically spunky, adventurous, passionate chieftan’s daughter.

Stephen Lang has one of the best turns of the film as the head of the military forces on Pandora, and manages somehow to give a cigar-chomping performance without ever actually chomping a Cigar. He really chews the scenery up as the guy you love to hate, and he milks it for every last drop of awesome. Sigourney Weaver’s gruff, cigarette-chomping scientist with a heart of gold is pure vintage Cameron, and Michelle Rodriguez is a similarly strong Cameron heroine who flies choppers and shoots things. Cameron has a good eye for tough chicks, and Rodriguez, like Lang, plays her small but meaty role with all the gung ho gusto she can muster, which is a lot.

If you’re one of those indie drama queens who constantly sniffs about how nobody makes movies at a human scale any more and wonders aloud about whether technology is killing the soul of the medium, you won’t like this movie. This movie is pure Hollywood, a ridiculously expensive mass entertainment whose impact depends on spectacle–but what spectacle! This kind of movie is what Hollywood is about. It brings magic to the movies in a way not seen in years, or, I dare say, since May of ‘77. Kurosawa proved with The Hidden Fortress that a movie doesn’t have to be deep to be great. Go see this one.