kogir 1 day ago

  Another example for all you computer folks out there: ultimately, all software
  engineering is just moving electrons around. But imagine how hard your job would
  be if you could only talk about electrons moving around. No arrays, stacks,
  nodes, graphs, algorithms—just those lil negatively charged bois and their 
  comings and goings.
I think this too easily skips over the fact that the abstractions are based on a knowledge of how things actually work - known with certainty. Nobody in CS is approaching the computer as an entirely black box and making up how they think or hope it works. When people don't know how the computer actually works, their code is wrong - they get bugs and vulnerabilities they don't understand and can't explain.

9
gchamonlive 1 day ago

> When people don't know how the computer actually works, their code is wrong - they get bugs and vulnerabilities they don't understand and can't explain.

While this is true, we're usually targeting a platform, either x86 or arm64, that are incredibly complex pieces of engineering. Unless you are in the IoT or your application requires you to optimize at the hardware level, we're so distant from the hardware when we're programming in python for instance that the level of awareness required about the hardware isn't that much more complicated than the basic Turing machine.

quadhome 17 hours ago

Physical latencies in distributed systems design. Calibration for input devices. Block storage failures and RAID in general. Monitor refresh rates. Almost everything about audio. Rowhammer.

manugo4 1 day ago

No, red is an abstraction that is not based on knowledge of how colors work.

ysofunny 1 day ago

it is an abstraction based on how our biological eyes work (this implies "knowledge" of physics)

so it is indirectly based on knowledge of how color works, it's simply not physics as we understand it but it's "physics" as the biology of the eye "understands" it.

red is an abstraction whose connection to how colors work is itself another abstraction, but of a much deeper complexity than 'red' which is a rather direct abstraction as far as abstraction can go nowadays

xboxnolifes 1 day ago

There is absolutely no knowledge needed for someone to point to something that is red and say "this is red" and then for you to associate things that roughly resemble that color to be red.

Understanding the underlying concepts is irrelevant.

Finbel 1 day ago

Except I could think they mean the name of the thing, the size of the thing or a million other things. Especially if i have no knowledge of the underlying concept of colors.

lo_zamoyski 1 day ago

"How colors work" is dubious.

In physics, color has been redefined as a surface reflectance property with an experiential artefact as a mental correlate. But this understanding is the result of the assumptions made by Cartesian dualism. That is, Cartesian dualism doesn't prove that color as we commonly understand it doesn't exist in the world, only in the mind. No, it defines it to be the case. Res extensa is defined as colorless; the res cogitans then functions like a rug under which we can sweep the inexplicable phenomenon of color as we commonly understand it. We have a res cogitans of the gaps!

Of course, materialists deny the existence of spooky res cogitans, admitting the existence of only res extensa. This puts them in a rather embarrassing situation, more awkward that the Cartesian dualist, because now they cannot explain how the color they've defined as an artefact of consciousness can exist in a universe of pure res extensa. It's not supposed to be there! This is an example of the problem of qualia.

So you are faced with either revising your view of matter to allow for it to possess properties like color as we commonly understand them, or insanity. The eliminativists have chosen the latter.

jchanimal 1 day ago

Love your perspective. It reminds me of this argument I’m working on about Turing machine qualia. Maybe my argument is just Searle in disguise? https://x.com/jchris/status/1815379571736551923?s=46&t=8A60w...

ajross 1 day ago

There's no definition for "color" in physics. Physics does quantum electrodynamics. Chemistry then uses that to provides an abstracted mechanism for understanding molecular absorption spectra. Biology then points out that those "pigments" are present in eyes, and that they can drive nerve signals to brains.

Only once you're at the eye level does anyone start talking about "color". And yes, they define it by going back to physics and deciding on some representative spectra for "primary" colors (c.f. CIE 1931).

Point being: everything is an abstraction. Everything builds on everything else. There are no simple ideas at the top of the stack.

lo_zamoyski 1 day ago

> There's no definition for "color" in physics.

This is unnecessarily pedantic. Your explanation demonstrates that.

> There are no simple ideas at the top of the stack.

I don't know what a "simple idea" is here, or what an abstraction is in this context. The latter has a technical meaning in computer science which is related to formalism, but in the context of physical phenomena, I don't know. It smells of reductionism, which is incoherent [0].

[0] https://firstthings.com/aristotle-call-your-office/

ffwd 1 day ago

> To untutored common sense, the natural world is filled with irreducibly different kinds of objects and qualities: people; dogs and cats; trees and flowers; rocks, dirt, and water; colors, odors, sounds; heat and cold; meanings and purposes.

It's too early to declare that there are irreducible things in the universe. All of those things mentioned are created in the brain and we don't know how the brain works, or consciousness. We can't declare victory on a topic we don't fully understand. It's also a dubious notion to say things are irreducible when it's quite clear all of those things come from a single place (the brain), of which we don't have a clear understanding.

We know some things like the brain and the nervous system operate at a certain macro level in the universe, and so all it observes are ensembles of macro states, it doesn't observe the universe at the micro level, it's then quite natural that all the knowledge and theories it develops are on this macro scopic / ensemble level imo. The mystery of this is still unsolved.

Also regarding the physics itself, we know that due to the laws of physics, the universe tends to cluster physical matter together into bigger objects, like planets, birds, whatever. But those objects could be described as repeating patterns in the physical matter, and that this repeating nature causes them to behave as if they do have a purpose. The purpose is in the repetition. This is totally inline with reductionism.

ajross 18 hours ago

> I don't know what a "simple idea" is here

To be blunt: it's whatever was in your head when you decided to handwave-away science in your upthread comment in favor of whatever nonsense you wanted to say about "Cartesian dualism".

No, that doesn't work. If you want to discount what science has to say you need to meet it on its own turf and treat with the specifics. Color is a theory, and it's real, and fairly complicated, and Descartes frankly brought nothing to the table.

lo_zamoyski 1 day ago

Computer science has nothing to do with physical computing devices. Or rather, it has to do as much with computers as astronomy has to do with telescopes. You can do it all on paper. The computing device doesn't afford you anything new, but scale and speed for simulating the mechanical work doing it on paper would. Electrons are irrelevant. They are as relevant to computer science as the species of tree from which the wood in your pencil comes from is relevant to math.

Obviously, being able to use a computer is useful, just as using a telescope is useful or being able to use a pencil is useful, but it's not what CS or software engineering are about. Software is not a phenomenon of the physical device. The device merely simulates the software.

This "centering" of the computing device is a disease that plagues many people.

jtbayly 1 day ago

Plenty of programmers know nothing about electrons. Think kids.

Most programmers never think once about electrons. They know how things work at a much higher level than that.

bluGill 1 day ago

That only works because some EE has ensured the abstractions we care about work. You don't need to know everything, you just need to ensure that everything is known well enough by someone all the way down.

DontchaKnowit 1 day ago

Yeah? So what. Theyre still using abstractions that were created by people who know about electrons.

jemmyw 1 day ago

It doesn't skip over it. First this is an example and not the primary thing it's talking about. But secondly, just above, the article states that some lower level knowledge is necessary in the transit example. If you map those things, as written by someone who, as they say, isn't they knowledgeable about programming, then they make sense without diving into the specific.

growlNark 1 day ago

> I think this too easily skips over the fact that the abstractions are based on a knowledge of how things actually work - known with certainty.

models ≠ knowledge, and a high degree of certainty is not certainty. This is tiring.

AIPedant 21 hours ago

This seems like a misreading of the comment. The models and knowledge of arrays, classes, etc, are known with "arbitrarily high" certainty because they were designed by humans, using native instruction sets which were also designed by humans. Even if this knowledge is specialized, it is readily available. OTOH nobody has a clue how neurons actually work, nobody has a working model of the simplest animal brains, and any supposed model of the human mind is at best unfalsifiable. There's a categorical epistemic difference.

achierius 1 day ago

But doesn't this argument defeat itself? We cannot, a priori, know very much at all about the world. There is very, very little we can "know" with certainty -- that's the whole reason Descarte resorted to the whole cogito argument in the first place. You and GP just choose different lines to draw.

growlNark 1 day ago

Yes, I agree completely. I think the apriori/aposteriori distinction is always worth making though.

This really does matter a lot more when floating signifiers get involved; I'm not actually contesting that our models of electrical engineering model reality quite well.

inglor_cz 1 day ago

For me, a computer is at best semi-transparent.

I can rely on a TCP socket guaranteeing delivery, but I am not very well versed in the algorithms that guarantee that, and I would be completely out of my depth if I had to explain the inner workings of the silicon underneath.

pimlottc 1 day ago

> Nobody in CS is approaching the computer as an entirely black box and making up how they think or hope it works.

Haven't you heard about vibe coding?

ImHereToVote 1 day ago

"Nobody in CS is approaching the computer as an entirely black box and making up how they think or hope it works."

That is literally how we approach transformers.

danielmarkbruce 1 day ago

Who is "we"? Lot's of people (including me) know how how transformers work. Just because we can't do all the math in our head quickly enough to train a model or run inference mentally, doesn't mean we don't know mechanically how they work.

ImHereToVote 1 day ago

We know how they are trained. We just don't know how the trained model works, since the program is emergent.

danielmarkbruce 21 hours ago

Lol, we also know how inference works. The fact that LLMs turned about to be surprisingly effective doesn't mean we don't know how it works. There are many fields where we know the underlying physics and it's just difficult to actually predict real world results because there are so many calculations. What's next, you are going to tell an aerospace engineer that flight is "emergent" because we need to run simulations or experiments?

ImHereToVote 18 hours ago

The actual program is a black box. We have been able to dissect some details but the whole system is hard to understand. The program is grown more than developed. Understanding the concept of inference doesn't help you much.

danielmarkbruce 17 hours ago

"the program" is some silly abstraction you've made up. If you don't understand the underlying mathematical operations that's fine, but many of use do. And they aren't that complicated in the grand scheme.

Every complex system is hard to understand due to the number of variables v human working memory.

ImHereToVote 5 hours ago

This is like saying that understanding water phase changes makes you competent at ice skating. You know what I'm talking about.