Saturday, July 16, 2005

Gracie Allen Quotes - The Quotations Page

"When I was born I was so surprised I didn't talk for a year and a half." Gracie Allen

I used to watch "Burns and Allen" all the time when we were on the road in the band. We'd usually turn in around 3 AM and I'd watch TV till 8AM or so. Old musicals, WWII movies, etc. The above quote sounds just like her. She was cool.

What's That Bug?

OK... so this site kind of creeps me out, but it still very cool. What's That Bug? has photos of all kinds of different bugs - and is kind of a 'dear what's that bug?" site. Readers send in photos to ask "Hey... found this hanging from my porch. That the heck is it?" :)

Thursday, July 14, 2005

Wildlife in CO

Got mail from facilities today warning us (MCI employees) to be on the lookout for rattlesnakes. That is the cool thing about living in the Springs. A pretty good size city, but at the same time there is wildlife everywhere. Fox, coyotes, deer, mountain lines, bears... and rattlesnakes. I'll take the bad with the good. Its cool.

Tuesday, July 12, 2005

Geek thoughts at 03:30

This is the kind of stuff I think about when I can't sleep - yeah, major geek.

So like I've been whining... I'm part time on this project and this other manager is in control of it - and his team will be doing most of the coding. We (another guy and I) did the initial coding, and now I'm kind of in an advisory/architecture position. There is stuff that needs to be done, that would take 30 minutes to do - design, document, code, test, CM. But because he's in a very tight waterfall methodology, he doesn't want any code changing.

So at 03:30 I can't sleep and I'm thinking about this. How code can be viewed as a beautiful, living, breathing thing. Its out there serving some purpose, and its constantly changing. Making minor changes as the design morfs or as the customer's needs change. And that's how this code was. We got it running, and we starting discussing major functionality with a number of developers... and as we came across some small change that needed to be made, we'd put it in.

But no longer. Now it is a stagnant thing that is just sitting there, getting more and more out of date as the days go by.

And it is frustruating. 1) Because it could be easily changing as required, and 2) If you know a change has to be made you can either make it - and forget about it; or you can list it, track it, worry that someone is going to make it, etc.

Anyway - like I said, geek thoughts at 3:30 in the morning...

Monday, July 11, 2005

InformationWeek > Data Security > Iron Mountain Loses More Tapes > July 8, 2005

I'm doing some work in this area right now. As blogged in the past, its starting to get pretty high priority, what with the CA bill and the bill in Congress. Its a good thing, imo. As the article says, companties should encrypt (or take some security measure) to insure backup tapes are secure.

I tend to NOT leave my credit-card-number on web sites that need it. Yeah, it takes a few seconds to enter it every time I buy movie tickets or something... but better to take the time than be compromized... imo.

Score - Free Strawberry Pie

So Tina calls me last night and says they (her and Jaime) want to go out for dinner. We are starting a diet today and so they want to go out for burgers before they start dieting. So we decide to go to Gunther Toody's, which is right by our house.

On the way over I suggest we go to VI instead, because I really want some Strawberry Pie.

We get there and the service is pretty bad. The hostess seats us and gets our drinks, but the waitress never shows up for about 15 minutes. "Have you already placed your order?" "No." "Oh sorry, shift change, I guess I missed you."

So we order and Jaime orders a milk shake. The waitress stops by once to tell Jaime that her shake will be out "soon". Then she drops off the salads, "It should be any time". Then she drops off the dinner, "It should be right out." - and we ask for mayonaise... twice.

By the time she brings the mayo, Jaime has finished eating. She waited for about 10 minutes, but then decided she should just go ahead and eat her sandwhich before it got too cold.

So after we are all done eating, we notice the check is laying there. So Tina says, "Should we just leave and tell them she didn't offer us pie?" - There is a big sign that says, "If we don't offer you pie, you get it free." - Sure... why not.

So we go up front, stand in line behind a woman who is complaining about her order and it takes about 5 minutes to get that straightened out. Then Tina says, "She didn't offer us pie." and the hostess says, "OK - what kind do you want?"

SCORE! 3 pieces of free pie, 2 strawberry and 1 pecan

Still took them about 5 minutes to get that for us, and as I was walking out I heard the manager saying to the person behind me, "We comp'ed the one meal and all of your pie." - I guess it was a rough night for them all around.

As we were pulling away I said to Tina, "Gee we should come here more often." and she replied, "We are not coming here just because you know the service is bad and we'll get free pie." - Hey... its worth a shot. :)

Sunday, July 10, 2005

Hurricane Dennis rushes toward Gulf Coast

: "Neighborhoods buzz with the noise of construction workers trying to rebuild coastal communities before the next hurricane."
Even though I have relatives that live there, I just don't get it. Tina's mom has just got her house rebuilt and refurnished, etc. Just in time for the next storm to come throught? I guess the fact that it wasn't touched in the preceeding 7 years or so is enough to figure, "Well Ivan hit it, but it probably won't get hit again." I know they are building them stronger this time, so hopefully things will be better... although this article doesn't suggest that.

Saturday, July 09, 2005

What You'll Wish You'd Known

What You'll Wish You'd Known: Is a talk Paul Graham was going to give at a High School, but never did. Its probably worth reading by you graduates that read my blog (or by anyone for that matter). In addition to stating that, I figured I'd also show this quote - which explains me very well. :)
"Now I know a number of people who do great work, and it's the same with all of them. They have little discipline. They're all terrible procrastinators and find it almost impossible to make themselves do anything they're not interested in. One still hasn't sent out his half of the thank-you notes from his wedding, four years ago. Another has 26,000 emails in her inbox."
That's another great thing about my job. I'm so busy, and required to do so much, that I'll never be able to get everything done. Everyone realizes it. So for the most part... I work on stuff that I find interesting. Yeah, I have to do short things (like code reviews, and sometimes work on a standards page for 30 minute sor something) that aren't all that fun or interesting... but overall, I get to pick my own course. I get to work on what I feel is important. And that is usually what I think is interesting. So again, very cool.

Its great to be able to think

Its great to get paid to think, not just do. I'm lucky in that part of my job is to think out of the box. Think of new ways to do things. Push the edge.

Not everyone has that luxury... or at least that is their perception. Some times developer's don't take time to think about "what is right", they are to focused on "getting it done" or "getting it to work".

Following those thoughts (is this really the best way, could we improve this, what does this effect down the road), and concentrating less on how to just make it work; is great. We always try to emphasize, "Yes... it works - that's a given, that's what you get paid for - to make things work... but did you do it correctly?"

I know many people don't get what I do. So - to move it from computers to something more general... the above statement is kind of like building a house (This analogy seem s to work for most people). If you tell someone to build you a new house, and that you want it to have 2 doors, and 10 windows, and 6 rooms, etc... they could do that. But they could do it in a million different ways. They could use poor materials, poor techniques, etc. Even if it all "looks right" and "meets the specs". Many times people say "Its got windows, and I put them where they are supposed to go." - but I ask, "But do they all look the same, the ones you installed and the ones the other guy installed - so the house looks "consistent". And did you use good materials on the south side, so that they don't warp and have to be replaced in 2 years. And are they using the latest "patterns" such that they are easy to maintain, work on, etc." And some times the answers are NO.
  • I do it the way I do it, I don't care how someone else does it,
  • No, I didn't look at the latest ways of doing it, this is how I've always done it
  • It will work for now, I need to get it done, it will take longer to make it last forever
So in a general, comparing software to building a house, that is what I do. Look at the overall, try to figure out the best (or better) way of doing things, and then try to insure that is what people are doing.

Some times its frustruating, but its also cool to see pepole "get it", to see the software improve. To see things move forward.

Wow... lots of rambling today. Thats what I get for getting up at 4:00 and working for a bit but then deciding to blog instead of do more work... :) Well - guess I should get back to it and give your eyes a rest of reading my stuff. :)

Agile vs Waterfall - blowing some steam

The Agile Manifesto states:
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.


The main group that I've worked on for the last 10 years tries to follow that manifesto. We may not be truly an "agile" team, and we may not be 100% "XP" (or even 50%)... but we are moving there, and we believe in the above. Lately I've been working with some other people. Mostly doing architecture, participating in some design thoughts, did some prototyping, etc. Helping out and trying to guide... but its their team and they are all forced to follow the standard waterfall process. Which is an extermely rigid. Nothing agile about it.

AND ITS DRIVING ME NUTS.

It is so against the manifesto.
  • Process over interactions - no we can't do any coding until the design is 100% complete. And when it is all done, we'll have to manually verify that all interfaces are in sync.
    • Or you could just take the Agile approach and hook some code into the framework and insure that all the tests still work. Not worrying about whether the interfaces work or not, cuz they obviously do since everything compiled and is still working.

  • Comprehensive documentation over working software. Don't make changes as better ways are discovered - instead lets just document it, review it, and then make it later.
    • Or you could just updating the code that currently works, make sure it still pasts the tests, and move on. Thus having one less thing to do later, and being able to see how it actually effects the system, and letting people code against the change.

  • Following a plan over responding to change - Don't modify the system based upon user requests, but follow what was originally scoped, no matter what - for fear of scope creep. We can always change it in a later release
    • Or you could make the update right now, be responsive, and see how it effects things, rather than designing and building upon things that you know will eventually change


The manifesto is a great thing, a great way to think, and is trying to move us in the right direction.

I was talking to someone about all of this - and how from a "true" Agile/XP group - they may look at what we do and think "you aren't even close". But as this person said "You don't know how far you've come, until you are forced to look back at where you've been."

How true. I didn't realize how far we've come, until I was forced to work in the old way.

Now, not only working the new way (agile), but having the oppurtunity to compare it to the old way (waterfall) in a real environement, man... I can't ever imagine going back. Its just way too painful.

And a cool thing about process improvement, and new techniques, is that people (at least some people) are starting to realize that there is no "correct" answer. There is only a "better" answer. I believe, as do many others, that Agile/XP is the better answer... right here, right now. (To quote VanHalen). But that doesn't mean 10 years from now it will be. And that is something some people find so hard to understand and work with. "Tell me the correct process, and the one we will use forever. Tell me what it is and then never change it." We (the architects on my projects) keep trying to tell people - things will always change... if we are working towards making them better. Its not that they are bad now, just that they could be better.

Well... guess I should climb down off my soap-box now...

A great Hacker

I've posted about "Norm" before, and lately I posted some stuff about great hackers. Norm is a great hacker. Yesterday at work, we were having a problem, found the defect in the code, and discussed in which releases we'd fix it, when it would be available to our production sites, etc. This caused Tim to post on irc:

Maybe we should just get Norm to patch it in the running executable in production

This based upon a story I told Tim about Norm a long time ago, and that we still occasionally tell. There was this production system that had an issue. Development got involved but could not figure it out. So Norm took a look. He didn't actually work on the system any longer, but had for a point in time. He figured out what was wrong, and also figured out how to patch the running executable in memory - while it was running, in production. He was in his cube right next to mine... All of a sudden he stands up, looks towards some cubes a few rows away and says "They must be all at lunch", sits back down and "patches" the exe.

All of a sudden the user's are saying "Hey... its working now." Support gets back from lunch and some folks are kind of mad - "Hey... did you patch production?" - Norm had this great little kid look, "Who me? Nope. BTW: You might want to fix the code in CM a this line."

Some folks were pretty upset that the customer's problem was fixed... cuz it was done "the wrong way" and it was done "in production".

Norm was (well and I'm sure still is - I just don't work with him any longer to know of his latest exploits) a great hacker because
  • He knew his stuff..., extremely well
  • He almost always cared about "what was right" and hardly ever cared about the red-tape, process, etc. that got in the way of doing the right thing
  • He evaluated risk vs reward and based his decisions accordingly

Yeah... we could have made the change, and then tested it, and reviewed it, and made a new kit, and deployed it, and taken a system outage... or he could fix it in 30 seconds and have the customer's back up and running.

Way too often, process, management and fear of the unknown (by people who just don't know) gets in the way of "doing the right thing" - to me, hackers hate that.

Anyway, since it came up yesterday, I sent mail to Norm, telling him his legend lives on and why. He responded with:

we all did foolish things in our youth :-)
now I do them as an adult!


Another great hacker attitude. :)

Another reason Great Hackers want to work with other Great Hackers - they make you better. Not only in how they code, but how they think. It infects you. It causes you to think about the "right" thing, rather than the "proper" thing... Many times they are the same, but not always.

Thursday, July 07, 2005

Sis is gone

Came down stairs this morning to work. There is an empty table sitting where Arthur's cage was with a loud talking bird. He's gone. Which means Tif is gone. :(

But she called last night and was at her new home, in Tucson, with Brian. Cool for her. It was great having her around for 3 months. But she is back where she belongs. We definately have to go down and see her there. Its been ages since I've been there. Back in... probably '75 or '76 we played in Sierra Vista for 2 weeks. Except for all the bugs, it was a fun time.

Wednesday, July 06, 2005

PC Advisor - Advertiser sues Google over click fraud

I mentioned this a while back, but figured it was worth posting again. Someone will always figure out how to commit fraud against something. One reason we'll always be in business.

Tuesday, July 05, 2005

Independence Day

Jaime and I were up before anybody else, so we decided (after I went and got the macaroni and McDonalds) to watch Independence Day. We originally say it, with Tif, at the Centennial in Denver. I think it opened on the 2nd (same as the first day of the movie) and we headed up, figuring we'd maybe have to wait in line and go to a later shown. People just laughed at us, thinking we'd get tickets for THAT day... the line had been several blocks long the day before. But we stayed in line, got tickets for the next day, and went and say it on the 3rd.

We then got it on video and I've seen it several times since then, but Jaime had only seen it that one time. Brought back some "childhood" memories... although to me it was "just a little while ago". I guess that's the difference between a 46 year old looking back 9 years, and an 18 year old. Half her life - wow, goes by so fast.

Anyway, we watched it and I said, "You know, we should do this every year. You can bring the kids over and we can all watch the movie" (I'm a BIG fan of tradition), she just kind of looked at me, "I don't have kids" - "Well you know, some day!" :)

Tif eventually got up and watched the last half with us. It was a good day. Yeah... I think we'll do it every year, us, the kids, the grandkids, macaroni salad, Grandpa (that would be me) telling the "Yeeesss... Macaroni for the 4th of July" story for the 100th time, the grandkids rolling their eyes and giggling, corn on the cob, steaks. Yup... I like my life and where it is going. :)

Police Chase

Heading down Woodmen, where it is a pretty good hill, heading down towards Austin Bluffs, (returning with my bag of macaroni). There is a guy on a cafe racer screaming up the hill, wide open, going fast. Laying fairly flat, glancing back over his arm down hill. I glance down hill, and there is a cop coming up the hill, lights and sirens, kind of stuck behind two cars. I glance in my mirror and the bike is already crested the hill and gone, and the cop isn't making too much ground. The bike has at least a 1/4 mile on the guy.

As I get to the bottom of the hill, here comes another cop, lights and sirens, turning off Austin Bluffs onto Woodmen, a good 1/4 mile behind the first cop - helping in the pursuit I presume.

I get home about 3 minutes later, and as I'm getting out of the Jeep, I can still hear the sirens going.

I'd say he had about a 50/50 chance of getting away, depending on how quick he hit a side street, how much traffic there was, how many other cops joined in the prusuit.

What a way to spend the 4th... for all of them. High speed prusuit, lots of traffic out, etc. Having been in that kind of situation before when I was MUCH younger, I don't envy any of them. Sent up a prayer, hope nobody got hurt.

A Napoleon Dynamite moment

Yesterday Tina wanted Macaroni Salad for breakfast - and Jaime wanted McDonalds. We didn't have any macaroni, so I figured I'd just dash into King Soopers, grab a bag (they have a FMV brand that is only 99 cents, and it just as good as any of the other), then hit McDonalds. That way I wouldn't be gone too long.

So I go in, get the bag, get in line and wait for the person in front of me to get checked out. The cashier is a girl about 19 or so. She finishes with the person in front of me...

C: Looks up at me, "Did you find everything you were looking for?"
M: Yes
C: Looks down at the ledge where you can sit your groceries, picks up the one bag of macaroni, then looks back at me, "Is this it?"
M: Yes
C: In a great Napoleon Dynamite voice, "Yeeesss. Macaroni for the 4th of July", and then with a little bit of pity in her voice, "Well... some days are just like that".

Aside from the missing arm pump, it was a great ND phrase. The "Yes" was perfect. I thought about explaining the whole thing, 'cuz I figured she thought maybe that was all I could afford, etc... But then I decided it would ruin the whole ND moment... and it was just too priceless to ruin. So I just kind of grinned at her, said, "Yup", took my macaroni and headed out.

Just cracked me up. I get sooo many ND moments from Jaime and her friends, but not from a total stranger. I'm still laughing about it.

Saturday, July 02, 2005

Great Hackers

Great Hackers: "If you want to get real work done in an office with cubicles, you have two options: work at home, or come in early or late or on a weekend, when no one else is there."

Hmm... and I get most of my work done early in the morning or on the weekend, when I can work from home. In fact, some times I'm getting so much work done at home that I don't even get to the office until 11:00. That used to tick people off, until they realized that making me come into work by 9:00 just caused me to do less "real" work.

Great Hackers

Ordinary programmers write code to pay the bills. Great hackers think of it as something they do for fun, and which they're delighted to find people will pay them for.
I don't know if I'm a great hacker, but I'm a good hacker. And I love that I get paid for what I do... which is why I was up at 4:45 this morning and worked for about 3 hours. Not because I was getting paid for it... since I've already got in way too many hours this week. And not because someone asked me to do it... since the problem I was working on was something that no one asked me to do, but just something I thought needed to be done. And besides... it was a cool thing. Someone did a transactions per second comparison between a home-grown query system and Oracle, and they had brushed aside MySQL. I had heard it was good, light-weight and fast. I've never done any MySQL programming from C++... but how hard code it be? So I wrote a program to create 10 million rows of data, and another program to do 10 thousand random queires. Then I loaded it all up and tested it. I got some impressive numbers. In any case, the point being, it wasn't that I was getting paid for it, or that someone asked me to do it... it was just a cool problem and something that sounded fun. So I did it :)

And I just got a promotion recently... which goes to prove, find something you really love, that you are good at, and start solving problems. Eventually someone will notice, and you'll start getting paid, fairly well - for something you'd do for free if you didn't have to earn a living.

One final note - I know I've posted stuff from Paul Graham before - probably this article. But if you are into programming at all, or want to know what makes them tick, you should read Great Hackers. And if you've read it before... go read it again. I consider myself a hacker - as it defines hacker. And I consider the best people I work with hackers as well. If you're going to program, be a hacker. Doing it as a job is just a drag - and anyway, it really drives the hackers nuts.

What?

In case I never mentioned it, I hate answering the phone. Its usually not for me, and I'm not a real "small talk" kind of person.

Anyway - it Saturday morning. Jaime is already gone and Tif and Tina are sleeping. I've been up for hours. The phone rings. I need to get it because I don't want it to wake up Tina.

It rings
I jump up, grab it and hit the on button
I hear, "Hello" - oh... someone must be up and answered it
I start to set it down and it rings again
What?? - I push the button again, so it won't ring again, and then I realize

IT WAS ARTHUR - the bird. Yeah... when the phone rings, he says, "Hello?"

Cracked me up. I should have known, he's been talking to me all morning. I just didn't expect it. :) Maybe next time I'll just let him talk to whoever is on the phone. ;)