Comp Sci - vpatryshev/wowiki GitHub Wiki
General
- math cheat sheet
- IEEE bits for "real" numbers
- Sourcegraph, search through code
- Top 24 Programming Errors
- Шэнь, Программирование
- sharpc. Теорминимум для программиста
- Report on Post-Quantum Cryptography
- Rieffel, Quantum Computing
- Null Island
- Paul Graham, How to Think for Yourself
- What Happens When the Board Begins to Panic
- Crisis and Aftermath
- Hacker Laws
- How to Extract Exif Data From a JPEG Photo Using Java
- 10k worst passwords
- James Ward
- Wiki article re: file managers
- Knuth's A Potpourri of Puzzles
- Naur, Programming as Theory Building
You should behave
File Formats
Http, Html
Lambda calculus
- online lambda reducer
- Lambda calculus reduction workbench
- Visualizing Lambda Calculus Reduction (paper)
- lambda to combinators translator
- Typed Lambda Calculus with One Binder
- Lambda Calculus in 383 Bytes - from Justine Tunney's Web Page
Types
- Type Theory and Applications
- Brady, Programming and Reasoning with Algebraic Effects and Dependent Types
- Nortström, Petersson, Smith, Programming in Martin-Löf's Type Theory
- Gradual Type Theory
- Diehl, Firsov, Stump, Generic Zero-Cost Reuse for Dependent Types
- GADTs, Functoriality, Parametricity: Pick Two - Patricia Johann, Enrico Ghiorzi, Daniel Jeffries
- Simon Thompson, Type Theory & Functional Programming
- Dan Piponi, Constraining Types with Regular Expressions
- The Gentle Art of Levitation
Pi Calculus
- Odersky (ziplock)
- Uwe Nestmann, Benjamin C. Pierce, "Decoding Choice Encodings"
- Ian Stark, Free-Algebra Models for the π-Calculus
- Xiaojuan Cai, Yuxi Fu, The λ-calculus in the π-calculus
- A 2-categorical Approach to Pi Calculus
FP
- see this chapter
Misc
- structure your components in git
- Dahl, Dijkstra, Hoare, Structured Programming
- using netcat and named pipes to build tcp proxy
- vit-r. Язык Agilehttps://www.cl.cam.ac.uk/~lp15/papers/Notes/SE-I.pdf
- радикальный перфекционизм в коде
- basecamp shape up
- Winitzki explains theorems for free
- Cap'n'proto data exchange protocol
- Michael O. Church, Why “Agile” and especially Scrum are terrible
- code beautifier
- online JSON beautifier
- ljsm - livejournal backup
- Software Design Principles
- inside check numbers
- On Breaking SAML: Be Whoever You Want to Be
- Awesome falsehoods, alt
- Rapidoid, fastest java http server
- httpbin
- Falsehoods Programmers Believe About Names
- 100 ideas for computing
- Generator of random entities
- Regex debugger
- regex 101
- rosie pattern language
- Parsing Expressions Grammar
- Parboiled PEG parser
- orleanz, Livejournal IPS
- decompilers online
- compiler explorer
- TFS - file system
- Building account systems
- Automatic Ethics: The Effects of Implicit Assumptions and Contextual Cues on Moral Behavior
- download videos from youtube
- How to make your HTML responsive by adding a single line of CSS
- CSS animation (in Russian, habr)
- https://nponeccop.livejournal.com/
- Hidden Features
- L.Paulson, lecture notes on Z and Formal Methods
- L.Paulson, Software Engineering
- Papers We Love, videos
- Slack Remote Terminal
- setting up deep learning machine
- GitTorrent
- Practical Functional Programming
- A.Rosien, What Is An Effect
- mrparker, kinds of office activities
- Narcissistic Design - Stuart Halloway
- William R. Cook, On Understanding Data Abstraction, Revisited
- Parallel programming (unc.edu)
- sdkman
- MSFT "off" button
- Tonsky on emoji
- Adjoint Reactive UI - Kripke–Joyal presheaf semantics
- Semantic Domain blog
- DAML: Build full-stack, distributed applications for DLT, Blockchain, or databases in days.
- How This Presentation (github)
- Stepanov, EOP
- Categorical Databases
- L.C.Paulson, Machine Logic
- Conwaylife wiki
- Kuklin's rookie training
- Implementation of MIX in Scala
- Conway's life online
- 10 useful Python scripts
- Konovalov
- SOVIET COMPUTER SOFTWARE AND APPLICATIONS IN THE 1980 S
Concurrency and parallelism
Architecture
- The architecture of open-source applications
- Software architecture book slides
- Fowler, Microservices
- Practical UML
- The DCI Architecture: A New Vision of Object-Oriented Programming by Trygve Reenskaug and James O. Coplien
- Foundations of Probabilistic Programming
- Gemeny, Gemeny. Resurrecting Obsolete Computers
- Scuttlebutt: Decentralized Apps
Git
- GITHUB personal access to
- How to create a maven repository for your github project step by step
- On Monolithic Repositories
- git from bottom up
- Git from Inside Out
- Git IRL (по-русски)
- git from the inside out
- Git Toolbelt
- Forgit
brew install tig
DB
- Hasura: GraphQL to Postgres compiler
- Hidden features of Postgres
- Modern SQL- [Prius hacks](https://www.google.com/search?
- SQL antipatterns strike back
Algorithms
- Ukkonen
- Big O cheat sheet
- A Relatively Small Turing Machine Whose Behavior Is Independent of Set Theory; blog
- The Algorithms on github
- FNV hash algorithm
- super fast hash algorithm (github)
- Computational Geometry Algorithms Library
- donjon, random stuff generator
- Advanced Algorithm course, video, Russian
- Savich' theorem (space complexity, DS vs NDS)
- How to choose colour
- Bryan Ford, Packrat Parsing: a Practical Linear-Time Algorithm with Backtracking
- Solving the mystery behind Abstract Algorithm’s magical optimizations, project on github
Sort
Data Structures
Languages
- THE SEMANTIC ANALYSIS OF ADVANCED PROGRAMMING LANGUAGES
- Program = Proof
- Categorical semantics of a differential programming language
- Categorical programming language with effects (github)
- R.Harper, Practical Foundations for Programming Languages
- Programming Language Foundations in Agda
Agda
APL
C
- Jens Gustedt, Modern C
- cpp.sh
- compiler exlorer (Godbolt)
- Semi-Automated Reasoning About Non-Determinism in C Expressions
Egison
Forth
Gleam
Haskell
- Kmett, Codensity Improvement of Free Monad
- Voigtländer, Asymptotic Improvement of Computations over Free Monads
- Monatron
- Winitzki's explanations (in Russian)
- Haskell in Python, by Tony Morris
Java
Javascript
- htmlx: no JavaScript required
- Unix and C++ in your browser
- SICP JS
- JavaScript Promises: An introduction
- Using XHR
- jslab
- js testbed
- RaphaelJS
- reveal.js is an open source HTML presentation framework
- javascript operations compendium
- jslinux
- jsdos
- Borland html/js test site
- 140 chars of javascript
- Selector level 3
- Selector level 4
- Volta, an installer for JS apps, e.g. node
- How JavaScript Works behind the scenes?
- Inside the JavaScript Engine
- sounds of wind:
var AMP = 0.5; // amplitude var len = 10; // seconds e = new webkitAudioContext(); var source = e.createBufferSource(); var SR = e.sampleRate; source.buffer = e.createBuffer(1, len * SR, SR); var dat = source.buffer.getChannelData(0); for (var i = 0; i < len * SR; i++) { dat[i] = AMP * (Math.random() * 2 - 1); } var MOD_FREQ = 0.2; // modulation frequency var Q = 0.1; // resonance quality (unitless) dat[0] = 0; dat[1] = 0; for (var i = 2; i < len * SR; i++) { // resonant frequency var res = 1000 + 3000 * (1 - Math.cos(MOD_FREQ * 2 * Math.PI * i / SR)) / 2; // normalizing factor var norm = 1 / (SR * SR + SR * res / Q + res * res); dat[i] = norm * (res * res * dat[i] + (res / Q + 2 * SR) * SR * dat[i-1] - SR * SR * dat[i-2]); } source.connect(e.destination); source.loop = true; source.start(0); document.onmousedown = function() { source.disconnect(0); }
Lisp
Python
R
- Intro to R, R dev toolser i
Racket
Rust
- The Rust Programming Language
- The little book of rust macros
- Macros, Internal Rules
- The Future Trait
- Zero Cost Futures in Rust
- Futures and Streams, with zero allocation, because they are compiled, via macros, into an FSM
- code sample:
let requests = ParseStream::new(input); // For each request, run our service's `process` function to handle the request // and generate a response let responses = requests.and_then(|req| service.process(req)); // Create a new future that'll write out each response to an `output` I/O object StreamWriter::new(responses, output)
- async/.await Primer
- How Rust optimizes async/await I
- How Rust optimizes async/await II
- Closures
- frunk: Functional Programming Toolbelt
- xi-editor, in Rust
- Reducing tail latencies with automatic cooperative task yielding
- idiomatic monads in Rust
- Rust online playground
- Monads and GATs in nightly Rust
- A Scala DSL for Rust code generation
- Scala programmer's view of Rust
- Writing Compiler in Rust
- How to Learn Modern Rust (github)
OS
Mac Quirks
- System Integrity Protection. Лечится через csrutil из recovery mode.
NIX
unix
- cosh
- Vakulenko's cheat sheet
- the art of command line
xattr -l (filepath) # will tell you where the file was downloaded from
ncdu
man ascii
cd -
python -m SimpleHTTPServer 8080 # servers current dir on http
du | sort -n
nc
apropos
- Wagner's ssh hints
- scripts common
- Running rsync as a daemon
- Bash-Lambda
- Bash Declare
- Bash scripting cheatsheet
- J.Carlson, Embedded Linux
- habr, приемчики
- eight osx terminal utilities
- Cheplyaka, XMonad
- Secure Secure Shell
- JSLinux: linux in your browser
- shell-functools
- bash cheat sheet
- Command Line Fu
- mcd, $_
- fp in sh
- mdls all data from images and video
- text to binary:
$ echo 01234567 deadface | xxd -p -r > foo $ hexdump foo 0000000 01 23 45 67 de ad fa ce
Containers
- anatomy of dockerfile
- docker.com get started
- docker dashboard
- Docker for Beginners (youtube)
- Containers from scratch (youtube)
- k8s install docs
VSCode
AI, ML
- Yuri Manin, Matilde Marcolli, Homotopy Theoretic and Categorical Models of Neural Information Networks
- Erik Meijer, Gradient Descent
- ncatlab, Day Convolution
- Joscha Bach: Artificial Consciousness and the Nature of Reality
- impl of Angluin's DFA via learning
- The world as a neural network
- deep learning machine setup
- Artificial Personality for AI
- Stanford NLP software, nlp course
- Activation function
- Big Picture Machine Learning: Classifying Text with Neural Networks and TensorFlow
- t-Distributed Stochastic Neighbor Embedding (t-SNE) is a technique for dimensionality reduction
- Distill
- Optimal Brain Damage
- An Anatomy of Lie
- Evaluating Large Language Models Trained on Code
- Jakob Hansen, Thomas Gebhart, Sheaf Neural Networks
- Thomas Gebhart, Jakob Hansen, Paul Schrater, Knowledge Sheaves: A Sheaf-Theoretic Framework for Knowledge Graph Embedding
- Jakob Hansen
Text
Latex
- Latex ref card
- Math
- User’s Guide for the amsmath Package
- Pandoc github repo
- math fonts, bbold
- Wandmalfarbe/pandoc-latex-template
etc...
Graphics
- SVG
- https://animate.style/
- https://css-tricks.com/css-animation-tricks/
- https://css-tricks.com/animate-svg-path-changes-in-css/
- CSS/SVG animation examples