English manual for the ZUOYA GMK67 Mechanical Keyboard. Made from the printed version (Original).
- High level overview https://yogthos.github.io/ClojureDistilled.html
- An Animated Introduction to Clojure https://markm208.github.io/cljbook/
- Interactive tutorial in a browser https://tryclojure.org/
- Interactive exercises http://clojurescriptkoans.com/
- Clerk notebooks with introductory examples https://github.clerk.garden/anthonygalea/notes-on-clojure
- More interactive exercises https://4clojure.oxal.org/
- Lambda Island tutorials https://lambdaisland.com/
- Functional Programming with Clojure resources https://practicalli.github.io/
Villager mechanics in 1.14. All this data has been deduced by using the following commands:
/data get entity @e[type=minecraft:villager,limit=1,sort=nearest] Brain.memories
/execute as orlp at orlp run tellraw @s {"nbt":"Brain.memories","entity":"@e[type=villager,sort=nearest,limit=1]"}
A villager is awake from 0-11999 and tries to sleep between 12000 and 23999.
A villager will claim a bed if:
Objectives/approach
- Load config conditionally, based on a release flag passed in at the command line. We use juxt/aero to read a static
config.edn
file, passing in the release flag as aero's:profile
. - Config should be exposed at runtime (in the browser / cljs) and macro-expansion time (clj). We store config in a plain map,
app.env/config
. Our build hook,app.build/load-env
, updates this usingalter-var-root!
. - Whenever config has changed, shadow-cljs must invalidate its caches so that changes are picked up immediately. We do this in
app.build/load-env
by putting the current environment in the shadow build state, under[:compiler-options :external-config ::env]
.
Why this approach?
- Reading config directly from macros breaks compiler caching - changing config will not cause changes to propagate to the build.
:clojure-defines
(ie.goog-define
) are not exposed inclj
, & therefore can't be used by macros. We want one single way to expose config that
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{:paths ["."] | |
:deps {clansi/clansi {:mvn/version "1.0.0"}}} |
This gist has been moved to its own Github repo, so it's easier to contribute with additions and corrections. Please open a PR there if you see any mistake, I don't track comments on here as there's no notification system for gists AFAIK. Thanks.
Function | Shortcut |
---|---|
Previous Tab | ⌘ + Left Arrow |
Next Tab | ⌘ + Right Arrow |
Go to Tab | ⌘ + Number |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(:require [re-frame.core :as re-frame] | |
[reagent.core :as reagent] | |
[cljsjs.chartjs]) | |
(defn show-revenue-chart | |
[] | |
(let [context (.getContext (.getElementById js/document "rev-chartjs") "2d") | |
chart-data {:type "bar" | |
:data {:labels ["2012" "2013" "2014" "2015" "2016"] | |
:datasets [{:data [5 10 15 20 25] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# to generate your dhparam.pem file, run in the terminal | |
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 |
As configured in my dotfiles.
start new:
tmux
start new with session name:
NewerOlder