Skip to content

Instantly share code, notes, and snippets.

View jwdevantier's full-sized avatar

Jesper Wendel Devantier jwdevantier

  • Samsung Electronics, SSDR
  • Copenhagen
View GitHub Profile
@jwdevantier
jwdevantier / clojure-config.el
Created January 21, 2016 10:36
My .emacs settings for Clojure.
;; Note, you'll want to install: auto-complete clojure-mode cider ac-cider
(require 'ac-cider)
(add-hook 'cider-mode-hook 'ac-flyspell-workaround)
(add-hook 'cider-mode-hook 'ac-cider-setup)
(add-hook 'cider-repl-mode-hook 'ac-cider-setup)
(eval-after-load "auto-complete"
'(progn
(add-to-list 'ac-modes 'cider-mode)
(add-to-list 'ac-modes 'cider-repl-mode)))
(defn- filter-todos
[todos current-filter]
(case current-filter
"SHOW_ALL" todos
"SHOW_ACTIVE" (filter #(false? (:completed %1)) todos)
"SHOW_COMPLETED" (filter #(true? (:completed %1)) todos)))
(defn- visible-todos-query
[state [query-id]]
(println "visible-todos-query called")
(defn greet-number
"I say hello to an integer"
[num] ;; an integer
[:div (str "Hello #" num)]) ;; [:div "Hello #1"]
(defn more-button
"I'm a button labelled 'More' which increments counter when clicked"
[counter] ;; a ratom
[:div {:class "button-class"
:on-click #(swap! counter inc)} ;; increment the int value in counter
For example, here's the excerpt of `cljs-repl`:
```
(b/deftask cljs-repl
"Start a ClojureScript REPL server.
The default configuration starts a websocket server on a random available
port on localhost."
[b ids BUILD_IDS #{str} "Only inject reloading into these builds (= .cljs.edn files)"
i ip ADDR str "The IP address for the server to listen on."
n nrepl-opts NREPL_OPTS edn "Options passed to the `repl` task."
(set-env!
:resource-paths #{"src/cljc" "src/clj" "src/cljs"}
:source-paths #{"test"}
:dependencies '[[org.clojure/clojure "1.9.0-alpha14" :scope "provided"]
[org.clojure/clojurescript "1.9.227" :scope "provided"]
[onetom/boot-lein-generate "0.1.3" :scope "test"]
[adzerk/boot-test "1.1.2" :scope "test"]
[crisptrutski/boot-cljs-test "0.2.1" :scope "test"]
[org.clojure/test.check "0.9.0" :scope "test"]]
:repositories
>> l =[1,2,3,4,5,6,7,8,9]
>> list(zip(l, l[1:]))
[(1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9)]
@jwdevantier
jwdevantier / Dockerfile
Created April 11, 2017 18:00
Example dockerfile
# Use an official, pre-rolled node image
# https://hub.docker.com/_/node/
FROM node:7.8.0
# Some variales which we can set when building the image...
ARG SRCDIR=src
RUN mkdir -p /opt/app
WORKDIR /opt/app
@jwdevantier
jwdevantier / docker-compose.yml
Created September 5, 2017 09:25
Example docker CE deployment setup
version: "3.3"
services:
gitlab:
image: 'gitlab/gitlab-ce:9.5.2-ce.0'
restart: always
hostname: 'git.example.com'
links:
- postgresql:postgresql
;;; -*- lexical-binding: t; -*-
(require 'cl-lib)
;; lexical binding makes it possible to write functions which return closures
;; that behave as expected (e.g. capture their local environment)
;; cl-lib is the newer, recommended way to tap into the large subset of
;; common lisp functions/macros
@jwdevantier
jwdevantier / App.fs
Created September 7, 2020 09:16
Fable + Elmish + React example
module App
open Fable.React
open Fable.React.Props
open Elmish
open Elmish.React
open Elmish.Navigation
type Route =