Hacker Newsnew | past | comments | ask | show | jobs | submit | sedatk's commentslogin

> BinDiff: you can't patch software without disclosing vulnerabilities

That’s why Microsoft has been obfuscating its binary builds for at least the last two decades so that even the two builds from the same source would produce very different blobs.


Sounds dubious, do you have a citation? The disassembly looks very straightforward for a lot of Windows code.

They're not encoded, but the code blocks are shuffled. That's why disassembly does look straightforward, but it used to thwart BinDiff at the time.

That sounds a lot like US9116712, but I don't think its ever been publicly said that Windows does this.

If I understand correctly, that is just randomness comes from parallel compiling and linking.

If you saying there is a whole step just scrambling blobs, i will be very surprised.


What made you believe this is the case? any examples/links/etc.?

It was a part of our Windows build process when I was at Microsoft. I only assumed that they would keep doing it, but they might have as well dropped the practice.

How are they obfuscated?

See my sibling comment.

> but end to end encryption on instagram is only protecting your chats from Meta.

No. It protects your chats from Meta and all governments of the countries where Meta operates.

In fact, I expect Instagram to be more reachable globally now because these relaxed communication standards would be welcomed by oppressive governments as they can now retrieve messages as they please for whatever purpose they deem.



> Duplicate UUIDs (Googlebot)

> This module may generate duplicate UUIDs when run in clients with deterministic random number generators, such as Googlebot crawlers. This can cause problems for apps that expect client-generated UUIDs to always be unique. Developers should be prepared for this and have a strategy for dealing with possible collisions, such as:

> - Check for duplicate UUIDs, fail gracefully

> - Disable write operations for Googlebot clients

https://github.com/uuidjs/uuid/commit/91805f665c38b691ac2cbd...


"Let me know if there's any change in his condition" (from the movie Top Secret)

The page uses Berkeley Mono Trial typeface which swaps certain glyphs like `*`, `#`, `/`, and `\`.

> swallowed by un Pesce-cane — a dogfish, a kind of shark

Dogfish in Turkish, “köpekbalığı”, also literally means shark.


> It doesn't matter if it's slop as long as it works

I agree with most of what you said, but that statement doesn't take the time dimension into account. Slop accumulates, and eventually becomes unmanagable. We need to teach AI to become lean engineers too.


I have only seen AI make codebases better, and I'm talking about it making some pretty nuanced changes. I think mass-rewriting of projects is possible these days with AI.

I disagree on both fronts. Unguided AI can be a very efficient tech debt generator.

just last week AI led a developer on our team to brick our git history when he was attempting to fix a deploy. he's not a git expert but an llm should of not led him that far astray, no?

i see on a weekly basis where if an llm was left to do what its initial direction was without human oversight it would have broken otherwise working programs


Your developer didn't have anyone reviewing the work he was checking in? Or he didn't have the common sense to ask anyone else on the team to verify?

From what I remember, there were two "Enter/Return" keys on IBM 3270 terminals. One was the regular "Return" key we have today, which just advanced to the next field, and didn't submit the form. There was also another "Enter" key where the Right Ctrl key is today, and that submitted the form. So, I presume, instead of being against Tab key, IBM might be against "Return" to be the form submit key as people who use 3270 would expect it to advance to the next field.

And that was true for many DOS programs. Pressing Return would just go to the next field, not submit the form. That was one of the things that needed some getting used to on Windows.


Your memory is correct, and it's interesting to note that on the IBM terminal keyboards, the Enter key was marked "Enter", and the return/new line key was marked "↵". On the classic IBM PC keyboards such as the Model M, the Enter key is marked "↵ Enter". I believe IBM chose this to convey that the Enter key on the PC was both an "Enter" _and_ "Return" key in one. As you say though - individual applications got to chose what that meant in practice, leading to inconsistent behavior.

It should've been a black Pontiac Trans-Am.

A Mercedes Benz 770K would have been even more appropriate.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: