Sunday, May 04, 2008

Software Plasticity and Risk: The Search

After writing yesterday's post, I decided that it might be a good idea to take a look and see if anyone else was using plasticity in the sense that I was trying to use it, or if there was an already established notion of plasticity that I'd be swimming upstream against.

Again, my notion of plasticity is: how changeable is the system in question balanced against the cumulative risk to the business of the change itself and the risk to the business of actually making the changes.

I found a couple links via Google. The first was from a paper submitted to a 2004 conference in Hamburg, Germany. It discussed the concept of a new widget type, "the comet", that would adapt its function based on the execution context. Not exactly what I was after. The second was a link to the same paper from a different source. Then, surprisingly, the third entry was my blog post from yesterday.

In the fourth position, was a blog page that was just a click through to the real article which was actually discussing the use of aspect oriented programming (AOP) and the concept of software plasticity. In reviewing it, this appeared to be more of a discussion of how to apply AOP as a debugging tool, rather than how to build and maintain a system in the context of keeping a business running and satisfying customers.

After that it seemed to get a little random, except for a link to a PDF on UI plasticity. The article referenced by the top link continued to show up an awful lot from a bunch of different sources as well. I took a look at Yahoo search and Dogpile. Came up with the same set of stuff.

From this survey, it seems like there hasn't really been a lot of thinking published on the web about the development effects of the plastic nature of software, and especially when evaluating plasticity within the context of business risk.

I guess I'll keep flogging it and see if anything useful comes of it.

Friday, May 02, 2008

Software Plasticity and Risk

I've been toying with the concept of plasticity with respect to software. I've also been thinking about the software development process and how plasticity relates to the risks introduced by making changes to software.

Think about using a scale from 1 to 10 to describe how plastic a software product is. A one (the least plastic software product) would be a consumer electronics device where the software is embedded and it's impossible to update the software. Examples would include a portable DVD player or a digital clock radio. A ten would be something like a website (perhaps like the Netflix website or Instant Viewing PC client -- and I happen to be hiring one or two QA Engineers), where if there are defects discovered, they can be fixed quickly by pushing new code to the servers, and instantly, all users get the new code.

Then, think about the risks you run by making changes. My canonical examples to contrast the risk of changes usually go something like this:

1. We're updating the encryption key that we use to encrypt the credit cards for our members. We test this very thoroughly. The risks to the business are very large if there's a screwup and the benefits of avoiding screwups are equally large. Therefore, it makes a lot of sense to invest a lot in testing.

2. We're modifying how we format the pages for different genres of movies so that boxshots are right aligned instead of left aligned. Not a lot of risk for damaging the business there. We may not even do any formal QA and leave it up to the UI engineers to make sure they get that one right.

I haven't worked out the details yet for measuring risk vs. plasticity, but I imagine some kind of matrix with plasticity across the top and different software components down the side. The intersection of each row and column would have some metric that boils down the cost to fix, the cost to deploy, the risk of change and the risk to the business. Then, during the course of normal development, or in the case of an emergency, evaluate the proposed change on those four dimensions to come up the metric for that change and compare to the matrix for where the change lies. If there's a net positive risk/reward, do the change immediately in the case of a fix to production. Likewise, if it's part of the normal development cycle, then if there's a positive risk/reward, allocate the QA resources to fully test. If there's not adequate reward for testing, or the risk to the business is low enough, dedicate the limited QA resources elsewhere in that push cycle.

Comments?

Thursday, December 20, 2007

OLPC Laptops Delivered Today

I ordered two of the OLPC via the Give One Get One program. They just got delivered today.

I think that perhaps I'm more excited about them than the girls will be when I give them to them for Christmas.

I'm going to unpack and boot them up after the girls go to bed tonight to... um... make sure they work! Yeah, that's it!

More news as I have it.

----

So now, it's tomorrow morning, and I took a look at the laptops last night. They're pretty cool. They work as expected. They're not quite as peppy as I'd have hoped, but they're certainly not sluggish.

I still have to figure out how to get the wi-fi to connect to our secured WAP. I guess the answer might be in the support forum. Duh.

Well the boxes are wrapped, so I guess I'll play with wi-fi after Christmas Day.

I didn't play too much with the apps. I recorded a short video of myself. I played with the 'measure the distance between two laptops' widget. That last one made a sound that was really annoying to my wife. Might have to restrict usage of that app to outside or downstairs.

The video was kind of grainy, but sort of cool to see.

It will be interesting to see how intuitive the interface is for a relatively computer-naive child.

I guess I'll post those impressions after Eloise (6) and Lucy (4) get ahold of the machines in a couple days.

Tuesday, November 13, 2007

Give One Get One for "One Laptop Per Child" is in Effect

I just put in my order earlier yesterday for two laptops under the OLPC "Give One Get One" program.

I got one for each of my daughters, and I feel a little warm and fuzzy that two children I'll probably never meet will have an opportunity to explore the digital world.

Providing my own children with that opportunity for discovery made the expenditure of a couple days wages seem like a pretty good deal.

Sunday, October 14, 2007

Pokerstars Blogger Tourney

I played in that this afternoon. Got about an hour into it before getting busted. I actually feel that I played fairly well. I was patient until I played my first hand that turned into the nut flush, and I managed to extract 3k where if I'd just jammed with the nuts I don't think I would have gotten the call. I also managed to get away from a hand where I'd semi-bluffed on the flop and followed through on the turn to lay it down to a big re-raise. Final hand was A8o vs A9o who was in the big blind. Couldn't think of a way that I could have gotten away from it, and am kind of surprised the other guy called. He was fond of saying 'donkey', so I expect he's a "hardened professional" and goes looking for marginal hands that he can "get sucked out on" with.

Anyway, I had a good time. Since I busted out so quickly, I was able to substitute for my wife on taking the kids to see "Ratatouille".

Side note. Firefox spell-check thinks I misspelled ratatouille. The suggested correction is "bouillabaisse". Very freaky.

Anyway, Jen was going to take care of the kids so I could play in the tourney, and part of it was to take them to this animated feature (which is her absolute least favorite genre of cinema). Since I busted out, I took the kids instead. We get about 85% of the way through. We see the false happy ending and start heading down into the reversal and Lucy starts crying that she doesn't want to watch any more. I ask Eloise if she's ok to watch the end alone if I take Lucy out into the hall to wait, and she says ok. Big mistake on my part. I take Lucy outside and get her calmed down. We start to go down the hall to the bathroom, and all of a sudden, Eloise comes screaming out of the theatre and down the hall. She's scared, doesn't want to watch any more. She's in full on screaming tears mode. She forgot her water bottle in the theater. I calm her down, everyone uses the bathroom. I go back in the theater to get the water bottle. We head home.

One good thing is that as we walk back towards the car, we discover Beard Papa's Sweet Shop. Verrrrrry tasty cream puffs. I'd heard of them from a parent at a birthday party that Eloise had gone too. Worth the trip.

Wednesday, October 03, 2007

It's that time of the year again

Pokerstars.com is having their annual blogger's tournament. I might as well give it a try (assuming I can talk Jen into giving me some time at noon on Oct 14).


Here's the verification stuff:


Online Poker

I have registered to play in the PokerStars World Blogger Championship of Online Poker!

This Online Poker Tournament is a No Limit Texas Holdem event exclusive to Bloggers.

Registration code: 6402628


Tuesday, August 28, 2007

Another Prosper Listing

I haven't plugged anyone on Prosper for a while, but I think this listing deserves some attention. He seems like he's got his plan together and just needs a little help digging out from underneath high interest credit card debt.

As a little reminder, if you sign up through the link above and help fund his loan, both you and I will get $25.

Followup on the July Prosper Listing

So I was beating pretty hard on MWALKER650's Prosper listing. She got funded, but the community finally got so enthusiastic about her loan that I was underbid and didn't get a piece of the action.

What a bummer. I'm glad she got funded though. It was an interesting experience providing advice on how to improve the listing. Just helped out a bit to much, I suppose...

Friday, July 20, 2007

Alright you slackers, cough up the dough

You may have been reading where I've been promoting this loan on prosper.com, and you may be getting sick of reading about it.

Well, one way to stop me from posting over and over and over again would be to:

1. join prosper (you get $25 FOR FREE!)
2. fund this loan
3. enjoy the warm feeling of helping someone get out from under the grinding heel of the consumer debt peddlers.

Do the right thing, peeps.

Something I forgot from yesterday

There's something that I've been telling myself as I've been running (which I didn't do this morning -- website issues got me out of bed at 5:50 and now the kids are up, and I have to get into work).

That thing is:

The body can be trained to do whatever your mind has the will to train it to do.


This seems particularly applicable to the new style of running I've been trying. It's more painful (sometimes much more painful) but it seems to yield better progress overall.

From a strict pain/utility perspective, a slower continuous pace might seem to be optimal, but for a longer term perspective of no slowly degrading performance over time, I think it makes sense to train for the pain. That way I'll always know that I'm pushing things to the practical limit and won't slide down a slippery slope of complacency.

Only by having the will to train through the pain would I get to a better overall solution.

Thursday, July 19, 2007

Running, running, running again

I was on a regimen of running 3 miles every other day. I got some new trail running shoes over the weekend. They inspired me, as new footwear often does. This week, I decided to start running every day. Not only did I decide to run every day, but I also decided to change my style of running.

Previously, I'd take off from house at an easy trot up the hill to Rancho San Antonio, and pace myself to keep at least shuffling along in a gait resembling a run the whole time. I'd slow down on the uphills and be out of breath at the top and then kind of coast down hill until I'd caught my breath.

The new plan is to run flat out until I can't run any more, and then walk at a brisk pace until I feel like I can start running again. I actually feel better for it. I think that I'm moving faster overall (but I suppose I could measure that).

I suspect that by training my body to keep moving at all costs, I was opening the door to a complacent pace. It seems that was a slippery slope to slowing down. The new regime will train my body to always be going flat out. While I can feel the lactic acid building up much more with this style (especially on the uphills), it seems like over the course of the week that the recovery period is getting shorter.

I'll keep you posted.

Sunday, July 15, 2007

Here's another one

So you may recall that I've been promoting a loan for a young Bay Area woman trying to get herself out of debt. In the course of communicating with the other lenders who were trying to fund a loan for her, I was referred to this listing.

She seems to be a little bit more of a risk, but it's a good story, and the other Prosper member says that she's been a pretty good communicator in their email exchanges. A smart girl in a tough position.

Once again, in the interest of full disclosure, if you sign up through one of the links above, both you and I will get a $25 sign-up bonus.

Friday, July 13, 2007

Trying again

So that gal that I was trying to help out through Prosper.com didn't get that loan funded. She's trying again, with some more information in the listing. If you'd like to help out, click on through

In the interest of full disclosure, if you sign up through the link above, both you and I will get a $25 sign-up bonus.

Monday, July 09, 2007

Someone who could use a little help

Would you like to make $25 while lending someone a helping hand?

Here's a listing from Prosper.com for someone who I think is listed as a 'high risk' borrower but really isn't a high risk.

She appears to have a good head on her shoulders, understands that she's in a bit of a bind, but needs a little help to get out of the bind.

I'd encourage you to sign up and lend to her. I have. If you sign up through the link above and lend to her, you'll get $25 as a sign-up bonus, and so will I.

Saturday, June 23, 2007

Looking again

I need to find a QA engineer. Here's a rough draft of the job description:

----------------

Senior Software Engineer in Test -- Customer Service Applications

THE ROLE

We are looking for someone who can own the process of reliably getting the good ideas out of our developers heads onto the desktops of our customer service reps. We are looking for someone familiar with testing enterprise applications built from web services, Oracle, SQL, PL/SQL and telephony integration in the customer service space.

Quality Assurance at Netflix is not about waiting for some code to fly over the wall from development. It's about providing an environment for the development engineers that helps them minimize the number of bugs that make it into the code in the first place. It's also about insuring that what works when we test continues to work as well when we deploy it. Working on our customer call center software, you will help the people that help our members solve their problems.

You will provide your expertise in understanding what to test, as well as how to test. Given a schedule that is always too short and a feature list that is always too long, you'll identify and efficiently evaluate those changes to our software that pose the greatest risk to the smooth and effective operation of the customer service staff.

RESPONSIBILITIES

* Validate and verify the correct operation of the customer service application
* Advocate designs that are usable by the customer service representatives
* Collaborate with customer service management to design a complete system that meets business needs
* Bridge any communication gaps between the development and operational teams supporting the system
* Improve and extend the automated regression test suite and production monitoring tools

QUALIFICATIONS

Must have:
* 5+ years of white box 3-tier application testing, building and deployment
* Deep experience with Oracle and PL/SQL or equivalent database systems
* Experience with Java/jUnit or C#/nUnit development and testing
* Experience with testing high-traffic, highly scaling, multi-threaded software design
* A Bachelors or Masters in Computer Science or equivalent engineering experience

Nice to have:

Familiarity with contact center technology (e.g. CTI, IVR, CRM)
Familiarity with use of .NET Remoting, Web Services, 3rd party .NET controls, TestComplete

----------------

Email me if you're interested.

Fiction writing

You should never see the phrase "I woke up and went through my usual routine" or anything like it in fictional stories. The point of writing the story is to give insight into the character. If the reader doesn't already know what the character's 'usual routine' is, then they will infer that the character's routine is just like their own, which is probably very boring. If your character usually runs out onto the patio to chase away the squirrel at the bird feeder, you should tell your reader.

Friday, June 22, 2007

Real Life on Second Life

I saw a pretty funny movie when I was visiting Valleywag today. It was about what real life would look like if real life were like Second Life.

Wednesday, June 06, 2007

Prosper

So there's this service out there that hooks up lenders and borrowers and trims out a lot of the fat of more traditional financial institutions by using an auction to set the rate.

There's a button off to the left that you can use to click thru and signup. If you want to be involved in lending money, get a much better rate than a savings account, and maybe help some good folks with a better rate than they'd ever get from a credit card or bank, then you can make $25 at the same time I make $25.

You can also click through just below.


Great Rates, No Banks. Borrow. Lend. Prosper.

Monday, May 07, 2007

Run for the WSOP 2007

Yesterday was my annual attempt to get a seat in the WSOP at the Oaks Card Club in Emeryville, CA. The format is no-limit holdem, with a $100+25 buy in and a single $100 rebuy. The top twenty were paid both cash and points towards a freeroll in which the top five prizes are WSOP seats ranging from the $10k main event down to a $1500 ducat. First place gets 20 points and 20th place gets 1 point. As of the start of the tourney yesterday, the bubble for the top 75 (who would be those invited to the freeroll) stood at 16 points, or a 5th place finish. That was likely to become 17 points after the day was out and possibly become 18 (but that was unlikely). So I went in to the game looking for 4th place or better.

My results were unspectacular, busting some time in the 2nd round after the rebuy period ended. With QQ I raised to 600 with 100-200 blinds UTG and was put all-in for 1500 more before the flop by AJo in middle position. The ace on the turn ruined my day.

More impressive was my father-in-law Tony's performance. Last year, he took 25th place when 20 places were paid. This year, he managed to make it all the way to 8th place, and probably could have done better had his KK not been vanquished by 55 which turned a set. 8th place paid $1,015 and 14 points. The $1k paid for his entry last year, this year, and now he'll be back again next year. The 14 points wasn't enough to make the freeroll, but he was busy weekend after next anyway.

I'll be back again next year.

Sunday, March 18, 2007

Separated at birth: David Foley and Ira Glass

So, we received in the mail a preview DVD of the new collaboration between the Showtime cable network and the Public Radio International show, This American Life. My wife and I watched it, and we got to see Ira Glass for the first time. My first thought was "That's David Foley. This must be a gag." However, once I heard the voice, it was clear that it was our old buddy Ira.

See for yourself (Ira's on the left and David's on the right):


My wife thinks I'm nuts, and that they look absolutely nothing alike.