Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Hacking OpenAI(hacktron.ai ↗)
    122comments
  2. Jemalloc 5.4.0(github.com/jemalloc ↗)
    18comments
  3. Astra for Law(openai.com ↗)
    488comments
  4. The scourge of x86 emulation(fex-emu.com ↗)
    9comments
  5. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    118comments
  6. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    205comments
  7. Qwen 3.8 Omni Flash(qwen.ai ↗)
    60comments
  8. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    25comments
  9. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    159comments
  10. Wax motor(wikipedia.org ↗)
    63comments
  11. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    221comments
  12. Shapelearn Qwen 3.8 27B (13.1 GB VRAM)(byteshape.com ↗)
    5comments
  13. When the fractional part of a float fixes your shader(crocidb.com ↗)
    discuss
  14. How to Write with an LLM(sockpuppet.org ↗)
    81comments
  15. Telstra outage: The night a network decided the year was 2006(netnod.se ↗)
    21comments
  16. Flet 1.0 – Build cross-platform apps in Python(flet.dev ↗)
    51comments
  17. Apple detectives solved mystery of ancient tree and rewrote the history of fruit(scientificamerican.com ↗)
    4comments
  18. Ask A Monk – A digital wilderness for thoughts with no immediate answer(askamonk.online ↗)
    20comments
  19. Diplodocus, Long Thought Exclusively American, Turns Up in Spain(sci.news ↗)
    36comments
  20. The most important product decision is what you don't build(liamnugent.me ↗)
    32comments
  21. Fixing an NZXT Signal 4K30 part 2: the green/pink video bug(downtowndougbrown.com ↗)
    8comments
  22. Waymo in Singapore(waymo.com ↗)
    107comments
  23. CrowdSec Source Code Leak(crowdsec.net ↗)
    44comments
  24. How do we prevent mathemathics from devolving into the Medieval Era of secrecy?(mathoverflow.net ↗)
    94comments
  25. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    354comments
  26. How Uber Protects Against Retry Storms(uber.com ↗)
    35comments
  27. Show HN: Snapdrop: Instantly share files between devices. No setup, no signup(snapdrop.me ↗)
    34comments
  28. Infinite-Parameter LLMs: Generating and Adapting Weights from Live Data(arxiv.org ↗)
    39comments
  29. Khipu (Quipu) Field Guide(khipufieldguide.com ↗)
    discuss
  30. Code Scans(devin.ai ↗)
    4comments

Rr 5.0 Released

44 pointsby 9y agorobert.ocallahan.org
3 comments
9y agoHN ↗

I checked the GitHub to work out what rr is:

rr is a lightweight tool for recording and replaying execution of applications (trees of processes and threads). More information about the project, including instructions on how to install, run, and build rr, is at http://rr-project.org.

9y agoHN ↗

rr is my goto debugger. It opens up new super-powers for debugging scripts. Consider this gdb script:

  b broken_1_in_1000_times_at_random.cpp:1
  c
  b usually_runs_normally.cpp:1
  reverse-continue

And now step through forward to figure out what went wrong. This tool is worth your time to learn. There are a couple of minor annoyances (you can't re-use existing gdb scripts that contain the "run" command because the inferior is already running, but there are workarounds. Here's what I use:

  python
  import gdb
  class MyRunOrContinue (gdb.Command):
      """Run inferior if not already running, otherwise continue (useful for rr)."""

      def __init__ (self):
          super (MyRunOrContinue, self).__init__ ("just-go", gdb.COMMAND_USER)

      def invoke (self, arg, from_tty):
          if gdb.selected_inferior().pid != 0:
              gdb.execute('continue')
          else:
              gdb.execute('run')

  MyRunOrContinue()
  end

There are a few other minor annoyances, but all in all a great tool.