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[thrucopy my to]i: last parse my none al ts rejoin["WAN: "i" -- LAN: "read join dns:// read dns://]]btn"Email"[vi/new cf y[mp: field"pop://user:pass@site.com"btn"Read"[ma: co[]foreach i read to-url mp/text[p ma join i"^/^/^/^/^/^/"editor ma]]]]btn"Count Days"[vi/new cf y[btn"Start"[sd: rr]btn"End"[ed: rr db/text: ts(ed - sd)show db]text"Days Between:"db: field]]btn"Play Waves"[ps: func[sl][wait 0 rg: load sl wf: 1 sp: open sound:// insert sp rg wait sp close sp wf: 0]wf: 0 change-dir %/c/Windows/media do wl:[wv: copy[]foreach i read %.[z %.wav = suffix? i[p wv i]]]vi/new cf y[vh2"Click a File to Play:"ft: text-list data wv[z wf <> 1[z error? try[ps value][al"Bad wave"close sp wf: 0]]]btn"Dir"[change-dir request-dir do wl ft/data: wv sh ft]]]btn{FTP Tool}[tu: :to-url vi/new cf y[p: field"ftp://user:pass@site.com/folder/"[either dir? tu va: value[f/data: sort read tu va sh f][editor tu va]]f: text-list[editor tu join p/text value] btn-help[al{To browse a folder, type in its URL path, WITH TRAILING SLASH. Click files to edit. To create a new file, type in its path then edit/save.}]]]]