September/October 2020 issue of acmqueue The September/October 2020 issue of acmqueue is out now

Subscribers and ACM Professional members login here



November/December 2020


Escaping the Singularity:
Baleen Analytics


  Pat Helland

Large-scale filtering of data provides serendipitous surprises.

Data analytics hoovers up anything it can find and we are finding patterns and insights that weren't available before, with implications for both data analytics and for messaging between services and microservices. It seems that a pretty good understanding among many different sources allows more flexibility and interconnectivity. Increasingly, flexibility dominates perfection.

Escaping the Singularity, Data


Case Study:
Always-on Time-series Database:
Keeping Up Where There's No Way to Catch Up


A discussion with Theo Schlossnagle, Justin Sheehy, and Chris McCubbin

What if you found you needed to provide for the capture of data from disconnected operations, such that updates might be made by different parties at the same time without conflicts? And what if your service called for you to receive massive volumes of data almost continuously throughout the day, such that you couldn't really afford to interrupt data ingest at any point for fear of finding yourself so far behind present state that there would be almost no way to catch up?

Case studies, Databases


 



September/October 2020


Everything VPN is New Again

  David Crawshaw

The 24-year-old security model has found a second wind.

The VPN (virtual private network) is 24 years old. The concept was created for a radically different Internet from the one we know today. As the Internet grew and changed, so did VPN users and applications. The VPN had an awkward adolescence in the Internet of the 2000s, interacting poorly with other widely popular abstractions. In the past decade the Internet has changed again, and this new Internet offers new uses for VPNs. The development of a radically new protocol, WireGuard, provides a technology on which to build these new VPNs.

Networks


Commit to Memory:
Battery Day


  Jessie Frazelle

A closer look at the technology that makes portable electronics possible

Tesla held its first Battery Day on September 22, 2020. The Tesla team didn't just look at one angle but all the angles: cell design, manufacturing, vehicle integration, and materials. If Tesla were to achieve 400 watt-hours per kilogram, a zero-emissions jet just might be on the horizon.

Commit to Memory, Hardware


Case Study:
Differential Privacy


The Pursuit of Protections by Default

A discussion with Miguel Guevara, Damien Desfontaines, Jim Waldo, and Terry Coatta

First formalized in 2006, differential privacy is an approach based on a mathematically rigorous definition of privacy that allows formalization and proof of the guarantees against re-identification offered by a system. While differential privacy has been accepted by theorists for some time, its implementation has turned out to be subtle and tricky, with practical applications only now starting to become available. To date, differential privacy has been adopted by the U.S. Census Bureau, along with a number of technology companies, but what this means and how these organizations have implemented their systems remains a mystery to many.

Case studies, Privacy and Rights


Drill Bits:
Decentralized Computing


  Terence Kelly

Feeding all relevant inputs to a central solver is the obvious way to tackle a problem, but it's not always the only way. Decentralized methods that make do with only local communication and local computation are sometimes the best way. This episode of Drill Bits reviews an elegant protocol for self-organizing wireless networks that can also solve a seemingly impossible social networking problem. The protocol preserves privacy among participants and is so simple that it can be implemented with pencil, paper, and postcards. Example software implements both the decentralized protocol and a centralized solver.

Code, Development, Distributed Computing, Drill Bits, Software Design


Kode Vicious
Kabin Fever


KV's guidelines for KFH (koding from home)

Let me invite you to my next Zoom meeting on how to host Zoom meetings! As a devotee of mobile computing and remote work from my earliest days at university, I have, over time, developed a number of useful habits for maintaining a good and productive working rhythm, and I've found that many of these apply well to those of you who are newly working from home.

Business and Management, Development, Kode Vicious


Everything Sysadmin:
The Time I Stole $10,000 from Bell Labs


  Thomas A. Limoncelli

Or why DevOps encourages us to celebrate outages.

If IT workers fear they will be punished for outages, they will adopt behavior that leads to even larger outages. Instead, we should celebrate our outages: Document them blamelessly, discuss what we've learned from them openly, and spread that knowledge generously. An outage is not an expense. It is an investment in the people who have learned from it. We can maximize that investment through management practices that maximize learning for those involved and by spreading that knowledge across the organization. Managed correctly, every outage makes the organization smarter. In short, the goal should be to create a learning culture—one that seeks to make only new mistakes.

Business and Management, Everything Sysadmin, Failure and Recovery


A Second Conversation with Werner Vogels

The Amazon CTO sits with Tom Killalea to discuss designing for evolution at scale.

When I joined Amazon in 1998, the company had a single US-based website selling only books and running a monolithic C application on five servers, a handful of Berkeley DBs for key/value data, and a relational database. That database was called "ACB" which stood for "Amazon.Com Books," a name that failed to reflect the range of our ambition. In 2006 acmqueue published a conversation between Jim Gray and Werner Vogels, Amazon's CTO, in which Werner explained that Amazon should be viewed not just as an online bookstore but as a technology company. In the intervening 14 years, Amazon's distributed systems, and the patterns used to build and operate them, have grown in influence. In this follow-up conversation, Werner and I pay particular attention to the lessons to be learned from the evolution of a single distributed system, S3, which was publicly launched close to the time of that 2006 conversation.

Interviews, System Evolution, Web Services


 



July/August 2020


The Die is Cast

  Edlyn V. Levine, Ph.D.

Hardware Security is Not Assured

The future of hardware security will evolve with hardware. As packaging advances and focus moves to beyond Moore's law technologies, hardware security experts will need to keep ahead of changing security paradigms, including system and process vulnerabilities. Research focused on quantum hacking is emblematic of the translation of principles of security on the physical attack plane for emerging communications and computing technologies. Perhaps the commercial market will evolve such that the GAO will run a study on compromised quantum technologies in the not-too-distant future.

Hardware, Security


Commit to Memory:
Out-of-this-World Additive Manufacturing


  Jessie Frazelle

From thingamabobs to rockets, 3D printing takes many forms.

Popular culture uses the term '3D printing' as a synonym for additive manufacturing processes. In 2010, the ASTM (American Society for Testing and Materials) came up with a set of standards to classify additive manufacturing processes into seven categories. Each process uses different materials and machine technology, which affects the use cases and applications, as well as the economics. I went down a rabbit hole researching the various processes in my hunt to buy the best 3D printer. In this article I will share what I learned about each process, as well as some of the more interesting use cases I found along the way.

Commit to Memory, Hardware,


The Identity in Everyone's Pocket

  Phil Vachon

Keeping users secure through their smartphones

This article is meant to leave you with ideas about how to bring a hardware-backed and biometrics-based concept of user identity into your ecosystem. The goal is simple: Make it as hard as possible for attackers to steal credentials and use them at their leisure. Let's even make it difficult for users to clone their own credentials to share with other users. In addition to this protection, let's ensure that adding extra factors such as biometric authentication provides a stronger assurance of who the user is. Bringing keys and other secrets closer and closer to something that is physically attached to the user provides a stronger assurance of the identity of the user who just authenticated to the device.

Messaging, Privacy and Rights, Security


Kode Vicious
Removing Kode


Dead functions and dead features

Removing dead code from systems is one of KV's favorite koding pastimes because there is nothing quite like that feeling you get when you get rid of something you know wasn't being used. Code removal is like cleaning house, only sometimes you clean house with a flame thrower, which, honestly, is very satisfying. Since you're using a version-control system (you had better be using a VCS!), it's very easy to remove code without worry. If you ever need the code you removed, you can retrieve it from the VCS at will.

Development, Kode Vicious


Security Analysis of SMS as a Second Factor of Authentication

  Roger Piqueras Jover

The challenges of multifactor authentication based on SMS, including cellular security deficiencies, SS7 exploits, and SIM swapping

Despite their popularity and ease of use, SMS-based authentication tokens are arguably one of the least secure forms of two-factor authentication. This does not imply, however, that it is an invalid method for securing an online account.

The current security landscape is very different from that of two decades ago. Regardless of the critical nature of an online account or the individual who owns it, using a second form of authentication should always be the default option, regardless of the method chosen. In the wake of a large number of leaks and other intrusions, there are many username and password combinations out there in the wrong hands that make password spraying attacks cheap and easy to accomplish.

Messaging, Security


Drill Bits:
Efficient Graph Search


  Terence Kelly

Stop when done.

Welcome to Drill Bits, a new column about programming. This inaugural episode shows how graph search algorithms can avoid unnecessary work. A simple modification to classic breadth-first search improves the lower bound on its running time: Whereas classic BFS always requires time proportional to the number of vertices plus the number of edges, the improved "Efficient BFS" sometimes runs in time proportional to the number of vertices alone. Both asymptotic analysis and experiments show that Efficient BFS can be much faster than classic BFS. All software used in the experiments is available for download, and suggestions for further explorations are provided.

Code, Development, Drill Bits, Software Design Software Design


 



May/June 2020


Commit to Memory:
The Life of a Data Byte


  Jessie Frazelle

Be kind and rewind.

This article travels in time through various storage media, diving into how data has been stored throughout history. We start off with the state of the art in storage media in 1951 and conclude after looking at the future of storage technology. Storage has changed a lot over time; from paper tape to metal tape, magnetic tape, rope memory, spinning disks, optical disks, flash, and others. Progress has led to faster, smaller, and more performant devices for storing data.

Commit to Memory, Computer Architecture Data and Databases


Scrum Essentials Cards

  Jeff Sutherland, Ivar Jacobson, and Brian Kerr

Experiences of Scrum Teams Improving with Essence

This article presents a series of examples and case studies on how people have used the Scrum Essentials cards to benefit their teams and improve how they work.

Development


Everything Sysadmin:
Five Nonobvious Remote Work Techniques


  Thomas A. Limoncelli

Emulating the efficiency of in-person conversations

The physical world has social conventions around conversations and communication that we use without even thinking. As we move to a remote-work world, we have to be more intentional to create such conventions. Developing these social norms is an ongoing commitment that outlasts initial technical details of VPN and desktop videoconference software configuration.

Companies that previously forbade remote work can no longer deny its benefits. Once the pandemic-related lockdowns are over, many people will continue working remotely. Those who return to the office will need to work in ways that are compatible with their remotely working associates.

Business and Management, Everything Sysadmin


Data on the Outside vs. Data on the Inside

  Pat Helland

Data kept outside SQL has different characteristics from data kept inside.

This article describes the impact of services and trust on the treatment of data. It introduces the notions of inside data as distinct from outside data. The article then examines the notion of reference data and its usage patterns in facilitating the interoperation of services. Finally, JSON and SQL are seen as representations of data, and their strengths are compared and contrasted. It is common practice today to use JSON to represent data on the outside and SQL to store the data on the inside.

Data and Databases


Kode Vicious
Sanity vs. Invisible Markings


Tabs vs. spaces

Making it easy for tools to understand the structure of software is one of the keys to having tools that help programmers prepare proper programs for computers. Since the earliest days of software development, programmers have tried to build tools that show them where there might be issues in the program text. Code editors have added colorization, syntax highlighting, folding, and a host of other features in a desperate, and some might say fruitless, attempt to improve the productivity of programmers.

Kode Vicious


The History, Status, and Future of FPGAs

  Oskar Mencer, et al.

Hitting a nerve with field-programmable gate arrays

FPGAs (field-programmable gate arrays) have been hitting a nerve in the ASIC community since their inception. In the mid-1980s, Ross Freeman and his colleagues bought the technology from Zilog and started Xilinx, targeting the ASIC emulation and education markets. In parallel, Altera was founded with similar technology at its core. This article is a summary of a three-hour discussion at Stanford University in September 2019 among the authors. It has been written with combined experiences at and with organizations such as Zilog, Altera, Xilinx, Achronix, Intel, IBM, Stanford, MIT, Berkeley, University of Wisconsin, the Technion, Fairchild, Bell Labs, Bigstream, Google, DIGITAL (DEC), SUN, Nokia, SRI, Hitachi, Silicom, Maxeler Technologies, VMware, Xerox PARC, Cisco, and many others.

Computer Architecture, Processors


 



 




Older Issues