Skip to content

Instantly share code, notes, and snippets.

View piotr-yuxuan's full-sized avatar
💣
Breaking things, carefully

胡雨軒 Петр piotr-yuxuan

💣
Breaking things, carefully
View GitHub Profile
@ordnungswidrig
ordnungswidrig / day-01.sh
Last active December 4, 2021 17:21
AoC-2021 - pointfree - threading
# part one
pbpaste | bb -I -e '(->> (-> *input* (#(vector % %)) (update 1 rest)) (apply map <) (filter true?) count)'
# part two
pbpaste | bb -I -e ' (->> *input* (iterate rest) (take 3) (apply map +) (#(vector % %)) (#(update % 1 rest)) (apply map <) (filter true?) count)'
@holyjak
holyjak / http-server.bb
Last active September 6, 2024 15:17
Babashka HTTP server for serving static files, similar to `python -m http.server` but more flexible :)
#!/usr/bin/env bb
#_" -*- mode: clojure; -*-"
;; Based on https://github.com/babashka/babashka/blob/master/examples/image_viewer.clj
(ns http-server
(:require [babashka.fs :as fs]
[clojure.java.browse :as browse]
[clojure.string :as str]
[clojure.tools.cli :refer [parse-opts]]
[org.httpkit.server :as server]
@borkdude
borkdude / find-var.clj
Last active January 20, 2023 09:13
Babashka script to find var usages in current project
#!/usr/bin/env bb
;; usage:
;; $ find-var.clj babashka.main/main src:test
;; example output:
;; src/babashka/main.clj:672:32
;; src/babashka/main.clj:673:22
;; src/babashka/main.clj:676:28
;; test/babashka/test_utils.clj:31:59
@dsyme
dsyme / rant.md
Last active January 15, 2025 05:46
@czan
czan / convert_to_openapi.clj
Last active August 19, 2022 06:00
Reitit OpenAPI3 hack
(ns ^{:doc "Convert Swagger 2 specs to OpenAPI 3 specs
We're using the standard reitit mechanisms to produce a Swagger spec,
but we'd much rather be using an OpenAPI 3 spec. This namespace does a
conversion for us, until the functionality lands in reitit."}
convert-to-openapi
(:require [camel-snake-kebab.core :refer [->PascalCase]]
[clojure.set :refer [rename-keys]]
[clojure.string :as str]
[clojure.walk :as walk]
@sgup
sgup / recommended-routine.md
Last active March 5, 2025 14:22
Recommended Routine - Reddit BodyweightFitness
@krisleech
krisleech / renew-gpgkey.md
Last active March 10, 2025 20:00
Renew Expired GPG key

Renew GPG key

Given that your key has expired.

$ gpg --list-keys
$ gpg --edit-key KEYID

Use the expire command to set a new expire date:

@zentrope
zentrope / number-format.cljs
Created December 22, 2016 03:07
A comma for thousands separator in Clojurescript using goog closure libs.
(ns client.ui
(:require
[goog.i18n.NumberFormat.Format])
(:import
(goog.i18n NumberFormat)
(goog.i18n.NumberFormat Format)))
(def nff
(NumberFormat. Format/DECIMAL))
@zehnpaard
zehnpaard / figwheel-garden.core.cljs
Created November 22, 2016 08:34
Minimal setup to get lein-garden auto-compile and Figwheel auto-load working with Reagent
(ns figwheel-garden.core
(:require
[reagent.core :as r]))
(defn my-app []
[:div
[:h1 "Hello Reagent!"]
[:p "Hello Garden!"]
[:p.my-class "Hello My-Class!"]])
@ghoseb
ghoseb / clj_spec_playground.clj
Last active March 30, 2019 22:35
Examples of Clojure's new clojure.spec library
(ns clj-spec-playground
(:require [clojure.string :as str]
[clojure.spec :as s]
[clojure.test.check.generators :as gen]))
;;; examples of clojure.spec being used like a gradual/dependently typed system.
(defn make-user
"Create a map of inputs after splitting name."
([name email]