Bath Ruby 4 - Janet Crawford - The Surprising Neuroscience of Gender Inequality

  • Not a coder, but a scientist
  • Will try to explain why the gender inequality in our industry exists
  • Messages growing up:
    • on the one hand message from rocket scientist father that being a scientist was a good goal for a woman
    • On the other hand, birthday gifts between her (clothing, crafting) and her brother (tinkering, electrical engineering) were very gendered
  • why does this happen? Why do parents make these choices (despite their actual values)
  • At university, message was: ‘because you don’t know soldering, you don’t belong on a physics degree
  • unconscious bias

Bath Ruby 3 - Courteney Ervin - Open Source For Your Benefit

  • self-love: take an active effort to love yourself, including strengths and weaknesses.
  • ‘should’ is this feeling of obligation and intimidation that prevents people from participating.
  • Give yourself permission to write open source code
  • Think about what your role is: what do you particularly want to get out of open source code.
    • Have code that you can show people (if your organisation’s code is 100% private)
    • to get to know a new tech by interacting with a real project that people will actually use
    • fixing a problem you really care about
    • working with/learning from developers you look up to

Bath Ruby 2 - Coraline Ada Ehmke: How Neo4j saved my relationship

  • “people should not be shits to each other online”
  • Relational databases are designed for backing forms
    • Not always the best way to store data
  • Graph theory - originated with Euler
  • Data suited to a graph db:
    • Where context is important - needed to understand the data

Bath Ruby 1: Xavier Riley - Rocking out in Ruby, a playful introduction to Sonic Pi

  • The first time you enjoyed writing code: it’s an important feeling - an important step on the way to becoming a programmer
  • Sonic Pi - cross-platform and preinstalled on every raspberry pi
  • API:
    • Synths
    • Samples
    • Effects
  • Uses Ruby internally - responds to RUBY_VERSION
  • Zero set-up: getting started is very quick, and the feedback loop is very small
  • Gold standard:
    • “If a 10 year old can’t use it and understand it, it’s not going in the API”
  • Default - all notes happen at time zero - to make a scale, put sleeps between the notes
  • The play command takes either a number (pitch) or a symbol (note name)
  • Synths - just a symbol saying what synth the following notes should be played through
  • Samples: Can be slowed down and sped up with a rate argument
  • use_sample_bpm - changes sleep 1 to be the length of one beat - means you don’t have to specify the length of the sleep
  • Live loops: continually plays and updates in realtime
  • play(scale :c, :minor_pentatonic).choose - random notes from a scale
  • Multiple live_loops in a program - each one is a thread and they’re in time with each other (!)
  • He learned to use it while studying for a music degree :)
  • 3000 words of tutorial - step by step through the whole thing
  • A ‘ring’ is an array which loops around.
  • A slice is a section of a sample - from a start time to an end time
  • Played the Mario theme with NES synths :D
  • Markov chains: train on some real music and it can generate similar music :D
  • There’s no concept of time in webservers - speed is all that matters. Music is a very different challenge. It’s a different interaction with code. You can edit code in a way similar to playing a musical instrument: responding to what’s happening in a direct way.

Checking Out Branches From Tig

I use tig for my git tree browser. My normal usage is to look at the the commit tree (normally viewing all branches with tig --all) but it’s a powerful tool with a lot of features, some of which I’m starting to integrate into my daily work.

Migrating From Octopress 2 to 3

I’ve just migrated this blog from Octopress 2 to 3 and since there doesn’t seem to be a definitive migration guide yet (and inspired by a similar post by @samwize) I wanted to share what I did.

Some tools for faster blogging in Octopress

I’ve been to a number of conferences and talks recently and I’ve developed a habit of live-blogging my notes: getting them up online as quickly as possible.

Execute ruby code inline in the editor

I’ve often wondered how in Ruby screencasts they magically execute code inline in the editor, e.g. they type:

Unboxed Event notes: "Unstick your digital products"

I’m at a speaker session from Unboxed consulting

Tim Nash at WordCamp London - Beyond Unit Tests

I’m at WordCamp London - live-blogging some of the talks