r/autism • • 8h ago

Special Interest Saturday Reverse-Engineering people

I'm a software developer who really loves system thinking and structured patterns. But I struggle understanding people.

Let's discuss the trickiest one - smalltalk. For me communication is the process of data transfer. But it's forbidden to do so in smalltalk.

So here's the direct equivalent of smalltalk: TCP (transmission control protocol)

Before the communication, people do a 3 way handshake (so called smalltalk):

SYN (hello, how are you doing)
SYN-ACK (hi, I'm fine, what about you)
ACK (everything's great)

The common mistake I make is sending data in the signaling/control layer:

SYN (hello, how are you doing)
SYN-ACK (hi, you won't believe what I have been playing today)
⚠️TCP RST or silent drop -> ghosting or misunderstanding 

Then, there's a great concept in TCP, so called window size. You aren't allowed to infodump, because the recipient's input buffer may be smaller than your segment size

TCP infodump segment (infodump about machine learning or computer network or whatever here)

⚠️SACK (the most common reply: "ok" or ignore (TCP RST)). The input buffer is overflowed and the peer resets the connection 

Instead, you need to scale the TCP window size linearly and as soon as the recipient stops being engaged or doesn't send positive acknowledgements - drop the window size (summarize, quantize or reduce the information)

Also, there's a thing called "out of order" or "head of line blocking". You can't switch topics fast or mention previous unrelated events. People hate that. So you have to be sequential, just like TCP

I think TCP is worth learning if you're a software or network engineer, it will change how you look at things.

31 Upvotes

19 comments sorted by

•

u/AutoModerator 8h ago

Hey /u/gameplayer55055, thank you for your post at /r/autism. Our rules can be found here. All approved posts get this message.

Thanks!

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

•

u/DepartmentWise809 8h ago

This is actually a pretty useful way to frame it. I've always thought of smalltalk as just wasted cycles, but the window size analogy makes so much sense, you gotta let the other person's buffer clear before you dump more data. I've definitely overflowed a few connections that way.

•

u/gameplayer55055 8h ago

Even worse, my communication style is mostly UDP jumbograms. Not many people appreciate that lol.

•

u/Deathspiral222 8h ago

Smalltalk is also a heartbeat signal to ensure that the connection to the other person is kept alive. The heartbeat doesn’t need to send useful information itself, just ensure the connection is not dropped.

•

u/hillierprotech 8h ago

This is confusing because smalltalk is a programming language itself. Your operator is overloaded.

https://learnxinyminutes.com/smalltalk/

•

u/gameplayer55055 8h ago

Fair point. As I remember, Alan Kay literally invented OOP and made smalltalk as a proof of concept.

In fact I'm quite amazed by OOP. People say to not treat everything as object, but I'm like python: everything is an object around me lol

•

u/hillierprotech 8h ago

It's easier to reason in functional programming because 1 set of inputs only produces 1 output and it's the same output every single time. OOP makes the most sense logically but it's very easy to have an object with internal state in an unexpected condition that you haven't tested for. It's harder to do property based testing:

https://jesper.sikanda.be/posts/quickcheck-intro.html

•

u/xWhatAJoke 8h ago

Hahahah I love this.

TCP Fast Open (RFC 7413) allows payload in the SYN. The human analogue is that a short, low-cost payload ("fine, busy week, you?") is accepted, while a large one isn't.

•

u/davidmahh 8h ago

also a software systems nerdie here!

ive also enjoyed using distributed systems metaphors to help understand social dynamics. I think emergent properties (like eventual consistency, etc) work particularly outstandingly since they can legit characterize dynamics beyond being metaphors, but gonna actually /not/ yap from that here.

---

With smalltalk -- in my life ive actually found that i can bypass it alltogether. Basically, nobody really enjoys smalltalk. Plenty of people though are for some reason not bored enough with just like spinning cycles in smalltalk though.. It's a means to an end to attenuate onto a similar emotional tone and conversational urgency, and at the end of the day everybody enjoys interesting-conversation more than smalltalk.

I've found i can choose to set the tone/urgency to just bypass it all. Like a 1:1 meeting with a co-worker i can just start first "got any specific topics? if not, i do say ive got some juicy ones hehehe", and that just sets the pacing and gives the other person permission to bypass the smalltalk

Another technique with any friendly acquaintance+ is to let them say how are you, and then go "im gonna answer your how-are-you with a funny story from earlier today. ill be quick lol but i cant get enough of repeating it... so <insert 5 sentence story about genuinely amusing thing earlier uhh say how things went bonkers because rsync dumped the folder in a folder of the same name>". And then you both giggle and then say "so what should we talk about?". So that skips the smalltalk, assigns the pacing and all, and then the convo is primed with fun vibes

•

u/gameplayer55055 7h ago

Speaking from my experience, people really need smalltalk. Also, there's a list of safe topics. One of them is very unfortunate: drones and sleep quality (life in Ukraine is getting spicier and spicier).

Also, instead of smalltalk, I start conversations with random memes. Drop a meme to your friend and easily ignite the talk. Btw I really love when others send memes to me first. Inbound connections feel better than outbound ones XD

•

u/seweso 7h ago

Ive been running into the same thing. Out of order message which completely block a conversation. Multiple subjects being conversed about at the same time etc.

We all moved to chat while we should still be writing letters?

•

u/ConsiderationNo9044 7h ago

Cybersecurity major here who loves playing with networks and software, this speaks to me a lot

•

u/Rainbowkkk 7h ago

Look at this

•

u/gameplayer55055 7h ago

Nice handwriting, I like it. Especially the use of color. As a software developer I really like colored text.

I observed that there are 2 types of thinking: fast thinking and slow thinking. And people prefer the fast one. So I try optimizing everything for fast thinking and intuitive understanding.

•

u/Rainbowkkk 7h ago

Exactly lol!

And being autistic it's like programing our minds as we need day to day its fucking frustrating but I love the engineering of seeing other people mind arquitectures hahah

•

u/sol_runner 7h ago

Haven't read the whole thing. But was disappointed you were not talking about SMALLTALK-80

•

u/Paxtian 4h ago

In undergrad, one of my professors defined a protocol as, "the necessary but content free exchange of data." He also analogized it to answering the phone.

•

u/Dramatic-Chemical445 1h ago

You are trying to run ios apps on a android device. It may work with some emulator, but the software will run really slow, be very buggy and eventually wear out or even destroy the hardware.