Call for ideas: executable wiki


#1

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


#2

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


#3

On 6/19/07, Stefano G. removed_email_address@domain.invalid 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…


#4

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

jek


#5

On 6/19/07, Stefano G. removed_email_address@domain.invalid 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?


#6

…funziona! Ma che ficata

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

Ora lo provo immediatamente

jek


#7

On 6/19/07, Stefano G. removed_email_address@domain.invalid 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


#8

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