When we first built BuildingWebApps.com, it was a dedicated application. As we’ve mentioned previously, we’ve since rewritten it as a multi-tenant application, in support of our new business, Webvanta.
We’re pleased to announce that the second site on the platform is now live: Spartina.com is a “knowledge base for entrepreneurs ready to turn their ideas into great Internet businesses.”
You’ll see some visual design similarities to BuildingWebApps, which are not due to any platform constraints but simply to the fact that the same designer created both designs and reused some elements for efficiency. The Webvanta platform enables each site to be completely re-skinned.
If you’re interested in creating your own knowledge base site on any topic, please send us a message and we’ll get in touch.
It’s been awfully quiet here on the blog, and as is often the case, that doesn’t mean we’ve been slacking—quite the contrary, we’ve been nose-to-the-grindstone.
Since our last post here, we’ve been busy:

And, today we’re having our coming-out party, of sorts, at TechCrunch 50. We’re not one of the 50 companies that will be on stage, but we’ll be showing our stuff in the DemoPit.
If you’re a web designer who is intrigued by the idea of a more powerful, easier-to-use platform for building and deploying sophisticated web sites with no programming, head on over to Webvanta.com and sign up for our beta invitation list. We’re still in alpha testing now, but we plan to gradually open up to beta testers in the next two months.
Yesterday was a big day here at BuildingWebApps/Collective Knowledge Works.
We have transitioned to a new code base, in which nearly all of the code underlying the site has been rewritten. Initially, the site should look exactly the same, and have all the same features, so in one sense this was a great deal of work whose goal was to have no visible change.
We had a few rough spots yesterday, but things seem to be in pretty good shape now, so please let us know if you encounter any problems.
So why did we do this? The big change is that our application is now a multi-tenant system, capable of hosting multiple sites within the same application. And in the process, we’ve cleaned up the system architecture and made it far more extensible.
We’ll be talking more about what we’re doing with this in the fall, but suffice it to say that anyone will be able to build a site like BuildingWebApps on our platform.
Now that we’ve made it through this big transition, we’ll get back to adding features, and you’ll see some results of that effort before too long.
At the same time, we’ve switched to Engine Yard as our host. The site is now running on two load-balanced slices, giving us greater redundancy and scalability, as well as the superb hands-on support from the Engine Yard team. Engine Yard is graciously providing us with these slices as the premier sponsor of the Learning Rails online course.
Kudos to our CTO Christopher Haupt and a small cadre of contractors (with Phil Misiowiec making the largest contribution) for pulling this off. (I wrote a large part of the original application, but I’m now primarily the business guy and am leaving most of the coding to the pros.)
I had a great time at Startup Camp and Foo Camp. It’s quite an amazing collection of folks that O’Reilly brings together.
I’ve posted an article with a few pictures and other tidbits.
The web is such a wonderful facilitator of publishing and communication that it’s almost impossible not to be chronically overwhelmed by the amount of information available.
I’ve been working on my information diet for years, having dropped most print newspapers a few years ago, then cut out most magazines, and more recently having worked toward an effective approach for dealing with the incredible amount of information available via RSS feeds.
Even if I were to focus my interest solely on startups, Ruby on Rails, marketing, writing, or photography, there’s far more content produced every day than I can hope to (or want to) read. Striking the right balance between reading enough to stay informed and find things of interest, but not so much that it takes too much time or feels burdensome, is a real challenge.
I’ve just posted an article on my evolving feed-reading habits over on my personal blog.
What’s your strategy?
We’re thrilled to have been selected as one of the seven companies to participate in Startup Camp. This promises to be a fantastic opportunity to learn from a lot of great folks.
If you’re wondering just what it is we’re up to, take a look at our About Us. As you’ll see, it’s somewhat divergent from the BuildingWebApps site, but built from the same technology base. We’ll have more to say in the coming months.
Michael and I are at RailsConf this week and joined a panel with our podcasting and screencasting colleagues in the Rails community. See our combined slides for some great tidbits and behind-the-scenes information.
<object height='355' width='425' style='margin:0px'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?doc=podcastscreencastingonrails-1212294960722738-9' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /><embed allowfullscreen='true' type='application/x-shockwave-flash' src='http://static.slideshare.net/swf/ssplayer2.swf?doc=podcastscreencastingonrails-1212294960722738-9' allowscriptaccess='always' height='355' width='425'></embed></object>
| View | Upload your own
Mike Clark, primary author of the new Pragmatic Programmers book Advanced Rails Recipes, will be holding a book signing meet-and-greet at RailsConf 2008 in Portland OR, this Friday. It will be at the Powell’s Books booth during the 12:30 lunch break.
Both Michael and I contributed recipes to the book and one or both of us plan on being at the signing for a little while. Come on by if you are at the conference and say hello!
Besides the birds-of-a-feather (BOF) meetup at RailsConf 2008 that Michael recently blogged about, we will now also be doing a panel about podcasting and screencasting with our podcasting colleagues: Geoffrey Grosenbach of the Ruby on Rails podcast, Ryan Bates of Railscasts, and Gregg Pollack of RailsEnvy.
This talk will be at 4:25pm on Friday, May 30th. We’ll be talking about the nuts and bolts of podcasting and screencasting and getting things warmed up for the BOF general discussion. Come join us if you are in Portland for RailsConf 2008!
Together with Geoffrey Grosenbach of the Ruby on Rails podcast, Ryan Bates of Railscasts, and Gregg Pollack of RailsEnvy, we’re organizing a meetup at RailsConf to talk about the future of podcasting and screencasting for Rails developers.
If you’ve been listening to our Learning Rails course or any of the other Rails podcasts or screencasts, this is your chance to make it a two-way conversation and help guide future efforts.
We’ve proposed this as a Birds of a Feather (BOF) session for 9 pm Friday night. The conference organizers won’t make their BOF selections until the 26th, so for now the location of the session is unknown. Check back here for updates.
I hope to have a chance to meet a bunch of our readers and listeners there.
This is a summary of some of the challenges we’ve had with our Ruby on Rails Git migration and attempting to use submodules for vendor/rails and various plugins. We’ve run in to problems switching and merging between branches with and without submodules. Once I work this all out, I’ll write up a “real” article for BuildingWebApps.com.
Sorry, it was a really long night, so I’m a bit Ga Ga. This is a summary of some of the challenges we’ve had with our Git migration and attempting to use submodules for vendor/rails and various plugins. We’ve run in to problems switching and merge between branches with and without submodules. Once I work this all out, I’ll write up a “real” article for BuildingWebApps.com.
For our current project, we’ve made the migration over to the Git distributed version control system. I’ve been using Git for tracking 3rd party open source projects, as well as using Mercurial. I’m still learning the ropes. Git’s support for branching was the main selling point for us. We’ve been using Subversion for a long time with great success, but the biggest weakness has been how much a pain it is to have multiple branches and deal with multi-way merges. While switching to Git requires a bit of a learning curve, it isn’t too bad.
Git makes working with multiple branches a relative breeze. Last week, I decided to give the submodule feature a try for tracking Ruby on Rails (vendor/rails) Edge, as well as a to migrate various plugins over. We used Piston in Subversion to good effect, and submodules seemed adequate as a replacement. There are numerous articles about setting up submodules, a couple of good ones are here and here.
Our scenario may or may not be that unique. We have a master branch (and other working branches) that represent our “version 1” code tree. We are doing a large refactoring in a set of branches for “version 2”. The two lines are running in parallel, and we occasionally merge/rebase from version 1 over to version 2. Version 1 is frozen around Rails 2.0.2. Version 2 is tracking Edge. I’ve set up version 2 to use submodules for vendor/rails as well as a number of our plugins. We are using Git 1.5.5.x at the moment.
The problem appears to be when you swap between branches of version 1 and version 2 (those without submodule and those with, respectively). There may be other problems, but we are tracking this down (interestingly, I have seen different results between Git 1.5.4 and 1.5.5, bugs?).
Starting with a clean clone of the remote repository (we are using GitHub quite happily), all starts out good. The master branch is clean and version 1 looks good.
I then switch to version 2 with a git checkout --track -b version2 origin/version2. Remember that version 2 is using submodules for vendor/rails and some plugins (e.g. rspec, rspec-rails, acts_as_versioned, etc.). I see delete messages for vendor/rails and the submoduled plugins. Interestingly, if I then do a git status, I see two entries (one for vendor/rails, another for one plugin—acts_as_versioned in this example). I don’t see the other plugins. The correlation here appears to be that the delete status only exists for those plugins that exist currently on the master (version 1) branch.
If I do git submodule init next, I see entries for all of my submodules being “registered”. If I then immediately do a git submodule update, I see the standard updating/downloading type messages and get the correct versions. Now if I git status, all on the version2 branch appears “clean”.
At this point, if I want to switch back to master (version1 branch), things go a bit crazy. If the immediate next command is git checkout master, I get the dread “error: Untracked working tree file ‘vendor/plugins/acts_as_versioned/CHANGELOG’ would be overwritten by merge” error (where the file may be different). Again, this appears to be in a directory where in the version 2 branch it is a submodule, but in the version 1 branch it is not.
Now I’m stuck. Various combinations of git clean don’t seem to help. git status insists the working directory is clean.
So, how do I go back?
If I git checkout master -f, I can switch. But, and a big but, the plugins that aren’t supposed to be in this branch and a variety of files from vendor/rails appear when doing a git status. If I clean those with git clean, I get a whacked directory tree.
Pending figuring this out, I’m switching back to the static inclusion of files in the vendor area and tracking them by hand. I’ll document a solution when found (or if anyone can set me straight or send pointers).
Among the vast diversity of applications written in Rails, you’ll find many that meet personal or business needs. A few go for higher goals, addressing the needs of less fortunate people worldwide.
Here’s a couple examples that I encourage you to explore, and donate or loan some money:
These are striking examples of how we can use the power of web applications to connect people that otherwise would be isolated and spread some of our high-tech affluence to other communities.
We’ve just posted our seventh screencast, the 15th lesson in the Learning Rails series. In this screencast, we add the concept of subpages, so we can have pages that don’t appear in the main navigation but instead show up as second-level navigation links on their parent page. To do so, we use a self-referential has_many association.
There’s lots more than can be done to continue refining our little content management system, but it’s rapidly approaching a useful level for small sites. We’ll wrap up some loose ends in the next screencast, and then move on in future screencasts to take care of the Contact Us and Resources pages. Then we plan to circle back and fix up the tests.
We’re thrilled to see that several thousand people are following the screencasts, and that the comments we’ve received have been overwhelmingly positive. If you’d like to help spread the word, pick up our Learning Rails ad and include it on your blog.
The sixth screencast is posted and should be propagating to iTunes and our email lists now. In this episode we do something quick (show setting up acts_as_textiled), then show something else that should be quick, but turns in to a reality check.
Michael walks through “dropping in” in-place editing to our simple CMS, and quickly demonstrates what happens when you have to scratch the surface of Rails: things don’t work as documented, things may not have documentation, plugins can quickly drift out of sync with the current releases of Rails (edge or otherwise), you may have to sift through Rails bug reports to find “just the right patch”.
Blue Oyster Cult may have gotten it right with Hot Rails to Hell.
The great thing (???) is that almost certainly someone has had to cover this ground before and a little targeted use of Google will yield a clue. The thing that absolutely sucks is that almost certainly someone has had to cover this before, proposed a fix that is gathering dust, and you have to dig for it.
Of course, that’s where we hope to help…trying to expose the rough, dark edges AND help provide useful documentation/links/screencasts that will smooth those corners.
Spurred on by Clay Shirky’s talk at Web 2.0, I picked up his new book Here Comes Everybody, subtitled The Power of Organizing without Organizations. I’ve just finished it, and I can’t recommend it highly enough.
There’s been a slew of books on the social and business implications of the Internet, from Wikinomics to Web 2.0: A Strategy Guide, but for the most part I’ve found them a little dry and not especially thought-provoking. I got a lot more out of Here Comes Everybody, and enjoyed reading it more.
The book paints a compelling picture of how the the Internet has demolished barriers to publishing and forming groups. While this is hardly a new observation, I found the book’s exploration of the implications of these changes to be thought provoking, even though I’ve read an awful lot in this domain.
This week’s screencast (lesson 13) rounds out the Admin pages refactor tasks we started in lesson 12. When we were recording the original lesson 12, it ran way over our typical target of 25 minutes or so, so we broke it into a part 1 and part 2. I’m not a good enough video editor to fix up the prompts you see in the lesson 13 screencast in post-production, so yes, they still say lesson 12. Sorry for any confusion!
Behind the scenes, we are still working on our tool set and are discussing the best way to deliver the videos. Right now, we provide the full Quicktime movie for either download or playing directly in your browser/iTunes/RSS Reader. I’m contemplating putting zipped up versions online too, so those of you who download the movies for local/offline play can benefit from smaller downloads. If this interests you, drop me a line here or via our BuildingWebApps contact form.
-Chris
It’s interesting to see how widely browser stats vary among sites. Here’s the data for this site and two others I operate, for the past 30 days:
| BuildingWebApps | BoatingSF.com | Financial Firm | |
| IE | 14% | 65% | 89% |
| Firefox | 65% | 26% | 7% |
| Safari | 17% | 8% | 4% |
Breaking down the IE usage between 6.0 and 7.0 also shows a lot of variation:
| BuildingWebApps | BoatingSF.com | Financial Firm | |
| IE 6 | 34% | 58% | 66% |
| IE 7 | 65% | 41% | 34% |
So for BuildingWebApps, we’re just about at the point where we’re not going to worry about IE 6—it represents less than 5% of our traffic, and it’s shrinking every day. But for the other sites, IE 6 unfortunately remains a big part of the audience.
When we add blog articles to our database, we like to identify the author to give credit where credit is due. We also need to be sure that posts that we find through Google searches are still relevant.
It’s amazing how often it is difficult, and sometimes impossible, to find the full name of the author, and how frequently posts are undated.
So here’s two suggestions for technology bloggers:
The fourth screencast in the Learning Rails series is now available. In this lesson, we fill in the missing pieces of the user management system that the restful_authentication plugin doesn’t provide, such as the ability to list, edit, and delete users.
We’ve been getting great feedback on the screencasts, and we now have more than 3,000 people receiving the lessons via RSS or email. More than 20,000 lessons (audio podcasts + screencasts) were downloaded in the last 30 days.
If you haven’t yet signed up, you can sign up to receive the lessons from the start, or skip the eight audio podcasts that cover the basic concepts and start with the screencasts. We’ll send you an email every three days with a link to the next lesson.
Just after the end of last week’s Web 2.0 conference and expo, the Silicon Valley WebGuild has posted an outrageous diatribe against Tim O’Reilly.
WebGuild created an event that they called the Web 2.0 Conference & Expo, which does sound quite a bit like O’Reilly’s Web 2.0 Expo. WebGuild argues that the Web 2.0 term is generic, and that they have every right to use this name in their event.
I can sympathize with their viewpoint, and I think the right answer here is not at all clear. But then WebGuild organized another event called Future of Web Apps, which just happens to exactly match the name of a Carsonified event. This starts to look an awful lot like a pattern of mimicking the names of well-known events. It smells like deceptive advertising to me.
Now Google has withdrawn their backing from WebGuild, and will no longer sponsor their events or provide meeting space for them. In response, WebGuild’s Daya Baran posted an article titled Shame On You Tim O’Reilly, in which he lashes out at the individual at Google who delivered the message, and at Tim O’Reilly, whom he accuses of pressuring Google managers to drop their support of WebGuild.
I understand their anger at losing Google’s support, but their response is unhelpful and inappropriate. Rather than being driven by pressure from Tim, I think it is far more likely that Google simply did not want to be associated with an organization with a pattern of deceptive marketing.
Among the gems in this post are the sentences “When I met him, I cordially introduced myself, however, O’Reilly was a despicable individual. He is a dinosaur whose time has past.” This goes way over the line. Personalizing business disputes in this way helps nothing and just makes WebGuild look bad.
I’ve had the good fortune to know Tim casually for a long time. (When I moved the Microprocessor Report business to Sebastopol in 1990, O’Reilly was already here.) Although I have no business relationship with him, I’ve always found him to be a straight-shooter and someone of great insight. I don’t think anyone who really knows Tim would make this kind of statement. He has every right to defend the conference business that he has made a substantial investment in creating. If I were in his shoes, I’m not sure I would go after other organizations using the Web 2.0 term in event names, but he has every right to try.
It’s an interesting question just how far others can go in using phrases like “Web 2.0 Conference & Expo,” but it’s crystal clear to me from WebGuild’s pattern of event naming, and the way they chose to deal with Google’s withdrawal of support, that this is not an organization I would want to associate with.
The folks at Five Runs have been doing a series of interviews on their blog, and one with yours truly was posted last week.
While I hold down the development cave this week with a broken foot (long story), Michael is representing us at Web 2.0 in San Francisco this week. If you are there, look him up!
InformationWeek did a quick interview with Michael to ask about Ruby on Rails. Besides that blog post, there is a YouTube video of Michael talking about both Ruby on Rails and what we are doing at BuildingWebApps.com as well the bigger story behind Collective Knowledge Works, Inc.
Digg the interview if you like.
This week’s Learning Rails online course screencast covers authentication and walks through using Rick Olsen’s restful_authentication plugin (and plugins in general). We are taking our time through each of these topics to try to provide as much general information as possible without making the pace too slow. Comments on the episodes seem generally positive, but we’d always like to hear more.
We have a general outline for the various future episodes, but we are also incorporating feedback from viewers and starting to incorporate a “refactoring” portion of the ‘cast to fix up or explain something that may have been less than clear. We’ll also use watchers/listener feedback to influence future episode content, so keep those comments coming.
On the back-end side, a few updates.
As we improve our skills on screencasting (blame the editing on me! I’m the videographer in training), we will play around a little with making the visuals as clear as possible. We are close to finding our “final” tool set, and I’ll blog about that in the next few weeks once things settle down. We are still trying to record some of the content concurrently, with Michael and I in different cities. Sometimes, we still need to record separate takes and I merge them in post-production. This week we’ve been trying out Adobe’s Acrobat Connect as the cross-platform (at least Mac Friendly) screen sharing solution.
Leopard’s iChat screen sharing is really nice, but hasn’t been working for us lately (reasons unknown). Also, since we both run on dual monitors (or more), iChat is a little annoying in that it can’t target specific screens for sharing. If anyone has a hack to work-around this, I’d love to hear it. Acrobat Connect allows you to share a specific screen, which is nice.
Satish Talim is running a free online Ruby programming course that is a great companion to our own free online course in Ruby on Rails for folks who are serious about learning Ruby. More than 3,000 people have participated since the first offering in the fall of 2006.
Unlike our course, which is self-paced and open to join at any time, Satish’s course runs on specific dates to encourage discussions among the students. The next offering starts May 6, so sign up now if you’re interested.
Satish also recently published an interview with me on the RubyLearning blog.
We’ve just posted the second screencast in our free online course in Ruby on Rails. I think it came out pretty well—but what counts is what you think! Please leave a comment here or on the Lesson Page if you get a chance to watch it.
We continue to evolve our tool setup and fight with our Macs. This time we could not get screen sharing through iChat to work reliably, so we gave Adobe’s Acrobat Connect a try. It worked flawlessly.
We’ve had problems on both Christopher’s Mac and on mine with horrible distortion spontaneously showing up in the audio track, and we ended up recording the audio multiple times and trying all sorts of different setups. For my side, I ended up just recording it on a stand-alone Zoom H2, which worked well once I got the hang of its somewhat clumsy interface.
We’ve added a couple of small software utilities to help out with the video recording process:
We’re putting the screencast files on S3, which delivers higher bandwidth than our regular host so your downloads should be quick. For working with S3, I’ve been using the free S3 Browser, which is a simple open-source app that provides a GUI interface to the S3 storage buckets. I’ve started using Bucket Explorer, which costs $29.99 (after a 30-day free trial) but is considerably more capable.
On to Lesson 11…
As I described in an earlier post, in January I made the move from Windows back to the Mac. And, as described in another post, Windows has some serious issues as a Ruby development platform.
The MacBook Pro is physically a well-designed machine. There are lots of benefits to having Unix just below the skin. And a lot of things on the Mac work very well.
That said, I’m incredibly frustrated with the MacBook Pro and with Apple support, and at this point I simply could not recommend it. Other models and other usage patterns are apparently much more robust, but after a short period as a convert I’ve come to feel that the machine and the company are just untrustworthy.
There are three problems that have eviscerated any potential productivity gains for me:
These are not problems specific to my machine. Searching the Apple forums finds many other people with the same problems and a very high level of frustration.
Christopher has a completely different audio setup and is seeing the same audio problems. It doesn’t matter what audio hardware or recording software you use. USB audio recording is simply unreliable.
I’ve spent hours on the phone with Apple support. Most of it has been with “Tier 2” support, and there’s no place to go after that. Their solution to the display problem is to reinstall the OS, something that I thought was a Windows-specific disease. Surely there’s just one or two files that are getting corrupted, which would be easy to restore, but no one seems to know which ones (and they aren’t the obvious ones).
The support staff, while friendly and generally knowledgeable, was completely unaware of the display problem, despite widespread reports on the forum. After weeks of back and forth with three different support people, I finally got a message that engineering is aware of the problem, and that at this point they have no fix. But since I’ve had the machine more than 30 days, they won’t take it back. And since it isn’t a hardware problem, there’s no point in sending it in for repair. Summary: I’m stuck with a defective, two-month-old, $3000 machine, that I can’t trust to hook up to a projector for a presentation.
This week Apple released a firmware update for MacBook Pros, and some people on the forum reported that it solved their display and sleep/wake problems. But for some people it does not. And it won’t install on my machine; it says my machine “doesn’t need it”.
Apple support never responds to my follow-up emails. They don’t specify what the updates are supposed to fix. They don’t acknowledge (and seem genuinely ignorant of) problems that are widely reported. They don’t respond to anything in the forums.
I hope that eventually there’s software updates that fix these bugs, and I’ll probably stick with the Mac because of the Unix underpinnings and the investment I’ve made. But at this point it is definitely a love/hate relationship, with a strong dose of hate, in which I feel trapped. And I’m completely fed up with the poor quality of Apple’s driver software and the company’s approach to supporting it.
If you are a subscriber to our free online course or a regular listener to our LearningRails podcast (via iTunes or another RSS feed), we just posted Episode 9 (now also called Lesson 9). This is our first crack at capturing visually the complete walk-through of building a Ruby on Rails application. We’ll be taking it slowly, and iteratively, to try to explain all of the basics for beginners.
From a production point of view, we are still working on our technique. Unlike the podcasts, where Michael and I would record our parts separately and then edit them together, we wanted to make the screencasts a bit more “live” and conversational. Given that we live in cites a couple of hours apart, we are experimenting with tools to find the right combination.
Currently, we are using two Macintoshes (running Mac OS X 10.5), and using the new screensharing ability built in to Leopard. Michael had our slides prepared in Preview, had Macromates’ TextMate sized for our window, and iTerm.
We used Ambrosia’s Snapz Pro X to capture Michael’s screen and narration while I watched via the screen share. We originally tried to capture my ‘shared’ voice (which Snapz can do), but the quality wasn’t that great given our bandwidth.
On my side, I originally recorded my voice using a copy of BIAS’ Peak LE 5, but the quality was flaky on my machine. I’ve used it before without problems, so this was troubling. I ended up capturing a good take with Garageband.
During the whole session, we were also monitoring each other over the phone.
With the raw materials, I edited things together, giving Adobe Premiere Pro for Mac a try. I have used Premiere for years on Windows, and was happy that it came back to the Mac. My experience, however, was just so-so this time. I had some troubles with importing the source materials and then getting things tweaked. Even got a hang one time. Sorry for the slight “slow motion” effect in this first episode. We can work around that next time by capturing our source material with slightly different settings. I’m also going to look in to trying Final Cut Studio once I save my pennies for it.
We look forward to your comments about the content or the production in general.
We’re sorry to announce that we will not be presenting our Learning Rails seminar on April 29-30, as originally planned. There’s a variety of factors that led to the difficult decision to cancel it, led by the fact that we had a relatively small number of registrations to date.
So we’ve decided to focus our Rails training, for now, on our free online Ruby on Rails course. We have published 8 audio podcasts so far, and in just a couple days we’ll begin releasing screencasts in which we’ll build a simple Ruby on Rails application, step by step. Although the RSS feed is still available, we’re asking people to sign up for the email list to receive announcements of lessons as they are published. If you want to receive mailings for the screencasts only, sign up here.
It’s possible that we’ll offer an in-person seminar in the fall, but we’re not going to make that decision until sometime this summer.
Having switched from Windows to Mac a couple months ago, I was interested to see the long series of comments on this post by Peter Cooper on the Ruby Inside blog—Is Windows a First-Class Platform for Ruby. The predominant answer, from many developers with substantial experience, seems to be “no, but it should be.”
My take-aways from this (and from my own experience):
The SD Forum has opened registration for the third annual Silicon Valley Ruby Conference, to be held April 18-19 in San Jose. While this is a Ruby conference, not specifically a Rails conference, many of the talks are Rails-related.
Christopher and I have been helping out on the program committee, and we’re excited about the list of speakers that the group has assembled. It is likely to be the largest Ruby gathering of the year in the San Francisco/San Jose area.
The speakers range from startups and leading consulting firms to giants Microsoft, IBM, and Sun:
The topics span from developments in Ruby interpreters to deploying high-traffic Rails applications. As at any Ruby or Rails conference, many of the speakers are from small companies, but the addition of IBM and Microsoft is worthy of note—clearly Ruby is no longer a fringe language.
We hope to see you there. Conference details and registration.