A Veritable Scatter Shot!

Github offers something for every developer. This week, read about some obscure and not so obscure software recently posted on Github.

This week presents a scatter shot of projects I stumbled upon recently. It’s got everything from JavaScript, to Ruby, to languages you’ve probably never even heard of.


Prototype (http://github.com/sstephenson/prototype) is one of the most popular open source JavaScript frameworks, and one of the most popular libraries to use with Prototype is scriptaculous, an excellent visual effects (fades, slides, and so on) library. This week, Thomas Fuchs, the author of scriptaculous, announced the availability of scriptaculous 2.0 (at http://github.com/madrobby/scripty2). This version is a total rewrite from the ground up, cleaning up the internals, speeding things up, and generally making the library better.

2.0 adds a good number of things to the core and improves many existing features. My favorite is CSS morphing, which smoothly transforms from one CSS style to another on a given element.

For example, to transition from white text on a black background to black text on a white background, you can call Element.morph. First, link to the JavaScript source files for Prototype and scriptaculous:

<script src="prototype.js" type="text/javascript"></script>
<script src="s2.js" type="text/javascript"></script>

Next, add the JavaScript code. Prototype finds elements using their `id` attribute; in this case, we’ll find an element named “black” and morph its CSS.

$('black').morph('background: white; color: black;');

It’s as easy as that. Now you’ll have a really smooth transition between the two CSS states. You can adjust nearly any CSS property in this manner, even queueing the effects up or running them in parallel. Read more about what’s possible at http://scripty2.com/doc/.

I Hate PowerPoint, Too.

If you’re like me, opening up PowerPoint or Keynote is an exercise in self-discipline. I love giving presentations, but presentations tools can be incredibly infuriating. Fortunately, I’ve found a neat little tool from Pat Nakajima I plan to start using called Slidedown, which lets you write slides in Markdown (my personal markup language preference).

An example slide file might look like this:


# Welcome to my talk.


## This is an awesome talk

!SLIDE code

  @@@ ruby
    def with


More information is [on my site](http://jeremymcanally.com)

This little bit generates four slides, one with some syntax highlighted Ruby code on it (yes, it highlights it!). The result is an HTML file and a set of CSS styles you can tweak to customize the look of your slides. To check out Slidedown, see the repository at http://github.com/nakajima/slidedown.

Feeling Obscure?

Erlang and Scala are obscure languages. Nonetheless, more and more developers are using these languages in real world projects, no matter how small, thus following much the same arc that Ruby and many of its predecessors have followed. Haskell is also an obscure languages—albeit popular among math geeks, scientists, and, strangely, financial developers for some time—but a few recent developments have sparked attention from a wider audience. One of the latest is Hack (http://github.com/nfjinjing/hack), a Haskell port of Ruby’s Rack Web server interface library.

Hack is a library that makes building Web frameworks and Web services dead simple; it also connects those frameworks to a Web server. All the logic to handle the framework-server communication is abstracted away, leaving a simple yet powerful API.

For example, to build a simple “Hello, universe!” application in Hack, you’d do something like this:

import Hack
import Hack.Handler.Happstack
import Data.ByteString.Lazy.Char8 (pack)

app :: Application
app = \env -> return $
  Response 200 [ ("Content-Type", "text/plain") ] (pack "Hello, universe!")

main = run app

This code imports the Hack library, creates an Application instance, adds an action to it to return Hello, universe!, and then executes the action. Haskell is a compiled language. Save the code to a file, say, Web.hs), build it (using GHC here), and run it.

$ ghc --make -O2 Web.hs
$ ./Web

The application runs on http://localhost:3000. If you’re interested in Hack, check out the repository (http://github.com/nfjinjing/hack), or if you’re interested in learning more about the Haskell language itself, check out http://haskell.org.

Speaking of Obscure…

Reia (http://github.com/tarcieri/reia) is a really interesting project, not only because it’s a very obscure language that runs on an obscure-turning-mainstream virtual machine (the Erlang VM), but because, unlike Erlang, it’s a concurrent language that’s actually quite fun to write code in. It’s billed as a hybrid between Ruby and Python, but in my experience, it leans more towards the Ruby side (which probably explains why it’s so fun to play with).

For example, check out this simple example:

class Person
  def initialize(name)
    @name = name

  def say_hello
    "Oh, hello.  My name is #{@name}!".puts()

person = Person("Jeremy")

If you know Ruby, you likely see a number of differences, but Reia still retains some of the same feel and it’s a great language that gives you nearly all the benefits of Erlang without a lot of the syntax quirks. If you want to learn more about Reia, be sure to check out the website at http://reia-lang.org.

That’s it for this week! Be sure to keep those suggestions coming to jeremymcanally on Github or @jm on Twitter.

Comments on "A Veritable Scatter Shot!"


But Erlang *is* fun to write code in. Obviously you haven\’t actually written any Erlang code.


It’s appropriate time to make some plans for the future and it’s time to be happy. I have read this post and if I could I want to suggest you few interesting things or advice. Maybe you could write next articles referring to this article. I wish to read even more things about it!


Hey, you used to write great, but the last few posts have been kinda boring… I miss your super writings. Past few posts are just a little out of track! come on!


    I think sweet potatoes would be really tasty in this! Since the stew is a little sweet from the pears, it would be a good idea to taste the stew before adding the pears to see if you think it really needs them. I&8#;172d love to know how it turns out


I’m curious to uncover out what blog system you are utilizing? I’m having some small security issues with my latest internet site and I would like to uncover something much more risk-free. Do you might have any retsmmendaciono?


Ah, i see. Well thta’s not too tricky at all!”


Every once in a though we pick out blogs that we study. Listed beneath are the latest web pages that we decide on.


Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>