Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 01:53
    qtxie closed #4878
  • Apr 16 19:20
    greggirwin commented #4881
  • Apr 16 19:18
    greggirwin commented #4881
  • Apr 16 19:01
    greggirwin commented #4880
  • Apr 16 18:59
    greggirwin commented #4880
  • Apr 16 17:42
    hiiamboris commented #4881
  • Apr 16 17:39
    hiiamboris commented #4881
  • Apr 16 17:39
    hiiamboris commented #4881
  • Apr 16 17:35
    hiiamboris commented #4881
  • Apr 16 17:15
    hiiamboris labeled #4881
  • Apr 16 17:15
    hiiamboris opened #4881
  • Apr 16 12:25
    hiiamboris edited #4260
  • Apr 16 12:24
    hiiamboris unlabeled #4260
  • Apr 16 12:21
    hiiamboris labeled #4810
  • Apr 16 12:20
    hiiamboris labeled #4811
  • Apr 16 12:16
    hiiamboris labeled #4827
  • Apr 16 12:09
    hiiamboris labeled #4842
  • Apr 16 12:00
    hiiamboris labeled #4862
  • Apr 16 12:00
    hiiamboris labeled #4862
  • Apr 16 11:59
    hiiamboris labeled #4863
GiuseppeChillemi
@GiuseppeChillemi
And also, please keep usage patterns as wide as possible in Red. You have removed findon objects and now I must perform a words-of object before findon every run of a function which checks if a method exists. I am working on a command server which executes functions aggregated in loadable object libraries, so the need to ckeck if the function exists. Performing a words-ofbefore find at every call, of the function that query objects members, hits performance and readability.
hiiamboris
@hiiamboris
in obj 'word
GiuseppeChillemi
@GiuseppeChillemi
Yes but I use either functions in blocks and functions in objects so I would like to have just one method and not add conditional code to do the same thing
I have worked for long time on a SET which works on multiple types of data. Having the management code split on different access methods has created a lot of confusion and cognitive overwork. I was going crazy managing all cases because of the multiplication created from SOURCE-TYPE x DEST_TYPE x REFINEMENTs x ACCESS_METODS x CASE_CONDITIONS. To handle this and simplify everything I have put even single words on blocks and used a couple of FINDs and I was able to complete my work on the function.
GiuseppeChillemi
@GiuseppeChillemi
I admit as a human I have a limit managing multiple combinations and on that work I have reached it multiple times.
I still can't imagine how Doc managed all the states combinations in the new lexer. My admiration goes to his skill.
hiiamboris
@hiiamboris
Now you have a glimpse of what language design is ;)
GiuseppeChillemi
@GiuseppeChillemi
It's not easy, every time I read your discussions on GitHub, I realize how difficult is to make a decision. A choice needs a problem to be observed under different lights and scenarios. Every brain there enriches the discussion and gives his experience.
Gregg Irwin
@greggirwin
@GiuseppeChillemi this is where tiny wrappers can help. If the language doesn't support it, at least it can be hidden from most of a code base.
GiuseppeChillemi
@GiuseppeChillemi
Yes, it's an idea. Like index?? not giving error NONE
Gregg Irwin
@greggirwin
Right.
lylgithub2021
@lylgithub2021
>> parse "abce" [(i = 0) "a" (i = i + 1) to end] *** Script Error: i has no value *** Where: = *** Stack:
why
hiiamboris
@hiiamboris
Please use the /help room.
i has no value if you haven't assigned one. In Red i: 0 is an assignment.
lylgithub2021
@lylgithub2021
Thank you. and Where is the /help room?
hiiamboris
@hiiamboris
Gregg Irwin
@greggirwin

For the security minded, there are some good notes about 2/3 through this (I'm skimming the transcript). When we get ports, and start doing networking in Red, security it going to be a high priority. That may mean limiting features and flexibility. When we look at special cases ("I just need a little escape hatch to execute custom code and work around this security feature."), we will push back hard. Security is critical, convenience for special cases is not.

And the best thing to prevent phishing attacks? Something like a Yubikey.

zentrog
@zentrog:matrix.org
[m]
I haven’t seen too much news about this, but I think it’s a pretty important security issue. Should be top of mind for anyone who wants to create a package manager: dependency confusion
Gregg Irwin
@greggirwin
And that would be...me, if you just replace s "wants to" "must". Thanks for the link, I'll read it tomorrow.
And add it to the ~30 links I already have on the subject.
It absolutely terrifies me how this is still done today. If it was any worse, you'd see me on a street corner with a sandwich board reading "The End is Near", not justified because...left-pad.
zentrog
@zentrog:matrix.org
[m]
It’s actually a really simple attack, but resolving it doesn’t seem very simple. Think of a company hosting their own private package repository, but also uses some public packages. The attacker needs to determine the name of a private package. Then they upload a same-name package to the public repo with a higher version. The thing that makes it really scary is some package types have install phases that could compromise a build server.
Galen Ivanov
@GalenIvanov
Arturo has its site updated with documentation and playground and all looks very nice.
Yanis Zafirópulos
@drkameleon
@GalenIvanov Just happened to discover the post here. I've worked hard on the project, so I definitely appreciate the mention! (Needless to say, any other feedback is more than welcome...) :)
hiiamboris
@hiiamboris
@drkameleon Looks like you've already made what Carl only planned, even if with a bit different syntax :)
Yanis Zafirópulos
@drkameleon
@hiiamboris I obviously know about the project (now) :). The funny thing is... when I started out, my main sketches where about something like https://sdlang.org/ - only, a "real" language.
hiiamboris
@hiiamboris
looks C-inspired ;)
@drkameleon How much OS API are you using? Would it be possible to wrap your interpreter with APE format so that single binary would work on a few platforms?
Galen Ivanov
@GalenIvanov
@drkameleon Congratulations for the great job with Arturo!
Gregg Irwin
@greggirwin
Really nice @drkameleon. :+1:
Gregg Irwin
@greggirwin
I noticed your version type says "SemVer compliant". SemVer 2 adds quite a bit beyond numbers (build and prerelease info), so you may want to note that.
Is the string dash notation something from Nim? What is the main use case for that?
Gregg Irwin
@greggirwin
Wonderful list of examples as well.
Jose Luis
@planetsizecpu
Well done @drkameleon push hard.
Yanis Zafirópulos
@drkameleon
@GalenIvanov @greggirwin @planetsizecpu Thanks a lot for your kind words. I appreciate it - honestly. And doing my best :)

@drkameleon How much OS API are you using? Would it be possible to wrap your interpreter with APE format so that single binary would work on a few platforms?

This looks interesting. I'll certainly have a look into it. ;)

I noticed your version type says "SemVer compliant". SemVer 2 adds quite a bit beyond numbers (build and prerelease info), so you may want to note that.

Well, it's one of those cases where the documentation falls a bit short.

Actually, what you suggest has already been implemented. (I'm not sure it's 100% perfect yet, but it is quite SemVer-compliant).

Have a look: https://arturo-lang.io/playground/?mydYTg

Yanis Zafirópulos
@drkameleon
and that's one of the intended uses (with embedded comment code): https://arturo-lang.io/playground/?7Hkh79

Is the string dash notation something from Nim? What is the main use case for that?

No, it has nothing to do with Nim. Basically, the inspiration is YAML front matter and templates (e.g. for static website generation).

For example this could be a perfectly valid template data file (and Arturo code, at the same time):

https://arturo-lang.io/playground/?Fy1Fne

DideC
@DideC
Please, is there any red script available to convert ANSI texte file to UTF-8 ?
hiiamboris
@hiiamboris
ANSI text or just ISO-8859-1 one?
DideC
@DideC
iso-8859-1, yes !
Boleslav Březovský
@rebolek
@didec yes
see codepage.red in https://gitlab.com/rebolek/castr/
usage is read-cp <binary-data> <codepage-name>
it supports 11 most used non-CJK codepages
you also need the %codepages file with the conversion tables
and if your ISO-8859-1 file comes from internet, you can use the send-request function from %client-tools.red which does the conversion automatically
hiiamboris
@hiiamboris
iso-8859-1 can be decoded simply with a loop of to char! to integer! byte calls
which is far from efficient, but dependency-free
Boleslav Březovský
@rebolek
Right.