Debunking Misleading Benchmarks Of Redshift vs BigQuery
Publishing misleading performance benchmarks is a classic old guard marketing tactic. It’s not surprising to see old guard companies (like Oracle) doing this, but we were kind of surprised to see Google take this approach, too. So, when Google presented their BigQuery vs. Amazon Redshift benchmark results at a private…
CCTV Cameras Sold on Amazon Come with Pre-Installed Malware
I needed a simple set of good outdoor surveillance cameras for a friends home. Like everything else I buy, I turned to Amazon. I found (what seemed like) a great deal for a set of 6 poe cameras and...
Unlocking my Lenovo laptop, part 3
The decryption function If you are just joining this story you may want to start at part 1. In part 2, we discovered that a embedded controller update is performed by uploading a small 'flasher' program to the EC. This flasher program is then responsible for programming a new firmware image t
Why We Chose Kubernetes
A couple of months ago I set out to investigate some orchestration tools for Docker containers. I.e. something that would help us schedule Docker containers onto nodes in a cluster and make sure that our services stays up in case of various failures. But let’s start at the beginning, why would we need this in the…
Emoji and Deep Learning
Dango - Your Emoji Assistant
Introducing the Open Images Dataset
Posted by Ivan Krasin and Tom Duerig, Software EngineersIn the last few years, advances in machine learning have enabled Computer Vision to progres...
Lessons from a Google App Engine SRE on how to serve over 100B requests per day
In this blog post we caught up with Chris Jones, a Site Reliability Engineer on Google App Engine for the past three-and-a-half years and SRE at Google for almost 9 years, to find out more about running production systems at Google. Chris is also one of the editors of S ite Reliability Engineering: How Google Runs…
Lessons from Doom (2010)
A high-minded goal like “expand the boundaries of the medium” doesn’t always mean forging ahead in crazy new unknown directions. Sometimes it means examining lost evolutionary lines in game design – picking up ideas that were abandoned long ago and seeing if there’s any new life in them. The game I keep coming back to…
First Preview of Android N: Developer APIs and Tools
News and insights on the Android platform, developer tools, and events.
WebExtensions in Firefox 52
Firefox 52 landed in Developer Edition this week, so we have another update on WebExtensions for you. WebExtensions are becoming the standard for add-on development in Firefox. API Parity The ...
Storing Passwords in a Highly Parallelized World
Why “Use bcrypt.” is not the best recommendation (anymore).
V8 Release 5.1
V8 v5.1 comes with performance improvements, reduced jank and memory consumption, and increased support for ECMAScript language features.
Category Theory and Declarative Programming
This is part 11 of Categories for Programmers. Previously: Natural Transformations. See the Table of Contents. Introduction to Part II In the first part of the book I argued that both category theo…
Jepsen: RethinkDB 2.2.3 reconfiguration
In the previous Jepsen analysis of RethinkDB , we tested single-document reads, writes, and conditional writes, under network partitions and process pauses. RethinkDB did not exhibit any nonlinearizable histories in those tests. However, testing with more aggressive failure modes, on both 2.1.5 and 2.2.3, has…
Common shell script mistakes (2008)
Portability and Robustness issues commonly found in shell scripts
Everything about the state of the Mac
Updates: October 28 , 29 , 30 , 31 , November 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 18 , 22 , 27 , December 2 , 5 , 12 , 13 , 27 , January 2 , 5 , 5 , 9 , 11 , 13 , 22 , February 2 , 19 , March 15 , 17 , 21 , 22 , 28 , April 3 , 5 , 6 , 12 , 20 , 23 , May 3 , 6 , 19 , June 4 , July 27 …
Rules for Writing Safety Critical Code (2006)
Ten rules for writing safety critical code, to facilitate analysis and increase software reliability
On Digital Minimalism
The Curmudgeonly Optimist People are sometimes confused about my personal relationship with digital communication technologies. On the one hand, I’m a computer scientist who studies and improves these tools. ... Read more