|
Posted
over 19 years
ago
by
Gregory Brown
The second day of MWRC has passed, and I’m sad to see the conference end. It was really a great time, preserving the feel of RubyConf while having a local flare to it.
Again, I took spotty, horrible notes, so I apologize for the entirely reactionary
... [More]
post, but I do want to provide a comprehensive report of the conference.
Saturday was largely a day of low level bits, featuring talks from John Lam on RubyCLR, Charles Oliver Nutter and Thomas Enebo on JRuby, and Michael Hewner on Ruby USB. Unfortunately, Kirk Haines was ill and didn’t get to talk on IOWA, but the replacement code review by Marcel Molina and Jamis Buck was actually pretty neat.
The Talks
John Lam : RubyCLR and Ruby .NET
This talk was mostly similar to the one John gave at RubyConf 2006 in Denver, but I enjoyed it then, so I re-enjoyed it now. Code heavy, showing lots of neat stuff like proxy classes in .Net so that you can pretty much extend your apps with Ruby seamlessly. John is an excellent presenter and is super familiar with his materials. The only unfortunate thing is there didn’t seem to be a ton of new developments since last October, but that’s far more complicated an issue than it might seem. Since I occasionally need to beat my head against C#, I am excitedly watching RubyCLR as a way to really limit that kind of work.
Michael Hewner: Ruby USB
This talk rocked. My favorite line was: “Japanese Character, Japanese Character, Japanese Character, MOUSE!”, in reference to USB self-description. The talk was fairly code heavy, a bit low level but seems like it’d be manageable for anyone with some decent programming experience. It’s exciting to me to think of the wild hacks that can be done with this, and Michael proudly mentioned that he started this for fun. In the Q&A, I had asked him what his coolest hack was, and he had mentioned gluing together two keyboards so he could have one in insert mode and one in edit mode for vim. I nearly passed out laughing. Great talk overall, Michael was very animated and I could tell the hacker spirit ran deep in this project
Jamis and Marcel: Code Review of Ozmozr
It’s a damn shame we didn’t get to see IOWA. But seeing two rails core folks refactor an app taught me a lot about what would be a nice way to do Rails. I got a little pedantic about the semantics of Integer(). I actually talked to Marcel later on and he said that he really thought the code review was improved by the input of the audience. I couldn’t agree more. COSL put up this app at the last minute for review, so mad props to those folks for being brave and giving us all something to poke at.
JRuby
Thomas and Charles talked on JRuby. I forget what diverted my attention, but I was hacking all day long on various MWRC related projects and I felt a little bad that it distracted me from their talk. Highlights were that they were getting really successful results with running Rails on JRuby, that they had plans to make it a hell of a lot faster, and that things seemed to be really moving along. I have to admit that I find Rubinius a lot more sexy in terms of hack value, but pragmatically having a compliant 1.8 implementation of Ruby that I can deploy onto the JVM will be extremely valuable some place or another.
After the talks
Got lost on the way to lunch. Talked a bit about Ruport in a sandwich shop to some hackers. Went back to the SLC Library and worked with Adrian Madrid on optimizing a report against the tattle data, which is now using our acts_as_reportable plugin, but Adrian helped me with the SQL at first. Went out to dinner with the Phoenix crowd. They bought it. Thanks guys! Over dinner we discussed a lot about the conference, especially the keynote. It was interesting to hear different perspectives on the state of our community. It seems like we all agree that we want Ruby to stay a community that respects MINASWAN, but we also agree that we need to explore other communities and languages so that we can continue to steal… err… be inspired by other people’s smart ideas.
All in all, the conference was wonderful. Thanks to all the Utah folks who made it happen, hope to see ya next year! [Less]
|
|
Posted
over 19 years
ago
by
Jim Alateras
There has been more talk on top RoR blogs on the the ror-talk mailing list this week. Here are five blogs i subscribe too.
Loud Thinking
Riding Rails
Ruby Inside
Nuby on Rails
Rails Envy
|
|
Posted
over 19 years
ago
by
Jim Alateras
It’s old news now that Aptana has picked up the RadRails development effort and you’d probably notices that the radrails.org domain no longer exists. The new domain is radrails.net. Aptana has already introduced nightly builds and are working towards
... [More]
a 0.8 release, although I couldn’t find any information on time lines.
This is all good news for Eclipse users like myself. Currently, I am getting by with the 0.7.2 and the command line but ‘chafing at the bit’ for Aptana’s first release. [Less]
|
|
Posted
over 19 years
ago
by
Gregory Brown
I am out at MountainWest RubyConf and so far, it’s been a great time. I didn’t take detailed notes, but I’d like to share a few highlights from the first day here. The talks have been great, the conversations even better, and we even have wifi
... [More]
power!
The talks
Because these comments are sort of spotty and experiential, you should check out the speakers lists for a big picture of what talks went on. :)
Ara T. Howard - Ruby Queue
Ara’s talk melted my brain. There is something beautifully hacky about rq in that it’s super pragmatic. He had given a lightning talk about this at RubyConf and I’ve been anxious to try it out but with absolutely no application for it. It basically allows you to create massively parallel linux clusters without doing much of anything. Maybe I can build a mini cluster in my basement and start calculating large prime numbers or something. :)
Gregory Brown - Pragmatic Community Driven Development in Ruby
I gave a talk on pragmatic community driven development in ruby. That’s a long title. I renamed it “Rolling the Dice with Ruport”. I wasn’t sure how this talk would be received because it was mostly about my experiences with developing Ruby Reports and the community responses to various things we tried out. However, it turns out this is a common problem in Ruby and lots of people said my ramblings were helpful. Some even said it made them want to start their own projects, or get involved in some project they’ve been playing with. I purposely made the talk run short, to encourage discussion. There was no shortage of that, luckily. It was a great experience to see people get excited about a talk about community ,it shows that people do care about it.
Carl Youngblood - Simple Bayesian Networks with Ruby
Carl’s talk on Bayesian Network was another brain melter. Lots of juicy equations for math nerds like me, good primer on the fundamentals of Logics, and neat implementation of some Bayesian Network stuff. I think it might have scared the non CSish crowd, but hey, that’s a part of Ruby Conferences, isn’t it? :)
Alternative Implementers Panel
I missed part of the implementers panel due to hallway track discussions with Ara about RubyGems packaging edge cases. I hope to catch up with him and take some notes on this, because it’d be a good article for my Digging Deep series for this blog.
The panel was interesting as it brought folks together from JRuby, Rubinius, RubyCLR, and Cardinal.
It was interesting to see the different takes on things. I was one of the few people who actually have used &nil before, which surprised them :)
Jeff Barczewski - MasterView
MasterView seems interesting, I sort of wish Jeff would have put more examples up earlier in his talk, he gave a fairly comprehensive background of the project, which is tough to do in a short talk. He said it doesn’t depend on Rails, but he hasn’t worked on it with other frameworks. This blog entry will serve as a reminder to myself to check to see if there are any interesting integrations with Camping, but if someone wants to save me the effort and point me to some examples, that’d rock too :)
James Britt - Black-boxing with Ruby: Adding Ruby APIs and Front-ends to Existing Software
James Britt’s talk on blackboxing showed things that I literally need. The Tracula stuff is particularly interesting to me. One of his points was that mechanize and hpricot rock for adhoc ruby wrappers of websites. I can’t agree more.
Lightning Talks
The lightning talks rocked. I don’t have good notes on them at all except that CruiseControl.rb looks very cool, but not available as a gem. They mentioned it was because it was an application and not a library, but I wonder if spec.bindir is all they need. If I find better links to summaries of these talks, I’ll update the post here. Also, if you copied down the list of topics and names of speakers, please send them along.
Chad Fowler - Keynote
I’m not a big fan of keynotes. They always seem to be sort of meta-talks and something about them just rubs me the wrong way. Chad’s talk was actually pretty good though, and I think it’s important to talk about the things he did. He basically talked about where we might head now that Ruby is becoming increasingly mainstream. Striking the balance between maintaining the culture we have developed as well as responding to growth and change is a difficult process, and I think some of the points he made in his talk helped get the ideas flowing for folks. So you all can flame him, he said (perhaps just for reaction) that he thinks Ruby should have optional static typing. I think it’s funny because this brought up a mini holy war which I was regrettably a major part of on our back-channel. One thing I don’t agree with him on is that good Ruby is slowly emulating the works of DHH. That is true in certain domains, but I don’t think it’s a panacea, and I’m still a curmudgeon that wishes to de-emphasize the importance of the ‘Rails Effect’ on Ruby. I don’t mean that we shouldn’t recognize it, but that we shouldn’t be bound by it. Some of the things Chad said also seemed to support that kind of thinking, so I’m not sure what to think. I guess that these issues are just complex and need to go through the evolutionary process that’s inevitable in any growing community.
Other Conference Activities
A few people were interested in picking mine and Pat Eyler’s brain on user groups kind of stuff. We suggested a little get together after dinner, but after popping a balloon to silence the room at dinner time, our announcement got together a large group of folks interested in starting user groups or making improvements to them. We basically just shared experiences from our groups with each other, and really came up with a lot of good ideas. Yet again, I didn’t take notes. Notice a (bad) pattern here? I guess I should keep vim open at these conferences for more than just code!
I’ve also got myself involved in a couple projects. I might be putting together some reports against Tattle using Ruport, which could be cool for community demographics. I’m also hacking with James Britt on a quarky little ‘ri Method of the Day’ thing that we might hook into Growl.
I ended up going to bed early last night because I think I’m the only one on EDT out here. So that’s the end of the Day One thoughts. I’ll try to get a summary out later of the second day. :)
[Less]
|
|
Posted
over 19 years
ago
by
James Britt
Reports of the death of Ruby Code & Style have been greatly exaggerated.
I’ve been the Editor-in-Chief of Artima’s Ruby Code & Style for somewhat over a year now. For various reasons, I am stepping down.
Just to be clear, I’ve had nothing but
... [More]
good experiences helping get the ‘zine up and out the door, and have endless appreciation for all those who pitched in and made things happen. It’s mainly a matter of time; I cannot give it the attention it deserves.
I expect a formal announcement on this to appear on the RC&S site before long, so I’ll the details to that. But I want to at least assure people that that the ‘zine has not simply up and died. It continues.
So there is at least one Ruby magazine (albeit online-only) that is around. But people should appreciate that organizing and maintaining a good publication is non-trivial.
Getting and preparing a steady flow of high-quality material is not easy. It’s a job. The goal for RC&S was to publish content a cut above what one typically finds in, say, Linux Journal or on most blogs.
That’s not meant as knock on those sources, just that there is zero reason to publish one more “How To Write a Blog in Rails” article.
But there is competition for material. There are varying fees being offered by different publishing outlets, and while money is not always the main reason people write, it can be a factor. If, as an editor, you are aiming for prestige, then you have the extra task of ensuring that only high-quality material is published. You have to stay on top of finding good reviewers, ensuring that all code samples are correct, and insisting that the content illustrate something reasonably new and technically astute.
It can be fun, but there is also a good amount of administrative work in seeing to it that corrections are made, code tested (and re-tested if there have been changes), copy is grammatically correct and properly formated, reviewers actually review, and so on.
The are any number of outlets for writers. There is very little stopping anyone from getting their words out to the public. There is, of course, considerable competition for attention; most people will find a larger audience publishing through RC&S than on their personal blog.
The Web being what is is, though, you never know if that toss-away article on your Blogger account isn’t going to end up on the hot list at Reddit. You don’t need a large audience; you just need the right audience. But not aiming for, or expecting, a killer crowd, can be liberating. There’s less pressure when you write for yourself, even when you know that nothing on the Web is ever “just for yourself”.
For example, I’ve meaning to write something for the O’Reilly Ruby group blog, but keep putting it off because I kept thinking it needs to be a little better, a little more substantial, a little more polished, than what I’d put on my home page. Rather than driving the creation of higher-quality content, it ends up stifling it. Crossing that line of perceived attention has a peculiar effect. What started as fun can start feeling like a chore.
Many people are happy to write a breezy article describing their latest project, but may be less enthusiastic when asked to provide additional detail about the choices made and the design implications. Writers may also feel that, past a certain amount of time and effort, it doesn’t makes sense to produce “just” an article; why not go a bit further and write a small, down-loadable book to sell? After all, if it’s not fun, then might as well make it pay.
Some years back I started on a Ruby book, Beginning Ruby, for a previous incarnation of Wrox. Halfway through, they ended up going bankrupt. Quite the letdown.
I considered different ways to make use of that material, including parceling it out as magazine articles, but I finally decided to just put it on the Web. Sort of. Beginning Ruby lives, but seeing now how people acquire and use technical information moved me to chuck a good deal of the original content and re-do the presentation.
My writing and release schedule is, let’s say, casual, and I spend as much or more time hacking on the comment system code as I do writing or editing, and that suits me just fine. Were I trying to re-assemble this as a “proper” book for formal publication I suspect that the content would get dated quickly, and it would likely contain much redundant information. (For example, the original text has various sections with detailed descriptions of the core Ruby classes. Given the existence of ruby-doc.org and Dave Thomas’ Programming Ruby, I’m skeptical the world needs Yet Another Ruby Library Reference. (What it *does* need is a complete and current library reference as part of the standard distribution. I’m more inclined to see just how much of the reference material I wrote could be added to the Ruby docs directly, rather than ploink them into one more Web page or have it find a home in dead trees. ) )
Most important, that sort of prolonged, large-scale writing can get painful. Go read Dave Thomas’ series of articles on writing for a good exploration the task of creating a good technical book. So, for now at least, I’d rather follow fun and see where it leads.
This need for passion carries over to magazine writing, and that may be the real reason you see so few good, stable Ruby publications. There’s no shortage of people writing helpful blog posts or “Build a FizzBuzz App” articles; the passion and commitment requirements are fairly low. The longer articles, the more technical articles, take more. They’re hard, at least to do well, and require more of that special combination of passion and know-how. There are fewer people really good at that, too few perhaps than can sustain a full-blown single-topic magazine.
Of course, I’d like think I’m wrong. I know that if I spent more time trying to determine the real reasons then I’d never have written what you’ve just read. I promised myself I’d not get hung up on trifles such as rigorous detail or air-tight logic. Yes, I’m sort of kidding; of course those things matter, but at the moment they would be a killer.
Because here’s the weird part: The passion that motivates writing can also lead to a smothering obsession with detail. Too much, and the writing dies. So, if things get sloppy in the name of passion, that’s OK. That may not work for a technical journal, but maybe that’s not the best metric. [Less]
|
|
Posted
over 19 years
ago
by
Jim Alateras
Recently on the ror-talk mailing list there was a question on navigational menus, which revealed some interesting resources.
link_to_unless_current helper
Goldberg, Integrated Site Design for RoR
NavTab Plugin”
The navtab plugin, which
... [More]
is part of SeeSaw toolbox, is a neat little plugin, which provides instant support for tabs in your web applications. We will definitely be using this on our next RoR application. [Less]
|
|
Posted
over 19 years
ago
by
Gregory Brown
I’ve been running local special need gem servers as well as a gem server for beta versions of Ruport and support code (namely plugins). I got tired of manually wget’ing the gems I needed and their dependencies, so with a little help from mechanize
... [More]
and archive_tar_external, my friend Dinko and I came up with this quick (pretty messy) hack.
require 'rubygems'
require 'archive/tar_external'
require 'mechanize'
require 'fileutils'
include FileUtils
include Archive
module RFDownloader
def populate(archive)
mkdir ".rf_downloader"
cd ".rf_downloader"
yield
Tar::External.new( "../#{archive}.tar",
"*.gem", "gzip")
cd ".."
end
def get(pattern,options={})
link = "http://rubyforge.org/projects/#{options[:project]}"
agent = WWW::Mechanize.new
page = agent.get(link)
page.links.find { |l| l.text[/File/] }.click
link = agent.page.links.find { |l| l.text[pattern] }
link.click.save_as(link.text)
end
def fetch(opts,&block)
populate(opts[:archive]) do
module_eval &block
end
end
module_function :fetch, :populate, :get
end
With this, we were able to grab automatically a tarball filled with all the gems needed to run Ruport 0.9.0 with a tiny little script:
require "lib/rf_downloader"
RFDownloader.fetch(:archive => "ruport_deps") do
get /fastercsv.*gem/, :project => "fastercsv"
get /pdf-writer.*gem/, :project => "ruby-pdf"
get /color-tools.*gem/, :project => "ruby-pdf"
get /transaction-simple.*gem/, :project => "trans-simple"
get /RedCloth.*gem/, :project => "redcloth"
get /hoe.*gem/, :project => "seattlerb"
get /rubyforge.*gem/, :project => "codeforpeople"
get /mailfactory.*gem/, :project => "mailfactory"
get /mime-types.*gem/, :project => "mime-types"
get /scruffy.*gem/, :project => "scruffy"
get /build.*gem/, :project => "builder"
get /gem_plugin.*gem/, :project => "mongrel"
end
Elegant? Nope! A way to be lazy and quickly snapshot the newest versions of a number of gems, you bet ya. Maybe someone will see this and build a nice little library that does this ‘the right way’ :)
UPDATE: Thanks to Aaron Patterson for helping me get rid of the wget call
[Less]
|
|
Posted
over 19 years
ago
by
Jim Alateras
I recently replied to an email on the ror-talk mailing list about resources on agile methodology and RoR. Here are four non-RoR specific resources that i have used during the past 12 months
Lean Software Development
Getting Real
Practices of an Agile Developer
Martin Fowler’s Site
I’d like to hear what resources other people are using?
|
|
Posted
over 19 years
ago
by
Jim Alateras
It looks like development for the RadRails plugin for Eclipse has stalled and the key contributors are flat out working on a startup venture. Who can blame them we all need to eat. So the search for an alternative Windows Ruby\RailsIDE has started.
... [More]
I’ve read a log about textmate/, the mac os editor and was curious why they never offered a Linux/Windows version. Well the power of textmate has come to windows with .e-texteditor.
I just downloaded it the demo version and first impressions are very positive indeed. Not enough there yet to move me from Eclipse but it is getting there.
You should take a look at it. [Less]
|
|
Posted
over 19 years
ago
by
Curt Hibbs
Back in 2001 when I first got started with Ruby, there were no IDEs for Ruby, so I decided that writing one would be a good way to learn Ruby. A few months later I joined forces with Rich Kilmer and we developed FreeRIDE–the only Ruby IDE that is
... [More]
written in Ruby. But these days its a much different story as there is a veritable plethora of Ruby IDEs available as vendors almost fall over themselves to provide Ruby support.
Someone (if anyone knows who it is that wrote this blog entry, please post a comment) has published a very nice comparative review of three of the most popular IDE choices: IntelliJ IDEA, Sun’s NetBeans, and the Eclipse based RadRails/RDT. Here is his main feature comparison chart, go read the whole review for his qualitative assessment of these three IDEs.
[Less]
|