[REBOL] Re: Selling REBOL scripts
From: reichart:prolific at: 8-Jan-2002 19:04
1. Q: PETR WROTE: Eh, difficult to read even for me now
A: That is funny :)
2. Q: BRETT WROTE: I'm curious what techniques, idioms, conventions, etc
have you used towards attaining such goals - particularly in reference to
modularity? Anything you can share for the betterment of all Rebol
A: Sure. The most important thing is to consider the breadth or scope of a
But before I start let me note that I will be using Pseudo code (not Rebol)
for my examples).
Consider a routine from a graphics package that renders a circle:
Where xy are coords, and r is the radius. The screen cords are assumed and
are taken from some global define or data statement.
This function is "closed" and after written is actually useless.
However, image the same function as: Data = Circle(x,y,r)
Where the Circle function is not designed to render, but rather to spew out
Data would now read something like:
Now you could do plot( circle(x,y,r) )
This is better way to write code (could be a little slower), but allows for
some amazing tricks. As an example. Image grabing every other data term to
created a dotted line. Or feeding the output to the input of the next xy,
to create spirals. You get the idea.
Currently we are writing an FTP client. An FTP client shares something like
90% of its functionality with a general File Manager. It also shares a
different 90% with a peer to peer or peer to server file sharing util (like
All three of these apps are a great front end for batch building and for
system maintenance, such as a util that looks for viruses, or does a Grep,
or does archiving. Or consider a util that keeps an eye on your system, and
tells you when files are accessed or changed. Or when a directory gets
full. Or something that cleans cookies.
These are all brothers, or at the very furthest kissing cousins.
So here are several key high level functions we are trying to I.D. early on
in our software development, that can be used by other apps (that we
Drag and drop (a file, or selected files from window to window, and once
implemented by RT, from Rebol/App to Local/App).
Search down directory building file list with all details (file creation
date, size, checksum, etc.)
Password protect user's settings, and allow settings to be stored or
retrieved from a website, or FTP site (this is a cool one, where you can set
things up the way you like it, and have those same settings at work and
We try to think of the part of the program as reusable, and we are looking
for ways to build our library more intelligently. Most of this is just
discipline, and focus, with a good dose of architecture.
Back to the original issue. I want to do my best to protect our hard work.
This is why I want to encap. If someone is smart enough to steal our code,
cool. Maybe they will come work with us one day :)
I met two of my team members at Pirate meetings. One has been with my
company for 14.5 years! The other on a Pirate BBS, he has been here for 15
None of us pirate though. I used to go to these meetings...to find
People who don't buy software don't buy software.
[Reichart--Prolific--com] to contact me.
www.SereneScreen.com for an amazing product.
www.Prolific.com to see what is happening in my life.