[HN Gopher] THAT: A brand new analog computer
___________________________________________________________________
THAT: A brand new analog computer
Author : CharlesW
Score : 202 points
Date : 2023-12-28 20:57 UTC (2 days ago)
(HTM) web link (spectrum.ieee.org)
(TXT) w3m dump (spectrum.ieee.org)
| aappleby wrote:
| My partner got me one for Christmas after I had oooed and aaaahed
| over a prototype I saw once.
|
| It is a fun and well-made toy, and it feels brain-stretchy in a
| good way to try and understand how the examples work.
| sgu999 wrote:
| Is this showing up here because of a comment made about analog
| computers on that USB-C charger post? [1] Spending a bit too much
| time here, I keep on seeing what seems like logical connections
| in-between comments and posts over a few days. But I guess I may
| have overlooked this if I didn't read about it a couple days ago.
|
| Anyway, I'm now intrigued enough to consider buying one.
|
| [1] https://news.ycombinator.com/item?id=38778943
| codezero wrote:
| It's a common karma harvesting technique but also a good way to
| get good content onto the front page. I often submit links I
| see in comments and they tend to get a lot of upvotes because
| others who think it's interesting submit the link too, and the
| first submission gets an automatic upvote when others submit
| it.
| pests wrote:
| My first thought too, and most likely. I wouldn't say there is
| anything ill-intent about it, just people finding
| subdiscussions interesting themselves.
| CharlesW wrote:
| Submitter here! I hadn't seen the post you linked to. This one
| originally disappeared immediately, but moderators thought it
| was interesting enough to pluck from the second chance pool.
| https://news.ycombinator.com/item?id=26998308
| jamesmurdza wrote:
| Cool. I've been reading about analog computers recently, and
| here's a little history:
|
| 1936: Water integrator, used in USSR until the '80s:
| https://en.wikipedia.org/wiki/Water_integrator
|
| 1940s: Torpedo Data Computer:
| https://en.wikipedia.org/wiki/Torpedo_Data_Computer
|
| 1949: MONIAC, another water integrator:
| https://en.wikipedia.org/wiki/Phillips_Machine
|
| 1960s: Scanimate, of which there are still a couple in use:
| https://en.wikipedia.org/wiki/Scanimate
|
| Modern day: Slime molds, other biocomputers, and domino computer:
| https://youtu.be/OpLU__bhu2w
|
| And of course, quantum computers.
| pkaye wrote:
| US Navy Mechanical Computer training film from 1953.
|
| https://www.youtube.com/watch?v=s1i-dnAH9Y4
| bee_rider wrote:
| I love the care that goes into the presentation in these old
| videos.
|
| Slow, with plenty of breaks to let your brain catch up,
| usually filled with a nice graphical example to keep your
| bring churning. Plenty of "why" explanation, in the
| beginning. Authoritative, but not condescending. Just the
| right amount of jargon.
| alexott wrote:
| There are also pneumatic computers. Here is the recent article:
| https://cacm.acm.org/news/275366-pneumatic-computing-
| gains-a..., but I remember (around 30 years ago) mentions of
| them in the field of nuclear reactors...
| acidburnNSA wrote:
| Here's one from the 1960s used to determine the power
| coefficient of reactivity for a sodium-cooled graphite
| moderated reactor in Nebraska.
|
| https://babel.hathitrust.org/cgi/pt?id=mdp.39015095040682&vi...
| bjelkeman-again wrote:
| A very nice and funny demonstration of the Moniac.
| https://youtu.be/gkNaZJmii28?si=7SHd3R3xBFxc86HS
| corethree wrote:
| Quantum computing isn't an analog computer. It's not digital
| either but it's definitely not analog. It has this thing called
| qubits.
| AlexErrant wrote:
| Analog and digital quantum computing are distinct things
| https://www.quera.com/glossary/analog-quantum-computing
| zer00eyz wrote:
| Tides!
|
| https://en.wikipedia.org/wiki/Tide-predicting_machine
| snowpid wrote:
| anabrid, the computer behind THAT was funded by the German
| govt's DARPA:
|
| https://www.sprind.org/en/projects/ulmann/
| tibbon wrote:
| Can I connect this to my eurorack? Only kinda joking
| kgwxd wrote:
| Look Mum Analog Computer
| aappleby wrote:
| Yes
| ano-ther wrote:
| > Internally, the THAT represents quantities using a range
| between -10 and +10 volts.
|
| So it looks like you only need to attenuate that a bit to get
| to Eurorack voltages.
| atoav wrote:
| Nope that should be fine. Most eurorack modules run on +-12V
| rails, but the convention for output signals in the maximum
| +-10V range (with trigger signals at 10V).
| buescher wrote:
| Sure. You can think of a modular synthesizer as a domain-
| specific analog computer for audio signals.
| crazygringo wrote:
| Not knowing anything about the field, are there any practical
| uses left for analog computation? Is there anything they can do
| that isn't done just as effectively digitally by now?
| d_silin wrote:
| You can approximate low-precision digital operations with
| analog at better energy efficiency. https://mythic.ai/ is
| trying.
| einpoklum wrote:
| Potentially, lots! Whenever your computation allows for some
| small error, or is performed on fractional values (e.g.
| floating-point) - you could instead imagine doing it
| analogically. Think of the possibilities of zero-cost atomic
| addition in parallel, for example. Think about having "semi-
| real" neuronal responses instead of simulating neural network
| layers via precise binary computations. And then you can go
| into more exotic things like computing by wave interference
| patterns and such.
| bee_rider wrote:
| Is an analog computer more like a floating point operation,
| or more like a fixed-point operation (that is; not
| necessarily one without any decimal place, but maybe one
| without an exponent field)?
|
| IMO it is surprising fixed-point values don't come up more
| often... I think we've accidentally translated a hardware
| detail into our software. Floats are only necessary if we
| have huge dynamic range.
| einpoklum wrote:
| > more like a floating point ... or more like a fixed-point
| ... ?
|
| It really depends on what kind of analog hardware you use.
| Not exactly like either. You would different causes for
| error: Thermal, inherent indeterminism of interactions,
| decay/drift of value over time, boundary breaches with
| values near extrema, etc.
|
| > IMO it is surprising fixed-point values don't come up
| more often
|
| The C++ standard committee has seen a paper on adding those
| to the language, as a library feature: https://www.open-
| std.org/jtc1/sc22/wg21/docs/papers/2019/p00...
|
| There's a kind-of-popular fixed-point-math library for the
| language:
|
| https://github.com/MikeLankamp/fpm
|
| and I'm sure they have received some attention in other
| languages.
| atoav wrote:
| Adding to the other positives listed here another one is low
| latency. If you absolutely need to do it fast, analog computers
| are hard to beat.
| corethree wrote:
| No there are no practical uses other than speed and energy
| efficiency as analog computers can be fully simulated by
| digital computers today. There's no clock speed in analog
| computation. You feed in raw voltage into the inputs and you
| get the resulting voltage from the outputs. So it's literally
| the fastest possible result achievable with our current
| electrical technology.
|
| Analog computation is essentially functional programming.
|
| You have inputs and outputs and for your results have to think
| in terms of piping analog data through different compositions
| of functional primitives to achieve your desired output.
|
| There's no concept of "calling a function either" thus
| recursion is replaced with what we term as "feedback loops".
|
| Additionally all forms of computational state (aka memory)
| other then initial values will essentially be replaced by
| feedback loops. There's no discrete step to access a
| computational result in an analog computer thus in order to
| access a previous computational result the only way is to
| literally feed output back into the input. At least in typical
| functional programming you have a stack where you can store and
| access previous state. With analog computing the "purity" goes
| to the next level.
|
| Likely from this description you will see the obvious solution
| to this problem is some sort of hybrid machine that executes
| procedures but also stores and produces analog results. It
| doesn't exist yet but I feel it will look like an fpga. Maybe
| be call it an fpoa. Field programmable op amps.
| uticus wrote:
| As pointed out in another comment on this post [0], it would
| be an "FPAA," [1] and it has been manufactured.
|
| [0] https://news.ycombinator.com/item?id=38812160
|
| [1] https://en.m.wikipedia.org/wiki/Field-
| programmable_analog_ar...
| corethree wrote:
| Oh didn't know this.
| dahart wrote:
| Don't speed and efficiency make up the entire set of
| practical uses for digital computing? I don't know what it
| means to say "No there are no practical uses other than
| speed". That sounds like the answer summary is "Yes". ;)
|
| > There's no concept of "calling a function either"
|
| This is true for the THAT machine in the article, but your
| comment seems to be making a lot of assumptions about analog
| that aren't necessarily true. Digital computing is an
| abstraction over analog circuits, and it can be done at a
| higher level than, say, CMOS logic gates. We definitely do
| know how to build analog computers that have function calls.
| analog31 wrote:
| >>> Don't speed and efficiency make up the entire set of
| practical uses for digital computing?
|
| A couple more uses: First is "noise immunity:" The fact
| that you can perform a computation twice and get the same
| answer, and chain multiple processing steps together with
| no degradation. Though to be fair this includes digital
| computation by pencil and paper.
|
| Second, complex operations that simply can't be
| conceptualized in the analog domain.
| dahart wrote:
| You're totally right about chaining and repeated
| computations, however I think it's possible to do this
| with analog machines as well by factoring in threshold in
| and precision tolerances. Digital floating point has
| precision limits too, they're just a different kind (I'm
| referring to rounding, for example). I know that's not at
| all what you meant about noise, I'm just saying the
| bigger picture is that both digital and analog
| computation has limited precision, and both can have
| increased precision and can meet specific tolerances by
| adding more wires. Typical fp32 and especially fp64 has
| way higher precision than a typical single analog signal,
| but that doesn't mean that very high precision with
| analog isn't possible, it just means we don't often do
| it. The fundamental differences might be less black and
| white than you or the gp imagine.
| corethree wrote:
| >I think it's possible to do this with analog machines as
| well by factoring in threshold in and precision
| tolerances.
|
| With enough compositions even the smallest tolerances
| will add up. This presents a scaling problem in analog
| electronics. With the miniaturization of electronics into
| nano scale components this noise is even more prevalent.
|
| Additionally the way a transistor works it's just easier
| to use these things in saturation mode.
|
| And one more thing. Yes precision can be "equivalent" but
| exactness is not. An analog computer cannot represent the
| value 1 consistently. It essentially can never be
| precise. There will always be noise on the voltage. A
| digital computer has finite precision but it has exact
| finite precision.. so it can represent the exact integer
| 1. And you can increase precision arbitrarily by using
| more bytes up to the point where you use up all available
| bytes in memory. You don't technically have to use the
| default floating point values which have limited size.
| With an analog computer you cannot do this at all.
| dahart wrote:
| > With enough compositions even the smallest tolerances
| will add up.
|
| This is true of digital floating point too, chained
| compositions lose precision.
|
| > A digital computer has finite precision but it has
| exact finite precision.. so it can represent the exact
| integer 1.
|
| I'm not sure what you mean here exactly. Most real
| numbers cannot be represented exactly, and the idea of an
| exact number in digital integers and/or floating point
| still comes with a tolerance range. It's only possible to
| have an exact number by construction or a-priori
| knowledge, but not in general and especially not when
| processing input data. It is possible to have an "exact"
| analog number within a tolerance range.
|
| > With an analog computer you cannot do this at all.
|
| That's incorrect. It's true a single analog signal has
| noise and not incredible precision / resolution. That's
| not a limitation of analog computing in general, it's a
| limitation of choosing to use a single signal. _You don't
| have to use only a single signal._ If you used, say, one
| analog signal per decimal digit, you can have as much
| practical precision as you can afford digits /signals.
| Then it becomes a bit more "digital" but the math doesn't
| need to be implemented using gate logic. Digital lines
| also have analog noise, we just threshold and abstract it
| away. The line between digital and analog is always there
| but you can move it.
|
| It is possible with analog circuitry to quantize a signal
| and/or interpret and have an analog 'repeater' that will
| rectify the signal into the interpreted value, correcting
| for line noise. This way it's possible to do some amount
| of integer math without introducing noise into the
| result. This isn't common or particularly practical, but
| it does help clarify what analog and digital really mean.
|
| Hey you're right about these being common issues, and
| about the typical advantages of digital logic, you're
| just overstating the limitations and fundamental
| differences between digital and analog, and making
| assumptions about where that line is being drawn without
| considering all possibilities.
| buescher wrote:
| Analog circuits still have finite bandwidth and
| rise/response times. The engineering trade-offs are more
| complicated than the gp presents.
|
| The big but mixed advantage of an analog control loop or
| signal processing chain is "no software".
|
| There's no real reason to do simulations on an analog
| computer today, though I think using one for model-in-the-
| loop would be fun, and somebody is probably doing it
| somewhere.
| dahart wrote:
| Some people are building analog chip startups today
| because there are reasons to do analog computation. Among
| the applications are low-precision high-speed parallel
| math, neural networks, and image and audio processing.
| buescher wrote:
| Nothing new, really - from 1989:
|
| http://www.carvermead.caltech.edu/documents/Neural_Networ
| k_A...
|
| Synaptics and Foveon turned out OK.
| corethree wrote:
| > That sounds like the answer summary is "Yes". ;)
|
| Practically speaking digital computers are so fast that the
| simulation of analog is more or less the same. In gaming we
| run entire physics simulations and they are so fast they
| appear as analog. And these are for real time simulations.
| We can run simulations slower and at resolution beyond
| what's possible with analog.
|
| First analog would be limited by noise. So there's a limit
| with resolution here. Digital offers virtually unlimited
| resolution by using symbols to represent numbers. The
| advantage of analog here is that at the highest resolution
| of simulation possible with analog it will be faster than
| digital. That's all.
|
| >We definitely do know how to build analog computers that
| have function calls.
|
| No. A function call involves a stack and saving context
| onto that stack. An analog computer is a function in
| itself. There is no "call". I neglected to mention the
| "delay" from input to output as one replyer mentioned but
| that's just details. That would be the closest thing to
| memory since the delay means your accessing a result from
| the past.
| dahart wrote:
| A function "call" is a software abstraction. What you're
| calling a function call by defining it as stack based is
| a pure software abstraction. A stack is one way to
| implement functions, but not the only way.
|
| Capacitors can provide analog immediate access memory.
| Analog delay lines and feedback circuits can provide
| conceptually recursive functions, and those are common in
| analog circuits today.
|
| It's true that analog has limited precision, though no
| reason you can't represent higher precision via multiple
| analog signals, just like how digital requires more bits.
| All the rest of it still looks to me like you're making
| some incorrect assumptions about what's possible with
| analog circuitry.
| corethree wrote:
| A function call is indeed a software abstraction. Outside
| of software nobody "calls" functions at all. That was my
| entire point.
|
| In mathematics you have function application which is
| close to the idea of the function call. And this idea
| also doesn't exist in analog computing. Ironically,
| Mathematics does model what's going on in an analog
| computer on a field called signal processing. In signal
| processing it's called a transform.
|
| >It's true that analog has limited precision, though no
| reason you can't represent higher precision via multiple
| analog signals,
|
| You can't. The only way to do this with multiple signals
| is to make each signal represent a digit or a portion of
| digits of the final value. But if you did this you'd be
| going digital. You likely won't be doing binary but it's
| still digital.
| dahart wrote:
| > You can't
|
| Speak for yourself. ;) Depends on how you define
| "digital". Digital is typically defined as being based on
| logic gates, not necessarily anything to do with your
| representation of numbers. I say if your adder is built
| with op-amps and multiple lines, it's doing analog
| computation on digits, and it stays analog for longer
| than if you build it with CMOS gates.
|
| This distinction is important when you start making
| signal integrators or matrix multipliers or do other
| computations with analog components, for example.
| dimal wrote:
| This looks like so much fun. I'm into eurorack, too, and there's
| something about patching music that feels so much more conducive
| to creativity than making music with a computer. I have ideas
| that I'd never have any other way. And there's something about
| manually cobbling together an algorithm with your hands that is
| satisfying in a way that coding isn't. Gonna have to try this.
| alexb_ wrote:
| Looks interesting but - $520?? Five Hundred and Twenty
| Dollars????
| beezle wrote:
| I was just looking at the pricing... EUR 499 including vat and
| shipping.. but $520 to US, not including shipping?
| slim wrote:
| if you convert 499 euro you get 551 dollars. what's strange
| about it ?
| beezle wrote:
| Because I should not have to pay VAT
| szszrk wrote:
| Doesn't sound that weird at all, standard currency rate
| difference plus maybe some shipping difference.
|
| It's 515 EUR now for me.
| atoav wrote:
| Maybe you got no relation, but yep that is what the promised
| functionality would costs if you built it in analog and wanted
| to sell it with a markup that does not ruin you. If anything
| this is actually quite affordable.
|
| On first glance this product contains eight potentiometers and
| two encoders, knobs, 170+ connectors, patch cables, a display,
| various discrete summers, integrators and differentiators and
| verly likely power rail managment that is clean enough to do
| actual calculations with it.
|
| Maybe as a reality check try finding the cheapest price for 170
| connectors and 8 potentiometers with knobs ; )
| corethree wrote:
| The cost for one unit looks less then 100. Way less than 50
| even. Is it truly non profit?
| buescher wrote:
| I didn't see that they said it was non-profit, and besides,
| non-profit does not mean "no one gets paid". Compare the
| sale price of any modular synthesizer with a comparable
| number of gozintas and gozoutas to this and it looks only a
| little expensive. I'd guess Behringer could make one and
| sell it for about $300 give or take, but they have a lot
| more experience in product engineering, and buy in much
| higher volumes than I would expect these guys to.
|
| You could build a lot of hardwired op-amp circuits dead-bug
| style for $500, though, and have money left over for a base
| model Rigol scope and a no-name linear bench supply.
| klysm wrote:
| Is there an analog of an FPGA for analog computers? Or is that
| like what an analog computer is
| _kulang wrote:
| Differential analysers often had components which you would
| connect to model ODEs. I suppose it is like an FPGA but they
| weren't programmable
|
| It would be cool if analog computers could be miniaturised as
| digital computers were. Then maybe they could also be
| programmed, and you would have your answer
| klyrs wrote:
| Yes, and they're called FPAAs
|
| https://en.m.wikipedia.org/wiki/Field-programmable_analog_ar...
| klysm wrote:
| Cool! I feel like these could have nifty signal processing
| applications for hard real time systems.
| zoklet-enjoyer wrote:
| I'll wait for the Behringer clone
| kgwxd wrote:
| HA! OT but, did you see today's AudioPilz (Bad Gear) episode?
| zoklet-enjoyer wrote:
| I saw the notification from YouTube but haven't watched it
| yet. I got the TD-03 and RD-6 for my birthday present to
| myself last year. They're really fun!
| TaylorAlexander wrote:
| Actual photo of the device is here: https://the-analog-thing.org/
| shrubble wrote:
| Not sure if this would count as an analog simulation or not.https
| ://en.m.wikipedia.org/wiki/Mississippi_River_Basin_Mode.... It
| was more accurate than many digital computer models for quite
| some time...
| jiveturkey wrote:
| the article is new. the product dates to 2021
| anigbrowl wrote:
| Actually posted here 2 years ago, but inexplicably overlooked at
| the time. I had forgotten about this but am glad of the reminder,
| since in the meantime I've gotten into embedded systems and
| microcomputing thanks to the ESP32; this suddenly looks a lot
| more useful for prototyping. Their pro offering seems very
| expensive in an age of very affordable modular synth tools, but I
| guess you're paying for the linearity and calibration, which
| aren't always a priority in devices aimed at the musical market.
| internetter wrote:
| Interesting pitch from the company behind this here:
| https://analogparadigm.com/
|
| The company itself is working on making an analog chip, which is
| fascinating to me.
| jcpst wrote:
| We figured this out with guitar pedals. Analog circuits sound
| awesome. Taking one of these analog processors and layering a
| digital interface on top provides the best of both worlds. You
| can save presets, program the parameters using MIDI, etc.
| shermantanktop wrote:
| Analog data plane, digital control plane. Yeah, it's great for
| some circuits. Digital pots and other bridging tech doesn't
| always work well for some especially funky analog circuits,
| e.g. the Fuzz Face. OTOH, those circuits usually have one good
| setting anyway.
| ausbah wrote:
| i wonder how it will take for someone to chain these together and
| implement a neural network
| atoav wrote:
| Anybody into analog things might be tempted to think this is by
| THAT Corporation, a company that is loved both for its analog
| audio ICs and its application notes.
|
| But I could not find any link to rhe corporation.
| buescher wrote:
| Doesn't appear to be. Wait for the cease-and-desist I guess.
| The company is https://www.anabrid.com and they also have a
| very aesthetically appealing "professional" analog computer for
| teaching and "research", sort of like the old Comdyna units.
| corethree wrote:
| How safe is this? If I link two nodes that are wrong can I short
| something?
|
| From my experience with circuits you can break shit fast and I'm
| curious how easy it is to tinker without being careful like you
| can when programming.
| pringk02 wrote:
| small signal ins and outs like this should be perfectly safe.
| It's when you hook up power supplies without impedence to
| inputs that you have issues. You won't have access to that part
| of the circuit on the front panel
| uticus wrote:
| Related, with 130 comments: "The Analog Thing: an open source,
| educational, low-cost modern analog computer (the-analog-
| thing.org)"
|
| https://news.ycombinator.com/item?id=36165513
___________________________________________________________________
(page generated 2023-12-30 23:01 UTC)