Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #3164

J

Jesse Li

Personal blog · blog.jse.liprogrammingsecurity

Jesse Li's personal blog at blog.jse.li covers programming and security. Since 2018, 23 different Hacker News readers have linked it 37 times, most often “Building a BitTorrent client from the ground up in Go”. It is still writing: the last post was on 2026-08-30, and you can follow it by feed.

Visit the blog
37mentions?
23HN people?
2018–2026first – last linked?
Links on Hacker News per year · peak 11 in 2020

Jesse Li's blog

Most-linked posts?

  1. Building a BitTorrent client from the ground up in Go
    8 people · 8 mentions · first linked 2020-01-04
  2. Where Did Software Go Wrong?
    5 people · 7 mentions · first linked 2020-05-27
  3. Finding secrets by decompiling Python bytecode in public repositories
    5 people · 5 mentions · first linked 2020-05-12
  4. Reverse Engineering a Piece of JavaScript Malware
    2 people · 3 mentions · first linked 2018-07-19
  5. Approve merge requests with your eyes closed
    2 people · 2 mentions · first linked 2025-07-28

What Hacker News says?

  1. Agree with C and old style C++, but going off the flowchart [1] in the article this could be done quite cleanly with boost::asio and C++20 coroutines as well. [1] https://blog.jse.li/torrent/download.png

    Comment linking /torrent/download.png

    on “Building a BitTorrent client from the ground up in Go (2020)”
  2. Submitted Building a BitTorrent client from the ground up in Go as a story · 692 points

    HN discussion
  3. I typically only use the spec ( https://www.bittorrent.org/beps/bep_0003.html ) because it's simple enough, but in case of doubt I guess a third party resource is good. I found https://blog.jse.li/posts/torrent/ to be quite informative about it. I used to work on a fork of https://github.com/jackpal/Taipei-Torrent with custom features, I found its code to be easy enough to understand

    Comment linking /posts/torrent/

    on “Ask HN: What is the coding exercise you use to explore a new language?”
  4. Submitted Building a BitTorrent client from the ground up in Go (2020) as a story · 580 points

    HN discussion
  5. I posted a writeup a few months ago reverse engineering the same code, but hosted on a different website: https://blog.jse.li/posts/marveloptics-malware/

    Comment linking /posts/marveloptics-malware/

    on “Feedify is compromised with code mirroring Magecart”
  6. Submitted Building a BitTorrent client from the ground up in Go (2020) as a story · 184 points

    HN discussion
  7. I think you've nailed why copilot is so exciting, so irresponsible, yet so not novel. The other comment in this thread who compares it to tab complete gets it too — tab complete is a dialogue as well, as is every "utterance" in the feedback loop between you and your computer. The first half of this essay I wrote last year also develops the dialogic nature of computing, using some of the ideas from Soviet philosopher…

    Comment linking /posts/software/

    on “Copilot and Conversational Programming”
  8. Submitted Finding secrets by decompiling Python bytecode in public repositories as a story · 165 points

    HN discussion
  9. I've written similar thoughts before on computing's mutual recursion with the offline world, and the software engineer's place as code-reader and code-writer-hallucinator [0]. Computers, like any means of production in modernity, are only furthering inequality in the world (along the usual lines: wealth, race, geography, social standing, etc). Computing can make the world better, but right now it can't and it won't…

    Comment linking /posts/software/

    on “Does computing make the world better?”
  10. Submitted Show HN: Ten seconds to ponder if a thread is worth it as a story · 148 points

    HN discussion
  11. My starting point was searching for tutorials and asking ChatGPT to implement a torrent parser :) There are great blog posts [0] for building a BitTorrent client. Along the way, I referenced open-source implementations and the BitTorrent Protocol Specification as well [1]. [0] https://blog.jse.li/posts/torrent/ [1] https://www.bittorrent.org/beps/bep_0003.html

    Comment linking /posts/torrent/

    on “Build Your Own BitTorrent”
  12. Submitted Where Did Software Go Wrong? as a story · 7 points

    HN discussion
  13. what's with the sign in required, is this a paid tutorial? Here are some free tutorials: JS - https://allenkim67.github.io/programming/2016/05/04/how-to-m... GO - https://blog.jse.li/posts/torrent/ Python - https://markuseliasson.se/article/bittorrent-in-python/

    Comment linking /posts/torrent/

    on “Build Your Own BitTorrent”
  14. Submitted Finding secrets by decompiling Python bytecode in public repositories as a story · 6 points

    HN discussion
  15. Reminds me of building a bittorrent client in go: https://blog.jse.li/posts/torrent/

    Comment linking /posts/torrent/

    on “Build Your Own BitTorrent”
  16. Submitted Where Did Software Go Wrong? as a story · 4 points

    HN discussion
  17. Submitted Where Did Software Go Wrong? as a story · 4 points

    HN discussion
  18. Submitted Finding secrets by decompiling Python bytecode in public repositories as a story · 4 points

    HN discussion
  19. Submitted Detecting incognito mode in Chrome 76 with a timing attack as a story · 4 points

    HN discussion
  20. Submitted Resurrecting an old hack to build UI in GitHub READMEs as a story · 3 points

    HN discussion
  21. Submitted Approve merge requests with your eyes closed as a story · 3 points

    HN discussion
  22. Submitted Building a BitTorrent client from the ground up in Go as a story · 3 points

    HN discussion
  23. Submitted My Brother’s Hamster as a story · 3 points

    HN discussion
  24. Submitted Finding secrets by decompiling Python bytecode in public repositories as a story · 3 points

    HN discussion
  25. Submitted Bypassing Cert Pinning in the Steam Mobile App as a story · 3 points

    HN discussion
  26. Submitted Show HN: Approve merge requests with your eyes closed as a story · 2 points

    HN discussion
  27. Submitted Breaking Electron-Store's Encryption as a story · 2 points

    HN discussion
  28. Submitted Play Chrome's dinosaur game with your body and webcam as a story · 2 points

    HN discussion
  29. Submitted Finding secrets by decompiling Python bytecode in public repositories as a story · 2 points

    HN discussion
  30. Submitted Estimating the heights of New Yorkers from their scuff marks as a story · 1 points

    HN discussion

Search all of HN for blog.jse.li

Linked by the same people?