Tuesday, May 16, 2006





Direct Shipping Record


I really like that fact that Andy and I still ship direct orders in-house: we’re not currently using a fulfillment service. It means we can take that little bit of personal care with the packing, and we can correct minor order problems on-the-fly. We also get to see first-hand just what is going on. We see a surprising number of orders for multiple books, and it’s fun to track which books tend to sell with others. We also get the occasional surprise, like the order in the picture for 12 titles. Even more surprising is the fact that it was from Australia.

Sunday, May 14, 2006

Agile Toolkit Podcast : RailsEdge 2007 - Dave Thomas - Monoculture, Music and Erlang ... Oh My

Link: Agile Toolkit Podcast : RailsEdge 2007 - Dave Thomas - Monoculture, Music and Erlang ... Oh My

Bob Payne recently interviewed me at the Reston No Fluff Just Stuff show. We chatted about agility, the Dreyfus model, Java, Ruby, Rails, and functional languages, all against the gentle backdrop of the hotel’s Muzak (so at least you can tell there are no edits…).

Sunday, April 16, 2006

Rails is More...

One of the emerging benefits of attending a Rails Studio is membership in the Studio mailing list. The posts in that list are consistently on target.


A few weeks back, Eric Knapp posted a long message which I feel nicely sums up the difference Rails makes. It isn’t an issue of Rails being substantially different to the alternatives. It’s more that the lowered barriers to entry enable a broader base of people to benefit.


Anyway, with Eric’s permission, here’s the body of his post. It was titled


Rails is more than I thought


This past Friday I had a meeting with a client who is the director of educational research and IT at a medium sized public school district. I’m sure that you are all aware that school districts are under intense pressure to cut their budgets and expenses. My client can no longer replace any IT employee when someone leaves. They are down to one network administrator (!) and two programmers. Their programmers are just maintaining an old legacy system and really don’t do any new development anymore. New development is done by student interns from my Java program at my college. My students really struggle with all kinds of limits that are set by the district’s policies, procedures, and equipment.


My client has also been struggling with how to move to the future. He is under lots of pressure to cut even more deeply. There are those within the district who want to end all development of new things and only use off-the-shelf applications, as-is, with no customization.


My client is not an IT person and he knows nothing about programming. But, he is a very smart man and is very perceptive. My meeting started with an overview of his current development efforts with my students. Then I started sharing rails with him. I like rails and I tend to be enthusiastic. About ten minutes into my presentation he interrupted me and said, “So, this could save my IT department, couldn’t it?”


I was really taken off guard by this! I simply answered, “Yes.” He took over our meeting and started talking about all the things that he and his people would like to do, but just can’t afford. He talked about all the ideas that are shared with him by his staff and teachers that also are just too expensive. My interns have started to help him and we have worked very hard at trying to bring Java to his department. But, they are just too slow, everything takes too long to be viable anymore. I believe that we are now going to give up on Java.


We now have scheduled a kick-off meeting for maybe bringing Ruby on Rails to this school district. Later he told me that this has given him a little bit of hope. I might be able to have good geek fun while helping children at the same time.


This is exciting stuff! Rails appears to have reached some sort of critical mass of productivity where ideas that live in the hearts and minds of most people have a chance of getting out and onto the screen. I’m starting to ask students and friends what those ideas are. I am getting really interesting answers.


I hope I’m not making too much of this, there is still lots of work to be done and we will have to get grants to do it. But, there are possibilities now where there weren’t any. There is a little bit of hope. Sounds good to me. Many thanks to the rails community and to this group for helping me get to this point.

Thursday, April 6, 2006

E Pluribus Anum

Went to a school production of The Wizard of Oz last night. Good fun. However, the Wizard had a slight hiccup. The line is supposed to go



Therefore, by virtue of the authority vested in me by the Universitartus Committiartum E Pluribus Unum, I hereby confer upon you the honorary degree of ThD.



Unfortunately, it came out E Pluribus Anum.


Which may well be the official motto for the wisdom of crowds…

Tuesday, March 14, 2006

R-Rails Gets R-Recognized

image


No, I’m not stuttering. This evening, at the Software Development Jolt Awards at SD West in Santa Clara, Agile Web Development with Rails received the Jolt Award for best technical book, and Rails 1.0 won the Jolt for best web development tools.


I have to say, when I saw that both the book and the framework were up for awards, I was nervous, thinking that the judges might not want to vote for Rails in two separate categories. The fact that they did says a lot for the way Rails is now a mainstream player in the enterprise software world. It’s clear the tipping point is behind us now, and we’re a player.


Congratulations to DHH on his Jolt. And congratulations to the Pragmatic Bookshelf: this is our second Jolt Award in three years.


And, mostly, thanks to the Ruby community for providing the environment in which all this can happen. I’m really proud of us all.

Sunday, February 26, 2006

Annotate Models Plugin

Rails model files contain no information on the tables they represent. This is a good thing in general, because it reduces duplication—add a column to a table, and there’s no configuration to update in the model.


However, when you’re writing code, it’s sometimes nice to be able to see just what attributes a model has.


Enter annotate models, a really trivial Rails plugin I hacked up in the plane back from the first No Fluffof the year. The plugin adds a comment block to the top of each model file, documenting the schema. If you update the schema, run it again and it updates the comment.


  # Schema as of Mon Feb 27 00:55:58 CST 2006 (schema version 7)
#
# id :integer(11) not null
# name :string(255)
# description :text
# image_location :string(255)
# price :float default(0.0)
# available_at :datetime
#

class Product < ActiveRecord::Base

validates_presence_of :name, :description
. . .

Install using:


  > script/plugin install http://repo.pragprog.com/svn/Public/plugins/annotate_models

and run with:


  > rake annotate_models

It only handles models directly under app/models. And, as it’s new, you’d be advised to back up your model files before running it.

Monday, February 6, 2006

Rails Guidebook is Full

I’m blown away!




The Rails Guidebook, our day of pre-conference training before RailsConf, is now officially full. Chad Fowler and Jay Zimmerman, who are handling logistics, twice negotiated to get bigger rooms, but we’ve had to draw the line at 150.


Yes, 150!


One hundred and fifty people are coming to learn about Rails, and have agreed to donate at least $40 to charity. Many folks have already donated a lot more. (And, remember, the three biggest donations get some VIP treatment.) I’m so, so proud of our community for making this happen. Ruby folks have always been nice to be around. To see them contributing back to the outside world like this just confirms it.


Thank you all.


(If you are coming, remember to get your donation in, and bring your receipt. See you there.)