Skip to content

Instantly share code, notes, and snippets.

🤷‍♂

Dmitri Sotnikov yogthos

🤷‍♂
Block or report user

Report or block yogthos

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@yogthos
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
(:require
[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
yogthos / core.cljs
Last active Jul 24, 2019
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.
(clj->js
{:type (-> Gtk .-WindowType .-TOPLEVEL)
:title "A default title"
:default_width 300
@yogthos
yogthos / reddit-video.cljs
Last active Jun 19, 2019
a Lumo script for downloading Reddit videos using youtube-dl
View reddit-video.cljs
#!/usr/bin/env lumo
(ns reddit-video.core
(:require
[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
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]))]
[pikaday/date-selector
{:date-atom date
:pikaday-attrs {:format "YYYY-MM-DD"}
:input-attrs {:read-only true :class "form-control"}}]
View mp4-gif.sh
#!/bin/sh
palette="$1.palette.png"
if [[ ! -e $palette ]]; then
ffmpeg -y -i $1 -vf palettegen $palette
fi
filters="fps=15,scale=640:-1:flags=lanczos"
@yogthos
yogthos / config.edn
Last active Aug 23, 2018
Twitter to Markdown
View config.edn
{:access-keys
{: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 "tweets.md"}
@yogthos
yogthos / atom_clojure_setup.md
Last active Oct 20, 2017 — forked from jasongilman/atom_clojure_setup.md
This describes how I setup Atom for Clojure Development.
View atom_clojure_setup.md

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 init.coffee 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
yogthos / README.md
Created Aug 27, 2017
ClojureScript Planck FFI example
View README.md
View README.md

The project can be built using Lumo

npm install -g lumo-cljs
lumo build.cljs
@yogthos
yogthos / gallery.cljs
Last active Jul 20, 2018
script to download walpapers from windowsonearth.org
View gallery.cljs
You can’t perform that action at this time.