New Book Teardown #1: The Art of Electronics 3rd Edition (2015) | In The Lab With Jay Jay

This post is part of my video blog and you can find more information about this video on this show’s homepage which is here.

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

Silly Job Title: Charge Charmer

This video is part of the New Book feature of my video blog.

In this video I review the venerable The Art of Electronics 3rd Edition by Paul Horowitz by Winfield Hill published in 2015. This monstrous tome includes some 1,220 pages.

This is a long video, because this is a long book!

While I was writing up these notes for the video I found a wealth of fun stuff. Here are a few links:

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!

Plato Model 170 Wire CutterThis is an image of the product.notes

Let’s go shopping!

Context object versus global variables

I’m reading A Philosophy of Software Design by John Ousterhout and he says:

The context object unifies the handling of all system-global information and eliminates the need for pass-through variables. If a new variable needs to be added, it can be added to the context object; no existing code is affected except for the constructor and destructor for the context. The context makes it easy to identify and manage the global state of the system, since it is all stored in one place. The context is also convenient for testing: test code can change the global configuration of the application by modifying fields in the context. It would be much more difficult to implement such changes if the system used pass-through variables.

Contexts are far from an ideal solution. The variables stored in a context have most of the disadvantages of global variables; for example, it may not be obvious why a particular variable is present, or where it is used. Without discipline, a context can turn into a huge grab-bag of data that creates nonobvious dependencies throughout the system. Contexts may also create thread-safety issues; the best way to avoid problems is for variables in a context to be immutable. Unfortunately, I haven’t found a better solution than contexts.

Okay, so I’m just gonna step way out of line over here and suggest something heretical… but shouldn’t you just use global variables? You only introduced the context object so you could tweak it in unit tests, and you could just change your tests so that each one ran in a new process. Just sayin’.

…I suppose for the sake of completeness I should add a little more from Ousterhout which he said prior to the above:

Another approach is to store the information in a global variable, as in Figure 7.2(c). This avoids the need to pass the information from method to method, but global variables almost always create other problems. For example, global variables make it impossible to create two independent instances of the same system in the same process, since accesses to the global variables will conflict. It may seem unlikely that you would need multiple instances in production, but they are often useful in testing.

…so he is bending over backward to support multiple tests in one process, but he could just run each test in its own process and his problem evaporates.

Old Book Teardown #3: Vest Pocket Guide To Electrical Testing And Troubleshooting (1987)

This post is part of my video blog and you can find more information about this video on this show’s homepage which is here.

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

Silly Job Title: Charge Charmer

This video is part of the Old Book feature of my video blog.

In this video we take a quick look at Vest Pocket Guide To Electrical Testing And Troubleshooting by John E. Traister published in 1987 with 130 pages.

In the video I also wish everyone a happy new year, talk a little about upcoming Xin1 projects, and mention how expensive it will be to upgrade my scope to 350 MHz.

And if you’re interested the Wikipedia page for Logic Analyzer says that the first commercially available instrument to be called a “Logic Analyzer” was the HP 5000A Logic Analyzer, introduced in October 1973.

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!

Victorinox Swiss Champ Red Swiss Army KnifeThis is an image of the product.notes

Let’s go shopping!

Interlude #2: Mail Call! Plus Two Old Books And A Floppy Disk | In The Lab With Jay Jay

This post is part of my video blog and you can find more information about this video on this show’s homepage which is here.

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

Silly Job Title: Ohm Oracle

Old Book: Electric Circuits by J. Richard Johnson published 1984 with 888 pages.

Today we pop open a few bags of stuff that has arrived in the mail.

I mention about the trouble I had with my Western Digital Purple drives.

I mention about my new Western Digital Black 1TB NVMe M.2 SSD WDS100T3X0E drives.

I mention about my Educational 555 PCBs which have arrived from PCBWay. The website of the designer is given as: basitelektronikprojeler.blogspot.com.

The systems of units mentioned in the old book Electric Circuits are discussed at MKS system of units and Centimetre–gram–second system of units.

The 256GB M.2 NVMe drives I got to use as my ZFS L2ARC cache are these: TOSHIBA KIOXIA 256GB BG5 NVMe SSD M.2 2280 – NEW GEN4.

The automotive fuses I got are these ones: Car Fuse Blade Fuse Kit Fuses Automatic Truck Blade The Fuse Insurance Insert Insurance of Xenon Piece Lights Auto Accessories.

The test clips I got are these ones: 10X Universal Chip clamp micro IC clamp SOP SOIC TSOP MSOP SSOP SMD IC Test Clip pin Socket Adpter Programmer for logic analyzer.

The book which arrived in the mail was The SCSI Bus and Ide Interface: Protocols, Applications and Programming (2nd Edition) by Friedhelm Schmidt published 1997 with 396 pages.

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!

OULLX NSS-681HDMI-RJ45 Cable TesterThis is an image of the product.notes

Let’s go shopping!

Electronics Project #2: Teardown of Homemade Continuity Tester | In The Lab With Jay Jay

This post is part of my video blog and you can find more information about this video on this show’s homepage which is here.

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

Silly Job Title: Grounding Genius

Old Book: Industrial Electronics Reference Book by Electronics Engineers of the Westinghouse Electric Corporation published 1948 with 680 pages.

Today we teardown a homemade continuity tester which I put together for use before I had a multimeter, so that was in the early days of my new lab, circa August 2021.

While I was preparing the links for this blog post I discovered that the plastic case I used for the continuity tester was the HB5610 Black Hand-held Electronic Enclosure from Jaycar. I purchased one of these for AU$9.95 back in August 2021, which was around the time that I made this continuity tester.

I subsequently purchased a ten pack of similar plastic cases from AliExpress for AU$64.55 (inc shipping) in March 2022. I went to find the AliExpress listing so I could link you to it, but it’s an old listing and has been taken down. I did search for an equivalent product but didn’t find what I was looking for. The dimensions are roughly 70mm x 135mm x 24mm and there is a facility for 2x AA batteries built in.

The multimeters I use/mention in this video are:

The multimeter I mention I want to get is this one: EEVblog 121GW Multimeter.

What I say in the video about active vs passive piezoelectric buzzers is correct. The active buzzer will do the buzzing for you, all you need to do is supply some power. The passive buzzer will need an input signal in addition to power, so some sort of oscillator if you want to generate a tone.

I knocked up a schematic for this continuity tester, something like this:

Continuity tester schematic

I’m gonna try getting some PCBs made for this circuit from PCBWay, because I’m still trying to learn everything I can about that process!

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!

FNIRSI M328 Component TesterThis is an image of the product.

Let’s go shopping!

Secrets of the Autistic Millionaire

I don’t believe I am autistic, but I have a few friends who are on the spectrum, and I am occasionally assumed to be based on the manner of my expression (it’s an occupational hazard I suppose). Anyway I did have some interest in reading Dave Plummer‘s book Secrets of the Autistic Millionaire: Everything I know about Autism, ASD, and Asperger’s that I wish I’d known back then… This is just another one of those things on my very long list of things I would very much like to read but for which I just don’t have the time.