Grocery - Smart Shopping List

Several years ago after migrating my data from service, to srevice, to service I decided I’d had enough of proprietary formats & was going to move all of my data to non proprietary format. For most all my stuff that has worked out to be markdown.

I had not yet found a good way to store recipes in a nice structure . I’d searched a few times over the years & hadn’t found what I wanted, then yesterday I happened across a github repo with some markdown recipe examples from the team that created Grocery App for iOS, iPadOS, watchOS.

The Format

Their format is dead simple, and super flexible, and best of all lets me put my recipes in the flow that I like of “do this steps with these things”.

You can see on their Github page for Grocery Recipe Format some example recipes, and the basic structure of a recipe:

# Title
## Header
- Ingredient
> Note

This simple format makes it very simple to throw a recipe together like the below. It’s markdown so it’s easy to read without any special tools, and the thing that I really like is that it is portable so I’m not locked into a specific recipe database format.

When I started this adventure I was not looking for a new shopping list app, nor was I looking for a new recipe storage app. But it happens that this little app does both of these things very well, and since it reads markdown, and easily syncs my data from iCloud I can easily workout a workflow to keep the recipes in the app updated with my blog store.

The Shopping List

I’ll admit I have not actually used this app yet for shopping, but from the little bit of playing around I’ve done it looks like a really nice app for that.

The Recipe View

This is why I really liked this app, the recipe view is very simple and adds a lot of features from such a simple markdown format.

First it of course provides nice little check boxes so you can mark off each step and ingredient as you do it, but it also has a nice little marker you can use to note a timer. So just tapping the highlighted time, will start a timer, and then track multiple timers across multiple recipes.

There was only one small problem

The app doesn’t currently support YAML front matter. Front matter is the stuff that goes at the top of a lot of file types used for a lot of things, that defines some additional meta data about your content. In my case it is use by Jekyll that runs my blog/wiki/recipe box. The front matter in the code below is the part between the lines of --- of my YAML/Markdown files or +++ for TOML files. I’ve sent the Grocery team a feature request to see if they can ignore this section of the file, so hopefully that will come in a future update.

Example Recipe

An example of the issue is below. For the below recipe if the front matter is included the Grocery recipe view looks like:

Removing the front matter & everything looks perfect:

title: Brian's Chocolate Chip Cookies
author: Brian Kohles
tags: cookie recipe chocolate chip
categories: recipe
layout: recipe

# Brian's Chocolate Chip Cookies

> The latest version of my continually changing chocolate chip cookies

## Wet Ingredients

Cream together:
- Butter | 1/2 Cup | Softened
- Shortening | 1/2 Cup | Butter Flavored
- Dark Brown Sugar | 220 G | 
- Sugar | 200 G | 

Add in the other wet ingredients:
- Eggs | 2 |
- Vanilla Extract | 1 1/2 t |

## Dry Ingredients

Add in all the dry ingredients & slowly mix together:
- Flour | 333 G | 
- Baking Soda | 1 tsp |
- Baking Powder | 1 tsp |

## Add mix ins

Mix in Chocolate Chips and anything else you like:
- Dark Chocolate Bar | 2 C | Cut into chunks

## Bake

Preheat over to 350º F (325º F fan assist) for 11 minutes [Baking Cookies].

> Cooking time may be 10-16 minutes depending on cookie size

## Other optional mix ins

> Some other Mix ins to try

- Heath Toffee Bits | 1 C | with or without chocolate
- Instant Espresso Powder | 1 T |
- Cinnamon | 1 T |
- Cayenne Pepper | 1/8 t |
Tags: code recipes

Node-RED - Low-code programming for event-driven applications

Their website sums it up best:

Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.


Tags: code website

New Apple Mac Hardware - me guessing

There has been a lot of speculation lately about Apple releasing new Mac hardware that switches from an Intel processor to a ARM processor (like the A10x in the iPad Pro).

The discussion usually revolves around how the transition would work, would there be an emulator, would they announce the change @ WWDC (they did not), what will it take for devs to update their apps, etc.

I was thinking about this today and I think there is an answer that would make everyone happy. The current line of Macs are all very old, almost like Apple has been waiting a long time to make any updates. Almost as though they want to update them all at the same time. Or at least have a viable plan to update them all in a very short (less than 1 year) timeframe.

At WWDC Apple announced that the Mac would soon be able to run iOS apps. It is expected that these apps would need to be recompiled to run on Intel CPUs as currently used in the Mac. It is also expected that if Apple switches the Mac to an ARM chip that there would need to be emulation of some sort (like Rosetta Stone during the transition to Intel) to allow older Mac apps to continue to run.

What if neither is true initially. Apple doesn’t have to switch completely to ARM processors, what if they added additional hardware/software to allow an ARM processor to run the computer, but have an Intel co-processor for running old apps? There was a similar after market setup WAY back in the PowerPC days, you could buy a expansion card for your Mac (called a Power Card if I remember right), and that card was essentially a 386/486 PC on an expansion card. This allowed you to run windows inside a window on your Mac, almost as fast as an actual PC.

With Apple being in full control of their hardware and OS stack, why couldn’t they do the same thing, but modernized? You could run the full blown Mac OS on either the Intel or ARM CPU (maybe you get to choose may be Apple chooses for you), and then essentially any apps that need access to the other CPU could just run in its own window. There would of course have to be a controller to manage data between the two processors, but it would work similar to handing off processing load to the GPU. The additional CPU would do its work & then hand the data back to the main CPU for rendering, or it could literally just draw its data right back to its own window.

With Apple relying so heavily on APIs for everything the OS does I could see this being a completely hands off process that the system just handles with little to zero input by the developer.

As apps are updated they could be compiled to run on the new CPU and eventually everything would use the new CPU & Apple could remove the Intel CPU from future hardware builds. Eventually Apple drops Intel, Intel probably goes under as a result & hopefully MS has Windows for ARM at the same level as their x86 version.

AppleTV Secret Remote Combos

I was playing with the AppleTV (4th gen) the other day and accidentally triggered one of the developer tools, so I poked around a bit more & came up with the following combos.

The below are all done from the home screen

Play/Pause – hold for a few seconds

  • This will allow you to change audio output, this is helpful for switching to a previously paired set of bluetooth headphones. Found this one via

Play/Pause + Volume Down

  • Hold for 3 seconds & release – This will save a “stackshot”, this is ued by developers for troubleshooting apps.
  • Hold for 6 seconds & release – Will create analytics & allow them to be shared (via air drop)

Play/Pause + Volume Up

  • Hold for 10 seconds & release – This will presumably take a screenshot. You can hear the screenshot sound, but I have not figured out where the screenshots end up.
  • Start remote pairing mode
  • Autoscan for new output settings

Home + volume up

  • Hold for about 10 seconds & then release – send diagnostic logs to Apple

Play + Menu

  • Hold for about 10 seconds – force a reboot

Bike Rack Lights

I’ve had a few people at the trailhead comment on the trailer lights I put on my hitch mounted rack so I thought I’d do up a quick post about the parts/process.

While writing this post I had the idea that using an LED light strip (like the kind they put below the tailgate on a truck), might be a cheaper and easier solution. Which it turns out it is. I can’t vouch for this type of install, but I have used similar lights on my motorcycle with no issues. So maybe save some time and money & have a look @ these:

60 Inch Tailgate LED Light Bar


Wiring Diagram

The first step is to wire the lights up temporarily to make sure all the connections are correct.

There is a good wiring info table on eTrailer: eTrailer Wiring FAQ this is where I found the info for the below.

There are 5 wires coming off the wiring harness:

  • White - ground to rack
  • Brown/Green - Tail/marker
  • Brown - Tail/marker
  • Yellow - Left Turn
  • Green - Right Turn

Each light has 3 Wires:

  • White - ground to rack
  • Green - Turn
  • Black - Tail/marker

The wiring is easy just follow the below diagram, and connect the wires as:

  • All the whites together & bolt these directly to the bike rack for a ground.
  • Connect the Brown/Green to the black wire on one of the lights.
  • Connect the brown to the black wire on the other light.
  • Connect the green wire to the green wire on the RIGHT light.
  • Connect the yellow wire to the green wire on the LEFT light.
Trailer wiring diagram