Tuesday, February 25, 2020

Catching Some Air at iFly

Two weekends ago we schlepped out to Gaithersburg for a truly unique experience: indoor skydiving at iFly. Ever since we passed the oddly shaped building a few years ago I'd known I'd be back. Personally, I could do without the experience, but I had a hunch that this would be the perfect activity for the various teens and pre-teens in our life.

We showed up at our 11am time slot with quite the crew: two sleep deprived parents, a high school freshman and senior, as well as a 10 year old. We also had a two week old, but his job was just to chill in the stroller.

In an act of sheer courage, I'm proud to say I didn't opt out of this experience. All 5 of us donned flight suits, took in a how-to-fly briefing and strapped on our safety goggles and helmets. Before we knew it, we were queued up in a staging area right outside the massive, cylindrical wind tunnel.

Up first was 10 year old J. He leaned into the wind as instructed and the guide helped position him for maximal stability. After a few moments, he was doing it; he was flying! A minute later, his turn was completed. Then M and P went, with equal degrees of success. Finally, it was my turn.

I approached the entrance to the wind tunnel and tried to relax as much as possible. On one hand, this was obviously safe: I'd have an instructor literally holding me, and I'd be hovering among a wire-mesh floor at waist level. There wasn't anywhere to actually fall to. Still, a small voice in my brain looked for ways to panic. I did my best to ignore it.

I leaned into the tunnel and whoosh, I was in the thick of it! As instructed, I kept my chin up and and looked straight ahead. Between this head position and the massive amount of wind noise, I really had no idea what was going on. As far as I could tell, I was floating with perfect grace. I pretty quickly relaxed when I realized that the whole experience was going to be pretty smooth. I did do a number of rotations which again, that voice in my head wanted to panic about, but I shushed it and just went with it. Before I knew it, my time was up and I was high-fiving everyone in the tunnel.

I switched places with Shira who was watching the baby so she could have a turn. Like the boys, she totally crushed it.

We had bought a package of 10 flights with the intent that we'd each get two flights. I was fine with a single flight, so the kids worked it out who would take a bonus 3rd flight.

At $34 per minute, the experience is sort of ridiculous. And yet, I have to say I'm quite glad we did it. The experience was wholly unique and was enjoyed by adults, teens and pre-teen alike. And personally, I got to push my adventure comfort zone, challenging an experience I'd normally chicken out of. Given the crazy price tag, I doubt we'll be back any time soon. But man, we all got to fly!

Incidentally, the only negative part of the experience came after the fact. While you're flying, the crew at iFly shoots photos and videos. Last night we finally logged in to access these and I was blown away that they charge for the content. You're telling me after I've payed hundreds of dollars for the privilege of 10 minutes of flying time, I need to pay another $30 ~ $60 to get zero-cost-to-you media? Media, by the way, which I'm going to turn around and share with friends and family and will serve as an advertisement for iFly. That just strikes me as sleazy.

With that complaint lodged, I will say that the package we bought did entitle us to 5 free videos and 2 photos. So yes, I was able to get a video of each of us flying without paying anything extra.

So here it is, proof that we really did go indoor skydiving:

Monday, February 10, 2020

Tracking all those Bottles, Diapers and Formula

Now that our days are all about eating, sleeping and pooping, I wanted an easy way to track this. Of course the simplest thing to do would be to download a baby tracking app; I'm sure there are great ones out there. But I couldn't resist rolling my own with Tasker and Google Sheets.

Here's what I did. First, I created a new task to track a generic 'baby event.' The task depends on two useful plugins: Tasker Spreadsheets Plugin and Mail Task. The former plugin allows for writing data to a Google Sheet, the latter allows Tasker to send e-mail. The only thing resembling a complication in this plugin is that I need a Google Sheet friendly timestamp. To get this, I did a string replacement on the %TIME variable to convert '.' to ':'. I then added in the %DATE variable to get a timestamp.

Once I had this general purpose logging task, I made a series of specific tasks. Each one contains a Perform Task action which calls the main task.

Finally, I setup a widget page on my home screen to host a series of Tasker widgets. Each one logs a different event:

Now, logging nap time is as easy as clicking the appropriate icons. If only putting the kid down for a nap was this simple.

Sunday, February 09, 2020

Bottles, Diapers and Formula, Oh My!

It was a fleeting thought. And certainly rhetorical. I didn't mean anything by it, I promise.

The thought: look at my precious baby nephew! How hard could it be to care for such a perfect angel?

Little did I know the universe was going to give me an answer.

Let's step back in time to last Monday at 5:00pm. Shira and I are standing in the baby aisle at CVS trying to figure out which formula to buy. Why are there so many choices? Earlier in the day we'd been asked if we would care for a newborn that may be coming into foster care. We said yes. Then at 4:30pm we'd gotten another call: it was official, the child was coming into care and would be dropped off at our home in an hour and a half. While we didn't know all the particulars of parenting a newborn, we were pretty sure formula was essential. So off to CVS we went.

Now it's 5:45pm. Our foster care placement arrives! I pepper the poor CPS worker with questions, which she can't possibly know the answer to. And just like that, we've got an itty bitty bundle of joy to take care of. I may be biased, but he's exactly as cute as my nephew. Two fine looking young men.

We have no choice but to jump right in! The first night goes OK. Though I would like to find the masochist who thought making baby clothes with 300 tiny snaps was a good idea and give him or her a stern talking to.

The past few days have been a blur of feeding, diapering, bottle washing and Amazon ordering. The boy is perfect. I mean, his idea of when and how much to sleep and eat doesn't typically align with my preferences. But we're in active negotiations on the subject and I'm confident he'll come around to seeing things my way.

Like all foster care scenarios, this is temporary. Especially this early on in the process, there's tons we don't know. But if you see us cruising around town with a baby, know that you're not out of the loop. We're just as surprised to be parents as you are. Or, by the time you see us this little angel may not be in our home.

My suggestion: be careful with the thoughts you send out in the universe. You may get more than you bargained for in terms of a response.

Wednesday, February 05, 2020

Carrying Sunglasses | A Cheap, Simple and Lightweight Approach

I've struggled to find the best way to carry sunglasses. More often than not, they end up at the bottom of the main compartment of my bag, the last place they belong.

I've considered sewing a special pouch for them, or other novel ways to store them in my bag, but I'd yet to find an ideal solution.

A few days ago I realized that the 1/8" elastic cord and double-hole cord locks I'd bought for another project may solve the problem.

I trimmed a short length of elastic, wrapped it around my bag's shoulder strap and put on a cord lock. I then slid the sunglasses half-way through the loop so the bridge of the sunglasses lined up with the cord lock. I then cinched the loop close. To my delight, the sunglasses were securely attached.

Here's the setup in action:

This method is cheap, lightweight, secure and trivial to attach and detach. I can move my sunglasses from a shoulder strap to a lash point on the back of my bag in a few seconds.

The big catch: my sunglasses are left exposed to the elements. Considering my specs cost all of $20, I'll take my chances. I wouldn't recommend you try this with your $200 Oakleys.

Here's to simple solutions!

Monday, February 03, 2020

Bushcraft Map Making Meets JavaSript Hacking

Let's say you wanted map a relatively large area (a few miles square) and had no GPS. How could you create a scale sketch of the area using nothing but a compass, ruler, notebook, pencil and string?

One answer, as this Coalcracker Bushcraft video suggests, is to use a mapping technique referred to as PAUL Mapping. While I wasn't able to figure out what the acronym PAUL stands for, I have to admit the approach is clever. The quick version is this: you record the heading and pace count to notable points in the area. For example:

120°, 80, Stream Crossing
240°, 43, Double Oak
65°, 120, Cabin
280°, 30, Spring

In the above data, I'm suggesting that 'Stream Crossing' is 80 paces, on a bearing of 120°, from an arbitrary start point. The 'Double Oak' is 43 paces, on a bearing of 240°, from the 'Stream Crossing' and so on.

While I imagined collecting up this data was useful, it wasn't obvious to me how this could be turned into a field expedient map. The video goes on to explain: you install a wooden peg and call that your start point. You then use a ruler to measure out a proportional amount of string. Say, 1 inch is 10 paces. To mark off 80 paces you'd unspool a piece of string 8 inches long. Using your compass as a protractor, and string as a measuring device, you can you install the "Stream Crossing" peg 120° and 8 inches from the first peg. You then repeat the process till all points are plotted.

While the explanation is long winded, the technique is straightforward. And when you're done, you have a string and peg scaled map of the area. Want more information on your map? Measure off more points and add them to the map. Because the map is to scale it's possible to make navigation and other assumptions from it.

To experiment with this technique, I wrote some code that turns the logged data into an on screen drawing. You can feed the above chart of information into my PAUL Mapping demo and see the following output:

This was a humbling project. I expected I could turn it out in no time, but got tripped up by the nuances of the HTML canvas and the need to transform points for the various coordinate systems. As it stands, it's still buggy and not rendering the data right. Though I have confidence I'll get this figured out.

Once I get it working, I'll have to try my hand at some local map making.