Stuff The Internet Says On Scalability For December 18th, 2015

Hey, it's HighScalability time:


In honor of a certain event what could be better than a double-bladed lightsaber slicing through clouds? (ESA/Hubble & NASA)If you like Stuff The Internet Says On Scalability then please consider supporting me on Patreon.

  • 66,000 yottayears: lifetime of an electron; 3 Gbps: potential throughput for backhaul microwave networks; 1.2 trillion: yearly Google searches; $100 trillion: global investible capital; 2.5cm: range of chip powered by radio waves; 

  • Quotable Quotes:
    • @KarenMN: He's making a database / He's sorting it twice / SELECT * from contacts WHERE behavior = 'nice' / SQL Clause is coming to town
    • abrkn: Every program attempts to expand until it has an app store. Those programs which cannot so expand are replaced by ones which can.
    • @revodavid: TIL the processor inside your Macbook's *charger* is about as powerful as the one in the original Macintosh
    • Amin Vahdat: Some recent external measurements indicate that our [Google] backbone carries the equivalent of 10 percent of all the traffic on the global Internet. The rate at which that volume is growing is faster than for the Internet as a whole.
    • Prismatic:  we also learned content distribution is a tough business and we’ve failed to grow at a rate that justifies continuing to support our Prismatic News products.
    • On General Pershing: Pershing was the way he was because he knew that winning wars was in the details. Troops who paid attention to the small things would master the big things. 
    • jbob2000: Wow! A single developer working on small websites doesn't need MVC? What a revelation! I bet he doesn't have any pesky problems, such as; working in large teams, long term support, developer turn over, documentation, changing requirements, deadlines, scaling, etc. etc. Oh, but the rendered HTML looks nice!
    • Poldrack: That was totally unexpected, but it shows that being caffeinated radically changes the connectivity of your brain
    • @ValaAfshar: Uber is less than 6 years old and now valued more than 80% of S&P 500 companies.
    • @HNTitles: Scaling Pinterest - From 0 to Startup: How We Use That. What startups use to prevent concussions
    • @Carnage4Life: Top 5 qualities of successful teams at Google 1 Failure is OK 2 Dependability 
      3 Clear structure 4 Meaning 5 Impact
    • Ustun Ozgur: The tides have changed there too. Now, you need just two endpoints: One for serving the initial HTML, one for the API endpoints. This is the essence of web programming in the future: Two endpoints to rule them all.
    • @ErlangerNick: US: 1 brewery per 78k people, 10 new breweries per week. UK: 1 brewery per 50k people, 15 new breweries per week when scaling populations.
    • jerf: When rewriting something, you should generally strive for a drop-in replacement that does the same thing, in some cases, even matching bug-for-bug
    • @EricMinick: "We found that where code deployments are most painful, you’ll find the poorest IT performance... and culture" - 2015 Puppet State of DevOps
    • @StartupLJackson: I'm going on the record to say the killer app for Bitcoin is not turning $1 of electricity into $.50 of BTC. 
    • @nntaleb: Paris blokes missed the point that it is not just temp rising, but its volatility rising more than the average! 2nd order effect=fragility
    • Julian Dunn: Unfortunately, I believe that the “large attack surface” is a fundamental design problem with containers being an evolutionary, not a revolutionary step from VMs and bare metal.
    • The Shade Tree Developer: sharing a database is like drug abusers sharing needles.
    • Joe Young: Keurig coffee machines are the bane of my trade. They are not built to last, some rarely make it a year in our business. They have no replaceable parts, so I can not fix them.
    • wh-uws: This is why slack is winning. They took many of the concepts of what makes irc great abd put a much better user experience on top. Why is that so hard for people to understand?
    • @chamath: New VC dynamics: Returns being generated by new firms. Legacy firms increasingly dated and out of touch. 
    • Phenomenology: Up to now it has been assumed that all our cognition must conform to the objects; but all attempts to find out something about them a priori through concepts that would extend our cognition have, on this presupposition, come to nothing. Hence let us once try whether we do not get farther with the problems of metaphysics by assuming that the objects must conform to our cognition. 

  • The Talk Show interviewed Apple senior vice president of software engineering Craig Federighi about Swift. The upshot wasn't anything technical, it was a feeling: If you were worried that Apple is going to dangle Swift, get you pot committed, and then pull it out from under you, that seems highly unlikely. It's clear from the interview Apple is using Swift, they are excited about Swift, and it's here to stay. Plan accordingly. John Siracusa is dead on in his discussion of garbage collection. Swift is using ARC instead of garbage collection, which is a bet on determinism winning over virtual machine based language approaches, which is a good bet IMHO, even in the age of more powerful mobile processors.

  • Elon Musk’s Billion-Dollar AI Plan Is About Far More Than Saving the World. Those AIs are so clever. How do you distribute AIs as deep and wide into society as possible? You make it free and open! That's how the AIs are going to take over, riding the open source meme to victory. 

  • It's odd how in software we try to reduce coupling at all costs, yet in biology every opportunity to communicate and create feedback loops is exploited. Maybe it's we who are doing it wrong? Cells send tiny parcels to each other: cells package various molecules into tiny bubble-like parcels called extracellular vesicles to send important messages - in sickness and health.

  • Now that's disaster planning! Elon Musk worries third World War would ruin Mars mission.

  • Speaking of disaster planning, 5 Reasons 'Star Wars' Spaceships Make Absolutely No Sens brings up a great point, the Trade Federation Droid Control Ship was a single point of failure, with a better design the whole Star Wars timeline would have been completely different. The problem: The Droid Control Ship was responsible for controlling the ground invasion force during the Battle of Naboo. The entire ground invasion force. Of 139,000 droids. When young Anakin Skywalker accidentally flew into the Droid Control Ship and set off a chain reaction that destroyed it, the entire droid force on the ground was deactivated, foiling the invasion. There was no backup control to keep the droids functioning in case the Droid Control Ship was deactivated. 

  • Key Lessons Learned from Transition to NoSQL at an Online Gambling Website: At peak times our betting platform runs at more than half a million transactions per second and must serve in excess of 2.5 million concurrent users...By moving to Erlang programming language and Riak Key Value NoSQL data store coupled with Convergent Replicated Data Types (CRDTs), we can now quickly build new systems to handle the load...Fortunately after some analysis we found that much of our data could be modelled within sets so by leveraging CRDT’s our developers don't have to worry about writing bespoke merge functions for 95% of carefully selected use cases...If we want to be market leading then we must use technology to get a business edge. To do this we need to innovate and take calculated risks - it’s crucial to think differently – and most importantly to bring the wider development teams along with the change.

  • Bacteria are more accepting of diversity than humans. Stunning diversity of gut bacteria: Any two humans typically differ by about 1 in 1,000 DNA bases, whereas bacteria of the same species may differ by as many as 250 in 1,000, Snyder said. “I don’t think people realized just how much diversity there was. The complexity we found was astounding,” he said. And even bacteria growing in an unchanging environment continue to adapt indefinitely. And and using CRISPR we'll soon have our own emacs for DNA.

  • Times have changed. Pinterest is tuning its advertising based monetization strategy. Pinterest Narrows Ad Focus to Match Users’ Interest: Pinterest Inc. is scaling back the breadth of its advertising ambitions, focusing more on attracting dollars from retailers and consumer packaged-goods companies while de-emphasizing other marketing categories.

  • Twitter is up to some mischief, for the last 6 months they've been using their own brand of a simian army framework to crash systems. Tests are driven by a YAML configuration file. Test targets are selected from an asset database. And it's finding problems, like what happens when a Top of Rack switch goes bad and there's only partial packet loss? Not something you would normally test. 

  • What’s going on ‘under the hood’ when a sleep() is executed? To understand you have to understand a little about CPUs, schedulers, CPU clocks, and interrupts, which are all explained here: CPU Clocks and Clock Interrupts, and Their Effects on Schedulers. Nicely done.

  • A harbinger of the IoT BigData deluge to come. Evolving Toward Exascale and Raising Expectations: What’s interesting, though, is that there has been a change in the source of this data as Bell explained. “It used to come from very large experiments like Large Hadron Collider (LHC) ATLAS and CMS detectors,” he said. “Now, it’s still coming from those large experiments but increasingly it’s coming from a lot more sources that are smaller and cheaper, for instance the detectors at the DOE Advanced Light Source beamline. Those are conceptually like the cameras in a mobile phone and they are getting much more high-resolution and the refresh rate is getting faster and faster. That compounded effect of high-resolution and faster refresh rates means that individual detectors are capable of sending out 10 Gbps or much more and soon this will be 80-100 Gbps.”

  • Need some gravitas for your next Internet argument defending your favorite language? Here you go: Static vs. Dynamic Languages: A Literature Review.

  • A 78 page power point from Chris Butcher, Engineering Director at Bungie, on Learning from the Core Architecture of Destiny. Way too much to make sense of here, but if you are interested in game programming it's a great read.

  • With their new $80 million fund Slack is trying to become a platform/ecosystem. All the usual warnings about basing your business model on someone elses platform apply, but in this case it seems extensions will increase the overall value of Slack, so it's probably safe, interests are aligned, just don't pick an idea Slack will likely implement in the near term.

  • An awesome story of serendipity. Inside Deep Dreams: How Google Made Its Computers Go Crazy: We all know that artificial neural nets are computational and have no “minds.” Yet one could not help but intuit that the results were some kind of window into the neural net’s subconscious.

  • Something to learn from. Postmortem: Outage due to Elasticsearch’s flexibility and our carelessness. They kept old indexes around so when a failure occurred in the index building process traffic could be forwarded to the old indexes. Though stale data was being served, it's still a smart strategy. The bug was related to JSON and a schema-lessness that wasn't. After a fix was created, as often happens, even more problems occurred. Lesson: before pushing into production run a complete system test suite, not just tests on the feature being coded. 

  • Interesting thought: Software has diseconomies of scale - not economies of scale: Software development does not have economies of scale. In all sorts of ways software development has diseconomies of scale. If software was sold by the pint then a four pint carton of software would not just cost four times the price of a one pint carton it would cost far far more.

  • This also captures software quite well. What is the 'braided stream' analogy for human evolution?: The “braided stream” analogy captures different information about human origins than the usual branching tree. The branches of a tree do not reconnect with each other above the point where they initially separate. A tree will never admit to exchanging sap between its branches, and there are no little xylem hyphae between branches to carry sap anyway. Our evolution was truly a network in which multiple populations existed and contributed to our process of adaptation.

  • Rock and roll will never die. When the Soviets Banned Rock Music, Teens Used X-rays to Bootleg Records.

  • Here's the architecture behind Battle for Wesnoth, a turn-based tactical strategy game with a high fantasy theme: One of the key lessons a reader should take away from Wesnoth's efforts is to consider the challenges faced by lesser skilled programmers. It requires an awareness of what blocks contributors from actually performing coding and developing their skills. For example an individual might want to contribute to the program but does not possess any programming skills. Dedicated technological editors like emacs or vim possess a significant learning curve that might prove daunting for such an individual. Thus WML was designed to allow a simple text editor to open up its files, giving anybody the tools to contribute.

  • GovernmentCommunicationsHeadquarters/Gaffer: a framework that makes it easy to store large-scale graphs in which the nodes and edges have statistics such as counts, histograms and sketches. These statistics summarise the properties of the nodes and edges over time windows, and they can be dynamically updated over time.

  • Nchan: a scalable, flexible pub/sub server for the modern web, built as a module for the Nginx web server. It can be configured as a standalone server, or as a shim between your application and tens, thousands, or millions of live subscribers. It can buffer messages in memory, on-disk, or via Redis. All connections are handled asynchronously and distributed among any number of worker processes. It can also scale to many nginx server instances with Redis. For reference, I'm projecting about 350K concurrent websocket connections on 5-year-old hardware (from tests with up to 64K). And that's just on a single machine — Nchan can be scaled out to a cluster of Nginx servers with the help of Redis.

  • deferpanic/gorump: This contains code to run Go on the Rumprun unikernel. Rumprun is a special project because it allows you to run your Go apps unmodified directly on the hypervisor of your choice such as KVM or Xen. This allows faster boot times, smaller images and a much smaller attack surface for security. We believe unikernels are the future of infrastructure.

  • Computer Science and State Machines: Computer science is largely about computation. Many kinds of computing devices have been described, some abstract and some very concrete...Computer scientists collectively suffer from what I call the Whorfian syndrome1—the confusion of language with reality. Since these devices are described in different languages, they must all be different. In fact, they are all naturally described as state machines.

  • How Do Transistors Work? NO, HOW DO THEY REALLY WORK?: Most technician textbooks do a very poor job of explaining the details of transistors' internal workings.

  • rumpkernel/drv-netif-dpdk: a DPDK network interface for rump kernels. The combined result is a userspace TCP/IP stack doing packet I/O via DPDK.