-
Recent Posts
Categories
Blogroll
- Lambda the Ultimate
- Duncan Cragg's What not How
- Portland Pattern Repository
- Manuel Simoni's Axis of Eval
- Haskell Reddit
- Rocketnia's Pipe Dreams
- Gilad Bracha's Room 101
- Bret Victor's Worrydream
- Roly Perera's Dynamic Aspects
- Gerold Meisinger's Lambdor Devblog
- Patai Gergely's Just _|_
- Dataspace Project
- Paul Chiusano's Prettt-tty Blog
Meta
Category Archives: Distributed Programming
Monadic RDP
Reactive Demand Programming (RDP) is a programming model I developed circa 2010-2012. I’ve tabled it for a few years to work on other project goals, and since then I’ve also become interested in Kahn Process Networks (KPNs) as a simpler … Continue reading
Reactive Process Networks
Kahn Process Networks are a very nice sweet spot for functional purity and concurrency, and are widely applicable. I’ve recently considered them as a viable alternative to monadic effects models. However, KPNs are missing an important feature: the ability to … Continue reading
Binaries in ABC (or UTF-8)
Awelon Bytecode (ABC) doesn’t have good direct support for binary data. Binaries are not uncommon: cipher texts, secure hash values, compressed visual or audio data, raw sensory data, and so on. Efficient storage and communication of binaries is a desirable … Continue reading
Posted in Distributed Programming, Language Design
2 Comments
Code is Material
‘Code is data’ is a metaphor around which the Lisp communities (and REBOL, and others) have built programming languages. The metaphor is effective in these languages because code is presented and represented as a simple structure which may easily be … Continue reading
ABC Linking with Provider Independent Security
As I’ve mentioned in other posts, Awelon Bytecode (ABC) has a non-conventional approach to code reuse. A valid sequence of bytecode can be given a deterministic, cryptographically unique name – e.g. a secure hash. In ABC, the code to invoke … Continue reading
Posted in Distributed Programming, Language Design, Modularity, Open Systems Programming, Security
Tagged ABC, AO, convergent encryption, secure hash
5 Comments
Ubiquitous Programming with Pen and Paper
Programming ideas strike at any time – while taking a walk, or standing in line. Meetings, for me, are a common location for programming ideas. A few slides or phrases catch my interest in an otherwise droll and predictable commentary. … Continue reading
Posted in Distributed Programming, Language Design, Modularity, Open Systems Programming, Stability, State, UserInterface
Tagged HCI, ubicomp
7 Comments
Stability without State
I understand `state` to be a summary of the past, maintained in the present, to inform the future. State is a powerful tool, and essential in many problems (such as writing this text). But state is often too powerful – … Continue reading
Signals in RDP
Reactive Demand Programming (RDP) describes behavior as signal transformers, in continuous time, with side-effects. For example, I might push a control signal to a camera (to influence pan, zoom, tilt, and focus), and the camera will provide a response signal … Continue reading
Dynamic Behaviors in RDP
RDP behaviors may be constructed and executed at runtime to extend a static program. Dynamic behaviors essential for many in-the-large RDP design patterns: pluggable extensibility – a service or application can publish dynamic behaviors into a shared registry, allowing subsystems … Continue reading
Data Model Independence
One of the most pervasive and stubborn challenges for open systems development is composing, fusing, adapting, integrating subsystems that use heterogeneous data models for similar tasks. By data model I mean how we group, share, describe, and update data in … Continue reading