Cool Projects

So, anyone working on something awesome?

Brag here...

···

--
Posted via http://www.ruby-forum.com/.

You want ideas? :slight_smile:

···

----- Original Message -----
From: Alasdair Bell <alasdair@seedcamp.com>
Date: Thursday, July 31, 2008 1:11 pm
Subject: Cool Projects
To: ruby-talk@ruby-lang.org (ruby-talk ML)

So, anyone working on something awesome?

Brag here...
--
Posted via http://www.ruby-forum.com/\.

Working on a system with administration using Rails, central operations
like dispatching with a Java + SWT thick client, and distributed
operations using an in-vehicle computer running JRuby + SWT thick
client. Communication using ActiveMessaging and ActiveMQ with yaml
payload over WAN.

Life is good :slight_smile:

Uwe

···

On Thu, 2008-07-31 at 20:10 +0900, Alasdair Bell wrote:

So, anyone working on something awesome?

Brag here...

Alasdair Bell wrote:

So, anyone working on something awesome?

Brag here...

My pet project has been a robust MediaWiki table editing automation tool.

== More detail starts here ==

A little background: I have a fairly relaxed summer job, at which I get paid by the hour. We have an internal MediaWiki site that we use to store various information (how to set up your email, for example) to make everyone's life easier. I have a page that contains a series of tables that contain my "timecard" (clock in/out times). Every pay period, I have to go to that page and calculate by hand how many hours I worked for each day, add them up and send them off.

After doing this every summer for three years, it has gotten pretty tiresome. I decided to write a Ruby app to automate the process for me. Specifically, it must:

* Read the data from the site and do hour calculations on it.
* Have the capability of adding the "total hours" back to the table and posting it on the wiki.
* IMPORTANT: Be flexible enough to not have to make me change the style of the tables, so the wiki source will remain exactly as human-readable as it is now, so I can live without the script if need be.

Right now it does those three things, and I'm pleased with it. When I get bored I add more features to it, such as:

* The ability to clock in/out via the command line.
* Run through previous weeks and check to see if I made math errors (this had very interesting results!).
* Changing my "hours algorithm," i.e. what do I do with in=>"8:00",out=>"10:00"? Are those times AM or PM? (it could be a very short day, a very long day, or me coming in in the evening to fix some catastrophe.)

It's more complicated of a project than I suspected it would be (mainly because of the third requirement I listed), but it has been a blast and has saved me from doing some tedious math.

Okay, that's all I'll say for now. Thanks for reading!

-Dana

···

--
Dana Merrick - System Administrator
Integrated Computer Solutions, Inc.
54B Middlesex Tpke, Bedford, MA 01730
617.621.0060 x112 - http://www.ics.com

At my day job, I'm working on a Rails app which powers... Actually, I can't
talk about that yet. Oh well.

By night, I've been occasionally working on a lightweight Actor
implementation, which isn't really ready for release yet. It's my solution to
not being able to choose between Erlang's concurrency and Ruby's awesome
syntax. On the weekend, I'll likely rewrite it from scratch -- again.

...Would it make sense to add a #threadsafe? method to Object?

Alasdair Bell wrote:

So, anyone working on something awesome?

Monkeybars

The fastest, cleanest, most fun way to build robust, sophisticated, cross-platform desktop applications.

http://www.monkeybars.org

···

--
James Britt

www.happycamperstudios.com - Wicked Cool Coding
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff

Alasdair Bell wrote:

So, anyone working on something awesome?

RubyJS? A Ruby to Javascript compiler.

···

Brag here...

Pet projects:

- IT knowledge base and ticketing system. It's been done before, but
I'm doing it a little different. No offense to loyalists, but I'm
trying to avoid Rails and ActiveRecord

- GPS realtime mapping with console/visual for boating using
S57/ISO8211 based charts from NOAA (realtime doesn't have to be "real"
realtime, but it's an option with C extensions); probably using Shoes

- Ruby interfacing with a foodnetwork style database for personal
recipe use, but possibly for restaurateurs someday with inventory and
orders (I know, that almost sounds like severely high hopes)

These sit, unfortunately, at the wayside for the time being. I've
built the database schema for each of these set ups, but I haven't
fully tackled the Ruby interfaces yet.

Awesome? I'm not so sure, but it is fun!

Todd

···

On Thu, Jul 31, 2008 at 6:10 AM, Alasdair Bell <alasdair@seedcamp.com> wrote:

So, anyone working on something awesome?

Currently working on Prawn, a PDF generation library designed to kill
PDF::Writer.

It's fast, has support for m17n, runs on Ruby 1.9, and looks pretty.
We're hoping to keep it tiny and nimble, just like the majestic sea creature.

The first alpha gem release will be tomorrow sometime (0.1.0), so I'd
love to see some people clone the repos and kick the tires tonight.
Copious examples are provided to demonstrate features, and the API
documentation is decent in most places.

-greg

···

On Thu, Jul 31, 2008 at 7:10 AM, Alasdair Bell <alasdair@seedcamp.com> wrote:

So, anyone working on something awesome?

I'm working on a project called Vertebra. This is a p2p XMPP based cloud computing framework. it's built with erlang and ruby. You can see some slides about it here from a talk I gave yesterday:

Cheers-
-Ezra
engineyard.com

···

On Jul 31, 2008, at 4:10 AM, Alasdair Bell wrote:

So, anyone working on something awesome?

Brag here...
-- Posted via http://www.ruby-forum.com/\.

Since you asked, I'm working on Cabernet- a RoR powered personal wine
cellar management system. I haven't decided if I'm just going to
release it open source or try to come up with a hosted solution which
breaks even. I'd rather just release the code, but I suspect
installing a RoR/MySQL application is too much for my target market.

You can check out the demo here:

http://cabernetdemo.synfin.net/

And there's also a Trac instance for it here:

http://cabernet.synfin.net/trac/

I also occasionally look into the various Ruby widget toolkits to see
about building a GUI for tcpreplay.

···

--
Aaron Turner
http://synfin.net/
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. -- Benjamin Franklin

I'm slowly porting SQLite to pure Ruby, although like most of my projects I'll probably never finish it :slight_smile:

Ellie

Eleanor McHugh
Games With Brains
http://slides.games-with-brains.net

···

On 31 Jul 2008, at 12:10, Alasdair Bell wrote:

So, anyone working on something awesome?

Brag here...

----
raise ArgumentError unless @reality.responds_to? :reason

I'm currently working on:
- building a small set of network utility classes (nothing big, it's
just for fun/experimentation)
- a Ruby/GTK application that downloads videos from youtube
- a simple CMS in Rails

I probably won't finish most of this, but it's fun to work with
nevertheless. \o/

···

On 31 Jul, 13:10, Alasdair Bell <alasd...@seedcamp.com> wrote:

So, anyone working on something awesome?

Brag here...
--
Posted viahttp://www.ruby-forum.com/.

Alasdair Bell wrote:

So, anyone working on something awesome?

Brag here...

I've been rewriting the Java integration layer in JRuby for performance and efficiency. Most normal Ruby-Java method calls are 5-10x faster on trunk than in JRuby 1.1.3. Still a bunch of work to do before 1.1.4 though.

Also, I've continued working on my pet language Duby on and off. Since the rewrite of the AST translator (from JRuby's Ruby AST to Duby's AST) and inference engine (so there's no dependencies on Java type names) I haven't gotten the JVM bytecode backend up and running yet. But it's working pretty well.

Code like

def fib(a => Fixnum)
   if a < 2
     a
   else
     fib(a - 1) + fib(a - 2)
   end
end

Correctly infers return types, and under the original Duby compiler it could produce idiomatic JVM bytecode using integer primitives that was as fast as hand-written Java code.

I like to watch the inference engine work too...

➔ jruby -d -r duby/plugin/math.rb lib/ruby/site_ruby/1.8/duby/typer.rb fib.rb

* [Simple] Learned local type under MethodDefinition(fib) : a = Type(fixnum)
* [Simple] Retrieved local type in MethodDefinition(fib) : a = Type(fixnum)
* [AST] [Fixnum] resolved!
* [Simple] Method type for "<" Type(fixnum) on Type(fixnum) not found.
* [Simple] Invoking plugin: #<Duby::Typer::MathTyper:0xfc9d2b>
* [Math] Method type for "<" Type(fixnum) on Type(fixnum) = Type(boolean)
* [AST] [Call] resolved!
* [AST] [Condition] resolved!
* [Simple] Retrieved local type in MethodDefinition(fib) : a = Type(fixnum)
* [AST] [Fixnum] resolved!
* [Simple] Method type for "-" Type(fixnum) on Type(fixnum) not found.
* [Simple] Invoking plugin: #<Duby::Typer::MathTyper:0xfc9d2b>
* [Math] Method type for "-" Type(fixnum) on Type(fixnum) = Type(fixnum)
* [AST] [Call] resolved!
* [Simple] Method type for "fib" Type(fixnum) on Type(script) not found.
* [Simple] Invoking plugin: #<Duby::Typer::MathTyper:0xfc9d2b>
* [Math] Method type for "fib" Type(fixnum) on Type(script) not found
* [Simple] Deferring inference for FunctionalCall(fib)
* [Simple] Retrieved local type in MethodDefinition(fib) : a = Type(fixnum)
* [AST] [Fixnum] resolved!
* [Simple] Method type for "-" Type(fixnum) on Type(fixnum) not found.
* [Simple] Invoking plugin: #<Duby::Typer::MathTyper:0xfc9d2b>
* [Math] Method type for "-" Type(fixnum) on Type(fixnum) = Type(fixnum)
* [AST] [Call] resolved!
* [Simple] Method type for "fib" Type(fixnum) on Type(script) not found.
* [Simple] Invoking plugin: #<Duby::Typer::MathTyper:0xfc9d2b>
* [Math] Method type for "fib" Type(fixnum) on Type(script) not found
* [Simple] Deferring inference for FunctionalCall(fib)
* [Simple] Method type for "+" on not found.
* [Simple] Invoking plugin: #<Duby::Typer::MathTyper:0xfc9d2b>
* [Math] Method type for "+" on not found
* [Simple] Deferring inference for Call(+)
* [Simple] Deferring inference for If
* [Simple] Learned method fib (Type(fixnum)) on Type(script) = Type(fixnum)
* [Simple] Entering type inference cycle
* [Simple] Method type for "fib" Type(fixnum) on Type(script) = Type(fixnum)
* [AST] [FunctionalCall] resolved!
* [Simple] [Cycle 0]: Inferred type for FunctionalCall(fib): Type(fixnum)
* [Simple] Method type for "fib" Type(fixnum) on Type(script) = Type(fixnum)
* [AST] [FunctionalCall] resolved!
* [Simple] [Cycle 0]: Inferred type for FunctionalCall(fib): Type(fixnum)
* [Simple] Method type for "+" Type(fixnum) on Type(fixnum) not found.
* [Simple] Invoking plugin: #<Duby::Typer::MathTyper:0xfc9d2b>
* [Math] Method type for "+" Type(fixnum) on Type(fixnum) = Type(fixnum)
* [AST] [Call] resolved!
* [Simple] [Cycle 0]: Inferred type for Call(+): Type(fixnum)
* [AST] [If] resolved!
* [Simple] [Cycle 0]: Inferred type for If: Type(fixnum)
* [Simple] Inference cycle 0 resolved all types, exiting

AST:
Script
  MethodDefinition(fib)
   {:return=>Type(fixnum), :a=>Type(fixnum)}
   Arguments
    RequiredArgument(a)
   If
    Condition
     Call(<)
      Local(name = a, scope = MethodDefinition(fib))
      Fixnum(2)
    Local(name = a, scope = MethodDefinition(fib))
    Call(+)
     FunctionalCall(fib)
      Call(-)
       Local(name = a, scope = MethodDefinition(fib))
       Fixnum(1)
     FunctionalCall(fib)
      Call(-)
       Local(name = a, scope = MethodDefinition(fib))
       Fixnum(2)

- Charlie

A co-worker and myself have been working on a passive network mapping
tool called ANTFARM for a few years now and have finally received
copyright rights from our employer to open source the software. I have
created a project at RubyForge called ANTFARM and will be making the
code available there in the very near future.

···

--
Bryan
--
Posted via http://www.ruby-forum.com/.

I'm working on a crossword editor (mostly biased towards UK-style
cryptics, but once that's solidly in place I'll expand its range),
there currently being no really good free one available. Right now
it's barely started, and going slowly due to lack of copious free
time, but since it's something I'm writing first and foremost for my
own use, I have high hopes for it :slight_smile: Also, it gives me an excuse to
play with Shoes.

martin

···

On Thu, Jul 31, 2008 at 4:10 AM, Alasdair Bell <alasdair@seedcamp.com> wrote:

So, anyone working on something awesome?

Brag here...

I think perhaps "awesome" is in the eye of the beholder.

My current learning-ruby project is to write a MUSH from the ground
up. I think this is astonishingly awesome (me? A whole MUSH?). I
doubt anyone else would.

···

On Thu, Jul 31, 2008 at 1:11 PM, "Kyrre Nygård" <kyrreny@broadpark.no> wrote:

You want ideas? :slight_smile:

----- Original Message -----
From: Alasdair Bell <alasdair@seedcamp.com>
Date: Thursday, July 31, 2008 1:11 pm
Subject: Cool Projects
To: ruby-talk@ruby-lang.org (ruby-talk ML)

So, anyone working on something awesome?

Brag here...
--
Posted via http://www.ruby-forum.com/\.

--
Me, I imagine places that I have never seen / The colored lights in
fountains, blue and green / And I imagine places that I will never go
/ Behind these clouds that hang here dark and low
But it's there when I'm holding you / There when I'm sleeping too /
There when there's nothing left of me / Hanging out behind the
burned-out factories / Out of reach but leading me / Into the
beautiful sea

Since you ask

http://rbplusplus.rubyforge.org

Though what Uwe's doing, wow.

Jason

···

On Thu, Jul 31, 2008 at 10:24 AM, Uwe Kubosch <uwe@kubosch.no> wrote:

On Thu, 2008-07-31 at 20:10 +0900, Alasdair Bell wrote:

So, anyone working on something awesome?

Brag here...

Working on a system with administration using Rails, central operations
like dispatching with a Java + SWT thick client, and distributed
operations using an in-vehicle computer running JRuby + SWT thick
client. Communication using ActiveMessaging and ActiveMQ with yaml
payload over WAN.

Life is good :slight_smile:

Uwe

Gregory Brown wrote:

···

On Thu, Jul 31, 2008 at 7:10 AM, Alasdair Bell <alasdair@seedcamp.com> > wrote:

So, anyone working on something awesome?

Currently working on Prawn, a PDF generation library designed to kill
PDF::Writer.

GitHub - practicingruby/prawn: THIS REPOSITORY HAS MOVED TO:

It's fast, has support for m17n, runs on Ruby 1.9, and looks pretty.
We're hoping to keep it tiny and nimble, just like the majestic sea
creature.

The first alpha gem release will be tomorrow sometime (0.1.0), so I'd
love to see some people clone the repos and kick the tires tonight.
Copious examples are provided to demonstrate features, and the API
documentation is decent in most places.

-greg

Do you have any plans to support non English characters in PDF
documents. Than I am interested.

by
TheR
--
Posted via http://www.ruby-forum.com/\.

That's a really neat idea. I thought about doing just Lemon in the past.

James Edward Gray II

···

On Aug 1, 2008, at 7:10 PM, Eleanor McHugh wrote:

On 31 Jul 2008, at 12:10, Alasdair Bell wrote:

So, anyone working on something awesome?

Brag here...

I'm slowly porting SQLite to pure Ruby…