"Many thousands of date problems were found in commercial data processing systems and corrected. (The task was huge – to handle the work just for General Motors in Europe, Deloitte had to hire an aircraft hangar and local hotels to house the army of consultants, and buy hundreds of PCs)."Sounds like more than a few weeks.
Thanks; fixed both.
Was it founded by the Evil Twin of Peter Singer?https://www.smbc-comics.com/comic/ev
Stories of wishes gone awry, like King Midas, are the original example.
I've definitely looked at it, but don't recall trying it. My first questions from looking at the screenshots are about its annotation capabilities (e.g.: naming functions, identifying structs) and its UI (IDA highlighting every use of a register when you mouse over it is stupendously useful).
This reminds me of how I did the background reading for my semantic code search paper ( http://www.jameskoppel.com/files/papers/yogo.pdf ). I made a list of somewhat related papers, printed out a big stack of them at a time, and then for each set a 7.5 minute timer for each. By the end of that 7.5 minutes, I should be able to write a few sentences about what exact problem it solves and what its big ideas are, as well as add more cited work / search keywords to expand my list of related papers. I'd often need to give myself a few extra minutes, but I nonetheless worked through it incredibly fast.
The big strategy is that papers are written in a certain format (e.g.: (1) Introduction (2) Overview (3) Detailed technical development (4) Implementation (5) Evaluation (6) Related work (7) Conclusion), so I knew exactly where to look to get the important bits.A difference between this and your suggestions is that (1) I was already highly knowledgable in this area, having just supervised a master's student building something better than these papers, and (2) the bar of "understand something well enough to discuss in a related work section" is rather low. Still, the end result is what is probably the best ever overview of semantic code search; our paper discusses a full 70 other tools.
++++ Anytime I try a new language, first question is "Is there a JetBrains IDE or plugin for it?"
Bryan Caplan has been creating his "economics graphic novels" using an old "comic creator" software. He has a valid license, but they company that makes it went out decades ago, and the license server no longer exists. So I disabled the license-server check for him.When I worked in mobile, I did it frequently. Customer would call us and say our SDK isn't working. I'd download their app off the app store, decompile it, and figure out exactly how they're using us.
It's also surprisingly frequent how often I want to step through a library or program that I'm using. If you link to that library as a binary, then (even if the source is available elsewhere) it's often easiest to debug it using a reverse-engineering tool.
Less everyday, but I've also done some larger projects involving REing. I started off in game modding 10 years ago. Last year, I did some election security work that achieved some publicity. https://www.nytimes.com/2020/02/13/us/politics/voting-smartphone-app.html
Need: Making figures and diagrams (e.g.: for scientific papers)
Other software I've tried: Sketch, Illustrator, tikz
Omnigraffle has beautiful defaults, and makes it very fast to create shapes and diagrams that connect. It can make crossing edges look pretty and clear instead of a mess. Illustrator gives you a lot more flexibility (e.g.: strokes whose width gradually changes, arbitrary connection points for arrows), but you can be way faster at making figures with Omnigraffle.
Use Illustrator for making art and posters. Use Sketch (or Figma) for mocking up UIs. Use Omnigraffle for making figures.
Need: Binary reverse-engineering
Other programs I've tried: ghidra, OllyDbg, Hopper
IDA is fast and well-featured. I've had multiple times where my process of having questions about a binary to figuring out the answer took minutes.
Hopper has a nicer UI, but works on fewer executables and does not analyze the binary as well.
IDA gets criticized for "having an interface designed by programmers," but ghidra is much worse in that regard. "A giant Java program written by the government" describes it well. ghidra supposedly has a collaboration mode, but I gave up trying to get it to work after much effort.
OllyDbg is not really comparable, being primarily a binary debugger. But IDA's built-in debugger is quite underrated. And their support is very good. I was among the first to use it for Android-hacking on Android 5.0, and found their Android debugger would not run with the new OS restrictions; they gave me a new version that would within a few days.