As it sometime happens to me while I was checking what’s new on YouTube the suggestions algorithm had a video about Memristorwhich was a forth basic electrical element that had a memory in it. While I was watching that interesting video that was created by prof. Giordano Scarciotti I saw the symmetry diagram that prof. Leon Chua came up with back in 1971. In that paper he proposed Memristor as a missing fundamental component in electrical circuit theory. So, what’s interesting about that diagram that it very much resembles diagrams in Category Theory.
Next, I’ve used Windows Copilot to elaborate on that idea. Chatting with it back and forth resulted in the blog post below:
Introduction
When we first learn electronics, we’re introduced to three fundamental passive elements: the resistor, the capacitor, and the inductor. Each one ties together two physical quantities:
Resistor: relates voltage V and current i.
Capacitor: relates voltage V and charge q.
Inductor: relates current i and magnetic flux φ.
But in 1971, Leon Chua predicted a missing fourth element — the memristor — which connects charge q and flux φ. This completed the symmetry among the four fundamental electrical quantities.
🔎 Constitutive Relations and the “=0” Notation
In advanced circuit theory, each element is defined by a constitutive relation: a constraint between two variables. Instead of writing explicit formulas like Ohm’s Law (V = R·i), theorists often use an implicit form:
Resistor: R(V, i) = 0
Capacitor: C(V, q) = 0
Inductor: L(i, φ) = 0
Memristor: M(q, φ) = 0
This doesn’t mean resistance is zero. It means: the pair of variables must satisfy some relation enforced by the element. For a linear resistor, that relation is V − R·i = 0. For nonlinear devices, the relation could be more complex. The implicit form is powerful because it generalizes to nonlinear, time-varying, and memory-dependent behaviors.
🔄 Symmetry and Completeness
Chua’s insight was that with four fundamental quantities (V, i, q, φ), there should be six possible pairings. Three were already realized by resistor, capacitor, and inductor. The missing link — charge to flux — was filled by the memristor. This symmetry is what makes the framework elegant: every pair of quantities is connected by a constitutive relation.
🧩 A Category-Theoretic Perspective
Here’s where the categorical flavor comes in. The symmetry looks a lot like category theory:
Objects: The four quantities (V, i, q, φ).
Morphisms: The four elements (resistor, capacitor, inductor, memristor).
Composition: Just as morphisms compose in category theory, circuit elements combine to form networks.
Commutativity: The square diagram commutes: L ∘ R = M ∘ C meaning that whether voltage is mapped to flux via current (resistor → inductor) or via charge (capacitor → memristor), the structural mapping is consistent.
🖼️ ASCII Diagrams
Fundamental Square of Relations
V ──R──▶ i
│ │
C L
│ │
▼ ▼
q ──M──▶ φ
R : V → i (Resistor)
C : V → q (Capacitor)
L : i → φ (Inductor)
M : q → φ (Memristor)
Commutative Diagram
V
/ \
R C
/ \
i q
\ /
L M
\ /
φ
Here, the two paths from V to φ are equivalent: L ∘ R = M ∘ C
✨ Why This Matters
Thinking categorically opens new doors:
Circuits can be modeled as categories of physical quantities.
Functorial translations could connect circuit categories to computational categories (logic, automata).
Neuromorphic computing, where memristors play a central role, might benefit from categorical semantics.
The memristor isn’t just a missing device — it’s the morphism that makes the diagram commute, completing the symmetry both physically and mathematically.
🧠 The Main Idea
By reframing Chua’s symmetry in categorical terms, we see circuits not just as physical devices but as mathematical structures. The memristor completes not only the physics of passive elements but also the mathematics of a commutative square.
This perspective — born from blending electronics with category theory — is a fresh, original way of thinking about circuit theory. It shows how abstract mathematics can illuminate engineering, and how symmetry drives discovery.
If you have some basic background in programming, or even if you don’t, but want to get some then you can turn to chatbots and in particular to Windows Copilot (I’ll refer to it as Copilot for shortness). You can use Gemini, ChatGPT, Claude etc. if you prefer, and they’ll be as useful. This is what I did just recently when I stumbled upon a post by Dave Plummer at X, where he talked about the need for programmers to understand how compilers produced their output, hence the need to know assembly language. By the way, Dave Plummer developed Windows Task Manager when he was a programmer with Microsoft . He has a YouTube channel where he posts interesting videos related to programming.
Why chatbots can be helpful in this case? First, if you didn’t program in assembly before it can be difficult to approach it. Second, chatbots are very helpful in explaining existing code in any programming language they had in their training data. And, I guess, it means it should know details about most modern programing languages.
Well, next I’ll provide a screenshot of that post, then I’ll show you that chatbot can transcribe the code from an image alone and explain what we are looking at there. The short summary is that post was about binary to ASCII (BTOA) conversion program written in PDP-11 computer assembly. By the way, all these details where extracted by Copilot from the code in the image. Then, I’ve used Copilot to explain to me in detail how the code works to get full understanding of it.
Pay attention, that I use line separator to mark when the response from chatbot has finished.
Original post
I suppose there's a whole class of programmers for whom a compiler is akin to magic, but knowing what's getting emitted and how it works is fundamental to your success over the long haul.
I suppose there’s a whole class of programmers for whom a compiler is akin to magic, but knowing what’s getting emitted and how it works is fundamental to your success over the long haul. Write some assembly. Read the Dragon book on an airplane. AI will still be here when you get back. In five years, anyone capable of structured thought will be able to become a prompt engineer, but only 1% of software developers will actually be able to debug the stuff that comes out the other end. Be the 1%
What did I do next?
As I’ve mentioned I’ve copy and pasted the image in Copilot and asked it to transcribe the code from the image and explain what it’s doing.
Prompt: Transcribe the code from the image and explain (an image was attached as can be seen in the screenshot below). Response:
Below comes a full response.
Here’s the full transcription of the PDP-11 assembly code using MACRO-11 syntax, followed by a detailed explanation: Transcribed Code
.TITLE BTOA ; Program title
.MCALL .PRINT,.EXIT,.TTYOUT ; System macros
HELLOMSG: .ASCIZ /BTOA Example/
.EVEN ; Ensure we're on a word boundary
START: .PRINT #HELLOMSG
MOV #12345., R0 ; Number to convert
JSR PC, BTOA
.EXIT
BTOA:
MOV R0, -(SP) ; Save R0 on stack
MOV R1, -(SP) ; Save R1 on stack
MOV R2, -(SP) ; Save R2 on stack
MOV R0, R1 ; Move number to R1 (low part of dividend)
CLR R0 ; Clear R0 (high part of dividend)
DIV #10., R0 ; Divide R0:R1 by 10, quotient in R0, remainder in R1
TST R0 ; Check if quotient is 0
BEQ PRINT ; If quotient is 0, print digit
JSR PC, BTOA ; Recursive call with quotient
PRINT: ADD #'0, R1 ; Convert remainder to ASCII
MOV R1, R0 ; Move ASCII digit to R0
.TTYOUT R0 ; Print the digit
MOV (SP)+, R2 ; Restore R2
MOV (SP)+, R1 ; Restore R1
MOV (SP)+, R0 ; Restore R0
RTS PC ; Return
.END START
🧠 Explanation
This program converts a binary number (in this case, 12345) to its ASCII decimal representation and prints it to the terminal.
🔹 Header and Setup
.TITLE BTOA: Sets the title of the program.
.MCALL .PRINT,.EXIT,.TTYOUT: Declares macros for printing, exiting, and terminal output.
HELLOMSG: .ASCIZ /BTOA Example/: Defines a null-terminated string.
.EVEN: Ensures the next instruction is aligned on a word boundary.
🔹 Main Routine (START)
.PRINT #HELLOMSG: Prints the greeting message.
MOV #12345., R0: Loads the number 12345 into register R0.
JSR PC, BTOA: Calls the BTOA subroutine to convert and print the number.
.EXIT: Ends the program.
🔹 Subroutine (BTOA)
Saves registers R0, R1, and R2 to the stack.
Sets up for division: moves the number to R1, clears R0 to form a 32-bit dividend.
DIV #10., R0: Divides R0:R1 by 10. Quotient goes to R0, remainder to R1.
TST R0: Tests if quotient is zero.
If yes, go to PRINT.
If not, recursively call BTOA with the quotient.
PRINT: Converts the remainder (digit) to ASCII by adding '0', then outputs it using .TTYOUT.
Restores registers from the stack and returns.
This recursive approach ensures digits are printed in the correct order (most significant to least significant). Would you like to see how this would look in C or another language for comparison?
Let’s try to understand how it works in more detail.
Question: First of all, what is BTOA?
Response:
Great question! 🧠
BTOA stands for Binary To ASCII. It’s a common abbreviation used in programming to describe the process of converting a binary (or numeric) value into its ASCII character representation, typically for display or output purposes.
🔍 What does “Binary to ASCII” mean?
Binary: In this context, it refers to a numeric value stored in binary format (e.g., the number 12345 in machine-readable form).
ASCII: The American Standard Code for Information Interchange — a character encoding standard that maps numbers to printable characters like '0' to '9', 'A' to 'Z', etc.
Okay, now that we know what that mysterious BTOA was how about we understand what happens inside this block of code that resides inside the BTOA function?
MOV R0, R1 ; Move number to R1 (low part of dividend)
CLR R0 ; Clear R0 (high part of dividend)
DIV #10., R0 ; Divide R0:R1 by 10, quotient in R0, remainder in R1
TST R0 ; Check if quotient is 0
BEQ PRINT ; If quotient is 0, print digit
JSR PC, BTOA ; Recursive call with quotient
Also, before jumping to Copilot for help we can see assembly language program that is doing some computation using registers in CPU such as R0 and R1. We can see the data is moved, cleared, a division is done and then there is a conditional logic on lines 5, 6 and 7. In the screenshot it corresponds to lines 22, 23 and 24.
So what is the explanation ? Response:
This block of PDP-11 assembly code is the core of the binary-to-ASCII conversion logic. It performs division by 10 to extract digits from a number and uses recursion to print them in the correct order. Here’s a breakdown of each line:
🔍 Line-by-Line Explanation
18 MOV R0, R1 ; Move number to R1 (low part of dividend)
Copies the number from R0 to R1.
This sets up the 32-bit dividend for division: R0:R1 (high:low).
19 CLR R0 ; Clear R0 (high part of dividend)
Clears R0 to zero.
Now the full dividend is 0:R1, effectively treating the original number as a 32-bit value with high word = 0.
20 DIV #10., R0 ; Divide R0:R1 by 10, quotient in R0, remainder in R1
Performs a 32-bit division of R0:R1 by 10.
After this:
R0 contains the quotient (i.e., number / 10)
R1 contains the remainder (i.e., number % 10), which is the rightmost digit
22 TST R0 ; Check if quotient is 0
Tests if the quotient is zero.
This determines whether there are more digits to process.
23 BEQ PRINT ; If quotient is 0, print digit
If R0 is zero, it means this is the last digit.
Branches to PRINT to output the digit.
24 JSR PC, BTOA ; Recursive call with quotient
If R0 is not zero, it means there are more digits.
Recursively calls BTOA with the quotient in R0, continuing the process.
🧠 Summary
This block:
Extracts the least significant digit of the number.
Uses division and recursion to process digits from most significant to least significant.
Ensures digits are printed in the correct order by printing only after recursion unwinds.
Conclusion
Well, I guess it clarifies a bit what the code is doing. And you probably got a point of how you can use a chatbot to help you understand a piece of code in a programming language you probably never saw and drill down to nitty gritty details of the implementation and really understand how it works.
Have you wondered how it is possible to develop imagination in general and creative imagination in particular. After all, it seems like the state of the things is that some people have it and others don’t. But don’t be so fast to think so. It turns out that it is possible to train your imagination in a similar way as how you can gain muscles by exercising in a structured way.
To save you time and effort imaging such a structured and systematic approach to developing creative imagination you can turn to a method that was developed by Genrikh Altshuller the creator of the Theory Of Inventive Problem Solving also known in its Russian acronym form as TRIZ.
One constituent part of TRIZ is Development of Creative Imagination. It consists of a number of methods and imaginative techniques (operators) that can help you develop creative imagination in engaging and joyful manner.
In this post I’d like to mention some of the techniques or imaginative operators that can be helpful in developing creative imagination. These operators were introduced by sci-fi writer Pavel Amnuel.
A complete list of operators comes below. I call them operators in the mathematical sense, since they act on an object, idea etc. and transform them in one way or the other. As you may notice, first operator in the list is Inverse.
Do the “opposite” – Inversion. (The following methods form pairs in which one element is the opposite of the other—i.e., using the “do the opposite” operator or duality.)
Segmentation – Unification (for a property or object)
Make Dynamic – Static
Turn Artificial – Natural
A method to change immutable things (Change what is usually considered unchangeable).
Next, I’ll provide visual examples of each operator by referencing sci-fi movies that incorporated them.
Examples of the operators in sci-fi movies
Supersize me
The movies below are an example of Increase – Decrease operator where kids were shrunk and then a kid was enlarged. And what’s funny going from an idea of one movie to the other involved simply using an Inversion operator.
Most probably first literary reference of this operator in fiction was: Gulliver’s Travels by Jonathan Swift (1726)
Honey, I Shrunk the Kids (1989),
Honey, I Blew Up the Kid (1992)
Superman
The movie below is an example of Acceleration and Addition operators when a number of regular human abilities were increased and placed in a single person.
Superman movie from 1978.
Superman was originally created by DC Comics (1938).
Superman’s famous arsenal of powers has included flight, super-strength, super-speed, vision powers (including x-ray, heat-emitting, telescopic, infra-red, and microscopic vision), super-hearing, and super-breath.
Intelligence Enhancement
The movie below is an example of Addition – Removaloperator when super-intelligence was added to a person that didn’t have it originally.
The Lawnmower Man (1992).
A short story Flowers for Algernon by Daniel Keyes (1959) is based on a similar idea.
The Invisible Man
The image below is an example of the Insertion – Extraction operator where a property of being visible was extracted from a body of a person.
Book: The Invisible Man by H.G. Wells (1897)
Time Travel
The movie below is an example of the Inversion and Discrete – Continuous operator when a continuous time made discrete and traversable back and forth.
Film: Back to the Future (1985)
The idea originally came from the book: The Time Machine by H.G. Wells (1895)
Anti-gravity
The idea below is based on the Method to change immutable things (Change what is usually considered unchangeable).
The concept was first introduced formally as “Cavorite” in H. G. Wells’ The First Men in the Moon (1901).
Capitan’s Log
The idea below is based on the Segmentation-Unification operator when an object is segmented into atoms and then assembled into a whole again.
Teleportation is the transfer of matter from one point to another, more or less instantaneously.
The word “teleportation” was coined in 1939 by American writer Charles Fort to describe the strange disappearances and appearances of anomalies, which he suggested may be connected.
In this post I’d like to provide a short example of how chatbots, in particular Windows Copilot, can help you address issues related to web browsing, programming, reverse engineering, intelligent internet searching (aka semantic searching) etc.
The issue
In this case I wanted to check what sci-fi writer Pavel Amnuel had on his website. Even though that website looks dated and it is, the information it contains is still relevant to this day. There you can find his essays on hard science fiction, a “A Course of Lectures on TRIZ and the Development of Creative Imagination (PTB)” and more.
That course on Development of Creative Imagination consists of thirteen parts, and it turns out that the 11th one has incorrect encoding and looks like this at the time of writing
So, what I did I’ve posted a part of it in Windows Copilot and asked about the encoding issue. It came up with a correct explanation right away.
prompt: fix encoding of this text …
response: The text you’ve provided appears to be Cyrillic text misinterpreted as Latin characters due to incorrect character encoding. Most likely, it was originally written in Russian using Windows-1251 encoding, but then read or displayed using Windows-1252 (Latin-1) or UTF-8 without proper conversion.
🔍 Correct Encoding: Windows-1251 (Cyrillic)
When decoded properly, the text reads as: РТВ — ЭТО ОЧЕНЬ ПРОСТО! Г. Альтшуллер Курс лекций по развитию творческого воображения и теории решения изобретательских задач для начинающих. (Proverb 11)
В тексте есть некоторые задачи по ТРИЗ из РТВ, из книг и статей Г.С. Альтшуллера, Б.Л. Злотина, А.В.В. Асмана и других авторов.
🛠 How to fix encoding issues
If you encounter similar garbled text:
Identify the original encoding — in this case, Windows-1251.
Use a text editor or converter that allows you to change encoding (e.g., Notepad++, Sublime Text, iconv).
Convert from Windows-1251 to UTF-8 to make it readable across modern systems.
Would you like me to help you convert a file or more text like this?
I’ve tried a couple of approaches, again, using Copilot’s assistance. In the end what I’ve ended up doing is saving the page as html file and updating the headelement with the following meta tag below which provided correct Cyrillic encoding instead of the Latin one.
<meta charset=”windows-1251″>
This is how the properly encoded version looks like
I’ve also notified the author about this issue, and hopefully, by the time you are reading this post it will be fixed already.
Bonus
One more thing, if you’ve noticed the link to Pavel Amnuel’s website opens that page in English. This is no coincidence. The page is originally in Russian, but Copilot helped me to discover that Google Translate allows to translate a web page into a specific language and get a link to that translated page. How neat is that?
prompt: I mean I need a link that I can share after it was translated response: Ah, got it! You want a sharable link to the translated version of the page. Here’s how to do that using Google Translate:
Can be shared with anyone — they’ll see the English version of the Russian page
Translates the page from Russian (sl=ru) to English (hl=en)
Automatically opens the translated version in Google Translate
By the way, while on that website you can right click on the mouse button and translate any of the articles into English. Nowadays, translations are of a very high quality. Also, I saw that when you navigate to a translated page link, other linked pages are translated automatically!
Summary
Here you have it Windows Copilot or any other similar tool can do wonders if you ask it to help.
In this post I’d like to share useful information on how to use LLMs and in particular Windows Copilot powered by GPT-4o (most probably) and GPT-5 models to assist in reverse engineering electronic boards.
So far, I was able to use these models to successfully reverse engineer software projects at work. And over the weekend I was able to apply Windows Copilot to help me reverse engineer a Switched-Mode Power Supply (SMPS) Board from a cheap DVD player I bought a couple of years ago.
The background for this hardware reverse engineering effort was that I bought a DVD player at Amazon to watch a couple of DVDs and listen to CDs I had. I used it a number of times and then didn’t use it for a while. When I tried to power it on a couple of years later it didn’t work. The debugging showed that the capacitor in the SMPS board was leaked. So, I found a similar capacitor (1000 uF, but 10 V max) in one of the old mobile phone charges and replaced it. The DVD started to work again. I’ve documented this process in the YouTube video. The main issue was that I didn’t check what was that capacitor’s maximum voltage. And as I’ve mentioned, it was 10 V. But other capacitors that were filtering the ripple before output were 16 V. I didn’t notice this at the time. So when I tried to use that DVD player later it didn’t start again. I already wanted to throw it into garbage, when I gave it a chance and opened it again. What I saw that the same capacitor that I replaced before leaked too. It turns out there is a need to use a 16 V maximum rated capacitor to account for potential voltage spikes.
This time I was more systematic and started to use Windows Copilot to query for what capacitor I could use in place the leaked one. I had a couple of old mobile phone charges left that I disassembled while looking for a 1000 uF capacitor which I didn’t found in the end. I only had 470 uF ones. But LLM reasonably suggested to use 1000 uF cap, since you can’t replace a capacitor without considering what was its purpose in the circuit. So, I understood that I must follow an advice from the Debugging Rules! book by Dave Agans, first I needed to Understand the System!
Since, I am an electrical engineer by education, I had some background to understand what various components were on the board and what some of them were responsible for. For example, I could see a rectifier bridge (it is used to convert AC current to DC), transformer, resistors, capacitors, chips and more. Which was helpful. If you have no such background, then before attempting a hardware reverse engineering project, you can use LLMs to learn the basics of electronics.
So, the board in question looks like below. First image shows the board from the top, and second image shows the board when it is placed on the lamp and it looks transparent to see the traces (wires) on the back side of it.
So, when you look at the left-hand side part of the left image you can see a white connector which connects to the AC power cord. Then it goes through the fuse just above it and connects to the black choke coils. It in turn connects to a bridge rectifier. Then it goes to a capacitor. After this I didn’t know what the circuit was doing exactly, though I could see a 8 pins Integrated Circuit (IC), a transformer with a yellow tape around it. More diodes, resistors, caps and a white output connector.
What was helpful was that the board had good markings explaining various components. This is a standard engineering practice. For example, R stands for Resistor, L stands for Inductor, C stands for Capacitor, D stands for a Diode, U stands for an Integrated Circuit (chip), Q stands for Transistor, J stands for a Connectors, F stands for Fuse.
I had an idea to upload an image of the board on the left in Windows Copilot and I did just that. GPT was able right away to tell that fuse was there, the transformer was there and it could recognize other parts too. It was also able to understand that it was a Switched-Mode Power Supply of a flyback type. So I started to provide it with information about the capacitor I wanted to replace, in particular that it was connected to the GND output pin. I also provided it with the pinout of the output connector and it was able to infer from it that there were two +5 V pins connected together which was correct.
But the most surprising part was that GPT was able to infer that there should have been a feedback loop implemented with optocoupler marked as PC817, which I was able later to identify on the board. Then it was able to infer that the 8 pin chip was most probably Pulse Width Modulation (PWM) controller and that it should have been connected to power transistor. Looking at the specification of that DM1203 chip I was able to confirm that it came with power transistor built-in shown in the diagram for the spec below.
In the end GPT taught me that the output from the PWM controller should be connected to the snubber capacitor
In the end after back end forth with the GPT it was able to provide me with the description of the schematics of the board. Since I don’t have a history of my prompts at this time I tried to recreate in a concise manner my interaction with LLM. In the case below I provided two images and not one, and a detailed description of the board. LLM was able to exhibit very detailed understanding of what were the components on the board and how it worked.
Prompt: I have the Switched Mode Power Supply board with following components PWM controller DM1203, optocoupler PC817, transformer with 12V and 5V output, smoothing capacitors at the output and the following pinout of the connector: -12V, GND, 12V, GND, +5V, +5V. Also attached come two images of the board: one front and one transparent that shows traces on the board. How about you provide me with the description of this board
Response from GPT-5 Board Overview
This is a flyback switched-mode power supply (SMPS) built around the DM1203 PWM controller IC. It takes AC mains input, rectifies and filters it, then uses a transformer to generate isolated DC outputs: +5V, +12V, and –12V. Regulation is achieved through an optocoupler (PC817) and a TL431 reference.
⚡ Input Stage
Fuse (F2AL250V): Protects against overcurrent.
NTC thermistor: Limits inrush current when first powered on.
Bridge rectifier (D9–D12): Converts AC mains to high-voltage DC.
Bulk capacitor (large electrolytic, ~220µF/400V): Smooths the rectified DC.
EMI filter (C1, C2, L1): Reduces conducted noise back into the mains.
Transformer (EE-25 core): Stores energy during switch ON time, releases it to secondary when OFF.
Snubber network: A 10nF/1kV capacitor (103) in series with a 47kΩ resistor across the primary winding — absorbs voltage spikes caused by leakage inductance.
Startup/VCC capacitor: Provides supply to the DM1203 once oscillation begins.
⚙️ Secondary Side (Low Voltage Outputs)
Rectifier diodes: Fast recovery or Schottky diodes on each secondary winding.
Filter capacitors: Large electrolytics (e.g., 470µF/16V) smooth the DC outputs.
Inductors/ferrite beads: Further reduce ripple and noise.
Outputs provided:
+5V (two pins)
+12V
–12V
Ground (two pins)
🔁 Feedback & Regulation
Voltage divider (resistors): Scales the +5V output down to 2.5V.
TL431 shunt regulator: Compares scaled voltage to its 2.5V reference.
PC817 optocoupler: Transfers the error signal across isolation barrier to the DM1203’s FB pin.
FB pin capacitor (1nF–10nF): Stabilizes the feedback loop.
This ensures the +5V rail is tightly regulated, while the ±12V rails are “cross-regulated” (their accuracy depends on transformer design and load balance).
🧠 Functional Summary
AC mains → rectified to ~300V DC.
DM1203 chops this DC at ~65kHz into the transformer.
Transformer provides isolated secondary voltages.
Diodes + capacitors filter into smooth DC rails.
TL431 + PC817 feedback loop keeps +5V stable.
Snubber protects the switch from voltage spikes.
👉 In short: this board is a multi-output flyback SMPS designed for small electronic equipment, giving you isolated +5V, +12V, and –12V rails with the +5V as the regulated “master” output.
Would you like me to redraw this description into a clean block diagram (showing input → primary → transformer → secondary → feedback) so you can visualize the flow more easily?
You can tell that it’s quite amazing what LLM was capable of looking at the description above.
I’ve followed up and asked it to provide a block diagram too:
Prompt: sure block diagram is good
Response from GPT-5:
Parting thoughts
So there you have it Windows Copilot using GPT-5 model in particular is capable of being a patient super skillful engineer that could help you with hardware reverse engineering on demand. You only need some basic understanding of the subject you’d like to explore and a curiosity to try new things.
Bonus
After I’ve replaced the leaked capacitor with a new one and the DVD player works again.
Recently, I’ve read the Remembrance of Earth’s Past trilogy by Chinese author Cixin Liu and was very much impressed by it. This in turn awakened my fascination with hard science fiction and development of creative imagination. What I mean by creative imagination development is a technique that was promoted by Genrikh Altshuller who was inventor, sci-fi writer and the creator of The Theory of Inventive problem Solving (TRIZ). To provide some context that creative imagination development technique was conceived by Altshuller with the help of his students, such Pavel Amnuel, who himself is a prolific si-fi writer and astrophysicist.
Since I am interested in topic of guided inventions which Genrikh Altshuller was written about I intend to write a number of post related to how hard sci-fi ideas can be purposefully engineered, using the tools of creative imagination development technique.
“Find me papers that look at what happens to ketones while in ketosis. What interests me is how much energy lost with acetone and acetoacetate while in ketosis.“
The reply is below
🌟 Exploring Energy Loss During Ketosis: The Role of Acetone and Acetoacetate🌟
When our bodies enter ketosis—often due to low carbohydrate intake or fasting—we begin producing ketone bodies as alternative fuel sources. The primary ketone bodies are:
Beta-Hydroxybutyrate (BHB)
Acetoacetate (AcAc)
Acetone
While these molecules serve as vital energy sources, not all are utilized efficiently, leading to some energy loss. Here’s how it happens:
🔹 Energy Loss Through Ketone Excretion
1. Acetone Exhalation
Formation: Acetone is produced from the spontaneous decarboxylation of acetoacetate.
Excretion: Being volatile, acetone is exhaled through the lungs and also lost via urine and sweat.
Energy Implications: The exhaled acetone contains caloric energy that the body doesn’t recover—this represents direct energy loss.
2. Urinary Excretion of Acetoacetate and BHB
Renal Handling: The kidneys filter blood ketone bodies, reabsorbing most but not all. Excess ketones are excreted in the urine.
Energy Implications: The energy in these excreted ketones is also lost to the body. During high ketone production, urinary losses can be significant.
🔹 Key Research Findings
• Magnitude of Energy Loss
Quantitative Estimates: Energy loss through ketone excretion can range from 50 to 100 kilocalories per day in individuals in ketosis.
Influencing Factors: Depth of ketosis, metabolic rates, and kidney function affect the extent of ketone loss.
• Metabolic Adaptations Over Time
Increased Efficiency: With prolonged ketosis, the body adapts—kidneys enhance ketone reabsorption, and tissues improve ketone utilization, reducing losses.
Reduced Acetone Production: The body produces less acetone over time, minimizing exhaled energy loss.
• Clinical Contexts
Diabetes Mellitus: In uncontrolled type 1 diabetes, ketone production surges, and energy loss through excretion becomes more pronounced, contributing to weight loss.
Ketogenic Diets: Initial ketone losses are higher but tend to decrease as the body adapts to ketosis.
🔹 Understanding the Energy Calculations
• Caloric Content of Ketone Bodies
Beta-Hydroxybutyrate and Acetoacetate: Approximately 4.5 kcal per gram.
Acetone: While not a significant energy source, its loss still represents unused potential energy.
• Estimating Daily Losses
Urinary Ketones: Losing 10 grams of ketones via urine equates to about 45 kcal lost per day.
Exhaled Acetone: Though smaller in quantity, exhaled acetone adds to the total energy deficit.
🔹 Implications of Ketone Energy Loss
• Weight Management
Contributing Factor: Inefficient ketone utilization and subsequent energy loss may aid in weight loss by creating a caloric deficit.
Dietary Adjustments: Understanding this loss can help calibrate caloric intake for those on ketogenic diets.
• Metabolic Health
Efficiency Over Time: As the body adapts and reduces energy loss, dietary adjustments may be necessary to maintain weight loss momentum.
Monitoring Ketosis Levels: Regular testing of blood or urine ketone levels can inform about the state of ketosis and metabolic efficiency.
🔹 Additional Insights
• Breath Acetone as a Marker
Non-Invasive Monitoring: Breath acetone levels correlate with blood ketone levels, offering a convenient way to monitor ketosis.
Research Utilization: Used to estimate acetone production and associated energy loss.
• Ketone Metabolism Beyond Energy
Signaling Molecules: Ketone bodies play roles in gene expression, inflammation, and oxidative stress.
Therapeutic Potential: Minimizing unnecessary energy loss can enhance the benefits of ketogenic diets, especially in medical conditions like epilepsy or metabolic disorders.
🔹 Connecting the Dots
The loss of energy through acetone exhalation and acetoacetate excretion during ketosis, while seemingly minor, has meaningful implications:
Metabolic Efficiency: Highlights the balance the body achieves between utilizing alternative energy sources and conserving energy.
Dietary Planning: Emphasizes the importance of adjusting nutritional strategies as the body’s adaptation to ketosis evolves.
Health Outcomes: Offers insights that could improve interventions for metabolic diseases, weight management, and overall well-being.
Understanding the nuances of ketone metabolism and energy loss showcases the body’s remarkable adaptability! Whether for personal health goals or academic interest, delving into this area uncovers the intricate interplay between diet, metabolism, and energy utilization. 🌟
There are a number of ways to enter ketosis state.
First approach is to do it natively When you fast or follow a ketogenic diet (with less than 50 gr of carbs in a day) liver glycogen becomes depleted at some point and liver starts to convert fats (free fatty acids) into ketones.
There are three ketone types in the body: 1. Beta Hydroxybutyrate – BHB a primary fuel for the body 2. Acetoacetate – used for energy to a less extent (expelled in urine)
3. Acetone (isn’t used for energy and expelled in breath and urine)
Second approach is to take a supplement
It is also possible to enter into ketosis by taking supplements. There are three main types of them:
MCT Oil (or MCT Oil Powder) which stands for Medium Chain Triglycerides oil. It’s a purified Coconut Oil that retains only C8 and C10 fractions that are metabolized in the liver to ketones.
Ketone salts, use Potassium, Calcium, Magnesium, Sodium salts combined with BHB ketones.
Ketone esters which are a type of chemical compound that is converted to ketones and provides high level of ketosis in comparison to ketone salts and the effect of taking them lasts for hours, while ketone salts last for an hour or so.
My experimenting with exogenous ketones
The above mentioned supplements are known as exogenous (external) ketones since they can induce exogenous ketosis independent of the diet. It means that even though you may eat carbs and hence insulin level will be high you still will get into ketosis taking such supplements.
I’ve been taking MCT Oil, MCT Oil Powder, Ketone salts for months. So today I’ve decided to make a cocktail of all of them at once and see what happens.
Experiment setup On 14th hour of the fast I am mixing in 250 ml of carbonated water the following compounds:
9 grams of MCT Oil (I took 1 tablespoon of MCT Oil which is about 10 ml)
11 grams of MCT Oil Powder that contains 6 grams of MCT Oil.
9 grams of Potassium D-BHB ketones salt that contains about 6.5 gr of BHB ketones.
One tablespoon of Raw Apple Cider Vinegar (about 10 ml)
In total:
15 grams of MCT Oil,
6.5 grams of BHB ketones.
This cocktail should bring my Acetone ketone level in breath which I can measure to about 0.5 mmol/l.
Notice A better and more exact way to measure ketones would be to measure BHB ketones concentration in blood using Blood Ketone Meter.
If you haven’t felt what ketosis is then the best way to do it is to use exogenous (external) ketones. For example, you can take about 10 grams of the Potassium BHB ketones salt that I periodically use to enter ketosis.
After taking 10 grams in a fasted state (about 14 hours into fast) it takes about 15 minutes to enter ketosis. And at the peak it reaches about 0.5 mmol/l of Acetone ketone in the breath.
Pay attention, that exogenously induce ketosis doesn’t feel that good. You may experience a light headache and overall feeling of discomfort. What is interesting during prolonged fasts of 40 hours long I haven’t felt discomfort to the same extent that exogenous ketosis caused.
Also, the physiology of exogenously induced ketosis is very different than the endogenous (native) one that happens during prolonged fasting.
The main difference being fat mobilization: endogenous ketosis happens when free fatty acid released from fat storage are turned into ketones, while during exogenous ketosis no fat is mobilized and to the contrary fat usage is inhibited.
So there you have it, exogenous ketosis is just 15 minutes away, but it wont’ help you lose weight. It can definitely help in preventing, or slowing down early onset of dementia, it can help reduce epilepsy seizers, and can improve sport performance though.
According to Carbohydrate-Insulin Model of obesity we gain weight when we consume food high in carbohydrates that causes insulin level to stay high thus promoting fat storage and preventing fat mobilization. This in turn causes us to eat more, for we didn’t get energy for our cells, but stored it in fat cells instead.
So, to lose weight there is a need to stop eating such foods by switching to low-carbs or ketogenic diet to lower insulin level. And, we can try intermittent fasting which can lower insulin since when you don’t eat anything insulin level goes down. Physical activity like walking, running, resistance training can be helpful too, by mobilizing free fatty acids from fat cells.
Then the question is there a similar approach applicable to social media apps addiction, such as frequently checking facebook, YouTube, X and other websites? Not only they distract us from performing any meaningful activity for prolonged period of time they also develop a kind of uneasiness and stress. The same applies to work apps like MS Teams etc., that easily distract you from whatever activity you are trying to do by messages, meetings, emails etc.
I am not sure about the work environment case, but I think it’s possible to confront this issue in a private space, by applying fasting approach to facebook, x, youtube etc. Even though I find x useful, for it contains useful information about, papers, books, interesting talks, most of the time it is very effective in wasting your time. The issue is that that time wasted while browsing, watching social media content can be invested in reading papers, books, and thinking.
Indeed, it feels like the main purpose of engaging in social media and social media itself is to prevent us from thinking about anything, for there is no time to stop and think since there is a need to scroll, click and consume the content. No energy is left to think why we are consuming the content and is it distracting, useless or even harmful in any way, like ultra processed food is.
So, one of the solutions is to abstain from social media for significant periods of time and using that free time to read paper books, printed scientific papers, to write your thoughts in a journal, and generally think about anything. I am not sure that 16/8 is applicable here especially, when your work includes working on a computer, but after the work such time off the digital realm seems crucial to be able to make any progress in a real physical world.