Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    J

    Jesse Li

    blog.jse.li · Personal blog · on HN since 2018

    Jesse Li writes about programming and security, including a BitTorrent client in Go, malware reverse engineering and a browser timing attack.

    Visit blogRSSHN submissions
    ProgrammingNetworkingSecurity
    What HN says

    HN commenters repeatedly recommend his BitTorrent client tutorial as an informative, free guide to the protocol.

    Stats for nerds
    23HN people shared it
    28linked in comments
    1.8Kstory points
    Feb 2025last shared
    2021people per year2025

    Top posts on HN

    1. 1
      Building a BitTorrent client from the ground up in Go
      8 people · 1.5K points · first shared 2020 · 90 comments on HN
    2. 2
      Finding secrets by decompiling Python bytecode in public repositories
      5 people · 180 points · first shared 2020 · 51 comments on HN
    3. 3
      Show HN: Ten seconds to ponder if a thread is worth it
      1 person · 148 points · first shared 2021 · 47 comments on HN
    4. 4
      Where Did Software Go Wrong?
      5 people · 17 points · first shared 2020 · Discussion on HN
    5. 5
      Approve merge requests with your eyes closed
      2 people · 5 points · first shared 2025 · Discussion on HN
    6. 6
      Detecting incognito mode in Chrome 76 with a timing attack
      1 person · 4 points · first shared 2019 · Discussion on HN
    7. 7
      My Brother’s Hamster
      1 person · 3 points · first shared 2020 · Discussion on HN
    8. 8
      Bypassing Cert Pinning in the Steam Mobile App
      1 person · 3 points · first shared 2019 · Discussion on HN
    9. 9
      Reverse Engineering a Piece of JavaScript Malware
      2 people · 2 points · first shared 2018 · Discussion on HN
    10. 10
      Breaking Electron-Store's Encryption
      1 person · 2 points · first shared 2021 · Discussion on HN

    What HN people wrote when they linked it

    • eat_veggiesJul 2021

      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 Mikhail Bakhtin: https://blog.jse.li/posts/software/

    • rakooSep 2022

      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

    • sarpOct 2023

      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

    • throwaway4adayOct 2023

      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-make-your-own-bittorrent-client.html

      GO - https://blog.jse.li/posts/torrent/

      Python - https://markuseliasson.se/article/bittorrent-in-python/

    • cherryteastainFeb 2025

      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

    • techn00Oct 2023

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

    Related

    libtorrent Blogblog.libtorrent.org26 people

    BitTorrent v2

    libtorrent Blog
    Company · last shared 2025
    Russ Coxresearch.swtch.com554 people

    Timeline of the xz open source attack

    Russ Cox
    Personal · last shared 2026
    Matthew Greenblog.cryptographyengineering.com418 people

    Why I’m done with Chrome

    Matthew Green
    Personal · last shared 2026
    Bram Cohenbramcohen.com27 people

    Never Make Counter-Offers

    Bram Cohen
    Personal · last shared 2026
    Jesse Rudermansquarefree.com60 people

    Releasing jsfunfuzz and DOMFuzz

    Jesse Ruderman
    Personal · last shared 2025
    Google Online Security Bloggoogleonlinesecurity.blogspot.com225 people

    No More Deceptive Download Buttons

    Google Online Security Blog
    Company · last shared 2016
    Graham Cluleygrahamcluley.com151 people

    49% of workers, forced to change passwords, reuse same one with minor change

    Graham Cluley
    Personal · last shared 2025
    I Don't Play Dartsidontplaydarts.com81 people

    Detecting the use of "curl | bash" server-side

    I Don't Play Darts
    Personal · last shared 2024