Skip to content

Instantly share code, notes, and snippets.


Dmitri Sotnikov yogthos

View GitHub Profile
yogthos / pixelfed-images.cljs
Last active Jul 15, 2019
a script to download photos from Pixelfed data export JSON file
View pixelfed-images.cljs
#!/usr/bin/env lumo
(ns pixelfed-images.core
[clojure.walk :refer [prewalk]]
[cljs.core :refer [*command-line-args*]]
[clojure.string :as string]))
(def fs (js/require "fs"))
(def https (js/require "https"))
(def stream (.-Transform (js/require "stream")))
yogthos / core.cljs
Last active Aug 6, 2020
Gjs ClojureScript example
View core.cljs
(ns gjs-example.core)
(defn main []
(set! (-> js/imports .-gi .-versions .-Gtk) "3.0")
(let [Gtk (doto (-> js/imports .-gi .-Gtk) (.init nil))
window (Gtk.Window.
{:type (-> Gtk .-WindowType .-TOPLEVEL)
:title "A default title"
:default_width 300
yogthos / reddit-video.cljs
Last active Jan 24, 2021
a Lumo script for downloading Reddit videos using youtube-dl
View reddit-video.cljs
#!/usr/bin/env lumo
(ns reddit-video.core
[cljs.core :refer [*command-line-args*]]
[clojure.string :as string]))
(def https (js/require "https"))
(def process (js/require "child_process"))
(defn js->edn [data]
yogthos / datepicker.cljs
Created Oct 19, 2018
example of adapting Reagent atom based API to re-frame
View datepicker.cljs
(ns re-frame.datepicker
(:require [cljs-pikaday.reagent :as pikaday]))
(defn datepicker [k]
(r/with-let [date (r/atom @(rf/subscribe [:schedule/event-modal-details-value k]))
date-tracker (r/track! #(rf/dispatch [:schedule/update-event-modal-details k @date]))]
{:date-atom date
:pikaday-attrs {:format "YYYY-MM-DD"}
:input-attrs {:read-only true :class "form-control"}}]
if [[ ! -e $palette ]]; then
ffmpeg -y -i $1 -vf palettegen $palette
yogthos / config.edn
Last active Aug 23, 2018
Twitter to Markdown
View config.edn
{:consumer_key "XXXX"
:consumer_secret "XXXX"
:access_token_key "XXXX"
:access_token_secret "XXXX"
:account "arstechnica"
:content-filters [".*badwords.*"]
:include-replies? true
:include-rts? true
:output-file ""}
yogthos /
Last active Oct 20, 2017 — forked from jasongilman/
This describes how I setup Atom for Clojure Development.

Atom Clojure Setup

This describes how I setup Atom for an ideal Clojure development workflow. This fixes indentation on newlines, handles parentheses, etc. The keybinding settings for enter (in keymap.cson) are important to get proper newlines with indentation at the right level. There are other helpers in and keymap.cson that are useful for cutting, copying, pasting, deleting, and indenting Lisp expressions.

Install Atom

Download Atom

The Atom documentation is excellent. It's highly worth reading the flight manual.

yogthos /
Created Aug 27, 2017
ClojureScript Planck FFI example

The project can be built using Lumo

npm install -g lumo-cljs
lumo build.cljs
yogthos / gallery.cljs
Last active Aug 9, 2021
script to download walpapers from
View gallery.cljs