class: title # UNIX and "Worse is Better" ## CSC 213 – December 8, 2025 --- # Agenda for Today 1. Department Events 2. Upcoming Work 3. Reading Discussion 4. Wrap Up --- # Department Events ## CS Table: Nvidia and OpenAI Infrastructure .indent[ Tuesday, December 9th at noon in JRC 224C ] *To receive 0.25% extra credit, send an email to let me know you attended no more than 48 hours after the event.* --- class: section, blue # Upcoming Work --- # Lab: P2P **Due:** Wednesday, December 10th by 11:59pm **Late Deadline:** Wednesday, December 17th by 11:59pm ## Q&A **What can we send through sockets?** You can transmit any bytes you want, whether they are individual characters or the bytes that make up a struct filled with all different types of data. The one thing you probably don't want to transmit is a **pointer**, since that pointer is only valid in the address space of the process that created it. --- # Project **Presentations:** Thursday, December 18th during final exam time **Implementation Due:** Friday, December 19th by 5pm *(college-mandated deadline)* Keep in touch with your project groups, and make sure you're prioritizing tasks that help you cover course concepts. --- class: section, blue # Reading Discussion --- # *Worse is Better:* Basic Concepts Instead of our usual pairs, we will switch to small groups (3–5 students) after an initial reflection period. -- **Questions for think, pair, share:** 1. What is the MIT approach? 2. What is the New Jersey approach? *Start by thinking of answers on your own. I will let you know when to start discussion.* --- # *Worse is Better:* Author's Perspective **Questions for think, pair, share:** 1. Why does Gabriel refer to C and UNIX as "the ultimate computer viruses?" 2. Which approach do you think Gabriel prefers? Why does he prefer it? *Start by thinking of answers on your own. I will let you know when to start discussion.* --- # *Worse is Better:* Your Perspective **Questions for think, pair, share:** 1. Which approach do you prefer? Why? 2. Which approach are using for your final project? Why? *Start by thinking of answers on your own. I will let you know when to start discussion.* --- # UNIX: Basics **Questions for think, pair, share:** 1. What is UNIX? 2. When and where was UNIX developed? 3. Why was UNIX developed? *Start by thinking of answers on your own. I will let you know when to start discussion.* --- # UNIX: Good Ideas **Questions for think, pair, share:** 1. What ideas from UNIX have had long-term impact? 2. Why do you think those ideas had impact over such a long period? *Start by thinking of answers on your own. I will let you know when to start discussion.* --- # UNIX: Less-Good Ideas **Questions for think, pair, share:** 1. What ideas in UNIX have changed significantly since the original version? 2. Why do you think these these ideas didn't last? *Start by thinking of answers on your own. I will let you know when to start discussion.* --- # Discussion: Takeaways **Questions for think, pair, share:** 1. Does either reading change how you think about building systems? How? *Start by thinking of answers on your own. I will let you know when to start discussion.* --- class: section, blue # Wrap Up --- # Reminders ## Lab The P2P lab is due this Wednesday. Make sure you have a plan to work with your group. ## Project Continue work on your projects. Talk to me if you run into major issues or if you need to make a big change in your project plans. ## Need Help? My office hours schedule is back to normal, and mentor sessions are continuing on their regular schedule. I will have office hours during finals week, but it will be on a different schedule. The updated schedule should be available before Friday this week.