Skip to content

Category: Uncategorized

Links for 2013-02-18

  • Fatcache

    from Twitter -- 'a cache for your big data. Even though memory is thousand times faster than SSD, network connected SSD-backed memory makes sense, if we design the system in a way that network latencies dominate over the SSD latencies by a large factor. To understand why network connected SSD makes sense, it is important to understand the role distributed memory plays in large-scale web architecture. In recent years, terabyte-scale, distributed, in-memory caches have become a fundamental building block of any web architecture. In-memory indexes, hash tables, key-value stores and caches are increasingly incorporated for scaling throughput and reducing latency of persistent storage systems. However, power consumption, operational complexity and single node DRAM cost make horizontally scaling this architecture challenging. The current cost of DRAM per server increases dramatically beyond approximately 150 GB, and power cost scales similarly as DRAM density increases. Fatcache extends a volatile, in-memory cache by incorporating SSD-backed storage.'

    (tags: twitter ssd cache caching memcached memcache memory network storage)

  • Passively Monitoring Network Round-Trip Times - Boundary

    'how Boundary uses [TCP timestamps] to calculate round-trip times (RTTs) between any two hosts by passively monitoring TCP traffic flows, i.e., without actively launching ICMP echo requests (pings). The post is primarily an overview of this one aspect of TCP monitoring, it also outlines the mechanism we are using, and demonstrates its correctness.'

    (tags: tcp boundary monitoring network ip passive-monitoring rtt timestamping)

  • drug cartel-controlled mobile comms networks

    “The Mexican military has recently broken up several secret telecommunications networks that were built and controlled by drug cartels so they could coordinate drug shipments, monitor their rivals and orchestrate attacks on the security forces. A network that was dismantled just last week provided cartel members with cellphone and radio communications across four northeastern states. The network had coverage along almost 500 miles of the Texas border and extended nearly another 500 miles into Mexico’s interior. Soldiers seized 167 antennas, more than 150 repeaters and thousands of cellphones and radios that operated on the system. Some of the remote antennas and relay stations were powered with solar panels.”

    (tags: mexico drugs networks mobile-phones crime)

  • Heroku finds out that distributed queueing is hard

    Stage 3 of the Rap Genius/Heroku blog drama. Summary (as far as I can tell): Heroku gave up on a fully-synchronised load-balancing setup ("intelligent routing"), since it didn't scale, in favour of randomised queue selection; they didn't sufficiently inform their customers, and metrics and docs were not updated to make this change public; the pessimal case became pretty damn pessimal; a customer eventually noticed and complained publicly, creating a public shit-storm. Comments: 1. this is why you monitor real HTTP request latency (scroll down for crazy graphs!). 2. include 90/99 percentiles to catch the "tail" of poorly-performing requests. 3. Load balancers are hard. http://aphyr.com/posts/277-timelike-a-network-simulator has more info on the intricacies of distributed load balancing -- worth a read.

    (tags: heroku rap-genius via:hn networking distcomp distributed load-balancing ip queueing percentiles monitoring)

  • Unhelpful Graphite Tips

    10 particularly good -- actually helpful -- tips on using the Graphite metric graphing system

    (tags: graphite ops metrics service-metrics graphing ui dataviz)

  • Literate Jenks Natural Breaks and How The Idea Of Code is Lost

    A crazy amount of code archaeology to discover exactly an algorithm -- specifically 'Jenks natural breaks", works, after decades of cargo-cult copying (via Nelson): 'I spent a day reading the original text and decoding as much as possible of the code’s intention, so that I could write a ‘literate’ implementation. My definition of literate is highly descriptive variable names, detailed and narrative comments, and straightforward code with no hijinks. So: yes, this isn’t the first implementation of Jenks in Javascript. And it took me several times longer to do things this way than to just get the code working. But the sad and foreboding state of this algorithm’s existing implementations said that to think critically about this code, its result, and possibilities for improvement, we need at least one version that’s clear about what it’s doing.'

    (tags: jenks-natural-breaks algorithms chloropleth javascript reverse-engineering history software copyright via:nelson)

  • don't order a Raspberry Pi from RS

    I've been waiting 24 days for mine so far. Frankly amazing they are so apparently inept, particularly since it seems in breach of EU distance selling regulation if they go beyond 30 days without an update. They've just posted this:

    Quick update- we received our delivery of raspberry pi’s last week and as of Friday we had shipped up to order reference 1010239854. We will continue daily to get your orders shipped out as quickly as we possibly can; so that you will all receive your raspberry pi’s shortly. Many thanks everyone for your patience and again apologies for the delay in the dispatch update message on the Pi Store which I know has caused some confusion.

    (tags: rs raspberry-pi inept etailers uk e-commerce shopping hardware)

  • more details on the UK distance selling regulations governing Raspberry Pi RS orders

    'my understanding is that according to the Distance Selling Regulations [...], unless you agreed otherwise with RS, then they were obligated to fulfill their side of the contract within thirty days from the day after you ordered, and if they were unable to do so they were also obligated to inform you that they could not and repay you within thirty days;ons (more info here in a nice, easy-to-read format), unless you agreed otherwise with RS, then they were obligated to fulfill their side of the contract within thirty days from the day after you ordered, and if they were unable to do so they were also obligated to inform you that they could not and repay you within thirty days'

    (tags: rs shopping etailers inept distance-selling uk law)

Links for 2013-02-12

Links for 2013-02-11

Links for 2013-02-09

Links for 2013-02-07

  • High Scalability - Analyzing billions of credit card transactions and serving low-latency insights in the cloud

    Hadoop, a batch-generated read-only Voldemort cluster, and an intriguing optimal-storage histogram bucketing algorithm:

    The optimal histogram is computed using a random-restart hill climbing approximated algorithm. The algorithm has been shown very fast and accurate: we achieved 99% accuracy compared to an exact dynamic algorithm, with a speed increase of one factor. [...] The amount of information to serve in Voldemort for one year of BBVA's credit card transactions on Spain is 270 GB. The whole processing flow would run in 11 hours on a cluster of 24 "m1.large" instances. The whole infrastructure, including the EC2 instances needed to serve the resulting data would cost approximately $3500/month.

    (tags: scalability scaling voldemort hadoop batch algorithms histograms statistics bucketing percentiles)

  • Splout

    'Splout is a scalable, open-source, easy-to-manage SQL big data view. Splout is to Hadoop + SQL what Voldemort or Elephant DB are to Hadoop + Key/Value. Splout serves a read-only, partitioned SQL view which is generated and indexed by Hadoop.' Some FAQs: 'What's the difference between Splout SQL and Dremel-like solutions such as BigQuery, Impala or Apache Drill? Splout SQL is not a "fast analytics" Dremel-like engine. It is more thought to be used for serving datasets under web / mobile high-throughput, many lookups, low-latency applications. Splout SQL is more like a NoSQL database in the sense that it has been thought for answering queries under sub-second latencies. It has been thought for performing queries that impact a very small subset of the data, not queries that analyze the whole dataset at once.'

    (tags: splout sql big-data hadoop read-only scaling queries analytics)

  • Goonwaffe Stories: A Guide For Newbies [PDF]

    impressively high-quality newbie's guide from the Goonswarm Federation -- as themittani.com describes it, 'frankly a work of art: a 1950's Pulp Scifi magazine full of internet spaceships and sociopathy.'

    (tags: eve-online space goonswarm gaming mmo pdf pulp science-fiction)

Links for 2013-02-06

  • Evasi0n Jailbreak's Userland Component

    Good writeup of the exploit techniques used in the new iOS jailbreak.

    Evasi0n is interesting because it escalates privileges and has full access to the system partition all without any memory corruption.  It does this by exploiting the /var/db/timezone vulnerability to gain access to the root user’s launchd socket.  It then abuses launchd to load MobileFileIntegrity with an inserted codeless library, which is overriding MISValidateSignature to always return 0.

    (tags: jailbreak ios iphone ipad exploits evasi0n via:nelson)

Links for 2013-02-05

  • Programming Language Checklist

    'You appear to be advocating a new: [ ] functional [ ] imperative [ ] object-oriented [ ] procedural [ ] stack-based [ ] "multi-paradigm" [ ] lazy [ ] eager [ ] statically-typed [ ] dynamically-typed [ ] pure [ ] impure [ ] non-hygienic [ ] visual [ ] beginner-friendly [ ] non-programmer-friendly [ ] completely incomprehensible programming language. Your language will not work. Here is why it will not work.'

    (tags: humor programming funny coding languages)

  • Jetty-9 goes fast with Mechanical Sympathy

    This is very cool! Applying Mechanical Sympathy optimization techniques to Jetty, specifically: "False sharing" on the BlockingArrayQueue data structure resolved; a new ArrayTernaryTrie data structure to improve header field storage, making it faster to build. look up, efficient on RAM, cheap to GC, and more cache-friendly than a traditional trie; and a branchless hex-to-byte conversion statement. The results are a 30%-faster microbenchmark on amd64, with 50% less Young Gen garbage collections. Lovely to see low-level infrastructure libs like Jetty getting this kind of optimization.

    (tags: jetty java mechanical-sympathy optimization coding tries)

  • Event Bars - Craft Beer

    craft beer kegs for hire in Dublin, Sligo, Limerick and Galway. Needs more Metalman, of course ;)

    (tags: beer ireland craft-beer keg-hire events parties)

Links for 2013-02-04

Links for 2013-02-04

Links for 2013-02-01

  • IPMI: Freight Train To Hell

    'Intel's Intelligent Platform Management Interface (IPMI), which is implemented and added onto by all server vendors, grant system administrators with a means to manage their hardware in an Out of Band (OOB) or Lights Out Management (LOM) fashion. However there are a series of design, utilization, and vendor issues that cause complex, pervasive, and serious security infrastructure problems. The BMC is an embedded computer on the motherboard that implements IPMI; it enjoys an asymmetrical relationship with its host, with the BMC able to gain full control of memory and I/O, while the server is both blind and impotent against the BMC. Compromised servers have full access to the private IPMI network The BMC uses reusable passwords that are infrequently changed, widely shared among servers, and stored in clear text in its storage. The passwords may be disclosed with an attack on the server, over the network network against the BMC, or with a physical attack against the motherboard (including after the server has been decommissioned.) IT's reliance on IPMI to reduce costs, the near-complete lack of research, 3rd party products, or vendor documentation on IPMI and the BMC security, and the permanent nature of the BMC on the motherboard make it currently very difficult to defend, fix or remediate against these issues.' (via Tony Finch)

    (tags: via:fanf security ipmi power-management hardware intel passwords bios)

  • java - Given that HashMaps in jdk1.6 and above cause problems with multi-threading, how should I fix my code - Stack Overflow

    Massive Java concurrency fail in recent 1.6 and 1.7 JDK releases -- the java.util.HashMap type now spin-locks on an AtomicLong in its constructor. Here's the response from the author: 'I'll acknowledge right up front that the initialization of hashSeed is a bottleneck but it is not one we expected to be a problem since it only happens once per Hash Map instance. For this code to be a bottleneck you would have to be creating hundreds or thousands of hash maps per second. This is certainly not typical. Is there really a valid reason for your application to be doing this? How long do these hash maps live?' Oh dear. Assumptions of "typical" like this are not how you design a fundamental data structure. fail. For now there is a hacky reflection-based workaround, but this is lame and needs to be fixed as soon as possible. (Via cscotta)

    (tags: java hashmap concurrency bugs fail security hashing jdk via:cscotta)

  • High Scalability - geo-aware traffic load balancing and caching at CNBC.com

    Dyn's anycast DNS service, as used by CNBC.com

    (tags: anycast dns scalability dyn failover geographical load-balancing)

Links for 2013-01-31

  • Using Statsd and Graphite From a Rails App

    Reasonable simple, from the looks of it

    (tags: rails graphite metrics service-metrics ruby)

  • The colour of London's commute

    Nice visualisation. 'What the map shows is the mix of transport to work of residents living in each part of London*, using ONS data at Middle Super Output Area (MSOA) level. Each MSOA is given an RGB colour determined by the modal share, with red colours representing travel by car, taxi or motorbike, blue travel by public transport and green cycling or walking. The result is a fairly simple pattern, with motor vehicles predominating on London's fringes, public transport in the inner suburbs and cycling and walking in the very centre. Those tendrils of blue reaching out presumably represent major public transport links.'

    (tags: data visualisation dataviz london mapping via:ldoody)

Links for 2013-01-30

Links for 2013-01-27

  • Ironfan

    'an expressive toolset for constructing scalable, resilient [service] architectures. It works in the cloud, in the data center, and on your laptop, and it makes your system diagram visible and inevitable. Inevitable systems coordinate automatically to interconnect, removing the hassle of manual configuration of connection points (and the associated danger of human error).' Looks like a pretty neat cluster deployment tool; driven from a single configuration file, using Chef, integrating closely with AWS and providing many useful additional features

    (tags: chef deployment clusters knife services aws ec2 ops ironfan demo)

  • Fox DMCA Takedowns Order Google to Remove Fox DMCA Takedowns

    Chilling Effects is setup to stop the ‘chilling effects’ of Internet censorship. Google sees this as a good thing and sends takedown requests it receives to be added to the database. Fox sends takedown requests to Google for pages which the company says contain links to material it holds the copyright to. Those pages include those on Chilling Effects which show which links Fox wants taken down. Google delists the Chilling Effects pages from its search engine, thus completing the circle and defeating the very reason Chilling Effects was set up for in the first place.

    (tags: chilling-effects copyright internet legal dmca google law)

  • PUBLIC joho / 7XX-rfc

    At Railscamp X it became clear there is a gap in the current HTTP specification. There are many ways for a developer to screw up their implementation, but no code to share the nature of the error with the end user. We humbly suggest the following status codes are included in the HTTP spec in the 7XX range.
    Includes such useful status codes as "724 - This line should be unreachable".

    (tags: http standards humour funny jokes)

  • How Newegg crushed the “shopping cart” patent and saved online retail

    Very cool account of Newegg's battle against a ludicrous patent-troll shakedown. Great quote from their Chief Legal Officer, Lee Cheng:

    Patent trolling is based upon deficiencies in a critical, but underdeveloped, area of the law. The faster we drive these cases to verdict, and through appeal, and also get legislative reform on track, the faster our economy will be competitive in this critical area. We're competing with other economies that are not burdened with this type of litigation. China doesn't have this, South Korea doesn't have this, Europe doesn't have this. [...] It's actually surprising how quickly people forget what Lemelson did. [referring to Jerome Lemelson, an infamous patent troll who used so-called "submarine patents" to make billions in licensing fees.] This activity is very similar. Trolls right now "submarine" as well. They use timing, like he used timing. Then they pop up and say "Hello, surprise! Give us your money or we will shut you down!" Screw them. Seriously, screw them. You can quote me on that.

    (tags: patent-trolls east-texas newegg shopping-cart swpat software-patents patents ecommerce soverain)

  • Implementing strcmp, strlen, and strstr using SSE 4.2 instructions - strchr.com

    Using new Intel Core i7 instructions to speed up string manipulation.
    Fascinating stuff. SSE ftw

    (tags: sse optimization simd assembly intel i7 intel-core strstr strings string-matching strchr strlen coding)

Links for 2013-01-26

  • All polar bears descended from one Irish grizzly

    'THE ARCTIC'S DWINDLING POPULATION of polar bears all descend from a single mamma brown bear which lived 20,000 to 50,000 years ago in present-day Ireland, new research suggests. DNA samples from the great white carnivores - taken from across their entire range in Russia, Canada, Greenland, Norway and Alaska - revealed that every individual's lineage could be traced back to this Irish forebear.' More than the average bear, I guess

    (tags: animals biology science dna history ireland bears polar-bears grizzly-bears via:ben)

  • Basho | Alert Logic Relies on Riak to Support Rapid Growth

    'The new [Riak-based] analytics infrastructure performs statistical and correlation processing on all data [...] approximately 5 TB/day. All of this data is processed in real-time as it streams in. [...] Alert Logic’s analytics infrastructure, powered by Riak, achieves performance results of up to 35k operations/second across each node in the cluster – performance that eclipses the existing MySQL deployment by a large margin on single node performance. In real business terms, the initial deployment of the combination of Riak and the analytic infrastructure has allowed Alert Logic to process in real-time 7,500 reports, which previously took 12 hours of dedicated processing every night.' Twitter discussion here: https://twitter.com/fisherpk/status/294984960849367040 , which notes 'heavily cached SAN storage, 12 core blades and 90% get to put ops', and '3 riak nodes, 12-cores, 30k get heavy riak ops/sec. 8 nodes driving ops to that cluster'. Apparently the use of SAN storage on all nodes is historic, but certainly seems to have produced good iops numbers as an (expensive) side-effect...

    (tags: iops riak basho ops systems alert-logic storage nosql databases)

  • Turn a Raspberry Pi Into an AirPlay Receiver for Streaming Music in Your Living Room

    hooray, a viable domestic Raspberry Pi use case at last ;)

    (tags: raspberry-pi audio music mp3 home hardware)

  • Antigua Government Set to Launch “Pirate” Website To Punish United States

    oh the lulz.

    The Government of Antigua is planning to launch a website selling movies, music and software, without paying U.S. copyright holders. The Caribbean island is taking the unprecedented step because the United States refuses to lift a trade “blockade” preventing the island from offering Internet gambling services, despite several WTO decisions in Antigua’s favor. The country now hopes to recoup some of the lost income through a WTO approved “warez” site.

    (tags: us-politics antigua piracy filesharing pirate gambling wto ip blockades)

Links for 2013-01-25

  • Big Data Lambda Architecture

    An article by Nathan "Storm" Marz describing the system architecture he's been talking about for a while; Hadoop-driven batch view, Storm-driven "speed view", and a merging API

    (tags: storm systems architecture lambda-architecture design Hadoop)

  • Network graph viz of Irish politicians and organisations on Twitter

    generated by the Clique Research Cluster at UCD and DERI. 'a visualization of the unified graph representation for the users in the data, produced using Gephi and sigma.js. Users are coloured according to their community (i.e. political affiliation). The size of each node is proportional to its in-degree (i.e. number of incoming links).' sigma.js provides a really user-friendly UI to the graphs, although -- as with most current graph visualisations -- it'd be particularly nice if it was possible to 'tease out' and focus on interesting nodes, and get a pasteable URL of the result, in context. Still, the most usable graph viz I've seen in a while...

    (tags: graphs dataviz ucd research ireland twitter networks community sigma.js javascript canvas gephi)

  • 50 Watts

    Incredible blog of book covers and illustrations, much from the 1970s

    (tags: illustration art prints 1970s graphics)

  • Namazu-e: Earthquake catfish prints

    'In November 1855, the Great Ansei Earthquake struck the city of Edo (now Tokyo), claiming 7,000 lives and inflicting widespread damage. Within days, a new type of color woodblock print known as namazu-e (lit. "catfish pictures") became popular among the residents of the shaken city. These prints featured depictions of mythical giant catfish (namazu) who, according to popular legend, caused earthquakes by thrashing about in their underground lairs. In addition to providing humor and social commentary, many prints claimed to offer protection from future earthquakes.'

    (tags: japan art namazu-e ukiyo-e catfish earthquakes myth)

Links for 2013-01-24

Links for 2013-01-23

  • fail0verflow ::

    Excellent demo of how use of a block cipher with a known secret key makes an insecure MAC. "In short, CBC-MAC is a Message Authentication Code, not a strong hash function. While MACs can be built out of hash functions (e.g. HMAC), and hash functions can be built out of block ciphers like AES, not all MACs are also hash functions. CBC-MAC in particular is completely unsuitable for use as a hash function, because it only allows two parties with knowledge of a particular secret key to securely transmit messages between each other. Anyone with knowledge of that key can forge the messages in a way that keeps the MAC (“hash value”) the same. All you have to do is run the forged message through CBC-MAC as usual, then use the AES decryption operation on the original hash value to find the last intermediate state. XORing this state with the CBC-MAC for the forged message yields a new block of data which, when appended to the forged message, will cause it to have the original hash value. Because the input is taken backwards, you can either modify the first block of the file, or just run the hash function backwards until you reach the block that you want to modify. You can make a forged file pass the hash check as long as you can modify an arbitrary aligned 16-byte block in it."

    (tags: crypto hashing security cbc mac sha1 aes)

Leaving Amazon

So, after just over 3 and a half years, I'm leaving Amazon.

It's been great fun -- I can honestly say, even with my code being used by hundreds of millions of users in SpamAssassin and elsewhere, I hadn't really had to come to grips with the distributed systems problems that an Amazon-scale service involves.

During my time at Amazon, I've had the pleasure of building out a brand-new, groundbreaking innovative internal service, from scratch to its current status where it's deployed in production datacenters worldwide. It's a low-latency service, used to monitor Amazon's internal networks using massive quantities of measurement data and machine learning algorithms. It's really very nifty, and I'm quite proud of what we've achieved. I was lucky to work closely with some very smart people during this, too -- Amazon has some top-notch engineers.

But time to move on! In a week's time, I'll be joining Swrve to work on the server-side architecture of their system. Swrve have a very interesting product, extending the A/B-testing model into gaming, and a great team; and it'll be nice to get back into startup-land once again, for a welcome change. (It's not all roses working for a big company. ;) I'm looking forward to it. Who knows, I may even start blogging here again...

Pity about losing those 12 phone tool icons though!

Links for 2013-01-18

  • CES: Worse Products Through Software

    'The companies out there that know how to make decent software have been steadily eating their way into and through markets previously dominated by the hardware guys. Apple with music players, TiVo with video recording, even Microsoft with its decade-old Xbox Live service, which continues to embarrass the far weaker offerings from Sony and Nintendo. (And, yes, iOS is embarrassing all three console makers.)' See also Mat Honan's article at http://www.wired.com/gadgetlab/2012/12/internet-tv-sucks/ : 'Smart TVs are just too complicated. They have terrible user interfaces that differ wildly from device to device. It’s not always clear what content is even available — for example, after more than two years on the market, you still can’t watch Hulu Plus on your Google TV. [...] They give us too many options for apps most people will never use, and they do so at the expense of making it simple to find the shows and movies we want to watch, no matter where they are, be it online or on the air. As NPD puts it in the conclusion to its report, “OEMs and retailers need to focus less on new innovation in this space and more on simplification of the user experience and messaging if they want to drive additional, and new, behaviors on the TV.” Which is a more polite way of saying, clean up your horrible interface, Samsung.' (via Craig)

    (tags: via:craig design ui tv hardware television sony ces software)

  • Fast Packed String Matching for Short Patterns [paper, PDF]

    'Searching for all occurrences of a pattern in a text is a fundamental problem in computer science with applications in many other fields, like NLP, information retrieval and computational biology. In the last two decades a general trend has appeared trying to exploit the power of the word RAM model to speed-up the performances of classical string matching algorithms. [...] In this paper we use specialized word-size packed string matching instructions, based on the Intel streaming SIMD extensions (SSE) technology, to design very fast string matching algorithms in the case of short patterns.' Reminds me of http://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm , but taking advantage of SIMD extensions, which should make things nice and speedy, at the cost of tying it to specific hardware platforms. (via Tony Finch)

    (tags: rabin-karp algorithms strings string-matching papers via:fanf)

  • Irish EU Council Presidency proposes destruction of right to privacy | EDRI

    'For example, based on the current situation in Ireland, the idea is that all companies can do whatever they want with personal data, without fear of sanction. Sanctions, such as fines, “should be optional or at least conditional upon a prior warning or reprimand”. In other words, do what you want, the worst that can happen is that you will receive a warning.' Shame! Daragh O'Brien's comment: 'utter idiocy'. ( at https://twitter.com/daraghobrien/status/292041500873850880 )

    (tags: privacy ireland eu fail data-protection data-privacy politics)

Links for 2013-01-17

Links for 2013-01-15

  • The Neurocritic: Fisher-Price Synesthesia

    'Synesthesia [jm: sic] is a rare perceptual phenomenon in which the stimulation of one sensory modality, or exposure to one type of stimulus, leads to a sensory (or cognitive) experience in a different, non-stimulated modality. For instance, some synesthetes have colored hearing while others might taste shapes. GRAPHEME-COLOR SYNESTHESIA is the condition in which individual printed letters are perceived in a specific, constant color. This occurs involuntarily and in the absence of colored font. [...] A new study has identified 11 synesthetes whose grapheme-color mappings appear to be based on the Fisher Price plastic letter set made between 1972-1990.' (via Dave Green)

    (tags: fisher-price synesthesia synaesthesia colors colours sight neuroscience brain via-dave-green toys)

  • Extreme Performance with Java - Charlie Hunt [slides, PDF]

    presentation slides for Charlie Hunt's 2012 QCon presentation, where he discusses 'what you need to know about a modern JVM in order to be effective at writing a low latency Java application'. The talk video is at http://www.infoq.com/presentations/Extreme-Performance-Java

    (tags: low-latency charlie-hunt performance java jvm presentations qcon slides pdf)

  • Leopold’s Day Map

    'Bloomsday Map Of Dublin Based On Ulysses'. Beautiful! 'The Leopold’s Day map is a stunning marriage of typography and cartography plotting all the streets alluded to by Joyce in Ulysses which were in existence on June 16th 1904. It is accompanied by a comprehensive and beautifully typeset directory with over 400 entries noting the landmarks, business and people of Dublin that were referenced in the text. The Leopold’s Day map is an exquisitely detailed, limited edition piece. It has an impressive dimension of 1000mm x 700mm which means it can also fit into a ready made frame. Price: €125.00'

    (tags: bloomsday ulysses dublin ireland maps james-joyce art prints)

  • aaw/hyperloglog-redis - GitHub

    'This gem is a pure Ruby implementation of the HyperLogLog algorithm for estimating cardinalities of sets observed via a stream of events. A Redis instance is used for storing the counters.'

    (tags: cardinality sets redis algorithms ruby gems hyperloglog)

Links for 2013-01-14

  • Tunlr

    'uses DNS witchcraft to allow you to access US/UK-only audio and video services like Hulu.com, BBC iPlayer, etc. without using a VPN or Web proxy.' According to http://superuser.com/questions/461316/how-does-tunlr-work , it proxies the initial connection setup and geo-auth, then mangles the stream address to stream directly, not via proxy. Sounds pretty useful

    (tags: proxy network vpn dns tunnel content video audio iplayer bbc hulu streaming geo-restriction)

  • OmniTI's Experiences Adopting Chef

    A good, in-depth writeup of OmniTI's best practices with respect to build-out of multiple customer deployments, using multi-tenant Chef from a version-controlled repo. Good suggestions, and I am really looking forward to this bit: 'Chef tries to turn your system configuration into code. That means you now inherit all the woes of software engineering: making changes in a coordinated manner and ensuring that changes integrate well are now an even greater concern. In part three of this series, we’ll look at applying software quality assurance and release management practices to Chef cookbooks and roles.'

    (tags: chef deployment ops omniti systems vagrant automation)

  • Effective Scala

    Twitter's Scala style guide. 'While highly effective, Scala is also a large language, and our experiences have taught us to practice great care in its application. What are its pitfalls? Which features do we embrace, which do we eschew? When do we employ “purely functional style”, and when do we avoid it? In other words: what have we found to be an effective use of the language? This guide attempts to distill our experience into short essays, providing a set of best practices. Our use of Scala is mainly for creating high volume services that form distributed systems — and our advice is thus biased — but most of the advice herein should translate naturally to other domains.'

    (tags: twitter scala coding style)

  • Notes on Distributed Systems for Young Bloods -- Something Similar

    'Below is a list of some lessons I’ve learned as a distributed systems engineer that are worth being told to a new engineer. Some are subtle, and some are surprising, but none are controversial. This list is for the new distributed systems engineer to guide their thinking about the field they are taking on. It’s not comprehensive, but it’s a good beginning.' This is a pretty nice list, a little over-stated, but that's the format. I particularly like the following: 'Exploit data-locality'; 'Learn to estimate your capacity'; 'Metrics are the only way to get your job done'; 'Use percentiles, not averages'; 'Extract services'.

    (tags: systems distributed distcomp cap metrics coding)

Links for 2013-01-11

  • check_graphite

    'a Nagios plugin to poll Graphite'. Necessary, since service metrics are the true source of service health information

    (tags: nagios graphite service-metrics ops)

  • paperplanes. The Virtues of Monitoring, Redux

    A rather vague and touchy-feely "state of the union" post on monitoring. Good set of links at the end, though; I like the look of Sensu and Tasseo, but am still unconvinced about the value of Boundary's offering

    (tags: monitoring metrics ops)

  • What happened to KHTML after Apple announced Safari

    'There was a huge amount of excitement at the announcement that Safari would be using KHTML. At that time, it was almost a given that the OSS rendering engine was Gecko. KHTML was KDE's little engine that could. But nobody ever expected it to be picked up by other folks. One of the original parts of the KHTML-to-OS X port was KWQ (pronounced, "quack") that abstracted out the KDE API portions that were used in KHTML. Folks were pretty ecstatic at first. It seemed very validating. But that changed quickly. As Zack's post indicates, WebKit became a thing of unmergable code-drops. Even inside of the KDE community there became a split between the KHTML purists and the WebKit faction. They'd previously more or less all been KHTML developers, but post-WebKit there was something of a pragmatists vs. idealists split. Zack fell on the latter side of that (for understandable reasons: there was an existing community project, with its own set of values, and that was hijacked to a large extent by WebKit). A few years later WebKit transformed itself into a more or less valid open source project (see webkit.org), but that didn't close the rift in the KDE community between the two, at that point rather divergent, rendering engines. There's still some remaining melancholy that stems from that initial hope and what could have potentially been, but wasn't.'

    (tags: history safari open-source code-drops over-the-wall webkit khtml kde oss apple)

  • The Justin Masonic Lodge

    whoa. (via Dave O'Riordan)

    (tags: wtf masons names me texas)

  • Dan McKinley :: Whom the Gods Would Destroy, They First Give Real-time Analytics

    'It's important to divorce the concepts of operational metrics and product analytics. [..] Funny business with timeframes can coerce most A/B tests into statistical significance.' 'The truth is that there are very few product decisions that can be made in real time.' HN discussion: http://news.ycombinator.com/item?id=5032588

    (tags: real-time analytics statistics a-b-testing)

Links for 2013-01-10

  • Greyhound agrees to change consumer contracts and make refunds - National Consumer Agency

    Take note, switchers: 'The National Consumer Agency (NCA) has received a commitment from Greyhound that it will amend certain terms in its standard consumer contract, which the NCA thinks are unfair to consumers. This will be done by January 18 2013. Among the terms considered unfair by the NCA are that consumers must forfeit their credit balance and pay a €45 administration fee, if they cancel their contract with Greyhound within 12 months. If you were charged money in these circumstances, Greyhound has agreed to refund you. Greyhound will communicate these changes to all of its consumers by 18 January 2013. If you have any questions about the changes or getting a refund, you should contact Greyhound directly.'

    (tags: greyhound consumer ireland dublin rubbish)

  • Pushover: Simple Mobile Notifications for Android and iOS

    'Pushover makes it easy to send real-time notifications to your Android and iOS devices.' extremely simple HTTPS API; 'Pushover has no monthly subscription fees and users will always be able to receive unlimited messages for free. Most applications can send messages for free, subject to monthly limits.' Also supported by ifttt.com

    (tags: ios android iphone push messaging)

Links for 2013-01-09

  • Requests: HTTP for Humans

    'an elegant and simple HTTP library for Python, built for human beings.' 'Requests is an Apache2 Licensed HTTP library, written in Python, for human beings. Python’s standard urllib2 module provides most of the HTTP capabilities you need, but the API is thoroughly broken. It was built for a different time — and a different web. It requires an enormous amount of work (even method overrides) to perform the simplest of tasks. Requests takes all of the work out of Python HTTP/1.1 — making your integration with web services seamless. There’s no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP connection pooling are 100% automatic, powered by urllib3, which is embedded within Requests.'

    (tags: python http urllib libraries requests via:mikeste)

  • Surprisingly Good Evidence That Real Name Policies Fail To Improve Comments

    'Enough theorizing, there’s actually good evidence to inform the debate. For 4 years, Koreans enacted increasingly stiff real-name commenting laws, first for political websites in 2003, then for all websites receiving more than 300,000 viewers in 2007, and was finally tightened to 100,000 viewers a year later after online slander was cited in the suicide of a national figure. The policy, however, was ditched shortly after a Korean Communications Commission study found that it only decreased malicious comments by 0.9%. Korean sites were also inundated by hackers, presumably after valuable identities. Further analysis by Carnegie Mellon’s Daegon Cho and Alessandro Acquisti, found that the policy actually increased the frequency of expletives in comments for some user demographics. While the policy reduced swearing and “anti-normative” behavior at the aggregate level by as much as 30%, individual users were not dismayed. “Light users”, who posted 1 or 2 comments, were most affected by the law, but “heavy” ones (11-16+ comments) didn’t seem to mind. Given that the Commission estimates that only 13% of comments are malicious, a mere 30% reduction only seems to clean up the muddied waters of comment systems a depressingly negligent amount. The finding isn’t surprising: social science researchers have long known that participants eventually begin to ignore cameras video taping their behavior. In other words, the presence of some phantom judgmental audience doesn’t seem to make us better versions of ourselves.' (via Ronan Lyons)

    (tags: anonymity identity policy comments privacy politics new-media via:ronanlyons)

Links for 2013-01-08

  • HAT-trie: A Cache-conscious Trie-based Data Structure for Strings [PDF]

    'Tries are the fastest tree-based data structures for managing strings in-memory, but are space-intensive. The burst-trie is almost as fast but reduces space by collapsing trie-chains into buckets. This is not however, a cache-conscious approach and can lead to poor performance on current processors. In this paper, we introduce the HAT-trie, a cache-conscious trie-based data structure that is formed by carefully combining existing components. We evaluate performance using several real-world datasets and against other highperformance data structures. We show strong improvements in both time and space; in most cases approaching that of the cache-conscious hash table. Our HAT-trie is shown to be the most e?cient trie-based data structure for managing variable-length strings in-memory while maintaining sort order.' (via Tony Finch)

    (tags: via:fanf data-structures tries cache-aware trees)

  • The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases [PDF]

    'Main memory capacities have grown up to a point where most databases ?t into RAM. For main-memory database systems, index structure performance is a critical bottleneck. Traditional in-memory data structures like balanced binary search trees are not ef?cient on modern hardware, because they do not optimally utilize on-CPU caches. Hash tables, also often used for main-memory indexes, are fast but only support point queries. To overcome these shortcomings, we present ART, an adaptive radix tree (trie) for ef?cient indexing in main memory. Its lookup performance surpasses highly tuned, read-only search trees, while supporting very ef?cient insertions and deletions as well. At the same time, ART is very space ef?cient and solves the problem of excessive worst-case space consumption, which plagues most radix trees, by adaptively choosing compact and ef?cient data structures for internal nodes. Even though ART’s performance is comparable to hash tables, it maintains the data in sorted order, which enables additional operations like range scan and pre?x lookup.' (via Tony Finch)

    (tags: via:fanf data-structures trees indexing cache-aware tries)

  • Ef?cient In-Memory Indexing with Generalized Pre?x Trees [PDF]

    'Ef?cient data structures for in-memory indexing gain in importance due to (1) the exponentially increasing amount of data, (2) the growing main-memory capacity, and (3) the gap between main-memory and CPU speed. In consequence, there are high performance demands for in-memory data structures. Such index structures are used—with minor changes—as primary or secondary indices in almost every DBMS. Typically, tree-based or hash-based structures are used, while structures based on prefix-trees (tries) are neglected in this context. For tree-based and hash-based structures, the major disadvantages are inherently caused by the need for reorganization and key comparisons. In contrast, the major disadvantage of trie-based structures in terms of high memory consumption (created and accessed nodes) could be improved. In this paper, we argue for reconsidering pre?x trees as in-memory index structures and we present the generalized trie, which is a pre?x tree with variable prefix length for indexing arbitrary data types of fixed or variable length. The variable prefix length enables the adjustment of the trie height and its memory consumption. Further, we introduce concepts for reducing the number of created and accessed trie levels. This trie is order-preserving and has deterministic trie paths for keys, and hence, it does not require any dynamic reorganization or key comparisons. Finally, the generalized trie yields improvements compared to existing in-memory index structures, especially for skewed data. In conclusion, the generalized trie is applicable as general-purpose in-memory index structure in many different OLTP or hybrid (OLTP and OLAP) data management systems that require balanced read/write performance.' (via Tony Finch)

    (tags: via:fanf prefix-trees tries data-structures)

  • A Non-Blocking HashTable by Dr. Cliff Click : programming

    Proggit discovers the NonBlockingHashMap. This comment from Boundary's cscotta is particularly interesting: "The code is intricate and curiously-formatted, but NBHM is quite excellent. The majority of our analytics platform is backed by NBHMs updated rapidly in parallel. Cliff's a great, friendly, approachable guy; if you have any specific questions about the approaches or implementation, he may be happy to answer."

    (tags: data-structures algorithms non-blocking concurrency threading multicore cliff-click azul maps java boundary)

Links for 2013-01-07

Links for 2013-01-04

  • Dan McKinley :: Effective Web Experimentation as a Homo Narrans

    Good demo from Etsy's A/B testing, of how the human brain can retrofit a story onto statistically-insignificant results. To fix: 'avoid building tooling that enables fishing expeditions; limit our post-hoc rationalization by explicitly constraining it before the experiment. Whenever we test a feature on Etsy, we begin the process by identifying metrics that we believe will change if we 1) understand what is happening and 2) get the effect we desire.'

    (tags: testing etsy statistics a-b-testing fishing ulysses-contract brain experiments)

  • Lesser known crimes: do you own that copyright?

    A very interesting crime on the Irish statute books:

    Section 141 of the Copyright and Related Rights Act 2000 provides: A person who, for financial gain, makes a claim to enjoy a right under this Part [ie. copyright] which is, and which he or she knows or has reason to believe is, false, shall be guilty of an offence and shall be liable on conviction on indictment to a fine not exceeding £100,000, or to imprisonment for a term not exceeding 5 years, or both.

    (tags: ireland copyright ip false-claims law)

Links for 2013-01-02

  • Patent trolls want $1,000 for using scanners

    We are truly living in the future -- a dystopian future, but one nonetheless. A patent troll manages to obtain "gobbledigook" patents on using a scanner to scan to PDF, then attempts to shake down a bunch of small companies before eventually running into resistance, at which point it "forks" into a bunch of algorithmically-named shell companies, spammer-style, sending the same demands. Those demands in turn contain this beauty of Stockholm-syndrome-inducing prose:

    'You should know also that we have had a positive response from the business community to our licensing program. As you can imagine, most businesses, upon being informed that they are infringing someone’s patent rights, are interested in operating lawfully and taking a license promptly. Many companies have responded to this licensing program in such a manner. Their doing so has allowed us to determine that a fair price for a license negotiated in good faith and without the need for court action is a payment of $900 per employee. We trust that your organization will agree to conform your behavior to respect our patent rights by negotiating a license rather than continuing to accept the benefits of our patented technology without a license. Assuming this is the case, we are prepared to make this pricing available to you.'
    And here's an interesting bottom line:
    The best strategy for target companies? It may be to ignore the letters, at least for now. “Ignorance, surprisingly, works,” noted Prof. Chien in an e-mail exchange with Ars. Her study of startups targeted by patent trolls found that when confronted with a patent demand, 22 percent ignored it entirely. Compare that with the 35 percent that decided to fight back and 18 percent that folded. Ignoring the demand was the cheapest option ($3,000 on average) versus fighting in court, which was the most expensive ($870,000 on average). Another tactic that clearly has an effect: speaking out, even when done anonymously. It hardly seems a coincidence that the Project Paperless patents were handed off to a web of generic-sounding LLCs, with demand letters signed only by “The Licensing Team,” shortly after the “Stop Project Paperless” website went up. It suggests those behind such low-level licensing campaigns aren’t proud of their behavior. And rightly so.

    (tags: patents via:fanf networks printing printers scanning patent-trolls project-paperless adzpro gosnel faslan)

  • Keep predicting and you’ll be right eventually?

    debunking Ken Ring, the kiwi “long term weather prediction” “scientist” who gets trundled out every year around this time

    (tags: ken-ring weather predictions ireland rain)

Links for 2013-01-01

Links for 2012-12-18

  • Baklava code

    'thin software layers don’t add much value, especially when you have many such layers piled on each other. Each layer has to be pushed onto your mental stack as you dive into the code. Furthermore, the layers of phyllo dough are permeable, allowing the honey to soak through. But software abstractions are best when they don’t leak. When you pile layer on top of layer in software, the layers are bound to leak.'

    (tags: code design terminology food antipatterns)

Links for 2012-12-17

Links for 2012-12-16

Links for 2012-12-14

  • Authentication is machine learning

    This may be the most insightful writing about authentication in years:

    From my brief time at Google, my internship at Yahoo!, and conversations with other companies doing web authentication at scale, I’ve observed that as authentication systems develop they gradually merge with other abuse-fighting systems dealing with various forms of spam (email, account creation, link, etc.) and phishing. Authentication eventually loses its binary nature and becomes a fuzzy classification problem.

    This is not a new observation. It’s generally accepted for banking authentication and some researchers like Dinei Florêncio and Cormac Herley have made it for web passwords. Still, much of the security research community thinks of password authentication in a binary way [..]. Spam and phishing provide insightful examples: technical solutions (like Hashcash, DKIM signing, or EV certificates), have generally failed but in practice machine learning has greatly reduced these problems. The theory has largely held up that with enough data we can train reasonably effective classifiers to solve seemingly intractable problems.

    (via Tony Finch.)

    (tags: passwords authentication big-data machine-learning google abuse antispam dkim via:fanf)

  • Hotels to pay royalties on music - The Irish Times - Fri, Dec 14, 2012

    'The operators of hotels, guesthouses and bed & breakfasts will have to pay royalties for any copyright music played in guest bedrooms [in Ireland]. [...] Under the agreement, the music charges will be set by Phonographic Performance Ireland Ltd (PPI). [...] When it initiated its case in 2010, the PPI said it was seeking payment of about €1 per bedroom per week or about 14 cent a night.' I don't understand this. Most hotels do not play music in the rooms themselves. Does this apply if there is no music playing in the bedroom? Does it apply if the customer brings their own music? Are Dublin Bus to be next?

    (tags: hotels ppi ireland music money royalties)

  • The Mathematical Hacker

    'The trouble with the Lisp-hacker tradition is that it is overly focused on the problem of programming -- compilers, abstraction, editors, and so forth -- rather than the problems outside the programmer's cubicle. I conjecture that the Lisp-school essayists -- Raymond, Graham, and Yegge -- have not “needed mathematics” because they spend their time worrying about how to make code more abstract. This kind of thinking may lead to compact, powerful code bases, but in the language of economics, there is an opportunity cost.'

    (tags: mathematics coding maths essay hackers lisp fortran)

  • The Aggregate Magic Algorithms

    Obscure, low-level bit-twiddling tricks -- specifically:

    Absolute Value of a Float, Alignment of Pointers, Average of Integers, Bit Reversal, Comparison of Float Values, Comparison to Mask Conversion, Divide Rounding, Dual-Linked List with One Pointer Field, GPU Any, GPU SyncBlocks, Gray Code Conversion, Integer Constant Multiply, Integer Minimum or Maximum, Integer Power, Integer Selection, Is Power of 2, Leading Zero Count, Least Significant 1 Bit, Log2 of an Integer, Next Largest Power of 2, Most Significant 1 Bit, Natural Data Type Precision Conversions, Polynomials, Population Count (Ones Count), Shift-and-Add Optimization, Sign Extension, Swap Values Without a Temporary, SIMD Within A Register (SWAR) Operations, Trailing Zero Count.
    Many of these would be insane to use in anything other than the hottest of hot-spots, but good to have on file. (via Toby diPasquale)

    (tags: hot-spots optimisation bit-twiddling algorithms via:codeslinger snippets)

  • Shell Scripts Are Like Gremlins

    Shell Scripts are like Gremlins. You start out with one adorably cute shell script. You commented it and it does one thing really well. It’s easy to read, everyone can use it. It’s awesome! Then you accidentally spill some water on it, or feed it late one night and omgwtf is happening!?
    +1. I have to wean myself off the habit of automating with shell scripts where a clean, well-unit-tested piece of code would work better.

    (tags: shell-scripts scripting coding automation sysadmin devops chef deployment)

Links for 2012-12-13

Links for 2012-12-12

Links for 2012-12-11

  • Damn Fine Print

    lovely signed and editioned prints by Dublin's best illustrators at good prices. Turns out this was in connection with a show a few days ago, so the best ones are now sold out -- I love the Chris Judge Liberty Hall print -- but there's still a few good ones left. Brian Gallagher's Georgian doorway is a beauty.

    (tags: illustration dublin prints art chris-judge)

Links for 2012-12-10

  • A map of Dublin from 1686

    via Come Here To Me -- 'The whole population of the county at the time was under 60,000. Ringsend, Merrion, Monkstown, Bullock and Dalkey on the Southside and Ballybough, Clontarf, Sutton and Hoath/Howth on the Northside are marked. Taken from the book Dublin: through space and time (2001).'

    Massive tracts of land were reclaimed since then, clearly -- the North bay comes all the way in to Ballybough!

    (tags: via:chtm maps dublin ireland history)

  • Back-up Tut and other decoy spatial antiquities

    I like this idea -- a complete facsimile of King Tut's burial chamber. Bldgblog comments:

    “On the 90th anniversary of the discovery of King Tut’s tomb, an “authorized facsimile of the burial chamber” has been created, complete “with sarcophagus, sarcophagus lid and the missing fragment from the south wall.” The resulting duplicate, created with the help of high-res cameras and lasers, is “an exact facsimile of the burial chamber,” one that is now “being sent to Cairo by The Ministry of Tourism of Egypt.” [...]

    'Interestingly, we read that this was "done under a licence to the University of Basel," which implies the very real possibility that unlicensed duplicate rooms might also someday be produced—that is, pirate interiors ripped or printed from the original data set, like building-scale "physibles," a kind of infringed architecture of object torrents taking shape as inhabitable rooms.' [...]

    'In their book Anachronic Renaissance, for instance, Alexander Nagel and Christopher Wood write of what they call a long "chain of effective substitutions" or "effective surrogates for lost originals" that nonetheless reached the value and status of an icon in medieval Europe. "[O]ne might know that [these objects] were fabricated in the present or in the recent past," Nagel and Wood write, "but at the same time value them and use them as if they were very old things." They call this seeing in "substitutional terms".'

    (tags: via:new-aesthetic bldgblog archaeology facsimiles copying king-tut egypt history 3d-printing physibles)

Links for 2012-12-06

  • low-gc-membuffers

    "This project aims at creating a simple efficient building block for "Big Data" libraries, applications and frameworks; thing that can be used as an in-memory, bounded queue with opaque values (sequence of JDK primitive values): insertions at tail, removal from head, single entry peeks), and that has minimal garbage collection overhead. Insertions and removals are as individual entries, which are sub-sequences of the full buffer. GC overhead minimization is achieved by use of direct ByteBuffers (memory allocated outside of GC-prone heap); and bounded nature by only supporting storage of simple primitive value (byte, `long') sequences where size is explicitly known. Conceptually memory buffers are just simple circular buffers (ring buffers) that hold a sequence of primitive values, bit like arrays, but in a way that allows dynamic automatic resizings of the underlying storage. Library supports efficient reusing and sharing of underlying segments for sets of buffers, although for many use cases a single buffer suffices."

    (tags: gc java jvm bytebuffer)

Links for 2012-12-03

  • Scoop! The inside story of the news website that saved the BBC

    The Register's take on the early days of www.bbc.co.uk. Lots of politics, unsurprisingly.

    Fifteen years ago this month the BBC launched its News Online website. Developed internally with a skeleton team, the web service rapidly became the face of the BBC on the internet, and its biggest success story – winning four successive BAFTA awards. Remarkably, it operated at a third of the cost of rival commercial online news operations – unheard of in public-sector IT projects. Devised before there were really any content management systems, the technical architecture became a template for all major news systems, and one that’s still in use today. The team endured some furious internal politicking and sabotage to survive.

    (tags: bbc news history web uk the-register)

  • Irish mobile phone companies: still spammy

    'Pro tip: if you're going to spam, try not to spam the DPC's Director of Investigations.' -- lolz

    (tags: funny oh-dear three hutchinson ireland mobile spam dpc law)

  • Hamming weight

    Wikipedia page.

    The Hamming weight of a string is the number of symbols that are different from the zero-symbol of the alphabet used. It is thus equivalent to the Hamming distance from the all-zero string of the same length. For the most typical case, a string of bits, this is the number of 1's in the string. In this binary case, it is also called the population count, popcount or sideways sum. It is the digit sum of the binary representation of a given number.
    Contains an efficient algorithm to compute this for a given long value, by 'adding counts in a tree pattern.'

    (tags: algorithms hamming-distance bits hamming weight binary)

  • Efficient concurrent long set and map

    An ordered set and map data structure and algorithm for long keys and values, supporting concurrent reads by multiple threads and updates by a single thread.
    Some good stuff in the linked blog posts about Clojure's PersistentHashMap and PersistentVector data structures, too.

    (tags: arrays java tries data-structures persistent clojure concurrent set map)

Links for 2012-11-28

  • The Rise And Fall Of The Obscure Music Download Blog: A Roundtable

    One internet music "sharing" trend largely unnoticed by the powers that sue was the niche explosion of obscure music download blogs, lasting roughly from 2004-2008. Using free filesharing services like Rapidshare and Mediafire, and setting up sites on Blogspot and similar providers, these internet hubs stayed hidden in the open by catering to more discerning kleptomaniac audiophiles. Their specialty: parceling out ripped recordings — many of them copyrighted — from the more collectible and unknown corners of music's oddball, anomalous past. While the RIAA was suing dead people for downloading Michael Jackson songs (and Madonna was using Soulseek to curse at teenagers), obscure music blogs racked up millions of hits, ripping and sharing 80s Japanese noise, 70s German prog, 60s San Francisco hippie freak-outs, 50s John Cage bootlegs, 30s gramophone oddities, Norwegian death metal, cold wave cassettes made by kids in their garages, and the like. It was the mid aughts, and the advent of digitization had inadvertently put the value of the music industry's "Top Ten" commercial product in peril. That same process transformed the value of old, collectible music as well. If one smart record collector was able to share the entire contents—music, artwork and all—of one vinyl LP on his blog, for free, and upload another item from his 1,000+ collection the next day, for weeks and years, and others like him did the same, competing with each other about who could upload the rarest and most sought-after record, and anyone who downloaded it could then share it again and again… Suddenly everyone in the world had the coolest record collection in the world; and soon, nobody in the world had the coolest record collection in the world. Obscure music download blogs weren't shut down like Napster or Megaupload were (though they were indirectly affected by that crackdown); they just, mysteriously, seemed to burn out on their own sometime around 2008. While some are still around, their number represents only a fraction of that mid-00s heyday. Was this because obscure music blogs had overshared the underexposed and blown the whole thing into oblivion? Is the fact that a guy in Japan will no longer pay $500 on eBay for a first pressing of the No New York compilation because he can find it for free on the internet good for the world? Was the commodity-lost but the knowledge-gained an even exchange? To explore what was going on then, I assembled this email roundtable discussion between creators of some of the most popular blogs of the time: Eric Lumbleau of Mutant Sounds, Liam Elms of 8 Days in April, Frank of Systems of Romance and Brian Turner, Music Director of WFMU.
    (via Loreana Rushe)

    (tags: music mp3 blogs obscure via-loreana-rushe history 2000s)

Links for 2012-11-26

  • Conor’s 2012 Raspberry Pi Christmas Gift Guide

    Ah, memories! Wish my kiddies were old enough for one of these...

    I really think this Christmas could be a lovely replay of 1982 for a lot of people, like me, who got their first home computer that year. You could have so much fun on Christmas Day messing with the RPi rather than falling asleep in front of the fire. Just don’t fight over who gets the telly when Doctor Who is on. Whilst the bare-bones nature of the Raspberry Pi is wonderful, it is unusable out of the box unless you are a house with smartphones, digital cameras and existing PCs already that you can raid for components. What you want to avoid is a repeat of me that December in 1982 with my brand-new 16K ZX Spectrum which didn’t work on our Nordmende TV until two weeks later when the RTV Rentals guy came and replaced the TV Tuner. Two weeks typing Beep 1,2 to make sure it wasn’t broken.

    (tags: raspberry-pi gifts computers kids hacking education gadgets christmas)

  • Nintendo's work on Miiverse Penis Drawing Detection

    'The unique feature of the Miiverse is being able to send drawings, not just text. But since the advent of the internet, there have always been those who have used it for unsavory purposes.'
    'Motoyama: we never had such a problem with our Hatena services. But, when we brought Hatena Flipnote to the West, we were caught off-guard by the amount of penises drawn by people.
    Kurisu: So the team and I had to come up with a way to create a system that auto-detects those types of pictures. [...]
    'Motoyama: After a week, we made very good progress on the system. Then we tested the system with Nintendo of America and told them to start drawing. It went horribly.
    Kurisu: What we learned is that people enjoy drawing penises. Multiple ones. (laughs) The system was not prepared to handle that.'
    See also the "time-to-penis" metric in MMO games: http://www.joystiq.com/2009/03/24/overheard-gdc09-ttp-time-to-penis/

    (tags: nintendo image-detection ttp metrics games gaming mmo miiverse drawing)

  • The trench talk that is now entrenched in the English language

    'From cushy to crummy and blind spot to binge drink, a new study reveals the impact the First World War had on the English language and the words it introduced.' Incredible comments, too...

    (tags: english etymology history wwi great-war via:sinead-gleeson words language)

  • Special encoding of small aggregate data types in Redis

    Nice performance trick in Redis on hash storage: 'In theory in order to guarantee that we perform lookups in constant time (also known as O(1) in big O notation) there is the need to use a data structure with a constant time complexity in the average case, like an hash table. But many times hashes contain just a few fields. When hashes are small we can instead just encode them in an O(N) data structure, like a linear array with length-prefixed key value pairs. Since we do this only when N is small, the amortized time for HGET and HSET commands is still O(1): the hash will be converted into a real hash table as soon as the number of elements it contains will grow too much (you can configure the limit in redis.conf). This does not work well just from the point of view of time complexity, but also from the point of view of constant times, since a linear array of key value pairs happens to play very well with the CPU cache (it has a better cache locality than an hash table).'

    (tags: memory redis performance big-o hash-tables storage coding cache arrays)

  • HTTP Error 403: The service you requested is restricted - Vodafone Community

    Looks like Vodafone Ireland are failing to scale their censorware; clients on their network reporting "HTTP Error 403: The service you requested is restricted". According to a third-party site, this error is produced by the censorship software they use when it's insufficiently scaled for demand:

    "When you try to use HTTP Vodafone route a request to their authentication server to see if your account is allow to connect to the site. By default they block a list of adult/premium web sites (this is service you have switched on or off with your account). The problem is at busy times this validation service is overloaded and so their systems get no response as to whether the site is allowed, so assume the site you asked for is restricted and gives the 403 error. Once this happens you seem to have to make new 3G data connection (reset the phone, move cell or let the connection time out) to get it to try again."
    Sample: http://pic.twitter.com/N1lAwBjW

    (tags: scaling ireland vodafone fail censorware scalability customer-service)

Links for 2012-11-24

Links for 2012-11-23

  • IBM insider: How I caught my wife while bug-hunting on OS/2 • The Register

    Wow, working for IBM in the 80's was truly shitty.

    'IBM HR came up with a plan that summed up the department's view of tech staff: a dinner dance. In Southsea. For our non-British readers this is not a glamorous location. As a scumbag contractor I wasn’t invited, but since I was dating one of the seven women on the project, I went anyway and was impressed by the way IBM had tried so very hard to make the inside of a municipal leisure centre look like Hawaii. This is so crap that the integrity checks I’ve installed to watch myself for incipient senility keep flagging it as a false memory. The only way I can force myself to believe the idea that the richest corporation on the planet behaved that way is that the girl who took me is now a reassuringly expensive lawyer who was kind enough to marry me and so we have photographic evidence. (I wish to make it clear that I’m not saying IBM had the worst HR of any firm in the world, merely that my 28 years in technology and banking have never exposed a worse one to me.)'
    And indeed, so were MS:
    'We, on the other hand, were regarded as hopelessly bureaucratic. After Microsoft lost the source code for the actual build of OS/2 we shipped, I reported a bug triggered when you double-clicked on Chkdsk twice: the program would fire up twice and both would try to fix the disk at the same time, causing corruption. I noted that this “may not be consistent with the user's goals as he sees them at this time”. This was labelled a user error, and some guy called Ballmer questioned why I had this “obsession” with perfect code.'
    (thanks, Conor!)

    (tags: via:conor-delaney os2 ibm microsoft work 1980s pc uk steve-ballmer)

Links for 2012-11-21

Links for 2012-11-19

  • drip

    Unlike other tools intended to solve the JVM startup problem (e.g. Nailgun, Cake), Drip does not use a persistent JVM. There are many pitfalls to using a persistent JVM, which we discovered while working on the Cake build tool for Clojure. The main problem is that the state of the persistent JVM gets dirty over time, producing strange errors and requiring liberal use of cake kill whenever any error is encountered, just in case dirty state is the cause. Instead of going down this road, Drip uses a different strategy. It keeps a fresh JVM spun up in reserve with the correct classpath and other JVM options so you can quickly connect and use it when needed, then throw it away. Drip hashes the JVM options and stores information about how to connect to the JVM in a directory with the hash value as its name.
    (via HN)

    (tags: java command-line tools startup speed)

Links for 2012-11-14

Links for 2012-11-08

Links for 2012-10-31

  • The Future of Markdown

    'I'd really prefer not to fork the language; I'd much rather collectively help carry the banner of Markdown forward into the future, with the blessing of John Gruber and in collaboration with other popular sites that use Markdown. So... who's with me?'

    (tags: markdown markup html web standards)

Links for 2012-10-28

  • SipHash: a fast short-input PRF

    a family of pseudorandom functions optimized for short inputs. Target applications include network traffic authentication and hash-table lookups protected against hash-flooding denials-of-service attacks. SipHash is simpler than MACs based on universal hashing, and faster on short inputs. Compared to dedicated designs for hash-table lookup, SipHash has well-defined security goals and competitive performance. For example, SipHash processes a 16-byte input with a fresh key in 140 cycles on an AMD FX-8150 processor, which is much faster than state-of-the-art MACs.

    (tags: hashing siphash djb security algorithms)

Links for 2012-10-27

Links for 2012-10-26

Flood of posts

Sorry for the flood of recent posts -- turns out my cron job to gateway from Pinboard had stopped running due to cron fail. (I should really set up some monitoring someday ;)

Links for 2012-10-25

Links for 2012-10-24

Links for 2012-10-12

  • ElementCostInDataStructures

    "The cost per element in major data structures offered by Java and Guava (r11)]." A very useful reference!

    Ever wondered what's the cost of adding each entry to a HashMap? Or one new element in a TreeSet? Here are the answers: the cost per-entry for each well-known structure in Java and Guava. You can use this to estimate the cost of a structure, like this: if the per-entry cost of a structure is 32 bytes, and your structure contains 1024 elements, the structure's footprint will be around 32 kilobytes. Note that non-tree mutable structures are amortized (adding an element might trigger a resize, and be expensive, otherwise it would be cheap), making the measurement of the "average per element cost" measurement hard, but you can expect that the real answers are close to what is reported below.

    (tags: java coding guava reference memory cost performance data-structures)

Links for 2012-10-11

Links for 2012-10-08

  • Trident: a high-level abstraction for realtime computation

    built on Storm:

    Trident is a new high-level abstraction for doing realtime computing on top of Twitter Storm, available in Storm 0.8.0. It allows you to seamlessly mix high throughput (millions of messages per second), stateful stream processing with low latency distributed querying. If you're familiar with high level batch processing tools like Pig or Cascading, the concepts of Trident will be very familiar - Trident has joins, aggregations, grouping, functions, and filters. In addition to these, Trident adds primitives for doing stateful, incremental processing on top of any database or persistence store. Trident has consistent, exactly-once semantics, so it is easy to reason about Trident topologies.

    (tags: distributed realtime twitter storm trident distcomp stream-processing low-latency nathan-marz)

Links for 2012-10-05

  • Cliff Click's 2008 JavaOne talk about the NonBlockingHashTable

    I'm a bit late to this data structure -- highly scalable, nearly lock-free, benchmarks very well (except with the G1 GC): http://edwwang.com/blog/2012/02/10/concurrent-hashmap-benchmark/ . Having said that, it doesn't cope well with frequently-changing unique keys: http://sourceforge.net/tracker/?func=detail&aid=3563980&group_id=194172&atid=948362 . More background at: http://www.azulsystems.com/blog/cliff/2007-03-26-non-blocking-hashtable and http://www.azulsystems.com/blog/cliff/2007-04-01-non-blocking-hashtable-part-2 This was used in Cassandra for a while, although I think the above bug may have caused its removal?

    (tags: nonblockinghashtable data-structures hashmap concurrency scaling java jvm)

Links for 2012-10-01

  • Ingenious Dublin

    Excellent stuff, by Mary Mulvihill:

    Where in Dublin can you see a Victorian diving bell? What about the skeleton of Tommy, the prince’s elephant? The site of the world’s first earthquake experiment? Or the world’s sports pirate radio broadcast? Our new e-book Ingenious Dublin has all these fascinating stories and more. It is packed with information, places to visit, and lots of illustrations, and covers the city and county, from Skerries windmills to Ballybetagh’s fossil deer.'
    EUR 4.99 for the Kindle e-book. I'll buy that!

    (tags: kindle reading books mary-mulvihill science facts dublin ireland history)

Links for 2012-09-20

  • Facebook monitoring cache with Claspin

    reasonably nice heatmap viz for large-scale instance monitoring. I like the "snake" pattern for racks

    (tags: facebook monitoring dataviz heatmaps claspin cache memcached ui)

  • The Oireachtas great leap backwards: it’s not just about KildareStreet.com

    'it appears that the Oireachtas has decided to save time and money by eliminating entirely the stage in their workflow that parsed raw debates records into XML. This stage has been replaced with a (presumably automated) process that generates web pages from Lotus Notes. It’s easy to see how somebody with little appreciation of the value of providing open public data in a structured format could have viewed this stage as a costly luxury, and its elimination as a simple and obvious “efficiency”. It’s particularly disappointing, however, that nobody in the decision-making process seemed to be aware of how much of a backward step this “efficiency” would represent. As John Handelaar of KildareStreet.com told The Irish Times, “We are replacing 2012 with 1995 overnight”.'

    (tags: kildare-street open-data opengov ireland data oireachtas)

Links for 2012-09-18

  • PCRE Performance Project

    Excellent stuff. Using "sljit", a stackless platform-independent JIT compiler, this compiles Perl-compatible regular expressions to machine code on ARM, x86, MIPS and PowerPC platforms, resulting in 'similar matching speed to DFA based engines (like re2) on common patterns' with Perl compatibility. 'This work has been released as part of PCRE 8.20 and above. Now (PCRE 8.31), nearly all PCRE features are supported including UTF-8/16 and partial matching.'

    (tags: pcre regexps regex performance optimization jit compilation dfa re2 via:akohli)

Links for 2012-09-15

  • Spanner: Google's Globally-Distributed Database [PDF]

    Abstract: Spanner is Google's scalable, multi-version, globally-distributed, and synchronously-replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This paper describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: non-blocking reads in the past, lock-free read-only transactions, and atomic schema changes, across all of Spanner. To appear in: OSDI'12: Tenth Symposium on Operating System Design and Implementation, Hollywood, CA, October, 2012.

    (tags: database distributed google papers toread pdf scalability distcomp transactions cap consistency)

  • NCBI ROFL: Probably the most horrifying scientific lecture ever

    In 1983, at the Urodynamics Society meeting in Las Vegas, Professor G.S. Brindley first announced to the world his experiments on self-injection with papaverine to induce a penile erection. This was the first time that an effective medical therapy for erectile dysfunction (ED) was described, and was a historic development in the management of ED. The way in which this information was first reported was completely unique and memorable, and provides an interesting context for the development of therapies for ED. I was present at this extraordinary lecture, and the details are worth sharing. Although this lecture was given more than 20 years ago, the details have remained fresh in my mind, for reasons which will become obvious.
    Go on, guess.

    (tags: medicine science funny erectile-dysfunction omgwtf conferences)

  • Yuri Suzuki: London Underground circuit map radio

    Japanese designer yuri suzuki has sent designboom images of his 'london underground circuit maps' project developed as part of the designers in residence program at the london design museum, on show until january 13th, 2013. responding to 'thrift' as a theme, suzuki's work explores communication systems in consumer electronics. a printed circuit board (PCB) is used as a precedent for developing a electrical circuit influenced by harry beck's iconic london underground map diagrams. by strategically positioning certain speaker, resistor and battery components throughout the map, users can visually understand the complex networks associated with electricity and how power is generated within a radio.
    Beautifully done (via jwz.)

    (tags: electronics london art design underground travel yuri-suzuki circuitry)

Links for 2012-09-14

  • The meanings and origins of ‘feck’

    It's a "minced oath", apparently:

    'Feck is a popular minced oath in Ireland, occupying ground between the ultra-mild expletive flip and the often taboo (but also popular) fuck. It’s strongly associated with Irish speech, and serves a broad range of linguistic purposes that I’ll address briefly in this post.'
    It doesn't derive from the obvious source:
    So where does the curse, the not-quite-rude word, come from? It’s commonly assumed to stem from its coarser cousin fuck, the simple vowel change undercutting its power and making it more suitable for public expression. But Julian Walker, an educator at the British Library, offers a more roundabout route: “In faith” becomes the improbable “in faith’s kin” shortened to “i’fackins”, which gradually shrinks to “fac” and “feck”.

    (tags: feck swearing ireland irish hiberno-english father-ted etymology cursing)

Links for 2012-09-11

  • Chip and Skim: cloning EMV cards with the pre-play attack

    Worrying stuff from the LBT team. ATM RNGs are predictable, and can be spoofed by intermediate parties:

    'So far we have performed more than 1000 transactions at more than 20 ATMs and a number of POS terminals, and are collating a data set for statistical analysis. We have developed a passive transaction logger which can be integrated into the substrate of a real bank card, which records up to 100 unpredictable numbers in its EEPROM. Our analysis is ongoing but so far we have established non-uniformity of unpredictable numbers in half of the ATMs we have looked at. First, there is an easier attack than predicting the RNG. Since the unpredictable number is generated by the terminal but the relying party is the issuing bank, any intermediate party – from POS terminal software, to payment switches, or a middleman on the phone line – can intercept and superimpose their own choice of UN. Attacks such as those of Nohl and Roth, and MWR Labs show that POS terminals can be remotely hacked simply by inserting a sabotaged smartcard into the terminal.

    (tags: atm banking security attack prngs spoofing banks chip-and-pin emv smartcards)

Links for 2012-09-07

  • New UK Conservative Party Co-Chair Grant Shapps Founded Google Spamming Business

    Wow. Scummy stuff.

    Shapps founded HowToCorp in 2005, a site that, among other products, pitches the TrafficPaymaster software. The software apparently “scrapes” or copies content from all over the web, from RSS feeds to even sets of search results, to automatically generate pages that probably make little sense to the human visitor but which may pick up some traffic from Google and, in turn, generate clicks on Google AdSense or other ads.
    Google are not happy: On Sunday sources at Google confirmed TrafficPaymaster was in “violation” of its policies and that its search engine’s algorithms had been equipped to drop the ranking of any webpages created using HowToCorp’s software. Officially, Google said it does not comment on individual cases. “We have strict policies in place to ensure web users are presented with useful ads when browsing sites in our content network and to ensure our advertisers reach an engaged audience. If we are alerted to a site which breaks our AdSense policies, we will review it and can remove it from our network.”

    (tags: grant-shapps uk politics tories spammers spamming spinning adsense google spam trafficpaymaster)

  • NunatsiaqOnline 2012-09-06: The First Non-Inuk on the Moon

    No, I am not a conspiracy theorist who believes that Armstrong’s moon landing was faked at some mysterious location in the Nevada desert. Armstrong reached the moon. But his accolades are undeserved because he was not first. All right-thinking Nunavummiut know this, because we know that Inuit regularly visited the moon for centuries. David Iqaqrialu said as much in a heated exchange in the Nunavut legislature on May 6, 2002. We know it was heated because he prefaced his remarks by telling the Speaker, “I am starting to get hot under the collar...” He then went on to say, as reported in Hansard, “...it is not really related to the question that I posed, but this is background material. Inuit had reached the moon quite some time ago during the shamanistic ages, prior to the Americans reaching it with their machines and finding out it wasn’t what they thought it was.”
    (via Dave Walsh)

    (tags: inuit via:daev shaman nunavut neil-armstrong moon space exploration)

Links for 2012-09-06

  • Dublin City contact numbers for potholes, dangerous drivers, illegal parking etc.

    I'm sure these are about as useful as a chocolate teapot, but what the hey

    (tags: dublin parking cycling roads safety potholes reporting)

  • Knots on Mars! (and a few thoughts on NASA's knots)

    amazing post from the International Guild of Knot Tyers Forum:

    While a few of the folks here are no doubt aware, it might surprise most people to learn that knots tied in cords and thin ribbons have probably traveled on every interplanetary mission ever flown. If human civilization ends tomorrow, interplanetary landers, orbiters, and deep space probes will preserve evidence of both the oldest and newest of human technologies for millions of years. Knots are still used in this high-tech arena because cable lacing has long been the preferred cable management technique in aerospace applications. That it remains so to this day is a testament to the effectiveness of properly chosen knots tied by skilled craftspeople. It also no doubt has a bit to do with the conservative nature of aerospace design and engineering practices. Proven technologies are rarely cast aside unless they no longer fulfill requirements or there is something substantially better available. While the knots used for cable lacing in general can be quite varied -- in some cases even a bit idiosyncratic -- NASA has in-house standards for the knots and methods used on their spacecraft. These are specified in NASA Technical Standard NASA-STD-8739.4 -- Crimping, Interconnecting Cables, Harnesses, and Wiring. As far as I've been able to identify in the rover images below, all of the lacings shown are one of two of the several patterns specified in the standard. The above illustration shows the so-called "Spot Tie". It is a clove hitch topped by two half-knots in the form of a reef (square) knot. In addition to its pure binding role, it is also used to affix cable bundles to tie-down point.
    Some amazing scholarship on knot technology in this post -- lots to learn! (via Tony Finch, iirc)

    (tags: via:fanf mars nasa science knots tying rope cables cabling geek aerospace standards)

Links for 2012-09-05

Links for 2012-09-01

  • Striped (Guava: Google Core Libraries for Java 13.0.1 API)

    Nice piece of Guava concurrency infrastructure in the latest release:

    A striped Lock/Semaphore/ReadWriteLock. This offers the underlying lock striping similar to that of ConcurrentHashMap in a reusable form, and extends it for semaphores and read-write locks. Conceptually, lock striping is the technique of dividing a lock into many stripes, increasing the granularity of a single lock and allowing independent operations to lock different stripes and proceed concurrently, instead of creating contention for a single lock.
    The guarantee provided by this class is that equal keys lead to the same lock (or semaphore), i.e. if (key1.equals(key2)) then striped.get(key1) == striped.get(key2) (assuming Object.hashCode() is correctly implemented for the keys). Note that if key1 is not equal to key2, it is not guaranteed that striped.get(key1) != striped.get(key2); the elements might nevertheless be mapped to the same lock. The lower the number of stripes, the higher the probability of this happening.
    Prior to this class, one might be tempted to use Map, where K represents the task. This maximizes concurrency by having each unique key mapped to a unique lock, but also maximizes memory footprint. On the other extreme, one could use a single lock for all tasks, which minimizes memory footprint but also minimizes concurrency. Instead of choosing either of these extremes, Striped allows the user to trade between required concurrency and memory footprint. For example, if a set of tasks are CPU-bound, one could easily create a very compact Striped of availableProcessors() * 4 stripes, instead of possibly thousands of locks which could be created in a Map structure.

    (tags: locking concurrency java guava semaphores coding via:twitter)

  • HotSpot JVM garbage collection options cheat sheet (v2)

    'In this article I have collected a list of options related to GC tuning in JVM. This is not a comprehensive list, I have only collected options which I use in practice (or at least understand why I may want to use them). Compared to previous version a few useful diagnostic options was added. Additionally section for G1 specific options was introduced.'

    (tags: hotspot jvm coding gc java performance)

  • Martin "Disruptor" Thompson's Single Writer Principle

    Contains these millisecond estimates for highly-contended inter-thread signalling when incrementing a 64-bit counter in java:

    One Thread300
    One Thread with Memory Barrier4,700
    One Thread with CAS5,700
    Two Threads with CAS18,000
    One Thread with Lock10,000
    Two Threads with Lock118,000
    Undoubtedly not realistic for a lot of cases, but it's still useful for order-of-magnitude estimates of locking cost. Bottom line: don't lock if you can avoid it, even with 'volatile' or AtomicFoo types.

    (tags: java jvm performance coding concurrency threading cas locking)

  • Locks & Condition Variables - Latency Impact

    Firstly, this is 3 orders of magnitude greater latency than what I illustrated in the previous article using just memory barriers to signal between threads. This cost comes about because the kernel needs to get involved to arbitrate between the threads for the lock, and then manage the scheduling for the threads to awaken when the condition is signalled. The one-way latency to signal a change is pretty much the same as what is considered current state of the art for network hops between nodes via a switch. It is possible to get ~1µs latency with InfiniBand and less than 5µs with 10GigE and user-space IP stacks. Secondly, the impact is clear when letting the OS choose what CPUs the threads get scheduled on rather than pinning them manually. I've observed this same issue across many use cases whereby Linux, in default configuration for its scheduler, will greatly impact the performance of a low-latency system by scheduling threads on different cores resulting in cache pollution. Windows by default seems to make a better job of this.

    (tags: locking concurrency java jvm signalling locks linux threading)

  • Evolution of SoundCloud's Architecture

    nice write-up. nginx, Rails, RabbitMQ, MySQL, Cassandra, Elastic Search, HAProxy

    (tags: soundcloud webdev architecture scaling scalability)

Links for 2012-08-31

  • What Happens to Stolen Bicycles?

    'Bike thievery is essentially a risk-free crime. If you were a criminal, that might just strike your fancy. If Goldman Sachs didn’t have more profitable market inefficencies to exploit, they might be out there arbitraging stolen bikes.' Good summary, and I suspect a lot applies in Dublin too -- flea markets and vanloads of stolen bikes being sent to other cities for reselling.

    (tags: via:hn economics crime bikes theft goldman-sachs)

Links for 2012-08-19

  • 1024cores

    Some good algorithms and notes by Dmitry Vyukov on 'lockfree, waitfree, obstruction-free synchronization algorithms and data structures, scalability-oriented architecture, multicore/multiprocessor design patterns, high-performance computing, threading technologies and libraries (OpenMP, TBB, PPL), message-passing systems and related topics.' The catalog of lock-free queue implementations is particularly extensive (via Sergio Bossa)

    (tags: algorithms concurrency articles dmitry-vyukov go c++ coding via:sergio-bossa)

Links for 2012-08-12

  • Sting op exposes Andrews over FF Twitter rants - National News - Independent.ie

    Incredible sting op uncovers the real identity of an anonymous Twitter account posting Fianna Fail gossip:

    He discovered that each tweet had originated from the Twitter web interface, meaning it had been posted from a web browser on a computer, rather than sent from a mobile phone or other portable device. Based on the times that tweets were posted by @brianformerff, he deduced that the Tweets were being posted while the user was on a work break, using a company computer or an internet cafe. The next stage in the hunt was uncovering the IP address of the computer where the tweets originated. "I created my own web redirection service which would allow me to take links to articles of interest, for example in the Irish Times, and then transform them into short links that would pass through a redirection server I controlled. In this way, if someone read the tweets and clicked on the link, I would be able to establish the IP address of the computer that was being used at the time." The author created a new twitter account, @john_cant _type, based on the persona of a politics student based in Kildare. He started sending several messages and tweets to "brian" and other users to establish himself as a genuine twitter user. Eventually @brianformerff responded to a post from @john_cant_type to a link to an article at Silicon Republic. The bait was taken and the IP address was tracked to an internet cafe, Amazon cyber/net Rathmines which offers web access "at the very reasonable rate of €1/hour". What happened next descended almost into the realms of farce. The author waited for tweets from @brianformerff and then rushed to the internet cafe to try and catch Chris Andrews. Eventually the plan worked and the author used photography and video surveillance, even taking covert photographs of tweets as they were being posted in the internet cafe by Chris Andrews and analysing if the word count and structure matched the tweets appearing in cyberspace under the tag @brianformerff.

    (tags: chris-andrews twitter surveillance privacy anonymity politics ireland fianna-fail)

  • Rootbeer

    The Rootbeer GPU Compiler makes it easy to use Graphics Processing Units from within Java. Rootbeer is more advanced that CUDA or OpenCL Java Language Bindings. With bindings the developer must serialize complex graphs of objects into arrays of primitive types. With Rootbeer this is done automatically. Also with language bindings, the developer must write the GPU kernel in CUDA or OpenCL. With Rootbeer a static analysis of the Java Bytecode is done (using Soot) and CUDA code is automatically generated. [...] All of the familar Java code you have been writing can be executed on the GPU.

    (tags: gpu java coding cuda compiler)

Links for 2012-08-09

  • "In Which The Irish Invent Twitter in 1984"

    A fascinating story of 1980s tech history -- 'The initial Text Tell PX-1000 was developed by Text Lite Ltd. in Ireland in the early 1980s, probably in 1983. It allowed people to create simple text messages and send them by phone anywhere in the world. It had a built-in memory that could hold up to 7400 characters. The firmware inside the PX-1000 was written by West-Tec Ltd. in Ireland, who were probably also the hardware manufacturers. [... A later version was] the Philips version of the PX-1000Cr, as it features advanced cryptographic capabilities. It was intended for small companies and journalists, and was also used by the Dutch Government. [...] it played an important role in the fight for Nelson Mandela's release from prison.'

    (tags: nelson-mandela ireland history crypto texting text-lite 1980s philips)

Links for 2012-08-06

  • French illegal downloads agency Hadopi may be abolished

    According to recent statistics, Hadopi has sent 1 million warning emails, 99,000 "strike two" letters and identified 314 people for referral to the courts for possible disconnection. No one has actually been disconnected. According to Aurelie Filipetti, culture minister in the new French Government, Hadopi has been nothing but a waste of money. "€12 million per year and 60 officials; that's an expensive way to send 1 million emails," Filipetti said. "Hadopi has not fulfilled its mission of developing legal downloads. I prefer to reduce the funding of things that have not been proven to be useful."
    0 disconnections. Not one.

    (tags: hadopi privacy law three-strikes france money)

  • NASA's Mars Rover Crashed Into a DMCA Takedown

    An hour or so after Curiosity’s 1.31 a.m. EST landing in Gale Crater, I noticed that the space agency’s main YouTube channel had posted a 13-minute excerpt of the stream. Its title was in an uncharacteristic but completely justified all caps: “NASA LANDS CAR-SIZE ROVER BESIDE MARTIAN MOUNTAIN.” When I returned to the page ten minutes later, [...] the video was gone, replaced with an alien message: “This video contains content from Scripps Local News, who has blocked it on copyright grounds. Sorry about that.” That is to say, a NASA-made public domain video posted on NASA’s official YouTube channel, documenting the landing of a $2.5 billion Mars rover mission paid for with public taxpayer money, was blocked by YouTube because of a copyright claim by a private news service.

    (tags: dmca google fail nasa copyright false-positives scripps youtube video mars)

Links for 2012-08-03

  • High-frequency trading: The fast and the furious | The Economist

    "The NYMEX panel found that Infinium had finished writing the algorithm only the day before it introduced it to the market, and had tested it for only a couple of hours in a simulated trading environment to see how it would perform. The firm's normal testing processes take six to eight weeks. When the algorithm started its frenetic buying spree, the measures designed to shut it down automatically did not work. One was supposed to turn the system off if a maximum order size was breached, but because the machine was placing lots of small orders rather than a single big one the shutdown was not triggered. The other measure was meant to prevent Infinium from selling or buying more than a certain number of contracts, but because of an error in the way the rogue algorithm had been written, this, too, failed to spot a problem."

    (tags: hft automation trading markets stocks nymex bugs software)

Links for 2012-07-30

  • Lessons in website security anti-patterns by Tesco : Troy Hunt, an Aussie software architect working on a .Net security product called ASafaWeb, does a great job extensively deconstructing Tesco's appalling website security on their shopping site. In the process, he gets this wonderful tweet from their customer-care account: "@troyhunt Let me assure you that all customer passwords are stored securely & in line with industry standards across online retailers." As he says, this is a clear demonstration that Tesco is in the first stage of the four stages of competence -- "unconscious incompetence": "The individual does not understand or know how to do something and does not necessarily recognise the deficit." ( http://en.wikipedia.org/wiki/Four_stages_of_competence )
    (tags: tesco security passwords web http https ssl funny dot-net shopping uk customer-care)

  • Accident: Ryanair B738 and American B763 at Barcelona on Apr 14th 2011 : An accident report concerning a Ryanair flight.

    An American Airlines Boeing 767-300, registration N366AA performing flight AA-67 from Barcelona,SP (Spain) to New York JFK, NY (USA), had taxied to the holding point runway 25L and was holding short of the runway. A Ryanair Boeing 737-800, registration EI-EKB performing flight FR-8136 from Barcelona,SP (Spain) to Ibiza,SP (Spain) with 169 passengers and 6 crew, was taxiing along Barcelona's taxiway K for departure from runway 25L and was maneouvering to pass behind the Boeing 767-300. A number of passengers on board of the Boeing 737-800 observed the right hand wing of the aircraft contact the tailplane of the Boeing 767-300 and rose out of their seats attracting the attention of a flight attendant. A passenger told the flight attendant, that their aircraft had hit the aircraft besides them. The flight attendant contacted the purser, who instructed her to contact the flight deck, she contacted the flight deck and informed the captain that passengers had seen their aircraft had hit another aircraft. The captain responded however everything was fine and she continued with the takeoff about 2 minutes after the Boeing 767. Immediately after departure the passengers insisted the flight was not safe and they had collided with another aircraft, one of the passengers identified himself as an engineer. The flight attendant told the engineer that the captain had been informed and had told everything was fine. No further information was forwarded to the flight deck. After landing in Ibiza, while disembarking, the passengers again spoke up claiming the flight had been unsafe. During the turnaround the flight attendant informed the purser that one of the passengers observing the collision was an engineer. Neither approached the flight crew however. Following the return flight FR-8137 the purser talked to the captain and informed her that one of the passengers observing the collision was an engineer. In the following it was identified that the right hand winglet of the Boeing 737-800 had received damage, the Boeing 767-300 was found with damage to the left hand stabilizer following landing in New York.
    According to the story, it appears the AA flight crew were not informed of the potential damage to their plane before or during their transatlantic flight to JFK. (via Juan Flynn)
    (tags: via:juanflynn flight travel safety ryanair collisions)

  • CIAIAC report : The official report on that Ryanair/AA collision in Barcelona in July 2011, on pages 211-255.
    (tags: collisions safety travel air ryanair)

  • Practical machine learning tricks from the KDD 2011 best industry paper : Wow, this is a fantastic paper. It's a Google paper on detecting scam/spam ads using machine learning -- but not just that, it's how to build out such a classifier to production scale, and make it operationally resilient, and, indeed, operable. I've come across a few of these ideas before, and I'm happy to say I might have reinvented a few (particularly around the feature space), but all of them together make extremely good sense. If I wind up working on large-scale classification again, this is the first paper I'll go back to. Great info! (via Toby diPasquale.)
    (tags: classification via:codeslinger training machine-learning google ops kdd best-practices anti-spam classifiers ensemble map-reduce)

Links for 2012-07-29

  • The world’s first 3D-printed gun : I wasn't expecting to see this for a few years. The future is ahead of schedule!

    A .22-caliber pistol, formed from a 3D-printed AR-15 (M16) lower receiver, and a normal, commercial upper. In other words, the main body of the gun is plastic, while the chamber — where the bullets are actually struck — is solid metal. [...] While this pistol obviously wasn’t created from scratch using a 3D printer, the interesting thing is that the lower receiver — in a legal sense at least — is what actually constitutes a firearm. Without a lower receiver, the gun would not work; thus, the receiver is the actual legally-controlled part. In short, this means that people without gun licenses — or people who have had their licenses revoked — could print their own lower receiver and build a complete, off-the-books gun. What a chilling thought.

    (tags: via:peakscale guns scary future grim-meathook-future 3d-printing thingiverse weapons)

Links for 2012-07-28

Links for 2012-07-27

  • This park's life - The Irish Times - Thu, Jul 26, 2012 : Great article about Dublin's Phoenix Park, Europe's largest enclosed urban park (more than twice the size of New York's Central Park, in fact). Now that I have two little kids, I've been spending a good portion of my weekends there -- it's a wonderful thing to have on our doorstep. Also:

    The park even breeds celebrities. “The lion that roars at the start of the MGM movies. He’s a Dub. He was born in Dublin Zoo.”

    (tags: phoenix-park dublin history parks deer lion kids)