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 / reddit-video.cljs
Last active Feb 21, 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
@yogthos
yogthos / RichHickeyInterview.md
Created Apr 25, 2017
An in-depth look at the new language with Rich Hickey, Creator of Clojure
View RichHickeyInterview.md

from http://www.linuxjournal.com/article/10708

An in-depth look at the new language with Rich Hickey, Creator of Clojure

DE: What did you do before you started the Clojure project?

RH: I'm a consultant, so I work on various things. I think the big thing I've done recently is I worked on the national exit poll.

DE: What other languages did you use before inventing your own?

View es7coreasync.md

Comparing ES7 and core.async

ES7 core.async
async function() {...} (fn [] (go ...))
await ... (<! ...)
await* or Promise.all(...) (doseq [c ...] (<! c))
You can’t perform that action at this time.