data structures, fuck yeah.

we’re moving towards a world that is increasingly connected to the internet.

your phone, your car, your watch, your insulin pump, your garage door opener, your dog’s collar, your water bottle, your coffee maker, your sunglasses, your refrigerator—more and more, everyday objects are coming online.

and if you’ve ever tried to spec out a smart home setup, or connect Alexa to your doorbell, or pair an Apple Watch to an Android phone, then you probably already know what I’m about to tell you:

all of this technology sucks.

it’s almost as if tech companies are going for maximum irony here, because we’ve never been more connected—and yet nothing works together.

I could gab for hours about how capitalism has pretty much shit the bed in this regard: walled gardens stifle innovation, concentrate power, and I think their best argument (it leads to a refined user experience) isn’t just wrong, I think it’s corporate gaslighting.

¯\(ツ)

but this post isn’t about that.

this post is about data structures.

because they’re kickass and I like ‘em.


but first, a note about grammar.

if you didn’t know, the word “data” is a plural noun (singular: datum). that means I should be saying “data are” instead of “data is.”

but saying “data are” hurts my head and makes me feel like an ass.

so I’m not gonna. fight me.

moving on!


now let’s talk about your standards, anon.

or, rather: the lack thereof.

because the problem here is that (the royal) you has not been fighting for them.

but thankfully, someone has.

enter: Ceramic Network.

it’s the single most ungodly abomination I’ve ever fallen in love with (myself included), but Ceramic is a fucking treasure.

there are literally so many moving parts that I don’t even know where to start with this.

Ceramic ties together:

  • identity primitives,
  • portable user data,
  • composable application data,
  • automatic file history,
  • and decentralized storage,

all in the same package.

trust me when I say that it. is. a. monster.

but if you’re able to push through its absolutely mind-numbing complexity, you start to see how elegant it is. in fact, Ceramic might be the most powerful storage network on the planet.

and it’s all thanks to schemas.

imagine I go running.

my watch tracks my heart rate. Strava handles GPS. and Spotify’s bumping tunes the whole time.

and I’m having the time of my life (or whatever runners say).

then I get home, and I’m clearly a total nerd, so I flip on the computer and start loading up data about my run into my favorite runner’s analysis program.

and let’s also imagine this hypothetical run (as all of mine are) happened in a slightly more magical world where 2Pac and Biggie never got shot.

what I mean is: all these rivals and competitors actually work together, instead of killing each other for supremacy.

imagine this:

  • my watch links up with Ceramic.
    • it uploads my heart rate data.
    • each piece of data (a datum, remember?) is tagged with the time it happened at.
  • Strava links up with Ceramic, too.
    • it uploads my GPS data.
    • each datum (see? it just feels wrong) is tagged with the time, too.
  • and even Spotify links up with Ceramic!
    • because it wants to record my listening history, for some reason.
    • so each track is tagged with the time I listened to it.

if you’ll notice, none of these things are trying to communicate.

but for the magic to happen, all these apps have to do is 1) agree on who you are, and 2) agree on how to record time.


so let’s say my new favorite word again. “schemas.”

a schema is a set of rules for structuring data.

in this example, “how to record time” is our schema.

so I’m back at my computer. and I’ve got some kickass software for analyzing my runs.

I import my heart rate, my GPS path, AND my music history. and because they all use the same schema for timestamps, the program has no problem doing just a little bit of comparison and spitting out some pretty clear (and potentially concerning) observations.

  • first, my heart rate actually goes UP when I’m running DOWNhill, even though my speed stays the same.
    • but my watch-from-the-future records adrenaline levels too, so the program uses machine learning to conclude that this is because I am literally afraid of going fast.
    • I frown at the screen, but make a note of it for therapy later anyway.
  • second, I’ve been spending more and more time stopped at crosswalks.
    • the program looks backward into my jogging history to determine when that trend started, and finds an anomaly around the same time: during one of my runs, I spent 30 solid minutes in the middle of an intersection.
    • because Strava uses a widely-adopted schema for GPS info too, the program cross-references public data for information about that intersection, and discovers I was hit by a car last month, and that’s why I’ve been looking left, then right, then left again—instead of playing inner-city Frogger like the badass my mom thinks I am.
    • …the program adds an additional note to my therapy list.
  • and finally, ‘Wrecking Ball’ has surpassed ‘Eye of the Tiger’ as the most motivating song on my playlist.
    • while it’s playing, I run faster, stop less often, and almost always sing along.
    • I add it to my playlist a few more times for good measure.

the beauty here is that none of these apps have to integrate with each other.

they just need to use Ceramic, and I can integrate them myself.

and Ceramic, by its nature, enforces schemas, so I can be certain that my data will always play nice.

big picture, this means that any data that uses the same timestamp schema can be connected to my joggers’ analysis tool. stuff like: the weather, the moon, the air quality, etc. can all be used natively in my program, without needing to convert or mangle it beforehand.

plus, thanks to native DID integration, all that data is mine. I can use it for whatever I want, wherever I want, however I want.

Ceramic is great, but it’s not the hero of this story.

instead, that honor goes to (say it with me): schemas.

because it’s actually quite easy to make your data accessible.

but it’s another thing to make it compatible.

and if my therapist has taught me anything, it’s that to really make something magical happen…

…you’ve gotta be compatible.

Subscribe to Caden
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.