diff --git a/articles/README.md b/articles/README.md index 641215c..01ca7eb 100644 --- a/articles/README.md +++ b/articles/README.md @@ -12,16 +12,22 @@ * [ReBench: Execute and document benchmarks reproducibly](https://github.com/smarr/ReBench) +* [Speeding up the Sixty Compiler](https://ollef.github.io/blog/posts/speeding-up-sixty.html) + * [The Computer Language Benchmarks Game](https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/ocaml.html) ## Courses ## * Brendan Fong, Bartosz Milewski, and David Spivak. [Programming with Categories](http://brendanfong.com/programmingcats.html) +* [Stanford Programming Languages Qualifying Exam Syllabus](https://theory.stanford.edu/~aiken/plqual.html) + ## Garbage Collection ## * Ben Gamari. [A Concurrent Garbage Collector for the Glasgow Haskell Compiler](http://www.well-typed.com/blog/aux/files/nonmoving-gc/design.pdf) +* Ben Gamari, Laura Dietz. [Alligator Collector: A Latency-Optimized Garbage Collector for Functional Programming Languages](http://www.cs.unh.edu/~dietz/appendix/pldiws20ismmmain-p64-p-18fdc64--final.pdf) + * Ben Gamari. [Low-latency garbage collector merged for GHC 8.10](https://well-typed.com/blog/2019/10/nonmoving-gc-merge/) * Maoni, December 9, 2019, [GC Perf Infrastructure - Part 1](https://devblogs.microsoft.com/dotnet/gc-perf-infrastructure-part-1/) @@ -52,12 +58,18 @@ ## OCaml ## +* [A Solidarity parser in OCaml with Menhir](https://medium.com/dune-network/a-solidity-parser-in-ocaml-with-menhir-e1064f94e76b) + * [Effects Bibliography](https://github.com/yallop/effects-bibliography) * [Future of OCaml](https://ocamlverse.github.io/content/future_ocaml.html) +* [Interactive OCaml Development](https://samarthkishor.github.io/posts/interactive_ocaml_development/) + * [Open Source Compass: OPAM repository](https://opensourcecompass.io/projects/ocaml/opam-repository#overview) +* [Plebeia in Tezos](https://www.dailambda.jp/blog/2020-05-11-plebeia/) + * [Polymorphic versus ordinary variants in OCaml](https://blog.klipse.tech/ocaml/2018/03/16/ocaml-polymorphic-types.html) ## Performance ## @@ -66,18 +78,26 @@ * [Dthreads](https://plasma.cs.umass.edu/emery/dthreads.html) +* [Go: Goroutine, OS Thread and CPU Management](https://medium.com/a-journey-with-go/go-goroutine-os-thread-and-cpu-management-2f5a5eaf518a) + * [Jepsen database tests](https://aphyr.com/tags/jepsen) * [Let's Talk Locks!](https://www.infoq.com/presentations/go-locks/) +* [State of Loom](https://cr.openjdk.java.net/~rpressler/loom/loom/sol1_part1.html) + * [Testing sync at Dropbox](https://dropbox.tech/infrastructure/-testing-our-new-sync-engine) * [The JVM's AllocatePrefetch options: What do they actually do?](https://www.opsian.com/blog/jvms-allocateprefetch-options/) +* [User-level Threads](https://lkml.org/lkml/2020/6/16/1324) + ## Security ## * [Introduction to Memory Unsafety for VPs of Engineering](https://alexgaynor.net/2019/aug/12/introduction-to-memory-unsafety-for-vps-of-engineering/) +* [Vulnerability Modeling with Binary Ninja](https://blog.trailofbits.com/2018/04/04/vulnerability-modeling-with-binary-ninja/) + ## Standards ## * [System V Application Binary Interface](https://uclibc.org/docs/psABI-x86_64.pdf) @@ -90,13 +110,24 @@ * Martin Kleppmann. [Designing Data-Intensive Applications](https://dataintensive.net/) - ## Tools ## * [Automerge](https://github.com/automerge/automerge) +* [Iris Project](https://iris-project.org/) + +* [Irmin and ReasonML](https://oteku.github.io/irmin-database-reasonml/) + * [LUV: Cross-platform asynchronous I/O and system calls](https://github.com/aantron/luv) * [SimpleObjectMachine](https://som-st.github.io/) +* [Speedscope](https://github.com/jlfwong/speedscope) + +* [Stanford Large Network Dataset Collection](http://snap.stanford.edu/data/index.html) + * [Tools for creating chaos outside AWS](https://www.gremlin.com/chaos-monkey/chaos-monkey-alternatives/) + +* [Uftrace](https://github.com/namhyung/uftrace) + +* [Unwinding Frames in Python](https://sourceware.org/gdb/current/onlinedocs/gdb/Unwinding-Frames-in-Python.html) diff --git a/misc/glossary.md b/misc/glossary.md index 7b39ac5..4842114 100644 --- a/misc/glossary.md +++ b/misc/glossary.md @@ -5,6 +5,7 @@ Note: Use alphabetical order. Acronym | Expansion ------- | --------- ADT | Abstract Data Type +ALPS | Availability, Low Latency, Partition tolerance, high Scalability Caml | Categorical Abstract Machine Language CRCW | Concurrent Read, Concurrent Write CREW | Concurrent Read, Exclusive Write diff --git a/papers/README.md b/papers/README.md index fae2161..c3cc4f2 100644 --- a/papers/README.md +++ b/papers/README.md @@ -1,17 +1,29 @@ # Papers # +* Anil Madhavapeddy, Richard Mortier, Ripduman Sohan, Thomas Gazagnaire, Steven Hand, Tim Deegan, Derek McAuley and Jon Crowcroft. + [Turning Down the LAMP: Software Specialisation for the Cloud](http://mort.io/publications/pdf/hotcloud10-lamp.pdf) + * Daan Leijen. [Type Directed Compilation of Row-typed Algebraic Effects](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/algeff-tr-2016-1.pdf) * Geoffrey Mainland. [Explicitly Heterogeneous Metaprogramming with MetaHaskell](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.296.9097&rep=rep1&type=pdf) +* Glen Mével, Jacques-Henri Jourdan, François Pottier. + [Cosmo: A Concurrent Separation Logic for Multicore OCaml](http://cambium.inria.fr/~fpottier/publis/mevel-jourdan-pottier-cosmo-2020.pdf) + * Jan Hoffmann, Ankush Das, Shu-Chun Weng. [Towards Automatic Resource Bound Analysis for OCaml](http://www.cs.cmu.edu/~janh/papers/HoffmannW15.pdf) +* Kavon Farvardin, John Reppy. + [From Folklore to Fact: Comparing Implementations of Stacks and Continuations](http://manticore.cs.uchicago.edu/papers/pldi20-stacks-n-conts.pdf) + * KC Sivaramakrishnan, Lukasz Ziarek, Suresh Jagannathan. [Eliminating Read Barriers through Procrastination and Cleanliness](http://kcsrk.info/papers/mmgc_ismm12.pdf) +* Lianying Zhao, David Lie. + [Is Hardware More Secure than Software?](https://security.csl.toronto.edu/wp-content/uploads/2020/06/LZhao_Firmwareization_IEEES_P_2020-preprint.pdf) + * Marc Shapiro, Nuno Preguica, Carlos Baquero, Marek Zawirski. [Convergent and Commutative Replicated Data Types](https://hal.inria.fr/hal-00932833) diff --git a/videos/README.md b/videos/README.md index 94ea9b8..0fff791 100644 --- a/videos/README.md +++ b/videos/README.md @@ -1,9 +1,13 @@ # Videos # +* [Chalmers Online Functional Programming Seminar Series](http://chalmersfp.org/) + * Cindy Sridharan. [Best of 2019 in Tech Talks](https://medium.com/@copyconstruct/best-of-2019-in-tech-talks-bac697c3ee13) +* Dmitry Vyukov. [Go scheduler: Implementing language with lightweight concurrency](https://www.youtube.com/watch?v=-K11rY57K7k) (~1h 1m) + * Latif Nasser. [You have no idea where camels really came from](https://www.ted.com/talks/latif_nasser_you_have_no_idea_where_camels_really_come_from) -* Simon Peyton Jones. [Compiling without continuations](https://www.youtube.com/watch?v=LMTr8yw0Gk4) (~ 23m) +* Martin Kleppmann. [CRDTs: The Hard Parts](https://www.youtube.com/watch?v=x7drE24geUw) (~1h 11m) -* Dmitry Vyukov. [Go scheduler: Implementing language with lightweight concurrency](https://www.youtube.com/watch?v=-K11rY57K7k) (~1h 1m) +* Simon Peyton Jones. [Compiling without continuations](https://www.youtube.com/watch?v=LMTr8yw0Gk4) (~ 23m)