Archived messages from: gitter.im/red/chit-chat from year: 2022

rebolek
07:37Happy New Year!
gltewalt
07:54:confetti_ball:
07:54:fireworks: r
GalenIvanov
17:05Thank you, @greggirwin ! The code is [here](https://github.com/GalenIvanov/Animation-tests/blob/main/Anim-test-particles.red) but on my laptop at home I don't see the hills and the trees. It was just a quick hack with a bunch of function calls.
GiuseppeChillemi
18:26Happy new dreams!
greggirwin
20:41Thanks @GalenIvanov, worth unhackifying it a bit as a demo. It's really nice.

loziniak
22:27Interesting discussion, touching topics like module systems, and complexity, in spirit of recent Red's blog post.
https://toot.aquilenet.fr/@civodul/107395259854064839
greggirwin
23:51Thanks @loziniak. The license bits jumped out at me most, but Go being tied tightly to git I had forgotten about. Simplicity comes at a cost.

On licenses, a key aspect for me is that GPL protects the software being used, but doesn't (I'm happy to be corrected) stop people from using it in any way, commercially, even without disclosure that they are doing so. In that sense, it's not much different than more permissive licenses in practical use.

The cynic in me asks: Has free software "won"? Has it raised awareness and motivated people to make conscious decisions about how it's used? No. Not by a long shot. Those building it are still at the bottom of the totem pole, in all respects.

gltewalt:matrix.org
00:22My guess is that throwing money at something means strict oversight due to costs vs profits, and at the top level of "best software", consequences and financial incentives usually trump teams of volunteers.
greggirwin
02:17So what happens if FOSS developers collectively give the world the finger? Or, what if we can incentivize the best developers to move to a more equitable model, and free riders will find themselves working harder to compete because "free" software has stagnated (think security issues). They'll pay the fare if they have to, but not if they don't. We're all like that to some extent.
02:17Behavioral economics is an interesting field.
gltewalt:matrix.org
02:56Do the Linux kernel developers have rights, (or a stake) in Red Hat? If they do, that might be a hybrid model
greggirwin
16:50Certainly not all of them do, but I doubt even Linus does.

hiiamboris
09:23Bot?
gltewalt:matrix.org
19:31I assume so
19:44Do any of you ever get "lost in the forest" while coding? Where you cant see things clearly anymore ans have to back out. Or stop.
19:45If so.. got any techniques to help with that?
zentrog:matrix.org
20:05Going for a walk never hurts, assuming you've got a good place for walking
20:06But yeah, that's definitely a thing
greggirwin
20:11Bot message reported.
20:14@zentrog:matrix.org +1. I have a hard time not pushing harder when it happens, and have to remind myself that a break is needed. For me, it helps to read something or watch a movie, anything that forces my brain away from what it's latched onto. Frisbee with a friend (because I'm terrible and can only think about how bad I am).
toomasv
20:45I use walking an movie-ing. Good 2-hour walk in forest solves many standstills. Moving body helps to think clearly.
planetsizecpu
20:46I remember that golden times when I got stuck or lost while coding, unfortunately going for a walk wasn't an option, at the office the team was watched by the stakeholders 😬 so I usually went for a printout of the source code at the printers room, you could imagine a 380mm wide paper scarf with 70 or 80 sheets length emerging on a NCR line printer 😄. Ah that gold times I miss a lot.
greggirwin
20:53@planetsizecpu :^)
hiiamboris
20:55@gltewalt:matrix.org it depends. I notice two things generally:
- When my mind feels like it's going to blow. This happens only on the most complex design work. This is physiological: brain has consumed too much blood oxygen and needs "recharge". To restore it, any motoric activity is great. General health state and diet can affect it.
- When I'm exhausted with some boring task. Like beating at some bug for hours. This is psychosomatic: induced by the emotional state. A walk helps, but generally if you can learn to watch and affect your state you can counter it. Simplest example may be to turn on some music (if you're receptive to it): if it feels like you're crushing bugs from an Imperial Death Star, it changes everything :)
planetsizecpu
21:07Now I'm going to see Ethan Hunt save the world on M.I.: Fallout on *flix so good night/day to all reducers 😉

gltewalt
02:24@GalenIvanov I put your ceasar cipher on rosetta code.
https://rosettacode.org/wiki/Caesar_cipher#Red
02:25@greggirwin You have one of these (or you did) in your REBOL/View world
https://rosettacode.org/wiki/Hunt_the_Wumpus
greggirwin
04:19[My Wumpus](https://gist.github.com/greggirwin/65e7ae806d70d81021f948c405606b36)
GalenIvanov
07:35Thanks, @gltewalt
gltewalt
20:42Would you want your Wumpus on rosetta code?
greggirwin
20:48Sure. And someone can come up with a much better version after that. :^)
gltewalt:matrix.org
21:14Probably low chance that someone will, though
greggirwin
21:14It's a long future ahead. I'm a patient man.
gltewalt:matrix.org
21:28@planetsizecpu:
https://youtu.be/EkWJMU16GrU
21:44[unnamed.webp](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/zmiDGjkWxzoCpnGjuAHooVmn)
23:48[wumpus.webp](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/hSeGCHEelaMXPWYErVNCwMHk)

planetsizecpu
08:24Ah golden times @gltewalt:matrix.org thx nice example, I had an spectravideo 328 pre msx quite nice.

loziniak
02:44Nice conclusion in this article about "web 3" (C3 you say?):
https://moxie.org/2022/01/07/web3-first-impressions.html
*"We should try to reduce the burden of building software."*
Oldes
13:20https://www.theverge.com/platform/amp/2022/1/9/22874949/developer-corrupts-open-source-libraries-projects-affected
hiiamboris
15:23epic :D
dsunanda
16:20He obviously doesn't believe that with great programming comes great responsibility.
greggirwin
18:39@loziniak nice read on "web 3". Thanks for posting it.
loziniak
18:48> He obviously doesn't believe that with great programming comes great responsibility.

Maybe it was not so great programming ;-)
greggirwin
19:09@dsunanda it's a human problem, and each of us is unique. I know you know this, and while I like working with you as a programmer, our long friendship is based on my respect for the kind of human you are, and inspire me to be.

With that preface in place, I can feel his pain a bit. When I learned of Aaron Schwartz, via a documentary, it broke my heart. I wanted to rise up and fight back. I hope that, on balance, my actions leave the world a better place. But as [The Proclaimers](https://www.youtube.com/watch?v=CrHaAIbUG0o) say so eloquently, I might not be there yet. ;^) At the same time, do my good deeds commit me to a life of do-goodery? I don't want to be either the redeemed or the fallen, whose final act defines them. Just hoping for a decent batting average.

GiuseppeChillemi
23:47Some time ago I have asked Philippe Legoff of Rebol France group if he had backup of Rebol sites and materials like Rebol documentation project.
If anyone is interested, he has then re-published the sites doing a great work.
I am currently backupping them. If anyone is interested to this precious historical material, here are the pages:

http://pl.legoff.free.fr/dotclear2/rebol-fondation/index.php/ < a trial to unify all French rebolers in an association >
http://pl.legoff.free.fr/dotclear2/rdp/index.php/ < the Rebol Documentation Project backup >
http://pl.legoff.free.fr/dotclear2/vf/index.php/ < the “Vieux Forum » (the first and oldest French forum about Rebol … since August 2001 … with Didec, and others ) >
23:48Rebol documentation project contains also translation in french of many Rebol manuals and guides
greggirwin
23:49Thanks @GiuseppeChillemi, and thanks to Philippe as well!

ldci
06:09Thanks to Giuseppe and Philippe

GiuseppeChillemi
16:14You are welcome. I hope this could help preserve our memory and gives good learning material for French developers.

gltewalt:matrix.org
01:02[20220113_101224.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/jRsfpcHDvFuSwxwBfuueaXxu)
rebolek
greggirwin
03:06OK, that's pretty funny. :^)
planetsizecpu
07:33😄
07:34[![pygo.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/ujtY/thumb/pygo.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/ujtY/pygo.png)
greggirwin
19:02I don't use throw/catch except in *very* rare cases, but I always look over my shoulder when I do. Macros fall into the same mental space for me.

gltewalt:matrix.org
03:50[Screenshot_20211210-113411_Twitter.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/EeYcqAaXDKowPTIEgnYeWiVJ)
04:38eyes: [U+1F440 U+1F440]
poke eyes 2 #"-"
dsunanda
19:54A 42 second demo of a simpke GUI programming running PC desktop and Android:
https://www.youtube.com/watch?v=TgLoOahuGNc
Is the Red dev environment able to demo similar cross-platformness?
gltewalt:matrix.org
20:22Well it's Java, so it's just running on the jvm
greggirwin
22:08@gltewalt:matrix.org cute. :^) Seems the char has both eyes in it, though, so you need an alt version with the poked eyes.
22:22@dsunanda I think we do have distinguish between drawing graphics as a demo, and building GUI apps. Can Red do what that demo does? You bet. See the tiger SVG demo at about 1:30 in [the original Android teaser](https://www.red-lang.org/2018/04/sneak-peek-at-red-on-android.html). Our Android branch is out of date, and some things have to be synced with VID. e.g. there's no native switch style on desltop OSs.

One of the brilliant things that it looks like Processing *may* do (but hard to tell from demos), and I know that Delphi does for sure, is having a simple menu option to build and sync to a mobile device. It needs to be that easy. It's doable though. Probably 5 years ago I did a Red demo at a conference, where I cross compiled to Win/DOS/Nix/Mac OSs from Windows from a simple script. So once Android is in place, it's just call red -c -t Android and sync it.

gltewalt
01:19also breaks space/time
02:27it's weird
greggirwin
04:10Also is very weird. It's brilliant, and I hope to only ever use it in dire circumstances.
BaronRK
16:43[![22125-LifeSpanDev-Twitter.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/06ja/thumb/22125-LifeSpanDev-Twitter.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/06ja/22125-LifeSpanDev-Twitter.jpg)
hiiamboris
16:56Go is a sad end ;)
gltewalt:matrix.org
17:06"One of the most important parts of programming is taking a large problem and breaking it into smaller and smaller pieces until you rage quit"
planetsizecpu
17:34You may even extend your developer lifespan by switching to systems while you learn Redbol langs 🤔
greggirwin
20:15Both posts from @BaronRK and @gltewalt:matrix.org are tragicomic.

BaronRK
00:54I had to fit my response into Twitter (which, I packed a lot of crap in one post)

But if I had more room, I was going to have each be a year, and a few words that say something at a macro level about how little everything has changed.

Like 'where are our flying cars?'
Where is our self programming language?
gltewalt:matrix.org
01:19Clippy tried, but you all shunned him

gltewalt:matrix.org
06:03"""
What variables does Muhammad Ali always declare?

float likeAButterfly;
string likeABee;
"""
ne1uno
06:37hands-hit: eyes-see: false

gltewalt
21:26what's system/console/eval-command for?
21:27system/console/eval-command {prin "e"}
21:36oh... reading through it with probe system/console

gltewalt:matrix.org
02:03[20220131_190133.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/vOqLbbrMAeItCMfItgfxlkPa)
planetsizecpu
07:49Well @gltewalt:matrix.org in the picture it is clear that languages other than JS are the future and it is already on second plane 😄that is my interpretation. I would add job offerers are looking past time, they should be warned to look into the future.
ne1uno
07:54https://www.tiobe.com/tiobe-index/ I would've guessed Rust would have hit top 25 by now
planetsizecpu
08:01Interesting how assembly is growing, I can't imagine who is using it so much nowadays.
ne1uno
08:03ASM on single board computers? TIOB is more a popularity contest than a practical measure
planetsizecpu
08:04Ah ok, I missed reading the introduction 🤐
ne1uno
08:09 guessing more lines of powershell code are written a week than D.
pekr
10:52Does anybody still use VB or Delphi? Isn't it a graph from 20 years ago? :-)
ne1uno
11:15free pascal has a big following, mentions delphi quite a bit
11:16vb in excel probably many web pages still
11:24https://pypl.github.io/PYPL.html may be more objective? based on google search
gltewalt:matrix.org
12:25The office world is still ran on VB variants because the office world lives on MS Office. It will change a bit now that python will be scripting language of MS Office. Powershell more for devops.
rebolek
12:33Janko Metelko, author of [Ryelang](https://ryelang.blogspot.com/) pointed to me this challenge https://github.com/otobrglez/compression-puzzle and asked for a Red solution. The challenge is simple: One shall write a program that compresses string "AAABBAAC" to its compressed form "3A2B2A1C".

Here’s my attempt:
>> out: "" parse src [collect into out some [s: set char skip any char e: keep (rejoin [(length? s) - length? e char])]]
== true
>> out
== "3A2B2A1C"


Any improvements before I write him back? :)
hiiamboris
14:36
>> rejoin parse "AAABBAAC" [collect any [s: set a skip any a e: keep (offset? s e) keep (a)]]
== "3A2B2A1C"
14:44it could be better though ;)
>> rejoin map-each/eval s split "AAABBAAC" :<> [[length? s s/1]]
== "3A2B2A1C"
14:46or in FP-style
s: split "AAABBAAC" :<> zip map s :length? map s :first
rebolek
14:58Ah, offset?, I knew there's a better solution!
ne1uno
15:00that one beats a simpler while loop too.
pekr
16:54Python won it all over, it seems ....
ne1uno
16:58batteries included. huge user base. monthly upgrade downloads. 2.5G typical install
gltewalt
17:04Not better, but different
s: "AAABBAAC"
result: ""
count: 1
forall s [
    either s/1 = s/2 [count: count + 1][append result rejoin [count s/1] count: 1]
]
ne1uno
17:10also not worse
refaktor
17:44@pekr What python script do you mean? I looked at Python examples (I used to program in Python) and I don't see any elegant solution there, at least not even remotely comparable to Red's solutions above. Two are short but very nested/complex and use list comprehensions and regex or iter_tools ...
ne1uno
17:49@rebolek: needs assert?
gltewalt:matrix.org
17:53@refaktor: he was talking about tiobe index
pekr
18:00@refaktor my reaction was towards the Tiobe index posted earlier, where Python seems to be at the first place in popularity.
ne1uno
18:01https://gist.github.com/ne1uno/99bd68d791b26474ed7bef42c1968c5e
greggirwin
18:38Thanks for gisting that @ne1uno! Given @gltewalt:matrix.org 's imperative approach, I can imagine an R/S routine screaming along. Even his could do away with the rejoin allocation, doing two separate appends. Won't matter for small strings of course.

19:57On Tiobe vs PYPL. Web pages vs trending tutorial searches. e.g. PYPL:

> The more a language tutorial is searched, the more popular the language is assumed to be.

Ummmm, No. That tells you nothing about actual use. I've searched for a lot of lang info which is not an indication of me actually *using* those languages. I imagine a lot of people search for trendy langs, but still have to use old ones at their day job. We do have to account for influencers and such, but we also have to ask what aspect of "popularity" is important, especially in the context of Red, rather than keeping our resumes looking fresh.

Even tools like https://madnight.github.io/githut/#/pull_requests/2021/4 can't paint a complete picture, though it would be interesting to take all the major language indexes and see how they compare.

I doubt it's possible, and certainly wouldn't be easy, to collect global stats on language use, installed code in production, changes over time, etc. It's not a technical problem, not entirely anyway, but a people problem. That's what *I* care about though. What languages are used most now, have had the longest life and biggest impact, and provided the most value. That's what we want Red to achieve.
refaktor
23:34@pekr sorry for the mixup :)

gltewalt:matrix.org
00:05You could get the original back with a forall and append/dup s/2 s/1
greggirwin
00:11@gltewalt:matrix.org indeed, easy decompressor. :^)
gltewalt
01:03append append result count s/1
01:05I think append result trim/all form [count s/1] is faster though. By just running time-it
01:06append append is less busy
ne1uno
01:54pre-allocating the string doesn't seem to pay off for a few kb size while decoding
01:55pay the time it takes to calculate. maybe a guess might work
GaryMiller
04:31@pekr Big corporations actually still have so much VB code that rewriting it would take years. There are actually two VB clones TwinBasic and RADBasic being developed with enhancements that would allow these companies to continue to support existing code and write new code utilizing features the original VB never had. There will be both Open Source and Professional for pay versions of both compilers to support future development.
rebolek
08:41Does anyone have enough Docker experience to properly run Red script in this case? https://github.com/otobrglez/compression-puzzle/pull/16
greggirwin
16:49Thanks for the info @GaryMiller. I hadn't heard of those two VB clones. Labors of love to be sure.
gltewalt:matrix.org
16:58No docker experience to speak of, but firstly they should probably use an automated build? Looks like they're using stable.
greggirwin
17:16@rebolek I can't help on Docker, but it would be cool to include the one-liner version as a comment.
refaktor
19:42@rebolek Today Oto and I tried to make Red work over docker. I think he tried to compile Red, not just download binary. That was one source of the problems I think. To me this docker image worked: https://hub.docker.com/r/kskarthik/redlang on Ubuntu. But to him it produced this weird error: "Syntax Error: invalid value at "^@^@^@^@^@..." https://github.com/otobrglez/compression-puzzle/pull/16#issuecomment-1027911509 ... before that he also had some error that could be related to fish shell (vs. bash). I am not supre, but I think he's on mac and maybe uses fish shell, but I thought docker is more independant of host system.
19:45Multiple solutions for each language are wellcome, so If it works I propose all Red's solutions (from above) are posted, each in it's own file. I think they are far more elegant than solutions in other languages ... This community of SLO programmers is small, but they are some of more influential and connected here.
19:46@gltewalt:matrix.org when I to run automated build on my ubuntu, I got some missing library error, I think it was related to GTK ...
19:47Red 0.6.4 via kskarthik's docker worked for @rebolek 's script to me
greggirwin
19:48Thanks for continuing to work on this @refaktor. It's a great irony that we can be a self-contained toolchain, build standalone EXEs with no dependencies, yet still have problems like this.

Another thing to make sure if is that the OSs have 32-bit support. Others can help more on the *nix side than I can.
hiiamboris
20:01> Syntax Error: invalid value at "^@^@^@^@^@.

This looks like a problem with 32-bit file system driver.
20:03I got smth like that on WSL2 when reading files from NTFS partitions.
refaktor
20:05@hiiamboris hm .. what would that mean?
@greggirwin that docker image that I linked installs needed 32bit libs I think and I see it also installs libgdk-pixbuf2.0-0:i386 which was what I was missing on Ubuntu when I tried to run latest Red from autobuild on 64 ubuntu. I am not 100% sure, but I think this could also be solution for Red Mac users
20:07@hiiamboris what could we try towards solving that?
hiiamboris
20:12Try 32 bit OS image if you can, or if there are multiple file systems, try to move Red and home directory to another one.
refaktor
20:18I will ask him on what system he is running all this.
20:36I modified the Docker script to download latest Red instead of 0.6.4 ... it installed on, but after running I get "Unable to init server: Could not connect: Connection refused
(console-2022-2-2-55094:19): Gtk-WARNING **: 20:31:16.261: cannot open display: ". I probably eed to install some virtual display?
hiiamboris
20:39yeah it comes with GTK support so you need DISPLAY as the IP of some X.Org capable endpoint
20:39or don't run your script, compile it as red -r file.red and run the output
refaktor
20:43compilation works, but that is not ideal for trying things out ... wasn't with Rebol View some trick one could do ... I thin it was xvfb related ...
hiiamboris
20:44no idea sorry :)
20:44why bother with docker at all for quickly trying things out?
refaktor
20:46So Latest Red has a GUI console? ... I want to make it work with docker, so that collegue Oto could run the puzzle examples ... 0.6.4 works for me, I just tried to make latest work too ...
hiiamboris
20:46not GUI console, just GUI support
greggirwin
20:48If you run Red without a script target, it will build the GUI console by default. You can also build a CLI (non-GUI) console using --cli on the command line.
hiiamboris
20:48not on linux
refaktor
20:49aha, ok
greggirwin
20:49<Grrrr> My mistake.
gltewalt:matrix.org
20:49On Linux it's just the console that you can use View from
20:50You 'can' compile GUI Console from source, but no reason to do that
GiuseppeChillemi
22:39Is there a way to bind the words of a function body to a context, once the function has been already created?
22:41My need is to create a context that is managed by a function but I don't won't to:
1) Pass it via argument
2) Create the context and also the function at context creation. I want to avod function construction time.
greggirwin
22:47Something like a closure?
; @dockimbel's closure func
closure: func [vars spec body][
	; Don't have to reuse 'spec name; just saves a word.
    bind (body-of spec: func spec body) (context vars)
    :spec
]

gltewalt
04:43Do we have slice mezzanines?
ne1uno
04:51rebol script
04:53http://www.rebol.org/view-script.r?script=series-slice.r
gltewalt
04:59That's nice, but I think the range should use pair!, since pair! is there to be leveraged
ne1uno
05:08it's the kind of thing I always need to look up and check previous use. is the pair inclusive? is the second one a position or length etc. adding pair! should be simple enough
gltewalt
05:39This doesn't account for negative indexes, but a quick sketch:
slice: func [
    s [series!] 
    range [pair!] 
    /step 
        n [integer!]
    /local c start end
][
    start: first  range
    end:   second range  
    code:  [copy/part at s start (end - start - 1)]
    either step [
        c: do code 
        trim/all extract c n
    ][
        do code 
    ]
]

str: "There once was a man from Nantucket"
blk: [a b c d e f g h]

slice str 7x14
slice/step str 7x14 2
slice/step str 7x35 3
slice/step blk 3x7 2
05:40extract already does steps
05:41@greggirwin Weren't you working on slice for Red?
05:43StartxEnd
hiiamboris
09:07
//: make op! function [
    "Pick an item or get a slice (copy) from series, or return modulo of a scalar"
    data   [series! number! money! char! pair! tuple! vector! time!]
    offset [number! money! char! pair! tuple! vector! time!]
        "Negative indexes are tail-relative in series"
][
    unless series? data [return modulo data offset]
    either integer? offset [
        pick either offset >= 0 [data][tail data] offset
    ][
        copy/part
            skip either 0 <= i: offset/1 [data][tail data] i
            skip either 0 <  i: offset/2 [data][tail data] i
    ]
]
09:08
>> "abcdefgh" // 1x-1
== "bcdefg"
gltewalt:matrix.org
16:48I dont know about overloading //
hiiamboris
16:50I don't either :D
16:51But other op names are even worse.
16:51Well maybe || or <->.
gltewalt:matrix.org
16:55Whats wrong with just a func named split ?
16:55Or better, a native
16:55Error slice
hiiamboris
gltewalt:matrix.org
16:55Gahhh! Frikin phone
16:56Func named slice
16:57It was supposed to be "Errrr, slice", not "Error slice"
hiiamboris
16:57Nothing wrong I guess.
16:58Just I wish there was a notation for it. Like you know in most languages it's something like s[a..b].
gltewalt:matrix.org
16:59How about.... s/3..s/7
16:59s[3..7]
hiiamboris
16:59Like we prefer to write s/3 not pick s 3 that's why I'd like to have a notation here instead of slice s 3x7.
17:01Technically, we could overload paths to support s/3x7 if we had real slices.
17:01Only images support that, but slices for images don't make sense so there's no conflict.
gltewalt:matrix.org
17:02A range type would facilitate things, no?
hiiamboris
17:02like s/3..7?
gltewalt:matrix.org
hiiamboris
17:03Yeah also an option
gltewalt:matrix.org
17:04And it has wider benefits than just for slicing
hiiamboris
17:04It might even support words for limits like s/x..y
17:05Though ..-containing words become invalid then.
17:05But I think ranges will eat some of those words anyway, like ..7 (undefined lower limit)
ne1uno
gltewalt:matrix.org
17:22There's already some sort of code for bitset that make a range
ne1uno
17:41is charset a DSL?
hiiamboris
planetsizecpu
18:12I'm not familiar with make op! maybe tomorrow will have time to play a bit, your example gave me some curiosity @hiiamboris
18:14Today released LX32 but had no time to make a gif file 😇
18:18It was half an hour to get L24 and made it a new ice level, same layout and objects to collect but much more difficult.
greggirwin
19:18@refaktor @rebolek I took a few minutes to relax last night and did my own RLE. Once you get Red working on the repo, I'll submit mine as well.
19:33Moving to red/red for slice thoughts.

rebolek
07:20@greggirwin I believe it'đ working now, I posted a note to the PR.
greggirwin
20:02Great! Thanks.
GiuseppeChillemi
23:29In the desperate attempt to save the company of my family, I have created 2 apps using WIX online store "branded app" feature. The WIX engine is able to output the APPS for Google Play and also for the Apple store, in a modular way. It assembles, adds, and personalizes the code from a common base, then it builds and creates the APPs and publishes them. During this journey, I have thought a lot about Red, the experiments I have made using code segments taken from a library, binding and assembling them. I think that RED is well suited for such kinds of jobs, and would be the perfect tool for any company needing modular output. You have just to pick the needed code segments, assemble them, parametrize the contexts with values relevant to the target ambient and compile the APP.
If you take a look to our site:
https://www.ravioldoro.it/
You will discover that many parts of it are replicated on the apps, like the product catalog, the members management:
https://play.google.com/store/apps/details?id=it.ravioldoro
https://apps.apple.com/us/app/raviol-doro/id1604601157
The app is customizable even from my phone. You can add/remove sections and customize them with a simple interface.
23:29[![Screenshot_20220205_001652_com.wix.admin.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/WNmY/thumb/Screenshot_20220205_001652_com.wix.admin.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/WNmY/Screenshot_20220205_001652_com.wix.admin.jpg)
23:30"Aggiungi sezione" traslateds to "Add Section"
How difficult it could be for RED to add the VID section and compile it? It's just a simple select/insert of a couple of code blocks
greggirwin
23:30Thanks for the info @GiuseppeChillemi. I didn't know WIX could build apps.
23:31The web site looks *really* nice. This is the kind of high level tool and polished output we need to create with Red.
GiuseppeChillemi
23:33I have received the offer to apply for the "Branded APP" feature with a discounted price just at the start of last december.
23:33One month has been lost just for Apple's bureaucracy.
23:34> The web site looks *really* nice. This is the kind of high level tool and polished output we need to create with Red.

Thank you, I have created it some time ago, now it is time for a revamp.
23:34Back to RED:
23:37I think we have everything to succeed as a language to dynamically build applications. Outputting to desktop and also for Android is a matter of conditional code and some logic. It's an area where RED could shine.
Respectech
23:42@GiuseppeChillemi How has your desperate attempt to save your family's company succeeded? Is it improving to the point where they are out of danger?

Also, is it possible to order and ship these delicious Italian pasta to the USA? :-p
GiuseppeChillemi
23:46The apps have been published on the 18th of January because of Apple ( they took 10 days to only resolve a problem in their website not managing ' character on the code which manages the registration form). We will start the advertising campaign next week. I could write some updates during its launch.
23:49We are choosing the partners to ship to USA, adapt our labels, and comply with import laws.
23:51The business is in danger because of high levels of scams in our country. We are a notorius label in our area but Italy is not a good place to build your business. We have an estimated time of 14 years to recover money from one of the last scams we have received... Correction: 14 years to end the court process and at the end you will surely find nothing.

Respectech
00:05That's terrible. You should all move to another country and make traditional Italian pasta there. :-o
GiuseppeChillemi
00:22We have just to change the business model. Moving to serve our customers directly we bypass the wholesalers markets and money is instantly on our bank account instead of wholesaler/scammer account. Also we raise our net margins by 30%.
00:23The only possible disaster is receiving a scam from PayPal or Stripe but I think it won't happen ;-)
00:25Now our only enemy is time: we have just 6 months to raise 150K euros to pay the court which is trying to sell our building!
greggirwin
01:36Best of luck @GiuseppeChillemi.
GiuseppeChillemi
01:59We are doing our best 🤞
01:59Thank you

refaktor
07:58Another #Docker question. The first time you run Red on a system it compiles compression library, Red console ... which takes some time. Docker works in a way that every time you run it (like kskarthik/redlang) it runs like it's all a fresh install, so this compiling is going on every time. Is this compilation very system dependant or is it possible to recompile this once, take that linux binary and posti it somewhere, so docker script can download it and start with that? Docker has a way to pesist things, by mapping to external (host system) folders, but that complicates the docker script/setup and is usually more meant for data.
hiiamboris
08:15Downloading is a good option then, esp. from localhost.
greggirwin
08:26I should have included instructions for running, but thought @rebolek had solved it. That's on me.

Is there a reason this needs to run on Docker? Not to second guess Oto, and we can include a general readme for all Red solutions but, to save you both pain, is that enough? People can see the code to compare, and if they are interested, they can install Red themselves. I'm happy to include the output for a run from mine as well.
rebolek
08:35I have a solution but it takes a long time before running the script.
refaktor
08:36Oto's idea was (I also didn't know that) that he will run all solutions (as testcases) in his virtual environment for them to be valid. He is quite orderly guy ...
He doesn't need to use docker if I understand correctly, but he uses a Nixos/Nix which is somewhat similar, in the way that it's declarative / reproducible package manager where you don't do anything "by hand" but it all must be scripted and so whole system can be reproduces anywhere ... I don't have any experience with it yet.
08:38I will try to install this to have same environment as him (and learn a little), dockers, nix and similar are used a lot in the aws (amazon), cloud, "serverless" crowd.
greggirwin
08:42From the outside and, again not criticizing his choice in any way, it just seems like massive overkill when all of the solutions will be tiny. Just my two cents. :^)
08:47I mistakenly assumed it was very informal because there's only one small test input, which won't tell much.
refaktor
08:51I am not disagreeing ... he seems to like to torture himself with this dev-ops stuff a little :) ... it's still good that you submitted it. I hope we can make it work, if it won't ... or either way ... for what it's worth ... I will make a blogpost about all interesting Red solutions ... and/or you will have an interesting blogpost material :)
pekr
08:52I would setup a Docker for prototyping then. It is a long tume, since I last used a red.exe. Never liked its concept. I use Red Gui console and when I need to compilr, I use r2 console for that.
08:53Weren't we close to reverse the scenario anyway? I mean, making a Red console being default?
greggirwin
08:55@refaktor :+1:
08:56@pekr, it's still on our list. :^\
refaktor
09:01Sorry OT: @GiuseppeChillemi I showed your link because I have some friends that are making home pasta for a hobby. Now they are complaining that they want to order and website is all in Italian :) ... I don't know what are exact conditions for this because it's a lot, but he is a serious guy, but one said he would order in range of 100eur :P ... another got to checkout but said you only deliver in Italy. We are from Slovenia (neighbor).
GiuseppeChillemi
11:17Thank you @refaktor, we are currently evaluating the available solutions to send our products internationally. I will let you know when we will be ready.
hiiamboris
14:19I tried NixOS once out of curiosity. Thing is, you *can't* run arbitrary binaries there simply because it's lib/ structure is versioned like winsxs on Windows, so the binary won't find any libs. Simplest solution to run a binary thus according to SO was... install Steam and run the binary from it (tada!). I can't imagine how can one develop anything under this distribution and I felt it's probably more sadomaso than Arch.
14:30There's a [package](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/red/default.nix) now but I can't tell for what version it is.
BaronRK
15:28When AWS first started offering Windows machine, it took something like 7 minutes for an instance to spin up

The reason it turned out was due to the lawyers, who required these strange steps of a fresh install, and boot up.

But my question, which is true of Docker as well:

Why not just have cached systems 'ready to go?'

Oldes
17:29Interesting arcicle about browsers... [internet is littered with the corpses of fallen giants](https://www.techradar.com/news/the-story-of-the-browser-wars-told-from-the-frontlines)
greggirwin
19:57@BaronRK I thought "ready to go" was the whole selling point of Docker. But it seems you don't have to use it that way. What I've come to understand, and I'd *love* to be wrong about this, is that it doesn't *really* solve the problem. It pushes it around a bit, and may help a lot in certain situations. That seems to be enough for people. What it *doesn't* solve is the same problem OSs have with versioned infrastructure pieces, e.g. language runtimes.

This is an important area to me, because Red can make things much easier, or much worse.
20:15Thanks for the link @Oldes. I didn't know Brave was branching out so much. My outside view is that Eich is like Carl, Alan Kay, Ted Nelson, and others who are visionary but never had a business counterpart that could make their visions a commercial success. Amiga, in its heyday, being the pinnacle.
20:17I don't know Carl's exact role at Roku, but I'll hazard a guess that it's the most commercially successful of his endeavors. In any case, we're indebted to all of them, whose shoulders we stand on.

zentrog:matrix.org
08:36@greggirwin: @BaronRK I don't quite understand what you mean by "ready to go", so I may be responding to the wrong aspect. In my experience, starting up a container is pretty quick ~1 sec or so. You do of course need a running linux host, and if the container image isn't already present, it will take time to download proportional to its size (that part may or may not be cached). I think the main purpose of containers though is about packaging up an application along with its OS dependencies in a way that you don't need to worry about the configuration of the host OS where it runs. It also sandboxes it, and presents a consistent API for configuring and securing the application. I guess I would agree that it does push the problems around more than it solves them, but it does standardize how the problems are solved, which can be leveraged a lot.

In my view, Red could work pretty well within the container ecosystem because it has the potential to make very capable microservices in a small size. And that means you can host more of them with lower hardware constraints, which equates to cost savings at scale.
Oldes
09:12I think it should be easy to prepare a docker image, where the console is already precompiled... I bet it will be just one line in the Dockerfile.
refaktor
09:41@Oldes I solved that problem ... here is the latest update: https://github.com/otobrglez/compression-puzzle/pull/25#issuecomment-1030844087
Respectech
16:36I believe Carl's position is Chief Network Engineer.
refaktor
18:51I managed to get nix working , now it's creating env. for all those examples in different languages ... because, since we got red to work on docker in multiple ways (me and @rebolek at least), I don't know why it still didn't work inside of nix ...
18:52nix's idea of reproducible enviroments is really great, but I am not yet totally sold on implementation. I had some problems installing it ... we will see now.
zentrog:matrix.org
20:03There are some other [docker experiments on the wiki](https://github.com/red/red/wiki/%5BLINKS%5D-Unofficial-Red-images) as well
greggirwin
20:10I do need to get some more Docker experience. At one point my machine became unstable, and I thought it was Docker Desktop, but then found that it was my power supply. I never turned DD back on though. :^\

Thanks for the input @zentrog:matrix.org. I think we're on the same page. The thing I know least about, hence the above comment, is this:

> presents a consistent API for configuring and securing the application

One of the big things that *does* make sense is the automation aspect, but this is where I think we can do better in the IaC space.
zentrog:matrix.org
20:35One thing to keep in mind is that Docker is pretty low-level. It's like the interface between the application and OS. I spent a few weeks recently learning kubernetes, and it is insanely complex, though it's the kind of thing you need if you are building a globally scalable application. My analogy for it is like a distributed operating system.
If you want to do some learning, this video series is fantastic:
https://www.youtube.com/c/TechWorldwithNana
greggirwin
20:46> If you want to do some learning

I was going to said I'd be happy to pay you exorbitant consulting fees instead, but that channel looks like it covers a lot of interesting ground that I should understand more, for our "big picture" solutions in that space. I just hope I never have to become a Kubernetes expert. ;^)
zentrog:matrix.org
20:55I guess having a global scale application is a good kind of problem to have at least 😀. Maybe I should say at least it wasn't _just_ learning kubernetes, but I was trying to set up an unfamiliar dev environment with a lot of technical debt _while_ learning it at the same time.
I went through a couple paid courses too, but I was blown away by how good Nana's are for free
greggirwin
21:17:^) :+1: Could you provide some rough numbers for "global scale" in your case, without losing your Top Secret clearance?
zentrog:matrix.org
21:57Haha, well I'm not talking about myself, but apps which hit explosive growth which overloads whatever infrastructure you have. That's what kubernetes is designed for - automating the management of a scalable infrastructure which can expand to meet demands. It's probably overkill for most people, but I think it's so popular because that's what so many startups hope to achieve.
greggirwin
22:05See blog complexity rant. ;^)
zentrog:matrix.org
22:20In my case, there has been a slow process to onboard me to a new team which has been stalled, and I don't have any particular numbers, or really a sense for whether kubernetes is necessary for us. It's always hard to know which parts are better to build yourself vs try to use what other people have made
greggirwin
22:22OK, thanks.

gltewalt:matrix.org
03:33https://try.airtable.com/forms?utm_source=airtable_shared_form
BaronRK
05:23'ready to go'

I view everything in terms of key frames and deltas.
In C terms this would be Exe, Obj, then below that Source code.

If a Docker fires up, and needs to compile to update stuff each time, that could be slow.

If it can follow along and keep things updated, so the nEXT person can benefit from the resulting Obj or Exes, wonderful.

I'm a fan of the Docker concept. I just don't know how hard it is to keep it fast on going.
zentrog:matrix.org
08:56That makes sense. A lot of that depends on how the container is made. For red, it’s not hard to have the console compilation already done. Some sorts of things are harder to do ahead of time though, and it’s also pretty easy to waste a lot of space. Harder to be lean and efficient, unfortunately.

BaronRK
21:11So, I could use some feedback on this
(feel free to reply by branching this)

Summed up here:

https://www.prolific.com/qwiki.cgi?mode=previewSynd&uuid=5J8K22BK8S7MJ8S4HS1JVTRGT5QT


greggirwin
22:10My first instinct is to look at low code (RAD) providers. e.g. https://www.outsystems.com/application-templates/sales-crm/
22:12What I don't know is how much customization their widgets offer, for any given product.
22:17Some in my old list are QuickBase, BettyBlocks, Zoho, Appian, Mendix, and FileMaker.

gltewalt:matrix.org
00:22The web builders are getting pretty sophisticated, at least going by visuals. I think the industry is going to get Dreamweavered again
BaronRK
05:10I simply don't understand why this is not 1h worth of work 20 years after we knew what was needed for the 'web'

99% of the web is 'show me content' which is 'lists' of stuff in different forms.

Even this site, Gitter.

The left side is a list of Labels (rooms, threads, etc.)
The middle is a list of messages
The right is a list of people's avetars

etc.

When you think of it this way , as I do, the format almost every website could be reduced this way.
hiiamboris
08:55If it was 1h of work, what would all those trained certified programmers do for life? ;)
Again, we return to absurdities of our economy.
BaronRK
16:17Agreed. I truly don't know what all these 'web devs' actually do all day other than set up custom sites to show people they can make a custom site for you just like theirs.
16:17IPFS overview, well stated...

'#Docker' (former docker programmer)

https://www.youtube.com/watch?v=wNfk05D887M&t=14s&ab_channel=IPFS
pekr
16:48Our group IT uses Terraform for the infrastructure as a code for Azure. I like the automatition, unless it makes things more complex. So far, we use 2 data centers, where I can provision server in seconds, setting parameters like RAM, HD space, type, backup periods, just one form - click and go.

Guys are trying hard, but what they set-up so far, was so far always delivered on a subsequent attempt, because it is so complex, that you missconfigure this, or forget that. And the last thing which really got me, was an explanation, that I should make a pull request for them, if I need some change.

That is a clear example, that programmers and gurus should be forbidden to design user interfaces. Like really - never .... :-)
greggirwin
17:39> I simply don't understand why this is not 1h worth of work 20 years after we knew what was needed for the 'web'

Agreed @BaronRK . I've been talking with @toomasv about app templates and such. I sent him some old R2 code, one project being EasyList (one of many Easy* projects :^), which was a very simple engine that let you write an entire CRUD app like this:
do %easy-list-x01.r

spec: [
    List of albums
    Each album has
        title
        artist
        "catalog number"
        year
        "record label"
]

easy-list/open spec

Yes, it was incredibly crude, but still useful. Is there really no PowerBuilder, FoxPro, or Access for the web? Seems [PB](https://www.appeon.com/products/powerbuilder) is still around, but no Web version. Even searching for things in that space turns up an amazing lack of pertinent results.
17:49Nice IPFS talk @BaronRK.
gltewalt:matrix.org
17:57https://www.bettyblocks.com/
BaronRK
18:56Have you USED BettyBlocks?
dsunanda
19:30Some of us are old enough to remember the hype around the release of The Last One - so called as it would be the last program any developerd would have to buy - because it would generate any business app you'd ever need from a few simple instructions. https://books.google.com.au/books?id=YwZY9SbRT8wC&lpg=PA410&dq=D.J.%20%22AI%22%20Systems&pg=PA410#v=onepage&q=D.J.%20%22AI%22%20Systems&f=false
19:31Sadly dev work is never that simple - even when it should be.
gltewalt:matrix.org
19:36Nope, haven't used it. But example for Gregg.
greggirwin
19:39@gltewalt:matrix.org yes, I noted it in my list. Haven't used it myself either.

When evaluating the low code space, it looked to me that we couldn't compete there, as they are largely old, rebranded RAD companies with many deep integrations we'd have to develop.
BaronRK
19:50@pekr wrote ' That is a clear example, that programmers and gurus should be forbidden to design user interfaces. Like really - never .... :-)"

Seconded.

Or, I welcome programmers to write AI/ML to design UI/UX to the user. :)

planetsizecpu
12:00A bit of AI for relax 😄
12:01[![Binpoem.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/m4KR/thumb/Binpoem.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/m4KR/Binpoem.jpg)
12:03You know, it's Saturday
GalenIvanov
12:11:smile:
gltewalt
17:47What they do, if they dont have enough people to separate everything, is: esign, deal with CSS, html, and browser incompatibilities
17:47Routing, and the backend.
17:48Speed concerns, since everything is passed over the network asynchronously now
17:48Err Design
17:49We could do a VID to html5 transpiler. Or to html5, and to css for style
17:50That would cover the presentation that is just lists
17:51Down the road, add WASM to the compiler options
gltewalt:matrix.org
18:14https://www.outsystems.com/p/modern-development/?utm_campaign=Awareness_Y_NA-US_Video_VAC&utm_medium=video&utm_source=youtube&gclid=Cj0KCQiA0p2QBhDvARIsAACSOONOcTPtepink7lNvL8H_0kwpSjVAMbbscIYNfLeyTcdvj1FtZBleO8aAk_hEALw_wcB
GaryMiller
21:28@greggirwin Claris Filemaker Pro looks very nice too from a RAD low code standpoint. (Not inexpensive though for individuals at least)

GiuseppeChillemi
15:41@GaryMiller They have even a API access limit as GB consumed for networked intallations
BaronRK
17:28Your cool rabbit hole of the day...

https://observablehq.com/@dgreensp/implementing-fractional-indexing
hiiamboris
19:12I'm regularly seeing a weird bug in W10 file cache. Suppose I have a file with a hard link to it. Technically it's the same file. I'm editing it and saving in one place. Then dir in another place will still display the old size and modification time, until I *read* this file from it's another place. git gets tricked by this too and thinks that file hasn't changed.

Thing is, I get *zero* relevant hits on google. Anyone knows how to fight this? Can anyone reproduce or it's only my drivers?
gltewalt:matrix.org
19:21Nothing on Stack Overflow?
19:22I no longer have any windows to test this
19:27https://devblogs.microsoft.com/oldnewthing/20111226-00/?p=8813
hiiamboris
19:28I've found something relevant in an irrelevant question (that exact one in fact). Basically they say NTFS won't *write* last access time for *directory entries* to disk until an hour expires or file itself is read. That doesn't explain why it won't write it to cache though, and says nothing about file size (though we can guess).
ne1uno
19:30maybe a git hook that checks for tabs or trailing nl will force a read?
gltewalt
19:31Yeah, last link is about ntfs issue
hiiamboris
19:33I'm afraid hooks don't affect add command. Maybe I'll just write a batch wrapper to read smth on add.
19:36OK they mention file size as well.
greggirwin
23:25@BaronRK my first thought on fractional indexing, from the Figma article, was "Hey, that's how we used to manually line-number BASIC programs." Leave gaps so you could insert new lines without changing existing line numbers.
refaktor
23:28Hi, I made a all-Red PR that works on my Nix and passes the tests. It uses Rebolek's Red Docker image, that doesn't need X (display). Fixes a Makefile, and uses a bash script so all Red solutions are executed. I merged in Rebolek's and Gregg's solutions and added one file for @hiiamboris 's solution here from chat. https://github.com/otobrglez/compression-puzzle/pull/39
greggirwin
23:56Thanks @refaktor !

refaktor
11:40I hope it all works for Oto too and finally gets merged.

refaktor
15:57Woho! ... Red solutions were merged into master https://github.com/otobrglez/compression-puzzle/tree/master/src/red :)
rebolek
16:00:clap:
greggirwin
17:22Yay! Thanks again for all your work on this @refaktor.
refaktor
18:17I was just combining examples of you three, with rebolek's docker image, learning something in the process, so thanks back!

hiiamboris
18:55I see GitLab recently participating in the browser wars *in sync* with GitHub, which suggests the *real* owner is the same.

I'm thinking of moving my projects to https://codeberg.org/ which is a modified Gitea instance, but anyone has better suggestions?
18:59Hopefully Gitea gets [federated](https://news.ycombinator.com/item?id=29830061) soon enough and instance won't matter much.

zentrog:matrix.org
00:42@hiiamboris: What do you mean about participating in browser wars? I'm not aware of it.
Oldes
00:59@hiiamboris do you know that I can get 25$ when you come to Digitaocean because of me? You can host own repo or whatever else thre for 5$/mo
01:00Oh.. I should ban myself using a phone.
01:11@zentrog:matrix.org I think that Boris wants to use unusual browsers.
zentrog:matrix.org
01:21I use Firefox, which I guess isn’t unusual. But I also don’t like being on the highest market share browser. Everything trying to converge on chromium could be somewhat problematic.
hiiamboris
09:26@zentrog:matrix.org see https://github.com/JustOff/github-wc-polyfill/issues?q=is%3Aissue
09:35@Oldes I actually have a Wireguard on the ocean because our mindless government blocks Tor bridges very fast. But I'm not sure I want personal hosting for that. That's too much decentralization, and unnecessary effort on my part.
09:44@zentrog:matrix.org they have been targeting Firefox too recently, at least GH. But not previously AFAIK. Ambitions rise, and it's just a matter of time that they date calling Firefox a "legacy" browser :)
09:45*dare calling.
pekr
11:27I use FF since the Netscape 0.96 🙂
hiiamboris
11:34Used it long enough myself, since version 3 I think. But given the hundreds of millions of $$$ in revenue, the only thing on my memory they ever improved was they added private browsing mode. They had however a habit of breaking all of my addons with every new version bump which they seem to do just for the sake of it, and that bothered me as much as developers themselves, so then I knew it was time to move on.
11:39It's fun to visit their bug tracker at times, with thousands of users complaining about what they're doing and all of that gets ignored.
pekr
15:35I dont like Chrome though. It has weird typography, was bold by google's standards, ending ns plugins, introducing their own crap. But you are right, that Mozilla upsets users quite regularly. I for one hate tabs at the top of the screen. Then community adapts, just for Mozilla to break it agai, and again. They have even removed some stuff from about:config, to make things for users even harder.
planetsizecpu
17:46Our users still use Netscape & IE for legacy apps at work 😀, Firefox and Chrome for the rest, but I my self am an Opera lover, also on phone.
hiiamboris
17:57Opera once silently downloaded & ran me a program that locked my PC and demanded money. Took me an hour or two to clean it in the safe mode. Since then I never used Opera ;)
17:58It was a great browser though, long time ago. So customizable out of the box. Shipped with mouse gestures.
18:01They're chromium based now though, should be safe.
endo64
19:02I used Maxthon II for a long time, lots of nice features included, which other browsers has to install plugins (like full page capture), you could also switch the engine with one click. But then it gets bloated switched to chromium so I use opera now.
dsunanda
21:11For those of us (which is probably most of us) who roam far beyond the big dozen or so websites (Facebook, Youtube, TikTok, ...) we probably need several browsers for different destinations.

My daily use is a heavily locked down (via add-ons and settings) Firefox.

For websites I trust and which won’t work with those security measures, I use lightly locked-down Firefox Developer (basically the latest Beta).

For websites I trust but won’t work in any variant of Firefox, I use a strongly locked down Vivaldi (a Chromium derivative).

And then once a year or so when I absolutely have to take a suicidal leap of faith, I’ll run a completely-out-of-the-box Edge.
hiiamboris
21:29same here, Pale Moon + Vivaldi + SlimBrowser for those sites that don't work in either of those
21:30we're going towards "each site - own browser".. total idiocy
dsunanda
22:18:) Well, we could image a situation in which every website has to advertize the client-side resources it needs (eg 100Meg storage, access to camera; admin read/write access to Windows folder etc).

And then client-side browser either refuses to download the website; or it crafts a tailored sandbox just for that website and what it claims to need.

We've now effectively Dockerized the web .... Which will slow the bad guys down by about six months.
hiiamboris
22:23> will slow the bad guys down by about six months

:D

planetsizecpu
08:08😄 Nothing stop the bad guys, in fact we go behind them, patching.
GiuseppeChillemi
13:46Etna Just now
13:46https://fb.watch/bjkj_3h9EL/
BaronRK
17:22'in fact we go behind them, patching.'

Preach it brother!

Sunanda, I want (everything you said) regardless.

Ideally in fact, I want smart shared and private caches. And alerts when something is fishy.

It would be super cool to say 'Twitter can use Spotify's music interface'

And all of this is sanitized for our protection.



greggirwin
18:24@GiuseppeChillemi be safe!
dsunanda
20:38@BaronRK I'd also - as a bare minimum - want my browser to warn/prevent the downloading and running of code from a server unless:

1. the server provably has a certificate showing they have insurance I can claim on if their code creates damage or loss when run on my machine

2. the code the server supplies is provable written and tested to at least ISO-5055 standards.

Call me a dreamer....

gltewalt
00:09I kind of like this:
make-range: function [a [integer!] b [integer!]][
    collect [i: a - 1 until [keep i: i + 1 i = b]]
]

~: make op! :make-range
00:09
>> 2 ~ 8
== [2 3 4 5 6 7 8]
>> char-range: (to-integer #"a") ~ (to-integer #"r")
== [97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114]
>> foreach i char-range [prin to-char i]
abcdefghijklmnopqr

00:10It's this with a different infix word:
https://github.com/red/red/wiki/%5BDOC%5D-Guru-Meditations#define-infix-operators
BaronRK
02:33Sunanda, so so with you. We just don't solve
toomasv
05:22@gltewalt Reminds me [thru](https://gist.github.com/toomasv/f0158fd4e9c32d4e20944439dd54b576)
rejoin #"a" thru #"r"
== "abcdefghijklmnopqr"
hiiamboris
12:03funny date: 22-2-22, 22022022
toomasv
Respectech
12:45Wait until 10:22:22 pm local time, and it will be 22-02-2022/22:22:22
ne1uno
12:50in 2:12:22 it will be 12:22 to 22-02-2022/22:22:22 too
Respectech
15:16I just realized that today is Twosday (Tuesday) as well. Twosday 22022022.
hiiamboris
15:22wow indeed
ne1uno
15:24checks out now/weekday
hiiamboris
16:21anyone has experience with translate-shell? it works for me for en:de, occasionally en:fr, but has like 99% timeout rate for most languages
ne1uno
16:31switch to another translator?
hiiamboris
16:38well just installed :)
16:38total shite
16:39tried libtranslate-bin - no such package exists it seems
16:39I guess I should rather try my luck with web translators
ne1uno
16:40config engine
gltewalt:matrix.org
16:45https://translate.google.com/?sl=ru&tl=en&text=%D0%BA%D0%BE%D1%80%D0%BE%D0%B2%D0%B0&op=translate
ne1uno
16:55https://context.reverso.net/translation/russian-english/тянуть+резину
hiiamboris
17:11https://smodin.io/translate-one-text-into-multiple-languages worked for me
17:15not sure if it correctly "translated" True;False into *itself* in japanese lol
gltewalt
17:15Does it have a limit per day?
hiiamboris
gltewalt:matrix.org
17:24Not on computer now, but maybe this will hand back json
17:24https://translate.yandex.com/?lang=en-ru&text=cow
hiiamboris
17:29too lazy translating one by one, need multi (or scriptable)
gltewalt:matrix.org
17:36Is translate-shell getting it from the network, or local data?
hiiamboris
17:37network, supposed to be multiple engines support (but they're all timing out, so must be bug in TS itself)
ne1uno
17:46https://greasyfork.org/vi/scripts/9285-translate-google-tooltip
pekr
17:52Just tinkering with JSON, found a Dadroid util .... they claim 2GB / sec read, and 130M object file per second parsing. Oh my ....
hiiamboris
17:56"read"? really? it's a property of storage device & interface, not some JSON utility
17:57need a top-notch SSD as well for 2GB
pekr
17:58well, can't test it sufficiently, it's an app. But pressing enter on file just displays it in under 1 sec. Red loads the file in 17 sec :-(
17:59https://raw.githubusercontent.com/json-iterator/test-data/master/large-file.json
17:59cca 26 MB file
rebolek
18:00That's really big for Red, but I will look if it can be optimized
hiiamboris
18:0117:1 is absolutely great for scripting language vs low-level library
pekr
18:01The question is - does Red slow down, when loading such big file? Or is the performance of json parser constant and irrelevant of the file size?
rebolek
18:01it should be constant
pekr
18:0317:1 ratio? Really? Would compiling help here, or not?
hiiamboris
18:04it's already compiled :)
18:04and has some routines
pekr
18:04I thought that as with fast-lexer, we would get fast-parse one day :-)
hiiamboris
18:05and spend a year writing it :)
rebolek
18:05fast lexer helps with loading, not parsing
hiiamboris
18:09@pekr is there a source for that utility? why don't we compare number of LOC instead :)
rebolek
18:10that should be it I guess https://github.com/json-iterator
18:11Actually I never tested JSON codec with such big file and I'm glad it works :D
pekr
18:12I have just try to download 22 MB .csv file and created simple example to compare R2 vs Red:

>> file: read %overseas-trade-indexes-June-2021-quarter-provisional-csv.csv
== {Series_reference,Period,Data_value,STATUS,UNITS,MAGNTUDE,Subject,Group,Series_title_1,Series_title_2,Series_title_3,Series_titl...
>> dt [parse file [some [#"," | skip] end]]
== 0:00:01.073 ; R2
== 0:00:05.98222 ; Red
18:13I know the example is simple, but basically iterates upon the file char by char, and the difference is 6:1 for R2
hiiamboris
18:13you're again comparing ascii to unicode
pekr
18:14ok, how do I get simple ascii string in Red then?
18:14So it is something I can't see at Red level, right? An internal representation?
hiiamboris
18:16use read/binary and work with binary
18:18> that should be it I guess https://github.com/json-iterator

so idk about LOC count, but their src/ is 800kB, while our codec is 14kB
that's 1.75%
pekr
18:19Does the number of LOC provide a measure for how fast the code perform in the end? :-)
rebolek
hiiamboris
18:20it does provide a measure of time saved by developers and indirectly time it will save you (the user)
18:21can you test their library with one-liner like dt [load-json %file]?
rebolek
18:21If you want to work with huge datasets then an interpreted language isn't the best choice, that's obvious.
pekr
18:21I don't care for the time spent by developers, if their tool is order of magnitude faster :-)
18:21As I said - the file loads in their tool in under 1 sec
hiiamboris
18:21don't use Red then, use C :)
rebolek
18:25@pekr right now I am working on the webserver. Is it going to be as fast as Nginx? Certainly not. Does it mean I should give up?
pekr
18:27or R2
18:28Ok, so just tried to read a csv file in a read/binary mode. Put the same parse to the task. It's still 5:1 for R2 and that is my point. Untill some unicode or so is still involved.
rebolek
18:28If you don't care about Unicode or basically anything that's not at least 12 years old, than R2 is fine.
pekr
18:30I don't want R2 to be fine. It is just that I thought that with 10+ years in development, we made things faster. But ok - R2 is a compiled C code, whereas Red is a transpilled R/S code compiled to native, so there should still be place for optimisations.
rebolek
18:35There's place for optimisations but there's not time to do them ;-)
pekr
18:36It's fine with me. I think that we can sacrifice some speed for the architecture flexibility. I still like R/S being present. So if from 4-5:1 we can go down to something like 2-3:1 for Red vs R2, it would be nice.
18:37I also know, that 26 MB csv or json files are maybe too extreme. Just wanted to test with larger file to feel the difference.
hiiamboris
18:43so bottomline is: we speed up Parse first, JSON later :)
pekr
18:45You stated Parse is already optimised ....
hiiamboris
18:45did I?
pekr
18:46You've mentioned R/S code?
hiiamboris
18:46Parse is written in R/S, yes
18:46doesn't mean it's optimized
18:47but let me rewrite it then:
bottomline is: we should speed up emitter first, Parse second, JSON sometime after :)
pekr
18:52You already did some json optimisations, didn't you?
greggirwin
21:52Yes, we've done some great JSON optimizations. And I have a section on performance for the XML codec in the blog draft I'm working on.

greggirwin
23:31@pekr, regarding [this](https://gitter.im/red/chit-chat?at=6215244bc435002500bbcf9f), where did you DL the app, and which source should we look at? I glanced but can't tell which it might be.

pekr
00:13@greggirwin It's here, but seems like an commercial app. so no sources probably - https://dadroit.com/
greggirwin
00:25Thanks. :+1:
01:10A couple quick guesses. 1) It's written in Pascal/Delphi/Lazarus. 2) It's not creating a data structure in memory, per se. It's scanning the file and marking data locations so they can be viewed on demand as you expand the items. It is a viewer only, and note that there's no expand all feature in the viewer, as that would be a massive amount of overhead for large files.

This is not to take anything away from them. It's a clean tool and seems very nice. Exporting the data as XML was lightning fast. Finding text was also fast. It does what it says it does, and is optimized for this one purpose. $200 annual license. If you need what it does, it's probably worth it.

It took it .14s to load their 26M file. Red took 7.5s. 53x slower. Their RAM use was 36M, ours was 466M.

We can't spare any of the team to have fun experimenting on a fast structured data viewer, which could be done a few ways for comparison (parse, R/S, JSON fast lexer based on Red's), but if someone else wants to do that, we'll sponsor it.
pekr
06:54That's what I thought, that they actually read a top structure, without a further expansion. We could do that with streamed parsing Doc envisioned probably. As for the speed, R/S is supposed to be slover than C, but Delphi was never a speed deamon either. As for the RAM, once again - streamed parsers might be a better fit in future.
BaronRK
14:41[![BabyC.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/AnrP/thumb/BabyC.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/AnrP/BabyC.png)
14:41A little morning humour.
dsunanda
16:40:) Obfuscated C has been a sport for decades .... https://www.ioccc.org/
BaronRK
18:22Of course, I just really liked this one.

Personally, I would tend to start with just swapping the { } and ( ) and offsetting the entire program. Love illusions like that.

It reminds us not to anthropomorphize.... things.

I want LINT for news. :)
ne1uno
18:24https://codewithrockstar.com/online
greggirwin
18:55@pekr, actually, Pascal and P-Code BASICs could be pretty fast, and Delphi can be very fast for certain things.

For this task we wouldn't even need stream parsing, but just using parse on data that large, e.g. parse <26M-string> [some skip], may take a full second or more. But R/S will scream through it. Then it's a matter of only using parse on small pieces, between markers, which will be instant to a user's eyes.

gltewalt:matrix.org
04:30Javascript is frickin annoying with have to type parents too much functionName(), comma separation [1, 2, 3], and semicolons
04:30Having to type parens too much.... jeeez... phone chatting
04:31And zero based indexing
greggirwin
06:36To people who spend all their time in a language, the pain numbs them. We have the same issue, just in different ways. I consciously choose *this* pain. :^)
gltewalt:matrix.org
14:57The only irritant for me is unset!, and sometimes the ambiguity of words when reading code. "Does it point to a function, or?"

ne1uno
00:31base 0/1 is a constant bug factory in advent of code solutions. you can set option in some languages but either way you get one off problems.
gltewalt:matrix.org
00:44More fencepost issues with zero based, because humans don't count that way
ne1uno
07:08hardware is zero based
07:19not sure a zero based array and related functions would be worth doing
rebolek
09:31I look at this this way: offsets are zero-based, indexes are one-based.
pekr
11:2720 years of the related discussions suggest it should stay the way it is ;-)
BaronRK
16:09One of my favourite people to study is Vitruvius.

In his note for De architecture, he mentions 'warns' is a better word, of the fencepost error, literally in terms of fence posts LOL

In making posts and beams of stone, he notes to make sure to add '1' for the last post.

Apparently, stone workers would be off by one enough he had to mention it.
greggirwin
17:47@BaronRK :^)

@rebolek makes the point clearly, which we also face in Red with skip/offset? vs at/pick/index?. One of the main reasons some devs prefer, and argue for, zero-based addressing is calculating offsets based on element sizes. This makes sense in lower level languages, and even some dialects perhaps (e.g. R/S), where you're mapping indexes to offsets, but it makes index accuracy suffer in the process.
dsunanda
18:34At the dawn of the century, an ancient Reboler wrote the necessary patches to make Rebol zero-based for those who wanted it.
If the patches still exist - and if you can find them - they might be easy to adapt for Red.
http://www.rebol.org/ml-display-thread.r?m=rmlTTHK
gltewalt:matrix.org
19:45Don't want it
pekr
22:16Me neither ....

Oldes
07:09We are not alone:) https://softwareengineering.stackexchange.com/questions/314537/why-does-nth-child-in-css-start-from-1-instead-of-0
07:11> You don't say Queen Elizabeth the Zeroth, The zeroth day of Christmas, the zeroth street to the left or the zeroth word on the page.
ne1uno
08:121am is the 2nd hour, we are in the 21st century.
08:12I never realized fence-post error was the real thing.
08:12https://en.wikipedia.org/wiki/Off-by-one_error credits Vitruvius.
pekr
10:031am means, that it is exactly 1 hour from midnight. Stop the BS ;-) Really, we were there before, with top Rebol gurus of the past. Those were really technical / historical / political / religional discussions and good time to eat lot's of a popcorn :-)
rebolek
10:22It’s not BS, you’re both right. It’s one hour from midnight and also it’s a start of the second hour.

gltewalt:matrix.org
19:42[20220304_124126.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/TdfVKbUEiidbugZsRpcrbmJo)
BaronRK
21:52I will put forth that 1am must be on the PLUS side of the number.

Which is to say that midnight (12AM) must be the start, that 0AM is more like 11:59:59nPM (that n = some infinite number)

Thus, 1am is indeed the second hour, which sounds strange but is still correct.

As to Zeroeth Queen, again, while it sounds strange, would map to who ever was queen before her, or, a statement that 'when there was no queen'

22:18Of note, I have a similar issue with Pixels.
A topic I brought up a lot 25 years ago (was some of my first conversations with Carl about how to build View for Lava (REBOL(Rebol))) :)

My point being that we should not use Pixels, but rather hint to vector how to keep things ordered in low res system. (like font hinting)

Most people (artist or programmers) should not need to be thinking about this almost ever. The tools should hide this from you unless there is a good reason for you to be messing with it.

Just like any Maths library.

I will add into this list of issues clockwise and counterclockwise issues with vector rendering. This too causes bugs. So Figma (popular design and layout tool) fails to save SVG images correctly about half the time.

You have to mess with it to not be off by one, meaning, sometimes you have to add an EXTRA vector point to fix it.

GiuseppeChillemi
10:37@Oldes How your Rebol3 version compares to Atronix one, does it share its code? Does LOAD-GUI use their work?
Oldes
10:47My version is not based on Atronix version, because I prefer to do it my way. I cherry picked some fixes from it. There is almost nothing GUI related from its branch. The last version which is in the Github is unusable anyway as it depends on parts, which are not public.
10:49Also my opinion is, that a lot of Atronix code is done with a hot needle... just to get something working asap.
10:51In my branch, there is just a minimal GUI available for Windows. I can for example display an image and even add some basic native widgets there, but I consider it only as a test. I was not focused on GUI last few years.
10:53Instead I tried to lower the number of bugs... now there is _just_ [331](https://github.com/Oldes/Rebol-issues/issues) of them... and not [1.5k](https://github.com/rebol/rebol-issues/issues)

loziniak
11:15A nice talk about API (and language) design: https://www.youtube.com/watch?v=CYniPcoiI5g

pekr
09:33Example session of a Flutter responsive design video - https://www.youtube.com/watch?v=kmZz_q7W2jI
hiiamboris
09:48great video, thanks!
09:51and what I find the most spectacular about it is that a *single person in a day* can build a *very fine tuned* UI with this

compare that to what GH bozos took years and years to produce: https://s7.gifyu.com/images/GIF-13-Mar-22-17-33-21.gif
09:52laughable!
09:52and hints at how powerful Red can become
pekr
09:53Nice, so the Spaces can do many things. Is that slow though because of gif screen capture?
09:54What is GH Bozos? :-)
hiiamboris
09:54no, that's the *actual site* of github (GH)
pekr
BaronRK
15:04I watched this API video.

Warning, <rant>

I 'feel' like we have this HUGE problem, like a building method that keeps producing confusing building layouts, that eventually always falls down, because they are made like any house.

And houses sound great when described: a foundation, a floor, walls, roof, etc.

But actually, almost every house out there is built wrong. For one thing, they are built bottom up. And you CAN build houses that last a long time this way. And perhaps even several stories tall. But philosophically, it is still just sticks and mud, and very difficult to change things later.

About 100 years ago we sort of 'comprehended' a completely better way to make buildings. Instead of bottom up, top down.

In fact, what you do is build a cage, and then 'hang' the walls from the cage. This simple but subtle concept literally changed everything.

Now one could build 'spaces' that change all the time, even right now to the plumbing if you follow just a few rules.

Let me drill into this a little more (if you will permit me). A few of you even in here have been to one or more of the houses I've built or redesigned, and know I make a really nice 'space.' But, my next house I will build from scratch, using the techniques of skyscrapers.

It means pushing the 'strength' to the corners, and all walls suddenly are no longer load-bearing, and can be moved and changed whenever you like. Worth EVERY penny.

Let me take this even deeper to make a subtle point. I helped a friend of mine fix his house in the bay area. For the past 20 years he has left a single wall in the middle of his house UNFINISHED (much like his code, he is a leading researcher of AI at PARC). As a gift, I finished it for him. But he fought me at first. He was caught up on using nails or screws., and what was legal. Being a weekend warrior of sorts as he was, he drew bad conclusions from forums.

It was a common pattern. The 'old experts' would attack the young new contractors, and tell them all sorts of reasons something could not be done. One was 'using screws on a shear wall'

And they would be right, if the screws were the ones from when they were young (the 70s), which were made of pure shit. But today they make amazing screws just for shear walls. His next point was that they said these were expensive.

He is right... if you were doing a whole house of them! But not for one wall, where our conversation was costing more than the box of screws.

I built him an earthquake shear wall that is so damned good it WILL be the only thing standing 100 years from now.

(side note, when I was done, I also mastered the style of the 60's stucco artist that did all his walls. Literally practice for a day until I could reproduce exactly the way the original person did the house, and then proceeded to texture the space so well you would never know any work had ever been done. And, someone in this group was my assistant on that :) so they got to see how I do this stuff)

Ok, now back to APIs. The whole API concept is wrong! But just like houses are wrong. Sure, they are 'good enough' perhaps. But it is no longer worth it to build that way ... stick and mud.

So his video was solving problems (from my POV) which are problems on top of other problems.









pekr
15:19@BaronRK Could you elaborate a bit on what would you use instead of APIs in order for various systems to communicate?
Respectech
15:49@BaronRK I am also interested. Both in building houses and what to use in place of APIs.
BaronRK
15:49It is not 'instead of' per se (but indeed, it might appear that way.

Rather (and first) I consider ALL interfaces between any two computers to be an API (literally).

So, WebDAV, POP3, HTTP, FTP, blah blah blah.... these are all 'API's

In fact, WebDAV and IMAP really should be the EXACT same API.

The question we should all ask is, 'why do we need to custom cut every 2x4?' (48x98 mm)

What percentage of every single house is using the exact same 'intended' parts?

(I say intended, because every single 2x4 will be 'slightly' different for each wall, custom cut, but the goal is to just have an exact size)

I view almost all of what any API as doing as falling into the following basic groups:

- ID (you, the account, a project, rights, SSO, etc.)
- List management
- Object management

So, why aren't all API calls basically just CRED (Security is implied)

Create( Event, In_Project, Template)
Read
Edit
Delete

If you don't know what fields to fill in for the template, you can ask for the template

Read( 'Event', In_Project, Template)

We need just one more simple trick to make all this really easy:

An agreed upon list of variable names

If my template had a variable for 'Name'

We can all agree a file has a Name.
A task or event on a cal has a Name (even if it is the summary of it.
A Wiki has a Name.
You have a Name.


The goal here is to find ways to treat all things the SAME. Because most of the time, that is what we do.

Editing the name of things should be the same code regardless of the object.

Summed up, this is all about just setting up some basic rules, and protocols.

NOTHING here would stop you from doing custom crap (which is currently the default for everything).

Rather, it would mean copy and pasting code to do obvious things.




Respectech
15:53Incidentally, I doubled the size of our current house. All of the parts that I built, I built in the method you describe. There are zero load bearing interior walls, even in a complex polyhedron area of about 1200 sq. ft. with a complex roof structure above it.

I have noticed that many systems and procedures are still in place and enforced today because of some limitation of the past (either physical, material, or mental), and not because it is the best way to do it now.
15:56^^^ Thanks for that explanation, Reichart. It makes a lot of sense.
pekr
15:58It does sound to me like reading a book for associative databases back then. Most of that stuff were just graphs / vectors. Apple-is-red, red-is-color, etc. ....
greggirwin
16:38While I never did change any interior walls before moving, my old house was post and beam. I like yurts too. On APIs, Bertrand Meyer, designer of the Eiffel language, makes this point in his book Reusable Software, where he talks about things in terms of Linnaean classification for data structures. e.g. in many langs, stack have push/pop, queues have enqueue/dequeue, etc., but all 1D data structures can use the same name for these operations. We know this in Red because of the series! datatype. You can still add more control when needed, but being able to use the same interface for many things means a lot less cognitive load.
16:39@toomasv, make sure you watch the Flutter video, since you're doing R&D in this area.
16:42My old house was also pre-wired, via a patch-bay, with cat5/RG6/fiber bundles to each room. Never used the fiber, because wireless took over instead.
BaronRK
17:15@Respectech cool
@greggirwin

Exactly.

17:17Also, I'm finally wrapping up the outline for some micro-conferences (1.5h max) I want to have on this topic.

Everyone here will of COURSE be invited.

My big topics are:

- API - so this topic but in a more structured way with examples.
- Quilt3 - How I think UI/UX should work (very much not the way it is now)
- Blue Machine - a tool I want to see get built that I think (hope) will solve a large class of problems programs have.

22:12And.... (conntected)

https://www.youtube.com/watch?v=x_cxDgR1x-c&ab_channel=TwoMinutePapers

gltewalt:matrix.org
01:06Push the API idea (really a protocol) to the IETF. If it makes it to an RFC, then mostly everyone would play ball. I think.
01:13Didn't "top down, non load bearing, push everything out to the corners", result in the world trade center collapsing?
Some things are great on paper, but not always irl
BaronRK
03:20@gltewalt:matrix.org correct. and that is how I'm approaching it.
In fact, a dear (very old) friend of mine who wrote the original Amiga Lattice C and went on to head Cisco's Patent department and has written many protocols and RFcs is planning to help here. He (and many others) are getting where I'm going with this.

Uh, the World Trade Center 'collapsed' due to large metal objects filled with explosive liquids being hurled at it.

Had that been done to a building made the old way it would have most likely done at least 2 to 3x more damage (and to surrounding buildings).



gltewalt:matrix.org
03:402 to 3x more collapsed into rubble?
BaronRK
06:21I'll answer your question, but, permit me to tell you a quick story.

That morning, about 15 minutes after the first plane hit, I received a call from the top reporters at the Washington Post. They wanted me to estimate the damage ASAP.

Why were they calling me? Yeah, normally that might seem strange, but two things:

1. I was the original architect of the WashingtonPost.com (called DigitalInk at the time).

2. I do forensics on high profile cases (mostly lawsuits).

At that moment they were estimating tens of thousands. The best I could come up with after taking into account how many stories, and how filled the building would be before noon was 5-10x less than the number they were CONVINCED of.

The Twin towers are 110 stories tall. If they had been made the traditional way (which would have meant a mass of ............................... wood), it would have created the most amazing fire which would have been both burned far stronger, and far longer (keep in mind, as it stood, the fires burned for almost 3 months).

My 3-5x might be low in terms of the damage it would have done to the air, and surrounding buildings with a fire burning much bigger and stronger for months.

That all said, I have been involved helping several teams with stats both during and after the event. I lost several friends, and dozens of people I worked within those buildings.

While on this topic, a quick subtle example of something - America stopped all research on Cell phones and cancer. You might recall all the data came from Sweden and other Nordic countries. Why did America stop? The entire research team minus one were in the first building that morning. I know that one also.





ne1uno
06:28would've fallen faster? many people were able to escape on lower floors. in spite of intercoms telling people to go back to their offices. the elevator shafts failed structurally? asbestos not adhering? jet fuel inferno sagged beams, unstoppable pancaking upper floors into one another.
06:28PBS nova had the architect on a show. direct collision with planes that size weren't designed for in the late 1950's.
Respectech
17:58An interesting note regarding Reichart's preferred building style (and one of which I'm also fond). In Medieval Europe, buildings were primarily made using timberframe construction. This is similar to post-and-beam which is used in most extremely large buildings today, but it generally didn't use any metal fasteners as they were expensive and hard to make. The wood joinery was designed such that the forces acting on the building would tighten the joints instead of putting stress on them. Many of these buildings are still standing today. (Side note: @BaronRK I am in the beginning phases of designing a Medieval-style timberframe to go on some semi-remote mountain land we've owned in Montana for 30 years - hit me up if you're interested in collaborating.)

But then "modern" house building methods were developed after the Industrial Revolution. "Stick-frame" is relatively fast and inexpensive to build, but has a lower lifespan than timberframe, and is not as durable.

Modern concrete construction is a sham. Ever since rebar has been a requirement in concrete construction and mild steel has been used as rebar in concrete, many (or most of) these structures have a lifespan of well under 100 years. Concrete absorbs moisture, moisture rusts mild steel which then expands, causing the concrete to crack and fail. That's the main reason the condo in Florida collapsed recently, exacerbated by the salt air. There is no practical way to remediate a building built in this manner. Personally, I'm surprised that this building style hasn't been outlawed, or at least the major issues addressed. https://www.linkedin.com/pulse/how-long-does-modern-concrete-building-last-amit-enterprises-housing

An interesting and extremely low-tech housing construction method I've studied for about 30 years, and that has stood the test of time for centuries is strawbale. When properly constructed and enveloped, strawbale construction is inexpensive, environmentally-friendly, quick, load-bearing (2 stories or less), durable, and energy efficient. It can also be combined with other methods such as timberframe or post-and-beam to create a hybrid solution.
BaronRK
18:36I may come visit you! (I am planning to build my next compound in a few years).

Rebar - EXACTLY! Best solution I've seen is using basalt fibre instead of rebar.
Now, it should last forever.

Back to APIs, to me, it is all about philosophy. One you know what the end problem is, how do we fix it before that happens?
pekr
20:06Having a photo studio I wanted to create a system of mowing wall. Ended up studying, how theatre stages are built :-)

refaktor
11:57@Respectech @BaronRK btw ... I have built a "modern" timber framed house with hempcrete for all exterior and interior walls, it's just been one year since we moved in ... if you are interested in the material, I've learned a lot about theory and practice :)
greggirwin
17:24@refaktor very cool. I'm interested to hear more.
loza:matrix.org
18:35strawbale here :-) wish me luck!
GiuseppeChillemi
23:11Personal note: Atronix could be a giant driver for RED. Their product cold be used in every factory of this planet. If anything can be done to have them adopting RED, it would be one of the best thing for our language.
23:13We share the same knowledge up to 95%

pekr
05:16I have heard that Shixin is no more with the Atronix company and that their Rebol stuff is going to be replaced.

greggirwin
17:45@loza:matrix.org et al, I researched a lot of options before building, and the deciding factor was what a builder was willing to do, since I couldn't do it myself. Even insulated concrete forms were too much for them here at the time. I also had restrictions once it was decided to build in a rural subdivision. Keep us posted on your project!
17:47I don't know how much of the old team is still at Atronix, but without David DenHaring and Shixin, Rebol lost its champions. Not the first time I've seen a company built around the technology, made successful, then lost to mainstream tooling.

Respectech
00:00@refaktor Do you have somewhere online where we can see pictures of your timberframe? I'm always looking for inspiration.
00:01@loza:matrix.org I've been wanting to build a strawbale for over 20 years. I'd love to see what you've done or are planning to do!
loziniak
00:20[![obraz.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/Yfr2/thumb/obraz.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/Yfr2/obraz.png)
00:23[![obraz.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/weSl/thumb/obraz.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/weSl/obraz.png)
00:31That's current state of affairs :-) Building on foundation of old wooden house. No sewage system, just compost toilets and greywater "pond", rainwater use for most household needs, except drinking. Kuzniecov masonry heater as main heat source.
00:51Strawbale with wooden frame, clay and lime plasters.
greggirwin
01:34@loziniak you have to start somewhere. :^) My old house was passive solar, with a Tulikivi masonry heater. I loved it.
gltewalt:matrix.org
02:28The classic case of losing out to the mainstream is probably yahoo mail
02:31Err.... yahoo store
02:39viaweb
BaronRK
02:42@refaktor cool! More...
Stawbale, wise (I have many friends now living in their own built house from strawbale)

We need a 'chit-chat(chit-chat())' thread :)

Fun too - https://fabiensanglard.net/rayTracing_back_of_business_card/


GalenIvanov
07:34@BaronRK The Raytracer code looks like Arthur Whitney's [one-page interperter](https://www.jsoftware.com/ioj/iojATW.htm) (what later became the J language)
BaronRK
15:36And, a very different way of thinking of this:

I created a language called MIDAS (which made GOLD files of course). This was close to 30 years ago. It sounds like a Baccronym, but funny enough, the purpose of the language was created first 'Machine Independent + Demo and Animation System' - That was the literal goal. To get basic demos with animation up and running on many computers at the same time.

I worked backwards from the goals:

- Write once
- PCode output
- A few dozen commands is enough to do most things (thus all commands fit in 1 byte)
- Run on C64, Apple II, Amiga, Mac, PC, etc.

After running many tests, and discussing the architecture with a friend that wrote Lattice C, I realised that for the most part, a compiler comes down to very simple structure parsing, but ultimately you want to get all conditional loops down to DO and WHILE. This is really important from the POV of getting things fast on 1Mhz computers.

Since personally, I'm a crappy programmer with good tricks, I only really program in Machine Language (6502, Z80, 8086, 68000) and LISP. So either very low, or very high.

Unlike 'beautiful' languages, I did not care about all that. I needed Program Flow, not a language that did everything. In fact, for the most part I wanted this language to embody ANYTHING that COULD be expressed across machines.

A command like IMAGE() would display an image from a buffer, or point to the buffer, etc.
Thus, the code for that would have to be custom written on each platform.
I promise you, your not going to write the same code for a C64 screen and a PC screen.
So... move up higher to just image() (like a library call), and then custom write it in ASM on each.

But, it proved to be magical!

After just a set of 20+ commands, we could write simple programs, that did complex things INSTANTLY on all these platforms.

As far as basic structure we used C of course Do() {...} While() {...}

Lots of OnInput(Button1) etc.
Where Button1 could be a joystick, mouse, or spacebar, etc.

We had rather complex full (complete) programs that were 1K.
A print command would literally be 1 byte for the command, 1 byte worth of length (no need for EOF, but also built-in counter), so only 256 length strings of course. But again, super simple.

But now when demonstrating to publishers how fast we could get games up and running, think about what our demo looked like compared to everyone elses.

BaronRK
23:56Thoughts - https://cycle.io/platform/

gltewalt:matrix.org
03:15@hiiamboris: I have an app for you to make
03:16Mobile App:

I Pooped 💩

Click poop character and it stores "I pooped 💩" with date and time stamp in local storage.

Sends "I pooped 💩"  with date and time stamp to twitter and other social media accounts.

Keepa running poop totals for day, week, month, and year.
Can generate a chart.
Chart can be shared.
hiiamboris
07:57You sure that's for me?
dsunanda
13:33I think that was an apr 1 request, rather than a 1 app want.
greggirwin
16:38The HIPAA requirements alone make it an impractical app.
BaronRK
18:50... 1 year later, Meta buys this for US $1Billion.

Gregg and Boris on the cover of Fortune magazine.
gltewalt:matrix.org
20:40Yes it's for you so you can do all the work to get android up and going
20:41No HIPPA. A person can tweet "I pooped 💩" anytime it strikes their fancy
20:47Simple interface, it's semi crude, it will irritate others, the irritators will get amusement out of it irritating others, and it can occasionally be useful for those tracking regularity.

I bet it would fly.
greggirwin
23:44> Gregg and Boris on the cover of Fortune magazine.

Actively "pooping".
23:46Is it an early April Fool's joke that Vitalik Buterin was on the cover of Time recently?

GiuseppeChillemi
22:39Could be of any interest?
22:39https://godbolt.org/

gltewalt:matrix.org
04:02https://github.com/orgs/TheAlgorithms/repositories?page=1&type=all
BaronRK
07:12What, no 6502?
gltewalt:matrix.org
19:56Add it
BaronRK
21:17I would, but I don't live in my mother's basement. :)
gltewalt:matrix.org

GiuseppeChillemi
15:57Hi, I need Rebol KEY to create single executables for my programs until Red will have DATA-GRID. Is there anyone would sell his key?
pekr
16:05I was an owner of IOS, Command and SDK. Ot using those anymore. If I find it on some old harddrive, I can donate it to you.
GiuseppeChillemi
16:08Thank you Petr, I really need them a lot. (Also I would like to explore IOS.)

BaronRK
04:23Are Cindy/Carl willing to sell keys still?
pekr
04:31There were many reports, that ppl tried to contact RT to buy licences, but to no avail - no response.
BaronRK
04:57hmmm :(
GiuseppeChillemi
07:55Yes, it is the reason I have asked here for a license.
07:56Rebol is now abandonware but I still have hope on Carl open sourcing it as he last SDK release is from January 2021 and he as given his word.
08:30(OMG, how many errors has this phrase, I should not write when in hurry!)
greggirwin
17:31I tried to buy keys for many years @BaronRK, to no avail.

GiuseppeChillemi
11:29Something is blocking Carl, this thing is outside or inside himself.

BaronRK
00:22I think one could say this about all of us :)
GiuseppeChillemi
07:47Yes, I am the same. This is the reason why I think something is blocking him, I emphatically feel he is in this situation. If I would live in the USA, I would drive to Carl's home, invite him to drink a beer together (wine?), and let him talk like friends do.

Respectech
17:30For those who are nostalgic for the Amiga, there is a new (old) one in production now: https://www.amazon.com/dp/B09CM1C3LX
BaronRK
19:35Strange, wonder what the market is for it.
pekr
19:39Nostalgia 🙂
zentrog:matrix.org
19:50I’m curious what people think about Carl’s [AltScript ideas](https://altscript.com/?page_id=16), and whether any of them seem applicable to Red. It seems like he’s going for more of a rebol-like javascript than rebol-like language though. The chars as strings is interesting to me
hiiamboris
19:55:point_up: [March 22, 2021 4:03 AM](https://gitter.im/red/red?at=6057ecfe2beb1e1da3c0ab1c)

pekr
05:00The question is - will it ever happen in a real life? Watching ppl here complaining, that RT is not responding to the sales requests re Rebol SDK, Carl has put quite some effort to create a website, he also apparently has made some design decisions, but any concept has to be confirmed by the real world action. We will wait .... and see ....

GiuseppeChillemi
08:53> Yes, I am the same. This is the reason why I think something is blocking him, I emphatically feel he is in this situation. If I would live in the USA, I would drive to Carl's home, invite him to drink a beer together (wine?), and let him talk like friends do.

I really don't like it. It's an emulator with some games but no ADF support and a non-functional keyboard. It seems that WHLoad games could be used.
Respectech
15:39Yes, I would have much preferred that it was a fully-functional recreation.
GiuseppeChillemi
17:30> The question is - will it ever happen in a real life? Watching ppl here complaining, that RT is not responding to the sales requests re Rebol SDK, Carl has put quite some effort to create a website, he also apparently has made some design decisions, but any concept has to be confirmed by the real world action. We will wait .... and see ....

@pekr Pekr, in psichology these behaviours are know: you are blocked by something, then you make an announcement to you are going to take action, then this phase ends and you are again blocked. Another reason could be: he announces "I will make it open source" because of our pressure but he is still not ready inside and won't release anything. Nobody knows but himself. I respect him for all the gift he has given to us and pray he would go beyond these chains (that have also blocked myself in the past times and sometime even now).

GiuseppeChillemi
19:34@greggirwin there is dangerous spam in the Red Facebook group, my profile has been shared there as winner of a loyal member, together with a link
greggirwin
22:33Thanks for the alert @GiuseppeChillemi. I don't see any new posts in https://www.facebook.com/groups/redlanguage though. Is there another FB group? @pekr is our main moderator there.

GiuseppeChillemi
00:27@greggirwin here is the group
00:27https://www.facebook.com/Red-Programming-Language-101589919206503/
00:28As I can see, it isn't the official one.
00:29Here is your spam
00:29https://www.facebook.com/101589919206503/posts/101605269204968/
00:30I mean: the spam where you are the target 😁
00:31Here is mine:
00:31https://m.facebook.com/story.php?story_fbid=101594955872666&id=101589919206503
00:32But I'd better stop or talking about the spammer, or I will be the spammer! 😁
greggirwin
03:31Thanks. I posted that they're fake, but there's nothing else we can do.
pekr
05:30I received a big tank you and some tokens. They have sent me to the following site: https://tokenred.jatra-app.org/?fbclid=IwAR2Df6__1W_3X78GTSb1muF5YfZDcoX04WDw5SigxyIkCZwpVrBLZTkQ-ZM
greggirwin
08:11Since I don't really want to click on that link... ;^) What is the site for?
pekr
11:40It is a copy of the original Red ICO site. It is probalky not harmful in itself, maybe a scam to buy some Red tokens using ethereal.
toomasv
15:51@pekr Doc asked to put a warning in FB group. Will you do this, please?
greggirwin
15:54Agreed. If you can't get to it @pekr I will do it.
pekr
16:41Done ....
16:41The red button leads user to fill-in a login info to e-wallet.
greggirwin
16:42Thanks @pekr.
toomasv
16:53:+1:
GiuseppeChillemi
17:37Organized crime targeting Red. It's nice to have intercepted it!
19:32@greggirwin @pekr @toomasv and all the other:
I suggest doing more: please report the page as **requesting financial information**
It can be done by hitting the 3 dots and selecting the last option, marked with an exclamation mark:
19:32[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/zZZo/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/zZZo/image.png)
19:34I suggest **EVERYONE** to do this, for the protection of our community and Red
19:36Here is the correct link for the page: https://www.facebook.com/Red-Programming-Language-101589919206503/
19:47NOTE: I am looking to all past messages on I have found a reply of "Guy Proteus" warning other of what is happening:
19:47[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/kCRF/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/kCRF/image.png)
greggirwin
19:50Thanks @GiuseppeChillemi. I've reported it.

pekr
18:00Can't reach the altme.com. Wonder if this is the end for the Altme? Can't connect to Rebol4 world.
greggirwin
18:18I can't reach altme.com either, but rebol4 is up for me, probably because I haven't had to hit the lookup server. If that's not up, no new connections can find the world (though if the IP address doesn't change, it should work, technically, as the last address is cached I thought).
18:18altme.com is down for me too.
pekr
18:23Thanks. I do remember teh direct IP connection stuff. It hands on the "Connecting to Internet" here. But I do have active connection. Might reboot to see. Or I have lost the cache ....

rebolek
07:26altme.com works for me
pekr
07:50Yes, it works today, so some short cca 1 day outage :-)

hiiamboris
16:33Android code snippets on the official material design site make me laugh:
MaterialAlertDialogBuilder(context,
  R.style.ThemeOverlay_MaterialComponents_MaterialAlertDialog_FullWidthButtons)
        .setMessage(resources.getString(R.string.long_message))
        .setNegativeButton(resources.getString(R.string.decline)) { dialog, which ->
            // Respond to negative button press
        }
        .setPositiveButton(resources.getString(R.string.accept)) { dialog, which ->
            // Respond to positive button press
        }
        .show()

That theme name is 68 chars ;)
dsunanda
17:05@hiiamboris :) I looked up how to code an Android app in Kotlin that accesses an SQLite database the other day (because Red is giving me some problems doing the same).
I'd spend half my life on the Kotlin route writing XML to emulate View.....The short example app here would be - what? - 20 lines of Red:
https://www.geeksforgeeks.org/android-sqlite-database-in-kotlin/
The future is scary .....
hiiamboris
GiuseppeChillemi
17:42@hiiamboris @dsunanda I am horrified of both codes. I am 100% sure Red and Rebol have made me impossible to use another language.
BaronRK
17:46I view almost all tools this way (code, literally things like hammers, etc.,)

Super simple example: Google Contacts, you cant just drag a VFC (contact file) on the page.

WHY NOT?

Seriously, why not?

Because they don't have first principles of design. Make each feature give the most power.

greggirwin
18:13@hiiamboris seems they're trying to out-Java Java. "If they use long names, and Java runs the enterprise world, it must be that longer names are better."
hiiamboris
18:19down this road eventually world of tools might become dominated by hammers with 3m long handle :)
BaronRK
18:43exactly

GiuseppeChillemi
20:47This year Amiga 37 will be organized in Germany. Will someone go there?

BaronRK
16:37I might join a vid conf feed a few times :)
gltewalt:matrix.org
18:36I despise xml
BaronRK
21:47What would you like to see instead?

greggirwin
00:54I think he was just having a bad XML day.
gltewalt:matrix.org
01:01something like YAML, but not broken and buggy
pekr
04:23JSON, our REN or Carls AltScript just everywhere. Not a tech wise, but even visually, tags are one of the worst invention ....
BaronRK
22:22@gltewalt:matrix.org I agree with you.

Summed up, less shit to write, easier to look at. Winner!

Small note, I will toot my own horn here, I prefer Carls MakeDoc over MarkDown, but I prefer my own QML (Qtask Markup Language) over both them.

Proof:

=H1 Overview
=b this text would be bold =. but this text is not because I just turned bold off with that equal + .
Or you could have =i had this in italics, and this in =b bold =b. and then pick up in italics and then turn it off with -.



rebolek
07:28I must say that I prefer MakeDoc/MarkDown over QML because they give you a visual clue. This \*bold\* and this is /italic/ is self explainable, unlike this is =b bold= and this is =i italic=. But I guess it’s a matter of prefference.
BaronRK
08:38You need a visual cue greater than =B ?
Try doing a table in Markdown, or MakeDoc.

Bullets in QML:

=\* One
=\* Two
=\* Three

The GOAL is to make the document LOOL like the final output.
But you may have forgotten, for people like you (PITAs) QML allowed for one to CHANGE the bloody markup itself to look like all the other shitty ones LOL

Thus, QML is a super set of them!
rebolek
09:26> for people like you (PITAs)

Is this really the level of the conversation we want to have?
09:28I just stated my opinion, I know it differs from yours but that’s really not a reason to name-calling, is it?
hiiamboris
09:28+1 for markdown and other circa 20 similar formats, for readability & simplicity
though I dislike lack of any standard among them
rebolek
09:35The lack of standard and a lot of ambigious rules is certainly a problem. Writing a parser for Markdown is unbelievably hard. Because there is no single Markdown, there’s a blogpost with some rules that don’t cover all situations. There’s [CommonMark](https://commonmark.org/) with 652 (!) tests, but there’s also [Standard Makdown](https://standardmarkdown.com/) and if anyone can point me to their test suite, it would be great.
hiiamboris
09:38among https://en.wikipedia.org/wiki/Lightweight_markup_language#Inline_span_syntax I think org-mode is the most readable flavor, though not so great for unix paths
BaronRK
13:32Psst. Bolek -> https://en.wikipedia.org/wiki/Poe%27s_law

rebolek
15:10OK :) I’m not feeling well so I have a hard time differentiate jokes.
BaronRK
18:23Good. Cuz, clearly, I think very highlight of you, and for that matter all of you here.

And, you, everywhere, and I ... are all PITAs! LOL

https://brkvw.medium.com/that-is-not-funny-ca7e0f0a52ea
greggirwin
20:27I can also confirm that @BaronRK thinks highly of you @rebolek. He and I have both failed to find something I wrote about working with him, so I'll have to think on it again, thanks to your spark. :^)

---

It's tricky because if you take anything he says seriously *to* you that is *about* you, in a normal conversation, you may be offended. As he has said himself "People feel important when they're offended, and I try to make people feel important." So never take him seriously...except... Except when it's not just chat that may lead to insights and connections and sharing information (like here), but *real* one-on-one dialogue. (language and culture can get in the way too, for me, so I may only make matter worse here; he can clarify as needed)

Real dialogue with Reichart isn't warm and fuzzy feel-good let's-hug-and-talk-it-out. It's a disinterested (but NOT *uninterested*) accounting of facts that, if considered objectively (no matter how personal in nature they may seem), lead to an inevitable semblance of agreement and understanding.

It ends up being fun, because interacting with him is different than doing so with almost anyone else. If it's not fun, you're doing it wrong. Once you "get it", which I admit I didn't for quite a while (we got along great from day one, but I didn't *get it* by a long stretch), it's very relaxing, because you *never* have to censor yourself, be on guard, worry about him getting upset, or being wrong. That doesn't mean you *aren't* wrong, and he'll tell you so, but that leads to learning so it's a win all around. You just have to not take anything personally...except...except when he's trying to help you as a person, like an AI that analyzes you and works as a feedback mechanism.

For example, if he says "Let's have a call.", I video call and say "Hey, nice to see you.", and he responds "You're being an asshole." It's not a personal attack, just him being efficient, saying it objectively, and setting a context for the conversation. He could say "I'd like to talk to you about how you're treating your team and community." but it sets a very different tone, seeming less important. Mind you, he's not going to use strong language like that unless I really am off the rails and he needs to get my attention about it because it's affecting other people.

His goal is to fix problems. Make things better. I know this now. But maybe I fire back with "No *you're* an asshole, asshole!". Now that's a personal attack, and an emotional response. To which he might calmly say "I didn't say you *were* an asshole, I said you were *being* one. Do you want to know why?" One is something you can fix pretty easily, the other not so much. And it goes both ways. If I tell him he's being an A-hole (I have to be really fired up to use the whole word), he'll lightheartedly say "What? Again? @#$%!" then seriously ask for the facts and issue any necessary apologies. *Real* A-holes never apologize.

Reichart isn't an asshole (objective use here, so the whole word is OK). It's an easy mistake to make, though, since he may look like one if you don't realize his face is just all puckered up because dealing with the rest of us is so painful for him. :^)*

* The smiley is there for everyone *except* Reichart.

gltewalt:matrix.org
01:36I only had occasional friction with vlad. That I can remember.

GiuseppeChillemi
20:14What is Red Doing?
20:14....
20:14RED Sues Nikon For Infringing On Its Video Compression Patents
https://yro.slashdot.org/story/22/05/27/2131245/red-sues-nikon-for-infringing-on-its-video-compression-patents?utm_source=feedly1.0mainlinkanon&utm_medium=feed

ne1uno
00:04https://en.wikipedia.org/wiki/RED_Digital_Cinema
gltewalt:matrix.org
01:55[Screenshot_20220526-154818_MeWe.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/hQYdiJBtMNsfTAmgtlmANdvM)
01:56[20220521_183032.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/cSHYgfbWZscPKMzIbAfIIugm)
greggirwin
02:02Both really funny @gltewalt:matrix.org :^)

gltewalt
22:23Should anyone want to reach out to me, try a direct message through matrix. Gitter lets me down. If you still have my number, use that @greggirwin if I don't respond in a timely manner.

BaronRK
14:55Quick meta-question here:

What is the #1 (or/and 2,3,4) feature(s) you wish this Gitter thread had?

Feel free to reply by branch this thread :)
greggirwin
17:20For Gitter in general, or specifically for threads?
BaronRK
18:27I would start with this thread, perhaps as options, and all of Gitter.
But the spirit of my question is about what we notice missing feature-wise here.
But this is a standing question for ALL chat systems.
But just knowing the #1 thing people miss the most here gives me insights into what matters to this group.

gltewalt:matrix.org
13:54I wish it had bots, and the ability to nuke each other
13:58Semantic search, I suppose.
Search is not great on any of these that I've tried.
GiuseppeChillemi
14:38I have found a meme which beautiful and let me think about Red
14:38[![FullStack.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/OFmf/thumb/FullStack.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/OFmf/FullStack.jpg)
hiiamboris
greggirwin
16:51[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/yC0t/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/yC0t/image.png)
16:53Image to go with thread on chat systems. Seems Gitter doesn't let you paste messages in threads. It doesn't tell you that won't work, you click into the thread, paste, and content shows up here. Good thing it wasn't my bank account info.
16:55When you click on a category, like Files, the right panel becomes the explorer for them, so you don't lose your place in chat.
hiiamboris
17:04Similar thing exists in Element.
gltewalt:matrix.org
19:21OT
If Docs were highly dependent on the Help system the markup could be generated from the contents in Help, and Docs updated automatically.
Of course that would force commented specs in the Source and probably be resisted.
19:21[Screenshot_20220603-131431_Samsung Notes.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/UzJOofFIuUHlhjMmIfFOUDVI)
greggirwin
20:11Finding a technical solution, that brings literate programming to wide use is a great goal. In the case of help, the historical goal has been "keep it short, because it's for console use and the content is in the code itself." There's no reason it can't be done with new approaches, but a fundamental issue has been the use of plain text files that don't require special tooling. That's great for many reasons, but limiting. What I hope we can do is find organizational systems for content (code, docs, tests, training, and more) that let us tie together long-lived content (e.g. plain text), with tools that make the whole richer. It sounds easy, and really shouldn't be that hard.

It ties into other projects in my sphere, a big one being something I call funcology, and things like my dict-doc experiment.
20:12[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/8DeJ/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/8DeJ/image.png)
gltewalt:matrix.org
20:21The very hard part would be find/match and replace across different nodes - If you had no anchors
20:27If every section of every document had a pin in it, then you wouldn't have to match anything, just replace that whole section in the other nodes.
Just a check to match section numbers, or labels
20:32The downstream from source model (literate programming) is probably the simplest, but requires embracing literate
20:37And Ive wondered in the past about Docs actually being Red code. Manipulate via parsing blocks or accessing via paths
20:38After all, it's a data exchange format right?
20:42Way too much coffee
greggirwin
21:02I want as much content as possible to be in Red format.

GiuseppeChillemi
00:18I have not created practical code but I have taken a lot of annotations about docs in code and how to manage it. Red being a data format is perfect for this task.
01:11@greggirwin
:point_up: [3 giugno 2022 18:49](https://gitter.im/red/chit-chat?at=629a3b9ae393a318063c7771)

Is that a Telegram client or Gitter client?
greggirwin
02:36Telegram.
GiuseppeChillemi
09:34However, about Doc in code, it is a pleasure to see we share the same vision and dreams!

GiuseppeChillemi
18:02I need an editor which displays the filenames of all my scripts in a directory. The list must be manually ordered and not alphabetically, then clicking on a file I open it in the current pane without any request to the user. It must be immediate. Is there such an editor with a Redbol dictionary?
18:04Note: it must display the custom ordered files list on a side of the current pane, as it would be a function list.
gltewalt
19:12@greggirwin s dictdoc if he adds a text editor pane to it
GiuseppeChillemi
20:28I have already created something for Rebol, the problem is the syntax highlighting
greggirwin
21:23@gltewalt we have to think about how a tool like DictDoc plays into an IDE that handles files and editing. Both have a main document area, but where an explorer pane on the left is normally a tree for files in a project or the FS, with a nav pane on the right for items (funcs, objects) found in the active file, I can't see in my head how the two fit together.
21:25@GiuseppeChillemi depending on the editor you use, it's possible that you could use call with the new file name and it would open it. I say *possible* because it works fine for something like Notepad where every file is in a new instance, but you want something that just adds a new file tab to an existing session. It's a good note for @toomasv, as he's done a basic notepad, and we should support extensions and use cases like this.
gltewalt:matrix.org
21:25If he only wants to see in one directory or non-alphabbetuced files, it would show on the left. Click file, and it shows in doc area
21:26Non alphabetical, even
greggirwin
21:27But there are already two lists on the left.
gltewalt:matrix.org
21:27I'm surprised the vscode doesn't have an option not to alphabetize,, but I didn't see it
21:28It couldn't be on list if a different pane was selected ?
21:28Different tab
21:28Gahh.... "one list"
greggirwin
21:28It sounds like @GiuseppeChillemi wants a lightweight "auto-project", where ordering can be controlled. That's different than sniffing the system, but there may be a way to put it all together.
21:29Mocking it up may be easier to show me what you're thinking, since I can't picture it just now.
gltewalt:matrix.org
21:30It may be that I'm the one that's not understanding exactly what he wants. Maybe he could just draw something?
21:38[Screenshot_20220606-153803_Samsung Notes.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/MYJNtsWCjoKvFoLafSROdUpz)
21:42If you populate little bases or something (show the name on the little widget) with the file names, and use "loose", then you can drag n drop the order you want. Then on-click, it gets the file text, blips it to the edit area
21:43But I could stand to be a little more clear on what he wants, and to then take a little more time to think about it
greggirwin
21:43That's what I thought you were thinking. I just don't know how to keep it simple and not confusing, but we do have to solve something like this for an IDE. @toomasv's table would let you drag and drop rows.
gltewalt:matrix.org
21:45It would be in the spirit of REBOL having so much packed together with REBOL/View
21:46Copy, errrr.. take inspirational cues from rebol/view for U.I.
greggirwin
21:47The R2 View desktop and IOS both use many small tools, which do one thing.
gltewalt:matrix.org
21:48From my memory it does more than one thing. IDE, networked homepages, etc
21:48Shell
21:50Not much stopping Red from having IDE, shell, chat, links to official pages or Red spaces, and docs all in one app
21:51Ports, and a bunch of work, that's all 😀
greggirwin
21:51But within the set of tools, you have an editor, EasyVID, EasyDraw, Word Browser, etc., and those are all separate. What we want to do is think about how a set of Red tools can work together as seamlessly as possible. e.g. DictDoc can be separate, pop up, and then...why did you pop it up? Does it know the source context (e.g. can it be a Help system itself)? How does it pass back data to the originator (I found an example and want to use it to hack against)?
gltewalt:matrix.org
21:54Well you wouldn't want it to pop-up on its own.
21:56Searching words and clicking has already been done by boris with his source code browser. GUI help, or Docs, could work the same
greggirwin
21:56Some people might. Many ways to skin this cat. Oberon had some nice things about it, but times were simpler then. I don't know if that model holds up for complex tools, or if the benefit there is that you can only add so many features before it becomes a mess, so you have to stop somewhere.
gltewalt:matrix.org
21:57Do I just imagine things too broadly? I know most things are easier said than done
greggirwin
21:57Ideas are pretty cheap, at least mine are. :^)
gltewalt:matrix.org
21:58Could be a check or radio for those that want it to pop-up
greggirwin
21:58We also have to remember that what's popular now may not be what's best. Many modern UIs seem like a mess of randomness to me.
21:59Before worrying about exactly *how* it should work, we need to think about *why* something is needed. What problem we are trying to solve.
22:00In this case, Giuseppe's need seems pretty simple, aside from needing syntax highlighting.
gltewalt:matrix.org
22:021) Solve the need to have a mixed bag of programs. I can't see getting around the web, but all of the other tools, I can see being replaced.
22:02Everything but the web and git
greggirwin
22:04You just described an OS. :^)
gltewalt:matrix.org
22:04As far as Giuseppe, yeah I got carried away thinking of other things.
22:04All the other tools that a programmer uses
GiuseppeChillemi
22:29[![CodingAmbient.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/P1vX/thumb/CodingAmbient.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/P1vX/CodingAmbient.png)
22:30Here it my UltraEdit Enviromnent
22:30On the right you will find a list of functions I have manually grouped moving them inside the source.
22:32Also I have used some tricks to have group names and divisors like creating fake function like:
---EXTRACTORS: does []
22:33This is a huge big file I divide using a script to create all functions as single files.
22:35To avoid this, I want to list all files like the list on the right, and then, when I click over one, it is LOADED in the editor, and then asked for saving when I click onto another
22:35This list must be manually grouped when I can put divisors.
22:37I can actually simulate this working using the current list component of RED, and it will be better when table-stylewill be ready.
22:38But the only thing that is actually impossible to have, is Syntax-Highlighting inside the RED Text Area Editor.
22:39This is what I need and the reason why I have asked for an existing editor with Red dictionary and a customizable list.
22:42@greggirwin
> ... I say possible because it works fine for something like Notepad where every file is in a new instance, but you want something that just adds a new file tab to an existing session. It's a good note for @toomasv, as he's done a basic notepad, and we should support extensions and use cases like this....

I do not want to open another file tab, I need to load te selected one in the current pane/area without any prompt.

23:16This is the actual environment I have created in Rebol to experiment with the idea. The missing syntaxt highlighting makes me prefeer using UltraEdit.
23:16[![RedbolIDE.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/03Rr/thumb/RedbolIDE.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/03Rr/RedbolIDE.png)
23:20I use it just for rapid function browsing in directories (upper part) and selected scripts (lower part), and also to browse online resources.
greggirwin
23:51Cool. This should be possible with something like my old SendKeys dialect. i.e. your dir pane is a Red app, which finds the UE window, docks to it, and pumps it keystrokes like a ghost user.
23:59Thanks for the clarifications, and showing us your working app @GiuseppeChillemi. :+1:

GiuseppeChillemi
00:04Yes, it is one of the ideas. The other is to find a ready made editor component and integrate it as style in Red, like the other widgets that have been implemented.
00:16(however, I can't read "sending keystrokes" while thinking we already had ARexx ports 30 years Ago)
greggirwin
03:58A modern version of ARexx ports is high on my feature list.
GiuseppeChillemi
06:42It should be on the features list of ultraedit, and all another modern software, and not only in your.
hiiamboris
11:56@BaronRK Btw, matrix integration is currently a valuable feature. Because by dividing and conquering we're not making the world any better for anyone. Well, maybe more a political feature atm than practical (until we make or see a good native matrix client). Unless you aim this chat system to be closed and tightly controlled ofc.

Here's also an idea one fellow shared to me: AI moderation. Is this user shitposting or is actually interesting to read for the others? It's more for open chat systems, where communities sprawl at random, than for work teams.

One word about defense too. In matrix it is currently possible to destroy about any room by sending a few millions of messages into it (will take days to sync them lol). Again, concern of open systems.
toomasv
13:24@GiuseppeChillemi Something [like this](https://github.com/toomasv/editor/blob/master/giuseppe.red), except syntax highlighting? Very basic, allows to organize files in list (drag around or use menu, add separators, remove items) and save/reuse the list (saved in current dir as %dir-scripts.red, may be edited manually). Resize, change sizes of list and content-area by dragging on separator bar, change font size by ctrl-wheeling. Just thrown together, not much tested, be careful not to overwrite your files.
GiuseppeChillemi
14:00Yes, this with syntax highlighting and opening the file at position to allow restarting the editing from a precise point, or searching for a function inside a file and opening it at the function's position.
14:01However, I am amazed how fast you are into coding solutions. Great!
zentrog:matrix.org
16:09For supporting those language features, I think it makes a lot of sense to base it on https://github.com/bitbegin/redlangserver since that work can be applied to all text editors with LSP support, and it already has a lot of features implemented
GiuseppeChillemi
16:41@zentrog:matrix.org Nice suggestion!
16:42@hiiamboris I remember you or someone else, having written R/S code to position the cursor on line of a text area
hiiamboris
16:44Yeah, Toomas can share
GiuseppeChillemi
16:46I see the lexer included too, the old one. https://github.com/bitbegin/redlangserver/blob/master/lexer.red
16:47@toomasv Do you have a to the repositioning code mentioned here: https://gitter.im/red/chit-chat?at=629f7fd506a77e1e18757f7a
17:39* link
greggirwin
18:31Really nice @toomasv. :+1:
18:31Also, agreed on the value of LSP.
18:32The positioning code is part of DiaGrammar, but I've given Toomas permission to share it publicly.
toomasv
18:44Thanks, @greggirwin ! @GiuseppeChillemi I'll look for it tomorrow. Something I put already in [gist](https://gist.github.com/toomasv/0085fd7c61e53dc9cedb45ae98f777e9) some time ago.

GiuseppeChillemi
15:25Let's do this other experience in my life: I got Covid. 39,5 Celsius as first day temperature.
hiiamboris
15:46Sure it's covid?
GiuseppeChillemi
15:55Yes, my doctor has done a Covid Swab.
greggirwin
15:55Sorry to hear that @GiuseppeChillemi. Take care of yourself.
GiuseppeChillemi
15:56You feel like every part of you is broken.
15:57Thank you Gregg.
hiiamboris
15:59Best of luck then
toomasv
16:32I had it in January. Wish you all the best!
Respectech
17:32I also had it in January. Rest and take care of yourself. If you have someone who can help take care of you, that's even better.
17:33My whole family had it at the same time, so we took care of each other.
ldci
18:40@GiuseppeChillemi all the best for you
toomasv
20:10@GiuseppeChillemi For consolation:
[![giuseppes-RT](https://toomasv.red/images/Editors/giuseppes-RT.gif)](https://toomasv.red/images/Editors/giuseppes-RT.gif)
20:12Partly resurrected my old syntax-highlighter.
GiuseppeChillemi
20:26OMG, I am feeling better each time the video restarts. It's a miracle!!!
20:41@Respectech it's nice to have a family which helps but I have asked them the opposite: they were deleting a flight to my sister's daughter christening tomorrow but I have told them to keep the flight as it's an event which happens once in a lifetime. :^)
20:42@ldci @hiiamboris thank you.
hiiamboris
20:58how are you going to board a flight with covid though?
Respectech
21:34I think he is saying his family will go but he will stay. I'm assuming they don't have covid right now.
hiiamboris
GiuseppeChillemi
22:02We already were in different houses but they were planning to cancel their flight to remain here and support me.
greggirwin
22:35We will support you remotely. If we see you online we'll tell you to go back to bed. :^)

GiuseppeChillemi
06:30Great support, as always!

GiuseppeChillemi
22:37Update on Covid: the temperature is back to normal level but now I have totally lost: sense of smell, taste and appetite. The last one is a gift for my dieting needs! 😁

greggirwin
00:04There's a silver lining in that cloud. :^)

henrikmk
15:35I was looking at the round/to issue #5151 in github, and was thinking this would be an excellent issue to document in a blog post, so that people like me could get up to speed on how to work with Red/System.
15:37Step 1 would be to explain how the current function works. Step 2 would be to incorporate new functionality, the do's and don'ts. Step 3 would be to teach the user to build Red with the new ROUND/TO functionality.
15:38Anyway, just an idea.
greggirwin
15:41:+1:

GiuseppeChillemi
07:18@henrikmk nice idea. Red has also important historical moments that could be used to learn how to implement things and usually they are Git Merge points. Money datatype merging is one of this: you could see how adding a DT has is implemented.

GiuseppeChillemi
23:04Covid Gone, I have just to recover some of my Smell&Taste senses.
greggirwin
23:18Good news! Bad news on the taste and smell, as I imagine your food being wonderful in both...senes.

hiiamboris
07:13My sis never recovered the smell I think, not fully
GiuseppeChillemi
13:35I have read there are specific exercises to stimulate the brain to recover the smell and taste.
hiiamboris
14:48Share pls if they help :)
GiuseppeChillemi
18:21https://news.llu.edu/health-wellness/guide-navigating-smell-loss-recovery-after-covid-19-infection
18:24For your own knowledge, here is some research on the topic.
18:24https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8577770/
hiiamboris
18:33thanks
GiuseppeChillemi
22:22You are welcome, I hope your sister will be better in his senses.

hiiamboris
08:12Haven't checked in a while. Says already restored (but it's been 2 years or so).
08:12Good to know brain relearns this.

GiuseppeChillemi
14:03Today, entering into my car
14:03[![temperature.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/ot8e/thumb/temperature.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/ot8e/temperature.jpg)
14:04I think I have seen a camel outside but I am not 100% sure.
toomasv
Respectech
15:43It gets to 47C in the outside air here usually one or more days every summer, usually in August. I am wondering when the camels will show up.

ne1uno
03:37https://www.newsbreak.com/news/2657086055817/it-s-official-these-are-the-most-popular-and-lucrative-programming-languages-right-now
03:37https://survey.stackoverflow.co/2022/#section-top-paying-technologies-top-paying-technologies
03:38from their recent survey of 73k people, probably not a broad sample
greggirwin
05:23I noted elsewhere that my main issue is that there's no weighting, so "most loved" may have only 500 votes while things ranked lower may have 25K.

GiuseppeChillemi
01:43Coders know what it means "I will go to bed be only when I will find the bug". about twenty to 4, solved! Now I can sleep
greggirwin

gltewalt
23:10What did I miss?

greggirwin
04:38Nothing yet.

BaronRK
19:42Strange request:

- I have an MP4 video (1 TV show pilot)
- I'd like to post it somewhere where it will always be available.
- There is a small (very small) chance the Production company would want it pulled down.
- Ideally thus it would be located where that is less possible for them to even make the request.

Ideas?

hiiamboris
19:59Upload to IPFS :)
20:02Or share in torrents.
20:03Or upload to a few PeerTube nodes that are located in less law concerned regions.
20:04Who needs just a pilot show though?
gltewalt
21:06He does, because he's probably in it, or involved with it
21:09Always be available to you? iCloud. Apple usually doesn't cooperate with anybody.
21:10Depending on the size - Email to yourself. Poor mans cloud .
21:11Available to be accessed by anybody? Boris suggestion
hiiamboris
21:50well.. [1](https://d.tube) if you (likely) share [2](https://web3.storage/pricing/) [3](https://docs.filebase.com/billing-and-pricing/pricing-model) if you don't

BaronRK
05:23no.

LOL

I'm looking for something better. :)
gltewalt
15:54Boris check your privates

GiuseppeChillemi
21:16REQ: I would like to read Carl's book, X-Internet about Internet Operating System. Is there someone which has a copy for sale?
greggirwin
23:33I've never even heard of it.
GiuseppeChillemi
23:34@greggirwin This one: https://books.google.it/books/about/X_Internet.html?id=qc9qvXhpLA0C&redir_esc=y
23:36But maybe I am wrong.
greggirwin
23:36Carl isn't the author, and it doesn't seem to have anything to do with his vision.
GiuseppeChillemi
23:40You are right. It uses the same "X-Internet" definition, Carl has used for IOS.
23:40But it isn't from Carl.
23:40I have always thought it was!

fergus4
15:18RE: New Roadmap. I'm a little disapointed with red no longer compiling red code but I guess only for the cool factor and not a practical one: I would probably not see the speed difference....and there is always JIT down the road. I agree with some sentiment posted that v0.7 with i/o is a good place to leave pre 1.0 and full stream to 1.0. That time line kills me though...but I guess its a lot of work to remove rebol from the tool chain.
15:18The Web backend is exciting. Would like to hear more about it....
GiuseppeChillemi
16:12I don't know the side effect of not compiling but I know it was an huge burden, as Doc has admitted. Let's go with Rebol encap way of doing. At the same time I know that all the experience made over the compiler, has given to the team a great knowledge that will help in the future.
16:22> I agree with some sentiment posted that v0.7 with i/o is a good place to leave

Yes, we have everything to be productive. I miss only multi-monitor support and **drag&drop** (the latter is very important for anyone)

abdllhygt
22:47I want to make a dictionary app.
22:48is it good that keeping all strings in an array?
22:51for example an array with 50k words
22:51I worry if I get a performance problem
greggirwin
23:20Since it will be very easy to prototype, it's a great way to learn and see what performance you get with various operations, memory consumption, etc. Then help others by sharing your findings.

GalenIvanov
07:20@abdllhygt I'm looking forward to seeing you dictionary app! The choice of data structures is one of the most important questions in software development.
Will your dictionary be two-way (for example Turkish -> English and English -> Turkish)? Most probably each word will have several possible translations in the target language - how will you separate them in an array (list, block)?
Many years ago I created a small program (in plain C) to help me practice the new English words I've been encountering. It has a simple CRUD functionality - to Create a word (add an English word to my dictionary along with several Bulgarian words (phrases) with could be transleted to), Read a word (show the translations), Update (edit the word or update the translations) and Delete. The most useful feauture was the "Exam" mode, in which the program was testing my knowledge - it asked me to translate from English to Bulgarian or from Bulgarian to English, keeping track of the words I have mistaken and showing them in the next sessions.
It was called Lexam (Lexical EXAM) :).
It took me many hours to code it and to tune the Windows messaging loop. I'm sure I can now write it in Red in a small fraction of that time.
GiuseppeChillemi
11:58
vocabulary: ["wordlang1"  "wordlang2" ["translation1" "translation2"] ["translation1" "translation2"]]


Use the following loop: get the row

foreach [languageA languageA translations1 translations2]  vocabulary [
  ... your code here ...
]

12:09With this structure, uou could also use find/skip to find the word with this technique:

To search for a word in language1
pos: find/skip vocabulary word 4; where 4 is the record size
if not none? pos [translations: pick pos 2]


To search for a word in language1
pos: find/skip next vocabulary word 4; where 4 is the record size
if not none? pos [translations: pick pos 2] ;

you need next because find always work on the first column, so you need to resposition the record start on language2.
Oldes
12:47Sorry, but if one don't want to use a database and want to do it in-memory, why just not used map!?
vocabulary: #(
    "good" ["dobrý" "správný"]
    "bad" ["špatný" "ošklivý"]
)
12:50To have it more memory efficient, you would probably need to have a table of all known words, and use their indexes (unique ids) instead of using strings in the _vocabulary_ map and its translation blocks. In the same way how you would like to setup the database, which you should use anyway.
GiuseppeChillemi
12:52He has asked for a 2 ways system, so you need to have the translated word in the same record.
Oldes
12:52Actually you would not need the map at all and have just a hash! with known words and 2 blocks for translations and strings.
12:56Sorry, I don't get your 2 way system.. I'm pretty sure that you want 2 vocabularies (for each direction) reusing same words.
GiuseppeChillemi
12:58He wants [word-language1 word-language2] correspondance, and search either on lang1 column and get lang2 and vice versa.
Oldes
12:58Your traversion of pure block would be pretty inefficient when it gets bigger.
12:58But that is not my problem... I just described what I would probably use.
GiuseppeChillemi
12:59You are right but this could be addressed later when he will reach a giant dimension
Oldes
13:01:point_up: [July 21, 2022 12:47 AM](https://gitter.im/red/chit-chat?at=62d885ffab6b634f7359db0c)
> I worry if I get a performance problem

Yes.. there will be a performance problem when used just a block.
GiuseppeChillemi
13:11Haven't read this, I would be curious to see how many records he needs to handle
Oldes
13:26http://dict.org/bin/Dict?Form=Dict4
GiuseppeChillemi
13:33Nice link!
gltewalt:matrix.org
21:38@hiiamboris: look for an element message. Gitter app doesn't allow for sharing local images

abdllhygt
20:05Hi, thank you for the answers, I had no internet till now.
20:06since friday evening
20:07If I decide to make an array dict, I can publish the results here

BaronRK
18:17Strange little question

I once heard a German use a word 'wasserkontakt' in a strange way, to mean 'you need to jiggle it to make it work.'

This is not what it normally means (it just means to contact with water).

Does anyone know (in any language) a word that carries this meaning.

Like when you have to jiggle the handle of a toilet to make it stop running.

It is such a wonderful concept, so to have a single word (in any language) would be so useful to have.

https://www.prolific.com/files.cgi/NT-FlyingCar-2020.jpg?tab=get&uuid=911BTYJQ468UE2CRRDFEVQ99V4QT&filename=NT-FlyingCar-2020.jpg
gurzgri
19:20You may have got that wrong, it's not "Wasserkontakt" in german, but "Wackelkontakt", which simply means *loose contact*.
zentrog:matrix.org
19:48How about the term "fiddly"?
BaronRK
20:27I heard it when I was about 11 on the Rhine river (lit. on a boat) in 1971!
Agreed, I got it wrong :) Very cool. Thank you. ( I do now wonder if it was a play on words back then.

Is 'wackelkontakt' in fact used the way I describe?
greggirwin
20:41It's funny, in this context, that "wackel" sounds close to "Whack it" in English.
Respectech
20:42"wackel" is German for "wiggle". Ask one of these guys what jello is called in German. :-)
BaronRK
20:52That one I know LOL

(keep in mind though, my German is only as good as my short time there as a child)

Respectech
22:11In my mom's hometown (in Rheinland-Pfalz) they called Jello Wackelisch-Peter. Literally translated, it means "Wobbly Peter". I don't know how Peter got in there, but he did somehow...
BaronRK
23:17Indeed, and pumpernickel means the Devil's [Ol'Nick's] Fart!

gurzgri
23:42Well, the meaning of „Wackelkontakt“ is somewhat close to what you described, but it‘s not so much an electric contact you need to wiggle/shake to make it work (which often helps, but provides no permanent solution). It‘s a contact that isn‘t fastened enough to be reliable, to make it work you‘ll have to fasten it.
BaronRK
23:45I suspect it is so close it can be used. Although there could always be an even better word. We need it in our society (and thank you).

So much product out there requires 'overhead' to make it work. Always tweaking and messing with simple things, very annoying.

zentrog:matrix.org
18:15@greggirwin: you might find [this discussion](https://changelog.com/gotime/242) on dependency management interesting, since I know you've been researching in that area
greggirwin
18:32Thanks. :+1:

loza:matrix.org
07:02„we don’t have the next language yet. It needs to be a minimal capability-based actor language that is designed specifically for secure distributed programming“

https://devclass.com/2022/08/04/retire_javascript_says-json-creator-douglas-crockford/
pekr
08:00We should remind him about Redbol then :-)
GiuseppeChillemi
10:06Time for Carl's AltScript
rebolek
10:07Is there any progress on it?
GiuseppeChillemi
10:08No progress :(
10:10There is an interesting comment from Ladislav here at the end:

https://altscript.com/?p=116#comment-1126

With a link on the reason why starting counting from 0 is better than 1 and a reference for GO Slices as source of inspiration.
10:11https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html
zentrog:matrix.org
20:36It is interesting, but it seems like the arguments are mainly about what makes for the cleanest 'for' loop. When that's one of the bread-and-butter constructs, it makes sense that it's a pretty important concern for a language. But when going for expressiveness, for loops should be avoided wherever possible. That being said, I think slices could be a pretty interesting feature for Red, and I'm not sure how different indexing would affect that
GiuseppeChillemi
21:18I remember a Rebol3 blog post on slices
Oldes
21:29@GiuseppeChillemi any link?
GiuseppeChillemi
22:17I remember @pekr posting a link to this blog post but I am not finding it

gltewalt
03:34I was really surprised at the mileage I got out of the ability to increment strings in the past with rubys .succ or .succ!. (The latter modifies the string)
I miss a built in function for that
03:34
irb(main):005:0> "baz".succ
=> "bba"

03:35Or decrement
koba-yu
13:00I need to use Python for my job recently, to write codes with AWS SDK. What I have to do first is running install-command Python and related tools, and meditate until that process is complete…
13:04and I cannot stop feeling Red is simpler than Python…Hope I can contribute somehow to Red’s popularity
Oldes
16:22@gltewalt I'm looking at the Ruby succ example and I don't understand what is does. It really is not intuitive.
gltewalt:matrix.org
17:12My example, or the docs?
17:12https://www.rubydoc.info/stdlib/core/2.0.0/String:succ
hiiamboris
17:37basically, a 26-radix number increment
17:37not sure why would anyone need it
17:38for rot13 code golf?
17:39@koba-yu python isn't half as bad as cloud SDKs ;)
greggirwin
18:37@gltewalt:matrix.org I wrote a version of succ for R2, and used it a number of times. @hiiamboris sequential IDs are pretty useful.

https://gist.github.com/greggirwin/681fc4590314ca5e8401714abdf8c0b4
18:40I'm also aligned with the power of capabilities and distributed system needs. Structured concurrency comes into play as well. This all came up again when I started looking into module and package design, where security is paramount.
gltewalt:matrix.org
23:30Well it came in handy for "dectypting" files of phone numbers that had been hashed wuth MD5.
It was known to be phone numbers, so didn't need to step through all the options. Feed a string of numbers to md5, compare with hash, if match then that's the number, if not, increment the last character by 1.
23:31One example of what I found it useful for.
23:32It doesn't sound very useful, but it came in handy more than I thought that it would
23:33These days you can probably web search hashes, but it was back in like... 2004
23:332005 maybe

Respectech
22:09I was looking for a slideshow app for Linux that would read all the files within a directory (including subdirectories) and play those files at random. Our family server has close to 100,000 pictures on it, so I also wanted it to start immediately and play the slideshow while loading the additional pictures, while taking into account the EXIF orientation data and creation date. I couldn't find anything, so I wrote one in R2/View (still not as comfortable with Red/View, plus I would have had to write the exif library binding as I don't think Red has one yet).

Now that I'm done with it, I thought I'd post it in Rebol.org, but I forgot my password and my email account that I created my Rebol.org account with is no longer in use. How do I reset my account on Rebol.org?
22:10Incidentally, the slideshow program should also work with Windows as well, although I haven't tested it yet.
22:23(Hmm. Now that I've let it run for a long time, R2/View died with a no-memory error. I'm running system/stats now to see if there is a memory leak. So far, it seems like it is behaving correctly.)
greggirwin
22:29Today I'd put it in a repo on github, rather than rebol.org, which is really just historical at this point.
Respectech
22:47I should just bite the bullet and actually use github. I've never taken the time to learn how to manage a repository, although I use the repositories of others on a regular basis.

henrikmk
13:20STATS can't always tell you the whole story. Keep an eye on the R2 process from the task manager as well.

hiiamboris
09:33Funny, 1337@dmail.ai address is [still available for $200 at DMail](https://dmail.ai/presale). Either no hackers paying attention or they wouldn't risk having such a simple address for spammers will surely target it ;)
GiuseppeChillemi
16:18Does anyone know the code editor for R3 mentioned here? http://www.rebol.com/article/0407.html
I think it could be ported to VID or VID/S
Respectech
16:45Just an update on my slideshow program. After making some more enhancements to it, it has been running for close to 2 days now without any issues. Memory utilization is around 100-150MB depending on the size of the image it is currently displaying.
hiiamboris
16:58:+1:
dsunanda
18:12@Respectech You must be doing something magic! I have a slideshow-type app that displays (mainly) JPGs. After about 700 (shown one at a time), it runs out of memory and crashes. That's around 3.5GB of memory at time of crash....And RECYCLE does not help.
(The same app has no problem with DRAW images).

BaronRK
00:35> I should just bite the bullet and actually use github.

Indeed, I did recently (for posting source to Prolific again), I hope to add more this year.

Quick note, I will be in Jakarta for a while starting in Sep, should anyone be around.
Respectech
00:54@dsunanda I'm using Rebol2 just in case you think I'm doing this in Red. Anyway, now it has been running for 2.1 days and is consuming 150-200MB. So there is a memory leak, but it seems it will take a while to get too big for 32-bit memory.
dsunanda
05:34@Respectech Sticking with R2 for anything to do with images is a great idea!
Respectech
17:15The slideshow test is still running and is consuming 125-175MB, so it seems the memory use isn't going up. For the record, R2 is storing the paths of over 80,000 pictures and randomly changing pictures every 5 seconds. I think it is about ready to be made into a photo-frame using a single board computer as the display driver.
ldci
17:31@Respectech. Have a look here: https://www.digicamsoft.com/index.html. As far I remenber that was created with Rebol R2 :)
greggirwin
18:24> I think it is about ready to be made into a photo-frame using a single board computer as the display driver.

I've thought about doing this myself, but could also be done on a tablet-style device. My Mom has an Air Frame, so people can send her pictures via email, and she loves it. My use case was for photographers, who could offer it as a product/service along with hard-copy prints.
GiuseppeChillemi
19:00They are all nice ideas. Red + GC + Animations, like fade in/fade out/scroll/merge, could make it a great App
greggirwin
19:06For photographers, I also thought it could be something the client takes home, so they can review a their leisure, then select pics they want printed, see previews of those touched up, etc.
19:08I just don't know if there's enough of a market for that kind of thing anymore, given the quality of phone cams and software that helps people take better pictures. Professional photographers are an endangered species.
Respectech
21:42@ldci Did you create the software for Digicamsoft?
21:44I'm thinking about using the SBC as the photo driver because that way you can pair any monitor you want with the device and have all your photos displayed on it. Everything from a 5" screen on your desktop to a huge TV on the wall.
greggirwin
22:48I think Gregory Percheret was DigicamSoft.

ldci
04:20@Respectech This a code written by Gregory Pecheret:)
GiuseppeChillemi
20:31I have forked PulseSMS, to have a copy of this incredible Android SMS management software. It has been open source for 7 months, then acquired from a company and the closed again.
Here is the gem for anyone interested: https://github.com/GiuseppeChillemi/pulse-sms-android-preservation

Respectech
15:54Just an update on my R2 slideshow program. It's been running for 5.5 days nonstop, switching pictures every 5 seconds, consuming 150-200MB RAM. Seems pretty stable.
GiuseppeChillemi
16:01StableGC
zentrog:matrix.org
17:47Sounds like a great test case! Very nice 👍
BaronRK
20:02This seems like a good group to ask this question of:

- When you are looking for a product (software, hardware, etc.), how do you go about finding it?

This might seem like a simple question that has answers like:

- I type in search words and just hunt around for it on Google.

Yeah, but, as anyone smart knows, that is of course where we start, but that often fails.

We are often looking for the philosophy of a tool applied in a way not described by default. Or more so, looking for something that DOESN'T do something STUPID.

I will branch this message and post a real example.
hiiamboris
20:06I download all alternatives I can find (and that are not obviously crap) and evaluate one by one.
ne1uno
20:12I want to know what I usually find out in the first half hour of using a product. I know there will be some buyers remorse, but what exactly?

gltewalt:matrix.org
16:53My philosophy for finding the "best" software is laziness.
How long to download? How long to set up? How many steps to set up? Are there a bunch of glitches and crashes?
16:54Minimal necessary effort to get something and Do something that I want or need to do, with no roadblocks
16:56Two reasons I looked into the redbol world - read example on websites, and Rebol tryout without even having to install anything

planetsizecpu
08:19
- I type in search words and just hunt around for it on Google.
>
This exactly what I do, then I try to find the mainstream on this results and test if it fits my needs. To be in the mainstream is important for resilience imo.
>
zentrog:matrix.org
20:45Something I do sometimes after finding a few options is to type “app vs “ and see what the Google autocomplete options are for a few different apps. I think it gives some sense of popularity

Respectech
20:45I've been doing a bit of looking into SXMO (Simple X Mobile) operating system for the PinePhone (Pro). If Red was used for something like this, it could be a very impressive alternative operating system for Linux phones, and I think could cause Red to become popular with a certain set of users. https://sxmo.org/
21:18I think what SXMO shows us is that there are other mobile paradigms waiting to be invented that may be more useful for at least a subset of the user community.

hiiamboris
10:32Out of curiosity I downloaded stylesheets of github, gitlab and codeberg:
They're all about 0.8-1.0MB in size, and 35-40k LOC (that's 5 times bigger than whole Spaces source).
Wow! The amount of effort humans can put into useless things is spectacular.
And I wonder, how do web coders find their way in all that mess?
rebolek
10:52stack overflow
hiiamboris
10:57But in their *own* messy CSS?
rebolek
10:58¯\_(ツ)_/¯
hiiamboris
rebolek
10:59I guess they use preprocessors mostly
hiiamboris
11:08I agree stack overflow shines on special case solutions in a field without any general design. For example, there is over 4k questions related to Autohotkey in there, almost nearing the popularity of general purpose languages like OCaml or Julia, even though AHK is a tiniest DSL, it's such an absurd mess of unrelated things stacked on top of each other that no surprise nobody can understand it's syntax.
GiuseppeChillemi
12:23I just think of the amount computation time it takes to process such style. Multiply it with the number of computer that will process that page, and you will see how much a single page could make its little negative contribution in draining our world energetic resources.
hiiamboris
12:26Indeed browsers are battery killers. I wish they mined some coin for that at least :laughing:
GiuseppeChillemi
12:28Too many technologies stacked.
12:28We should go back to the origins.
zentrog:matrix.org
15:06So much of them is required too though. Occasionally some company decides to build a new one, but almost always throws their hands up and integrates chromium. To fix it, you’d have to go back and replace the whole web
hiiamboris
15:17If there will exist a properly designed for humans web stack, companies will migrate their sites to it to cut development and maintaining costs by orders of magnitude. On the other hand current browser kings just can't let that happen, or any coder will be able to write his own browser ;) They made a lot over the years to mitigate this danger..
pekr
16:13And I thought that with just few pages of CSS we are about to mimick Android material design for Spaces :-)
greggirwin
19:31The lesson from AutoHotKey, for me, is that people use it...fanatically.
GiuseppeChillemi
20:28Red and Vid are the solution. Transmitting and executing Vid blocks that will run on a protected system context are the future. The path created by Carl is the way to go.
zentrog:matrix.org
22:16I use AutoHotkey, and I’m not surprised there are a lot of questions about it. It’s very much a programming-by-example tool

isqwy
15:24how about use Red to write a App like RoamResearch?
hiiamboris
15:32Android wasn't touched in years and is broken IIUC.
GiuseppeChillemi
15:39I need a little help. I have an Android audio recording app, that needs an external file manager to save files as Android file destination. During the save process, the file date is set to the actual one and not to the recording date, so I loose the date/time information! In each file name I have this kind of hexadecimal code, which seems to me date/time information (maybe it's just my hope!):
5e0b7202-9e3c-4e97-974c-9451d2baa701
15:39Is someone able to understand what it is and how to convert it to date/time if such info?
hiiamboris
15:40it's a GUID
GiuseppeChillemi
15:40So, no luck
hiiamboris
15:40yeah
GiuseppeChillemi
15:41Thnk you

GiuseppeChillemi
10:59About Antivirus Positives:

https://blog.nirsoft.net/2009/05/17/antivirus-companies-cause-a-big-headache-to-small-developers/
11:00The problem has been here since the start of the last 2 decades (take a look at the date!)
hiiamboris
11:03Yeah and now Chrome too

gltewalt:matrix.org
15:19https://futurism.com/the-byte/cyborg-cockroaches-remote-controlled
hiiamboris
15:48Next step: mutate them into radroaches to mount more massive equipment!

abdllhygt
21:06are you all ok with removing 32bit?
greggirwin
22:21No. 64-bit will be added, but 32-bit support will not be removed for some time.

GiuseppeChillemi
18:02Free books bundle for the international programmers day
18:03https://www.fanatical.com/en/bundle/international-day-of-the-programmer-free-giveaway?utm_source=Fanatical%20Newsletter&utm_campaign=International%20Day%20of%20the%20Programmer%20Giveaway%20Launch%20-%20September%2022&utm_medium=email

GalenIvanov
09:14@GiuseppeChillemi Thanks for sharing the free books link!
hiiamboris
09:52Looks like Unity promoting itself.
GiuseppeChillemi
13:34@GalenIvanov You are Welcome. I am an avid purchaser of bundles and I find something free from time to time. Even games are there but I don't know if the community would like me writing here those links

GiuseppeChillemi
16:23Does someone know this GEM? I have just discovered it in some American FB Groups
https://archive.org/details/Koyaanisqatsi_201711
16:23(On youtube exist a reverse version too which is nice to view)
hiiamboris
16:25It's a trilogy, Koyaanisqatsi, Powaqqatsi, Naqoyqatsi. Great one.
16:27If you're into this kind of movies, I'd also highly recommend [Human](https://www.imdb.com/title/tt3327994) (there exists a 4+hour version) and [Baraka](https://www.imdb.com/title/tt0103767)
16:35[Ashes and Snow](https://www.imdb.com/title/tt0493393) maybe too, but a bit of a stretch.
GiuseppeChillemi
17:08I will take a look at it. Thank you!
greggirwin
17:40I will check out Human. [Salt of the Earth](https://en.wikipedia.org/wiki/The_Salt_of_the_Earth_(2014_film)) is wonderful. Koyaanisqatsi was the first film I saw scored by Philip Glass. I still listen to a few tracks from his Glassworks album at times, while working or just to relax.
GiuseppeChillemi
17:42I have just discovered it: I have seen 9 minute of the film ending and it has taken my spirit!
hiiamboris
17:45> Salt of the Earth is wonderful

Thanks :+1: missed this one.
GiuseppeChillemi
18:51Some friends have just suggested "NOMANLAND" , I can't link, I am on mobile.
hiiamboris
18:57[this](https://www.imdb.com/title/tt9770150/)?
greggirwin
19:17Nomadland is well done.
GiuseppeChillemi
19:26@hiiamboris my friends confirm it is.

red-adi
19:10Hi guys, recently I came across an article in an IT magazine about "green programming". A group of Portuguese scientists had tried to investigate 27 programming languages according to their energy efficiency. They published the result in a study.
https://haslab.github.io/SAFER/scp21.pdf

They have a website
https://sites.google.com/view/energy-efficiency-languages/home
and a repository on Github that contains the codes for each programming language.
https://github.com/greensoftwarelab/Energy-Languages

How would RED perform, what do you think?
Oldes
19:14I would expect to have Red more in red numbers instead of green as there is no optimization available so far.
hiiamboris
19:15But Red optimizes human effort.
19:16100 software engineers vs 1 Red engineer and 99 potential green activists ;)
greggirwin
21:59Energy use is really a big picture question, and very context dependent. Still interesting, but without considering more aspects, does it really tell us much more than common sense? I admit I was still half surprised to see how well Lisp fared.

pekr
05:31I am fan of Lisa Gerrard (Dead Can Dance, got famous for movie scores with Hanz Zimmer). I was amazed by the Baraka non-narrative movie document - https://en.wikipedia.org/wiki/Baraka_(film)

gltewalt:matrix.org
01:12Where does the line intersect for energy use? A language that creates applications that tickle a cpu more but the host body (pc) doesn't sit on for a week in order to create those applications, vs apps that are very cpu efficient, but the machine is on 24/7 for a week ?

TimeSlip
04:41Hello all, I'm thinking of taking an app I wrote in R2 and making it web-based. Its GUI relies on Henrik's amazing Vid-Extension-Kit's dataview tables and custom requesters. The plan, until I can do this in red is to use Cheyenne's rsp. I'm looking for a frontend framework that can handle the tables. I'm somewhat partial to UIKit but honestly I haven't spent much time in this world outside of my own CSS and good old html. Any thoughts on what might be a good Vid-Ext replacement? Thank you all as always. BTW, the app is the tool I use to keep track of my students with lots of contextualized notes, data parsing, reports, etc... Just a frontend for a Mysql db specialized for the kind of work I do.
GiuseppeChillemi
07:02I thought I were the only one still using VEK datagrid.
TimeSlip
15:37@GiuseppeChillemi Nope, it's my bread and butter. :-) Frankly, I couldn't do 90% of the projects I do without it.
GiuseppeChillemi
19:58@TimeSlip Do you know we actually have a Datagrid Style in Red? It actually lacks writing features but has many others.

BaronRK
21:19= Filename conflict =

So there is a nasty core philosophical bug across OSs. (DOS)

Summed up: Linux (Mac) is case sensitive, and Windows is not.

So you can have a file called R.red and r.red on your Linux machine, but when you sync with Windows, what should Windows do here since it will see these as the same file?

//#LowestCommonDenominator

DropBox, Git, ODrive, GoogleDrive all have to be dealing with this.

My best solution is:

1. A Linux user uploads these two files to a repository
2. When a Windows person DL the two files, one of the files will be renamed as 'r (1).red' (This is what Windows and Google Drive do by default).
3. If synced from Windows, then... the respository will now have 3 files: R.red, r.red, and r (1).red.
4. The person that creates this problem (Linus or Mac user) is the one that needs to fix this.

Any better ideas?


hiiamboris
21:22Try https://www.google.com/search?q=enable+case+sensitivity+ntfs
21:23If linux is yours, you can also mount it's volumes using WinFsp (so no need to sync)
21:25But if Windows is not yours, you have to do smth on the linux side.
21:27Ext4 supports case folding as I read.
BaronRK
21:57Indeed.

All said though, again, if one is on Linux (or Mac they have to play nice for Window's sake (assuming someone with Windows will be involved on a project).

hiiamboris
22:05Do they upload to your server though peer to peer? if server is yours, you could enforce case folding and even forbid many characters on it.

TimeSlip
01:28 @GiuseppeChillemi Yes, I know. The main reason I am making it web-based is to make it more accessible and hopefully easier to maintain for my potential clients. Gracie.
BaronRK
06:12Oh, we have 100% control, that is not the problem.

This is simply a social issue because of Windows.
Windows is a POS as we agree, and they cause the problem here.

We just have to decide what is the least annoying way to deal with it.

And adding a '(n)' seems the least shitty.



06:12James, making a thing Web, yup, all said, also a lowest common denom of choices. You're making the right one.

hiiamboris
07:02But then it's not linux users who are dealing with this :)
BaronRK
08:09Au contraire mon cheri!

Every Linux user is just one click away from from Windows user complaining to them :)


hiiamboris
08:43Haha
08:57Still, I think sanitizing filenames server-side automatically will bring the problem one step closer to linux users.
08:57Windows ones won't even get involved.
08:59For your example that means telling linux user that R.red already exists.
09:00Drawback is, you have to deal with it even with no windows users involved ;)
pekr
09:11If you know, that r(1).red is lower or upper case on a certain system / app, you can rename it on the target system automatically ...
riprwwa
09:50What's a good use case for having files where the only difference is the casing?
greggirwin
15:46@riprwwa same as for case sensitive languages, it's faster and easier for machines to process, and means many more "slots" can be used (hence many more possible names for a given number of letters), at the expense of how humans think. Case insensitivity does mean you have to come up with different names, but if only the case is different, that doesn't tell you anything anyway. So it's good for computers, but bad UI IMO. They are good at things we are not.

> If synced from Windows, then... the respository will now have 3 files: R.red, r.red, and r (1).red.

This doesn't sound right @BaronRK. Windows can't have both %R.red and %r.red at the same time, so there will only be 2 files, or [%r.red %r (1).red %r (2).red].

If you *have to* download the files, rather than *only* warning the user and making them fix it first, it has to be some kind of convention. To @pekr's point, you can't know if the file is numbered because of case naming, or because it's a straight copy (or an historical one), which Windows also does. i.e. anytime there's a conflict. It often adds copy in the name, which helps there.

Has anyone added tooling to say files are exactly the same, N% the same, or add a metadata tag that a file was originally copied from another? AFAIK, only exact matches have been done, though some specialized software might do it.
hiiamboris
16:04Perhaps he meant that Windows will download r.red and r (1).red and then after uploading there will be 3 files
zentrog:matrix.org
16:30Here's a practical instance of this happening: https://www.hanselman.com/blog/git-is-casesensitive-and-your-filesystem-may-not-be-weird-folder-merging-on-windows
He talks about folder names conflicting, but not files

Here's one with files. Sounds like git just overwrites the file with each version in the repo
https://ocroquette.wordpress.com/2014/07/08/git-capitalization-of-file-names-and-name-conflicts/
greggirwin
16:35> Perhaps he meant that Windows will download r.red and r (1).red and then after uploading there will be 3 files

Ah, got it, so there are three on the server, but not locally.
zentrog:matrix.org
16:41When the Windows user syncs again, what prevents them from colliding again and creating more duplicates?
greggirwin
17:08More pain. Same named files will overwrite, so renaming *should* happen only once. But that's the question of whether the server should warn you and make the nix/mac people either change names or make it clear they are explicitly causing others pain. "Are you sure you want to piss off all your colleagues on Windows? That includes your boss BTW. [Yes][No]"

TimeSlip
00:42@BaronRK Thank you. That means a lot coming from you.

BaronRK
15:05> If you know, that r(1).red is lower or upper case on a certain system / app, you can rename it on the target system automatically ...

Exactly. In fact it could always be the UPPER case one by default, and assumed.
15:10Gregg, locally there could be 3. and prob wiser to grab whatever one finds on server and sync 100%.
Better to overdo it basically.

I don't see a reason why loops would cause lots of files to be created. But that is partially why we do <name>(n)

This SEEMS to be the way everyone else is solving this as well, so I'm going with it.
It's just a shitty shame of MS.

All of this would be solved if the file system was my architecture which is a DB of hashed files (or even blocks) and the naming is tag based (not folder/file based) allowing for all possibilities.

Then you are free to have any filing naming system you want for anything at any level.

But 2022, we need to wait another 50-100 years for everyone to work it out.
greggirwin
19:42It's not simply lower vs upper case. It's combinations ([a A] [ab Ab aB AB] [abc Abc aBc abC ABc AbC abC ...]), renaming over time, content changes, and how you present it to humans on incompatible systems.

I don't think MS is wrong here, or are case sensitive file systems. Just different. I personally *prefer* case insensitive names, and avoid case sensitive names even when I *can* use them because it makes me add explicit, meaningful content to the name. The extra names case senstivity makes available is more than a human could deal with anyway, so what's the *real* value, from a human perspective, of case sensitive naming?

PickOS and MUMPs both used DBs as their FS, but there was still a uniqueness requirement, because you need to address a specific file without knowing its content. You can give a human options to pick from, and they look at each, but programmatic access needs to be deterministic.

By using a convention of (n) we also just make another tradeoff. Those would be valid names a user could use themselves, but now they can't because it conflicts with our convention and changes the meaning, conflating casing implicitly. That affects users on both systems.

BaronRK
01:27We agree we will alway have an ESC issue, which is to say, for example, CSV needs SOMETHING to be the escape.
If it is ", then to make a " you need something like /" or "" etc.

Same here, if we are to have a single OS that sees what is normally 2+ things as 1 thing, all the other systems have to suffer.

One concept is to have SAFE FOLDERS where that folder follows the rules of other OSs?

I don't know the answer here either.

Except for - if we do solve it, it will be how I think it should be from the ground up - a DB of Hashes + Tags. Simple, solves it all.

It can do everything Windows does, and everything Linux does.
greggirwin
16:25> a DB of Hashes + Tags. Simple, solves it all.

I still don't see how it solves it, unless you also, as a user, have to know and use the hash. Tags would have to be unique, which brings us back to https://xkcd.com/927/ or, concretely, are tags case sensitive? :^)
BaronRK
23:42Because the name is now an illusion, as opposed to being REQUIRED.
MS in this example is treating R.txt and r.txt as the same.
That would not be the case in a DB+Tag world. The name is also a tag.
They are allowed to do it, it could be an option, but no reason to worry about lost data due to it.

You could even have multiple structures to the same data.

greggirwin
02:06I'm still missing something.

My program needs to access %r.txt. How does my *code* do that without a unique name? There are scenarios where you don't care. What you care about is the content. e.g. SQL can query for you and returns sets of results. But there is also, *always* something that makes it unique, whether it's a key or a position in a list. File systems just put a human face on it. i.e. the names we see are already tags, mapped to internal inode and MFT entries.
riprwwa
03:54There's also the irony of this being discussed in the forum for a case-insensitive language.
I do remember spending a long time on a bug that turned out to be caused by having multiple identifiers with similar names, single difference between them being the casing - what are your thoughts on this, Baronrk?
BaronRK
04:29So let's create a real scenario, and see how it plays out:

This assumes my system is in place.

A Linux person uploads R.txt and r.txt.
From their POV life is good.

Then, a Windows person that doesn't care about case DLs thse and what do they end up with?

That is a choice for them.
By default it would be r.txt and r(1).txt
But they could also ask to 'act like' Linux for a give folder, or an entire volume.

That way the exact same code can run on any platform.

But, Windows already does something 'similar' with type files that 'appear' to have the same name.

By default, Windows 8, 10,11, don't show extensions. So you can have two files R and R but in fact one is R.txt the other is R.mov.

But they do APPEAR to the user as the same name. How is this any different that what I'm suggesting?
I'm hiding the Hash though.

Ultimately Windows is wrong to ignore case.
All I'm saying is, they are welcome to keep pretending case does not matter in my system.
but there are going to be times when they need to pop up a requester to ask them how they want to handle something.
They can add that to the long list of stupid things they ask users because of their defaults.

I still don't understand why Notepad makes me save data, and worse, if I manually hit save, it MAKES me give it a name.

Apple built a whole company simply doing what MS does, but the opposite.
hiiamboris
08:30I agree with Gregg that case insensitivity makes sense and is actually helpful: e.g. you don't have to remember the case when you type a file name.
08:31I totally don't want to remember (or look at) hashes. And tags bring the same question of name collisions.
dsunanda
09:46I'm looking forward to the day when ALL names everywhere are case sensitive.

Imagine how simple life will be when we can have completely eight different programming languages named red through RED, each with potentially over 1000 websites in the range www.red-lang.org to WWW.RED-LANG.ORG.

I mean, that's why case evolved in the middle ages, isn't it!?

And surely it is time to bring back lowercase numbers (they do exist), add some flexibility to finance and math?

Or maybe it was a mistake to start using case as a distinguisher..... :)
BaronRK
09:54Funny true story.
09:58When I came to the rebel conference in Italy 1st I went To Greece where I had lived previously and studied ancient Greek it ancient Greek, primarily Coptic Greek. But upon my return I wasn't thinking in those terms, and I was on a bus heading somewhere looking at the map which was completely in Greek it was completely in Greek, and I ignored it, because I didn't recognize it as something I could read. And then it hit me, I could actually read it, It was now a mixture of lower case and a few new lower case symbols like the letter S or signal that Didn't exist in the past. I literally started chuckling because of course now I could actually read the whole bloody thing. So there's a real world case story. Keep in mind I'm actually 4 having a system wherein you don't care about case, my only Point is that there are places and times it's important and as a gustalt of the situation I believe we would solve it by abstracting the entire architecture hierarchy and naming from the files themselves. I said we would be happier.
09:59I don't know why voice to text duplicate so much of what I say
zentrog:matrix.org
16:26I don't know if it's being overly pedantic, but Windows is case insensitive and _also_ case preserving. So the example case of downloading r.txt and R.txt, the second one would be more like R(1).txt. It's more nuanced at different layers too though. NTFS is case sensitive, but the Windows API abstracts that to be case sensitive. If you use zsh, you might also notice that the autocomplete is case insensitive.
16:30@BaronRK: It reminds me of the experience of every newer (and often even more experienced) programmer when they encounter a strange error message or stack trace, and it looks like total nonsense. They may even spend hours spinning their wheels trying to figure out where the problem is coming from, until they slow down and carefully read it to discover that it says exactly what the issue is (though usually in an overly technical way)
greggirwin
18:19@BaronRK you didn't answer my question about programmatic access. If the answer was this:

> But they could also ask to 'act like' Linux for a give folder, or an entire volume. That way the exact same code can run on any platform.

Nope. It could only run on any platform *using the new system* (back to XKCD on standards).

> Ultimately Windows is wrong to ignore case.

I disagree. It's simply a design choice.

And now...let's add *case preserving* to the mix.

https://en.wikipedia.org/wiki/Case_sensitivity#In_filesystems

https://learn.microsoft.com/en-us/windows/wsl/case-sensitivity (here is your answer to how your file sharing system could work @BaronRK, by forcing synced folders to use case sensitivity on Windows. Just be prepared for confused users and some software to mess up filenames.)

Does this new feature mean MS has seen the error of their ways? I don't think so. I think it means WSL and mixed-environment uses for devs and servers are important to fight Linux for market share and make it easy for them to use Windows with minimal risk.
18:32I'm all for tags, and involving users when necessary, to improve usability. But as data moves around, pulling the wrong data from a file when a user isn't involved terrifies me.

> So you can have two files R and R but in fact one is R.txt the other is R.mov. But they do APPEAR to the user as the same name. How is this any different that what I'm suggesting?

For users, sure, and extra info is added to help, right? e.g. icons for associated programs by extension. But it's different for a program, which can't say load %r and not know which file it will get. The extension makes the names unique, and adds meaning. Here we *can* use tags in places of names, absolutely. All we have to do is say load/options files/tagged [%r "text" [loadable Red]] ... where options could be require-unique or all.
18:37I will say that the case preserving aspect, and knowing that we may need to account for it in Windows now, is *very* timely and @qtxie and @dockimbel will want to consider it when work resumes on IO. Now is the time to get that right, because it's the future.
18:45Just when I thought it couldn't get any worse...

> The Git version control system also has a configuration setting that can be used to adjust case sensitivity for the files you are working with. If you are using Git, you may want to adjust the git config core.ignorecase setting.
zentrog:matrix.org
21:23:point_up: [Edit](https://gitter.im/red/chit-chat?at=633475c57ccf6b6d45f88f37): I don't know if it's being overly pedantic, but Windows is case insensitive and _also_ case preserving. So the example case of downloading r.txt and R.txt, the second one would be more like R(1).txt. It's more nuanced at different layers too though. NTFS is case sensitive, but the Windows API abstracts that to be case insensitive. If you use zsh, you might also notice that the autocomplete is case insensitive.
BaronRK
23:02
'It could only run on any platform using the new system (back to XKCD on standards).'

I'm already saying the solution is Windows has to be updated. But so do all OSs.

'I disagree. It's simply a design choice.'

And I'll counter it is elitist to treat ASCII characters as 'the same' in all cases and cases (yes, both uses of the word).

A simple and real example: Apple.txt the company, apple.txt the fruit. It is a 'design choice' that causes other problems.

We have words for this: Capitonyms, Bicapitalization, InterCaps, etc.

But is also applies to words like eBay, or real names such FitzGerald, McDonald, MacIntyre. There is value in being able to write them both ways.

So, sure it was a 'choice' by MS, but it carries deeper implications. Given it is 2022, I vote we make this about being 'WOKE' and if we were posting this all more publically I'm sure someone would make the argument that MS is being racist LOL

'Just be prepared for confused users and some software to mess up filenames.'

Right! We ALREADY have this problem, this is the point I'm making in the first place. And, if we already have this problem, let's fix it once and for all going forward. My solution has been presented. It does not make it worse than it is now, it solves that. I'm offering the solve that solves MS, and the deeper issue as well.

By doing it as I suggest, we don't add NEW problems, the problem is already there, I'm just solving the root of the problem so that it CAN do what is needed.

Caps is a great way to solve not having BOLD too :)

thisfilewill-DESTROY-yourcomputer!!!.exe

The lower case version of this same filename does less damage :)>

riprwwa
02:29I'll read your description of tags again, I didn't understand it the first time.
greggirwin
03:22The first thing we need to do is mock up your system @BaronRK. But I'm *not* going to give up architectural lettering when I write by hand. It really makes my expletives pop. :^)
planetsizecpu
07:06> I don't know why voice to text duplicate so much of what I say

Because you talk in uppercase! so it makes a (1).txt copy 😂
BaronRK
07:14Jose - LOL
Riprwwa - From my POV, everything that is not the data itself is a tag. Date created, filename, volume it was copied from, etc. All tags.
The trick is, tags themselves need to be deeper. Allow for things like case, or subsets, or refinements.
etc.
Gregg - AGREED!
Oldes
07:22I don't agree with @BaronRK . Introducing new solutions to existing problem always introduces new (compatibility related) problems.
rebolek
07:25I'm not sure tag is the right word. It's a simple key/value DB, where tag is usually just the value.
Oldes
07:25In your _apple.txt_ example you should use _tagging_ like Apple.company.txtand apple.fruite.txt
07:26Instead of: Apple.txt the company, apple.txt the fruit.
dsunanda
07:37Lessons from ancient history….

The way IBM mainframe operating systems handle this is by making it possible to (almost!) seamlessly access files from any mounted file system.

So mainframe-native data sets (case insensitive names; stored in catalogs, not folders; probably EBCDIC content, not ASCII) are in one set of file systems while UNIX files are in others.

Imagine that as as single tag on an open statement. (DSNAME for native, PATH for UNIX, if you really want to know the actual keywords).

And, if the UNIX file system is mounted remotely, there is no need to explicitly upload its files at all (@baronRK’s starting scenario).

File system neutrality. The best of both worlds!?

BaronRK
00:25'I don't agree with @BaronRK . Introducing new solutions to existing problem always introduces new (compatibility related) problems.'

Good, I vote you don't get to use new technology :)
Anything, nope, you don't get to use it.

I gave a lecture to a bunch of police officers once (about 12 years ago), and I asked if they are 100% behind stopping all usage of marijuana. Almost all were.

Then I listed all the things they may no longer have. I started by asking how many were fans of the Eagles, or Pink Floyd, etc.

Nope, no more of that for them.
They may no longer lister to any music, look at any painting, read any poetry, written by someone using weed.
That's the deal.

I personally worked with the band members of Pink Floyd, I don't smoke grass. But I can tell you, most of them don't go on stage until they are well baked.


Nothing about this sentence makes any sense to me -> 'Introducing new solutions to existing problem' LOL

00:26'I'm not sure tag is the right word. It's a simple key/value DB, where tag is usually just the value.'

Ah, BUT, I'm talking about Deep Tags (sometimes called Smart Tags).
00:28'@Oldes In your _apple.txt_ example you should use _tagging_ like Apple.company.txtand apple.fruite.txt
Instead of: Apple.txt the company, apple.txt the fruit.''

Why?

Why can't the name (a label, a tag) be anything. What you are asking for also is deep tags.
Where the Tag itself has a label, and deeper data.

Apple (1)
- Fruit (1.1)
- Company (1.2)
- Appreciation (1.3)

In fact tags should be able to graph to other tags (nodes). It's all statistical.
But this would at least allow someone to pin something down with meaning.


00:28[this whole debate is why I like a good dictatorship]
Respectech
01:15In my research, the only good political system in the world is a benevolent dictatorship. All others have major flaws.
greggirwin
01:58But you have to have a *good* dictator. ;^)
rebolek
06:57That's the problem with dictatorship. And the second problem is that even if you may start with a "good" (and I can't stress the quotes enough, there's nothing like a good dictator) dictator, they *always* slide to bad dictator. They just think that they understand everything and in better case ignore and in worse case resist changing environment. Dictatorships can't adapt to changing world and world is always changing.
That's why democracy is much better system. It's slow, it's full of flaws, *but* - and that's its greatest strength - it can adapt.
Oldes
07:21@BaronRK I wonder if your tags are case senstitive or not. Btw.. it looks to me that you are also well baked when posting your messages.
07:25My opinion is.. that case sensitive file names are the simplest implementation... case sensitivity is a layer above to make them more user friendly (at least for some). Using tags and hashes is another layer of complexity above it.
09:37@Respectech @BaronRK claims that dictature is good in these days when one unnamed dictator is playing with feature of this planet is very unresponsible.
09:44I'm quite sensitive on this topic.
hiiamboris
10:16There's a natural selection mechanism that ensures that only the fittest of scum come to power. The only reason top gangs (aka governments) created law and institutions is because this way they could harness much more power for themselves than by sheer force, so they could rob their neighbors who were not so lucky in organizing their criminal territory. But their law only works because they can make the majority believe that it's all built for the majority's good, and that these gangsters of course care about you, my friends, more than they would ever care about themselves, that they are people's servants (of course there's no doubt about it, is there? ;) I don't know how hard can it be to really "get" that it's all bullshit, fed to you using evolved marketing strategies. Every politician's public image is a product, carefully crafted for mass consumption and well sold. Reality is simple though: there's always a conflict of interest: you want max freedom, while they get the more power the more they exploit you. So if you believe in good dictators on political arena, or that democracy or freedom of speech exists, then you're part of that clueless majority totally sold on bullshit. One of those who ever buys the "it's not us, it's all them" argument and will be surprised by the upcoming civil wars, mass unrests, global discontent about each government's actions, poverty, famine, cataclysms, and eventual attempt to shape a cyberpunk-like global corporate prison.

Develop your mind. It's your only friend in times of change.
BaronRK
17:04'they always slide to bad dictator.'
You need to prove that. Be very careful of cherry-picking negative examples.
First we need an example of a real dictator.

'Btw.. it looks to me that you are also well baked when posting your messages."

Can't argue that! LOL. but, this from man from a country that drinks TWICE as much as the Irish, and that is saying something. This is neither here nor there, but in fact, I've never smoked anything, nor ever had a sip of alcohol. In act, I'm never even had coffee not one drop.



17:10 'if (you believe in good dictators | democracy or freedom of speech exists) {
you're part of that clueless majority totally sold on bullshit
} Else {
you're smart like me
}'

Just wanted to make sure I captured that correctly :)
hiiamboris
17:12If that's what you're looking for in that message, I don't mind :)
loziniak
19:15@BaronRK such a faux pas not to use either [] [] ;-)
greggirwin
19:27Another way we can look at the file system question is to ask: What is the most effective organization model for humans? We know there are limits to how much information we can hold in our heads, and that certain mnemonic devices or formats (hierarchy, sorting, and grouping) can help with that.

One scenario is navigation, the other is searching.

What is the end goal?

I often approach solutions from a human perspective. i.e. how does a person do it. That tells us a lot. From there we can ask how to improve things, addressing the biggest pain points. The best technical solution is no good if humans can't use it effectively.
Respectech
20:46@hiiamboris I agree with you, and very much so on a practical level, on everything you have said. When I was talking about *benevolent* dictatorship, I should have specified that it was the best "theoretically possible" system. In practice, all mankind has flaws and will let some people down. But there exists a few people who hold integrity in higher regard than the lust for limitless power and wealth, and if their values are in the right place for the betterment of all humanity, they would "theoretically" be better than any other political system which as you say are run by "top gangs" (again, I agree with you on this).

For those promoting democracy as the best practical system, keep in mind that Russia states they have a federal democratic system. If you believe that, then I suggest you re-read @hiiamboris 's post. And if you believe the US is run by benevolent and trustful politicians in a true representative republic, then I am shocked. But in the end, democracy is a heavily flawed system run primarily by criminals that sometimes works in the favor of the citizen, which is more than can be said for many other systems.
hiiamboris
20:55Agreed @Respectech. And great thing about blockchain is that it could eliminate the problem of trusting a human. Of course, gangs will never let that happen as long as they live, but I don't think one can really stop the tech evolution, hold off maybe but not stop ;)
Respectech
22:53Especially when the singularity happens...

BaronRK
01:23Gregg 'What is the end goal?"

My goal is one system that manifests as any system one wants.

Rulership - Trying running a communal house. It sort of teaches us everything about all forms of governance.

All the joking aside, what seems to work best is a real dictatorship that adheres to benevolent rules and consults and allows a democracy that structures each construct to the best fitting governance including fascism, socialism, and even communism. In other words, there is no ONE rule. Bug just enough flexibility to deal with new problems in the best way possible.


GiuseppeChillemi
16:48Today I have been to an open data convention. To some coders I have explained what Red is, not an easy task. I am sharpening the saw.

greggirwin
17:23@GiuseppeChillemi :+1:

gltewalt:matrix.org
13:10Needle and haystack searching... I wonder how much different it would be with parse?

https://github.com/leeoniya/uFuzzy?utm_source=tldrnewsletter#a-biased-appraisal-of-similar-work
13:13Relevant to the other Gregg's mention of Searching in a file system
13:18Boris-
Law works because ultimately there is a group of people of "The State" that will show up with guns or clubs to enforce the law. Even minor laws if there's enough resistance for long enough.
13:23Examples of real dictators?
Mao
Gaddafi
Hussein
Pot

Find some examples of benevolent dictators. Good luck.
13:42Dictatorship is the most efficient for a span of time, but at the expense of the value of humanity

GiuseppeChillemi
22:28I have about 50 text files in a directory and I want to see what has changed at each saving, or by day. I simpli want to hit a button and look at the differences. Which tool do you suggest for this task? Git? Or something else? It could be just a command line one which produces a Text file with the differences.
greggirwin
22:48If you're comparing the same folder, not two different ones, it will have to be version control based. If you back up the files to a second dir after reviewing, and compare folders, Ultra Compare is nice, but costs and others may have something that gives a nice diff list as you describe.

gltewalt:matrix.org
00:37In one directory, you can compare file times. (Last touched)
00:45Oh, see WHAT has changed
00:45*nix diff I think
01:02FC command on windows
GiuseppeChillemi
09:12I think that git or similar could be a better choice. Because It let you see differences on multiple days.
09:13I have also found an interesting free book
09:13https://git-scm.com/book/en/v2
09:13Time to better learn Git

GiuseppeChillemi
11:16About the discussion with the Developers I encountered at the OpenData convention, one thing has gone deep in their souls: when talking about their JSON dataset, I have affirmed "JSON is based on REBOL, and it is just the 10% of it"...
11:18Please, next time you talk with someone about RED/REBOL with a developer, try to say the above phrase and see what happens. I am curious to know if you receive the same feedback.
hiiamboris
11:46I usually start from words, context relative meaning as in natural language, and the language constructor idea.
GiuseppeChillemi
12:10It is important to understand how they respond to such arguments. From my side, I found some difficulties until I expressed that in a code block, each word could have a different value, depending on the bounding, with a full example like:
[play "TrackName"  play "Soccer"]

Explaining that play could be 2 different functions. One which play a song, another which starts a videogame.
BaronRK
16:03My basic statement is 'an elite group of mostly solitary programmers use this language to leverage their minds and time and more money using less of both. You might not be smart enough to do so.'

this has gotten a few of you in here in the first place. It also pulled a few people truly worth, but that jumped the shark (you'll need to look that phrase up).

hiiamboris
16:09I don't think using Red requires much smarts, compared to now common functional programming, or even much patience, compared to web/mobile stacks.
greggirwin
16:10Reverse psychology.
hiiamboris
16:11I see

loza:matrix.org
09:12These are serious accusations, since Red is marketed as human-friendly.

BaronRK
01:31Well, I am willing to go on the record as accusing most humans as not being human. But rather as being NPCs.
So we can start there.

hiiamboris
07:29You're not the only one :)
GiuseppeChillemi
17:40> You're not the only one :)

You may say I am a dreamer, but...
greggirwin

BaronRK
04:42Inspired me to write a litle snippet of bio

https://www.prolific.com/qwiki.cgi?mode=previewSynd&uuid=HCLC19SY9S4G852BSVPTWL8TN8QT

dreamer
hiiamboris
15:42I recommend making peace with your past, else past binds your future.
GiuseppeChillemi
16:16@BaronRK I have felt like I was there, the emotions and the surprise in the last part. If I may comment, the first part of the story is too quick and dry. There is an homicide and depression, you can't open and close these paragraphs so quickly, there are your soul and feelings to communicate, and also the impact of the in your life, what you have done at the moment and after! Everything describes who you are and build you person inside the reader.
16:16*builds your
Oldes
16:30Isn't it surreal? Baron with roots in Kaliningrad (Královec now) living in imperialistic America believing in good dictators and signing Lennon's song together with Ruzzian, who likes that _finally we are in the hot phase_ and that the few beaten protesters against ~~war~~ _special operation_ in his country deserves it, because they should not _shit into own nest_.
hiiamboris
16:54Should we curse/hate/hunt each other instead, like them NPCs? :)
Oldes
16:57Of course... all the dying people in Ukraine are just NPCs playing their roles in the bad west propaganda movies.
hiiamboris
17:01Lovely. [Clean escape](https://www.imdb.com/title/tt0840893).
pekr
17:23How can I login to that Prolific link?
GiuseppeChillemi
17:26Dreamer, there is the password at the bottom!

BaronRK
01:15Giuseppe agreed!

In fact, these are sort of cliff notes for myself to expand on this and write it out more full one day. And truly, this is just for my friends. I truly don't want to write an autobio, but I get asked to a lot because I've done a lot of things. I am writing some REAL books, one that this group will like is my Contracts and negotiations book, which will finally reveal all the projects I built, and how I got people (well, Fortune 100 companies) to pay top dollar, and I own the rights still.
01:18Oldes, when did Kaliningrad become Královec? (I'm from Янтарный, Yantarny, which is inside the Oblast) Not sure your recap gets any better from there LOL

I love NPCs that gives me direction to the gold :)

Petr, so, now we know you might not be a hacker :)


Oldes
05:10@BaronRK https://visitkralovec.cz/
05:12https://m.jpost.com/omg/article-719151
BaronRK
07:411. Thwt is super funny.
07:422. That is supercool
07:42And also 1. Yes, i will vote to join Cz.
11:51[ if you are wondering why those last 3 posts came out so crappy, it is because I posted it from my cell phone with Chrome Browsers.

It would not let me edit them, and still wont from laptop.

#GitterIsShit

]
Oldes
13:54Take it easy.. there are much more shittier things.. like Putin'z aggression.
hiiamboris
14:00Speaking of surreality, we've got PMC Wagner painted on village billboards as some kind of national heroes, under three sigils of Zion. Tell me there's a limit to absurdity.
BaronRK
15:09There is plenty of room for a giant list of shitty things.

BaronRK
03:03This is a friend of mine. We met on Twitter back when I noticed a super cool thing he doing, and only a few dozen people were following him.

He was working for MS, and I told him to quit and put all his energy behind this.

https://twitter.com/DevtoolsFM/status/1579509899343470594?s=20&t=beQG6u-Kf3vk7Q9dSP1GVg

Simple, but POWERFUL!

Recently I've started breaking down bugs into classifications of what we might have done to avoid the bug.

The top three come up the most, and in order:

* StateMachine - Path to success vs path to failure.
* SetScope - Values that should not be allowed.
* Typos - Again revealed by path to success or path to failure.
* ZenosParadox - Stopping for no fucking good reason halfway across the room.
* Off By One error - (possible)
* Yogurt - does it start up from scratch?
* Version compatibility - backwards and forwards.

hiiamboris
08:45About 90% of bugs I'm fixing in my own code come from the fact that I'm making hundreds of decisions but I can't possibly see all their implications (not even a half) on the future model of the code, because it is the unknown, and the whole coding process can be seen as a search for that ultimate final model.
08:54Other reasons are if I drop from my cache how some part works, and do not consider it. Especially during refactoring. Or if I refactor something, changing the parts I remember, but miss some other parts. Then some typos, agreed (e.g. forgetting to pass an argument). Control over allowed values helps detect these bugs earlier, but does not avoid them. State machines would not help at all. Versioning is unrelated. Not sure what your other points mean in the context "what we might have done".
BaronRK
12:07'State machines would not help at all.'

The evidence of code and errors I complain about with all the programmers you know do not support this statement.

hiiamboris
12:15I'm only speaking about my own code ;)
12:17Also I don't think you have a reliable bug statistics for all or even a few of the programmers I know.
BaronRK
13:28How many programmers who's code I have tracked for 35 years, down to each exact bug or feature do you think I need to get a reasonable statistic?
hiiamboris
15:03Well, I see strong bias in your conclusions, but can't tell where it comes from. Do you have any stats for my bugs for aztools? I didn't even report many of them, and it would be an unreasonably big effort to do paperwork on all the bugs. So maybe your choice of what to track is biased.

Take big systems, like Red, or even Prolific (as a whole). Could you or anyone have designed a state machine to describe the whole system before it's implemented and tried out? No way. Only after you get to know your system better, you can say "here's what I don't like" and "here's a bug". Then you could perhaps post factum describe it's behavior using a state machine, but it would only make sense as a broad description, or for mostly isolated parts, because state of the whole system would be way too complex for a human's comprehension.

Even then the key question is is it worth describing? It's quite an effort after all. I guess in your case, in a team that would help synchronize the knowledge about the system between team members, so to a certain depth it's worth it, at least for the parts that need to be understood by more than one person.
dsunanda
15:48"Unavoidable bugs" - (so long ago that I can't find any reference to it online), IBM used to talk about the 5000 year bug. That's a bug that would take your team 5000 years of continuous testing to find.
And it doesn't matter how big your QA team is - for every team size there is always at least one 5000-year bug.
But , when you launch your product and there are a million downloads a day, some poor user is going to hit that bug in the first 48 hours.
Moral of story (as they used to tell it): you can't assume code is ever bug free; so you must design to be resilient and recoverable in the face of unknown bugs.
gltewalt:matrix.org
16:42Terminate and not stay resident. For the love of pete.
BaronRK
17:29You 'might' be reading too much into everything.

It's simple, I've tracked more bugs and features than anyone you know. I'l stand on that statement. Do you have any better examples?

not just our own software, remember, we track entire systems for other companies as well. Software, Hardware, Device and product dev, etc.

Literally, hundreds of thousands of tasks across different projects each described and discussed and reduced to their cost in time, and problems. People like to think they know, but we have hard data. We know for example that our bug ratio is always under 10%, often less than 5%. Our counter parts on similar projects, have bug ratios inverted at 200%! Meaning, for every feature, there are 2 blody bugs! Insane.

When you say 'biased' - to what? It's just data. If anything, you thinking you know the nature of your own bugs, or your friend's, is biased to your assumption you can remember what is what, and selective memory, and every other bias humans have. I simply tag things with words like #StateMachine after a programmer tells me 'yeah, ultimately the bug was a State Machine bug.' If we had a system in place that tracked the state in simple terms, the bug would not have happened. not much more to it.

And let me be a little harsher here. Truly compare this. Have you ever shiped a product without obvious bugs?
[truly, asking]

I have, many times. Try making a video game that gets burned into a cartridge, or software that gets released and can't be updated. Or software that runs in Slot machines, for years, never turning off or being reset. Again, I have. I've architected and built product that ship literally 100s of thousands of unites each week, nonstop. Bugs? We don't need to stink'n bugs! LOL

Today, almost no one ships bug-free software. And software has become slow, bloated, and compartmentalized to try to avoid bugs.

You may not like the way I push you here, but I'll come to the table with data, where is yours?




hiiamboris
17:57LOL no, no table coming, as I'm totally not wasting my time on it, so you'll just have to take my word for my stats. *Have I ever?* Yes. It's just a matter of personal QA level and familiarity with the problem.

I understood that tag in the context of "what we could have done to prevent the bug" as "we could draw and analyze state charts". Misunderstood?

For a solid counter-example - take Red [issue tracker](https://github.com/red/red/issues?q=is%3Aissue). It has quite a lot of bugs missing - those that appear on early development stages, but otherwise may serve as an example where state charts would mostly waste more time that they could save. Again, mostly - but not always. And on this stage of development, not on pre-release QA, where priorities may shift, and we'll be talking not about any bugs, but post-production bugs.

I think you answered my question though. Websites and some games are often easy to look at as state machines, and as a result you might be dealing with state machines much more often, which explains the data. You could of course say that every program is a state machine and thus 100% of bugs can be labeled with that tag, but then the tag would be of zero value :)
BaronRK
18:12You just waved your hand again, and said nothing.
[I'm going to keep being harsh with you here, because you keep waving your hand]

So, what are these programs I'm not accounting for that don't have State Machines as their number 1 form of bug?

Let's review again 'things I've made' (let alone tracked for others):

- 8 bit, 16 bit, and 32 bit games
- Original game machines (do keep in mind, I helped make the Sony PlayStation, and the first Set box in history C= CDTV, also the Dreamcast, X32, etc.)
- Dozens of Slot Machines, including being the first person in history to design a slot machine built on Windows! And it never crashed.
- We also were the team that built Media Edition for Windows, literally, they brought us in to fix their bugs.
- Media tools - literally tools for manipulator dozens of formats, video, compression... and, no bugs.
- Firmware for dozens of hardware devices (again, not allowed to crash).
- Libraries, APIS and frameworks for dozens of companies.
- AI for military
- Black box AI for massive multiplayer video games
- blah
- blah
- blah

But you're just going to wave your hand again right?
More importantly, what ratio of all products do they represent?

No examples, no data, no proof. just 'yeah, but....'

I know I'm being harsh challenging you here, but, I still respect your abilities, I mostly have an issue with this cultural crap of attacking things (and I'm not even making an allusion to Ukrain here LOL).





hiiamboris
18:21I gave you Red as a counter example 2 (now 3 :) times.
18:23Like I said, game machines, AI, firmware, your bias comes from your products. Less so from tools though, but I understood you.
18:28> Today, almost no one ships bug-free software

A shame, but I would also argue the reason for that is economical, not solvable by collecting stats or drawing state charts. Inherent problem of capitalist environment is that shorter money wins the day, so nobody takes the burden of design.
pekr
18:29I wonder how many bugs could be removed or features added to Red/Spaces, while we speak :-)
hiiamboris
18:31Exactly! ;)
18:33My brain is over temperature for today though :D
18:38@BaronRK I should probably say that when it looks like I'm attacking something, I'm just observing what arguments do you have under that, so don't take it too personal ;)
gltewalt:matrix.org
19:14Isn't a generalized language an infinite state machine?
rebolek
19:25This thread went really bananas. Fuck Putin and imperialistic ruSSia, by the way.
hiiamboris
19:54Another russophobic propaganda victim.
gltewalt:matrix.org
19:58No bug free software -

- Too much software for number of talented programmers. 20% of all programmers are the real talent

- Programs are too big now. You cant fully design and safeguard when you have no great constraints, nor can any person keep everything in their head
greggirwin
20:49Everyone please tone it down on the political Rhetoric. Community rules still apply here. I understand, and have my own thoughts, but this is not the place.
21:07@hiiamboris, as a community member and representative of Team Red here, your last comment directed at @rebolek is unacceptable. Consider this a warning, and you owe him an apology.
hiiamboris
21:13Fuck imperialistic ruSSia is fine, but propaganda victim is unacceptable?
21:14My apologies @rebolek if you saw that as offensive. But you @greggirwin please explain yourself.
greggirwin
21:14He's stating a political view, you attacked him directly.
hiiamboris
21:17That's a twisted way of seeing it. But sorry, I don't care. Let's end it at this.
greggirwin
21:19Why is it twisted? I asked everyone to tone it down, but yours was the only direct insult to another community member. If there are others I missed, point me to them and I'll warn those people as well. But you are also going to be held to a higher standard as long as you're part of Team Red.
hiiamboris
21:22My statement was meant as a call to sobriety in the face of real enemy that abuses minds of most of humanity.
21:22Whatever.
dsunanda
21:27(back on topic? And because Reichart referenced a video talking about 30 -year old technology). It may be worth reminding ourselves of Manny Lehman's laws of software evolution, and their distinction between "E-type" and "S-type" programs. If your experience is mainly in E-types, then you may have little intuition for the issues involved in S-type development, and vice versa. That may affect your take on bugs.
https://en.wikipedia.org/wiki/Lehman%27s_laws_of_software_evolution
GiuseppeChillemi
22:09@greggirwin I understand your point of view. Externally, I see both have expressed a opinion in a strong manner, so you must punish them at the same way: 300 lines of code where they write: print "whichever is my political view, I pray this war ends and people will stop dying". No copy and paste allowed.
greggirwin
22:10You're a strict teacher @GiuseppeChillemi. :^)
22:10Can we all agree that every program we write is a state machine? It's just that they are almost always like [this](https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule) if you substitute an (F)SM for CL.

> State machines would not help at all.

You're hypothesizing Boris.

We all have our own experiences as limitations on what we know and can use. Ki's experience is deep and wide. I don't know what other projects you've worked on, which would be good to share so we can find common ground and perhaps see why our views differ. You may recall that Prolific is *all about* tracking tasks, and learning from that data is an important aspect. And that's only the last 15 years of him doing it in full view. I'll appeal to another authority here, Pieter Hintjens. In particular, iMatix's Libero code generator. But much of his work was about collaboration, which is facilitated by design. I don't care *who* has the best stats, I just want them.

You noted Red as an example of something that couldn't be done by designing the SM (State Machine) first. Parse is, itself, implemented as an FSM, correct? And while it isn't bug free, it's one of the most powerful elements in Red, complex, and quite robust. Are there other areas in Red that *could* have used an FSM as part of their core design, even if only to inform the implementation? I think so. Do we want to do that at a granular level all the way down? I don't think so, but that's from my experience of not having great FSM or other tools that make it easy and natural. If you started someone out that way, it might seem perfectly normal to them, and then we can see what produces better results.

> Even then the key question is is it worth describing?

When work on the new roadmap begins, should we build things like the current codebase was done, or do you think that there might be a better way? You've learned a lot about the deep core of Red, but it was a huge amount of work, right? How can we make it easier for others to contribute effectively in the future? Helping them understand the design seems important. It won't happen by accident. It has to be a goal and a task.

So the answer to your question should always be Yes. But we're mostly of a generation that flies by the seat of our pants; and largely gets away with it. We can say "I couldn't have written so much code or built so much if I had to stop and design things first." or "I'm doing exploratory development, so the design would just be wasted when I reach a point where something unforseen comes up." I know I'm guilty of that. Far more than I care to admit. And there *are* two sides to things, because a state machine isn't the right tool to help design a dialect...or is it? Again, we don't know. DiaGrammar was a first step down that path. But maybe, just maybe, design time would have paid for itself and then some.

We do need tools to make sure design is *perceived* to add value for programmers. Because even if it truly adds value, and I think it does, we prefer to write code all by ourselves and keep design aspects floating around in our heads. How is that working out? All our caches fail at some point, unless you live an unbalanced life to keep it filled. I've done that too. I've also played with FSM implementations that seemed huge compared to just writing simple code, so I'd go with code. But there's a big difference in that code shows you *how* it's doing something, not *what* it's doing. Somewhere there's a balance.
GiuseppeChillemi
22:14@BaronRK your bio will be an huge success. We have discussed about a couple of paragraphs and look what happened! The whole book will generate an epic tsunami 😁
greggirwin
22:22Ki's Life Story: An Unnatural Disaster that Made the World a Better Place
hiiamboris

BaronRK
05:08

I don't take this personally (that is very rare) I do have passion for my debates, not to be confused. I mention this because this exact topic is the core of my work, meaning, literally, I'm trying to fix this so programmers don't have so many bugs in the first place. I tease (perhaps torture) programmers, but ultimately, I want to set them free LOL

Petr - Exactly :)

'This thread went really bananas. Fuck Putin and imperialistic ruSSia, by the way.'

Skål !!! (I toast you with fermented bananas)

Boris - indeed, there is a strong difference between attacking the person (calling someone a victim = idiot) you don't see it that way?

For example, I genuinely appreciate the amazing talent here, and yours as well very much. We can disagree and debate and even be heated or passionate, and still not disparage anyone (although it can feel that way).

Small note about 'Ad hominem - this is often misunderstood. It does not mean you can't attack someone as an idiot. Rather, it means very specifically that you are saying their opinion or reasons on something are wrong BECAUSE they are an idiot.

I mention to point out, I think you are most impressive, and thus, also worth my time, and thus, more so, worth debating with to learn how we see things differently, including calling into question each step of any logic.

So, 'back on topic? ' - see, this is the topic to me. Ultimately I'm in this thread on crappy Gitter to discuss how to make RED better, and Gitter better, etc. Step one, get programmers to see the problem in the first place.

Lehman's laws - Yup, I ref that in the docs I wrote on this 15 years ago (I'm working on a Proj Management book as well)

Of note - when Carl and I would first talked about REBOL (actually back when it is was LAVA, and I was writing MIDAS (much like REBOL in some ways) we literally talked in terms of FSM. I decided I needed to write my own language in 1990 to faster dev products. It is one reason we did things in 90 days as opposed to the 1.2 years of most comp products.

Other Greg - Indeed, and just think about how many programmers on GitHub are writing the exact same crap over and over and over. Just kill me. All that talent, solving the same problems over and over.


A little abstract, but sharing this here for a few reasons.

www.linkedin.com... https://www.linkedin.com/posts/reichart-ki-von-wolfsheild-986551_pinocchio-stopmotion-magic-activity-6985371361682616320-MBZp?utm_source=share&utm_medium=member_desktop Copy

1. it is TRUE
2. Yeah, on second thought, VERY TRUE
3. This is what I'm trying to fix with Prolific, Blue Machine, and QAPI (an API framework to stop the pain to programmers)

I wake up each day, and tweak the monkey a little bit. :)>
05:12Hey, this is Chit-Chat, I promise to chit, and chat.
riprwwa
06:59If this helps me write less bugs... I'm all for it!
Can you share some examples of FSMs for medium-big systems? tools to create and manage them? I've recently learned of TLA+, in my mind related to what you're saying because they're both intended to decrease the number of bugs (but have not managed to actually do much with it so far).
BaronRK
08:15I will give you a real bug I'm writing up right now (which Bolek will be fixing.

In our project management system (just imagine if Google Cal, Drobox, Jira, and Notion had a baby) we have a bug where the Badges on the Chat service update with new messages ( a panel on the left, sort of like MS Teams), but the Chat thread itself does not update.

This is a State Machine bug! Either way. Something is not firing off, or checking the STATE!

And for one reason or another, does not matter, it should be thought of as a failed state, and it should have warned the programmer this could happen.

We can follow this real task to gether and learn what REALLY is happening. It could be a Typo, it could be bad logic, etc.
Here is a screenshot of the task

https://www.prolific.com/files.cgi/Task-Bug-Chat-Failed-Update.jpg?tab=get&uuid=TB5F4P76BE3QA8XHR562YDC5E7QT&filename=Task-Bug-Chat-Failed-Update.jpg

You can see the Doer (Bolek) and Celeste and Edgar are watching this, they might be able to help fix this as well.
We will then discuss in a chat thread attached to the task, and we can add links, images, etc.

We do what Jira takes a whole messy page to do :)

08:29This brings up an important point.

How a programmer thinks of a bug, and how I believe a bug should be thought of, is not the same thing.

Programmers (myself included when I'm wearing that hat) tend to be literally, and task-oriented, and bottom up.

PopUpVideo 'If You Have One Eye On The Goal, You Only Have One Eye On The Path' LOL

I tend to first ask: what is the goal? Since we often get caught too caught up with the path we walk. Perhaps we should not be walking a given path in the first place.

So, my point is, if we had the infrastructure for a smart StateMachine in the first place, then little magical tools could be watching what you are doing, building a flowchart, and popping out conditions that should not be possible and telling you about them! #Dependanies
hiiamboris
11:28@BaronRK

> RED, shall we go through together and start tagging the posted bugs?

I don't have any questions personally anymore :) But if you wish, here's a [random selection of 10 numbers](https://i.gyazo.com/372b97a211787a9964eda8df1bee8956.png). After removing pull requests, it leaves us with bugs [https://github.com/red/red/issues/525 https://github.com/red/red/issues/2233 https://github.com/red/red/issues/5108 https://github.com/red/red/issues/4250 https://github.com/red/red/issues/2268 https://github.com/red/red/issues/1833] which all have fixes in public. You can tell us which ones could have been prevented from happening using your state machine ideas and tools, and what we could have done (realistically, not spending 5k years) to do that. Let's see if this statistic is applicable to projects like Red, maybe we'll learn a few things, tweak the monkey ;)

> it means very specifically that you are saying their opinion or reasons on something are wrong BECAUSE they are an idiot.

Basically if I continue this thought, I will come to that pointing out someone's (any) mistake = calling him an idiot. Guess to what kind of society that culture will lead? ;)

I admit I may sound like an ass often. We all have different perceptions, and I've always approached my own from engineering perspective, so it may be vastly different. For example, in my circles pointing out someone's mistake is a *duty* of one noticing it, a reason to thank for and grounds to work from :)

I'm being politically censored here, but may approach common radical opinions from another perspective. One's emotional background is like a lever sticking out. If one doesn't fully control that lever consciously, it's an opportunity and an invitation to use it, sent to whoever is capable. Literally as if one had a "please trick me, I want to receive an experience of being emotionally abused" label on his forehead. As a result, some bastard gets to control this human unit for his own dirty game. With massive enough means of communication in hand, the game becomes a world war (but that's just one application out of many). I'm only saying that because I care for people here. I don't want to see them being played like puppets.
dsunanda
18:20One of the problems with defining bugs is that you have to first know what the true expected behavior is. In a messy and ever-changing world, that true expected behavior may be ill-defined and subject to change over time.

Many years ago, I did some desigh work for a travel company who wanted to break into the exotic locations weddings market (eg they fly you to a sunset beach, and you take your vows while riding elephants).

Their brief requirements document said something like ("10% discount if at least one of the partners is under 21; 15% discount if at least one of them is over 65")

We immediately flooded them with questions - which I can sum up in this one question: "what is the discount if three 18 year olds are marrying three 70 year olds in a group marriage?"

Turns out they hadn't thought about "mixed age" partners or polyamorous marriages with more than two partners.

Which is a pity, because booking a fake marriage could have been a very cheap way for grandparents to take their grandkids on a luxury. vacation. But would allowing that have been a bug, given the initial vagueness of the spec?
greggirwin
18:40I agree with @dsunanda that the real issue is what is defined. We can say there isn't enough time to specify everything in detail, we lack information, etc. But that just shifts the behavior spec to "undefined". That leads to more and varied bugs, and wasted time.

To @riprwwa's question, I've never built an entire system this way, only parts of them. I think that's part of the answer. You don't try to define an entire system, top down, as an FSM. What you do is build *parts* as FSMs (and other tools to increase reliability and predictability), and assemble those. So you can view a system process as a series of black boxes, then drill down into those to see their inner processes, down to the last turtle ("Turtles all the way down" reference).
gltewalt:matrix.org
23:59Then you have to consider reactions. Like chemistry.

greggirwin
00:51Various approaches apply. SMs by definition respond to events to change state or trigger actions, so an eventing system is needed. Actions based on events may send other events, which likely leads to a messaging queue of some kind. Now we're into channels, and one model that uses those is FRP (Functional Reactive Programming). Another is TBP (Flow-Based Programming). State has to be stored and perhaps distributed or persisted, feedback may be needed, along with backpressure mechanisms.

All that to say that state machines don't exist in a vacuum. Or, rather, in isolation. I imagine James Dyson and his team use them. :^)
BaronRK
08:08Bug Taxonomy

Boris - Indeed, cool list, and YES, let's actually review a few together.

Sunanda - LOVE this example. Gab (and others on my team) decided to architect what we call a club code. We knew marketing would keep having us come up with discounts, etc. So I decided to just build a top-down system that could do ANYTHING. We did. We used this in multiple systems too, and should black box it and sell it to others. Summed up, Marketing can build a bunch of rules 'First 100 people to sign up get subscriptions free for 1 year' and we encode that like a Smart Contract, and it runs as a batch with everything else. Problem solved. Also, a giant state machine of course.



08:13Boris 'I admit I may sound like an ass often'

We all here - but truly, I like you for it.
The ones that appear not, are usually hiding the truth :)
dsunanda
11:52@BaronRK Never underestimate the power of Marketing to dream up pricing schemes that break existing systems - and all known laws of logic.

I once spent three days in a basement with a couple of guys from SAP. SAP wanted a vacation pricing model so they could break into the industry.

The two guys started out with high confidence. Between them they had done pricing models for Crude Oil and Newsprint - said each was top of the range in terms of pricing complexity.

At the end of the three days, they were reduced to saying that SAP would be good on the backend - if our existing pricing model tells them the final price, they can produce the customer invoice.

The existing pricing model was really 50 years of tweaks to accommodate Marketing's latest pipe dream.

Typical Marketing request: please implement live by Friday: "If you book on any of the next 10 Thursdays for a flight departing between 02:00 and 11:45 on any of the next 20 weekends (except Xmas week), departing from (airport list); and your party size is less than 6 (not counting infants, but including juniors) and your return flight is within 8 to 15 days of your departure. And your destination is Madrid or anywhere outside the EU, and you have a customer loyalty card (or are paying by AmEx), you are eligible for a 50% discount on use of the Executive lounge".
BaronRK
13:23Exactly!

In the 80s, we added multiplayer, to games which only 4% of people used.
But 100% people bought the game for the multiplayer, hoping to play with others.

So, yeah, we add multiplayer :)

gltewalt:matrix.org
15:51Make a thing for this

https://roadmap.sh/?utm_source=tldrnewsletter
15:52https://roadmap.sh/
greggirwin
16:29While the roadmap viz is a neat idea, @gltewalt:matrix.org did you look at the content that drives it? Their suggestion is to do a text roadmap if you want to contribute, which is basically just an outline. Our time is better spent on a real User Guide IMO.
16:34Look at at the DevOps nd Back End roadmaps there, I don't know how anyone does this anymore. With the number of moving parts now, and the seriousness of software in the modern world, we are going to be *forced* to treat what we do more like medicine as far as training, ethics, and more. We're still mostly barbers with leeches. :^)

dsunanda
08:05I have a brand-new Lenovo laptop, Windows 11. And a Red app under development.

Resizing the Red app on the new machine will (randomly, but very quickly) freeze the Lenovo. And that's completely frozen; no cursor movement, no ctrl+alt+del. Only way forward is to cycle the power.

Luckily (!?) this only happens when running from the Red console. Running the "compiled" .exe works fine. And I can still develop on the olde worlde laptop.

I don't expect the Red team to even consider debugging Lenovo's crappy drivers. Just sharing the last day's pain.
hiiamboris
08:39I bought Asus laptop two years ago, and virtually EVERY Intel driver had bugs in it. It's not often the vendor who's responsible, they I suppose can tweak the drivers, or hold off updates to those that don't work, but not much more. Some Intel eventually fixed more common drivers (after COMMUNITY debugged them, lol), but for the rest there's no hope. Intel's support is just pack of bouncers that are put there to kick people away politely (really like any other modern capitalist support). I don't think they're even CAPABLE of managing their current complexity level. Buying hardware becomes riskier every day, and all the riskier if it's not a common model.
pekr
08:42Isn't it more a question of SW implementation? I do remember, that Resizing in redbol world was most of the time laggy.
hiiamboris
08:43Software can't hang your OS :)
pekr
08:45But it can make it badly responsive ....
gltewalt:matrix.org
14:38If it's chewing up 100% processor, it's effectively hanging it
zentrog:matrix.org
15:24Probably is a software issue, but in the drivers or somewhere in the OS itself. It might be possible to find out what is doing it with something like this tool https://randomascii.wordpress.com/2015/04/14/uiforetw-windows-performance-made-easier/ but be prepared for information overload. I once was able to narrow down to an audio driver that was flooding interrupts. I have another system where when multiple users are logged in, it causes the mouse cursor to stutter, but I never figured out what causes that one.
dsunanda
15:51Thanks for the support and ideas, guys.

I now seem to have accidentally caused the problem to no longer manifest.

Dunno what I did. But one bug I fixed this morning had to do with font sizes. The UI has many rich-text fields (think of a table) all of which should resize at the same time. But a rounding bug in my resizing of fonts left some of them 1 point bigger than the others, sonetimes.

I fixed that UI bug and now - seemingly! - no more total system crashes. In fact, I can now resize so fast that I see the transient blank bands that hiiamboris recently reported: https://github.com/red/red/issues/5221

Debugging is sometimes neither art nor science. More like inadvertent witchcraft.

BaronRK
04:07@dsunanda Lenovo - do post exact model. I do see freezes like this often on my Yoga-9i (which should be the most powerful and newest). Mostly Video related apps.

---

Side note, every day, I log every FAILURE I encounter, regardless of context. It could be a bad design that costs me time and money.

So, hardware fail yesterday:

https://twitter.com/Ki_fun_thoughts/status/1585251163209097216?s=20&t=gVlqgCUkWDYtQj3_EJBZ5g

Software + hardware fails today:

{Copied files off iPhone to PC.

- Required Apple SPECIAL USB cable #FAIL
- Failed to copy at first, hard to tell if MS or iPhone bug #FAIL
- Had to copy folders THREE TIMES over each other to get a match on total file sizes from both devices. #FAIL}

----

Please note, this is not how many fails I logged over the past 3 days, I average about 12-15 logged failures I encounter every single day. That does not include software in development by our team, since that is logged in tasks (features/bugs).


zentrog:matrix.org
08:03Such a messy world we are living in now. Incidentally, I found out what was causing my system stuttering. This nvcontainer.exe, which is associated with a windows service NVIDIA LocalSystem Container. I'm not sure what it actually does, except there are people complaining that it seems to be uploading tons of telemetry data. Anyway, disabled it, and the problem went away 🙄
dsunanda
18:57@BaronRK Details here:
System SKU:	LENOVO_MT_82KB_BU_idea_FM_V15 G2 ITL
Processor: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz, 2419 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date:	LENOVO GGCN49WW, 21/07/2022

I typed too soon - I can still hang the machine (in several ways, not all triggered by a Red app)....It just takes much longer now.
hiiamboris
19:16> I'm not sure what it actually does

Some of my Intel favorites (is there a contest for the most inconspicuous driver name? these names are of so much help when updating drivers):
- "Detection Verification" (apparently related to integrated audio)
- "Gaussian Mixture Model" (nobody knows but rumor goes it's about voice recognition)
- "Serial IO I2C Host Controller 02E9" (not sure actually, I have these codenamed 02E9, 02E8 and 02C5 - and one of them controls touchpad, the other ones I haven't figured)
BaronRK
21:24Indeed, I assumed the Lenovo would fail elsewhere, RED is somehow triggering this fail (which is cool in some ways)


dsunanda
17:54@BaronRK I usually have several Veracrypt volumes mounted at any one time. I have no reason to suspect VC is the trigger on my machine .... But a friend who has just aquired a Win 11 Lenovo says his system hangs (recoverably) when trying to mount a VC volume.
Maybe we need a Lenovo emotional support group.
BaronRK
23:50Interesting, I always use Veracrypt, and have not had that issue. But could see that being a prob.
I did just realise that Chrome can lock up from time to time, just Chrome. But it tends to recover, so I assume massive memory moves or garbage collection is happening. It verages 2GB to 6GB as I tend to have many heavy tabs open.

rebolek
13:15@refaktor introduced a new type to Rye - his Redbol inspired language - spreadsheet. I find it a very interesting concept and I think it would be a nice addition to Red (or R3? @Oldes ? ;) It would make handling CSV and spreadsheets in general much more easier.

https://ryelang.blogspot.com/2022/10/the-user-interface-spectrum-and.html
hiiamboris
14:14:+1: it's great to see this idea being explored @rebolek :)
Although I have to ask - does it make sense to make it a datatype (in Redbol sense)? If you can adapt the majority of Red actions to this datatype, then maybe (although still worth considering a port! instead - hopefully ports will be able to dispatch actions into their methods). If not, then I would just make it an object exposing some DSL/API to interact with.
Oldes
14:25I also think that csv port would be more suitable than a new datatype. Unfortunately I have no need for csv files, so I'm not going to work on something like that right now.
greggirwin
17:13This is along the lines of what I've called the table! type for Red.
zentrog:matrix.org
17:27I was just thinking that it seems just like a database table. I like the “programming language as a user interface” concept
greggirwin
17:37I've thought of it like the tables you can create *within* an Excel spreadsheet.

henrikmk
14:06I've gone from considering CSV being a table format, to be a line based command/argument format with highly varying line lengths. It fits well with how python can, using standard libraries, read CSV files line by line, split each line up and act on each line. It makes for an easy way to transfer commands, modes and data between languages, where object structures don't really fit.

I've started storing some data in this way in REBOL too, though this required writing a proper reader and writer that can hold up to storing kilobytes or megabytes of data per line.

You could do this with a more custom and more efficient format, but anything that can produce CSV files (because sometimes you need to build or look at that data in Excel) is convenient, and most languages can read and parse CSV files line by line and act on each line.

In short, I guess I'd want the python method for understanding CSV in REBOL and derivatives, if it's ever going to be built in.
greggirwin
17:53That's easy to do with read/lines and then processing each line as CSV.
pekr
18:51Parsing CSV is so much a no brainer, that I wonder, if codec or other measures are even needed. Always used read/lines and parse in a split mode by semicolon in R2 and then iteration and data management.
ne1uno
18:53,,"what, now?,,
18:55there are other varieties like tab separated in common use
greggirwin
18:58It's only a no-brainer if the data is simple, no escapes, known quoting, etc.
19:00So if you're dealing with your own data, it's easy and split can do it. If you have to deal with other people's data, handling all the options natively makes it easy for everyone to get consistent results quickly. You may also remember that our CSV codec is quite flexible *because* it's used for many different types of data.
pekr
19:13I still kind of wait, what happens with IO. Doc mentioned, that Red is most probably going to drop R3 model. Will be curious to see, if / how even port / scheme model is affected, etc.
greggirwin
20:19For CSV that shouldn't matter for 99%+ of cases.

rebolek
08:14@henrikmk Besides CSV codec that's built-in I also wrote CSV port that's more similar to the Python method. It treats CSV as a collection of lines and unike codec can handle huge CSV files with much better memory usage.

Respectech
18:34C64 systems are still being used for fun projects these days: https://youtu.be/EBCYvoC4muc
BaronRK
19:27Wow, that guy is so talented! It is truly a shame evolutionarily that as a virgin, he will never pass his genes along.


GiuseppeChillemi
07:58If anyone is interested, one of the most popular podcast app has bene open sourced
https://techcrunch-com.cdn.ampproject.org/c/s/techcrunch.com/2022/10/21/podcast-app-pocket-casts-goes-open-source/amp/
Respectech
18:24@BaronRK LOL!

BaronRK
02:29[![LanguagePower.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/jb9k/thumb/LanguagePower.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/jb9k/LanguagePower.jpg)
02:29{Sustainability: Which Programming Languages Use the Least Electricity?


In 2018, a team of researchers in Portugal decided to investigate this question, releasing a paper titled “Energy Efficiency Across Programming Languages.”

They ran the solutions to 10 programming problems written in 27 different languages, while monitoring how much electricity each one used — as well as its speed and memory usage.

Source: TheNewStack, Which Programming Languages Use the Least Electricity}
ne1uno
02:45this subject has come up before. run time isn't the only way to measure, developer time burns up energy too.
BaronRK
05:351. I'm pretty sure any topic in here 'is a subject that has come up before.'
2. I'm pretty sure the statement 'isn't the only way to measure' is true most of the time.
3. Everything is subjective.

It's funny, a friend of mine (who literally wrote 'THE' C compiler MS, Apple, and most major companies used to create their languages) and I were just discussing Python a few days ago. In our relationship, he is the ranty one (just to put this in perspective).

I need to video his opinions on Python. I'll have to bleep out most words.

Personally, I find all languages silly. I care more about the Dev environment, and tools that help programmers NOT repeat themselves :)

hiiamboris
09:00pseudoscience like this aside, I think cumulatively JS burns more watts than bitcoin and all other programs running in all languages altogether
BaronRK
10:51Agreed.

BaronRK
16:26https://www.kite.com/blog/product/kite-is-saying-farewell/

{Then we grew our user base. We executed very well here, and grew our user base to 500,000 monthly-active developers, with almost zero marketing spend.

Then, our product failed to generate revenue. Our 500k developers would not pay to use it.}
hiiamboris
16:32> Our 500k developers would not pay to use it.

Then maybe they don't see it as anything more than a toy.
BaronRK
16:35But, but, they have the perfect balance of white guys to asian girls, they all shop at Banana Republic, and they even have a cute dog! How could they possibly fail???
hiiamboris
zentrog:matrix.org
17:06Coincidental that the company that runs the source hosting that they use for scanning released a competing product which immediately snapped up all the mind share?
greggirwin
17:39@dander :^) When I was asked to evaluate a situation like that, many years ago, the first thing I did was look for matching bugs in the two systems.

BaronRK
18:29What is everyone's favourite flavour of Linux these days?
(I always liked the look of Mint, but this means little more than a pretty face to me)

I'm planning to use it on a vintage Yoga La[top https://en.wikipedia.org/wiki/Lenovo_Yoga_2_Pro

(I still feel this is the best laptop ever made all said within it's time. Even today, almost a decade later, it just looks and feels like it will be useful. I bought a dozen at least, and gave them out to our team)

The drive is dead, so I plan to boot and live from a USB.
Respectech
18:46I'd consider replacing the internal 2.5" SATA HDD with a 2.5" SATA **SSD**. They're made to be a direct replacement with a LOT faster load times. Also, it will be more reliable than with a USB drive.
18:47I use on a daily basis Debian, Manjaro, and Linux Mint Cinnamon. Mint is good-looking, reliable and easy to use.
18:50I run Manjaro KDE Plasma which is also really good looking, but not quite as easy to use as it is based on Archlinux.
BaronRK
20:41I've swapped MANY SSDs, but that is not the issue, of greater interest to me is learning and playing with a system that lives o an USB drive. Given how I plan to use this (mostly for quick browser access, and perhaps an app for security cameras) this seems like a great way to play with this.

I'm curious if I plug it into another computer, how it deals :)

Respectech
23:09It should deal fine if you plug it into another computer. There may be rare computers that have driver issues, but those can be corrected by adding the appropriate drivers as needed.
23:09I'd definitely recommend one of those low-profile USB drives to minimize chances of snapping the drive or the USB port (we've seen it happen too many times).
hiiamboris
23:24Modern SDXC cards by far exceed the speed of USB2.0 interfaces, just stick it into a [mini card reader](https://www.amazon.ca/Super-Speed-Reader-Adapter-Random/dp/B01D6JBCUI) if you see no card slot and why bother with drives.

BaronRK
00:59Indeed, smaller the better USB. I really wish the whole SD card thing had been worked out better.
The way this SHOULD work is there are bays all over just in case one wants to slide in a card (flush).

Of note, they don't mention it on the Wikipage, but it has a '2-in-1 reader (MMC, SD)' slot! I can see it on my laptop.

I have to see what cards I have here (most my stuff is in another state).

Of note, I will driving past Ukiah in a few weeks. Head from SF to Oregon.

BaronRK
19:45In America, they are celebrating Thanks Giving.
(it is of course frought with 'woke' guilt, issues, etc. #Vegitarians #Vegans #NativeRights, blah blah blah, that all aside)

I don't personally celebrate any holidays, but it crossed my mind that there should be an 'appreciate programmers day' and then it crossed my mind it would probably be the 256th day, and it already exists...

https://en.wikipedia.org/wiki/Programmer%27s_Day

And, it too is frought with BS like the whole Russian/war nightmare. And it crossed my mind that Leap Year might be a prob, and it seems that too was considered (but not by the Russians, but rather the Chinese) LOL

I propose Random Day!

It can fall where ever you want, and mean whatever you want. There, I solved it.

Anyhoo... while I complain and rant and kvetch, well, pretty much non-stop... I do appreciate all'y'alls. happy Random Day.




greggirwin
19:48I like it, but it has to be one-based, right? Or you could say that a zero result means no holiday that year.

I try to celebrate every day. When I stop celebrating, it means I'm dead.
hiiamboris
19:50> I don't personally celebrate any holidays

I suppose programmers really don't like being programmed :)
greggirwin
19:50But we do love our tribalism. :^)
19:58For a number of years, two separate times in my life, I sang with Christmas Caroling groups. I would sometimes mention in segues that we could consider expressing kindness and compassion all year long, sometimes with a serious tone, and sometimes with a funny tag-line. At one event I spoke quite a bit and an audience member caught me between sets and asked about my denomination (I also used to make non-demoninational jokes ("It means we don't have any money.")) and I said I didn't attend. He nodded knowingly and said "Oh, so you're a traveling pastor." A friend in the group had to explain to me how that worked. :^) I am legally ordained, however, and have conducted a couple marriage ceremonies for friends and family.
hiiamboris
20:18Father Gregg :) Nice
BaronRK
21:20Pastorised Gregg.

greggirwin
21:39Ultra pastorized.

planetsizecpu
15:17Today had to smash about 35 ATA old hard disks, due to protected data restrictions, so it was a hard work where I have sweated a lot 😑
15:17[![HDs.jpeg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/sy0u/thumb/HDs.jpeg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/sy0u/HDs.jpeg)
15:18Now you know how hard is IT work! 😄
hiiamboris
15:21So you damage the case but nobody checks if you damaged the disks? ;)
planetsizecpu
15:23No body check anything, but they were perforated with chisel blows
hiiamboris
15:24Oh that's cruel...
15:25Nice shades btw :+1:
15:25Just what you need for this work
greggirwin
19:11Couldn't you just drop them in the ocean while you're working? :^)
20:48And don't forget the backups!
Respectech
23:01We destroy hard drives here as well. When we do, they sound like they have sand in them because the disks shatter into a million pieces. We've opened up a few to see the level of damage, and they are completely disintegrated.

planetsizecpu
11:26First the ball of the hammer was enough, but for some reason the Maxtor have a harder casing, they needed chisel blows, now I have a clue of endurance, first hand! 😂
11:35@greggirwin the ocean does not admit more plastics, the studies that are carried out in my center (Plastic Busters Team) indicate that the fish ingest microplastics and then they pass to the trophic chain, therefore they reach humans, we must stop dropping anyting on the sea. 😉
hiiamboris
11:46I live near the Black Sea, and up to a few times a year I witness a phenomenon I call "garbage tide". A five meter wide dense band of floating junk along all the coast as far as eye can see. And at warmer times, children playing in the water completely wrapped in junk, ignoring it as if they and their parents were unable to see it.
planetsizecpu
12:14In my country, tourism is the first business, so we care a lot the sea and there are garbage-fishing boats around the coast, but it is not enough, I my self have recovered many plastic bags from the sea floor, while diving this summer, the boats only get the surface rubbish.
hiiamboris
12:17Well, what's on the sea floor doesn't affect the income so why would anyone care ;)
12:23I also once a week or two notice the "oil tide". Some sorts of oil smell like gasoline, so when wind is off the coast, the smell goes inland and covers everything for a few kilometers. It's not visible though on the surface unless it's completely calm.

But this year there was some new thing, which I haven't been able to identify. Some kind of blanket of light grayish flakes in the upper water layer (5mm or so). Like if you dissolve soap in hard water, similar stuff. It would come every 3rd day for a few hours then go away again. Sometimes it's just 50-100 meters band, sometimes over 500m.
12:25Hard to tell how our children will fight all this. I like to imagine how see will look in a 100 years. Will there even be water, or only junk and oil to the horizon? Will people even remember that sea was once used for recreation?
planetsizecpu
14:02That's the main mistake, the sea is, first of all, the ecosystem where the life began, the home of living organisms, not our business. We must respec this or there will be no life in the long term.
14:10Another project that it's being deployed is to translate mediterranean big mussels (pinna nobilis) that are diying affected by an introduced stomach parasit, to a controlled environment into some salt water pools, they are in extinction danger, so that's the fate waiting to static organisms if we don't take care.
Oldes
15:44I wonder what strange happened this year when you are noticing these _new things_?
15:46I cannot be result of the SMO. It must be some sort of satanistic complot against your peaceful nation.
hiiamboris
15:49Damn right, those western cultists! :D
15:55It's interesting though how you admitted SMO here and denied it on red/red only 3 minutes before ;)
Oldes
16:43Maybe because I was sarcastic? Since its beginning I call your SMO to be a war. It's interesting since when it is possible to call it war in Russia.
hiiamboris
16:46Is it though?
Oldes
16:46And it is also intetesting [what happened with russian inteligence](https://mobile.twitter.com/JuliaDavisNews/status/1598766707073597440)
16:58Vladimir Solovyov, the man of constant sorrow [calls is war repetadly without any issues!](https://mobile.twitter.com/JuliaDavisNews/status/1595937258380693504)
hiiamboris
16:59Interesting. Good to know.
17:02I think legally admitting a war status would drag some allies (maybe NATO?) into direct military confrontation. And that's one step away from mutual nuclear annihilation. So they must have allowed it as an unofficial figure of speech or smth.

BaronRK
17:28'I witness a phenomenon I call "garbage tide'

I wrote this for an Anthology published a few years ago...

https://www.prolific.com/files.cgi/Free_AOL_CD.jpg?tab=get&uuid=YST5KLLR2J11EBTPGHSMDDGMV8QT&filename=Free_AOL_CD.jpg

'Vladimir Solovyov'

The US finally sued and won their version of Vlad the Sad. He is called...

https://www.nytimes.com/2022/12/02/us/politics/alex-jones-bankruptcy.html
hiiamboris
17:46@BaronRK so we're the only animal that did not survive ;)

greggirwin
19:06@BaronRK :^)

Respectech
15:05So this chit-chat is a little (a lot) less political, but extremely interesting. Although the code isn't 100% correct, it is amazing:

Me:
The MySQL server information is as follows:

IP address: 172.16.4.49
Database name: ameridroid
Username: root
Password: dummy

Write a function in Rebol that takes information from the following form and inserts it into the MySQL "clients" table.

<!DOCTYPE html>
<html>
<head>
    <title>Client Record Form</title>
</head>
<body>
    <h1>Client Record Form</h1>
    <form action="insert_client.php" method="post">
        <label for="first_name">First Name:</label>
        <input type="text" name="first_name" id="first_name" />
        <br />
        <label for="last_name">Last Name:</label>
        <input type="text" name="last_name" id="last_name" />
        <br />
        <label for="company">Company:</label>
        <input type="text" name="company" id="company" />
        <br />
        <label for="address1">Address 1:</label>
        <input type="text" name="address1" id="address1" />
        <br />
        <label for="address2">Address 2:</label>
        <input type="text" name="address2" id="address2" />
        <br />
        <label for="address3">Address 3:</label>
        <input type="text" name="address3" id="address3" />
        <br />
        <label for="city">City:</label>
        <input type="text" name="city" id="city" />
        <br />
        <label for="state">State:</label>
        <input type="text" name="state" id="state" />
        <br />
        <label for="zip">Zip:</label>
        <input type="text" name="zip" id="zip" />
        <br />
        <label for="country">Country:</label>
        <input type="text" name="country" id="country" />
        <br />
        <label for="phone">Phone:</label>
        <input type="text" name="phone" id="phone" />
        <br />
        <label for="email">Email:</label>
        <input type="text" name="email" id="email" />
        <br />
        <label for="type">Type:</label>
        <input type="text" name="type" id="type" />
        <br />
        <label for="ref">Reference:</label>
        <input type="text" name="ref" id="ref" />
        <br />
        <input type="submit" value="Submit" />
    </form>
</body>
</html>
15:06OpenAI:
REBOL [
    Title: "Insert Client Record"
]

client-data: make object! [
    first_name: none
    last_name: none
    company: none
    address1: none
    address2: none
    address3: none
    city: none
    state: none
    zip: none
    country: none
    phone: none
    email: none
    type: none
    ref: none
]

insert-client: func [
    first_name [string!]
    last_name [string!]
    company [string!]
    address1 [string!]
    address2 [string!]
    address3 [string!]
    city [string!]
    state [string!]
    zip [string!]
    country [string!]
    phone [string!]
    email [string!]
    type [string!]
    ref [string!]
] [
    client-data/first_name: first_name
    client-data/last_name: last_name
    client-data/company: company
    client-data/address1: address1
    client-data/address2: address2
    client-data/address3: address3
    client-data/city: city
    client-data/state: state
    client-data/zip: zip
    client-data/country: country
    client-data/phone: phone
    client-data/email: email
    client-data/type: type
    client-data/ref: ref

    insert-sql: rejoin [
        "INSERT INTO clients (first_name, last_name, company, address1, address2, address3, city, state, zip, country, phone, email, type, ref) VALUES ("
        "'" client-data/first_name "'" ","
        "'" client-data/last_name "'" ","
        "'" client-data/company "'" ","
        "'" client-data/address1 "'" ","
        "'" client-data/address2 "'" ","
        "'" client-data/address3 "'" ","
        "'" client-data/city "'" ","
        "'" client-data/state "'" ","
        "'" client-data/zip "'" ","
        "'" client-data/country "'" ","
        "'" client-data/phone "'" ","
        "'" client-data/email "'" ","
        "'" client-data/type "'" ","
        "'" client-data/ref "'"
        ")"
    ]

    connect: open/no-wait/user root/pass dummy/database ameridroid/host 172.16.4.49
    insert: insert-sql
    close connect
]
15:07Even though the code isn't 100% correct, it does a lot of the heavy lifting of code entry for you, and gets you on the right track. I tried asking it for Red code. It tried, but the output wasn't in Red.
15:08Incidentally, the HTML form was also created by me giving OpenAI a MySQL table definition and asking it to create an HTML form for it.
15:08<mind blown>
15:26And the exact same engine can also do poetry. Me:
Red is a next-gen programming language, strongly inspired by REBOL. Main features are:

    Human-friendly syntax
    Homoiconic (Red is its own meta-language and own data-format)
    Functional, imperative, reactive and symbolic programming
    Prototype-based object support
    Multi-typing
    Powerful pattern-matching Macros system
    Rich set of built-in datatypes (50+)
    Both statically and JIT-compiled(*) to native code
    Cross-compilation done right
    Produces executables of less than 1MB, with no dependencies
    Concurrency and parallelism strong support (actors, parallel collections)(*)
    Low-level system programming abilities through the built-in Red/System DSL
    Powerful PEG parser DSL built-in
    Fast, compacting Garbage Collector
    Cross-platform native GUI system, with a UI layout DSL and drawing DSL
    Bridging to the JVM
    High-level scripting and REPL GUI and CLI consoles included
    Visual Studio Code plugin, with many helpful features
    Highly embeddable
    Low memory footprint
    Single-file (~1MB) contains whole toolchain, full standard library and REPL (**)
    No install, no setup
    Fun guaranteed!

Write a poem about the Red programming language.
15:27OpenAI:
Red, a language so strong and bold,
A powerful tool to have and hold.
A human-friendly syntax so easy to learn,
A powerful tool to help us discern.

Homoiconic and multi-typed,
A powerful tool to keep us hyped.
Functional, imperative, reactive and symbolic,
A powerful tool to make us dynamic.

Prototype-based objects, a powerful tool,
A language to make us feel so cool.
Macros and datatypes, fifty and more,
A powerful tool to help us explore.

Statically and JIT-compiled,
A powerful tool to keep us styled.
Cross-compilation done right,
A powerful tool to make us bright.

Concurrency and parallelism,
A powerful tool to make us zen.
Low-level system programming,
A powerful tool to make us sing.

PEG parser, drawing DSL,
A powerful tool to make us swell.
Garbage collector, GUI system,
A powerful tool to make us beam.

Scripting, REPL, plugin and more,
A powerful tool to make us soar.
Embeddable, low memory,
A powerful tool to make us glee.

Red, a language so strong and bold,
A powerful tool to have and hold.
ne1uno
15:36https://www.axios.com/2022/12/05/chatgpt-scary-good-ai-chatbot
15:36 it's competitive in adventofcode with the right handler, being trained on github with all the aoc previous years solutions
greggirwin
15:36A powerful tool to make us glee.

I'm not worried just yet. :^) The day is coming though.

Some years back (2006 it seems) I wrote a tool to generate a template for particular forms of poem (sestina and pantoum).
BaronRK
16:38Worried?

THANKFUL!


greggirwin
19:52I'll worry when it gets better, and people use it inappropriately. Like the most dangerous time when learning to ride a motorcycle is when you think you know what you're doing, but you don't yet.
Respectech
20:17The AI Singularity is coming in 2029 according to Ray Kurzweil. Ithink that info is still accurate. Here's what the AI says about it:

What does Ray Kurzweil say about the AI Singularity?

Ray Kurzweil believes that the AI Singularity is an event in which artificial intelligence surpasses human intelligence, leading to a period of rapid technological advancement. He believes that this event will occur in the early 21st century, and that it will have profound implications for humanity. Kurzweil believes that the Singularity will bring about a new era of abundance, creativity, and prosperity, and that it will ultimately lead to the end of death and disease.
20:21Ray Kurzweil: "2029 is the consistent date I have predicted for when an AI will pass a valid Turing test and therefore achieve human levels of intelligence. I have set the date 2045 for the 'Singularity' which is when we will multiply our effective intelligence a billion fold by merging with the intelligence we have created."
hiiamboris
21:02I do appreciate the value a powerful neural network can bring about. It will be the best tool ever existed. However there's an abyss between a ML network and an AI that can pass a Turing test. As well as an abyss between the latter and self-aware intelligence. The above prediction is just a marketing crap, typical for the whole AI area (where the word 'intelligence' is used solely for marketing). Dudes need moneys for their research, so they periodically bullshit potential investors. Old story.
BaronRK
21:39'and people use it inappropriately.'

I have to ask- what is something people don't?

Of note, I had dinner the other night at a friend's farm. He co-founded Singularity University and the X-Prize.
Yeah, he couldn't figure out which Papayas were male or female, and he can never figure out which hose is leaking.

He still has to try 3 times to insert a USB plug!!!

We are a ways off from 'anything impressive.'


hiiamboris
22:083 times 😆
22:10Although I notice with my phone to PC connection that it matters which end of the cable was inserted first.
greggirwin
23:24> what is something people don't?

Of course. I just don't want to use that software. :^) Like I didn't want to use the software or printed docs from the 90s when people could make 3D-ish UIs and got WYSIWYG.

Oh, wait...we're still there.

One of my favorite products is the Hot Logic food warmer. You just plug it in. It changes temp over time (rises at first to heat, then goes down), but you have no control over that, other than to unplug and replug it. I also like lava lamp's simplicity, but the particles do get small if they are on for a long time. :^)

I hate all the mini data/plugs with a passion. Can't tell them apart at a glance (e.g. micro USB vs USB C), and I probably do the micros 3 times myself, because the damn things never line up right.

Respectech
01:05I think I read something somewhere that some company used a wall of running lava lamps as a secure random seed.
greggirwin
BaronRK
05:49https://hard-drive.net/inventor-of-usb-unintentionally-buried-upside-down/
rebolek
09:05Yesterday, my nephew's game won Czech Game Award in the students category. So if you want to take a short break from work, you can give it a try! https://klubyhernitvorby.itch.io/hats
hiiamboris
09:56I don't play platformers, but steampunk setting is appreciated :+1: Looks cool.
09:57Why is it over 400MB btw?
GalenIvanov
10:03@rebolek Congratulationd for your nephew, the game looks cool!
rebolek
10:17@GalenIvanov Thanks!
10:18@hiiamboris I think it's mislabeled as a platformer. IMO it's more an adventure with some platformer aspects.
Oldes
11:56The game is made in [Godot](https://godotengine.org/). Godot's runtime (on MacOS) is around 70MB. The rest are assets like images and sounds... stored in a single .pck file.
11:59Unfortunately I am not able to run the game on my mac.
pekr
12:19Godot has Node and Scene system, Sprites .... maybe Hiiamboris could make something like that for Spaces :-)
hiiamboris
12:24One day in a far far future... ☺
BaronRK
18:46'my nephew's game won Czech Game Award' Awesome!

planetsizecpu
07:23Give him my congratulations! @rebolek
greggirwin
07:56Mine too!
Respectech
19:07My son fed a Rebol server networking program that I wrote a while back into the OpenAI engine and asked it what the code's purpose was. This is what OpenAI returned, which was 100% correct:

This code creates a server-side program to manage a cafe-style computer service, where customers can log in and out of computers, and pay for their usage. The code includes functions to register new computers, monitor customer usage, record logins and logouts, filter results by hostname, and update the status of each computer. The code also includes an event handler to capture the close window event, which pops up a confirmation window to ask the user if they are sure they want to quit.
19:16So I decided to try something a little different:

Me: Output a copy of the following code and insert basic comments:

REBOL []

align: func [
    "Forms data into a specified number of columns with optional alignment"
    data
    length
    /left
    /right
    /center
    /len
][
    if right [
        return head copy/part tail insert/dup head form data " " length (length * -1)
    ]
    if center [
        data: head insert/dup head form data " " len: (length / 2)
        data: head insert/dup tail data " " len
        return copy/part at data ((length? data) / 2 - len + 1) length
    ]
    return copy/part head insert/dup tail form data " " length length
]
19:17OpenAI:
REBOL [] ; start of REBOL block

align: func [ ; define a function called "align"
    "Forms data into a specified number of columns with optional alignment" ; comment
    data ; argument: data
    length ; argument: length
    /left ; argument: left
    /right ; argument: right
    /center ; argument: center
    /len ; argument: len
][ ; start of function body
    if right [ ; if right is true
        return head copy/part tail insert/dup head form data " " length (length * -1) ; return the data formatted to the right
    ]
    if center [ ; if center is true
        data: head insert/dup head form data " " len: (length / 2) ; insert spaces at the head of the data
        data: head insert/dup tail data " " len ; insert spaces at the tail of the data
        return copy/part at data ((length? data) / 2 - len + 1) length ; return the data formatted to the center
    ]
    return copy/part head insert/dup tail form data " " length length ; return the data formatted to the left
] ; end of function body

; end of REBOL block
19:18What blows me away is the line that it commented ;return the data formatted to the center because it isn't totally obvious what that line does.
hiiamboris
19:23Interesting!
BaronRK
20:29- Writing it's FIRST ever REBOL program this well 25 points
- Writing even one comment that is true 25 more points

Sorry guys, sure looks like it is about 50 points ahead of everyone here LOL

hiiamboris
22:31How much points for speed?

BaronRK
00:01Sadly, I think it is considered a negative number since no one believes any programmer can actually do anything correctly + fast.

Respectech
23:02Just to be clear, I wrote the "Align" function and asked OpenAI to comment it.
23:04The program it actually wrote was the one I posted on Dec 7 which was a client record form.

loziniak
20:53> What blows me away is the line that it commented ;return the data formatted to the center because it isn't totally obvious what that line does.

It's probably not so hard if you see a function named *align* and a check for refinement called *center* :-D

rebolek
09:21[CASTR](https://gitlab.com/rebolek/castr/) has been updated. There was a missing file, so the Hub webserver couldn't run. Fortunately no one noticed...
greggirwin
18:37:+1: :^)
rebolek
23:15And another fix-update. This one improves request handling in Lest. Here's how to deal with a HTTP request in Lest:
snippet                   ; or `page`, see Lest docs what's difference

"Method: " request/method ; Lest can auto-detect if it's run inside Hub and in such case, it makes the HTTP request object available
" Query: " request/data   ; so it's easily accessible from Lest. It also convert the query (GET/POST/whatever) to Red datatypes

hr                        ; just a separator

request/*                 ; `*` is a special token that will emit whole `request` object. It's useful for debugging purposes
23:24And here's how to make a basic form in Lest:
request get %cgi.lest [  ; `request` is the keyword for a form, `get` is a method used and `%cgi.lest` is the target file called
    text "name" "value"  ; `text` is the input type, with two args, name and value. This is just a basic example, nothing fancy.
]
23:27You can have two files, e.g. %index.lest and %cgi.lest with separate form and actor, or you can put everything into one file and take care of the logic with Lest's built-in if, either and other conditionals.
23:34And if the Lest dialect isn't your cup of Darjeeling SFTGFOP, you're free to use good ole HTML.