Nondeterministic systems, made deterministic again.
Patrick Stein finds the root cause of race conditions, deadlocks, and corrupted memory in large, legacy systems—the faults that don’t reproduce, don’t log, and don’t go away.
- Principal
- Patrick Stein
- Faults
- Race conditions · deadlocks · corrupted memory
- Languages
- C · C++ · Java · JavaScript · more...
- Also
- Bridging scientists and software, custom software for small business and non-profits
- Clients
- Startup CTOs · enterprise & platform teams
Fault classes
Table 1: What I’m called in for| Class | Presents as | How I isolate it |
|---|---|---|
| Race conditions | Fails once in a thousand runs. Disappears under the debugger or with extra logging. Different result on different hardware. | Reconstruct the interleaving, then force it. Turn “sometimes” into “every time” before touching a fix. |
| Deadlocks | The system stops. No crash, no error, no log line. Often only under production load. | Map which thread holds what, in which order. Audit the code paths holding multiple locks. |
| Corrupted memory | Values change when nothing wrote them. Crashes far from their cause. Worse at language or platform boundaries. | Work backwards from the damage and the code to the one write that did it—layout, lifetime, alignment, encoding. |
Case log
All casesMethod
No guessing. Every step leaves evidence your team can check.
- 01Observe
Record what the system is actually doing, not what it is said to do.
- 02Hypothesize
Make a short list of causes the evidence allows.
- 03Isolate
Eliminate until one cause remains.
- 04Fix & verify
Prove the fix closes the cause, not just the symptom.
Between the scientist and the code(rs).
With a working knowledge of and love for mathematics and physics, I translate in both directions: turning a scientist’s models into software that’s correct, and turning developers’ questions into ones a scientist can answer.
Bridging services- From science
- Papers, equations, models, lab procedures
- To software
- Specifications, working code, tests that check the physics
- Both ways
- Developers’ questions rephrased so a scientist can answer them
Custom Software for You.
Is there something that your small business or non-profit wishes your computer could do for you? We can help you build it.
Custom software services- From you
- What does your organization need?
- To software
- Specifications, working code, tools you can use