A Linear-Time, One-Pass Majority Vote Algorithm
This algorithm, which Bob Boyer and I invented in 1980, decides which element of a sequence is in the majority, provided there is such an element.
(tags: algorithms one-pass o(1) coding majority top-k sorting)
-
tinystat is used to compare two or more sets of measurements (e.g., runs of a multiple runs of benchmarks of two possible implementations) and determine if they are statistically different, using Student's t-test. It's inspired largely by FreeBSD's ministat (written by Poul-Henning Kamp).
(tags: t-test student statistics go coda-hale tinystat stats tools command-line unix)
Internet Trolls Are Narcissists, Psychopaths, and Sadists | Psychology Today
The relationship between this Dark Tetrad [of narcissism, Machiavellianism, psychopathy, and sadism] and trolling is so significant, that the authors write the following in their paper: "... the associations between sadism and GAIT (Global Assessment of Internet Trolling) scores were so strong that it might be said that online trolls are prototypical everyday sadists." [emphasis added] Trolls truly enjoy making you feel bad. To quote the authors once more (because this is a truly quotable article): "Both trolls and sadists feel sadistic glee at the distress of others. Sadists just want to have fun ... and the Internet is their playground!"
Bloody hell.(tags: trolls sadism narcissism psychopaths online trolling psychology papers)
Category: Uncategorized
Cassandra Summit Recap: Diagnosing Problems in Production
Great runbook for C* ops
-
get page cache statistics for files.
A common question when tuning databases and other IO-intensive applications is, "is Linux caching my data or not?" pcstat gets that information for you using the mincore(2) syscall. I wrote this is so that Apache Cassandra users can see if ssTables are being cached.
(tags: linux page-cache caching go performance cassandra ops mincore fincore)
75% of domestic violence victims in US shelters were spied on by their abusers using spyware
via Mikko
Alex Payne — Thoughts On Five Years of Emerging Languages
One could read the success of Go as an indictment of contemporary PLT, but I prefer to see it as a reminder of just how much language tooling matters. Perhaps even more critical, Go’s lean syntax, selective semantics, and cautiously-chosen feature set demonstrate the importance of a strong editorial voice in a language’s design and evolution. Having co-authored a book on Scala, it’s been painful to see systems programmers in my community express frustration with the ambitious hybrid language. I’ve watched them abandon ship and swim back to the familiar shores of Java, or alternately into the uncharted waters of Clojure, Go, and Rust. A pity, but not entirely surprising if we’re being honest with ourselves. Unlike Go, Scala has struggled with tooling from its inception. More than that, Scala has had a growing editorial problem. Every shop I know that’s been successful with Scala has limited itself to some subset of the language. Meanwhile, in pursuit of enterprise developers, its surface area has expanded in seemingly every direction. The folks behind Scala have, thankfully, taken notice: upcoming releases are promised to focus on simplicity, clarity, and better tooling.
Texas Judge References 'The Big Lebowski'
"The First Amendment of the U.S. Constitution is similarly suspicious of prior restraints," wrote Justice Lehrmann in the decision highlighting a cornerstone that has "been reaffirmed time and again by the Supreme Court, this Court, Texas courts of appeals, legal treatises, and even popular culture." That last reference to popular culture contained an interesting footnote citing none other than Walter Sobchak, a character in ['The Big Lebowski'].
(tags: lebowski movies coen-brothers prior-restraint law supreme-court walter-sobchak funny)
on using JSON as a config file format
Ben Hughes on twitter: "JSON is fine for config files, if you don't want to comment your config file. Which is a way of saying, it isn't fine for config files."
(tags: ben-hughes funny json file-formats config-files configuration software coding)
Understanding weak isolation is a serious problem
Peter Bailis complaining about the horrors of modern transactional databases and their unserializability, which noone seems to be paying attention to: 'As you’re probably aware, there’s an ongoing and often lively debate between transactional adherents and more recent “NoSQL” upstarts about related issues of usability, data corruption, and performance. But, in contrast, many of these transactional inherents and the research community as a whole have effectively ignored weak isolation — even in a single server setting and despite the fact that literally millions of businesses today depend on weak isolation and that many of these isolation levels have been around for almost three decades.' 'Despite the ubiquity of weak isolation, I haven’t found a database architect, researcher, or user who’s been able to offer an explanation of when, and, probably more importantly, why isolation models such as Read Committed are sufficient for correct execution. It’s reasonably well known that these weak isolation models represent “ACID in practice,” but I don’t think we have any real understanding of how so many applications are seemingly (!?) okay running under them. (If you haven’t seen these models before, they’re a little weird. For example, Read Committed isolation generally prevents users from reading uncommitted or non-final writes but allows a number of bad things to happen, like lost updates during concurrent read-modify-write operations. Why is this apparently okay for many applications?)'
(tags: acid consistency databases peter-bailis transactional corruption serializability isolation reliability)
"Left-Right: A Concurrency Control Technique with Wait-Free Population Oblivious Reads" [pdf]
'In this paper, we describe a generic concurrency control technique with Blocking write operations and Wait-Free Population Oblivious read operations, which we named the Left-Right technique. It is of particular interest for real-time applications with dedicated Reader threads, due to its wait-free property that gives strong latency guarantees and, in addition, there is no need for automatic Garbage Collection. The Left-Right pattern can be applied to any data structure, allowing concurrent access to it similarly to a Reader-Writer lock, but in a non-blocking manner for reads. We present several variations of the Left-Right technique, with different versioning mechanisms and state machines. In addition, we constructed an optimistic approach that can reduce synchronization for reads.' See also http://concurrencyfreaks.blogspot.ie/2013/12/left-right-concurrency-control.html for java implementation code.
(tags: left-right concurrency multithreading wait-free blocking realtime gc latency reader-writer locking synchronization java)
-
'bring your .bashrc, .vimrc, etc. with you when you ssh'. A really nice implementation of this idea (much nicer than my own version!)
(tags: hacks productivity ssh remote shell sh bash via:johnke home-directory unix)
Troubleshooting Production JVMs with jcmd
remotely trigger GCs, finalization, heap dumps etc. Handy
UK's ICO spam regulator even more toothless now
We appealed this decision, but on June 2014 the Upper Tribunal agreed with the First-tier Tribunal, cancelling our monetary penalty notice against Niebel and McNeish, and largely rendering our power to issue fines for breaches of PECR involving spam texts redundant.
This is pretty terrible. The UK appears to have the weakest anti-spam regime in Europe due to the lack of powers given to ICO.-
A nice curl/wget replacement which supports multi-TCP-connection downloads of HTTP/FTP resources. packaged for most Linux variants and OSX via brew
(tags: axel curl wget via:johnke downloading tcp http ftp ubuntu debian unix linux)
-
Linux users familiar with other filesystems or ZFS users from other platforms will often ask whether ZFS on Linux (ZoL) is “stable”. The short answer is yes, depending on your definition of stable. The term stable itself is somewhat ambiguous.
Oh dear. that's not a good start. Good reference page, though(tags: zfs linux filesystems ops solaris)
Screen time: Steve Jobs was a low tech parent
“This is rule No. 1: There are no screens in the bedroom. Period. Ever.”
(tags: screen-time kids children tv mobile technology life rules parenting)
CausalImpact: A new open-source package for estimating causal effects in time series
How can we measure the number of additional clicks or sales that an AdWords campaign generated? How can we estimate the impact of a new feature on app downloads? How do we compare the effectiveness of publicity across countries? In principle, all of these questions can be answered through causal inference. In practice, estimating a causal effect accurately is hard, especially when a randomised experiment is not available. One approach we've been developing at Google is based on Bayesian structural time-series models. We use these models to construct a synthetic control — what would have happened to our outcome metric in the absence of the intervention. This approach makes it possible to estimate the causal effect that can be attributed to the intervention, as well as its evolution over time. We've been testing and applying structural time-series models for some time at Google. For example, we've used them to better understand the effectiveness of advertising campaigns and work out their return on investment. We've also applied the models to settings where a randomised experiment was available, to check how similar our effect estimates would have been without an experimental control. Today, we're excited to announce the release of CausalImpact, an open-source R package that makes causal analyses simple and fast. With its release, all of our advertisers and users will be able to use the same powerful methods for estimating causal effects that we've been using ourselves. Our main motivation behind creating the package has been to find a better way of measuring the impact of ad campaigns on outcomes. However, the CausalImpact package could be used for many other applications involving causal inference. Examples include problems found in economics, epidemiology, or the political and social sciences.
(tags: causal-inference r google time-series models bayes adwords advertising statistics estimation metrics)
Top 10 Historic Sites in Ireland and Northern Ireland -- National Geographic
Shamefully, I haven't visited most of these!
(tags: history neolithic ireland northern-ireland national-geographic tourism places)
Software patents are crumbling, thanks to the Supreme Court
Now a series of decisions from lower courts is starting to bring the ruling's practical consequences into focus. And the results have been ugly for fans of software patents. By my count there have been 11 court rulings on the patentability of software since the Supreme Court's decision — including six that were decided this month. Every single one of them has led to the patent being invalidated. This doesn't necessarily mean that all software patents are in danger — these are mostly patents that are particularly vulnerable to challenge under the new Alice precedent. But it does mean that the pendulum of patent law is now clearly swinging in an anti-patent direction. Every time a patent gets invalidated, it strengthens the bargaining position of every defendant facing a lawsuit from a patent troll.
(tags: patents law alice swpats software supreme-court patent-trolls)
Riding with the Stars: Passenger Privacy in the NYC Taxicab Dataset
A practical demo of "differential privacy" -- allowing public data dumps to happen without leaking privacy, using Laplace noise addition
(tags: differential-privacy privacy leaks public-data open-data data nyc taxis laplace noise randomness)
-
I'm ambivalent about Microsoft acquiring Mojang. Will they Embrace and Extend Minecraft as they've done with other categories? Let's hope not. On the other hand, some adult supervision and a Plugin API would be welcome. Mojang have the financial resources but lack the will and focus needed to publish and support a Plugin API. Perhaps Mojang themselves don't realise just how important their little game has become.
Open Invention Network Symposium on Open Source Software and Patents in Context
Dublin, 24th September 2014, hosted by Enterprise Ireland. Hosted by former Ubuntu counsel (via gcarr)
(tags: via:gcarr ubuntu law legal open-source floss oss oin inventions patents swpat software ireland ei events)
Chris Baus: TCP_CORK: More than you ever wanted to know
Even with buffered streams the application must be able to instruct the OS to forward all pending data when the stream has been flushed for optimal performance. The application does not know where packet boundaries reside, hence buffer flushes might not align on packet boundaries. TCP_CORK can pack data more effectively, because it has direct access to the TCP/IP layer. [..] If you do use an application buffering and streaming mechanism (as does Apache), I highly recommend applying the TCP_NODELAY socket option which disables Nagle's algorithm. All calls to write() will then result in immediate transfer of data.
(tags: networking tcp via:nmaurer performance ip tcp_cork linux syscalls writev tcp_nodelay nagle packets)
-
relatively-new Japanese place in the North Strand -- delivers, too. Comes recommended by JK. Must try it out soon!
(tags: takeaways delivery food restaurants japanese north-strand dublin)
A gut microbe that stops food allergies
Actual scientific research showing that antibiotic use may be implicated in allergies: 'Nagler’s team first confirmed that mice given antibiotics early in life were far more susceptible to peanut sensitization, a model of human peanut allergy. Then, they introduced a solution containing Clostridia, a common class of bacteria that’s naturally found in the mammalian gut, into the rodents’ mouths and stomachs. The animals’ food allergen sensitization disappeared, the team reports online today in the Proceedings of the National Academy of Sciences. When the scientists instead introduced another common kind of healthy bacteria, called Bacteroides, into similarly allergy-prone mice, they didn’t see the same effect. Studying the rodents more carefully, the researchers determined that Clostridia were having a surprising effect on the mouse gut: Acting through certain immune cells, the bacteria helped keep peanut proteins that can cause allergic reactions out of the bloodstream. “The bacteria are maintaining the integrity of the [intestinal] barrier,” Nagler says.'
(tags: allergies health food peanuts science research clostridium bacteria gut intestines immune-system mice papers pnas)
-
ah, memories. This is the bug that caused me to have to run a fleet-wide upgrade across the EC2 substrate. Thanks, boost::asio!
(tags: bugs network-monitoring boost boost-asio memories history)
-
Today, Apple announced their “Most Personal Device Ever”. They also announced Apple Pay (the only mentions of “security” and “privacy” in today’s event), and are rolling out health tracking and home automation in iOS 8. Given their feckless track record [with cloud-service security], would you really trust Apple with (even more of) your digital life?
-
Excellent post from Dan Kaminsky on concrete actions that cloud service providers like Apple and Google need to start taking.
*It's time to ban Password1*: [...] Defenders are using simple rules like “doesn’t have an uppercase letter” and “not enough punctuation” to block passwords while attackers are just straight up analyzing password dumps and figuring out the most likely passwords to attempt in any scenario. Attackers are just way ahead. That has to change. Defenders have password dumps too now. It’s time we start outright blocking passwords common enough that they can be online brute forced, and it’s time we admit we know what they are. [...] *People use communication technologies for sexy times. Deal with it*: Just like browsers have porn mode for the personal consumption of private imagery, cell phones have applications that are significantly less likely to lead to anyone else but your special friends seeing your special bits. I personally advise Wickr, an instant messaging firm that develops secure software for iPhone and Android. What’s important about Wickr here isn’t just the deep crypto they’ve implemented, though it’s useful too. What’s important in this context is that with this code there’s just a lot fewer places to steal your data from. Photos and other content sent in Wickr don’t get backed up to your desktop, don’t get saved in any cloud, and by default get removed from your friend’s phone after an amount of time you control. Wickr is of course not the only company supporting what’s called “ephemeral messaging”; SnapChat also dramatically reduces the exposure of your private imagery. [...]
via Leonard.(tags: icloud apple privacy security via:lhl snapchat wickr dan-kaminsky cloud-services backup)
Inside Apple’s Live Event Stream Failure, And Why It Happened: It Wasn’t A Capacity Issue
The bottom line with this event is that the encoding, translation, JavaScript code, the video player, the call to S3 single storage location and the millisecond refreshes all didn’t work properly together and was the root cause of Apple’s failed attempt to make the live stream work without any problems. So while it would be easy to say it was a CDN capacity issue, which was my initial thought considering how many events are taking place today and this week, it does not appear that a lack of capacity played any part in the event not working properly. Apple simply didn’t provision and plan for the event properly.
BLDGBLOG: Procedural Brutalism
a few GIFs of procedurally generated architecture by a game developer named Cedric, built using Unity. Cedric describes himself as an "indie game dev focused on social AI, emergent narrative and procedural worlds." Imagine whole game worlds powered by real-time computation at the building level, constantly and parametrically fizzing with architectural forms, barely predictable new Woolworth Buildings and Barbicans sprouting on-demand from the ground whenever needed.
(tags: brutalism architecture games graphics design procedural generation gifs animation)
Comcast Wi-Fi serving self-promotional ads via JavaScript injection | Ars Technica
Comcast is adding data into the broadband packet stream. In 2007, it was packets serving up disconnection commands. Today, Comcast is inserting JavaScript that is serving up advertisements, according to [Robb] Topolski, who reviewed Singel's data. "It's the duty of the service provider to pull packets without treating them or modifying them or injecting stuff or forging packets. None of that should be in the province of the service provider," he said. "Imagine every Web page with a Comcast bug in the lower righthand corner. It's the antithesis of what a service provider is supposed to do. We want Internet access, not another version of cable TV."
The company appears to be called Front Porch: http://arstechnica.com/tech-policy/2014/09/meet-the-tech-company-performing-ad-injections-for-big-cable/(tags: comcast ads injection security javascript http network-neutrality isps)
"Perspectives On The CAP Theorem" [pdf]
"We cannot achieve [CAP theorem] consistency and availability in a partition-prone network."
(tags: papers cap distcomp cap-theorem consistency availability partitions network reliability)
Aerospike's CA boast gets a thumbs-down from @aphyr
Specifically, @aerospikedb cannot offer cursor stability, repeatable read, snapshot isolation, or any flavor of serializability. @nasav @aerospikedb At *best* you can offer Read Committed, which is not, I assert, what most people would expect from an "ACID" database.
(tags: aphyr aerospike availability consistency acid transactions distcomp databases storage)
How Twitter Uses Redis to Scale
'105TB RAM, 39MM QPS, 10,000+ instances.' Notes from a talk given by Yao Yu of Twitter's Cache team, where she's worked for 4 years. Lots of interesting insights into large-scale Redis caching usage -- as in, large enough to max out the cluster hosts' network bandwidth.
CLion – Brand New IDE for C and C++ Developers
JetBrains (makers of the excellent Intelli/J) have come out with a C/C++ refactoring IDE which looks utterly fantastic. If I wind up hacking on C/C++ again in future, I'll be using this one
(tags: c c++ refactoring ide intelli-j clion jetbrains editors coding)
-
'turns a fresh cloud computer into a working mail server. You get contact synchronization, spam filtering, and so on. On your phone, you can use apps like K-9 Mail and CardDAV-Sync free beta to sync your email and contacts between your phone and your box.' (via Tony Finch)
Irish Water Data Protection Notice: A review…
Tried and came up wanting. Particularly notable for its illegal "Marketing" section, which attempts to evade opt-in-required anti-spam law with a "consent landgrab" on SMS and email
(tags: irish-water law dpc data-protection privacy spam opt-in si336 sms email ireland)
SI336 - current Irish anti-spam law
"European Communities (Electronic Communications Networks and Services) (Privacy and Electronic Communications) Regulations 2011". Spam is covered under 13.1, "Unsolicited communications", on page 16 of this PDF
(tags: spam anti-spam law ireland eu ec sms email si336 privacy regulation)
-
Lots of good advice for parents here
(tags: kids online social-media internet web facebook privacy security)
'The very first release of Gmail simply used spamassassin on the backend'
Excellent. Confirming what I'd heard from a few other sources, too ;) This is a well-written history of the anti-spam war so far, from Mike Hearn, writing with the Google/Gmail point of view:
Brief note about my background, to establish credentials: I worked at Google for about 7.5 years. For about 4.5 of those I worked on the Gmail abuse team, which is very tightly linked with the spam team (they use the same software, share the same on-call rotations etc).
Reading this kind of stuff is awesome for me, since it's a nice picture of a fun problem to work on -- the Gmail team took the right ideas about how to fight spam, and scaled them up to the 10s-of-millions DAU mark. Nicely done. The second half is some interesting musings on end-to-end encrypted communications and how it would deal with spam. Worth a read...(tags: gmail google spam anti-spam filtering spamassassin history)
The FBI Finally Says How It ‘Legally’ Pinpointed Silk Road’s Server
The answer, according to a new filing by the case’s prosecution, is far more mundane: The FBI claims to have found the server’s location without the NSA’s help, simply by fiddling with the Silk Road’s login page until it leaked its true location.
(tags: fbi nsa silk-road tor opsec dread-pirate-roberts wired)
The Ramifications of Alice: A Conversation with Mark Lemley - IPWatchdog.com
I think you need to review what is actually happening at the USPTO in terms of rejections and how the Federal Circuit is applying Alice to find software patent claims patent ineligible. We are not crying wolf. It is really, factually, truthfully happening.
On the face of it, this sounds like great news ;)Why A Dead Alkaline Battery Bounces
Nice bit of science
Visualizing Garbage Collection Algorithms
Great dataviz with animated GIFs
(tags: algorithms gc memory visualization garbage-collection dataviz refcounting mark-and-sweep)
-
John Gruber’s canonical description of Markdown’s syntax does not specify the syntax unambiguously. In the absence of a spec, early implementers consulted the original Markdown.pl code to resolve these ambiguities. But Markdown.pl was quite buggy, and gave manifestly bad results in many cases, so it was not a satisfactory replacement for a spec. Because there is no unambiguous spec, implementations have diverged considerably. As a result, users are often surprised to find that a document that renders one way on one system (say, a GitHub wiki) renders differently on another (say, converting to docbook using Pandoc). To make matters worse, because nothing in Markdown counts as a “syntax error,” the divergence often isn't discovered right away. There's no standard test suite for Markdown; the unofficial MDTest is the closest thing we have. The only way to resolve Markdown ambiguities and inconsistencies is Babelmark, which compares the output of 20+ implementations of Markdown against each other to see if a consensus emerges. We propose a standard, unambiguous syntax specification for Markdown, along with a suite of comprehensive tests to validate Markdown implementations against this specification. We believe this is necessary, even essential, for the future of Markdown.
Postcodes at last but random numbers don’t address efficiency
Karlin Lillington assembles a fine collection of quotes from various sources panning the new Eircode system:
Critics say the opportunity has been missed to use Ireland’s clean-slate status to produce a technologically innovative postcode system that would be at the cutting edge globally; similar to the competitive leap that was provided when the State switched to a digital phone network in the 1980s, well ahead of most of the world. Instead, say organisations such as the Freight Transport Association of Ireland (FTAI), the proposed seven-digit format of scrambled letters and numbers is almost useless for a business sector that should most benefit from a proper postcode system: transport and delivery companies, from international giants like FedEx and UPS down to local courier, delivery and service supplier firms. Because each postcode will reveal the exact address of a home or business, privacy advocates are concerned that online use of postcodes could link many types of internet activity, including potentially sensitive online searches, to a specific household or business.
(tags: eircode government fail ireland postcodes location ftai random)
-
List of websites and whether or not they support 2FA. Also see the list of 2FA providers and the platforms they support.
(tags: 2fa mfa authentication security web-services web)
-
Excellent post on all of the ins and outs of EC2 spot instance usage
(tags: ec2 aws spot-instances pricing cloud auto-scaling ops)
Nik Cubrilovic - Notes on the Celebrity Data Theft
tl;dr: a lot of people are spending a lot of time stealing nudie pics from celebrities. See also http://www.zdziarski.com/blog/?p=3783 for more details on the probable approaches used. Grim.
(tags: apple privacy security celebrities pics hacking iphone ipad ios exploits brute-force passwords 2fa mfa find-my-iphone icloud backups)
How To Remove a Stripped Screw Without an Extractor
one for future reference. Hate when this happens
(tags: repair diy stripped-screws screws rubber-bands)
Nix: The Purely Functional Package Manager
'a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. It provides atomic upgrades and rollbacks, side-by-side installation of multiple versions of a package, multi-user package management and easy setup of build environments. ' Basically, this is a third-party open source reimplementation of Amazon's (excellent) internal packaging system, using symlinks to versioned package directories to ensure atomicity and the ability to roll back. This is definitely the *right* way to build packages -- I know what tool I'll be pushing for, next time this question comes up. See also nixos.org for a Linux distro built on Nix.
(tags: ops linux devops unix packaging distros nix nixos atomic upgrades rollback versioning)
Facebook's drop-in replacement for std::vector
Fixes some low-hanging fruit, performance-wise. 'Simply replacing std::vector with folly::fbvector (after having included the folly/FBVector.h header file) will improve the performance of your C++ code using vectors with common coding patterns. The improvements are always non-negative, almost always measurable, frequently significant, sometimes dramatic, and occasionally spectacular.' (via Tony Finch)
(tags: c++ facebook performance algorithms vectors via:fanf optimization)
Applying cardiac alarm management techniques to your on-call
An ops-focused take on a recent story about alarm fatigue, and how a Boston hospital dealt with it. When I was in Amazon, many of the teams in our division had a target to reduce false positive pages, with a definite monetary value attached to it, since many teams had "time off in lieu" payments for out-of-hours pages to the on-call staff. As a result, reducing false-positive pages was reasonably high priority and we dealt with this problem very proactively, with a well-developed sense of how to do so. It's interesting to see how the outside world is only just starting to look into its amelioration. (Another benefit of a TOIL policy ;)
(tags: ops monitoring sysadmin alerts alarms nagios alarm-fatigue false-positives pages)
"Invertible Bloom Lookup Tables" [paper]
'We present a version of the Bloom filter data structure that supports not only the insertion, deletion, and lookup of key-value pairs, but also allows a complete listing of the pairs it contains with high probability, as long the number of key- value pairs is below a designed threshold. Our structure allows the number of key-value pairs to greatly exceed this threshold during normal operation. Exceeding the threshold simply temporarily prevents content listing and reduces the probability of a successful lookup. If entries are later deleted to return the structure below the threshold, everything again functions appropriately. We also show that simple variations of our structure are robust to certain standard errors, such as the deletion of a key without a corresponding insertion or the insertion of two distinct values for a key. The properties of our structure make it suitable for several applications, including database and networking applications that we highlight.'
(tags: iblt bloom-filters data-structures performance algorithms coding papers probabilistic)
Some UX Dark Patterns now illegal in the EU
The EU’s new consumer rights law bans certain dark patterns related to e-commerce across Europe. The “sneak into basket” pattern is now illegal. Full stop, end of story. You cannot create a situation where additional items and services are added by default. [...] Hidden costs are now illegal, whether that’s an undeclared subscription, extra shipping charges, or extra items. [....] Forced continuity, when imposed on the user as a form of bait-and-switch, has been banned. Just the other day a web designer mentioned to me that he had only just discovered he had been charged for four years of annual membership dues in a “theme club”, having bought what he thought was a one-off theme. Since he lives in Europe, he may be able to claim all of this money back. All he needs to do is prove that the website did not inform him that the purchase included a membership with recurring payments.
(tags: design europe law ecommerce ux dark-patterns scams ryanair selling online consumer consumer-rights bait-and-switch)
-
The CDC (Centre for Disease Control) lists water fluoridation as one of the ten great public health achievements of the 20th Century. Today, Dublin City Council will vote on whether to remove fluoride from our water supply, and when they do, it will not be because the CDC or the WHO have changed their mind about fluoridation, or because new and compelling information makes it the only choice. It will be because people who believe in angel healing, homeopathy, and chemtrails, have somehow gained the ability to influence public policy.
(tags: dcc dublin law flouride science zenbuffy homeopathy woo health teeth)
Revisiting How We Put Together Linux Systems
Building a running OS out of layered btrfs filesystems. This sounds awesome.
Instantiating a new system or OS container (which is exactly the same in this scheme) just consists of creating a new appropriately named root sub-volume. Completely naturally you can share one vendor OS copy in one specific version with a multitude of container instances. Everything is double-buffered (or actually, n-fold-buffered), because usr, runtime, framework, app sub-volumes can exist in multiple versions. Of course, by default the execution logic should always pick the newest release of each sub-volume, but it is up to the user keep multiple versions around, and possibly execute older versions, if he desires to do so. In fact, like on ChromeOS this could even be handled automatically: if a system fails to boot with a newer snapshot, the boot loader can automatically revert back to an older version of the OS.
(via Tony Finch)(tags: via:fanf linux docker btrfs filesystems unionfs copy-on-write os hacking unix)
-
A nice Lua/C++ implementation of Aho-Corasick for fast string matching against multiple patterns (via JGC). This uses an interesting technique to get better performance by compacting the data structure into a single buffer, to avoid following pointers all over RAM and busting the cache.
(tags: optimization speed performance aho-corasick tries string-matching strings algorithms lua c++ via:jgc)
On-Demand Jenkins Slaves With Amazon EC2
This is very likely where we'll be going for our acceptance tests in Swrve
(tags: testing jenkins ec2 spot-instances scalability auto-scaling ops build)
Google's new end-to-end key distribution proposal
'For End-To-End, our current approach to key distribution, is to use a model similar to Certificate Transparency, and use the email messages themselves as a gossip protocol, which allow the users themselves to keep the centralized authorities honest. This approach allows users to not have to know about keys, but at the same time, be able to make sure that the servers involved aren't doing anything malicious behind the users' back.'
(tags: end-to-end encryption google security email crypto key-distribution)
-
'The Irish Times podcast ends with both the NUJ’s Seamus Dooley and Prof Kenny agreeing that somebody must regulate the internet so that it can be brought into line.'
(tags: regulation ireland law dangerous nuj bai journalism censorship)
Apache Kafka 0.8 basic training
This is a pretty voluminous and authoritative presentation about getting started with Kafka; wish this was around when we started using it for 0.7. (We use our own homegrown realtime system nowadays, due to better partitioning, monitoring and operability.)
(tags: storm kafka presentations documentation ops)
-
Wiki Loves Monuments is an international photo contest, organised by Wikimedia [...]. This year, the Wikimedia Ireland Community are running the competition for the very first time in Ireland. The contest is inspired by the successful 2010 pilot in the Netherlands which resulted in 12,500 freely licensed images uploaded to Wikimedia Commons. It has grown substantially since its inception; in 2013 369,589 photographs were submitted by 11,943 participants from over 50 countries. Cultural heritage is an important part of the knowledge that Wikipedia collects and disseminates. An image is worth a thousand words, in any language and local enthusiasts can (re)discover the cultural, historical, or scientific significance of their neighbourhood. The Irish contest, focussing on Ireland’s national monuments, runs from August 23 - September 30. Follow our step-by-step guide to find out how you can take part.
(tags: wikipedia wikimedia images monuments history ireland contests creative-commons licensing)
"CryptoPhone" claims to detect IMSI catchers in operation
To show what the CryptoPhone can do that less expensive competitors cannot, he points me to a map that he and his customers have created, indicating 17 different phony cell towers known as “interceptors,” detected by the CryptoPhone 500 around the United States during the month of July alone. Interceptors look to a typical phone like an ordinary tower. Once the phone connects with the interceptor, a variety of “over-the-air” attacks become possible, from eavesdropping on calls and texts to pushing spyware to the device. “Interceptor use in the U.S. is much higher than people had anticipated,” Goldsmith says. “One of our customers took a road trip from Florida to North Carolina and he found 8 different interceptors on that trip. We even found one at South Point Casino in Las Vegas.”
(tags: imsi-catchers security cryptophone phones mobile 3g 4g eavesdropping surveillance)
The poisoned NUL byte, 2014 edition
A successful exploit of Fedora glibc via a single NUL overflow (via Tony Finch)
(tags: via:fanf buffer-overflows security nul byte exploits google project-zero)
'Addressing the rebalancing problem in bike-sharing systems' [paper]
Many of the bike-sharing systems introduced around the world in the past 15 years have the same problem: Riders tend to take some routes and not others. As a result, the bikes tend to collect in a few places, which is a drag for users and a costly problem for the operators, who "rebalance" the system using trucks that take bikes from full stations to empty ones. Now, scientists are coming up with special algorithms to improve this process. One of them, developed by scientists at the Vienna University of Technology and the Austrian Institute of Technology, is now being tested in Vienna's bike-sharing system; another, developed at Cornell University, is already in use in New York City.
Timely -- here's what Dublin Bikes looked like this morning: https://twitter.com/jmason/status/503828246086295552 (via Andrew Caines)(tags: cycling bike-sharing borisbikes dublinbikes rebalancing fleet availability optimization maths papers toread algorithms)
'Join-Idle-Queue: A Novel Load Balancing Algorithm for Dynamically Scalable Web Services' [paper]
We proposed the JIQ algorithms for web server farms that are dynamically scalable. The JIQ algorithms significantly outperform the state-of-the-art SQ(d) algorithm in terms of response time at the servers, while incurring no communication overhead on the critical path. The overall complexity of JIQ is no greater than that of SQ(d). The extension of the JIQ algorithms proves to be useful at very high load. It will be interesting to acquire a better understanding of the algorithm with a varying reporting threshold. We would also like to understand better the relationship of the reporting frequency to response times, as well as an algorithm to further reduce the complexity of the JIQ-SQ(2) algorithm while maintaining its superior performance.
(tags: join-idle-queue algorithms scheduling load-balancing via:norman-maurer jiq microsoft load-balancers performance)
3 Rules of thumb for Bloom Filters
I often need to do rough back-of-the-envelope reasoning about things, and I find that doing a bit of work to develop an intuition for how a new technique performs is usually worthwhile. So, here are three broad rules of thumb to remember when discussing Bloom filters down the pub: One byte per item in the input set gives about a 2% false positive rate. The optimal number of hash functions is about 0.7 times the number of bits per item. 3 - The number of hashes dominates performance.
(tags: bloom-filters algorithm probabilistic rules reasoning via:norman-maurer false-positives hashing coding)
Logentries Announces Machine Learning Analytics for IT Ops Monitoring and Real-time Alerting
This sounds pretty neat:
With Logentries Anomaly Detection, users can: Set-up real-time alerting based on deviations from important patterns and log events. Easily customize Anomaly thresholds and compare different time periods. With Logentries Inactivity Alerting, users can: Monitor standard, incoming events such as an application heart beat. Receive real-time alerts based on log inactivity (i.e. receive alerts when something does not occur).
(tags: logging syslog logentries anomaly-detection ops machine-learning inactivity alarms alerting heartbeats)
A beginner's guide to drills and bits - Boing Boing
This is actually quite educational
(tags: diy boing-boing drills bits tools construction)
-
Some vague details of the antispam system in use at Twitter.
The main challenges in supporting this type of system are evaluating rules with low enough latency that they can run on the write path for Twitter’s main features (i.e., Tweets, Retweets, favorites, follows and messages), supporting computationally intense machine learning based rules, and providing Twitter engineers with the ability to modify and create new rules instantaneously.
(tags: spam realtime scaling twitter anti-spam botmaker rules)
EcoJel jellyfish identification card
To identify the jellyfish found in Irish waters -- good, recognisable photos
(tags: jellyfish identification ecojel ireland sea swimming safety id-cards)
DealExtreme are now selling a Google Cardboard kit
$10 with free shipping. You can't go wrong!
The Double Identity of an "Anti-Semitic" Commenter
Hasbara out of control. This is utterly nuts.
His intricate campaign, which he has admitted to Common Dreams, included posting comments by a screen name, "JewishProgressive," whose purpose was to draw attention to and denounce the anti-Semitic comments that he had written under many other screen names. The deception was many-layered. At one point he had one of his characters charge that the anti-Semitic comments and the criticism of the anti-Semitic comments must be written by "internet trolls who have been known to impersonate anti-Semites in order to then double-back and accuse others of supporting anti-Semitism"--exactly what he was doing.
(tags: hasbara israel trolls propaganda web racism comments anonymity commondreams)
WWN’S Guide To Abortion In Ireland
"Why are you still reading this? Go to England!" funny because it's (horribly) true.
(tags: abortion ireland politics women rights wwn england ovaries rosaries religion)
Java tip: optimizing memory consumption
Good tips on how to tell if object allocation rate is a bottleneck in your JVM-based code
(tags: yourkit memory java jvm allocation gc bottlenecks performance)
-
The way that [problems with the PGP bootstrapping] are supposed to be resolved is with an authentication model called the Web of Trust where users sign keys of other users after verifying that they are who they say they are. In theory, if some due diligence is applied in signing other people’s keys and a sufficient number of people participate you’ll be able to follow a short chain of signatures from people you already know and trust to new untrusted keys you download from a key server. In practice this has never worked out very well as it burdens users with the task of manually finding people to sign their keys and even experts find the Web of Trust model difficult to reason about. This also reveals the social graph of certain communities which may place users at risk for their associations. Such signatures also reveal metadata about times and thus places for meetings for key signings. The Nyms Identity Directory is a replacement for all of this. Keyservers are replaced with an identity directory that gives users full control over publication of their key information and web of trust is replaced with a distributed network of trusted notaries which validate user keys with an email verification protocol.
(tags: web-of-trust directories nyms privacy crypto identity trust pgp gpg security via:ioerror keyservers notaries)
-
Frogsort as an exam question (via qwghlm)
(tags: via:qwghlm frogsort sorting big-o algorithms funny comics smbc)
Punished for Being Poor: Big Data in the Justice System
This is awful. Totally the wrong tool for the job -- a false positive rate which is miniscule for something like spam filtering, could translate to a really horrible outcome for a human life.
Currently, over 20 states use data-crunching risk-assessment programs for sentencing decisions, usually consisting of proprietary software whose exact methods are unknown, to determine which individuals are most likely to re-offend. The Senate and House are also considering similar tools for federal sentencing. These data programs look at a variety of factors, many of them relatively static, like criminal and employment history, age, gender, education, finances, family background, and residence. Indiana, for example, uses the LSI-R, the legality of which was upheld by the state’s supreme court in 2010. Other states use a model called COMPAS, which uses many of the same variables as LSI-R and even includes high school grades. Others are currently considering the practice as a way to reduce the number of inmates and ensure public safety. (Many more states use or endorse similar assessments when sentencing sex offenders, and the programs have been used in parole hearings for years.) Even the American Law Institute has embraced the practice, adding it to the Model Penal Code, attesting to the tool’s legitimacy.
(via stroan)(tags: via:stroan statistics false-positives big-data law law-enforcement penal-code risk sentencing)
Microservices - Not a free lunch! - High Scalability
Some good reasons not to adopt microservices blindly. Testability and distributed-systems complexity are my biggest fears
(tags: microservices soa devops architecture testing distcomp)
Richard Clayton - Failing at Microservices
Solid warts-and-all confessional blogpost about a team failing to implement a microservices architecture. I'd put most of the blame on insufficient infrastructure to support them (at a code level), inter-personal team problems, and inexperience with large-scale complex multi-service production deployment and the work it was going to require
(tags: microservices devops collaboration architecture fail team deployment soa)
Box Tech Blog » A Tale of Postmortems
How Box introduced COE-style dev/ops outage postmortems, and got them working. This PIE metric sounds really useful to head off the dreaded "it'll all have to come out missus" action item:
The picture was getting clearer, and we decided to look into individual postmortems and action items and see what was missing. As it was, action items were wasting away with no owners. Digging deeper, we noticed that many action items entailed massive refactorings or vague requirements like “make system X better” (i.e. tasks that realistically were unlikely to be addressed). At a higher level, postmortem discussions often devolved into theoretical debates without a clear outcome. We needed a way to lower and focus the postmortem bar and a better way to categorize our action items and our technical debt. Out of this need, PIE (“Probability of recurrence * Impact of recurrence * Ease of addressing”) was born. By ranking each factor from 1 (“low”) to 5 (“high”), PIE provided us with two critical improvements: 1. A way to police our postmortems discussions. I.e. a low probability, low impact, hard to implement solution was unlikely to get prioritized and was better suited to a discussion outside the context of the postmortem. Using this ranking helped deflect almost all theoretical discussions. 2. A straightforward way to prioritize our action items. What’s better is that once we embraced PIE, we also applied it to existing tech debt work. This was critical because we could now prioritize postmortem action items alongside existing work. Postmortem action items became part of normal operations just like any other high-priority work.
(tags: postmortems action-items outages ops devops pie metrics ranking refactoring prioritisation tech-debt)
NTP's days are numbered for consumer devices
An accurate clock is required to negotiate SSL/TLS, so clock sync is important for internet-of-things usage. but:
Unfortunately for us, the traditional and most widespread method for clock synchronisation (NTP) has been caught up in a DDoS issue which has recently caused some ISPs to start blocking all NTP communication. [....] Because the DDoS attacks are so widespread, and the lack of obvious commercial pressure to fix the issue, it’s possible that the days of using NTP as a mechanism for setting clocks may well be numbered. Luckily for us there is a small but growing project that replaces it. tlsdate was started by Jacob Appelbaum of the Tor project in 2012, making use of the SSL handshake in order to extract time from a remote server, and its usage is on the rise. [....] Since we started encountering these problems, we’ve incorporated tlsdate into an over-the-air update, and have successfully started using this in situations where NTP is blocked.
(tags: tlsdate ntp clocks time sync iot via:gwire ddos isps internet protocols security)
Cloudwash – Creating the Technical Prototype
This is a lovely demo of integrating modern IoT connectivity functionality (remote app control, etc.) with a washing machine using Bergcloud's hardware and backend, and a little logic-analyzer reverse engineering.
(tags: arduino diy washing-machines iot bergcloud hacking reversing logic-analyzers hardware)
Systemd: Harbinger of the Linux apocalypse
While there are many defensible aspects of Systemd, other aspects boggle the mind. Not the least of these was that, as of a few months ago, trying to debug the kernel from the boot line would cause the system to crash. This was because of Systemd's voracious logging and the fact that Systemd responds to the "debug" flag on the kernel boot line -- a flag meant for the kernel, not anything else. That, straight up, is a bug. However, the Systemd developers didn't see it that way and actively fought with those experiencing the problem. Add the fact that one of the Systemd developers was banned by Linus Torvalds for poor attitude and bad design and another was responsible for causing significant issues with Linux audio support, but blamed the problem on everything else but his software, and you have a bad situation on your hands. There's no shortage of egos in the open source development world. There's no shortage of new ideas and veteran developers and administrators pooh-poohing something new simply because it's new. But there are also 45 years of history behind Unix and extremely good reasons it's still flourishing. Tools designed like Systemd do not fit the Linux mold, to their own detriment. Systemd's design has more in common with Windows than with Unix -- down to the binary logging.
The link re systemd consuming the "debug" kernel boot arg is a canonical example of inflexible coders refusing to fix their own bugs. (via Jason Dixon)(tags: systemd linux red-hat egos linus-torvalds unix init booting debugging logging design software via:obfuscurity)
-
The mining operation resides on an old, repurposed factory floor, and contains 2500 machines hashing away at 230 Gh/s, each. (That’s 230 billion calculations per second, per unit). [...] The operators told me that the power bill of this specific operation is in excess of ¥400,000 per month [..] about $60,000 USD.
(tags: currency china economics bitcoin power environment green mining datacenters)
Moving Big Data into the Cloud with Tsunami UDP - AWS Big Data Blog
Pretty serious speedup. 81 MB/sec with Tsunami UDP, compared to 9 MB/sec with plain old scp. Probably kills internet performance for everyone else though!
(tags: tsunami-udp udp scp copying transfers internet long-distance performance speed)
-
Ha, great name. We use this (in the form of Smartstack).
For what it is worth, we faced a similar challenge in earlier services (mostly due to existing C/C++ applications) and we created what was called a "sidecar". By sidecar, what I mean is a second process on each node/instance that did Cloud Service Fabric operations on behalf of the main process (the side-managed process). Unfortunately those sidecars all went off and created one-offs for their particular service. In this post, I'll describe a more general sidecar that doesn't force users to have these one-offs. Sidenote: For those not familiar with sidecars, think of the motorcycle sidecar below. Snoopy would be the main process with Woodstock being the sidecar process. The main work on the instance would be the motorcycle (say serving your users' REST requests). The operational control is the sidecar (say serving health checks and management plane requests of the operational platform).
(tags: netflix sidecars architecture patterns smartstack netflixoss microservices soa)
Six things we know from the latest FinFisher documents | Privacy International
The publishing of materials from a support server belonging to surveillance-industry giant Gamma International has provided a trove of information for technologists, security researchers and activists. This has given the world a direct insight into a tight-knit industry, which demands secrecy for themselves and their clients, but ultimately assists in the violation human rights of ordinary people without care or reproach. Now for the first time, there is solid confirmation of Gamma's activities from inside the company's own files, despite their denials, on their clients and support provided to a range of governments.
(tags: finfisher gamma-international privacy surveillance iphone android rootkits wiretapping germany privacy-international spying bahrain turkmenistan arab-spring egypt phones mobile)
BAI says Mooney Show was wrong to broadcast programme supporting same-sex marriage
This is a terrible decision. As Fintan O'Toole wrote afterwards: [The] 'BAI decision actually makes the point: a gay couple is a political "issue"; a straight couple is just a couple'
(tags: ireland law bai radio derek-mooney same-sex-marriage gay equal-rights)
The Internet's Original Sin - The Atlantic
Ethan Zuckerberg: 'It's not too late to ditch the ad-based business model and build a better web.'
(tags: advertising business internet ads business-models the-atlantic ethan-zuckerberg via:anildash web privacy surveillance google)
Comment #28 : Bug #255161 : Bugs : “cupsys” package : Ubuntu
file(1) bug causes the input Postscript file to be misidentified as an Erlang JAM file if it contains the string 'Tue' starting at byte 4.
(tags: via:hackernews file unix cups printing funny bugs fail ubuntu linux)
Syria's 2012 internet disconnection wasn't on purpose
According to Edward Snowden, it was a side-effect of the NSA attempting to install an exploit in one of the core routers at a major Syrian ISP, and accidentally bricking the router
(tags: routers exploits hacking software tao nsa edward-snowden syria internet privacy)
Edward Snowden: The Untold Story | Threat Level | WIRED
Snowden interviewed by James "The Puzzle Palace" Bamford, no less
(tags: james-bamford nsa edward-snowden wired interviews toread leaks whistleblowers us-politics)
Profiling Hadoop jobs with Riemann
I’ve built a very simple distributed profiler for soft-real-time telemetry from hundreds to thousands of JVMs concurrently. It’s nowhere near as comprehensive in its analysis as, say, Yourkit, but it can tell you, across a distributed system, which functions are taking the most time, and what their dominant callers are.
Potentially useful.(tags: riemann profiling aphyr hadoop emr performance monitoring)
-
the world's largest permanent scale model of the Solar System. The Sun is represented by the Ericsson Globe in Stockholm, the largest hemispherical building in the world. The inner planets can also be found in Stockholm but the outer planets are situated northward in other cities along the Baltic Sea. The system was started by Nils Brenning and Gösta Gahm and is on the scale of 1:20 million.
(via JK)(tags: scale models solar-system astronomy sun sweden science cool via:jk)
All Data Are Belong to AWS: Streaming upload via Fluentd
Fluentd looks like a decent foundation for tailing/streaming event processing in Ruby, supporting batched output to S3 and a bunch of other AWS services, Kafka, and RabbitMQ for output. Claims to have ok performance, despite its Rubbitude. However, its high-availability story is shite, so not to be used where availability is important
(tags: ruby rabbitmq kafka tail event-streaming cep event-processing s3 aws sqs fluentd)
Twitter / mzmyslowski: Why Nigerian scam emails are so poorly written
Great explanation from MS Research's Corman Herley
(tags: corman-herley microsoft research spam nigerian-scam 419 scams conversion targeting mugus twitter)
-
install inotify-tools, then: 'while true do inotifywait -r -e modify -e create -e close . ./run.sh done' #opscookie
(tags: inotify al-tobey one-liners unix hacks opscookie twitter)
How Stewart "Whole Earth Catalog" Brand helped killed off the metric system in the US
In May of 1981, party people gathered for one of the nerdiest soirees ever to grace lower Manhattan. Billed as the “Foot Ball,” the event was an anti-metric shindig. Its revelers—including author Tom Wolfe and Whole Earth Catalog founder Stewart Brand—had joined to protest the encroachment of the metric system into modern American life. They threw shade on the meter and kilogram, and toasted the simple beauty of old classics like the yard and the pound.
Crazy. (via _stunned)(tags: via:_stunned us-politics tom-wolfe stewart-brand luddism metric imperial feet path-dependence)
-
Facebook's Autoscale service, which scales up/down the fleet in order to optimize power consumption; see also Google's Pegasus (http://csl.stanford.edu/~christos/publications/2014.pegasus.isca.pdf)
(tags: scaling via:eoinbrazil facebook autoscaling power optimization)
A tick bite can make you allergic to red meat
The bugs harbor a sugar that humans don't have, called alpha-gal. The sugar is also is found in red meat — beef, pork, venison, rabbit — and even some dairy products. It's usually fine when people encounter it through food that gets digested. But a tick bite triggers an immune system response, and in that high-alert state, the body perceives the sugar the tick transmitted to the victim's bloodstream and skin as a foreign substance, and makes antibodies to it. That sets the stage for an allergic reaction the next time the person eats red meat and encounters the sugar.
Via Shane Naughton(tags: ticks meat food allergies immune-system health via:inundata sugar alpha-gal red-meat)
Real time analytics with Netty, Storm, Kafka
Arch of a fairly typical Kafka/Storm realtime ad-tracking setup, from eClick/mc2ads, via Trustin Lee
(tags: via:trustinlee kafka storm netty architecture ad-tracking ads realtime)
AWS Speed Test: What are the Fastest EC2 and S3 Regions?
My god, this test is awful -- this is how NOT to test networked infrastructure. (1) testing from a single EC2 instance in each region; (2) uploading to a single test bucket for each test; (3) results don't include min/max or percentiles, just an averaged measurement for each test. FAIL
(tags: fail testing networking performance ec2 aws s3 internet)
Hacker Redirects Traffic From 19 Internet Providers to Steal Bitcoins | Threat Level | WIRED
'The attacker specifically targeted a collection of bitcoin mining “pools”–bitcoin-producing cooperatives in which users contribute their computers’ processing power and are rewarded with a cut of the resulting cryptocurrency the pool produces. The redirection technique tricked the pools’ participants into continuing to devote their processors to bitcoin mining while allowing the hacker to keep the proceeds. At its peak, according to the researchers’ measurements, the hacker’s scam was pocketing a flow of bitcoins and other digital currencies including dogecoin and worldcoin worth close to $9,000 a day. “With this kind of hijacking, you can quite easily grab a large collection of clients,” says Pat Litke, one of the Dell researchers. “It takes less than a minute, and you end up with a lot of mining traffic under your control.”' 'In total, Stewart and Litke were able to measure $83,000 worth of cryptocurrency stolen in the BGP attack [...] but the total haul could be larger'
(tags: bitcoin mining fraud internet bgp routing security attacks hacking)
UK piracy police arrest man suspected of running proxy server (Wired UK)
The site, Immunicity.org, offers a proxy server and a proxy autoconfiguration file (PAC) to tell browsers to access various blocked sites (PirateBay, KickassTorrents et al) via the proxy.
The Police Intellectual Property Crime Unit has arrested a 20-year-old man in Nottingham on suspicion of copyright infringement for running a proxy server providing access to other sites subject to legal blocking orders.
Is operating a proxy server illegal? Interesting. Seems unlikely that this will go to court though. (Via TJ McIntyre)(tags: immunicity via:tjmcintyre police uk piracy proxies http pac pipcu copyright)
-
brilliant. a great threadless sub from Threadless user NickOG back in 2012
(tags: worf star-trek joy-division tee-shirts threadless funny)
-
Excellent: 'a Twitter-fueled link aggregator that favors new projects/sites over news/articles' from Andy Baio.
Announcing UberPool, Carpooling with Uber
Ah, I was waiting for this; rest-of-world-style carpooling on demand, in an app. Great stuff
(tags: via:belong.io carpooling uber ride-sharing apps taxi travel uberpool)
Painless, effective peer reviews
This sounds like a nice way to do effective peer-driven team reviews without herculean effort, which were one of the most effective reviewing techniques (along with upwards reviewing of management) I encountered at Amazon. (Yes, the Amazon approach was very time-consuming and universally loathed.) The potential downside I can see is that it doesn't give the reviewer enough time to revise any review comments they have second thoughts about, whereas written reviews do, but that would be an easy fix at the end of the process. Also, it's worth noting that in most cases, a good review requires a bit of time to marshal thoughts and come up with a coherent review of a peer, so this doesn't completely avoid the impact on effort. Still, a definite improvement I would say.
(tags: hr management reviews performance peer-driven-review 360-reviews staff peers work teams amazon)
The problem with OKCupid is the problem with the social web
This is why it really stings whenever somebody turns around and says, "well actually, the terms you've signed give us permission to do whatever we want. Not just the thing you were afraid of, but a huge range of things you never thought of." You can't on one hand tell us to pay no attention when you change these things on us, and with the other insist that this is what we've really wanted to do all along. I mean, fuck me over, but don't tell me that I really wanted you to fuck me over all along. Because ultimately, the reason you needed me to agree in the first place isn't just because I'm using your software, but because you're using my stuff. And the reason I'm letting you use my stuff, and spending all this time working on it, is so that you can show it to people. I'm not just a user of your service, somebody who reads the things that you show it to me: I'm one of the reasons you have anything that you can show to anyone at all.
(tags: users web facebook okcupid terms-of-service jason-kottke privacy a-b-testing experiments ethics)
-
A Java-oriented practical intro to the MinHash duplicate-detection shingling algo
(tags: shingling algorithms minhash hashing duplicates duplicate-detection fuzzy-matching java)
-
The two charts indicate that current EU copyright is very unbalanced. When one side is completely satisfied with the status quo and the other is very unhappy then this is not a balanced situation. Given that a good compromise should leave everybody equally unhappy, the results of the consultation also show the direction for copyright reform efforts of the new EU Commission: re-balancing copyright requires at least some reform as demanded by end users and institutional users, most importantly a more harmonized and flexible system of exceptions and limitations.
'TCP And The Lower Bound of Web Performance' [pdf, slides]
John Rauser, Velocity, June 2010. Good data on real-world web perf based on the limitations which TCP and the speed of light impose
(tags: tcp speed-of-light performance web optimization john-rauser)
-
This is a yet another Java collections library of primitive specializations. Java 6+. Apache 2.0 license. Currently only hash sets and hash maps are implemented.
(tags: openhft performance java jvm collections asl hashsets hashmaps data-structures)
China detains 1,530 in telecom spam crackdown
via Christopher Soghoian: 'IMSI catchers/fake base stations are out of control in China. The gov shut down 24 IMSI catcher factories, 1500+ people were arrested.'
(tags: privacy spam china imsi-catchers mobile 3g gsm phones)
Does This Soldier's Instagram Account Prove Russia Is Covertly Operating In Ukraine?
“sitting around, working on a buk, listening to music, basically a good sunday”
(tags: ukraine buzzfeed politics sam missiles mh-17 war-crimes russia facebook instagram social-media whoops)
UK private copying exception plans face possible legal action
Under the proposed private copying exception, individuals in the UK would be given a new right to make a copy of copyrighted material they have lawfully and permanently acquired for their private use, provided it was not for commercial ends. Making a private copy of the material in these circumstances would not be an act of copyright infringement, although making a private copy of a computer program would still be prohibited under the plans. There is no mechanism envisaged in the draft legislation for rights holders to be specifically compensated for the act of private copying. This prompted the Joint Committee on Statutory Instruments (JCSI), tasked with scrutinising the proposals, to warn parliamentarians that the rules may be deemed to be in breach of EU copyright laws as a result of the lack of 'fair compensation' mechanism. [...] "We are disappointed that the private copying exception will be introduced without providing fair compensation for British songwriters, performers and other rights holders within the creative sector. A mechanism for fair compensation is a requirement of European law. In response we are considering our legal options," [UK Music] said.
(tags: uk law copyright music copying private-copying personal infringement piracy transcoding backup)
Moominvalley Map Print | Magic Pony
Lovely print! Shipping would be a bit crazy, though. There has to be an english-language print of one of Tove Jansson's maps on sale somewhere in Europe...
(tags: prints moomins moominvalley maps hattifatteners magic-pony tove-jannson art)
-
Ladyada's intro to electronics and microcontrollers using Arduino. Some day I'll get around to refreshing my memory, it's been years since I fiddled with a resistor ;)
(tags: electronics arduino hardware gadgets learning tutorial microcontrollers embedded-systems ladyada)
How to take over the computer of any JVM developer
To prove how easy [MITM attacking Mavencentral JARs] is to do, I wrote dilettante, a man-in-the-middle proxy that intercepts JARs from maven central and injects malicious code into them. Proxying HTTP traffic through dilettante will backdoor any JARs downloaded from maven central. The backdoored version will retain their functionality, but display a nice message to the user when they use the library.
(tags: jars dependencies java build clojure security mitm http proxies backdoors scala maven gradle)
Spain pushes for 'Google tax' to restrict linking
The government wants to put a tax on linking on the internet. They say that if you want to link to some newspaper's content, you have to pay a tax. The primary targets of this law are Google News and other aggregators. It would be absurd enough just like that, but the law goes further: they declared it an "inalienable right" so even if I have a blog or a new small digital media publication and I want to let people freely link to my content, I can't opt-out--they are charging the levy, and giving it to the big press media. It was just the last and only way that the old traditional media companies can get some money from the government, and they strongly lobbied for it. The bill has passed in the Congress where the party in the government has majority (PP, Partido Popular) and it's headed to the Senate, where they have a majority also.
(tags: spain stupidity law via:boingboing linking links web news google google-news newspapers old-media taxes)
Keyes New Starter Kit for Arduino Fans
$53 for a reasonable-looking Arduino starter kit, from DealExtreme. cheap cheap! In the inimitable DX style:
Keyes new beginner starter kit, pay more attention to beginners learning. Users can get rid of the difficult technological learning, from module used to quick start production.
(tags: learning arduino hardware hacking robotics toys dealextreme tobuy)
Check If A Hotel’s WiFi Sucks Before It’s Too Late
http://www.hotelwifitest.com/ and http://speedspot.org/ .
-
a nice summarisation of the state of pipe/stream-oriented collection operations in various languages, from Martin Fowler
(tags: martin-fowler patterns coding ruby clojure streams pipelines pipes unix lambda fp java languages)
REST Commander: Scalable Web Server Management and Monitoring
We dynamically monitor and manage a large and rapidly growing number of web servers deployed on our infrastructure and systems. However, existing tools present major challenges when making REST/SOAP calls with server-specific requests to a large number of web servers, and then performing aggregated analysis on the responses. We therefore developed REST Commander, a parallel asynchronous HTTP client as a service to monitor and manage web servers. REST Commander on a single server can send requests to thousands of servers with response aggregation in a matter of seconds. And yes, it is open-sourced at http://www.restcommander.com. Feature highlights: Click-to-run with zero installation; Generic HTTP request template supporting variable-based replacement for sending server-specific requests; Ability to send the same request to different servers, different requests to different servers, and different requests to the same server; Maximum concurrency control (throttling) to accommodate server capacity; Commander itself is also “as a service”: with its powerful REST API, you can define ad-hoc target servers, an HTTP request template, variable replacement, and a regular expression all in a single call. In addition, intuitive step-by-step wizards help you achieve the same functionality through a GUI.
(tags: rest http clients load-testing ebay soap async testing monitoring)
South Downs litter picker has truck named after him - West Sussex County Times
This is amazing. In http://www.newyorker.com/magazine/2014/06/30/stepping-out-3 , David Sedaris had written: 'in recognition of all the rubbish I’ve collected since getting my Fitbit, my local council is naming a garbage truck after me'; naturally, I assumed he was joking, but it looks like he wasn't:
Horsham District Council has paid thanks to a volunteer who devotes a great deal of time and energy to walking many miles clearing litter from near where he lives as well as surrounding areas. David Sedaris litter picks in areas including Parham, Coldwaltham, Storrington and beyond. In recognition for all his fantastic work and dedication and as a token of Horsham District Council’s appreciation, the council has named one of their waste vehicles after him. The vehicle, bedecked with its bespoke ‘Pig Pen Sedaris’ sign was officially unveiled by the Lord-Lieutenant of West Sussex Mrs Susan Pyper at an outdoor ceremony on July 23.
Best of all, the article utterly fails to mention who he is. Amazing. (via John Braine)(tags: via:john-braine funny david-sedaris litter uk horsham rubbish garbage cleaning volunteering walking)
-
Heapster provides an agent library to do heap profiling for JVM processes with output compatible with Google perftools. The goal of Heapster is to be able to do meaningful (sampled) heap profiling in a production setting.
Used by Twitter in production, apparently.(tags: heap monitoring memory jvm java performance)
The Network is Reliable - ACM Queue
Peter Bailis and Kyle Kingsbury accumulate a comprehensive, informal survey of real-world network failures observed in production. I remember that April 2011 EBS outage...
(tags: ec2 aws networking outages partitions jepsen pbailis aphyr acm-queue acm survey ops)
This tree produces 40 different types of fruit
An art professor from Syracuse University in the US, Van Aken grew up on a family farm before pursuing a career as an artist, and has combined his knowledge of the two to develop his incredible Tree of 40 Fruit. In 2008, Van Aken learned that an orchard at the New York State Agricultural Experiment Station was about to be shut down due to a lack of funding. This single orchard grew a great number of heirloom, antique, and native varieties of stone fruit, and some of these were 150 to 200 years old. To lose this orchard would render many of these rare and old varieties of fruit extinct, so to preserve them, Van Aken bought the orchard, and spent the following years figuring out how to graft parts of the trees onto a single fruit tree. [...] Aken’s Tree of 40 Fruit looks like a normal tree for most of the year, but in spring it reveals a stunning patchwork of pink, white, red and purple blossoms, which turn into an array of plums, peaches, apricots, nectarines, cherries and almonds during the summer months, all of which are rare and unique varieties.
(tags: fruit art amazing food agriculture grafting orchards sam-van-aken farming)
-
we believe MDD is equal parts engineering technique and cultural process. It separates the notion of monitoring from its traditional position of exclusivity as an operations thing and places it more appropriately next to its peers as an engineering process. Provided access to real-time production metrics relevant to them individually, both software engineers and operations engineers can validate hypotheses, assess problems, implement solutions, and improve future designs.
Broken down into the following principles: 'Instrumentation-as-Code', 'Single Source of Truth', 'Developers Curate Visualizations and Alerts', 'Alert on What You See', 'Show me the Graph', 'Don’t Measure Everything (YAGNI)'. We do all of these at Swrve, naturally (a technique I happily stole from Amazon).(tags: metrics coding graphite mdd instrumentation yagni alerting monitoring graphs)
Auto Scale DynamoDB With Dynamic DynamoDB
Nicely-packaged auto-scaler for DynamoDB
(tags: dynamodb autoscaling scalability provisioning aws ec2 cloudformation)
Google's mighty mess-up on 'right to be forgotten' - Independent.ie
In this context, the search giant says that it has "a team of people reviewing each application individually". Really? Did this team of people decide that redacting links to an article reporting a criminal conviction was consistent with an individual's right to privacy and 'right to be forgotten'? Either Google is deliberately letting egregious errors through to try and bait journalists and freedom of expression activists into protesting or its system at vetting 'right to be forgotten' applications is awfully flawed.
(tags: google right-to-be-forgotten privacy law ireland adrian-weckler journalism freedom-of-expression censorship redaction)
"Ark: A Real-World Consensus Implementation" [paper]
"an implementation of a consensus algorithm similar to Paxos and Raft, designed as an improvement over the existing consensus algorithm used by MongoDB and TokuMX." It'll be interesting to see how this gets on in review from the distributed-systems community. The phrase "similar to Paxos and Raft" is both worrying and promising ;)
(tags: paxos raft consensus algorithms distsys distributed leader-election mongodb tokumx)
A Japanese Artist Launches Plants Into Space
This is amazing.
though the vessel was found on the ground, the flowers were not.
(tags: japan art bonsai flowers space nevada black-rock-desert exobiotanica)
'Identifying Back Doors, Attack Points and Surveillance Mechanisms in iOS Devices'
lots of scary stuff in this presentation from this year's Hackers On Planet Earth conf. I'm mainly interested to find out that Jonathan "D-Spam" Zdziarski was also a jailbreak dev-team member until around iOS 4 ;)
(tags: d-spam jonathan-zdziarski security apple ios iphone surveillance bugging)
-
a Chrome extension to aid working with REST APIs. Formats XML and JSON responses, supports file uploads, key/value editors, autocomplete, open source under ASL2
(tags: open-source chrome extensions browser postman rest hateoas api xml json web-services via:eonnen)
-
A Go implementation of Greenwald-Khanna streaming quantiles: http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf - 'a new online algorithm for computing approximate quantile summaries of very large data sequences with a worst-case space requirement of O(1/e log eN))'
(tags: quantiles go algorithms greenwald-khanna percentiles streaming cep space-efficient)
-
Some great tips on managing a busy calendar, from Etsy's managers. Block out time; refuse double-booked meetings by default; rely on apps; office hours. Thankfully I have a pretty slim calendar these days, but bookmarking for future use...
(tags: calendar etsy via:kellan google google-calendar office-hours life-hacks hacks tips managing managers scheduling)
Nanex: "The stock market is rigged" [by HFTs]
All this evidence points to one inescapable conclusion: the order cancellations and trade executions just before, and during the trader's order were not a coincidence. This is premeditated, programmed theft, plain and simple. Michael Lewis probably said it best when he told 60 Minutes that the stock market is rigged.
Nanex have had enough, basically. Mad stuff.(tags: hft stocks finance market trading nanex 60-minutes michael-lewis scams sec regulation low-latency exploits hacks)
Boundary's new server monitoring free offering
'High resolution, 1 second intervals for all metrics; Fluid analytics, drag any graph to any point in time; Smart alarms to cut down on false positives; Embedded graphs and customizable dashboards; Up to 10 servers for free' Pre-registration is open now. Could be interesting, although the limit of 10 machines is pretty small for any production usage
(tags: boundary monitoring network ops metrics alarms tcp ip netstat)
-
A really excellent-looking workflow/orchestration engine for Hadoop, Pig, Hive, Redshift and other ETL jobs, featuring inter-job dependencies, cron-like scheduling, and failure handling. Open source, from Spotify
(tags: workflow orchestration scheduling cron spotify open-source luigi redshift pig hive hadoop emr jobs make dependencies)
Obama administration says the world’s servers are ours | Ars Technica
In its briefs filed last week, the US government said that content stored online doesn't enjoy the same type of Fourth Amendment protections as data stored in the physical world. The government cited (PDF) the Stored Communications Act (SCA), a President Ronald Reagan-era regulation.
Michael McDowell has filed a declaration in support of MS' position (attached to that article a couple of paras down) suggesting that the MLAT between the US and Ireland is the correct avenue.(tags: privacy eu us-politics microsoft michael-mcdowell law surveillance servers sca internet)
-
'This tool can be described as a Tiny Dirty Linux Only C command that looks for coreutils basic commands (cp, mv, dd, tar, gzip/gunzip, cat, ...) currently running on your system and displays the percentage of copied data. It can now also display an estimated throughput (using -w flag).'
(tags: coreutils via:pixelbeat linux ops hacks procfs dataviz unix)
"In Search of an Understandable Consensus Algorithm"
Diego Ongaro and John Ousterhout, USENIX ATC 2014 -- won best paper for this paper on the Raft algorithm. (via Eoin Brazil)
(tags: raft consensus algorithms distcomp john-ousterhout via:eoinbrazil usenix atc papers paxos)
-
Great map-comparison tool from Jef Poskanzer
(tags: jef-poskanzer mapping maps comparison visualization geo world cities)
Divinity: Original Sin review | PC Gamer
I've become accustomed to RPGs that lock away combat and magic within their own part of the game. I'm used to the idea that a fireball won't work unless it's aimed at an enemy, or that every environmental hazard will be placed such that I'm guaranteed to be able to get past it. I'm used to the idea that some characters can be killed and some can't, that some obstacles are destructible and others are 'just furniture'. Divinity shrugs off those assumptions. Combat might be turn-based when you're fighting an enemy, but there's nothing stopping you from waving your sword around in the middle of town. Fling a fireball at some innocent barrels and you'll start a fresh fire of your own, and this time the locals won't be applauding when you rush to put it out.
wow, this sounds great. (via Paul Moloney)(tags: games divinity-original-sin rpgs gaming via:oceanclub)
-
a client side IPC library that is battle-tested in cloud. It provides the following features: Load balancing; Fault tolerance; Multiple protocol (HTTP, TCP, UDP) support in an asynchronous and reactive model; Caching and batching.
I like the integration of Eureka and Hystrix in particular, although I would really like to read more about Eureka's approach to availability during network partitions and CAP. https://groups.google.com/d/msg/eureka_netflix/LXKWoD14RFY/-5nElGl1OQ0J has some interesting discussion on the topic. It actually sounds like the Eureka approach is more correct than using ZK: 'Eureka is available. ZooKeeper, while tolerant against single node failures, doesn't react well to long partitioning events. For us, it's vastly more important that we maintain an available registry than a necessary consistent registry. If us-east-1d sees 23 nodes, and us-east-1c sees 22 nodes for a little bit, that's OK with us.' See also http://ispyker.blogspot.ie/2013/12/zookeeper-as-cloud-native-service.html which corroborates this:I went into one of the instances and quickly did an iptables DROP on all packets coming from the other two instances. This would simulate an availability zone continuing to function, but that zone losing network connectivity to the other availability zones. What I saw was that the two other instances noticed that the first server “going away”, but they continued to function as they still saw a majority (66%). More interestingly the first instance noticed the other two servers “going away” dropping the ensemble availability to 33%. This caused the first server to stop serving requests to clients (not only writes, but also reads). [...] To me this seems like a concern, as network partitions should be considered an event that should be survived. In this case (with this specific configuration of zookeeper) no new clients in that availability zone would be able to register themselves with consumers within the same availability zone. Adding more zookeeper instances to the ensemble wouldn’t help considering a balanced deployment as in this case the availability would always be majority (66%) and non-majority (33%).
(tags: netflix ribbon availability libraries java hystrix eureka aws ec2 load-balancing networking http tcp architecture clients ipc)
The Myth of Schema-less [NoSQL]
We don't seem to gain much in terms of database flexibility. Is our application more flexible? I don't think so. Even without our schema explicitly defined in our database, it's there... somewhere. You simply have to search through hundreds of thousands of lines to find all the little bits of it. It has the potential to be in several places, making it harder to properly identify. The reality of these codebases is that they are error prone and rarely lack the necessary documentation. This problem is magnified when there are multiple codebases talking to the same database. This is not an uncommon practice for reporting or analytical purposes. Finally, all this "flexibility" rears its head in the same way that PHP and Javascript's "neat" weak typing stabs you right in the face. There are some somethings you can be cavalier about, and some things you should be strict about. Your data model is one you absolutely need to be strict on. If a field should store an int, it should store nothing else. Not a string, not a picture of a horse, but an integer. It's nice to know that I have my database doing type checking for me and I can expect a field to be the same type across all records. All this leads us to an undeniable fact: There is always a schema. Wearing "I don't do schema" as a badge of honor is a complete joke and encourages a terrible development practice.
(tags: nosql databases storage schema strong-typing)
-
from yesterday's AWS Summit in NYC:
Cheat sheet of EBS-optimized instances. http://t.co/vmTlhUtpWk Optimize your queue depth to achieve lower latency & highest IOPS. http://t.co/EO48oa0D6X When configuring your RAID, use a stripe size of 128KB or 256KB. http://t.co/N0ldtFJ4t6 Use larger block size to speed up the pre-warming process. http://t.co/8UoIeWE2px
173 million 2013 NYC taxi rides shared on BigQuery : bigquery
Interesting! (a) there's a subreddit for Google BigQuery, with links to interesting data sets, like this one; (b) the entire 173-million-row dataset for NYC taxi rides in 2013 is available for querying; and (c) the tip percentage histogram is cool.
(tags: datasets bigquery sql google nyc new-york taxis data big-data histograms tipping)
"Pitfalls of Object Oriented Programming", SCEE R&D
Good presentation discussing "data-oriented programming" -- the concept of optimizing memory access speed by laying out large data in a columnar format in RAM, rather than naively in the default layout that OOP design suggests
(tags: columnar ram memory optimization coding c++ oop data-oriented-programming data cache performance)
Google's Influential Papers for 2013
Googlers across the company actively engage with the scientific community by publishing technical papers, contributing open-source packages, working on standards, introducing new APIs and tools, giving talks and presentations, participating in ongoing technical debates, and much more. Our publications offer technical and algorithmic advances, feature aspects we learn as we develop novel products and services, and shed light on some of the technical challenges we face at Google. Below are some of the especially influential papers co-authored by Googlers in 2013.
(tags: google papers toread reading 2013 scalability machine-learning algorithms)
-
'Leak of the secret German Internet Censorship URL blacklist BPjM-Modul'. Turns out there's a blocklist of adult-only or prohibited domains issued by a German government department, The Federal Department for Media Harmful to Young Persons (German: "Bundesprüfstelle für jugendgefährdende Medien" or BPjM), issued in the form of a list of hashes of those domains. These were extracted from an AVM router, then the hashes were brute forced using several other plaintext URL blocklists and domain lists. Needless to say, there's an assortment of silly false positives, such as the listing of the website for the 1997 3D Realms game "Shadow Warrior": http://en.wikipedia.org/wiki/Shadow_Warrior
(tags: hashes reversing reverse-engineering germany german bpjm filtering blocklists blacklists avm domains censorship fps)
Brave Men Take Paternity Leave - Gretchen Gavett - Harvard Business Review
The use of paternity leave has a "snowball effect":
In the end, Dahl says, “coworkers and brothers who were linked to a father who had his child immediately after the [Norwegian paid paternity leave] reform — versus immediately before the reform — were 3.5% and 4.7% more likely, respectively, to take parental leave.” But when a coworker actually takes parental leave, “the next coworker to have a child at his workplace is 11% more likely to take paternity leave.” Slightly more pronounced, the next brother to have a child is 15% more likely to take time off. And while any male coworker taking leave can reduce stigma, the effect of a manager doing so is more profound. Specifically, “the estimated peer effect is over two and a half times larger if the peer father is predicted to be a manager in the firm as opposed to a regular coworker.”
(tags: paternity-leave parenting leave work norway research)
-
by Jeffrey Dean and Luiz Andre Barroso, Google. A selection of Google's architectural mechanisms used to defeat 99th-percentile latency spikes: hedged requests, tied requests, micro-partitioning, selective replication, latency-induced probation, canary requests.
(tags: google architecture distcomp soa http partitioning replication latency 99th-percentile canary-requests hedged-requests)
Breaking Spotify DRM with PANDA
Reverse engineering a DRM implementation, by instrumenting a VM and performing entropy/compressability analysis on function call inputs and outputs. Impressive
(tags: reversing spotify drm panda vm compression entropy compressability qemu via:hn)
-
Book a domestic cleaner online in 60 seconds; "like Hailo for cleaners" apparently. Live in Dublin, London, Manchester, Birmingham and Leeds. Use code HASSLEDUBLIN for 15% off
(tags: hailo cleaners hassle via:hailo domestic home services b2c)
Layered Glass Table Concept Creates a Cross-Section of the Ocean
beautiful stuff -- and a snip at only UKP 5,800 ex VAT. it'd make a good DIY project though ;)
(tags: art tables glass layering 3d cross-sections water ocean sea mapping cartography layers this-is-colossal design furniture)
Two traps in iostat: %util and svctm
Marc Brooker:
As a measure of general IO busyness %util is fairly handy, but as an indication of how much the system is doing compared to what it can do, it's terrible. Iostat's svctm has even fewer redeeming strengths. It's just extremely misleading for most modern storage systems and workloads. Both of these fields are likely to mislead more than inform on modern SSD-based storage systems, and their use should be treated with extreme care.
(tags: ioutil iostat svctm ops ssd disks hardware metrics stats linux)
New AWS Web Services region: eu-central-1 (soon)
Iiiinteresting. Sounds like new anti-NSA-snooping privacy laws will be driving a lot of new mini-regions in AWS. Hope Amazon have their new-region-standup process a little more streamlined by now than when I was there ;)
How A Spam Newsletter Caused a Bank Run in Bulgaria
According to the Bulgarian National Security Agency (see here, for a reporting in English), an investment company that “built a network of associated companies for marketing services” that was used to diffuse panic by means of an alert, uncomfortably titled “Information Bulletin of on the Risk of Deposits in Bulgarian Banks”. The “bulletin” claimed – Bloomberg reports – KTB was undergoing a liquidity shortage. The message apparently also said that the government deposit guarantee fund was under-capitalised to meet possible repayments, that banks could go bankrupt and that the peg of the currency with the euro could be broken. Allegedly, the alert was diffused by text, email and even Facebook messages, thus ensuring a very widespread outreach. In a country that in 1997 underwent a very serious banking crisis featuring all these characteristics – whose memory is still fresh – this was enough to spur panic.
(tags: spam banking bulgaria banks euro panic facebook social-media)
New Russian Law To Forbid Storing Russians' Data Outside the Country - Slashdot
On Friday Russia's parliament passed a law "which bans online businesses from storing personal data of Russian citizens on servers located abroad[.] ... According to ITAR-TASS, the changes to existing legislation will come into effect in September 2016, and apply to email services, social networks and search engines, including the likes of Facebook and Google. Domain names or net addresses not complying with regulations will be put on a blacklist maintained by Roskomnadzor (the Federal Supervision Agency for Information Technologies and Communications), the organisation which already has the powers to take down websites suspected of copyright infringement without a court order. In the case of non-compliance, Roskomnadzor will be able to impose 'sanctions,' and even instruct local Internet Service Providers (ISPs) to cut off access to the offending resource."
(tags: russia privacy nsa censorship protectionism internet web)
Irish parliament pressing ahead with increased access to retained telecoms data
While much of the new bill is concerned with the dissolution of the Competition Authority and the National Consumer Agency and the formation of a new merged Competition and Consumer Protection Commission (CCPC) the new bill also proposed to extend the powers of the new CCPC to help it investigate serious anticompetitive behaviour. Strikingly the new bill proposes to give members of the CCPC the power to access data retained under the Communications (Retention of Data) Act 2011. As readers will recall this act implements Directive 2006/24/EC which obliges telecommunications companies to archive traffic and location data for a period of up to two years to facilitate the investigation of serious crime. Ireland chose to implement the maximum two year retention period and provided access to An Garda Siochana, The Defence Forces and the Revenue Commissioners. The current reform of Irish competition law now proposes to extend data access powers to the members of the CCPC for the purposes of investigating cartel offences.
(tags: data-retention privacy surveillance competition ccpc ireland law dri)
NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
DasErste.de has published the relevant XKEYSCORE source code, and if you look closely at the rule definitions, you will see linuxjournal.com/content/linux* listed alongside Tails and Tor. According to an article on DasErste.de, the NSA considers Linux Journal an "extremist forum". This means that merely looking for any Linux content on Linux Journal, not just content about anonymizing software or encryption, is considered suspicious and means your Internet traffic may be stored indefinitely.
This is, sadly, entirely predictable -- that's what happens when you optimize the system for over-sampling, with poor oversight.(tags: false-positives linuxjournal linux terrorism tor tails nsa surveillance snooping xkeyscore selectors oversight)
-
a C++ library adding some modern language features like Option, Try, Stopwatch, and other Guava-ish things (via @cscotta)
Tor exit node operator prosecuted in Austria
'The operator of an exit node is guilty of complicity, because he enabled others to transmit content of an illegal nature through the service.' Via Tony Finch.
(tags: austria tor security law liability internet tunnelling eu via:fanf)
IRS says free software projects can't be nonprofits - Boing Boing
In a disturbing precedent, the Yorba Foundation, which makes apps for [GNOME], has had its nonprofit status application rejected by the IRS because some of [its] projects may benefit for-profit entities.
(tags: law us gnome yorba-foundation linux gpl free-software oss nonprofits 501c3 tax)
How to perform a load/latency test, correcting for coordinated-omission error
p-code from Gil Tene
(tags: gil-tene coordinated-omission measurement jmh latency testing errors code)
Questioning the Lambda Architecture
Jay Kreps (Kafka, Samza) with a thought-provoking post on the batch/stream-processing dichotomy
(tags: jay-kreps toread architecture data stream-processing batch hadoop storm lambda-architecture)
-
Urban Airship with a new open-source Graphite front-end UI; similar enough to Grafana at a glance, no releases yet, ASL2-licensed
(tags: graphite metrics ui front-ends open-source ops)
This is the actual hack that saved the astronauts of the Apollo XIII
Duct tape ftw
(tags: apollo history space duct-tape hacks fixing via:johnke)
New Low Cost EC2 Instances with Burstable Performance
Oh, very neat. New micro, small, and medium-class instances with burstable CPU scaling:
The T2 instances are built around a processing allocation model that provides you a generous, assured baseline amount of processing power coupled with the ability to automatically and transparently scale up to a full core when you need more compute power. Your ability to burst is based on the concept of "CPU Credits" that you accumulate during quiet periods and spend when things get busy. You can provision an instance of modest size and cost and still have more than adequate compute power in reserve to handle peak demands for compute power.
Facebook Doesn't Understand The Fuss About Its Emotion Manipulation Study
This is quite unethical, and I'm amazed it was published at all. Kashmir Hill at Forbes nails it:
While many users may already expect and be willing to have their behavior studied — and while that may be warranted with “research” being one of the 9,045 words in the data use policy — they don’t expect that Facebook will actively manipulate their environment in order to see how they react. That’s a new level of experimentation, turning Facebook from a fishbowl into a petri dish, and it’s why people are flipping out about this.
Shocking stuff. We need a new social publishing platform, built on ethical, open systems.(tags: ethics facebook privacy academia depression feelings emotion social-publishing social experimentation papers)
Building a Smarter Application Stack - DevOps Ireland
This sounds like a very interesting Dublin meetup -- Engine Yard on thursday night:
This month, we'll have Tomas Doran from Yelp talking about Docker, service discovery, and deployments. 'There are many advantages to a container based, microservices architecture - however, as always, there is no silver bullet. Any serious deployment will involve multiple host machines, and will have a pressing need to migrate containers between hosts at some point. In such a dynamic world hard coding IP addresses, or even host names is not a viable solution. This talk will take a journey through how Yelp has solved the discovery problems using Airbnb’s SmartStack to dynamically discover service dependencies, and how this is helping unify our architecture, from traditional metal to EC2 ‘immutable’ SOA images, to Docker containers.'
(tags: meetups talks dublin deployment smartstack ec2 docker yelp service-discovery)
Smart Integration Testing with Dropwizard, Flyway and Retrofit
Retrofit in particular looks neat. Mind you having worked with in-memory SQL databases before for integration testing, I'd never do that again -- too many interop glitches compared to "real world" MySQL/Postgres
(tags: testing integration-testing retrofit flyway dropwizard logentries)
-
TSAR = "Time Series AggregatoR". Twitter's new event processor-style architecture for internal metrics. It's notable that now Twitter and Google are both apparently moving towards this idea of a model of code which is designed to run equally in realtime streaming and batch modes (Summingbird, Millwheel, Flume).
(tags: analytics architecture twitter tsar aggregation event-processing metrics streaming hadoop batch)
'Robust De-anonymization of Large Sparse Datasets' [pdf]
paper by Arvind Narayanan and Vitaly Shmatikov, 2008. 'We present a new class of statistical de- anonymization attacks against high-dimensional micro-data, such as individual preferences, recommendations, transaction records and so on. Our techniques are robust to perturbation in the data and tolerate some mistakes in the adversary's background knowledge. We apply our de-anonymization methodology to the Netflix Prize dataset, which contains anonymous movie ratings of 500,000 subscribers of Netflix, the world's largest online movie rental service. We demonstrate that an adversary who knows only a little bit about an individual subscriber can easily identify this subscriber's record in the dataset. Using the Internet Movie Database as the source of background knowledge, we successfully identified the Netflix records of known users, uncovering their apparent political preferences and other potentially sensitive information.'
(tags: anonymisation anonymization sanitisation databases data-dumps privacy security papers)
HSE data releases may be de-anonymisable
Although the data has been kept anonymous, the increasing sophistication of computer-driven data-mining techniques has led to fears patients could be identified. A HSE spokesman confirmed yesterday that the office responded to requests for data from a variety of sources, including researchers, the universities, GPs, the media, health insurers and pharmaceutical companies. An average of about two requests a week was received. [...] The information provided by the HPO has significant patient identifiers removed, such as name and date of birth. According to the HSE spokesman, individual patient information is not provided and, where information is sought for a small group of patients, this is not provided where the number involved is under five. “In such circumstances, it is highly unlikely that anyone could be identified. Nevertheless, we will have another look at data releases from the office,” he said.
I'd say this could be readily reversible, from the sounds of it.(tags: anonymisation sanitisation data-dumps hse health privacy via:tjmcintyre)
Beautiful algorithm visualisations from Mike Bostock
This is a few days old, but unmissable. I swear, the 'Wilson's algorithm transformed into a tidy tree layout' viz brought tears to my eyes ;)
(tags: dataviz algorithms visualization visualisation mazes trees sorting animation mike-bostock)
ByteArrayOutputStream is really, really slow sometimes in JDK6
This leads us to the bug. The size of the array is determined by Math.max(buf.length << 1, newcount). Ordinarily, buf.length << 1 returns double buf.length, which would always be much larger than newcount for a 2 byte write. Why was it not? The problem is that for all integers larger than Integer.MAX_INTEGER / 2, shifting left by one place causes overflow, setting the sign bit. The result is a negative integer, which is always less than newcount. So for all byte arrays larger than 1073741824 bytes (i.e. one GB), any write will cause the array to resize, and only to exactly the size required.
Ouch.(tags: bugs java jdk6 bytearrayoutputstream impala performance overflow)
Cory Doctorow on Thomas Piketty's 'Capital in the 21st Century'
quite a leftie analysis
(tags: history capitalism economics piketty capital finance taxation growth money cory-doctorow thomas-piketty)
-
Google's purify/valgrind-like concurrency checking tool: 'As a bonus, ThreadSanitizer finds some other types of bugs: thread leaks, deadlocks, incorrect uses of mutexes, malloc calls in signal handlers, and more. It also natively understands atomic operations and thus can find bugs in lock-free algorithms. [...] The tool is supported by both Clang and GCC compilers (only on Linux/Intel64). Using it is very simple: you just need to add a -fsanitize=thread flag during compilation and linking. For Go programs, you simply need to add a -race flag to the go tool (supported on Linux, Mac and Windows).'
(tags: concurrency bugs valgrind threadsanitizer threading deadlocks mutexes locking synchronization coding testing)
-
'A repair café brings together people with things that need fixin' with people who have the skills to fix them in a social cafe style environment. It is an effort to move away from the throwaway culture that prevailed at the end of the twentieth century and move towards a more sustainable and enlightened approach to our relationship with consumer goods. Repair cafes are self organising events at a community level run by local volunteers with the support of local community groups, local agencies and other interested organisations. They are not-for-profit but not anti-profit and an important part of their goal is to promote local repair businesses and initiatives. www.repaircafe.ie is the online hub of a network of repair cafés across Ireland.' Sounds interesting: https://twitter.com/DubCityCouncil/status/481777655445204992 says they'll be doing it tomorrow from 2-5pm in Sandymount in Dublin.
(tags: dublin sandymount repair fixing diy frugality repaircafe hardware)
-
A way to securely store secrets (auth details, API keys, etc.) in Chef
(tags: chef storage knife authorisation api-keys security encryption)
Amazon EC2 Service Limits Report Now Available
'designed to make it easier for you to view and manage your limits for Amazon EC2 by providing the latest information on service limits and links to quickly request limit increases. EC2 Service Limits Report displays all your service limit information in one place to help you avoid encountering limits on future EC2, EBS, Auto Scaling, and VPC usage.'
Delivery Notifications for Simple Email Service
Today we are enhancing SES with the addition of delivery notifications. You can now elect to receive an Amazon SNS notification each time SES successfully delivers a message to a recipient's email server. These notifications give you increased visibility into the mail delivery process. With today's release, you can now track deliveries, bounces, and complaints, all via notification to the SNS topic or topics of your choice.
How Emoji Get Lost In Translation
I recently texted a friend to say how I was excited to meet her new boyfriend, and, because "excited" doesn't look so exciting on an iPhone screen, I editorialized with what seemed then like an innocent "[dancer]". (Translation: Can't wait for the fun night out!) On an Android phone, I realized later, that panache would have been a put-down: The dancers become "[playboy bunny]." (Translation: You’re a Playboy bunny who gets around!)
Hailo pulling in EUR1M per month in Dublin alone
based on these (pretty rough) estimates. Good going, I'm a massive fan
(tags: hailo taxis driving cars public-transport dublin b2c b2b)
Google Replaces MapReduce With New Hyper-Scale Cloud Analytics System
MR no more:
“We don’t really use MapReduce anymore,” [Urs] Hölzle said in his keynote presentation at the Google I/O conference in San Francisco Wednesday. The company stopped using the system “years ago.” Cloud Dataflow, which Google will also offer as a service for developers using its cloud platform, does not have the scaling restrictions of MapReduce. “Cloud Dataflow is the result of over a decade of experience in analytics,” Hölzle said. “It will run faster and scale better than pretty much any other system out there.”
(tags: map-reduce google hadoop cloud-dataflow scalability big-data urs-holzle google-io)
This Internet Millionaire Has a New Deal For You - D Magazine
Good interview with Dave "Woot" Rutledge, who's now well out of Amazon and plans to get back into the crap-clearing business at Meh.com: 'Amazon’s fundamental misunderstanding of what made Woot great can be seen today on the site. It sells many items simultaneously. It’s a marketplace, not an event. The write-ups are cute, not subversively funny. Woot is no longer a bug-eyed beast with eight tentacles. It’s a pancake with two smaller pancakes for Mickey Mouse ears and a smile made of whipped cream. In 2012, two years into his three-year deal with Amazon, Rutledge walked. He won’t say how many millions his early departure cost him, but his contract with Amazon included a three-year non-compete clause from the date of sale, and he was watching the clock.'
(tags: amazon ecommerce business b2c woot.com meh.com dave-rutledge selling acquisitions)
NYC generates hash-anonymised data dump, which gets reversed
There are about 1000*26**3 = 21952000 or 22M possible medallion numbers. So, by calculating the md5 hashes of all these numbers (only 24M!), one can completely deanonymise the entire data. Modern computers are fast: so fast that computing the 24M hashes took less than 2 minutes.
(via Bruce Schneier) The better fix is a HMAC (see http://benlog.com/2008/06/19/dont-hash-secrets/ ), or just to assign opaque IDs instead of hashing.(tags: hashing sha1 md5 bruce-schneier anonymization deanonymization security new-york nyc taxis data big-data hmac keyed-hashing salting)
Older programmers aren't gone, they're just outnumbered
So says "Uncle Bob" Martin
(tags: culture coding software age career reputation stack-overflow staffing)
Benchmarking LevelDB vs. RocksDB vs. HyperLevelDB vs. LMDB Performance for InfluxDB
A few interesting things come out of these results. LevelDB is the winner on disk space utilization, RocksDB is the winner on reads and deletes, and HyperLevelDB is the winner on writes. On smaller runs (30M or less), LMDB came out on top on most of the metrics except for disk size. This is actually what we’d expect for B-trees: they’re faster the fewer keys you have in them.
Mind you, I'd prefer if this had tunable read/write/delete ratios, as YCSB does. Take with a pinch of salt, as with all benchmarks!(tags: benchmarks leveldb datastores storage hyperleveldb rocksdb ycsb lmdb influxdb)
How to make breaking changes and not break all the things
Well-written description of the "several backward-compatible changes" approach to breaking-change schema migration (via Marc)
(tags: databases coding compatibility migration schemas sql continuous-deployment)
Minnesota Measles Outbreak Traced Back To A Single Unvaccinated Child
A single child caught measles while visiting Kenya, returned to Minnesota, infected 4 others, who in turn exposed others, with an ultimate count of 3000 exposed and 21 confirmed cases. (16 of the 21 were unvaccinated; 46% of the Somali children in this community were unvaccinated in a 2010 survey.)
(tags: minnesota safety measles health vaccination kenya somali)
Report of the Internet Content Governance Advisory Group
looking at the summary, looks broadly sensible; no government-mandated filtering/blocking I can spot quickly
(tags: internet filtering safety kids porn blocking ireland pegi ratings reports pdf)
-
'Two months ago, an early Uber employee thought that he had found a buyer for his vested stock, at $200 per share. But when his agent tried to seal the deal, Uber refused to sign off on the transfer. Instead, it offered to buy back the shares for around $135 a piece, which is within the same price range that Google Ventures and TPG Capital had paid to invest in Uber the previous July. Take it or hold it.' As rbranson on Twitter put it: 'reminder that startup equity is basically worthless unless you're a founder or investor, OR the company goes public.'
(tags: startups uber stock stock-options shares share-option equity via:rbranson work)
-
Wow, these are terrible results. From the sounds of it, ES just cannot deal with realistic outage scenarios and is liable to suffer catastrophic damage in reasonably-common partitions.
If you are an Elasticsearch user (as I am): good luck. Some people actually advocate using Elasticsearch as a primary data store; I think this is somewhat less than advisable at present. If you can, store your data in a safer database, and feed it into Elasticsearch gradually. Have processes in place that continually traverse the system of record, so you can recover from ES data loss automatically.
(tags: elasticsearch ops storage databases jepsen partition network outages reliability)
Code Spaces data and backups deleted by hackers
Rather scary story of an extortionist wiping out a company's AWS-based infrastructure. Turns out S3 supports MFA-required deletion as a feature, though, which would help against that.
(tags: ops security extortion aws ec2 s3 code-spaces delete mfa two-factor-authentication authentication infrastructure)
Google forced to e-forget a company worldwide
Here we go.... Canadian company wins case to censor search results for its competitors.
When Google argued that Canadian law couldn't be applied to the entire world, the court responded by citing British Columbia's Law and Equity Act, which grants broad power for a court to issue injunctions when it's "just or convenient that the order should be made." Google also tried to argue against the injunction on the basis of it amounting to censorship. The court responded that there are already entire categories of content that get censored, such as child abuse imagery. Will this be the first of a new wave of requests for company website take-downs?
Via stx.(tags: canada via:stx censorship google search takedowns datalink equustek gw1000 hardware)
The dark truth about modern Ireland its media don't talk about
Sinead O'Shea writing for the Guardian:
The economy has been built on cronyism, group-think, the double talk of absurdly low corporate tax rates and light touch regulation, the cult of the leader, an over reliance on "strong" international forces. These were the factors that caused the Celtic Tiger to collapse. This has had consequences for all. It's the same for the system of shame and sexual repression. The impact has not been restricted to its most obvious victims. Ireland is not just a bad place to be a woman or an immigrant, it's a bad place to be in any way "different." As a result, sadly, it's a bad place to be anyone at all.
(tags: ireland history women celtic-tiger industrial-schools immigration sinead-o-shea tuam abortion pregnancy)
Data sharing deal with U.S. referred to EU's top court | Reuters
High Court Justice Gerard Hogan said that given the Safe Harbour agreement, which says that U.S. has sufficient data safeguards in place, the Irish regulator did not have the authority to investigate. If Safe Harbour stands, the student group's application must fail, he said. "The critical issue which arises is whether the proper interpretation of the 1995 [EU data protection] directive and the 2000 Commission decision [on the Safe Harbour principles] should be re-evaluated in the light of the subsequent entry into force of article 8 of the EU charter," on the right to the protection of personal data, Hogan said.
(tags: eu safe-harbor privacy high-court ireland law data-protection)
-
A good example of "raw" BDD, without using a framework like Cucumber, Steak etc.
(tags: bdd testing csharp acceptance-tests coding)
-
a minimal extension of RSpec-Rails that adds several conveniences to do acceptance testing of Rails applications using Capybara. It's an alternative to Cucumber in plain Ruby.
Good approach here to copy, but very tied to Rails.(tags: rails ruby testing acceptance-testing steak bdd rspec coding)
-
Scala's BDD approach -- very similar to Steak in Rubyland I think
(tags: scala testing bdd acceptance-testing steak coding scalatest)
quotly/test/acceptance/adding_quotes_spec.rb at master · cavalle/quotly · GitHub
Decent demo of acceptance testing using rspec (and some syntactic sugar to make it read like Steak code, I think)
Facebook introduce “Wedge” and “FBOSS"
a new top-of-rack network switch, code-named “Wedge,” and a new Linux-based operating system for that switch, code-named “FBOSS.” These projects break down the hardware and software components of the network stack even further, to provide a new level of visibility, automation, and control in the operation of the network. By combining the hardware and software modules together in new ways, “Wedge” and “FBOSS” depart from current networking design paradigms to leverage our experience in operating hundreds of thousands of servers in our data centers. In other words, our goal with these projects was to make our network look, feel, and operate more like the OCP servers we've already deployed, both in terms of hardware and software.
Sayonara, Cisco, and good riddance.(tags: cisco juniper wedge fboss facebook tor switches racks networking datacenter routers)
Cap'n Proto, FlatBuffers, and SBE
a feature comparison of these new serialization formats from Kenton, the capnp dude
(tags: serialization protobuf capnproto sbe flatbuffers google coding storage)
Concurrency Improvements in HyperLevelDB
Good-looking benchmark results here from HyperDex
(tags: hyperdex hyperleveldb leveldb rocksdb concurrency lock-free storage persistence)
-
"Sell products directly to your audience" -- Ben says it doesn't break the flow, doesn't take you to another site, no complicated registration forms -- the customer just enters CC details and that's it.
A dive into a UTF-8 validation regexp
Once again, I find myself checking over the UTF-8 validation code in websocket-driver, and once again I find I cannot ever remember how to make sense of this regex that performs the validation. I just copied it off a webpage once and it took a while (and reimplementing UTF-8 myself) to fully understand what it does. If you write software that processes text, you’ll probably need to understand this too.
(tags: utf-8 unicode utf8 javascript node encoding text strings validation websockets regular-expressions regexps)
-
This [shell one-liner] will take a picture of a whiteboard and use parts of the ImageMagick library with sane defaults to clean it up tremendously.: convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"
Some kind soul has put up a quickie web UI here: http://api.o2b.ru/whiteboardcleaner(tags: graphics tools whiteboard imagemagick text images cleanup gimp photoshop via:fanf)
A Rare Peek Inside Amazon’s Massive Wish-Fulfilling Machine
Wired get a tour of PHX6, one of Amazon's FCs
(tags: amazon wired fcs warehouses ecommerce)
Paleo is the Scientology of Diet
Being paleo is like paying a stupidity tax. Again, it’s not you who is stupid, but the diet sure is, because it lets you drink paleo coffee while putting paleo butter and paleo syrup on your paleo waffles before you drive your paleo minivan to the paleo office to sit in your paleo cube and do spreadsheets on your paleo computer. See, the paleo diet made up a bunch of silly rules on how we allegedly ate, and then goes and twists them all to hell in the name of selling you a crappy, overpriced product. That is scientology-level stupid.
(tags: scientology paleo rants funny food diet health bulletproof-coffee stupid)
-
a power-management subsystem for warehouse-scale computing farms. "It adjusts the power-performance settings of servers so that the overall workload barely meets its latency constraints for user queries."
(tags: pegasus power-management power via:fanf google latency scaling)
-
A new serialization format from Google's Android gaming team, supporting C++ and Java, open source under the ASL v2. Reasons to use it:
Access to serialized data without parsing/unpacking - What sets FlatBuffers apart is that it represents hierarchical data in a flat binary buffer in such a way that it can still be accessed directly without parsing/unpacking, while also still supporting data structure evolution (forwards/backwards compatibility). Memory efficiency and speed - The only memory needed to access your data is that of the buffer. It requires 0 additional allocations. FlatBuffers is also very suitable for use with mmap (or streaming), requiring only part of the buffer to be in memory. Access is close to the speed of raw struct access with only one extra indirection (a kind of vtable) to allow for format evolution and optional fields. It is aimed at projects where spending time and space (many memory allocations) to be able to access or construct serialized data is undesirable, such as in games or any other performance sensitive applications. See the benchmarks for details. Flexible - Optional fields means not only do you get great forwards and backwards compatibility (increasingly important for long-lived games: don't have to update all data with each new version!). It also means you have a lot of choice in what data you write and what data you don't, and how you design data structures. Tiny code footprint - Small amounts of generated code, and just a single small header as the minimum dependency, which is very easy to integrate. Again, see the benchmark section for details. Strongly typed - Errors happen at compile time rather than manually having to write repetitive and error prone run-time checks. Useful code can be generated for you. Convenient to use - Generated C++ code allows for terse access & construction code. Then there's optional functionality for parsing schemas and JSON-like text representations at runtime efficiently if needed (faster and more memory efficient than other JSON parsers).
Looks nice, but it misses the language coverage of protobuf. Definitely more practical than capnproto.(tags: c++ google java serialization json formats protobuf capnproto storage flatbuffers)
AWS SDK for Java Client Configuration
turns out the AWS SDK has lots of tuning knobs: region selection, socket buffer sizes, and debug logging (including wire logging).
-
The simple woven multicoloured bracelet has made Cheong Choon Ng, a Malaysian immigrant to the US, a dollar millionaire. He invented the "Rainbow Loom" after watching his daughters making bracelets with rubber bands.
So, really, it's his daughters that invented it. ;) My kids are massive fans. This is a 100% legit, Rubik's-Cube-style craze. (via Conor O'Neill)(tags: via:conoro loom-bands rubber-bands toys crazes)
-
BorderPatrol is an nginx module to perform authentication and session management at the border of your network. BorderPatrol makes the assumption that you have some set of services that require authentication and a service that hands out tokens to clients to access that service. You may not want those tokens to be sent across the internet, even over SSL, for a variety of reasons. To this end, BorderPatrol maintains a lookup table of session-id to auth token in memcached.
(tags: borderpatrol nginx modules authentication session-management web-services http web authorization)
Use of Formal Methods at Amazon Web Services
Chris Newcombe, Marc Brooker, et al. writing about their experience using formal specification and model-checking languages (TLA+) in production in AWS:
The success with DynamoDB gave us enough evidence to present TLA+ to the broader engineering community at Amazon. This raised a challenge; how to convey the purpose and benefits of formal methods to an audience of software engineers? Engineers think in terms of debugging rather than ‘verification’, so we called the presentation “Debugging Designs”. Continuing that metaphor, we have found that software engineers more readily grasp the concept and practical value of TLA+ if we dub it 'Exhaustively-testable pseudo-code'. We initially avoid the words ‘formal’, ‘verification’, and ‘proof’, due to the widespread view that formal methods are impractical. We also initially avoid mentioning what the acronym ‘TLA’ stands for, as doing so would give an incorrect impression of complexity.
More slides at http://tla2012.loria.fr/contributed/newcombe-slides.pdf ; proggit discussion at http://www.reddit.com/r/programming/comments/277fbh/use_of_formal_methods_at_amazon_web_services/(tags: formal-methods model-checking tla tla+ programming distsys distcomp ebs s3 dynamodb aws ec2 marc-brooker chris-newcombe)
-
We used Knossos and Jepsen to prove the obvious: RabbitMQ is not a lock service. That investigation led to a discovery hinted at by the documentation: in the presence of partitions, RabbitMQ clustering will not only deliver duplicate messages, but will also drop huge volumes of acknowledged messages on the floor. This is not a new result, but it may be surprising if you haven’t read the docs closely–especially if you interpreted the phrase “chooses Consistency and Partition Tolerance” to mean, well, either of those things.
(tags: rabbitmq network partitions failure cap-theorem consistency ops reliability distcomp jepsen)
Jump Consistent Hash: A Fast, Minimal Memory, Consistent Hash Algorithm
'a fast, minimal memory, consistent hash algorithm that can be expressed in about 5 lines of code. In comparison to the algorithm of Karger et al., jump consistent hash requires no storage, is faster, and does a better job of evenly dividing the key space among the buckets and of evenly dividing the workload when the number of buckets changes. Its main limitation is that the buckets must be numbered sequentially, which makes it more suitable for data storage applications than for distributed web caching.' Implemented in Guava. This is also noteworthy: 'Google has not applied for patent protection for this algorithm, and, as of this writing, has no plans to. Rather, it wishes to contribute this algorithm to the community.'
(tags: hashing consistent-hashing google guava memory algorithms sharding)
Bike Wheel Spoke ABS Safety Reflective Tube Reflector
Available in blue, orange, and grey for $2.84 from the insanely-cheap China-based DealExtreme.com. Also available: rim-based reflective stickers
(tags: bikes cycling reflective safety dealextreme tat)
#AltDevBlog » Parallel Implementations
John Carmack describes this code-evolution approach to adding new code:
The last two times I did this, I got the software rendering code running on the new platform first, so everything could be tested out at low frame rates, then implemented the hardware accelerated version in parallel, setting things up so you could instantly switch between the two at any time. For a mobile OpenGL ES application being developed on a windows simulator, I opened a completely separate window for the accelerated view, letting me see it simultaneously with the original software implementation. This was a very significant development win. If the task you are working on can be expressed as a pure function that simply processes input parameters into a return structure, it is easy to switch it out for different implementations. If it is a system that maintains internal state or has multiple entry points, you have to be a bit more careful about switching it in and out. If it is a gnarly mess with lots of internal callouts to other systems to maintain parallel state changes, then you have some cleanup to do before trying a parallel implementation. There are two general classes of parallel implementations I work with: The reference implementation, which is much smaller and simpler, but will be maintained continuously, and the experimental implementation, where you expect one version to “win” and consign the other implementation to source control in a couple weeks after you have some confidence that it is both fully functional and a real improvement. It is completely reasonable to violate some generally good coding rules while building an experimental implementation – copy, paste, and find-replace rename is actually a good way to start. Code fearlessly on the copy, while the original remains fully functional and unmolested. It is often tempting to shortcut this by passing in some kind of option flag to existing code, rather than enabling a full parallel implementation. It is a grey area, but I have been tending to find the extra path complexity with the flag approach often leads to messing up both versions as you work, and you usually compromise both implementations to some degree.
(via Marc)(tags: via:marc coding john-carmack parallel development evolution lifecycle project-management)
5 Reasons to Use Protocol Buffers Instead of JSON For Your Next Service
A good writeup of the case for protobuf > JSON (via Marc)
(tags: via:marc api soa web-services protobuf json interop protocols marshalling)
Plumbr.eu's reference page for java.lang.OutOfMemoryError
With examples of each possible cause of a Java OOM, and suggested workarounds. succinct
-
Imagine buying a high-end Core i7 or AMD CPU, opening the box, and finding a midrange part sitting there with an asterisk and the label “Performs Just Like Our High End CPU In Single-Threaded SuperPi!”
(tags: ssd storage hardware sketchy kingston pny bait-and-switch components vendors via:hn)
-
Manages migrations for your Cassandra data stores. Pillar grew from a desire to automatically manage Cassandra schema as code. Managing schema as code enables automated build and deployment, a foundational practice for an organization striving to achieve Continuous Delivery. Pillar is to Cassandra what Rails ActiveRecord migrations or Play Evolutions are to relational databases with one key difference: Pillar is completely independent from any application development framework.
(tags: migrations database ops pillar cassandra activerecord scala continuous-delivery automation build)
How to use TuneIn's Record Timer feature
handy
Continuous Deployment for Mobile Apps with Jenkins: iOS Builds
the CloudBees-std way
(tags: build deployment ios jenkins iphone continuous-deployment)
-
a single application IP packet sniffer that captures all TCP and UDP packets of a single Linux process. It consists of the following elements: * ptrace monitor - tracks bind(), connect() and sendto() syscalls and extracts local port numbers that the traced application uses; * pcap sniffer - using information from the previous module, it captures IP packets on an AF_PACKET socket (with an appropriate BPF filter attached); * garbage collector - periodically reads /proc/net/{tcp,udp} files in order to detect the sockets that the application no longer uses. As the output, tracedump generates a PCAP file with SLL-encapsulated IP packets - readable by eg. Wireshark. This file can be later used for detailed analysis of the networking operations made by the application. For instance, it might be useful for IP traffic classification systems.
(tags: debugging networking linux strace ptrace tracedump tracing tcp udp sniffer ip tcpdump)
You Are Not a Digital Native: Privacy in the Age of the Internet
an open letter from Cory Doctorow to teen readers re privacy. 'The problem with being a “digital native” is that it transforms all of your screw-ups into revealed deep truths about how humans are supposed to use the Internet. So if you make mistakes with your Internet privacy, not only do the companies who set the stage for those mistakes (and profited from them) get off Scot-free, but everyone else who raises privacy concerns is dismissed out of hand. After all, if the “digital natives” supposedly don’t care about their privacy, then anyone who does is a laughable, dinosauric idiot, who isn’t Down With the Kids.'
(tags: children privacy kids teens digital-natives surveillance cory-doctorow danah-boyd)
Shutterbits replacing hardware load balancers with local BGP daemons and anycast
Interesting approach. Potentially risky, though -- heavy use of anycast on a large-scale datacenter network could increase the scale of the OSPF graph, which scales exponentially. This can have major side effects on OSPF reconvergence time, which creates an interesting class of network outage in the event of OSPF flapping. Having said that, an active/passive failover LB pair will already announce a single anycast virtual IP anyway, so, assuming there are a similar number of anycast IPs in the end, it may not have any negative side effects. There's also the inherent limitation noted in the second-to-last paragraph; 'It comes down to what your hardware router can handle for ECMP. I know a Juniper MX240 can handle 16 next-hops, and have heard rumors that a software update will bump this to 64, but again this is something to keep in mind'. Taking a leaf from the LB design, and using BGP to load-balance across a smaller set of haproxy instances, would seem like a good approach to scale up.
(tags: scalability networking performance load-balancing bgp exabgp ospf anycast routing datacenters scaling vips juniper haproxy shutterstock)
Tron: Legacy Encom Boardroom Visualization
this is great. lovely, silly, HTML5 dataviz, with lots of spinning globes and wobbling sines on a black background
(tags: demo github wikipedia dataviz visualisation mapping globes rob-scanlan graphics html5 animation tron-legacy tron movies)
-
a distributed key/value datastore which supports ACID transactional semantics and versioned values as first-class features. The primary design goal is global consistency and survivability, hence the name. Cockroach aims to tolerate disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention. Cockroach nodes are symmetric; a design goal is one binary with minimal configuration and no required auxiliary services. Cockroach implements a single, monolithic sorted map from key to value where both keys and values are byte strings (not unicode). Cockroach scales linearly (theoretically up to 4 exabytes (4E) of logical data). The map is composed of one or more ranges and each range is backed by data stored in RocksDB (a variant of LevelDB), and is replicated to a total of three or more cockroach servers. Ranges are defined by start and end keys. Ranges are merged and split to maintain total byte size within a globally configurable min/max size interval. Range sizes default to target 64M in order to facilitate quick splits and merges and to distribute load at hotspots within a key range. Range replicas are intended to be located in disparate datacenters for survivability (e.g. { US-East, US-West, Japan }, { Ireland, US-East, US-West}, { Ireland, US-East, US-West, Japan, Australia }). Single mutations to ranges are mediated via an instance of a distributed consensus algorithm to ensure consistency. We’ve chosen to use the Raft consensus algorithm. All consensus state is stored in RocksDB. A single logical mutation may affect multiple key/value pairs. Logical mutations have ACID transactional semantics. If all keys affected by a logical mutation fall within the same range, atomicity and consistency are guaranteed by Raft; this is the fast commit path. Otherwise, a non-locking distributed commit protocol is employed between affected ranges. Cockroach provides snapshot isolation (SI) and serializable snapshot isolation (SSI) semantics, allowing externally consistent, lock-free reads and writes--both from an historical snapshot timestamp and from the current wall clock time. SI provides lock-free reads and writes but still allows write skew. SSI eliminates write skew, but introduces a performance hit in the case of a contentious system. SSI is the default isolation; clients must consciously decide to trade correctness for performance. Cockroach implements a limited form of linearalizability, providing ordering for any observer or chain of observers.
This looks nifty. One to watch.(tags: cockroachdb databases storage georeplication raft consensus acid go key-value-stores rocksdb)
-
good docs from Riak
(tags: leveldb tuning performance ops riak)
-
method for bootstrapping one cryptocurrency off of another. The idea is that miners should show proof that they burned some coins - that is, sent them to a verifiably unspendable address. This is expensive from their individual point of view, just like proof of work; but it consumes no resources other than the burned underlying asset. To date, all proof of burn cryptocurrencies work by burning proof-of-work-mined cryptocurrencies, so the ultimate source of scarcity remains the proof-of-work-mined "fuel".
(tags: bitcoin proof money mining cryptocurrency)
The programming error that cost Mt Gox 2609 bitcoins
Digging into broken Bitcoin scripts in the blockchain. Fascinating:
While analyzing coinbase transactions, I came across another interesting bug that lost bitcoins. Some transactions have the meaningless and unredeemable script: OP_IFDUP OP_IF OP_2SWAP OP_VERIFY OP_2OVER OP_DEPTH That script turns out to be the ASCII text script. Instead of putting the redemption script into the transaction, the P2Pool miners accidentally put in the literal word "script". The associated bitcoins are lost forever due to this error.
(via Nelson)(tags: programming script coding bitcoin mtgox via:nelson scripting dsls)
-
a Java implementation of an MQTT 3.1 broker. Its code base is small. At its core, Moquette is an events processor; this lets the code base be simple, avoiding thread sharing issues. The Moquette broker is lightweight and easy to understand so it could be embedded in other projects.
(tags: mqtt moquette netty messaging queueing push-notifications iot internet push eclipse)
-
aka. lock acquisition. ex-Amazon-Dublin lingo, observed in the wild ;)
(tags: language hotdog archie-mcphee amazon dublin intercom coding locks synchronization)
Organic Cat Litter Chief Suspect In Nuclear Waste Accident
What a headline. interesting story to boot (via Eoin)
(tags: environment energy chemistry cat-litter waste-disposal nuclear-waste accidents new-mexico)
Friends don't let friends use mmap(2)
Rather horrific update from the trenches of Mozilla
(tags: mozilla mmap performance linux io files memory unix windows)
67 Books Every Geek Should Read to Their Kids Before Age 10 | GeekDad | Wired.com
Lots and lots of good book recommendations, a little US-centric though
(tags: reading books kids children education fiction development)
How the patent trolls won in Congress: Ars Technica
"We felt really good the last couple of days," said the tech lobbyist. "It was a good deal—one we could live with. Then the trial lawyers and pharma went to Senator Reid late this morning and said that's it. Enough with the children playing in the playground—go kill it."
(tags: ars-technica patents swpats patent-trolls pharma tech us-politics congress lawyers)
Dublin City North Inner City count results, animated
A nice visualisation of Single-Transferable-Vote proportional representation in action
(tags: pr-stv voting dataviz visualisation dublin elections pr)
New Statesman: Let's call the Isla Vista killings what they were: misogynist extremism
We have been told for a long time that the best way to deal with this sort of harrassment and violence is to laugh it off. Women and girls and queer people have been told that online misogynists pose no real threat, even when they’re sharing intimate guides to how to destroy a woman’s self-esteem and force her into sexual submission. Well, now we have seen what the new ideology of misogyny looks like at its most extreme. We have seen incontrovertible evidence of real people being shot and killed in the name of that ideology, by a young man barely out of childhood himself who had been seduced into a disturbing cult of woman-hatred. Elliot Rodger was a victim - but not for the reasons he believed.
(tags: elliot-rodger extremism feminism isla-vista mass-killings pua mens-rights harrassment misogyny penny-red)
-
'In essence Tcpdump asks the kernel to execute a BPF program within the kernel context. This might sound risky, but actually isn't. Before executing the BPF bytecode kernel ensures that it's safe: * All the jumps are only forward, which guarantees that there aren't any loops in the BPF program. Therefore it must terminate. * All instructions, especially memory reads are valid and within range. * The single BPF program has less than 4096 instructions. All this guarantees that the BPF programs executed within kernel context will run fast and will never infinitely loop. That means the BPF programs are not Turing complete, but in practice they are expressive enough for the job and deal with packet filtering very well.' Good example of a carefully-designed DSL allowing safe "programs" to be written and executed in a privileged context without security risk, or risk of running out of control.
(tags: coding dsl security via:oisin linux tcpdump bpf bsd kernel turing-complete configuration languages)
Handmade Kitchen Goods from Makers & Brothers - Cool Hunting
lovely kitchen-gear design from local-boys-made-good Makers & Brothers
(tags: makers-and-brothers design crafts kitchen nyc terrazo chopping-boards)
'Monitoring and detecting causes of failures of network paths', US patent 8,661,295 (B1)
The first software patent in my name -- couldn't avoid it forever :(
Systems and methods are provided for monitoring and detecting causes of failures of network paths. The system collects performance information from a plurality of nodes and links in a network, aggregates the collected performance information across paths in the network, processes the aggregated performance information for detecting failures on the paths, analyzes each of the detected failures to determine at least one root cause, and initiates a remedial workflow for the at least one root cause determined. In some aspects, processing the aggregated information may include performing a statistical regression analysis or otherwise solving a set of equations for the performance indications on each of a plurality of paths. In another aspect, the system may also include an interface which makes available for display one or more of the network topology, the collected and aggregated performance information, and indications of the detected failures in the topology.
The patent describes an early version of Pimms, the network failure detection and remediation system we built for Amazon.(tags: amazon pimms swpats patents networking ospf autoremediation outage-detection)
Dublin City Council rows back on speed bumps for cyclists
“bicycle-calming measures”. FFS, DCC
(tags: idiots dublin dcc council cycling fail holland funny bicycle-calming)
Monitoring Reactive Applications with Kamon
"quality monitoring tools for apps built in Akka, Spray and Play!". Uses Gil Tene's HDRHistogram and dropwizard Metrics under the hood.
(tags: metrics dropwizard hdrhistogram gil-tene kamon akka spray play reactive statistics java scala percentiles latency)
-
storage of structured data in a continuous block of memory. The memory can be allocated on the heap using a byte[] array or can be allocated off the java heap in native memory. [...] Use cases: store/cache huge amounts of data records without impact on GC duration; high performance data transfer in a cluster or in between processes
handy OSS from Ruediger Moeller Dynamic Tuple Performance On the JVM
More JVM off-heap storage from Boundary:
generates heterogeneous collections of primitive values and ensures as best it can that they will be laid out adjacently in memory. The individual values in the tuple can either be accessed from a statically bound interface, via an indexed accessor, or via reflective or other dynamic invocation techniques. FastTuple is designed to deal with a large number of tuples therefore it will also attempt to pool tuples such that they do not add significantly to the GC load of a system. FastTuple is also capable of allocating the tuple value storage entirely off-heap, using Java’s direct memory capabilities.
-
Teaches the basics of computer science - K-8 Intro to CS, 15-25 hours. Introduces core CS and programming concepts, with lots of nice graphics, scenarios and characters from games to get the kids hooked ;) Recommended by Tom Raftery; his youngest (7yo) is having great fun with it.
(tags: education programming learning coding kids k-8 code.org games)
-
one of the world’s leading news organizations giving itself a rigorous self-examination. I’ve spoken with multiple digital-savvy Times staffers in recent days who described the report with words like “transformative” and “incredibly important” and “a big big moment for the future of the Times.” One admitted crying while reading it because it surfaced so many issues about Times culture that digital types have been struggling to overcome for years.
via Antoin. This is pretty insightful -- the death of the homepage is notable(tags: nytimes publishing media journalism tech internet web news leaks via:antoin)
Microsoft Security Essentials reporting false positives on the Bitcoin blockchain
Earlier today, a virus signature from the virus "DOS/STONED" was uploaded into the Bitcoin blockchain, which allows small snippets of text to accompany user transactions with bitcoin. Since this is only the virus signature and not the virus itself, there apparently is no danger to users in any way. However, MSE recognizes the signature for the virus and continuously reports it as a threat, and every time it deletes the file, the bitcoin client will simply re-download the missing blockchain.
What a heinous prank! Hilarity ensues (via gwire)(tags: via:gwire av antivirus false-positives fp blockchain microsoft bitcoin pranks viruses)
Stuck in the iMessage abyss? Here’s how to get your texts back
some potential (apocryphal) workarounds for this extremely annoying Apple bug
-
an extension of the core Spark API that allows enables high-throughput, fault-tolerant stream processing of live data streams. Data can be ingested from many sources like Kafka, Flume, Twitter, ZeroMQ or plain old TCP sockets and be processed using complex algorithms expressed with high-level functions like map, reduce, join and window. Finally, processed data can be pushed out to filesystems, databases, and live dashboards. In fact, you can apply Spark’s in-built machine learning algorithms, and graph processing algorithms on data streams.
(tags: spark streams stream-processing cep scalability apache machine-learning graphs)
"Crypto Won't Save You Either"
fantastic slides from Peter Gutmann
(tags: crypto cryptography security exploits nsa gchq dual_ec_drbg rsa)
In the Zone: How Gamers Experience The Real Chernobyl
Great article. I've experienced this in LA, particularly, after playing the GTA series
(tags: pripyat gaming tourism reality virtual-reality via:oceanclub games)
Shapecatcher: Draw the Unicode character you want!
'This is a tool to help you find Unicode characters. Finding a specific character whose name you don't know is cumbersome. On shapecatcher.com, all you need to know is the shape of the character!' Handy.
(tags: shapes drawing unicode characters language recognition web)
Unchi-kun Candy - Japanese Lucky Poop Candy
What doesn't look like Christmas more than a smiling piece of poop, called unchi in Japanese? Because the shape of unchi looks similar to that of mochi used for shrine offerings, and because the sound "unchi" like the Japanese word for luck, this treat is actually a lucky gift -- at least that is how you can explain yourself when you give it as a gift. Each Unchi-kun comes packed with poop candy, taken out from the bottom. Once finished eating, you can open the slot in the back with a box-cutter and turn it into a bank.
Want one!(tags: unchi-kun unchi pile-of-poo emoji unicode cute funny japan j-list sweets food gross candy)
Bletchley Park Trust erects "Berlin Wall" to cut off on-site computer history museum - Boing Boing
The Bletchley Park trust have erected a fence, nicknamed "The Berlin Wall," between their well-funded museum and its poorer on-site neighbour, the UK National Museum of Computing, which houses the hand-built replica of the codebreaking Colossus computer. The trust received an £8m lottery-funded grant and set about shitcanning long-serving volunteers, cutting off the computer history museum, and generally behaving like greedy jerks, systematically alienating long-term supporters. Oh, and there was that Snowden business.
WTF. Stupid antics.-
Good benchmark data on the performance of JVM exceptions
(tags: java jvm exceptions benchmarking performance optimization coding)
-
Oh Apple, you asshats. This is some seriously shitty programming. iMessage on iOS devices caches the "iMessage-capable" flag for all numbers, indefinitely, so if you switch from iPhone to Android, messages from your friends' iPhones won't get delivered to you henceforth -- and to add insult to injury, it claims they do with a "Delivered." status appearing under the message. This is happening to me right now...
(tags: apple sms messaging phones mobile imessage android fail bad-programming bugs)
-
an Android-based stingray (IMSI catcher) detector that uses machine learning to detect the presence of stingray devices which can be used to eavesdrop on cellular communication.
In pre-launch right now. Via EthanZ via Antoin(tags: imsi-catcher stingray surveillance via:ethanz snooping spying privacy mobile)
-
+1. What has happened at Google? Did they fire ever employee in the UX department?
Spark - A small web framework for Java
A Sinatra-like minimal web framework built on Java 8 lambdas:
public class HelloWorld { public static void main(String[] args) { get("/hello", (request, response) -> { return "Hello World!"; }); } }
(tags: via:sampullara web java sinatra lambdas closures java8 spark)
Building a Global, Highly Available Service Discovery Infrastructure with ZooKeeper
This is the written version of a presentation [Camille Fournier] made at the ZooKeeper Users Meetup at Strata/Hadoop World in October, 2012 (slides available here). This writeup expects some knowledge of ZooKeeper.
good advice from one of the ZK committers.(tags: zookeeper service-discovery architecture distcomp camille-fournier availability wan network)
"Replicated abstract data types: Building blocks for collaborative applications"
cited at https://news.ycombinator.com/item?id=7737423 as 'one of my favorite papers on CRDTs and provides practical pseudocode for learning how to implement CRDTs yourself', in a discussion on cemerick's "Distributed Systems and the End of the API": http://writings.quilt.org/2014/05/12/distributed-systems-and-the-end-of-the-api/
(tags: distcomp networking distributed crdts algorithms text data-structures cap)
Android 4.4 KitKat Problems: HTC UK Speaks Out About HTC One Update Issues
Good advice on improving battery life with the KitKat 4.4.2 point release on a HTC One. I had serious battery problems, but they seem to have been resolved by following this advice
(tags: wifi kitkat android 4.4.2 htc-one htc battery blinkfeed mobile phones)
Transform any text into a patent application
'An apparatus and device for staring into vacancy. The devices comprises a good cage, a narrow gangway, an electric pocket, a flower-bedecked cage, an insensitive felt.' (The Hunger Artist by Kafka)
The Big List of Local Multiplayer Games
authoritative!
(tags: couch games gaming local-multiplayer multiplayer)
-
Mock Boto: 'a library that allows your python tests to easily mock out the boto library.' Supports S3, Autoscaling, EC2, DynamoDB, ELB, Route53, SES, SQS, and STS currently, and even supports a standalone server mode, to act as a mock service for non-Python clients. Excellent! (via Conor McDermottroe)
(tags: python aws testing mocks mocking system-tests unit-tests coding ec2 s3)
Why Disqus made the Python->Go switchover
for their realtime component, from the horse's mouth:
at higher contention, the CPU was choking everything. Switching over to Go removed that contention for us, which was the primary issue that we were seeing.
(tags: python languages concurrency go threading gevent scalability disqus realtime hn)
Database Migrations Done Right
The rule is simple. You should never tie database migrations to application deploys or vice versa. By minimising dependencies you enable faster, easier and cleaner deployments.
A solid description of why this is a good idea, from an ex-Guardian dev.(tags: migrations database sql mysql postgres deployment ops dependencies loose-coupling)
-
some cute brooches/jewellery here, for the next time I need to pick a nice gift
(tags: julie-moon art magic-pony jewellery brooches gifts)
Building a large scale CDN with Apache Traffic Server
via Ilya Grigorik: 'Great under-the-hood look at how Comcast built and operates their internal CDN for delivering video (on-demand + live). Some highlights: switched to own (open-source) stack; ~250 servers pushing ~1.5Pb of data/day with ~5Pb of storage capacity.'
(tags: cdn comcast video presentations apache traffic-server vod)
An analysis of Facebook photo caching
excellent analysis of caching behaviour at scale, from the FB engineering blog (via Tony Finch)
(tags: via:fanf caching facebook architecture photos images cache fifo lru scalability)
-
good advice. next time I go over, I'll have to get a Clipper card. Also: 'Brunch is its own section because I have never encountered a place that takes brunch so seriously.'
(tags: brunch sf travel california tips san-francisco clipper-card)
Alexey Shipilev on Java's System.nanoTime()
System.nanoTime is as bad as String.intern now: you can use it, but use it wisely. The latency, granularity, and scalability effects introduced by timers may and will affect your measurements if done without proper rigor. This is one of the many reasons why System.nanoTime should be abstracted from the users by benchmarking frameworks, monitoring tools, profilers, and other tools written by people who have time to track if the underlying platform is capable of doing what we want it to do. In some cases, there is no good solution to the problem at hand. Some things are not directly measurable. Some things are measurable with unpractical overheads. Internalize that fact, weep a little, and move on to building the indirect experiments. This is not the Wonderland, Alice. Understanding how the Universe works often needs side routes to explore. In all seriousness, we should be happy our $1000 hardware can measure 30 nanosecond intervals pretty reliably. This is roughly the time needed for the Internet packets originating from my home router to leave my apartment. What else do you want, you spoiled brats?
(tags: benchmarking jdk java measurement nanoseconds nsecs nanotime jvm alexey-shipilev jmh)
-
aka. "zero-shot learning". ok starting point
(tags: machine-learning zero-shot unsupervised algorithms ml)
-
Ilya Grigorik describes the design of the Bitcoin/altcoin block chain algorithm. Illuminating writeup
(tags: algorithms bitcoin security crypto blockchain ilya-grigorik)
-
The aim of the docker plugin is to be able to use a docker host to dynamically provision a slave, run a single build, then tear-down that slave. Optionally, the container can be committed, so that (for example) manual QA could be performed by the container being imported into a local docker provider, and run from there.
The holy grail of Jenkins/Docker integration. How cool is that...(tags: jenkins docker ops testing ec2 hosting scaling elastic-scaling system-testing)
-
an OSI layer 6 presentation for encoding/decoding messages in binary format to support low-latency applications. [...] SBE follows a number of design principles to achieve this goal. By adhering to these design principles sometimes means features available in other codecs will not being offered. For example, many codecs allow strings to be encoded at any field position in a message; SBE only allows variable length fields, such as strings, as fields grouped at the end of a message. The SBE reference implementation consists of a compiler that takes a message schema as input and then generates language specific stubs. The stubs are used to directly encode and decode messages from buffers. The SBE tool can also generate a binary representation of the schema that can be used for the on-the-fly decoding of messages in a dynamic environment, such as for a log viewer or network sniffer. The design principles drive the implementation of a codec that ensures messages are streamed through memory without backtracking, copying, or unnecessary allocation. Memory access patterns should not be underestimated in the design of a high-performance application. Low-latency systems in any language especially need to consider all allocation to avoid the resulting issues in reclamation. This applies for both managed runtime and native languages. SBE is totally allocation free in all three language implementations. The end result of applying these design principles is a codec that has ~25X greater throughput than Google Protocol Buffers (GPB) with very low and predictable latency. This has been observed in micro-benchmarks and real-world application use. A typical market data message can be encoded, or decoded, in ~25ns compared to ~1000ns for the same message with GPB on the same hardware. XML and FIX tag value messages are orders of magnitude slower again. The sweet spot for SBE is as a codec for structured data that is mostly fixed size fields which are numbers, bitsets, enums, and arrays. While it does work for strings and blobs, many my find some of the restrictions a usability issue. These users would be better off with another codec more suited to string encoding.
(tags: sbe encoding protobuf protocol-buffers json messages messaging binary formats low-latency martin-thompson xml)
Observations of an Internet Middleman
That leaves the remaining six [consumer ISPs peering with Level3] with congestion on almost all of the interconnect ports between us. Congestion that is permanent, has been in place for well over a year and where our peer refuses to augment capacity. They are deliberately harming the service they deliver to their paying customers. They are not allowing us to fulfil the requests their customers make for content. Five of those congested peers are in the United States and one is in Europe. There are none in any other part of the world. All six are large Broadband consumer networks with a dominant or exclusive market share in their local market. In countries or markets where consumers have multiple Broadband choices (like the UK) there are no congested peers.
Amazing that L3 are happy to publish this -- that's where big monopoly ISPs have led their industry.(tags: net-neutrality networking internet level3 congestion isps us-politics)
interview with Google VP of SRE Ben Treynor
interviewed by Niall Murphy, no less ;). Some good info on what Google deems important from an ops/SRE perspective
(tags: sre ops devops google monitoring interviews ben-treynor)
Faster BAM Sorting with SAMtools and RocksDB
Now this is really really clever. Heap-merging a heavyweight genomics format, using RocksDB to speed it up.
There’s a problem with the single-pass merge described above when the number of intermediate files, N/R, is large. Merging the sorted intermediate files in limited memory requires constantly reading little bits from all those files, incurring a lot of disk seeks on rotating drives. In fact, at some point, samtools sort performance becomes effectively bound to disk seeking. [...] In this scenario, samtools rocksort can sort the same data in much less time, using no more memory, by invoking RocksDB’s background compaction capabilities. With a few extra lines of code we configure RocksDB so that, while we’re still in the process of loading the BAM data, it runs additional background threads to merge batches of existing sorted temporary files into fewer, larger, sorted files. Just like the final merge, each background compaction requires only a modest amount of working memory.
(via the RocksDB facebook group)(tags: rocksdb algorithms sorting leveldb bam samtools merging heaps compaction)
Coding For Life (Battery Life, That Is)
great presentation on Android mobile battery life, and what to avoid
(tags: presentations via:sergio android mobile battery battery-life 3g wifi gprs hardware)
Oisin's mobile app release checklist
'This form is to document the testing that has been done on each app version before submitting to the App Store. For each item, indicate Yes if the testing has been done, Not Applicable if the testing does not apply (eg testing audio for an app that doesn’t play any), or No if the testing has not been done for another reason.'
(tags: apps checklists release coding ios android mobile ohurley)
"A New Data Structure For Cumulative Frequency Tables"
paper by Peter M Fenwick, 1993. 'A new method (the ‘binary indexed tree’) is presented for maintaining the cumulative frequencies which are needed to support dynamic arithmetic data compression. It is based on a decomposition of the cumulative frequencies into portions which parallel the binary representation of the index of the table element (or symbol). The operations to traverse the data structure are based on the binary coding of the index. In comparison with previous methods, the binary indexed tree is faster, using more compact data and simpler code. The access time for all operations is either constant or proportional to the logarithm of the table size. In conjunction with the compact data structure, this makes the new method particularly suitable for large symbol alphabets.' via Jakob Buchgraber, who's implementing it right now in Netty ;)
(tags: netty frequency-tables data-structures algorithms coding binary-tree indexing compression symbol-alphabets)
-
Patent trolls have sued or threatened to sue tens of thousands of end-users. For example, Innovatio attacked cafes, bakeries, and even a funeral parlor for using off-the-shelf Wi-Fi routers. And the notorious scanner troll, MPHJ, targeted small businesses and nonprofits around the country for using ordinary office equipment. As a recent paper explained: “Mass suits against technology customers have become too common, involving building block technologies like wi-fi, scanning, email and website technologies.” The growth in patent suits against customers reveals the importance of the Limelight case. A ruling that made it even easier to sue customers (by allowing suits against someone who performs just some steps of a patent) would encourage patent trolls to launch more abusive litigation campaigns. We hope the Supreme Court will restore the sensible rule that only a single entity (or its agents) can infringe a patent.
(tags: patents uspto swpats eff consumer law legal patent-infringement scanners wifi printers)
Hanging on the telephone – has anyone got it right on the new ban on text driving?
Some good legal commentary on this new Irish law.
There has been much hand-wringing and concern about whether or not the 2014 Regulations prohibit the use of Google Maps or Hailo, for example. They don’t, but this does not mean that drivers should feel free to use non-texting functions of their phones while driving – holding a mobile phone (which could include a tablet) while driving remains prohibited, whatever the use it is being put to. Moreover, offences of dangerous and careless driving and driving without due care and attention could cover a wide range of bad driving, and could include, for example, driving while zooming in and out of maps on your phone or sending stickers on WhatsApp.
(tags: ireland law driving safety mobile-phones texting google-maps satnav)
-
'better dates and times for Python', to fix the absurd proliferation of slightly-incompatible Python date/time types and APIs. unfortunately, http://imgs.xkcd.com/comics/standards.png applies....
(tags: python libraries time dates timestamps timezones apis proliferation iso-8601)
Holdings: Guinness's Brewery Dublin
'Guinness's Brewery Dublin. Malt House, malt on floor; sign' - One of the photos taken by my great-grandfather, Thomas H. Mason, around the turn of the century from the NLI collection
(tags: nli ireland photos t-h-mason history dublin guinness maltings beer)
Published image: 'An Irish Village'.
'Cart, man/woman; 2 men and boy serving beer outside, + sign 'Rich King Spirits'. Ragged attire' - One of the photos taken by my great-grandfather, Thomas H. Mason, around the turn of the century from the NLI collection
-
One of the photos taken by my great-grandfather, Thomas H. Mason, around the turn of the century from the NLI collection
-
One of the photos taken by my great-grandfather, Thomas H. Mason, around the turn of the century from the NLI collection
(tags: ireland history science chemistry crystals t-h-mason photos)
-
One of the SmartStack developers at AirBNB responds to Consul.io's comments. FWIW, we use SmartStack in Swrve and it works pretty well...
(tags: smartstack airbnb ops consul serf load-balancing availability resiliency network-partitions outages)
A Closer Look At OC's Anti-Vaccination Cluster
In communities such as San Clemente, Laguna Beach, Laguna Niguel, Aliso Viejo, Mission Viejo and Capistrano Beach, where Dr. Bob Sears practices, there are clusters of unvaccinated children. Last year, at 15 of the 40 elementary schools in the Capistrano Unified School District, more than 10 percent of kindergartners had [Personal Belief exemptions], according to data from the California Department of Public Health. At one public charter school, Journey, 56 percent of kindergartners were unvaccinated, at least partially, due to their parents' beliefs.
This is going to end horribly. Typical OC(tags: orange-county health vaccination laguna-beach oc dr-bob-sears kindergarten measles mumps rubella pertussis epidemiology)
-
Today we’re open sourcing Secor, a zero data loss log persistence service whose initial use case was to save logs produced by our monetization pipeline. Secor persists Kafka logs to long-term storage such as Amazon S3. It’s not affected by S3’s weak eventual consistency model, incurs no data loss, scales horizontally, and optionally partitions data based on date.
(tags: pinterest hadoop secor storm kafka architecture s3 logs archival)
Coping with the TCP TIME-WAIT state on busy Linux servers
extensive blog post
(tags: networking linux tcp performance time-wait sysctls tuning)
Flood IO Offering Network Emulation
Performance-testing-as-a-service company Flood.IO now offering emulation of various crappy end-user networks: GSM, DSL, GPRS, 3G, 4G etc. Great idea.
(tags: flood.io performance networking internet load-testing testing jmeter gatling tests gsm 3g mobile simulation)
-
Disqus' realtime architecture -- nginx PushStream module doing the heavy lifting, basically. See https://gist.github.com/dctrwatson/0b3b52050254e273ff11 for the production nginx configs they use. I am very impressed that push-stream has grown to be so solid; it's a great way to deal with push from the sounds of it. http://blog.disqus.com/post/51155103801/trying-out-this-go-thing now notes that some of the realtime backends are in Go. https://speakerdeck.com/dctrwatson/c1m-and-nginx ("C1M and Nginx") is a more up to date presentation. It notes that PushStream supports "EventSource, WebSocket, Long Polling, and forever iframe". More sysctls and nginx tuning in that prez.
(tags: sysctl nginx tuning go disqus realtime push eventsource websockets long-polling iframe python)
'The Design And Implementation Of Modern Column-Oriented Database Systems'
paper, PDF; Daniel Abadi et al.
(tags: papers pdf columnar-stores column-oriented databases storage architecture algorithms)
'Pickles & Spores: Improving Support for Distributed Programming in Scala
'Spores are "small units of possibly mobile functional behavior". They're a closure-like abstraction meant for use in distributed or concurrent environments. Spores provide a guarantee that the environment is effectively immutable, and safe to ship over the wire. Spores aim to give library authors some confidence in exposing functions (or, rather, spores) in public APIs for safe consumption in a distributed or concurrent environment. The first part of the talk covers a simpler variant of spores as they are proposed for inclusion in Scala 2.11. The second part of the talk briefly introduces a current research project ongoing at EPFL which leverages Scala's type system to provide type constraints that give authors finer-grained control over spore capturing semantics. What's more, these type constraints can be composed during spore composition, so library authors are effectively able to propagate expert knowledge via these composable constraints. The last part of the talk briefly covers Scala/Pickling, a fast new, open serialization framework.'
(tags: pickling scala presentations spores closures fp immutability coding distributed distcomp serialization formats network)
BBC News - Microsoft 'must release' data held on Dublin server
Messy. I can't see this lasting beyond an appeal.
Law enforcement efforts would be seriously impeded and the burden on the government would be substantial if they had to co-ordinate with foreign governments to obtain this sort of information from internet service providers such as Microsoft and Google, Judge Francis said. In a blog post, Microsoft's deputy general counsel, David Howard, said: "A US prosecutor cannot obtain a US warrant to search someone's home located in another country, just as another country's prosecutor cannot obtain a court order in her home country to conduct a search in the United States. "We think the same rules should apply in the online world, but the government disagrees."
(tags: microsoft regions law us-law privacy google cloud international-law surveillance)
Russia passes bill requiring bloggers to register with government
A bill passed by the Russian parliament on Tuesday says that any blogger read by at least 3,000 people a day has to register with the government telecom watchdog and follow the same rules as those imposed by Russian law on mass media. These include privacy safeguards, the obligation to check all facts, silent days before elections and loose but threatening injunctions against "abetting terrorism" and "extremism."
Russian blogging platforms have responded by changing view-counter tickers to display "2500+" as a max.(tags: russia blogs blogging terrorism extremism internet regulation chilling-effects censorship)
-
as used in the Apollo guidance computer systems -- hand-woven by "little old ladies". Amazing
(tags: core-memory memory rope-core guidance apollo space nasa history 1960s via:hn)
How I used Heartbleed to steal a site’s private crypto key
good writeup from Robin Xu
(tags: robin-xu heartbleed rsa private-keys openssl hacking security tls ssl)
Making runbooks more useful by exposing them through monitoring
Nice example of an ops runbook wiki for a service
(tags: runbooks ops devops monitoring sysadmin documentation wiki)
-
Ubuntu, C*, HAProxy, MySQL, RDS, multiple AWS regions.
(tags: hailo cassandra ubuntu mysql rds aws ec2 haproxy architecture)
They called it "big iron" for a reason: the Cray Motor-Generator Unit
I think the deal with the Motor-Generator Unit was that the Cray 1 needed not just enormous amounts of power (over a hundred kilowatts!), but also very stable power. So it ran from a huge electric generator connected directly to a huge electric motor, the motor running from dirty grid power and the generator, in turn, feeding the computer's own multi-voltage PSU. The Cray 1 itself weighed a mere 2.4 tonnes, but all this support stuff added several more tonnes.
via RobS.(tags: via:rob-synnott cray history big-iron motors power electricity generators)
Go: Best Practices for Production Environments
how Soundcloud deploy their Go services, after 2.5 years of Go in production
(tags: go tips deployment best-practices soundcloud ops)
-
'Location Codes for Irish Addresses'. Looks like, as expected, this will not have no-cost licensing terms; companies and non-profit orgs will all have to pay Capita Business Support Services Ireland for access. boo.
(tags: eircode mapping addressing geocoding ireland open-source licensing postcodes)
Why your company shouldn’t use Git submodules
'It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects. At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to. It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.'
(tags: git source-control revision-control submodules storage)
Eyes Over Compton: How Police Spied on a Whole City
The law-enforcement pervasive-surveillance CCTV PVR.
In a secret test of mass surveillance technology, the Los Angeles County Sheriff's Department sent a civilian aircraft* over Compton, California, capturing high-resolution video of everything that happened inside that 10-square-mile municipality. Compton residents weren't told about the spying, which happened in 2012. "We literally watched all of Compton during the times that we were flying, so we could zoom in anywhere within the city of Compton and follow cars and see people," Ross McNutt of Persistence Surveillance Systems told the Center for Investigative Reporting, which unearthed and did the first reporting on this important story. The technology he's trying to sell to police departments all over America can stay aloft for up to six hours. Like Google Earth, it enables police to zoom in on certain areas. And like TiVo, it permits them to rewind, so that they can look back and see what happened anywhere they weren't watching in real time.
(via New Aesthetic)(tags: pvr cctv law-enforcement police compton los-angeles law surveillance future)
-
Blog post from the ES team. They use "evil tests" -- basically unit/system tests, particularly using randomized error-injecting mock infrastructure. Good practices; I've done the same myself quite recently for Swrve's realtime infrastructure
(tags: elasticsearch resiliency network-partitions reliability testing mocking error-injection)
Meet Ireland’s first bitcoin politician
Ossian Smyth -- Green Party internet spokesman and representative for communications, energy, and natural resources, with a top wheeze: “I think it is one of the most transparent ways of receiving donations. No one would know how much money can be donated into a bank account, but with bitcoin anyone can go to the block chain and look at the wallet." excellent ;)
(tags: ossian-smyth bitcoin fundraising greens politics ireland dublin green-party internet)
OpenPostCode demolishes the planned "Eircode" postcode system
Comprehensively ripped to shreds. Bottom line: 'Postcodes will be largely meaningless to anyone without access to the pay-walled database. It is another tax on business.'
(tags: postcodes ireland eircode addressing geocoding mapping maps open-data)
Netflix comes out strongly against Comcast
In sum, Comcast is not charging Netflix for transit service. It is charging Netflix for access to its subscribers. Comcast also charges its subscribers for access to Internet content providers like Netflix. In this way, Comcast is double dipping by getting both its subscribers and Internet content providers to pay for access to each other.
FIGHT!(tags: netflix comcast network-neutrality cartels competition us-politics business isps)
co-founder of the Boston Beer Company swears by active dry yeast as a hangover-avoidance remedy
what [Joe] Owades knew was that active dry yeast has an enzyme in it called alcohol dehydrogenases (ADH). Roughly put, ADH is able to break alcohol molecules down into their constituent parts of carbon, hydrogen, and oxygen. Which is the same thing that happens when your body metabolizes alcohol in its liver. Owades realized if you also have that enzyme in your stomach when the alcohol first hits it, the ADH will begin breaking it down before it gets into your bloodstream and, thus, your brain.
Plausible!(tags: beer science health yeast alcohol adh medicine enzymes stomach food)
-
At Comcast, our applications need convenient, low-latency access to important reference datasets. For example, our XfinityTV websites and apps need to use entertainment-related data to serve almost every API or web request to our datacenters: information like what year Casablanca was released, or how many episodes were in Season 7 of Seinfeld, or when the next episode of the Voice will be airing (and on which channel!). We traditionally managed this information with a combination of relational databases and RESTful web services but yearned for something simpler than the ORM, HTTP client, and cache management code our developers dealt with on a daily basis. As main memory sizes on commodity servers continued to grow, however, we asked ourselves: How can we keep this reference data entirely in RAM, while ensuring it gets updated as needed and is easily accessible to application developers? The Sirius distributed system library is our answer to that question, and we're happy to announce that we've made it available as an open source project. Sirius is written in Scala and uses the Akka actor system under the covers, but is easily usable by any JVM-based language.
Also includes a Paxos implementation with "fast follower" read-only slave replication. ASL2-licensed open source. The only thing I can spot to be worried about is speed of startup; they note that apps need to replay a log at startup to rebuild state, which can be slow if unoptimized in my experience. Update: in a twitter conversation at https://twitter.com/jon_moore/status/459363751893139456 , Jon Moore indicated they haven't had problems with this even with 'datasets consuming 10-20GB of heap', and have 'benchmarked a 5-node Sirius ingest cluster up to 1k updates/sec write throughput.' That's pretty solid!(tags: open-source comcast paxos replication read-only datastores storage memory memcached redis sirius scala akka jvm libraries)
AWS Elastic Beanstalk for Docker
This is pretty amazing. nice work, Beanstalk team. not sure how well it integrates with the rest of AWS though
(tags: aws amazon docker ec2 beanstalk ops containers linux)
TDD is dead. Long live testing
Oh god. I agree with DHH. shoot me now.
Test-first units leads to an overly complex web of intermediary objects and indirection in order to avoid doing anything that's "slow". Like hitting the database. Or file IO. Or going through the browser to test the whole system. It's given birth to some truly horrendous monstrosities of architecture. A dense jungle of service objects, command patterns, and worse. I rarely unit test in the traditional sense of the word, where all dependencies are mocked out, and thousands of tests can close in seconds. It just hasn't been a useful way of dealing with the testing of Rails applications. I test active record models directly, letting them hit the database, and through the use of fixtures. Then layered on top is currently a set of controller tests, but I'd much rather replace those with even higher level system tests through Capybara or similar. I think that's the direction we're heading. Less emphasis on unit tests, because we're no longer doing test-first as a design practice, and more emphasis on, yes, slow, system tests.
(tags: tdd rails testing unit-tests system-tests integration-testing ruby dhh mocks)
All at sea: global shipping fleet exposed to hacking threat | Reuters
Hackers recently shut down a floating oil rig by tilting it, while another rig was so riddled with computer malware that it took 19 days to make it seaworthy again; Somali pirates help choose their targets by viewing navigational data online, prompting ships to either turn off their navigational devices, or fake the data so it looks like they're somewhere else; and hackers infiltrated computers connected to the Belgian port of Antwerp, located specific containers, made off with their smuggled drugs and deleted the records.
(via Mikko Hypponen)(tags: via:mikko security hacking oilrigs shipping ships maritime antwerp piracy malware)
Search Results - (Author:Thomas H Mason)
Photographs taken by my great-grandfather, Thomas H. Mason, in the National Library of Ireland's newly-digitized online collection
(tags: family thomas-h-mason history ireland photography archive nli)
Syria's lethal Facebook checkpoints
An anonymous tip from a highly reliable source: "There are checkpoints in Syria where your Facebook is checked for affiliation with the rebellious groups or individuals aligned with the rebellion. People are then disappeared or killed if they are found to be connected. Drivers are literally forced to load their Facebook/Twitter accounts and then they are riffled through. It's happening daily, and has been for a year at least."
(tags: boing-boing war facebook social-media twitter internet checkpoints syria)
The ancient Egyptian word for 'cat' was pronounced 'miaow'
and many other cool-but-true factoids
(tags: fun quora interesting via:dorothy factoids true urban-legends facts)
-
kellabyte's hack in progress -- 'an asynchronous HTTP server framework written in C. The goal of Haywire is to learn how to create a server with a minimal feature set that can handle a high rate of requests and connections with as low of latency and resource usage as possible. Haywire uses the event loop based libuv platform layer that node.js is built on top of (also written in C). libuv abstracts IOCP on Windows and epoll/kqueue/event ports/etc. on Unix systems to provide efficient asynchronous I/O on all supported platforms.' Outperforms libevent handily, it seems. Apache-licensed.
(tags: server http asynchronous libuv haywire kellabyte c events open-source asl2)
spoofing the samsung smart tv internet check
If this kind of bullshit -- a HTTP GET of an XML file from www.samsung.com -- is how the Samsung Smart TV firmware decides if the internet is working or not, I dread to think how crappy the rest of the code is. (At least in Netnote we performed a bunch of bigco-domain DNS lookups before giving up...)
(tags: smart-tv samsung fail xml http internet embedded-software firmware crap-code)
ImperialViolet - No, don't enable revocation checking
...because it doesn't stop attacks. Turning it on does nothing but slow things down. You can tell when something is security theater because you need some absurdly specific situation in order for it to be useful.
(tags: cryptography crypto heartbleed ssl security tls https internet revocation crls)
-
*Really* intriguing slide deck on how Asia and Africa have invented new ways of operating a business via the internet, and are turning globalisation upside down (via Yoz)
(tags: via:yoz africa asia globalisation internet web mobile payment business ecommerce global)
Using AWS in the context of Australian Privacy Considerations
interesting new white paper from Amazon regarding recent strengthening of the Aussie privacy laws, particularly w.r.t. geographic location of data and access by overseas law enforcement agencies...
(tags: amazon aws security law privacy data-protection ec2 s3 nsa gchq five-eyes)
For world’s biggest troll, first patent case ends up in tatters
Love it. Intellectual Ventures suffers a major bloody nose in IV/Capital One patent-trolling litigation
(tags: trolls patent-trolls patents swpats capital-one intellectual-ventures)
Notes On Concurrent Ring Buffer Queue Mechanics
great notes from Nitsan Wakart, who's been hacking on ringbuffers a lot in JAQ
(tags: jaq nitsanw atomic concurrency data-structures ring-buffers queueing queues algorithms)
Uplink Latency of WiFi and 4G Networks
It's high. Wifi in particular shows high variability and long latency tails
-
vim-flake8 is a Vim plugin that runs the currently open file through Flake8, a static syntax and style checker for Python source code. It supersedes both vim-pyflakes and vim-pep8. Flake8 is a wrapper around PyFlakes (static syntax checker), PEP8 (style checker) and Ned's MacCabe script (complexity checker).
Recommended by several pythonistas of my acquaintance!(tags: vim python syntax error-checking errors flake8 editors ides coding)