Notes: re:Invent 2015

Links # Videos on Youtube (organized into playlists) Slides on SlideShare Day 1 - Wednesday # Keynote # Video Freedom to innovate # Scalability, large suite of services Freedom to get insights from data # Storage, analysis. Announce QuickSight: cloud powered BI/viz Sputz: query runner Can share visualizations. 1/10th the cost of other solutions. Supports all AWS data stores. Automatically selects best viz for data Pluggable backend for other data analysis tools Freedom to get data into or out of the cloud easily # Streaming data.
Read more →

Talk Notes: Simulation Testing with Simulant

Summary # Title: Simulation Testing with Simulant Conference: Online Webinar Speaker: Michael Nygard Date: 2014-10-24 http://fast.wistia.net/embed/iframe/5vcu53dbnw Notes # Classification Whitebox vs. Blackbox Automated vs. Manual, shifting toward the former New distiction: Example-Based vs Property-Based # Example-Based # known inputs and expected outputs Written by programmer Variety of scales (unit, functional, integration), mean different levels of fidelity (resolution) Using fixtures, stubs, mocks Weaknesses Doesn’t cover much of the state space. 100% code coverage doesn’t cover all states.
Read more →

Talk Notes: Designing Front End Applications with core.async

Summary # Title: Designing Front End Applications with core.async Conference: Online Webinar Speaker: David Nolen Date: 2014-08-22 http://go.cognitect.com/core_async_webinar_recording Notes # Frontend usually means Javascript. But the code can get ugly pretty fast. JS’ solutions to async: Callbacks Promises ClojureScript was created 3 years ago to introduce Clojure concepts to the frontend. Iterop was a priority. Google Clojure compiler is the way to deliver the final product Minification Dead code elimination Standard library core.
Read more →

My note-taking workflow

A few people have asked about my note-taking workflow and it’s been quite useful to me, so I thought I would describe what works for me. I’ve tried several of the popular note-taking tools out there and found them overbearing or over-engineered. I just wanted something simple, without lock-in or a crazy data format. So my notes are just a tree of files. Yup, just directories and files. It isn’t novel or revolutionary.
Read more →

Talk Notes: Software Architecture using ZeroMQ

Summary # Title: Software Architecture using ZeroMQ Conference: Strange Loop 2012 Speaker: Pieter Hintjens Date: 2012-09-24 http://www.infoq.com/presentations/Architecture-Scale-ZeroMQ Notes # This talk is not about the technical details of ZeroMQ. It will be about how to get things done with ZeroMQ. Code is crap, or will be crap soon. Not built for 50 years of usage. The real hard problem in our profession is simple accuracy. The future of code is chatting.
Read more →

Talk Notes: February 2014

I was out of town two of the Fridays this month, so I was only able to get two talks in: Clojure core.async - Continuing in my fascination with Clojure, I picked this talk to explore the non-Java techniques for handling concurrency. I’m familiar with CSP from my Go experience, and it was interesting to hear Clojure’s take on the same foundation. Clojure also implements a macro that turns the spaghetti code that is callbacks into a sequential function that still operates asynchronously.
Read more →

Talk Notes: Inventing on Principle

Summary # Title: Inventing on Principle Conference: CUSEC 2012 Speaker: Bret Victor Date: 2012-01-20 http://vimeo.com/36579366 Notes # A way of living your life. Find a principle that you believe is necessary and important and use it to guide your work. Three parts to the talk. My principle Larry’s principle Your principle My principle # Ideas are important to him, how they are formed and grow. What sorts of tools help ideas succeed.
Read more →

Talk Notes: Clojure core.async

Summary # Title: Clojure core.async Conference: Strange Loop 2013 Speaker: Rich Hickey Date: 2013-11-22 http://www.infoq.com/presentations/clojure-core-async Notes # Motivations and some API didsussion. Problems to solve: Function chains make poor machines Real world concurrency is exposed with callbacks “Good programs should be made of processes and queues.” Data is passed through a system from one end to another, so conveyance must be a first class construct. Native Java queues are meh, require threads to block.
Read more →

Introducing Talk Notes

In the course of my work and my online reading and research, I often come across videos of talks that I want to watch. I rarely take the time to watch those videos, mostly because of the time commitment; I usually only have a few minutes to spare. Lately, I’ve done something to change that. I’m taking a little bit of time out of my Friday schedule each week to watch a talk that looks interesting.
Read more →

Talk Notes: React - Rethinking Best Practices

Summary # Title: React - Rethinking Best Practices Conference: JSConf ASIA Speaker: Pete Hunt Date: 2013-11-28 http://www.youtube.com/watch?v=DgVS-zXgMTk http://www.slideshare.net/floydophone/react-preso-v2 Notes # Talking about React, the library that the speaker works on. Bad reaction to it when released, but we should give it five minutes. React is the V in MVC, for making user interfaces. It plays well with part of your app, doesn’t require a complete rewrite. Prerequisites # Combine DOM generation and display logic
Read more →

Talk Notes: Raft - The Understandable Distributed Protocol

Summary # Title: Raft - The Understandable Distributed Protocol Conference: StrangeLoop 2013 Speaker: Ben Johnson Date: 2013-09-20 http://www.infoq.com/presentations/raft Notes # Raft PDF: https://ramcloud.stanford.edu/wiki/download/attachments/11370504/raft.pdf Raft homepage: http://raftconsensus.github.io/ Ben wrote goraft, a golang implementation of the raft consensus algorithm. Distributed consensus used in: Data replication Leader election - who’s the master Distributed locks - share a resource among many nodes The only other Distributed consensus protocol is Paxos. Paxos # Client requests change to Proposer Proposer gets a quorum of Acceptors Acceptors indicate readyness Proposer sends new value to Acceptors Acceptors propagate the new value to Learners Proposer becomes new Leader Rather confusing, opaque, lots of roles, often shared.
Read more →

Talk Notes: Using Datomic with Riak

Summary # Title: Using Datomic with Riak Conference: RICON East 2013 Speaker: Rich Hickey Date: 2013-07-31 https://www.youtube.com/watch?v=FOQVWdG5e2s Notes # Databases can be built on top of one another. RDBMSes tend to be the level 0. Riak CS is built on Datomic is built on top of various storage engines Datomic tries to accomplish 2 things: Information is something that incorporates time and that accumulates over time Change database application model from remote communication to where the database is a regular value in your program More declarative ORMs are an impedance mismatch, and that’s the programs fault.
Read more →