Skip to content

Instantly share code, notes, and snippets.

@tinnus-napbus
tinnus-napbus / clay-kelvin-shims.md
Last active January 18, 2023 09:31
kelvin shims clay summary

kelvin shims in clay

Key points:

  • desks can now be committed with any kelvin version
  • clay will look backwards through the %base desk's aeons for a weft matching the one in question, build its zuse, save it in a zuse cache and return it.
  • the leak key in the cache now includes the weft the files are built against
  • the raft now contains a zuse cache
  • domes now record the weft they're currently built against
  • +lu now builds agent-any:gall weft-agent pairs as long as they're gall-compatible.
@tinnus-napbus
tinnus-napbus / notes.md
Created February 25, 2022 10:32
filesharer notes

I was thinking through how to do the link shortening thing and here's the best solution I think: use AES-128 CBC to encrypt the ship and content ID and make a URL with it, then decode such requests and test whether the given ship has permission for the given resource. If it does, 301 redirect to the actual resource and if it doesn't, 403 forbidden.

This way you can give every subscribed ship its own unique urls for files you've shared, and you can revoke or change them individually. You also don't need to actually store these unique urls because you can just construct them when you send out updates to each ship, cos AES is jetted and very fast.

@tinnus-napbus
tinnus-napbus / sail.md
Created February 21, 2022 02:51
Old Sail Docs

Introduction to Sail

Sail is Hoon markup that’s used to render a web page with XML. But what makes it special is that you can run arbitrary Hoon code within such a web page without using a separate markup language. In this tutorial, we will be dealing with Sail as it renders to HTML, a subset of XML.

Getting Started

Before starting, make sure that your urbit is