The Ruby Rogues show

The Ruby Rogues

Summary: Rubyist.where(:rogue => true).limit(6).all.talk(:about => Topics.where(:awesome => true))

Join Now to Subscribe to this Podcast
  • Visit Website
  • RSS
  • Artist: DevChat.tv
  • Copyright: 2014 Intentional Excellence Productions, LLC

Podcasts:

 048 RR Crafting Rails Applications with José Valim | File Type: audio/mpeg | Duration: Unknown

Panel José Valim (twitter github blog) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog witter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Crafting Rails Applications Google Summer of Code Yehuda Katz Authorship Driven Development Book Driven Development Test Driven examples ActiveModel Engines ORMs AbstractController Generators Railties Extension points in Rails Resolvers Liquid RailsConf Enginex Piotr S. Combustion José's example of loading a Rails application in one file. RVM Bundler Rack Middleware Sinatra Resque Tilt ActiveRelation ActiveResource Open Source Vacation Devise Simpleform Elixir Erlang Virtual Machine Markaby RPC Picks Erector (Avdi) Steve Klabnik's Dad (blog post) (Chuck) Old Versions of Skype (Chuck) UserVoice (Chuck) Bootstrapping Design (James) Sucks Rocks from Destroy All Software (James) How Emacs Changed my Life by Matz (James) Downton Abbey (James) DrawSomething (Dave) iPad Stylus [amazon.com] (Josh) ApologyPro.com (Josh) the hub command line utility (Josh) Startup Elements (Josh) heroku.com (Josh) Piotr Sarnacki (Jose) Plataforma (José) Elixir (José) Jimson (José) Transcript 00:00 JAMES: Hey everyone! We just wanted to say our own special Ruby Rogues happy birthday to Steve Klabnik’s dad, also, named Steve Klabnik. Steve, your son has come on our show before and taught us a whole bunch of things we didn’t know. So we know you are probably as proud of him as we are and he told us about your 54th birthday which is coming up on April 1st though it’s not a joke. So we wanted to dedicate this episode to you and happy birthday from the Ruby Rogues. Everybody? 00:34 (EVERYBODY): Happy Birthday! [This podcast is sponsored by New Relic. To track and optimize your application performance, go to rubyrogues.com/newrelic] 00:58 CHUCK: Hey everybody and welcome to episode 48 of the Ruby Rogues podcast. This week on our panel, we have Avdi Grimm. 01:05 AVDI: Moo! Sorry, I was still piping my output through CowSay. 01:09 CHUCK: We also have David Brady. 01:10 DAVID: Hey! This is David Brady, Chief Metaphor Officer at SlideRule Labs. 01:14 CHUCK: We also have James Edward Gray. 01:16 JAMES: Hey everybody! It's James and I can't think of anything funny to say. 01:20 CHUCK: We also have Josh Susser. 01:22 JOSH: Okay, guess what I’m drawing here. 01:24 DAVID:  A penis! Aaahh!! 01:27 CHUCK: And I'm Charles Max Wood from teachmetocode.com. We also have a special guest this week and that's Jose Valim. 01:34 JOSE: Hello! I’m José Valim from Plataforma. 01:37 CHUCK: Do you want to do a quick introduction? Let people know who you are and what you're about. 01:41 JOSÉ: Okay, so I'm José Valim from Plataforma. I am Brazilian, but I currently live in Poland. I am the author of ‘Crafting Rails Applications’, that we are going to discuss today and part of the Rails Core Team member. And lately, I'm having fun writing a programming language called Elixir. I guess that sums it up well. 02:05 CHUCK: Alright. Well, thanks for coming. So, as some people know we've been reading your book, ‘Crafting Rails Applications’. And so we invited you on, so that we could do our book club and talk about what we learned from the book. 02:18 DAVID: Wait! Today’s that book? Hang on. I got to read something. I'll be right back. 02:22 JAMES: Nice. 02:23 AVDI: Okay, I'm back. 02:24 CHUCK: We just cut like 4 hours out of… 02:27 DAVID: No. I just read really, really fast. There are a lot of words in there. 02:33 JAMES: Actually, it is a pretty short book. I was surprised that how quick I went through it for it being real high level and stuff like that. So I appreciated that it wasn't, a long slog. 02:48 JOSÉ: Yeah.

 047 RR Coding Disciplines with Dan Kubb | File Type: audio/mpeg | Duration: 1:08:33

Panel Dan Kubb (twitter github bio) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion DataMapper Staying away from magic DataMapper is a variant of ActiveRecord CodeBenders Coding Disciplines Coding is an experiment Try something new and see how it affects your code. If you like it, keep it. Mutation testing Heckle Code Review Pure command query separation YARDoc YardStick All code is experimental There's no such thing as a good design Try something that people are saying isn't a good idea to understand why Dan's style guide inject each_with_object campfire boring stories: No story is uninteresting test coverage discipline vs creativity Picks Adam Keys' blog (James) Breaking Bad (James) DavidBradyPickMachine.com (David) webhamster.com (David) Michael Feathers: Tell Above, Ask Below (Avdi) Objects on Rails Google Group (Avdi) Github Ruby Style Guide (Josh) Larry Niven (Josh) Known Space (Larry Niven) (Josh) John Carter (Josh) Things (Chuck) F*ck You, Pay Me (Chuck) Mutant (Dan) Transcript CHUCK:  So, I have a question for you, James. I’m going to be ordering this horrific hat [laughs] that I’ll be wearing in a month. Can I ship it to your house and have you drive it to the Rails Conf for me? [Chuckles] JAMES:  So Chuck, you're shipping your porn to my house again? [Laughter] JAMES:  Seriously? Yeah, go ahead. It’s fine. CHUCK:  Alright. I'll need an address. You can just put it in the chat or Email it or something. JOSH:  What is this about hats? [This podcast is sponsored by New Relic. To track and optimize your application performance, go to RubyRogues.com/NewRelic.]  CHUCK:  Hey everybody, and welcome to Episode 47 of the Ruby Rogues podcast. This week on our panel, we have Avdi Grimm. AVDI:  Hello, hello! CHUCK:  We also have David Brady. DAVID:  Hey everybody! Dave Brady, Chief Metaphor Officer at Sliderule Labs. CHUCK:  We also have James Edward Gray. JAMES:  You guys don't realize what I go through to be in this show. I just sat through 20 minutes of emotionally scarring material. CHUCK:  [Chuckles] That's so true. We also have Josh Susser. JOSH:  Hey, good morning from San Francisco. CHUCK:  And I'm Charles Max Wood from Teach Me to Code. We also have a guest rogue, and that is Dan Kubb. DAN:  Hey everyone. CHUCK:  Do you want to introduce your self for those who don't know who you are? DAN:  Yeah, I'm Dan Kubb. I'm working mostly on the DataMapper project. And in 2009, I won the Ruby Hero Award for that. And I do a lot of other open source stuff in Rails and random small projects. And right now, I'm working on mostly DataMapper 2. So, that’s pretty much it. DAVID:  So, I got to lead with one question, Dan. DataMapper, is that thing still around? DAN:  Yes, it is. [Chuckles] I mean, we’re obviously competing with Active Records. So, that’s pretty tough. But we still have a pretty active user base. It's not quite as busy as back in the Merb days. But the DataMapper project was much stabler now than it was back in 2008, 2007 when the bulk of the Ruby community tried it. But yeah, and DataMapper 2, we have some great plans for that. We've been blogging about it here and there. And if you want to talk about it, I will. DAVID:  So, we actually have a different topic for the show today. But DataMapper -- so, I'm a big fan of magic. I love some magic. I love to get as much active support monkey patching up my business as I can handle. But DataMapper, have you guys stayed true to the philosophy of ‘No magic, everything should be explicit if you want it. It should be out where you can see it’? DAN:  Yeah. There are a few things that we do differently. For one,

 046 RR Objects in Rails Part 2 | File Type: audio/mpeg | Duration: 1:02:10

Panel Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Objects in Rails part 1 (with Jim Weirich) Avdi's Objects on Rails book When Avdi manipulates time, he passes in the clock object Create a Clock class and pass that around Timecop Rails Your Models and Controllers are just classes Ruby blocks Crafting Rails Applications Functional vs. Object Oriented Programming in Rails Javascript is closer to functional programming than Ruby is The balance (or anti-balance) of having two design centers Closures Growing Object Oriented Software Guided by Tests Lazy Enumerables (blog post) SASL (St. Andrew's Static Language) Rex Builder pattern Smalltalk Filter Streams Rails' find_each method Controller filters Aspect Oriented Programming Continuations Encapsulation You can expose controller methods as helpers in a view Presenters Parameter Object Object Oriented Programming to represent real world objects? Good idea? Bad idea? Even possible? OOP is about modeling the important parts Representing roles Picks Young Wizards by Diane Duane (Josh) So you want to be a wizard (Josh) Cat wizards series (Josh) youngwizards.com (Josh) Cerealize.com (Josh) Less Wrong blog (Avdi) Harmy's Despecialized Edition of Star Wars (James) Transmission (James) Toast Titanium (James) Disc covers for Star Wars (James) Chrome Canary (Chuck) Scrivener (Chuck) Transcript JOSH: Oh, you know, I finished all of my water. So if you can wait 30 seconds-- CHUCK: Yeah, 20 minutes, we are going to have to wait 30 seconds again so that he can take care of all the water he drank. AVDI: [Laughs] JAMES: That’s awesome. CHUCK: We are going to hear his chair creaking because he is wiggling in it. JAMES: Yeah, I know. We should have intermission music. [Music plays] JOSH: Somebody got shot?! What? JAMES: [Laughs] JOSH: What did I miss? [This podcast is sponsored by New Relic. To track and optimize your application performance, go to rubyrogues.com/newrelic] CHUCK: Hey everybody and welcome to Episode 46 of the Ruby Rogues podcast. This week, we are going to be following up our discussion that we had with Jim Weirich about six months ago, about “Object-Oriented Programming in Rails.” And this week on our panel, we have Avdi Grimm. AVDI: Hi I’m Avdi and by the time you hear this, my new book “Object on Rails” should be available for anyone to read at objectsonrails.com. CHUCK: Alright. We also have James Edward Gray. JAMES: Good morning everyone! CHUCK: We also have Josh Susser. JOSH: And here I am. CHUCK: I’m Charles Max Wood from teachmetocode.com. And let’s go ahead and kick this off. I know that you guys have been thinking a lot about this and so I’m kind of curious to see where it goes. So, does somebody wanna just jump in and start talking about something? I suppose we should mention Avdi’s book even though he told us that he didn’t wanna promote it. AVDI: Yeah that’s why I started out the show by promoting it. [Laughter] JOSH: You got out all the “shameful” self-promotion out of the way. AVDI: [Laughs] JAMES: We are going to talk about Avdi's book against Avdi's wishes. CHUCK: Yeah I didn’t get a copy of it so I don’t even know what’s in it. AVDI: What?! CHUCK: It must be good. [Laughter] JAMES: You're not on the end list? [Laughter] CHUCK: I tried to just shame my way onto it just now. AVDI: Everyone gets hooked up by the time this goes out so. [Chuckles] CHUCK: You are releasing it for free online or something? AVDI: Yeah it’s going to be free to read online and then there’s a downloadable version for various eBook readers for $5. JAMES: So Avdi, what made you decide to write that book? AVDI: I think laziness.

 045 RR Bundler with Andre Arko | File Type: audio/mpeg | Duration: 1:12:53

Panel Andre Arko (twitter github blog) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog witter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion bundler jquery-rails plex ruby gems geminstaller Gemfile lock down the versions of the gems you need in dependencies "spermy operator" "twiddle-wakka" Red Dwarf approximate or pessimistic version operator semantic versioning bundler was slow bundler is faster now Ruby on Ales local caching --local flag on bundle install Picks bundle viz - requires graphviz (Josh) pandoc (Avdi) calibre (Avdi) The Developer's Code (David) Game of Thrones on DVD & BluRay [amazon] (James) FitBit (Chuck) bundle gem (Andre) hypercritical (Andre) JWZ's mix tapes (Andre)

 044 RR Choosing the Right Career Path with Marty Haught | File Type: audio/mpeg | Duration: 1:15:31

Panel Marty Haught (twitter github site) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog witter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Peter Cooper episode Going freelance Going into content Consulting companies Product companies Company culture Developers think in projects Swapping clients at a consulting firm Managerial effect on happiness Dilbert "Bungee Bosses" "Permatemps" When you're trying to decide on a job, do something that you love doing Training Job satisfaction tied to relevance to the company's central mission Job satisfaction tied to how much good you're doing As a beginner it's good to eat, sleep, and drink programming Make sure you find balance Risk Is corporate programming really low risk? Take side jobs Subcontracting Don't quit your day job for your side jobs Risk your time, not your money Use breaks to build products/side projects XKCD Leveling up through your job Consulting shops are flat. Advancement is hard there. Picks Adam Keys' blog post about writing more man pages (James) Readme Driven Development (James) Peepcode Play by Play with Aaron Patterson (James) GNU Make (Avdi) Pinboard (Avdi) Rock Health startup accelerator (Josh) Rock Health youtube channel (Josh) Machete order for watching the Star Wars Saga (Josh) Shlock Mercenary (Dave) Feel the Fear and Do it Anyway (Dave) Do What You Love and the Money Will Follow (Dave) Knights of the Old Republic  (Dave) Knights of the Old Republic 2  (Dave) 48 Days to the Work You Love  (Chuck) No More Dreaded Mondays  (Chuck) 48 Days podcast (Chuck) Passionate Programmer (Marty) Pragmatic Programmer (Marty) How to Do What You Love and Earn What You're Worth by Reg Braithwaite (Marty) Transcript CHUCK: As James pointed out, the man is actually a command line utility for pulling up documentation. JOSH: Yeah but it sucks working for it. CHUCK: This podcast is sponsored by New Relic to track and optimize your application performance go to rubyrogues.com/newrelic. Hey everybody and welcome to episode 44 of the Ruby Rogues Podcast. This week on our panel, we have a guest rogue, that's Marty Haught! MARTY: Hello! CHUCK: Marty haven’t been on for a while. How about you introduce yourself for our audience? MARTY: Sure. My name is Marty Haught and I live in Longmont, Colorado in the Boulder area and I run a small consulting company called Haught Codeworks. I also run the Boulder Ruby Group and organize Rocky Mountain Ruby in the area and sort of that makes me a fielder of all questions. A lot of people come to me and ask me to about getting into the community or getting into programming or Java device and sort of hint to why the topic is of interest to me. DAVE: But Marty, you have been on the show before right? MARTY: I have. Yes. DAVE: Oh thank goodness! I’ve been having some serious déjà vu man. CHUCK: And that folks is David Brady. DAVE: Hi I'm David Brady I'm the Chief Metaphor Officer at Slide Rule Labs. CHUCK: Alright and we have Avdi Grimm. AVDI: Hello again. CHUCK: We also have James Edward Gray. JAMES: We are currently recording this show on the Dave-does-not-normally-exist. How cool is that? CHUCK: That is cool. We also have Josh Susser. JOSH: Good morning everyone. Hey Dave I wanna know what being “chief metaphor officer” is like. DAVE: I actually sat down and prepared for you guys. First I’ll tell you exactly what it’s like. It’s like being the chief SIMILE officer only ---. I tell people I'm the Hannibal Lecter of delicious, delicious written metaphors. It’s my job to make disturbing visuals for people. CHUCK: Oh you are good at that. JAMES: I told you didn’t wanna know. You regret asking now don’t you?

 043 RR Book Club: Land of Lisp with Conrad Barski | File Type: audio/mpeg | Duration: 1:16:42

Panel Conrad Barski Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog witter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Land of Lisp (web...

 042 RR Producing Content with Peter Cooper | File Type: audio/mpeg | Duration: 59:00

Panel Peter Cooper (twitter github blog) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) James Edward Gray (blog twitter github) Discussion RubyFlow Ruby Inside Ruby Weekly RailsCasts Pro Ruby Reloaded The Ruby Show Marc-André Cournoyer JavaScript Weekly HTML5 Weekly Ruby 1.9 video getdpd DSL Threading Concurrency Metaprogramming Rubies in the Rough Exceptional Ruby Getting Ready for Ruby 1.9 Ruby 1.9's Three Default Encodings Ruby 1.9's String Peter's review of the Book of Ruby Beginning Ruby (by Peter Cooper) Ruby Trick Shots Ruby Trick Shots e-book list Self Promotion for Geeks Peepcode Destroy All Software Ruby Quiz O'Reilly Fluent Conference Picks Coffee (Avdi) Land of Lisp (Avdi) Successful Lisp (Avdi) Peepcode Advanced Git (James) Big Bang Theory (James) Why Geeks don't like Big Bang Theory (James) Why Geeks love Big Bang Theory (James) Aweber (Chuck) Forem (Chuck) Rails 3 in Action (Peter) Monocle Magazine (Peter) Stack Overflow discussion on JavaScript being an untyped system (Peter) Transcript PETER: But I think perhaps the older you get, when you start having kids and stuff like that, the things are sort of happening to me, over the last couple of years, you start thinking, is it really important that I go online and really finish off this argument on the Internet? Really, it's not going to have any effect of what I’m doing in like, a week. Let alone a year. AVDI: But Peter but someone is wrong on the Internet! PETER: Exactly. CHUCK: Where? Where? This podcast is sponsored by New Relic. To track and optimize your application performance go to rubyrogues.com/new relic. CHUCK: Hey everybody and welcome to episode 42 of the Ruby Rogues podcast. This week, we have a special returning guess rogue, that's Peter Cooper! PETER:  Hello! CHUCK: So if you’re not familiar with Peter, we’ll have him introduce himself. PETER: Yeah I was on, I think 10 or so episodes and I have fall off because of my training that I was doing. But if you are in the Ruby community, you may know me. I'm the guy that ran Ruby Inside for a long period of time and now I seem to have semi-abandoned it unfortunately.  But I now run Ruby Weekly, Weekly Newsletter and I’m on the Ruby show podcast with Jason Seifer and few other things like RubyFlow which is sort of community news  that anyone post to. So, all over the place. CHUCK: Yup we also have Avdi Grimm. AVDI: Hello, Hello! CHUCK: We also have James Edward Gray. JAMES: I think I may be the high energy panellist today. Everybody else is asleep. CHUCK: (I am.) I'm Charles Max Wood from teachmetocode.com and really quickly, I just wanna mention (because I have people coming to me and going, you do other podcast? I didn’t know that!) So real quickly I’m going to let you know what's out there. There is JavaScript Jabber, where talk about JavaScript, there is Ruby Freelancers, where we talk about freelancing and Ruby. I also do teachmetocode.com. I have a podcast there and a series of screencast. I haven’t done those in a while but I'm going to put them back up so they are on the docket. So keep an eye out for new stuff there Anyway so we're talking about Peter stuff today. PETER:  That sounds so big headed. James came to me and he said because I’d be back in the show, I thought it was for some more kind of like general, like the concept of media and selling screencast and all that type of thing in the Ruby space. And then asked you yesterday that you were like, oh yeah, the show is about you. I'm like, what? JAMES: So it’s like, it’s all about you; we just wanna know what makes you tick. PETER: Because we have so many cool people in the space like Ryan Bates is now doing the RailsCasts Pro and Geoffrey Grosenbach been an inspiration to all of us in some respect, I’m sure.

 041 RR Code Metrics with Bryan Helmkamp | File Type: audio/mpeg | Duration: 1:08:59

Panel Bryan Helmkamp (twitter github codeclimate.com) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog witter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Code Metrics Measuring Code Code Coverage Static Analysis Why should you be looking at metrics? Challenge the way you think about code. Start conversations within the team. flay parse trees Code Climate James' example from Code Climate chafe (too DRY) premature optimization David Chelimsky's RubyConf talk duplication in controllers rails' scaffolding code complexity flog ABC metric (Assignments, Branches, Conditions) saikuro cyclomatic complexity roodi "Metrics Driven Development" composed method pattern "Is all the code in the method at the same level of abstraction?" ~ Bryan Too many methods? or instance variables? Code Smell reek Most of the analysis tools in the Ruby community target Object Oriented code Law of Demeter Immutability Violations git hooks CI (Continuous Integration) metric_fu Play by Play with Zed Shaw on Peepcode automation limited red testing and test suites test coverage tools simple_cov cover_me guard rspec agile processes github.com retrospectives brown bag lunches refactoring git blame unit testing actual cost of code problems Sonar behavioral metrics - how much time or how many times do you encounter a problem or code smell proportional investment custom or idiosyncratic metrics for teams goal directed metric Picks Travis CI (Josh) Love Travis CI (Josh) Mac Tracker (Josh) Ruby Trick Shots (James) Gist on default arguments (James) Stupid Ruby Tricks article (James) Javascript Patterns (Avdi) Summary of GUI Architectures (Avdi) Elmer T. Lee (bourbon) (Avdi) Startup Weekend (Dave) UtahJS Conference Kickstarter Page (Chuck) Mountain West Ruby Conference (Chuck) metric_fu (Chuck) Code Climate (Bryan) Goruco (Bryan) Transcript DAVID: Chuck we wanted to know, did Obi-Wan call and tell you to take the trash out? JAMES: (That's awesome.) CHUCK: Yes. DAVID: That's got to be an abuse of the force. CHUCK: (Oh man.) DAVID: Imagine if Obi-Wan is a force ghost, just like, Luke feed my cat! AVDI: Luke, can you read me peanuts from this latest paper. JOSH: As a ghost I cannot turn the pages. DAVID:  I am bored what you are doing? CHUCK: Hey everybody. Welcome to episode 41 of the Ruby Rogues Podcast.  This week on our panel, we have against the rogue, its Bryan Helmkamp! BRYAN: Hi guys. CHUCK: Bryan, you want to introduce yourself? BRYAN: Sure. So, very happy to be on the show today, my name is Bryan Helmkamp. I work on a number of things in the Ruby community. I’ve done some open source stuff. Most recently, I'm working on a called Code Climate (which we will talk about in a little bit). But I also help out in the New York Ruby community, organizing the NRCrb meet-ups and GoRuCo. CHUCK: GoRuCo, not to be confused with go GoRuCo right? BRYAN: Not to be confused with go GoRuCo. We had the name first, which I think Josh will admit to. JOSH: (Sure.) BRYAN: We authorized the licensing of the Go GoRuCo name. DAVID: Is Go GoRuCo based basically the Lady Gaga of GoRuCo? BRYAN: I think that's apt, yes. CHUCK: All right, also in our panel we have Avdi Grimm. AVDI: Good morning. CHUCK: We also have David Brady. DAVID: Estás usando este software de traducción de forma incorrecta. Por favor consulta el manual! CHUCK: We also have James Edward Gray. JAMES: Wait I am confused. DAVID: I wanted to see how long it would go. JOSH: David you do a great Steven *** (2:25) impersonation. DAVID: Thank you. CHUCK: And finally we have Josh Susser.

 040 RR Text Editors and IDE’s | File Type: audio/mpeg | Duration: 1:07:26

Panel Gary Bernhardt (twitter github destroyallsoftware.com) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog witter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Vim Emacs Textmate Rubymine TECO SmallTalk Text Editor Repl IDE Jetbrains Eclipse Pragmatic Programmer "Evil Wizards" Developer Studio Destroy All Software Sublime Text 2 The Textmate book by James Textmate uses default Mac keybindings aquamacs macvim Emacs' packaging system tramp mode Vim Golf hippie expand #emacs on freenode.net tmux Picks Emacs Wiki (Avdi) American Gods by Neal Gaimon (Avdi) Jawbone Jambox (Josh) EL4R (Dave) YASnippet (Dave) Portal 2 Soundtrack (Dave) Aloha Ruby Conf (James) Tmux/iTerm integration (James) From Bash to Zsh (James) Emacs MetaReturn Apropos (Gary) TestRocket (Gary) Speedo Aquabeat (Chuck) Chrome debugger (Chuck) Remember to get Land of Lisp. We'll be reading it on the 22nd. You can get it at nostarch.com with the discount code RUBYROGUES for 30% off. Transcript JAMES:  Alright, we are talking about editors today, is that the plan? CHUCK: Yes Editors and IDE’s. JOSH: My plan is to subvert the conversation every chance I get. JAMES: So today, the role of David Brady will be played by Josh Susser. CHUCK: Hello everybody and welcome to the Episode 40 of the Ruby Rogues Podcast. This week on our panel we have guest a rogue, its Gary Bernhardt from Destroy All Software. GARY: Woo! CHUCK: Gary, you want to introduce yourself since you haven’t been on the show before? GARY: I suppose I could do that. I run Destroy All Software like you said. I think I'm mostly known for using UNIX and Vim, and to some extent TDD very quickly and so I guess I'm appropriate for the topic at hand. CHUCK: Alright. Okay. Also in our panel we have Josh Susser. JOSH: Hello, good morning! Today I’ll be playing the part of David Brady. CHUCK: (That’s kind of scary.) JOSH: (Just you wait.) CHUCK: Also on our panel, we have David Brady. DAVID: Hey! Ctrl-u for Alt-x, involve, David Brady. CHUCK: I feel better already! DAVID: It is an Emacs joke. And that's why I can’t play the part of David Brady.  I’VE GOT A DOG IN THIS FIGHT! LET’S GO! CHUCK: So, David will be playing the part of Josh Susser.  Also on our panel we have Avdi Grimm. AVDI: Good morning, I am Avdi and today I will be representing the WordStar Editor. DAVID: Too early in 2004. CHUCK: We also have James Edward Gray on the podcast. JAMES: Hey everybody! I am participating in this call via Emacs’ “Skype Mode”. CHUCK: How do you do that? Ctrl- (I don’t even know), “Ctrl-chat”? Anyway, I am Charles Max Wood from TEACHMETOCODE.COM and as you can tell, we are going to talk about text editors and IDE’s today. So, we have kind of had some discussions, some friendly banter back and forth about the Emacs and Vim and some of the other IDE’s out there. So, we thought we would get in and talk about it. Gary’s done some-- DAVID: Wait, Ctrl-chat? You hold down Ctrl and then push the “Chat” key? CHUCK: Yeah, don’t you have one? AVDI: Only Indian keyboards have that. DAVID: I want this! Do I have to learn Sanskrit because I will? JAMES: Please don't encourage him. DAVID: You can take the David Brady out of David. You can put David Brady into Josh Susser (oh, that's kind of awkward) but you can’t get David Brady out of David Brady, that is the important thing. JOSH: Get out of my head David. DAVID: Yeah, I'm in your head. I’M IN YOUR HEAD, MESSING WITH YOUR THOUGHTS! CHUCK: Alright so really quickly, I'm a little curious as to who uses what, primarily. So let’s go around the panel real quick and just see what you used for most of your programming. James, what do you use? JAMES: So,

 039 RR Programming Language Fundamentals | File Type: audio/mpeg | Duration: 1:02:44

Panel Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog witter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion "The fundamentals are hidden by the incidentals" C/Lisp to learn programming Scheme SmallTalk Dynabook BASIC Haskell JavaScript AppleScript Erlang Ruby BASH Actor Models Any language can be a good language depending on the concepts you're conveying You can't teach experience Object Oriented Programming Functional Programming Don't teach the edge cases first "Why would you start with an Object Oriented language and not teach Objects in the first lesson?" Object = Identity + State + Behavior [Ruby]'s as easy to teach as Visual Basic The first language people learn is Excel Avoid ceremony Static Analysis Synthetic Programming on a TI-85 Logo (Turtle) Pascal 8085 bytecodes opcodes Assembly Language Ruby Garbage Collector Memory Management C malloc/free Forth RPN language Picks RubyMine (Josh) PuzzleNode (James) Zoe Keating (James) Radio Lab episode on Zoe Keating (James) in C remixed (James) Star Wars uncut  (David) Apple Magic Mouse (Chuck) Dora The Explorer (Chuck)

 038 RR Web Programming and Updating Frameworks with Yehuda Katz | File Type: audio/mpeg | Duration: Unknown

Panel Yehuda Katz (twitter github blog) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog twitter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion jQuery Prototype.js Thomas Fuchs Scriptaculous Rails Merb Charles Jolley SproutCore Ember.js Backbone.js Amber (SmallTalk Dialect) Ruby Strobe ActionController Zen of Python Node.js Sinatra Rails as an API server Rack Middleware JSON as a View Layer Jbuilder Convention over Configuration JSON to_json is a problem serializer gem to_json is not a method, it's a class Presenter Erector Open Source Software Your job is to provide a level of abstraction that hides what you actually do A negative of using Github. People assume that large projects work like their small project. Project Politics Rails' Asset Pipeline Picks jQuery Cookbook (Avdi) JavaScript Cookbook(Avdi) Comixology (Avdi) msie2vbox (David) RailsConf CFP (James) RubyHeroes (James) Voxer (Josh) Sticky Footer (Josh) AudioName.com (Josh) Chrome Debugger (Yehuda) The Lean Startup (Yehuda) The 22 Immutable Laws of Branding (Yehuda) Windows phone 7 (Yehuda) Gary Bernhardt Lightning Talk (Dave) Scan.me QR code generator (Chuck) JavaScript: The Good Parts (Chuck)

 037 RR Versioning and Releases | File Type: audio/mpeg | Duration: Unknown

Panel Avdi Grimm (twitter github blog book) David Brady (blog twitter github ADDcasts) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Versioning HTML5 VERSION.YAML VERSION.RB Bundler RVM semver.org - Semantic Versioning SEMVER.GEM RAKE Version 1.0.0 Release Process Alphas, Betas and Release Candidates Versioning an API RFC 2616 Managing versioning separate components developed in concert GIT tags, version numbers, path tags 3.0 is the new 1.0 Picks NOCOMMIT (David) Book Yourself Solid by Michael Port(David) faraday.gem (Avdi) gem Maintainers (Avdi) Lasik Surgery (James) Rubies in the Rough (James) codeclimate.com (Josh) The Invisibles by Grant Morrison (Josh) Red Dwarf (Josh) Transcript JAMES:  Okay.  So, whatever we say, we’ll invite Steve to come back and yell at us again for getting… DAVID:  Let’s just bait him in the show, without actually saying we’re baiting him. Let’s just bait him through the whole show. [Laughter] JAMES:  Hilarious. JOSH:  Nice. JAMES:  Hello everybody and welcome to the Ruby Rogues podcast. I’ll be your host today, I’m James Edward Gray II. Chuck can’t be with us today, he had to take his kids to school which just proves his priorities are all screwed up. DAVID:  I wonder if that’s a metaphor. JAMES:  Oh, it’s a metaphor? Wasn’t it euphemism? DAVID:  Euphemism, yeah. JAMES:  Oh, sorry. With us today, as you can tell because he’s already interrupting me, is David Brady. DAVID:  Hi, I’m David Brady and I interrupt people. JAMES:  Also, Josh Susser. DAVID:  Hi, I’m David Brady and I interrupt people. [Laughter] DAVID:  Sorry. JOSH:  Oh, it’s going to be that kind of episode. Hey guys, it’s Josh. Good morning. JAMES:  And Avdi Grimm. AVDI:  Hello again. DAVID:  He was waiting for me. That was awesome! [Laughter] JAMES:  He was afraid. David put the fear in him. JOSH:  He wasn’t waiting for the collision to back off and retry it. JAMES:  Right. This is episode 37.0.1 release candidate three today where we will be discussing versioning and release process and things like that. This topic was Josh Susser’s. So, I’m going to let him tell us where we’re going with it. JOSH:  Okay. So, versioning and release process, obviously two intimately related topics. I asked yesterday on Twitter for some particular questions people had around these topics. So, we’re going to be trying to address those things as we go. I think we can get to most of those. So, versioning is all about the numbers that you put on your package, you know, your library or your gem or your application or your API. They get used for a couple of different purposes. And then, release process is, at some level, it’s the moment at which you’re changing the numbers on your version, but the process around that and how to make the two fit together as painlessly as possible for your consumers. How does that sound, James? JAMES:  Sounded awesome to me. JOSH:  I’m all defined out today. [Laughter] JAMES:  Josh, my main question is what made you want to talk about this? JOSH:  Oh, what made me want to talk about this? My ongoing theory around the Rails project and the lack of a coherent release process, how about that? [Laughter] DAVID:  Josh, you promised us a good rant. JOSH:  We’ll get there. I’ll get there. DAVID:  Okay, we’ll do it in version two. JOSH:  Yeah, right. AVDI:  Well, Josh, just to help you along, hasn’t HTML5 proven that release processes and versioning don’t matter anymore. JOSH:  No. [Laughter] JAMES:  Wait, what? JOSH:  What are you talking about? AVDI:  HTML5 is officially now an ongoing rolling, sort of, troll? A mystery standard that, they officially stopped working towards a un-HTML5 definition and it is now defined as, whatever we put in the standard last week. Forever, for all eternity,

 036A RubyGems Bonus Content | File Type: audio/mpeg | Duration: Unknown

Panel Nick Quaranto (twitter github blog) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Funny Gem Names rack-rewrite informal metadata slimgems

 036 RR RubyGems | File Type: audio/mpeg | Duration: Unknown

Panel Nick Quaranto (twitter github blog) Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) James Edward Gray (blog twitter github) Josh Susser (twitter github blog) Discussion Jekyll Rubygems.org Rubyforge github gems Jeweler Tom Preston-Werner (from github.com) gforge a Gems API hoe gemcutter gem push Ruby Inside rubygems Ruby Central bundler module counts gemspec bones rakegems Picks cinch irc bot (James) Skyrim (James) Catherine (James) Addressable URI  (Avdi) Johnnie Walker Double Black (Avdi) Gemnasium (Josh) Screaming Monkey (Chuck) The Office (Chuck) showoff.io (Nick) Transcript NICK:  I know you guys had an episode where you tore apart the code and I thought that was really cool and weird to listen to. [Laughter] JOSH:  We’re going to ask you about your feedback about that on the show. NICK:  [Laughs] JOSH:  We want you to rate our reading. JAMES:  Rate our reading? NICK:  A dramatic reading. CHUCK:  Hello everybody, and welcome to Episode 36 of the Ruby Rogues podcast. This week on our panel, we have guest Rogue, Nick Quaranto. NICK:  Hey ho. CHUCK:  Do you want to introduce yourself really quickly? NICK:  Sure. I’m Nick, I live in Buffalo, New York. I work for 37Signals and I’ve hacked a lot on RubyGems in RubyGems.org, more than any human should possibly want to. Although not the most, I don’t hold the top banner there. CHUCK:  Alright. Well, thanks for joining us. We also have James Edward Gray. JAMES:  I’m back. CHUCK:  Yeah, it was kind of different without you. JAMES:  It was really weird being on the other side. I got to listen to Ruby Rogues as a consumer instead of a producer. CHUCK:  [Chuckles] Josh Susser. JOSH:  Good morning, folks. CHUCK:  Avdi Grimm. AVDI:  Hello again. CHUCK:  And I’m Charles Max Wood from TeachMeToCode.com. And this week, we’re going to be talking about RubyGems, kind of where it came from and then all the good stuff that surrounds that. So, it was suggested by Josh. So, I’m going to go ahead and let him kind of lead us into this topic. JOSH:  Okay, cool. So, RubyGems.org, that’s this website that lets us see what gems are available and it also drives the downloading of RubyGems when you type Gem Install, whatever. So, there’s a whole website there. And Nick is the driving force behind that so we wanted to talk a bit about the history of how that came to be and what it does and what the future is. Does that sound okay? NICK:  Yeah. JOSH:  Okay. CHUCK:  Yeah, but what does RubyGems have to do with anybody programming Ruby really? JOSH:  Well, what does it? Somebody tell me. CHUCK:  Well, I remember when I first got into the Ruby community and we had, what was it? Rubyforge? And so, I kind of expected collective groans but it did actually work mostly. NICK:  I groaned internally for you. [Laughter] CHUCK:  So, I’m wondering, what were the issues with Rubyforge that prompted the gemcutter rewrite? NICK:  That’s a good question. So, I got into gem publishing around when Jekyll started to get popular and basically, that’s the thing that runs GitHub pages. And I knew nothing of RubyGems. I kind of knew Ruby, I was doing some Rails stuff and I was actually looking for open source projects to contribute to. I actually have a post on Reddit from forever ago that’s like, “I’m in College and I heard this open source thing is cool. What do I do?” And somebody pointed me at Rubinious and I went running the other way as fast as I could. But then, I found Jekyll and I decided to rewrite my blog in it. And from there, I basically knew I had to hack some things into it, I had to hack some features and I found out about gems that way. It was more of like a natural thing, like, “Oh, I need to hack this feature in. How do I do that?

 035 RR Estimation | File Type: audio/mpeg | Duration: 1:15:07

Panel Avdi Grimm (twitter github blog book) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp) David Brady (blog twitter github ADDcasts) Josh Susser (twitter github blog) Discussion Planning Poker Velocity Pivotal Tracker Agile Development Ugh!knowns Picks Rolls Mic Mute - Rolls MM11 (Chuck) Kindle Touch (Chuck) Blanton's (Avdi) Destroy All Software (Avdi) http://memegenerator.net/instance/12556174 (Josh) George Takei (twitter facebook) (Josh) Make it Paleo: Over 200 Grain Free Recipes For Any Occasion (Josh) primalpalette (Josh) A Discipline for Software Engineering (David) Class Construction in C and C++: Object-Oriented Programming Fundamentals (David) Snuff: A Novel of Discworld (David) Transcript Warning:  Pants not found. Abort, retry, or ignore? [Laughter] CHUCK:  Oh, man! JOSH:  I'm selecting ignore. DAVID:  Usually, when I run that, I get the warning, “Pants not…” And people are like, "Abort! Abort!" CHUCK:  [Laughs] JOSH:  What do we do without James? DAVID:  Have I told the joke about talking wheelchairs? CHUCK:  Hey everybody and welcome back to Episode 35 of the Ruby Rogues podcast. On our panel today, we have Avdi Grimm. AVDI:  Hello and I estimate that I need more coffee. CHUCK:  We also have David Brady. DAVID:  Hello…and holy crap!  I estimate that there is exactly one Labrador Retriever in the pond in front of my house. Holy freaking crap! I have triple data to back this up. CHUCK:  [Laughs] Oh dear! We also have Josh Susser. JOSH:  Hey, I estimate this episode will be complete in seven and a half minutes. CHUCK:  And I'm Charles Max Wood from Teach Me to Code and I estimate that I will be off of the antibiotics in about a week. DAVID:  Woohoo! How soon do you estimate needing them again? Because it's all about lifestyle, my friend. CHUCK:  I don't even want to think about it. Alright, let's get into this. We are going to talk about estimating today and I think this was actually a topic that was suggested by James. So, I guess he needs help estimating just like the rest of us. DAVID:  Did he want to do it? Or did he just want to inflict it on us? [Laughter] DAVID:  I want to know if we're stealing the chocolate pie from the window sill or if we're stealing the turd from his bathroom? Is he going to hear this episode and go, "Ahhh," Or go, "Ha, ha!" [Laughter] CHUCK:  We'll ask him when he’s back. He'll be back next week. DAVID:  No! We should estimate it! [Laughter] JOSH:  We should predict! CHUCK:  If we estimate somewhere between is that like poop versus pie content? DAVID:  Poop versus pie? No, poop versus pie, actually poop over pie is how many times a dog will poop in a circle. [Laughter] DAVID:  Or in a half circle, I guess. Otherwise, a full circle would be poop over two pie. JOSH:  Or Tau. CHUCK:  There we go! DAVID:  Or Tau, yes! CHUCK:  Who is it that keeps pushing Tau, was it Michael Hartl? JOSH:  Yes, everyone should read his Tau Manifesto. CHUCK:  Alright. So anyway, yeah, his description says, “For me, the hardest part of programming is still estimation.” We talked about some ways to make better estimates, some ways to avoid making an estimate and what to do when you have no choice. I think this is kind of interesting just because when we're talking about estimation, in a lot of cases, we've gone beyond the scope of just programming. This really comes down to your ability to solve the problem in the amount of time you thought it would take you. So, it's a person problem, not an actual programming problem per se. DAVID:  And a person problem can be extrapolated if you work at a company that pays you a W2 wage. You are basically betting the company's money and time and schedule that you can finish what you say you can.

Comments

Login or signup comment.