It's August. Things are slow in these lazy days of summer, but there's stuff to read in those brief breaks when I'm not playing The Witcher 3: Wild Hunt; Blood and Wine
- Notes on concurrency bugs
Let’s see what the academic literature has to say on non-deterministic bugs. There’s a lot of literature out there, so let’s narrow things down by looking at one relatively well studied area: concurrency bugs. We’ll start with the literature on single-machine concurrency bugs and then look at distributed concurrency bugs.
- noms init
It seemed like a database that combined the decentralization, versioning, and synchronization of Git with strong typing and the feel of functional programming would make it much easier to store, move, and track all kinds of changing data.
One day after work, I shared what I was up to with my long-time friend and co-conspirator, Rafael Weinstein. Rafael had a lot of experience with synchronization from a previous life, and like me was deeply inspired by Git’s solution to this historically thorny corner of software design.
Git took over the software world virtually overnight because its decentralized nature enabled source code to move fluidly between computers, organizations, and people; and because this in turn directly enabled much richer collaboration.
- Synchronizing Containers
the problem is that if we run our tests using
docker-compose -f docker-compose.ui-tests.yml upthat the Robot container immediately starts to execute tests although the application and the databases are not yet ready. This will lead to failing tests. We have to avoid that.
But how can we make sure that everything is ready before the first test is executed? Docker cannot help us here since Docker doesn’t really know what’s happening inside a container. The fact that a container is ready from the perspective of Docker doesn’t mean that the application running inside the container is also ready. Specifically databases need some time to initialize. On slower machines that can take several seconds or more. On our CI agent Mongo DB for example takes about 30 seconds to start up and MySQL is no better.
- Slow Down On Lawful Hacking Frameworks and Fixes
Applying laws and policy to new technical contexts requires making some broad categorizations. In order to construct a regime that is workable for non-technologists, generalizations become necessary: This is an exploit, this other thing is a vulnerability or a trojan or “network investigatory technique.” The problem is that these are terribly inaccurate metaphors. They seem to be useful in individual cases to understand the basic issues without needed to think about how technical experts would grapple with the implications and subtleties of the code and situations at hand. But the trap is that it allows lawyers and judges and policymakers to say “Great! A vulnerability is this thing, a NIT is that thing; let’s go make some rules!”
The inevitable result is that helpful, imprecise analogies are converted into pretend scientific terms, with fixed meanings. And the proposed general frameworks end up being based on fictions—further confusing the already complex debate.
- When Tenure Never Comes
I asked if she could substantiate rumors that the position would eventually translate into tenure-track position. This answer was more troubling. “Universities aren’t really looking to make thirty-year commitments anymore,” says the beneficiary of such a sinecure. In the space of five minutes this Dean had summarized my plight: because I’ve never held a tenure-track position, my decade of productivity put me in no greater standing for a job than someone fresh out of grad school; and those tenure-track positions—the only means to vindicate that work—aren’t in the interests of higher-education administrators.
- Why It Sucks to Play 'Pokemon Go' If You're Poor
McClatchy’s Christopher Huffaker outlined the problems with the distribution of resources in the game back in July, noting how the network effects of early adopters (white players) and people with more spare time (affluent players) led to concentrated portals in affluent white neighborhoods. My colleague Laura Bliss saw the same pattern in the new Google Maps “areas of interest” markers—areas of interest to whom?
Some players refer to the disparity as “Pokémon redlining,” which, whoa there. We’re still talking about Jigglypuffs, right? “Pokémon privilege” might be the better term of art—at least it refers directly to an aspect of placemaking underlying the location-based aspect of gameplay.
- Oakland police scandal: New revelations in death of officer and wife
Oakland police briefly investigated Huerta Lopez's death as suspicious. Despite her family's doubts, the Alameda County District Attorney's Office last month confirmed the police department's ruling of suicide in an investigation requested by Oakland Mayor Libby Schaaf. The newly released documents reveal more details of what happened on June 16, 2014.
- In Drinking, as in Life, End With Bad Wordplay
There couldn’t be a more suitable location to have a seminar on Auchentoshan and bitters. Bitters were originally developed medicinally as a digestive aid, and to this day are a common (especially among bartenders) treatment for an assortment of maladies. Today’s workshop is run by Robin Nance, national Auchentoshan brand ambassador, and Tobin Ludwig of Hella Bitters. We start with a sparkling, slightly bitter single-malt cocktail. Tobin presents the history and methods surrounding the development of bitters, explaining how some bitters are created using a mixture of dry spices and aromatics steeped in a strong spirit, as one would make tea, but others are made using tinctures (a single ingredient extracted into an alcohol base) that are then blended into a final product.