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){ |