Old Book Teardown: Frequency Modulation: An Introduction To The Fundamental Principles | In The Lab With Jay Jay

This post is part of my video blog: In The Lab With Jay Jay.

Support this channel on Patreon: https://www.patreon.com/JohnElliotV

Silly Job Title: Master Planner

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

In this video I tear down Frequency Modulation: An Introduction To The Fundamental Principles by A. W. Keen, M.I.R.E., A.M.I.E.E. This book was published in London in 1958. The book comprises 274 pages and is chock full of schematics with old vacuum tubes.

Some items of note from the book:

New Book Teardown: The Art of Electronics: The x-Chapters | In The Lab With Jay Jay

This post is part of my video blog: In The Lab With Jay Jay.

Silly Job Title: Spark Slinger

Support this channel on Patreon: https://www.patreon.com/JohnElliotV

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

In this video I take a look at The Art of Electronics: The x-Chapters by Paul Horowitz and Winfield Hill published in 2020. The book has 506 pages and is a companion to The Art of Electronics 3rd Edition.

In the book we learn about the Cascode two-stage amplifier and the push-pull amplifier.

We also see mention the Eye Diagram and there is discussion of the Potentiometer.

Old Book Teardown: Dictionary of Electronics (1963) | In The Lab With Jay Jay

This post is part of my video blog: In The Lab With Jay Jay.

Silly Job Title: Spark Slinger

Support this channel on Patreon: https://www.patreon.com/JohnElliotV

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

In this video I tear down the 2nd Edition of the Dictionary of Electronics by Harley Carter A.M.I.E.E. This book was published in Great Britain in 1963 (following the 1st Edition published in 1960). This book comprises 410 pages of definitions of electronics terms that were current in 1963.

Old Book Teardown: The Internet With Windows (1996) | In The Lab With Jay Jay

This post is part of my video blog: In The Lab With Jay Jay.

Silly Job Title: Charge Charmer

Support this channel on Patreon: https://www.patreon.com/JohnElliotV

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

In this video I tear down The Internet With Windows by Glyn Moody. This book was published in Great Britain in 1996 and is about accessing various Internet services using Windows 95 and Windows 3.1.

New Book: The Art of Electronics 3rd Edition | In The Lab With Jay Jay

This post is part of my video blog: In The Lab With Jay Jay.

Silly Job Title: Charge Charmer

Support this channel on Patreon: https://www.patreon.com/JohnElliotV

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:

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.