Category Archives: Technology

Science vs Vegans


One of my favourite podcasts just did an episode on veganism, and its great. Science Vs tackled three questions:

  • Is going vegan better for the environment?
  • Do you need milk for strong bones?
  • If you don’t eat any meat at all, is it bad for you?

Listen here or wherever you get podcasts.

And if you liked that episode, check out:

Note: While the vegan episode shows that the science is firmly behind the diet, the same can’t be said for the other episodes above (sorry keto, detoxes, supplements, and even organic food). You might find your beliefs and lifestyle choices refuted by the science. That’s ok. Listen with an open mind, and challenge your own preconceived notions. Committing yourself to constantly learning and improving is probably the healthiest diet.

Faster Internet – Is Your Router Holding You Back?

Emily has been complaining about our slow internet for a while now. We’re not big bandwidth users but we’ve noticed laggy video calling. I’ve always shrugged it off as a problem on the other end. We were on the cheapest Novus internet plan, but 35 Mbps should be plenty fast enough for Skype or Google Hangouts.

So, we upgraded to Internet 75 but that didn’t make much of a difference. And then I did a speed test on our router, comparing the wireless speeds we were getting to speeds when connected with an ethernet cable. And our router sucks. Apparently wireless technology has advanced a lot in the past 20 years.

So we bought a new D-Link AC1900 router, and our wireless internet speeds are now 15x faster. Now when Baba and Gigi Skype they might be able to see Astrid and not just a pixilated avatar.

Baby Data Nerd

ProjectAstrid.jpg

It’s time to unveil Project ASTRID – Analytic System Tracking Rapid Infant Development.

I’ve been working on it for the past two months in my spare time. It’s a webapp hosted on Github Pages that visualizes some of the baby data we’ve been tracking. Originally, I just wanted to analyze Astrid’s sleeping patterns, but the website has morphed into a digital baby book with milestones and growth charts. I’m still adding features to it, but it’s polished enough that I’m happy to share it.

The chart below is probably the most interesting one I’ve created so far because it quantifies the quality of Astrid’s sleep. It shows her night sleeps, with the longest stretch in blue, the second longest in red, and the remainder in orange. Like all parents, our goal has been to get Astrid to sleep through the night. So that means getting as much blue as possible.

overnight_sleep.png

On October 7, after weeks of crappy sleeping, we started sleep training with Astrid. We didn’t realize it at the time, but there was a steady improvement over the next month. Then we hit sleep bliss. Astrid slept for 12 hour stretches every night for 3 weeks. We were living every parent’s dream. But last month, we hit the dreaded sleep regression. Luckily it only lasted 2 weeks (although it felt like it would never end at the time) and things have been better lately. We’re still waiting for those consistent 12-hour nights again, but she’s only waking up once a night right now, which seems very manageable.

Project ASTRID is open-source and adaptable for anyone else who might want to use it for their own child. Although realistically I know I’m probably the only one who likes having this much data about their baby. I just hope that one day our daughter appreciates the nerdy, data-heavy view of her early life, or at least isn’t completely embarrassed by it.

Getting to Legendary in Hearthstone

Hearthstone

Hearthstone is a curious game. It’s an online card game that has attracted a huge following of casual and competitive players. There are over 40 million world-wide players and the World Championships this weekend had a $1 million prize pool. The game is kind of like poker and chess combined, with a lot of strategy around trading pieces and a bit of luck with card draws and other random effects. I like it because the games only lasts 5-15 minutes and there is a lot of strategy and thinking involved. Most online games require fast reaction times, but Hearthstone is turn-based and you get 75 seconds each turn to plot your moves.

There are a few game modes, but the most popular is the ranked ladder. You start the game at Rank 25 and play against other players with the same rank. As you win games, your rank improves, lose games and your rank gets worse. The ultimate goal is to progress beyond Rank 1 to Legendary status. Every month the ranks reset. I’ve never gotten beyond Rank 5 and I had to play a lot of games to get that high.

Getting to Legend status is about consistently playing well (above 50% win rate) and grinding out a lot of games. How many? That depends on the deck win rate. I wrote a script (below) to simulate how many games it would take to reach Legendary depending on your win rate.

If you’re only winning  50% of your games you play, you can make it to Legendary but be prepared to play around 1440 games. With a 55% win rate, a pretty good result in competitive Hearthstone, it would take on average 483 games to reach Legendary status (at least 15 games a day). Even if you could consistently win 60% of the games you played, an impressive feat, it would take 287 games a month to reach Legendary. I thought I played a lot of Hearthstone, but I don’t have that kind of time.

hearthstone_legendary

Code:

Powering Your Vehicle in Vancouver

Downtown Vancouver is home to 100,000 people and some of the most expensive real estate in Canada. And yet pretty soon there will only be a single gas station serving the entire area (the Chevron on Georgia is being sold to developers).

As Anne McMullin points out in the article linked above, “land in the city is too valuable to be saved for a single use”. Because gasoline is volatile, you can’t just slap a condo on top of a gas station.

gas_stations_vancouver
Map of gas stations (via GasBuddy)

However, you can put an electric vehicle charging station just about anywhere. Which is why there are over 50 charging stations in downtown Vancouver.

electric_vehcile_charing_stations_vancouver
Map of Electric Vehicle Charging Stations (via ChargeHub)

Roomba vs Hoover

Roomba and Hoover

The Roomba I bought 2 years ago is one of the best luxury purchases I’ve ever made. It does such a great job keeping our floors clean and picking up cat hair. But I was concerned with how much power it uses, so I plugged it into a power meter for a week.

Turns out, it uses hardly any energy. After a week of daily cleaning, it only used 0.65 kWh (which works out to less than $3/year). I plugged in our old Hoover and did some vacuuming for comparison, and it uses a lot more power. One hour of vacuuming with the Hoover used more energy than the Roomba did in a week. Although there’s no way I would be vacuuming for an hour a week, especially since we only have carpet in the bedrooms. I guess sweeping is still the most energy efficient option, but I’m more than happy to pay a few dollars a year in energy bills for the robot to do the sweeping and vacuuming for me.

Roomba 770 Hoover S1361
0.65 kWh per week 0.78 kwh per hour
28 W max demand 857 W max demand
$2.81/year ¹ $1.68/year ²

1. Using BC Hydro’s residential rate of 8.3 cents / kWh (which is very cheap)
2. Assuming 30 minutes of vacuuming a week.

Riddler Revisited

I’m taking a second crack at FiveThirtyEight’s Riddler problem. I thought I solved the problem two weeks ago, but my answer wasn’t quite right.

Here is this week’s problem:

There’s an airplane with 100 seats, and there are 100 ticketed passengers each with an assigned seat. They line up to board in some random order. However, the first person to board is the worst person alive, and just sits in a random seat, without even looking at his boarding pass. Each subsequent passenger sits in his or her own assigned seat if it’s empty, but sits in a random open seat if the assigned seat is occupied. What is the probability that you, the hundredth passenger to board, finds your seat unoccupied

I’m not even going to try and figure out the math for this puzzle. My statistics skills aren’t nearly strong enough. But my coding skills are. This is an easy problem to solve with a Monte Carlo simulation.

Here’s my python solution.

And the output charted.

nth_passengerThe last passenger has a 50% chance of getting their assigned seat.

passengers_in_assigned

The number of passengers who get their assigned seats is distributed around 95, with a 1% chance of everyone getting their assigned seat (in the event the first passenger randomly chooses his/her own seat).

Interestingly, it doesn’t matter how many seats are on the plane. If there are 10 or 200 seats, the last passenger still has a 50% chance of getting their assigned seat. The second last passenger has  67% chance, and the 3rd last passenger has a 75% chance.

It’s easy to derive the equation for the Xth last passenger from this, even though I can’t figure out the math to prove it. The Xth last passenger has a X/X+1 chance of getting their assigned seat. So the 5th last passenger, has a 5/6 = 83.3% chance of getting their seat.