00:00:15.120
hey rubyconf um for those of you who don't already know me my name is carrie miller
00:00:20.800
i'm a lead developer at blue box group we have a table in the vendor booth i'm
00:00:25.840
obligated to mention that failure for fun and profit is the title of my talk and uh
00:00:31.920
i thought i was being ironic when i named it fun and profit and i saw there were three other talks named that
00:00:37.040
um it's kind of a silly title really because i'm not really gonna be talking about failure
00:00:42.480
and i'm only tangentially going to be talking about profit what i am going to talk a lot about is
00:00:47.680
having fun and how you go about that
00:00:52.960
failure isn't fun at all and none of us really want to fail and let's expect to fail
00:00:58.399
yeah we take risks every day it's really important for these for us to take these risks because
00:01:04.879
that is really the only way that we ever learn anything by pushing our boundaries and seeing where the edges of our knowledge
00:01:10.840
are if you're not making an absolutely glorious exhilarating mess of your code
00:01:15.920
on a nearly daily basis you're not really progressing your knowledge you're getting to done but you're not
00:01:22.240
expanding nazir dean said that good ideas come from experience and experience comes
00:01:28.400
from bad ideas so go have some bad ideas get some experience
00:01:34.960
it sounds a lot to me like the scientific method
00:01:40.000
we're not acting like scientists we're not really pushing these boundaries we're not creating a hypothesis
00:01:46.000
we're certainly not testing anything and we're never actually really adjusting our results to account for the new information that we have
00:01:53.200
the scientific method also also is the agile cycle as well
00:02:00.640
the real purpose of the scientific method is to make sure that nature hasn't misled you into thinking something
00:02:06.000
into thinking you know something you don't actually know robert priscick said that in zen in the air of motorcycle maintenance
00:02:14.400
and it was really this book that got me back into programming after five years stint to amazon i took
00:02:20.560
two years off and became a poker player and i didn't really know how i wanted to
00:02:26.160
proceed i was stuck i was absolutely stuck i wasn't having any fun
00:02:32.480
then i realized that i could know anything i want to know i merely have to approach it in the right way
00:02:39.360
you need to ask questions that you think that you have answers to already in order to validate that information to
00:02:44.560
see that the world hasn't changed out from underneath you i mentioned being a poker player i have
00:02:50.800
a few other hobbies i uh was a sous chef briefly
00:02:56.400
i'm a long distance hiker i spent a year and a half as a marionette puppeteer i fix uh vintage vespas i'm a
00:03:04.080
self-representing glass artist which means i get a check from etsy every week it's usually single digits but that's
00:03:09.440
okay i put that up there not to say like how
00:03:14.640
cool i am because i think my hair shows that off pretty well but the point is that
00:03:20.480
consistently i've always struggled with being a novice with being completely out of my depth and not knowing what i'm
00:03:25.519
doing and so often i see people struggling against the same exact
00:03:31.280
problems how do i progress forward how do i learn something getting stuck on problems for weeks at a
00:03:36.959
time the experience of being outside of your element
00:03:42.000
is scary it's intimidating and in the end it's absolutely thrilling
00:03:47.040
you need to find that fun in that moment mihai she sent me how he said
00:03:53.040
not all experiences may be particularly pleasurable at the time they're taking place but afterward we think back on them and
00:03:59.920
we wonder why they last what was really fun about that moment we wish they would happen again
00:04:07.200
an enjoyable event we know has changed us and ourselves has grown
00:04:15.680
why do we stress about learning why do we stress about not knowing what we know and not knowing what we don't know
00:04:22.320
around the cellular moment there it's difficult to look foolish in front of peers
00:04:29.280
on github or twitter and we don't certainly don't want to look foolish in front of ourselves
00:04:36.080
it's scary territory to find ourselves in but inside of all of us there's a reason
00:04:41.199
why we got into this field to begin with because we wanted to solve a problem because there was something interesting
00:04:46.240
to do i think we also all remember being children on a playground at some point
00:04:52.400
and none of us really knows or cares how many games of tag we want or lost but we had fun while we were doing it
00:04:58.880
so why can't we have that fun with our work really it's the risk
00:05:06.639
it's the risk of failure it's the fear of it all if you want to learn something new
00:05:12.560
reduce that risk take away that fear redefine failure
00:05:18.880
into a data point rather than an event that happens to you
00:05:24.080
find the excitement that got you into this begin with go back to being a kid on the playground
00:05:33.360
so what i want to talk to you right now about though is how i became a pool shark in about a
00:05:38.639
week
00:05:46.880
when i showed up at blue box i immediately saw that we had ping pong tables
00:05:52.560
kegerators and a pool table and now i love pool and i did mention i was a poker player for a
00:05:58.720
while so i spent a lot of time sitting around at green tables uh betting money on cards and listening
00:06:06.319
people talk about golf or sports betting and pool and classically being a pool
00:06:12.639
hustler and a poker hustler go together right so obviously i have to go become a pool a pool hustler
00:06:19.039
it didn't really work out that way um i played a lot of pool sometimes for money um
00:06:24.880
but it was never very good um six months ago if you saw me to bar and
00:06:30.000
you challenged me to game of pool you're going to win that simple
00:06:35.039
so the first time i showed up at blue box i said hey come on over here play game of calvin pool
00:06:41.840
calvin pool what's that i mean i know eight ball i know nine ball i know cutthroat
00:06:48.160
is a game that our principal technologist invented with his brother when they were kids and they were bored one afternoon in a basement
00:06:54.560
the rules of calvin ball are really really simple when it's your turn your opponent picks
00:06:59.680
out the ball that you have to hit that's it you have to shoot the cue ball hit the ball your opponent chose for you
00:07:06.319
that's it you don't have to sink it you don't do any magic you don't care the next shot's gonna be just as hard
00:07:12.240
it's absolutely amazing it's so much fun i can't even tell you
00:07:20.000
i got better really really fast i lost the first five or six games yeah but i got really good i was holding my own
00:07:26.880
and made some impressive shots people don't want to play cabin pull with me anymore
00:07:32.639
that went on for about a week and a half and i went out with friends and someone
00:07:37.759
said hey let's play pool cool so i broke ball went in so it's still my
00:07:43.680
turn i sink another one another one another one and i ran the entire table
00:07:50.240
i don't know if you know this or not but if you sink all the balls in a full game before your opponent even hits one
00:07:55.280
that's that's pretty impressive so that's another game people won't play
00:08:00.400
with me calvin ball or calvin pool is a great
00:08:07.199
demonstration of how we redefine failure i was forced to make these impossible shots over and over and over again and
00:08:14.080
no one ever expected me to make it and even if i didn't make it big deal it's my opponent's turn i get to screw them
00:08:20.560
that's wonderful i could try anything i wanted to i could try a crazy hop shot i could put english on the ball and see
00:08:26.160
how it reacts i could do multi-cushion shots it simply didn't matter i was free to explore side effects i was
00:08:33.279
free to try the most insane thing possible
00:08:38.959
learning a new programming technique for me is just like that i challenge myself to learn through exploration and trial
00:08:45.760
to have fun with it to define it down until i'm just learning the one thing that i want to learn
00:08:51.440
i do it over and over again i practice i don't warm up i push the edges
00:09:01.040
so why does taking this emphasis off of stress and failure actually work for our brains
00:09:08.000
you're probably familiar with the left brain right blind spray left brain right brain split
00:09:14.000
the left brain controlling math and logic right brain controls art music language
00:09:19.920
in general this is pretty accurate it's a little more complicated than that but it's a good model
00:09:26.000
the size of our brains are really delicately balanced it's difficult to use logic and pain in picture it's difficult to
00:09:32.399
write a poem and do quadratic equations you can focus on the shot in front of you or you can
00:09:38.240
worry about how you get home from the pool hall learning requires both of these kinds of thinking though
00:09:44.640
you need to have imagination and reasoning learning in a platonic or socratic sense is the
00:09:50.959
discovery of truth you take two abstract ideas and you make a connection
00:09:56.160
and then you integrate that reality into your perceptions of the world around you
00:10:01.600
you rewrite the algorithms that your brain uses to perceive reality
00:10:08.560
cognitive scientists working with chimps we're testing how these chimps reacted to stress by
00:10:14.640
stressing out one group of chimps really badly you know turning the lights on and off changing the temperature kind
00:10:20.640
of being a little mean to them and the other group of chimps are really well treated given their favorite bananas and fruits and everything
00:10:28.399
then they're presented with a pattern of dots on a card and given a treat whenever they could pick that pattern out again from a series of patterns of
00:10:34.959
similar dots that are shown on a screen slowly
00:10:40.320
scientists would introduce variants on the original and reward them for picking those out as well
00:10:46.399
the groups performed equally well at doing this task it's pretty standard scientists were
00:10:51.600
whatever they took a break they came back two months later and reran the experiment
00:10:58.480
the relaxed chimps the chimps that were given the really great environment they picked it up like that they knew
00:11:03.680
exactly what was going on the gyms who were stressed out they couldn't remember that they were
00:11:09.200
going to get rewarded for performing this task
00:11:14.399
rats going through mazes are have similar effects as well and scientists have isolated this effect down
00:11:20.320
small amounts of stress before excuse me small amounts of stress before we succeed
00:11:26.320
lead to long-term lasting memories of that success while large doses of stress the kind
00:11:32.800
that you get when you're just like sitting around for days at a time eating bland oatmeal and having lights turned on and off
00:11:39.200
that's horrible for forming happy memories when stressed the brain prioritizes the
00:11:45.040
here and the now for survival it engages the fight or flight response stress hormones flood the brain to
00:11:51.519
increase our response time and that doesn't allow our brains to process the feeling of this was good which is
00:11:58.000
required for setting up abstract memories
00:12:08.240
so calvin ball did exactly this it removed all of the stress all of the risks involved
00:12:14.079
and put the emphasis on having a great time having a beer after work shooting a little pool
00:12:19.920
everyone's expected to fail and we're trying to be mean to each other it's all part of the fun and we have an escape valve we can leave that game at any time
00:12:27.839
when we're stressed at work we can't leave we simply can't just get walk out in the
00:12:32.880
middle of a hard problem for our brains this kind of control this
00:12:38.320
kind of lack of pressure is really really powerful we seem to be wired to learn stronger
00:12:44.880
memories more quickly from fun exciting stimulating environments that we are from stressful ones
00:12:50.480
we're designed by nature to flourish through play in fact we're one of the only social animals that has a hierarchy structure
00:12:58.079
that encourages play outside of childhood and adolescence wolves
00:13:04.160
will uh whales tigers lions they all have play as
00:13:09.519
children where the normal rules don't apply but as adults they become very strict societies we don't have that our brains
00:13:16.880
remain plastic well into our old age engaging this kind of play appears to be
00:13:22.880
critical for the development of the brain and continual learning
00:13:31.760
john heizinga was a dutch philosopher a cognitive linguist a cultural theorist
00:13:37.120
a little bit of physiologist and he actually taught art history as well he was he did most of his work in the
00:13:43.360
early 20th century and in 1938 he wrote this really super influential book called homo ludens or
00:13:49.040
man at play in which he posited that the act of playing is an event which occurs within
00:13:54.720
a specific boundary of space and time in which the normal rules of life don't apply
00:14:00.399
play is done for its own sake and we play because it is fun play begins and then a specific time it
00:14:07.199
ends and this sort of pulling ourselves out pulling our brain
00:14:12.320
out of the everyday world creates an outlying event that takes on significance
00:14:24.160
so if we want to create specific memories that are static and
00:14:31.040
stay longer than just the hum drum every day did you take the bus did you get coffee this morning
00:14:38.000
we have to encourage this sort of play we have to give ourselves space to play we have to give ourselves space to fail
00:14:44.720
we have to take these glorious risks we need to minimize intrusion and distractions the things that pull us
00:14:50.880
back to our normal world when i'm trying to learn something new i go to the pacific science center in seattle or the aquarium where they have
00:14:57.120
wi-fi and i just sit down there and look at octopi float by or the laser show
00:15:02.800
not because you know the bandwidth is any better where it's less distracting but because it's different and it takes me out of
00:15:09.199
the normal reality that i have we also need a lot of time to learn
00:15:15.440
things which is unfortunate but if we can give ourselves a solid block of time to say this is different
00:15:22.800
this place and this time is separate from our reality to truly explore these side effects we
00:15:29.680
can sandbox and reduce the risk to ourselves if we actually do fail
00:15:36.560
we need a lot of courage we need to give presentations at conferences
00:15:43.279
we need to rock climb we need to use a different version of ruby
00:15:49.440
so much of our daily life requires us to be domain experts and to find like the exact precise
00:15:55.440
solution to a problem because a client is on the phone or there's a deadline or there's some kind of pressure and
00:16:00.720
something's on fire everything can be a threat then and will never get past just getting done to
00:16:07.680
really integrate the knowledge if we create the play space we create
00:16:13.120
new rules and we need to embrace them we need to be confident that what we're doing in this time and place
00:16:19.600
is normal and it's okay even if we're acting as children as novices
00:16:27.199
so i'm a liberal arts major i actually have two bachelor's degrees both in liberal arts so this is a really familiar slide to me
00:16:34.839
and if you are at all familiar with well western storytelling at all you
00:16:41.279
know about the heroes myth this is the joseph campbell carl jung
00:16:47.040
exploration of what does this what is a story in western society
00:16:52.160
we start with a hero who's in a place of known their little village their little town
00:16:58.079
something propels them outwards there's a problem there is a giant beanstalk that's growing up into
00:17:04.240
the sky something challenges them and they have to face a crisis
00:17:09.520
the giants coming home early they get a gift
00:17:15.679
of some sort and then they return to their normality they come home with the golden harp or the goose that lays the golden egg
00:17:22.000
and they're forever changed by that experience their world has been expanded something is new
00:17:29.520
this guy he's just having dinner one night and these guys show up
00:17:36.320
and say you're hired cool and then we face some trials
00:17:43.600
and then there's you know some challenges and riddles and puzzles to solve
00:17:48.880
and there's a magical gift and then we return home and everything's different
00:17:54.640
and the cycle continues learning is like this learning is a
00:17:59.760
heroic act in which we're voyaging out into the unknown and we're seizing fire of knowledge we are prometheus in this
00:18:05.520
moment and we can be burned by that or we can face it down and we can
00:18:11.440
integrate it and have fun with it and be playful so what abysses are there what is the
00:18:18.000
unknown that what are we afraid of this is pretty bad
00:18:27.280
when we're afraid our brain can make we can find distraction in anything when i start with an empty screen with
00:18:33.840
no distractions that's pretty cool i've shut down twitter obviously
00:18:39.919
everything is gone everything's quiet it's nice my local library
00:18:46.799
got my noise cancelling headphones on maybe a little skrillex just a little bit
00:18:52.559
this starts what am i doing too what do i what i want to learn
00:18:58.640
oh well i want to learn tdd i want to do this jruby looks cool where do i start
00:19:04.000
what do i do i have a pull request i gotta review
00:19:09.200
and i've got i got a wedding i'm planning for i should send an email about that
00:19:14.559
this happens to all of us this is our brain trying to distract us our brain is
00:19:19.760
afraid fight or flight is starting to kick in it's pulling us away it's saying this is
00:19:24.960
a scary place that we're in we could fail what if i write bad code what if i don't write any code i've just wasted an hour
00:19:31.039
i could have been productive i could have billable hours right now why am i doing this
00:19:40.400
if you give yourself time to get past this if you can be courageous and humorous about this
00:19:47.440
you can you can actually watch your own brain trying to like self-destruct and implode
00:19:53.200
and then eventually it'll pass and you'll be able to get on with your creativity and you're learning
00:20:01.440
so you limit your distractions you set aside time for yourself you step outside of your normal constraints and you're
00:20:06.880
all set and you know what you want to study you're seeking this passionate moment of knowledge of the heavens to open up an
00:20:13.200
idea to strike you or a piece of knowledge aha i know this this is awesome we've all had that moment where you you
00:20:19.760
suddenly you're looking at code you're like oh my god how this works or i understand maglev i understand why this
00:20:24.799
would be great and i know how to use it what we're seeking is called an aesthetic experience
00:20:31.840
sir ken robinson is an educational reformer in the uk and he uh coined the phrase
00:20:37.360
aesthetic experience and defines it as one in which your senses are operating at their peak when you're present in the
00:20:43.039
current moment when you're resonating with the excitement of the thing in which you are experienced
00:20:48.640
when you are truly and fully alive that is an amazing place to be we've all been there it's called flow
00:20:58.080
me i chicken sent me high said that flow is the enjoyment that appears at the boundary between boredom and anxiety
00:21:04.000
when challenges are balanced with our capacity to act
00:21:09.120
in trying to have an aesthetic experience we walk this balance beam between anxiety and boredom
00:21:15.200
we're pursuing flow constantly we don't have control over our skill
00:21:21.520
here we have no skill we're at the we're at the far left maybe over by the s depending on what
00:21:26.960
we're learning what we can control is we can control the challenge though
00:21:33.919
in a pool table excuse me at a pool tournament you stare at the table and you try to figure out the shot
00:21:41.039
all the various complexities that are coming into play where's the cue ball going to end up is this going to crew
00:21:46.159
off am i going to end up with a scratch am i shooting at the right ball even oh my god it's a solid but it's the eight
00:21:52.480
ball where's the money going to come if i lose this match in calvin ball the entire set of options
00:21:59.440
were narrowed down all the variables are removed except for make this one shot why can't we do that with learning
00:22:10.080
we have too many options sometimes we have far too many choices i want to build an awesome dagobah
00:22:16.400
playset so i go to the lego store where do i start
00:22:23.919
i didn't get into ruby for about six months because i couldn't get my sql support to compile
00:22:30.240
couldn't do it and i was hellbent that i was going to use mysql that's the only way it's going to be and i let that stop
00:22:35.440
me because i got caught up in the choice of technology i went down the rat hole of so many of us go to what do i what do i
00:22:41.679
name my gem man like what's what's gonna be cool is their twitter account for it oh it scans okay
00:22:48.480
shoot i think it's something else what's on tv that pull request is still waiting
00:22:54.720
these things like really really knock us off key so we gotta define we got to find some
00:23:00.799
limits for ourselves we got to pick an unfamiliar technique
00:23:06.080
we want to find something that we're unfamiliar with if you're doing something normal every
00:23:11.280
day humdrum try hamel a little bit instead of erb
00:23:17.039
maybe you want to use redis instead of you want to try and make life hard for
00:23:22.320
yourself but not too hard you want to stretch you don't want to break you want to find what's just out of your
00:23:28.000
reach and grasp it
00:23:34.240
this gets into deconstruction of problems we want to break the problem down to the smallest possible pieces and remove
00:23:40.480
those variables find a simple and obvious task that you understand
00:23:45.919
and just solve it then solve it again but do it differently with a different technology
00:23:52.799
or redefine the problem but taking a pro taking the problem apart
00:23:58.080
the technology that you want to learn you're going to be able to find divergent thinking alternative ways to
00:24:03.520
get to that solution
00:24:08.799
you're going to be able to see how those techniques really really apply to getting you to done
00:24:15.200
and be able to compare from version to version exactly how they influence your path in your journey from start to
00:24:21.120
finish and that will allow you to really integrate that knowledge and bring it forward
00:24:31.279
this is a user case that i use when i'm doing mentoring or working with people after they go through railsbridge
00:24:37.440
this is a really simple user case it's disturbingly easy
00:24:45.120
i've actually gotten into interviews it takes two minutes of googling to get the algorithm two more minutes you're going to find a repo full of eight
00:24:51.279
different ways to solve it for 20 different languages you're going to find arguments about what the most efficient
00:24:56.480
way to do it is why you need to do it we don't really actually want to solve this
00:25:01.679
problem we want to focus on how we solve it we want to pick a variety of ways to get
00:25:07.760
from start to finish and see how it changes our path
00:25:15.039
these are six different ways that i've actually solved this problem and each of them gave me something new to solve
00:25:21.120
a new area of technology to explore have they figured out the base user case of temperature conversion doesn't matter
00:25:27.840
it doesn't matter what matters was i made it a gem cool i learned a little bit about how bundler works
00:25:33.919
so then i did it with jeweler i could see how these different tools affected my workflow and the final
00:25:40.799
product it's easier to have a detached approach when you make you use these simple
00:25:48.159
simple problems the focus of what you're trying to do
00:25:53.840
make an exhaustive list of everything you might do and the last thing on your list is what you should do
00:26:01.520
which is a paraphrasing of the oblique strategies cards from brian eno and peter schmidt
00:26:07.679
your 55 cards the two of them came up with well you know was recording an album and schmidt was there
00:26:12.720
painting away in the studio it's what you did in the 70s some of the cards are things like
00:26:20.159
use an old idea emphasize the flaws work at a different speed
00:26:25.600
what would your closest friend do i have a set of these
00:26:31.679
that are more specific to technology and i use them when i'm stuck when i don't have an idea
00:26:37.279
or when i want to i want to solve these little tiny problems but i don't know what i want to do i'm out of ideas
00:26:44.000
so what would my closest friend do how would he solve temperature conversion
00:26:49.600
it's kind of interesting could i write code that looks exactly like his so he wouldn't even know if he pulled my code
00:26:55.279
into his project things like that sort of propel you forward and make you think about the
00:27:00.480
problem because ultimately what we're doing is we're building models we're building these little toys
00:27:06.400
that are fun and exciting to play with or they should be we don't really care if they break we're
00:27:11.520
kids in the sandbox with our toys we've got greedo over here and princess leia and they're flying in a tie fighter and
00:27:18.320
they're going to somehow shoot down millennium falcon and that's okay because it's just fun
00:27:25.440
at some point though with childhood toys we did start to care because they became valuable or they
00:27:30.559
took on emotional significance and so these little toy problems that we should be building and we should be
00:27:35.919
playing with similarly sometimes take on a little bit of value because we start to see like
00:27:41.120
yeah i solved that problem really really well and now i want to do something with it at work because i have a i have a need
00:27:46.720
to convert temperatures you know maybe the fans on our servers
00:27:52.000
only respond at celsius and all of our code works on fahrenheit well then it becomes collectible
00:27:58.399
you can put it on the shelf like a toy and stop playing with it let it collect dust hopefully rise in value
00:28:05.600
our version of that is of course putting on github seeing what happens it might collect dust someone else might find value in it
00:28:12.799
but we should show it to our peers we'd say hey what do you think of this problem what do you think is a solution
00:28:19.760
is this interesting to you at all
00:28:26.000
so that's what i did with fizzbuzz everybody know fistbuzz
00:28:31.679
anybody not know fizzbuzz no fear fizzbuzz is an interviewing question
00:28:37.039
that got really popular about three years ago we take the numbers one to 100
00:28:42.240
and print them in order if the number is divisible by three print fizz if it's divisible by zero uh
00:28:48.159
five print buzz if it's divisible by three and five print fizzbuzz
00:28:53.600
it's really interesting but it's a really fascinating interview question or at least it used to be before everybody knew about it
00:28:59.760
and i thought it's heyday had come and gone and i interviewed a company i got asked the question and i was like oh weird so
00:29:07.039
i solved it and there's a couple little tricks you know i got past it and i interviewed enough for another
00:29:12.640
senior dev position i got asked it again if you ask it four separate times in two weeks i'm like man this is a horrible question
00:29:18.880
this is like man why are made how cool man hole covers round you know everybody knows the solution why are we bothering
00:29:26.159
so i was here in bolt i was in boulder actually and complaining about it and if my friend said
00:29:31.360
why don't you just solve it once and for all and then you can like put the url in a business card and say
00:29:36.640
next question so i did and i had a laugh you know and i posted
00:29:42.799
on twitter now announcing fizzbuzz0.1 that was fun i went uh i went into work the next
00:29:49.039
morning and one of my dads came to me like you know that's pretty cool but you got a bug oh crap that was super
00:29:55.840
embarrassing so i released version zero two um that's funny you know you released the
00:30:01.760
second version of your joke jam it's on version zero five right now
00:30:09.120
zero six is going to go out next week it's got a full test suite i ripped it down and rewrote it with mini test for
00:30:15.279
zero four uh it works on all these versions of ruby it's got travis ci code climate builds
00:30:22.080
in well not built into it but you know it uses it
00:30:27.120
wonderful wonderful code metrics and benchmarks and timing graphs to show you that zero five is awesome zero six is
00:30:32.159
even faster it's mixed in i've done some really wild flights of fancy with it
00:30:39.200
and that's fun because i have all the joy of fsbos now
00:30:45.520
and of course so do you because fizzbuzz.io is the world's first
00:30:50.960
fizzbuzz api i don't care what twitter says it cost me 79. and i'm proud of it
00:30:58.240
but you can get your fsbos results in json or xml or html of course i don't know why you'd
00:31:05.039
want to because it's a service so that's funny
00:31:11.440
but there's more
00:31:19.200
yeah so i had to go learn facebook logins that was a pain so i did it for fizzbuzz
00:31:25.120
um there's this version will uh pass this out using aqmp to ec2 instances to
00:31:31.120
process fizbo's results it doesn't matter it doesn't matter that it's just dividing by three or five or
00:31:36.720
fifteen it doesn't matter what mattered was how do you use a message queue
00:31:41.840
how do you spin up a ec2 instance and then process it works with twitter it's got its own
00:31:48.080
twitter account i managed to get that it's got sms and email delivery built in
00:31:53.440
it's great so you can actually send me your fsb's results i better turn that off
00:32:01.360
again each of these was an experiment each of these was a spike in the traditional sense not a
00:32:07.440
spike of let's work really hard for a day and turn out some project but let's spike let's just do something and see
00:32:13.200
what are the effects you know what is what does this technology mean for our legacy code base or or the greenfield project we're
00:32:19.679
working on we're going to throw it away so we don't care about the execution what we care about is the path and the journey and
00:32:26.240
the knowledge that we gain along the way we care about the gifts that we get from gollum and how we're changed when we get
00:32:32.880
back to our village so not everybody has time for this a lot
00:32:39.120
of us are really super busy we have projects and clients and maybe we're searching for jobs and we're going
00:32:44.559
to school that's okay there's other ways to to supercharge your learning besides doing something funny
00:32:50.880
pair programming is amazing for this i don't pair program enough i don't get to as much as i'd like to
00:32:58.080
but every single time i do i learn something new and when i do i write it down on a
00:33:03.600
separate little post-it note so that when i can get back to my desk i can go read a man page
00:33:09.279
i saw somebody use git re-re-re yesterday or earlier last week anyone
00:33:14.720
get re-ruby re-rebase
00:33:20.000
weird replay re replay record replay rebase
00:33:26.399
it's an amazing command but i would never have found out about that i found weird flags on corep i've been using
00:33:32.399
grep for almost 20 years you know where did that come from
00:33:40.000
as i said i do actually teach at railsbridge quite a bit and
00:33:46.480
young women always come up to me and say you know i want to get a job i'm just a student what do i do next i don't have
00:33:52.000
anything to show people want to see my github account experience developers do this too
00:33:57.360
especially if you're working in a closed source shop well go adopt a gem
00:34:03.039
go find somebody else's fizzbuzz hands off mine but go find somebody somebody posted a
00:34:08.480
zero one or zero two of some passion project that doesn't do anything that's 300 lines of code and
00:34:13.520
it doesn't do anything except print herp dirt it doesn't matter go find you can find something to re to
00:34:19.359
refactor about i know you can or add tests for it or
00:34:24.399
something write it in a different language but do it and then send it back to them as a pull request
00:34:29.839
you'll have made their day you'll make it you might make a friend an internet friend maybe but you're going
00:34:36.399
to learn so much about seeing somebody else's code and working with it
00:34:41.919
the other thing i really encourage you to do is teach go teach something go teach something to
00:34:48.079
someone else who doesn't know it i mean like don't grab somebody and like i'll teach you something do not come find me and tell you know
00:34:54.399
try to teach me something important like how to speak at conferences teaching acts as a focusing lens it's
00:35:00.960
exactly like rubber ducking and the reason that it works is we have all these abstract
00:35:06.480
logical ideas in our head about how programming works about how computers talk to each other and as soon as you have to engage in the
00:35:12.800
person you're flipping over to the right side of your brain where all the empathy and social cues and language are
00:35:20.320
you're trying you're taking this logical thing you're turning into an abstract thing in that process you'll be like
00:35:26.320
i don't know how to explain this i lack the language and you're going to learn a lot by the questions that the
00:35:31.599
novice asks you far more than you're going to get by doing the same commands over and over
00:35:37.200
again
00:35:42.480
two other things that i don't have slides for that i really really uh tell people to do is uh
00:35:48.800
go to a study group find people online to like go through ruby cohen's with you
00:35:55.200
i'm starting a group in seattle for project euler problems where
00:36:00.400
we each fork a repo and then we submit at the end of the week this is my solution to this
00:36:06.240
mathematical problem how many people are familiar with
00:36:11.520
project euler some of you okay it's a set of a few hundred mathematical problems and the
00:36:17.599
goal is to basically solve them in the most efficient way possible but i can say
00:36:23.599
hey here's my solution and i can see yours go oh yeah mine sucks or maybe we'll have a
00:36:30.160
maybe ours are both equally performing but in different ways and so i'm going to learn a technique from you and you're going to learn technique for me we're
00:36:35.520
going to have a conversation it's not only good for us as individuals but it's good for us
00:36:40.960
together and it's how we start to build that community and keep that community going
00:36:46.640
the other idea in that is to start a book group um it's a little oprish but there's
00:36:52.960
something really great about reading a book like goose or sandy metz's practical object oriented ruby
00:36:58.960
go read it and come together in two weeks and talk about it
00:37:14.240
because ultimately this quote is the point chuck close said this he was a photographer in new york city is a
00:37:20.480
photographer i suppose he's done some amazing work and he speaks quite a bit about inspiration we need to get his
00:37:25.520
inspiration and i first came across this quote because i said i said to a boss i'm just not
00:37:31.839
inspired to work on this project and he looked right in these inspirations for amateurs and he walked away i was like
00:37:37.359
oh so sad and i looked it up later because i thought he was a genius
00:37:43.280
and finally just stole the quote inspirations for amateurs the rest of us just show up and get to work
00:37:50.320
when you do the work you will become ready for when inspiration does strike you
00:37:56.720
if you just sit around waiting for a great idea to write in jruby or how you're going to rework
00:38:03.599
with ruby 2o and rails 4. you're not going to be ready for it
00:38:09.839
you're not going to have the skills to actuate your ideas and most inspiration actually comes from
00:38:16.400
when we are doing something and we start to see these connections between these concrete things because that's how humans learn
00:38:22.960
we know hot things burn us we know that pots are hot ergo
00:38:28.079
pots burn us two concrete things two concrete facts that we know connected by an abstract
00:38:34.079
connection because ultimately
00:38:40.800
that's what it's about humans are the ones that look out and say what's there
00:38:47.359
we're the ones that say yes but what's next where do i go from here
00:38:52.800
what's around the corner what's over that horizon
00:38:58.480
if we just stay in our safe place if we just stay on the shores of our knowledge if we never set set
00:39:04.960
forth and find out are there actually dragons there on the map then we're never
00:39:10.079
really gonna know are we
00:39:15.520
so that's me um it's
00:39:22.160
been fun thank you very much
00:39:58.240
you