2013/10/01 GOTOcon Aarhus Day 3

by Gene Kim on

#gotoaar

Up: Chad Fowler, CTO, 6Wunderkinder, "How to become accomplished"

  • Recently moved from DC to Berlin
  • Fowler: "According to US Bureau of Labor Statistics: we spend 50% of our lives working"
  • Fowler: "Wrote 'Passionate Programmer: Creating A Remarkable Career In Software'; 1st edition subtitle was 'my job got sent to India'
  • Fowler: "Shout out to Tim Ferriss 4 Hour Work Week; we all want one thing: happiness
  • Fowler: "Voted by high school as 'most organized' and 'least likely to be smartest of your friends'
  • Fowler: "punk band guitarist, conference founder/chair; author of 4 books; written about in NYT bestseller; started software dev center in India; live in 4 countries on 3 continents; self-taught hindi and tibetan; extreme weight loss
  • Fowler: "My qualifications: procrastinator, lazy, introverted, unqualified
  • Fowler: "Passionate Programmer steps in nutshell: choose your market, invest, execute, market, refresh
  • Haha. Fowler: "Every Dev should think of themselves as product, with long lifespan; you're selling 'you as a service'"
  • Fowler: "Same frustration as Agile; how do we systemize and automate our career development?
  • Fowler: "We are a complex system; health, personal relationships; we know how to manage complexity, abstract, measure, change things, anticipate failure, organize, argue (passionately)
  • Fowler: "'The only great programmers are the good programmers with great practice' -- Chris Parsons
  • Fowler: "Citing Haruki Murakami book: What I Talk About When I Talk About Running: A Memoir" (on weight loss)
  • Fowler: "Murakami: people who are naturally thin are at disadvantage; don't have signals like having clothes not fit, etc.; they're the ones who don't have to create systems and measurement
  • Fowler: "Accomplishment: actually accomplishing, feel like you accomplished, and perceived as having accomplished
  • Fowler: "Ask: 'why am I doing this?': business, career, life;
  • Fowler: "When I wrote 'Rails Recipe', left job b/c was one of few Ruby english writers; started consulting; now writing book on Scala and Play framework; might have huge opportunity cost, b/c books are hard
  • Fowler: "Started in cubicle in FedEx; making long term career plans don't make sense
  • Fowler: "Ask 'what would you rather be doing?'; right now, I have no better answer
  • Fowler: "Was asked 'how do you have time for all this?'; have meetings in 5 min rickshaw, instead of 1 hour meeting
  • Fowler: "Derek Sivers rule: 'when asked to do something, answer is either 'hell, yes' or 'no'"
  • Fowler: "Citing Ramit Sethi: 'frugality sucks'; conversation with wife: 'this is not 'going out to dinner' failure', this is 'lose the house' failure
  • Fowler: "Was forklift driver at age 19; paid much better than musician; decided to be waiter, which for introverts is hell; forced myself to do something I was terrified by
  • @johankjensen: “If you want to be rich, saving money on the Starbucks coffee won't help get you there. Take opportunities.” –@chadfowler
  • Fowler: "I was so bad at being waiter, often I made negative money -- had to pay into tip pool
  • Fowler: "As lifelong RPG player, I want to build out my skill tree; Level 0 helpdesk > field svc -> L3 engr -> network engr
  • Fowler: "I asked NPC engineer advice on 'what should I learn?: his answer: 'learn Novell, XXX (?) and Perl', and maxed out skill tree
  • Fowler: "Practice: Love the Code Kata, founded by Dave Thomas; would challenge you to find out how fast you can learn
  • Fowler: "Have a list of 'Things I Need To Learn': after lunch, spend 10 min to become satisfied you learned something
  • Fowler: "Passion Conservation: passion is easier to expend than to build
  • Fowler: "Richard Hamming, Bell Labs: 'What are u working on? What is most important open area in ur field? Why aren't they same thing?
  • @johankjensen: “Passion is a slowly renewable resource. If you do work which doesn't replenish it, you'll burn out.” –@chadfowler
  • @NativeWired: Food for thought: “Passion is a slowly renewable ressource - used quickly, rebuild slowly” @chadfowler
  • @m_olk: "Many developers practice on stage. Imagine a musician doing that" @chadfowler
  • Fowler: "Partial People; broken window syndrome
  • Fowler: "Be careful with who u associate with; always be worst person in the band you're in; otherwise, they'll bring you down
  • Fowler: "Playing with world class legend made me level up; audience didn't knoow that I was much worse than him
  • Fowler: "Happened again in 2000s; Object Mentors; can't stand the idea that I won't be with them
  • @Rasmuschristens: Be the boyscout to your own life, always fix the broken windows. #gotoaar #ChadfowlerRocks
  • Fowler: "I've always wanted to...; wife said, you can't say that and not do anything about ti...
  • Fowler: "Citing 'The E-Myth Revisted'; your org chart is the grand schematic of your business
  • Fowler: "In beginning of InfoEther, was 20 people in big blob; didn't work, too much coupling, not enough cohesion; didn't scale
  • Fowler: "In one person company: create org chart; marketing, other functional areas
  • Fowler: "No more projects; you're giving yourself permission to take a long time to do it; incremental improavement: was today better than yesterday? if not, make it
  • Fowler: "Do not measure the process;
  • Fowler: "Citing book: 'Vagabonding'
  • Fowler: "Marketing is a moral imperative; if u're afraid/disgusted to market yourself, think about box by selling them this box for $50 that can help peole; then you don't tell them about it, you're robbing people of value; if you get $10, and it $50 comes out
  • Fowler: "Citing 'Zen & Art Of Motorcycle Maintenance'; Indian Monkey Trap; value rigidity; rice in box; don't be the crusader forcing other people to care about BDD, etc. time may pass you by
  • @johankjensen: “Don't do projects. They take a long time and are inefficient. Just do it.” –@chadfowler
  • Fowler: "GDP on Y-axis, hours work on X-axis; the more hours you work, the less productive they are; Economist
  • Fowler: "Kurt Vonnegut: 'I urge u to please notice when u are happy, and exclaimm or murmur or think at some point, 'If this isn't nice, I don't know what is."

Up: "Programming, Only Better", Bodil Stokke, Creator of Catnip IDE (@bodil)

  • Stokke: "'GOTO statements considered harmful' wasn't Dykstra; it was Nicklaus Wirth;
  • Stokke: "Dykstra made a career of flaming: 'Use of COBOL cripples the mind; BASIC mentally mutilates ppl beyond hope of recogntn
  • Stokke: "Dijkstra died in 2002; same yr as Java release, which he also hated; coincidence? regardless, he will be missed'
  • Stokke: "Reasoning about software; formal reasoning proves correctness; like typing
  • Stokke: "formal reasoning means math; informal reasoning means thinking about your code; debugging is process of informal reasoning
  • Stokke: "Hammock Time; 2001: Agile manifesto; Scrum;
  • Stokke: "Whatever the path to great code might be, it doesn't go through project management (e.g., scrum, agile, etc.)
  • Stokke: "TDD; code review; refactoring, pair programming;
  • Stokke: "On refactoring: don't underestimate value of clean API. U can shovel pile of shit all u want, it's still pile of shit
  • Stokke: "What is cause of bad code? Complexity (& technical debt), spiraling downwards, out of our ability to reason about it
  • Stokke: "Cause of Complexity: Citing 'Out of Tar Pit', Marks
  • Stokke: "Dijkstra: 'reliable software requires making errors impossible; testing finds more error; testing can't be sufficient
  • Stokke: "Sources of complexity: State, Control, Code Volume, And Maybe Some Other Things."
  • Holy cow. What is @bodil using to do these inline evaluations of java code in IDE? Is she using Catnip?
  • Stokke: "State spoils testing; testing a component in one state tells you nothing about behavior in another state; ie. reboot computer
  • Stokke: "State is the great evil; state increases complexity exponentially
  • Stokke: "Control: the order in which things happen; and OMG, concurrency
  • Stokke: "How can you test anything when you can't even be sure of order things happen, or when state is changing
  • Stokke: "3) Code volume: complexity expands nonlinearly as code volume
  • Stokke: "Tech debt; complexity breeds complexity; simplicity is hard; power corrrupts (programming features)
  • Stokke: "FP eliminates state; only inputs and outputs; where did the state go? it's still there, but being passed around; state is in values, and can't mutate
  • Stokke: "showed Haskell implementation w/no state; 4 lines of code
  • Stokke: "Erlang, Clojure
  • Stokke: "Ideal language eliminates control; Haskell gets close; Monas ... something that is cheating; only has to deal with essential state vs accidental state
  • @Mekkaz: Bodil Stokke: Monads are magic, so they count as cheating
  • Q: "What is expr eval tool you're using?" Stokke: "Just Google 'Java REPL'" (Interesting! Wow!)
  • Q: "What is fave pony?" Stokke: "rainbow dash pony"
  • @tbsalling: RT @bodil: Hey #gotoaar, I put the slides from my talk up on the internets: http://t.co/nmhF59qUty (REPLs won't work online, but ponies wor…

Up: Dave Thomas, "Career Oner at Career.You: The Most Important Role Of Your Career" (@daveathomas)

Careers are emergent and may be proactively shaped by you the career product owner. Successful career owners seldom look for opportunities because the opportunities find them. In this talk we describe several career development best practices most of which have been used by leading software professionals one or more times during their career. We begin with the career retrospective of experience and future aspirations from which one can build a backlog of career deliverables. We then discuss technical, people, organizational and professional kata which one uses to keep career fit. We examine what is the necessary technical breath and depth to maintain as one grows older. Throughout we will do some testing and career debugging. Attendees will leave with one or more practical practices that they can use assess and improve their career.

Dave Thomas has a wide spectrum of experience in the software industry as an engineer, professor, consultant, architect, executive and investor. Dave is founder and CEO of Bedarra Corporation; which provides virtual CTO and CEO, business mentoring and seed investment to emerging companies. Recently formed Bedarra Research Labs undertakes speculative research on applications of emerging software technologies.

Dave is best known as the founder and past CEO and president ofObject Technology International Inc. (formerly OTI, now IBM OTI Labs)and led the commercial introduction of object and component technology.The company is often cited as the ideal model of a software technology company.

He was also the principal visionary and architect for IBM VisualAgeSmalltalk and Java tools and virtual machines including the initialwork on popular multi-language Eclipse.org IDE. OTI pioneered the useof virtual machines in embedded systems with Tektronix shipping thefirst commercial products in 1988. He was instrumental in theestablishment of IBM's Pervasive computing efforts and in particularthe Java tooling.

Dave is an adjunct research professor at Carleton University, and the University Of Queensland and is widely published in the software engineering literature. He is a popular humorous albeit opinionated keynote speaker. Dave remains active in various roles within the technical community including ECOOP, AOSD, Evolve, and Agile Development Conference, Agile/XP Universe and OOPSLA Onward. He is a founding director of the Agile Alliance and most recently a founder of Open Augment Consortium. Dave writes expert columns in Otland Online in Germany, and the Journal Of Object Technology in Switzerland where he also serves on the editorial board.

Personal website:
* davethomas.net
* eclipse.org
* agilealliance.org

  • Outline
    • careers: some assembly required
    • career retrospective
    • career perspective
    • career maintenance
  • careers seldom just happen; enabled by knowledge and experience
    • shaped by colleagues and mentors, not companies you work in
    • constrained by personal circumstances
    • opportunities provided by network
    • broadened and deepened by experience
    • secured through good performance
    • helped by a little luck
  • meet the product owner: you
    • your stakeholders: partner, children, parents, friends, etc...
    • what do you want to be when you grow up?
    • plan for exactly 1 year ahead; the rest of fiction
  • resume/cv: the career retrospective
    • update regularly; major contributions for employer every 2-3 years
    • Thomas: when Nortel went under, 40K jobs disappeared overnight.
    • Get experience first, before tackling goal
    • Thomas: "I left IBM when it was realized when I would become anti-matter" (referring to conformist culture)
  • Recommending Dan Pink book: look for vision match, autonomy (I have responsibility for and control of my own work), mastery (I am not uncomfortable, I'm learning), community (good peer group)
  • Career anti-patterns
    • what did I learn/improve this year?
    • who can I learn from next?
    • golden handcuffs?
    • trapped w/friends/first employer
      • Thomas: "always better to hire a team than an individual"
    • insufficient recognition/compensation
    • taking my work problems home
    • don't feel competent in my job
    • bored to death
    • too much travel
    • embroiled in politics... are you the revolutioniary?
      • Thomas: "as a revolutionary, it's good to know when it's not going to happen, and go try in a different city" (haha)
    • need professional development
    • difficult personal relationships
  • Thomas: single most important book...
  • Questions
    • what is on my really like/want to do list?
    • what is on my really don't like/don't want to do list?
    • do these match your partners?
  • At IBM, helped create Distinguished Engineer, paid at same level as Director or VP; some have staff, some just walk around, coach; they can put stakes on, and shoot a puck
  • In Lean and Agile, if you don't have a technical ladder, you can't retain ladder; if not, you become technical architect, and guaranteed to be relevant
  • Ha! Thomas: "if company doesn't have technical ladder, you're doomed to become technical architect, and guaranteed to be relevant"
  • Thomas: "we know ideal teams are small teams; Team = 7 +/- 1; Company Me/We: 1-4"
  • Thomas: "As a consultant, you'll see tons of large companies, and probably see why you never want to be at one
  • Thomas: "Culture doesn't belong to the company; it belongs to the leadership team who is there at the time"
  • Thomas: "Every successful company has a strong culture that you need to understand and subscribe to"
  • Thomas: "
  • Career maintenance, career smells
    • career refactoring
    • metnors
    • know your org
    • embrace diversity
    • seek leaning opportunities
    • references and referrals
    • maintain your personal brand
  • Thomas: Be the best at something, rather than average at many things; don't leave your hobbies/life behind
  • Thomas: don't leave hobbies behind; hobbies usually turn into your 3rd or 4th career
  • Thomas: don't leave life behind; lots of weekend work results in hurting the people around them (family, kids, etc)
  • Thomas: "in mtgs w/horrible people, just smile & tap table twice; tapping sometimes makes them disappear. worth trying" (ha!)
  • Thomas: "As an exec, the you can do is pick the best wrong decision"
  • Thomas: "employers need to do reviews"
  • Thomas: "own your brand and your time"
  • @benjchristensen: “Being a leader and saying you’re wrong is one of the most empowering things.” – @daveathomas
  • Thomas: "Other than yourself, your mentors are often the most important success factor, especially women"
  • .@daveathomas: "for most junior employees, exec is responsible for people 5-7 levels below them; having someone high up can give you good advice, direction (e.g,, they know that dept will get shut down next week)
  • .@daveathomas: "Know execs, b/c they don't need to sell up; people who sell up are great, but they'll sell you out for a dime
  • .@daveathomas: "Look for connectors and carriers of infromation
  • .@daveathomas: "Ask for a referral: can you introduce me to someone at another company that you think I can help
  • .@daveathomas: "Unfortunately, I'm so outspoken, my brand was damaged early in my career, and there's nothing I can do about it

Up: Rachel Laycock, "Continuous Delivery: Tales from Windowsland"

Biography:

Rachel Laycock works for ThoughtWorks as a Lead Consultant with 10 years of experience in systems development. She has worked on a wide range of technologies and the integration of many disparate systems. Since working at ThoughtWorks, Rachel has coached teams on Agile and Continuous Delivery technical practices and has played the role of coach, trainer, technical lead, architect, and developer. She is now a member of the Technical Advisory Board to the CTO, which regularly produces the ThoughtWorks Technology Radar. Rachel is fascinated by problem solving and has discovered that people problems are often more difficult to solve than software ones.

  • @andypiper: RT @jakobfaerch: Clippy just turned up in @rachellaycock's talk at #gotoaar. Didn't see that coming in a continuous delivery setting
  • Laycock: "Windows infrastructure Pains: proprietary software with licensing costs so high can't have test env, Windows versions..\
  • Laycock: "...Remoting, Registries, ISOs, Cost (Azure+Windows more expensive than Linux); But Windows is here to stay."
  • Laycock: "Soln: don't be afraid of non-MS tools; leverage existing languages (Ruby or Python vs. Powershell, XML),
  • Laycock: "Contrib to ALT.NET OSS projects; Just do it! (You can do continuous delivery on Windows; enterprise oft scared)
  • Laycock: "Handling objs: It can only get better, right? New tools all the time. Maybe we can avoid sw that can't be pkged
  • Laycock mentioning ALT.NET open source project several times. Sounds like lots of promise.

Up: Eran Messeri, Google: "What goes wrong when thousands of engineers share the same continuous build?"

Eran works as a Software Engineer on Developer Infrastructure at Google. Most recently his focus is on reliable testing infrastructure, in addition to being a core committer to the Selenium browser automation framework. He has been building software in various fields, including embedded systems, networking, file-­systems and device drivers for 10 years. Eran has a master's degree in computer science from Bar Ilan University, Israel.

  • eranm@google.com
  • Messeri: "Lots of talks on Google continuous delivery out there, but they're old. Here's what we're doing now."
  • Messeri: "It's possible to work from head (trunk); importance of reliable, automated testing, how complex engr can be done
  • Messeri: "Google: 15K engrs, 4K+ projects, 5500 commits/day; 75M test cases run daily; 50% of code chgs monthly; 1 source tree
  • Messeri: "|DevInfra Engr| << |Google|; i.e., the org that writes all of Google CI/CD, testing tooling + infra; 200 engrs
  • Messeri: ".5% of engineering dedicated to Dev infrastructure Engineering: goal: make Dev productive
  • Messeri: "Single, searchable code repo; each chg req code review (ownership, readability); unified build system (local/cloud)
  • Messeri: "Continuous integration with presubmit capabilities; single repo for test results (semi-structured)
  • Messeri: "Readability review: once per language: 'I thought I knew eery corner of Java until I went thru my review'
  • Messeri: "Continuous integration (+ test) system: to prove someone your code works, you can send link to test results"
  • @Gshtrifork: #google have 4000+ projects under active development, 15000 engineers, over 75m test cases a day!
  • Messeri: "Workflow: check out code: optimized w/FUSE; repo is billions of files (!!); FUSE allows local fetch of files
  • Messeri: "Hack hack hack: heavy use of IDE support to support auto-completion: millions of Java classes (!!!)
  • Messeri: "More hacking, more testing; build + test in the cloud; send code out for review via stdized tool;
  • Messeri: "code commit trigger post-submit, push to production: push button, pick green CL
  • Messeri: "Probs: catching up w/head: merge happens here (always rebasing); cached build artifacts from cloud; FUSE makes it fast (you can reuse someone else's build)
  • Messeri: "Prob: someone breaks build: early detect mechanisms (global presubmit); did they announce chg? (procedure for brk chs)
  • Messeri: "Are your tests stable? Cultural commit to keeping things green (short time window for fix, rollback, no hard defn)
  • Messeri: "(Interesting; no hard policy/procedures at Google for when someone breaks build; high trust mgmt style)
  • Messeri: "If you break all of Google (occas happens), you'll get IM, emails, knock on door; fix it now, b/c no dev can commit
  • Messeri: "We want to make it easy to rollback to CL; no hard policies like "if u break > 10 proj, SLA of 10m" no need to be rude
  • Messeri: "If you break my project, no problem. Tomorrow, I may break your project; mutual respect between teams
  • Messeri: "Working w/external code: easy process for importing external open-source code; only 1 vers of each lib; no exceptions!
  • Messeri: "Story: I wanted to push new vers of libry, asked for exception (like any good Israeli); eliminates conflicts/dependncy
  • Messeri: "When library API chgs, I had to fix my code, and go to every other project that uses that library; and they'll help
  • Messeri: "They may rewrite their code, or elim the lib (best option); in most cases, other teams will help help; takes weeks
  • Messeri: "Code is like 'public spaces': shared maintenance burden (yes, it's expensive);
  • Messeri: "Codebase cleanup (eg, remove old lib, move to new API): these oft hurt, cause you to give up b/c too complex; continuous integration makes it possible
  • Messeri: "Code chgs when u start at Google is scary, b/c senior engrs can yell at you if u brk. But testing turns fear > boredom
  • Messeri: "CI at Google builds all the code every few hours; we still find code that is dead/not tested/etc, which we fix
  • @rlengwinat: "Tests transform fear into boredom" - Eran Messeri from Google at
  • Messeri: "Push to Prod: post-submit triggers tests; separate method for bringing up systems in isolation; easy deploy UI
  • Messeri: "If code commit results in passed tests, we have confidence that it works and can be pushed into production to Google"
  • Messeri: "Google testing: integration tests on demand: your module connected to all reqd dependent services, hermtically seperated"
  • Messeri: "SAT Engrs will take big monolithic code, hack it up into little pieces, and mocked out; ex: selenium login pages
  • Messeri: "If your team has SAT engrs, it means that you're team is very big (100+ engrs), or shamed (not smart enough to automated themselves)
  • Messeri: "What we got right: getting started on the code base: new "checkout" and build; effortless testing; navigating around the code; "did that ever work?"
  • Messeri: "Happened to me: test failed: I had to dig, asked person responsible: 'oh, it's not being used; disable the test'; not good practice, but at least we detected it
  • Messeri: "What doesn't work: code review turn around time takes too long: forces batch size up (which makes it diff to review) (some say, 'no diffs more than 300 lines')
  • Messeri: "Cost of test creation & maint; mocks at different levels (class, module, system); creating hermetic tests is hard; sometimes needs specialists; resource consumption; churn (internal and external)
  • Messeri: "Resource consumption: we decided we don't need to run all the tests all the time; some tests triggered when things break
  • Messeri: "Stack-trace analysis of failing tests (and diffs); overcoming infrastructure failures; automated dead code detection
  • Messeri: "We have automated flakiness test detection: tests run multiple times, looking for diff results
  • Messeri: "Collaborating over one source tree is possible, but non-trivial; Basic CI tools are hard to build at such scale; reliable automated tests make life easy
  • Messeri: "Benefits of 1 repo: you can see all the code, you always get latest version (no coord reqd)"
  • Messeri: "Google uses customized version of Perforce; some use of git for local work, but pushed into Perforce for review
  • @mahler: »Nothing can replace good engineering citizenship« (not even at Google :-) )
  • Messeri: "Only once have I had to fix other people's code; usually, people step up and fix their code quickly"
  • Messeri: "For pushing hotfixes: you can cherry-pick tests to run
  • RT @rlengwinat: "Tests transform fear into boredom" - Eran Messeri from Google at
  • RT @mahler: »Nothing can replace good engineering citizenship« (not even at Google :-) )

Up: Gareth Rushgrove, "If Government can do it..." (@garethr)

  • .@garethr: "The processes in an org is based on what is possible (when the process was made); what is poss is changing all the time
  • .@garethr citing UK Government Service Design Manual; "It even has a definition of #DevOps in there"
  • .@garethr: "Q: how do you do rollback? A: we prefer to fix fw; we design apps to fail, so lots of fallbacks; most failures are fine
  • .@garethr: "Q: how do you handle branching w/multiple teams; A: we have many projs; but few teams doing code commits to proj; big prob is chgs to service interfaces; seldom; we're standardized on github
  • @rcastag: if Government can do it... @twirrim you'd really like this presi #gotoaar on the new gov.uk imementation
  • @tastapod: "DevOps is not the tools, it's not the developers, it's about the organisational processes." Nice distinction by @garethr at
  • .@RealGeneKim @garethr I like @joewalnes' approach to this. His team motto is "Onwards!" Always move forwards, never roll back. #gotoaar

  • @chadfowler: RT @malenerauhe: Chad Fowler Keynote 'How to become accomplished' #gotoaar http://t.co/qKOWR2TpjK

  • @GOTOcon: Videos from #gotoaar will be available short after the conference. Find them and subscribe to the GOTO channel here: http://t.co/7z96C3tDrs

  • @tastapod: "Go after the release process first. It won't be the easiest but it will be the most impactful." - @garethr talking about #GDS at

  • @_maxamg: "If Government can do it.." Enjoying #GDSTeam @garethr at #gotoaar talking about releasing 88 prod updates in 8days http://t.co/n1vKIuKzJb

  • @MikeAtherton: Someone get @kelvinhenney to speak at one of our UX events. Best UX psych speaker I've seen yet.

Misc

  • @Gshtrifork: RT @laurisvan: My personal #gotoAAR heureka moment: If you run and debug in a 20x faster environment than the target, you are bound to crea…
  • @laurisvan: My personal #gotoAAR heureka moment: If you run and debug in a 20x faster environment than the target, you are bound to create a slow app!
  • @aslamkhn: OMG, Erlang supervisor oe child process is killed and they restarts - just like that. No unix-fu.

Up: Ben Christansen, Netflix, "Functional Reactive Programming With RxJava" (@benjchristensen)

  • .@benjchristensen on stage, describing why "functional reactive fun
  • .@benjchristensen: "At Netflix, we use Clojure, Groovy, Scala, JRuby, Java8"
  • .@benjchristensen: "RxJava is our port of Rx.NET, written at Microsoft; Rx is Reactive Extensions"
  • .@benjchristensen: "Netflix: 37MM subscribers; 33% of peak internet traffic; 1 billion video hours/month consumed
  • .@benjchristensen: "Netflix API is facade to thousands of small services;
  • .@benjchristensen: "Probs running RESTful API running on Java; some devices req 12 network calls to render UI screen
  • .@benjchristensen: "Goal w/Rx: collapse 9 WAN network calls into 1 call, pushing 9 transactions behind Netflix API, reduce overhd
  • .@benjchristensen: "Needed nested, conditional, concurrent; needed anyone to do this, so Netflix API team wasn't bottleneck
  • .@benjchristensen: "Oner of API should retain control of concurrency behavior; wanted to avoid callbacks, other messiness
  • .@benjchristensen: "Value of asynchronous programming even got through my thick, imperative Java skull" (haha. cc @adrianco)
  • .@benjchristensen: "Iterable (pull) vs Observable (push); onNext(), onError(), onCompleted() reqd to be asynchronous

  • .@benjchristensen: "@runebjerregaard: Great private sponsor chat with @jezhumble at #gotoaar. Called me an idiot twice (in-directly) :-)

Misc

  • @erikcorry: @lbalker Clang slides are on http://t.co/Oy5KFkrGkn now
  • RT @johankjensen: “Passion is slowly renewable resource. If you do work which doesn't replenish it, you'll burn out.” –@chadfowler
  • RT @NativeWired: Food for thought: “Passion is a slowly renewable ressource - used quickly, rebuild slowly” @chadfowler
  • @erikcorry: #gotoaar @tastapod spreading the Unix lurve. Origin of the name dd! Find and grep, but ack-grep is where it's at now https://t.co/QuoTQJh2uF
  • @markmadsen: These aren't the databases you're looking for... #gotoaar http://t.co/IgoQrnOFO9
  • @andypiper: "dd stands for copy and convert. They wanted to call it cc but..." @tastapod
  • @maverix7: RT @andypiper: A history of databases… #gotoaar @markmadsen http://t.co/Z3ftyc6c4g
  • @MikeAtherton: RT @GOTOaar: Videos from #gotoaar will be available short after the conference. Find them and subscribe to the GOTO channel here: http://t.…
  • Haha! Happens to all of us. :) RT @runebjerregaard: Great chat w/@jezhumble at #gotoaar. Called me an idiot twice (in-directly) :-)
  • @jezhumble: @runebjerregaard sorry, I get emotional about continuous integration. I definitely said some practices were idiotic...
  • @MathildeHoeg: Making good talks better #love #gotoaar http://t.co/HnFKDVVF5V