Friday, May 25, 2018

The Key-Chain Loop - A DC Route That Never Disappoints

I snapped the above photos while I was running the Key-Chain loop. This loop covers four miles of Potomac Heritage Trail, which is always good for interesting scenery.

Though admittedly, I got a bit more scenery than I bargained for.

Those are trail markers but no trail. At one point I had to wade through thigh-deep water to re-connect with the trail. To add to the experience, as I slowly made my way in the water, a hefty sized fish surfaced next to me. It felt like I was in a certain trash compactor movie scene; needless to say I was happy to back on dry land.

Thursday, May 24, 2018

Homemade Beef Jerky, Without the Excuses

Making beef jerky has been on my list of things-to-try for quite some time. First, it's an interesting way to learn about a historic method of preserving meat. Second, there's the practical side: jerky should keep relatively well while backpacking, thereby opening new meal options on the trail.

But I've always had an excuse as to why I couldn't try this project. I don't have access to the right cuts of (Kosher) meat. I don't have a proper dehydrator. I don't have the right drying racks. And on, and on.

Looking at the Kosher meat section at Trader Joe's I decided, screw it, let's do this. Drying meat has been something our ancestors have been doing since recorded time. If they could make do with their primitive setup, I could too. So I bought two packages of meat: one a traditional looking steak and the other some stew meat.

To really drive the point home, I split the sliced up meat into two piles. For the first pile, I simply sliced it and placed it on a parchment paper covered baking sheet. I put the baking sheet in the oven set to dehydrate and more or less forgot about it.

I then crafted a marinade for the second pile of meat. I used this recipe, though half way through realized I didn't have any worcester sauce (a key ingredient!). So I improvised, tossing in a bit of A1 and some hot sauce for good measure. I put the sliced meat in a zip lock bag, added the marinade and put the bag in the fridge.

8 hours later, I took the meat which had been marinating and laid it out on more parchment paper. I then added this second baking sheet to the one that was already in the oven.

Another 8 hours later, after multiple flippings of the meat, I had this dried, unappealing (yet jerky looking!) result:

So, how did it taste?

The marinade free version of the meat tasted exactly like you expect it would: dry, tough and chewy. As part of regular snacking, I'd pass on it. But if it was on the menu after hours of backpacking in the woods, I'm sure I'd consider it gourmet. And besides it underscores my original point: preserving meat through drying isn't hard, you just need to do it.

The marinade version, however, was surprisingly tasty. The flavor of the mystery marinade really came through and the pieces of meat weren't crazy tough. Given the choice of drying the meat, or marinading and drying the meat, the choice is obvious: marinade that sucker.

Next time I'm near a fully stocked Kosher butcher, I plan to pick up the recommended flank steak/london broil beef. This really isn't a hard procedure to follow, and the results are both tasty and functional.

Wednesday, May 23, 2018

Take-Your-Medicine-Reminder 3.0: Now there's an App for That

Version 2.0 of my medication reminder system was fun to build. However, it effectively tied up my micro:bit and meant that if I wanted to continue experimenting with it, I'd have to buy another. Rather than buy more hardware, I decided to develop a software solution to the don't forget my allergy medication problem.

I opened up Tasker and set to work crafting a solution. Like my original solution, I wanted a passive reminder that I'd need to take my medication every 24 hours. And like the original solution, when I took the medication, I wanted an easy way to reset the process so the countdown would start anew.

To solve the second half of the challenge, I busted out an NFC sticker. I stuck it to the bottom of my pill bottle like so:

My plan was to arrange it so that scanning this tag reset the countdown. The sequence would then be: get notified that I have to take the medication, take it, scan the bottom of the bottle, repeat.

Next, I needed to implement a countdown timer. One solution was to use Tasker's Set Alarm Action to register an alarm due in 24 hours. When the relevant NFC tag was read, I'd need to kill the alarm and set a new one. After a bit of futzing with the alarm action, I decided that depending on a system alarm wasn't going to be reliable enough.

I then turned my attention to AutoNotification, a Tasker plugin that allows you to make sophisticated use of Android's notification panel. AutoNotification has a number of interesting features: first, it allows you to show a countdown timer in the notification itself. It also allows you to render a progress bar. Using these features, I realized I could put my medication reminder right in the notification bar. A quick glance would tell me how much time I had left before the medicine needed to be taken.

Here's how the system looks while running:

This screenshot shows that I just kicked off the reminder and that I should take my meds in 23+ hours.

This functionality is powered by two Actions: Med Reminder Init and Med Reminder Refresh. The init task calculates when the reminder is due, sets this in a global variable and creates the first notification.

%deadline is calculated by taking the 24 hour period and adding it to %TIMEMS (which is current time millis). This value is then plugged into the AutoNotifcation's time field. This combined with checking both the Chronometer and Chronometer Countdown force the notification to show a countdown timer and not an absolute time.

I used the Local NFC Plugin to tie scanning the NFC tag to kicking off the above init action:

One Tasker-NFC lesson I'm constantly relearning is this: when scanning a new/empty tag, Android will pop-up a Complete action using dialog:

You can avoid this dialog by writing the custom URI bad://access/development to the tag.

To make the progress bar on the notification work, I implemented a refresh action. This action does a bit of math to figure out what percentage of time is remaining and writes this value to %percent. Apparently the AutoNotification plugin doesn't like using floating point values for the progress bar, so I use a bit of search-and-replace logic to remove the decimal point and everything after it.

When setting up the initial notification I made sure to use the ID MedReminder. When I want to refresh the notification with the updated progress bar value, I use this same ID again.

I used a Time-of-Day profile that runs every 2 minutes, all day, to invoke the Med Reminder Refresh action. This keeps the progress bar reasonably up to date.

Put all of these items together and you have a refresh action:

I'm sorry to see my hardware solution go. Every time I saw the grid of LED's light up, I couldn't help but think: heck yeah, I built that! But this Tasker solution is a wee bit more practical. And getting a chance to experiment with the very powerful AutoNotification is a nice bonus.

Friday, May 18, 2018

Rain. Lots and lots of Rain.

Just when you think the forecast can't include any more wet weather, you wake to find yourself with another 2/10 day, with rain and possible flooding in sight.

And you know who's loving this rain? The colonies of mushrooms that have sprouted in our yard. Just look at these guys:

I tried to identify them, but had no luck. Any idea what they may be?

At least something is loving this weather!

Wednesday, May 16, 2018

Version 1.0 of the Pocketless Pocket-Protector

I give you the Pocketless Pocket-Protector (PPP). Perfect for work from home-programmer who isn't always wearing pants...with pockets. I made this to be a more portable version of my Programmer's Toolbelt.

The PPP is a small pouch with a magnet sewn into the top. Using another magnet strategically positioned under your clothing, it can be worn like a name-tag. The photo above shows me wearing the PPP attached to a pair of nylon running shorts (also known as Business Casual around here). The PPP attaches to any metal surface, like our front door or the fridge. Through mostly good luck, the PPP is large enough, and secure enough, to hold my cell phone.

Like nearly every sewing project I've done so far, I had far more audacious plans in mind when I started the PPP. And while those complex plans didn't play out, the simple version of the project I arrived at is surprisingly functional. And like most of the projects I've completed so far, I've already got visions of producing version 2.0.

Tuesday, May 15, 2018

Adventures Table Top Structural Engineering - Lego Style

There are a number of notable parallels between Legos and the micro:bit. Both platforms trade sophistication for low bar of entry. With Legos, you can dispense with even the most basic tools and just start building. And so it is with the micro:bit: you need not master an IDE or programming language; you can just start building. The same properties in Legos and micro:bit that lead to clunky and relatively inefficient solutions, also lead to experimentation and the development of novel solutions.

It was with this in mind that I experimented with ways to enhance my take-your-meds-once-a-day hack. I was curious if I could take the mess of tape, wires and foil and put them into a cleaner form.

Here was my first attempt:

I created a box with a hinged lid. Using liberal amounts of foil, I set it up so that closing the lid completes the circuit and restarts the next-pill timer.

The problem with this approach is that it requires the hinge to behave reliably. If the box remains open by even a millimeter, the connection is lost. Legos are many things, but precise to the millimeter isn't one of them.

With further experimentation I learned that I could sandwich foil between two Legos. The result is a durable conductive surface:

With this discovery in mind, I crafted version 2.0 of my pill-bottle cage. This version embeds foil on either end of the box. I then rest the cover, which is encased in more foil, across the top to complete the circuit:

Note the use of Lego figures for cable management. This was totally not my idea; I originally saw it here.

I felt like I was on to something with the foil wrapped Legos, but I could see room for improvement. Here's version 3.0:

In this version, I've created an elevated platform that has floor made up of two large Lego pieces. Each piece is wrapped in foil with a thin strip of tape keeping them from completing the circuit. The pill bottle in this version is back to having foil placed on its bottom. By resting the pill bottle in center of the platform the circuit is completed and the timer starts ticking. When I lift the pill bottle up, the timer is reset.

Version 3.0 attempts to mount the micro:bit in a secure manner and does a passable job of hiding wires.

Would a 3D printed version of this platform be better looking? Heck yeah. But Legos really do deliver on the experimentation side of things. I was able to try multiple solutions with minimal effort. And, like programming the micro:bit, it's just plain fun!

Monday, May 14, 2018

A 20th Reunion filled with Friends, Fun and Family

This past weekend we relived our glory days by heading up to Philadelphia to celebrate Shira's 20th college reunion. We spent the weekend catching up with friends and ooh'ing and ahh'ing at changes on campus. Can I just say, we all look great. None of us have aged a day.

Because the reunion was over Shabbat, we did quite a bit of walking. While I know that Philly is a diverse and interesting city, I definitely came away more impressed than ever. From eclectic South Street all the way up (or over?) to the shaded pathways on campus, we saw a notable variety of restaurants, stores and architecture. The relaxed, yet visible police presence on South Street was more re-assuring than disconcerting. Even the protestors with signs proclaiming All Muslims are Terrorists felt more like an exercise in free speech than it did in an exercise of hate (the fact that they were getting heckled by far more counter-protestors no doubt helped with this).

After a packed weekend of fun, we stopped by Cousins Julia and Brendan's place to see their kids and Cousin Anne. We had an awesome time and I finally confirmed something I'd only suspected: people do live in Delaware after all, it's not just a series of roads to pass from one state to another.


Related Posts with Thumbnails