For KVM and Laptop
I want full control what boots the computer to avoid the so called evil maid attack. That requires setting SecureBoot with only my own keys.
;; implementing a React component in pure cljs, no reagent necessary | |
;; using goog.object.extend to create a ES6 class that inherits from | |
;; React.Component | |
;; credit to @thheller | |
(defn MyReact [props context updater] | |
(this-as this | |
(js/React.Component.call this props context updater))) |
(defmacro afor | |
"Like for but eagerly builds a JS array. | |
Usually for react consumption." | |
[[item coll] & body] | |
`(let [coll# ~coll | |
neue# (cljs.core/array)] | |
(loop [xs# coll# | |
idx# 0] | |
(let [f-item# (first xs#)] |
// inifinite scrolling of content without extra wrappers | |
const { render, findDOMNode } = ReactDOMFiber | |
class App extends React.Component { | |
render() { | |
// wrap the root element with an Intersection Observer, exposing .observe for children | |
return <Intersection> | |
<div style={{ height: 200, overflow: 'auto' }}> | |
<Page offset={0} count={10} /> | |
</div> |
(ns project.leaflet | |
(:require-macros [project.macros :as m]) | |
(:require [rum.core :as rum] | |
cljsjs.react-leaflet)) ;; js/ReactLeaflet | |
(m/adapt-react leaflet-map js/ReactLeaflet.Map) | |
(m/adapt-react tile-layer js/ReactLeaflet.TileLayer) | |
(m/adapt-react marker js/ReactLeaflet.Marker) | |
(m/adapt-react popup js/ReactLeaflet.Popup) |
; Postgres listen/notify in Clojure using http://impossibl.github.io/pgjdbc-ng/ | |
; in project.clj dependencies | |
; [com.impossibl.pgjdbc-ng/pgjdbc-ng "0.5"] | |
(ns pglisten.core | |
(:import [com.impossibl.postgres.jdbc PGDataSource] | |
[com.impossibl.postgres.api.jdbc PGNotificationListener])) |
For KVM and Laptop
I want full control what boots the computer to avoid the so called evil maid attack. That requires setting SecureBoot with only my own keys.
#!/usr/bin/env boot | |
;; BOOT_CLOJURE_NAME=org.clojure/clojure | |
;; BOOT_CLOJURE_VERSION=1.8.0 | |
;; BOOT_VERSION=2.5.5 | |
;; BOOT_JVM_OPTIONS="-Xms1g -Xmx1g -XX:+UseG1GC -XX:+AggressiveOpts -server -Dclojure.compiler.direct-linking=true" | |
(set-env! :repositories #(conj % ["bintray" {:url "http://dl.bintray.com/nitram509/jbrotli"}])) | |
(set-env! :dependencies '[[criterium "0.4.4"] |
(require '[lentes.core :as l]) | |
;; Lets define a simple lense that compoes: | |
;; - a lense that focuses to the (get-in [:foo :bar] ...) on the data struct | |
;; - a lense that just applies the inc transformation | |
;; This is in some mode analogous to: #(inc (get-in % [:foo :bar])) | |
;; but generalized as a composable lense. | |
(def my-lens | |
(comp (l/in [:foo :bar]) |
#include <stdlib.h> | |
#include <stdio.h> | |
#include <stdint.h> | |
#include <fcntl.h> | |
#include <sys/stat.h> | |
#include <sys/mman.h> | |
#include <unistd.h> | |
int main(int argc, const char *argv[]) | |
{ |
;;; strint.clj -- String interpolation for Clojure | |
;; originally proposed/published at http://cemerick.com/2009/12/04/string-interpolation-in-clojure/ | |
;; Copyright (c) 2009, 2016 Chas Emerick <[email protected]> | |
;; | |
;; All rights reserved. | |
;; | |
;; Redistribution and use in source and binary forms, with or without | |
;; modification, are permitted provided that the following conditions are met: | |
;; |