Skip to content

Instantly share code, notes, and snippets.

@jelmerderonde
jelmerderonde / README.md
Last active February 22, 2022 09:43
Start Clojure Socket REPL server and write the port number into .repl-port

In your ~/.clojure/deps.edn, add an alias like this:

:socket {:extra-deps {jlmr/socket {:git/url "https://gist.github.com/jelmerderonde/c4a466563c703e856bd128d7982f48b3"
                                   :sha "81d80c5ebec3f2240eaf82a6d6e26eee93da4c6a"}}
         :exec-fn socket/start-server
         :exec-args {:name "server"
                     :port 0
                     :accept clojure.core.server/repl
 :server-daemon false}}
@jelmerderonde
jelmerderonde / athens-extensibility.md
Last active May 22, 2020 18:49
Athens – extensibility and end-user programmability

Introduction

This page describes some ideas I've tinkered with in the last year or so. They are by no means complete. I also don't consider this to be a concrete proposal. I do hope this piece can serve to jumpstart some discussion about how Athens could become a platform for more than just storing information.

Inspiration

I've drawn on several ideas and tools developed by other people:

Motivation

{
"openapi" : "3.0.2",
"info" : {
"title" : "Open Education API",
"description" : "OpenAPI (fka Swagger) specification for the Open Education API.\n\n# Hypermedia API\nThe Open Education API is designed as a *hypermedia API*. In short, this means all responses will contain hypermedia links\nto simplify the navigation between the different API calls. Each link (except `self`) is optional. When a specific link is\nnot provided, this could mean the relation does not exist or the targeted endpoint is not implemented. Each client is responsible\nfor checking and handling the links correctly.\n\n# Error responses\nError responses are formatted in the `problem+json` media type ([RFC7807](https://tools.ietf.org/html/rfc7807)):\n\n```\n{\n \"code\": 404,\n \"title\": \"Resource not found\"\n}\n```\n",
"version" : "3.0",
"x-logo" : {
"url" : "logo.png"
}
},