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/
Don't have any particular recommendations, but I do have a way of browsing that made me find a lot of interesting stuff.<p>Go to <a href="https://dl.acm.org/conferences" rel="nofollow">https://dl.acm.org/conferences</a><p>Click on the Conference with the subject area that interest you, like "Hypertext and Hypermedia" (<a href="https://dl.acm.org/conference/ht" rel="nofollow">https://dl.acm.org/conference/ht</a>)<p>Scroll down to "Most Popular" and sort by either Downloads or Cited.<p>Go bananas with reading everything.
My pick is Jeff Dean's <i>The Tail At Scale</i> (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.<p>It's a fiendishly difficult problem to get around, but Dean proposes a few mechanisms. I learned a <i>lot</i> and think back to this paper often when designing real software.<p>Reading it will probably make you a better engineer.<p>[1] <a href="https://dl.acm.org/doi/abs/10.1145/2408776.2408794" rel="nofollow">https://dl.acm.org/doi/abs/10.1145/2408776.2408794</a>
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:<p>- Print and online "Communications of the ACM" magazine<p>- Safari Books subscription included - all 40,000 books (!)<p>- Online courses, webinars, special interest group conferences<p>- Full ACM Digital Library (only with the all-access membership option - $198)<p>[1] <a href="https://services.acm.org/public/qj/keep_inventing/qjprofm_control.cfm?promo=DA4SCA" rel="nofollow">https://services.acm.org/public/qj/keep_inventing/qjprofm_co...</a><p><i>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</i>
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.<p>1979 reprint: <a href="https://dl.acm.org/doi/10.1145/1113634.1113638" rel="nofollow">https://dl.acm.org/doi/10.1145/1113634.1113638</a>
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.<p>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".
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.
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 <a href="https://rubybib.org" rel="nofollow">https://rubybib.org</a>
From a previous thread<p><a href="https://dl.acm.org/doi/book/10.1145/3335772" rel="nofollow">https://dl.acm.org/doi/book/10.1145/3335772</a>
Check out the ACM Tech Packs. They are curated lists of papers organized by topic.<p><a href="https://techpack.acm.org/" rel="nofollow">https://techpack.acm.org/</a>
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:<p><a href="https://dl.acm.org/doi/10.1145/52324.52356" rel="nofollow">https://dl.acm.org/doi/10.1145/52324.52356</a>
<a href="https://queue.acm.org/detail.cfm?id=1814327" rel="nofollow">https://queue.acm.org/detail.cfm?id=1814327</a> followed by <a href="http://varnish-cache.org/docs/trunk/phk/notes.html" rel="nofollow">http://varnish-cache.org/docs/trunk/phk/notes.html</a> 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.
From a network/system perspective:<p>- MapReduce: Simplified Data Processing on Large Clusters by Jeff Dean et al.<p>- The Design Philosophy of the DARPA Internet Protocols by David D. Clark<p>- Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications by Ion Stoica et al.
Communications of ACM Volume 37, Issue 7 July 1994<p>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.<p>1) <a href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.123.5119" rel="nofollow">https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.123...</a>
For novel (and sometimes wacky) user interfaces, I recommend skimming through the annual UIST proceedings: <a href="https://dl.acm.org/conference/uist" rel="nofollow">https://dl.acm.org/conference/uist</a>
I haven't read any of their book yet but I found they have page with book collections:
<a href="https://dl.acm.org/collections" rel="nofollow">https://dl.acm.org/collections</a>