With R2, there were certain shortcommings or errors, that meant, we couldn't finish projects the way, we wanted. I saw R2 as a way to develop cross-platform for the major platforms, Windows, Linux, and OS X. And in a way with very fast development, a short way from idea to product.
For some server-side tasks, R2 was good enough in many ways (approaching perfect), but wanting to do graphics and sound and responsive events, there were obstacles.
The desire for an open-source R2 was there. Then we could fix things ourselves. Not develop new, but fix things to get R2 to work as intended across all platforms.
R3 meant new development, not just a fix of things in R2. But if almost starting over, then it could be from any ground, not only R3. And the world around us changed fast with new mobile platforms. We saw new approaches to solve the problem of 'programming' in efficient and rebolish kind of ways, World, Topaz, Red. I started development of World before Rebol was open source. I don't know if this is the case for Topaz and Red too.
On open source, I see benefit in open source, if things needs to be fixed. I don't always see benefit in open source, when new stuff is being developed. You run into the too many cooks problem. I see huge bloat open source projects all over the place. I am being presented them at university, and I run away in horror. They sucks!
New development should be done by one or very few people, if you want somethings really good out of it. That is my view, and I think, it is true in general. But you can probably find projects, where this is not the case.
I hope, Red succeed. I hope, Topaz succeed (it maybe already did, I haven't followed it). I hope, R3 succeed. I hope, Carl succeed with R4. I will do, what I can to get a success out of the World Programming Language.
There are many old-kind-of-languages out there, and we need new modern next-step future-proof rebolish kind of languages! Not one such language, but several.
Rebolek
So Carl asks "why are people moving forward with Red as oposed to building on Rebol 3?" and then he mentions that he is working on Rebol 4. In private, not using the public open repo. I guess he answered his own question.
Arnold
Red also started before R3 was open sourced. I agree with you John that it would have been easier to fix things in R2 then create them in R3. Facts are R2 is closed source and investors interests prohibit open sourcing that. R3 development had already started also as closed source from RT. Carl has managed to free this source from investors interest and could give this source out. But then asking why there is no development is asking for the sake of asking. Nobody was maintaining its source!
Geomol
About succeeding, we already have had success in many situations with these languages (and some crash and burns). I am using the World language every day to do things, I couldn't do with any other language, i know of, in such a short time.
Other students at university can't understand, how I can produce LaTeX documents so fast. They have never seen anything like it.
And I have great success these days and weeks developing software in World to produce HW accelerated graphics and 24-bit/96kHz audio. I have waited almost 30 years, since I got my Amiga500, to be able to do the things, I do now. I can thank Carl for showing the way to efficient languages. I use AGG graphics from DRAW in R2 to create the GUI, and it looks very nice. A bit annoying, that I have to go to my Windows PC to have R2 produce the text, as DRAW doesn't work well with fonts under OS X, but it is doable.
We should remember all the good things, and then keep on going to make things even better.
Geomol
(I should say, that the gfx and audio, I'm doing, is in a combination of World and C code, but World working as the scripting part makes the whole thing so much easier. My experiences with this can lead to further development of World.)
Arnold
@Rebolek This 'plan' is still very dependend on getting the access to the repo.
I expected the volunteers to apply in big numbers now I threatened to be willing to help with that. ;-)
Maxim
Arnold, I think you don't understand how Git works. if you fork the R3 repo you have all of the repo. there is no need to have access to the repo, you can build your own "official" repo, just like HF did with ren/C.
the work is about attracting people to your project, if Carl isn't maintaining *his* copy of R3, then that copy is dead... you can work on yours (or another's) and hope it will be good enough to build a community around it.
Arnold
No Maxim, I don't think you understand how this works. There can be a 100 forks, but there is only 1 that is regarded as leading. In our case that one is not maintained and therefor R3 is not maintained, there is no consensus between forks. Outsiders look at the repo and see it is dead as a dodo and so regard R3 not as a viable alternative.
Kaj
R3 is dead, long live R4!
With the emphasis on long
Maxim
yes, Rebol/R3 is dead in terms of development that is true. Ren-C IS the currently active Rebol3 project. that's just how it is.
DocKimbel
It is doubtful that Carl would drop the R3 codebase to start from scratch again. I bet that R4 would be more like a re-branding of [R3 + something else].
Another option could also be a "specialized" R3 version for a given domain, like embedded devices.
Arnold
We need a !REBOL4 Group!
And "we" need to take over control over the repo immediately.
Pekr
If there is going to be any repo, maybe it is going to be closed source again :-)
Arnold
If it is closed, in my opinion he better save the effort of creating it.
Rebolek
Why? I believe Carls has fun creating it. Isn't it good enough reason? :)
Marco
I'd like to show a window with a progress bar that show the progress of a download taking place and with a "Cancel" button to stop it same as request-download. How can I do it in R3? I am able to create the window with widgets but don't know the net part, any hint?
Maarten
>> yes, Rebol/R3 is dead in terms of development that is true. Ren-C IS the currently active Rebol3 project. that's just how it is
I disagree - we have the Atronix fork and that works pretty well. Good enough to bridge the gap until REDhas TCP and more UI backends
I'm actually using the Atronix version to build a distributed computing system, that runs across ARMv7, Win64, Lin64 (32 bit too, but whta's the case). Pet project, but fast enough dev time wise to be usable, and seems to "just work"
Ren-c.... I don't think that has a UI. So it's really R3/Core witout FFI
amacleod
Does r3 on android allow to read write local files? I tried but I get an error.
CelesteM
What's the error?
amacleod
access error: cannot open: %test.txt reason -3
GiuseppeC
Hi, is there a way to intecept new data on the windows clipboard and read it ?
Gregg
I don't recall of any old notification hooks for it. You might have to poll.
Bo
I'm sure there is a .dll to do that, but it would involve a callback, I'm sure.
GiuseppeC
I have resolved the situation in a different way, without rebol.
Gregg
How did you do it Giuseppe?
GiuseppeC
Hi Greg, I had to download the elements of a web table and put it inside a database. Excel did the job for me. I have learnt it could query a multipage table and write the columns on the current sheed. I was able to finish a multy day job in just 5 minutes.
GiuseppeC
In the past years, someone gave me a ULTRAEDIT wordfile for REBOL.I don't' remember if version 2 or 3. I have lost the file but I don't remember the person. Could someone help ?
Gregg
Might have been me. I'm signing off right now, but ping me and I'll send you my UE REBOL stuff.
Maxim
might be me too... but mine is highly customized... not very usefull anymore.
(for someone other than me)
DocKimbel
Is there a good reason for ROUND to return a decimal! instead of an integer! like it does in Rebol2?
Rebol3: >> round 2.3 == 2.0
Rebol2 >> round 2.3 == 2
Endo
Help text says "ROUND returns the nearest integer" but it doesn't always return an integer: May be he thought that its better to keep the datatype of the return value same: >> round/to 1.987 0.37 == 1.85
DocKimbel
There's no mention of the return type in the R3 version of ROUND docstrings.
Endo
It is on R2.
Gregg
Using /TO changes the result type, but with out it ROUND always returns an integer, correct? If so, the help string for /TO implicitly covers it I think.
But, for Doc, I don't know a good reason to change it. Do you have one?
Endo
Correct, returns integer for all other refinements.
Gregg
As you know, one of the reasons to return an integer was for use with loops.
Thanks Endo.
DocKimbel
@Gregg I don't understand the rationale of Rebol3 returning a decimal! instead of integer!. Qingtian implemented it in Red copying R3 semantics, but I am about to change it to have R2's semantics, but I want first, to understand the reason for R3's behavior.
Gregg
Ah, I see. I don't know why the change was made either, except that they made it a native from a mezz. Maybe it was just an implementation detail?
DocKimbel
It looks too obvious to be a bug, so I guess it was planned. I still don't get why as it makes it impractical for the common use-case.
Gregg
R3 changed to support non-integer values for loops, so the result is usable, but I don't remember why that change was made.
Pekr
IIRC, Ladislav implemented it for Carl, so if he is around, most probably he's the one who knows the answer?
Gregg
I think you're right Petr. He and I did the mezz version, so that makes sense.
Bo
How does one write data into a port in Rebol3? 'insert, 'append, etc. do not work.
Bo
I found this example, but it makes r3-view from Atronix crash:
client: open tcp://localhost:8080 client/awake: func [event /local port] [ port: event/port switch event/type [ lookup [open port] connect [write port to-binary request] read [ result: to-string port/data close port return true ] wrote [read event/port] ] false ] wait [client 30] ;the number is a timeout in seconds close client
(at least when using "client: open clipboard://" instead of a TCP port.
)
Endo
This works for me: write clipboard:// "test"
Version: 3.0.91.3.3
Rebolek
Bo, take a look at https://github.com/rebolek/prot-redis/blob/master/prot-redis.reb#L335 . I don't know what version of R3 I am using, because there's no official version, I have something different installed on different machines, but I use it everyday and it works. With limitations, thanks to many R3 bugs.
Rest of the text, obfuscated by long time AltME bug: "I don't know what version of R3 I am using, because there's no official version, I have something different installed on different machines, but I use it everyday and it works. With limitations, thanks to many R3 bugs."
Bo
To get around that bug, I just copy the entire message and paste it in the message field of AltME. ;-)
Rebolek
Thanks, I just haven't posted a link on AltME for some time, so I forgot about it's limitations ;)
Anyway, there's write and read support and it also properly handles writes longer than 32000 bytes.
Gregg
You can patch R2 to handle longer writes as well, thanks to Max. I doubt this affects too much at this point though.
Maxim
yes the simple R2 fix allows to POST any size.
Ashley
Anyone else notice this strange behaviour (Atronix R3 on Windows):
The bottom is the way Rebol2 behaved, and the top is the way that Rebol3 seems to behave.
Chris
One possibility:
>> round/to to money! 3 $.01 == $3.00
Bo
Chris: Nice!
>> round/to $3 $.01 == $3.00
GiuseppeC
Hi, I have 2 servers, one with SQL Server installed and another where users work. I need to have a rebol app on the first server which receives some commands and return one or more result sets of a query to its rebol caller app part on the other server. No need for async operation a sync one is sufficient. Have you some code example
Gregg
I don't have example code, and don't use R3 in production at this point, but have you considered just using req/rep files on the FS? Just have your app look for %*.req files, run the query in them, and write out a %.rep file of the same name for the client to watch for. You can do it with net protocols, 0MQ, etc. but then you may need to be concerned about data size and such.
GiuseppeC
I'd rather prefeer direct server to serve communication, but if it is the only option I will use a file syste watcher.
Also, how do I read command line arguments in REBOL 3 ?
Gregg
I'm sure it's not the only option, just an easy suggestion since I don't have code at the ready for another one. :-)
So system/options/args or system/script/args not work correctly in R3?
DideC
@GiuseppeC: - If this server app need only to serve SQL commands and send response, and if ODBC 32bits is an option, consider using odbcsocketserver with the Rebol client script, but it's for R2, not R3. It's a pretty simple protocol so maybe it could be adapted to R3 easily. http://odbcsock.sourceforge.net/ The Rebol client protocol seems to not be available online anymore but ask me in private if you are interested.
GiuseppeC
DideC, it is not suitable for me. I need only 2 scripts which communicate each other.
GiuseppeC
Hi, is it possible to create a Rebol3 Executable ? Also, is it possible to associate the R3 console to .r (r3 ?) files ?
Gregg
There was an experimental ENCAP in the Atronix version. I don't know how far Shixin took it though.
It seem write/append/lines %filename.txt reduce [a b c d] is not working correctly. I have not newlines.
I have also tried write/append/lines %filename.txt append {sometext} lf
but as soon as the loop run reiterating the same line, I accumulate tons of LF
GiuseppeC
Too many answer for all my question in this world, please, stop, it's a flooding !!! :)
Bo
Hmmm. I know I've done this before, but I can't find any reference to it. In Rebol3, how does one access the serial port? It doesn't work the same way as in Rebol2, as there is no system/ports/serial object.
Version: 3.0.99.4.20
This version has GUI and Serial built into it. Here are some things I tried:
>> ser: open serial:// ** Access error: invalid port argument: make error! [ code: 346 type: 'Script id: 'bad-make-arg arg1: integer! arg2: none arg3: none near: [to integer! speed] where: [to try if init if -apply- open] ] ** Where: open ** Near: open serial://
>> ser: open serial://ttyUSB0/9600/8/none/1 ** Access error: invalid port argument: make error! [ code: 346 type: 'Script id: 'bad-make-arg arg1: integer! arg2: 9600/8/none/1 arg3: none near: [to integer! speed] where: [to try if init if -apply- open] ] ** Where: open ** Near: open serial://ttyUSB0/9600/8/none/1
>> ser: open serial://ttyUSB0 ** Script error: cannot MAKE/TO file! from: none ** Where: to if init if -apply- open ** Near: to file! path
Bo
OK. Note to self: I was close. This is the correct way to open a serial port:
And here's how to write/read data to/from the serial port:
ser/awake: func [event /local p][ p: event/port switch event/type [ lookup [open p] connect [write p to-binary request] read [ result: to-string p/data close p return true ] wrote [read event/port] ] false ]
write ser "ping^/" s: wait [ser 5] print to-string s/data
Bo
The problem I have now is that I cannot figure out how to read data from the serial port. I always only get back the last command I wrote to the serial port in s/data.
Bo
Hmm, I guess nobody has any ideas here nor on Stack Overflow. :-(
Pekr
Isn't serial port occupied by other app? I very vaguely remember, I once met such situation too. Or it might be related to USB to serial converted, not sure ....
Gregg
I've only ever used R2 for serial port work.
Arnold
Bo, what is wrote [read event/port] ? Is it a typo you only made here?
Arnold
(I saw on SO you also had WROTE not WRITE)
Marco
@Bo . Try also to search for "gs: open" in this group (6-dec-2015 by Josh)
Bo
Arnold: "wrote [read event/port]" is part of the awake handler.
Bo
@Marco: Thanks! That's what I was looking for!
amacleod
does r3 not have a set-net function? "** Script error: set-net has no value"
Gregg
Protocols were never completed for R3.
Bo
A long time ago (Sep 2014 I believe), I wrote a question here but never got an answer. I did eventually figure it out, but I recently had to figure it out again, so I'm posting it here for posterity:
Here's the solution when encountering the following:
$ sudo ./r3 sudo: unable to execute ./r3: No such file or directory
ARM devices running 64-bit operating systems don't generally have the 32-bit libraries installed. This can be fixed with the following commands:
After installing those libraries, the executable should now run!
A similar procedure can be performed for Intel machines as well by replacing the "armhf" with "i386".
Endo
Thank you for posting this Bo, I had this issue several times and it was diffcult for me to find.
Bo
:-)
GiuseppeC
How could I find the corresponding date for: "The monday of 2 weeks ago" "The next sunday" "The last day of the current/next/prev month ?"
Ashley
The monday of 2 weeks ago ... either now/weekday = 1 [now - 14][now - (6 + now/weekday)] The next sunday ... either now/weekday = 7 [now + 7][now + (7 - now/weekday)] The last day of the current/next/prev month ... http://www.rebol.org/view-script.r?script=date-time.r
Gregg
Giuseppe, individual date calcs are relatively easy. Designing a dialect to interpret human expressions of them is more work, though still doable. I have a number of things that do part of it, but no complete, open system I can post.
Watch for boundary issues. Here are a couple helpers that show what I mean.
set 'last-day-of-month func [date /local d] [ d: date d/day: 1 d/month: d/month + 1 d: d - 1 d ]
set 'same-day-next-month func [date /local d] [ d: date d/month: d/month + 1 if d/day < date/day [d: d - d/day] d ]
GiuseppeC
Ashley, how if I need to calculate a generic monday of N weeks AGO or sunday of N weeks in the future ?
The following code returns the dayofweek of /weeks/ ago dayofweek: 1 weeks: 2 date: either now/weekday = dayofweek [now - (7 * (weeks - 1))] [now - (((7 * (weeks - 1)) - dayofweek) + now/weekday)]
GiuseppeC
Note that this formula is dangerous when you want to filter something from a start to and date because it includes TIME! now should be changed to now/date
DideC
I have a generic calculation for dates: date-of-monday: a-date + 1 - a-date/weekday If you need a sunday, it become: date-of-sunday: a-date + 7 - a-date/weekday Then just add or remove (weeks * 7)
GiuseppeC
Interesting
Arnold
What should same-day-next-month be today?
Gregg
That would be open to interpretation on a day like today. My call, when I wrote that func, was to use the last day of the month, if the next month has less days than the target month.
Alternately, you could throw an error or return none.
You can also store multiple identities in the system/user object
set-net select system/user/identities 'gmail
switches to my gmail settings.
GrahamC
We are now testing an ODBC extension which was based on Christian Ensel's code, and need to sort out whether we should stick to RT's sql dialect which is a dialect ontop of another dialect
Gregg
What's the alternative?
GrahamC
Chris uses an abstraction Active Record in Quarter Master which is based on a ruby thing
Of course we want to avoid any possibility of sql injection which RT's dialect prevents
I've carried out ODBC testing now on Firebird 3.0, Interbase 2017 and DB2 Express edition. They all have their quirks :(
GrahamC
@Ladislav are you doing any Rebol work at present? We need an elliptic curve diffie-hellman key exchange implementation for r3 tls !
Using Curve25519 instead of the compromised NIST curves
Chris
Max (from !munge group re. Ren-C), aside from Atronix? For me: not quite--am still missing some key libraries that I'm working to replace (similar situation with Red). I would prefer that there's a stable branch with paced releases, but it is a better version of Rebol 3 than R3 Alpha. Working cross-codes (Red/Ren-C) on the HTML parser is fun (if you like that type of thing).
Chris
Say what you will about the character/conduct of the project lead (I know everyone has their opinion) there's a good infrastructure around the process--changes are reasoned/documented, edge builds are available to download automatically, any impulse on experimention is tempered by the conservative needs of Atronix, more of the core extensions (modules, help, interface) are being pushed to third parties.
eFishAnt
I used Atronix R3 to parse 7 gig fs binaries for FAT table coherence on some returns for product returs since I needed more than 4 gig of 32-bit, and no problems. with it.
Bo
I wrote an answer here on how to get R3 to run on arm64-capable hardware running an arm64 OS (like the Rock64 or ODROID-C2 running Ubuntu for arm64) back on 21-Dec-2016. But I left out an important step. After adding the armhf architecture, make sure to run 'apt update'! Or it won't find the packages...
Why would you want to run r3alpha when you can run ren-c?
Bo
Not sure what the limitations of ren-c are. Do you have to call it from a C program?
GrahamC
It's a superset of r3alpha but with the bugs removed!
And there's an armhf build available
There has been a version that can be linked into a C++ program but that's not currently available.
GiuseppeC
Graham, where could I find all the changes/fixing of REN-C ?
Pekr
You would have to properly follow HostileFork. He changes concepts here or there, some changes seem to be fundamental, mostly low level, difficult to say. You can reach him at the Stack Overflow chat.
Bo
When Red reaches 0.7, I'm probably going to switch most of my development to that anyway.
GrahamC
@Guiseppe, there's a change log but I'm not sure if it's being maintained.
GrahamC
well, Cyphre was asking for $1500-$2000 to update Rebol3 TLS - I'm asking for at least TLS 1.2 and server side SSL. And we now have half of that pledged.
Oh, and if anyone else wants to take on this job for a cheaper price, please speak up! :)
Gregg
I have always admired your optimisim Graham. :^)
GiuseppeC
1500 USD = 1 month of work for europe, 5-6 months in CZEC republic. I think Cyphre is the perfect candidate as this bounty let him be dedicated only to this task for a vast amount of time nad he has the needed knowledge. If he will not work full job he could work on this project even for a full year. Hope our group of people will grew and we will able to raise more money for development tasks.
Arnold
Or ask the new millionairs at Fullstack to fund this project....
Pekr
1500 is slightly above the average salary in CZ, programmers here have more. So, 5-6 months is really unrealistic here :-)
I read that differently. 30,000 czk top average salary which is USD1500 so only a month's wages.
GiuseppeC
This is for the very high skilled people working on money rich areas and money rich areas. We are a small group of people and despite cyphre is very high skilled we are neither a big company nor a rich economic niche. You should aspect a much lower income for jobs in our area until we become a microsoft adversary ;-) When big companies will be again on REBOL (RED?) you can rise how much you could get from the market as wage rate/time equivalence for your skill over a bounty.
GiuseppeC
* This is for the very high skilled people working for big companies and in money rich areas.
A little script that controls a Tello drone. The problem we had with this is that the drone replies to the first UDP port it gets commands from. So, we need to fix the port we open rather than leaving it to the OS to allocate the port. We have local-id now for that.
Before that Rebol had no way of specifying which port to open, except when opening a server port.
Of course there's no documentation, and it's pretty fragile. But it's a starting point.
I wanted to use the emscripten builds to have a web page to control my Tello drone but alas Javascript doesn't have UDP support built in.
Bo
What are some examples of what can be done with a Rebol3 emscripten build?
GrahamC
It's there as a R3 interpreter for people to easily try out.
I imagine in time we will have complete control of the DOM so that you'll be able control the browser and JS. But initially it's JS calling Rebol.
Bo
I'd be excited to be able to control the DOM from R3...
Pekr
There's no spoon (R3)
Bo
Spoon?
Pekr
"There is no spoon" is famous saying from The Matrix movie. What I mean is - there is (mostly) no R3. There is Ren-C though. The question is, if we should regard it being a direct continuation of an R3 effort, as there does not seem to be any other active effort ...
GrahamC
Current focus is now on getting Dom manipulation using the Emscripten build. And this apparently involves running a JS emulator in JS! How twisted is that?
Basically you have JS available to you from rebol and its limitations. So, CORS stops you loading JS from sites that don't have CORS enabled, and you can write to local files. Storage has to be web based database, or you could use cookies for session management.
This is for one page apps without using CGI. If you choose to use CGI then you have more options. Currently it doesn't very well on node.js so we're targetting the browser JS engine first.
sorry, you can not write to local files
amacleod
Thanks.
GrahamC
So, basically you are writing normal rebol/renc code but your GUI is JS, and I/O has all JS limitations
If we could run on node.js then those latter issues are addressed since it's no longer blocked by browser security considerations
Note that this stuff runs on your phone so you can start to write phone apps
Oldes
Not working... probably because I have not set the required flags, which I'm not going to do... even now Chrome is a devil's beast and I don't want to extend it. I prefer my tooling to be living close to me and don't need to download them from a server all the time.. but good luck with your efford.
GrahamC
That's ignorant oldes. You know you can just save everything locally.
What happens is that the JS looks for a file startup-sequence.reb and if it finds it executes it. This gives a table of downloads to renc binaries. Click on a link and it gives you the url to the latest binary for that OS tuple.
Now has pawn promotion, castling and en passant in my Rebol Javascript Wasm chess interpreter
Bo
I was installing R3 on a headless Armbian SBC called SOPine A64 Compute Module, and the standard steps didn't work. This is what I needed to do to get it to work:
Ren-c added ECDHE to its arsenal so we can now read those sites that only use ECDHE.
Since some of us have become somewhat disenchanted with the admin at Stackexchange we are looking to move our chat
This is a first pass of mine at a new rebol chat http://35.224.174.22/rooms/1 and if it looks familiar, it's because I've taken the CSS from stackoverflow!
Initially the idea is to get chat at the console, like the late rebdev chat which was never open sourced
So, currently I can register, post, replyto and read messages. Initial encryption uses gnuGPG as we still don't have server side https going. The server is rebol httpd.
If it goes down frequently it will be because I'm adding new features and bugs
The web client will likely be a WASM based client which means I guess using GPG from JS.
Private messaging will require that you import the recipient's public certificate so that encrypted messages can be stored on the server until the recipient uplifts them.
And if it's excessively complicated .. then yes, it is lol
Bo
Code would be 1/4 the size and 1/10 as complicated if it weren't for edge cases and security!
But the chat looks good!
I've been considering doing a chat client for a while. Here are my wants:
- Able to be self hosted, which means it can also be hosted in the cloud. - Messaging engine and data store is completely isolated from the interface so multiple interfaces can be developed for the same messaging engine and data store. - Multiple message "worlds", each with their own groups, permissions, users, etc., but all can be active at the same time (sort of like Discord, but unlike AltME where only one world can be active at a time per instance of the AltME client).
GrahamC
So, 1. This is self hosted, on a google compute cloud instance, 2. we now have both console and web clients ( I can post from google chrome ) 3. that's easy enough as well.
the data is currently just stored in rebol objects on the file system at present because how it's stored is less important in the short term.
The browser interface downloads all messages locally and serves those so it acts as a proxy for the cloud server
So, there's a bit of a lag from posting to seeing your message but that just needs tweeking
Now, I'm going to look at adding rebol Wasm to the browser client so I can do more complex things in rebol rather than having to learn JS!
The multiple worlds scenario .. i'd imagine would just be separate tabs in the browser
Each connecting to a different cloud instance
I also have it so that if your message starts with a >> it gets sent to a rebol eval instance and the result is posted instead
Bo
Has anyone gotten mysql-protocol.r3 to work with mysql-server 8.0?
Alternatively, I can't figure out how to install mysql-server 5.5 or older on Linux Mint x86.
Bo
Just in case anyone is wondering, I was able to install mysql-server 5.5 on Linux Mint x86. I'm posting the steps here.
`cd /usr/local` is the location where MySQL should be installed
`groupadd mysql` If this returns an error, this step wasn't needed
`useradd -g mysql mysql` If this returns an error, this step wasn't needed
`tar -xvf mysql*.tar.gz` extracts MySQL into the current directory
`rm mysql-*.gz` removes the compressed file that is no longer needed
`mv mysql-* mysql` renames the long MySQL directory name to the short version
`chown root:root mysql` changes the permissions on the mysql directory to the correct permissions
`cd mysql` goes into the mysql directory
`chown -R mysql:mysql *` changes permissions on all the files in the mysql directory to the mysql user and the mysql group
`apt install libaio1` may already be installed, but just to make sure
`scripts/mysql_install_db --user=mysql` installs MySQL
`chown -R root .` changes permissions on the files in the MySQL directory
`chown -R mysql data` changes permissions on the MySQL data directory
`cp support-files/my-medium.cnf /etc/my.cnf` copies the configuration file to the correct location
`bin/mysqld_safe --user=mysql & cp support-files/mysql.server /etc/init.d/mysql.server` starts MySQL server and copies the autostart file to the correct location
`bin/mysqladmin -u root password 'pswd'` change 'pswd' to the MySQL root password - This will be referred to as the MySQL root password from now on
`/etc/init.d/mysql.server start` starts MySQL server
`/etc/init.d/mysql.server stop` stops MySQL server
`update-rc.d -f mysql.server defaults` enables MySQL to start when computer is rebooted
`ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql` adds MySQL to the system path
`apt install libncursesw5` installs a library needed by MySQL
Gregg
Thanks for sharing Bo!
eFishAnt
wow, that's something I can use. Muchos Gracious Bo!
Where are the old native passwords enabled at? In mysql.cnf or somewhere else?
Oldes
I'm not actively using MySQL, but when I was testing the MySQL protocol, I used instructions from the stackoverflow chat (link above) to enable the old passwords.
Scot
Struggling with REBOL 3 draw dialect. I see draw blocks throughout the styles, but cannot seem to create my own gobs with them. The draw function expects a command rather than a dialect. What is the process for parsing the draw dialect and creating a gob! from it?
Henrik
Scot, I'm not sure DRAW is supposed to have that coupling. I thought you would assign an image! to a gob!, and then use DRAW to draw on the image!.
Henrik
Generally finding a working REBOL 3 seems to be a bit confusing...
Marco
@Scot which version of R3 are you using ? Oldes Rebol 3.5 seems not to support draw since it has not AGG embedde AFAIK. In early R3 versions: How R3 low-level view system works: ; window's gob gobw: make gob! [ text: "Win title" size: 700x500 offset: 50x50 ] ; background's gob gobb: make gob! [ size: 700x500 color: 200.200.200 ] ; foreground's gobd: make gob! [ offset: 10x10 size: 400x400 draw: none ] gobd/draw: bind reduce ['pen 200.0.0 'circle 20x20 55x55] import 'draw ; !!??!!
append gobw [gobb gobd]
view/no-wait/as-is gobw
I hope Oldes (or Ren-C?) adds support for AGG or Cairo or Blend2d as soon as possible.
Oldes
I'm not going to add support for AGG (it's no going to evolve as the main author passed away), but I was experimenting with Blend2D some time ago (on Windows) https://github.com/Oldes/Rebol3-Blend2D
Oldes
Just don't know if the code from the link above is still in par with recent lib changes (it was tested with version 3.3).
Oldes
I'm now rewriting the original build system to something more modular, so don't have time to continue with the draw experiments, but it's one of my long lasting goals. Second one is 3D using Sokol.
Henrik
I wouldn't mind if there was a simple way to draw using pure mezzanines. Would be a great way to prototype a different kind of draw engine, as I've kind of outgrown DRAW.