Progress Trap: Client-Server Design (on Jul. 31, 2023, 4:56:34 p.m.)
Progress Trap:  Client-Server Design
This is a short talk about how I fear that client-server software design has become a "progress trap" (something which seemed like a good idea but lead into a dead end).

I also provide some possible other ways to design systems, from federated [...]
Scalability of Cacophony's data model (on Jul. 28, 2023, 12:20:12 a.m.)
An interesting thing about the introduction of the replyTo mechanism is that it will definitely dump more data, and more meta-data, into the main record stream of the on-IPFS data structure.

In theory, this should be just fine. In fact, the entire [...]
Vector Processing (SIMD) and Related Execution Models (on Jul. 13, 2023, 1:04:48 a.m.)
Vector Processing (SIMD) and Related Execution Models
A quick discussion of what vector processing is, how it contrasts with scalar processing (and super-scalar), and how it compares with other processing mechanisms like co-processors and graphics processors.

A simple way to think about this is: If [...]
IPFS eventually finds requested data (on Jul. 5, 2023, 4:59:19 p.m.)
Yesterday, there were 2 instances of failing to fetch data which could be resolved with "dht findprovs" which I think is because my node couldn't find the hosting peer "dht findpeer".
In both cases, the data fetch started to work after about 30 [...]
Declarative UI Musings (on May 31, 2023, 8:26:08 p.m.)
The Cacophony 3.0 pre-releases mean that I am back into front-end UI world, making updates to support the recent core changes.

Now, as anyone who knows me can attest, I do NOT like working on UI, and definitely not JavaScript-based browser UIs. As [...]
Copy-On-Write (on Apr. 24, 2023, 2:36:48 p.m.)
Copy-On-Write
I talk about copy-on-write data structures, most specifically within the context of file systems. The idea does extend to databases, more generally, and some of the themes can even be observed in content-addressed systems, such as IPFS.

The basic [...]
Reddit Post (on Apr. 16, 2023, 9:35:27 p.m.)
Just wanted to make a small text update to draw attention to a post I made on Reddit to mention Cacophony.

This seems to be well-received but, unfortunately, isn't drawing as much conversation as I had hoped.

Still, nice to see that people are [...]
Memory usage (on Apr. 14, 2023, 10:49:56 a.m.)
Memory usage
I talk a little about memory usage in modern software and how a lack of concern around it has led to systems which are slow, can't scale down to smaller devices, and are often just incorrect.

Take this as a bit of technical rant from "an old GC guy".
Final decision on WebSocket state updates (on Apr. 13, 2023, 12:40:01 a.m.)
A follow-up to earlier decisions around using WebSockets to communicate.

In this audio clip, I talk about how the design did work out as well as the initial indications but there were a few other points I wanted to make.

First of all, I ended [...]
Notification Systems in Software Design (on Mar. 6, 2023, 3:13:03 p.m.)
Notification Systems in Software Design
I talk a little about my love-hate relationship with notification-based design patterns in application development, based on some recent ideas around Cacophony.

While these approaches seem to make the high-level responsibilities within the system [...]
Streams and Pipes (on Feb. 16, 2023, 2:42:51 p.m.)
Streams and Pipes
I was reminded of the very powerful and elegant concept of binary streams when resolving a memory problem caused in the network library under Cacophony, recently.

I talk about how data streams can move data in and out of a program without needing [...]
Dogfooding, self-hosted systems, and IPFS/Cacophony possibilities (on Jan. 20, 2023, 12:12:20 p.m.)
Dogfooding, self-hosted systems, and IPFS/Cacophony possibilities
I talk a little bit about the idea in software development of "eating your own dogfood" as well as the narrower idea of self-hosted systems (for example, building the version control system you use to manage the software you are building).

There [...]
Update on WebSocket-based streaming UI updates (on Jan. 11, 2023, 2:23:14 p.m.)
Update on WebSocket-based streaming UI updates
As an update from my last post about using WebSockets to stream updates to the front-end, instead of just using REST-based polling, I talk a bit about some observations made through this.

In general, this seems to lend itself to thinking about the [...]
Using WebSocket-backed event-based updates instead of REST polling (on Jan. 4, 2023, 2:08:07 p.m.)
Something I started playing with in Cacophony 2.0-pre5 was using WebSockets to send dynamic data updates to the front-end, instead of polling a REST end-point. Specifically, I did this for the status page as its changes of state weren't directly [...]
Fine-grained or coarse-grained parameter selection? (on Dec. 1, 2022, 2:50:40 p.m.)
Fine-grained or coarse-grained parameter selection?
Just a quick talk about the thought process behind the "StandardAccess" approach used in Cacophony 2.0 pre4. That is, using a coarse-grained locking and data abstraction instead of the more fine-grained approach previously being used.

Basically, I [...]
Technology versus product/service (on Sep. 10, 2022, 4:32:06 p.m.)
Technology versus product/service
We often hear companies talking about how their offering is "new technology" but how true is that, really? In this video, I talk about how this distinction is missing and that most of what is pitched as "new technology" is just a product or [...]
Blocking and Back-pressure (on Aug. 15, 2022, 6:31:56 p.m.)
Blocking and Back-pressure
A short bit of a ramble about a concern I sometimes see people make where they "don't want to block" while blocking is actually a pretty fundamental way that the system works. The concern isn't with blocking, so much as blocking in the wrong place.
The distinction between code and data (on Aug. 6, 2022, 4:37:22 p.m.)
The distinction between code and data
Just a quick one, mostly just to test out the new Cacophony 2.0-pre0 release (doing this with in-browser recording).

I talk about the difference between code and data or, more correctly, how they aren't as different as often thought and that the [...]
Programmable event stores (on Jun. 15, 2022, 7:59:42 p.m.)
Programmable event stores
While I am not someone who does much work in tradition web back-ends, this is idea I find interesting.

I talk a little bit about what an event store is and how that differs from a traditional database.

This involves discussions of some scalability [...]
Block Production on Public Blockchains and the Realities of CAP Theorem (on Jun. 5, 2022, 5:18:13 p.m.)
Block Production on Public Blockchains and the Realities of CAP Theorem
I talk about some concerns I have related the direction of the conversation around block production, related to proof-of-work and proof-of-stake systems.

Basically, I think that the discussion centres too strongly around environmentalism and energy [...]
Intro to my channel (on May 25, 2022, 10:28:18 p.m.)
Intro to my channel
As a way of further testing and dog-fooding Cacophony, I wanted to start a channel to bring up or discuss technical topics in a fairly ad-hoc way. This is just a quick intro to that idea.

(recorded a few weeks ago)