HN user

bbayles

1,108 karma

32bits.substack.com

Posts13
Comments103
View on HN

I've reported a few very serious issues to vendors of widely used tools in recent weeks, and it's been even more difficult than usual to get them to be acknowledged - the teams that respond are reportedly swamped.

In order to avoid the endless cycle with the QA person, I started doing this:

This forced me to start making my feature proposals as small as possible. I would defensively document everything, and sprinkle in little summaries to make things as clear as possible. I started writing scripts to help isolate the new behavior during testing.

Which is what I should have been doing in the first place!

I used to work with a QA person who really drove me nuts. They would misunderstand the point of a feature, and then write pages and pages of misguided commentary about what they saw when trying to test it. We'd repeat this a few times for every release.

This forced me to start making my feature proposals as small as possible. I would defensively document everything, and sprinkle in little summaries to make things as clear as possible. I started writing scripts to help isolate the new behavior during testing.

...eventually I realized that this person was somehow the best QA person I'd ever worked with.

Paged Out 8 months ago

There's a typo in the URL here: > If you have a topic in mind but are not sure if it is suitable for Paged Out!, check out the Writing Articles page or contact us

It links to `?page=writing.pho` rather than `.php`

Yeah, exactly! I took a couple memory snapshots of the name "AAA" and then threw out all of the addresses that had values that didn't match the first snapshot. Then I changed it to "BBB" and threw out all the addresses that did match.

There's a program called Cheat Engine that can make this a point and click thing; that's usually how people find GameShark-style codes.

I've been having some fun lately reverse engineering the "password" systems that some console games used prior to memory cards and backup RAM.

Some are very straightforward - just an encoding of which level you were on, your score, etc.

Others are that plus a halfhearted checksum, or an actual standard CRC checksum.

Still others are these elaborate obfuscation schemes with encryption using a fixed key, then scrambling, then a checksum.

My favorite so far: ThunderStrike 2 does a few things, and one of them XORs your input with the string "NOSEY GIT". I took it to mean the original programmer was chiding me for trying to cheat at the game.

How about a service that lets bruteforcers "in" after some number of failed attempts, but what they get is just a fake command prompt that accepts all of their commands? I'm sure hackers would eventually adapt, but it would annoy them for a while.

I had a coworker who could really Go Fast in Excel, and by watching him, learned enough tricks to be able to impress onlookers by flying through computations with keyboard shortcuts.

From my perspective, it's gotten harder to use spreadsheet programs efficiently with each new version - the keyboard shortcuts collide more, and everything moving to Office 365 / Google Docs / etc. has made the available tools less powerful.