Most interesting links of May ''14
- Monolith - from The Codeless Code - fables and koans for the SW engineer - the Monad monolth #Haskell #fun
- http2 explained (pdf, 27 pages) - cons of http 1 (huge spec / no full impl., wasteful use of TCP <=> latency [x spriting, inlining, concatenation, sharding]) => make it less latency sensitive, fix pipelining (issue a req before previous one finished), stop the need for ever increasing # connections, remove/reduce optional parts of http. Http2 is binary; multiple "streams" over 1 connection => much less conns, faster data delivery; header/data compression; [predictive] resource pushing; . Inspired by SPDY. Chrome and Mozilla will only support it over TLS, yay! (see also Is TLS Fast Yet? [yes, it is]) Promise: faster, more responsive web pages & deprecation of http/1 workarounds => simplified web dev.
- exercism.io - crowd-sourced good code mentorship - get an exercise, implement it in any of the supported language(s), submit and get feedback, repeat; when finished, you too can comment the same excercise submitted by others while working on your next assignment. Languages include Clojure, JS, Scala, Python, Haskell, Go, Elixir, Java, and more.
Podcasts (FP & related)
- Cognicast (also @ iTunes) - Clojure, FP, etc.
- Functional Geekery (@ iTunes) - A podcast on Functional Programming, covering topics across multiple languages.
- Mostly λazy…a Clojure podcast by Chas Emerick
- Giant Robots Smashing into other Giant Robots - "a weekly technical podcast discussing development, design, and the business of software development"
- Software Engineering Radio (@ iTunes) - "The goal is to be a lasting educational resource, not a newscast. Every two to four weeks, a new episode is published that covers all topics software engineering. Episodes are either tutorials on a specific topic, or an interview with a well-known expert from the software engineering world."
- EngineerVsDesigner - design insight (@ iTunes) - product design podcast - the latest digital design news, tips & tricks, Q&A, and an industry special guest
- core.async walkthrough for practicioners (12/2013; original title "Core.Async") - Tim Baldrige 40m talk from Conj is a must-watch for anybody that wants to understand and use core.async. Examples from and beyond the talk are at GitHub. Highlights: While take! takes a callback, <!! wraps that into a promise so that it blocks and returns the value. Thread is similar to future, running the code asynchronously, but returns a channel instead of a promise. So does go, only it does not use real threads but simulated light-weight ones via a state machine and parking. Tim shows the different buffers (normal, dropping = earliest values kept, sliding = latest valus kept). Other topics: alts!!, ...
Related vids by Tim: Core.Async Channel Internals, Core Async Go Macro Internals - Part I, Core Async Go Macros - Part II
- Clojure, Leiningen and Functional Programming for Java developers- implementing a queue in a functional way
- ownCloud - your own Dropbox/Google Drive, run on your server - sharing files between devices / PCs / web, syncing calendar and contacts, collaborative editing of documents (ODF)
- Mailpile - "A modern, fast web-mail client with user-friendly encryption and privacy features.", to be self-hosted on a PC, RaspberryPI, USB stick
- Blackhole - role-based ssh proxy - an app that enables you to manage what users can ssh to what server as a particular user, from users' point of view this is a ssh proxy; useful if many people need access to many servers but you do not want to add them all as users on those servers.
- Wuala - Secure Cloud Storage - Backup. Sync. Share. Access Everywhere. - Dropbox alternative, secure by default
- fb-flo - Facebook's live-coding tool
- owncloud.org - self-hosted Dropbox-like service with calendar and contact sync and more