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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.