(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
;; Example implementation of Norvig's Spellchecker in Clojure, | |
;; using core.async | |
;; | |
;; There are probably some bugs in this. | |
;; | |
;; Original problem: https://github.com/ericnormand/spelling-jam | |
;; from Lambda Jam, Chicago, 2013: http://lambdajam.com/ | |
;; | |
;; Clojure core.async introduction: | |
;; http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html |
My efforts to port http://www.youtube.com/watch?v=f6kdp27TYZs to Clojure.
func boring(msg string) {
for i := 0; ; i++ {
fmt.Println(msg, i)
time.Sleep(time.Second)
}
macro sexp { | |
case () => { | |
; | |
} | |
case ($p) => { | |
$p | |
} | |
case ($x $y) => { | |
$x($y); | |
} |
This playbook has been removed as it is now very outdated. |
package msgpack.rpc.sample.client; | |
import org.msgpack.rpc.Client; | |
import org.msgpack.rpc.loop.EventLoop; | |
public class ClientApp { | |
private static class SpawnRequest { | |
private SpawnRequest(final int clientCount, final int requestCount, final RPCInterface iface) { | |
new Thread(new Runnable() { | |
public void run() { |
;; chouser's solution to Infinite Matrix | |
;; https://4clojure.com/problem/168 | |
(fn [r f & [m n s t]] | |
(map #(map (fn [x] (f % x)) (r n t)) (r m s))) | |
(fn r [a b] | |
({0 ()} b (lazy-cat [(or a 0)] | |
(r (+ (or a 0) 1) (- (or b 0) 1))))) |
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
GitHub has lots of data. User data, repository data, event data, you name it. We need someone to aggregate it, query it, and report back to us really interesting things to help better serve our community. Being a number geek that realizes R isn’t just a letter and loves Hadoop is great, but you also have to be able to communicate well within our team.
Our data is stored in a variety of formats such as MySQL, Redis, MongoDB, Riak, and Graphite, so knowledge of SQL and NoSQL databases and their associated querying languages would be useful.
We’d love if you’d work out of our San Francisco office, and we’ll pay to help you move. GitHub is a chance for you to come work with highly skilled, highly motivated professionals that are determined to build the best developer tools on the planet.
We provide an excellent compensation package: health, vision, and dental benefits + HSA contributions, competitive salary, and an open and friendly work environment. Read more about how GitHub works here: https: