Saw Jake move

A couple of hours ago I could actually see the force Jake is exerting on Cheryl when he kicks. It’s quite an unusual sight to see something push outwards from within a person!

It’s actually quite reassuring to know that Jake is developing his muscles and getting ready for life on the outside in just 3 months and a few days.

We’re really looking forward to his arrival. ๐Ÿ™‚

Jake, my son

Cheryl and I went to hospital for the 20-week scan today. We were told there was a good chance of finding out the gender of our child.

Within a minute if the scan starting we were told we were having a son! ๐Ÿ™‚

We had already picked out names for both a boy and a girl, and so we didn’t have a difficult time putting a name to a face, or, really, more of a concept.

We’re having a son, and his name is Jake.

Ultrasound scan of Jake

The first ultrasound scan of Jake after finding out his gender.

Jake is a name I have liked since I began reading The Dark Tower series by Stephen King, and so I really wanted to call my son that. Luckily, Cheryl agreed.

We’ll meet in 20 weeks, and I cannot wait.

Heard the heartbeat

I went to hospital with Cheryl on the 6th to have our 12-week scan. We got to listen to the heartbeat for the first time, which was a moment I don’t think I’ll ever forget. It’s beating fast and strong at 150bpm, which is perfectly normal at this stage.

I wish I had a recording of the heartbeat.

Healthy baby


We had the nuchal translucency ultrasound scan this morning this morning and everything is looking good. We’ve found the baby has a 1 in 4000 chance of having Down syndrome, which is nice and low. It has grown from less than 1CM to over 6CM in the 5 weeks since the last scan.

We could see it move its arms and head, and we saw its heart and brain. These scans are incredible. We don’t know the gender yet, but should be able to find out in a month or so.

We’re both so pleased to be able to tell people now. ๐Ÿ™‚

Nuchal Translucency

Tomorrow morning I will be accompanying Cheryl to UCSF hospital to have a nuchal translucency ultrasound scan.

This scan determines the thickness of a pocket of fluid currently at the base of the back of the baby’s neck, and provides enough information to determine whether the baby is likely to suffer from various different genetic abnormalities, such as Down syndrome.

It is kind of horrible to think about that sort of thing, and I’m sure all expectant parents just want to hear good news, and to know they’re having a healthy baby.

I hope we’ll hear that news tomorrow.


We’ve been to the hospital and had a quick ultrasound done, as well as an additional check. Current measurements are between 1.00 and 1.09cm. That size is indicative of Cheryl being around 7 weeks pregnant.

We could see the baby’s heart beating!

We are currently back in the hospital to have another ultrasound done by a certified operator who should be able to give us more information.
Just before heading back to hospital we got news that Phil and Jacqui are 14 weeks pregnant. So difficult not to mention our news.

We’re considering how and when we should tell our immediate families. Hopefully we can tell them soon.

Baby on the brain

We’ve spent the last week thinking and talking about how life is going to be when we have a baby. Cheryl’s job is going to be an interesting thing to find out about. She’s a contractor right now, and employment law in the US is pretty shit for the employees. The best case scenario if she’d worked at the same company for a year would be 12 weeks of unpaid leave. Not exactly great.

We’re trying to figure out all the permutations that could work for us, but there are so many, and they all rely on what Cheryl’s employer will do. Thankfully we’re in a position where my salary is enough to cover all of our rent and bills. I can’t imagine how couples who live in this area can afford kids on lower salaries.

Anyway, we’ve been getting ahead of ourselves and thinking of possible names. We seem to have settled on names for both a boy and a girl, so that was easy.

We’ve both been discussing how to break the news to our families, and then to other people. It’s so difficult to have this sort of life-changing news and not be able to tell anyone about it. There seem to be 2 or 3 occasions in a day where it would make complete sense for me to bring up the fact that we’re expecting a baby, and I have to stop myself each time.

Cheryl has started taking a bunch of vitamins. We’re constantly checking the ingredients of food and second-guessing ourselves over whether it’s ok to eat certain things or not. I’ve made a lot of searches in incognito mode in my browser to avoid getting things auto-completed in front of colleagues or something like that. I’m so worried about the news accidentally leaking to someone before I’ve told anyone.

We have an appointment at the hospital on Monday, and I just want the weekend to be over so we can go there and get some concrete information and form a solid plan.

Programming cats

Have you ever wondered how many cats you would have if you started with just one female and left it alone with males for 5 years?

No? Nor had I… Until this morning!

I connected to the IdleMonkeys IRC server and was greeted by the following statement from Zach:

Did you know that 1 female cat not spayed will produce in 5 years, through her offspring and their offspring and their offspring etc. etc. 700,000!

I thought this sounded high, and so Zach and I did a few pointless calculations before I got the idea to write a script that would simulate this whole thing. I started out by writing a module to represent a cat. I called it and it looks like this:

package Cat;
use strict;
use base qw(Class::Accessor::Fast);
Cat->mk_accessors(qw(gender age pregnant pregnant_days gestation_period days_since_litter sexual_maturity));


Very simply it defines a few values like the age and gender of a cat. Thanks to Class:Accessor::Fast I can easily get and set these values in my main script using something like this:

my $cat = Cat->new({ gender => 'Male', age => 0''});


$cat->age(12); #Age in days

I did a bunch of “research” (thanks Wikipedia) on the reproductive habits of the common house cat and found the ranges to configure for the gestation period, age of sexual maturity, etc. etc. It turns out that a female cat can be sexually mature at 5 months old, and can give birth around 2 months later. Cats tend to mate for 9 months of the year, skipping winter. After giving birth to around 3-5 kittens most cats have a period of at least around a month where they don’t get pregnant again, although it could be a lot longer. Zach asked me to specify that 60% of the cats born in a litter be female. I have no figures to suggest this is accurate, but I went with it anyway.

I programmed the first version of my script before I knew all of those facts and arrived at a number of around 5 million cats after 5 years of breeding. This was obviously ridiculous, and so I revised my script a few times.

With all the information I gathered I came up with a much lower figure than either of the previous ones. Over 10 runs of the script the average number of cats after 5 years was 16492.4. I ran the script through 1000 complete iterations and generated an average for all runs. The script took 3 hours 38 minutes and 15 seconds to execute and calculated an average of 10400.693 cats. ๐Ÿ™‚

There are a few problems with this script:

  • The first major problem is that there is no notion of males breeding with any females that are not descendants of the first cat. If other non-related females were around then the number would be significantly higher, as the males would be able to mate with all of them, and would produce a huge increase in numbers. So, this whole thing assumes that there is only one female cat in the entire world when the script starts running.
  • The script assumes that the first cat is born right at the beginning of the breeding season. If that changes then the figures would probably be quite different.
  • The script assumes that a cat will become pregnant exactly 30 days after giving birth to the previous litter (assuming it is within the breeding season).

Obviously there are many other shortcomings, but there will always be some when simulating any sort of behaviour like this.