Tuesday, April 27, 2010

Bump, Bump

I'm sitting in a doctors office. We've been waiting for almost an hour, but I'm OK with that.

The doctor comes in and asks Veronica to lie down. She fiddles with a small device and after a few moments I hear a quick, repetitive sound. It reminds me of a car driving over a bridge - a "ba-bump, ba-bump."

It's the sound of our child, it's tiny heart beating 152 times per minute.

I can't wait to hear more.

Sunday, April 25, 2010

My Diabetic Rebellion

Over the past few weeks, I read several accounts of the parents of children with diabetes going through what I like to refer to as "diabetic rebellion."

I haven't seen a lot of accounts of younger diabetics who actually went through this, though.

I would like to tell my story.

I was diagnosed when I was 7 years old.  My parents were very good at teaching me to be independent and how take care of myself.  I was giving myself shots very soon. I don't remember exactly when, but when I went to Camp Sweeney I was the only one in my age group that did not have to sign up for "giving myself shots" programs.

I want to make something very clear. My parents were are awesome. They got me supplies for years with no health insurance. They taught me how to take care of myself, and how important it was to stay on top of my diabetes. I can only hope that if I ever have to raise a diabetic child I can do half as good as they did.

I went to college, and about two years after moving out I just...wasn't staying on top of it.  I'd skip a blood sugar test. I'd wait for a while to take insulin, or skip it entirely. I was on Humalog so it was pretty easy to correct later, but it was also easy to just...not do it.  I could go to Wal-mart and buy a pint of Ben and Jerry's and eat it.  Sure, my friends would give me a hard time, but what did they know?  I'd bolus myself enough and it'd be OK.

It wasn't a sudden thing, it took time. I worked as a waiter and grazed on food (chips and salsa), but I was also busting my ass. I told myself that I'd get insulin later. I remember there were days where I probably only got about half what I needed.

Finally, I got very sick. I couldn't hold anything down. My blood sugar turned out to be around 600 mg/dL.

I had to ask my mom to come take me to the emergency room. When they released me, I was told my A1c was around 14%. It was one of the most humbling times in my life.

When I got out, it was an eye opener.  I had a lot of very good friends who were frank with me. They joked "they'll take your feet." But, they cared about me. My parents were worried. I had a girlfriend (at the time) who I didn't want to let down.

So, I shaped up.  Started seeing my endocrinologist again.  Taking care of myself.

I'm currently on the OmniPod insulin pump and my A1c levels are doing great.  Not quite as low as I'd like, but I'm working on it, like every other diabetic out there :).

This particular post has been written over the past several weeks, off and on.  Recently another diabetic, Scott Hanselman, has started a pledge drive at http://www.hanselman.com/blog/TeamHanselmanAndDiabetesWalk2010.aspx

Please donate. As hard as it is to write something like this, my hope is that someday, no one ever need deal with something like this again.

Thanks for reading.

Monday, January 18, 2010

Long Time No Blog

You aren't supposed to blog about how you aren't blogging, but I'm going to anyway.

So, here it is.

This is partly inspired by a comment someone left on a 4 year old article. I enjoy writing and need to do more of it.

What's been up with me, you ask?

I joined Mary Kay full time. It's a great company to work for, and I get to work on awesome stuff. Currently spending about half my time doing configuration management (source control, releases) and the other half working with WPF.

I bought a house.

I joined Twitter and get a lot of use out of it.

I got an insulin pump (the OmniPod) and I'm loving the pumping lifestyle - much better than injections.

And I've got a lot of things to talk about.

Stay tuned!

Tuesday, August 28, 2007

You Gotta Stand Up For What You Believe In

Built To Last and Good To Great left me with a lot of ideas to digest, but I'd like to touch on two of them. In Good To Great, part of the Hedgehog Concept involves the journey in finding the "core" that you believe in. In Built To Last, half of the foundation for building a visionary company is "Preserving the Core."

How do you find the core? It has to be something you're passionate about. Philip Morris is passionate about offering products and defending your choice to use those products. You may not agree with that stance, and if that's the case, working at Philip Morris is probably not a good idea. Nordstrom's is passionate about customer service - almost fanatically so. If you aren't, you won't fit in.

These companies spent a while looking for their core values. Once they found them - they were passionate about keeping them, and developing a company where the values would flourish, by hiring (and keeping) individuals who shared those values.

This is of the utmost importance. At the point where you're looking for employment in your life, your core set of values is probably established. It becomes harder to change these as you grow older. Don't be afraid of what you truly believe in. If you're passionate about something, find and surround yourself with others who share these values. By the same token, a company should actively seek to hire individuals that identify with it's core values.

For software companies - I think there is a key difference between core values and core competencies. I feel far too many recruiters and jobs focus on technical skills that can be acquired by any good developer in a few weeks. Focus on the values the developer holds. Are they disciplined? Are they enthusiastic? These are more important, as these traits will drive them to always be learning the technical skills they need to help them succeed (and your business, as well).

Disclaimer: There is still a core level of technical competency that any developer needs. I think it's hard to really quantify it, but anyone working as a developer definitely needs technical skills. They are, after all, what allows us to do our jobs. I just don't feel that measuring someone solely by their laundry list of buzzwords on their resume is a good indicator of their true worth.

Monday, August 20, 2007

DJ Z-Trip at the Granada

My wife and I went to see DJ Z-Trip at the Granada last night. It was one of the best shows I've ever been to.

Any time you can hear Led Zeppelin mixed with Jay-Z is definitely a good time.

Watching Z-Trip mix is a sight to behold. I've never seen anyone so into what they were doing. He looked absolutely thrilled to be doing what he was doing - the enthusiasm was infectious.

Aceyalone and Gift of Gab were fantastic, as well. I definitely need to check out Blackalicious.

The opener DJ, Tricky-T was pretty good as well. Not as good as Z-Trip, but definitely talented.

The drummer was great too. They gave him a good 10 minute set, with nothing but the drums.

My wife and I got a chance to meet Z-Trip, as well. Real nice guy, gave my wife a big hug like he'd known her for years. She had bought a shirt and he tagged the back of it.

If you have a chance to catch any of the remaining tour dates, I'd definitely recommend doing that.

Thursday, August 16, 2007

FindControl and UniqueID

The FindControl method is not recursive. Should have done that Google query before I spent 3 hours debugging.

Imagine you've gotten a page that adds user controls very late in the page lifecycle - after Init, in any case. Like any good control developer, you're definitely going to recreate the control tree after postback, but you have some additional requirements. In addition to adding the control to the tree, you need to keep track of certain types of controls, and re-apply some properties to them. Like, a "collapsed" property, for instance.

So, you throw some control ID's into a StateBag (I really like that class name) to retrieve later, to apply the properties to each control. You have the ID, and you have the control type - should be easy to find the controls on each page, and then apply properties, right?

Wrong. Not if you don't know where in the tree it is. Page.FindControl(controlID) doesn't work if it's deep in the tree. However, using our handy-dandy Reflector, we can see that FindControl uses ID and UniqueID, which:

Gets the unique, hierarchically qualified identifier for the server control.

Ahhh...just what I need. The ID and where it is in the tree - all without having to to implement FindControlRecursive (for now).

Friday, August 10, 2007

Software Companies and Discipline

Anderson brings up to my next point - what would you consider discipline in a software company?

The first discipline concept is Disciplined People. Most top-notch software shops know how to hire disciplined employees - individuals who never stop learning, and who are committed to building (and shipping) great software. You want everyone on board to be serious about their craft (whether it is a developer, tester, or manager). They need to have both the guts and the ability to take your company to Great (as capitalized by Jim Collins).

The next concept is Disciplined Thought. You've hired the right people. They have the raw abilities, and they have the gumption to perform at their best. Now, comes the unified part. You have to harness all of that discipline and focus it on your software. This is hard. You need to create a sense of unity. It's not the testers vs. the developers. It's not management vs. everyone else. The entire team needs to be "signed up" to deliver Great software. Again - if you've got Disciplined People, this part should be cake.

Finally, there's Disciplined Action. This is definitely the hardest part to "get right." It's crucial that the first two ideas happen before this one can be truly successful. I myself have a hard time with it - undisciplined thoughts that turn into actions can make it look like it's a failure in execution, rather than planning. (Especially when you have several successes under your belt.)

Developers are notorious for being bleeding-edge adopters. It's practically a badge of honor to be running nothing but beta software on one's machine. I'm no exception - it's happened in the past, and right now I've got two different versions of Visual Studio running side-by-side. What happens is if you let this tendency run wild in your software, you will have problems. I'm not saying new technology is a bad thing. I can't wait to replace some of my Dictionaries with HashSets. LINQ is undoubtedly cool. And don't get me started on lamdas. But, there's no way I would try to integrate .NET 3.5 into an existing project that needs to ship anytime soon. I've been down that road before, and I know where it ends. (Hint: it's a particularly "deathly" kind of "march.")

You get the right people, who will make the right decisions, and execute them properly. For a software company, this means hiring people who will ship great software, and base their decisions and actions around that concept. Developers write high quality, unit tested code. Testers make sure the code meets requirements and is of high quality. Managers keep the machine running smoothly, and block any attempts to foul it up. Business analysts figure out what the customer really wants. And no one makes decisions that will run contrary to the desired outcome - shipping Great software.