There's Nothing. New under the sun

Video in TIB AV-Portal: There's Nothing. New under the sun

Formal Metadata

There's Nothing. New under the sun
Title of Series
Number of Parts
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Quick: say something about Ruby that hasn't already been said. Not easy, right? This community is prolific. In thousands of talks, Ruby's story has been told and retold. We heralded programmer happiness, path of least surprise, and confident code. We unleashed metaprogramming (until we tamed our DSLs). We built apps, tested them to death, and then legacy-rescued them. What's left to say? We could tell the same stories again, but that wouldn't be very DRY. What we need to hear was often said years ago, so this talk will help us rediscover timeless lessons from our community's greatest hits.
Trail Default (computer science) Programmer (hardware) Presentation of a group Implementation Blog Virtual machine Special unitary group Bit XML
Programmer (hardware) Optical disc drive Dependent and independent variables Presentation of a group Word Multiplication sign Bit Mereology Mereology
Programming language Default (computer science) Open source Code Software developer Multiplication sign Weight Shared memory Bit Online help Extreme programming Line (geometry) Perturbation theory Perspective (visual) Hand fan 2 (number) Web 2.0 Data management Process (computing) Algebraic closure Software framework Convex set Software testing
Axiom of choice Web 2.0 Point (geometry) Group action Word Process (computing) Orientation (vector space) Software framework Capability Maturity Model
Computer icon Email Context awareness Walsh function Programmable read-only memory Twitter Cache (computing) Error message Perpetual motion Blog Blog Configuration space Data conversion Videoconferencing Pressure Message passing
Uniform resource locator Word Touchscreen Blog Source code Resultant Formal language
Speech synthesis God Power (physics)
Adventure game Web service Process (computing) Web service Operator (mathematics) Adventure game Electronic program guide Bookmark (World Wide Web) Theory Formal language
Email Game controller Email Shift operator Software developer Multiplication sign Weight Execution unit Menu (computing) Disk read-and-write head Rule of inference Dimensional analysis Computer programming Programmer (hardware) Process (computing) Core dump Speech synthesis Video game Social class
Email Code Electronic mailing list Electronic program guide Code Mass Software maintenance Mereology Formal language Formal language Personal digital assistant Personal digital assistant Software testing Library (computing)
Ocean current Email Addition Default (computer science) Multiplication sign Database Timestamp Human migration Human migration Integrated development environment Software testing Table (information) Task (computing)
Degree (graph theory) Dialect Multiplication sign Real number Convex hull Local ring Lattice (order) Local ring Formal language Library (computing)
Process (computing) INTEGRAL String (computer science) Disintegration Iteration Process (computing) Streaming media Hacker (term) Total S.A. Formal language Formal language Identical particles
Rule of inference Software developer Cuboid Speech synthesis Right angle Object (grammar) Rule of inference Computer programming Formal language
Graph (mathematics) Touchscreen Electric generator Computer file Code Multiplication sign Group action Cartesian coordinate system Computer programming Product (business) Programmer (hardware) Process (computing) Right angle Table (information)
Code generation Programming language Email Matching (graph theory) Process (computing) Electric generator Code Personal digital assistant Core dump Code Computer-assisted translation Writing
Rule of inference Touchscreen Touchscreen Software developer Demo (music) Variable (mathematics) Formal language Inclusion map Population density Word Software Lattice (group) Integrated development environment Local ring Resultant
Installation art File Transfer Protocol Email Process (computing) Computer file Computer file Order (biology) Set (mathematics) Price index Formal language Library (computing) Element (mathematics)
Default (computer science) Group action Multiplication sign Software developer Java applet Formal language Formal language Frequency Process (computing) Blog Different (Kate Ryan album) Blog Software framework Social class Software framework Selectivity (electronic) Quicksort Social class Default (computer science)
Skeleton (computer programming) Server (computing) Computer file Group action Cartesian coordinate system Metropolitan area network
Subject indexing Game controller Group action Trail Dependent and independent variables Weight Computer simulation Object (grammar) Host Identity Protocol
Process (computing) Demo (music) Personal digital assistant Multiplication sign Videoconferencing Software framework Software framework Perspective (visual) Formal language God Formal language
Web 2.0 Revision control Mathematics Mobile app Web application Addition Mathematics Software developer Spiral Formal language Formal language
Mapping Divisor Inheritance (object-oriented programming) Code Line (geometry) Range (statistics) Range (statistics) Bit Line (geometry) Rule of inference Twitter Programmer (hardware) Order (biology) Sign (mathematics) Order (biology) Figurate number Office suite Absolute value Social class
Root Real number Software framework Computing platform Software framework Extreme programming Shape (magazine) Computer programming Hydraulic jump Computing platform
Process (computing) Friction Multiplication sign Software developer Normal (geometry) Quicksort Mereology Product (business)
Point (geometry) Electronic program guide Field (computer science) Social class Field (computer science) Resultant Product (business) Formal language Form (programming)
Web 2.0 Trail Greatest element Run time (program lifecycle phase) Benchmark Set (mathematics) Right angle Tracing (software) Term (mathematics)
Game controller Execution unit Game controller Scripting language Information View (database) Online help Code Server (computing) Projective plane Menu (computing) Price index Existence Subject indexing Word Software framework Integrated development environment Row (database) Functional (mathematics) Free variables and bound variables
Nintendo Co. Ltd. Email Run time (program lifecycle phase) Electric generator Divisor Decision theory Real number Software developer Interactive television Bit Web browser Cartesian coordinate system Spring (hydrology) Personal digital assistant Right angle
Building Code Multiplication sign Bit Web browser Cartesian coordinate system Twitter Sic String (computer science) Video game console Information Integer Message passing Address space Exception handling
Code Block (periodic table) Interior (topology) Electronic program guide Mathematical analysis Parameter (computer programming) Ext functor Parameter (computer programming) Food energy Stiff equation Different (Kate Ryan album) Data structure Hill differential equation
Slide rule Touchscreen Server (computing) Addition Multiplication sign Interactive television Code Perturbation theory Bit Web browser Computer programming Food energy Formal language Process (computing) Pressure
Point (geometry) Mobile app Software Cross-platform Multiplication sign Software Projective plane Musical ensemble Metropolitan area network
Multiplication sign Real number Sound effect Software testing Normal (geometry)
Code Multiplication sign Execution unit Moment (mathematics) Self-organization Software testing Number
Code Java applet Software developer Mass Extreme programming Mereology Sequence Formal language Programmer (hardware) Word Process (computing) Extreme programming Video game Software testing
Mathematics Logic Multiplication sign Decision theory Electronic program guide Code Software testing Software testing Shape (magazine) 5 (number) Graph coloring Rule of inference
Revision control Mathematics Vector space Closed set Code Square number Energy level Right angle Software testing Abstraction
Context awareness Spring (hydrology) Programming language Java applet Predicate (grammar) Software developer Factory (trading post) Software design pattern Abstraction Capability Maturity Model Social class
Point (geometry) Functional (mathematics) Group action Multiplication sign Cartesian coordinate system Disk read-and-write head Computer programming Category of being Arithmetic mean Process (computing) Order (biology) Video game Right angle Software testing
Gateway (telecommunications) Functional programming Mathematics Positional notation Tower Mass Computer programming Library (computing)
Point (geometry) Group action Multiplication sign Electronic mailing list 1 (number) Computer simulation Parameter (computer programming) Product (business) Number Degree (graph theory) Mathematics Arithmetic mean Goodness of fit Programmer (hardware) Software Object (grammar) Order (biology) Electronic visual display Right angle Head-mounted display Address space Condition number Social class
Mathematics Message passing Code Term (mathematics) Direction (geometry) Computer simulation Coma Berenices Local ring Template (C++)
Semiconductor memory Multiplication sign Computer science Computer programming Formal language
Modal logic Word Software INTEGRAL Software Mereology
Information Software Multiplication sign
Data management Code Software developer Transitive relation Code Core dump Mass Traffic reporting Arithmetic progression Formal language
Predictability Dataflow Expression Office suite Formal language Computer programming Formal language
Mathematics Personal digital assistant Code Software developer Code refactoring output Software testing Software testing Function (mathematics) Product (business)
Dataflow Software Feedback Software suite output Software testing Bit Software testing Function (mathematics) Abelian category Lattice (order) Product (business)
Programmer (hardware) Email Crash (computing) Computer file Information Computer programming Bookmark (World Wide Web)
Point (geometry) Beta function Cone penetration test Feedback Computer-generated imagery Code Online help Computer programming Googol Blog Function (mathematics) Software testing Energy level Website Videoconferencing Data structure
Sine Link (knot theory) Link (knot theory) Blog Multiplication sign Software Row (database) Coma Berenices Bit
the the
the the the the and settling down
our this this presentation is titled there's nothing new under the sun on it is the 1st in attract a three-part
track you're experiencing called The Future of so let's hear a little bit about reviews future in the
future really will become more popular there will be more implementations and they more programmers using more machines with installed by default and more people writing blogs about there are also the more people reading blogs about and this is being crazy but the other trust me because I'm he noted so that was 2008 ruby
hoedown response at the CEO get held Thomas a little bit about what the future will be like I had this presentation is the future of
ruby part 1 the past and at the heart of
all my talk so that represent a ruby conferences I'm asking the question why do we choose ruby I feel like we need to constantly but you know or reevaluate this and justify it and come up with good answers and to be honest that answer has evolved over time like for example if it was before nineteen 90 odds are you Japanese he picked up ruby in 98 the word literally Dave Thomas I not that they've Thomas mind you for the younger people of know the the 1 they were the Pragmatic Programmer with any hand if you came
in before 2005 you probably really and extreme programming like test driven development but in 2005 it was all about rails as was the 2008 and 2012 and if you're learning roomy today for the 1st time it's probably because your manager was a big fan of Railsback in the day I but that oversimplifies things a little bit sore share some of my perspective I came to Ruby 1st in 2005 I was working for convex extreme Programming book learning tested in development loving it I was writing a lot of job or I should say I was writing a lot of XML and curly braces and not getting a lot done I was also writing a lot of PHP and slinging thousands of lines of code that I had no hope of maintaining and I studied in Japan that year and I genuinely like my Japanese friends were really excited about the worldwide notoriety this little programming language called Ruby was being but if I ask the same thing about somebody in 2017 but 1 which is really nowadays any PHP has a perfectly suitable web framework job does as well as by Microsoft with dot net has embraced open source all of a sudden and even like the Mac on 2 most people if you wanna teach you how to program the being handed noting react by default as opposed to rails these days is elixir and ELM can have a lot of the mojo the new hotness you want functional you can do back and and front closure Pielke nerds love us and some people use go the
so this talk is really a retrospective I want to talk about the things that drew people to ruby original occurs if we rediscover that it'll help orient us about where we monitored would be from
here but honestly that sounded like a lot of work there's over 21 Hungary talks on concretes alone I and soon this is going to be 1 of them I and I frankly needed some help us so as an employer I pull the Mystery Science Theater 3
thousand move and locked 1 of my colleagues in a room for 3 months to do nothing but watch Ruby talks by his name
is I just 3 word and he came to Ruby a little later like 2012 and that the rails was the DeVault web framework choice are in the industry the waterways up we reached a point of maturity with sandy is like under oriented design book getting a lot of steam attention that was also right after rail should be asset pipeline which solved the problem of jobs for packaging once and for all and it was also the height of the great coupon wars where everyone I knew who practice truly we're taking the group on LivingSocial if they didn't already work again so I'd like to welcome Josh up
to the stage thank you so much for having me so hopefully they'll the lot might very naive plants I thought maybe I just go back and watch a company is 1st couple years were become and we just fail the tell me is the nexus of recording there's until 2007 so allows Obama so about well below the trickle to early versions of ruby ensuing to compile and that did not go well for me at all so I thought of the pressure that lowers the in this world is most valuable knowledge for Twitter of course so let me know this You would DHH was talking about when he 1st announced rails and that's the way you select australes there but it was not around back that and you would be totally right so I was really interesting so in the context of the things that came before me I suspect from the room might be as well so today my goal is to share some of
the blog post the tops the exercises in the conversations we had with folks over unity China under some of what drew people will be in the 1st place that goal really
is to reflect on these various facets of what made us all fall in love with Ruby and its community and to make it just the also language ecosystem that this so that we can think hard about what we wanna do you to take it forward but as a result the talk is
not an entree I were not going to be up here with some big rhetoric trying to convince you of something rather than as a mere appetizer showing you some of you know Johnson my favorite talks I and blog posts and ideas from the past and I'm hoping to get you to engage with those 2 and so please don't fret over all of the individual your rails and stuff and I'm trying to take a picture screen or something word opposed to our blog right after the talk of sources of every single thing that we reference answer just keep an eye out of that for that later today without
any further ado surfactant just to show you what you got FIL start every become for windowing
2008 speaking why which is really and
everyone has you're on independent reasons for choosing really that for me it's very simple it is the
title of Justice by which is would be just because we are raised careers hand you stay you're going to stay in real rails and and not and not just in Ruby that itself yes yes this is really conference it's not a great deal of the power behind this and that and it it is the very reason behind would be expected God this I know people use of Rudy and I the people who loves me and we all know so
so that this acronym embarrasses him but minus 1 you know Matt's is nice and so we are nice was so important to the Ruby community as it became today that he he set the tone as language designer you don't see very many language designers give keynotes like that right but that kind and welcoming spirit is 1 of my favorite things about Rabin was shown to
Scotland Ruby company 2011 operant Chad Gowers
speaking here hello here in in the service industry right actually all in the
service industries are minded raise your hand you all everyone who was sitting next to them in the final hot jobs are to be like an adventure tour guide for our customers to take in this theory places allow them to feel that for all of you know whatever it happens to be that we're doing that to treat them like idiots and make them you know stay in like a rubberized room so they can't mess anything up but allow them to get as close as they want to the edge and make it safe for them to do that
but thing that everyone else is mentioning this conferences core remains high that its weight accorded recently contemplating what happens is because you was required practices of modern software development so you probably all thinking like unit has the right and so the control etc. The etc. just in the US is getting a shift actually really giving a shit knowing the 1st thing about coding and then dimension and I thought that was pretty the this a Lexus dealership was is that best experience which was not all that helpful so I said in what way and this that's the feeling that they need 10 minutes of work to save you 1 in your time and I think the most important a piece of this carrying like crazy goal that I have in my new job therefore my new life here it is to kill standard cynicism where ever but rather than the cynical about and stuff going just fix it is laziness speaking of Dave and the Pragmatic Programmer data and have you know 1 of the rules that that's a difficult tense that says always answer every e-mail you which sounds stupid like that really a bullet that 1 of the major headings and the Pragmatic Programmer classic the computer programming class it is and the funny thing is that is the only 1 I can remember having read it 10 years ago and I remember thinking it was weird at 1st but it's such great advice from a menu somewhat like they he then answer my and I think that's why you know because I knew he was going to answer so we
e-mailed the Thomas we ask you know what was
the early review community like in the West he said well there is a mailing list it was mostly in Japanese but English speakers were encouraged to post to folks would reply often we found ourselves communicating purely through code someone would post a book Broken test and 1 of the maintainers would the correct the test or correct will be I started by asking masses permission to write the book he was enthusiastic and helped an incredible amount answering hundreds of questions and occasionally changing the language a libraries as I found edge cases that book by the way is the pickax
book if you haven't seen it this is indispensable API reference and guide for anyone using ruby through the middle parts the book was published in the in the 99 and
led to the 1st International Ruby Conference the following year in Florida they were 30 to 40 people there including books from Japan and Europe so
the lost the moral of the story is that a hearing held just e-mailed at times Intel apply to you was
tempted to 2007 primates just
producing wells test is basically got me through my for shop but it and I all this is were rails 2 comma decimal 0 comes in really handy because you get this they make task called the the create and this will create the database for the current environment VN a lot of fancy new additions to migrations in rails to which will really say was a lot of time also this teed-up timestamps here but this will do is add the created that had a beard outcomes to this table because Rose assumes you pretty much have always want that that's why I was the rails it just 2 times that's my default and I had to say like opt out of time and I was in the 1st month but you know I like a lot of people
over the years have complained to various degrees like like whales to magic but you know if you really in the Ruby community in real community no like you just in washing of rails cast explained most of everything and that complaint is valid in that you have there was a time the tribal knowledge through these dynamic it was maybe under documented things were definitely moving really really fast but there was an unintended side-effect of all that travel knowledge which that it forced us to
create tribes I don't think that we really appreciate the fact that Ruby has more local meetups in regional conferences than any other language of size as because like the way that the language works and how all of our libraries reconstructed require us to talk to each other I think that's really special in fact when I
look back there something about Ruby and the language and the tools with community that society really really kind and welcoming and some 1 one-pass I really appreciate the jails of more than 1 post
called toward about was written by C. BAT
years we had the same review we meet pearls stream processing and Unix integration as as meeting the syntax is identical to write there before anything else happens you already have the best of Pearl that's a great start especially if you don't take the rest of the world but then matched with the best of was processing from us the best of from small or in other languages in the best of iterators who see you can pretty much the best of everything from everyone they somehow made all work together so well you don't even notice the has all that stuff I ruby faster than any language out of 30 or 40 total that about 3 days before as more comfortable using Rabin I wasn't role after the years of proactive on 1 of the things I've
always loved about Reddy is that it has all of these features but constrains the developer with almost no rules as to how to use them so it is dangerous but it also trust the developer to express themselves and very few other languages even the other had been trained the languages of our day check both of these boxes I think we still stands out Lax is not West Rabin
2008 Giles poker speaking here
and that's is sharp looking not just but 1 of things that really is famous for its metaprogramming right which is programming programming itself but the thing is it's not usually what we really do overdoing metaprogramming this magic right because it's not metaprogramming it's just program will really doing is that what it does is you add a method to an object it says I'm in yourself and in your name
OK I mean you're all your in your cranberries that's kind of an eccentric the
Giles is kind of accepted I just close you know I mean the X and a Y I am creating a new whatever it is that I just changed it to return ruby code right so now instead of printing random text to the screen like a lot well what it's doing is it's creating code there's no reason that you couldn't put executable code in a lawful we run it you end up with Python populates the graph drawing program for no boxer and this is what the graph
looks like and obviously it is not right is not a gorgeous this simple undergrad read this book and i've only ever heard 1 other person or red 1 other person say that the others so that is David and Hansen that's not the way this book starts the start of the EGA be application right 2003 but you got a legacy have with 150 tables using EEG B so you need 7 files for every table that you want graph with your act so that comes out 7 to sometimes 150 that comes out to 1050 job of phosphate by hand but he's a very long time to create would generators he created it very very swiftly everybody who talks about Raleses the like magic makes programmers more productive bullshit cogeneration makes programmers more productive we just follow to you
and he's right there he also replied to our e-mail I was like a cat
things that kept coming up this code generation he had this to say and I started doing stuff like building DSLs to generate code in his case job so I could write code in ruby and no 1 would have to know that it was really i it's true everyone is doing cogeneration ruby back then and in the back of my mind I'm just imagining how funny it is that before rails 1 of the core use-cases for Ruby was to generate other programming language code so that people didn't have to know you're writing ruby and so we've come a long way makes that is code match in 2012 a talk given by Gary
Burkhart a guy who sells screen Gazidis
Royal software not and this is what his website look
like after he learns yes us it doesn't got any 1 of the best lighting lots of
evident was that I watched but some libraries and and I really unlikely some other dynamic languages does not have their words so you cannot just take words in have strengths come out unless you define a particular method missing that does the right thing and then if you take their word suddenly released words that words infected we even support their words with bangs and them and this this is not deserving of what this is actually a result
also really is in but if you ever actually do this then waxed
in so what about clearly ruby is
a tremendously powerful language as 1 of the hallmark process of doing things just because you can even though the sharp edges not being afraid is is really great later
that e-mail from Dave Thomas he explained what was
like to have started weather ruby in 1998 he said I 1st came across Rabin 1998 nude FTP a set of UN encoded files concatenate them and then you you decode that typically into a car file a then run this through car accidents are working on compiling really had an order compile which helped immensely and will work out what libraries you're missing then entered the recursive elements or knows recursive because these libraries with each other under indices which you need to install matters credit Ruby was a fairly simple install a spent yesterday playing with that intuitively 1 comma decimal 2 a fairly simple
install I like to keep this in mind next time you wanna complain about VN VN any of our fantastically convenient developer tools we use to them they continue after love the language the like something and waiting for waiting for a long time the time of learning versus the job of hurled reducing the blow all in a was easy classes and great defaults metaprogramming whatever recommended it a challenge so would before closing by the longer than 15 Ansible blog I had no idea of awful led had our had to say about that time period he said more clearly is the distinct difference between the real world in the real world because when rails can help them hand Meyer Hanson's buckaroo become 2004 64 people in Chantilly Virginia whole select for the big 1 for us it talking up action all these things are not always a really done something in a users hyphae Mahela else came out about was a sort of silly because it's NBC framework in a language no 1 cared about there's nothing Miss
CHAN rails them out we we do is
called the rails man to generate a skeleton of the application of the it generated a bunch of things on a bunch of file and then the next step the very next that is starting to movie server so seeing and everything works you only proves that to this is that you have but Rabin
wrote sold what's it like is going to
say hello world and we don't really know
and so much work you have to do it another world as not a lot look at all the things I'm not doing that all the variants not
right all these things on that together just on that despite saying what clear
naphtha into the body controller and despite having index that directly to the index
that way hello from simply and NL-leading even
removed the action and so that it can go all the way
to like not having an accent tackling is a way of easily putting a model
object will not in a way to do the work we integrate this this was reinforced by the scaffolding interview is on this amazing CO and HML weights seems like an old-fashioned way of doing things but karadzic JSX so what's
became its own room around that time as assistant job marketing tactics of the th the person is with forgot his career had been invented yet the Jan also said this about his perspective of David at the time and I love this he's young and he's thrilled about this and he loves Ruby and I see it he's found ruby and he's going to change the world with and I'm not somebody talks about changing the world very much however if you go and review to comments on that particular demo di did a relatively recent common
at the very beginning I don't feel any surprise disease is the common features for every single framework in almost every language today but when I saw the data published my god this video was published 11 years ago today crystallizes the tire impact that
like the roomy don't change the world with David on Rails because now the entire web works like this is pretty amazing but the real world changed to 1 of the things that that they told us was
spirals people who used to be with there because they like the language and the people the pace of innovation was gentle as folks explored opportunities after rails the mood change now review was there's solve a well-defined an urgent need writing web apps and so the days
teamed up and wrote the Agile 1 Development with Rails through 3 broad additions and 3 major versions of rails and everywhere that I travel every Soperton doing ruby had a bunch of these piled up their elected an invaluable Handbook
so apparently will become for why it was the thing and I feel like we progressed a little bit the the the the
fantastic they're given by being on sign about the factor I don't think this is a lecture this
is the stand here and tell you all these things the absolute truth think of this as parent I'm not here programming with all of the the 1st notices we've gone from 1 method with 2 lines of the 2 methods of 1 line each and I can tell you that that's always improvement but usually it's I'm starting to think these days than methods along a little IRA codes now when the court looks like this for whatever reason because the programmers because you mean code when we see cold like this we read so the 1st year i'd as easy OK awesome range people's ability figure offices figure out this is doing well looks like this with its own and had my eyes more like it's the orders of the ranger focuses private method on as soon as little or the with the date range what to do next but most intermediate Polidori to programmers are too reluctant to extract classes the 1st rule classes is that they should be very small the 2nd rule classes is that they should be even smaller than that in most
companies pair programming is a euphemism for co-located troubleshooting but something about the extreme programming roots of the Rabin community in the West is that like most of the companies that that that I is that I work with the actually care program to learn and solve problems and so like I don't think the that Orenstein like red all that advice book no he likened worked day in day out year program with other people and sharpening their craft and that's really something special something I really admire about the real world jump to 2007 and the release of parochial but over the founders of her OK
gentlemen bond said in an interview we disagree that those new Rabin Rail ship to go learn all the hard stuff it is the frameworks in the platforms that need to shape often make themselves easier and more accessible I'll never
forget the 1st time my buddy Mark sat me down to deploy in my 1st rails up on her rope wire and get push a rope you and then things happened and I have to configure anything it just worked and blew my mind and nowadays this sort of thing as normal but in 2007 whatever it was really really mind-blowing was really rare and
if you wrote was a product along a lot of other products that were built and having rails that like just dispensed with this assumption that like friction was OK and that pain was just a natural part of the development process like they they were very allergic to any sort of extra friction was being added to developers workflow and we all benefited from so you look
back you know especially with rails but like at some point we became massively productive language as well and I think that high productivity is still hallmark of lots of review teams like stuff is recounts and
Cisco in 2009 were Ryan Davis and Harrison showed that co presenting is a
really really bad idea this they
need to use their house was by the name of this field further form of needs you have engineers has been used with which is all along and it has foundations or what we call Wills the that really we all know and love is slow and C is not well why would you like to see when you can represent examples of online see for a method called see on that counts from 0 to N possible and returns the result of this needs to be as fast as possible there are a lot of what we have to do this I can't and I think so but the as long as there are you can see that this is in the the exact same thing so I knew that I I
so really in here is and so has a set of look at that while they're almost exactly the same I'm blown away so probably for the future the runtime embedded in ruby really couple of adapted 1 for web at the cost of course is the the runtime isn't useful as we can run say WordPress right answer to have track you down at the bottom is read
that starts of leprechaun for L 0 L L the the
so the axes that rarely inferior to pile up and what we have a review in belongs to the past to the the the other thing that the years Nubian burials the add a 3rd
follow the normal normal rails
project so were generate open rails everything's plural so we generate heat use controls as for the canyon that codes but I don't know if you consider occurred so so we opened up index the expedient the could you please the info I just learned that the other day serious so word 3 thousand hit hit local of were 3 thousand beauties controller and a
there is a lesson was riders shown as like seeing is important yes but it's 1 of many factors there are trade-offs like readability and right ability and it's just the case that led the makes a lot of those trade-off decisions to segments like mothers morning in a way that like since a lot of real world problems just fine the way it is and then work showed us is that just because something has no practical use doesn't mean that it was useless to build you know maybe it was just simply entertaining develop each runtime and Rabin but it was probably also the challenge and definitely taught us a lot a little bit Thomas only meanwhile in Orlando and the labs now code school was
trading rails on his true probably wondering what real for some of the short answer is that an interactive tutorial to teach the basics of application development in the browser using the mail but here's what in the world of people like you got balls and you've got spring guests here which has any interactivity but come on this is the Nintendo generation in me joystick we we
the tutorial were in the building in what application somewhat like Twitter except it's going to be Twitter foreigners are made with so a
little quirky but I remember this was so cool like I've encoding the browser and then you like Commissioner and it's like whoa Joshua did a good job and
done it so successful from that and
especially in industry that just takes itself way too damn seriously most of the time it is something like I really love about educators a review community who are willing to have a little bit of fun and try to find engaging ways to teach people programming I and the Code school stuff addresses and is a great example of that by the way there are a zombie
emoji now as of like a couple weeks ago and so I had 1 of my talk and that's all that size for now person some synergy and hills and
for why was writing his guide to
Ruby which was just this analysis on Amazon now on a physical copy so go do that I guess now this book was so is
so interesting he makes like blocks of code with all that these comics and such like a creative and fascinating weighing and amazing ways to show off a different code structures they look
this method invocation here so this is how
why explain this he said I think doesn't enter to the method is pulling along containing ext extra instructions the parentheses form the way well rounded edges of energy to come as the feet of each argument sticking over the edge
like I've never thought about but I will never forget that energy the health and some people didn't
like the kitschy each of the bacon thing you know very fun of but it's almost as if Y was pressure and could see that coming to the end of the chapter the
same foxes say the only thing the world will know me chunky bacon and they're all saddened ejected which is in hindsight a really sad slide well the
1st thing that I encountered that that that why bill was try reviews in online rebel that taught you a little bit ruby a 15 minute tutorial and you know nowadays with our modern browsers in these really fantastic jobs for councils it doesn't sound that amazing but at the time I would send me up to a server and put in jail it was a really really terrific little way to show people really without having to install a
and another 1 a wise projects is still alive on issues is buoyed desktop toolkit for building cross-platform apps with ruby are and she's for is a release candidate think right tomorrow morning Jason Clarke is giving a talk about shoes and how users encourage you to go if you're interested the forward to the pickax though
book that's right this is a man is driven to create I know I really do love to create things online not the painting drawing of music I can write software and there's a reason that like
we made up a prove beyond fails and no 1 in PHP made out in other major the anyway my point is the religion is really 3 times others was
fantastic Rubio down 2008 Bryant Wiles is talking about this thing here and if
so what was thought to have an effect test all the fucking time 1st the number of from beginning to end I was in the beginning in the beginning there was light you know there is role in
the and they are probably the always that but how to change things around so of a or really much talk about testing for small people and the real thing I'm trying to get out to everyone here testing all the fucking time of the
testing and this is with Build J. unit and I would I was doing real good here but there's a problem problems of writing bad real test and a test had no organization and I wasn't using any kind of convention and
all my test look different every single time and really I was use all of the place at what the code should do rather than
describing what it does whatever I realized that I actually it's like it was a moment for me is like I I breach said number test all the time that is and really this is what I want everyone is winner here will be on the same test all the time that I I will leave you guys with
1 thought do not Tridents an instant of imitate the old master sequence they thought and this is something that I live my life by I wanna leave you with 1 more thing
so I again I think there's something special about the extreme programming words in this community of combined with the massive popularity of rails were really really in many ways became the 1st mainstream language to normalize the idea that you should test your code I and and not only tested development and behavior during development but for me
working on a job the team like really really made testing pool we were seriously jealous like testing was this drudgery that I had to do was a Java programmer and QA people were treated like second-class citizens I think that like that testing is part of reviews history and it really really helped push the industry forward
Chunqiu rails comp Chicago in 2014 cinemax is talking
about making small things here I may notice
some principles and they developed a style behind about half of them is that's what I do during designs that all the rules of logic during this time the it's it's a style guide about how to organize with all the obvious trade-offs all the places we can make your own decisions the 5th test use that the story islands meaning that look at and were looking for changes in shape in changes in color changes in
shaping and that's conditional then they're always get the arteries changes in calling your code is at differing levels of abstraction here we have this is the can wrote this is a square test version of various companies right on the right is our started unless you know this is the the she is flat and the course referring to question
10 vectors has a wonderfully succinct way for this he says I make a change easy this might be hard and usage people ask me now when if you ask me how to write Are due to encode I tell them I give them 1 small piece of advice I said make smaller
thing so I remember back like 2005
win a lot of my Ruby friends were arrogantly laughing at my abstract context factory spring being stuff in all these are heavyweight design patterns in Java land on because they didn't need that is review was simple and straightforward and then the watch Sandy's book take often then like 2014 all these like grills developers trying like Jam Factory classes into the rails that's was of a special kind of pleasure for me to be honest like I think that could and and teaching and mainstreaming I obs during eyes so many people was really a mark of maturity I for predications built with rails thanks ruby
Midwestern 2013 just clicker
absolute blew my mind with a stop and functional
programming but a lot of them is that although we don't have been about the meaning of life and 1 of the important applications get larger and more feature rich I don't think all in 1 person had or you the most the application of your head and you know I was friend in order to solve these problems that but here in the Williams on the dot category in that there is always a lot of in his job at what that we are going to impose discipline on hold and we do that group in that process is then just avoiding this year and and we to follow the same amount of people that have a whole lot earth we force brutal into his head the the group you have time a job you need of practice that the testing and use there is something that I mean the back if you have a right that is a point at data on it way yeah right how is most of the stuff and you would not have been warranted have not just what you know for and realize they know is not the so call now then I think you know the meaning mean fall in practice than up in the Apple it has a need you not or in the in the in the Newell and what do you think it means nothing so when I was in
college the idea of functional programming was like his ivory tower like fo academic nonsense that was really like full of mathematical notation and people there just in this morning was how most of us in this room learn functional programming is like mass thought these were cool functions for on innumerable and I wanted to teach them the people to be useful as a like I feel library was a great gateway drug to to real blue-collar functional programming I and popularizing way that like academia and failed is the only talk or presented and it was
presented a ruby specific conference but was given by Jim Warwick so for the past OK so what does
it mean to nations itself means this talk about the common were 2 or more things at the same time and the production to things that tend to grow together this tendency the same so nations and software or those things that we need to change to gather so what it means to me so suppose you have a definition of a massive here call from the recall through over here this is conditions of name because if I decide to change the name of my method seem obviously have to change the name of every place were fools called but will were defined in the title has to be there and the address has to be there so if I were to change the order of my parameters in this list I would have to change the order of every parameter for every place it was called to match the changing of war the point here is isn't important changes its growth you want to you as good soccer practice to reduce the coupling between year models and nations as a way of talking about coupling in a particular way both of these display is exactly the person displays all the methods available for fixed on class the other displays all the methods defined explicitly in a fixed number but not in the ancestors affects not which 1 is which of the 1st ones all the way up how do you remember that this please tell me but he just look it up OK I did too yeah I guess is I just wanted this talk I know but I I forget everything applied this is from the science of meaning we have assigned a particular meaning to the values true and false that is not evident from their usage right here actions reduced degree of replaces
your code increase locality and things in that change together from the same model bring them closer together so they can change together more easily and and don't repeat yourself as
kind of an application of rid of increasing locality from after years of ability principle also moves in that direction so I think these things are kind of based upon the locality idea in an instant so that's
what coupling means so for me that were just meant nothing until I saw that talk gym explained coupling from the term connaissance
you know it's really said even have to share that like you know Jim passed away a few years ago I but he meant so much to the review community from it's like you know I had x few days and like like from the year 2000 onwards to come shepherding so many of us through like how to build a solid also will code that like if you go to his last commit I get of some and I know this like espouses a Commons thinking gym for his contributions and some were in some get have dot com template isn't if-else conditional to print this thank you message but we
recommend you go back much allergens old talks and and if you do a you appreciate we encourage you to XCI I contribute to the wire funded scholarship program that's on I try and keep gyms memory alive and also help you know more people you know find the joys in computer science at so
clearly a room is a really powerful language we spend a lot of time at conferences talking about ways that we can get better at our crap we
become become Charlotte 2007 were so Molina gave a fantastic talk about
beauty there's something deeper but then
just appearances that actually dictates why make something beautiful versus not beautiful the 1st the topic that he brings out is proportional to the next
piece is integrity Bourgain is
clarity and clarity is a simple concept it's something is clear and something as simple that a simple working definition for what makes something beautiful those 3 parts now we're going apply that to a piece of software to see how this can actually relate to that we write issues 1 to their intended for all work in concert and they balanced each other out so they're each necessary anonymous sufficient I don't I don't I don't know if you use the word beauty
anywhere in the entire book but if you look at the information he gives you and you think about the 3 principles of beauty almost every piece of information in that book is driving toward fulfilling 1 or more of the 3 principles that go to our working
definition of beauty so he's setting out to write a book about how to write
great software and it turns out that all the software that create following principles is also why this definition of beauty beautiful software let for us Ruby is optimized for beauty that time at the finish just by thinking
mass reporting for writing what I think is the most beautiful language that every so I'd like to think that the the past the
so it's no secret like surrounding yourself beautiful code will lead to happy developers I think it also stands to reason that happy developers make more progress faster I ask your manager more progress will lead to more money and so through the transitive property is not like hippy-dippy bullshit play beautiful code leads to more money there approved that and so this is actually really valuable stuff and
they interview with O'Reilly chosen 1 Mott's was asked the following if you have
a guiding philosophy when designing ruby they respond yes it's called the principle we surprised I believe people want to express themselves when a program and I 1 a fight with the language the 1st day
of my 1st programming internship the 1st piece of advice I got was that there is no such thing as a good surprise and what the person was talking about was even with great tools like it's predictable tools that enable flow and even a good surprise can break you out of the
Cascadia ruby in 2012 Katrina and gave
a fantastic talk about how refactoring brings joy taken to come into the office
early in the morning and committing random acts of refractory some people are calling this skill-driven development but really it's not refactoring this makes me happy I found this
particular specimen in the dark recesses of that code base it had no tests and there was no documentation where even begin testing of we don't really know what the inputs look like we certainly don't know what the output looks like we do know that it's production and it appears to be working because we haven't had any complaints from the customer about it the the easiest way to discovery cases to just send something anything really into the math and you come see what comes back out we took a piece of
undocumented untested code and with a bit of hand-waving we got make assertions to give us the input the Democrats gave us the output any outputs gave us the real assertions the perfect of course not is it better hello yes we went from this to this in less than 30 steps it started optimizing for happiness I would specifically put something into its own fastest likable just backpass and nothing else the feedback loop you get when you have some 2nd test suites from the thing that you're working on is unbelievable huge enabler for flow along the same lines of like the
emotional layer of productivity with software can back at rail scarf a couple years ago
in Atlanta I shared this those emotions are valuable information emotions are noisy information but their valuable information and that feeling of I'm proud of this means something and that feeling like all I hope nobody ever looks inside this file that also means something my e-mail from Dave
Thomas earlier I guess this they promise was a how
closed it is that I'm grateful for the excitement it's run through the thicket of crash growing I'm happy for the folks who found a home here is difficult programmers deserve to use the tools that they love
so 1 of my favorite aspects of Ruby is the pursuit of joy and programmer happiness and delight of
and love for you to like a look out like ruby cones at some point soon
I worked through this exercises the great star I will be quiz club with some friends and play through us in the old example quizzes there I had go on exorcism
go through the exercises leaking dot comment help other people to try and learn ruby I we've
only cover 12 toxins 21 172 go passing get a homework for yourself I
would look like if you think about the day you started using ruby and then use google advanced search and look for some really blogs stuff but see what people were talking about our community before you joined
and as a years we want you to go do something that makes you wanna say what's I like is the last
facet of worries future is really going to be determined by people like you in this room us yeah
we worked adjustable were an agency were way over time I I would love for you to join the team at that you're l like I said all these links are going to be a better belong in just a little bit here and thank you so much for the Sin with the thing in the


  641 ms - page object


AV-Portal 3.20.2 (36f6df173ce4850b467c9cb7af359cf1cdaed247)