Skip to content

Instantly share code, notes, and snippets.

@erdos
erdos / aoc21_day8_2.clj
Created December 8, 2021 13:53
advent of code 2021 day 8 second part with clojure core logic
(ns aoc21-day8-2
(:require [clojure.core.logic :as logic]))
(def lines
(for [line (clojure.string/split-lines (slurp (clojure.java.io/resource "input.txt")))
:let [[data test] (clojure.string/split line #" \| ")]]
[(clojure.string/split data #" ") (clojure.string/split test #" ")]))
(defn- segments [xs digit & segments]
(logic/all (logic/member1o digit xs)
@erdos
erdos / aoc21_day18.clj
Created December 18, 2021 06:33
Advent Of Code 2021 Day 18 in Clojure with zippers
(require '[clojure.zip :as zip])
(def input (slurp "day18.txt"))
(def lines (vec (s/split-lines input)))
(def vecs (map read-string lines))
(defn magnitude [x]
(if (number? x)
x
(+ (* 3 (magnitude (first x))) (* 2 (magnitude (second x))))))
(ns cljproxy
(:require [org.httpkit.client :as client]
[org.httpkit.sni-client]
[org.httpkit.server :as server]))
;; minimalist local proxy for development
;; Usage: TARGET=https://erdos.dev PORT=8081 bb core.clj
(def target-root (doto (System/getenv "TARGET") assert))
(def port (doto (System/getenv "PORT") assert))