Settings

Theme

Ask HN: Must Read from ACM Library?

239 points by weej 6 years ago · 46 comments · 1 min read


Given ACM's Digital Library is currently free to access thru June 30, 2020 what are must read/watch resources you recommend and why? https://dl.acm.org/

capableweb 6 years ago

Don't have any particular recommendations, but I do have a way of browsing that made me find a lot of interesting stuff.

Go to https://dl.acm.org/conferences

Click on the Conference with the subject area that interest you, like "Hypertext and Hypermedia" (https://dl.acm.org/conference/ht)

Scroll down to "Most Popular" and sort by either Downloads or Cited.

Go bananas with reading everything.

spenczar5 6 years ago

My pick is Jeff Dean's The Tail At Scale (2013) [1]. If you're interested in performance of web services, it's very, very well-written and describes a counterintuitive (but crucial!) phenomenon: your p99.99 latency can drive the entire user experience because of head-of-line blocking. As microservice architectures have gotten more popular, this has only become more important.

It's a fiendishly difficult problem to get around, but Dean proposes a few mechanisms. I learned a lot and think back to this paper often when designing real software.

Reading it will probably make you a better engineer.

[1] https://dl.acm.org/doi/abs/10.1145/2408776.2408794

  • hinkley 6 years ago

    An argument I’ve had a few times and wish I didn’t:

    Yes, this situation only happens a small fraction of the time, but it happens exactly once to each user, and the first time they use it. It doesn’t matter what the stats say. The facts are that every user will see this problem and it will be their first experience with the feature.

    • srean 6 years ago

      In such situations I usually ask "whose percentile are we talking about ? the percentile of the latencies of the service or the percentile of the wait time of the user ?" Then I show that for many scenarios the percentile that the user experiences can be drastically different.

  • Dowwie 6 years ago

    Could you elaborate on why this is any more crucial for microservices than it is monolith?

    • jrumbut 6 years ago

      Intuitively, if your request is handled by 1 service you have 1 chance that your request lands at the extreme end of the latency distribution. If your requests require 20 services, that's 20 chances.

      In reality maybe someone is able to make each microservice so much more performant and is able to deal with slow or failed requests gracefully in the UX. Some sites do, but it doesn't automatically by any means.

      • hinkley 6 years ago

        A couple weeks ago someone brought up High Frequency Trading and while in theory it didn’t tell me anything I didn’t already know, I’ve been chewing on the thesis of the linked article ever since: that the real trick to doing things quickly is to do them consistently. That variance causes far more kinds of practical problems than does average response time.

      • tbagman 6 years ago

        Saying a different way: for fork/join or barrier style parallel requests, stragglers set overall latency, and though the probability of any specific response being a straggler may be low, the probability of at least one response being a terrible straggler gets very high at large scales (or large fan-outs).

    • wmfiv 6 years ago

      This a life changing video by Gil Tene on this topic. Bottom line is because of the number requests to support a single customer "request", the high percentiles are the ones that actually matter.

      https://www.youtube.com/watch?v=lJ8ydIuPFeU&list=WL&index=22...

guiambros 6 years ago

This is a good opportunity to remind folks that an ACM subscription is very affordable ($99/year; 25% off on first year [1]), and the benefits are more than worth it:

- Print and online "Communications of the ACM" magazine

- Safari Books subscription included - all 40,000 books (!)

- Online courses, webinars, special interest group conferences

- Full ACM Digital Library (only with the all-access membership option - $198)

[1] https://services.acm.org/public/qj/keep_inventing/qjprofm_co...

note: the promo code in the URL came on a Google search, and seems to give a 25% discount for first year (which is higher than on the site directly). I have no affiliation with ACM other than being a happy subscriber

hinkley 6 years ago

If you want to go old school, Vannevar Bush’s “As We May Think” is one of the more prophetic moments. It was written in 1945.

1979 reprint: https://dl.acm.org/doi/10.1145/1113634.1113638

azhenley 6 years ago

If you ever find an ACM (or IEEE) paper that you don't have access to, chances are you can find the preprint on one of the author's website.

The easiest way is to search for the paper on Google Scholar and see if there is a link that says "[PDF]" or "All X versions".

  • capableweb 6 years ago

    That's a very good recommendation. And if you can't find the preprint on the authors website, I've had good success just emailing the author and asking for a copy. That's successful in 99% of the cases where I couldn't find it officially for free or as a preprint. Most authors seems more than happy to provide you with a copy.

    And if that finally doesn't work out, there is always sci-hub.si and their alter egos (https://en.wikipedia.org/wiki/Sci-Hub)

    • apetresc 6 years ago

      Are authors technically allowed to do that? (Not _should_ they be allowed, but _are_ they)?

      If so, where does the line get drawn? Are they allowed to have an auto-responder that responds to any specially-formatted email with a copy of the requested paper? Can they just put the paper up on their website? Can they just allow their website to be aggregated by someplace that collects all such papers?

      I'm sure the legal line is drawn somewhere between those two extremes but I have no idea where.

EFruit 6 years ago

Speaking from experience here, don't go overboard trying to grab papers to read later. Doubly so if you have a static IP. Academic resources, the ACM included, are incredibly ban-happy, and the line between good behavior and bad is kept secret.

chrisseaton 6 years ago

If you are a Ruby programmer or interested in Ruby I maintain a list of Ruby papers, some of which are only now freely available due to this open access, at https://rubybib.org

mesaframe 6 years ago

From a previous thread

https://dl.acm.org/doi/book/10.1145/3335772

jayvanguard 6 years ago

Check out the ACM Tech Packs. They are curated lists of papers organized by topic.

https://techpack.acm.org/

  • thatguy27 6 years ago

    Can you access this without an account? I can't find a way in.

  • NerdyDrone 6 years ago

    Woah these are great. Only a few key topics, but the curation is exactly what I seek. Thank you good human!

  • fizwhiz 6 years ago

    These are nice though they were last updated in 2014.

    • capableweb 6 years ago

      Most of the really good and informative papers and books have no time limit. I think the papers and resources that made the biggest impact on me would have been easily dismissed by junior-me because of being before 2010 but fortunately, less-junior-me read them anyway and they changed how I work in many ways for the better.

deadgrey19 6 years ago

Basically the entire internet is built on TCP. But TCP wasn't always very good. There was a time when congestion nearly killed the early internet. Congestion avoidance and control talks about how they fixed it. It's light hearted, accessible and one of my all time favourite reads:

https://dl.acm.org/doi/10.1145/52324.52356

adaszko 6 years ago

https://queue.acm.org/detail.cfm?id=1814327 followed by http://varnish-cache.org/docs/trunk/phk/notes.html have completely transformed how I view and architect software. I basically started to strive to leave as much memory management as possible to the kernel thus not only simplifying my code but also making it behave better as citizens in the country that the operating system is, if you will.

yangl1996 6 years ago

From a network/system perspective:

- MapReduce: Simplified Data Processing on Large Clusters by Jeff Dean et al.

- The Design Philosophy of the DARPA Internet Protocols by David D. Clark

- Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications by Ion Stoica et al.

protomyth 6 years ago

Communications of ACM Volume 37, Issue 7 July 1994

This was an issue that came around the time I was starting my dive into agents after reading [1] and it showed me my particular interest is a small part of what other people label the area.

1) https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.123...

drmajormccheese 6 years ago

https://mspiegel.github.io/canon

spdegabrielle 6 years ago

HOPL papers

azhenley 6 years ago

For novel (and sometimes wacky) user interfaces, I recommend skimming through the annual UIST proceedings: https://dl.acm.org/conference/uist

ioncube 6 years ago

I haven't read any of their book yet but I found they have page with book collections: https://dl.acm.org/collections

lukego 6 years ago

Turing award lecture papers.

agumonkey 6 years ago

If anyone at the ACM reads, thanks. It's a lovely move.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection