Hoedown in 10 minutes
August 12th, 2008
Couldn’t be there? Watch the video.
Ruby Hoedown '08
August 11th, 2008
This past weekend I attended the Ruby Hoedown in Hunstville, AL. As one of the members of the talk selection committee, I don’t mind saying at all that I thought the line up was fantastic.
I really liked Chris Wanstrath’s anti-keynote. I say anti-keynote, because he basically wrote an essay and then presented it to us without slides. He said later that he was a better writer than speaker; and I’d say it definitely worked. The essay was funny and motivating. I couldn’t do justice trying to summarize it, so make sure to check out the video when it shows up on Confreaks, hopefully next week. (Though not bringing GitHub t-shirts was a fail)
We got a two-for-one talk from Rein’s talk about best practice patterns. The best part was the first talk, which covered such topics as unfactoring: undoing common refactorings for job security. After all if you refactor your code so anybody can understand it, then anybody can maintain it too, so you’re programming yourself out of a job. Bad idea. And if you DRY up your code, you will be able to add new features more quickly. But why would you want to do that if you get paid by the hour?
The lightning talk that really stood out to me was Bryan Liles TATFT version of his testing talk. The slides for the whole thing are up on his site, so it’s worth looking through while waiting for the video.
Another high point was Giles Bowkett’s talk on Archaeopteryx: A Ruby MIDI Generator. I loved the way he just jumped right into the demoing his app for us without giving us any background. So many talks start off slow before getting to the good stuff. He started with it by demoing what Archaeopteryx could do. The title was kind of misleading though, because the talk was really about doing stuff you love, because you love it. Which is why we have this app now.
Of course Friday night was the Hashrocket after-event party. In the RV. In the parking lot at the Marriott. Thanks for doing this guys. The party was definitely worth being exhausted the next day. Best part? The hand-made beer pong table Yes, it actually made it through a game of beer pong.
In other big news, Jeremy McAnally is planning next year’s Ruby Hoedown in Nashville. The plan now is to make the conference free to attenders. Hopefully I’ll see you there!
History meme
April 28th, 2008
Look my first meme!
serenity:~ redinger$ history|awk ‘{a[$2]++} END{for(i in a){printf “%5d\t%s \n”,a[i],i}}’|sort -rn|head
147 git
67 rake
22 ga
21 cd
20 ls
16 less
15 serve
15 script/generate
15 curl
14 rm
ga is my alias for git adding and commiting.
Tag Matthew & Ruby Red Rick
PrepChamps is Hiring
April 4th, 2008
The company that I left the world of consulting for, PrepChamps is hiring another full time developer. You'll probably notice some ads around at the various job sites if you are looking, but I'll send you to Working With Rails.
Just for my own info, let them know you read about it on my blog if you apply. Good luck!
There's a Tarantula in my Story!
February 27th, 2008
Relevance announced Tarantula this evening. The description says "It crawls your Rails application, fuzzing data to see what breaks." I thought that sounds fun, so off to grab it...
The instructions tell me to "Create a Rails integration test." I haven't done that in quite a while, having sipped the RSpec Kool-aid. I wonder if it will work with the Story Framework?
Well, almost.
I had to make a couple small changes to rails_integration_proxy.rb
Line 30:
status = integration_test.send(verb, url, *args)
Line 32:
patch_response(url, response, status)
Line 38:
if response.code == '404' || (status == 500 && File.exist?(static_content_path(url)))
Everything else seemed to work!
Story: Tarantula Scenario: Fuzz my data Given a logged in fanboy 'Peter_Parker' with password 'AuntMay' Then Tarantula should 'bite me'
require File.dirname(__FILE__) + '/../../spec/spec_helper'
require 'relevance/tarantula'
steps_for(:tarantula) do
Given("a logged in fanboy '$login' with password '$password'") do |login, password|
post_via_redirect '/login', :login => login, :password => password
end
Then("Tarantula should 'bite me'") do
tarantula_crawl(self)
end
end
Agile RTP (ARTp) Lightning Talk
February 26th, 2008
The next Agile RTP meetup will be Lightning Talks. I'm going to be doing one. So come on down and see what's on the mind of local Agilists.
My talk will be about Rails stories:Scenario: Rails story runner evangelism Given an audience at 'a lightning talk' When I demonstrate a plain text story in Rails Then the audience will find enlightenment
Restful Authentication & RSpec
November 28th, 2007
Made the move to RSpec, but still generating tests from Rick Olson's Restful Authentication plugin?
Good news! I've just committed a change that generates specs instead of tests. As long as you have RSpec installed in your Rails project, just use the plugin as normal, and voilĂ , you now have specs!
Please let me know if you have any problems.Looking for Ruby on Rails Work
November 23rd, 2007
I am currently in the market for more clients. I am particularly seeking Ruby on Rails work; though I would certainly consider any kind of Ruby work. I have been doing freelance contract work full time since 2000, so I can provide plenty of references.
I consider myself a Test-Driven, Extreme programmer. This fits in particularly well with the Rails model of software development. If I can help you with a project, or if you know of someone looking for help, please contact me at redinger at agiledisciple.com, and we can talk about what I can do for you.
Raleigh.rb: Forging Broadsword
November 20th, 2007
At the last Raleigh Ruby Brigade meetup, Adam Williams & John Long presented the work they've been collaborating on called Broadsword.
Full Disclosure: I have spent some time in the basement with Adam and John working with Broadsword, so I might be just a little biased.
So, what is Broadsword? In a sentence - it's Quickbooks, taken to the web, for freelancers. Very specific niche market.
The first thing Adam & John talked about was their inspiration for creating Broadsword. They started off referencing the book "Wild at Heart", by John Eldredge. Some of the points they took away from this book were that they felt "it was time to break free from the cage of working for others" (and which of us developers hasn't felt that at some point), and "God has given us the desire to build something."
They referenced Robert Kiyoski's Cashflow Quadrant - and talked about moving from the Employed side of the graph to the business owner/investor side. This is a point I think some freelancers miss. Even when you are "self-employed," you are still employed. It isn't until you become a business owner, or an investor that can really stop being employed. Which brings me to their next point - they also want to enable people to make the same move from the employed side of the graph.
Adam & John talked about their process. Which is very much influence by such things as Agile development (a personal favorite of mine) and Getting Real (another personal favorite of mine). It appears to me they are using a modified Extreme Programming process that is optimized for two people. One thing they are able to use to their advantage is that they are both experienced programmers; and adding to that John is also an accomplished designer. Their basic process is to brainstorm what feature needs to be added; John mocks it up and produces an HTML prototype, and then hands it off to Adam for implementation. All the while, the two are communicating, so it's not "tossing it over the wall" at any point.
Finally they covered some of the tools they use in their development.
- serve - Rapid Prototyping
- Scenarios - Fixtures are dead
- RSpec - Better Testing
- spec_integration plugin
- spec_goodies plugin
Broadsword looks like a great app, looking forward to when we can finally start using it!
As a note, the December Raleigh Ruby Brigade will be merging with the Trilug December Social. This will be a great event to meet other people outside of the Ruby world, and get some great Google swag at the same time!
