Skip to content

Instantly share code, notes, and snippets.

Graphics

CLJC

  • Quil Graphics and animation sketches, based on Processing
  • th.ing/geom a comprehensive and modular geometry & visualization toolkit. WebGL, OpenGL, SVG.
  • Iglu Turning data into GLSL shaders for use by OpenGL and WebGL. By Zach Oakes, part of play-cljc.
  • Membrane A Simple UI Library That Runs Anywhere

Clojure

Making nREPL and CIDER More Dynamic (part 2)

In part 1 I set the stage with a summary of what nREPL is and how it works, how editor-specific tooling like CIDER for Emacs extends nREPL through middleware, and how that can cause issues and pose challenges for users. Today we'll finally get to the "dynamic" part, and how it can help solve some of these issues.

To sum up again what we are dealing with: depending on the particulars of the nREPL client (i.e. the specific editor you are using, or the presence of

// Open Slack in a browser, then copy-paste this into the console (F12)
// It will scroll through the emoji picker 4 times (once for each skin tone),
// and finally download the full list of emoji shortcodes.
// You can parse the actual unicode code points out of the image file names.
var emojis={}
function selectSkinTone(value) {
Exception in thread "main" Syntax error compiling at (clojure/data/xml/impl.clj:1:1).
at clojure.lang.Compiler.load(Compiler.java:7648)
at clojure.lang.RT.loadResourceScript(RT.java:381)
at clojure.lang.RT.loadResourceScript(RT.java:372)
at clojure.lang.RT.load(RT.java:459)
at clojure.lang.RT.load(RT.java:424)
at clojure.core$load$fn__6839.invoke(core.clj:6126)
at clojure.core$load.invokeStatic(core.clj:6125)
at clojure.core$load.doInvoke(core.clj:6109)
at clojure.lang.RestFn.invoke(RestFn.java:408)
(ns my-backend.core
(:gen-class)
(:require [compojure.core :as c]
[compojure.route :as route]
[ring.adapter.jetty :as jetty]
[ring.middleware.defaults :as ring-defaults]
[hiccup2.core :as h]
#_[muuntaja.core :as m]
[muuntaja.middleware :as muuntaja]))
(require 'arc-mode)
(setq cider-nrepl-jar-url "https://repo.clojars.org/cider/cider-nrepl/0.26.0/cider-nrepl-0.26.0.jar")
(setq cider-cache-dir (expand-file-name "cider-cache" user-emacs-directory))
(setq cider-jar-temp-dir
(make-temp-name
(expand-file-name "cider-jar"
temporary-file-directory)))
0 2021-08-04 17:31 data/minecraft/
0 2021-08-04 17:31 data/minecraft/structures/
0 2021-08-04 17:31 data/minecraft/structures/nether_fossils/
237 2021-08-04 17:31 data/minecraft/structures/nether_fossils/fossil_10.nbt
629 2021-08-04 17:31 data/minecraft/structures/nether_fossils/fossil_6.nbt
673 2021-08-04 17:31 data/minecraft/structures/nether_fossils/fossil_11.nbt
939 2021-08-04 17:31 data/minecraft/structures/nether_fossils/fossil_14.nbt
258 2021-08-04 17:31 data/minecraft/structures/nether_fossils/fossil_2.nbt
206 2021-08-04 17:31 data/minecraft/structures/nether_fossils/fossil_5.nbt
248 2021-08-04 17:31 data/minecraft/structures/nether_fossils/fossil_3.nbt
(ns repl-sessions.demo-2021-07
(:require [lambdaisland.witchcraft :as wc]
[lambdaisland.witchcraft.cursor :as c]
[lambdaisland.witchcraft.events :as e]
[lambdaisland.witchcraft.worlds :as worlds]))
;; First start the server, if you want a clean slate you can create
;; a "superflat" world, otherwise you'll get a more typically generated world.
(wc/start! {;;:server-port 4567
;;:config-dir "/tmp/config"