[ANN] LAIKA Open Source Software

B

Ben Bleything

Hello!

On behalf of the entire LAIKA Information Technology department, it
is my great pleasure to announce the release of a number of projects
developed by the Information Systems group:

* Athenaeum -- A "live" web view of the contents of a Delicious Library
* Growl Notifier -- A plugin for CruiseControl.rb that sends build
notifications to one or more Growl daemons.
* Linen -- A framework for building command-line interfaces
* TextMate Bundle -- Some of us use TextMate. This bundle includes
some helpful commands and snippets that we wrote.
* ThingFish* -- A network-accessable datastore with extensible metadata

These projects were all developed to fit needs within our organization,
but designed to be useful outside LAIKA as well. They're released under
the BSD license, and are therefore free to use, in every sense of the
word.

* Please note that the ThingFish release is alpha quality, and much has
changed between the current download and trunk. Watch for a new release
Real Soon(tm)

== Where To Get It

The primary source for LAIKA Open Source software is:

http://opensource.laika.com

This is a Trac instance, and is the main point of contact for all
LAIKA open source projects. Check here first. File bugs here. Read
documentation here :)

Downloads will also be hosted at RubyForge, so any of our projects
that are available as gems will be installable via the normal gem
mechanism. You can view our project page at:

http://laika.rubyforge.org

and download our files at:

http://rubyforge.org/projects/laika

== About LAIKA

LAIKA is an animation studio based in Portland, Oregon (USA). We are
currently working on two feature films and a large number of commercial
projects. More information is available at http://www.laika.com

== About LAIKA IS

LAIKA's Information Systems group is a team of programmers, database
administrators, and tech writers inside the Information Technology
department. We make the shiny tools that help the rest of LAIKA do
their jobs more easily, ease the sharing of information between groups,
and solve mission-critical problems (like picking a place to go to
lunch).

We believe in open source software. Many of the tools we use in-house
are open source, and we feel strongly that we should give back whenever
possible.

LAIKA's IS department is:

* Ben Bleything <[email protected]>
* Jeff Davis <[email protected]>
* Michael Granger <[email protected]>
* Steven J. Hall <[email protected]>
* Jeremiah Jordan <[email protected]>
* Myra Lavenue <[email protected]>
* Mahlon E. Smith <[email protected]>
* Anthony Roberts <[email protected]>
* Kim Wallmark <[email protected]>

== How to Contact Us

If you've got problems with the code, please file appropriate bugs in
our Trac instance. If you've got general questions or comments, please
email (e-mail address removed).

Cheers!
Ben
 
B

Ben Bleything

This looks interesting. If someone wasn't using this, what would they
use?

That's an interesting question. At the time we started on Linen, we
didn't know about HighLine[1]. Had we, Linen would look different
today. That said, HighLine is, at its core, a wrapper for Readline that
gives you a bunch of really nice ways to ask the user for input.

Linen was designed to be the underlying framework of an application that
adds host to our directory server. We call it "a framework for building
command-line interfaces", but what Linen is really about is defining
how to get input from the user and what to do with it once you have
it. This latter bit is what HighLine doesn't do for you. It's just a
different philosophy; we needed to build a system where the user could
define the action in a similar way to how they define the input.

Command line interfaces aren't the end. Linen's designed to be agnostic
of the handler, only telling you what the input should look like and
what should be done with it. We've toyed with the idea of writing a web
handler for Linen plugins, and I personally would like to try to write a
handler that you could plug into an Asterisk IVR. Both of those should
be possible (though maybe somewhat less than trivial ;))

Around the time Linen was hitting 0.3 or 0.4 internally (we only
released it publically now), there was another similar library released.
It's called main[2], and it's closer to Linen than HighLine in some
ways. It too defines the action that's taken after the arguments are
validated. The main (the adjective) difference is that main (the
library) doesn't (seem to) provide an interactive environment... it
gives you command line flags and usage methods and stuff. Linen does
the interactive thing. Again, just a difference of philosophy. Linen
will someday have a batch mode that looks just like main :)

Hope that answers your question, and wasn't too long-winded!

Ben

[1]: http://highline.rubyforge.org/
[2]: http://codeforpeople.com/lib/ruby/main/
 
B

barjunk

This looks interesting. If someone wasn't using this, what would they
use?

That's an interesting question. At the time we started on Linen, we
didn't know about HighLine[1]. Had we, Linen would look different
today. That said, HighLine is, at its core, a wrapper for Readline that
gives you a bunch of really nice ways to ask the user for input.

Linen was designed to be the underlying framework of an application that
adds host to our directory server. We call it "a framework for building
command-line interfaces", but what Linen is really about is defining
how to get input from the user and what to do with it once you have
it. This latter bit is what HighLine doesn't do for you. It's just a
different philosophy; we needed to build a system where the user could
define the action in a similar way to how they define the input.
...snip..

Thanks Ben.

How does OptParse fit into all of this?

The upcoming release of the animation looks intersting as well.

Thanks for releasing this to the community.

Mike B.
 
B

Ben Bleything

How does OptParse fit into all of this?

OptParse is just a library to parse command line flags. It's about half
of what main does... main adds the ability to define the action that's
performed on the options that are fetched from the command line.
The upcoming release of the animation looks intersting as well.

I think we're all very excited about it :D
Thanks for releasing this to the community.

You're welcome. I'm really glad we were able to do so.

Ben
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,981
Messages
2,570,188
Members
46,732
Latest member
ArronPalin

Latest Threads

Top