|[rant] This really piss me off!|
|I know people will say "yet another un justified rant from shadwolf if he is so sick then he should do it instead of complaining against it..."|
I post this in english to allow everyone to understand my point.
Here is one example of what really pissed me off along those past 11 years doing rebol.
I'm a linux programer and system /network admin this is no secret I think...
while r2 had reach a cool level of functionalities in call r3 is a complete step back under linux making it almost useless... I said almost useless because thankfully you can from a shell command redirect the output to a file and then make rebol analise the content of that file but this is kinda problematic in a way since you need to know how to redirect stdout stderr to a fil. Which is my case.
in r2 linux call was like that:
So actually in r3 linux call is like that:
>> help call USAGE: CALL command /wait DESCRIPTION: Run another program; return immediately. CALL is a native value. ARGUMENTS: command -- An OS-local command line, quoted as necessary (string!) REFINEMENTS: /wait -- Wait for command to terminate before returning >> a: call "ping 192.168.0.160 -c 1" PING 192.168.0.160 (192.168.0.160) 56(84) bytes of data. From 192.168.0.254 icmp_seq=1 Destination Host Unreachable --- 192.168.0.160 ping statistics --- 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms == none >> probe a none == none
Why is it a problem so ?
well because even if you have a SSD and you writing/reading files it is like 10 times slower than writing to the memory.
The inhability to store call results into a memory bank in order to analyse it is not great.
But at same time if you do alot of sequencial work and that each command returns your a big chunk of data then you are indeed better to use a I/O redirection to file from your shell. Other while you will eat the whole memory of your machine in a glimp of an eye.
But not all commandline tool OS can do I/O stream redirection to files. If you want a portable rebol you have to offer or the result to be trapped to a file with rafinements or to memory.
r3 call should have then /memory and /file rafinement in order to set things clear.
|in r2 linux call was like that:|
>> help call USAGE: CALL cmd /input in /output out /error err /wait /console /shell /info /show DESCRIPTION: Executes a shell command to run another process. CALL is a native value. ARGUMENTS: cmd -- The shell command or file (Type: string file block) REFINEMENTS: /input -- Redirects in to stdin in -- (Type: any-string port file url none) /output -- Redirects stdout to out out -- (Type: string port file url none) /error -- Redirects stderr to err err -- (Type: string port file url none) /wait -- Runs command and waits for exit /console -- Runs command with I/O redirected to console /shell -- Forces command to be run from shell /info -- Return process information object /show -- Show the output in a console window
Sorry for the missing bunch above... It's clear that r3 call is a step back. Probably because some OS can workout I/O redirection from the inside of the command
call "ping 192.168.0.160 -c 1 &>./ping-out.txt"
the above line allows you to trap both stdout and stderr into the file. It's a bash stuff not sure that is you use Ksh or Csh or any other shell any other OS you will achieve that.... this is why it is mandatory for rebol to offer support of those stuff because you will not always have a compliant OS.
Having the minimum rafinements makes rebol faster and code lighter obviously since r3 does not even 5% of what was doing r2/view....
sure, hey Carl what about give us the R2 code instead of R3
After all R2 is the last Rebol production version !
Shad if you want i have already parse ping logs with R2 on CentOS.
|There is thousand of linux tools that handle std* redirections that are available as source code on the net.|
Pick one with a compatible licence, study the code, put it in r3, push it to github.
You can do that all by yourself as you are a linux programer. But as you stated many times, shadwolf, you don't want to do it and just complain !
If you don't want to do it, be constructive. You can speack calmly with skilled enough people on some dedicated forums to ask them to do it for us (you!). Be an evangelist, show them the potentiel of Rebol and push them to help it. Kind of challenge you offer to this skilled guys. But no, you just complain. All your post are full of negative sentences.
Complaining is in no way something that make the things going better. I know that your intentions are good, yes I know it. But the way you express this intentions is just boring to read all day: complaint against r3, complaint against Carl, complaint against others Rebol guys, ... You complain against all the one who does something because they doesn't do it like you want. But what do you do?
R2 is better than R3 : use R2 until R3 reached it's functionnalities. It's as simple as that, and it's what I do, like many others.
R3 is alpha, and will stay alpha till the end of the century if people only complain about it. Period.
There it is, I just complain about you, like you does about others. And I dislike that I dit it.
|Well, the issue is, supposedly being looked at.|
Interesting. If Carl does so, it would open a bit some Rebol2 code...
à part ça, c'est vrai que Shadwolf pourrait évoquer tout cela d'une manière un poil plus positive...
Il m'est arrivé un peu la même chose, il y a quelques temps: j'avais rédigé un rapport avec un peu de haine (j'avais largement mes raisons!), et un relecteur m'a fait comprendre que je pouvais toutafé exprimer exactement la même chose, mais avec des termes et des tournures qui ne froisseraient personne.
Du coup, j'ai repris mon rapport, et je l'ai "défiellisé". Et c'est bien mieux passé.
J'étais content et défoulé car ma hargne avait été exprimée et couchée sur le papier. Mais le destinataire final n'a jamais lu ma prose envenimée. Et c'est tant mieux, tout bien pesé, avec le recul des ans.
|In an other way you can use expect on linux to speak to ssh remote equipment like this :|
|Well... it was just SO EASY with Rebol2... Having to go through ssh to input/output a Rebol program is a bit overkilling, no?|
I think we'd better go and dig in the code, fork it, hack the code until it works as in Rebol2, and propose for push.
Easier to say than to do. But it is our collective responsability.
|DideC same can be said to you if it is so easy to do if it is just a copy past in the apropriate place I think you are as qualified as me to do it. And you don t do it.|
Not complaining about thing or complaining about things doesn t mean you have to do it or that you will do it.
And after all you read pretty badly my point dideC (as usual) it wasn t much for linux that my comment was edictated but in regard to other os less featured (like macOSX?) in order to have rebol protability one to one if you allow call results recuperation then you will block your script until the full result if any is known. so implicitely you convvert them into a call/wait.
remember that rebol is async so you need to not have those locks by default and be aware when you set those locks on purpose.
DideC your whole point is to blame me for everything this is ridiculous. And each time I try to have a discussion to enlight a subject your answer is the same as the useless Gurus "Do it yourself".
Ok but so what are you doing to make rebol progress nothing your are not even trying to participate in the discussion or to apport a concrete solution. Your attitude is way different than mine.
|I have stated recently (dunno witch post) than I'm not a C programer, so it's out of my knowledge to do it. even if I want, I can't learn C in minutes.|
As Pierre said, according to me, it's not what you say the problem, but how you say it. Re-read its post.
What I do here is answering questions and giving as right informations as I can. Because many things posted are not precise enough or are innacurate.
When you put something on the web to inform others, its mandatory to verify what you say. It's not "radio bistro" here
|I agree. Plus, I think that by now the whole world knows very well your opinions, M.Shadwolf. Time to calm down a bit, maybe? |
Frankly, I'd like you to be able to join again the AltMe community, because many things seem to happen over there.
AltMe has inconvenients, as I can see. It is obviously an abandonware which would need quite a few fixes.
But many people are there, discussions are interesting, technical or not. People are quite helpful.
It is a time-consuming thing, though... I may have to run out, if I want some real work done!...
Aren't we off-topic? Hm, actually, according to the topic's title, not really...
|Hum when the whole optimisation consist to a constant downgrade sorry but it is hard to calm down. And what to say other than r3 is faster because it does only the basic stuff the more basic way.|
DideC no you just give obvious informations like:
- Do it yourself
- Internet is full of abandonned source codes
If you had for instance came to me with will this code source help ? the integration can be done to that file. that would have been a bit more productive.
|to add to the reflexion about this topic and extend it.|
the auto run way for scripts in linux is by using majic number #!/usr/local/bin/r3 at the begining of the script it is here again a bash thing if I do that in my script then my scripts will not run on windows and macosx or linux with other shells.
Implicitly I loose the portability. it is like when we use in r2 system/port stuff for windows like the icon in systray.
I like the idea to have a close adaptation to my OS environement for my rebol script, and at same time it is noticeable than doing so ruins the portability topic.
Login required to Post.