- I work for GDS
- Cabinet Office
- we started by building GOV.UK
- replaced older sites like direct gov, business link
- we’re not just fixing websites
- we also build and run digital services
- working with depts across the country
- eg: register to vote
(comment | |
;; Deps | |
[cheshire "5.4.0"] | |
[manifold "0.1.1"] | |
[aleph "0.4.1-beta2"] | |
[org.clojure/clojure "1.7.0"] | |
[org.clojure/core.async "0.2.371"] | |
) | |
(require '[clojure.core.async :as a] |
The Advanced Threat Integration Team in Cisco's Security Business Group is building a global scale, multi-product security platform with an emphasis on Threat Intelligence and Incident Response support.
Our system runs as a distributed cluster in the cloud, and shrunk down to a single on-premises appliance. This keeps us focused on simple solutions, clear abstractions between services, composition of
sysctl -w fs.file-max=12000500 | |
sysctl -w fs.nr_open=20000500 | |
ulimit -n 4000000 | |
sysctl -w net.ipv4.tcp_mem='10000000 10000000 10000000' | |
sysctl -w net.ipv4.tcp_rmem='1024 4096 16384' | |
sysctl -w net.ipv4.tcp_wmem='1024 4096 16384' | |
sysctl -w net.core.rmem_max=16384 | |
sysctl -w net.core.wmem_max=16384 | |
wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb | |
sudo dpkg -i erlang-solutions_1.0_all.deb |
/** | |
* Copyright (c) Rich Hickey. All rights reserved. | |
* The use and distribution terms for this software are covered by the | |
* Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) | |
* which can be found in the file epl-v10.html at the root of this distribution. | |
* By using this software in any fashion, you are agreeing to be bound by | |
* the terms of this license. | |
* You must not remove this notice, or any other, from this software. | |
**/ |
(ns overtone.examples.compositions.piano-phase | |
(:use overtone.live | |
overtone.inst.sampled-piano)) | |
;; Steve Reich's Piano Phase | |
(def piece [:E4 :F#4 :B4 :C#5 :D5 :F#4 :E4 :C#5 :B4 :F#4 :D5 :C#5]) | |
(defn player | |
[t speed notes] |
%%%% Hindley Milner + type constructor polymorphism + rank-1 kind poly | |
use_module(library(apply)). | |
use_module(librar(gensym)). | |
:- set_prolog_flag(occurs_check,true). | |
:- op(500,yfx,$). | |
kind(KC,var(Z),K1) :- first(Z:K,KC), instantiate(K,K1). | |
kind(KC,F $ G, K2) :- kind(KC,F,K1 -> K2), kind(KC,G,K1). | |
kind(KC,A -> B,o) :- kind(KC,A,o), kind(KC,B,o). |
;; Eclipse Public License 1.0 http://opensource.org/licenses/eclipse-1.0.php | |
(defn make-wrapped-component | |
"Wrap a React component in such a way that the raw JS component is accessible. | |
Useful for for calling methods on the native React component." | |
[component] | |
(fn [attrs & children] | |
(r/create-class | |
{:component-did-mount | |
(fn [this] |
Kris Nuttycombe asks:
I genuinely wish I understood the appeal of unityped languages better. Can someone who really knows both well-typed and unityped explain?
I think the terms well-typed and unityped are a bit of question-begging here (you might as well say good-typed versus bad-typed), so instead I will say statically-typed and dynamically-typed.
I'm going to approach this article using Scala to stand-in for static typing and Python for dynamic typing. I feel like I am credibly proficient both languages: I don't currently write a lot of Python, but I still have affection for the language, and have probably written hundreds of thousands of lines of Python code over the years.
(defui Artist | |
static IQuery | |
(query [cl _] | |
[:db/id :artist/name]) | |
Object | |
(render [{:keys [props]}] | |
(dom/div nil (:artist/name props)))) | |
(defui ArtistList | |
static IQuery |