# Topics

## SWD08

- BitBLT
- MVC
- AgentSheets (anti-objects)
- Kedama & StarSqueak
- Jini (protocols & leasing)
- AmbientTalk
- Croquet (islands & t-time)
- Erlang
- Tweak (processes & events)
- Etoys (uni-classes & tile scripting)
- Seaside (continuations)
- Magritte (meta)
- Spoon (imprinting)
- Traits (implementation & application)
- PIE (layers)
- Qt (signals and slots)
- ThingLab2 (constraints)
- Prototypes (Liebermann)
- Actors (Liebermann)
- Google file system (map/reduce)
- Fabrik (visual data flow)

## SWD09

- SketchPad 
- ThingLab
- Fabrik 
- Actors 
- Prototypes 
- Self 
- Erlang 
- E / Caja 
- Newspeak
- TeX 
- Google Wave 
- CouchDB 
- Scala 
- Haskell


## SWD10

- Constraint Solver
- Programming with Constraints
- Actors
- Prototypes
- Object-capabilities
- Alternative Property Lookup
- Perspectives
- Pathfinding algorithms
- Lempel-Ziv-Welch-Algorithm
- Discrete cosine transform
- Operational Transformations
- Distribution Boundary
- Regular Expressions
- Levenshtein distance
- Epidemic Change Propagation
- Object Abstractions in Maxine

## WebDev 10

- Lively HTML
- Lively Code Database
- A web based GridBagLayout
- Collaboration in Lively
- Bringing TEX’s Paragraph Layout Algorithm to the Lively Kernel

## [WebDev 12](https://lively-kernel.org/repository/webwerkstatt/projects/WebDev2012/Outline.xhtml)

- Application Ideas
  - 101 companies
  - Local Movie Database
  - Evolution Essay
  - Turtle Tree Art
  - Bouncing Ball / Atoms Simulation
  - Aquarium (Vivarium)
  - Jump and Run
  - User Stories Management
  - Citation Management
- Tool Ideas
  - Autocompletion in dynamic systems
  - Observe property changes to objects
    - have an undo history
    - playback  / visualization of object history
  - Record user events 
    - reproduce issues 
    - generate tests -> interactive test generation
  - Objet graph visualization
  - Object to source code navigation
  - Explosion view 
  - Collaboration Tools
  - Testing Tools
  - Syntax Helper
  - Hybrid Textual and Visual Editing
  - Scraping websites
  - Embedding into websites 

## SWD11

- Programming with Constraints
- Actors 
- Class and Prototypes
- Object-capabilities
- Promise Pipelining
- Alternative Property Lookup
- Nested Classes Lookup
- Perspectives
- Discrete cosine transform
- Regular Expressions
- Operational Transformations
- Online Object Observation
- Epidemic Change Propagation
- Grid Computing


## SWD12

- Constraints in user interaction 
- Programming with Constraints 
- Iteration in Data Flow Languages
- Constraint based Layouting 
- Paragraph Layout in TeX 
- Alpha-beta pruning 
- Levenshtein distance 
- Learnable Programming – 1. Follow the flow 
- Learnable Programming – 2. See the state 
- Learnable Programming – 3. Create by reacting 
- Learnable Programming – 4. Create by abstracting


## S3 Seminar 2014

- Diffing and Merging Objects
- Continuous Persistent Undo 
- Signaling Context Changes
- Remote Lively Programming
- Squeak.js - A Squeak in the browser
- Thread-safe Collections
- Parser Combinators
- Petit Parser
- Actors
- Croquet Islands
- (Object-oriented) Reactive Programming
- Jump Into Development 


## SWD15

- Thin Morphic on HTML5
- Persistent HTML DOM
- Live Object Editor
- Reflective Rich Text / HTML Editor - Remote Lively IDE (Lively 2 Lively) 
- Build-in software visualization (get overview / stats) 
- Unified Back-end API: GitHub, Dropbox, Browser Cache, File System, …
- Tile scripting environment 
- Foreign modules: Smalltalk, Lisp…. 
- Touch and pen support

## SWD16

- Particle-based Simulations
- Dataflow-fueled Tool Building
- Scripting Cloud Data Flow
- Source Code Rewriting
- Babel Projectional Editor
- Explorable DOM
- Abstraction-aware Debugging
- Continuous Time Computation
- Non-linear Constraint Solving

## WebDev 16

- Cache: Change-aware File Caching
- CVar: Cloud Variables
- AExpr: Active Expressions
- COP: COP 2.0
- Changes: Change-based Persistence
- Indexing: Personal Cloud Search
- Services: Access Web Services
- MPatch: Lively Changes of Foreign Sites
- RDF: Semantic Web Scripting
- Wasm: Web Assembly
- ProjE: Projectional Editor
- Edge: MS Edge + Windows APP





## PX18

- Graph Drawing
- Stable Treemaps
- Entity Component System
- Conflict-free replicated data type
- Regular Expressions
- Parser Combinator
- Material Point Method
- Alpha-beta Pruning
- Monte Carlo Tree Search
- Support Vector Machine
- Artificial Neural Network
- Prolog / Unification
- Constraint Solver 
- Z3
- Learnable Programming 1. Follow the flow
- Learnable Programming 2. See the state
- Learnable Programming 3. Create by reacting
- Learnable Programming 4. Create by abstracting
- Blockchain


## RE18

- Xray through UI
- Scriptable Trace Viewer in Lively4
- Tracking JS Built-ins for Changes
- Static Analysis for High-Level Language Features
- Why and Why Not Questions
- Github Explorer
- Stroposcoping for non-graphical Objects
- Exploring Even Large Databases
- Lively Object Converter
- Lively4 Semantic Code Overview
- “The Program according to Garp”
- Categorizing Message Categories
- Finding and Using Implied Protocols
- Polymetric Views
- SSL Support in GraalSqueak
- Jupyter Notebooks in Squeak/Smalltalk
- Exploring Web Request Processing
- Fixing Old Software Bugs
- Recovering Data


## PX19

- [*AST Explorer*](../PX2019/project_2/)
- AST Code Navigation: Replace Tern / [*Use Babel AST in ESLint*](../PX2019/project_3/) 
- Persisting Code as AST
- [*An AST-aware Textual Code Editor*](../PX2019/project_1/) 
- X Ray: (A) Better UI
- X Ray: (B) Show (Async) Behavior
- Trace Navigation for Example-based Live Programming
- Explore Git Version History in GraphDB
- Error Handling in Self-supporting Systems
- Polyglot AST Explorer / [*Polyglot Method Finder*](../PX2019/project_7/) 
- [*Polyglot Object Comparison Tool*](../PX2019/project_4/) 
- [*Virtual Machine Inspector*](../PX2019/project_5/)
- [*MLE-Development Umgebung im Browser*](../PX2019/project_6/) 


## EUD20

- Spreadsheets
- Alternative Spreadsheet Ideas
- Active Essays
- Programming in Games
- Programming with Constraints
- TileScripting
- [**Petri Nets**](../EUD2020/project_3/))
- Bidirectional Loops in Fabrik
- Programming by Examples
- Programming by Demonstration
- Continuous Time Computation
- [**Non-linear Constraint Solving**](../EUD2020/project_2/)
- X Ray (A) Better UI
- X Ray (B) Show (Async) Behavior
- Trace Navigation for Example-based Live Programming
- Async Babylonian Programming
- Particle-based Simulations
- [**Fluid Simulation using the Material Point Method**](../EUD2020/project_1/)
- [**Lively Energy Simulation**](../EUD2020/project_4/)
  


## PLCTE20

- Squeak History
- Squeak OpenGL Canvas
- Smalltalk Shader Language
- Mounting Object Graphs
- Examples as Tests
- Stand-off Annotations for Source Code in Lively4
- [**Drag-and-Drop UI for Microsoft Academic Queries in Lively4**](../PLCTE2020/project_09/)
- Async Babylonian Examples in JavaScript
- Bidirectional Code-UI-Mapping 
- [**Debugging Source Code Transformations**](../PLCTE2020/project_09/)
- Language-agnostic Live Programming Tools
- Polyglot Notebooks for VS Code
- GraalVM vs. "Traditional" Polyglot Programming
- Immediate Test Feedback
- Projectional Editor DSL
- Perspectives in the Squeak Debugger
- Projecting Web Server Code
- FFI in Dynamic Languages
- [**Interactive experimental Database Programming**](../PLCTE2020/project_10/)




