https://muratbuffalo.blogspot.com/2021/03/your-attitude-determines-your-success.html?m=1 Skip to main content Search This Blog [ ] [Search] Metadata On distributed systems broadly defined and other curiosities. The opinions on this site are my own. Your attitude determines your success * Get link * Facebook * Twitter * Pinterest * Email * Other Apps - March 13, 2021 This may sound like a cliche your dad used to tell, but after many years of going through new areas, ventures, and careers, I find this to be the most underrated career advice. This is the number one advice I would like my kids to internalize as they grow up. This is the most important idea I would like every one undertaking a new venture to know. If you think you are not good enough, it becomes a self-fulfilling prophecy. If you think you are not enjoying something, you start to hate it. I gave examples of this several times before. Let's suffice with this one: In graduate school, I had read "Hackers: Heroes of the Computer Revolution" from Steven Levy and enjoyed it a lot. (I still keep the dog eared paper copy with affection.) So, I should have read Steven Levy's Crypto book a long time ago. But for some reason, I didn't...even though I was aware of the book. I guess that was due to a stupid quirk of mine; I had some aversion to the security/ cryptography research. I don't know why. Maybe it was because I had sat through a couple of bad security/cryptography talks (a similar aversion happened to me after a bad networking course). Another reason, I regret to admit, may be that I had some distributed systems snobbery going on that time. I was so into the distributed systems/ algorithms area that I was quick to label AI, security, and this, and that as uninteresting or useless *to me*. I wish I could have been more open minded. I am sure reading this book then would have changed my outlook toward security and cryptography. Success depends on emotion management "It isn't the mountains ahead to climb that wear you out; it's the pebble in your shoe." --Muhammad Ali It is important to always be mindful of your emotions and manage them well if you want to succeed in your journey. Your emotions determine your attitude, and your attitude determines your progress, resilience, and eventually your success. For any failed venture, there is often a critical point after which things start to turn sour which eventually leads you to quit. With hindsight of several months and with a cooler head, you can identify that point. But it is important to keep a constant check on your emotions and attitude and catch these moments, so you don't stop digging only feets from gold. To manage your emotions well, it helps to be deliberate about how you manage and replenish your energy as well. I am not saying everything will be pinky-rosy. You will need to be prepared for failures. But you can frame your failures better if you cultivate a growth mindset, and even derive motivation and energy from them. Often things aren't going that bad, and most of the bleak perception is in your head. And even when things are challenging, you can roll up your sleeves and say, "I knew challenges would arise, I love a good challenge", and get after it. It all depends on what stories you are telling yourself. Manage the stories you tell yourself The stories we tell ourselves (knowingly or unknowingly) are very important, because they determine how we manage our emotions, which in turn determine our success. I wrote about how you can fool yourself for good purpose earlier. You should cherish your small successes, to build motivation. You might get demoralized from failures, but you can reframe them to learn from them, and use them as leverage to drive to your next small success. You can even change the narrative on failures as a setback in your hero's journey. Finally, being informed about the process helps. As I talked about earlier, there are many false starts in research. You feel high one day, low another day. This doesn't change even as you get experience. But as you get experience, you know that this is part of the terrain, and you don't let this get you down. my advice research-advice * Get link * Facebook * Twitter * Pinterest * Email * Other Apps Comments Post a Comment Popular posts from this blog Foundational distributed systems papers - February 27, 2021 I talked about the importance of reading foundational papers last week. To followup, here is my compilation of foundational papers in the distributed systems area. (I focused on the core distributed systems area, and did not cover networking, security, distributed ledgers, verification work etc. I even left out distributed transactions, I hope to cover them at a later date.) I classified the papers by subject, and listed them in chronological order. I also listed expository papers and blog posts at the end of each section. Time and State in Distributed Systems Time, Clocks, and the Ordering of Events in a Distributed System. Leslie Lamport, Commn. of the ACM, 1978. Distributed Snapshots: Determining Global States of a Distributed System. K. Mani Chandy Leslie Lamport, ACM Transactions on Computer Systems, 1985. Virtual Time and Global States of Distributed Systems. Mattern, F. 1988. Expository papers and blog posts There is No Now . Justin Sheehy, ACM Queue 2015 Why Logical Clock Read more Cores that don't count - June 06, 2021 This paper is from Google and appeared at HotOS 2021 . There is also a very nice 10 minute video presentation for it. So Google found fail-silent Corruption Execution Errors (CEEs) at CPU/cores. This is interesting because we thought tested CPUs do not have logic errors, and if they had an error it would be a fail-stop or at least fail-noisy hardware errors triggering machine checks. Previously we had known about fail-silent storage and network errors due to bit flips, but the CEEs are new because they are computation errors. While it is easy to detect data corruption due to bit flips, it is hard to detect CEEs because they are rare and require expensive methods to detect/correct in real-time. What are the causes of CEEs? This is mostly due to ever-smaller feature sizes that push closer to the limits of CMOS scaling, coupled with ever-increasing complexity in architectural design. Together, these create new challenges for the verification methods that chip makers use to detect diverse Read more Progress beats perfect - August 06, 2021 Image This is a favorite saying of mine. I use it to motivate myself when I feel disheartened about how much I have to learn and improve. If I do a little every day or every week, I will get there. If I get one percent better each day for one year, I'll end up thirty-seven times better by the end of the year. $1.01^{365}=37.78$ Years ago I had read this idea in one of John Ousterhouts life lessons, and it stuck with me. "A little bit of slope makes up for a lot of y-intercept" Recently I noticed another advantage of progress over perfect. The emotional advantage. Progress is better because it makes you feel better as you see improvement. You are getting there, you are making ... progress. Progress is growth mindset . You have an opportunity ahead of you. Perfect feels bad.. It puts you on defense. You have to defend the perfect, you have to keep the appearances. You can only go downwards from perfect, or maintain status quo. Progress gives you momentum. As long as you manag Read more Silent data corruptions at scale - June 12, 2021 Image This paper from Facebook (Arxiv Feb 2021) is referred in the Google fail-silent Corruption Execution Errors (CEEs) paper as the most related work. Both papers discuss the same phenomenon, and say that we need to update our belief about quality-tested CPUs not having logic errors, and that if they had an error it would be a fail-stop or at least fail-noisy hardware errors triggering machine checks. This paper provides an account of how Facebook have observed CEEs over several years. After running a wide range of silent error test scenarios across 100K machines, they found that 100s of CPUs are identified as having these errors, showing that CEEs are a systemic issue across generations. This paper, as the Google paper, does not name specific vendor or chipset types. Also the ~1/1000 ratio reported here matches the ~1/1000 mercurial core ratio that the Google paper reports. The paper claims that silent data corruptions can occur due to device characteristics and are repeatable at scale Read more My Distributed Systems Seminar's reading list for Fall 2020 - August 28, 2020 For the Fall semester distributed systems seminar, we will discuss these papers: Bipartisan Paxos: A Family of Fast, Leaderless, Modular State Machine Replication Protocols eXtreme Modelling in Practice Starling: A Scalable Query Engine on Cloud Function Services Lambada: Interactive Data Analytics on Cold Data using Serverless Cloud Infrastructure Tiered Replication: A Cost-effective Alternative to Full Cluster Geo-replication Scalable State-Machine Replication Designing Distributed Systems Using Approximate Synchrony in Data Center Networks Armada: Low-Effort Verification of High-Performance Concurrent Programs Ocean Vista: Gossip-Based Visibility Control for Speedy Geo-Distributed Transactions Consolidating Concurrency Control and Consensus for Commits under Conflicts Tales of the Tail: Hardware, OS, and Application-level Sources of Tail Latency Near-Optimal Latency Versus Cost Tradeoffs in Geo-Distributed Storage Scaling Symbolic Evaluation for Automated Veri Read more Learning about distributed systems: where to start? - June 10, 2020 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 Read more Read papers, Not too much, Mostly foundational ones - February 20, 2021 Here is my advice to people who want to develop competence and expertise in their fields. Read papers By papers, I mean technical research papers, not white papers or blog posts. By read, I mean read rigorously and critically . Not too much If you read rigorously and critically, you cannot read too many papers. Moreover, learning by doing is the only way to internalize and grok a concept. If you read papers all day, you don't have time to try things yourself. If you are a PhD student, maybe read two or three papers a week (but, remember, rigorously and actively). If you are not in academia, maybe read one paper a week or two. Mostly foundational ones While there are exceptions, it is better to prioritize: seminal work over incremental work, general principled work over point-solutions, work introducing techniques/tools over work applying techniques A big exception is good expository papers. Unfortunately, the academia treats them as something the cat dragged in, because they Read more Sundial: Fault-tolerant Clock Synchronization for Datacenters - March 21, 2021 Image This paper appeared recently in OSDI 2020 . This paper is about clock synchronization in the data center. I presented this paper for our distributed systems zoom meeting group . I took a wider view of the problem by explaining time synchronization challenges and fundamental techniques to achieve precise time synchronization. I will take the same path in this post as well. It is a bit circuitous road, but it gives a scenic pleasurable journey. So let's get going. The benefits of better time synchronization For any distributed system, timestamping and ordering of events is a very important thing. Processes in a distributed system run concurrently without knowing what the other processes are doing at the moment. Processes learn about each other's states only by sending and receiving messages and this information by definition come from the past state of the nodes. The process needs to compose the coherent view of the system from these messages and all the while the system is movi Read more I have seen things - March 06, 2020 Image I still don't have any idea what Instagram or Facebook stories is. Tried Googling and still don't have a good idea about it. -- Murat Demirbas (@muratdemirbas) March 5, 2020 Yesterday Twitter spoke and told me that I am an old man, with overwhelming decisiveness. If this has been with any more votes, I would be declared part of the vulnerable population for Corona virus, one of the expendables as people seem to refer to them. Twitter followers... I thought we were friends! But, Ok, I get the point. I have seen things. I was born in 1976. I understand that in the eyes of millennials 1976 is around the same time period as 1796. My son sometimes asks me if TV was invented when I was a child. Yes, we had a black and white TV when I was growing up. And a dial phone, that was tethered to the wall. At 7th grade, my dad got us a Commodore 64, and I played Boulderdash, Load Lode runner, Falcon Patrol etc. At 9th grade, I saw the TV broadcasting the first Gulf War. I d Read more Powered by Blogger Theme images by Michael Elkan Murat Demirbas My photo Murat I am a principal applied scientist at AWS S3 Automated Reasoning Group. On leave as a computer science and engineering professor at SUNY Buffalo. I work on distributed systems, distributed consensus, and cloud computing. You can follow me on Twitter. Visit profile Recent Posts * 2021 30 + August 2 + July 2 + June 12 + May 1 + April 1 + March 4 o Book review. Storyworthy: Engage, Teach, Persuade,... o Sundial: Fault-tolerant Clock Synchronization for ... o Your attitude determines your success o Defending Computer Science & Engineering in a life... + February 4 + January 4 * 2020 76 + December 3 + November 7 + October 4 + September 1 + August 3 + July 6 + June 11 + May 9 + April 8 + March 8 + February 7 + January 9 * 2019 65 + December 10 + November 14 + October 6 + September 13 + July 3 + June 3 + May 4 + April 6 + March 2 + February 1 + January 3 * 2018 71 + December 4 + November 7 + October 2 + September 2 + August 8 + July 2 + June 4 + May 9 + April 6 + March 9 + February 5 + January 13 * 2017 77 + December 15 + November 15 + October 5 + September 8 + August 10 + July 3 + June 3 + May 3 + April 4 + February 4 + January 7 * 2016 42 + December 7 + November 9 + October 3 + September 1 + July 4 + June 5 + May 1 + April 4 + March 2 + February 2 + January 4 * 2015 34 + December 3 + November 2 + October 3 + September 2 + August 3 + June 1 + May 1 + April 6 + March 6 + February 4 + January 3 * 2014 29 + November 4 + October 4 + September 6 + August 2 + July 2 + June 3 + March 3 + February 4 + January 1 * 2013 25 + December 1 + November 2 + August 2 + July 4 + June 2 + May 5 + April 8 + January 1 * 2012 18 + December 1 + November 7 + October 1 + September 2 + August 1 + May 2 + March 1 + February 1 + January 2 * 2011 38 + December 3 + September 5 + June 1 + May 5 + April 5 + March 5 + February 9 + January 5 * 2010 31 + December 6 + November 9 + October 9 + September 7 * 2007 1 + August 1 Show more Show less Topics auditability5 automated reasoning2 Azure9 bestof4 big-data19 Blockchain39 book-review48 chaos2 consistency22 Cosmos DB10 CosmosDB11 dataflow7 distributed consensus37 distributed transactions 2 facebook12 failures16 fault-tolerance35 formal methods9 graph-processing1 humans9 indexing3 links2 mad-questions42 misc94 mlbegin7 mldl25 mobile2 my advice15 my-paper10 paper-review127 paxos 39 presenting4 programming5 reading-group22 research-advice41 research-question42 Rust2 scheduling3 seminar9 serverless1 smartphones2 sonification1 stabilization5 stream-processing10 teaching30 tensorflow11 time8 time synchronization1 tla38 trip-report 17 wpaxos5 writing25 Show more Show less Pageviews