sam henri gold
@samhenrigold.hachyderm.io.ap.brid.gy
73 followers 0 following 980 posts
your favorite designer’s favorite designer [bridged from https://hachyderm.io/@samhenrigold on the fediverse by https://fed.brid.gy/ ]
Posts Media Videos Starter Packs
samhenrigold.hachyderm.io.ap.brid.gy
do you think a hockey player’s dentist still goes through the motions of a routine cleaning or are they emboldened to say “sir you have no teeth idk what you want me to do here“
samhenrigold.hachyderm.io.ap.brid.gy
btw this does not help my case in a design career. nobody has ever said “yeah he’s great for design but I wish he had working knowledge of reverse engineering binaries and was hellbent on figuring out stupid bullshit from 15 years ago”
https://hachyderm.io/@samhenrigold/115330105694760262
sam henri gold (@[email protected])
Attached: 2 images hey wanna see something kinda interesting? this was the entire fix to the iPhone Antennagate in 2010. 20 bytes. (this is going to be a very long thread 🧵)
hachyderm.io
samhenrigold.hachyderm.io.ap.brid.gy
oh also in 4.0.1 they changed the height of the lower bars to be taller lmao
samhenrigold.hachyderm.io.ap.brid.gy
So there ya go. 20 bytes.

This has concluded a Tech Thread. Back to shitposting.
samhenrigold.hachyderm.io.ap.brid.gy
In 4.0.1, they changed these values to be way smoother. Mapped onto a chart, you can see that it takes a lot to drop from 5 to 0 bars. It’s harder to see 5 bars, but it’s harder to plummet bars.
Raw 4.0.1 lookup table values • 0x86FFFFFF equals −122 dBm — 1 bar threshold.
• 0x98FFFFFF equals −104 dBm — 2 bars threshold.
• 0x9EFFFFFF equals −98 dBm — 3 bars threshold.
• 0xA7FFFFFF equals −89 dBm — 4 bars threshold.
• 0xB0FFFFFF equals −80 dBm — 5 bars threshold. 4.0 and 4.0.1 signal bar thresholds mapped onto each other. The 4.0 line jumps from 0 to full bars in a fairly short span compared to 4.0.1
samhenrigold.hachyderm.io.ap.brid.gy
When you plot this onto a chart, you can see how the values are kinda screwed up since the values are really optimistic. Most of the time, you would see 4-5 bars. But when you gripped it, since the falloff is so sharp, you’d see a catastrophic drop from 5 to 2 bars.
samhenrigold.hachyderm.io.ap.brid.gy
...this is. This is the lookup table. When you convert the bytes to actual dBm values, you get:
-115, -111, -107, -103, and -99

(the closer to zero, the better the signal)

For example, here you need -107 or better signal to see 3 bars.
the raw bytes of the lookup table from 4.0 Five threshold values for signal bars.
- 0x8DFFFFFF equals −115 dBm, marking the 1-bar threshold.
- 0x91FFFFFF equals −111 dBm, 2-bar threshold.
- 0x95FFFFFF equals −107 dBm, 3-bar threshold.
- 0x99FFFFFF equals −103 dBm, 4-bar threshold.
- 0x9DFFFFFF equals −99 dBm, 5-bar threshold.
samhenrigold.hachyderm.io.ap.brid.gy
The actual calculation is dead simple. When converting signal strength to bars, CommCenter loads each threshold from memory and compares until it finds the right range.

This code is not the problem...
Some hideous assembly code that boils down to:

bar_count = /* initial r4 */;
while (bar_count != 5) {
    if (RSSI <= threshold[bar_count]) break;
    bar_count++;
}
samhenrigold.hachyderm.io.ap.brid.gy
I downloaded both firmwares and started poking around. In the CoreTelephony framework, I found a promising looking binary: CommCenter. Looking at the strings gave me a pretty good sense that this is where the bar formula was.
strings CommCenter | grep -i bars

UseEcn0Bars
ecn0 is %d / signal is %d, assuming 5 bars
ecn0 is %d / signal is %d, assuming 4 bars
ecn0 is %d / signal is %d, we say %d bars
telling UI to draw %d bars, %d signal
samhenrigold.hachyderm.io.ap.brid.gy
For context, back in 2010 when the iPhone 4 came out, people noticed you could grip the phone in a certain way and the signal bars would plummet from 5 to, like, 2.

A few weeks later, they published a letter ( […]

[Original post on hachyderm.io]
Upon investigation, we were stunned to find that the formula we use to calculate how many bars of signal strength to display is totally wrong. Our formula, in many instances, mistakenly displays 2 more bars than it should for a given signal strength. For example, we sometimes display 4 bars when we should be displaying as few as 2 bars. Users observing a drop of several bars when they grip their iPhone in a certain way are most likely in an area with very weak signal strength, but they don’t know it because we are erroneously displaying 4 or 5 bars. Their big drop in bars is because their high bars were never real in the first place.
samhenrigold.hachyderm.io.ap.brid.gy
hey wanna see something kinda interesting? this was the entire fix to the iPhone Antennagate in 2010. 20 bytes.

(this is going to be a very long thread 🧵)
Assembly code between iOS 4.0 and 4.0.1. It's basically the same except one instruction points to a different address. A lookup table tweaked between 4.0 and 4.0.1.
Reposted by sam henri gold
mastodon.mastodon.social.ap.brid.gy
We appreciate that certain politicians have recently admitted their naivete in entrusting the voices of their governments to corporate / for-profit social media.

To these politicians, we say: https://joinmastodon.org/hosting
Managed Mastodon
joinmastodon.org
samhenrigold.hachyderm.io.ap.brid.gy
@tay Do the TLS and talk with your certs
samhenrigold.hachyderm.io.ap.brid.gy
HTTP code 3OH3: She wants to touch me (whoa) She wants to love me (whoa) She'll never leave me (whoa, whoa, oh, oh)
samhenrigold.hachyderm.io.ap.brid.gy
at the end of the day, what is “spineless” if not “boneless”. spineless wings, boneless politicians
samhenrigold.hachyderm.io.ap.brid.gy
cannot believe we're gonna have to say goodbye to this man
samhenrigold.hachyderm.io.ap.brid.gy
omg i just started watching The Good Wife and just realized that the lady in the show…IS THE GOOD WIFE 🤯🤯 follow for more tv insider trivia
samhenrigold.hachyderm.io.ap.brid.gy
just realized i haven’t seen stars in a while. like the sky ones. wonder if those are still a thing.
samhenrigold.hachyderm.io.ap.brid.gy
idk if this is a bug or not but on iOS 26 you can fling around and rotate the safari details sheet
samhenrigold.hachyderm.io.ap.brid.gy
@axiixc I had this crazy dream where I was in line at the post office, but the person in front of me had a package without enough tape on it. The clerk told them to step aside and tape it properly, and then it was my turn. I gave them my package, and they weighed it. It was 2.1 pounds. Then I […]
Original post on hachyderm.io
hachyderm.io
samhenrigold.hachyderm.io.ap.brid.gy
god reading someone else’s text generation output is so boring. it’s like someone recounting their dream to you that they only sorta remember. just hell to sit through.

“I asked Claude about this” == “So I had this dream the other day where, like,”