Opensource Survival Guide

  • @blowmage
  • Slides
  • 3 types of users
    • maintainers
      • typically at mastery level
    • collaborators
    • consumers
  • Dreyfus Model of Skill Acquisition
    • novice
      • rigid adherence to rules, rote recetitation
    • competence
      • situational perception, all work equal important
    • proficiency
      • coping with crowdedness (more things than able to do)
      • actions in relation to goals
      • planning, routines
    • expertise
      • holistic view
      • prioritization
      • own path
    • mastery
      • trancend reliance on rules, guidelines
      • deep, tacit understanding
      • based on experience, instinct
      • what is possible
      • analytical approach
  • documentation
    • readme
    • rubydoc.info
    • guides
    • screencasts
    • examples
  • can typically teach down 1 or 2 levels from current
    • just hard to know context/view
    • effort to do whatever documentation possible, so each level can continue
  • encouraging contrib
    • add a CONTRIBUTING file, and explain setting up dev env, contacting maintainers, running tests, code conventions/style requirements, etc
    • rubocop, CI, issue labels (help wanted, easy, docs, etc)
    • vagrant/docker
    • beginner friendly usergroups
      • LA ROR study groups?
  • communication
    • remote, different skills. technical writing, tone
    • “The Box” - Leadership and Self Deception (book)
      • self-deception

Thoughts

  • applies to any team
  • concentration on not justifying
  • step outside box, reconsider situation
  • be truthful
  • pairing - screenhero
  • encourage team to contrib opensource - learn how to contribute (get over intimidation as a group)
  • RubyTogether - official 501c6 trade org - support OSS

Including People

  • @indirect - Andre Arko
  • ruby weird reputation of sexist dudebros?
    • old reputation, maybe from early rails?
  • not diversity, inclusion
  • bias and exclusion problem
  • https://jacobian.org/writing/great-documentation/
  • How to include
    • Code of Conduct
    • docs (dev and end user)
    • issue acceptance
    • support is voice of users
  • how to involve contributors
    • ask people for help
    • pairing
    • ask lots of questions, be honest about whats hard
  • respect and empathy

Thoughts

  • similar to the first talk, but still good
  • more of an experience based talk. Andre works on Bundler

Orbits

  • @habitmelon
  • Slides
  • Code
  • Geometry rules define space
  • Model Universe, Rules, Objects
  • Can model 2 body but not 3

Thoughts

  • Lots of the math of vectors, etc, explaining what the ruby ended up being
  • links have the code, which is pushing to a websocket server for realtime position rendering. Kind of a fun idea

Choices

  • @erniemiller
  • LivingSocial alums
  • interactive presentation (websocket omg)
    • users make choices, changes the preso
  • choices have consequences
  • loss aversion
  • easy to get distracted from important choices
  • intentionality - choose your choices.
  • github.com/ernie/venture

Thoughts

  • good think-piece on making choices
  • could be very interesting elixir code

Writing a test framework from scratch

  • @the_zenspider
  • github/zenspider
  • Code
  • microtest - walk through quick test runner
  • Done > Good - can make good later
  • good walkthrough of refining an idea

Thoughts

  • pretty quick walkthrough of how minitest works, how test framework works

Self teaching for developers

  • Aja Hammerly
  • @thagomizer_rb - github/thagomizer
  • learn
  • learn hard stuff
  • ‘thinky’ stuff - ideas not skills
  • build scaffolds for learning more
  • MOOCS - online courses
    • coursera, itunesU, etc
    • video, forums, homework, quizzes, tests, structured, vetted. time consuming, feel like school
    • read the syllabus
    • be realistic about time
  • Study Groups
  • rosalind, exercism, project euler
  • books
    • exercises
    • onine content
    • Elements of Computing Systems - Nisan and Shocken
    • Clause and Efect - Clocksin
    • The Pragmatic Programmer - Hunt and Thomas
  • talks
    • prolog
    • teach right after/during learnings
    • do talks, meet people, get jobs
    • tips: topic, you want to give. keep simple.
  • hack week
    • team building
    • protyping
  • learning time
    • read, hack, watch video
    • dedicated time

Thoughts

  • good ideas for team building, projects, etc
  • also for personal learning