From 9cdc2f44cbcf4e0a627216d295b5f05bd817d6a8 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Thu, 23 May 2019 22:10:21 -0400 Subject: Moved my research notes from Trello to the repo: + Documentation. + Game programming. + Probabilistic programming. + Build systems. --- documentation/research/documentation.md | 75 +++++++++ documentation/research/game_programming.md | 177 +++++++++++++++++++++ .../research/paradigm/probabilistic_programming.md | 52 ++++++ documentation/research/tool/build_system.md | 57 +++++++ 4 files changed, 361 insertions(+) create mode 100644 documentation/research/documentation.md create mode 100644 documentation/research/game_programming.md create mode 100644 documentation/research/paradigm/probabilistic_programming.md create mode 100644 documentation/research/tool/build_system.md diff --git a/documentation/research/documentation.md b/documentation/research/documentation.md new file mode 100644 index 000000000..21f9a6107 --- /dev/null +++ b/documentation/research/documentation.md @@ -0,0 +1,75 @@ +# Diagram | Chart + +1. https://c4model.com/ +1. https://github.com/lukaslueg/macro_railroad +1. https://bramp.github.io/js-sequence-diagrams/ +1. https://github.com/erikbrinkman/d3-dag +1. https://dumptyd.github.io/treeflex/ +1. https://info.datalabsagency.com/blog/data-visualization-news/15-most-common-types-of-data-visualisation +1. https://wettel.github.io/codecity.html +1. http://quantifiedcode.github.io/code-is-beautiful/ +1. http://js.cytoscape.org/ +1. https://arcentry.com/ +1. https://bramp.github.io/js-sequence-diagrams/ +1. https://brokenbaysoftware.co/2018/12/18/Cumulative-Flow/ +1. https://frappe.io/gantt +1. https://dbdiagram.io/home/ +1. https://ptsjs.org/ +1. https://blog.usejournal.com/bridging-the-gap-between-low-level-and-high-level-charting-libraries-a8f6c1819ba5 +1. https://www.infoq.com/articles/why-architectural-diagrams +1. https://gramener.github.io/visual-vocabulary-vega/ +1. [Visually Representing the Landscape of Mathematical Structures](https://arxiv.org/abs/1809.05930) +1. http://www.java2uml.com/s + +# Philosophy + +1. [Forget reusability, aim for perfection](https://www.openbsd.org/papers/bsdcan18-mandoc.pdf) +1. https://increment.com/documentation/ +1. https://blog.stoplight.io/writing-documentation-when-you-arent-a-technical-writer-part-two-59997587cc2a + +# Explorability + +1. https://explorabl.es/jam/ +1. https://flowium.com/help.html +1. https://apfelmus.nfshost.com/blog/2018/08/06-hyper-0-2.html + +# README + +1. https://github.com/LappleApple/feedmereadmes + +# Doclet + +1. https://docs.oracle.com/javase/8/docs/technotes/guides/javadoc/doclet/overview.html +1. http://www.doclet.com/ +1. https://en.wikipedia.org/wiki/Doclet + +# Reference + +1. [Documenting the Clojure/Script Ecosystem – Martin Klepsch](https://www.youtube.com/watch?v=mWrvd6SE7Vg) +1. http://apistylebook.com/ +1. https://docusaurus.io/ +1. https://gist.github.com/oakes/8db57ac808bf6ec144d627fd83a89da3 +1. https://github.com/oakes/Dynadoc +1. https://github.com/bhauman/devcards +1. https://kiwidocs.js.org/ +1. https://github.com/Microsoft/tsdoc +1. https://github.com/PharkMillups/beautiful-docs +1. http://lwm.github.io/posts/html/document-haskell.html +1. http://lwm.github.io/texts/lets-write-documentation-for-haskell/ +1. https://groups.google.com/forum/#!msg/scala-internals/r2GnzCFc3TY/x3PmIq4cAgAJ +1. http://naildrivin5.com/blog/2016/12/08/learn-graphviz-and-up-your-diagramming-game.html +1. https://idyll-lang.github.io/ +1. http://docs.racket-lang.org/pollen/ +1. https://opensource.com/article/17/9/modular-documentation +1. https://clojurecademy.github.io/dsl-documentation/# +1. https://www.asyncapi.com/ +1. http://jupyter.org/ +1. https://medium.freecodecamp.org/how-to-build-interactive-presentations-with-jupyter-notebook-and-reveal-js-c7e24f4bd9c5 +1. https://github.com/stevekrouse/unbreakable-links +1. https://www.divio.com/en/blog/documentation/ +1. https://github.com/Bogdan-Lyashenko/js-code-to-svg-flowchart +1. https://anbasile.github.io/programming/2015/12/25/hosting-reveal-pres-on-github/ +1. http://www.megacz.com/software/wix/ +1. https://github.com/documentationjs/documentation +1. https://www.cockroachlabs.com/blog/go-file-size/ + diff --git a/documentation/research/game_programming.md b/documentation/research/game_programming.md new file mode 100644 index 000000000..a26c03dbe --- /dev/null +++ b/documentation/research/game_programming.md @@ -0,0 +1,177 @@ +# Engine + +1. https://github.com/GoogleCloudPlatform/agones +1. https://luxeengine.com/ +1. https://www.haroldserrano.com/blog/books-i-used-to-develop-a-game-engine +1. http://www.executionunit.com/blog/2017/07/14/in-defence-of-writing-your-own-engine/ +1. http://vincentgarreau.com/particles.js/#default +1. http://www.npruehs.de/game-models-a-different-approach-part-2/ +1. https://maikklein.github.io/post/shading-language-part1/ +1. https://cuberite.org/ +1. http://www.helixsoft.nl/articles/circle/sincos.htm +1. http://helm-engine.org/ +1. http://regl.party/ +1. https://github.com/lallassu/Qake +1. http://pcg.wikidot.com/ +1. http://laurenslapre.nl/lapre_004.htm +1. http://journal.stuffwithstuff.com/2014/12/21/rooms-and-mazes/ +1. https://shotsinshorts.com/top-javascript-engines-make-html5-desktop-mobile-games/ +1. http://gamedevs.org/ +1. http://clockwork.js.org/ +1. http://arewegameyet.com/ +1. https://www.inklestudios.com/ink/ +1. https://godotengine.org/ +1. https://castle-engine.io/index.php +1. https://www.rpginabox.com/ +1. https://heaps.io/ +1. https://codeparade.itch.io/marblemarcher +1. https://github.com/HackerPoet/MarbleMarcher +1. https://github.com/amzeratul/halley +1. https://github.com/ondras/rot.js +1. https://github.com/pupcraft/sucle +1. http://superpowers-html5.com/index.en.html + +# Reference + +1. https://mod.io/ +1. https://www.amazon.com/Game-Engine-Black-Book-Wolfenstein/dp/1539692876 +1. http://shaderbits.com/blog/octahedral-impostors/ +1. https://godotengine.org/article/handling-axis-godot +1. https://interplayoflight.wordpress.com/2017/10/25/how-unreal-renders-a-frame/ +1. http://www.jagregory.com/abrash-black-book/ +1. http://docs.godotengine.org/en/3.0/tutorials/math/rotations.html +1. http://www.essentialmath.com/ +1. http://gameprogrammingpatterns.com/ +1. http://higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers/ +1. https://github.com/Dvergar/awesome-haxe-gamedev + +# Rendering + +1. https://www.marmoset.co/posts/basic-theory-of-physically-based-rendering/ +1. https://roughjs.com/ +1. https://github.com/pshihn/rough +1. https://www.voxelquest.com/ +1. https://github.com/google/filament +1. https://google.github.io/filament/Filament.md.html +1. https://voxeltoy.com/ +1. [Oil on GlCanvas](https://www.shaderoo.org/?shader=FYLJFU) +1. http://voxeljs.com/ +1. http://gameprogrammingpatterns.com/double-buffer.html +1. https://research.cs.wisc.edu/graphics/Gallery/NPRQuake/whatIsIt.html +1. http://www.realtimerendering.com/Real-Time_Rendering_4th-Real-Time_Ray_Tracing.pdf +1. https://webglfundamentals.org/ +1. https://interplayoflight.wordpress.com/2018/09/30/readings-on-the-state-of-the-art-in-rendering/ +1. https://prideout.net/blog/distance_fields/ +1. http://graphics.cs.cmu.edu/projects/slang/ +1. [ADOPTING LESSONS FROM OFFLINE RAY-TRACING TO REAL-TIME RAY TRACING FOR PRACTICAL PIPELINES](http://advances.realtimerendering.com/s2018/Pharr%20-%20Advances%20in%20RTR%20-%20Real-time%20Ray%20Tracing.pdf) +1. http://www.gamasutra.com/blogs/SvyatoslavCherkasov/20181023/329151/Graveyard_Keeper_How_the_graphics_effects_are_made.php +1. https://alain.xyz/blog/comparison-of-modern-graphics-apis +1. https://webkit.org/blog/8482/web-high-level-shading-language/ +1. [Physically Based Rendering](http://www.pbr-book.org/3ed-2018/contents.html) +1. https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/ +1. https://www.hadean.com/blog/open-source-library-for-spatial-representations +1. [The inevitable volumetric future | Dan Tabar and Branislav Siles](https://www.youtube.com/watch?v=JHJ4TKJom88) +1. https://www.ronja-tutorials.com/2018/12/01/2d-shadows.html +1. https://ephtracy.github.io/ +1. https://www.nebularender.com/ +1. [An Explanation of the Rendering Equation](https://www.youtube.com/watch?v=eo_MTI-d28s) +1. [Non-Euclidean Worlds Engine](https://www.youtube.com/watch?v=kEB11PQ9Eo8) +1. [DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation](https://arxiv.org/pdf/1901.05103v1.pdf) +1. [Slang – A Shader Compilation System forExtensible, Real-Time Shading](http://graphics.cs.cmu.edu/projects/renderergenerator/yong_he_thesis.pdf) +1. http://machinethink.net/blog/3d-rendering-without-shaders/ +1. http://www.cs.cmu.edu/afs/cs/usr/sbk/www/phigs/phigs.html +1. http://www.realtimerendering.com/raytracinggems/ +1. https://github.com/mckennapsean/wood-shader +1. https://spritestack.io/ +1. http://blog.hvidtfeldts.net/index.php/2011/06/distance-estimated-3d-fractals-part-i/ +1. https://github.com/oakes/play-cljc +1. [Physically Based Modeling: Principles and Practice](http://www.cs.cmu.edu/~baraff/sigcourse/) +1. https://sonicether.com/seus/ +1. http://stephaniehurlburt.com/blog/2019/3/25/resources-for-learning-graphics-programming +1. [Principles of Lighting and Rendering with John Carmack at QuakeCon 2013](https://www.youtube.com/watch?v=IyUgHPs86XM) +1. http://math.hws.edu/graphicsbook/ +1. https://blog.mecheye.net/2019/05/why-is-2d-graphics-is-harder-than-3d-graphics/ +1. https://www.babylonjs.com/ +1. https://github.com/lettier/3d-game-shaders-for-beginners +1. [What good are hundreds of lights without hundreds of shadows?](https://worldoffries.wordpress.com/2019/03/26/what-good-is-hundreds-of-lights-with-out-hundreds-of-shadows/) + +# Idea + +1. [The Content Conundrum - Why So Many Games Feel Generic - Extra Credits](https://www.youtube.com/watch?v=NxX9sGhsbks) + +# Camera + +1. [Math for Game Programmers: Juicing Your Cameras With Math](https://www.youtube.com/watch?v=tu-Qe66AvtY) +1. https://jsantell.com/3d-projection + +# Entity Component System (ECS) + +1. http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/ +1. [Bob Nystrom - Is There More to Game Architecture than ECS?](https://www.youtube.com/watch?v=JxI3Eu5DPwE) + +# Simulation + +1. https://en.wikipedia.org/wiki/Sigmoid_function +1. https://prideout.net/blog/distance_fields/ +1. https://www.gdcvault.com/play/1022016/Getting-off-the-NavMesh-Navigating +1. https://nialltl.neocities.org/articles/mpm_guide.html +1. http://fabiensanglard.net/doom_fire_psx/index.html +1. http://sol.gfxile.net/interpolation/ +1. https://medium.com/unity3danimation/create-your-own-inverse-dynamics-in-unity-1ed0371ee658 +1. https://github.com/franciscop/ola/ + +# Animation + +1. https://blog.varunramesh.net/posts/composable-animations/ + +# Game history | Game preservation + +1. https://threader.app/thread/1027300086022254592 +1. https://gamehistory.org/ + +# Physics + +1. http://brm.io/matter-js/ +1. http://www.jbox2d.org/ +1. https://www.tapirgames.com/blog/open-source-physics-engines + +# Matchmaking + +1. https://cloud.google.com/blog/products/open-source/open-match-flexible-and-extensible-matchmaking-for-games + +# NPC artificial intelligence + +1. https://www.red3d.com/cwr/boids/ +1. https://www.blog.drewcutchins.com/blog/2018-8-16-flocking +1. http://www.gabrielgambetta.com/generic-search.html + +# Hexagonal grid + +1. https://www.redblobgames.com/grids/hexagons/ + +# Mods / Modding + +1. https://minecraft.net/en-us/article/programmers-play-minecrafts-inner-workings + +# Streaming + +1. https://blog.rainway.io/building-a-cross-browser-cross-platform-real-time-game-streaming-protocol-b00d000fe788 + +# Interactive narrative fiction + +1. http://narrascope.org/ +1. http://pdf.textfiles.com/books/iftheorybook.pdf +1. https://notimetoplay.org/engines/advprompt/ + +# Design + +1. https://en.wikipedia.org/wiki/Rules_of_Play + +# Voxel + +1. https://github.com/stoyannk/voxels + +# Planning + +1. https://github.com/adnzzzzZ/blog/issues/47 + diff --git a/documentation/research/paradigm/probabilistic_programming.md b/documentation/research/paradigm/probabilistic_programming.md new file mode 100644 index 000000000..beff4a300 --- /dev/null +++ b/documentation/research/paradigm/probabilistic_programming.md @@ -0,0 +1,52 @@ +# Inference + +1. [Probabilistic Programming with Programmable Inference](https://people.csail.mit.edu/rinard/paper/pldi18.pdf) +1. https://www.microsoft.com/en-us/research/blog/dowhy-a-library-for-causal-inference/ + +# Reference + +1. [Ask HN: What companies are using probabilistic programming?](https://news.ycombinator.com/item?id=17220861) +1. https://www-forbes-com.cdn.ampproject.org/v/s/www.forbes.com/sites/quora/2018/05/18/even-the-most-advanced-computer-programmers-have-probably-never-heard-of-this-concept/amp/?amp_js_v=a1&_gsa=1#amp_tf=From%20%251%24s&share=https%3A%2F%2Fwww.forbes.com%2Fsites%2Fquora%2F2018%2F05%2F18%2Feven-the-most-advanced-computer-programmers-have-probably-never-heard-of-this-concept%2Famp%2F%23amp_tf%3DFrom%2520%25251%2524s&share=https%3A%2F%2Fwww.forbes.com%2Fsites%2Fquora%2F2018%2F05%2F18%2Feven-the-most-advanced-computer-programmers-have-probably-never-heard-of-this-concept%2F&share=https%3A%2F%2Fwww.forbes.com%2Fsites%2Fquora%2F2018%2F05%2F18%2Feven-the-most-advanced-computer-programmers-have-probably-never-heard-of-this-concept%2F +1. [Deep Probabilistic Programming Languages: A Qualitative Study](https://arxiv.org/abs/1804.06458) +1. [A Provably Correct Sampler for Probabilistic Programs](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/final.pdf) +1. [Practical Probabilistic Programming with Monads](http://mlg.eng.cam.ac.uk/pub/pdf/SciGhaGor15.pdf) +1. [Probabilistic Functional Programming in Haskell](https://web.engr.oregonstate.edu/~erwig/papers/PFP_JFP06.pdf) +1. [The Probability Monad](https://www.youtube.com/watch?v=qZ4O-1VYv4c) +1. https://www.chrisstucchio.com/blog/2016/probability_the_monad.html +1. http://dippl.org/ +1. [Deep Probabilistic Programming](https://arxiv.org/abs/1701.03757v1) +1. [Symbolic Conditioning of Arrays in Probabilistic Programs](http://homes.soic.indiana.edu/pravnar/disintegrate-arrays.pdf) +1. http://probabilistic-programming.org/wiki/Home +1. http://underscore.io/blog/posts/2016/04/21/probabilistic-programming.html +1. https://moalquraishi.wordpress.com/2015/03/29/the-state-of-probabilistic-programming/ +1. https://en.wikipedia.org/wiki/Probabilistic_programming_language +1. https://probmods.org/ +1. http://adriansampson.net/doc/ppl.html +1. http://blog.fastforwardlabs.com/2017/10/02/pp-bibliography.html +1. http://blog.fastforwardlabs.com/2017/01/30/the-algorithms-behind-probabilistic-programming.html +1. https://arxiv.org/abs/1701.03757 +1. [Typed functional probabilistic programming: ready for practical use?](https://www.youtube.com/watch?v=DGZXoi6ehwA) +1. [Generative probabilistic programming: applications and new ideas](https://www.youtube.com/watch?v=M_vG_6pq0XM) +1. [Probabilistic Programming for Programming Languages People](https://github.com/sampsyo/ppl-intro) +1. [Bayesian Methods for Hackers](https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers) +1. [An Introduction to Probabilistic Programming](https://arxiv.org/abs/1809.10756) +1. http://www.stormchecker.org/index.html +1. https://betanalpha.github.io/assets/case_studies/conditional_probability_theory.html +1. https://kaomorphism.com/2019/01/17/How-To-Predict-Any-Three-Events-More-Accurately.html +1. [Probabilistic Programming with Densities in SlicStan: Efficient, Flexible and Deterministic](https://www.youtube.com/watch?v=CXiCJ7M72Wc) + +# DSL + +1. [Embedded probabilistic domain-specific language Hakaru10 (discrete and continuous distributions, MCMC (MH) sampling)](http://okmij.org/ftp/kakuritu/Hakaru10/index.html) +1. https://github.com/p2t2/figaro +1. http://www.robots.ox.ac.uk/~fwood/anglican/ +1. [Probabilistic programming and meta-programming in Clojure - Vikash Mansinghka](https://www.youtube.com/watch?v=KLGwLkmh8gI) + +# Language + +1. https://hakaru-dev.github.io/ +1. http://probcomp.csail.mit.edu/venture/ +1. https://github.com/tjitze/RankPL/ +1. http://turing.guru/ +1. https://eng.uber.com/pyro/ + diff --git a/documentation/research/tool/build_system.md b/documentation/research/tool/build_system.md new file mode 100644 index 000000000..d52222929 --- /dev/null +++ b/documentation/research/tool/build_system.md @@ -0,0 +1,57 @@ +# Exemplar + +1. https://buckbuild.com/ +1. http://boot-clj.com/ +1. http://gulpjs.com/ +1. http://shakebuild.com/ +1. https://ninja-build.org/ +1. https://leiningen.org/ +1. https://github.com/janestreet/jenga +1. https://github.com/apenwarr/redo +1. https://getcook.org/ +1. https://www.python.org/dev/peps/pep-0517/ +1. https://github.com/juxt/mach +1. http://gittup.org/tup/ +1. https://github.com/apple/swift-llbuild +1. https://please.build/ +1. https://github.com/ocaml/dune +1. https://github.com/arrdem/katamari + +# Plugins + +1. https://github.com/sola-da/ConflictJS +1. https://bmuschko.com/blog/gradle-release-strategy/ + +# Packaging + +1. https://neurocline.github.io/papers/survey-of-programming-language-packaging-systems.html + +# Configuration + +1. https://hackernoon.com/configuration-files-suck-6daa9812f601 + +# Dependency + +1. https://github.com/bgard6977/depends + +# Reference + +1. [Non-recursive Make Considered Harmful](https://ndmitchell.com/downloads/paper-non_recursive_make_considered_harmful-22_sep_2016.pdf) +1. https://www.microsoft.com/en-us/research/publication/build-systems-la-carte/ +1. [Build Systems à la Carte](https://www.youtube.com/watch?v=BQVT6wiwCxM) +1. https://medium.freecodecamp.com/how-google-builds-a-web-framework-5eeddd691dea#.1dcuob37h +1. https://www.b-list.org/weblog/2018/apr/25/lets-talk-about-packages/ +1. https://medium.com/npm-inc/announcing-npm-6-5d0b1799a905 +1. http://stackoverflow.com/questions/60764/how-should-i-load-jars-dynamically-at-runtime +1. https://github.com/rksm/flatn +1. https://manifest.fm/ +1. https://enotuniq.org/python_as_a_dsl.html +1. http://www.lihaoyi.com/post/SowhatswrongwithSBT.html +1. [Sean Larkin - Everything is a plugin!! Mastering webpack from the inside out.](https://www.youtube.com/watch?v=NHI_PhoykVU) +1. http://www.lihaoyi.com/post/BuildToolsasPureFunctionalPrograms.html +1. https://pozorvlak.livejournal.com/174763.html +1. https://www.cs.virginia.edu/~dww4s/articles/build_systems.html +1. https://ruudvanasseldonk.com/2018/09/03/build-system-insights +1. https://github.com/l3nz/say-cheez +1. https://clojurescript.org/news/2017-07-12-clojurescript-is-not-an-island-integrating-node-modules + -- cgit v1.2.3