HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
tlrobinson
jack
JavaScript2009–2010
tlrobinson / jack

jack

[UNMAINTAINED] A port of Rack for the JavaScript JSGI web server interface

3Distinct people
6Mentions
0Explicit recommenders
184GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

[UNMAINTAINED] A port of Rack for the JavaScript JSGI web server interface

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month6 dated mentions

Observed mentions: 2009-01-10 08:10:06 UTC to 2010-06-08 04:30:48 UTC.

012342009-01-01 00:00:00 UTC to 2009-02-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 commentsJan 20092009-02-01 00:00:00 UTC to 2009-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-03-01 00:00:00 UTC to 2009-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-04-01 00:00:00 UTC to 2009-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-05-01 00:00:00 UTC to 2009-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2009-06-01 00:00:00 UTC to 2009-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-07-01 00:00:00 UTC to 2009-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-08-01 00:00:00 UTC to 2009-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-09-01 00:00:00 UTC to 2009-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 20092009-10-01 00:00:00 UTC to 2009-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-11-01 00:00:00 UTC to 2009-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2009-12-01 00:00:00 UTC to 2010-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-01-01 00:00:00 UTC to 2010-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-02-01 00:00:00 UTC to 2010-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-03-01 00:00:00 UTC to 2010-04-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-04-01 00:00:00 UTC to 2010-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-05-01 00:00:00 UTC to 2010-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2010-06-01 00:00:00 UTC to 2010-07-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 2010

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 20092009-01-01 00:00:00 UTC2009-02-01 00:00:00 UTC404
Feb 20092009-02-01 00:00:00 UTC2009-03-01 00:00:00 UTC000
Mar 20092009-03-01 00:00:00 UTC2009-04-01 00:00:00 UTC000
Apr 20092009-04-01 00:00:00 UTC2009-05-01 00:00:00 UTC000
May 20092009-05-01 00:00:00 UTC2009-06-01 00:00:00 UTC101
Jun 20092009-06-01 00:00:00 UTC2009-07-01 00:00:00 UTC000
Jul 20092009-07-01 00:00:00 UTC2009-08-01 00:00:00 UTC000
Aug 20092009-08-01 00:00:00 UTC2009-09-01 00:00:00 UTC000
Sep 20092009-09-01 00:00:00 UTC2009-10-01 00:00:00 UTC000
Oct 20092009-10-01 00:00:00 UTC2009-11-01 00:00:00 UTC000
Nov 20092009-11-01 00:00:00 UTC2009-12-01 00:00:00 UTC000
Dec 20092009-12-01 00:00:00 UTC2010-01-01 00:00:00 UTC000
Jan 20102010-01-01 00:00:00 UTC2010-02-01 00:00:00 UTC000
Feb 20102010-02-01 00:00:00 UTC2010-03-01 00:00:00 UTC000
Mar 20102010-03-01 00:00:00 UTC2010-04-01 00:00:00 UTC000
Apr 20102010-04-01 00:00:00 UTC2010-05-01 00:00:00 UTC000
May 20102010-05-01 00:00:00 UTC2010-06-01 00:00:00 UTC000
Jun 20102010-06-01 00:00:00 UTC2010-07-01 00:00:00 UTC101

What Hacker News says

6 sources
Sinatra is definitely an interesting project. We recently "ported" it to JavaScript: http://github.com/tlrobinson/jack/blob/030685ef3de4c29c38b4e... The same webservice would be: roundabout.route({ path:"/add/{a}/{b}", get: function(){this.body = this.wildcards["a"] + this.wildcards["b"];} }) or, alternatively: roundabout.get("/add/{a}/{b}", function(){ this.body = this.wildcards.a + this.wildcards.b; }); The first syntax is a tad longer, but its much more useful; you can define any method with the name of an HTTP verb for that path, and you can also define a filter parameter that will be queried before the path is matched. The filter lets you do whatever pre-processing you want, so you could filter out requests from a specific user-agent for example, or all URLs that use mixed case, or anything else you can think of.
In Ask HN: What web framework(s) do you guys use?
There's a lot of monolithic server side JavaScript packages like Helma, but I want something more modular. Also, Helma is written in mostly Java I believe, rather than JavaScript, which is ok if you don't want to hack on Helma itself (or if you know and like Java), but I'd rather have an all (or at least mostly) JavaScript solution. Anyway, I started working on part of a solution for this: Jack (http://github.com/tlrobinson/jack), which is like Rack (http://rack.rubyforge.org) but for JavaScript. If you don't know, Rack/Jack are like bridges between webservers and Ruby/JavaScript web apps/frameworks, so framework/app devs don't need to worry about what server they're using, they just write to the Rack API. It also includes "middleware" which lets you pre and post process requests, which allows for neat things like intercepting some reques
Read the rest
ts and serving static files, or gzipping responses, etc (in a server agnostic way) Right now it only works with Rhino+Jetty but ideally it will work with a number of JavaScript interpreters and webservers. It also includes a Sinatra-like routing framework (called Roundabout), which lets you define routes like GET("/user/{username}", function() { var user = this.wildcards["username"]; // do stuff! return resulting_html; } Jack and Roundabout, combined with your other frameworks of choice, like ActiveRecord.js (http://activerecordjs.org/) make a pretty good solution, I think.
In Clojure: 1, Common Lisp: 0

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.