REBOL[title:"Demo"]p: :append k: :pick r: :random y: :layout q: 'image z: :if g: :to-image v: :length? vi: :view cf: :center-face ts: :to-string sh: :show al: :alert rr: :request-date co: :copy vi y[style btn btn 150 btn"Paint"[vi/new cf y[s: area black 650x350 feel[engage: func[f a e][z a = 'over[p s/effect/draw e/offset sh s]z a = 'up[p s/effect/draw 'line]]] effect[draw[line]]b: btn"Save"[save/png %a.png g s al"Saved 'a.png'"]btn"Clear"[s/effect/draw: co[line]sh s]]]btn"Snake"[u: :reduce x: does[al join{SCORE: }[v b]unview]s: g y/tight[btn red 10x10]o: g y/tight[btn tan 10x10]d: 0x10 w: 0 r/seed now b: u[q o(((r 19x19)* 10)+ 50x50)q s(((r 19x19)* 10)+ 50x50)]vi/new cf y/tight[c: area 305x305 effect[draw b]rate 15 feel[engage: func[f a e][z a = 'key[d: select u['up 0x-10 'down 0x10 'left -10x0 'right 10x0]e/key]z a = 'time[z any[b/6/1 < 0 b/6/2 < 0 b/6/1 > 290 b/6/2 > 290][x]z find(at b 7)b/6[x]z within? b/6 b/3 10x10[p b u[q s (last b)]w: 1 b/3:((r 29x29)* 10)]n: co/part b 5 p n(b/6 + d)for i 7(v b)1[either(type?(k b i)= pair!)[p n k b(i - 3)][p n k b i]]z w = 1[clear(back tail n)p n(last b)w: 0]b: co n sh c]]]do[focus c]]]btn"Tiles"[al{Arrange the tiles into alphabetical order:}vi/new cf y[origin 0x0 space 0x0 across style p button 60x60[z not find[0x60 60x0 0x-60 -60x0]face/offset - x/offset[exit]temp: face/offset face/offset: x/offset x/offset: temp]p"O"p"N"p"M"p"L"return p"K"p"J"p"I"p"H"return p"G"p"F"p"E"p"D"return p"C"p"B"p"A"x: p white edge[size: 0]]]btn"Calendar"[do h:[z not(exists? %s)[write %s ""]r: rr vi/new cf y[h5 ts r aa: area ts select to-block(find/last(to-block read %s)r)r btn"Save"[write/append %s rejoin[r" {"aa/text"} "]unview do h]]]]btn"Live Video"[wl: to-url request-text/title/default"URL:""http://209.165.153.2/axis-cgi/jpg/image.cgi"vi/new cf y[image load wl 640x480 rate 0 feel[engage: func[f a e][if a = 'time[f/image: load wl show f]]]]]btn"IPs"[parse read http://guitarz.org/ip.cgi[thru