From 14f18c100c2f8c3ec9c60c14330d926cd2d6f639 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Mon, 4 Apr 2022 22:47:56 -0400 Subject: Properly handling variance for arrays to avoid invalid subtyping. --- documentation/bookmark/arithmetic.md | 12 ------------ documentation/bookmark/back_end/c++.md | 5 +++++ documentation/bookmark/bloat.md | 4 ++++ documentation/bookmark/business/management.md | 1 + documentation/bookmark/business/model.md | 4 ++++ documentation/bookmark/business/negotiation.md | 1 + documentation/bookmark/community/onboarding.md | 4 ++++ documentation/bookmark/composition/mixin.md | 8 ++++++++ .../bookmark/composition/recursion_schemes.md | 20 ++++++++++++++++++++ documentation/bookmark/concurrency/Engine.md | 4 ---- documentation/bookmark/concurrency/disruptor.md | 4 ++++ documentation/bookmark/concurrency/engine.md | 4 ++++ .../bookmark/concurrency/lock_free_programming.md | 1 + documentation/bookmark/foreign_function_interface.md | 1 + documentation/bookmark/graphic/3D.md | 8 -------- documentation/bookmark/graphic/3d.md | 8 ++++++++ documentation/bookmark/graphic/svg.md | 4 ++++ documentation/bookmark/math/arithmetic.md | 12 ++++++++++++ documentation/bookmark/mixin.md | 8 -------- documentation/bookmark/music/language.md | 4 ++++ documentation/bookmark/recursion_schemes.md | 20 -------------------- documentation/bookmark/resource_management.md | 5 +++-- documentation/bookmark/text/unicode.md | 4 ++++ documentation/bookmark/text/utf8.md | 9 +++++++++ documentation/bookmark/type_theory/unit.md | 5 +++-- documentation/bookmark/unicode.md | 4 ---- documentation/bookmark/utf8.md | 9 --------- 27 files changed, 104 insertions(+), 69 deletions(-) delete mode 100644 documentation/bookmark/arithmetic.md create mode 100644 documentation/bookmark/bloat.md create mode 100644 documentation/bookmark/business/model.md create mode 100644 documentation/bookmark/community/onboarding.md create mode 100644 documentation/bookmark/composition/mixin.md create mode 100644 documentation/bookmark/composition/recursion_schemes.md delete mode 100644 documentation/bookmark/concurrency/Engine.md create mode 100644 documentation/bookmark/concurrency/disruptor.md create mode 100644 documentation/bookmark/concurrency/engine.md delete mode 100644 documentation/bookmark/graphic/3D.md create mode 100644 documentation/bookmark/graphic/3d.md create mode 100644 documentation/bookmark/graphic/svg.md create mode 100644 documentation/bookmark/math/arithmetic.md delete mode 100644 documentation/bookmark/mixin.md create mode 100644 documentation/bookmark/music/language.md delete mode 100644 documentation/bookmark/recursion_schemes.md create mode 100644 documentation/bookmark/text/unicode.md create mode 100644 documentation/bookmark/text/utf8.md delete mode 100644 documentation/bookmark/unicode.md delete mode 100644 documentation/bookmark/utf8.md (limited to 'documentation') diff --git a/documentation/bookmark/arithmetic.md b/documentation/bookmark/arithmetic.md deleted file mode 100644 index e4a3ddd07..000000000 --- a/documentation/bookmark/arithmetic.md +++ /dev/null @@ -1,12 +0,0 @@ -# Saturation - -1. [Saturation arithmetic](https://en.wikipedia.org/wiki/Saturation_arithmetic) - -# Interval - -1. [Interval Arithmetic: Not All Intervals are Created Equal](https://samlikes.pizza/pluto_interval_blog.jl.html) -1. [Growing a Language, by Guy Steele](https://www.youtube.com/watch?v=_ahvzDzKdB0&t=2214s) -1. [Yet another alternative to floating-point numbers](https://wordsandbuttons.online/yet_another_alternative_to_floating_point_numbers.html) -1. [Interval arithmetic](https://en.wikipedia.org/wiki/Interval_arithmetic) -1. [How do you compute the midpoint of an interval?](https://hal.archives-ouvertes.fr/file/index/docid/576641/filename/computing-midpoint.pdf) - diff --git a/documentation/bookmark/back_end/c++.md b/documentation/bookmark/back_end/c++.md index 8cbb088d5..e86d2672d 100644 --- a/documentation/bookmark/back_end/c++.md +++ b/documentation/bookmark/back_end/c++.md @@ -1,5 +1,10 @@ +# Optimization + +0. [C and C++ coding style for best performance](https://www.ibm.com/docs/en/aix/7.1?topic=implementation-c-c-coding-style-best-performance) + # Reference +0. [Constant references are not always your friends](https://belaycpp.com/2022/02/15/constant-references-are-not-always-your-friends/) 0. [Unionizing for Profit: How to Exploit the Power of Unions in C++](https://dev-discuss.pytorch.org/t/unionizing-for-profit-how-to-exploit-the-power-of-unions-in-c/444) 0. [std::any: How, when, and why](https://devblogs.microsoft.com/cppblog/stdany-how-when-and-why/) 0. [Using C Libraries in your Modern C++ Embedded Project - Michael Caisse - CppCon 2021](https://www.youtube.com/watch?v=Ototzy-nP4M) diff --git a/documentation/bookmark/bloat.md b/documentation/bookmark/bloat.md new file mode 100644 index 000000000..e1091256c --- /dev/null +++ b/documentation/bookmark/bloat.md @@ -0,0 +1,4 @@ +# Reference + +0. [Nibbler: Debloating Binary Shared Libraries](https://cs.brown.edu/~vpk/papers/nibbler.acsac19.pdf) + diff --git a/documentation/bookmark/business/management.md b/documentation/bookmark/business/management.md index b7205f1d0..aa7b63070 100644 --- a/documentation/bookmark/business/management.md +++ b/documentation/bookmark/business/management.md @@ -1,4 +1,5 @@ # Reference +0. [First, Let’s Fire All the Managers](https://hbr.org/2011/12/first-lets-fire-all-the-managers) 0. [Value Add Disease](https://boz.com/articles/vad) diff --git a/documentation/bookmark/business/model.md b/documentation/bookmark/business/model.md new file mode 100644 index 000000000..7857523b8 --- /dev/null +++ b/documentation/bookmark/business/model.md @@ -0,0 +1,4 @@ +# Reference + +0. [Reciprocity as a Business Model: What motivates people to pay for services they receive?](https://briefthoughts.substack.com/p/reciprocity-as-a-business-model?s=r) + diff --git a/documentation/bookmark/business/negotiation.md b/documentation/bookmark/business/negotiation.md index 636bcbbfe..32b092b3d 100644 --- a/documentation/bookmark/business/negotiation.md +++ b/documentation/bookmark/business/negotiation.md @@ -1,4 +1,5 @@ # Reference +0. [A Better Way to Divide the Pie](https://insights.som.yale.edu/insights/better-way-to-divide-the-pie) 0. [Rethinking Negotiation: A smarter way to split the pie](https://hbr.org/2021/11/rethinking-negotiation) diff --git a/documentation/bookmark/community/onboarding.md b/documentation/bookmark/community/onboarding.md new file mode 100644 index 000000000..8407ed4cd --- /dev/null +++ b/documentation/bookmark/community/onboarding.md @@ -0,0 +1,4 @@ +# Reference + +0. [The Ultimate Guide to Onboarding Software Engineers](https://leadership.garden/onboarding-engineers/) + diff --git a/documentation/bookmark/composition/mixin.md b/documentation/bookmark/composition/mixin.md new file mode 100644 index 000000000..bdcc7ae9c --- /dev/null +++ b/documentation/bookmark/composition/mixin.md @@ -0,0 +1,8 @@ +# Reference + +1. [Prototypes: Object-Orientation, Functionally](http://fare.tunes.org/files/cs/poof.pdf) +1. [The Different Aspects of Monads and Mixins](http://ropas.snu.ac.kr/~bruno/papers/MixinAspects.pdf) +1. [THAT ABOUT WRAPS IT UP: Using FIX to Handle Errors Without Exceptions, and Other Programming Tricks](http://www.lfcs.inf.ed.ac.uk/reports/97/ECS-LFCS-97-375/ECS-LFCS-97-375.pdf) +1. [EffectiveAdvice: Disciplined Advice with Explicit Effects](http://www.cs.utexas.edu/~wcook/Drafts/2010/EffectiveAdvice.pdf) +1. [16. Object Reorientation: Generic Functions](http://www.gigamonkeys.com/book/object-reorientation-generic-functions.html) + diff --git a/documentation/bookmark/composition/recursion_schemes.md b/documentation/bookmark/composition/recursion_schemes.md new file mode 100644 index 000000000..31a013123 --- /dev/null +++ b/documentation/bookmark/composition/recursion_schemes.md @@ -0,0 +1,20 @@ +# Reference + +0. [An Introduction to Recursion Schemes](https://blog.sumtypeofway.com/posts/introduction-to-recursion-schemes.html) +0. [Recursion Schemes, Part II: A Mob of Morphisms](https://blog.sumtypeofway.com/posts/recursion-schemes-part-2.html) +0. [Recursion Schemes, Part III: Folds in Context](https://blog.sumtypeofway.com/posts/recursion-schemes-part-3.html) +0. [Recursion Schemes, Part IV: Time is of the Essence](https://blog.sumtypeofway.com/posts/recursion-schemes-part-4.html) +0. [Recursion Schemes, Part 4½: Better Living Through Base Functors](https://blog.sumtypeofway.com/posts/recursion-schemes-part-4-point-5.html) +0. [Recursion Schemes, Part V: Hello, Hylomorphisms](https://blog.sumtypeofway.com/posts/recursion-schemes-part-5.html) +0. [Recursion Schemes, Part VI: Comonads, Composition, and Generality](https://blog.sumtypeofway.com/posts/recursion-schemes-part-6.html) +0. [Probability Tree Diagrams. Recursion Schemes. Why Finding the Right Solution is Sometimes Hard?](https://rpeszek.github.io/posts/2021-07-18-prob-tree-scheme.html) +0. [Unifying Structured Recursion Schemes](https://www.cs.ox.ac.uk/people/nicolas.wu/papers/URS.pdf) +0. http://maartenfokkinga.github.io/utwente/mmf91m.pdf +0. http://comonad.com/reader/2009/recursion-schemes/ +0. [Peeling the Banana: Recursion Schemes from First Principles - Zainab Ali](https://www.youtube.com/watch?v=XZ9nPZbaYfE) +0. https://github.com/passy/awesome-recursion-schemes +0. [YOW! Lambda Jam 2018 - Amy Wong - Introduction to recursion scheme](https://www.youtube.com/watch?v=YnqPdlJd38o) +0. https://bartoszmilewski.com/2018/08/20/recursion-schemes-for-higher-algebras/ +0. https://chrilves.github.io/hugo/posts/recursion_schemes_intro/ +0. [Recursion Schemes: A Field Guide (Redux)](http://comonad.com/reader/2009/recursion-schemes/) + diff --git a/documentation/bookmark/concurrency/Engine.md b/documentation/bookmark/concurrency/Engine.md deleted file mode 100644 index 33d036863..000000000 --- a/documentation/bookmark/concurrency/Engine.md +++ /dev/null @@ -1,4 +0,0 @@ -# Reference - -1. [Literate Engines in Lisp](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.6198) - diff --git a/documentation/bookmark/concurrency/disruptor.md b/documentation/bookmark/concurrency/disruptor.md new file mode 100644 index 000000000..159a380f6 --- /dev/null +++ b/documentation/bookmark/concurrency/disruptor.md @@ -0,0 +1,4 @@ +# Reference + +0. [LMAX Disruptor: High performance alternative to bounded queues for exchanging data between concurrent threads](https://lmax-exchange.github.io/disruptor/disruptor.html) + diff --git a/documentation/bookmark/concurrency/engine.md b/documentation/bookmark/concurrency/engine.md new file mode 100644 index 000000000..33d036863 --- /dev/null +++ b/documentation/bookmark/concurrency/engine.md @@ -0,0 +1,4 @@ +# Reference + +1. [Literate Engines in Lisp](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.6198) + diff --git a/documentation/bookmark/concurrency/lock_free_programming.md b/documentation/bookmark/concurrency/lock_free_programming.md index 1ee123951..d904c8841 100644 --- a/documentation/bookmark/concurrency/lock_free_programming.md +++ b/documentation/bookmark/concurrency/lock_free_programming.md @@ -1,5 +1,6 @@ # Reference +0. [Nonblocking Algorithms and Scalable Multicore Programming: Exploring some alternatives to lock-based synchronization](https://queue.acm.org/detail.cfm?id=2492433) 0. [Design and Implementation of Highly Scalable Quantifiable Data Structures in C++ - CppCon 2021](https://www.youtube.com/watch?v=ECWsLj0pgbI) 0. [Building a Lock-free Multi-producer, Multi-consumer Queue for Tcmalloc - Matt Kulukundis - CppCon 21](https://www.youtube.com/watch?v=_qaKkHuHYE0) 0. [Fear and Loathing in Lock-Free Programming](https://medium.com/@tylerneely/fear-and-loathing-in-lock-free-programming-7158b1cdd50c) diff --git a/documentation/bookmark/foreign_function_interface.md b/documentation/bookmark/foreign_function_interface.md index eca9fe747..ce86904db 100644 --- a/documentation/bookmark/foreign_function_interface.md +++ b/documentation/bookmark/foreign_function_interface.md @@ -1,4 +1,5 @@ # Reference +0. [Rust - Python FFI From Scratch](https://i.hsfzxjy.site/2022-03-12-rust-python-ffi-from-scratch/) 0. [Porting libffi to pure WebAssembly](https://www.tweag.io/blog/2022-03-17-libffi-wasm32/) diff --git a/documentation/bookmark/graphic/3D.md b/documentation/bookmark/graphic/3D.md deleted file mode 100644 index a4d7702f0..000000000 --- a/documentation/bookmark/graphic/3D.md +++ /dev/null @@ -1,8 +0,0 @@ -# Reference - -0. [3D Graphics for Dummies - Chris Ryan - CppCon 2021](https://www.youtube.com/watch?v=EIijFV3VE1g) - -# Three.js - -0. [Three.js Fundamentals](https://threejsfundamentals.org/) - diff --git a/documentation/bookmark/graphic/3d.md b/documentation/bookmark/graphic/3d.md new file mode 100644 index 000000000..a4d7702f0 --- /dev/null +++ b/documentation/bookmark/graphic/3d.md @@ -0,0 +1,8 @@ +# Reference + +0. [3D Graphics for Dummies - Chris Ryan - CppCon 2021](https://www.youtube.com/watch?v=EIijFV3VE1g) + +# Three.js + +0. [Three.js Fundamentals](https://threejsfundamentals.org/) + diff --git a/documentation/bookmark/graphic/svg.md b/documentation/bookmark/graphic/svg.md new file mode 100644 index 000000000..36b7efe43 --- /dev/null +++ b/documentation/bookmark/graphic/svg.md @@ -0,0 +1,4 @@ +# Reference + +0. [Optimizing SVG Patterns to Their Smallest Size](https://css-tricks.com/optimizing-svg-patterns/) + diff --git a/documentation/bookmark/math/arithmetic.md b/documentation/bookmark/math/arithmetic.md new file mode 100644 index 000000000..93e4a97ee --- /dev/null +++ b/documentation/bookmark/math/arithmetic.md @@ -0,0 +1,12 @@ +# Saturation + +0. [Saturation arithmetic](https://en.wikipedia.org/wiki/Saturation_arithmetic) + +# Interval + +0. [Interval Arithmetic: Not All Intervals are Created Equal](https://samlikes.pizza/pluto_interval_blog.jl.html) +0. [Growing a Language, by Guy Steele](https://www.youtube.com/watch?v=_ahvzDzKdB0&t=2214s) +0. [Yet another alternative to floating-point numbers](https://wordsandbuttons.online/yet_another_alternative_to_floating_point_numbers.html) +0. [Interval arithmetic](https://en.wikipedia.org/wiki/Interval_arithmetic) +0. [How do you compute the midpoint of an interval?](https://hal.archives-ouvertes.fr/file/index/docid/576641/filename/computing-midpoint.pdf) + diff --git a/documentation/bookmark/mixin.md b/documentation/bookmark/mixin.md deleted file mode 100644 index bdcc7ae9c..000000000 --- a/documentation/bookmark/mixin.md +++ /dev/null @@ -1,8 +0,0 @@ -# Reference - -1. [Prototypes: Object-Orientation, Functionally](http://fare.tunes.org/files/cs/poof.pdf) -1. [The Different Aspects of Monads and Mixins](http://ropas.snu.ac.kr/~bruno/papers/MixinAspects.pdf) -1. [THAT ABOUT WRAPS IT UP: Using FIX to Handle Errors Without Exceptions, and Other Programming Tricks](http://www.lfcs.inf.ed.ac.uk/reports/97/ECS-LFCS-97-375/ECS-LFCS-97-375.pdf) -1. [EffectiveAdvice: Disciplined Advice with Explicit Effects](http://www.cs.utexas.edu/~wcook/Drafts/2010/EffectiveAdvice.pdf) -1. [16. Object Reorientation: Generic Functions](http://www.gigamonkeys.com/book/object-reorientation-generic-functions.html) - diff --git a/documentation/bookmark/music/language.md b/documentation/bookmark/music/language.md new file mode 100644 index 000000000..f7fb95dd6 --- /dev/null +++ b/documentation/bookmark/music/language.md @@ -0,0 +1,4 @@ +# Reference + +0. [glicol](https://glicol.org/) + diff --git a/documentation/bookmark/recursion_schemes.md b/documentation/bookmark/recursion_schemes.md deleted file mode 100644 index 31a013123..000000000 --- a/documentation/bookmark/recursion_schemes.md +++ /dev/null @@ -1,20 +0,0 @@ -# Reference - -0. [An Introduction to Recursion Schemes](https://blog.sumtypeofway.com/posts/introduction-to-recursion-schemes.html) -0. [Recursion Schemes, Part II: A Mob of Morphisms](https://blog.sumtypeofway.com/posts/recursion-schemes-part-2.html) -0. [Recursion Schemes, Part III: Folds in Context](https://blog.sumtypeofway.com/posts/recursion-schemes-part-3.html) -0. [Recursion Schemes, Part IV: Time is of the Essence](https://blog.sumtypeofway.com/posts/recursion-schemes-part-4.html) -0. [Recursion Schemes, Part 4½: Better Living Through Base Functors](https://blog.sumtypeofway.com/posts/recursion-schemes-part-4-point-5.html) -0. [Recursion Schemes, Part V: Hello, Hylomorphisms](https://blog.sumtypeofway.com/posts/recursion-schemes-part-5.html) -0. [Recursion Schemes, Part VI: Comonads, Composition, and Generality](https://blog.sumtypeofway.com/posts/recursion-schemes-part-6.html) -0. [Probability Tree Diagrams. Recursion Schemes. Why Finding the Right Solution is Sometimes Hard?](https://rpeszek.github.io/posts/2021-07-18-prob-tree-scheme.html) -0. [Unifying Structured Recursion Schemes](https://www.cs.ox.ac.uk/people/nicolas.wu/papers/URS.pdf) -0. http://maartenfokkinga.github.io/utwente/mmf91m.pdf -0. http://comonad.com/reader/2009/recursion-schemes/ -0. [Peeling the Banana: Recursion Schemes from First Principles - Zainab Ali](https://www.youtube.com/watch?v=XZ9nPZbaYfE) -0. https://github.com/passy/awesome-recursion-schemes -0. [YOW! Lambda Jam 2018 - Amy Wong - Introduction to recursion scheme](https://www.youtube.com/watch?v=YnqPdlJd38o) -0. https://bartoszmilewski.com/2018/08/20/recursion-schemes-for-higher-algebras/ -0. https://chrilves.github.io/hugo/posts/recursion_schemes_intro/ -0. [Recursion Schemes: A Field Guide (Redux)](http://comonad.com/reader/2009/recursion-schemes/) - diff --git a/documentation/bookmark/resource_management.md b/documentation/bookmark/resource_management.md index 3b353ccab..ef459b9f0 100644 --- a/documentation/bookmark/resource_management.md +++ b/documentation/bookmark/resource_management.md @@ -1,5 +1,6 @@ # Reference -1. [Understanding ResourceT](https://www.fpcomplete.com/blog/2017/06/understanding-resourcet/) -1. [Composable resource management in Scala](https://bszwej.medium.com/composable-resource-management-in-scala-ce902bda48b2) +0. [Vale's Higher RAII, the pattern that saved me a vital 5 hours in the 7DRL Challenge](https://verdagon.dev/blog/higher-raii-7drl) +0. [Understanding ResourceT](https://www.fpcomplete.com/blog/2017/06/understanding-resourcet/) +0. [Composable resource management in Scala](https://bszwej.medium.com/composable-resource-management-in-scala-ce902bda48b2) diff --git a/documentation/bookmark/text/unicode.md b/documentation/bookmark/text/unicode.md new file mode 100644 index 000000000..f58b09aac --- /dev/null +++ b/documentation/bookmark/text/unicode.md @@ -0,0 +1,4 @@ +# Reference + +0. [How Unicode helps to ruin your software](https://blog.typeable.io/posts/2021-08-17-unicode.html) + diff --git a/documentation/bookmark/text/utf8.md b/documentation/bookmark/text/utf8.md new file mode 100644 index 000000000..4def76b75 --- /dev/null +++ b/documentation/bookmark/text/utf8.md @@ -0,0 +1,9 @@ +# Reference + +0. [A Branchless UTF-8 Decoder](https://nullprogram.com/blog/2017/10/06/) +0. [skeeto/branchless-utf8](https://github.com/skeeto/branchless-utf8/blob/master/utf8.h) +0. [trivial-utf-8](https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8) +0. [utf8: Unicode Text Processing](https://rdrr.io/cran/utf8/) +0. [Encoding character strings in R](https://rstudio-pubs-static.s3.amazonaws.com/279354_f552c4c41852439f910ad620763960b6.html) +0. [Any Encoding, Ever - ztd.text and Unicode for C++](https://thephd.dev/any-encoding-ever-ztd-text-unicode-cpp) + diff --git a/documentation/bookmark/type_theory/unit.md b/documentation/bookmark/type_theory/unit.md index cf23e396c..1a82ddf66 100644 --- a/documentation/bookmark/type_theory/unit.md +++ b/documentation/bookmark/type_theory/unit.md @@ -1,5 +1,6 @@ # Reference -1. https://en.wikipedia.org/wiki/Metric_prefix#Metric_units -1. [unittyped: An extendable library for type-safe computations including units.](https://hackage.haskell.org/package/unittyped) +0. [mp-units - A Units Library for C++](https://github.com/mpusz/units) +0. https://en.wikipedia.org/wiki/Metric_prefix#Metric_units +0. [unittyped: An extendable library for type-safe computations including units.](https://hackage.haskell.org/package/unittyped) diff --git a/documentation/bookmark/unicode.md b/documentation/bookmark/unicode.md deleted file mode 100644 index 706b3791d..000000000 --- a/documentation/bookmark/unicode.md +++ /dev/null @@ -1,4 +0,0 @@ -# Reference - -1. [How Unicode helps to ruin your software](https://blog.typeable.io/posts/2021-08-17-unicode.html) - diff --git a/documentation/bookmark/utf8.md b/documentation/bookmark/utf8.md deleted file mode 100644 index 3dd68e828..000000000 --- a/documentation/bookmark/utf8.md +++ /dev/null @@ -1,9 +0,0 @@ -# Reference - -1. [A Branchless UTF-8 Decoder](https://nullprogram.com/blog/2017/10/06/) -1. [skeeto/branchless-utf8](https://github.com/skeeto/branchless-utf8/blob/master/utf8.h) -1. [trivial-utf-8](https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8) -1. [utf8: Unicode Text Processing](https://rdrr.io/cran/utf8/) -1. [Encoding character strings in R](https://rstudio-pubs-static.s3.amazonaws.com/279354_f552c4c41852439f910ad620763960b6.html) -1. [Any Encoding, Ever - ztd.text and Unicode for C++](https://thephd.dev/any-encoding-ever-ztd-text-unicode-cpp) - -- cgit v1.2.3