Thursday, July 30, 2009

Charlotte's Birth Story, and Why We Chose Homebirth (Written by Sarah)

We were planning on a homebirth since before I was even pregnant with Charlotte, though this wasn't information we went around advertising. It was a very informed choice made after doing lots of research (not surprising, since Michael is very statistics-oriented), but it was also a personal choice and arguing with people who said things like "but what about all those babies who DIED because they were born at home???"* wasn't my idea of a good time, and I needed to be surrounded by positive influences during my pregnancy. If you are interested in learning more about homebirth, just ask! I'd be happy to share my experience and my research with you. In the meantime, I'll share the link that convinced Michael to give homebirthing a shot, a link to the documentary that changed my life, and my story...

Born July 2, 2009 @ 9:30pm (due date was July 4th)
6lb 1oz 18.5 inches long

In case you haven't read Maya's birth story ~ the quick and dirty is that I was induced with Cervidil at 41 weeks (growth hindsight I don't think it was necessary), the Cervidil put me into hard and fast labor, and she was born with no drugs (besides the Cervidil) in about 4 hours. The hospital experience wasn't bad, per se, but Michael and I knew we wanted something different the second time around. I hadn't done much research and my main reason for wanting to go natural with Maya was because so many people told me I wouldn't be able to do it, and I'm kinda stubborn :) For the record, she was 7 pounds and 20 inches long, and due to pushing too hard and when I didn't feel like pushing, recovery wasn't super fun.

When Maya was about 9 months old, I watched “The Business of Being Born”. I. love. that. movie. Seriously. I was SO EXCITED about having a home birth after that movie that I couldn't sleep. For 3 days. Oh, and I wasn't even pregnant yet. Just the PROSPECT of having a home birth was literally keeping me up at night (that and a 9 month old who hadn't yet figured out that nighttime is for sleep :)). I watched the movie 2 more times, then bought a copy so I could watch it as much as I wanted. Michael wasn't 100% on board with home birth, but I figured I'd work on him when it was actually a possibility.

When Maya turned one, we started trying to get pregnant. It had taken us 18 months, several infertility tests, surgery, hormones, and 2 rounds of clomid to get pregnant the first time. This time it took 5 days. When I was about 7 weeks pregnant Michael and I met with Pam (our midwife). He went from being totally skeptical about home birth to being very comfortable with the whole thing (thanks, Pam!!!). After meeting with a couple other midwives we decided that Pam was definitely the best fit for us. We (I :)) did lots of reading and preparing for this birth, and took a natural childbirth class that really boosted our confidence in the whole birth process. Fast forward through a relatively uneventful pregnancy...the only “complication” was the same as the first time. I started measuring small at 30-some weeks. After an ultrasound confirmed that the baby was growing fine, we determined that I just carry babies small.

Since I hadn't gone into labor with Maya on my own, I wasn't sure what to expect this time. I also had never had “early” labor with her (went straight from no contractions at all to contractions every 3 minutes). On Monday June 29th I nursed Maya around 5am, and had some stronger and slightly more uncomfortable braxton hicks contractions than I had been having. They were about 7 minutes apart and after an hour I was totally convinced I was in labor. I forced myself to go back to sleep, though, and when I woke up around 8 they were gone. I walked, I nursed Maya, I tried to be active all day to bring the contractions back, but nothing worked. The next morning, the same thing happened. And the morning after that. By Thursday I was getting used to the pattern, but the morning contractions were definitely stronger and more uncomfortable. I almost told Michael to stay home from work, but got up and took a shower first, and the contractions went away. I didn't tell him what was going on because I knew things weren't happening right then, and I didn't want him to freak out (he was excited, but tends to worry, and I didn't need that! :)). I had my 40-week appointment with Pam at 9am, and was feeling crampy on the way there. We talked at the appointment about how it was very possible that I had 2 weeks left, that it was good I was having these contractions to prepare my body (frustrating as they were!), etc. I was out and about for most of the day, and still feeling very crampy. At 3:45pm we were at home and I nursed Maya ~ while I was nursing her I started having contractions about 3 minutes apart, but they spaced to 5 minutes when she was done. I still wasn't convinced it would last, but started timing them just in case. Michael got home at 6:15pm and I was still having contractions 5 minutes apart. I was out walking with the stroller when he got home, and I had 2 more contractions before I told him what was up. We decided to call Pam, but told her she didn't need to come yet as I was still able to walk and talk through the contractions. She called us back at 7:45pm and I still wasn't convinced she needed to come. Michael looked at the contraction chart and realized that they had started being 3 minutes apart and were lasting for over a minute, so Pam thought it was probably a good idea to head our way. About 8:00pm we called our friend Sierra who was coming to help with Maya during the labor.

Sierra and Pam both arrived around 8:30pm, and at that point my labor ramped up. I was moaning through contractions and trying to rest between. By 8:50pm I wanted to get into the birth pool ~ the water felt AMAZING. At 9:15pm I had a contraction and felt my body push a little bit. I was worried that it was too soon, and I asked Pam if I should feel like I needed to push. She told me that I was probably feeling the amniotic sac and to just go with what my body was telling me. On the next contraction I pushed a little and it felt much better than just trying to breathe through it! For some reason at that point I flipped over so that I was on my knees and leaning over the edge of the pool. I had a contraction almost right away and pushed ~ I felt what felt like a big bubble and Pam said (in her very calm voice) something like “That was your amniotic sac. And we have a baby coming” (it's all kinda fuzzy at this point, so don't quote me/her on that!). She was right ~ on that same contraction Charlotte's head was born, all at once. Michael reminds me that Pam suggested I slow down...but that clearly didn't happen. The cord was around her neck so Pam unlooped it and Charlotte's body was born with the next push, at 9:30pm. Charlotte wasn't breathing on her own at first, so I was rubbing her back and Pam gave her a few little helping breaths, and then she started crying and turned pink :) After that Michael cut the cord (after it stopped pulsing), I got out of the tub and into bed, ate some soup, got checked over (no tears!), Charlotte had her newborn exam, and we got to relax as a new family of four! She latched on easily and within an hour of her being born I was able to tandem nurse (Maya wasn't really sure what to do with this new little person, though!). Being at home was everything I thought it would be and so so so much more (as cliché as that sounds). I can't describe the feeling except to say that I would do it again 100 times over. I've already told Michael that I want 10 more :) He's happy with the two we have, so I'll have to convince him one at a time :)

One last thing (since this is already really long!) ~ looking back, as much research as I did about birth since Maya was born, and as convinced as I was that birth works if we just let it, I didn't truly in my heart believe that my body would do what it needed to do all on its own. Until I had this experience, I didn't realize how much my first birth had taken away from me. It makes me sad for women who choose to put their birth into someone else's hands. There is a time and a place for interventions, and I'm glad that I wasn't one of the women who truly needs them and thankful that we have doctors and hospitals available for those that do. But, after experiencing a truly natural, intervention-free birth, I can't imagine doing it any other way.


*I've not heard of ONE baby who died because he or she was born at home...not one. Let alone "all those babies". And I find it highly unlikely that the majority of people using that argument have, either. Yes, babies die at home. Babies die in the hospital, too. Studies show that outcomes for low risk moms and babies are the same or better at home as in the hospital.

Wednesday, July 29, 2009

When it Comes to Internet Connectivity, Business Users Get Screwed

Here I am at home downloading an MSDN image at 720KB/second; utilizing 94% of my advertized AT&T U-Verse pipe of 6mb:


A 3gb DVD in under an 90 minutes—that’s ridiculously fast. Sadly at my office, as with most businesses, it’s a completely different story. Since we allegedly need business-class connections, we have things like T1s. T1s were all the rage back in 1999 when Google was the hip new thing and the rest of us were on dialup.

Home users like me have been pampered with cheap, reliable and fast Internet access: $35/month gets me solid 6mb access. I don’t want to know what my office pays for its handful of T1s. From my days at the ISP, I would guess it’s north of $3000 for a 4.5mb pipe. That’s absurd! For about $100/mo I can go up to 18mb!

Now all you network savvy folks out there will be quick to point out that my connection is asymmetrical while the office’s connection is symmetrical. What that means for my actual reader is that while I can download a YouTube video at 6mb, I can only upload at a fraction of that, say 0.5-1mb, resulting in a pleasant viewing experience but agonizingly slow sharing of cute baby videos like this one:

At the office though, I get 4.5mb of symmetrical bandwidth (i.e. I get 4.5mb up and down simultaneously), which means I can upload to Youtube just as fast as I download, and one doesn’t even affect the other even if I do it at the same time.

So that’s all well and good but a glance at the traffic charts for my office (and I’d guess most) showed that we hardly use any of our outgoing pipe—maybe 10-20%.

Ok, so if we’re not paying $3000 for more bandwidth, then surely it’s for quality? Maybe. I’m sure we have a service level agreement of some kind and some super-high-priority tech support service. I know this because our lines used to go down pretty often and people would come out to fix them right away. The quick service at the office is nice when compared to my experiences at home with Time Warner and AT&T where outages often ran for days. The service still goes down often enough, though…

So is a paying a very stiff premium for a symmetrical pipe and better repair service (though not increased reliability!) worth it? Perhaps, though the real problem I suspect is simply the fact that businesses are businesses. They don’t have the option of the home plan. If we did, I’m sure it’d be tempting to toss it in along side a reduced set of T1s—then we’d get the cheap speed with an emergency T1 backup.

Sadly, no, businesses can’t get the cheap home access for at least two reasons: first, businesses can pay more so providers charge more, and second, businesses actually do consume more of their allotted bandwidth than home users. This last point is probably the biggest reason. My home internet connection sits idle virtually all the time. In fact, the 90 minutes it took to download that DVD image is probably the only period it’s hit capacity in months. At the office, though, our measly connection is shared with 200 people and a slew of websites. Our T1s are 100% saturated at least 12 hours a day (at least in the in-bound direction).

Still though, 100x the price? Get real!

Monday, July 27, 2009

Adding Blow-In Insulation

I’d been thinking about adding some insulation to my attic for a while now. This year’s 30% tax credit gave me the final kick I needed to do it. I went to Lowe’s and bought 16 bags of Owens Corning blow in insulation which came with a free 24-hour blower rental. It was a tight fit but I made it in one trip:

IMG_5542 IMG_5544

Maya read up on the installation procedure (pamphlet in hand) while I unloaded.


The first step was cleanup. It took a lot longer than I anticipated as there was more junk and garbage than I thought. Insulation works best when it’s fluffy and even so all this stuff had to go. Some “before” shots:

IMG_5558 IMG_5557 IMG_5556  

After that came the main event. With my buddy Bryan feeding the blower, I crawled around the attic adding in 6-12 inches of insulation (the base was very uneven), bringing the attic up to R-49. Here are some “after” shots:

 IMG_5565  IMG_5561 IMG_5560 

Cost detail:


Some lessons learned or things I’ll do differently next time:

  1. Be more careful with estimates. I bought 16 bags and ultimately only used eight. I think I bought far too much for three reasons. First, I underestimated how much insulation I already had in my attic. Second, I think the charts the vendor supplies might be generous. Finally, I used data for a 1000sf attic but mine is more like 900sf. I easily returned the unused bags but hauling them around was a hassle.
  2. Put a sheet down around the attic access area. I had a lot of debris and attic dust beneath my attic steps. This would have been easier to clean up it I had put a sheet down. The shopvac did a nice job, though. Interestingly, the new insulation really was dust-free as advertised—90% of mess came from the junk I took out of the attic.
  3. Have something to entertain the helper. This job absolutely requires two people (one to feed to the blower, which is outdoors) but I’m told that job is pretty boring.
  4. Pick a cold day or do it earlier in the morning. It was a very mild day but damn it was still hot as hell up there. I was drenched in sweat the entire time. I cannot imagine what it’d have been like on a hot day. Jacket-weather or colder would be ideal since you have to wear long sleeves and pants anyway.
  5. Use more depth markers. I used about eight depth rulers throughout the attic (visible in some pictures above). I should have used 24 or more (they’re free). It would have made the process much easier as I wouldn’t have had to go back and forth so much stressing about an even layer. I’d certainly have done a better job, too.
  6. Collect some large pieces of cardboard in advance. I built little fences around our house fan and access steps with a bunch of chopped up boxes. This would have been much easier and cleaner if I had used larger boxes.

I still have one thing left to do: install the 2” board over the house fan and attic access. Currently these areas have no insulation at all. I plan to put two layers of 2” board over these, with a little insulation in between (hopefully about R-20). I might add a little framing, too, so they can be flipped up easily when the fan or steps are in use.

All told, I burned about 5 hours on the project, including two trips to Lowe’s. The project was more work than I expected but still easy enough (I hadn’t counted on the heat or amount of trash that I had to removed). Saving a mere $15/month (very roughly 10% of our energy bills) would give us an ROI of 12 months. I’m very confident we’ll meet or beat that.

Wednesday, July 22, 2009

Want Some Poop With That?

…With babies it’s not really up to you.

It’s true, folks, this is the ugly side of parenting. You will get baby crap on you. Daily. Sometimes twice daily (like today).

Part I: The morning started out pretty good. I got up early, did the shave/shower/dress thing and was working on some work stuff in the living room. Wife/kids were sleeping and all was right with the world. I had an on-site customer meeting at 9 so I was planning to leave an hour later than usual. This turned out to be a mistake as I’m usually gone before the babies wake up…not today.

At around T-5 minutes, Sarah dropped off baby #2 so she could do the bathroom thing. Fully swaddled and quite content, we stared at each other for a couple minutes before I passed her back and readied to leave. Sarah noted that baby had leaked through her swaddle by showing me a nice, wet, mustardy stain. I muttered something you can’t say more than three times in a PG-13 movie when I discovered that this concoction of fluids resulting from frequent natural body functions was on my shirt, my undershirt, my pants, and my boxers. I had to change everything but my socks. How the hell?

Part II: Upon arriving home after a nice (albeit sadly unproductive day) at multiple offices, I made the mistake of noting baby #1’s odor and thereby committing myself to the changing of what was expected to be a very fowl diaper. If I didn’t know better, I’d say this is what baby ate today:

image  image image

An entire can of black beans (undrained), a jar of Grey Poupon and a lot of Mexican food.

You know the drill—diaper off, wipe, wipe, wipe (holy crap this is taking a lot of wipes), wipe, new diaper on, getting dressed, and wth? Yep, that’s crap on the pad, the outside of the new diaper, and…my hand. Dammit!

Worry not IRL acquaintances, we practice so much hand washing it’s getting a little ridiculous. We are going through those huge bottles of soap-refill fast.

Structuring Our Developer Tools with a Reverse Proxy

Note to off-site viewers: this post has pictures. If you don’t see them, come to the site for a better view!

Running on some innate desire to improve our trade, a few of my coworkers and I are constantly trying out new developer tools. This has some upsides and downsides. The upside is that if a tool sticks, and brings something to the table, we’ve improved things. We can integrate it into our software development methodology to make everything better.

The downside is that by the nature of experimentation, some tools are duds and I sometimes feel like some half-wit software evangelist who promotes change for the sake of change. This is obviously not my intent. Let me be clear on that: my goal is to improve my trade. If something’s not working, I’m among the first to drop it.

Over the last few years, this has led to the collection of a few tools in particular that many of us at Rovisys use daily:

  • Source control: Subversion or Vault (svn’s on the way in, Vault’s on the way out)
  • Issue tracker: Redmine
  • Continuous Integration: Hudson CI
  • Collaboration: Redmine’s Wiki and Microsoft OneNote

There are many, many other tools that we use but that’s the short list of software everyone on every project I run becomes fluent in. And that’s why we’re putting so much effort in the infrastructure behind them. Here’s where our server architecture was headed:


That’s ok for now, but it’s short-sighted and could be improved. With the magic of virtualization and a reverse proxy, we will very soon have these tools available through a common address with improved reliability and scalability. This is where we’re headed now:

image(those weird names are the server names; detect a theme?)

What we’ve done is create a centralized access point into our developer tools while at the same time isolating each tool on its own virtualized server. I consider this a huge improvement for many reasons. Each of those services really deserves its own dedicated server. Since we have a huge Hyper-V server it was pretty simple to build one server VM and clone it a for each service.

Aside from isolating the tools from each other (making upgrades and scalability easier, improving reliability, etc.), we’ve also given ourselves a nice, clean avenue to grow. The original architecture simply does not scale to additional services. That list can’t get much longer before the server has too much running on it to be fast, reliable, safe and manageable. With the new approach, adding a new service is easy: spin up a new server and tell the reverse-proxy server about it.

Another bonus: the new tool might not be new at all—it might already exist somewhere in the organization. Since users will access it through a common url (e.g. http://janice/hudson), the actual location or technology behind the tool doesn’t matter.

Here’s where we might be in a few months:


Here I’ve easily and correctly added in our Hudson server (which is already humming along nicely) and a customer project (which was improperly hidden alongside other tools since I had no way to do it properly).

Some other benefits: SSL is easy, too, since we take care of that at the reverse-proxy. All the individual services get the added security of SSL for free, without even knowing about it. Also, we can move the individual services onto different hardware if needed with very little effort and zero impact on users.

Sure this is tough at first because the whole reverse-proxy thing I’m told is a pain to setup (yea for teamwork!) and splitting combined services onto isolated machines is a chore, but in the long run we’ve got something that’s sustainable and will make us all more productive. Or let’s hope and see…

Warning ~ This is kindof gross

You know that phrase "I just threw up in my mouth a little"? I use it occasionally to mean that something I read/saw/heard was gross. But Charlotte? She actually throws up in her mouth a little. Several times a day. Then chews. Just thought I'd share :)

Saturday, July 18, 2009

Ruminations in Pictures

I’ve been snapping pictures on my phone a lot lately. Here’s what I’ve captured these past few weeks.

Here’s a food pyramid recently posted at my office. It must be one of them new fangled row house pyramids.


I’m a bigger fan of the Natalie Dee variety:

image    image

Then there’s the Childtime day care place near our house. While walking by last week, Sarah noticed they won an award:


Yep, they’re a one-star award winner! It won’t go to their heads since they still have more stars to which they can aspire. In grocery store news, there’s a disturbing new product I noticed the other day:


Don’t let the adorable smiling pig fool you, that’s swine powder in a box. Interestingly enough it actually looks like it might be pretty good:

Ingredients: Salt, Monosodium Glutamate, Artificial Ham Flavor, Hydrolyzed Vegetable Protein, Silica.

Or so I thought until Sarah asked how they get “artificial ham flavor”. Good question. I asked Maya and this was her expression:


(I might have asked her to make a “yucky face”, too.)

On another note, you know what a Ford Taurus is, right? Something like these, right?:

image image image image image
(stock photos)

Then what the hell is this?:

IMAGE_023 (actual photo from nearby—this crazy thing exists!)

image(stock photo)

Apparently a Ford Explorer ate some poor Taurus and is cruising my fair city unashamed as a Taurus X. I can handle a sedan turned wagon or a sedan turned compact, but a sedan turned SUV? No.

Back to food. A few weeks before Charlotte was born we spent a day cooking and freezing. Trying to get a week’s worth of food into the freezer proved challenging (space, containers, etc.). Here’s what we did:


Anything that was liquidy was put in gallon bags and laid flat to freeze (soup, sauce, chili, etc.). That bag of sauce is about an inch thick. This has three awesome benefits: each bag is portioned with just 2-4 servings, they stack nicely in the freezer and they thaw in five minutes (I timed it, because I’m a nerd and can’t help it):


Back to gross stuff: we performed some capacity experiments with Maya’s diapers a little while back (normally she wears cloth but we were using disposables for some reason at the time). The setup was pretty simple: how much water can a diaper hold? I guessed two cups.


We used the scale to keep track as we added water (two cups is about 1 pound):


Here’s the water going in (a little blurry, sorry):


It soaked up easily. Inverting the diaper showed it was nice and dry:


That was easy. How about another two cups (that’s four cups total—one quart):


It passed the same inversion test and weighs in at 2 pounds:


Clearly the diaper is holding it but probably not wearable at this point. Indeed, with a little pressure, its gel beads started oozing out:


Thanks, science!

A few more quick shots and we’re outta here:


The classic your/you’re mistake. It’s weird, but I find myself starting to make this error occasionally—probably just carelessness on my part, I hope.


I’ll take two twenty pounders of ice, a seven of cheese, and a seven of meat, please.


Why yes, that’s a huge picnic table humping a moving truck.



Maybe my Garmin feared the giant table and decided to get us the hell out of dodge? But how?! That’s little blue triangle in the middle is me…

That’s all, folks!

Friday, July 17, 2009

Baby Scale Hack

I came home from work and promptly determined that Charlotte’s approximate weight was needed. I’ll spare you the long story behind why we needed her weight—just know that the desire was high.


So how do you get your baby’s weight? Our bathroom scale isn’t accurate enough. We tried the ol’ weight you+baby, then weigh just you, then subtract and use the difference as the baby’s weight. We repeated that process several times and got her down to somewhere between six to eight pounds. That’s not accurate enough for anything.

We have a kitchen scale which is very accurate but it maxes out at four pounds. Charlotte’s about six to eight pounds so that obviously won’t work. So while Sarah was prepping dinner, I turned the tiny kitchen scale into a single-beam baby scale with a variable weight limit (I’ll explain).

The principle I’m using is leverage. I took an ironing board (a lever big enough to hold a squirmy baby) and balanced it like a see-saw on a rolling pin (the fulcrum). I placed the scale under one end and balanced it such that the scale read as close to 0 as possible like this:


When balanced, the scale read about 10 grams with nothing but the board—I’ll consider that weightless so we can ignore the board’s weight for the rest of this. I tested my theory with something I could actually weigh normally on the kitchen scale: a can of soda. The soda weighed in at 13oz directly on the scale, so half-way between the pin and the scale, it should way 6.5oz. I verified this and marked the board’s midpoint:


As you can see, there’s a linear relationship between the can’s location and it’s observed weight. The relationship is very simple:


Get the ratio of red to blue by dividing the red distance by the blue distance. This is the multiplier to apply to whatever the scale reads to get the actual weight of the object on the scale. So if we’re half-way across, then we have a ratio of 2:1 or 2, so we double whatever the scale says to get the objects actual weight. If we’re just 1/4 of the way across, we quadruple whatever the scale says. That’s what I meant by a variable weight limit.  I know that Charlotte is less than eight pounds (half of eight is four, the scale’s weight limit) so I just went with the midpoint.

So did it work? Let’s see:


Isn’t she lovely?


Behold: The power of the swaddle!


I can’t actually verify her real weight (thus this ridiculous contraption!) but my tests with the cans give me confidence that her weight is damn close to 2 x 3lb-2.65oz; or 6 pounds 5 ounces.