Skip to content

Justin's Linklog Posts

Links for 2015-01-02

  • The open-office trend is destroying the workplace

    Wow, where has this person been for the past 20 years that they haven’t had to encounter this? I can only imagine having a private office, tbh.

    my personal performance at work has hit an all-time low. Each day, my associates and I are seated at a table staring at each other, having an ongoing 12-person conversation from 9 a.m. to 5 p.m.  It’s like being in middle school with a bunch of adults. Those who have worked in private offices for decades have proven to be the most vociferous and rowdy. They haven’t had to consider how their loud habits affect others, so they shout ideas at each other across the table and rehash jokes of yore. As a result, I can only work effectively during times when no one else is around, or if I isolate myself in one of the small, constantly sought-after, glass-windowed meeting rooms around the perimeter.

    (tags: business office productivity work desks open-plan)

Links for 2015-01-02

  • The open-office trend is destroying the workplace

    Wow, where has this person been for the past 20 years that they haven’t had to encounter this? I can only imagine having a private office, tbh.

    my personal performance at work has hit an all-time low. Each day, my associates and I are seated at a table staring at each other, having an ongoing 12-person conversation from 9 a.m. to 5 p.m.  It’s like being in middle school with a bunch of adults. Those who have worked in private offices for decades have proven to be the most vociferous and rowdy. They haven’t had to consider how their loud habits affect others, so they shout ideas at each other across the table and rehash jokes of yore. As a result, I can only work effectively during times when no one else is around, or if I isolate myself in one of the small, constantly sought-after, glass-windowed meeting rooms around the perimeter.

    (tags: business office productivity work desks open-plan)

Links for 2014-12-27

  • Why Airlines Want to Make You Suffer

    ‘The fee [airline pricing] model comes with systematic costs that are not immediately obvious. Here’s the thing: in order for fees to work, there needs be something worth paying to avoid. That necessitates, at some level, a strategy that can be described as “calculated misery.” Basic service, without fees, must be sufficiently degraded in order to make people want to pay to escape it. And that’s where the suffering begins.’

    (tags: travel airlines pricing fees economy consumer jetblue)

  • A Virtual Machine in Excel

    ‘Ádám was trying his hand at a problem in Excel, but the official rules prohibit the use of Excel macros. In a daze, he came up with one of the most clever uses of Excel: building an assembly interpreter with the most popular spreadsheet program. This is a virtual Harvard architecture machine without writable RAM; the stack is only lots and lots of IFs.’

    (tags: vms excel hacks spreadsheets coding)

Links for 2014-12-22

  • coz

    A causal profiler for C++.

    Causal profiling is a novel technique to measure optimization potential. This measurement matches developers’ assumptions about profilers: that optimizing highly-ranked code will have the greatest impact on performance. Causal profiling measures optimization potential for serial, parallel, and asynchronous programs without instrumentation of special handling for library calls and concurrency primitives. Instead, a causal profiler uses performance experiments to predict the effect of optimizations. This allows the profiler to establish causality: “optimizing function X will have effect Y,” exactly the measurement developers had assumed they were getting all along.
    I can see this being a good technique to stochastically discover race conditions and concurrency bugs, too.

    (tags: optimization c++ performance coding profiling speed causal-profilers)

  • Spark 1.2 released

    This is the version with the superfast petabyte-sort record:

    Spark 1.2 includes several cross-cutting optimizations focused on performance for large scale workloads. Two new features Databricks developed for our world record petabyte sort with Spark are turned on by default in Spark 1.2. The first is a re-architected network transfer subsystem that exploits Netty 4’s zero-copy IO and off heap buffer management. The second is Spark’s sort based shuffle implementation, which we’ve now made the default after significant testing in Spark 1.1. Together, we’ve seen these features give as much as 5X performance improvement for workloads with very large shuffles.

    (tags: spark sorting hadoop map-reduce batch databricks apache netty)

  • The VATMOSS debacle: does the “manual email” loophole work?

    As the 1 January deadline gallops towards the EU, microbusinesses desperate to stay open without breaking the law try to find out, “Can I email stuff out instead?” Well… Yes. – No – It depends – and simultaneously yes AND no, according to Schrödinger’s VAT. So that’s clear, then.

    (tags: vat vatmoss eu tax fiasco email microbusiness sme)

  • One artist closing up their Bandcamp site due to new VATMOSS laws

    Nice work, EU

    (tags: eu law tax vat vatmoss matt-stevens bandcamp music downloads)

Links for 2014-12-21

Links for 2014-12-19

  • AN OFFER TO SONY FROM 2600

    To demonstrate that hackers have no interest in suppressing speech, quashing controversy, or being intimidated by vague threats, we ask that Sony allow the hacker community to distribute “The Interview” for them on the 25th of December. Now, we’re aware that Sony may refer to this distribution method as piracy, but in this particular case, it may well prove to be the salvation of the motion picture industry. By freely offering the film online, millions of people will get to see it and decide for themselves if it has any redeeming qualities whatsoever – as opposed to nobody seeing it and the studios writing it off as a total loss. Theaters would be free from panic as our servers would become the target of any future vague threats (and we believe Hollywood will be most impressed with how resilient peer-to-peer distribution can be in the face of attacks). Most importantly, we would be defying intimidation, something the motion picture industry doesn’t quite have a handle on, which is surprising considering how much they’ve relied upon it in the past.

    (tags: 2600 funny hackers security sony north-korea the-interview movies piracy)

Links for 2014-12-18

Links for 2014-12-17

  • ‘Machine Learning: The High-Interest Credit Card of Technical Debt’ [PDF]

    Oh god yes. This is absolutely spot on, as you would expect from a Google paper — at this stage they probably have accumulated more real-world ML-at-scale experience than anywhere else. ‘Machine learning offers a fantastically powerful toolkit for building complex systems quickly. This paper argues that it is dangerous to think of these quick wins as coming for free. Using the framework of technical debt, we note that it is remarkably easy to incur massive ongoing maintenance costs at the system level when applying machine learning. The goal of this paper is highlight several machine learning specific risk factors and design patterns to be avoided or refactored where possible. These include boundary erosion, entanglement, hidden feedback loops, undeclared consumers, data dependencies, changes in the external world, and a variety of system-level anti-patterns. [….] ‘In this paper, we focus on the system-level interaction between machine learning code and larger systems as an area where hidden technical debt may rapidly accumulate. At a system-level, a machine learning model may subtly erode abstraction boundaries. It may be tempting to re-use input signals in ways that create unintended tight coupling of otherwise disjoint systems. Machine learning packages may often be treated as black boxes, resulting in large masses of “glue code” or calibration layers that can lock in assumptions. Changes in the external world may make models or input signals change behavior in unintended ways, ratcheting up maintenance cost and the burden of any debt. Even monitoring that the system as a whole is operating as intended may be difficult without careful design. Indeed, a remarkable portion of real-world “machine learning” work is devoted to tackling issues of this form. Paying down technical debt may initially appear less glamorous than research results usually reported in academic ML conferences. But it is critical for long-term system health and enables algorithmic advances and other cutting-edge improvements.’

    (tags: machine-learning ml systems ops tech-debt maintainance google papers hidden-costs development)

  • The FBI Used the Web’s Favorite Hacking Tool to Unmask Tor Users | WIRED

    Since Operation Torpedo [use of a Metasploit side project], there’s evidence the FBI’s anti-Tor capabilities have been rapidly advancing. Torpedo was in November 2012. In late July 2013, computer security experts detected a similar attack through Dark Net websites hosted by a shady ISP called Freedom Hosting—court records have since confirmed it was another FBI operation. For this one, the bureau used custom attack code that exploited a relatively fresh Firefox vulnerability—the hacking equivalent of moving from a bow-and-arrow to a 9-mm pistol. In addition to the IP address, which identifies a household, this code collected the MAC address of the particular computer that infected by the malware. “In the course of nine months they went from off the shelf Flash techniques that simply took advantage of the lack of proxy protection, to custom-built browser exploits,” says Soghoian. “That’s a pretty amazing growth … The arms race is going to get really nasty, really fast.”

    (tags: fbi tor police flash security privacy anonymity darknet wired via:bruces)

Links for 2014-12-16

  • Digital Rights Ireland files Amicus Brief in Microsoft v USA with Liberty and ORG

    Microsoft -v- USA is an important ongoing case, currently listed for hearing in 2015 before the US Federal Court of Appeal of the 2nd Circuit. However, as the case centres around the means by which NY law enforcement are seeking to access data of an email account which resides in Dublin, it is also crucially significant to Ireland and the rest of the EU. For that reason, Digital Rights Ireland instructed us to file an Amicus Brief in the US case, in conjunction with the global law firm of White & Case, who have acted pro bono in their representation. Given the significance of the case for the wider EU, both Liberty and the Open Rights Group in the UK have joined Digital Rights Ireland as amici on this brief. We hope it will be of aid to the US court in assessing the significance of the order being appealed by Microsoft for EU citizens and European states, in the light of the existing US and EU Mutual Legal Assistance Treaty.

    (tags: amicus-briefs law us dri microsoft mlats org liberty eu privacy)

Links for 2014-12-15

Links for 2014-12-13

  • littleBits Synth Kit

    Wow, this looks cool. $159

    littleBits and Korg have demystified a traditional analog synthesizer, making it super easy for novices and experts alike to create music. connects to speakers, computers and headphones. can be used to make your own instruments. fits into the littleBits modular system for infinite combos of audio, visual and sensory experiences

    (tags: diy hardware music littlebits gadgets make analog synths)

Links for 2014-12-12

Links for 2014-12-11

Links for 2014-12-10

  • AWS Key Management Service Cryptographic Details

    “AWS Key Management Service (AWS KMS) provides cryptographic keys and operations scaled for the cloud. AWS KMS keys and functionality are used by other AWS cloud services, and you can use them to protect user data in your applications that use AWS. This white paper provides details on the cryptographic operations that are executed within AWS when you use AWS KMS.”

    (tags: white-papers aws amazon kms key-management crypto pdf)

Links for 2014-12-09

  • Aurora for MySQL is coming

    some good details of Aurora innards

    (tags: mysql databases aurora aws ec2 sql storage transactions replication)

  • If Eventual Consistency Seems Hard, Wait Till You Try MVCC

    ex-Percona MySQL wizard Baron Schwartz, noting that MVCC as implemented in common SQL databases is not all that simple or reliable compared to big bad NoSQL Eventual Consistency:

    Since I am not ready to assert that there’s a distributed system I know to be better and simpler than eventually consistent datastores, and since I certainly know that InnoDB’s MVCC implementation is full of complexities, for right now I am probably in the same position most of my readers are: the two viable choices seem to be single-node MVCC and multi-node eventual consistency. And I don’t think MVCC is the simpler paradigm of the two.

    (tags: nosql concurrency databases mysql riak voldemort eventual-consistency reliability storage baron-schwartz mvcc innodb postgresql)

  • Scaling email transparency

    This is quite interesting/weird — Stripe’s protocol for mass-CCing email as they scale up the company, based around http://en.wikipedia.org/wiki/Civil_inattention

    (tags: communication culture email management stripe cc transparency civil-inattention)

  • Shanley Kane of Model View Culture Challenges a “Corrupt” Silicon Valley | MIT Technology Review

    If their interests were better serving the world, using technology as a force for social justice, and equitably distributing technology wealth to enrich society … sure, they’d be acting against their interests. But the reality is that tech companies centralize power and wealth in a small group of privileged white men. When that’s the goal, then exploiting the labor of marginalized people and denying them access to power and wealth is 100 percent in line with the endgame. A more diverse tech industry would be better for its workers and everyone else, but it would be worse for the privileged white men at the top of it, because it would mean they would have to give up their monopoly on money and power. And they will fight that with everything they’ve got, which is why we see barriers to equality at every level of the industry.

    (tags: culture feminism tech mit-tech-review shanley-kane privilege vcs silicon-valley)

  • Announcing Snappy Ubuntu

    Awesome! I was completely unaware this was coming down the pipeline.

    A new, transactionally updated Ubuntu for the cloud. Ubuntu Core is a new rendition of Ubuntu for the cloud with transactional updates. Ubuntu Core is a minimal server image with the same libraries as today’s Ubuntu, but applications are provided through a simpler mechanism. The snappy approach is faster, more reliable, and lets us provide stronger security guarantees for apps and users — that’s why we call them “snappy” applications. Snappy apps and Ubuntu Core itself can be upgraded atomically and rolled back if needed — a bulletproof approach to systems management that is perfect for container deployments. It’s called “transactional” or “image-based” systems management, and we’re delighted to make it available on every Ubuntu certified cloud.

    (tags: ubuntu linux packaging snappy ubuntu-core transactional-updates apt docker ops)

  • Dan McKinley :: Thoughts on the Technical Track

    Ouch. I think Amazon did a better job of the Technical Track concept than this, at least

    (tags: engineering management technical-track principal-engineer career work)

  • OSTree

    “git for operating system binaries”. OSTree is a tool for managing bootable, immutable, versioned filesystem trees. It is not a package system; nor is it a tool for managing full disk images. Instead, it sits between those levels, offering a blend of the advantages (and disadvantages) of both. You can use any build system you like to place content into it on a build server, then export an OSTree repository via static HTTP. On each client system, “ostree admin upgrade” can incrementally replicate that content, creating a new root for the next reboot. This provides fully atomic upgrades. Any changes made to /etc are propagated forwards, and all local state in /var is shared. A key goal of the project is to complement existing package systems like RPM and Debian packages, and help further their evolution. In particular for example, RPM-OSTree (linked below) has as a goal a hybrid tree/package model, where you replicate a base tree via OSTree, and then add packages on top.

    (tags: os gnome git linux immutable deployment packaging via:fanf)

Links for 2014-12-06

  • State sanctions foreign phone and email tapping

    Well, this stinks.

    Foreign law enforcement agencies will be allowed to tap Irish phone calls and intercept emails under a statutory instrument signed into law by Minister for Justice Frances Fitzgerald. Companies that object or refuse to comply with an intercept order could be brought before a private “in camera” court. The legislation, which took effect on Monday, was signed into law without fanfare on November 26th, the day after documents emerged in a German newspaper indicating the British spy agency General Communications Headquarters (GCHQ) had directly tapped undersea communications cables between Ireland and Britain for years.

    (tags: ireland law gchq surveillance mlats phone-tapping)

  • “Looks like Chicago PD had a stingray out at the Eric Garner protest last night”

    Your tax dollars at work: Spying on people just because they demand that the government’s agents stop killing black people. […] Anonymous has released a video featuring what appear to be Chicago police radio transmissions revealing police wiretapping of organizers’ phones at the protests last night the day after Thanksgiving, perhaps using a stingray. The transmissions pointing to real-time wiretapping involve the local DHS-funded spy ‘fusion’ center.

    (tags: imsi-catcher stingray surveillance eric-garner protests privacy us-politics anonymous chicago police wiretapping dhs)

  • When data gets creepy: the secrets we don’t realise we’re giving away | Technology | The Guardian

    Very good article around the privacy implications of derived and inferred aggregate metadata from Ben Goldacre.

    We are entering an age – which we should welcome with open arms – when patients will finally have access to their own full medical records online. So suddenly we have a new problem. One day, you log in to your medical records, and there’s a new entry on your file: “Likely to die in the next year.” We spend a lot of time teaching medical students to be skilful around breaking bad news. A box ticked on your medical records is not empathic communication. Would we hide the box? Is that ethical? Or are “derived variables” such as these, on a medical record, something doctors should share like anything else?

    (tags: advertising ethics privacy security law data aggregation metadata ben-goldacre)

  • Stellar/Ripple suffer a failure of their consensus system, resulting in a split-brain failure

    Prof. Mazières’s research indicated some risk that consensus could fail, though we were nor certain if the required circumstances for such a failure were realistic. This week, we discovered the first instance of a consensus failure. On Tuesday night, the nodes on the network began to disagree and caused a fork of the ledger. The majority of the network was on ledger chain A. At some point, the network decided to switch to ledger chain B. This caused the roll back of a few hours of transactions that had only been recorded on chain A. We were able to replay most of these rolled back transactions on chain B to minimize the impact. However, in cases where an account had already sent a transaction on chain B the replay wasn’t possible.

    (tags: consensus distcomp stellar ripple split-brain postmortems outages ledger-fork payment)

  • the “Unknown Pleasures” cover, emulated in Mathematica

    In July 1967, astronomers at the Cavendish Laboratory in Cambridge, observed an unidentified radio signal from interstellar space, which flashed periodically every 1.33730 seconds. This object flashed with such regularity that it was accurate enough to be used as a clock and only be off by one part in a hundred million. It was eventually determined that this was the first discovery of a pulsar, CP-1919.  This is an object that has about the same mass as the Sun, but is the size of the San Francisco Bay at its widest (~20 kilometers) that is rotating so fast that its emitting a beam of light towards Earth like a strobing light house! Pulsars are neutron stars that are formed from the remnants of a massive star when it experiences stellar death. A hand drawn graph plotted in the style of a waterfall plot, in the Cambridge Encyclopedia of Astronomy, later became renown for its use on the cover of the album “Unknown Pleasures”  by 1970s English band Joy Division.
    The entire blog at http://intothecontinuum.tumblr.com/ is pretty great. Lots of nice mathematical animated GIFs, accompanied by Mathematica source and related ponderings.

    (tags: maths gifs animation art unknown-pleasures mathematica cp-1919 pulsars astronomy joy-division waterfall-plots cambridge blogs)

Links for 2014-12-05

  • Pubs With A Fire

    ‘Pubs & Bars With Raging Fires in Dublin’. This is important!

    (tags: pubs dublin fires fireplaces beer christmas)

  • Aurora for MySQL is coming

    ‘Anurag@AWS posts a quite interesting comment on Aurora failover: We asynchronously write to 6 copies and ack the write when we see four completions. So, traditional 4/6 quorums with synchrony as you surmised. Now, each log record can end up with a independent quorum from any other log record, which helps with jitter, but introduces some sophistication in recovery protocols. We peer to peer to fill in holes. We also will repair bad segments in the background, and downgrade to a 3/4 quorum if unable to place in an AZ for any extended period. You need a pretty bad failure to get a write outage.’ (via High Scalability)

    (tags: via:highscalability mysql aurora failover fault-tolerance aws replication quorum)

Links for 2014-12-02

Links for 2014-12-01

  • Speeding up Rails 4.2

    Reading between the lines, it looks like Rails 4 is waaay slower than 3….

    (tags: rails ruby performance profiling discourse)

  • Day 1 – Docker in Production: Reality, Not Hype

    Good Docker info from Bridget Kromhout, on their production and dev usage of Docker at DramaFever. lots of good real-world tips

    (tags: docker ops boot2docker tips sysadvent)

  • Lost avant-garde painting found in Stuart Little’s living room

    Two years later, he heard from Lisa S., an assistant set designer on [the movie] Stuart Little. She had bought the painting for $500 from an antiques store in Pasadena specifically for the movie because she thought its cool elegance was perfectly suited for the Little’s New York City apartment. Lisa S. had tracked it down in another warehouse and purchased it from Sony just because she liked it so much. When she contacted Barki, she had no idea of the history of the painting hanging on her bedroom wall. After Barki visited the painting in person and confirmed its identity, Lisa sold it to a private collector. That collector has now been persuaded to sell it in Hungary. It will go up for auction at the Virag Judit Art Gallery in Budapest on December 13th with a starting price of 110,000 euros ($160,000). Gergely Barki won’t make a dime off of his discovery, but he will have a great story to tell in his biography of the artist.

    (tags: stuart-little art history hungary pasadena movies set-design antiques robert-bereny post-impressionism)

Links for 2014-11-30

  • rjbs’s rubric: In Soviet Minecraft, server op you!

    wow, that is too much effort for a 7-year-old’s Minecraft server ;) Very impressive

    (tags: minecraft game-servers kids teleport gaming rjbs perl)

  • Rust borrow and lifetimes

    How Rust avoids GC overhead using it’s “borrow” system:

    Rust achieves memory safety without GC by using a sophiscated borrow system. For any resource (stack memory, heap memory, file handle and so on), there is exactly one owner which takes care of its resource deallocation, if needed. You may create new bindings to refer to the resource using & or &mut, which is called a borrow or mutable borrow. The compiler ensures all owners and borrowers behave correctly.

    (tags: languages rust gc borrow lifecycle stack heap allocation)

  • Java for Everything

    Actually, I’m really agreeing with a lot of this. Particularly this part:

    Programmers will cringe at writing some kind of command dispatch list: if command = “up”: up() elif command = “status”: status() elif command = “revert”: revert() … so they’ll go off and write some introspecting auto-dispatch cleverness, but that takes longer to write and will surely confuse future readers who’ll wonder how the heck revert() ever gets called. Yet the programmer will incorrectly feel as though he saved himself time. This is the trap of the dynamic language. It feels like you’re being more productive, but aside from the first 10 minutes of a new program, you’re not. Just write the stupid dispatch manually and get on with the real work.
    I’ve also gone right off dynamic languages for any kind of non-toy work. Mind you he needs to get around to ditching Vim for a proper IDE. That’s the key thing that makes coding in a statically-typed language really pleasant — when graphical refactoring becomes easy and usable, and errors are visible as you type them…

    (tags: java coding static-typing python unit-tests)

  • Facebook Fabric Networking Deconstructed

    whoa, this is incredibly in-depth

    (tags: facebook datacenter networking clos-networks infrastructure networks fat-tree)

Links for 2014-11-28

  • OS X doesn’t support ‘ndots’ DNS resolution

    “ping foo.bar” will not append the “search” domains configured in /etc/resolv.conf. Apparently this has been broken since OS X Lion, no sign of a fix. Nice work Apple

    (tags: apple fail bugs resolv dns domains osx)

  • TCP incast

    a catastrophic TCP throughput collapse that occurs as the number of storage servers sending data to a client increases past the ability of an Ethernet switch to buffer packets. In a clustered file system, for example, a client application requests a data block striped across several storage servers, issuing the next data block request only when all servers have responded with their portion (Figure 1). This synchronized request workload can result in packets overfilling the buffers on the client’s port on the switch, resulting in many losses. Under severe packet loss, TCP can experience a timeout that lasts a minimum of 200ms, determined by the TCP minimum retransmission timeout (RTOmin).

    (tags: incast networking performance tcp bandwidth buffering switch ethernet capacity)

  • Solving the Mystery of Link Imbalance: A Metastable Failure State at Scale | Engineering Blog | Facebook Code

    Excellent real-world war story from Facebook — a long-running mystery bug was eventually revealed to be a combination of edge-case behaviours across all the layers of the networking stack, from L2 link aggregation at the agg-router level, up to the L7 behaviour of the MySQL client connection pool.

    Facebook collocates many of a user’s nodes and edges in the social graph. That means that when somebody logs in after a while and their data isn’t in the cache, we might suddenly perform 50 or 100 database queries to a single database to load their data. This starts a race among those queries. The queries that go over a congested link will lose the race reliably, even if only by a few milliseconds. That loss makes them the most recently used when they are put back in the pool. The effect is that during a query burst we stack the deck against ourselves, putting all of the congested connections at the top of the deck.

    (tags: architecture debugging devops facebook layer-7 mysql connection-pooling aggregation networking tcp-stack)

  • “Macaroons” for fine-grained secure database access

    Macaroons are an excellent fit for NoSQL data storage for several reasons. First, they enable an application developer to enforce security policies at very fine granularity, per object. Gone are the clunky security policies based on the IP address of the client, or the per-table access controls of RDBMSs that force you to split up your data across many tables. Second, macaroons ensure that a client compromise does not lead to loss of the entire database. Third, macaroons are very flexible and expressive, able to incorporate information from external systems and third-party databases into authorization decisions. Finally, macaroons scale well and are incredibly efficient, because they avoid public-key cryptography and instead rely solely on fast hash functions.

    (tags: security macaroons cookies databases nosql case-studies storage authorization hyperdex)

  • Richard Tynan on Twitter: “GCHQ Tapping Eircom owned cable”

    Cable listed as owned by Eircom and Cable and Wireless (now Vodafone?)

    (tags: vodafone cables tapping surveillance eircom internet uk)

  • Hermitage: Testing the “I” in ACID

    [Hermitage is] a test suite for databases which probes for a variety of concurrency issues, and thus allows a fair and accurate comparison of isolation levels. Each test case simulates a particular kind of race condition that can happen when two or more transactions concurrently access the same data. Each test can pass (if the database’s implementation of isolation prevents the race condition from occurring) or fail (if the race condition does occur).

    (tags: acid architecture concurrency databases nosql)

Links for 2014-11-27

  • Consul case study from Hootsuite

    Hootsuite used Consul for distributed configuration, specifically dark-launch feature flags, with great results: ‘Trying out bleeding edge software can be a risky proposition, but in the case of Consul, we’ve found it to be a solid system that works basically as described and was easy to get up and running. We managed to go from initial investigations to production within a month. The value was immediately obvious after looking into the key-value store combined with the events system and it’s DNS features and each of these has worked how we expected. Overall it has been fun to work with and has worked well and based on the initial work we have done with the Dark Launching system we’re feeling confident in Consul’s operation and are looking forward to expanding the scope of it’s use.’

    (tags: consul dark-launches feature-flags configuration distributed hootsuite notification)

Links for 2014-11-25

Links for 2014-11-24

Links for 2014-11-23

Links for 2014-11-21

  • Goat Simulator’s fake MMO

    This is classic. I love the “Rouge”:

    We also wanted the Rouge to actually look like a stealth-oriented make-up artist, but our 3D artist thought the goat looked ridiculous with a pink wig and a Gucci bag, so we remade the Rouge to actually look like a Rogue.

    (tags: rogue rouge goats goat-simulator funny satire mmos mmorpg games warcraft)

  • The boss has malware, again… : talesfromtechsupport

    Finally after all traditional means of infection were covered; IT started looking into other possibilities. They finally asked the Executive, “Have there been any changes in your life recently”? The executive answer “Well yes, I quit smoking two weeks ago and switched to e-cigarettes”. And that was the answer they were looking for, the made in china e-cigarette had malware hard coded into the charger and when plugged into a computer’s USB port the malware phoned home and infected the system. Moral of the story is have you ever question the legitimacy of the $5 dollar EBay made in China USB item that you just plugged into your computer? Because you should, you damn well should.
    (Via Elliot)

    (tags: via:elliot malware e-cigarettes cigarettes smoking china risks)

Links for 2014-11-20

  • Update on Azure Storage Service Interruption

    As part of a performance update to Azure Storage, an issue was discovered that resulted in reduced capacity across services utilizing Azure Storage, including Virtual Machines, Visual Studio Online, Websites, Search and other Microsoft services. Prior to applying the performance update, it had been tested over several weeks in a subset of our customer-facing storage service for Azure Tables. We typically call this “flighting,” as we work to identify issues before we broadly deploy any updates. The flighting test demonstrated a notable performance improvement and we proceeded to deploy the update across the storage service. During the rollout we discovered an issue that resulted in storage blob front ends going into an infinite loop, which had gone undetected during flighting. The net result was an inability for the front ends to take on further traffic, which in turn caused other services built on top to experience issues.
    I’m really surprised MS deployment procedures allow a change to be rolled out globally across multiple regions on a single day. I suspect they soon won’t.

    (tags: change-management cm microsoft outages postmortems azure deployment multi-region flighting azure-storage)

  • AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems – YouTube

    This is a really solid talk — not surprising, alv@ is one of the speakers!

    “AWS and Amazon.com operate some of the world’s largest distributed systems infrastructure and applications. In our past 18 years of operating this infrastructure, we have come to realize that building such large distributed systems to meet the durability, reliability, scalability, and performance needs of AWS requires us to build our services using a few common distributed systems primitives. Examples of these primitives include a reliable method to build consensus in a distributed system, reliable and scalable key-value store, infrastructure for a transactional logging system, scalable database query layers using both NoSQL and SQL APIs, and a system for scalable and elastic compute infrastructure. In this session, we discuss some of the solutions that we employ in building these primitives and our lessons in operating these systems. We also cover the history of some of these primitives — DHTs, transactional logging, materialized views and various other deep distributed systems concepts; how their design evolved over time; and how we continue to scale them to AWS. “
    Slides: http://www.slideshare.net/AmazonWebServices/spot302-under-the-covers-of-aws-core-distributed-systems-primitives-that-power-our-platform-aws-reinvent-2014

    (tags: scale scaling aws amazon dht logging data-structures distcomp via:marc-brooker dynamodb s3)

  • How Curiosity, Luck, and the Flip of a Switch Saved the Moon Program | Motherboard

    “SCE to off?” someone said. The switch was so obscure that neither of his bosses knew what he was talking about. “What the hell’s that,” blurted out Gerald Carr, who was in charge of communicating with the capsule. The rookie flight director, Gerry Griffin, didn’t know either. Sixty seconds had passed since the initial lightning strike. No one else knew what to do. The call to abort was fast approaching.  Finally, Carr reluctantly gave the order in a voice far cooler than the moment. “Apollo 12, Houston, try SCE to Auxiliary, over.”

    (tags: spaceflight stories apollo sce-to-aux power lightning weather outages simulation training nasa)

Links for 2014-11-19

  • Building a complete Tweet index

    Twitter’s new massive-scale twitter search backend. Sharding galore

    (tags: architecture search twitter sharding earlybird)

  • The Oral History Of The Poop Emoji (Or, How Google Brought Poop To America)

    ‘I went over to Japan right around the time Takeshi was deciding which emoji were going to make it into the first cut of Gmail emoji. The [PILE_OF_POO emoji] was absolutely one of the necessary emoji that Takeshi said we have to have. There was actually conflict because there were people back at headquarters who had no idea what emoji were, and thought that having an animated [turd] in their Gmail was offensive.’ ‘[The poop emoji] got very popular when a comic called “Dr. Slump” was broadcast in Japan back to the ‘90s. Such poop was not an object to be disliked, but it had a funny meaning. This was a very popular comedy animation where a girl played a trick on other people using the poop. The poop was this funny object to play with. It was never serious.’ ‘In Japanese that’s called “unchi.” It’s a child word with a benign meaning. ‘

    (tags: culture emoji google pile-of-poo turd poo japan gmail unchi dr-slump)

  • LUNAR MISSION ONE: A new lunar mission for everyone. by Lunar Missions Ltd — Kickstarter

    We plan to send an unmanned robotic landing module to the South Pole of the Moon – an area unexplored by previous missions. We’re going to use pioneering technology to drill down to a depth of at least 20m – 10 times deeper than has ever been drilled before – and potentially as deep as 100m. By doing this, we will access lunar rock dating back up to 4.5 billion years to discover the geological composition of the Moon, the ancient relationship it shares with our planet and the effects of asteroid bombardment. Ultimately, the project will improve scientific understanding of the early solar system, the formation of our planet and the Moon, and the conditions that initiated life on Earth.
    Kickstarter-funded — UKP 600k goal. Just in time for xmas!

    (tags: kickstarter science moon lunar-mission-one exploration)

  • Flow, a new static type checker for JavaScript

    Unlike the (excellent) Typescript, it’ll infer types:

    Flow’s type checking is opt-in — you do not need to type check all your code at once. However, underlying the design of Flow is the assumption that most JavaScript code is implicitly statically typed; even though types may not appear anywhere in the code, they are in the developer’s mind as a way to reason about the correctness of the code. Flow infers those types automatically wherever possible, which means that it can find type errors without needing any changes to the code at all. On the other hand, some JavaScript code, especially frameworks, make heavy use of reflection that is often hard to reason about statically. For such inherently dynamic code, type checking would be too imprecise, so Flow provides a simple way to explicitly trust such code and move on. This design is validated by our huge JavaScript codebase at Facebook: Most of our code falls in the implicitly statically typed category, where developers can check their code for type errors without having to explicitly annotate that code with types.

    (tags: facebook flow javascript coding types type-inference ocaml typescript)

  • Exactly-Once Delivery May Not Be What You Want

    An extremely good explanation from Marc Brooker that exactly-once delivery in a distributed system is very hard.

    And so on. There’s always a place to slot in one more turtle. The bad news is that I’m not aware of a nice solution to the general problem for all side effects, and I suspect that no such solution exists. On the bright side, there are some very nice solutions that work really well in practice. The simplest is idempotence. This is a very simple idea: we make the tasks have the same effect no matter how many times they are executed.

    (tags: architecture messaging queues exactly-once-delivery reliability fault-tolerance distcomp marc-brooker)

  • GpsMapIreland

    This topographic map represents Ireland. It is designed for “hillwalking”. The contour lines are extracted from SRTM public data provided by NASA. These files contain a digitized ground represented by points. The sample rate defines a grid resolution for Ireland around 90m in northing and 60m in easting. In major cases, digitized points do not correspond with summits. Carrauntoohil (1039m, the highest summit of Ireland) does not appear in SRTM data. The altitude reaches only 1018m. Data were obtain from space with a radar. Because of the relative position between the radar and the earth, a shadow appears in some conditions (along ridges, behind summits…). This shadow matches with a gap in data (Imagine you with a flashlight in a dark room. It is hard to see what is in shadow). To close these gaps, you need other data or you can do interpolation. The second solution is applied in our case. There is one square degree per SRTM file with a sample rate of 1200×1200 points/square degree at Ireland latitude. […] All in all you obtain contour lines pretty sufficient for walking.

    (tags: hillwalking walking ireland gps garmin open-data srtm maps hiking via:alan)

  • castnow

    Marcus Ramberg says: ‘If you have a chromecast and you’re not using castnow, I don’t know what is wrong with you.’

    (tags: chromecast castnow media movies tv video)

  • The Infinite Hows, instead of the Five Whys

    John Allspaw with an interesting assertion that we need to ask “how”, not “why” in five-whys postmortems:

    “Why?” is the wrong question. In order to learn (which should be the goal of any retrospective or post-hoc investigation) you want multiple and diverse perspectives. You get these by asking people for their own narratives. Effectively, you’re asking “how?“ Asking “why?” too easily gets you to an answer to the question “who?” (which in almost every case is irrelevant) or “takes you to the ‘mysterious’ incentives and motivations people bring into the workplace.” Asking “how?” gets you to describe (at least some) of the conditions that allowed an event to take place, and provides rich operational data.

    (tags: ops five-whys john-allspaw questions postmortems analysis root-causes)

  • the JVM now supports globbing in classpath specifications

    hooray, no more uberjars or monster commandlines!

    (tags: java jvm globbing classpath uberjars jars deployment)

  • Microsoft Azure 9-hour outage

    ‘From 19 Nov, 2014 00:52 to 05:50 UTC a subset of customers using Storage, Virtual Machines, SQL Geo-Restore, SQL Import/export, Websites, Azure Search, Azure Cache, Management Portal, Service Bus, Event Hubs, Visual Studio, Machine Learning, HDInsights, Automation, Virtual Network, Stream Analytics, Active Directory, StorSimple and Azure Backup Services in West US and West Europe experienced connectivity issues. This incident has now been mitigated.’ There was knock-on impact until 11:00 UTC (storage in N Europe), 11:45 UTC (websites, West Europe), and 09:15 UTC (storage, West Europe), from the looks of things. Should be an interesting postmortem.

    (tags: outages azure microsoft ops)

Links for 2014-11-18

Links for 2014-11-17

  • FBI’s “Suicide Letter” to Dr. Martin Luther King, Jr., and the Dangers of Unchecked Surveillance

    The entire letter could have been taken from a page of GCHQ’s Joint Threat Research and Intelligence Group (JTRIG)—though perhaps as an email or series of tweets. The British spying agency GCHQ is one of the NSA’s closest partners. The mission of JTRIG, a unit within GCHQ, is to “destroy, deny, degrade [and] disrupt enemies by discrediting them.” And there’s little reason to believe the NSA and FBI aren’t using such tactics. The implications of these types of strategies in the digital age are chilling. Imagine Facebook chats, porn viewing history, emails, and more made public to discredit a leader who threatens the status quo, or used to blackmail a reluctant target into becoming an FBI informant. These are not far-fetched ideas. They are the reality of what happens when the surveillance state is allowed to grow out of control, and the full King letter, as well as current intelligence community practices illustrate that reality richly.

    (tags: fbi surveillance mlk history blackmail snooping gchq nsa)

  • WriterReaderPhaser

    A nice new concurrency primitive from Gil Tene:

    Have you ever had a need for logging or analyzing data that is actively being updated? Have you ever wanted to do that without stalling the writers (recorders) in any way? If so, then WriterReaderPhaser is for you.  I’m not talking about logging messages or text lines here.  I’m talking about data.  Data larger than one word of memory.  Data that holds actual interesting state. Data that keeps being updated, but needs to be viewed in a stable and coherent way for analysis or logging.  Data like frame buffers. Data like histograms.  Data like usage counts. Data that changes.
    see also Left-Right: http://concurrencyfreaks.blogspot.ie/2013/12/left-right-concurrency-control.html

    (tags: phasers data-structures concurrency primitives algorithms performance wait-free)

  • 3D Secure and Verified By Visa to be canned

    Yay.

    Mastercard and Visa are removing the need for users to enter their passwords for identity confirmation as part of a revamp of the existing (oft-criticised) 3-D Secure scheme. The arrival of 3D Secure 2.0 next year will see the credit card giants moving away from the existing system of secondary static passwords to authorise online purchases, as applied by Verified by Visa and MasterCard SecureCode, towards a next-gen system based on more secure biometric and token-based prompts.
    (via Gordon)

    (tags: via:gsyme verified-by-visa 3d-secure mastercard visa credit-cards authentication authorization win passwords)

  • Aeron: Do we really need another messaging system? – High Scalability

    excellent writeup on Aeron

    (tags: aeron messing libraries java martin-thompson performance mechanical-sympathy queueing ipc tcp)

Links for 2014-11-15

  • IAB Statement on Internet Confidentiality

    Newly designed protocols should prefer encryption to cleartext operation. There may be exceptions to this default, but it is important to recognize that protocols do not operate in isolation.  Information leaked by one protocol can be made part of a more substantial body of information by cross-correlation of traffic observation.  There are protocols which may as a result require encryption on the Internet even when it would not be a requirement for that protocol operating in isolation. We recommend that encryption be deployed throughout the protocol stack since there is not a single place within the stack where all kinds of communication can be protected.
    Wow. so much for IPSec

    (tags: ipsec iab ietf snowden surveillance crypto protocols internet)

  • Facebook’s datacenter fabric

    FB goes public with its take on the Clos network-based datacenter network architecture

    (tags: networking scaling facebook clos-networks fabrics datacenters network-architecture)

Links for 2014-11-14

Links for 2014-11-13

Links for 2014-11-12

Links for 2014-11-11

  • Life expectancy increases are due mainly to healthier children, not longer old age

    Interesting — I hadn’t expected this. ‘Life expectancy at birth [in the US] in 1930 was indeed only 58 for men and 62 for women, and the retirement age was 65. But life expectancy at birth in the early decades of the 20th century was low due mainly to high infant mortality, and someone who died as a child would never have worked and paid into Social Security. A more appropriate measure is probably life expectancy after attainment of adulthood.’ …. ‘Men who attained age 65 could expect to collect Social Security benefits for almost 13 years (and the numbers are even higher for women).’ In Ireland, life expectancy at birth has increased 18.4 years since 1926 — but life expectancy for men aged 65 (the pension age) has only increased by 3.8 years. This means that increased life expectancy figures are not particularly relevant to the “pension crunch” story. Via Fred Logue: https://twitter.com/fplogue/status/532093184646873089

    (tags: via:fplogue statistics taxes life-expectancy pensions infant-mortality health 1930s)

  • DynamoDB Streams

    This is pretty awesome. All changes to a DynamoDB table can be streamed to a Kinesis stream, MySQL-replication-style. The nice bit is that it has a solid way to ensure readers won’t get overwhelmed by the stream volume (since ddb tables are IOPS-rate-limited), and Kinesis has a solid way to read missed updates (since it’s a Kafka-style windowed persistent stream). With this you have a pretty reliable way to ensure you’re not going to suffer data loss.

    (tags: iops dynamodb aws kinesis reliability replication multi-az multi-region failover streaming kafka)

  • Help the GNOME Foundation defend the GNOME trademark

    Recently Groupon announced a product with the same product name as GNOME. Groupon’s product is a tablet based point of sale “operating system for merchants to run their entire operation.” The GNOME community was shocked that Groupon would use our mark for a product so closely related to the GNOME desktop and technology. It was almost inconceivable to us that Groupon, with over $2.5 billion in annual revenue, a full legal team and a huge engineering staff would not have heard of the GNOME project, found our trademark registration using a casual search, or even found our website, but we nevertheless got in touch with them and asked them to pick another name. Not only did Groupon refuse, but it has now filed even more trademark applications (the full list of applications they filed can be found here, here and here). To use the GNOME name for a proprietary software product that is antithetical to the fundamental ideas of the GNOME community, the free software community and the GNU project is outrageous. Please help us fight this huge company as they try to trade on our goodwill and hard earned reputation.

    (tags: gnome groupon trademark infringement open-source operating-systems ip law floss)

  • StatusPage.io

    ‘Hosted Status Pages for Your Company’. We use these guys in $work, and their service is fantastic — it’s a line of javascript in the page template which will easily allow you to add a “service degraded” banner when things go pear-shaped, along with an external status site for when things get really messy. They’ve done a good clean job.

    (tags: monitoring server status outages uptime saas infrastructure)

Links for 2014-11-10

  • Eircom have run out of network capacity

    This is due in part to huge growth in the data volumes and data traffic that is transported over our network, which has exceeded our forecasted growth. We are making a number of improvements to our international connectivity which will add significant capacity and this work will be completed in the next two or three weeks.
    Guess this is what happens when Amazon poach your IP network engineers. doh! More seriously though, if you’re marketing eFibre heavily, shouldn’t you be investing in the upstream capacity to go with it?

    (tags: eircom fail internet capacity forecasting networking)

  • Apple site lets you deactivate iMessage and solve your missing text problem

    FINALLY.

    (tags: apple imessage android switch hardware lock-in)

  • Yes, Isis exploits technology. But that’s no reason to compromise our privacy | Technology | The Observer

    From the very beginning, Isis fanatics have been up to speed on [social media]. Which raises an interesting question: how come that GCHQ and the other intelligence agencies failed to notice the rise of the Isis menace until it was upon us? Were they so busy hoovering metadata and tapping submarine cables and “mastering the internet” (as the code name of one of their projects puts it) that they didn’t have time to see what every impressionable Muslim 14-year-old in the world with an internet connection could see?

    (tags: gchq guardian encryption nsa isis technology social-media snooping surveillance)

  • This Canadian Artist Halted Pipeline Development by Copyrighting His Land as a Work of Art

    One of the really important pieces on my land was this white-picket fence. The picket fence is probably 100 yards or less, within 100 yards of where they wanted to build this pipeline. I [plan to] extend it 8 feet every year for the rest of my life and I’ve been doing that for 25 years. It got me thinking, where does this piece end? Does it end at the actual structure of the fence or the things growing around it, growing through it, that are part of the photography, the documentation of it? I realized at that point that [the fence], and the other sculptures and pieces and incursions and conceptual works, were actually integral to that piece of land and to my practice. I had not intended for it to be a political piece, it was just a piece, an idea the follow-through of which at some point became poetic, you go, “Wait a minute the fence actually stopped them!” But the fence doesn’t actually enclose anything. It’s just a straight line. And it’s marking something that’s actually unmarkable, which is time. And one day it’ll be gone, as will I. The land will be changed–but it was just this crazy irony that kicked into play when I was standing there with those oil negotiators.

    (tags: copyright art pipelines canada politics oil land conceptual-art ip)

  • wrk2

    ‘A constant throughput, correct latency-recording variant of wrk. This is a must-have when measuring network service latency — corrects for Coordinated Omission error:

    wrk’s model, which is similar to the model found in many current load generators, computes the latency for a given request as the time from the sending of the first byte of the request to the time the complete response was received. While this model correctly measures the actual completion time of individual requests, it exhibits a strong Coordinated Omission effect, through which most of the high latency artifacts exhibited by the measured server will be ignored. Since each connection will only begin to send a request after receiving a response, high latency responses result in the load generator coordinating with the server to avoid measurement during high latency periods.

    (tags: wrk latency measurement tools cli http load-testing testing load-generation coordinated-omission gil-tene)

  • The problem of managing schemas

    Good post on the pain of using CSV/JSON as a data interchange format:

    eventually, the schema changes. Someone refactors the code generating the JSON and moves fields around, perhaps renaming few fields. The DBA added new columns to a MySQL table and this reflects in the CSVs dumped from the table. Now all those applications and scripts must be modified to handle both file formats. And since schema changes happen frequently, and often without warning, this results in both ugly and unmaintainable code, and in grumpy developers who are tired of having to modify their scripts again and again.

    (tags: schema json avro protobuf csv data-formats interchange data hadoop files file-formats)