I was a tube amp tech for several years, have built multiple guitar amps from scratch, and still dabble in it.
What may not be obvious is that modern tube amp designs are an evolutionary branch from 1930's technology, with only a little coming across from the transistor->digital tech tree. The amps of the 40s and 50s were pretty closely based on reference designs that came from RCA and other tube manufacturers.
Modern passive components (resistors, diodes and caps) are made to a far higher tolerance and are better understood, but tubes and transformers are a mixed bag. The older designs were somewhat overbuilt and can be more reliable or have tonal characteristics that are not available in modern parts.
Back when I was in Uni, so late 80s or early 90s, my dad was Project Manager on an Air Force project for a new F-111 flight simulator, when Australia upgraded the avionics on their F-111 fighter/bombers.
The sim cockpit had a spherical dome screen and a pair of Silicon Graphics Reality Engines. One of them projected an image across the entire screen at a relatively low resolution. The other projector was on a turret that pan/tilted with the pilot's helmet, and projected a high resolution image but only in a perhaps 1.5m circle directly in from of where the helmet was aimed.
It was super fun being the project manager's kid, and getting to "play with it" on weekends sometimes. You could see what was happening while wearing the helmet and sitting in the seat if you tried - mostly ny intentionally pointing your eyes in a different direction to your head - but when you were "flying around" it was totally believable, and it _looked_ like everything was high resolution. It was also fun watching other people fly it, and being able to see where they were looking, and where they weren't looking and the enemy was speaking up on them.
Aha! I used to work in film and was very close to the film scanning system.
When you scan in a film you need to dust bust it, and generally clean it up (because there are physical scars on the film from going through the projector. Theres also a shit tone of dust, that needs to be physically or digitally removed, ie "busted")
If you're unluckly you'll use a telecine machine, https://www.ebay.co.uk/itm/283479247780 which runs much faster, but has less time to dustbust and properly register the film (so it'll warp more)
However! that doesnt affect the colour. Those colour changes are deliberate and are a result of grading. Ie, a colourist has gone through and made changes to make each scene feel more effective. Ideally they'd alter the colour for emotion, but that depends on who's making the decision.
As someone who has been the target of an FBI investigation for what was effectively criminal copyright infringement (later arrested and did time in prison), my only takeaway is that this, if anything, should just be a civil suit just like so many other similar cases of copyright issues.
In my personal experience, the priorities of the FBI are typically highly politically motivated. The exceptions are if you’re doing something seriously icky, or doing fraud that deceives people.
For those interested in what’s reported and what actually happens, I’ve made some comments on my case and my experience here: https://prison.josh.mn
Interestingly, it took another 7 years for stack overflows to be taken seriously, despite a fairly complete proof of concept widely written about. For years, pretty much everybody slept on buffer overflows of all sorts; if you found an IFS expansion bug in an SUID, you'd only talk about it on hushed private mailing lists with vendor security contacts, but nobody gave a shit about overflows.
It was Thomas Lopatic and 8lgm that really lit a fire under this (though likely they were inspired by Morris' work). Lopatic wrote the first public modern stack overflow exploit, for HPUX NCSA httpd, in 1995. Later that year, 8lgm teased (but didn't publish --- which was a big departure for them) a remote stack overflow in Sendmail 8.6.12 (it's important to understand what a big deal Sendmail vectors were at the time).
That 8lgm tease was what set Dave Goldsmith, Elias Levy, San Mehat, and Pieter Zatko (and presumably a bunch of other people I just don't know) off POC'ing the first wave of public stack overflow vulnerabilities. In the 9-18 months surrounding that work, you could look at basically any piece of privileged code, be it a remote service or an SUID binary or a kernel driver, and instantly spot overflows. It was the popularization with model exploits and articles like "Smashing The Stack" that really raised the alarm people took seriously.
That 7 year gap is really wild when you think about it, because during that time period, during which people jealously guarded fairly dumb bugs, like an errant pipe filter input to the calendar manager service that run by default on SunOS shelling out to commands, you could have owned up literally any system on the Internet, so prevalent were the bugs. And people blew them off!
I wrote a thread about this on Twitter back in the day, and Neil Woods from 8lgm responded... with the 8.6.12 exploit!
My dad worked on the Space Shuttle main engine program in the 80s. One of the things they built was the turbopump [0], which generated 23,000HP (and could drain your average home swimming pool in one minute).
Seeing the test firings of the pump was pretty amazing, draining one "swimming pool" and filling another in a minute.
I implemented the same behavior in a different Google product.
I remember the PM working on this feature showing us their research on how iPhones rendered bars across different versions.
They had different spectrum ranges, one for each of maybe the last 3 iPhone versions at the time. And overlayed were lines that indicated the "breakpoints" where iPhones would show more bars.
And you could clearly see that on every release, iPhones were shifting the all the breakpoints more and more into the left, rendering more bars with less signal strength.
We tried to implement something that matched the most recent iPhone version.
Personal anecdote time, which enough time has passed that it can finally be told.
About 30 years ago, a family came down from the mountains near San Luis Obispo to ask whether my mother could teach them piano. They were an unusual family -- a mother and a number of children; apparently their father wouldn't leave his homestead up in the mountains. The children were all homeschoooled. They were perhaps a bit raggedy, but all quite brilliant and free-thinking, and quickly became excellent piano players. Our family became friends with theirs, and eventually we were invited to visit their homestead up in the mountains.
The homestead was an off-grid hand-built house and working organic dairy farm, lovingly stuffed to the rafters with various arts and crafts, including a large collection of medieval-style musical instruments which the patriarch of the family, Hal, had built by hand. Hal was an enigma within an enigma: he refused to talk about his past, looked like a Santa-clause mountain man, wouldn't engage with the outside world in person, but was relentlessly curious about it -- able to keep up with conversations about the latest in politics and technology. He also had a keen interest in the archaeology of the upper Colorado plateau, and soon we were making trips to the Cal Poly library to check out the latest archaeology books on his behalf. One day, on a whim, we looked for his name in the index of one of those books, and that's when we found out that we already knew who he was.
Haldon Chase[1] had been at the absolute epicenter of the Beat movement. He was the one who introduced Allen Ginsberg to Jack Kerouac, and most of the other Beats to each other. He'd gone by pseudonym "Chad King" in "On the Road". At the time he didn't have a Wikipedia entry, and at the time all anybody knew is that he had vanished at some point. Of course my family felt privileged to know the rest of the story.
Thinking now about Hal's life, in the few retrospectives I've seen of it, he's framed as having rejected the whole Beat lifestyle. I'm not sure that's accurate. In many ways the life he managed to carve out for himself was the apotheosis of much of the beat philosophy: genuinely free-thinking, self-reliant, non-conformist, creative, and in his way, spiritual. All very Beat. What he certainly rejected was the the limelight. The publicity, the drama, the ego. He wanted absolutely nothing to do with any of that. So he managed to get away and just live a good (if unconventional) life. His kids have all gone on to live really good, non-messed-up lives as well.
So when reading stories about messed-up Beats and their messed-up kids, it's worth considering that there's a kind of anti-survivor-bias at play: where everything worked out, where the trauma didn't explode dramatically or get passed down the generations, you're probably not going to hear about it.
I miss OS/2 a lot. For what it was at the time (intel, not ppc) it worked really well. When I was at Netscape, my build machine was OS/2 so I could do windows builds and still actually work. Machines then were much less capable than now, but I rarely had any bogging down of the system.
I've told this story before, but it's super relevant here. When I set up all the servers for reddit, I set them all to Arizona time. Arizona does not have DST, and is only one hour off of California (where we all were) for five months, and the same as here the rest of the year.
I didn't use UTC because subtracting eight when reading raw logs is a lot harder than subtracting one.
They use UTC now, which makes sense since they have a global workforce and log reading interfaces that can automatically change timezones on display.
Back in 2007, I published the first YouTube bypass of the Master Lock #175 (very common 4-digit code lock), using a paperclip.
After the video reached 1.5M views (over a couple years), the video was eventually demonetized (no official reason given). I suspect there was a similarly-frivolous DMCA / claim, but at that point in my life I didn't have any money (was worth negative) so I just accepted YouTube's ruling.
Eventually shut down the account, not wanting to help thieves bypass one of the most-common utility locks around — but definitely am in a position now where I understand that videos like mine and McNally's force manufacturers to actually improve their locks' securities/mechanisms.
It is lovely now to see that the tolerances on the #175 have been tightened enough that a paperclip no longer defeats the lock (at least non-destructively); but thin high-tensile picks still do the trick (of bypassing the lock) via the exact same mechanism.
Locks keep honest people honest, but to claim Master's products high security is inherently dishonest (e.g. in their advertising). Thievery is about ease of opportunity; if I were stealing from a jobsite with multiple lockboxes, the ones with Master locks would be attacked first (particularly wafer cylinders).
So I once brought down an alerting system using Excel
(btw, this story is more about unintended consequences instead of MSFT)
- I own an alerting system
- For log based alerts, it looks for a keyword e.g. "alert_log"
- I make a spreadsheet to track data about alerts and call one of the sheets "alert_log"
- Alert system starts going crazy: using tons of CPU, number of alerts processed goes through the roof but not a lot of alerts generated
- Turns out that I was using the cloud version of Excel so any text entered transited the firewall
- Firewall logs store the text "alert_log"
- Alert system thinks it's an alert BUT it's not a real alert so triggers an alert processing alert
- That second alert contains the text from the firewall log and so cycle begins
In other words, systems can operate in weird ways and then cause things to happen you didn't anticipate. It's why things like audits, red teaming and defense in depth all matter.
Fun fact: this is one of the few situations in the US where a prosecutor could claim that this is criminal speech (though I hope and trust they would not, and if it did it would get thrown out by any court respecting the First Amendment).
Not a civil issue, like libel or fraud, but the sort of talk that can get a policeman to come and drag you off to jail. If you've ever wondered why DRM is so roundly hated by engineers of a certain age, it's because not only it dumb makework that they are required to implement, not only is it extremely irritating to discover it interfering with your own computer, but if you do effectively point out how dumb, irritating, and eminently circumventable it is, they made it against the law to even tell anyone.
Way back in the 90s, I had a hacked satellite dish. This meant that I could get local channels from across the USA. My roommate used this for a school assignment. He looked at how much time local news spent on each topic, categorized by city. Here is what he found:
- All newscasts featured crime more than anything else ("if it bleeds it leads").
- All newscasts had a local feel-good story.
- All newscasts had weather (although East Coast and Midwest stations spent more time on it).
- All newscasts had a local sports update
But what was most interesting was what they spend the rest of their time on:
- In New York, it was mostly financial news.
- In Los Angeles it was mostly entertainment news.
- In San Francisco it was mostly tech related news
- In Chicago it was often manufacturing related.
That homework was really what drove home for me that the news is very cherry picked and I basically stopped watching after that.
In safety-critical systems, we distinguish between accidents (actual loss, e.g. lives, equipment, etc.) and hazardous states. The equation is
hazardous state + environmental conditions = accident
Since we can only control the system, and not its environment, we focus on preventing hazardous states, rather than accidents. If we can keep the system out of all hazardous states, we also avoid accidents. (Trying to prevent accidents while not paying attention to hazardous states amounts to relying on the environment always being on our side, and is bound to fail eventually.)
One such hazardous state we have defined in aviation is "less than N minutes of fuel remaining when landing". If an aircraft lands with less than N minutes of fuel on board, it would only have taken bad environmental conditions to make it crash, rather than land. Thus we design commercial aviation so that planes always have N minutes of fuel remaining when landing. If they don't, that's a big deal: they've entered a hazardous state, and we never want to see that. (I don't remember if N is 30 or 45 or 60 but somewhere in that region.)
For another example, one of my children loves playing around cliffs and rocks. Initially he was very keen on promising me that he wouldn't fall down. I explained the difference between accidents and hazardous states to him in childrens' terms, and he realised slowly that he cannot control whether or not he has an accident, so it's a bad idea to promise me that he won't have an accident. What he can control is whether or not bad environmental conditions lead to an accident, and he does that by keeping out of hazardous states. In this case, the hazardous state would be standing less than a child-height within a ledge when there is nobody below ready to catch. He can promise me to avoid that, and that satisfies me a lot more than a promise to not fall.
Tangential, but I practically owe my life to this guy. He wrote the flask mega tutorial in what I followed religiously to launch my first website. Then right before launch, in the most critical part of my entire application; piping a fragged file in flask. He answered my stackoverflow question, I put his fix live, and the site went viral. Here's the link for posterity's sake https://stackoverflow.com/a/34391304/4180276
I started out my automotive software career with Ford, and as part of the new college hire training program, I actually got to see the process of how "book rate" is determined. They take a brand new car, straight off the assembly line and give a master mechanic a process sheet (head gasket remove and replace, for instance). He has a tool cart with a computer next to it, about 6 feet away from the vehicle. For each step he starts a timer on the computer for that step, picks up the necessary ratchet and socket or whatever, loosens the next bolt, walks the ratchet and socket back to the tool box, puts it away and then finally stops the timer. He probably practices the procedure a few times before the timed run, but basically this prevents the company from setting the time to do a job super crazy low.
He's also not allowed to take any shortcuts from the book procedure, which there frequently are a few available (use a long wobble extension bar and a universal joint and you can get in without taking off all of the stuff above that bolt, whatever). On the other hand, this is the warranty rate (meaning new cars, largely less rust, etc). Independent/non-dealer mechanics will typically charge more time than the warranty time estimate from the manufacturer to account for things like rusty vehicles with harder to remove bolts and such, though this is usually in the rate book they subscribe to from whatever information source they pay for (warranty + 20% or so).
The issue is that the estimated time for a job is probably a high estimate for a brand new car and probably a low estimate for a several year old car, and the risk of that is on the dealership. The dealership then pays mechanics an hourly wage ($20+, fairly high for well certified master mechanics) and assumes that the hours listed on the job from the manufacturer are accurate, leaving the mechanic to take the risk if it goes over. Generally, the dealership loses on this proposition too, since they lose out on business/bay/electric/heat/etc for the lost time, so they don't like warranty work. They can upcharge/charge for more time/etc on a job for a customer, not for warranty repair due to contractual obligations to the OEM. This is particularly bad for Ford, since they currently lead the industry in recalls and warranty spend, meaning that their dealership networks are getting a lot more of that kind of work with limited profit and no ability to turn it down.
Hey guys, I learned electronics from a nobel laureate!
Throughout my physics career including PhD, analog electronics was the most difficult but probably also the most rewarding class to me. I fondly remember staying until 2am in broida at ucsb trying to get a filter to work, getting a few hours sleep, then being back in the lab before sunrise. Of course, this was mostly the result of procrastination, but damn were those good times.
One thing that really bothered me then was the idea of a current source. I was perfectly happy with a voltage source, perhaps naively(1). But a current source seemed magical. I was asking Martinis about this and he seemed dumbfounded that I didn't understand. Of course, the answer is feedback. And, of course, good voltage sources also require feedback. But he was so familiar with feedback control he didn't even consider saying that's whats happening, while I never even heard of controls.
Long story short, sometime later I asked to join his lab as an undergrad researcher. He said no, and to this day I think it's because I didn't understand current sources. Or maybe I was too late, or maybe the A- (see the aforementioned procrastination). That led me to asking a biophysicist, and therefore I became a biophysicist instead of condensed matter/QI/QC. In hindsight, I think this was fortunate. I would've never considered biophysics, which has been one of the loves of my life since then. Who knows, maybe I would've been just as happy with quantum stuff. I'm working through Mike and ike now and find it fascinating.
Funny enough, after my PhD, I co-founded a startup in industrial control & automation. Now I understand feedback quite well, and thus current sources, albeit many years too late.
(1) Of course, good voltage sources vary their resistance just like good current sources vary their voltage. My best guess as to the reason I was more bothered by the current sources is that I was so familiar with voltage sources with confidently claimed constant voltages (batteries). Not a very good reason, I should've questioned it more. In practice, it's much easier to make a near ideal voltage source (very high resistance) than a near ideal current source (0 resistance).
Hah, this is my time to shine. I worked in anime subtitling and timing for a number of years. I helped write our style guide — things like how to handle signs, overlapping dialogue, colors etc.
It wound up being quite a large document!
But the thing to realize here is that, all of these subs have to be placed by hand. There are AI tools that can help you match in and out times, but they have a difficult time matching English subs to Japanese dialogue. So what you have to do is have a human with some small grasp of Japanese place each of these in/out times by hand.
If you’re really good you can do one 25 minute episode in about 35 minutes. But that’s ONLY if you don’t spend any extra time coloring and moving the subs around the screen (as you would song and sign captions).
Elite tier subs can take up to two or even three or four hours per episode. That’s why the best subs, are always fan subs! Because a business will never put in 8x more time on an episodes subtitles than “bare minimum.”
Crunchy roll looks to have at least gone halfway for a while… but multiply those times across thousands of episodes over X years… and you can see why some manager somewhere finally decided 35 minutes was good enough.
I am in the Product world now, and I do think this was a bad move. Anime fans LOVE anime. The level of customer delight (and hate) in the anime industry is like no other. I really miss the excitement that my customers would get (and happily telegraph!) when I launched a product in those days. Which is all to say, you HAVE to factor delight into your product. Especially with a super fan base like you have in anime.
This is a solved problem. The answer is to add extra relevant information to the context as part of answering the user's prompt.
This is sometimes called RAG, for Retrieval Augmented Generation.
These days the most convincing way to do this is via tool calls.
Provide your LLM harness with a tool for running searches, and tell it to use that tool any time it needs additional information.
A good "reasoning" LLM like GPT-5 or Claude 4 can even handle contradictory pieces of information - they can run additional searches if they get back confusing results and work towards a resolution, or present "both sides" to the user if they were unable to figure it out themselves.
I’ve recently thrown out all my masking tape (crepe paper) in favor of Washi tape (rice/mulberry paper with a 3M adhesive). I use Blue Dolphin for house painting and Nichiban for airbrushing. Very nice quality of life upgrade.
Masking tape would bleed or lift paint. (Even frog tape). 10x reduction in these problems since switching to washi.
Thanks! HN was part of the origin story of the book in question.
In 2018 or 2019 I saw a comment here that said that most people don't appreciate the distinction between domains with low irreducible error that benefit from fancy models with complex decision boundaries (like computer vision) and domains with high irreducible error where such models don't add much value over something simple like logistic regression.
It's an obvious-in-retrospect observation, but it made me realize that this is the source of a lot of confusion and hype about AI (such as the idea that we can use it to predict crime accurately). I gave a talk elaborating on this point, which went viral, and then led to the book with my coauthor Sayash Kapoor. More surprisingly, despite being seemingly obvious it led to a productive research agenda.
While writing the book I spent a lot of time searching for that comment so that I could credit/thank the author, but never found it.
No you can just book a ticket like with all the others. Always buy a ticket online. Otherwise you'll be stuck in a queue. The Sagrada stopped doing on the spot visits because the queue was getting too long and Battló did as well. Only at la pedrera (or casa Milà as it's really called) can you still buy a ticket on site. But I wouldn't. You're just wasting your time waiting while all the prebooks go ahead of you.
Battló is the best one for me by far. I love the organic shapes and the light well and the soft wood etc. Wow
Here's a high level overview for a programmer audience (I'm listed as an author but my contributions were fairly minor):
[See specifics of the pipeline in Table 3 of the linked paper]
* There are 181 million ish essentially different Turing Machines with 5 states, first these were enumerated exhaustively
* Then, each machine was run for about 100 million steps. Of the 181 million, about 25% of them halt within this memany step, including the Champion, which ran for 47,176,870 steps before halting.
* This leaves 140 million machines which run for a long time.
So the question is: do those TMs run FOREVER, or have we just not run them long enough?
The goal of the BB challenge project was to answer this question. There is no universal algorithm that works on all TMs, so instead a series of (semi-)deciders were built. Each decider takes a TM, and (based on some proven heuristic) classifies it as either "definitely runs forever" or "maybe halts".
Four deciders ended up being used:
* Loops: run the TM for a while, and if it re-enters a previously-seen configuration, it definitely has to loop forever. Around 90% of machines do this or halt, so covers most.
6.01 million TMs remain.
* NGram CPS: abstractly simulates each TM, tracking a set of binary "n-grams" that are allowed to appear on each side. Computes an over-approximation of reachable states. If none of those abstract states enter the halting transition, then the original machine cannot halt either.
Covers 6.005 million TMs. Around 7000 TMs remain.
* RepWL: Attempts to derive counting rules that describe TM configurations. The NGram model can't "count", so this catches many machines whose patterns depend on parity. Covers 6557 TMs.
There are only a few hundred TMs left.
* FAR: Attempt to describe each TM's state as a regex/FSM.
* WFAR: like FAR but adds weighted edges, which allows some non-regular languages (like matching parentheses) to be described
* Sporadics: around 13 machines had complicated behavior that none of the previous deciders worked for. So hand-written proofs (later translated into Rocq) were written for these machines.
All of the deciders were eventually written in Rocq, which means that they are coupled with a formally-verified proof that they actually work as intended ("if this function returns True, then the corresponding mathematical TM must actually halt").
Hence, all 5-states TMs have been formally classified as halting or non-halting. The longest running halter is therefore the champion- it was already suspected to be the champion, but this proves that there wasn't any longer-running 5-state TM.
Having worked on non-linear simulators/ODE solvers off and on for a decade, I agree and disagree with what you're saying.
I agree with you that that is 100% the point: you don't already know what's going to happen and you're doing modelling and simulation because it's cheaper/safer to do simulation than it is to build and test the real physical system. Finding failure modes, unexpected instability and oscillations, code bugs, etc. is an absolutely fantastic output from simulations.
Where I disagree: you don't already know what's going to happen, but you DO know generally what is going to happen. If you don't have, at a minimum, an intuition for what's going to happen, you are going to have a very hard time distinguishing between "numerical instability with the simulation approach taken", "a bug in the simulation engine", "a model that isn't accurately capturing the physical phenomena", and "an unexpected instability in an otherwise reasonably-accurate model".
For the first really challenging simulation engine that I worked on early on in my career I was fortunate: the simulation itself needed to be accurate to 8-9 sig figs with nanosecond resolution, but I also had access to incredibly precise state snapshots from the real system (which was already built and on orbit) every 15 minutes. As I was developing the simulator, I was getting "reasonable" values out, but when I started comparing the results against the ground-truth snapshots I could quickly see "oh, it's out by 10 meters after 30 minutes of timesteps... there's got to be either a problem with the model or a numerical stability problem". Without that ground truth data, even just identifying that there were missing terms in the model would have been exceptionally challenging. In the end, the final term that needed to get added to the model was Solar Radiation Pressure; I wasn't taking into account the momentum transfer from the photons striking the SV and that was causing just enough error in the simulation that the results weren't quite correct.
Other simulations I've worked on were more focused on closed-loop control. There was a dynamics model and a control loop. Those can be deceptive to work on in a different way: the open-loop model can be surprisingly incorrect and a tuned closed-loop control system around the incorrect model can produce seemingly correct results. Those kinds of simulations can be quite difficult to debug as well, but if you have a decent intuition of the kinds of control forces that you aught to expect to come from the controller, you can generally figure out if it's a bad numerical simulation, bad model, or good model of a bad system... but without those kinds of gut feelings and maybe envelope math it's going to be challenging and it's going to be easy to trick yourself into thinking it's a good simulation.
I got a walkie talkie set as a Christmas present when I was 8. Which was kind of an evil thing to do given I had no siblings or friends to play with. One day I turned one set on and listened for a while and I thought I heard someone talking behind all the static noise. So I said something and was shocked to hear the voice talking back to me. Fast forward a few decades, next week is my wedding and that voice on the other side of the radio is my best man.
As a former and long smalltalker who learned MVC from the ParcPlace crowd…
I used to say things like this. M and V were always pretty unambiguous, but “controller” was kind of like “Christianity”, everyone talks like it’s a unifying thing, but then ends up having their very own thoughts about what exactly it is, and they’re wildly divergent.
One of the early ParcPlace engineers lamented that while MVC was cool, you always needed this thing at the top, where it all “came together” and the rules/distinctions got squishy. He called it the GluePuppy object. Every Ux kit I’ve played with over the years regardless of the currently in vogue lets-use-the-call-tree-to-mirror-the-view-tree, yesteryears MVVM, MVC, MVP, etc, always ends up with GluePuppy entities in them.
While on the subject, it would be remiss to not hat tip James Depseys MVC song at WWDC
“Mad props to the Smalltalk Crew” at 4:18, even though he’d just sung about a controller layer in cocoa that was what the dependency/events layers did in various smalltalks.
Way back when, I did a masters in physics. I learned a lot of math: vectors, a ton of linear algebra, thermodynamics (aka entropy), multi-variable and then tensor calculus.
This all turned out to be mostly irrelevant in my subsequent programming career.
Then LLMs came along and I wanted to learn how they work. Suddenly the physics training is directly useful again! Backprop is one big tensor calculus calculation, minimizing… entropy! Everything is matrix multiplications. Things are actually differentiable, unlike most of the rest of computer science.
It’s fun using this stuff again. All but the tensor calculus on curved spacetime, I haven’t had to reach for that yet.
What may not be obvious is that modern tube amp designs are an evolutionary branch from 1930's technology, with only a little coming across from the transistor->digital tech tree. The amps of the 40s and 50s were pretty closely based on reference designs that came from RCA and other tube manufacturers.
Modern passive components (resistors, diodes and caps) are made to a far higher tolerance and are better understood, but tubes and transformers are a mixed bag. The older designs were somewhat overbuilt and can be more reliable or have tonal characteristics that are not available in modern parts.