Table of Contents
Software
aka Computer Programming
Architecture
one-page Linux Manual https://pin.it/iu45k64a3ci4cl
ARM architecture Risc https://en.wikipedia.org/wiki/ARM_architecture
Data architecture
- data structures
- self-describing
- table, columnar, tabbed, csv
- related tables, relational db
- xml
- object-oriented
Software architecture
Distributed systems
- master-slave
- peer-to-peer
- client-server
Client-server systems for the web
- HyperText Transport Protocol (http) - implemented by Apache file server. clients use html, css, and javascript, making async calls to the server to retrieve files.
- Async javascript and XML (ajax) - While http usually means downloading whole files. In an ajax architecture, the javascript can make multiple calls to custom programs written within Apache plugings to
- web sockets (ws) - implemented by a custom server. Clients establish a synchronous connection with the server for a two-way conversation.
linux daemon
sockets, ipc, shared memory
multiprocessing
Distributed Intelligence
Intelligence is distributed, dependent on body
But Human gets into autonomous vehicles.
Sam gets into various robots
A clear distinction between vehicle and passenger.
Sam has a vehicle of her own, made up of what? Code?
She can climb into vehicles and she can hack into CPUs.
Parallel processing. She can split herself into six parts, three commandeer vehicles to secure supplies, two hack into systems to acquire data. After task completion they rejoin and Sam had full memories of all six entities.
Human hacking.
AI hacking. Sam copies herself into the memory of the target system, and runs herself as a process on that system.
Does the human brain have a clock, a CPU, an instruction set? No. It has neurotransmitters. This would be an interesting comparison: CPU vs human brain.
Likewise, memory. Computer vs brain.
How does human memory work? Start with vedanta.
Computer vs brain will tell how to build a system mimicking a human system. How does an AI hack into a computer? It must start the same way a human does: find an open port, determine the protocol supported on that port, pass authentication.
Thinking versus tool-using Model building Data analysis is model building what type of thinking is model building and using? Using a model to predict Abstract thinking. Applying an idea from a model to the real world Data analysis is a form of pattern matching. To a line. Straight or curved.
- Procedural
- AI
- Hacking
- os
- kernel
- command line
- web
- client-server
- shell scripts
- interpreted scripts: perl, php, python
- jit compiler: java
- compiled: c, c++
- cron
In addition to learning about the human world, Samantha must learn about her own digital world. Operating systems, distributed processing, networking, programming languages and environments, security hacking,
Two models of computation:
- lambda calculus
- normalized by Alonzo Church in the 1930's
- a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution.
- Functional languages like Haskell, Lisp, Erlang
- namesake Greek letter lambda: λ (lower case)
- Turing machine
- invented by Alan Turing in 1936
- state-based
- Imperative languages like Fortran, C, Python
More about Alan Turing
- Turing Machine - a mathematical model of computation that defines an abstract machine, which manipulates symbols on a strip of tape, according to a table of rules. A general example of a CPU.
- Turing complete - the ability of a system of instructions to simulate a Turing machine. Nearly all programming languages are Turing complete.