root notes [uts-001O]
root notes [uts-001O]
Learning diary [uts-0018]
Learning diary [uts-0018]
I wish to keep a learning diary, to keep track of partial reading progress, and things learned during making things.
draft notes [uts-0001]
draft notes [uts-0001]
home [index]
home [index]
I'm Utensil Song, my Forester notes are hosted here, mostly about math and tech.
If you are new to Forester, you may wish to check out some tips about Forester.
interests in early years [uts-0166]
interests in early years [uts-0166]
lost notes [uts-0014]
lost notes [uts-0014]
The following are normal leaf notes that are not transcluded by any note, and are not captured by root notes or draft notes, thus might be lost.
Export issues and keep them in the repo [uts-0030]
Export issues and keep them in the repo [uts-0030]
#### utensil opened issue at 2024-05-28 13:58: https://github.com/mattduck/gh2md https://a13xp0p0v.github.io/2023/01/29/mirroring-github-projects.html
Migrate from disqus to giscus [uts-0031]
Migrate from disqus to giscus [uts-0031]
#### utensil opened issue at 2024-03-15 01:31: App: https://giscus.app/ Comments porting done by https://github.com/estruyf/disqus-to-github-discussions Check comments at https://github.com/discussions/commented Ref: Yukaii/daily-oops#31
Investigate egg from Lean [uts-0032]
Investigate egg from Lean [uts-0032]
#### utensil opened issue at 2024-02-11 12:42: - https://github.com/verified-optimization/CvxLean/tree/main/egg-pre-dcp - https://github.com/opencompl/egg-tactic-code
Investigate Knot Theory [uts-0033]
Investigate Knot Theory [uts-0033]
#### utensil opened issue at 2024-02-04 04:07: - https://mathweb.ucsd.edu/~justin/Papers/knotes.pdf - https://fi-le.net/knottingham/ (https://github.com/file-acomplaint/knottingham) : https://arxiv.org/abs/2309.00445 - https://joshuahhh.com/projects/kit/ - https://knotfol.io/ (https://github.com/kmill/knotfolio/tree/master) - https://loopspace.mathforge.org/HowDidIDoThat/TeX/Knots/ - https://github.com/cseed/knotkit #### utensil commented at 2024-02-04 07:44: TTK: IEEE VIS 2020 TTK Tutorial
https://compute.toys/ [uts-0034]
https://compute.toys/ [uts-0034]
#### utensil opened issue at 2023-12-23 12:27:
Investigate formalized philosophies [uts-0035]
Investigate formalized philosophies [uts-0035]
#### utensil opened issue at 2023-09-03 10:30: - Formalisation and Evaluation of Alan Gewirth’s Proof for the Principle of Generic Consistency in Isabelle/HOL - The Inconsistency in Godel’s Ontological Argument: A Success Story for AI in Metaphysics - https://gitlab.com/aossie/ComputationalPhilosophy/ - https://github.com/FormalTheology/GoedelGod/ - Harnessing Higher-Order (Meta-)Logic to Represent and Reason with Complex Ethical Theories - A Case Study on Computational Hermeneutics: E. J. Lowe’s Modal Ontological Argument - Edward Zalta’s Theory of Abstract Objects in Isabelle/HOL - Aristotle's Assertoric Syllogistic - Computational Philosophy - The computational philosophy: simulation as a core philosophical method - Sopholab: Experimental computational philosophy - Combining Moral Theory, Modal Logic and Mas to Create Well-Behaving Artificial Agents - Computational Experiments: Past, Present and Future - An Inquiry into Dialectic Logic
Investigate Osamu Tezuka's Astro Boy "Robot Spaceship" [uts-0037]
Investigate Osamu Tezuka's Astro Boy "Robot Spaceship" [uts-0037]
#### utensil opened issue at 2023-08-23 04:15: Osamu Tezuka's Astro Boy "Robot Spaceship" ## Magma List of Astro Boy chapters | No. | Original release date | Original ISBN | English release date | English ISBN| | -- | -- | -- | -- | --| | 18 | February 3, 2000 | 4-253-06496-5 | August 27, 2003 | 978-1-56971-899-5 | - 51 "The Robot Spaceship" - 28 "Count Bat"017. "Atlas" - 33 "S.O.S. from the Satellite" - 23 "The Mysterious Ball" Astro Boy Chapter 55 : The Robot Spaceship Osamu Tezuka Chronology > Astro Boy "Robot Spaceship" ## TV Series Astro Boy (1963 TV series) episodes | J# | U# | Original title (English)/English Dub titleOriginal Title (Japanese) | Original Air Date (Japan) | Original Air Date (U.S.) | | -- | -- | -- | -- | -- | | 46 | 46 | "The Robot Spaceship" / "The Phantom Space Ship"Transcription: "Robotto Uchū-tei" (Japanese: ロボット宇宙艇) | November 12, 1963 | July 17, 1964 | The robot spaceship Lever Robot is stolen. Astro Boy is sent to retrieve it, but in the process has his energy stolen.
Investigate Standard Model Lagrangian [uts-0036]
Investigate Standard Model Lagrangian [uts-0036]
#### utensil opened issue at 2023-08-23 14:15: - https://github.com/SodiumIodide/Standard-Model-Lagrangian - Standard Model Lagrangian (density) - http://nuclear.ucdavis.edu/~tgutierr/files/sml.pdf - http://nuclear.ucdavis.edu/~tgutierr/files/sml2.pdf - https://web.archive.org/web/20080930061343/http://home.broadpark.no/~aklepp/astri/thesis/node52.html -> https://snip.mathpix.com/utensilcandel/notes/sm-1067c8bd-e019-4b9a-b6ae-135bfe0e5090 - https://web.archive.org/web/20080626142848/http://cosmicvariance.com/2006/11/23/thanksgiving/ -> https://snip.mathpix.com/utensilcandel/notes/3ed0a91c-7e74-4b94-9977-7a8744b03ca6 - Mathematical formulation of the Standard Model - http://www.physics.ufl.edu/~ramond/JourneysChapter2_CUP.pdf - https://www.symmetrymagazine.org/article/the-deconstructed-standard-model-equation?language_content_entity=und - https://www.fe.infn.it/~bettoni/particelle/Strong/SMLagrangian.pdf - https://nuhroego.ch/programming/latex/
Digest Lean 4 materials [uts-0038]
Digest Lean 4 materials [uts-0038]
#### utensil opened issue at 2022-10-04 11:39: * http://outlace.com/Lean_part_1.html * https://typista.org/lean-for-scala-programmers/ * https://icerm.brown.edu/video_archive/?play=2906 #### utensil commented at 2023-08-30 11:05: - https://leanprover.github.io/theorem_proving_in_lean4/ - https://github.com/leanprover-community/lean4-metaprogramming-book - Lean series on writing tactics - Programming Language Foundations in Lean 4 - https://plfa.github.io/ - https://github.com/plfa/plfl - How To Prove It With Lean - authored with Quarto - The mechanics of proof - https://github.com/leanprover-community/mathlib4/wiki/Using-mathlib4-as-a-dependency - https://github.com/haruhisa-enomoto/mathlib4-all-tactics/blob/main/all-tactics.md - https://github.com/bridgekat/filter-game#general-tips - https://github.com/madvorak/lean3-tactic-lean4 - https://github.com/madvorak/lean4-cheatsheet/blob/main/lean-tactics.pdf - https://github.com/siddhartha-gadgil/proofs-and-programs-2023 - https://leanprover-community.github.io/contribute/naming.html - https://github.com/leanprover-community/mathlib4/wiki/Porting-wiki#naming-convention - https://leanprover-community.github.io/extras/tactic_writing.html - https://github.com/ianjauslin-rutgers/pythagoras4/ - https://ericwieser.me/ #### utensil commented at 2023-11-28 14:18: Informalize: - https://leanprover-community.github.io/format_lean/example/sandwich.html - https://www.imo.universite-paris-saclay.fr/~patrick.massot/Examples/ContinuousFrom.html 15-815 Automated Theorem Proving: https://www.cs.cmu.edu/~fp/courses/99-atp/schedule.html #### utensil commented at 2023-12-23 10:24: Lean Phrase book: https://docs.google.com/spreadsheets/u/0/d/1Gsn5al4hlpNc_xKoXdU6XGmMyLiX4q-LFesFVsMlANo/htmlview
Digest UvA DL 1&2 [uts-0039]
Digest UvA DL 1&2 [uts-0039]
#### utensil opened issue at 2022-10-04 11:14: * https://uvadlc-notebooks.readthedocs.io/ * https://uvadl2c.github.io/ with * https://fleuret.org/dlc/ * https://www.cs.cornell.edu/courses/cs4780/2018fa/lectures/ * https://www.rollpie.com/@pie
Investigate math related to Origami [uts-0040]
Investigate math related to Origami [uts-0040]
#### utensil opened issue at 2019-04-09 09:52: - A New Formalization of Origami in Geometric Algebra - Origami Code - planar graph library for representing crease patterns and performing origami operations - doc - code - A Mathematica module for Conformal Geometric Algebra and Origami Folding - code - paper - Origami Fold as Algebraic Graph Rewriting - O2, O5, and O6 are the only essential axioms - paper - The eighth axiom by exhaustive analysis of all possible incidences - paper - Origami Folds in Higher-dimension - Origami and Geometric Constructions - article - paper - Euclides vs. Origami - Computational origami system eos. In Proc - Huzita–Hatori axioms - The power of origami - Axioms of Origami - Origami on Wolfram Mathworld Other resources: - Proving and Solving in Computational Origami #### utensil commented at 2019-04-15 13:52: It turns out Geometric Algebra: a tutorial for graphics programmers and Ganja starterkit : PGA3D P(R*3,0,1) are much more helpful to understand Origami with Geometric Algebra.
Give up understanding Sir Atiyah's proof [uts-0041]
Give up understanding Sir Atiyah's proof [uts-0041]
#### utensil opened issue at 2018-10-04 08:43: - https://aperiodical.com/2018/09/michael-atiyah-claims-proof-of-riemann-hypothesis/ - https://math.stackexchange.com/questions/2930742/what-is-the-todds-function-in-atiyahs-paper - https://www.reddit.com/r/math/comments/9igc4d/atiyahs_lecture_on_the_riemann_hypothesis/e6jqeec/ - https://mathoverflow.net/questions/311280/what-is-the-definition-of-the-function-t-used-in-atiyahs-attempted-proof-of-the/311297#311297 - https://meta.mathoverflow.net/questions/3894/is-there-a-way-to-discuss-the-correctness-of-the-proof-of-the-rh-by-atiyah-in-mo - https://www.youtube.com/watch?v=jXugkzFW5qY - https://old.reddit.com/r/math/comments/9ig4ei/atiyahs_computation_of_the_fine_structure/ - https://arxiv.org/pdf/1708.02653.pdf - https://hal.archives-ouvertes.fr/hal-01804653/document
Investigate queues and locks in C++ and rust [uts-0043]
Investigate queues and locks in C++ and rust [uts-0043]
#### utensil opened issue at 2018-10-04 08:33: - https://github.com/Amanieu/parking_lot - https://webkit.org/blog/6161/locking-in-webkit/ - https://plhk.ru/trash/netmap-20160710.pdf - https://crates.io/crates/bounded-spsc-queue - the possibility to use boost::interprocess in rust or find an equivalent lib - implement simple epoll-based stuff in C/C++ style in Rust using https://doc.rust-lang.org/1.7.0/libc/index.html - stress test like http://kernel.ubuntu.com/~cking/stress-ng/stress-ng.pdf
Understand Monad in Haskell and Rust [uts-0042]
Understand Monad in Haskell and Rust [uts-0042]
#### utensil opened issue at 2018-10-04 08:36: - http://learnyouahaskell.com/ (read for syntax, too verbose on monad) - https://github.com/anton-k/monads-for-drummers (read, well written) - bridge between Rust and Haskell - https://hoverbear.org/2014/08/12/option-monads-in-rust/ - http://xion.io/post/programming/rust-into-haskell.html
Examine limitations of Floating Point Arithmetic [uts-0044]
Examine limitations of Floating Point Arithmetic [uts-0044]
#### utensil opened issue at 2018-09-29 09:09: Add tests to explain and verify them. - https://www.exploringbinary.com/why-0-point-1-does-not-exist-in-floating-point/ - https://www.exploringbinary.com/floating-point-questions-are-endless-on-stackoverflow-com/ - https://docs.python.org/3/tutorial/floatingpoint.html - https://floating-point-gui.de/basic/ - https://github.com/vpiotr/decimal_for_cpp - https://www.boost.org/doc/libs/1_66_0/libs/multiprecision/doc/html/index.html - https://en.wikipedia.org/wiki/Floating-point_arithmetic#Accuracy_problems #### utensil commented at 2023-09-03 09:46: https://egraphs-good.github.io/egglog/?example=herbie
Investigate Paxos-related with TLA+ in mind [uts-0045]
Investigate Paxos-related with TLA+ in mind [uts-0045]
#### utensil opened issue at 2018-09-26 06:22: - Paxos - https://zhuanlan.zhihu.com/p/21895686 - http://rystsov.info/2016/05/01/paxos.html#visualization - Raft - https://raft.github.io/slides/raftuserstudy2013.pdf - http://thesecretlivesofdata.com/raft/ - http://open.qiniudn.com/ecug-2016/thought-of-tidb-tech-choices.pdf - https://github.com/pingcap/raft-rs/blob/master/examples/single_mem_node/main.rs - https://www.jianshu.com/p/81fe3e4f51a5 - http://hustcat.github.io/go_raft_in_etcd/ - ZK - https://blog.acolyer.org/2015/01/27/zookeeper-wait-free-coordination-for-internet-scale-systems/ - ZAB: http://www.solinx.co/archives/435 - ZAB: https://my.oschina.net/u/1378920/blog/914215 - Raft vs. ZAB: https://my.oschina.net/pingpangkuangmo/blog/782702 - Vs. - http://jonathanb.me/DistributedConsensusProtocols.pdf - https://zhuanlan.zhihu.com/p/31119178 - http://baotiao.github.io/2017/11/08/state-machine-vs-primary-backup/ - TLA+ - https://lamport.azurewebsites.net/tla/summary.pdf - MySQL MGR - http://mysqlhighavailability.com/order-from-chaos-member-coordination-in-group-replication/ - http://mysqlhighavailability.com/the-king-is-dead-long-live-the-king-our-homegrown-paxos-based-consensus/ - http://mysqlhighavailability.com/good-leaders-are-game-changers-raft-paxos/ - https://www.slideshare.net/alfranio1/group-replication-a-journey-to-the-group-communication-core-71845289 - http://paxos.systems/variants.html - Replicated State Machine in Wide-area Networks #### utensil commented at 2023-08-24 03:21: - https://github.com/leanprover-community/iris-lean (updated: 3 weeks ago) - has: Higher-Order Concurrent Separation Logic - ref: https://iris-project.org/ - https://github.com/loganrjmurphy/lean-temporal (updated: Nov 11, 2020) - has: LTL (Linear Temporal Logic) + CTL (Computational Tree Logic) - ref: Baier, Christel, and Joost-Pieter Katoen. Principles of model checking. MIT press, 2008 - https://github.com/unitb/temporal-logic (updated: Nov 1, 2018) - has: LTL + refinement - ref: https://lean-forward.github.io/lean-together/2019/slides/hudon.pdf - see also: - its usage in unitb-semantics, ref: https://arxiv.org/abs/1810.10143 - separation-logic - https://github.com/GaloisInc/lean-protocol-support/tree/master/galois/temporal (updated: Sep 22, 2017) - has: LTL + LTS (Labelled Transition System) - ref: Roberto Gorrieri. Process Algebras for Petri Nets: The Alphabetization of Distributed Systems. Springer, 2017 - https://pron.github.io/posts/tlaplus_part1 - https://github.com/HappyCS-Gu/Parallel-Raft-tla - https://github.com/fpaxos/raft.tla - https://github.com/uwplse/verdi
Compile a short list for Rust Introduction [uts-0046]
Compile a short list for Rust Introduction [uts-0046]
#### utensil opened issue at 2018-08-18 05:51: Includes slides and videos. #### utensil commented at 2018-08-18 08:08: - Getting Started - Learn Rust in Y Minutes - Rust for Rubyists— Idiomatic Patterns in Rust and Ruby - Rust By Example - Ownership & Lifetime - C vs. Rust - Intro To Rust - Rust: Unlocking Systems Programming - Aaron Turon - Unraveling Rust Design - Ownership System in Rust - Intro to the Rust programming language [Video] [Slides] - "The Rust Programming Language" - Aaron Turon of Mozilla [Video] - Better - Idiomatic Rust - Writing Concise and Elegant Rust Code [Video] [Slides] by @mre - FOSDEM 2018 - Idiomatic Rust Libraries [Video] [Slides] by @killercup - Rustfest Kiev - Rust Design Patterns - Exercises - Rust: The Basics - rustlings - Small exercises to get you used to reading and writing Rust code - Exercism #### utensil commented at 2018-08-18 12:36: Closed with https://github.com/utensil/rust-playground/commit/5213a26038c5a48183e28dcb0da0193791fce65b #### utensil commented at 2019-01-16 02:50: - https://people.gnome.org/~federico/blog/propagating-errors.html - http://joeduffyblog.com/2016/02/07/the-error-model/ - https://blogs.gentoo.org/lu_zero/2018/12/30/making-and-using-c-compatible-libraries-in-rust-present-and-future/
Learn by solving problems [uts-0047]
Learn by solving problems [uts-0047]
#### utensil opened issue at 2017-12-01 14:33: https://brilliant.org/
Try these clouds [uts-0048]
Try these clouds [uts-0048]
#### utensil opened issue at 2017-11-07 06:16: - https://glitch.com/ - https://www.floydhub.com/ - https://notebooks.azure.com/utensil/libraries - https://www.mtyun.com/console2/dls/hdfs/ #### utensil commented at 2022-10-04 10:53: * https://lambdalabs.com/service/gpu-cloud * https://gradio.app/
Investigate AlphaGo Zero [uts-0049]
Investigate AlphaGo Zero [uts-0049]
#### utensil opened issue at 2017-11-04 15:38: Other Go AI: * [ ] https://senseis.xmp.net/?GoPlayingPrograms * [ ] https://github.com/brilee/MuGo - [ ] https://github.com/llSourcell/alphago_demo * [ ] https://github.com/gcp/leela-zero * [ ] https://github.com/zakki/Ray * [ ] https://github.com/Rochester-NRT/RocAlphaGo * [ ] https://github.com/facebookresearch/darkforestGo * [ ] https://github.com/peter1591/hearthstone-ai * [ ] https://github.com/maxpumperla/betago Go Data: * [ ] https://github.com/B-C-WANG/AlphaGo-Zero-Paper * [ ] https://github.com/yenw/computer-go-dataset AlphaGo Zero related papaers: * [ ] The Grand Challenge of Computer Go: Monte Carlo Tree Search and Extensions * [ ] A Survey of Monte Carlo Tree Search Methods AlphaGo Zero related repos/issues/blogs/discusion: * [ ] 如何评价 DeepMind 发表在 Nature 上的 AlphaGo Zero? * [ ] https://github.com/MathAndAlgo/DiscussionBoard/issues/ 2 * [ ] 深入浅出看懂AlphaGo元 * [ ] https://github.com/Yoctol/AlphaGoZero/blob/master/PAPER-NOTE-ZH-TW.md #### utensil commented at 2017-11-26 07:10: http://www.gnu.org/software/gnugo/gnugo_19.html http://www.waterfire.us/joseki.htm http://gobase.org/studying/articles/matthews/shape_up/Introduction.pdf https://en.wikipedia.org/wiki/List_of_Go_terms https://senseis.xmp.net/?BoomerangShape https://www.sjeng.org/leela.html
Investigate OpenCL [uts-0050]
Investigate OpenCL [uts-0050]
#### utensil opened issue at 2017-11-04 14:29: * [ ] https://github.com/hughperkins/tf-coriander/blob/master/doc/installation.md * [ ] https://streamhpc.com/blog/2011-12-29/opencl-hardware-support/ * [ ] https://software.intel.com/en-us/intel-opencl * [ ] https://github.com/clMathLibraries/clBLAS * [ ] https://github.com/mikeseven/node-opencl * [ ] http://www.luxrender.net/wiki/LuxMark#Binaries
Geometric Algebra (GA) [uts-0051]
Geometric Algebra (GA) [uts-0051]
#### utensil opened issue at 2017-10-07 17:20: Books and Lectures ---------------------- * http://geocalc.clas.asu.edu/GA_Primer/GA_Primer/index.html * http://geocalc.clas.asu.edu/html/Intro.html * http://www.geometricalgebra.net/index.html * http://www.gaalop.de/ga-computing-lecture/ Papers ---------- * Advances in Applied Clifford Algebras * Geometric Algebra as a Unifying Language for Physics and Engineering and Its Use in the Study of Gravity * The Genesis of Geometric Algebra: A Personal Retrospective * Automatic Multivector Differentiation and Optimization * https://github.com/spencerparkin/MathPapers Libraries ---------- * https://github.com/brombo/galgebra * https://github.com/enkimute/ganja.js * https://github.com/geogebra/geogebra * http://www.clucalc.info/ * https://github.com/tingelst/game * https://github.com/wolftype/versor * https://github.com/weshoke/versor.js * http://www.gaalop.de/ People ---------- * Alan Macdonald * https://github.com/brombo * https://github.com/spencerparkin * https://github.com/enkimute * https://github.com/wolftype * https://github.com/tingelst #### utensil commented at 2018-10-04 08:38: http://geometry.mrao.cam.ac.uk/ #### utensil commented at 2019-03-23 12:49: - Cohl Furey - https://arxiv.org/search/hep-th?searchtype=author&query=Furey- https://www.youtube.com/channel/UCvsmxUuD5ZdOGittaeosXMA - Ovidiu Cristinel Stoica - https://arxiv.org/search/hep-th?searchtype=author&query=Stoica- https://orcid.org/0000-0002-2765-1562 - https://www.quora.com/profile/Cristi-Stoica - http://www.math.umd.edu/~wmg/gstom.pdf #### utensil commented at 2022-10-04 11:11: * The Geometry of 3DPGA products * Normalisation, Square roots and the Exponential and Logarithmic maps in geometric algebras <6D * May The Forque Be With You * Slide: Plane-Based Geometric Algebra * Slide: Graphics Applications of Geometric Algebra * gaalopweb #### utensil commented at 2023-09-03 09:52: - https://github.com/tBuLi/kingdon/blob/master/docs/usage.rst - https://github.com/sudgy/sga/blob/master/sga.hpp - https://github.com/Lichtso/geometric_algebra - https://bivector.net/tools.html?p=3&q=0&r=1 - https://nalgebra.org/
Investigate UX tools and workflow [uts-0052]
Investigate UX tools and workflow [uts-0052]
#### utensil opened issue at 2017-02-18 07:46: - https://github.com/gztchan/awesome-design - https://www.justinmind.com/ - http://uxchecklist.github.io/ - http://uxrecipe.github.io/ - http://www.conceptdraw.com/
Loose ends in 2016 [uts-0053]
Loose ends in 2016 [uts-0053]
#### utensil opened issue at 2017-01-19 06:28: Mac: - [ ] https://gitgud.io/unconed/mathbox - [ ] http://www.softpanorama.org/Tools/Find/using_exec_option_and_xargs_in_find.shtml - [ ] http://electron.atom.io/docs/development/clang-format/ - [ ] http://macappstore.org/electron/ - [ ] https://github.com/decosoftware/deco-ide - [ ] https://github.com/rodrigogs/easyvpn - [ ] https://github.com/react-community/react-navigation - [ ] https://github.com/bfirsh/whalebrew - [ ] https://cerebroapp.com/ PC: - [ ] http://www.nature.com/news/quantum-computers-ready-to-leap-out-of-the-lab-in-2017-1.21239 - [ ] https://gitlab.com/thomasl/tensorflow-for-poets - [ ] http://playground.tensorflow.org/ - [ ] http://sourcey.com/libsourcey/examples/ - [ ] http://fileadmin.cs.lth.se/cs/Personal/Calle_Lejdfors/pygpu/ - [ ] https://pypi.python.org/pypi/gpustat/0.2.0 - [ ] https://ubuntuforums.org/showthread.php?t=238672 - [ ] Chop wood, carry water by Rick fields - [ ] http://users.ices.utexas.edu/~hughes/news-items.html - [ ] Isogeometric Analysis: Past, Present, Future - [ ] http://www.thefreedictionary.com/ergo - [ ] Deep-Learning-Based Classification for DTM Extraction from ALS Point Cloud - [ ] https://www.amazon.cn/s/ref=lp_2045366051_nr_n_7?fst=as- [ ] https://github.com/BabylonJS/Babylon.js - [ ] https://github.com/stackgl/headless-gl - [ ] https://simulatedgreg.gitbooks.io/electron-vue/content/index.html - [ ] https://github.com/kennethreitz/python-guide - [ ] http://www.thegeekstuff.com/2010/05/unix-background-job/ - [ ] https://github.com/verekia/js-stack-from-scratch - [ ] ... DL: - [ ] http://lasagne.readthedocs.io/en/latest/index.html - [ ] https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap - [ ] Multiple Object Class Detection & Localization with Deep Learning (CNN) - [ ] Ordinal Regression with Multiple Output CNN for Age Estimation - [ ] https://github.com/gliese581gg/YOLO_tensorflow - [ ] http://pjreddie.com/darknet/ - [ ] https://github.com/sunshineatnoon/Darknet.keras - [ ] http://pjreddie.com/darknet/yolo/ online IDE: - https://codesandbox.io/docs/
Learn about Alexander Grothendieck [uts-0054]
Learn about Alexander Grothendieck [uts-0054]
#### utensil opened issue at 2016-12-17 06:55: * http://www.dam.brown.edu/people/mumford/blog/2014/Grothendieck.html * http://www.nature.com/nature/journal/v517/n7534/full/517272a.html
Write a blog about docker [uts-0055]
Write a blog about docker [uts-0055]
#### utensil opened issue at 2016-11-29 03:44: #### utensil commented at 2023-08-29 05:51: ``` sudo docker run --gpus all --name llm --shm-size=8g -p 1111:1111 nvcr.io/nvidia/pytorch:22.12-py3 bash -c 'sleep infinity' sudo docker exec -it llm bash ```
Magic Numbers: Integers [uts-0056]
Magic Numbers: Integers [uts-0056]
#### utensil opened issue at 2016-11-25 06:51: https://msdn.microsoft.com/en-us/library/ee621251.aspx
Add plan 2008 [uts-0057]
Add plan 2008 [uts-0057]
#### utensil opened issue at 2016-11-20 13:03: # 2008年人生规划 人生始终是我所不懂得的东西,人生里境遇的流转始终令我讶异。2008,这个注定是多事之秋的年份,站在它面前的我,竟是另一个我。2007,所记取的,所流失的,所有隽永的凝刻,所脱落的,所建立的,所有眼中的光芒。心中的星辰依然如蒲公英般散布于头顶的苍穹,一样晶莹的感激又从心尖滴下。2008里,生活着、前行着的我。
Add handy links to site [uts-0058]
Add handy links to site [uts-0058]
#### utensil opened issue at 2016-10-02 07:46: - http://linggle.com/# - links from http://so.chongbuluo.com/ - http://devdocs.io/ - links from http://shedingkong.lofter.com/
Add latest poems [uts-0059]
Add latest poems [uts-0059]
#### utensil opened issue at 2016-09-14 15:01: 2013-07-07 写于母校老校区: 徐风草荷香,迟波逸思漾。 叶雨洒苔阶,抚卷掩幽肠。 《补天》2013-11-19 每每功亏谁知苦,夙愿得偿笑颜开。 累年残疾一朝愈,流失用户还复来。 2016-09-26 战时 弛弓引势砺筋骨, 逐猎令出箭夺的。 就材起灶拼白刃, 莫待兵成恨狼藉。 2015-10-17 花开招展冬日春, 琉璃如镜映影只。 心思渴望逾墙去, 此身仍在樊笼中。 2016-10-18 18:52 疹热 反侧眠未安, 煎熬口难言。 楚泪湿枕席, 内焚红耳弯。 父母千重忧, 诊者一言宽。 轻身脱漩涡, 复得天伦欢。
Investigate Netflix/SimianArmy [uts-0060]
Investigate Netflix/SimianArmy [uts-0060]
#### utensil opened issue at 2016-09-06 08:25:
Arts [uts-0061]
Arts [uts-0061]
#### utensil opened issue at 2016-09-03 07:35: - https://www.google.com/culturalinstitute/beta/ - https://gallerix.asia/
Write Chinese Ancient Poem Linter [uts-0062]
Write Chinese Ancient Poem Linter [uts-0062]
#### utensil opened issue at 2016-09-01 12:34: - https://github.com/liangqi/zhsc-qt - https://github.com/GITenberg/Chinese-Poems_37938 - https://github.com/GITenberg/A-Hundred-and-Seventy-Chinese-Poems_42290 - https://github.com/charsunny/PoemApp - https://github.com/rainrambler/PoemStar - https://github.com/lijiancheng0614/poem_generator - https://github.com/hx364/Chinese_Poem_RNN - https://github.com/ManfredVon/Poem - https://github.com/todototry/AncientChinesePoemsDB - https://github.com/XingxingZhang/rnnpg - https://github.com/fumin/ntm - https://github.com/ckmarkoh/AcrosticPoem - https://github.com/mozillazg/python-pinyin - https://github.com/letiantian/Pinyin2Hanzi - https://github.com/hotoo/pinyin - https://github.com/overtrue/pinyin - https://github.com/stuxuhai/jpinyin - https://github.com/letiantian/ChineseTone - https://github.com/letiantian/mini-pinyin - https://github.com/iensu/pinyinizer
Investigate v8 profiling [uts-0063]
Investigate v8 profiling [uts-0063]
#### utensil opened issue at 2016-08-19 08:21: - [ ] http://www.willvillanueva.com/the-node-js-profiling-guide-that-hasnt-existed-finding-the-cause-of-a-memory-leak-using-heap-snapshots-part-3/ - [ ] https://github.com/bnoordhuis/node-heapdump - [ ] https://strongloop.com/strongblog/how-to-heap-snapshots/ - [ ] https://github.com/node-inspector/v8-profiler/blob/master/src/heap_profiler.cc - [ ] https://addyosmani.com/blog/taming-the-unicorn-easing-javascript-memory-profiling-in-devtools/ - [ ] https://developer.chrome.com/devtools/docs/memory-analysis-101
Investigate Customer Journey Map [uts-0064]
Investigate Customer Journey Map [uts-0064]
#### utensil opened issue at 2016-08-14 08:04: - http://uxmastery.com/how-to-create-a-customer-journey-map/ - http://bigdoor.com/blog/2013/11/01/a-quick-guide-to-customer-journey-mapping/ - http://visual.ly/customer-journey-map
Investigate frp [uts-0066]
Investigate frp [uts-0066]
#### utensil opened issue at 2016-08-12 16:03: https://github.com/fatedier/frp
Investigate tiny-dnn [uts-0065]
Investigate tiny-dnn [uts-0065]
#### utensil opened issue at 2016-08-12 16:05: - https://github.com/tiny-dnn/tiny-dnn - https://github.com/edgarriba/DeepRosetta
Investigate Thai Alphabet [uts-0067]
Investigate Thai Alphabet [uts-0067]
#### utensil opened issue at 2016-07-18 02:35: https://www.pinterest.com/explore/thai-alphabet/
Experiment with saguijs/sagui [uts-0068]
Experiment with saguijs/sagui [uts-0068]
#### utensil opened issue at 2016-07-06 02:19:
Investigate Forkner Shorthand [uts-0069]
Investigate Forkner Shorthand [uts-0069]
#### utensil opened issue at 2016-06-29 06:06: - https://greggshorthand.blogspot.com/2015/11/for-those-shorthand-history-enthusiasts.html - http://alfabetter.blogspot.com/2014/11/some-information-about-forkner.html
Investigate Collation in MySQL [uts-0070]
Investigate Collation in MySQL [uts-0070]
#### utensil opened issue at 2016-06-23 02:47: See http://dev.mysql.com/doc/refman/5.7/en/charset-collation-effect.html . ``` bash echo -n 德|iconv -f 'utf-8' -t 'GBK'|xxd -p b5c2 echo -n 得|iconv -f 'utf-8' -t 'GBK'|xxd -p b5c3 ```
Collect Chrestomathy for languages I like [uts-0071]
Collect Chrestomathy for languages I like [uts-0071]
#### utensil opened issue at 2016-06-19 14:44: See Chrestomathy.
Collect good Visual Programming Languages [uts-0072]
Collect good Visual Programming Languages [uts-0072]
#### utensil opened issue at 2016-06-16 07:27: Just like in http://blog.interfacevision.com/design/design-visual-progarmming-languages-snapshots/ . Some that I prefer: Alice: !image MIT App Inventor: !image Hopscotch: !image See also http://hopscotch-curriculum-files.s3.amazonaws.com/Hopscotch Modkit: !image Scratch: !image Snap!: !image StroyCode: !image Tynker: !image
Consider symbolic DL/Nupic challenges [uts-0073]
Consider symbolic DL/Nupic challenges [uts-0073]
#### utensil opened issue at 2016-06-10 10:08: Aside from https://gym.openai.com/docs : Consider symbolic arithmetic, `12 + 34 - 56`. Feed every digit and operator as a scalar. Get out digits. It's easy to generate different permutations of inputs and calculate correct outputs. Can DL or Nupic learn this?
Investigate the neurobiology of dreaming [uts-0074]
Investigate the neurobiology of dreaming [uts-0074]
#### utensil opened issue at 2016-06-10 07:34: - https://harvardneuro.wordpress.com/2016/02/25/the-neurobiology-of-dreaming/ - http://neurosciencenews.com/consciousness-lucid-dreaming-3363/ - http://scienceblogs.com/cortex/2006/12/19/the-neuroscience-of-dreaming/ Papers: - [ ] Synaptic Mechanisms of Memory Consolidation during Sleep Slow Oscillations. - [ ] The Benefits of Targeted Memory Reactivation for Consolidation in Sleep are Contingent on Memory Accuracy and Direct Cue-Memory Associations. - [ ] Coordinated memory replay in the visual cortex and hippocampus during sleep
Investigate secure tunnels [uts-0075]
Investigate secure tunnels [uts-0075]
#### utensil opened issue at 2016-06-05 13:37: - http://www.banjx.com/ See also: http://stackoverflow.com/questions/2607425/is-google-s-cdn-for-jquery-available-in-china/22060903#22060903
Literature consumption(Continously updating...) [uts-0076]
Literature consumption(Continously updating...) [uts-0076]
#### utensil opened issue at 2016-06-05 13:12: Literature consumption(Continuously updating...): - [ ] The Gardener - [ ] No Fear Shakespeare - [ ] Quotes for Captain Malcolm 'Mal' Reynolds
Find good file syncing solutions [uts-0077]
Find good file syncing solutions [uts-0077]
#### utensil opened issue at 2016-06-01 05:55: - https://www.box.com/pricing/ - https://drive.google.com/drive/my-drive - https://getsync.com/buy/pricing
Collect building blocks for a bot to answer questions in a Wechat group [uts-0079]
Collect building blocks for a bot to answer questions in a Wechat group [uts-0079]
#### utensil opened issue at 2016-05-28 08:22: ## Knowledge source - wikipedia, use https://dumps.wikimedia.org/ , enwiki is around 12G - zhihu, use https://github.com/egrcc/zhihu-python , see also https://github.com/simoncos/zhihu-analysis-python - google/bing/yahoo search results - khan/coursera/udacity classes - scholar search results - stackoverflow and quora answers - sougou search result for zhihu answers and wechat articles - ...... ## NLP process - https://en.wikipedia.org/wiki/Automatic_summarization - TextRank: Bringing Order into Texts - Viterbi algorithm - Wordnet - Topic model, see also https://github.com/bigartm/bigartm-book - https://github.com/tensorflow/models/tree/master/research/syntaxnet - https://github.com/fxsjy/jieba - https://github.com/yozhao/IKAnalyzer - ICTCLAS, see https://github.com/xunyuw/ICTCLASDemo - http://utensil.github.io/tech/2011/10/26/chinses-segment.html - TF-IDF, see also https://github.com/nkottary/Help.jl ## WeChat bot https://github.com/liuwons/wxBot ## Rule-based chat bot https://github.com/node-webot/webot #### utensil commented at 2017-10-11 12:40: https://github.com/Breakend/DialogDatasets
Taste Computational Conformal Geometry [uts-0080]
Taste Computational Conformal Geometry [uts-0080]
#### utensil opened issue at 2016-05-28 07:23: - http://www.tsinghua.edu.cn/publish/cs/8207/2014/20140305132115249838379/20140305132115249838379_.html - http://www.math.stonybrook.edu/~ccg2007/ #### utensil commented at 2023-09-12 11:35: https://cn.comsol.com/multiphysics/finite-element-method
Write a blog about daily Cryptography [uts-0078]
Write a blog about daily Cryptography [uts-0078]
#### utensil opened issue at 2016-05-28 08:46: - password: bcrypt, PBKDF2 - digest: md5, sha1,sha256 - sym encryption: des, 3des, aes(128, 192 and 256), twofish(see http://keepass.info/) and Block cipher mode of operation - RSA, DSA - https://github.com/crypto101/book - http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.7274&rep=rep1&type=pdf #### utensil commented at 2016-07-05 13:35: Introduce basic encoding/decoding first: - meta characters in protocol design - url encode and variants - base64 and variants #### utensil commented at 2016-07-22 07:01: https://github.com/FallibleInc/security-guide-for-developers #### utensil commented at 2017-02-25 08:23: http://www.2uo.de/myths-about-urandom/ #### utensil commented at 2017-02-27 13:04: - https://github.com/zbetcheckin/Security_list - https://github.com/PaulSec/awesome-sec-talks - https://github.com/sbilly/awesome-security - https://github.com/carpedm20/awesome-hacking - https://github.com/danielmiessler/SecLists - https://github.com/teesloane/Auth-Boss #### utensil commented at 2017-03-09 04:59: https://github.com/forter/security-101-for-saas-startups https://github.com/Hacker0x01/hacker101
Visualize sorting algorithms [uts-0081]
Visualize sorting algorithms [uts-0081]
#### utensil opened issue at 2016-05-27 04:29: http://www.cricode.com/3212.html #### utensil commented at 2016-05-28 08:50: Related to #42 an #62 #### utensil commented at 2016-06-06 07:39: https://github.com/parkjs814/AlgorithmVisualizer #### utensil commented at 2016-06-08 11:00: https://github.com/raywenderlich/swift-algorithm-club #### utensil commented at 2017-11-13 05:47: https://www.toptal.com/developers/sorting-algorithms/ http://panthema.net/2013/sound-of-sorting/ #### utensil commented at 2017-11-16 15:09: https://github.com/keon/algorithms https://github.com/OpenGenus/cosmos
Write a blog about my thoughts on Physics [uts-0082]
Write a blog about my thoughts on Physics [uts-0082]
#### utensil opened issue at 2016-05-25 07:31: Some key points: - acceptance of uncertainty - breakthrough of ideology - unity of mathematical methods from different areas - experimental phenomenon that can't be explained or current explanations is ugly or contain unexplained parameters: dark energy - astronomy and condensed physics, the universe reveals itself by many layers, just like designed for interpretation - limitations on high energy physics posed by society - against perturbation theory, prefer structure - geometric algebra, manifold, topology, holographic principle, gauge theory, knot theory, category theory... - M-theory #### utensil commented at 2016-05-27 16:38: From http://www.sns.ias.edu/witten/ : - http://www.sns.ias.edu/ckfinder/userfiles/files/Reflections(3).pdf - http://www.sns.ias.edu/ckfinder/userfiles/files/Knot-Article-Spring2011(2).pdf - http://www.sns.ias.edu/ckfinder/userfiles/files/2015_Phys_Today.pdf #### utensil commented at 2022-10-04 10:52: Follow some Physics-ish blogs: * https://robwilson1.wordpress.com/ * https://thematterofspace.com/ * https://tritonstation.com/2022/08/11/by-the-wayside/ * https://golem.ph.utexas.edu/category/ * https://www.nasa.gov/webbfirstimages
Learn open courses from MIT [uts-0083]
Learn open courses from MIT [uts-0083]
#### utensil opened issue at 2016-05-24 15:45: - [ ] Category Theory for Scientists - [ ] Geometry and Quantum Field Theory - [ ] Introduction to Topology - [ ] Applied Geometric Algebra - [ ] Geometry of Manifolds - [ ] The Early Universe - [ ] String Theory for Undergraduates - [ ] Video Demonstrations in Lasers and Optics - [ ] Physics Demonstration Videos - [ ] Algebraic Topology - [ ] Algebraic Topology II - [ ] Introduction to Analysis - [ ] Algebraic Geometry - [ ] Adventures in Advanced Symbolic Programming - [ ] Quantum Physics I - [ ] Quantum Physics II - [ ] Effective Field Theory - [ ] Linear Algebra, see also zh_cn version --- - [ ] Seminar in Geometry - [ ] Behavior of Algorithms - [ ] Introduction to Algorithms - [ ] Quantum Computation - [ ] Quantum Information Science - [ ] Calculus with Applications - [ ] Introduction to Modeling and Simulation - [ ] Mechanics of Material Systems: An Energy Approach - [ ] Electromagnetics and Applications - [ ] Unified Engineering I, II, III, & IV - [ ] Introductory Quantum Mechanics I - [ ] Introductory Quantum Mechanics II - [ ] Applied Quantum and Statistical Physics - [ ] Quantum Complexity Theory - [ ] Quantum Theory I - [ ] Quantum Theory II - [ ] Relativistic Quantum Field Theory I - [ ] Relativistic Quantum Field Theory II - [ ] Relativistic Quantum Field Theory III - [ ] Theory of Solids I - [ ] Theory of Solids II - [ ] Many-Body Theory for Condensed Matter Systems - [ ] String Theory and Holographic Duality - [ ] String Theory - [ ] Computational Quantum Mechanics of Molecular and Extended Systems - [ ] Classical Mechanics: A Computational Approach - [ ] Topics in Fluid Dynamics - [ ] Exploring Black Holes: General Relativity & Astrophysics - [ ] Systems Biology
Make a slide about Visual Group Theory [uts-0084]
Make a slide about Visual Group Theory [uts-0084]
#### utensil opened issue at 2016-05-21 00:04:
Use Overleaf to write papers in LaTeX [uts-0085]
Use Overleaf to write papers in LaTeX [uts-0085]
#### utensil opened issue at 2016-05-20 06:16: https://www.overleaf.com/dash
Utilize sites to find papers, articles, books and data [uts-0086]
Utilize sites to find papers, articles, books and data [uts-0086]
#### utensil opened issue at 2016-05-19 17:16: ## Papers - https://www.base-search.net/ - CS: http://dblp.uni-trier.de/ - Philosophy: http://plato.stanford.edu/ - Stat: http://www.ats.ucla.edu/stat/ - ScienceDirect? http://www.sciencedirect.com/ - http://www.goole.com/ ## Articles & Journals - http://www.findarticles.com/ - Math: http://www.ams.org/mathscinet/ ## Books - http://gen.lib.rus.ec/ - http://en.booksee.org/ - http://bookzz.org/ ## Data - http://www.tjsql.com/ ## ? - https://workflowy.com/ - https://www.archive.org/
Digest ML/NLP/CV/CG reading materials [uts-0087]
Digest ML/NLP/CV/CG reading materials [uts-0087]
#### utensil opened issue at 2016-05-17 16:14: ML Top: - [ ] Deep Learning School 2016: Individual Talks - [ ] Online Course on Neural Networks - [ ] https://github.com/fchollet/keras-resources - [ ] http://scikit-learn.org/stable/user_guide.html - [ ] https://github.com/lamblin/bayareadlschool - [ ] http://deeplearning.net/datasets - [ ] https://github.com/alrojo/tensorflow-tutorial - [ ] Deep Learning Summer School, Montreal 2016 - [ ] Unsupervised Feature Learning and Deep Learning - [ ] CS224d: Deep Learning for Natural Language Processing - [ ] CS231n: Convolutional Neural Networks for Visual Recognition - [ ] https://github.com/baidu-research/ba-dls-deepspeech - [ ] https://github.com/tiny-dnn/tiny-dnn - [ ] https://github.com/dennybritz/reinforcement-learning - [ ] https://github.com/Tetrachrome/subpixel - [ ] https://github.com/mxgmn/WaveFunctionCollapse - [ ] https://github.com/SullyChen/Nvidia-Autopilot-TensorFlow - [ ] https://github.com/thoughtfulml/examples-in-python - [ ] http://statweb.stanford.edu/~tibs/ElemStatLearn/ - [ ] https://github.com/johnmyleswhite/ML_for_Hackers - [ ] http://lamda.nju.edu.cn/weixs/project/CNNTricks/CNNTricks.html - [ ] https://github.com/ZuzooVn/machine-learning-for-software-engineers - [ ] https://github.com/rushter/MLAlgorithms - [ ] http://www.scipy-lectures.org/advanced/image_processing/index.html - [ ] https://zhuanlan.zhihu.com/p/22129946 - [ ] http://conflict.lshtm.ac.uk/index.htm - [ ] https://arxiv.org/abs/1404.7828 - [ ] http://www.jeremydjacksonphd.com/category/deep-learning/ - [ ] http://distill.pub/2016/misread-tsne/ - [ ] http://playground.tensorflow.org/ - [ ] http://projector.tensorflow.org/ - [ ] http://ai.berkeley.edu/home.html - [ ] https://en.wikipedia.org/wiki/Topological_data_analysis - [ ] https://www.youtube.com/subscription_manager - [ ] http://rll.berkeley.edu/deeprlcourse/#syllabus ( https://zhuanlan.zhihu.com/p/24721292 ) - [ ] https://deepmind.com/blog/wavenet-generative-model-raw-audio/ - [ ] https://github.com/tensorflow/magenta/blob/master/magenta/reviews/pixelrnn.md - [ ] https://gist.github.com/shagunsodhani/e741ebd5ba0e0fc0f49d7836e30891a7 - [ ] https://deepmind.com/blog/differentiable-neural-computers/ - [ ] https://deepmind.com/blog/deepmind-round-up-2016/ - [ ] https://github.com/phreeza/keras-GAN - [ ] https://github.com/dustinvtran/ml-videos - [ ] https://github.com/oxford-cs-deepnlp-2017/lectures - [ ] https://github.com/rhnvrm/universe-coaster-racer-challenge - [ ] https://github.com/random-forests/tutorials - [ ] Machine Learning Recipes with Josh Gordon - [ ] Reinforcement Learning: An Introduction - [ ] https://github.com/eriklindernoren/ML-From-Scratch - [ ] https://github.com/stanfordnlp/cs224n-winter17-notes - [ ] https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78#.7tyqpjz6q ML: - [ ] 【从零单排——数学白痴也能玩机器学习】 - [ ] 深度学习入门必看的书和论文?有哪些必备的技能需学习? - [ ] 机器视觉、图像处理、机器学习领域相关代码和工程项目和数据集 集合 - [ ] CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别? - [ ] 简单解释一下sparse autoencoder, sparse coding和restricted boltzmann machine的关系? - [ ] 在 Deep Learning / Machine Learning 领域,C++ 应如何学习? - [ ] C++ neural network library - [ ] theano - [ ] TensorFlow - [ ] torch7 - [ ] EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES and The Flaw Lurking In Every Deep Neural Net - [ ] https://github.com/rasbt/python-machine-learning-book - [ ] https://github.com/terryum/awesome-deep-learning-papers - [ ] https://github.com/sjchoi86/dl_tutorials - [ ] http://mp.weixin.qq.com/s?__biz=MzA3MTU0MzcyMQ==&mid=2447602671&idx=1&sn=700ffa7c1a01daa9b5550cc173609925&scene=1& - [ ] https://zhuanlan.zhihu.com/p/22308032 - [ ] https://zhuanlan.zhihu.com/p/22107715 - [ ] https://www.quora.com/What-are-the-best-resources-to-learn-about-deep-learning NLP: - [ ] A Convolutional Neural Network for Modelling Sentences - [ ] 基于深度学习的自然语言处理在2016年有哪些值得期待的发展? - [ ] 一个玩得停不下来的Google神器:Ngram - [ ] 如何评价SyntaxNet? CV: - [ ] 学习了哪些知识,计算机视觉才算入门? - [ ] CS231n课程笔记翻译:图像分类笔记 - [ ] 学习SLAM需要哪些预备知识? CG: - [ ] Vulkan - 高性能渲染 Others: - [ ] https://github.com/vic317yeh/One-Click-to-Be-Pro - [ ] https://github.com/geekan/one-python - [ ] https://zhuanlan.zhihu.com/p/22308870 - [ ] https://zhuanlan.zhihu.com/p/20092285 - [ ] https://zhuanlan.zhihu.com/p/22126107 #### utensil commented at 2016-06-01 11:59: Nupic: - [ ] Search for the right paper about HTM - [ ] Spatial Pooler Algorithm Implementation and Pseudocode - [ ] Temporal Memory Algorithm Implementation and Pseudocode - [ ] Continuous online sequence learning with an unsupervised neural network model - [ ] Understanding LSTM Networks - [ ] HTM.Julia - [ ] Bare-Bone HTM - [ ] HTM CLA Flow Chart Diagrams #### utensil commented at 2016-06-05 13:16: QM: - [ ] Single-world interpretations of quantum theory cannot be self-consistent #### utensil commented at 2017-11-04 15:43: Deep Learning - The Straight Dope: http://gluon.mxnet.io/ https://zhuanlan.zhihu.com/p/28648399 #### utensil commented at 2017-11-11 14:50: * https://github.com/karpathy/convnetjs * http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html * http://www.cs.ubc.ca/~van/papers/2016-TOG-deepRL/index.html * https://github.com/janesjanes/sketchy * http://scs.ryerson.ca/~aharley/vis/conv/ * http://cs.stanford.edu/people/karpathy/convnetjs/demo/cifar10.html * https://deepart.io/ * https://www.youtube.com/playlist?list=PLiaHhY2iBX9hdHaRr6b7XevZtgZRa1PoU * https://www.youtube.com/playlist?list=PLE6Wd9FR--EfW8dtjAuPoTuPcqmOV53Fu * http://swanintelligence.com/first-steps-with-neural-nets-in-keras.html * http://neuralnetworksanddeeplearning.com/ * http://www.deeplearningbook.org/ * http://boxcar2d.com/index.html * https://www.flickr.com/photos/syntopia/6791724773/in/photostream/ * http://blog.hvidtfeldts.net/index.php/2012/01/knots-and-polyhedra/ * http://blog.mathteachersresource.com/?p=670 * http://www.gitxiv.com/ * http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/ * https://github.com/colah/Visualizing-Deep-Learning * https://distill.pub/2017/feature-visualization/ * https://github.com/ChristosChristofidis/awesome-deep-learning#videos-and-lectures * https://github.com/guillaume-chevalier/Awesome-Deep-Learning-Resources#youtube * https://github.com/kjw0612/awesome-deep-vision#videos #### utensil commented at 2017-11-16 15:08: Datasets: - All - https://github.com/caesar0301/awesome-public-datasets - http://academictorrents.com/ - CV - http://deeplearning.net/datasets - Go - https://github.com/yenw/computer-go-dataset - NLP - http://universaldependencies.org/ - https://github.com/Breakend/DialogDatasets #### utensil commented at 2017-11-16 15:33: Notebooks: - http://scikit-learn.org/dev/_static/ml_map.png - https://github.com/donnemartin/data-science-ipython-notebooks - https://github.com/jakevdp/PythonDataScienceHandbook Foundation: - https://github.com/rushter/MLAlgorithms/ - https://github.com/eriklindernoren/ML-From-Scratch #### utensil commented at 2017-11-17 01:36: https://en.wikipedia.org/wiki/Arg_max https://tex.stackexchange.com/questions/5223/command-for-argmin-or-argmax https://en.wikibooks.org/wiki/LaTeX/Advanced_Mathematics https://www.cs.ubc.ca/~schmidtm/Documents/2016_540_Argmax.pdf https://raw.githubusercontent.com/scikit-learn/scikit-learn/master/doc/modules/linear_model.rst
Select fonts for editors [uts-0088]
Select fonts for editors [uts-0088]
#### utensil opened issue at 2016-05-17 14:42: - https://github.com/belluzj/fantasque-sans - https://github.com/adobe-fonts/source-code-pro - https://github.com/tonsky/FiraCode - http://be5invis.github.io/Iosevka/ - http://input.fontbureau.com/ - https://github.com/adobe-fonts/source-han-sans - https://github.com/google/fonts - https://www.zhihu.com/question/20455297
Select good books from ThoughtWorks Reading Radar [uts-0089]
Select good books from ThoughtWorks Reading Radar [uts-0089]
#### utensil opened issue at 2016-05-13 02:27: http://insights.thoughtworkers.org/reading-radar-2016/
Find sites to read open papers [uts-0091]
Find sites to read open papers [uts-0091]
#### utensil opened issue at 2016-05-11 12:58: - https://arxiv.org/ - http://vixra.org/ - https://blog.vixra.org/category/crackpots-who-were-right/ - https://www.quora.com/Are-there-any-serious-papers-on-viXra - https://www.quora.com/What-are-alternatives-to-arXiv-org-for-technical-writings #### utensil commented at 2016-05-20 02:17: - http://arxitics.com/ - http://www.arxiv-sanity.com/ - https://medium.com/the-physics-arxiv-blog - http://bigartm.org/ #### utensil commented at 2016-05-25 08:38: https://scirate.com/ #### utensil commented at 2016-06-07 03:25: https://weavi.com/95944/
Gather my frequently used git commands [uts-0092]
Gather my frequently used git commands [uts-0092]
#### utensil opened issue at 2016-05-11 12:48: http://rogerdudler.github.io/git-guide/ is not exactly complete, and some commands are seldom used. - https://www.perforce.com/blog/141218/git-beyond-basics-using-shallow-clones - http://stackoverflow.com/questions/20280726/how-to-git-clone-a-specific-tag - https://github.com/git-tips/tips
Proofreading tools [uts-0090]
Proofreading tools [uts-0090]
#### utensil opened issue at 2016-05-11 13:03: - https://www.grammarly.com/ - www.gingersoftware.com/ - http://www.1checker.com/ - https://github.com/textlint/textlint - https://www.zhihu.com/question/34147404 - http://lang-8.com/ - http://dict.cnki.net/ #### utensil commented at 2016-06-07 03:19: - http://linggle.com/ - http://www.netspeak.org/ - http://www.thesaurus.net/
Citation tools [uts-0093]
Citation tools [uts-0093]
#### utensil opened issue at 2016-05-09 06:52: - https://www.mendeley.com/ - https://www.zotero.org/ - https://www.citethisforme.com/ - https://www.refme.com/ #### utensil commented at 2016-06-07 03:21: Tools to generate papers: - http://thatsmathematics.com/mathgen/ - https://pdos.csail.mit.edu/archive/scigen/
Quantum Computing [uts-0094]
Quantum Computing [uts-0094]
#### utensil opened issue at 2016-05-09 06:09: - https://quantumexperience.ng.bluemix.net/qstage/#/tutorial?sectionId=c59b3710b928891a1420190148a72cce - https://www.quora.com/What-are-the-best-books-to-start-learning-about-Quantum-Computing #### utensil commented at 2016-05-10 15:03: !image !image !image !image
Investigate Mac tooling [uts-0095]
Investigate Mac tooling [uts-0095]
#### utensil opened issue at 2016-05-07 09:04: - http://unix.stackexchange.com/questions/72320/how-can-i-hook-on-to-one-terminals-output-from-another-terminal - http://stackoverflow.com/questions/2080918/where-are-core-dumps-written-in-mac-os-x - http://dtrace.org/blogs/brendan/2011/10/10/top-10-dtrace-scripts-for-mac-os-x/
Add a standalone page to elaborate on my poems [uts-0096]
Add a standalone page to elaborate on my poems [uts-0096]
#### utensil opened issue at 2016-04-30 15:54: #### utensil commented at 2023-08-22 13:35: Close in favor of private repo https://github.com/utensil/poems which: 1. collects my poems 2. adds vague background for each poem 3. adds an article about how I author poems 4. uses LaTeX package xpinyin to add Pinyin for poems
Phonetic algorithm [uts-0097]
Phonetic algorithm [uts-0097]
#### utensil opened issue at 2016-04-29 12:30: - https://en.wikipedia.org/wiki/Phonetic_algorithm - http://www.postgresql.org/docs/9.5/static/fuzzystrmatch.html - The Hidden Risks of Soundex-Based Name Searching ftp://public.dhe.ibm.com/software/data/mdm/soundex.pdf
Archive my Github contributions [uts-0098]
Archive my Github contributions [uts-0098]
#### utensil opened issue at 2016-04-28 16:21: - https://api.github.com/users/utensil/events - https://www.githubarchive.org/ - https://githubcontributions.io/user/utensil #### utensil commented at 2016-04-28 16:36: - https://githubcontributions.io/api/user/utensil - https://githubcontributions.io/api/user/utensil/events/1 to https://githubcontributions.io/api/user/utensil/events/39
Compare SSH and File compare tools [uts-0099]
Compare SSH and File compare tools [uts-0099]
#### utensil opened issue at 2016-04-26 11:18: - http://mobaxterm.mobatek.net/features.html - https://www.netsarang.com/products/xsh_detail.html - http://www.syntevo.com/smartsynchronize/features - https://www.devart.com/codecompare/ - http://diffuse.sourceforge.net/download.html
Utilize Julia [uts-0100]
Utilize Julia [uts-0100]
#### utensil opened issue at 2016-04-24 11:19: ## Install Python, INotebook and Julia ``` # Install miniconda from http://conda.pydata.org/miniconda.html # And then conda install numpy scipy ipython jupyter matplotlib jupyter notebook # See https://caskroom.github.io/ brew tap caskroom/cask brew cask install julia ``` ## Julia-Python bridge ``` julia julia> Pkg.add("PyCall") INFO: Initializing package repository /Users/utensil/.julia/v0.4 INFO: Cloning METADATA from git://github.com/JuliaLang/METADATA.jl # The first time takes a long time to do git clone...... julia> using PyCall INFO: Precompiling module PyCall... julia> @pyimport numpy.random as nr julia> nr.rand(3,4) 3x4 Array{Float64,2}: 0.104454 0.847609 0.810417 0.939161 0.266673 0.186059 0.651118 0.861648 0.720235 0.164573 0.448754 0.183331 Pkg.add("IJulia") using IJulia notebook() ``` #### utensil commented at 2016-04-24 13:16: ## More Packages ``` julia # Math for pkg in ["Mocha", "Distributions", "DataFrames", "JuMP", "Graphs", "GLM", "GeneticAlgorithms", "ControlSystems", "DiscriminantAnalysis", "HTSLIB"] Pkg.add(pkg) end # Faster for pkg in ["ParallelAccelerator","NLopt", "Optim"] Pkg.add(pkg) end # Vis for pkg in ["Escher", "Plots", "Gadfly", "PyPlot", "GR", "Immerse", "UnicodePlots", "Qwt", "PlotlyJS", "Interact", "Mux", "GLVisualize", "Blink"] Pkg.add(pkg) end # Utility # brew install llvm for pkg in ["Reactive", "Maker", "FactCheck", "BuildExecutable", "Clang"] Pkg.add(pkg) end ``` #### utensil commented at 2016-04-24 13:16: ## Related links ### Learn - https://github.com/svaksha/Julia.jl - https://github.com/utensil-star/awesome-julia - http://learnxinyminutes.com/docs/julia - http://rogerluo.cc/slides/contents/lqcc.html#/ ### Community - http://pkg.julialang.org/pulse.html - http://julialang.cn/ ### Misc - http://www.mkdocs.org/ - http://stackoverflow.com/questions/2607425/is-google-s-cdn-for-jquery-available-in-china/22060903#22060903 #### utensil commented at 2016-04-27 09:26: ## CUDA related See https://gist.github.com/mlhales/5785725 ``` julia Pkg.add("CUDArt") using CUDArt Pkg.test("CUDArt") ``` #### utensil commented at 2016-04-28 17:21: For atom: ``` apm install uber-juno ``` In Julia: ``` julia Pkg.add("Atom") ``` #### utensil commented at 2016-04-29 14:18: For JuMP: ``` julia for pkg in ["GLPKMathProgInterface", "Cbc", "Clp"] Pkg.add(pkg) end ``` #### utensil commented at 2016-04-30 15:44: Work continues at https://github.com/utensil/julia-playground/
Write C++ backend server guide [uts-0101]
Write C++ backend server guide [uts-0101]
#### utensil opened issue at 2016-04-15 14:33: ## Toolchain such as: - http://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html - http://www.csee.umbc.edu/courses/undergraduate/202/fall04/Projects/CommonErrors.shtml - https://www.gnu.org/software/make/manual/html_node/Implicit-Rules.html#Implicit-Rules - https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html - https://www.gnu.org/prep/standards/html_node/Makefile-Conventions.html - http://www.oreilly.com/openbook/make3/book/ch07.pdf ## QA such as: - character encoding: UTF-8 - coding standard: https://github.com/utensil/behind-programming/blob/master/cpp_coding_standards.md - formatting: astyle/clang-format - compile: CMake - static/dynamic analyze: - clang-analyzer - cppcheck - valgrind - perf - test: Google Test - doc: Doxygen ## Design - soft restart - multi-queue networking - http://www.kegel.com/c10k.html - libuv-like async io/idle connection - interprocess and interthread comunication cost - typical synchronize situation and solution/double buffer - process, thread and coroutine - logging - load so - rpc/serialize: thrift/capnproto - service route - ha/lvs/dns-like - auto-heal - leader-follower-arbitor/remote lock - mq - adaptive timeout - compression - cache beyond kv/local to global - call chain/volume - errorcode/assert - accounting - dup/db delay switch - semi-static route - master-slave fail-tolerant system - gradient sharding system #### utensil commented at 2016-04-15 14:36: C10M - https://news.ycombinator.com/item?id=7250505 - https://github.com/clowwindy/Awesome-Networking/pull/3/files - http://www.cs.dartmouth.edu/~sergey/cs108/2013/C10M-Defending-the-Internet-at-Scale-Dartmouth-2013.pdf - http://www.erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf - http://highscalability.com/blog/2013/5/13/the-secret-to-10-million-concurrent-connections-the-kernel-i.html
Find good screen record software [uts-0102]
Find good screen record software [uts-0102]
#### utensil opened issue at 2016-04-08 08:46: - http://monosnap.com/welcome - https://github.com/keycastr/keycastr #### utensil commented at 2016-04-15 14:10: Monosnap is great. Closing.
Read through links in chenshuo's book [uts-0103]
Read through links in chenshuo's book [uts-0103]
#### utensil opened issue at 2016-03-20 08:59: http://chenshuo.com/book/url.html
Look for a new static site generator in node.js instead of ruby [uts-0104]
Look for a new static site generator in node.js instead of ruby [uts-0104]
#### utensil opened issue at 2016-03-19 08:55: https://www.staticgen.com/ : - http://moox.io/statinamic/ - http://stackticjs.github.io/stacktic/ - http://docpad.org/ - https://hexo.io/ - http://www.metalsmith.io/ - http://harpjs.com/
Linux Kernel related [uts-0106]
Linux Kernel related [uts-0106]
#### utensil opened issue at 2016-03-18 05:29: - https://www.thomas-krenn.com/en/wiki/Category:Linux #### utensil commented at 2016-06-10 09:19: Close in favor of #53 .
MySQL Server Internal related [uts-0105]
MySQL Server Internal related [uts-0105]
#### utensil opened issue at 2016-03-18 05:37: - MySQL Server& Percona Server - A Guided Tour Of The MySQL Source Code - MySQL Internals Manual - mysql-annotation
Presentation about js ecosystem based on kuitos/kuitos.github.io/issues/32 [uts-0107]
Presentation about js ecosystem based on kuitos/kuitos.github.io/issues/32 [uts-0107]
#### utensil opened issue at 2015-12-29 15:58: #### utensil commented at 2016-04-30 15:46: This issue is outdated. See https://github.com/utensil/behind-programming/blob/master/front_end_dev_guide.md for the work-in-progress . And also https://github.com/utensil/behind-programming/blob/master/backend_js_dev_guide.md .
Online Judge [uts-0108]
Online Judge [uts-0108]
#### utensil opened issue at 2015-05-22 06:10: - [ ] https://leetcode.com/ - [ ] http://www.testdome.com/ - [ ] http://www.practice.geeksforgeeks.org/
Add a blog for Interstellar [uts-0112]
Add a blog for Interstellar [uts-0112]
#### utensil opened issue at 2015-04-23 07:28: #### utensil commented at 2015-04-23 08:19: Fixed by a49e3a4fbc825fa86aa974941a45a67dfbd8c4a1 .
Add blogs for latest poems [uts-0111]
Add blogs for latest poems [uts-0111]
#### utensil opened issue at 2015-04-23 07:28: #### utensil commented at 2016-04-30 16:14: Latest poems are committed .
Investigate Stamplay [uts-0110]
Investigate Stamplay [uts-0110]
#### utensil opened issue at 2015-04-23 10:44: https://stamplay.com/
Separate excerpts from writings [uts-0109]
Separate excerpts from writings [uts-0109]
#### utensil opened issue at 2015-04-23 10:57:
A new markdown wiki [uts-0113]
A new markdown wiki [uts-0113]
#### utensil opened issue at 2015-04-22 14:29: #### utensil commented at 2015-05-17 14:59: - https://github.com/tylingsoft/markdown-plus/blob/master/markdown-plus.js - https://github.com/medialize/URI.js - https://github.com/Dynalon/mdwiki/tree/master/js/ts #### utensil commented at 2016-05-28 08:48: Close since https://github.com/utensil/umd-wiki is already under construction.
Build an app for cultivating habits [uts-0115]
Build an app for cultivating habits [uts-0115]
#### utensil opened issue at 2015-04-22 14:27: #### utensil commented at 2015-04-23 07:29: Use http://idothing.com/ instead.
Establish a timeline for my most valuable experiences [uts-0116]
Establish a timeline for my most valuable experiences [uts-0116]
#### utensil opened issue at 2015-04-22 14:17:
Rep Star [uts-0114]
Rep Star [uts-0114]
#### utensil opened issue at 2015-04-22 14:28: #### utensil commented at 2016-05-17 16:23: See the deprecated Rep Star
Investigate socket implementation in Linux kernel [uts-0117]
Investigate socket implementation in Linux kernel [uts-0117]
#### utensil opened issue at 2015-04-21 11:15: - http://www.haifux.org/lectures.html - http://people.ee.ethz.ch/~arkeller/linux/kernel_user_space_howto.html - http://stackoverflow.com/a/4385424/200764 - http://man7.org/linux/man-pages/man7/socket.7.html - http://www.cs.unh.edu/cnrg/people/gherrin/linux-net.html - https://github.com/fastos/fastsocket - http://pubs.opengroup.org/onlinepubs/009695399/functions/read.html #### utensil commented at 2015-04-21 11:17: - http://people.ee.ethz.ch/~arkeller/linux/kernel_user_space_howto.html - http://stackoverflow.com/a/4385424/200764 - http://man7.org/linux/man-pages/man7/socket.7.html - http://www.cs.unh.edu/cnrg/people/gherrin/linux-net.html - https://www.thomas-krenn.com/en/wiki/Category:Linux
Organize my config files [uts-0118]
Organize my config files [uts-0118]
#### utensil opened issue at 2015-04-15 03:52: Just like: - https://github.com/mdo/config - https://github.com/thcipriani/dotfile-boilerplate - https://github.com/Bash-it/bash-it #### utensil commented at 2015-04-15 03:52: Subliem Text: - http://wesbos.com/sublime-text-5-visual-tweaks/ - https://github.com/JaredCubilla/sublime - http://robdodson.me/hacking-the-path-variable-in-sublime-text/ - http://sublimetext.info/docs/en/reference/build_systems.html #### utensil commented at 2015-04-15 07:57: $ npm config set proxy http://server:port $ npm config set https-proxy http://server:port #### utensil commented at 2016-04-30 15:51: Making good progress at utensil/config. Closing.
Find good translation collaboration solutions [uts-0119]
Find good translation collaboration solutions [uts-0119]
#### utensil opened issue at 2015-04-14 13:01: - https://www.transifex.com/discourse/discourse-org/ - https://crowdin.com/ - https://www.oneskyapp.com/ - https://weblate.org/zh-hans/ - http://zanata.org/about/ - http://www.omegat.org/en/documentation.php #### utensil commented at 2015-05-16 05:55: See also: - http://formatjs.io/ - http://i18next.com/
Date the blogs [uts-0123]
Date the blogs [uts-0123]
#### utensil opened issue at 2015-04-09 14:21: middleman-blog can not keep a constant order of blogs written in the same day, which is the case for writings and tech. Need to use a script to date them correctly.
Fix header fonts and link color [uts-0121]
Fix header fonts and link color [uts-0121]
#### utensil opened issue at 2015-04-09 15:29:
Fix identation in syntax highlight [uts-0122]
Fix identation in syntax highlight [uts-0122]
#### utensil opened issue at 2015-04-09 14:40:
Investigate drawing tools [uts-0124]
Investigate drawing tools [uts-0124]
#### utensil opened issue at 2015-04-09 12:38: - https://inkscape.org/zh/ - https://github.com/sprang/Inkpad - http://webchemy.org/ - http://kleki.com/ - http://www.wacom.com/zh-cn/products/stylus/intuos-creative-stylus-2 - http://www.bohemiancoding.com/sketch/ #### utensil commented at 2015-04-23 07:30: Prefer Inkscape and learning.
_ in LaTeX rendered as em [uts-0120]
_ in LaTeX rendered as em [uts-0120]
#### utensil opened issue at 2015-04-09 16:50:
Add proof-of-concept implementations [uts-0125]
Add proof-of-concept implementations [uts-0125]
#### utensil opened issue at 2015-04-08 03:38: - master-slave fail-tolerant system - gradient sharding system #### utensil commented at 2016-04-30 15:49: Concentrate on #69
Use Astral to organize my stars [uts-0126]
Use Astral to organize my stars [uts-0126]
#### utensil opened issue at 2015-04-06 14:46: https://app.astralapp.com/ #### utensil commented at 2023-08-22 13:18: Close in favor of https://github.com/utensil/awesome-stars/
Learn shader-school and webgl-workshop [uts-0129]
Learn shader-school and webgl-workshop [uts-0129]
#### utensil opened issue at 2015-03-30 01:24: - https://github.com/stackgl/shader-school - https://github.com/stackgl/webgl-workshop #### utensil commented at 2015-04-07 11:37: - https://github.com/greggman/webgl-fundamentals
Review algorithms [uts-0127]
Review algorithms [uts-0127]
#### utensil opened issue at 2015-03-30 01:33: - Read 《挑战程序设计竞赛》 - Write a blog to summarize - Do some interested exercises
Write a blog to review basic CG [uts-0128]
Write a blog to review basic CG [uts-0128]
#### utensil opened issue at 2015-03-30 01:26: - deduction of rotation and reflaction - generalize to higher dimension - visualize with three.js - implement in glsl as a glslify module #### utensil commented at 2016-06-08 11:03: https://github.com/mosra/magnum
Upgrade dependencies to latest version [uts-0130]
Upgrade dependencies to latest version [uts-0130]
#### utensil opened issue at 2015-03-28 15:32:
Read The Book of Shaders and investigate openFrameworks [uts-0131]
Read The Book of Shaders and investigate openFrameworks [uts-0131]
#### utensil opened issue at 2015-03-18 09:50: - The Book of Shaders - openFrameworks
Collect starred projects from Google Code [uts-0132]
Collect starred projects from Google Code [uts-0132]
#### utensil opened issue at 2015-03-13 07:43: There are some projects that still hosting on Google Code, like: https://code.google.com/p/akjava-android-project/ https://code.google.com/p/android-cmake/ https://code.google.com/p/android-sdk-ui-demos/ https://code.google.com/p/android-smspopup/ https://code.google.com/p/android-wired-tether/ https://code.google.com/p/androidscreencast/ https://code.google.com/p/angleproject/ https://code.google.com/p/apps-for-android/ https://code.google.com/p/au-to-do/ https://code.google.com/p/autosuggest4j/ https://code.google.com/p/byte-unixbench/ https://code.google.com/p/cages/ https://code.google.com/p/chromiumembedded/ http://magpcss.org/ceforum/viewtopic.php?f=10&t=12759 https://code.google.com/p/connectbot/ https://code.google.com/p/dea/ https://code.google.com/p/dnsproxycn/ https://code.google.com/p/droidapps/ https://code.google.com/p/duplexpipe/ https://code.google.com/p/easyb/ https://code.google.com/p/edb-debugger/
Investigate Capstone Engine [uts-0133]
Investigate Capstone Engine [uts-0133]
#### utensil opened issue at 2015-03-12 10:46: Investigate Capstone Engine
Collect accounts and identities that I seldom use [uts-0135]
Collect accounts and identities that I seldom use [uts-0135]
#### utensil opened issue at 2015-03-04 11:34: #### utensil commented at 2016-06-10 09:17: It's done on 2016-01-23.
Learn Distributed Algorithms [uts-0134]
Learn Distributed Algorithms [uts-0134]
#### utensil opened issue at 2015-03-04 12:42: Distributed Algorithms
Investigate Interstellar [uts-0136]
Investigate Interstellar [uts-0136]
#### utensil opened issue at 2015-02-23 12:31: # 星际穿越 - http://www.guokr.com/article/439479/ - http://www.guokr.com/article/439477/ - http://www.zhihu.com/question/25630267 - http://www.guokr.com/article/439559/ - http://www.wired.com/2014/10/astrophysics-interstellar-black-hole/ - http://www.universetoday.com/115562/the-physics-behind-intellstellars-visual-effects-was-so-good-it-lead-to-a-scientific-discovery/ - http://adsabs.harvard.edu/cgi-bin/nph-ref_query?bibcode=1973ApJ…183..237C&refs=CITATIONS&db_key=AST - http://www.spacetimetravel.org/galerie/galerie.html #### utensil commented at 2015-03-01 10:46: http://arxiv.org/abs/1501.00835 #### utensil commented at 2015-03-03 06:11: - Gravitational Lensing by Spinning Black Holes in Astrophysics, and in the Movie Interstellar - Visualizing Interstellar’s Wormhole by Kip S. Thorne - GRAVITATIONAL LENSING BY WORMHOLES - Exact geometric optics in a Morris-Thorne wormhole spacetime - Wormholes, Gamma Ray Bursts and the Amount of Negative Mass in the Universe #### utensil commented at 2015-03-05 05:44: The Science of Interstellar #### utensil commented at 2015-03-11 11:04: https://github.com/rantonels/starless
Investigate fonts [uts-0137]
Investigate fonts [uts-0137]
#### utensil opened issue at 2015-02-14 07:08: http://www.pluminjs.com/ https://github.com/nodebox/opentype.js
Investigate open source monitor system building blocks [uts-0138]
Investigate open source monitor system building blocks [uts-0138]
#### utensil opened issue at 2015-02-03 07:48: - http://docs.ansible.com/list_of_monitoring_modules.html - https://www.datadoghq.com/ - http://www.zhihu.com/question/19973178 - http://www.programmer.com.cn/11477/ - http://blog.dataloop.io/2014/01/30/what-we-learnt-talking-to-60-companies-about-monitoring/ - http://graphite.wikidot.com/ - https://www.icinga.org/ - https://airbrake.io/ - http://bigpanda.io/ - http://newrelic.com/
Investigate stress test and performance tuning [uts-0139]
Investigate stress test and performance tuning [uts-0139]
#### utensil opened issue at 2015-01-23 07:39: - http://people.seas.harvard.edu/~apw/stress/ - http://kernel.ubuntu.com/~cking/stress-ng/ #### utensil commented at 2016-02-25 03:02: - http://linux.die.net/man/1/pidstat - http://unix.stackexchange.com/a/84345/145128 - http://www.thegeekstuff.com/2011/03/linux-performance-monitoring-intro/ - https://criticalblue.com/news/wp-content/uploads/2013/12/linux_scheduler_notes_final.pdf - http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html - http://www.cnblogs.com/mindwind/p/5946586.html
Investigate jsxgraph [uts-0140]
Investigate jsxgraph [uts-0140]
#### utensil opened issue at 2015-01-10 12:40: https://github.com/jsxgraph/jsxgraph
Investigate Evolving Objects (EO) [uts-0141]
Investigate Evolving Objects (EO) [uts-0141]
#### utensil opened issue at 2014-12-25 06:32: Evolving Objects (EO): an Evolutionary Computation Framework http://eodev.sourceforge.net/ #### utensil commented at 2014-12-25 06:49: Also https://github.com/andrometa/neu #### utensil commented at 2014-12-25 08:15: Also http://libccv.org/
Apply AviSynth to baby's videos [uts-0142]
Apply AviSynth to baby's videos [uts-0142]
#### utensil opened issue at 2014-12-21 13:03: - http://avisynth.nl/index.php/Main_Page - http://avslib.sourceforge.net/ - http://www.tfcc.cn/dvdrip/2006-3-16_18-05-32_1309.html - http://www.tfcc.cn/dvdrip/2004-9-7_15-40-21_9606.html - http://www.tfcc.cn/dvdrip/2006-3-16_18-02-51_5420.html #### utensil commented at 2015-01-14 06:13: http://stackoverflow.com/questions/3937387/rotating-videos-with-ffmpeg
Find a nice theme to use with IDEA [uts-0143]
Find a nice theme to use with IDEA [uts-0143]
#### utensil opened issue at 2014-11-12 05:09: - Sunflower - idea blue-orange - RubyK - Monokai Sublime Text 3 - Vibrant Ink - railscasts_grey_comments #### utensil commented at 2015-01-03 02:22: Settled on "railscasts_grey_comments"
Investigate GPGPU using WebGL [uts-0144]
Investigate GPGPU using WebGL [uts-0144]
#### utensil opened issue at 2014-10-29 03:40: - http://mchouza.wordpress.com/2011/02/21/gpgpu-with-webgl-solving-laplaces-equation/ - http://www.ibiblio.org/e-notes/webgl/gpu/contents.htm - http://stackoverflow.com/a/22359571/200764 #### utensil commented at 2014-11-13 05:23: https://github.com/arrayfire/arrayfire #### utensil commented at 2014-11-13 05:32: See also: - https://github.com/gre/glsl.js - https://github.com/daw42/glslcookbook #### utensil commented at 2015-01-21 04:06: http://www.madebyevan.com/webgl-water/
Investigate cazala/synaptic [uts-0145]
Investigate cazala/synaptic [uts-0145]
#### utensil opened issue at 2014-10-27 06:36: Investigate https://github.com/cazala/synaptic : - https://github.com/cazala/synaptic/wiki/Neural-Networks-101 - http://www.overcomplete.net/papers/nn2012.pdf More Arch: - Neural Turing Machines - https://github.com/iandanforth/nupic-js and https://github.com/WalnutiQ/WalnutiQ#important-brain-theories-in-use Reimplement using: - https://github.com/toji/gl-matrix - https://github.com/sjkaliski/numbers.js - https://github.com/josdejong/mathjs - https://github.com/chandlerprall/Physijs
Investigate Neural Darwinism and Reentry [uts-0146]
Investigate Neural Darwinism and Reentry [uts-0146]
#### utensil opened issue at 2014-10-22 08:02: Neural Darwinism and Reentry (neural circuitry)
Investigate certik/theoretical-physics [uts-0147]
Investigate certik/theoretical-physics [uts-0147]
#### utensil opened issue at 2014-09-26 05:03: #### utensil commented at 2019-04-01 13:55: https://www.preposterousuniverse.com/grnotes/
Learn SVG better [uts-0148]
Learn SVG better [uts-0148]
#### utensil opened issue at 2014-09-23 04:52: By https://github.com/willianjusten/awesome-svg
Investigate FRP (functional reactive programming) [uts-0149]
Investigate FRP (functional reactive programming) [uts-0149]
#### utensil opened issue at 2014-09-22 05:37: See also http://pozadi.github.io/kefir/
Figure out how to simulate LEGO® MINDSTORMS® EV3 [uts-0150]
Figure out how to simulate LEGO® MINDSTORMS® EV3 [uts-0150]
#### utensil opened issue at 2014-09-16 12:33: See also: - http://www.lego.com/en/mindstorms - http://www.lego.com/zh-cn/mindstorms/funzone/mobile-apps/3d-builder/ - https://github.com/ev3dev/ev3dev - http://www.ros.org/core-components/ - http://www.microsoft.com/en-us/download/details.aspx?id=29081 and http://msdn.microsoft.com/en-us/library/bb483027.aspx - http://www.simplysim.net/index.php?p=gallery&id=11 - http://www.robotvirtualworlds.com/virtualnxt/ #### utensil commented at 2014-09-17 09:07: - http://www.intorobotics.com/robotics-simulation-softwares-with-3d-modeling-and-programming-support/ - http://gazebosim.org/#getstarted - http://en.wikipedia.org/wiki/Robotics_simulator - http://stackoverflow.com/questions/2533321/robotics-simulator - http://simbad.sourceforge.net/ - http://playerstage.sourceforge.net/ - http://cylonjs.com/ - http://gort.io/ #### utensil commented at 2014-09-17 14:20: - http://www.urbiforge.org/ - https://github.com/robotology/yarp - http://orca-robotics.sourceforge.net/orca_doc_overview.html #### utensil commented at 2014-10-04 09:52: http://www.robotc.net/ #### utensil commented at 2014-10-04 09:52: RVW serves the purpose, closing.
Investigate Khan Academy [uts-0151]
Investigate Khan Academy [uts-0151]
#### utensil opened issue at 2014-09-16 12:06: Investigate Khan Academy.
Replace MathJax with KaTeX [uts-0152]
Replace MathJax with KaTeX [uts-0152]
#### utensil opened issue at 2014-09-16 03:41: See https://github.com/Khan/KaTeX . Goals to evaluate: - [x] Smaller footprint - [x] Faster rendering - [ ] Wider support for LaTeX #### utensil commented at 2014-09-16 12:06: It has very limited support for LaTeX symbols. Let's wait and see and close it for now. #### utensil commented at 2015-04-06 14:45: - http://fontforge.github.io/en-US/ - https://css-tricks.com/snippets/css/a-guide-to-flexbox/ - http://www.fontsquirrel.com/tools/webfont-generator - http://www.fontspring.com/matcherator - https://tex.stackexchange.com/questions/58098/what-are-all-the-font-styles-i-can-use-in-math-mode/58124#58124?newreg=aa564d2908604fd3bf441c71040d7401 - https://lists.w3.org/Archives/Public/www-amaya-dev/2000Apr/att-0041/Readme.pdf - http://asciimath.org/ - http://www.intmath.com/cg5/katex-mathjax-comparison.php?processor=KaTex #### utensil commented at 2015-04-06 14:57: - http://www.pluminjs.com/ - http://code.andreaskoller.com/libraries/fontastic/#examples - https://www.scribbletone.com/typefaces/ff-chartwell #### utensil commented at 2016-10-18 13:07: - http://algebra.js.org/ - CindyJS/CindyJS - Khan/KaTeX/issues/305 - https://gitgud.io/unconed/mathbox #### utensil commented at 2017-11-16 15:23: https://github.com/Jam3/math-as-code https://github.com/parpalak/upmath.me #### utensil commented at 2017-11-18 15:13: https://github.com/xiaohanyu/awesome-tikz https://github.com/walmes/Tikz https://github.com/MartinThoma/LaTeX-examples/tree/master/tikz https://tex.stackexchange.com/questions/158668/nice-scientific-pictures-show-off #### utensil commented at 2023-08-22 13:22: Evaluated by http://utensil-site.github.io/available-in-katex/ . Close in favor of MathJax 3 .
Investigate tools used by neovim [uts-0153]
Investigate tools used by neovim [uts-0153]
#### utensil opened issue at 2014-09-10 05:56: https://github.com/neovim/neovim #### utensil commented at 2014-09-10 05:57: Especially https://waffle.io and http://neovim.org/doc/reports/clang/
Write a blog to digest Category Theory [uts-0154]
Write a blog to digest Category Theory [uts-0154]
#### utensil opened issue at 2014-09-04 14:15: Part of #3 Related to : - Physics, Topology, Logic and Computation: A Rosetta Stone - New Structures for Physics III, see also New Structures for Physics - A survey of graphical languages for monoidal categories - Categories for the practicing physicist - Introducing categories to the practicing physicist More Papers: - Categorical algebra - Monoidal categories in, and linking, geometry and algebra - Higher Operads, Higher Categories - A Spin Network Primer - A Survey of Definitions of n-Category - Towards an n-category of cobordisms - ‘What is a Thing?’: Topos Theory in the Foundations of Physics , see Appendix 2 first - Category theory for dummies - Manifesting the Quantum World Books: - Group Theory - Geometry, Topology and Physics, Second Edition #### utensil commented at 2014-09-04 14:25: ## Glossary - category: 范畴 - morphism: 态射,数学上,一个态射(morphism)是两个数学结构之间保持结构的过程的一种抽象。 - homomorphism: 同态 - homset: the space of homomorphisms from X to Y in the category category, i.e. - identity morphism: 单位态射 - isomorphism: 同构 - cobordism: 配边 - Tang_k: 切? - codimensional: 余维数的 - monoidal: 么半群的 - cartesian: 笛卡尔的 - bounded: 有界 - quandary: 窘境 - disjoint union: 不交并 - isotopy classes: 合痕类 - `framed' tangles: 有框缠结? - ribbon: 缎带? - functor: 函子 - natural transformations: 自然变换 - natural isomorphism: 自然等价 - group: 群 #### utensil commented at 2015-03-30 01:40: On https://github.com/utensil/utensil.github.com/tree/13-category-theory
Investigate Linux performance tools [uts-0155]
Investigate Linux performance tools [uts-0155]
#### utensil opened issue at 2014-08-30 12:31: - [ ] Investigate sysdig - [ ] 20 Command Line Tools to Monitor Linux Performance - [ ] Performance analysis tools based on Linux perf_events (aka perf) and ftrace #### utensil commented at 2016-06-15 03:57: ``` dstat -cmndpyr ----total-cpu-usage---- ------memory-usage----- -net/total- -dsk/total- ---procs--- ---system-- --io/total- usr sys idl wai hiq siq| used buff cach free| recv send| read writ|run blk new| int csw | read writ ``` ``` dstat --ipc --lock --socket --unix --sysv-ipc- ---file-locks-- ------sockets------ --unix-sockets- msg sem shm|pos lck rea wri|tot tcp udp raw frg|dgm str lis act ``` ``` strace -T -r -F -c -p PID Process PIDattached - interrupt to quit ^CProcess PID detached ------ ----------- ----------- --------- --------- ---------------- ``` ``` perf top -a -e cycles:u -p PID perf record -e cycles:u -a -p PID -g perf report ``` Zoom: GUI for perf ``` # zoom run --time_limit 60 --start immediate --process `pgrep PROC_NAME` --thread_time_trigger 10 --trace_thread_scheduler --profile_driver perf # system wide zoom run --time_limit 10 --start immediate ``` ``` pstack `pgrep TARGET_PROCESS_NAME`|grep Proc -B 4|awk -f ./thr.awk |column -t ``` where `thr.awk` is: ```awk BEGIN { } /Thread/ { tid = gensub(/\)|:/, "", "g", $6) } /#1/ { doing = $4 old_tids = doings[doing] doings[doing] = sprintf("%s %s", old_tids, tid) } /Proc/ { proc_name = gensub(/\(void\*\)/, "", "g", $4) old_doings = procs[proc_name] procs[proc_name]= sprintf("%s %s", old_doings, doing) } END { for(proc_name in procs) { proc_doing = procs[proc_name] # print proc_name, ":\n" split(proc_doing, proc_doings, " ") for(i in proc_doings) { stat[proc_doings[i]] +=1 } row_first = proc_name for(fun in stat) { print row_first, fun, stat[fun], "\n" row_first = "_" } for(fun in stat) { delete stat[fun] } } } ``` #### utensil commented at 2016-06-15 04:08: Debug tools: - GDB dashboard - Record and Replay Framework - Immunity Debugger
Digest "Readings in Databases" [uts-0156]
Digest "Readings in Databases" [uts-0156]
#### utensil opened issue at 2014-08-29 07:57: Digest "Readings in Databases"
Investigate Audacity, Sonic Visualiser, Essentia and Gaia [uts-0158]
Investigate Audacity, Sonic Visualiser, Essentia and Gaia [uts-0158]
#### utensil opened issue at 2014-08-26 00:54: Investigate Audacity, Sonic Visualiser, Essentia and Gaia.
Investigate Eigen, Manifold ToolKit, GTSAM and Pteros [uts-0157]
Investigate Eigen, Manifold ToolKit, GTSAM and Pteros [uts-0157]
#### utensil opened issue at 2014-08-26 00:58: Investigate Eigen, Manifold ToolKit, GTSAM and Pteros.
Organize Wolfram Mathematica notebooks [uts-0159]
Organize Wolfram Mathematica notebooks [uts-0159]
#### utensil opened issue at 2014-08-17 01:51: See https://github.com/utensil/mathematica-notebooks Also see: - https://github.com/windsteiger/Theorema - https://github.com/langit/analytica and http://math.andrej.com/data/analytica.pdf #### utensil commented at 2014-08-26 01:00: The existing Wolfram Mathematica notebooks are organized. Moving forward to creating new ones. Closing this.
Add blogs about graphing [uts-0160]
Add blogs about graphing [uts-0160]
#### utensil opened issue at 2014-08-15 08:35: Besides mentioned in: https://github.com/utensil/mdwiki-gimmicks#planned-gimmicks Should also cover: - UML drawing: http://www.nomnoml.com/ - JointJS: http://jointjs.com/download - dagre-d3: http://cpettitt.github.io/project/dagre-d3/latest/demo/etl-status.html - http://onehackoranother.com/projects/jquery/tipsy/ #### utensil commented at 2014-08-26 01:03: Should publish the newly written network flow visualizer written using dagre-d3 . nomnoml and JointJS are poor for my purpose. #### utensil commented at 2014-09-10 06:12: Also consider - https://gephi.github.io/ - https://github.com/anvaka/ngraph - http://fabricjs.com/ #### utensil commented at 2014-09-10 08:09: Also https://github.com/anvaka/graph-drawing-libraries #### utensil commented at 2014-09-11 05:20: https://github.com/ecomfe/echarts #### utensil commented at 2014-09-22 05:38: https://github.com/andreaferretti/paths-js #### utensil commented at 2015-02-01 14:54: https://github.com/cytoscape/cytoscape.js #### utensil commented at 2015-02-14 07:07: https://github.com/jbmouret/matplotlib_for_papers #### utensil commented at 2015-02-15 03:08: http://paperjs.org/ #### utensil commented at 2015-03-30 01:19: https://github.com/jsxgraph/jsxgraph closes #28 #### utensil commented at 2016-05-07 09:05: UML: - http://plantuml.com/sequence.html - node-plantuml #### utensil commented at 2017-11-16 15:16: https://github.com/mwaskom/seaborn https://github.com/lightning-viz https://github.com/Bogdan-Lyashenko/js-code-to-svg-flowchart https://github.com/NeXTs/Clusterize.js https://github.com/densitydesign/raw
Information Theory, Inference, and Learning Algorithms [uts-0162]
Information Theory, Inference, and Learning Algorithms [uts-0162]
#### utensil opened issue at 2014-08-12 01:31: - http://www.inference.phy.cam.ac.uk/itila/book.html - http://www.inference.phy.cam.ac.uk/itprnn_lectures/
Setup NuPIC on CentOS [uts-0161]
Setup NuPIC on CentOS [uts-0161]
#### utensil opened issue at 2014-08-12 05:03: http://centoshelp.org/resources/repos/ http://tecadmin.net/top-5-yum-repositories-for-centos-rhel-systems/ http://www.rackspace.com/knowledge_center/article/installing-rhel-epel-repo-on-centos-5x-or-6x https://www.centos.org/docs/5/html/yum/sn-yum-proxy-server.html http://linuxers.org/tutorial/wget-proxy-how-run-wget-behind-proxy-server `rpm --httpproxy` https://store.continuum.io/cshop/anaconda/ http://09c8d0b2229f813c1b93-c95ac804525aac4b6dba79b00b39d1d3.r79.cf1.rackcdn.com/Anaconda-2.0.1-Linux-x86_64.sh #### utensil commented at 2014-08-26 01:02: Completed by using https://github.com/numenta/nupic-linux64 .
Higgs Boson Machine Learning Challenge [uts-0163]
Higgs Boson Machine Learning Challenge [uts-0163]
#### utensil opened issue at 2014-08-11 05:35: - http://www.kaggle.com/c/higgs-boson/ - http://higgsml.lal.in2p3.fr/ #### utensil commented at 2014-08-26 01:05: Monday, September 15, 2014: Final submission deadline. #### utensil commented at 2014-09-16 12:08: > This competition has completed. You can still submit an entry to see what your score would have been.
Add blogs to consume some of John Baez's work [uts-0164]
Add blogs to consume some of John Baez's work [uts-0164]
#### utensil opened issue at 2014-08-10 08:07: - Classical Mechanics: many useful notes, exercises - Network Theory: great blog entries and slides Interested papers: - A Prehistory of n-Categorical Physics - Physics, Topology, Logic and Computation: A Rosetta Stone #### utensil commented at 2019-03-27 14:44: - https://github.com/joerenes/Baez-Muniain-solutions - https://ncatlab.org/brucebartlett/published/BaezMunian - http://michaelnielsen.org/blog/principles.pdf - http://michaelnielsen.org/blog/yang_mills.pdf - https://www.amazon.com/dp/1441982663/ref=rdr_ext_tmb - http://math.ucr.edu/home/baez/errata.html - https://www.edge.org/q2008/q08_5.html#baez - https://www.quantamagazine.org/how-anyon-particles-emerge-from-quantum-knots-20170228/ #### utensil commented at 2019-04-01 14:15: - http://bjlkeng.github.io/posts/manifolds/ - http://bjlkeng.github.io/posts/tensors-tensors-tensors/ - https://liavas.net/#teaching - https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/
Add a blog about loop quantum gravity [uts-0165]
Add a blog about loop quantum gravity [uts-0165]
#### utensil opened issue at 2014-07-19 07:40: 圈量子引力的哲学是仅从广义相对论和量子理论的基本原理出发,在没有试验指引的情况下,让理论自由的生长,但要求任何数学结构都是严格的定义完好的。人们随之发现,广义相对论的背景不依赖性对量子物理的数学结构的影响是极为深刻的(量子场代数的建立极大的依赖于度规背景)。http://url.cn/BN8YDr 2013年4月1日 21:41 阅读(268) 全部转播和评论(1) 在圈量子引力的圈子里,Rovelli的《Quantum Gravity》与Thiemann的《MODERN CANONICAL QUANTUM GENERAL RELATIVITY》构成了一套完整的专著。前者着重于一个包含了广义相对论与量子理论的完整的物理理论应该是什么样子的。而Thiemann的书严格而精确的建立了这样的物理所需要的数学结构。
Status [spin-000S]
Status [spin-000S]
Currently it's a work-in-progress.
root notes [uts-001O]
Transclusion loop detected, rendering stopped.root notes [uts-001O]
some tips about Forester [uts-000T]
some tips about Forester [uts-000T]
technical experiments [uts-0010]
technical experiments [uts-0010]
The following are technical experiments on what kind of rich content I can include in my forester notes. See my post on this for more background. Some of my technical notes (draft) might have additional information.
Lean 4 code highlighting [uts-0003]
Lean 4 code highlighting [uts-0003]
The following code is taken from pygments to test Lean 4 code highlighting, with only wrapped strings removed because it confuses forester.
/-
Copyright (c) 2017 Johannes Hölzl. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes Hölzl
-/
import Mathlib.Order.Chain
#align_import order.zorn from "leanprover-community/mathlib"@"46a64b5b4268c594af770c44d9e502afc6a515cb"
/-!
# Zorn's lemmas
This file proves several formulations of Zorn's Lemma.
## Variants
The primary statement of Zorn's lemma is `exists_maximal_of_chains_bounded`. Then it is specialized
to particular relations:
* `(≤)` with `zorn_partialOrder`
* `(⊆)` with `zorn_subset`
* `(⊇)` with `zorn_superset`
Lemma names carry modifiers:
* `₀`: Quantifies over a set, as opposed to over a type.
* `_nonempty`: Doesn't ask to prove that the empty chain is bounded and lets you give an element
that will be smaller than the maximal element found (the maximal element is no smaller than any
other element, but it can also be incomparable to some).
## How-to
This file comes across as confusing to those who haven't yet used it, so here is a detailed
walkthrough:
1. Know what relation on which type/set you're looking for. See Variants above. You can discharge
some conditions to Zorn's lemma directly using a `_nonempty` variant.
2. Write down the definition of your type/set, put a `suffices : ∃ m, ∀ a, m ≺ a → a ≺ m, { ... },`
(or whatever you actually need) followed by an `apply some_version_of_zorn`.
3. Fill in the details. This is where you start talking about chains.
A typical proof using Zorn could look like this (TODO: update to mathlib4)
```lean
lemma zorny_lemma : zorny_statement :=
begin
let s : Set α := {x | whatever x},
suffices : ∃ x ∈ s, ∀ y ∈ s, y ⊆ x → y = x, -- or with another operator
{ exact proof_post_zorn },
apply zorn_subset, -- or another variant
rintro c hcs hc,
obtain rfl | hcnemp := c.eq_empty_or_nonempty, -- you might need to disjunct on c empty or not
{ exact ⟨edge_case_construction,
proof_that_edge_case_construction_respects_whatever,
proof_that_edge_case_construction_contains_all_stuff_in_c⟩ },
exact ⟨construction,
proof_that_construction_respects_whatever,
proof_that_construction_contains_all_stuff_in_c⟩,
end
```
## Notes
Originally ported from Isabelle/HOL. The
[original file](https://isabelle.in.tum.de/dist/library/HOL/HOL/Zorn.html) was written by Jacques D.
Fleuriot, Tobias Nipkow, Christian Sternagel.
-/
open Classical Set
variable {α β : Type*} {r : α → α → Prop} {c : Set α}
/-- Local notation for the relation being considered. -/
local infixl:50 " ≺ " => r
/-- **Zorn's lemma**
If every chain has an upper bound, then there exists a maximal element. -/
theorem exists_maximal_of_chains_bounded (h : ∀ c, IsChain r c → ∃ ub, ∀ a ∈ c, a ≺ ub)
(trans : ∀ {a b c}, a ≺ b → b ≺ c → a ≺ c) : ∃ m, ∀ a, m ≺ a → a ≺ m :=
have : ∃ ub, ∀ a ∈ maxChain r, a ≺ ub := h _ <| maxChain_spec.left
let ⟨ub, (hub : ∀ a ∈ maxChain r, a ≺ ub)⟩ := this
⟨ub, fun a ha =>
have : IsChain r (insert a <| maxChain r) :=
maxChain_spec.1.insert fun b hb _ => Or.inr <| trans (hub b hb) ha
hub a <| by
rw [maxChain_spec.right this (subset_insert _ _)]
exact mem_insert _ _⟩
#align exists_maximal_of_chains_bounded exists_maximal_of_chains_bounded
/-- A variant of Zorn's lemma. If every nonempty chain of a nonempty type has an upper bound, then
there is a maximal element.
-/
theorem exists_maximal_of_nonempty_chains_bounded [Nonempty α]
(h : ∀ c, IsChain r c → c.Nonempty → ∃ ub, ∀ a ∈ c, a ≺ ub)
(trans : ∀ {a b c}, a ≺ b → b ≺ c → a ≺ c) : ∃ m, ∀ a, m ≺ a → a ≺ m :=
exists_maximal_of_chains_bounded
(fun c hc =>
(eq_empty_or_nonempty c).elim
(fun h => ⟨Classical.arbitrary α, fun x hx => (h ▸ hx : x ∈ (∅ : Set α)).elim⟩) (h c hc))
trans
#align exists_maximal_of_nonempty_chains_bounded exists_maximal_of_nonempty_chains_bounded
section Preorder
variable [Preorder α]
theorem zorn_preorder (h : ∀ c : Set α, IsChain (· ≤ ·) c → BddAbove c) :
∃ m : α, ∀ a, m ≤ a → a ≤ m :=
exists_maximal_of_chains_bounded h le_trans
#align zorn_preorder zorn_preorder
theorem zorn_nonempty_preorder [Nonempty α]
(h : ∀ c : Set α, IsChain (· ≤ ·) c → c.Nonempty → BddAbove c) : ∃ m : α, ∀ a, m ≤ a → a ≤ m :=
exists_maximal_of_nonempty_chains_bounded h le_trans
#align zorn_nonempty_preorder zorn_nonempty_preorder
theorem zorn_preorder₀ (s : Set α)
(ih : ∀ c ⊆ s, IsChain (· ≤ ·) c → ∃ ub ∈ s, ∀ z ∈ c, z ≤ ub) :
∃ m ∈ s, ∀ z ∈ s, m ≤ z → z ≤ m :=
let ⟨⟨m, hms⟩, h⟩ :=
@zorn_preorder s _ fun c hc =>
let ⟨ub, hubs, hub⟩ :=
ih (Subtype.val '' c) (fun _ ⟨⟨_, hx⟩, _, h⟩ => h ▸ hx)
(by
rintro _ ⟨p, hpc, rfl⟩ _ ⟨q, hqc, rfl⟩ hpq
refine' hc hpc hqc fun t => hpq (Subtype.ext_iff.1 t))
⟨⟨ub, hubs⟩, fun ⟨y, hy⟩ hc => hub _ ⟨_, hc, rfl⟩⟩
⟨m, hms, fun z hzs hmz => h ⟨z, hzs⟩ hmz⟩
#align zorn_preorder₀ zorn_preorder₀
theorem zorn_nonempty_preorder₀ (s : Set α)
(ih : ∀ c ⊆ s, IsChain (· ≤ ·) c → ∀ y ∈ c, ∃ ub ∈ s, ∀ z ∈ c, z ≤ ub) (x : α)
(hxs : x ∈ s) : ∃ m ∈ s, x ≤ m ∧ ∀ z ∈ s, m ≤ z → z ≤ m := by
-- Porting note: the first three lines replace the following two lines in mathlib3.
-- The mathlib3 `rcases` supports holes for proof obligations, this is not yet implemented in 4.
-- rcases zorn_preorder₀ ({ y ∈ s | x ≤ y }) fun c hcs hc => ?_ with ⟨m, ⟨hms, hxm⟩, hm⟩
-- · exact ⟨m, hms, hxm, fun z hzs hmz => hm _ ⟨hzs, hxm.trans hmz⟩ hmz⟩
have H := zorn_preorder₀ ({ y ∈ s | x ≤ y }) fun c hcs hc => ?_
· rcases H with ⟨m, ⟨hms, hxm⟩, hm⟩
exact ⟨m, hms, hxm, fun z hzs hmz => hm _ ⟨hzs, hxm.trans hmz⟩ hmz⟩
· rcases c.eq_empty_or_nonempty with (rfl | ⟨y, hy⟩)
· exact ⟨x, ⟨hxs, le_rfl⟩, fun z => False.elim⟩
· rcases ih c (fun z hz => (hcs hz).1) hc y hy with ⟨z, hzs, hz⟩
exact ⟨z, ⟨hzs, (hcs hy).2.trans <| hz _ hy⟩, hz⟩
#align zorn_nonempty_preorder₀ zorn_nonempty_preorder₀
theorem zorn_nonempty_Ici₀ (a : α)
(ih : ∀ c ⊆ Ici a, IsChain (· ≤ ·) c → ∀ y ∈ c, ∃ ub, ∀ z ∈ c, z ≤ ub)
(x : α) (hax : a ≤ x) : ∃ m, x ≤ m ∧ ∀ z, m ≤ z → z ≤ m := by
let ⟨m, _, hxm, hm⟩ := zorn_nonempty_preorder₀ (Ici a) (fun c hca hc y hy ↦ ?_) x hax
· exact ⟨m, hxm, fun z hmz => hm _ (hax.trans <| hxm.trans hmz) hmz⟩
· have ⟨ub, hub⟩ := ih c hca hc y hy; exact ⟨ub, (hca hy).trans (hub y hy), hub⟩
#align zorn_nonempty_Ici₀ zorn_nonempty_Ici₀
end Preorder
section PartialOrder
variable [PartialOrder α]
theorem zorn_partialOrder (h : ∀ c : Set α, IsChain (· ≤ ·) c → BddAbove c) :
∃ m : α, ∀ a, m ≤ a → a = m :=
let ⟨m, hm⟩ := zorn_preorder h
⟨m, fun a ha => le_antisymm (hm a ha) ha⟩
#align zorn_partial_order zorn_partialOrder
theorem zorn_nonempty_partialOrder [Nonempty α]
(h : ∀ c : Set α, IsChain (· ≤ ·) c → c.Nonempty → BddAbove c) : ∃ m : α, ∀ a, m ≤ a → a = m :=
let ⟨m, hm⟩ := zorn_nonempty_preorder h
⟨m, fun a ha => le_antisymm (hm a ha) ha⟩
#align zorn_nonempty_partial_order zorn_nonempty_partialOrder
theorem zorn_partialOrder₀ (s : Set α)
(ih : ∀ c ⊆ s, IsChain (· ≤ ·) c → ∃ ub ∈ s, ∀ z ∈ c, z ≤ ub) :
∃ m ∈ s, ∀ z ∈ s, m ≤ z → z = m :=
let ⟨m, hms, hm⟩ := zorn_preorder₀ s ih
⟨m, hms, fun z hzs hmz => (hm z hzs hmz).antisymm hmz⟩
#align zorn_partial_order₀ zorn_partialOrder₀
theorem zorn_nonempty_partialOrder₀ (s : Set α)
(ih : ∀ c ⊆ s, IsChain (· ≤ ·) c → ∀ y ∈ c, ∃ ub ∈ s, ∀ z ∈ c, z ≤ ub) (x : α)
(hxs : x ∈ s) : ∃ m ∈ s, x ≤ m ∧ ∀ z ∈ s, m ≤ z → z = m :=
let ⟨m, hms, hxm, hm⟩ := zorn_nonempty_preorder₀ s ih x hxs
⟨m, hms, hxm, fun z hzs hmz => (hm z hzs hmz).antisymm hmz⟩
#align zorn_nonempty_partial_order₀ zorn_nonempty_partialOrder₀
end PartialOrder
theorem zorn_subset (S : Set (Set α))
(h : ∀ c ⊆ S, IsChain (· ⊆ ·) c → ∃ ub ∈ S, ∀ s ∈ c, s ⊆ ub) :
∃ m ∈ S, ∀ a ∈ S, m ⊆ a → a = m :=
zorn_partialOrder₀ S h
#align zorn_subset zorn_subset
theorem zorn_subset_nonempty (S : Set (Set α))
(H : ∀ c ⊆ S, IsChain (· ⊆ ·) c → c.Nonempty → ∃ ub ∈ S, ∀ s ∈ c, s ⊆ ub) (x)
(hx : x ∈ S) : ∃ m ∈ S, x ⊆ m ∧ ∀ a ∈ S, m ⊆ a → a = m :=
zorn_nonempty_partialOrder₀ _ (fun _ cS hc y yc => H _ cS hc ⟨y, yc⟩) _ hx
#align zorn_subset_nonempty zorn_subset_nonempty
theorem zorn_superset (S : Set (Set α))
(h : ∀ c ⊆ S, IsChain (· ⊆ ·) c → ∃ lb ∈ S, ∀ s ∈ c, lb ⊆ s) :
∃ m ∈ S, ∀ a ∈ S, a ⊆ m → a = m :=
(@zorn_partialOrder₀ (Set α)ᵒᵈ _ S) fun c cS hc => h c cS hc.symm
#align zorn_superset zorn_superset
theorem zorn_superset_nonempty (S : Set (Set α))
(H : ∀ c ⊆ S, IsChain (· ⊆ ·) c → c.Nonempty → ∃ lb ∈ S, ∀ s ∈ c, lb ⊆ s) (x)
(hx : x ∈ S) : ∃ m ∈ S, m ⊆ x ∧ ∀ a ∈ S, a ⊆ m → a = m :=
@zorn_nonempty_partialOrder₀ (Set α)ᵒᵈ _ S (fun _ cS hc y yc => H _ cS hc.symm ⟨y, yc⟩) _ hx
#align zorn_superset_nonempty zorn_superset_nonempty
/-- Every chain is contained in a maximal chain. This generalizes Hausdorff's maximality principle.
-/
theorem IsChain.exists_maxChain (hc : IsChain r c) : ∃ M, @IsMaxChain _ r M ∧ c ⊆ M := by
-- Porting note: the first three lines replace the following two lines in mathlib3.
-- The mathlib3 `obtain` supports holes for proof obligations, this is not yet implemented in 4.
-- obtain ⟨M, ⟨_, hM₀⟩, hM₁, hM₂⟩ :=
-- zorn_subset_nonempty { s | c ⊆ s ∧ IsChain r s } _ c ⟨Subset.rfl, hc⟩
have H := zorn_subset_nonempty { s | c ⊆ s ∧ IsChain r s } ?_ c ⟨Subset.rfl, hc⟩
· obtain ⟨M, ⟨_, hM₀⟩, hM₁, hM₂⟩ := H
exact ⟨M, ⟨hM₀, fun d hd hMd => (hM₂ _ ⟨hM₁.trans hMd, hd⟩ hMd).symm⟩, hM₁⟩
rintro cs hcs₀ hcs₁ ⟨s, hs⟩
refine'
⟨⋃₀cs, ⟨fun _ ha => Set.mem_sUnion_of_mem ((hcs₀ hs).left ha) hs, _⟩, fun _ =>
Set.subset_sUnion_of_mem⟩
rintro y ⟨sy, hsy, hysy⟩ z ⟨sz, hsz, hzsz⟩ hyz
obtain rfl | hsseq := eq_or_ne sy sz
· exact (hcs₀ hsy).right hysy hzsz hyz
cases' hcs₁ hsy hsz hsseq with h h
· exact (hcs₀ hsz).right (h hysy) hzsz hyz
· exact (hcs₀ hsy).right hysy (h hzsz) hyz
#align is_chain.exists_max_chain IsChain.exists_maxChain
-- other bits of tricky syntax
variable {ι A B : Type*} (𝒜 : ι → A) (ℬ : ι → B)
#check `𝒜.a
#check ``𝒜
#check List.get!
#check 1.0 + 2. + 0.3e1
#check "\
This is\na \
wrapped string."
@[to_additive "See note [foo]"]
lemma mul_one : sorry := sorry
Test TwistySim [uts-016I]
Test TwistySim [uts-016I]
For docs, see TwistySim.
TwistySim is the work of Conrad Rider, licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA 4.0).
Test Twizzle [uts-016H]
R U2' R2 U' R2 U' R2 U2' R
y'
M2' U M U2 M' U M2
Test Twizzle [uts-016H]
- API: cubing.js and full API reference - available options for TwistyPlayer: twisty-player-config - demo for TwistyAlgVier: twisty-alg-viewer demo for use of alg viewer, inspired by A supplement to "Commutators in the Rubik's Cube Group"
test 3D Bifurcation Diagram [uts-001C]
test 3D Bifurcation Diagram [uts-001C]
2025-06-06 UPDATE: Known to be broken for now. Errors: ``` Uncaught (in promise) JsValue(OperationError: Failed to execute 'requestDevice' on 'GPUAdapter': The limit "maxInterStageShaderComponents" with a non-undefined value is not recognized. OperationError: Failed to execute 'requestDevice' on 'GPUAdapter': The limit "maxInterStageShaderComponents" with a non-undefined value is not recognized. ```
Adapted from ⧉:
#storage atomic_storage array<atomic<i32>> const MaxSamples = 256.0; const FOV = 0.6; const PI = 3.14159265; const TWO_PI = 6.28318530718; const STEP = 0.01; const LARGENUM = 1e10; const ATOMIC_SCALE = 1024.0; struct Camera { pos: float3, cam: float3x3, fov: float, size: float2 } struct Ray { ro: float3, rd: float3, } var<private> camera : Camera; var<private> state : uint4; fn pcg4d(a: uint4) -> uint4 { var v = a * 1664525u + 1013904223u; v.x += v.y*v.w; v.y += v.z*v.x; v.z += v.x*v.y; v.w += v.y*v.z; v = v ^ ( v >> uint4(16u) ); v.x += v.y*v.w; v.y += v.z*v.x; v.z += v.x*v.y; v.w += v.y*v.z; return v; } fn rand4() -> float4 { state = pcg4d(state); return float4(state)/float(0xffffffffu); } fn nrand4(sigma: float, mean: float4) -> float4 { let Z = rand4(); return mean + sigma * sqrt(-2.0 * log(Z.xxyy)) * float4(cos(TWO_PI * Z.z),sin(TWO_PI * Z.z),cos(TWO_PI * Z.w),sin(TWO_PI * Z.w)); } fn udir(rng: float2) -> float3 { let r = float2(2.*PI*rng.x, acos(2.*rng.y - 1.0)); let c = cos(r); let s = sin(r); return float3(c.x*s.y, s.x*s.y, c.y); } fn disk(rng: float2) -> float2 { return float2(sin(TWO_PI*rng.x), cos(TWO_PI*rng.x))*sqrt(rng.y); } fn Rotate(t: float) -> float2x2 { return float2x2( cos(t), sin(t), - sin(t), cos(t), ); } fn RotXY(x: float3, t: float) -> float3 { return float3(Rotate(t)*x.xy, x.z); } fn GetCameraMatrix(ang: float2) -> float3x3 { let x_dir = float3(cos(ang.x)*sin(ang.y), cos(ang.y), sin(ang.x)*sin(ang.y)); let y_dir = normalize(cross(x_dir, float3(0.0,1.0,0.0))); let z_dir = normalize(cross(y_dir, x_dir)); return float3x3(-x_dir, y_dir, z_dir); } fn SetCamera() { let screen_size = int2(textureDimensions(screen)); let screen_size_f = float2(screen_size); let ang = float2(mouse.pos.xy)*float2(-TWO_PI, PI)/screen_size_f + float2(0.4, 0.4); camera.fov = FOV; camera.cam = GetCameraMatrix(ang); camera.pos = - (camera.cam*float3(8.0*custom.Radius+0.5,0.0,0.0)); camera.size = screen_size_f; } //project to clip space fn Project(cam: Camera, p: float3) -> float3 { let td = distance(cam.pos, p); let dir = (p - cam.pos)/td; let screen = dir*cam.cam; return float3(screen.yz*cam.size.y/(cam.fov*screen.x) + 0.5*cam.size,screen.x*td); } const max_iterations = 256; const color_thresholds = float4(255.0, 130.0, 80.0, 255.0); fn AdditiveBlend(color: float3, depth: float, index: int) { let scaledColor = int3(floor(ATOMIC_SCALE*color/(depth*depth + 0.2) + rand4().xyz)); if(scaledColor.x>0) { atomicAdd(&atomic_storage[index*4+0], scaledColor.x); } if(scaledColor.y>0) { atomicAdd(&atomic_storage[index*4+1], scaledColor.y); } if(scaledColor.z>0) { atomicAdd(&atomic_storage[index*4+2], scaledColor.z); } } fn RasterizePoint(pos: float3, color: float3) { let screen_size = int2(camera.size); let projectedPos = Project(camera, pos); let screenCoord = int2(projectedPos.xy+0.5*rand4().xy); //outside of our view if(screenCoord.x < 0 || screenCoord.x >= screen_size.x || screenCoord.y < 0 || screenCoord.y >= screen_size.y || projectedPos.z < 0.0) { return; } let idx = screenCoord.x + screen_size.x * screenCoord.y; AdditiveBlend(color, projectedPos.z, idx); } fn saturate(x: f32) -> f32 { return min(1.0, max(0.0, x)); } fn saturate_vec3(x: vec3<f32>) -> vec3<f32> { return min(vec3<f32>(1.0, 1.0, 1.0), max(vec3<f32>(0.0, 0.0, 0.0), x)); } fn bump3y(x: vec3<f32>, yoffset: vec3<f32>) -> vec3<f32> { var y: vec3<f32> = vec3<f32>(1.0, 1.0, 1.0) - x * x; y = saturate_vec3(y - yoffset); return y; } fn spectral_zucconi(w: f32) -> vec3<f32> { let x: f32 = saturate((w - 400.0) / 300.0); let cs: vec3<f32> = vec3<f32>(3.54541723, 2.86670055, 2.29421995); let xs: vec3<f32> = vec3<f32>(0.69548916, 0.49416934, 0.28269708); let ys: vec3<f32> = vec3<f32>(0.02320775, 0.15936245, 0.53520021); return bump3y(cs * (x - xs), ys); } fn hue(v: float) -> float3 { return .6 + .6 * cos(6.3 * v + float3(0.,23.,21.)); } fn bifurcation(iters: i32) { var p = rand4().xyz * float3(4.0, 4.0, 5.0) - float3(2.0, 2.0, -0.25); let s = rand4().x; let alpha = custom.Alpha; let beta = custom.Beta + custom.BetaAnim*(0.5 * sin(time.elapsed) + 0.5) + custom.BetaS*s; for (var j: i32 = 0; j <= iters; j = j + 1) { let p0 = p; p.x = p.z - p0.y*(beta * p0.x + (1.0 - beta) * p0.y); p.y = p0.x + p0.y * p0.y * alpha; if(j < iters - int(custom.Samples*MaxSamples + 1.0)) {continue;} var color = spectral_zucconi(350 + 350.0*s); color = pow(color, vec3(1.0)); RasterizePoint(float3(1,1,2.5)*(p - float3(0.5, 0.5, 1.5)), 32.0*color/(custom.Samples*MaxSamples + 1.0)); } } @compute @workgroup_size(16, 16) fn Clear(@builtin(global_invocation_id) id: uint3) { let screen_size = int2(textureDimensions(screen)); let idx0 = int(id.x) + int(screen_size.x * int(id.y)); atomicStore(&atomic_storage[idx0*4+0], 0); atomicStore(&atomic_storage[idx0*4+1], 0); atomicStore(&atomic_storage[idx0*4+2], 0); atomicStore(&atomic_storage[idx0*4+3], 0); } @compute @workgroup_size(16, 16) fn Rasterize(@builtin(global_invocation_id) id: uint3) { SetCamera(); //RNG state state = uint4(id.x, id.y, id.z, uint(custom.NoiseAnimation)*time.frame); bifurcation(int(MaxSamples*2.0)); } fn Sample(pos: int2) -> float3 { let screen_size = int2(textureDimensions(screen)); let idx = pos.x + screen_size.x * pos.y; var color: float3; let x = float(atomicLoad(&atomic_storage[idx*4+0])); let y = float(atomicLoad(&atomic_storage[idx*4+1])); let z = float(atomicLoad(&atomic_storage[idx*4+2])); color = float3(x,y,z)/ATOMIC_SCALE; return abs(color); } @compute @workgroup_size(16, 16) fn FinalPass(@builtin(global_invocation_id) id: uint3) { let screen_size = uint2(textureDimensions(screen)); // Prevent overdraw for workgroups on the edge of the viewport if (id.x >= screen_size.x || id.y >= screen_size.y) { return; } // Pixel coordinates (centre of pixel, origin at bottom left) let fragCoord = float2(float(id.x) + .5, float(id.y) + .5); let oldColor = textureLoad(pass_in, int2(id.xy), 0, 0); var color = float4(Sample(int2(id.xy)), 1.0); if(mouse.click != 1) { color += oldColor * custom.Accumulation; } let exposed = 1.0 - exp(-5.0*custom.Exposure*color.xyz/color.w); // Output to buffer textureStore(pass_out, int2(id.xy), 0, color); textureStore(screen, int2(id.xy), float4(exposed, 1.)); }
test GiNaC (WASM) [uts-001H]
test GiNaC (WASM) [uts-001H]
For now, open the console to see the output.
test Keenan Crane's style for rendering edge and shade [uts-001D]
test Keenan Crane's style for rendering edge and shade [uts-001D]
Adapted from ⧉:
#define EDGE_WIDTH 0.12 #define RAYMARCH_ITERATIONS 35 #define SHADOW_ITERATIONS 40 #define SHADOW_STEP 1.0 #define SHADOW_SMOOTHNESS 256.0 #define SHADOW_DARKNESS 0.75 // Distance functions from iquilezles.org float fSubtraction(float a, float b) {return max(-a,b);} float fIntersection(float d1, float d2) {return max(d1,d2);} void fUnion(inout float d1, float d2) {d1 = min(d1,d2);} float pSphere(vec3 p, float s) {return length(p)-s;} float pRoundBox(vec3 p, vec3 b, float r) {return length(max(abs(p)-b,0.0))-r;} float pTorus(vec3 p, vec2 t) {vec2 q = vec2(length(p.xz)-t.x,p.y); return length(q)-t.y;} float pTorus2(vec3 p, vec2 t) {vec2 q = vec2(length(p.xy)-t.x,p.z); return length(q)-t.y;} float pCapsule(vec3 p, vec3 a, vec3 b, float r) {vec3 pa = p - a, ba = b - a; float h = clamp( dot(pa,ba)/dot(ba,ba), 0.0, 1.0 ); return length( pa - ba*h ) - r;} float mySDF(vec3 p) { float x = p.x; float y = p.y; float z = p.z; float x2 = pow(x, 2.); float y2 = pow(y, 2.); float z2 = pow(z, 2.); float x3 = pow(x, 3.); float y3 = pow(y, 3.); float z3 = pow(z, 3.); float x4 = pow(x, 4.); float y4 = pow(y, 4.); float z4 = pow(z, 4.); // return (y-x2)*(z-x3); // return 5.*(z2+y3-y4-x2*y2); // return (y2-x2-z2); return (x2-z2*y2+y3); } float distf(vec3 p) { float d = 100000.0; fUnion(d, pRoundBox(vec3(0,0,10) + p, vec3(21,21,1), 1.0)); fUnion(d, pSphere(vec3(10,10,0) + p, 8.0)); fUnion(d, pSphere(vec3(16,0,4) + p, 4.0)); fUnion(d, pCapsule(p, vec3(10,10,12), vec3(15,15,-6.5), 1.5)); fUnion(d, pCapsule(p, vec3(10,10,12), vec3(5,15,-6.5), 1.5)); fUnion(d, pCapsule(p, vec3(10,10,12), vec3(10,5,-6.5), 1.5)); fUnion(d, pTorus(vec3(15,-15,0) + p, vec2(6,2))); fUnion(d, pTorus2(vec3(10,-15,0) + p, vec2(6,2))); fUnion(d, pRoundBox(vec3(-10,10,-2) + p, vec3(1,1,9), 1.0)); fUnion(d, pRoundBox(vec3(-10,10,-4) + p, vec3(0.5,6,0.5), 1.0)); fUnion(d, pRoundBox(vec3(-10,10,2) + p, vec3(6,0.5,0.5), 1.0)); // d = mySDF(p); // d = fIntersection(d, pSphere(p,15.0)); return d; } vec3 grad(vec3 p) { const float eps = 0.01; float m; vec3 d_distf = vec3( (distf(vec3(p.x-eps,p.y,p.z)) - distf(vec3(p.x+eps,p.y,p.z))), (distf(vec3(p.x,p.y-eps,p.z)) - distf(vec3(p.x,p.y+eps,p.z))), (distf(vec3(p.x,p.y,p.z-eps)) - distf(vec3(p.x,p.y,p.z+eps))) ); return d_distf / (2.*eps); } vec3 grad2(vec3 p) { const float eps = 0.01; float m; vec3 d_grad = vec3( (grad(vec3(p.x-eps,p.y,p.z)) - grad(vec3(p.x+eps,p.y,p.z))).x, (grad(vec3(p.x,p.y-eps,p.z)) - grad(vec3(p.x,p.y+eps,p.z))).y, (grad(vec3(p.x,p.y,p.z-eps)) - grad(vec3(p.x,p.y,p.z+eps)).z) ); return d_grad / (2.*eps); } vec3 normal(vec3 p) { return normalize(grad(p)); } vec4 raymarch(vec3 from, vec3 increment) { const float maxDist = 200.0; const float minDist = 0.001; const int maxIter = RAYMARCH_ITERATIONS; float dist = 0.0; float lastDistEval = 1e10; float edge = 0.0; for(int i = 0; i < maxIter; i++) { vec3 pos = (from + increment * dist); float distEval = distf(pos); if (lastDistEval < EDGE_WIDTH && distEval > lastDistEval + 0.001) { edge = 1.0; } if (distEval < minDist) { break; } dist += distEval; if (distEval < lastDistEval) lastDistEval = distEval; } float mat = 1.0; if (dist >= maxDist) mat = 0.0; return vec4(dist, mat, edge, 0); } float shadow(vec3 from, vec3 increment) { const float minDist = 1.0; float res = 1.0; float t = 1.0; for(int i = 0; i < SHADOW_ITERATIONS; i++) { float h = distf(from + increment * t); if(h < minDist) return 0.0; res = min(res, SHADOW_SMOOTHNESS * h / t); t += SHADOW_STEP; } return res; } float rand(float x) { return fract(sin(x) * 43758.5453); } float triangle(float x) { return abs(1.0 - mod(abs(x), 2.0)) * 2.0 - 1.0; } // Camera localized normal vec3 campos, camup; vec3 localNormal(vec3 p, vec3 rd) { vec3 n = normal(p), ln; vec3 side = cross(campos, camup); return vec3(dot(n, side), dot(n, camup), dot(n, -rd)); } float time; vec4 getPixel(vec2 p, vec3 from, vec3 increment, vec3 light) { vec4 c = raymarch(from, increment); vec3 hitPos = from + increment * c.x; vec3 normalDir = normal(hitPos); float diffuse = 1.0 + min(0.0, dot(normalDir, -light)); float inshadow = (1.0 - shadow(hitPos, -light)) * SHADOW_DARKNESS; // diffuse = max(diffuse, inshadow); // if it's not edge, and no contact if (c.z != 1.0 && c.y == 0.0) return vec4(0.96, 0.94, 0.87,1); float low = 0.05; float high = 0.95; diffuse = diffuse > high ? 1.0 : (diffuse > low ? low : diffuse); vec4 mCol = mix(vec4(vec3(0.78, 0.76, 0.78) * 1.15,1), vec4(0.70, 0.68, 0.75,1), diffuse); float gridStep = 1.0; // optional chess style grid // mCol = mix(mCol,vec4(0.,0.,0.,1.0),0.1*mod(floor(hitPos.x/gridStep)+floor(hitPos.y/gridStep)+floor(hitPos.z/gridStep),2.)); float dt = dot(vec3(0., 0., 1.), normalDir); float eps_high = 0.02; float eps_low = 0.00000; //1; // vec3 n = vec4(normalDir, 0.).xyz; vec3 n = localNormal(hitPos, increment); // grad(hitPos); // localNormal(hitPos, increment); vec3 ez = vec3(0.,0.,0.1); // https://www.shadertoy.com/view/fsGXzc const float MAX_DIST = 200.0; float depth = distance(from, hitPos); // /MAX_DIST; // I've mostly just copied and pasted Evan's code. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Compute curvature vec3 dx = dFdx(n); vec3 dy = dFdy(n); vec3 xneg = n - dx; vec3 xpos = n + dx; vec3 yneg = n - dy; vec3 ypos = n + dy; float curvature = (cross(xneg, xpos).y - cross(yneg, ypos).x) * 4.0 / (depth); // curvature debug // return vec4(vec3(1,0.9,0.8) * 0.7 * (abs(curvature) * 500.),1); ; vec4 curve_color = vec4(mix(vec3(1,0.9,0.8) * 0.5, vec3(1.), 0.5), 1.); // * length(grad(hitPos).xy) // * abs(curvature) * 200. float curvature_eps = 0.0001; if(c.z != 1. && abs(curvature) > curvature_eps && length(grad(hitPos).z) > eps_low && ( length(grad(hitPos).z) < eps_high * abs(curvature) * 100. ) ) { return curve_color; } if(c.z != 1. && abs(curvature) > curvature_eps && length(grad(hitPos).y) > eps_low && ( length(grad(hitPos).y) < eps_high * abs(curvature) * 100.) ) { return curve_color; } if(c.z != 1. && abs(curvature) > curvature_eps && length(grad(hitPos).x) > eps_low && ( length(grad(hitPos).x) < eps_high * abs(curvature) * 100.) ) { return curve_color; } if(c.z != 1. && length(grad(hitPos).z) > eps_low && ( length(grad(hitPos).z) < eps_high) ) { // return vec4(mix(vec3(1,0.9,0.8) * 0.5, vec3(1.), 0.5), 1.); // * (abs(curvature) * 1000.),1); } // .z is edge mCol = mix(mCol,vec4(vec3(1,0.9,0.8) * 0.5,1),c.z); return mCol; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) { time = floor(iTime * 16.0) / 16.0; // pixel position vec2 q = fragCoord.xy / iResolution.xy; vec2 p = -1.0+2.0*q; p.x *= -iResolution.x/iResolution.y; // mouse vec2 mo = iMouse.xy/iResolution.xy; vec2 m = iMouse.xy / iResolution.xy; if (iMouse.x == 0.0 && iMouse.y == 0.0) { m = vec2(time * 0.06 + 1.67, 0.78); } m = -1.0 + 2.0 * m; m *= vec2(4.0,-0.75); m.y += 0.75; // camera position float dist = 65.0; vec3 ta = vec3(0,0,0); vec3 ro = vec3(cos(m.x) * cos(m.y) * dist, sin(m.x) * cos(m.y) * dist, sin(m.y) * dist); vec3 light = vec3(cos(m.x - 2.27) * 50.0, sin(m.x - 2.27) * 50.0, -20.0); // camera direction vec3 cw = normalize( ta-ro ); vec3 cp = vec3( 0.0, 0.0, 1.0 ); vec3 cu = normalize( cross(cw,cp) ); vec3 cv = normalize( cross(cu,cw) ); vec3 rd = normalize( p.x*cu + p.y*cv + 2.5*cw ); campos = -cw, camup = cv; // calculate color vec4 col = getPixel(p, ro, rd, normalize(light)); col = pow(col, vec4(1.0 / 2.2)); col = col * 1.8 - 0.8; fragColor = col; }
Color extracted with the help of ⧉.
See also: - toon shader - GLSL Fragment Shader: Sobel Edge Detection - Cross hatching WebGL shader - Penumbra Maps: Approximate Soft Shadows in Real-Time - stackgl/glsl-lighting-walkthrough
test Rhai scripting [uts-001P]
test Rhai scripting [uts-001P]
For now, open the console to see the output.
test Three.js and shaders [uts-0015]
test Three.js and shaders [uts-0015]
test compute shaders [uts-001E]
test compute shaders [uts-001E]
test d3-graphviz [uts-001Q]
test d3-graphviz [uts-001Q]
Same as test graphviz, but with d3-graphviz. There is no obvious difference as zooming and panning are disabled to avoid distraction.
Adapted from ⧉:
Adapted from ⧉:
Adapted from ⧉:
The same, but randomly choose a layout from one of 'circo', 'dot', 'fdp', 'sfdp', 'neato', 'osage', 'patchwork', 'twopi':
test egglog [uts-001I]
test egglog [uts-001I]
For now, open the console to see the output.
test graphviz [uts-001L]
test graphviz [uts-001L]
Adapted from ⧉:
Adapted from ⧉:
Adapted from ⧉:
The same, but randomly choose a layout from one of 'circo', 'dot', 'fdp', 'sfdp', 'neato', 'osage', 'patchwork', 'twopi':
test markdownit [uts-000M]
test markdownit [uts-000M]
We test hybrid markdown with forester markup:
We wish to use - external link: markdown-it demo - wiki link: test tikz drawing - citations: [nakahira2023diagrammatic] - cross-references: § [uts-000E]
The following tests a raw markdown-it renderer with no plugins, adapted from markdown-it demo:
# h1 Heading 8-) ## h2 Heading ### h3 Heading #### h4 Heading ##### h5 Heading ###### h6 Heading ## Horizontal Rules ___ --- *** ## Typographic replacements Enable typographer option to see result. (c) (C) (r) (R) (tm) (TM) (p) (P) +- test.. test... test..... test?..... test!.... !!!!!! ???? ,, -- --- "Smartypants, double quotes" and 'single quotes' ## Emphasis **This is bold text** __This is bold text__ *This is italic text* _This is italic text_ ~~Strikethrough~~ ## Blockquotes > Blockquotes can also be nested... >> ...by using additional greater-than signs right next to each other... > > > ...or with spaces between arrows. ## Lists Unordered + Create a list by starting a line with `+`, `-`, or `*` + Sub-lists are made by indenting 2 spaces: - Marker character change forces new list start: * Ac tristique libero volutpat at + Facilisis in pretium nisl aliquet - Nulla volutpat aliquam velit + Very easy! Ordered 1. Lorem ipsum dolor sit amet 2. Consectetur adipiscing elit 3. Integer molestie lorem at massa 1. You can use sequential numbers... 1. ...or keep all the numbers as `1.` Start numbering with offset: 57. foo 1. bar ## Code Inline `code` Indented code // Some comments line 1 of code line 2 of code line 3 of code Block code "fences" ``` Sample text here... ``` Syntax highlighting ``` js var foo = function (bar) { return bar++; }; console.log(foo(5)); ``` ## Tables | Option | Description | | ------ | ----------- | | data | path to data files to supply the data that will be passed into templates. | | engine | engine to be used for processing templates. Handlebars is the default. | | ext | extension to be used for dest files. | Right aligned columns | Option | Description | | ------:| -----------:| | data | path to data files to supply the data that will be passed into templates. | | engine | engine to be used for processing templates. Handlebars is the default. | | ext | extension to be used for dest files. | ## Links [link text](http://dev.nodeca.com) [link with title](http://nodeca.github.io/pica/demo/ "title text!") Autoconverted link https://github.com/nodeca/pica (enable linkify to see) ## Images   Like links, Images also have a footnote style syntax ![Alt text][id] With a reference later in the document defining the URL location: [id]: https://octodex.github.com/images/dojocat.jpg "The Dojocat" ## Plugins The killer feature of `markdown-it` is very effective support of [syntax plugins](https://www.npmjs.org/browse/keyword/markdown-it-plugin). ### [Emojies](https://github.com/markdown-it/markdown-it-emoji) > Classic markup: :wink: :cry: :laughing: :yum: > > Shortcuts (emoticons): :-) :-( 8-) ;) see [how to change output](https://github.com/markdown-it/markdown-it-emoji#change-output) with twemoji. ### [Subscript](https://github.com/markdown-it/markdown-it-sub) / [Superscript](https://github.com/markdown-it/markdown-it-sup) - 19^th^ - H~2~O ### [\<ins>](https://github.com/markdown-it/markdown-it-ins) ++Inserted text++ ### [\<mark>](https://github.com/markdown-it/markdown-it-mark) ==Marked text== ### [Footnotes](https://github.com/markdown-it/markdown-it-footnote) Footnote 1 link[^first]. Footnote 2 link[^second]. Inline footnote^[Text of inline footnote] definition. Duplicated footnote reference[^second]. [^first]: Footnote **can have markup** and multiple paragraphs. [^second]: Footnote text. ### [Definition lists](https://github.com/markdown-it/markdown-it-deflist) Term 1 : Definition 1 with lazy continuation. Term 2 with *inline markup* : Definition 2 { some code, part of Definition 2 } Third paragraph of definition 2. _Compact style:_ Term 1 ~ Definition 1 Term 2 ~ Definition 2a ~ Definition 2b ### [Abbreviations](https://github.com/markdown-it/markdown-it-abbr) This is HTML abbreviation example. It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on. *[HTML]: Hyper Text Markup Language ### [Custom containers](https://github.com/markdown-it/markdown-it-container) ::: warning *here be dragons* :::
test markmap [uts-016G]
test markmap [uts-016G]
The following example is adapted from markmap: Try it out.
test mermaid [uts-016F]
test mermaid [uts-016F]
We test hybrid markdown with forester markup and mermaid diagrams.
They should render to a mermaid diagram or fail gracefully as the mermaid source code.
The following examples are taken from various DeepWiki generated by AI or official Mermaid examples.
graph TD RaftNode["raftNode"] --> WAL["Write-Ahead Log (WAL)"] RaftNode --> MemoryStorage["raft.MemoryStorage"] MemoryStorage --> Snapshot["snap.Snapshotter"] WAL --> DiskStorage["Storage on Disk"] Snapshot --> DiskStorage subgraph "Log Compaction" Snapshot -->|"Creates"| SnapshotFile["Snapshot File"] SnapshotFile -->|"Allows truncation of"| WAL end
sequenceDiagram participant App as "Your Application" participant Config as "embed.Config" participant Etcd as "embed.Etcd" participant Server as "etcdserver.EtcdServer" App->>Config: NewConfig() Note over Config: Configure options App->>Config: Customize configuration App->>Etcd: StartEtcd(config) Etcd->>Config: Validate() Etcd->>Server: NewServer(serverConfig) Etcd->>Server: Start() Etcd-->>App: Return Etcd instance App->>Etcd: Server.ReadyNotify() Note over App,Etcd: Wait for server to be ready App->>Etcd: Use etcd server
classDiagram class Config { +Name string +Dir string +WalDir string +ListenPeerUrls []url.URL +ListenClientUrls []url.URL +AdvertisePeerUrls []url.URL +AdvertiseClientUrls []url.URL +ClientTLSInfo transport.TLSInfo +PeerTLSInfo transport.TLSInfo +ClusterState string +InitialCluster string +InitialClusterToken string +LogOutput[] string +LogLevel string +Logger *zap.Logger +AuthToken string +ServerFeatureGate featuregate.FeatureGate +...other fields } Config --> ServerConfig Config --> ClientConfig Config --> SecurityConfig class ServerConfig { +Name string +DataDir string +...other fields } class ClientConfig { +ConnectionType ClientConnType +CertAuthority bool +AutoTLS bool +...other fields } class SecurityConfig { +CertFile string +KeyFile string +TrustedCAFile string +...other fields }
stateDiagram-v2 [*] --> Still Still --> [*] Still --> Moving Moving --> Still Moving --> Crash Crash --> [*]
erDiagram CUSTOMER }|..|{ DELIVERY-ADDRESS : has CUSTOMER ||--o{ ORDER : places CUSTOMER ||--o{ INVOICE : "liable for" DELIVERY-ADDRESS ||--o{ ORDER : receives INVOICE ||--|{ ORDER : covers ORDER ||--|{ ORDER-ITEM : includes PRODUCT-CATEGORY ||--|{ PRODUCT : contains PRODUCT ||--o{ ORDER-ITEM : "ordered in"
%%{init: { 'logLevel': 'debug', 'timeline': {'disableMulticolor': true}}}%% timeline title History of Social Media Platform 2002 : LinkedIn 2004 : Facebook : Google 2005 : YouTube 2006 : Twitter
sankey-beta %% source,target,value Electricity grid,Over generation / exports,104.453 Electricity grid,Heating and cooling - homes,113.726 Electricity grid,H2 conversion,27.14
journey title My working day section Go to work Make tea: 5: Me Go upstairs: 3: Me Do work: 1: Me, Cat section Go home Go downstairs: 5: Me Sit down: 3: Me
gantt title A Gantt Diagram dateFormat MM-DD section sec 1 task1 : a1, 2014-01-01, 3d task2 : after a1, 2d section sec 2 task3 : 2014-01-02, 2d task4 : 4d
test penrose [uts-000Q]
test penrose [uts-000Q]
The following combines Penrose examples walk-on-spheres/laplace-estimator and curve-examples/blobs:
test pikchr [uts-000W]
test pikchr [uts-000W]
The following example is from ⧉:
The following is from my blog post Transformers: from self-attention to performance optimizations:
test syntax highlighting [uts-000Y]
test syntax highlighting [uts-000Y]
This is an additional test to Lean 4 code highlighting, which should load language highlighting syntax from CDN on demand to avoid a huge bundle of all languages.
test tikz drawing [uts-000E]
test tikz drawing [uts-000E]
This is a series of experiments with TikZ drawing to ensure my `diagrams.tex` has sufficient preambles to render them. Most of them are adapted to minimize dependencies, and fix wierd render issues.
test typst [uts-000R]
test typst [uts-000R]
Note: The Typst files and their imports must be placed under typst
, as it's set up as the root directory for Typst imports.
test uwal [uts-001J]
test uwal [uts-001J]
For now, open the console to see the output.
technical notes (draft) [uts-0012]
technical notes (draft) [uts-0012]
Try some alternative browsers [uts-016N]
Try some alternative browsers [uts-016N]
I decided to widen my horizon about browsers. After browsing a few subreddits, I have chosen these 3 browsers: - Arc - Chromium based - the team has moved on to Dia, an AI browser - but people still miss the UX of Arc, it seems to be one of a kind, so I have to know - unlikely to be open-source - Mac/iOS/Windows, no Linux - Orion - WebKit based, this engine is the best hope for degoogle - will be open-source - not mature yetA - Mac/iOS, Linux WIP, no Windows/Android - Floorp - Firefox based - open-source - Mac/Windows/Linux, no mobile
How to run perf in a colima container [uts-016L]
How to run perf in a colima container [uts-016L]
Just to note down that it's not straightforward to get perf working. Here's what worked finally: First, the container needs to be started with proper capabilities: ```bash docker run --rm -it --platform linux/amd64 --cap-add PERFMON ubuntu:jammy bash ``` Secondly, some flags need to be set from the VM: ```bash # this would start a shell in the VM, outside of containers colima ssh # don't know why, sudo doesn't work, but it works in a root shell # -1 or 2 both work sudo bash -c 'echo -1 > /proc/sys/kernel/perf_event_paranoid' ``` Lastly, install perf in the container: ```bash apt install -y linux-tools-$(uname -r) linux-cloud-tools-$(uname -r) ``` Then the following works: ```bash perf record -g echo 1 perf report -g graph,0.5,caller ``` Note also that you can't pass `"echo 1"` because perf will failed to find a file named "echo 1". Learned this while working on Trying Zig's self-hosted x86 backend on Apple Silicon and before submitting this issue about unable to run `poop` in `colima` containers. Follow-up: It's important to check whether certain perf counters actually work: ``` sleep 10 & perf stat -p $! -e "cpu-cycles,instructions,cache-references,cache-misses,branch-misses" ``` On a machine that supports corresponding counters, it should give something like: ``` Performance counter stats for process id '101011': 511488 cpu-cycles 280194 instructions # 0.55 insn per cycle 16193 cache-references 6161 cache-misses # 38.047 8730 branch-misses 10.009515156 seconds time elapsed ``` On an unsupported machine, the output would be like: ``` Performance counter stats for process id '552': <not supported> cpu-cycles <not supported> instructions <not supported> cache-references <not supported> cache-misses <not supported> branch-misses 6.491105847 seconds time elapsed ```
Resources about Rubik's Cube [uts-016J]
Resources about Rubik's Cube [uts-016J]
- speed solving - Roux (a.k.a as bridging) - Learning the Roux method - Simple Roux Method of Solving Rubik's Cube - Introduction - Roux Tutorial - uses TwistySim - ZZ - Example Solves - Beginner ZZ Tutorial - notation - Rubik's cube notation by Sebastiano Tronto - 3x3x3 notation - which clarifies naming of `E`, `S`, `r` etc. - papers - The Generalized Rubik’s Cube: Combinatorial Insights Through Group Theory - it cites Nxnxn rubik’s cubes and god’s number[salkinder2021nxnxn] - has its own notation for nxnxn cubies - works out many details about general nxnxn cubes and their corresponding group theory - Commutators in the Rubik’s Cube Group - uses notations like `UR`, `FUR` to denote edges and corners, which I prefered - nice diagrams - demo with Twizzle - Generalising the configurations of an N×N×N Rubik’s Cube - aimed to find an expression for the total number of possible configurations of an N×N×N Rubik’s Cube - uses notations like `ur`, `fur`, `u_1` for 3x3x3 and 4x4x4 cubes - generalize to N×N×N with 3x3x3-style edges and 4x4x4-style corners - solving with linear algebra - asked by this Reddit post - Mathematics of the Rubik’s cube by W. D. Joyner in 1996 - Non-Commutative Gaussian Elimination and Rubik’s Cube - Test TwistySim - Test Twizzle
My setup with 4 screens and 2 Macs [uts-016B]
My setup with 4 screens and 2 Macs [uts-016B]
Recently, a MacBookPro and a Mac Mini, both are M4 Pro, have become my primary productivity tools. Along with them, I have 3 monitors, plus the one comes with MacBookPro, counts as 4 screens in total. On top of that, I have the logi MX Keys keyboard and MX Master 3S suite, and an Apple Magic Trackpad.
It turns out that I need to come up with a productive setup for them.
## TL;DR as an ASCII art
```
+---------+
| |
+-----------------+ +-----------------+ | Tall |
| Reference | | Primary | | |
| Display | | Display | | Display |
+-----------------+ +-----------------+ | |
| |
+------+ +------------+ +---------+
| Mini | | MBP |
+------+ +------------+
| [Keyboard] |
| [Pad] |
+------------+
[ MX Keys ] [MX 3S]
[Pad]
```
## Screen arrangement
Above the screen of MacBookPro, I have my primary display, which serves as the main workspace for coding, browsing etc. The second display is placed on its left, on the same height, hosting stuff for reference. Both are horizontal and wide.
The third display (I would like to call it the "tall display") is placed on the right, yet vertically, with its middle part aligned with the primary display, it might host IM, PDFs, AI assistants, or any stuff that are tall, including vertically stacked windows that requires less width.
## Mac-display correspondence
Mac Mini is placed under the second display, and it's connected to the first 2 displays, and all of them if desired.
MacBookPro is connected to the tall display, and optionally also to the primary display.
## Keyboard and mouse
I could just use the keyboard and trackpad of MacBookPro, and they can travel to the nearby Mac Mini.
As I have muscle memory that's already used to MacBookPro's keyboard, MX Keys would be a good fit, as the keys are flatter, the key distance is also shorter.
I'm so used to use the trackpad to scroll, zoom, switching between spaces, and move cursor during coding, so that I would either put MX Keys on top of the keyboard of MacBookPro so I can reach its trackpad effortlessly, or I would just MX Keys and the Magic Trackpad beneath it, with the same relative location like the MacBookPro's keyboard and trackpad.
When I work with diagrams, slides, or UIs that require meticulous mouse control, I would use the MX Master 3S mouse. Its side wheel is configured to send `Ctrl+Left` and `Ctrl+Right`, and side buttons are configured to send `Ctrl+Up` and `Ctrl+Down`, both serving space switching.
The logi keyboard and mouse supports switch between 3 devices, so I can switch between 2 Macs. Unfortunately, one doesn't follow the other to switch, so I would rely on Mac's native support for keyboard and mouse sharing, and it goes like `2->1->MacBookPro->Tall`, so there is minimal extra travel between 1 and tall.
One might noticed that such a setup is highly redundant, but this provides me with maximum flexibility and productivity:
- In coding mode, I could have both hands on the keyboard, with the left hand sometimes on the trackpad
- In browing mode, my left hand is on the trackpad, and the right hand is on the mouse
- In diagramming mode, both hands are also on the keyboard, with the right hand sometimes on the mouse
## Thunderbolt bridge
I also have a Thunderbolt bridge, by connecting 2 Macs with a Thunderbolt cable, and following this guide. This would create a secure and fast connection between them for file transfer, screen sharing, distributed AI inference etc.
Such a bridge could also be used in MX Flow, but it has certain delay each time the cursor moves between the 2 Macs, so I didn't use it.
Organizing files [uts-002J]
Organizing files [uts-002J]
I wish to note down my exploration of solutions to organize massive amount of (mostly binary media) files. ## Wishlist - Performant - it should be able to handle huge amount of files, with cached metadata, thumbnails, etc. so I can browse over their contents quickly - batch operations to files on NAS should be as performant as local files, e.g. using client-server architecture, using rsync to determine the diff, etc. - Data integrity - it should be able to use versioning, deduplication, etc. to ensure data integrity so I can mess with the files (mostly moving around, renaming) without worrying about losing them and their metadata such as timestamp, and this should be efficient in terms of storage - Semi-auto tagging - I should be able to tag files manually, in batch, and set rules to tag files automatically with metadata or based on content (using ML models) - preferably, tags could have its own hierarchy - tags should not be using filename or metadata, but rather a separate database - Open-source, freemium or affordable one-time purchase - in anycase, I should not be locked in, and the data should be exportable, so I can script ## Candidate solutions - git-annex - Pros - it maintains a versioned record for files, can even track offline media - Cons - it only have access to the file contents when they are present at the registered location - even with the web UI, it's not realy user-friendly - DataLad - it builds on git-annex, but still a CLI - kopia - Pros - backup, versioning, deduplication, encryption, compression, error correction etc. - it can mount or restore any snapshot to a directory - there is official support for syncing the repo, making it reliable to backup the backup - Cons - can't really check the history of a file - relies on other tools for checking file location changes - lost the time added, preserving only the modification time - Commander One - dual-pane file manager, trying out - `dua -i` - it can analyze disk usage recursively, interactively - I can mark files for deletion - jw - Pros - it can calculate the hashes of files in deep directories really quick - I use it to check the integrity of files after copying files - Cons - it doesn't check file renaming/moving - VeraCrypt - Pros - useful if you just want to encrypt files in a container - Cons - it's inconvenient to mount in docker - Garage - Pros - it's a S3-compatible storage - it works with git-annex and kopia - macFUSE - needed to mount various filesystems - photo management - HomeGallery - librephotos - digiKam - PhotoPrism - Immich - Lychee - asset management - Eagle 4 - Pixcall - Billfish
Notes on modern C++ programming [uts-002H]
Notes on modern C++ programming [uts-002H]
useful tools and key mappings for TUI [uts-002G]
useful tools and key mappings for TUI [uts-002G]
some useful key mappings in Neovim [uts-002F]
some useful key mappings in Neovim [uts-002F]
initial survey on headless render/testing for WebGL [uts-001N]
initial survey on headless render/testing for WebGL [uts-001N]
I want to be able to run headless render or visual regression tests, both locally where GPU is available, and on CI where GPU has to be emulated. The ingredients seems to be Storybook+Playwright+Xvfb. - use OrbStack as local docker engine - use act (usage) to run GitHub Actions locally - use Storybook to building pages and components in isolation - use Playwright to verify the visual appearance on different browsers - use Xvfb to emulate a display server If I'm a bit more ambitious, I would like to be able to do the same for WebGPU. At least we do know that Xvfb support OpenGL via mesa (which also supports Vulkan etc.), and there are some libraries to run WebGPU via WebGL 2 (e.g. wgpu). Some resources I found so far: - Effortless CI Integration: Running Playwright Tests with GitHub Actions uses `xvfb-run` - `playwright`'s own CI uses `xvfb-run` - Headless chrome – testing WebGL using playwright demonstrates WegGL testing when GPU is available, see also its writeup - Options to enable GPU Hardware Acceleration in headeless mode - use xquartz with PyVirtualDisplay on Mac - use libosmesa with Chrome from 2016 - use VirtualGL with Xvfb ⧉For an earlier survey on headless testing, see SSR of WebGL.
SSR of WebGL [uts-0013]
SSR of WebGL [uts-0013]
## Server-side rendering of WebGL Combining `xvfb-run`, headless-gl, three.js, should make it possible, e.g. see Headless rendering with THREE.js, see also: - sharp for rendering to various image formats - three.js + headless.gl rendering with texturing in CoffeeScript - How to run OpenGL based tests on Github Actions ## Plotly.js I wish to draw a style similar to Project contour profiles onto a graph by Matplotlib, which plots a 3D surface then its contour profiles projected to surrounding planes. Plotly.js has a similar example as Surface Plot With Contours. Plotly requires a `div` element to render the plot, it will initialize a WebGL-capable `canvas` to do so. It has support for using virtual WebGL context but no native way to specify a `canvas` from the outside. When running in headless mode from node, we will typically use jsdom which in turn uses node-canvas that's not WebGL-capable. There is an open issue to detect the presence of node-canvas-webgl and use it, as it integrations `node-canvas` and headless-gl. Another idea is to make NPM packages `get-canvas-context` and in turn `webgl-context` to handle this. A commercial plot libraries `LightningChart JS` has made Headless server use support for itself, which could be used as a reference. Should I Render Three.js to Video on the Client or Server? has some discussions on this topic.
initial survey on writing Rust in Forester [uts-0011]
initial survey on writing Rust in Forester [uts-0011]
I wish to be able to call rust libraries that are WASM compatible to use it for both BSR and SSR. Here is my initial survey: - wasm-pack and wasm-bindgen are the two main tools for building and binding rust to javascript, more info see awesome-rust-and-webassembly - I wish to write one-file Rust and specify the dependencies in the file, rust-script is similar in spirit but it's for server-side execution. - I wish to find prior art on doing this with bun, found bun-ffi-rust and hyperimport, but again, it's for server-side execution.
some links for learning shaders [uts-000H]
some links for learning shaders [uts-000H]
some links for rendering implicit surfaces [uts-000G]
some links for rendering implicit surfaces [uts-000G]
# readings: raymarching on implicit surfaces - [singh2009real] has reviews on related work, an algorithm and many examples. But it has no code. - Ray Marching and Signed Distance Functions is a good introduction to ray-marching and signed distance functions, and the author learns from Inigo Quilez. - Rendering Worlds with Two Triangles with raytracing on the GPU in 4096 bytes by Iñigo Quilez in 2008 - Raymarching Distance Fields in 2013 - raymarching terrains by Iñigo Quilez in 2002 - Volumetric Rendering: Raymarching in 2016 - Painting with Math: A Gentle Study of Raymarching in 2023, which has interative illustration of ray-marching algorithm, and shader examples from simple to complex - CUDA Ray Marching by Jonathan Granskog - Slides on GPU Ray Marching by Alex Benton in 2017–18, with more related materials here. - Ray Tracing Deterministic 3-D Fractals in 1989 - Ray-marching Thurston geometries in 2022 - PU-Ray: Domain-Independent Point Cloud Upsampling via Ray Marching on Neural Implicit Surface in 2024 - Ray Tracing Harmonic Functions in 2024 - Lipschitz-agnostic, efficient and accurate rendering of implicit surfaces in 2024 - What is raytracing/raymarching/raycasting - Ray Marching in JS, the source code has a link to the principle behind ray marching shadows: soft shadows in raymarched SDFs - 2010 - Raymarching Voxel Rendering in 2017 - UC Berkeley CS184/284A Lecture 9: Ray Tracing & Acceleration Structures in 2024 - Third Year and MSc Interactive Computer Graphics in 2008 - Raymarching Distance Fields in 2013 - Perfecting anti-aliasing on signed distance functions in 2025 # libraries and tools: raymarching on implicit surfaces - SURFER renders implicit surfaces using ray-tracing, the result is stunning well. It also has a Java library with many examples. - Raycasting Implicit Surfaces based on CindyJS is Web-based implicit surface renderer using ray-tracing, and the source code is best suited for reproducing and learning. It also has a rich set of examples. - Raycasting a surface of degree 4 is a relatively simpler example of ray-tracing implicit surfaces with source here. - mla has a series of shaders from simple to complicated to render the Kummer surface, see here. mla has also ported a tiny ray tracer here which could be a starting point. - A simpler but more versatile ray-tracer for implicit surfaces is Implicit surfaces created by Rogolop. - 3D Bifurcation Diagram - MA1104-implicitplot has a naive implicit surface plotter. - usegpu.live demo of ploting implicit surface - Surface Plotter makes use of Paul Bourke's Marching Cubes algorithm with edge table, to turn implicit surfaces into polygonal meshes. See Marching Cubes and its references. ## Implicit reconstruction or polygonization - A Heat Method for Generalized Signed Distance in 2024 - Robust Creation of Implicit Surfaces from Polygonal Meshes in 2002 - Curvature Dependent Polygonization of Implicit Surfaces in 2004 - Implicit Meshes for Modeling and Reconstruction in 2018 - Differential Geometry in Neural Implicits in 2022 - Differentiable Iterated Function Systems in 2024 - Adaptive grid generation for discretizing implicit complexes in 2024 - SDFGen: A simple commandline utility to generate grid-based signed distance field (level set) generator from triangle meshes, using code from Robert Bridson's website. Found from Merging Meshes with Signed Distance Fields. - sdf: Generate 3D meshes based on SDFs (signed distance functions) with a dirt simple Python API. - SDFStudio: A Unified Framework for Surface Reconstruction For learning shaders, see some links for learning shaders. Convert some of the links to citations. I would like to have a formal specification of the raymarching algorithm (in algorithm2e or algorithmicx+algpseudocode or even algpseudocodex), and find propositions worth proving.
Distributing my binaries [uts-016P]
Distributing my binaries [uts-016P]
- Repology - brew for mac & linux - personal tap repo: see - Taps (Third-Party Repositories) — Homebrew Documentation - Adding Software to Homebrew — Homebrew Documentation - `create`, `bottle` in brew(1), also `bump*` - Windows or all platforms - Aqua private registery - then supported by mise or maybe more - see Develop a Registry | aqua
Using Zig to build more [uts-016O]
Using Zig to build more [uts-016O]
- C/C++ projects - All Your Codebase | Loris Cro's Blog - All Your Codebase - no GiNaC yet - help rust to cross-compile - rust-cross/cargo-zigbuild - Compile Cargo project with zig as linker for easier cross compiling - help PyPI to store less - The Python Package Index Should Get Rid Of Its Training Wheels | Loris Cro's Blog - zig is also available as a PyPI package - ziglang · PyPI - zig alternative to PyO3/maturin: Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages - spiraldb/ziggy-pydust: A toolkit for building Python extensions in Zig. - the orginal template that ueses poetry - the community template that uses uv and hatchling - where hatchling seems to be a better build backend than setup tools post 3.12 for projects with native extensions and custom build hooks - see also Why Hatch? - Hatch