# Call for ideas: executable wiki

**URL:** <https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219>\
**Category:** IT\
**Created:** [June 19, 2007, 11:21am UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219 "2007-06-19T11:21:00Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 11:21am UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/1 "2007-06-19T11:21:00Z")

</div>

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](http://ruby-it.org)’

require ‘myspeciallib’ # la cerca in  
[http://ruby-it.org/pages/myspeciallibprima](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

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 12:18pm UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/2 "2007-06-19T12:18:12Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 12:49pm UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/3 "2007-06-19T12:49:14Z")

</div>

On 6/19/07, Stefano G. [removed\_email\_address@domain.invalid](mailto: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](http://ruby-it.org/pages/wikistrano-try)  
il codice da avere in locale è invece il seguente:  
[http://ruby-it.org/pages/wikistrano](http://ruby-it.org/pages/wikistrano)

il codice caricato e runnato dal wiki è invece il seguente:  
[http://ruby-it.org/pages/halloworld](http://ruby-it.org/pages/halloworld)  
nota come usa una lib anch’essa su wiki…  
[http://ruby-it.org/pages/hallolib](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…

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 12:53pm UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/4 "2007-06-19T12:53:16Z")

</div>

Se dici runnare un’altra volta ti faccio eseguire  
[http://ruby-it.org/pages/chuck\_norris](http://ruby-it.org/pages/chuck_norris)

jek

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 1:03pm UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/5 "2007-06-19T13:03:18Z")

</div>

On 6/19/07, Stefano G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Se dici runnare un’altra volta ti faccio eseguire  
> [http://ruby-it.org/pages/chuck\_norris](http://ruby-it.org/pages/chuck_norris)
> 
> jek

vengo dal C=64, quindi io runno 🙂

embè dov’è il codice di chuck\_norris?

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 1:25pm UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/6 "2007-06-19T13:25:26Z")

</div>

…funziona! Ma che ficata

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

Ora lo provo immediatamente

jek

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 2:25pm UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/7 "2007-06-19T14:25:35Z")

</div>

On 6/19/07, Stefano G. [removed\_email\_address@domain.invalid](mailto: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 😉  
[http://ruby-it.org/pages/chuck\_norris](http://ruby-it.org/pages/chuck_norris)

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [June 19, 2007, 1:17pm UTC](https://www.ruby-forum.com/t/call-for-ideas-executable-wiki/107219/8 "2007-06-19T13:17:24Z")

</div>

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
