• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[!REBOL3] General discussion about REBOL 3

Henrik
26-Feb-2013
[1127]
Pekr, there is a lot more to storing application states than simply 
zipping data.
Oldes
26-Feb-2013
[1128]
It's quite a long time I used rip last time so my memory may be faded 
out, what do you mean with the application states?
Pekr
26-Feb-2013
[1129]
Henrik - maybe you meant a Rebin format? I really thoght, that .rip 
is just packaged scripts with header in order to being runnable? 
So I would like to ask about the app states too?
Henrik
26-Feb-2013
[1130x2]
Storing bindings, managing upgrades of data structures, structural 
checks and error handlign, type assertion, etc.
Pekr, ah, you are probably right. I forgot there was another name 
there.
Pekr
26-Feb-2013
[1132]
Well, rebin was not imo finished, even for R3, although maybe R3 
was closer to get to that idea. IIRC .rip appeared somewhere around 
IOS times, as a means of package scripts. It was imo a typical way 
of Carl, introduce his own way, instead of going with some "standard", 
e.g. zip.
Henrik
26-Feb-2013
[1133]
OK, then sorry, I was wrong. As far as .rip is concerned, then it 
should be some kind of installer, for it to be justified.
NickA
26-Feb-2013
[1134]
I'm ALL for using a standard compression format.  Then with a little 
work, .rip files could basically be SFX files. That would enable 
a super simple packaging method for delivery of executable REBOL 
applications.
Endo
26-Feb-2013
[1135]
+1 for NickA
Maxim
26-Feb-2013
[1136]
as far as i know, zip files allow prefix payload, so you can put 
stuff before the actual .zip file starts... just like REBOL allows 
stuff before the header.   I've seen a demo of a single file which 
is  an .exe,  .pdf ,  and .zip all at the same  time!
Bo
26-Feb-2013
[1137]
Old Bug, New Bug, Red Bug, Blue Bug?


I'm using the ARM build from rebolsource.net and getting the following 
unexpected behavior:

>> template: read %template.html


It outputs template as if it was a binary file, although it is plain 
text.

The build date on the package was 24-Jan-2013.
Andreas
26-Feb-2013
[1138]
No bug, READ does no longer automatically decode binary to strings. 
Use READ/string to obtain a a Unicode string obtained by decoding 
the binary with UTF-8.
BrianH
26-Feb-2013
[1139]
Cyphre, Rebol compression is the same as zip deflate, but it's not 
the compressed part that's more efficient, it's the headers. The 
zip format has some fairly extensive headers, and Rebol compression 
doesn't. We do need compression to support compressed scripts though, 
so we need something. That doesn't mean we can't have something more 
flexible, and if we stick to what we can get from zlib (since we're 
linking it anyway) we can get this flexibility nearly for free.
Bo
26-Feb-2013
[1140]
@Andreas: Good to know!  Thanks!
BrianH
26-Feb-2013
[1141x2]
If the latest zlib is better, we should consider switching to it. 
If we need to make sure that R2-compatible compression is an option, 
make it an option. Decompression should be able to autodetect the 
compression model though.
R3's existing compressed scripts feature is better than RIP already, 
so we can safely let that fall into history.
Gregg
26-Feb-2013
[1143]
ZIP support would be great. I've wanted it for a long time, but want 
more than just a "compress this value" function. i.e. it needs to 
work like a port or have an interface that lets us navigate, list, 
etc.
BrianH
26-Feb-2013
[1144x2]
The ZIP format is supposed to be like a directory/file structure. 
I would rather have it supported as a zip:// port scheme, like file:// 
is for files and directories.
It's not a single-stream model like zlib or gzip - those would be 
better supported by COMPRESS and DECOMPRESS.
Gregg
26-Feb-2013
[1146]
Agreed.
Cyphre
26-Feb-2013
[1147]
BrianH, yup I realized how it works now and I even fixed the /gzip 
quirks in DECOMPRESS...so I can decompress zip chunks with CRC32 
checksums now. But there is still one annoying bug, that the current 
zlib code doesn't handle the CRC32 calculation well on bigger files 
than 32kB :-/ Now I'm trying to fix it so the crc32() calls works 
in the "CRC running" mode where the final CRC32 is calcualted from 
smaller chunks of data which a file consists of.

I'll hopefully push this on github If I manage to fix it succesfully.
BrianH
26-Feb-2013
[1148x2]
Do you think that it is feasible to change the current zlib to a 
more recent version or something else that is better? Keep in mind 
that I would want that zip:// scheme to exist eventually, even if 
I have to write it myself.
We would still need to be able to compress and decompress in a R2-compatible 
way, even if it's optional, not the default. For interoperability.
Cyphre
27-Feb-2013
[1150x2]
BrianH: I think we should change the /GZIP refinement to /CRC32 so 
it is independent of the format. Then we can create mezanine/scheme 
support code for various higher-level formats (ZIP, GZIP etc.) at 
the REBOL scripting level.

BTW I have finally fixed the current /GZIP refinement problems so 
now I'm able to ZIP/UNZIP uzing rebol script without the 'PNG load 
hack' that is on rebol.org. In fact I modified the rebzip.r to work 
with R3 and the ZIP/UNZIP operations are now "instant" when comparing 
to the R2 version. So I guess this is a good proof we can write fiast 
zip:// scheme with just the current COMPRESS/DECOMPRESS natives.
Regarding the zlib code change/update. I think that is feasible. 
We could try to use the latest version of ZLIB library (hope the 
licensing is ok, haven't checked that) or look at the MINIZ compression 
library (check it on: http://code.google.com/p/miniz/looks interesting 
as it could be more lightweight)
Rebolek
27-Feb-2013
[1152x2]
Licensing seems OK http://en.wikipedia.org/wiki/Zlib_License
Miniz license is even better (public domain).
Cyphre
27-Feb-2013
[1154]
cool, so looks like we could try to replace the old code in the future 
with these and see if it makes R3 better.
Sunanda
27-Feb-2013
[1155]
Is anyone working on the mezzes CHANGES and UPGRADE ?

When run from the new builds, they simply head back to rebol.com 
and do not show the latest goodies from the github.
Gregg
27-Feb-2013
[1156x2]
That's great news Cyphre! Thanks for pursuing it.
I agree on the refinement name as well, maybe adding a note about 
gzip in the doc string.
BrianH
27-Feb-2013
[1158x3]
Miniz looks nice. Smaller is better for something we're statically 
linking, and the license works too. How is the error reporting and 
recovery? That has been a problem with DECOMPRESS.
I already voiced my agreement on the checksum refinement change. 
I'm on the fence whether it should be /crc32 or /type 'crc32.
Nice, miniz does streaming (de)compression too. Async compress port 
anyone?
Pekr
28-Feb-2013
[1161x2]
yes! :-)
and async parse! :-)
PeterWood
28-Feb-2013
[1163x4]
The LiveCode KickStarter campaign to first re-structure the code, 
make it easy to accpept contributions, build a new IDE and some modernisation 
has raised over 500,000 GBP (more than 750,000 USD).


Same Carl didn't try something along those lines before releasing 
REBOL 3.
Same  -> shame
Perhaps it's not too late?
Oops. it has only raised 475,000 GBP, still more than 750,000 USD
AdrianS
28-Feb-2013
[1167]
How the heck did they manage that? It was not looking like it was 
going to make it not too long ago.
PeterWood
28-Feb-2013
[1168x3]
I think a lot of people must have watied until it looked as though 
it was going to succeed.
The big numbers raised are due in the main by their forward selling 
commercial licences. LiveCode will be dual licenced GPL & Commercial 
licence.
I don't think Carl could have rasied that much but a well run campaign 
may well have been able to raise enough to set up a solid infrastructure 
for the REBOL 3 opn source project. I think 50,000 USD would be in 
reach.
BrianH
28-Feb-2013
[1171x5]
It's actually pretty easy to see how they managed it. It was:

- A multi-language IDE (not a programming language, people already 
get those for free)
- With a GUI with an emphasis on modern graphic design (pretty!)
- With a fancy demo (more pretty!)

- With an initial focus on programming languages and development 
platforms that are already popular (built-in customer base)


Powerful IDEs are some of the only development tools that people 
are still willing to pay money for (i.e. Visual Studio). Most people 
can't choose what language they write in, but they more often can 
choose their IDE. And for crappy-but-IDE-friendly languages, an IDE 
can make all the difference in your productivity. They're not as 
helpful for really powerful extensible languages like Rebol or Perl, 
unless the language is so bad that just about anything would help 
(Perl). Plus, since an IDE is an end-user app you can afford to GPL 
it, since the only stuff built on it are add-ons - that doesn't work 
for programming languages unless they have a clear distinction between 
user code and built-in code that is distinct enough to not violate 
the GPL distinctions, because most of the competition is permissive 
- and without the GPL restrictions there is nothing to sell, so there 
is no business model to get a return on investment.


It's nice to point to other open source projects and say "See! We 
could have done that!" but unless those are comparable projects their 
success isn't comparable either.
How many investors did it take to raise that much money? Because 
if it was more than 100, that goes past the expected limit of how 
many people would have been willing to invest in the Rebol programming 
language. Don't underestimate the power of popularity.
Programming language projects for (unfairly) unpopular programming 
languages are not commercial endeavors anymore, they're charities. 
GPL/commercial programming languages that might possibly GPL-infect 
the user programs are just dead now - they're not even sad anymore. 
It doesn't matter if the license is carefully arranged to make user 
programs not affected; most users aren't lawyers and there are much 
more unambiguously permissive no-cost alternatives out there that 
might be good enough, and some of them are popular.
Don't knock charities though. Charities can be very successful if 
they get enough industry support. Python, Perl and GCC are made by 
charities.
And it doesn't take a lot to run a programming language charity for 
a somewhat minimalist language. You don't need a lot of people to 
get the job done. Something maximalist like .NET or Java (when you 
include their runtime libraries) can need a lot of people, but something 
small like Rebol or Red doesn't need as much. You can get enough 
people to fund development even for a charity project just by being 
useful enough.
PeterWood
28-Feb-2013
[1176]
LiveCode is not a multi-language IDE. The IDE supports one langauge 
LIveCode.which is a descendant of xTalk.