Skip to content

Instantly share code, notes, and snippets.

View rwstauner's full-sized avatar
💤
I may be slow to respond.

Randy Stauner rwstauner

💤
I may be slow to respond.
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)'
@viesti
viesti / bb.edn
Created October 28, 2021 19:13
bb task to run nrepl server and send initialization code to the server when it starts
;; Task to run nrepl server and send some init code into it, when the nrepl server starts
{:tasks {dev {:requires ([bencode.core :as b]
[babashka.wait :as wait]
[babashka.process :as p :refer [process]])
:task (do
(let [;; Put the command to start nrepl server here, along any other aliases
proc (process "clj -M:dev/nrepl:dev/hashp" {:inherit true})]
(wait/wait-for-path ".nrepl-port")
(try
(let [port (Integer/parseInt (slurp ".nrepl-port"))]
@littleli
littleli / paillier.clj
Last active July 20, 2021 11:49
The implementation of Paillier cryptosystem for Clojure and Babashka
(ns fun.clojure.paillier
(:import [java.math BigInteger]
[java.security SecureRandom]
[java.nio.charset StandardCharsets]))
(defn- random-number! [end]
(let [start (BigInteger/valueOf 2)
interval (.subtract end start)
i (BigInteger. (.bitCount interval) (SecureRandom.))]
(.add start i)))
@holyjak
holyjak / http-server.bb
Last active March 19, 2023 04:36
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]
(require '[clojure.tools.namespace.find :as find]
'[clojure.java.io :as io])
(defn infer-deps
"Given an m2 (a maven repo) and a directory of clojure source code,
make up some dependencies."
[m2 src]
(let [repo (io/file m2 "repository")]
{:deps
(into
@justone
justone / circle-artifacts
Last active November 2, 2020 18:15
Script to grab artifacts for a given CircleCI project. Call like this: ./circle-artifacts github borkdude grasp linux
#!/usr/bin/env bb
(require '[babashka.curl :as curl])
(require '[cheshire.core :as json])
(def recent-build-count 40)
(defn recent-builds-url
[ci user project limit status]
(str "https://circleci.com/api/v1.1/project/" ci "/" user "/" project "?limit=" limit "&filter=" status))
@borkdude
borkdude / PR welcome.md
Last active February 2, 2021 21:54
PR welcome

Issues that welcome community contributions are labeled with PR welcome. That doesn't mean I don't welcome contributions for other issues. Feel free to reach out and discuss on Clojurians Slack or Github if you need assistance. Please note that I do not have the time or resources to give free and unlimited Clojure mentoring.

See issues

See issues

@justone
justone / tmux-urls.clj
Last active November 2, 2020 18:16
Script to print out all the visible URLS in your tmux pane.
#!/usr/bin/env bb
(ns urls
(:require
[clojure.tools.cli :refer [parse-opts]]
[clojure.java.shell :as sh]
[clojure.string :as string]
))
(def cli-options
@designfrontier
designfrontier / slackme
Last active December 3, 2018 16:20
Pipe to Slack
#!/usr/bin/env node
const http = require('https');
const url = process.env.SLACK_URL;
let data;
process.stdin.resume();
process.stdin.setEncoding('utf8');
@IronSavior
IronSavior / example-error.js
Last active February 19, 2022 10:18
Require AWS Lambda handler to invoke callback before exit (prevent Node exit until handler invokes callback)
const lambda_handler = require('lambda-handler');
exports.handler = lambda_handler(( event, ctx, done ) => {
// This will log a handled error to CloudWatch and return the error to AWS Lambda
throw 'BOOM!';
});