Issue #127
Hitchhikers guide to blockchain, tale of sourceforge, computers can be understood, Go Generics, std:sort at google scale and beyond.
Posts
Hitchhiker’s Guide to the Blockchain
Comprehensive series on technology behind blockchain. - #VonMarcelWaldvogel #Netfuture
“The Canary in the Coal Mine…” A cautionary tale from the decline of SourceForge
Through mixed-methods research, this article chronicles and analyze the software practice and experiences of the project's history—in particular its architectural and community/organizational decisions. We discovered a number of suboptimal social and architectural decisions and circumstances that, may have led to SourceForge's demise. - #DamianAndrewTamburri #Kelly Blincoe #Fabio Palomba #Rick Kazman #onlinelibrary
Calvin: Fast Distributed Transactions for Partitioned Database Systems
Calvin is all about pre-ordering transactions in logs in batches, and then deterministically executing this log in the same order in replicas. The key technical feature that allows Calvin scalability in the face of distributed transactions is a deterministic ordering/locking mechanism that enables the elimination of distributed commit protocols. - #MuratDemirbas
Computers are complex, but need not be mysteries. Any question we care to ask can, in principle and usually even in practice, be answered. Unknown systems can be approached with curiosity and determination, not fear.
These beliefs are a huge aspect of how I — and many other experienced engineers I know — approach software engineering. - #NelsonElhage
Changing std::sort at Google’s Scale and Beyond
TL;DR; We are changing std::sort
in LLVM’s libcxx. That’s a long story of what it took us to get there and all possible consequences, bugs you might encounter with examples from open source. We provide some benchmarks, perspective, why we did this in the first place and what it cost us with exciting ideas from Hyrum’s Law to reinforcement learning. -#DanilaKutenin #danlark
The complete guide to protecting your APIs with OAuth2
While OAuth can be complex, it handles a large number of use cases. You separate out the concern of authentication to a specialized component, while using a standardized temporary credential (the token) in the rest of your system. In addition, by using OAuth, you leverage standards and expertise from all over the world. - #Dan Moore
If you find yourself writing the exact same code multiple times, where the only difference between the copies is that the code uses different types, consider whether you can use a type parameter.
Another way to say this is that you should avoid type parameters until you notice that you are about the write the exact same code multiple times. -#IanLanceTaylor
The Scoop: Inside the Longest Atlassian Outage of All Time
Hundreds of companies have no access to JIRA, Confluence and OpsGenie. What can engineering teams learn from the poor handling of this outage? -#GergelyOrosz
How to Freaking Find Great Developers By Having Them Read Code
I can quickly train a person to have knowledge in some domain, but I’ve never seen raw coding ability come from anything other than personal commitment to extensive and deep practice. Because of this, I have found that some methods work better than others to discover talent. -#freakingrectangle
You’re an engineer. You solve problems* by designing solutions to them that run on really advanced calculators. You do this for a reason. Perhaps that reason is that you are overwhelmingly concerned with the speed and logistics of grocery delivery, or maybe you’d just like to buy some groceries for yourself at the end of the month. Whatever the reason, you solve problems, and you’re likely damn good at it (the solving of problems that is, not delivering groceries).
But you need to Be less technical when describing and thinking about how to solve those far-reaching problems and the atomic** ones that occur along the way. -#Shivan
Video
David Patterson - A New Golden Age for Computer Architecture: History, Challenges and Opportunities