Picture

Image

index 20210524

Compiler Technology Takeaways 2


API Takeaways


Thinking is Hard, Coding is Easy


WASM Transpiler Example


Compiler Technology Takeaways 3


Diagram Conventions


DRY vs. RY


Refactoring


Compiler Technology Takeaways


Data Descriptors Takeaways


Functional programming vs parsing


First Class Functions - Takeaways


Dataless Language


Functional Programming - Takeaways


Denotational Semantics Takeaways


Java Takeaways


Diagram Notation


Less Code


Layers


Lisp Takeaways


Normalization


Object Oriented Takeaways


Pattern Matching Takeaways


Relational Programming Takeaways


Ssl takeaways


Scalability 2


Scalability Takeaways


Structured Programming Takeaways


UNIX Takeaways 2


UNIX Takeaways


Componentization: Measuring Success


Takeaways

(Programming - The Good Parts)


Software components 101 


Software components 101 connection queries 


Software components 101 engine development (part 1) 


Software components 101 engine part 2 diagram to text 


Software components 101 engine part 3 factbase 


Software Components 101 - Engine Part 4 Review 


Software Components 101 - Engine Part 5 Queries 


Software components 001 


Software Components 101


Software Components 101 Part 6 Recap


Software Components 101 Part 7 - Visual Inspection


Software Components 101 Part 8 - Ports


Software Components 101 - Part 9 - What's Next?


Software Components 101 - Part 10 Tweaking the Grammar to Provide More Information


Software Components 101 - Part 11 Starting Over


Software Components 101 Part 12 Converting Indentation to Nesting


5 whys of software components 


Filereader 


Html components arrowgrams 


Components (again) 


Indirect calls 


Component diagrams 


Need to know 


Patterns 


Software Components


Programming


Programming 


META


Introduction 


Divide and conquer is recursive design 


Recursive design knowns and unknowns 


Divide and conquer 


Recursive Design, Iterative Design By Example 


Recursive design, iterative design by example (2) 


Recursive Design


DI - Design Intent 


DI - Design Intent


Di design intent 


Restricted thinking programming editors 


DaS


Transpiling diagrams overview 


Parsing and compiling diagrams 


Editor for gratoms 


Transpiling diagrams to code 101 


Box And Arrow dsl for concurrency 


Transpiling diagrams to code 101 


Processes are state machines 


Compiling diagrams 2 


Breaking free of the cell paradigm 


Syntax Primitives 


Compiling Diagrams 


Diagram based languages 


Visual Programming


Curse of the editor 


Concurrency is not parallelism 


Box And Arrow dsl for concurrency 


Call return spaghetti 


Concurrency is a paradigm 


Javascript concurrency 


Multitasking is easy 


5 whys of full preemption 


5 whys of multiprocessing 


Sequencing 


Concurrency bare bones 


Html components handling callback logic explicitly 


The problem 


Blocking 


Breaking out of synchronous thinking 


Breaking long running loops 


Concurrency


Call return spaghetti 


CALL RETURN


Sequencing


Sequencing 


Complexity ii 


Complexity 


Simplicity vs complexity 


Complexity


The algol bottleneck 


ALGOL Bottleneck


Computing then and now ii 


Computing then and now 


New Breed hlls 


Programmers vs humans 


The primary issue 


Twenty milliseconds the magic number 


Programming redux 


Computing


Scheme to javascript 


PROLOG


Dsl manifesto 


Scanning and parsing overview 


Toolbox languages 


Svg grammar 


Learning about compilers quickly 


Scls little languages playlist 


Toolbox languages (2) 


Transpilers


Peg 


Peg vs. other pattern matchers 


Regex vs peg 


Peg cheat sheet 


Racket peg 


Parsing vs regexing 


PEG


Ohminsmallsteps 


Efficiency 


Everything is an interpreter 


Efficiency


Dlls 


Compile time and runtime 


Compile Time vs Run Time


Dsl in a day 


How to design an scl 


Little language 


SCN 


Notation vs. DSLs and PLs 


SCN - Software Centric Notation


Fbp is no Code for banking apps 


Html is nocode 


No Code 


No Code


Fbp v actors v erlang 


The case for fanout 


FBP


Erlang v actors 


Actors 


Actors


Inspiration 


S/SL - Syntax Semantic Language 


Inspiration


Mathematics is not reality 


Induction vs recursion 


Apl 


Kill math 


Mathematics redux 


Crass simplifications 


Mathematics


Two stacks for every type 


Typing


Type stacks 


Programming languages are skins 


PLs (Programming Languages)


Programming language design 


Variable names not needed 


Divide and conquer in pls 


Asking the right questions 


Two Syntaxes For Every Programming Language 


Variable names are not good enough 


Txl 


Breaking long running loops 


Tags instead of names 


Ry vs dry 


Git could do more 


RY (Repeat Yourself)


Reuse 


Architectural archaelogy 


Details kill 


Architecting, engineering and implementing software 


Software Architecture


References


References 


Scalability ii 


Dependencies & Scalability


Scalability 


Shuhari


Shuhari 


State machine for javascript 


State machines to javascript 


State Machines


Statecharts (again) 


Statecharts 


StateCharts


Software development roles 


Refactoring 


Software ceiling 


Apple® refunded my money because of a bug 


Sofware kleenex® 


Miscellaneous 


Pure research vs applied research 


What is programming 


One in how many out? 


How many inputs vs how many outputs? 


Divide and conquer yagni 


Toe for software development 


Dynamic anything is bad 


Software Development


Superposition 


What if making a compiler was easy? 


Holy Grail of Software Development


The stack is a list 


The stack 2 


The stack 


The stack is a global variable (again) 


The Stack


Superposition 


Layered Design


Superposition 2 


Fractal design 


Dataless programming language 


Factbases 


Factbases 101 


FB - Factbases


Universal datatype 


Triples


Triples 


Testing


Testing 


Glue manual 


Svg to code (1) 


Notation Example 


ASON Notation Pipeline (building 7 passes) 


Recursive design, iterative design by example (3) 


Arithmetic Example in Ohm-JS and grasem 


Examples


Bootstrapping 


Cps considered to be a goto 


Message passing 


State, analysis of 


Meta Programming 


Incompleteness 


Scoping static vs dynamic 


Function or list? 


Relational programming and the kitchen sink 


Regex 


Techniques


Projectional Editing


Projectional editing 


Glue Tool 


Grasem Tool 


Ohm Editor 


Tools


Various Playlists 


Youtube Playlists


Failure Driven Design 


FDD - Failure Driven Design


Fdd example workflow 


Subdividing problems 


Backtracking, mathematics, reversability, garbage collection, time Sharing 


Paradigms


First class functions 


Clojure 


Common lisp complexities 


Common Lisp


Exhaustive search 


Prolog vs kanren 


Observation why relational programming works 


Relational Programming


Mutable variables and flags 


Pattern Matching


Parsing vs fp pattern matching 


Tokenizing 


Isolation


The f**k program 


The rain god 


Anecdote language learning


Random Anecdotes 


Anecdotes


Anecdote secretary vs. synchrony