I figured out how to avoid connascence of position

Instead of passing positional arguments to constructors (or functions), instead pass a list of value objects. The type of the value object will tell you the type of the value, so you don’t need to worry about the position. This is a super powerful means of supporting back-compat within your code base so you can move ahead at speed. Having value objects instead of simple types (bools, ints, floats, strings, etc) might have performance implications, but it also can be quite handy. So far so good for my use cases.

Symbol Keyboard | Mini Project JMP001 | Learning Electronics In The Lab With Jay Jay

This post is part of my video blog and you can find more information about this video over here.

You can support this channel on Patreon: patreon.com/JohnElliotV

This is the inaugural Mini Project! I introduced the Mini Projects recently. They are developed and published by Silicon Chip magazine, and sponsored by Jaycar Electronics (which is an Austrlaian electronics store, similar to Radio Shack in the USA, hopefully it doesn’t end up suffering the same fate.)

In this project, codenamed JMP001, we develop a USB keyboard which can send interesting and unusual symbols (which aren’t usually available on a keyboard) to a Windows computer using the alt-codes that it supports in a typical codepage.

For this first Mini Project I felt it was important to actually buy my components from Jaycar which I did for roughly eighty Australian dollary doos. Approximately US$50. The parts I ordered were these:

Belatedly I did also search for rubber feet.

There was quite a lot that went into the production of this video, and we accumulated a lot of links. Those are here:

In the end this first project was relatively successful, and we did get it to work fairly well on one of my Windows computers. As for the rest you can find out for youself in the video!

Thanks very much for watching! And please remember to hit like and subscribe! :)


Following is a product I use picked at random from my collection which may appear in my videos. Clicking through on this to find and click on the green affiliate links before purchasing from eBay or AliExpress is a great way to support the channel at no cost to you. Thanks!

Yum Cha HSC8 6-4A Ferrule Crimper KitThis is an image of the product.notes

Let’s go shopping!

Getting info about recent core dump (on Debian)

This is a note for Future John about how to report a recent coredump (with debugging symbols) on Debian:

DEBUGINFOD_URLS="https://debuginfod.debian.net" coredumpctl gdb

Then bt is a magical gdb command to run to give you the call stack of the thread which… failed?