Posts

Showing posts with the label teaching

Getting schooled by AI, colleges must evolve

As we enter the age of AI, it becomes more important for knowledge workers to excel in their strengths, and aim big for some strikes instead of settling for a comfortable average all around. How can colleges reform to endow graduates better? Here are my opinions, for what they are worth. Human skills for the AI era In the age of AI, doing rather than knowing becomes more important. Shallow information is worthless, but mastery of principles, critical thinking, and synthesis is priceless. Colleges should teach collaboration, entrepreneurship/innovation, communication/writing, and critical thinking and problem solving skills. How can colleges reform to cultivate these skills? First, they should transition from zero-sum mentality to the win-win mentality. This is not easy, because the system has been built on making students compete against each other and stack-ranking them. I don't know what kind of structural changes and scaffolding can help for this. I have some practical advice ...

How to make Zoom teaching suck less

Here are some tips I learned doing remote teaching last semester. I am putting them out here hoping that they help some teachers and students. Many of these tips will also be useful for remote workers in meetings and presentations. Start the class with initial chitchat The students are stressed, and initial chitchat is the least bit we can do to help. By opening the Zoom meetings 10 minutes early, and making comments about the weather, or some recent news or trivia, I found that students were ready to chime in and socialize before class.  Making your pet a part of this will melt the students' hearts. For the occasions when I could convince Pasha to cooperate for a couple minutes, that was an absolute crowd pleaser. It made everyone start talking about their pets as well. I think it would be useful to use props, like different costumes/hats or decors related to the day's lecture,  but I didn't have any good ideas of how to do this. Use informal yes/no polls frequently To kee...

Mathematics for human flourishing (book review)

Image
Math is often seen as a cold reclusive discipline. This books talks about the beautiful and graceful side of math. It talks about the role of math in flourishing and achieving a fulfilled life . It talks about how math speaks not  just to the mind but also to the heart as well, and how it is possible to enjoy math, and do this collectively as flourishing communities.   Math got its ill reputation because of the way it is taught. I wrote several times about my gripes on this.   "The Bourbaki program was the extreme expression of the Cartesian style. It narrowed the scope of mathematics by excluding the beautiful flowers that Baconian travelers might collect by the wayside." The goals of introducing generality and rigor in the Bourbaki process are great but that should not (and does not) imply shunning the presentation of the thought-processes that led to these results. Our job is to communicate to other humans and the goal of formalizing things should be to make thin...

Zoom, zoom, zoom

The new school year is on its way. My daughter is a kindergartener, my other daughter is a fourth grader, and my son is an eight grader. They will all be attending school as remote. It is going to be a challenging school year for all of us. The school offered a hybrid version of 2 days of in-person teaching followed by a day of remote teaching, and assignments. But we chose the all remote version. Our reasoning was that these schools will all be converting to remote in a month or two anyways, so why keep up the facade. A better strategy for the schools would be to keep it simple, and put all their preparation efforts for a fully online platform. I think most of the reason for putting up the facade is because of the pressure from the parents who are unable to accept this new reality.  For my little daughter we sure had imagined this year differently. We were thinking that she would be holding hands with her older sister, sharing seats on the school bus ride to school and back, and h...

Learning about distributed systems: where to start?

This is definitely not a "learn distributed systems in 21 days" post. I recommend a principled, from the foundations-up, studying of distributed systems, which will take a good three months in the first pass, and many more months to build competence after that. If you are practical and coding oriented you may not like my advice much. You may object saying, "Shouldn't I learn distributed systems with coding and hands on? Why can I not get started by deploying a Hadoop cluster, or studying the Raft code." I think that is the wrong way to go about learning distributed systems, because seeing similar code and programming language constructs will make you think this is familiar territory, and will give you a false sense of security. But, nothing can be further from the truth. Distributed systems need radically different software than centralized systems do.  --A. Tannenbaum This quotation is literally the first sentence in my distributed systems syllabus. Inst...

Book Review. Made to stick: why some ideas survive and others die

This book from 2007 was an easy and fun book to read. The book gives tactics for making ideas/concept stick in peoples minds. This is not just useful for marketing purposes, but also for teaching, presenting, and research exposition. The book gives the following formula for stickiness: tell Simple, Unexpected, Concrete, Credible, and Emotional Stories. SUCCESS! Acronyms help for stickiness. Notice how close the advice in the "Talk like TED" book mirrors the advice here. For me this is what stuck from the book. (Note that this follows the SUCCESS formula.) Nora Ephron is a screenwriter whose scripts for Silkwood, When Harry Met Sally, and Sleepless in Seattle have all been nominated for Academy Awards. Ephron started her career as a journalist for the New York Post and Esquire. She became a journalist because of her high school journalism teacher.  Ephron still remembers the first day of her journalism class. Although the students had no journalism experience, th...

CSE 610 Distributed Consensus, Decentralized Ledgers, and Blockchains

Image
This semester I am teaching a small research course on Distributed Consensus, Decentralized Ledgers, and Blockchains. Blockchains! You? One should be able to call bullshit when one sees bullshit. In this blog, I did that several times for certain claims about blockchains technology.  But, just because of some stupid/hyped-up claims and some first-generation inefficient implementations, it is unacceptable to make fun of and ridicule the entire blockchains field. (Yes, it is definitely a field, when a Turing Award winner and a strong candidate for Turing Award publishes papers on the topic. ) A researcher should not use a broad brush to paint. Truth is multidimensional. Even when parts of a field is impractical right now, that doesn't justify putting the entire field down. P2P was impractical. It lost to the centralized model. But the best ideas from those work found their way to traditional datacenter computing. The distributed hash table idea got adopted for distributed...

Distributed systems analogies

Image
I start my distributed systems class each semester with a video of a murmuration of starlings. I tell the students that this still qualifies for a distributed system, because the definition fits: A collection of autonomous nodes communicating to address a problem collectively, with no shared memory and no common physical clock. Just from simple local actions of each starling (i.e., that of readjusting position with respect to neighbors) a global behavior of the murmuration emerges in poetic beauty. I like this analogy pedagogically because it is very visual. What I don't like about the analogy is that the specification of the global behavior is lax. The starlings don't crash into each other, fine, but there is no other constraint about the global behavior of the murmuration. No constraints there. The murmuration can go to any direction, split, rejoin, etc. What could be a better analogy for a distributed system? To answer this question, let's start by considering a...

How to speak (by Patrick Winston)

Image
On New Year's morning, I watched the above lecture by Patrick Winston, the late MIT professor, on "How To Speak". (Patrick Winston passed away in July 2019. May he rest in peace.)   I had previously covered the Winston star idea by him ; this talk provides a more general and comprehensive treatment on how to speak and present. Patrick's talk contained several new gems for me. And I thought I already know a lot about presenting. Start with an empowerment promise. Nobody cares about your talk, they care about what useful things they can learn from your talk. So make this about the audience, look at this from their perspective, and start by telling them what useful thing they will get out of this talk. Differentiate between presentations that aim to expose (a job talk or a conference talk) versus that aim to inform (a lecture). For an exposition talk, you need to get across your message in the first five minutes. You should explain the problem you solve and...

Seventh grade openhouse

Recently, I went to my son's 7th grade openhouse. It was a nice setup. They made me follow my son's daily routine, visiting the same classrooms in the same order, but with 10 minute class time where the teachers gave information about what they would be doing this year. Overall I am impressed by what I saw and heard. My main takeaways was that the school has embraced a hands-on learning curriculum, and is making very good/wise use of technology. My impression from Math, Science, ELA classes was that, the middle school is using the flipped-classroom model to a great extent. There is little lecturing and a lot of group work. The science class presentation was exciting. Instead of memorizing, the class emphasizes hypothesizing, testing, and reasoning. Art class also sounded exciting. They added new media modules. This is not surprising given that half the 12 years old population list being a YouTuber as their career choice. The art teacher said that their goal is to get t...

Teaching Paxi

Paxos family of protocols (which I refer to as Paxi) is immensely useful for building distributed systems due to their excellent fault-tolerance properties. Many cloud computing services and distributed databases employ Paxi for state machine replication (SMR). Paxi preserve the safety of consensus problem (no two nodes commit different values for the same slot) even to the face of a fully asynchronous execution, crash faults, message losses, and network partitions. Paxi satisfy liveness of consensus problem (some value is eventually committed for the slot) when the system moves outside the realm of the coordinated attack and FLP impossibility results. Paxi are perennially misunderstood and their sophistication underrated. While there has been a lot of work on Paxi, we have been able to explore only a fraction of the algorithm design space. A striking evidence of this arrived in 2016, where we had a flexible quorum breakthrough after 30 years, which no one had anticipated. There ...

Avalanche is a descendent of Texel

When I first skimmed the Texel paper (which was released on August 28 2019) , I could see parallels between Texel and Avalanche , and noted those in the third paragraph of my review . But I had missed the footnote in the Texel paper which said that Texel was originally written in 2010. I thought Texel was new, and was speculating that it may be a more deterministic version of Avalanche, that is applied to crash tolerant distributed consensus. After writing two more blog posts on modeling Texel in TLA+ and understanding it better, I now think Texel formed a basis that Avalanche descended from. Texel provided an asynchronous and truly-leaderless  solution to consensus. Instead of appointing a leader to bring nodes to consensus (as in Paxos), Texel shows how each node can make its own mind and still achieve consensus in an asynchronous system. By adopting a leaderless solution to asynchronous consensus, Texel avoids the disadvantages of solutions that appoint a leader for achievin...

Reading list for our distributed systems class

Here is our reading list. It follows our distributed systems course schedule provided in the previous post . I tried to choose the papers that are foundational, comprehensive, and readable by a first year graduate student. In some cases, I omitted very long or hard to follow papers ---even though they may be foundational papers--- and instead included some follow up papers that summarized the concept better. I assign these papers as review material for the corresponding topic. The students then choose one from the batch and review that one critically. But I hope that the students can read all of them if possible. These papers should be all available with a Google Scholar search. Some of these papers appear in open access venues. If that is not the case, often the authors make their papers available freely at their websites, as they have the right to do. "Authors retain the right to use the accepted author manuscript for personal use, internal institutional use and for permitte...

Distributed systems course revamped

I revamped my distributed systems course. I cut out algorithms that do not have much practical use ---even though they are elegant--- such as dining philosophers, termination detection, and self-stabilizing token ring algorithms. I increased coverage of modern distributed systems (distributed databases, big data analysis systems, and cloud computing services). The new lean and mean course schedule The first 6 weeks of the course covers the fundamentals, and the second part covers the technologies that build on these foundations. Introduction, 2 phase-commit Reasoning about distributed programs, safety/progress Consensus, Paxos Failure detectors, Faults and fault-tolerance Time: logical clocks, State: distributed snapshots Datacenter computing, Cloud computing NoSQL databases, CAP theorem, Distributed databases Big data, Big data analytics Decentralized ledgers and blockchains I believe it is important to teach reasoning about distributed programs. I don't expect ...

TLA+ specification of the consistent prefix guarantee

Image
We had covered consistency properties in the recent posts . Now to keep it more concrete and to give you a taste of TLA+ , I present a model of a distributed data store that provides the consistent prefix property. In my next post, I will extend this model slightly to present bounded and strong consistency properties. And, in the post after that, I will add a client model to show how this data store can be extended to provide session consistency.  The TLA+ (well, PlusCal to be more accurate) code for this model is available here.  The system model We assume there is a write region (with ID=1) and read regions (with IDs 2 through NumRegions). The write region performs the write and copies it to the read regions. There are FIFO communication channels between the write and read regions. WriteRegion == 1 ReadRegions == 2..NumRegions chan = [n \in 1..NumRegions |-> <<>>];  The write region actions The write region has 3 actions to perform: Comm...

Popular posts from this blog

Hints for Distributed Systems Design

My Time at MIT

Scalable OLTP in the Cloud: What’s the BIG DEAL?

Foundational distributed systems papers

Advice to the young

Learning about distributed systems: where to start?

Distributed Transactions at Scale in Amazon DynamoDB

Making database systems usable

Looming Liability Machines (LLMs)

Analyzing Metastable Failures in Distributed Systems