Top all-time · #186
Brian "Beej Jorgensen" Hall
Personal blog · beej.usprogrammingsystems
Brian "Beej Jorgensen" Hall writes Beej's Bit Bucket, a personal blog at beej.us about programming and systems. Since 2008, 233 different Hacker News readers have linked it 285 times, most often “Beej's Guide to Network Programming”. It is still writing: the last post was on 2026-07-21, and you can follow it by feed.
Often recommended · 18 of 40 sampled comments recommend it, 3 are critical?
Why HN links it
Linked as a free, approachable reference for network programming and C, plus Unix IPC and Git. Commenters credit it with teaching them sockets and C.
- Recommended for · 18 comments
- Called excellent, approachable and influential; the networking guide is called the best for network-layer topics.
- Criticised for · 3 comments
- Says git still defaults to master, not main; poll coverage is outdated for many connections; calls it old-fashioned.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Brian 'Beej Jorgensen' Hall's home page
Most-linked posts?
- Beej's Guide to Network Programming39 people · 44 mentions · first linked 2017-03-24
- Beej's Guide to Network Programming27 people · 27 mentions · first linked 2008-04-01
- Beej updated the classic Linux network programming guide16 people · 16 mentions · first linked 2018-01-21
- Beej's Guide to C Programming13 people · 14 mentions · first linked 2021-02-11
- Beej's Guide to Network Programming (1994-2020)10 people · 10 mentions · first linked 2020-01-10
- Beej's Guide to Network Programming8 people · 8 mentions · first linked 2009-04-29
- Beej's Guide to Network Programming (2012)5 people · 5 mentions · first linked 2008-08-26
- Making5 people · 5 mentions · first linked 2026-03-12
- Beej's Guide to Networking Concepts5 people · 5 mentions · first linked 2023-05-22
- Beej's Guide to C Programming (2007)5 people · 5 mentions · first linked 2014-04-10
What Hacker News says?
Let me start by saying this is wonderful work. Thank you for creating such a comprehensive resource. I haven't read through it all, but one thing did catch my eye. Section 5.1 ( https://beej.us/guide/bggit/html/split/branches-and-fast-for... ) > The default branch is called main. > The default branch used to be called master, and still is called that in some older repos. This is not true. Git still defaults to `mast…
Comment linking /guide/bggit/html/split/branches-and-fast-forward-merges.html
on “Beej's Guide to Git”Submitted Beej's Guide to Git as a story · 1062 points
HN discussion[1] https://beej.us/guide/bgipc/
Comment linking /guide/bgipc/
on “Beej's Guide to Git”Submitted Beej's Guide to Network Programming (1994-2020) as a story · 993 points
HN discussionI remember reading the excellent Beej's Guide to Network Programming[0] and Beej's Guide to Unix IPC[1] as a teenager, which were incredibly approachable while still having depth—fantastic reads both and very influential on the programmer I ended up being. [0] https://beej.us/guide/bgnet/ [1] https://beej.us/guide/bggit/
Comment linking /guide/bggit/
on “Beej's Guide to Git”Submitted Beej’s Guide to C Programming [pdf] as a story · 507 points
HN discussionOr you can get it from the official source [0] and not some PDF on a file sharing site linked from an HN comment. [0] https://beej.us/guide/bgnet/
Comment linking /guide/bgnet/
on “Beej's Guide to Network Programming (1994-2020)”Submitted Beej's Guide to C Programming (2007) as a story · 427 points
HN discussionThat is covered[1], though it is outdated if you want it to be able to handle as many connections as possible in a fast way. There are also thousands of higher-level libraries that would let you avoid having to deal with these lower-level APIs directly. [1] https://beej.us/guide/bgnet/html/#poll
Comment linking /guide/bgnet/html/
on “Beej's Guide to Network Programming (1994-2020)”Submitted Beej's Guide to Learning Computer Science as a story · 415 points
HN discussionWell, anything that'll run gcc. He does include a section for Windows programming for the brave - - https://beej.us/guide/bgnet/html/#windows
Comment linking /guide/bgnet/html/
on “Beej's Guide to Network Programming (1994-2020)”Submitted Beej updated the classic Linux network programming guide as a story · 414 points
HN discussionBeej has had great guides for many things on the internet for decades. I fondly remember learning C from Beej's guide to C [1] upon being recommended by WinterMute (from the Nintendo homebrewing community). Best introduction to programming I've seen by far! [1]: https://beej.us/guide/bgc/
Comment linking /guide/bgc/
on “Beej's Guide to Network Programming (1994-2020)”Submitted Beej's Guide to Network Programming as a story · 333 points
HN discussionin case somebody is interested in offline version, there are pdf versions as well https://beej.us/guide/bgnet/
Comment linking /guide/bgnet/
on “Beej's Guide to Network Programming (1994-2020)”Submitted Beej's Guide to Network Programming as a story · 245 points
HN discussionhttps://beej.us/guide/bgipc/html/multi/index.html is also good
Comment linking /guide/bgipc/html/multi/index.html
on “Beej's Guide to Network Programming (1994-2020)”Submitted Goto (2007) as a story · 243 points
HN discussionI don't have any one complete book that I can recommend, and I don't even really have a great reading list for this. But I'll make an attempt to share what I think is useful as a starting point. 1. Systems Operations is first and foremost about understanding systems, in all of their complexity, which means understanding the internals of your OS primarily. 2. Performance and networking, in particular, are super impor…
Comment linking /guide/bgnet/
on “My £4 a month server can handle 4.2M requests a day”Submitted Beej's Guide to Unix IPC (2015) as a story · 220 points
HN discussionYou can make a living as a frontend dev without having to touch those topics much. Other devs: desktop app devs, mobile devs, backend devs, devops devs, network devs, data scientists, game devs get exposed to those a little bit more. If you are interested in learning a lot of those at the same time, write a server in C. https://beej.us/guide/bgnet/html/multi/index.html
Comment linking /guide/bgnet/html/multi/index.html
on “Things I Don’t Know as of 2018”Submitted Adding Mastodon Comments to Your Blog as a story · 195 points
HN discussionI'm still reading through the article, but I have to say that I'm pleasantly surprised by QUIC and HTTP/3. I first learned socket programming around the fall of 1998 (give or take a year) in order to write a game networking layer: https://beej.us/guide/bgnet/ Here are just a few of the immediately obvious flaws I found: * The UDP checksum is only 16 bits, when it should have been 32 or arbitrary * The UDP header is…
Comment linking /guide/bgnet/
on “HTTP/3 explained”Submitted Beej's Quick Guide to GDB (2009) as a story · 174 points
HN discussionUsing your language of choice: You open a socket on a port, listen for connections, when connection from client arrives read bytes from the socket, parse http request from those bytes, do something that may yield bytes in response, write the response bytes to the socket, close the socket (optional). https://beej.us/guide/bgnet/
Comment linking /guide/bgnet/
on “Websocketd”Submitted Beej's Guide to Network Programming (2012) as a story · 170 points
HN discussion- operating system in three easy pieces ( https://pages.cs.wisc.edu/~remzi/OSTEP ) is incredible for learning OS internals - beej's networking guide is the best thing for network layer stuff https://beej.us/guide/ - explained from first principles great too https://explained-from-first-principles.com/ - pintos from Stanford https://web.stanford.edu/class/cs140/projects/pintos/pintos_...
Comment linking /guide/
on “Let's Build the GPT Tokenizer [video]”Submitted Beej's Guide to Learning Computer Science as a story · 152 points
HN discussionTopics to study should include: Unix IPC, signals and syscalls, filesystem and kernel implementation details, and network/socket programming. Being able to read and write C programs goes a really long way. Beej's guides are a good resource. I learned a lot from them. Guide to network programming: https://beej.us/guide/bgnet/html/multi/index.html Guide to Unix IPC: https://beej.us/guide/bgipc/ The Unix Programming En…
Comment linking /guide/bgipc/
on “Ask HN: What should a systems/low-level software engineer know?”Submitted Beej's Guide to Unix IPC (2010) as a story · 148 points
HN discussion