What’s a compsci (computer science) concept that still amazes you?

@nixCraft

Data over radio. That I can't hear. But just... exists. In the air. We're surrounded by it. Even when there is near silence. Like invisible 0s and 1s just flying every which way.

Radio waves in general as a science concept, let alone a computer science concept, is absolutely miracle shit.

@jezebelkat @nixCraft I do ham radio for a hobby. Once I had a conversation with a guy in Australia from my home in Atlanta. My output power was 100 W. I have lightbulbs that draw that much power. But somehow that's enough to wiggle the EM field and let someone halfway around the globe hear my voice. Absolutely magical.
@nixCraft
Most of cryptographic algorithms, i love cryptography, but because of big problems with math anything that not just "encrypt this with key X, decrypt this with key X" amazes me, because how, HOW YOU INVENTED SUCH A THING?
@WildPowerHammer @nixCraft they evidently should give us some brain cells
@nixCraft putting electricity into circuits etched into silicon and making it do… stuff!!
@nixCraft compilers written in the language they build.
@waynedixon @nixCraft seriously, self hosted compilers are mystical af. Ouroboros of compsci
@nixCraft cons cells being (conceptually) just lambdas all the way down
@nixCraft transistors. And how small they have become.
@nixCraft Every few years I have to go over Diffie-Hellman again to re-convince myself that it is real and can work in this universe.

@nixCraft

#OOP... because I never got around to learning it in the 90s & naughties, and it now seems to be somewhat deprecated in newer languages.

The hype train isn't kind to its older destinations. πŸ˜…

@rl_dane @nixCraft

It's very clever, but in large doses it can make you yearn for a plate of spaghetti.

@rl_dane @nixCraft

Deprecated??? It's quite prominent

@libreivan @nixCraft

I dunno, Go doesn't support inheritance, for example.

It seems that functional and imperative is the hot paradigm nowadays, at least from what I hear.

But maybe OOP is just faded into the background, buzz/hype-wise?

@rl_dane @libreivan @nixCraft Still plenty of Java code in production all over the world, I imagine.
@thedoctor @rl_dane @libreivan @nixCraft More than just plenty, I don't think I know a single company without a lot of internal java that runs stuff in the background.
@sotolf @rl_dane @libreivan @nixCraft There you go. Java is not the cool kid anymore but it power a lot of stuff. For example the whole Atlassian suite, although that's probably not an endorsement...
@thedoctor @rl_dane @libreivan @nixCraft Yeah, there is so much stuff that is there in java, ETL programs are in my experience almost always in Java, then you have things like reporting, often done in something like jasper reports, java, then you may have a program for connecting with the bank, java, something a programmer made to make production run halfway smoothly 15 years ago, java ;)

@thedoctor @sotolf @rl_dane @libreivan @nixCraft

I never realized that. Awesome - now I can blama Jira on Java!

@nixCraft open / private key / brilliant ! Because even in the physical world it is something that feels like magic - singhs explanation with colors is wonderful

@nixCraft Given how fast modern computers are, they are still impossibly slow for big problems.

Ex: Traveling Salesman problem, cracking a 16 digit password, etc...

It's more or less this fault that makes passwords and cryptography useful.

@nixCraft Why do people call advanced statistics Artificial Intelligence? It amazes me a lot.
@nixCraft optimizing compilers. I can understand how certain stages work but once you put all the pieces together the result blows my mind.

@nixCraft #DOCSIS #HFC #CableModem

It took a SINGLE copper wire surrounded by dielectric and a wire mesh which was originally designed to carry analog audio signals. Now with #DOCSIS4 we can get 10GBps of degrees and ~7GBps ingress. That same Layer 1 single wire can now care thousands of audio streams, video, data, etc

I am amazed at the complexity of behaviors achievable by a 6-state Turing Machine.

@nixCraft

That after clicking to open a web page that request went from my computer across the globe to the destination server and back in basically less than 1 second.

@nixCraft πŸžπŸ›πŸœπŸ¦ŸπŸͺ²πŸͺ³πŸ•·οΈ
@nixCraft the HyperLogLog sketch algorithm and how it turns calculating unique counts into an operation that can be aggregated.
@nixCraft That we got past counting with fingers and toes.
@nixCraft Computational complexity. Being able to show that some well-defined problems are unsolvable or not solvable in a reasonable amount of time still blows my mind.

@nixCraft Abstraction.

I am equally amazed by the graceful simplicity that results from a good abstraction and by the horrible mess that results from a bad one.

@nixCraft
The neverending amount of layers that make up a running computer system.
And that it all works because there are flaws in each of them.
@nixCraft It's all 1s and 0s, our entire technical infrastructure works because of the idea of AND and OR logic. So much from such simplicity
@nixCraft
That edge-routing works at all in the mess of the Internet, let alone works well...
@nixCraft multiplication and division by powers of two in binary are practically free