Skip to content

Instantly share code, notes, and snippets.

View olavfosse's full-sized avatar
👨‍🔬
building

Olav Fosse olavfosse

👨‍🔬
building
View GitHub Profile
@olavfosse
olavfosse / cosine_similarity.clj
Created April 2, 2025 14:20
Clojure Cosine Similarity
#?(:clj (defn cosine-similarity [vec1 vec2]
(let [dot-product (reduce + (map * vec1 vec2))
magnitude-vec1 (Math/sqrt (reduce + (map #(Math/pow % 2) vec1)))
magnitude-vec2 (Math/sqrt (reduce + (map #(Math/pow % 2) vec2)))]
(if (or (zero? magnitude-vec1) (zero? magnitude-vec2))
0
(/ dot-product (* magnitude-vec1 magnitude-vec2))))))
#?(:clj (defn double1:dot-product [^double/1 v1 ^double/1 v2]
(let [n (alength v1)]
@olavfosse
olavfosse / duce_disambiguation.md
Created March 13, 2025 19:31
Duce Disambiguation
@olavfosse
olavfosse / .S
Created January 2, 2025 13:54
fizzbuzz in x64 assembly written in ed (CODE GORE)
.intel_syntax noprefix
.global _start
# - [x] exit with 1337
#- [ ] print 1-100
.section .data
int_fmt: .string "%d\n"
.section .text
_start:
mov rcx, 100
@olavfosse
olavfosse / reducible.clj
Created August 20, 2024 00:06
Telemere Reducible
(ns logs
(:require [clojure.edn :as edn]
[clojure.string :as str])
(:import java.nio.file.Path
java.nio.file.Paths
java.nio.file.Files
java.nio.file.OpenOption
java.io.PushbackReader
java.nio.file.LinkOption
java.io.InputStreamReader
const removeFromArray = function (){ // Takes an array and an arbitrary amount of primitive values. Returns an array where all elements from the array which are equal to one of the primitive value are removed.
arguments = Array.prototype.slice.call(arguments);
let array = arguments[0];
let valuesToRemove = arguments.slice(1);
let newArray = [];
array.forEach(element => {
if(!(valuesToRemove.includes(element))) {
newArray.push(element);
}
});