Bou.lt
Projects
ArtificialEconomist.com
Economoose.com
YetiPredict.com
Notes
Logic, the natural numbers and computability
Algebra including linear algebra
Real analysis, variational calculus and functionals
Complex analysis
Abstract algebra
Analytic geometry and Euclidian space
Topology
Newtonian gravity and electrostatics
Special relativity, electromagnetism and general relativity
Rigid body physics
Computer science, integer RISC instructions (RV64I) and building a hex and macro assembler
Simple algorithms with integer addition and subtraction and arrays, decision problems, other problems, lossless compression
Algorithms for integer multiplication and division, and floating point arithmetic
Freestanding C, and building a C compiler in assembly then C
Data structures and algorithms
Univariate probability
Multivariate probability
Multivariate discriminative probability including machine learning
Fully-connected neural networks
Univariate time series
Multivariate time series
Multivariate probability inference
Probabilistic Turing machines and algorithms, and encryption
Statistical mechanics
Quantum mechanics and quantum computing
Chemistry and geology
Biology
Engineering
Electronics
Pre-computer electronics for finite state machines including making a calculator: boot ROMs/firmware (mask ROM/diode matrix), punch cards, memory mapped IO for LEDs and keyboards and volatile RAM (SRAM and DRAM) (eg rom for e and pi in calculator, (could have big page on sequential/combinatorial logic before, and could introduce some of these here)
Manufacturing RV64I CPUs
Micro-architecture including cache, prefetching, instruction pipelines, branch prediction, out-of-order execution and speculative execution
Control additions (RV64I_Zicsr_Zifencei) integer multiplication and division (RV64IM_Zicsr_Zifencei), Floating Point Units (FPUs) (RV64IMFDQ_Zicsr_Zifencei), Single Instruction, Multiple Data (SIMD) (RV64IMFDQV_Zicsr_Zifencei) and Basic Linear Algebra Subprograms (BLAS)
Other Reduced Instruction Set Computers (RISC) and Complex Instruction Set Computers (CISC)
2D graphics
Non-volatile editable memory: bootloaders and computer storage including magnetic memory (magnetic core memory, magnetic tape, floppy disks, hard drives), Semiconductor memory incuding SSD (EPROM/EEPROM/flash memory), optical memory (CD/DVD etc), Master Boot Record (MBR) and FAT32
Networks
Audio
3D graphics
Multithreading and multi-core CPUs (RV64IMFDQVA_Zicsr_Zifencei aka RV64GQV)
Graphics Processing Units (GPUs) and Tensor Processing Units (TPUs)
RV64GQV_S, dynamic libraries, Memory Mapping Units (MMUs), Address Generation Units (AGUs), protection rings, CPU interrupts and GNU/Linux/Systemd
Hosted C and compiling C code with Linux
Securing the system and boot process: Including encrypting systems, Logical Volume Management (LVM), trusted execution environment, secure enclave, Supervisor Mode Access Prevention, Intel Management Engine (ME) and AMD Platform Security Processor (PSP)
Networks on Linux
Audio and video output in Linux, and sandboxing applications
Serialisation, single-node databases, Structured Query Language (SQL) and Extract-Transform-Load/Extract-Load-Transform
Other imperative languages: Fortran, Algol, Pascal
C++, objects, generic programming, functional programming and clang/LLVM, and transpilers
Other C-family languages: Rust, Zig
Scheme and Common Lisp (compiled natively), and dynamic typing
Functional languages: Meta Language (ML), Caml, OCaml and Haskell
Other compiled languages with runtime systems: Objective-C, Nim, Forth, COBOL, Smalltalk and Simula
Communicating Sequential Processes (CSP) and actor model concurrent languages: Swift, Go
C#, F#, VB.NET and mono
Java, garbage collection, process virtual machines and Kotlin
Other Lisp-family languages, and compiling them to VM: Racket, Clojure and Scala
Communicating Sequential Processes (CSP) and actor model concurrent languages with virual machines: The BEAM VM and Erlang, Elixer, Dart (other concurrency model?)
Other interpreted languages: Lua, Perl, Ruby, Julia, Octave, PHP and FreeBASIC
HyperText Markup Language (HTML), Cascading Style Sheets (CSS) and the World Wide Web (WWW)
JavaScript, Just-In-Time (JIT) compilation and WebAssembly (Wasm)
Server-side javascript and javascript frameworks and libraries
Python
Python: Data
Python: Internet packages
R
Specific packages for R
Validating code and compilers: Coq (ocaml), compcert, hol (ocaml), isabelle, agda (haskell)
Logical programming languages including ada and prolog
Reverse engineering hardware, backing up ROMs, hardware emulation including use of JIT and dynamic recompilers, and emulation of retro video game systems
Reverse engineering software
Natural Language Processing (NLP) of just text, including transformers and Large Language Models (LLMs)
Natural Language Processing (NLP) with text and audio
Computer vision
Working with specific datasets, and models including Llama and Stable Diffusion
Specific Linux distributions, system virtual machines, RV64GQVH_S, hardware-assisted virtualisation and OS-level virtualisation with Docker
Distributed computing
Integrated Development Environments (IDEs)
Android
Microsoft Disk Operating System (MS-DOS) and other non-multitasking operating systems including ZX BASIC, Classic MacOS, PC88, PC98, MSX, Machine Operating System for BBC Micro, Commadore 64
FreeBSD and OpenBSD
Windows 3.x, Windows 9x and Windows NT
macOS and iOS
Decision and game theory
General equilibrium
Accounting
Industrial organisation
Money, banking and finance and international trade
Microeconomics including information asymmetry, labour markets, externalities, public goods and subscription-based services
Business
Macroeconomics
Public choice and government production of goods
Cryptocurrencies
Specific legislation and regulation
Languages and packages for economics: Dynare for Octave, QuantEcon for Python/Julia, NetLogo; Mesa for Python
History
Epistemology and ontology
Political science and philosophy
GitHub
LinkedIn
Audio and video output in Linux, and sandboxing applications
Download PDF
Introduction
Audio
Audio in Linux
Video
Video in Linux
Sandboxing
Sandboxing applications in Linux
Sandboxing applications in Linux
Introduction
Uising chroot jails
Firejail
Bubblewrap
SELinux
AppArmor