Call for ideas: executable wiki

qualche tempo fa ho scritto del codice che mi permetteva di fare il
seguente
trucchetto: mettere del codice in una pagina di un wiki (quello di
ruby-it),
scrivere in locale un import di quel codice ed eseguirlo in locale.

si trattava di una cosa del genere:


require_first_from_wiki ‘ruby-it.org

require ‘myspeciallib’ # la cerca in
http://ruby-it.org/pages/myspeciallibprima, in locale se non la trova
online

puts myspecialfunction()


sembra una cavolata ma permette in modo leggero e immediato di sharare
codice, tenerlo versionato, vedere chi lo ha modificato (per capire se
ti
fidi a eseguirlo sulla tua macchina).

ora mi chiedo… è possibile pensare a un sistema leggero dove gente fidata
mette codice nelle pagine di un wiki e poi andando su una certa url
quelle
pagine diventano la logica di una applicazione che gira online?

questo permetterebbe a una monkey di avere una app funzionante
on-the-fly
sapendo solo un pò di ruby e di templating. rimane anche il problema del DB
però. fregandocene altamente della scalabilità, possiamo pensare a un
sistema di in-memory-db con prevalence che dumpa tutti gli oggetti a
file
yml ogni X minuti?

alternativamente tutti gli oggetti interessanti potrebbero essere
spezzettati su due tabelle: una tabella oggetti e una tabella field che
tiene tutti i campi di tutti gli oggetti.

ricordiamoci che non sto pensando alla scalabilità. il 95% delle apps
sviluppate probabilmente rimarranno esercizi. se invece ‘prendono’ la
scimmia avrà abbastanza motivazione per imparare rails.

sparate qualche idea, sono sicuro che ne avete moltissime!

–ks

Carino! Se mi mandi il codice di require_first… Facciamo un
helloworld!

Per la persistenza, si potrebbe far scaricare un db sqllite in qualche
modo…

jek

On 6/19/07, Stefano G. [email protected] wrote:

Carino! Se mi mandi il codice di require_first… Facciamo un helloworld!

Per la persistenza, si potrebbe far scaricare un db sqllite in qualche
modo…

jek

questo runna un esempio: http://ruby-it.org/pages/wikistrano-try
il codice da avere in locale è invece il seguente:
http://ruby-it.org/pages/wikistrano

il codice caricato e runnato dal wiki è invece il seguente:
http://ruby-it.org/pages/halloworld
nota come usa una lib anch’essa su wiki…
http://ruby-it.org/pages/hallolib

provatelo, divertimento assicurato! il primo che riesce a mettere una
forma
di authentication della versione o dell’autore ci salva anche da codice
malvagio…

Se dici runnare un’altra volta ti faccio eseguire
http://ruby-it.org/pages/chuck_norris

jek

On 6/19/07, Stefano G. [email protected] wrote:

Se dici runnare un’altra volta ti faccio eseguire
http://ruby-it.org/pages/chuck_norris

jek

vengo dal C=64, quindi io runno :slight_smile:

embè dov’è il codice di chuck_norris?

…funziona! Ma che ficata

Questo si che potrebbe andare ben d’accordo con il mio account amazon
s3!!!

Ora lo provo immediatamente

jek

On 6/19/07, Stefano G. [email protected] wrote:

…funziona! Ma che ficata

Questo si che potrebbe andare ben d’accordo con il mio account amazon
s3!!!

Ora lo provo immediatamente

non scordarti di runnare anche questo :wink:
http://ruby-it.org/pages/chuck_norris

Scherzi? Solo bard puo vedere il codice di chuck norris e sopravvivere,
ma se bard e chuck vengono in contatto, l’universo implode, quindi
è impossibilie