• Stars
    star
    512
  • Rank 86,323 (Top 2 %)
  • Language
    HTML
  • Created almost 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Beej's Guide to Network Programming source

Beej's Guide to Network Programming

This is the source for Beej's Guide to Network Programming.

If you merely wish to read the guide, please visit the Beej's Guide to Network Programming website.

This is here so that Beej has everything in a repo and so translators can easily clone it.

Build Instructions

Dependencies

Mac dependencies install (reopen terminal after doing this):

xcode-select --install                  # installs make
brew install python                     # installs Python3
brew install pandoc
brew install mactex --cask              # installs XeLaTeX
brew tap homebrew/cask-fonts
brew install font-liberation            # installs sans, serif, and mono

Build

  1. Type make from the top-level directory.

    If you have Gnu Make, it should work fine. Other makes might work as well. Windows users might want to check out Cygwin.

  2. Type make stage to copy all the build products and website to the stage directory.

  3. There is no step three.

You can also cd to the src directory and make.

make clean cleans, and make pristine cleans to "original" state.

To embed your own fonts in the PDFs, see the src/Makefile for examples.

The upload target in the root Makefile demonstrates the build steps for a complete release. You'll need to change the UPLOADDIR macro in the top-level Makefile to point to your host if you want to use that. You're free to upload whatever versions you desire individually, as well.

Build via Docker

If you don't want to mess with a local setup, you can build via Docker.

  1. Run docker build -t beej-bgnet-builder . from the top-level directory.

  2. Run docker run --rm -v "$PWD":/guide -ti beej-bgnet-builder.

    This will mount the project where the image expects it, and run make pristine all stage, leaving your ./stage directory ready to be published.

Pull Requests

Please keep these on the scale of typo and bug fixes. That way I don't have to consider any copyright issues when merging changes.

TODO

Content

  • File transfer example maybe in son of data encapsulation
  • Multicast?
  • Event IO?

Bug fixes

  • When pandoc 2.8 comes up, switch all man page subheaders to h3 and supress them from the table of contents.

More Repositories

1

bgc

Beej's Guide to C Programming source
C
278
star
2

bgipc

Beej's Guide to Unix Interprocess Communication source
Python
80
star
3

bgpython

Beej's Guide to Python Programming source
Python
46
star
4

bgnet0

Beej's Guide to Network Concepts source
Python
29
star
5

bgclr

Beej's Guide to C--Library Reference
C
21
star
6

jsgamepad

JavaScript
16
star
7

conquest

Port of the old Amiga Conquest text-based game
C
11
star
8

pl0-compiler

A simple PL/0 compiler in JavaScript
JavaScript
10
star
9

goatee

Simple file includer and macroish file processor
Python
8
star
10

Wizards-Castle-Ncurses

Ncurses version of Wizard's Castle
Rust
7
star
11

conways-life-go-wasm

Conway's Life in Go, compiled to Web Assembly
Go
5
star
12

bhg-website

Bend Hackers Guild Website
HTML
5
star
13

bcu

C Unit Testing
C
5
star
14

pdf2tiles

Convert USGS and USFS GeoPDFs to tiles useful for TMS
Shell
5
star
15

Wizards-Castle-Rust

Wizard's Castle as a vehicle for learning Rust
Rust
5
star
16

tinymmo

Little socket.io multiuser web thingy
JavaScript
4
star
17

Wizards-Castle-Info

Information and source for the classic Wizard's Castle Game (feat. The Orb of Zot!)
Visual Basic
4
star
18

miff

A simple sample file archiver
C
3
star
19

organism

C
3
star
20

bcgi

Ancient CGI library in C
C
3
star
21

lbsem

Little Book of Semaphores code
C
3
star
22

goatbrot

Command-line Mandelbrot Set generator with OpenMP support
C
3
star
23

cs344_curriculum

C
3
star
24

eggdrop

Simple SDL game as a Go learning project (WIP)
Go
2
star
25

bgitsh

Yet Another Git Access Control Wrapper
2
star
26

jscompile

Helper bash script to compile/compress JavaScript sources
Shell
2
star
27

ooptext-demo

HTML
1
star
28

flashcard-tinder

JavaScript
1
star
29

ctest

C
1
star
30

jquery-goatscroller

jQuery plugin to add scrolling regions inside <div>s
JavaScript
1
star
31

pysh

Python
1
star
32

sicp-exercises

Just working my way through SICP
Scheme
1
star
33

bggit

Makefile
1
star
34

gohammer

Hammer a webserver
Go
1
star
35

mon100

Monitoring 192.168.100.1
Go
1
star
36

jsmandel

Simple Mandelbrot set renderer in JS
JavaScript
1
star
37

gpxcrop

Python
1
star
38

connectionmanager

Go package to pass messages to named goroutines
Go
1
star
39

weird_pattern

Rust
1
star
40

websockets-demo

Chat server demo of websockets using Node
JavaScript
1
star
41

ang2html

Angband character sheet to HTML converter
Python
1
star