Scott Persinger (@persingerscott)
- HTTP Request/Response
- HTTP Request/Response + AJAX
- Collaboration apps
- Real-time monitoring
- Eliminate polling
- AJAX + Websocket "SUBSCRIBE" + Websocket PUSH
- React + Redux + socket.io
- Express + Mongoose + Mongo DB + Redis
- How do I manage state in my app?
- One way flow: Action creators -> store -> components -> DOM
- Encapsulate state changes as “actions"
- Reducers interpret actions to change the application state
- Just a big switch statement
- Actions are like the command pattern
- Encapsulate state changes in a single place
- The store is the state
- HTTP
- Create - POST
- Read - GET
- Update - PATCH
- Delete - DELETE
- Websocket
- Listen - SUBSCRIBE [event]
- Event - PUBLISH
- All resource changes are published over the real-time channel to interested subscribers
- Subscriptions are modeled with the resource
path, like:
- SUBSCRIBE /users - listen to changes to all users
- SUBSCRIBE /users/1 - list to changes to user 1
- Simplifies design of the event channel
- Eliminates “ad-hoc message” pattern
- Thick client + REST API is a very nice separation of concerns, but more work than MVC
- React/Flux/Redux stack is quite complicated, especially JSX
- Real-time isn’t free
- Puts query/serialization load on the backend
- But it’s a great user experience!
Ahmad Nassri (@AhmadNassri)
Source: http://slides.com/ahmadnassri/hacker-bio-fstoconf15-15#/
"The hacker culture is a subculture of individuals who enjoy the intellectual challenge of creatively overcoming and circumventing limitations of systems to achieve novel and clever outcomes." - Gehring, Verna
- We are hackers
- Change the world through technology
- Why is this important?
"29 million ICT-skilled workers in the world, including 11 million professional developers."
- Equally distributed around the world
- Why is this important?
- The project HACKER:BIO
Ian Livingstone (@ianlivingstone)
- How can we be more productive and build better products
- Building software is a team sport
- A product is the emergent result of a team working together over a period of time
- Innovation = Adaptability * Creativity
- Drastic shifts in the last 100 years factory to office
- Software development is new we built on the past
- So what do we want? (see Dan Pink: the puzzle of motivation)
- Autonomy
- Mastery
- Purpose
- Engagement
- Daniel Pink - Autonomy, Mastery & Purpose
- Control leads to compliance; autonomy leads to engagement
- Requires us to change how we organize and operate
- Teams are lego blocks
- They are our functional unit of production
- Scale up
- Evaluate ideas
- Create redundancy
- How can teams be more productive?
- Clear vision
- Defined interface
- Autonomy
- Articulate vision
- Guide direction
- Measure results
- Asynchronous
- Clear objectives
- Embrace failure
- Git, CI, issues
- Frontend, mobile
- Services
- Compute, deploy, monitoring
- Occassionally, not regularly
- Helps cross pollinating knowledge
- Roadmap <> Backlog <> Dev <> Prod (loop)
- Automated CI
- Deployment
- Monitoring
- Development begins > Planning > Implementation <> Testing > Shipped
- We often focus on building the perfect code bases
- We try to have one way of doing things
- This is important, but don't attempt to control it through your org chart
- Build a culture of eventual alignment and executing on your vision
When you're finished changing, you're finished. -Benjamin Franklin
Rami Sayar (@ramisayar)
Source: http://www.slideshare.net/ramisayar/fitc-data-visualization-in-practice-42809637
"The purpose of visualization is insight, not pictures" -Ben Shneiderman
- Example: 'Stop-and-Frisk' Is All but Gone From New York by Mike Bostock
- Example: Take Care of your Choropleth Maps by Gregor Aisch
- Example: How to Lie with Data Visualization by Ravi Parikh
- Example: Effects of Temporal Aggregation from Modern Visual Evidence by Gregory Joseph, discovered in Visual Explanations by Edward Tufte.
- crossfilter
- Example: Reshaping New York by New York Times
- Example: Visualizing Friendships by Paul Butler
- etc.
- Example: House Hunting All Day, Every Day by Trulia Trends
- Example: Will it Shuffle? by Mike Bostock
- Example: Life Expectancy by Nathan Yau
- Layering data on a common X Axis maximizes visualization of coincidence and anomalies. Best...
- Example: How Likely Is It That Birth Control Could Let You Down? by Gregor Aisch
- Introduction to Cubism by Mike Bostock
- Anything by Edward Tufte
- Knowledge/Information is Beautiful
- Designing News by Franchi
- Visualized in NYC
- informationisbeautiful.net
- flowingdata.com
- visualizing.org
- ...