{ |one, step, back| } 1 of 1 article Syndicate: full/short

RubConf.new(2004) (Sunday)   03 Oct 04
[ print link all ]
Conference Link:www.rubycentral.org/conference/
Continuing with the semi-real time blogging of RubyConf.new(2004)…

RubyX (John Knight)

John gave a short presentation about the RubyX project, which is a linux distribution that uses Ruby in some manner. I’m a little unclear on exactly how Ruby is used in the project, but John is advocating that folks who are interested take a look at it and supported it.

Ruby on Windows (Dan Berger)

Dan has been using Ruby on windows and realized Ruby seriously lagged behind both Perl and Python in supporting the windows platform. Dan has been working on the win32util project on RubyForge to address that disparity. Daniel did include the disclaimer that he is not a Microsoft Employee, nor is he paid for this

Dan first talked about setting up services. I’m grabbing a lot of his example code because I have an immediate use for this.

To query about services …

  require "wind32/service"
  include Win32
  Service.services { |service| p service}
  Service.status("ClipSrc")
  Service.getdisplayname("ClipsSrv")

To control a service …

  Service.stop(name)
  Service.start(name)
  Service.pause(name)
  Service.resume(name)
  Service.delete(name)

To create a service …

  require 'win32/service"
  include Win32

  class MyDaemon < Daemon
    def service_main
      # Service code goes here
    rescue Exception => e
      logfile.puts "ERROR: #{e.message}"
      exit
    end
  end

  d = MyDaemon.new
  d.mainloop

To register a service

  serv = Service.new
  serv.create_service { |s|
    s.service_name = "aba"
    s.display_name = "aba"
    s.binary_path_name = "c:\\..."
  }

Daniel covered a number of other utils. In particular he identified a number of things that just work differently, but they are working on unifying the APIs between the two platforms. In particular, the RubyGems team is interested in the popen3 api so that our functional tests could be run on a Windows platform.

How Dynamic Can You Get? (Jamis Buck)

Jamis had the challenging task of convincing a bunch of dynamic language enthuisists that dependency injection can make their already flexible language even more flexible. While dependency injection in a huge advantage in a language like Java, there some questions to how much it adds to Ruby. Copland, a framework for Dependency Injection/Inversion of Control, is very patterned after a Java based framework. I think it would be interesting to Ruby-ize the framework and see what falls out.

Code generation with Ruby in a heterogenous network application (Gorden James Miller)

Gorden needed to get a largish C++ application running on a hardened computer network with a small memory footprint. There are a number of messages involved in the network solution. He used XML to describe the nature of the message and the structures sent with the message. Reading the XML with REXML, he used ERB to provide templates for C++ code generation to handle the messages. I found it fascinating to use ERB for code generation rather than web pages.

There are some more interesting details the type of network they are testing/simulating. The network is only up for brief periods of time and must survive as much as a 90% packet loss.

Lunch

Self-Organizing Afternoon Activities

After lunch, the afternoon was open for talking, programming or whatever else suits your fancy. Here’s some of the stuff I participated in.

  • Jim Freeze and I (and later Rich Kilmer) worked up a reasonable Ruby-based domain language for Jim to use to specify some work related config files. This is one of the themes I heard over and over again during the conference.
  • David Heinemeier Hansonn decided to include a "Builder style" view into Rails. If your view directory contains a ".rbuild" file, then the file will be invoked with a XML Builder object that you can use to programmatically build your html page. This is an alternative to the rhtml ERB files. Builder probably isn’t a good choice where you have a page designer involved, but it might make sense for a programmer only project, or for generating an RSS style page. David also mentioned something about doing web services with Rails. Now that would be cool.
  • Finally, I worked with Chad Fowler and Bruce Williams on the design of the new RubyGems.org website. Chad had a prototype app built, and Bruce started helping him refine it Me? I kibitz-ed and watched for the most part.

Conference Summary

What a weekend! There was an energy about this conference that I hadn’t felt before. The entire community was excited about apps like Rails and the proto-Rite VM (YARV). The ability to talk to folks actually using your software and getting feedback is quite a rush. I received all kinds of good ideas and suggestions. Unfornately, my plate is already full of things to do, so who know when I will get to all these ideas.

Wow, I can’t wait till next year!



blog comments powered by Disqus

 

Formatted: 10-Feb-12 18:46
Feedback: jim@weirichhouse.org