All posts by Nate Cull

Increasingly Inaccurately Named

Well, that was (un)expected. My 80s synthpop playlist project is now a quadrilogy.

I’d been thinking since the last one that I did have quite a few loose ends left over from Tomorrow, mostly on the Space and New Age themes, but it’s taken me several months to find enough puzzle pieces in Youtube’s junk drawer to be able to fit something together that worked for me, thematically and musically. And again maintaining the ‘concept playlist’ fiction that it’s a soundtrack to a cyberpunk science fiction film series that was never made.

But yay, we have liftoff at last! This one really does bring the project to a close, I think: I have Tomorrow, sort of generalised widescreen space opera, which then unpacks into a thematic trilogy on nuclear war, rebellion, and transformation. 16 tracks each (because it’s synthpop, it has to be a power of 2) at about an hour each, 48 tracks in total. Until the tide washes in and the Youtube sandcastles fall.

This one is a little slower and more meditative, due to its more New Age themes, but there’s still a pop and Italo Disco thread running through it.

If you missed the first post with the other three, here they are:

1. Tomorrow (58 minutes)

1. Radiant Energy (64 minutes)

2. Solid State Revolution (55 mins)

and

4. Now They Are Dreams (57 minutes)

01. Instant Music – Everybody’s Gotta Mutate (1981, Germany)
02. Synthi and Gert – Sister Susie’s Synthesizer (1978, Germany)
03. Blondie – Fade Away and Radiate (1978, USA)
04. Freur – Doot-Doot (1983, Wales)
05. Daemion – Human Arcade (1982, England)
06. Delia Derbyshire – Mattachin (1963, England)
07. Eurythmics – It’s Alright (Baby’s Coming Back) (1985, England)
08. Spectral Display – You Don’t Know (1982, Netherlands)
09. Donna Summer – I Feel Love (1977, USA)
10. The Techno Orchestra – Mechanical Ballet (1982, England)
11. Monsoon – Wings of the Dawn (Prem Kravita) (1982, England)
12. Planetary Peace – Medicine Wheel (1980, USA)
13. Telepathic – We Are Telepathique (1982, France)
14. Suzanne Ciani – System 55 (2015, USA)
15. Peter Schilling – Major Tom (Coming Home) (1982, Germany)
16. Katrina and the Waves – Love Shine A Light (1997, England)

Dataspace 9: A Tower of Nulls, And Awkward Sets

Prelude:
Dataspace 0: Those Memex Dreams Again
Dataspace 1: In Search of a Data Model
Dataspace 2: Revenge of the Data Model
Dataspace 3: It Came From The S-Expressions
Dataspace 4: The Term-inator

I want a Memex. Roughly, I want some kind of personal but shareable information desktop where I can enter very small pieces of data, cluster them into large chunks of data, and – most importantly – point to any of these small pieces of data from any of these chunks.

‘Pointable data’ needs a data model. The data model that I am currently exploring is what I call term-expressions (or T-expressions): a modified S-expression syntax and semantics that allows a list to end with (or even simply be, with no preceding list) a logical term in the Prolog sense.

Looking at term-expressions, one of the first things we notice is that there are a large number of null-like terms. I’m wondering what the meaning of these varieties of null might be.

  • The simplest null-like term is the nil pair or empty list: ()
  • The next one is the empty term : (/)
  • Then we have the empty set (if can think of /all as a set) or empty union:  (/all)
  • Then, for every other term functor X, the empty X: (/X)

An interesting question is whether terms correspond to types, (and if so, in what particular type system) or whether the notion of ‘type’ is unrelated to what we’re looking at here.

Continue reading Dataspace 9: A Tower of Nulls, And Awkward Sets

Dataspace 8: Example: Movie data

Sidebar: Here’s a quick comparison of what I’m hoping to achieve in terms of syntax and readability, and an example of why I think it’s important to spend a fair bit of time thinking about syntax. Particulary, about what’s not in the syntax, so it’s not there to get in the way.

SWI Prolog’s SWISH has some wonderful example programs on the web; here, for example is a simple movie database  with nearly 3000 separate facts (probably taken from IMDB, I guess).

Continue reading Dataspace 8: Example: Movie data

Dataspace 7: A Low-Level Encoding

Prelude:
Dataspace 0: Those Memex Dreams Again
Dataspace 1: In Search of a Data Model
Dataspace 2: Revenge of the Data Model
Dataspace 3: It Came From The S-Expressions
Dataspace 4: The Term-inator

I want a Memex. Roughly, I want some kind of personal but shareable information desktop where I can enter very small pieces of data, cluster them into large chunks of data, and – most importantly – point to any of these small pieces of data from any of these chunks.

‘Pointable data’ needs a data model. The data model that I am currently exploring is what I call term-expressions (or T-expressions): a modified S-expression syntax and semantics that allows a list to end with (or even simply be, with no preceding list) a logical term in the Prolog sense.

Up till now we’ve been looking at term-expressions as a thin layer over S-expressions (ie, one reserved symbol, the term marker), and assuming that at a machine level they will use a Lisplike cons cell structure (ie, linked lists).

The architecture of PicoLisp makes a good argument for using cons cells as the only method of storage, as it simplifies memory management, and simplicity may be more important for reliability and security than raw performance.

But if we wanted, we could have quite a dense encoding for term-expressions, based on the old Lisp Machine tricks of CDR coding and tagged pointers. This means we could map term-expressions directly onto sequences of memory cells.

Continue reading Dataspace 7: A Low-Level Encoding