Start thinking about what you want to do for your final project. The only requirement is that your project be fun, relevant, technically interesting, and useful (or at least very strong on two of these). You can work with any size team you want. If you have a good idea for a project and prefer to work on it instead of PS4, you can arrange to do this by convincing me your project is worthwhile by 19 March.
For inspiration, see Last Semester's cs4414 Projects.
Some Spring Break Reading
Here are some (optional but highly recommended!) readings to get you in the mood for post-Spring Break kernel hacking:
Gary Kildall and the 40th Anniversary of the Birth of the PC Operating System (David Laws, Computer History Museum)
Servo: Inside Mozilla's mission to reinvent the web browser for the multi-core age (ZDNet, 24 February 2014)
Sandvine's Global Internet Phenomena Report
Benchmarking for Customers
What does it mean to cheat on a benchmark?
How should competitive benchmarks be designed to prevent cheating?
What should you do if you want to reduce the latency of your web server for important clients in Charlottesville?
What should you do if you want to increase the bandwidth of your web server for important clients in Charlottesville?
Why is it useful to have different protocol layers in a network?
What are the drawbacks of having different protocol layers?
How does the Internet prevent zombie packets?
For your zhtta server, which protocol layer is most inefficient?
Challenge. Find a host on the Internet whose latency from Charlottesville is higher than the latency to reach Bussleton, Australia. (Post in comments below.)
What has higher bandwidth, a fiber-optic cable or an ocean liner?
What can you do to improve bandwidth?
What are the advantages and disadvantages of packet switching compared to circuit switching?
What is an internetwork?
Who "invented" the "Internet"?
History of Packets by Robbie Hott
Tim Berners-Lee's Answers for Young People:
So do you think the Web is basically been a good idea or a bad one?
Some people point out that the Web can be used for all the wrong things. For downloading pictures of horrible, gruesome, violent or obscene things, or ways of making bombs which terrorists could use.
Other people say how their lives have been saved because they found out about the disease they had on the Web, and figured out how to cure it.
I think the main thing to remember is that any really powerful thing can be used for good or evil. Dynamite can be used to build tunnels or to make missiles. Engines can be put in ambulances or tanks. Nuclear power can be used for bombs or for electrical power.
So what is made of the Web is up to us. You, me, and everyone else.
Here is my hope.
The Web is a tool for communicating.
With the Web, you can find out what other people mean. You can find out where they are coming from.
The Web can help people understand each other.
Think about most of the bad things that have happened between people in your life. Maybe most of them come down to one person not understanding another. Even wars.
Let's use the web to create neat new exciting things.
Let's use the Web to help people understand each other.