Greg Law (@gregthelaw) header
Greg Law (@gregthelaw) profile picture

Co-founder at Undo @undo_io

Joined June 2009
Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)Photo by Greg Law (@gregthelaw)
Latest on memory safety: "The new US administration has removed everything from the White House web site and fired most of the CISA people who worked on memory safety." tbf, memory safety is pretty woke. hubs.ly/Q038Yn1h0
1
4
256
We recorded Deepseek! Obviously this won't tell you how it was made, but very cool for seeing how it works. The only sad bit was that it doesn't seem to know about time travel debugging. youtube.com/watch?v=h-fJqXDS…
1
2
261
Might want to watch the video at 2x, just because we ran it on a regular laptop. Recording didn't noticeably slow it down at all.
124
Replying to @ID_AA_Carmack
I'm going to respectfully disagree. I used to use debuggers more than I do now - I was enough of a fan of them that I wrote the Grand Universal Debugger control mode in Emacs. In recent decades my preferences have changed. I use debuggers less and extensive debug logging more. That's an investment in the ability to troubleshoot future problems that often gains value over time. What might get me back into them is time-reversal debuggers. Those sound interesting, but I haven't actually used one yet.
29
8
4
344
53,915
Greg Law retweeted
We have just released a new C++Now 2024 Conference Video! How do Time Travel Debuggers Work? - Design and Implementation of a Time Travel Debugger - by @gregthelaw youtu.be/NiGzdv84iDE #Cplusplus #Cpp #Debugging #Programming #Softwareengineering
1
5
543
Greg Law retweeted
How do Time Travel Debuggers Work? - Design and Implementation of a Time Travel Debugger - by @gregthelaw youtu.be/NiGzdv84iDE #Cplusplus #Cpp #Debugging #Programming #Softwareengineering
2
2
509
💡#cpp debugging top tip: Finding unexpected values in your variables? The 𝚕𝚊𝚜𝚝 command in Undo allows you to rewind directly back to the last time that value was changed, and find out exactly where that bad value came from. hubs.ly/Q02V49-80 #cplusplus
13
208
Greg Law retweeted
How do Time Travel Debuggers Work? - Design and Implementation of a Time Travel Debugger - by @gregthelaw youtu.be/NiGzdv84iDE #Cplusplus #Cpp #Debugging #Programming #Softwareengineering
1
5
519
My friend Aditya Gurajada and I created a lightweight logging library (L3). Compared to standard printf debugging, L3 is much faster & lock-free -- 2ns per log message compared to > 50ns for a regular, buffered fprintf(). You can get it from github here: hubs.ly/Q02PZdlB0
3
194
Greg Law retweeted
CppCon 2024 SESSION ANNOUNCEMENT: Back to Basics: Debugging and Testing by @gregthelaw & @MichaelShah cppcon2024.sched.com/event/1… Register now: cppcon.org/registration/ #cpp #cplusplus #programming #debugging
1
4
894
Greg Law retweeted
CppCon 2024 SESSION ANNOUNCEMENT: Back to Basics: Debugging and Testing by @gregthelaw & @MichaelShah cppcon2024.sched.com/event/1… Register now: cppcon.org/registration/ #cpp #cplusplus #programming #debugging
2
4
900
A wrote a book on how debuggers work! It guides you through writing a complete native debugger from scratch. Available Spring 2025 from @nostarch (probably not with this cover)
86
219
23
1,845
121,856
The CrowdStrike outage was super high profile, but this problem happens all the time: unsanitized input causes code to crash. Fuzzing is a good way to find these problems before your customer does (or in this case the whole world does). Ref. odbms.org/2023/08/on-debuggi…
4
169
CrowdStrike effectively bricked windows, Mac and Linux today. Windows machines won’t boot, and Mac and Linux work is abandoned because all their users are on twitter making memes. Incredible work.
123
3,366
143
34,610
985,662
💡#Valgrind top tip: Helgrind is a tool inside Valgrind for automatically catching common multithreading issues, like deadlocks & data races. It gives detail about what the error is & where it happened - use it with 𝚟𝚊𝚕𝚐𝚛𝚒𝚗𝚍 --𝚝𝚘𝚘𝚕=𝚑𝚎𝚕𝚐𝚛𝚒𝚗𝚍 ./𝚖𝚢𝚙𝚛𝚘𝚐
17
429
Scary photo of me! But if you regularly battle with hard bugs like memory corruptions or concurrency issues, then you might find my short talk from C++ Online useful: hubs.ly/Q02Dr0vF0 #cpp #cplusplus
11
317
🔧 Fix your hardest bugs with ease! Join @gregthelaw at #CppOnSea 2024 for "Time Travel Debugging" and learn how to rewind your code to see any variable at any point. Say goodbye to guesswork! youtu.be/LDoSJi90HGI Register now! cpponsea.uk/tickets #CPlusPlus #cpp
1
2
232
C++OnSea 2024 SESSION ANNOUNCEMENT: Fix Your Hardest Bugs With Ease With Time Travel Debugging by @gregthelaw cpponsea.uk/2024/sessions/fi… Register now at cpponsea.uk/tickets/ #tooling #debuggers ...
1
1
259