Skip to content

Instantly share code, notes, and snippets.

View barrosfelipe's full-sized avatar
🎴
Feeding forms

Felipe Barros barrosfelipe

🎴
Feeding forms
  • Berlin
View GitHub Profile
@ssrihari
ssrihari / clojure-learning-list.md
Last active April 24, 2024 03:06
An opinionated list of excellent Clojure learning materials

An opinionated list of excellent Clojure learning materials

These resources (articles, books, and videos) are useful when you're starting to learn the language, or when you're learning a specific part of the language. This an opinionated list, no doubt. I've compiled this list from writing and teaching Clojure over the last 10 years.

  • 🔴 Mandatory (for both beginners and intermediates)
  • 🟩 For beginners
  • 🟨 For intermediates

Table of contents

  1. Getting into the language
@malcolmsparks
malcolmsparks / thoughts-on-yada.adoc
Last active January 22, 2023 19:24
Thoughts on yada

Thoughts on yada

Frameworks

Let’s define a framework as any library that contains one or more functions that accept callbacks.

Web frameworks are great for beginner developers who need to get stuff done. But they ultimately force you into a corner. In most applications, experienced developers need to retain control. Libraries are better.

@alysbrooks
alysbrooks / hiccup.fnl
Created October 27, 2021 22:35
Very simple hiccup implementation
(fn gen-attributes [attributes]
(clj.reduce (fn [x y] (.. x y))
(icollect [attr val (pairs attributes)]
(string.format " %s=\"%s\"" attr val))))
;
(fn render [form]
(if (clj.string? form) (EscapeHtml form)
(clj.vector? form) (let [tag (. form 1)
attributes (when (clj.map? (. form 2) ) (. form 2))
[{:title ":clojureD 2020",
:id "PLaSn8eiZ631lrDFmUTBH9LFGzAxc3tvU4",
:items
({:title
"clojureD 2020: Lightning Talks by Mikkel Gravgaard, Daniel Slutsky, Daniel Janus and Arne Brasseur",
:id "fVtawjGbvOQ",
:duration "1363"}
{:title
"clojureD 2020: \"From Lazy Lisper to Confident Clojurist\" by Alexander Oloo",
:id "j57UbYFbI-U",
@yogthos
yogthos / clojure-beginner.md
Last active April 22, 2024 09:00
Clojure beginner resources

Introductory resources

@ericnormand
ericnormand / 00_script.clj
Last active January 6, 2024 07:13
Boilerplate for running Clojure as a shebang script
#!/bin/sh
#_(
#_DEPS is same format as deps.edn. Multiline is okay.
DEPS='
{:deps {clj-time {:mvn/version "0.14.2"}}}
'
#_You can put other options here
OPTS='
@martinhansdk
martinhansdk / README
Last active February 23, 2018 22:33
Check keypass database against pwned passwords.
Download the list of password hashes from https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/ unpack it and check it against your keepass file with this script.
requires python3, libkeypass from https://github.com/libkeepass/libkeepass and
```
apt-get install python3-crypto python3-lxml
```
@pesterhazy
pesterhazy / promises-passing-values.cljs
Last active October 24, 2021 00:55
Promise chains in ClojureScript and the problem of previous values
(ns my.promises
"Demo to show different approaches to handling promise chains in ClojureScript
In particular, this file investigates how to pass data between Promise
callbacks in a chain.
See Axel Rauschmayer's post
http://2ality.com/2017/08/promise-callback-data-flow.html for a problem
statement.
(defun copy-buffer-file-name ()
"Puts the file name of the current buffer (or the current directory,
if the buffer isn't visiting a file) onto the kill ring, so that
it can be retrieved with \\[yank], or by another program."
(interactive)
(let ((fn (or
(buffer-file-name (current-buffer))
;; Perhaps the buffer isn't visiting a file at all. In
;; that case, let's return the directory.
(expand-file-name default-directory))))