Arc Forumnew | comments | leaders | submitlogin
2 points by tiglionabbit 6142 days ago | link | parent

EDIT: made it use sessions to answer the question properly

Here's a solution using the lovely simple web api Sinatra (http://sinatra.rubyforge.org/). How many tokens is this? I didn't use any form helpers, but I'm assuming string literals count as one token.

  require 'rubygems'
  require 'sinatra'

  get '/' do
    '<form action="success" method="POST"><input name="message"><input type="submit"></form>'
  end 

  post '/success' do
    session[:message] = params[:message]
    '<a href="show"> click here </a>'
  end

  get '/show' do
    "You Said: #{session[:message]}"
  end


2 points by edw 6122 days ago | link

This solution blows--like many others--because it explicitly references a session. Additionally, explicitly referencing a form instead of implicitly providing form values to a procedure is pointless drudgery. Explicit session and state are like having to access all of your Python variables via globals['foo'] or locals['bar'].

The Arc Challenge isn't about Turing completeness: We know you can build a web app using an app server written in Conway's Game of Life, and while that's an interesting curiosity, it's not something that's pushing forward the state of the art. The challenge--for me, at least--is about thinking about how we can make the plumbing of a web application disappear, so we don't need to think about it any more.

-----

1 point by partdavid 6142 days ago | link

I'm not sure what session is, there.

-----

1 point by tiglionabbit 6141 days ago | link

Session is a base64-encoded cookie with a secret key for each sinatra app.

-----