Also, here is the list of all videos from NDC Oslo 2017:
<html> | |
<script src="https://www.celljs.org/cell.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/redux/3.7.0/redux.min.js"></script> | |
<script> | |
function items(state = [], action) { | |
switch (action.type) { | |
case 'ADD': | |
return state.concat(action.value) | |
case 'CLEAR': |
import { class, interface, implements } from 'sweet-interfaces'; | |
const constant = x => _ => x; | |
const identity = x => x; | |
const flip = f => (a, b) -> f(b, c); | |
interface Setoid { | |
// eq :: Setoid a => a ~> a -> Boolean | |
eq(b) { return this === b; } | |
} |
// Sometimes, you might want to supply *some* config, but | |
// not necessarily *all*. Maybe your password is really | |
// secret, so you don't want to risk saving it in a config | |
// file. In which case, you'll want to ask the user to enter | |
// it when your script runs. | |
// This interface provides a flexible approach, where | |
// the user is prompted for a missing key when it's | |
// requested - if a particular key isn't needed for a given | |
// run, the user won't need to enter it. Of course, if the |
I have been an aggressive Kubernetes evangelist over the last few years. It has been the hammer with which I have approached almost all my deployments, and the one tool I have mentioned (shoved down clients throats) in almost all my foremost communications with clients, and it was my go to choice when I was mocking my first startup (saharacluster.com).
A few weeks ago Docker 1.13 was released and I was tasked with replicating a client's Kubernetes deployment on Swarm, more specifically testing running compose on Swarm.
And it was a dream!
All our apps were already dockerised and all I had to do was make a few modificatons to an existing compose file that I had used for testing before prior said deployment on Kubernetes.
And, with the ease with which I was able to expose our endpoints, manage volumes, handle networking, deploy and tear down the setup. I in all honesty see no reason to not use Swarm. No mission-critical feature, or incredibly convenient really nice to have feature in Kubernetes that I'm go
var byMonth = R.groupBy(R.prop('Month')); | |
var byAuthor = R.groupBy(R.prop('Author')); | |
var royalty_key = 'Royalty (SUM)'; | |
var months_keys = R.uniq(R.map(R.prop('Month'), data)).sort(); | |
var monthly_revenue = | |
R.map((group) => | |
R.reduce((acc, record) => acc + parseMoney(record[royalty_key]), 0, group), | |
byMonth(data)); |
var byMonth = R.groupBy(R.prop('Month')); | |
var byAuthor = R.groupBy(R.prop('Author')); | |
var royalty_key = 'Royalty (SUM)'; | |
var months_keys = R.uniq(R.map(R.prop('Month'), data)).sort(); | |
var monthly_revenue = | |
R.map((group) => | |
R.reduce((acc, record) => acc + parseMoney(record[royalty_key]), 0, group), | |
byMonth(data)); |
Disclaimer: This piece is written anonymously. The names of a few particular companies are mentioned, but as common examples only.
This is a short write-up on things that I wish I'd known and considered before joining a private company (aka startup, aka unicorn in some cases). I'm not trying to make the case that you should never join a private company, but the power imbalance between founder and employee is extreme, and that potential candidates would
CATEGORY THEORY FOR PROGRAMMERS | |
Category Theory 1.1: Motivation and Philosophy | |
https://www.youtube.com/watch?v=I8LbkfSSR58&index=1&list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_ | |
Composability, Abstraction, Reusability | |
Category Theory is a higher-level language. | |
Not a practical, executable language. |
// this is a generic runner for iterators | |
// for every yield, it checks to see if any time is remaining | |
// on the idle loop, and executes more work if so. | |
// else, it queues up for the next idle period | |
function go(it, callback){ | |
requestIdleCallback(deadline => { | |
let val = it.next() | |
while(!val.done){ | |
if(deadline.timeRemaining() <= 0){ |