REBOL Technologies

Carl's REBOL Blog - Vive la REBOLution

Carl Sassenrath Carl Sassenrath, CTO
REBOL Technologies

Private feedback

5163413 visits since 12-Mar-2007



A few words from REBOL's architect.

Other Blogs:
REBOL 3.0 Front Line

Recent Comments:
0542 0541 0532 0526 0511 0519 0540 0535
Review all comments for week or month

Recent Articles:

15-Feb-2014 - Localized FUNCTION and CLOSURE definitions accepted [0543] 6 Cmts
16-Dec-2013 - Linked In [0542] 26 Cmts
18-Aug-2013 - State of TCP networking in Rebol 3 [0541] 6 Cmts
18-Aug-2013 - Let's switch to .reb suffix [0540] 14 Cmts
17-Aug-2013 - Home Automation With Insteon - ReCode conference video [0539] 3 Cmts
17-Aug-2013 - Rebol GitHub name change [0538]
21-Jul-2013 - Snapshot of Recode 2013 in Montreal [0537] 16 Cmts
20-Jul-2013 - Rebuilding [0536] 5 Cmts
20-Jul-2013 - Rebuilding [0535] 9 Cmts
20-Jul-2013 - Repurposing the rebol domains [0534] 9 Cmts
7-Jul-2013 - How to find Rebol 3 scripts? [0533] 3 Cmts
Contents- Index of all articles.

15-Feb-2014 - Localized FUNCTION and CLOSURE definitions accepted [0543]

The idea has been around for a while now that Rebol needed a more "closed" environment for functions, where local variables would be implicit rather than explicit. In other words, why put the burden on the programmer of tracking what's a local variable. It's problematic if you're not paying attention.

Rebol version 3 added that feature, but the concept wasn't embraced in the naming. For example, the most obviously named FUNCTION mezzanine, used by many newcomers/beginners, didn't support it. You had to use FUNCT. Not so nicely named. To change the definition was debatable. It's friendlier, but disruptive.

Having taken a long break from Rebol development, I guess these days I'm more in favor of disruption and going down a better path for new users. As I've said many times, Rebol 3 is still in alpha. That means we get to fix stuff and make it better. Sorry if it's a bit disruptive. There are always a few bumps in the development road, but you can be afraid to keep moving forward.

For the record, here's the GitHub pull:

Now, if you think it needs further revision, it's time to submit that. Let's get it ironed out.

And many thanks to BrianH, Ladislav, Andreas, BrianD, and anyone else who is helping to push this along.


16-Dec-2013 - Linked In [0542]

When it comes to online social, I guess I'm just a laggard. It really depends on what you want. I created REBOL/IOS and AltME because I wanted more efficient direct and private communications. Those worked really well for that. Very efficient. I don't like wasting time.

When IOS got nominated for a Webby award back in 2002, at the event, I met a few other pioneers who were building open social sites and even a few got traction. But, I used to think how boring is that? One of the guys nagged me for months on this thing "Linked In"... but, seemed like another noise generator to me. Facebook was a disaster for me. Seems like my page became endless spew about nothing. Some people love that kind of stuff. Not me.

Anyway, I finally signed up on Linked In a few weeks ago. Reason wasn't anything special. It seems like an international white pages, and as a directory, it seems like there's some merit. Maybe there's a better "white pages only" service of some kind out there. It's nice to be able to find old friends and for them to find me.

Now, if I could get more folks to come visit and help tend the vines and pick grapes... it doesn't get any easier as the years flip by.

So, after about a month, I'm up to 4 contacts now on Linked In. Pretty good eh? (Well, two are family.)

And you thought I was going to write something about REBOL? Soon.


18-Aug-2013 - State of TCP networking in Rebol 3 [0541]

It would be great to work out the remaining kinks in TCP for Rebol 3.

I'd heard recently about a mysterious TCP bug, so as a test, I wrote basic TCP client server scripts today. They worked pretty well over the local network where thru-put averaged 61 Mbps between two Linux boxes running Rebol 3. While doing that the system monitor on the client (TX) was at 4% of the CPU (although, I think that's the average over all cores.) I did not test it on the Internet. I guess that's next.

You can find the sources here:

Feel free to modify them and send pull requests if you've got some good additions.

These also serve as a basic example if you want to get started on your own networking in Rebol 3.

There were some issues:

  • If you close the client socket at random, the server read fails with an error message (code 104), not a close event. It is indeed an error condition, and it should be trappable, so I'm not sure what we really want. Probably the close event is more friendly.
  • There's no timeout event, so you have to use the main wait. This should work, but it messes up your code structure because all your event processing is in the awake function. Maybe there's a simple solution floating around, or maybe we have to add timeout events.


View index of all articles...

Updated 31-Oct-2014   -   Copyright Carl Sassenrath   -   WWW.REBOL.COM   -   Edit   -   Blogger Source Code