Networks

2026-08-31

Solutions to Chiang’s Networked Life

Worked solutions to all 100 homework problems in Mung Chiang's Networked Life: 20 Questions and Answers — CDMA power control, Google ad auctions and PageRank, Netflix recommendations, rating aggregation, Wikipedia, viral products, influence in social networks, six degrees, Internet topology, usage pricing, TCP congestion control, P2P, cloud, IPTV, WiFi, 4G, and fairness — with runnable jupyter-python experiments.

LAN Messenger

“tessenger” is my unsw networks assignment: a multi-client chat server in raw c — server.c (583 lines) and client.c (253), no libraries beyond pthreads and the bsd socket api (Kernighan, Brian W. and Ritchie, Dennis M., 1988). it does authentication with timed lockout, private and group messaging, presence, audit logs, and a udp side channel for peer-to-peer file transfer. this page walks the architecture, weaves in the socket theory the assignment was designed to teach, and then does something the assignment never required: an honest concurrency audit of my own submission, with the bugs demonstrated live. 𐃏

Read more >

Advanced Algorithms

The content here-in has been influenced by Mung Chiang’s Networked Life and Introduction to Algorithms by CLRS.

Read more >

What every computer science major should know

Here are my distillations of Matt’s seminal blog post: What CS Majors Ought to Know.

I have removed the imperative matter, and left the declarative material; marking off that which I have completed.

  • What should every student know to get a good job?

  • What should every student know to maintain lifelong employment?

  • What should every student know to enter graduate school?

  • What should every student know to benefit society?

Portfolio versus resume

  • Every computer science major should build a portfolio.
  • Contributions to open source should be linked and documented.

Technical communication

Specific recommendations

  • Master a presentation tool.