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

henrikmk
13:50Happy New Year
13:54Reading about this project: https://omar.website/tabfs/ it might be a fun project reverse that and build a GUI from a file system. Then you manipulate the UI structure by creating different file types and the file contents would contain the widget state. Directories would be windows and panes. Buttons, fields, etc. would be files. Then you could manipulate the UI by using file system commands. I have no idea whether that could ever be useful, but I think, an interesting idea, nonetheless.
Respectech
15:19Sounds fun
GiuseppeChillemi
19:36@henrikmk once I have used an ERP that mapped all its GUI functionality on URI, so you could access any of its part and do whatever you want. This could be the same for a Red GUI, you access it as FS and open to scripting tools.
greggirwin
20:02Thanks Henrik. I'll try to take a look before too long.
BaronRK
23:491. Happy New Years
2. Perhaps a Red Conference Q1?
3. Fun article I kept from July

http://www.slaw.ca/2020/07/07/what-i-learned-about-innovation-from-learning-how-to-code/

greggirwin
03:11Yes, I still want to Def [Con Red] in Q1. Let me clear a few things off my plate this next week, then we can hit your wiki notes and plan.
03:13Will read the article shortly. I have answered a small number of questions on Quora in the past year, and I've learned that my answers often attempt to teach people how to ask better questions. I know that's not the driving force for services like this, but maybe we can tilt things to help the sludge sink and the foam rise to the top.
koba-yu
06:57Happy new year! I have written a blog about Red. I am not a daily English speaker/writer so let me know if I wrote something wrong or inappropriate English. :smile:

[My Red Story #1 Red to interact with WEB API 1/2](https://dev.to/kobayu/my-red-story-1-make-a-tool-with-interacting-web-api-1-2-1oim)
planetsizecpu
09:27Useful @koba-yu hope you gather so much subscriptions ;-)
koba-yu
09:54@planetsizecpu Thank you!
gltewalt
19:08How do you get to the Red channels from matrix ?
hiiamboris
19:26Search for rooms at Gitter.im server
gltewalt:matrix.org
20:01Kind of a pain... they should just put _:gitter.im
gltewalt
20:02So people can just get to where they want with the Element app
gltewalt:matrix.org
20:03Hi Greg
gltewalt
gltewalt:matrix.org
20:09🙄
20:10Hmmm
gltewalt
20:12If display name is the same, no posty
gltewalt:matrix.org
20:14:point_up: [Edit](https://gitter.im/red/chit-chat?at=5ff0d10ee7f693041f4825f4): Kind of a pain... they should just put _:gitter.im in a huge heading, in their doc stuff

GiuseppeChillemi
00:04I suppose it is a scam https://qwikcourse.es/c/rebolprogramming
gltewalt:matrix.org
00:44https://qwikcourse.es/node/26
greggirwin
02:14Never heard of QwikCourse.
koba-yu
03:24@greggirwin
Thank you very much for your reading and comments! I need to play with my kid right now, so I'll check your comments and try to improve my post later👍
BaronRK
08:12= Chat =

I think Gitter sucks dead rodents through a steel straw.

Slack sucks for the same key reason, which is if we branch (for example this Original Post I'm writing right here right now) it is hard to track and follow, and both systems do a horrible job of making this clear and easy for everyone.

I welcome IRC/Matrix, or https://www.phpbb.com/

P.S. if you want to reply to this, I vote branch it right here.
I use = These = to trigger a good place to branch.
ne1uno
08:25IRC is horrible as a collaboration tool, depending too much on client & server reliability & features, everyone will have a different experience.
08:25no branch/thread supported, no editing or embedding, no logging.
08:25the problem with all chat is moderation is work, moving pruning threads.
08:25 branch threading has made gitter/irc bridge even more confusing and isn't that great in a browser. haven't tried matrix
09:24https://law.stackexchange.com/questions/27096/are-chat-logs-against-the-new-european-gdpr
GiuseppeChillemi
10:46Everything is against GDPR, even the internet
gltewalt:matrix.org
16:04:point_up: [Edit](https://gitter.im/red/chit-chat?at=5ff0d10ee7f693041f4825f4): Kind of a pain... they should just put #_:gitter.im in a huge heading, in their doc stuff
greggirwin
18:40@ne1uno good info.
BaronRK
19:30= Data Protection Regulation =

I'm not sure the info (from link) is good. (nothing to do with ne1uno).

GDPR/CCPC/Nevada (and more to come) all are a complex area (I administer and have attorney review on this).

The best summary I can possibly give is this:

1. Since it is on the Internet, you might as well support the lowest common denominator, or in this parlance, whichever rules are worst.
2. There is no simple flow diagram of questions that helps anyone answer this. So this is a really tricky problem to solve.
3. There have been no real lawsuits so far, so we don't know what is true. A law is not real until it is tested.

So, the whole thing is a nightmare.

Going forward, my own plan is as follows (this is very rough):

- Try to connect people's personal data to a UID.
- Try to encrypt the local storage of it. Use Password 1
- Try to encrypt the long term storage of it. Use Password 2
- Deal with the conflict of these facts with the goal to allow people to search data easily.

If some ahole demands you remove them (their data), they can control Password 1, and you can just destroy Password 2 rending long term storage useless (or give them the password and then destroy, giving them the power to recover).

Does anyone have a better plan?
ne1uno
20:03I use irccloud, from the UK, https://www.irccloud.com/terms
20:03easy to find terms, I guess they leave details up to each server. all the channels I am in are logged.
20:03https://gdpr.eu/what-is-gdpr/
20:03snoonet stopped officially linking to channel logs, but no policy for personal logs that I recall.
20:03 stack exchange continuously demands I accept their policy from every page if not logged in.
20:03handling users personal data and options would be something else again. I don't think you can compel other users to purge their history.
20:03in gitter you can scroll back months, could that one day require editing out of user comments if requested? or make the server libel in some way? section 230 FCC in the USA another nightmare
greggirwin
20:43There's no good solution to this, and I don't know enough details to say what constitute personal data or the protection thereof. That is, data you can't sign away the rights to by clicking "I agree" on a EULA you didn't read, what rights I have to my content, and whether those are exclusive.

Is there a loophole, where you could provide a service to "manage storage and access control" but the user has ultimate control over their rented space? Kind of like co-location but with an API as well. The user "rents" space, could be a true SBC or a virtual machine, which runs an API "service" the user is in control of. The API is simple ([insert select change remove]) but could also have advanced features to allow analysis. The user then has a control panel where they can grant access to data with a key feature being by tag. e.g. you grant Gitter access, which automatically tags all API calls from Gitter with gitter. And Gitter can only access data tagged as such. Mashup services can be granted broader access. My local social agent app can write and tag and remove anything, but if it tags something twitter because I checked a box to post there, Twitter still only has read access to that entry.

Where this gets messy for those of us who want history frozen, is when people stop granting access, then open it up again, remove data, etc. Then it's up to each system to garnish your reputation and even boot you from their service. So everyone is incentivized to play nice. It opens up a whole new DDOS attack vector. But maybe you can also choose your storage service options, where some or all of your data lives in a blockchain. You could have blog posts editable, but code and contracts auditable.

And does RAM count as storage? If services can't cache data, their efficiency takes a massive hit, but if it's all in RAM "for current use", then we all invest in memory chip companies. :^)
gltewalt:matrix.org
21:18How is the EU going to enforce anything?
dsunanda
22:16@gltewalt:matrix.org For organizations with a presence in the EU, by fines of up to 2% of global revenue:
https://gdpr.eu/fines/

If they have no presence in the EU, enforcement is possible but complex and harder, eg:
http://www.mjilonline.org/fines-under-eu-gdpr-in-non-eu-jurisdictions-enforceable-or-mere-reputation-risk/

BaronRK
02:07one thing is true, the fines (which may not hold up in court) are insane

https://www.enforcementtracker.com/

enjoy this rabbit hole
02:13This is interesting

Fined for PAPER STORAGE

https://www.enforcementtracker.com/ETid-158

dsunanda
02:14The fines are a very big stick, not yet used to the fullest. I think the highest so far (upheld on appeal) was EUR50 million for Google:
https://www.complianceweek.com/gdpr/french-court-upholds-googles-57m-gdpr-fine/29096.article
GiuseppeChillemi
10:51Two weeks after my fingers have been crunched, I have some feedback as coder POV: the cast should have an angle above 65 degrees, otherwise when the remaining finger goes down to the keyboard, the casted ones will hit the keys and disturb typing. It would be better with a different angle on the little finger, I suggest more that 75 degrees, as keyboards are raised and it has more changes of hitting the keys.
BaronRK
13:14Guiseppe, what? LOL
gltewalt:matrix.org
15:29Use toes
gltewalt
18:41He broke his fingers
greggirwin
19:59:point_up: https://gitter.im/red/chit-chat?at=5fe1d2bd93af5216fc57c58f

henrikmk
11:40@GiuseppeChillemi oh my, didn't read that until now. I hope you get better soon.

gltewalt
03:46Has traffic for Red slowed down? Seems less active now.
greggirwin
04:13It comes and goes. Things are always slow around the holidays.
BaronRK
16:40Giuseppe!

I'm sooooooooo sorry. This is why I fear building robots. I'm amazed there are not far more things like this.
One of my closest friends (who has since passed for unrelated causes) used to build Robots for the show BattleBots. All the teams have many rules in place to prevent what could be very very very bad.


GiuseppeChillemi
17:16@BaronRK We have rules too but not the needed one for this particular situation. I was correcting the belt of a new conveyor belt which was crawling on its border. Any conveyor belt has 2 rollers, one on each side, so I have put my hand on the edge of one side and started pushing the belt far from the border. Well, this conveyor belt was different: it had 3 rollers instead of 2, one acted as a counter roller to keep the belt tense. It was totally invisible and unexpected. So it took my hand out of nowhere. After this incident I have added a new rule to the others we have: if it walks like a duck and swims like a duck and quacks like a duck, Inspect it before you handle it like a duck, it maybe have a hidden shark mouth somewhere. In other words: not everything is as it seems, inspect it visually at least one time, because known shapes may have hidden dangers.
17:23@henrikmk Thank you Henrik, I am entering my third week from the incident. Looking head to the day I will remove the cast. Until then I will be the **7 Fingers Coder!**
greggirwin
17:51@GiuseppeChillemi thanks for the detailed info. It may save others here who work with any kind of physical device.

I used to work at a theme park, and asked someone to measure an audio rack one day. A minute later I heard a shout, saw sparks, and the other tech came flying out of the audio cage like he'd seen a snake. Turns out his tape measure, as many are, was steel. What we didn't know is that this rack was old and had bare copper bus bars on the inside, carrying electricity. He put the tape across the rack to measure, it closed the circuit between them, and POW! Fortunately he was fine, but it took a chunk out of the tape measure.
GiuseppeChillemi
18:43@greggirwin
Yes, the lesson is the same: inspect everything for both invisible and invisible, especially when it is the first time you are working with it or there is some fault. You have to inspect the visible with eyes, the invisible (electricity) with the instruments. They are a hard lesson to learn. This time it has cost me a visit to the emergency room and one-month+ of difficulties.
dsunanda
23:36@GiuseppeChillemi Old management maxim: You don't get what you expect; you get what you inspect.

GiuseppeChillemi
01:09@dsunanda In Italy we don't have it but I understand it's meaning.

GiuseppeChillemi
02:28I have loaded my Chrome Json Bookmarks file in Red. It is 100K entries and 80MB in size. It takes about 01:20 minutes to load: good or bad?
greggirwin
02:44Can you post a sample of the data, or even the whole thing if there's nothing private in it? What we haven't done, but should, is profile the JSON codec against other JSON libs. We won't win, because we're very high level, but it's good information to have.
GiuseppeChillemi
03:12I don't know what is inside so I must consider it private. But I could try to anonymize it.
greggirwin
03:18If you have the JSON structure, we could mock up data that matches that.
ne1uno
03:36parsing very long url's maybe
GiuseppeChillemi
09:01@greggirwin you already have file and structure:
09:05C:\Users\xxx\AppData\Local\Google\Chrome\User data\profile 1\bookmarks
09:05Change xxx with your windows user
09:06The file is the Chrome bookmars file!
09:07*bookmarks
greggirwin
17:02Thanks.

Oldes
12:3380MB for Bookmarks is really a lot.. my file has only 135kB.
12:35I think that the reason is, that map! is not the best type for something like JSON, because it requires hash tables.. and as JSON file is usually transferred to map of maps, there is wasted quite a lot of memory and computation to build hashtable for each map.
12:37@GiuseppeChillemi if you want to just parse the file to get the info from it... use just plain parse and you will have much better times. the structure is not too complicated.
12:50Maybe map! could internally use a block and not hashes for small maps with just few keys.
12:52@ne1uno it will not be related to url parsing, because all urls are in this file stored as plain strings
GiuseppeChillemi
14:59@Oldes My bookmarks are mixed: I use them as History. I save in folders "bursts" of search results about topics, so it increases 30/50 entries each time.
15:09I have also saved the map to Red file and LOADed it. It takes 4 seconds vs. 80.
15:11The slowness is related to parsing and conversion. because at LOADing to a MAP I imagine the hash tables are recalculated.

hiiamboris
15:21Try Redbin
Oldes
15:23I think it is because of rehashing... and stressed GC. I'm not sure if it's possible to improve it without not using map!. But as I said... it's easy to use pure parse just to get info you need without ballast which is in this file.
15:24And my opinion is, that 01:20 minutes is bad.
rebolek
15:26Rewriting JSON codec in R/S would help if anyone wants to give it a try :)
GiuseppeChillemi
15:26@hiiamboris
SAVED-AS-MAP -> LOADED-TO-MAP = 4 seconds
JSON -> LOADED-AS-JSON = 80 seconds.
rebolek
15:27@GiuseppeChillemi
and SAVED-AS-REDBIN -> LOADED-TO-MAP = ?
pekr
15:27That's a juge difference. The thing is, what are we exactly comparing (whatn happens behind the scenes)
GiuseppeChillemi
15:27The slowdown resides in the JSON codec.
15:28@rebolek I will try once at home. How doto I save to REDBIN?
Oldes
15:29Using redbin is imho not a solution... as I guess Giuseppe wants to get data from JSON, not from prepared file format.
rebolek
15:29@GiuseppeChillemi
save/as %delme #(a: b) 'redbin
15:30@Oldes I know, I'm just nterested how faster would Redbin be over text (Red).
GiuseppeChillemi
15:30@rebolek
I have connected remotely to my home machine, could not wait!
Oldes
15:30Yes... that will be interesting test case for such a huge data source
GiuseppeChillemi
15:30But I have a bad result... very bad!
rebolek
15:31for the JSON loading, I guess only R/S would help
GiuseppeChillemi
15:31
>> save/as %bmarks.redbin b 'redbin
*** Internal Error: internal limit reached: 20000
*** Where: encode
*** Stack: save

pekr
15:31There is no parse in R/S, no?
rebolek
15:31aha :)
15:31@pekr no, you would need to write the parser manually using a loop
Oldes
15:31@rebolek what if you use block instead of map in json codec?
rebolek
15:32but JSON is pretty simple format, so it wouldn't be hard
15:32@Oldes you can try to patch the JSON codec to test it
Oldes
15:32I will wait for someone else... I don't need it so much.
rebolek
15:33me neither...I use JSON for web apis where the size is in kB or tens of kBs
Oldes
15:36Problem is, that map! is required as JSON have also block values.
15:37So proper solution would be not using hash tables for tiny maps... like used in the bookmarks file.
hiiamboris
15:48> *** Internal Error: internal limit reached: 20000

Oh no! You killed Redbin!
15:56reported.
GiuseppeChillemi
16:47@hiiamboris Radio Killed the RedBin
greggirwin
20:49We can take this to red/red or another room. It's a good technical topic. We don't have a red/codecs room. Should we?
20:50We do have https://github.com/red/red/wiki/%5BHOWTO%5D-SYSTEM-CODECS,-LOAD-AS-and-SAVE-AS, where we can make notes, or we can add codec specific notes on their individual pages.
20:52JSON's is [here](https://github.com/red/red/wiki/JSON-codec)

rebolek
07:17Codecs room makes sense to me.
pekr
greggirwin
17:43Done: https://gitter.im/red/codecs
GiuseppeChillemi
18:11@greggirwin REQ: Red Advocacy Gitter Chat
18:11(please!)
greggirwin
18:21We can do most of that in red/red, where the bulk of the community will see it. Advocacy is a very general topic, but we can point to the wiki page on it as well.
GiuseppeChillemi
18:45Advocacy often is the place "strong" conversations, so it would be useful to keep red/red free from them.
greggirwin
18:47Well, let's see how it goes. New rooms usually come up after the need is determined by pushing a current room too far. :^)
GiuseppeChillemi
18:55I can help to shorten the time for the creation of the group, but you should attract both Doc and Vladimir to join some Red advocacy discussion on Red/Red. I have a special skill to upset them (but I respect both either for their great knowledge, commitment and also for the spirits that moves their hearts).
greggirwin
18:57LOL! :^)

Respectech
19:25Here's an interesting thought. Red can run on this as Ubuntu Linux ARM is supported as an OS: https://ameridroid.com/products/odroid-go-super
greggirwin
19:39That's pretty cool @Respectech. I'm particularly intrigued by the external GPIO interface.
Respectech
20:00Hack together a Red-powered Robot running on a game handheld.
greggirwin
20:10I was thinking industrial and commercial use. See the internal state of an industrial machine, and be able to make adjustments with the controller. Program a lighting controller via a local access panel, rather than something more involved (e.g., longer runs, net access and security). But it could also be *really* cool for interactive exhibits or competitions. Imagine a "close the circuit" maze game where you control relays but also have the UI and controller to navigate *which* relays you interact with. Now make it a team or competitive setup, where it could be real time or turn based. e.g., a central unit can enable or disable your GPIO signals based on whether it's your turn, timers, etc.

Respectech
18:21I like that idea.

gltewalt:matrix.org
16:53Is there a better book than The Cuckoo's Egg?
greggirwin
17:23It's a great book alright. But better in what regard? Cliff Stoll is sooo entertaining. If you haven't seen his TED talk, look it up. He also makes Klein bottles and writes the most entertaining correspondence when you buy one.
gltewalt:matrix.org
17:45I guess in the computer/hacker/faction type of category, if it's a category. 😁
Is there a better book as far as entertainment and real (actual) hackety info?
17:50Masters of Doom was entertaining, but my main memory from that book is Carmack wading through deep floodwater to go work on his code.
greggirwin
17:56Anything by Robert Glass or Isaac Asimov, A Madman Dreams of Turing Machines, A Mind at Play, The Idea Factory, Mindstorms, "Turtles, Termites, and Traffic Jams", The Design of Everyday Things. "The Deadline" was just OK to me. A few ideas anyway.
gltewalt:matrix.org
18:09"A Klein Bottle has one hole. This, in turn, causes it to have one handle. The genus number of an object is the number of holes (well, it's more subtle than that, but I'm not allowed to tell you why). Other genus-1 objects include innertubes, bagels, wedding rings, and teacups. A wine bottle has no holes and so is genus 0. (The genus of a human being is difficult to define because it depends on what you consider a hole -- I'd estimate most people have a genus of 0 to 4, slightly higher when yawning. Pierce your ear and you'll increase your genus by one.)"
😄
Respectech
19:18Interesting discussion.
19:20On another topic, I'm in desperate need of an Expert System that my employees as well as my customers can use to get answers to complex problems. It has to be an extremely low barrier-to-entry or our customers will not use it. If it isn't dead simple to access, they'd rather make us do the work for them than put any effort into finding the solution using an Expert System.
19:23Does anyone know of something like this? Of course, I'd love to write it in Red, but not sure that that would be the lowest barrier-to-entry for our customers (they'd have to either install Red first or their AV program could possibly block the pre-compiled executable causing us to have to answer questions about how to get the question-answering thing on their computer, thereby defeating the purpose of the question-answering thing).
greggirwin
19:30In the near future, we'll EV code sign Windows Red builds. Not all automated builds to start, but probably at least monthly.

What kind of questions and answers?
Respectech
21:50The EV code signing sounds good.
21:51Questions and answers like:
EXPERT SYSTEM (ES): Is your H2+ problem with (1) Hardware or (2) Software?
USER (U): 1

ES: Is the hardware issue
	(1) No display
	(2) Power-related
	(3) Other
U: 1

ES: Is the red LED on the H2+ solid (not flashing)? (1) Yes or (2) No
U: 1

ES: Are the 2 blue LEDs next to the red LED solid (not flashing)? (1) Yes or (2) No
U: 2

ES: The problem appears to be that the H2+ cannot read your boot media. Here are some steps to try...
greggirwin
22:15Got it. Thanks.
22:15@GaryMiller is that long the lines of the stuff you're doing with Red?
gltewalt:matrix.org
23:26Make flowcharts instead?
Diagrammer
23:28Grammar
Respectech
23:55That's not a bad idea. We should look into what that would look like.
greggirwin
23:59Nice idea @gltewalt:matrix.org! The trickiest thing might be naming, because you want yes/no choices sometimes, but names need to be unique. Other than that, you jus type in the rules and it would be interactive for employees. Customers could use the free version too, and we talked about a "reader" like a PDF reader works. With that, and one extra build step, you could bake your custom content in.

Respectech
01:36The version of Diagrammar that I have is from Feb 2020. Have there been many improvements since then?
greggirwin
01:39Sooooo many. We're testing 1.1 now, with even more.
01:40You can use the free version from https://www.redlake-tech.com/products/diagrammar-for-windows/ (link near the bottom of the page). The only limitation is that it watermarks the diagram.
Respectech
01:46Would you mind giving me some inspiration on how you think a grammar for an Expert System might work in Diagrammar? Maybe a basic .rule file and how the support staff would interact with it? Their main needs are to be able to take a customer question and drill down to an answer. They might do this while on a call with a customer or while answering an email for a customer.
01:47If this works, we may be able to sell this to some of our suppliers as many of them have the same types of issues with handling customer support.
01:48Generally, the customer support staff are non-technical, but they are familiar with using user-facing software applications.
01:49BTW, I don't see a red/diagrammar group to move this to. Does one exist?
greggirwin
02:21Will do Bo.

https://gitter.im/redlake-comm/DiaGrammar
ne1uno
03:07gltewalt https://www.goodreads.com/book/similar/19611-the-cuckoo-s-egg-tracking-a-spy-through-the-maze-of-computer-espionage
BaronRK
05:19[![1611302560650.jfif](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/Xh8X/thumb/1611302560650.jfif)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/Xh8X/1611302560650.jfif)
pekr
05:42@Respectech We use Chatbots in our company. Well, whole unified call centre solution, but including chatbots. Those allow our customers to go thru such a questionary themselves. It is so well structured, that we are able to let chatbot fill in the support ticket in our IS. The other mode is "on behalf", so that if some more elder or not so technically skilled client calls or visits our support site, our personal can start the chatbot session on behalf of them, going thru the same diagram path, so that we can be sure they don't forget to ask about something important. Chatbots are nowadays becoming being a commodity. Our supplier uses Microsoft chatbot engine. We use FeedYou system, but you might find many others online - https://feedyou.ai/
gltewalt:matrix.org
10:34One thing that's peculiar about this Element (matrix) - Rust has a huuuge room. I'm not sure why. I dont believe that it's in the top 10 in language rankings
hiiamboris
13:55maybe they bridged it to all IRC servers where Rust communities exist
Respectech
16:55Thanks @pekr. I think I just broke their Chatbot trying to get more info.
GiuseppeChillemi
16:58@Respectech not a good start!
greggirwin
18:03It's funny how long it took [Eliza](https://en.wikipedia.org/wiki/ELIZA) to go mainstream. :^) That said, most online "chatbot" systems are really just menus like @Respectech needs. Even if they aren't great for users, with moderate success in answering, they do 2 things: 1) They make the user feel like they're involved in a conversation, which is good psychologically. 2) They may not answer the question, yet lead the user to think of something that helps them. Almost certainly, even with many sessions still reaching a human, reduce support costs for companies.

What would be a cool next step for them, which must surely exist already, is using user input to train them, so you have vetted data, but also feedback beyond "Did this answer your question?" Instead, let users be even more empowered and tell you what they did or didn't do, along with their ultimate solution, even if that is "I just gave up."
pekr
19:14FeedYou provided us with data - the ratio was something like 80:20 for the Chatbot. With normal form, ppl were leaving much sooner, in average under the 5 mins, with chatbot, the average for their test was more than 18 mins. So yes, it most probably is a psychology too. But - don't underestimate those engines - they can connect to various other AI engines, speach to text translations, etc.
greggirwin
19:38Good info. Thanks @pekr.
GiuseppeChillemi
20:24@pekr A chatbot creates engagement, while a form creates resistance inside the user. (Oh noo, a boring form to compile...)
20:25And yes, it is psychology in action.
hiiamboris
20:28Indeed. Make it look like an old-school RPG with your bot's character face on the background image, and a choice of dialogue phrases, that's the ultimate user experience ;)
(and make character's eyes follow the mouse pointer, like in Dune2)
gltewalt:matrix.org
23:20@ne1uno I see that Sandworm is on that list - I'm starting that one in the next few days

GaryMiller
05:15@greggirwin If reference to your question concerning the way my AI works no. I use Levenshtein Algorithm to match the pattern the user typed. And then the closest matching pattern from the list of patterns (25,817 patterns now) determines the response along with variable values committed to short term menu from earlier user inputs. So if the user said they were wearing a red dress. The AI would deduce base on the pattern matched that the AI/Gender: copy "female" such that if I then asked the AI "Am I a man or a woman?" it would answer "You are a woman." So it's really a BOt technology instead of an expert system technology. But like an expert system each pattern can have conditional logic ao i you ask "Am I a teenager?" and you've already told it your age it's > 12 and < 20 then it would answer "Yes you're ' AI/Age " so you're a teenger." or "No you're " AI/Age " so you're not a teenager." if the age check came back false.
greggirwin
15:10Thanks.
BaronRK
16:47Chatbots are starting to get more useful.

Just showing other related questions and answers helps a lot.

But way slower than I would have expected. The Expert Systems of the 80s did this (Amiga Et Al)

loziniak
09:07@greggirwin
> In the near future, we'll EV code sign Windows Red builds.

Is it going to stop false positives in A/V software? Is it some sort of standard, and all software supports it? Will executables released with signed Red be also immune to false positives?
greggirwin
17:38It should stop A/V false positives, yes. EV code signing is a major standard on Windows. Mac does something different now, and Linux doesn't do it at all AFAIK.

> Will executables released with signed Red be also immune to false positives?

No. Not unless we can figure out how to pragmatically provide it as a service, which likely involves code reviews by our team. That is, a signed app is trusted, and the owner of the signing key is accountable. So even if we *could* automate it, as soon as someone puts out a piece of malware written in Red nobody will trust our key anymore. Plus, it puts users at risk because the OS trusted the app because it was signed. So we have to be *very* careful about what we sign.

The answer, which is pretty painful, is that each user needs to get their own key and sign their own apps. On the bright side, we have this process down now (including finding a deep issue that kept it from working initially), and can provide help.

Has anyone checked VirusTotal lately, to see how Red is faring?
loziniak
17:45Fantastic news! Like a pretty close light in a tunnel :-) It looks like somewhat expensive – certificates cost a few hundred $ / year. Or is there a possibility to self-sign?
greggirwin
18:01There are self-signing options, but I haven't tried them.

https://stackoverflow.com/questions/84847/how-do-i-create-a-self-signed-certificate-for-code-signing-on-windows

Let me know if you want to try it and I can provide some support.
loziniak
18:05I'll probably try it, but probably closer to our release. Thanks a lot!
greggirwin
18:08We also learned a *really* interesting lesson. When we added an icon to the app, then UPXd the EXE, for *some* users the 48x48 icon wasn't found by Windows. Other resolutions were fine, but not the one the desktop prefers. :^\ So we gave up UPX for the time being. @hiiamboris found a couple competitors to it that seemed to work OK, but we haven't made time to revisit it.
Oldes
23:17@greggirwin that is strange, because if I use UPX 3.96w on Red-CLI and throw the compressed exe into Resource Hacker, than I can see 48x48 icon.
hiiamboris
23:33Yes we did that as well
23:34RH sees what W10 can't ;)
greggirwin
23:45As @hiiamboris says, it's not corrupting the resource in the executable in a way we understand yet. Tools all see the resource section just fine, but Windows itself does not.
Oldes
23:57I believe that my Windows see it. Btw... W10 supports 256x256 icons.
23:59Also UPX is open source, so if there is any issue, it would be nice to submit it. https://github.com/upx/upx

greggirwin
00:15I think 512x512 is also supported, at least in ICO files themselves. Huge icons create another issue though. A UPX'd version of DiaGrammar for example, is ~550K. Large icons, just the ICO file, may be 120K or more. So we have to ask how much value they add, and what percentage of space we want to give to them compared to the rest of an application.
Oldes
12:27Such a large (512x512) icons are imho used only in stores front end, so I would not include them... on the other side, 256 icon may be used in high resolution environments. As an icon may be internally made from PNGs now, it does not have to be too big... especially if optimized using tool like [pngquant](https://pngquant.org/). But I understand your feelings.
12:35Also I somehow feel, that users now expect large apps and may have a feeling that small app has limited use in comparison to app, which may have several GBs.
12:35I'm not sure if there is enough people left, who cares if their app can fit on a floppy disc.
rebolek
hiiamboris
13:10Megacorps do everything in their power to demonstrate the inadequacy of their products. A single experience of comparing huge product to small product is enough to learn the difference ;)
13:10(that of course does not apply to people who don't know how to install software)
gltewalt:matrix.org
16:40As someone who still has one foot in 'regular user land' - its about how long it takes to get, install, and be doing something.
I attempted to set up electron once. Quit before it was done and have never looked at it again.
dsunanda
18:49Simplicity of deployment for Red (and Rebol before it) is a big plus for developers. For example, I support some deployed applications whose update process (for bugs or improvements) is this:
1. I send them a (link to a) small zip file.
2. They drop it into the application's folder
3. They restart the app - it notices the zip file, extracts the contents (usually scripts) and then restarts itself
Done!
(There's some fiddly code in there to roll back to a previous zip if the fix breaks things - but that is rare, and mainly invisible to the users).
This makes deploying updates almost trivially simple at both ends. No gigabyte download followed by clicking OK repeatly to a slow installer.
greggirwin
19:47Moving to red/red.
GiuseppeChillemi
23:23

;Server
port-number: 55552

listen: open/direct/lines probe to-url rejoin ["tcp://:" port-number]

connection: first listen
wait connection
x: 0
forever  [
	x: x + 1 
	insert connection zz: rejoin [x "-Server-"]
	if integer? x / 100 [probe zz]
]


This is the client:

;Client
port-number: 55552
server-address: "localhost"

connection: open/direct/lines probe to-url rejoin ["tcp://" server-address ":" port-number]

insert connection "Hi" 


y: 0
forever  [
	wait connection
	y: y + 1 
	zz: first connection 
	if integer? y / 100 [probe rejoin [y "-Client-" zz]
	]
]


If I close the Client while the server is transmitting, nothing happens and the server keeps sending (try it, the progressive number will continue). Why does this happen? The connection should be closed and I should receive an error on the console.
>

GiuseppeChillemi
00:35Doing the opposite, I have discovered that the last message I receive (using COPY) from the server after closing it, could be truncated. I don't understand how to discover, from the client side, that this event has happened. I have no error, it is a legitimate string with less characters than those I have sent.

GiuseppeChillemi
18:47I think Red would score the same as Haskell
18:47https://thenewstack.io/which-programming-languages-use-the-least-electricity/
greggirwin
22:05I love having numbers...but this seems like a waste of research time and money. It's a great, real world example of an old joke: https://www.ajokeaday.com/jokes/airplane-jokes/microsoft-air-bbbezsnush

I don't mean to criticize the *goal* of the researchers, but the numbers are no more useful than what common sense tells us in vague terms. Sooooo many more things have an effect that I don't think their results can help us answer anything we might really care about.
Oldes
hiiamboris
22:33their 'answers' site is indeed the most useless support site I've ever seen
gltewalt
23:11If youre a bitcoin miner, you might care. But maybe not.

GiuseppeChillemi
00:14The fingers are back!
00:15But ATM I have limited movements capabilities
00:15I will write to you here to improve them
greggirwin
01:52Glad to hear it @GiuseppeChillemi.
hiiamboris
10:20Great! Write us a poem ;)
GiuseppeChillemi
11:36@hiiamboris it will start with Red []
hiiamboris
14:28:+1:

GiuseppeChillemi
23:52An inspiration for future Red Dialects! The [fetish programming language](https://github.com/fetlang/fetlang) Why don't we start implementing it?
23:52😁
greggirwin
23:56That's got some funny bits in the readme, including the license. I suppose it could work well with an interactive fiction engine. ;^)

GiuseppeChillemi
00:10BSDM (BSD Modified) License :-D
Respectech
01:23@GiuseppeChillemi Aren't you in the clergy? ;-p
01:23Or do I have you confused with someone else?
GiuseppeChillemi
07:46@Respectech I am not in clergy! :-D
08:13I have many problems but not this one!
Respectech
15:37Hmm. I know some Italian Rebol-community member from sometime in history was a member of the clergy. Sorry for getting you confused with them!
GiuseppeChillemi
23:27@Respectech It has been a funny message to read! :-D

GiuseppeChillemi
22:46Rebol has passed away.
22:46https://www.chambersfuneral.com/obituary/218060
22:47I have found an entire Rebol generation
greggirwin
23:26@GiuseppeChillemi some years back my son sent me a pic of a business with the Rebol name in it. Not very common, but they do exist.

GiuseppeChillemi
00:56The same name led to strange conjunction. My Name + Surname is not common here. This afternoon a stranger has visited my mum's store and has left a business card in case she needs a second hand car. There was my name + surname written on it. She asked me if I have opened a car sale business and I have left my company for this new adventure.
01:00Here is the business card
01:00[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/8rQ3/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/8rQ3/image.png)
greggirwin
01:21My name is rare as well, but there are a lot of people in the world, and we're creative names can be a challenge as well.

GiuseppeChillemi
02:18I am a lot satisfied today. I have made my first reusable VID panels Today, in Rebol. They are written in such a way that when we will have multi column text-lists in Red I will be able to port them in short time. I have used the technique of wrapping a context around them, so changing the creation parameters is a matter of setting a couple of words in the context. I can even link them so, when you click on one, the other show you the relevant data. Now that I can manage such complexity in a simple way, I can see the full beautiness of Red and Rebol.
02:22Also, data sources are retrieved from a Rebol made server which executes queries on a Sql Server and sends the result. I Have literally spent night on code, after 12 hours of work, to become Redbol fluent. It has never costed fatigue. After a Redbol coding session I feel less tired then when I have started
02:25During this journey I have encountered a lot of projects and documentation made in the last 20 years. From rebol.org scripts to github, there is an immense treasure waiting to be ported to Red
02:26This round we must have success. Red can do great things and the world will recognize it as one of the best languages out there
02:27Good night to everyone.
greggirwin
04:14:+1: Thanks for the Redbol report!
gltewalt:matrix.org
07:00I am very happy for you. Take time tomorrow to bask in the feeling.
GiuseppeChillemi
08:54Today's task will be to reuse some more code, have auto-calculated column sizes.

08:59The major problem when you create reusable segments of code is the loss of fluency in code reading. You have better results when code one line after another than having to retrieve it on an off-screen library. It would be great to have an editor where you hoover a word and see the corresponding segment or that would "expand" the library segment just under your cursor.
greggirwin
19:16@GiuseppeChillemi indeed. A smarter tooltip, like DiaGrammar does with rules.
GiuseppeChillemi
19:41Yes, I would like to have it in VSCode.

hiiamboris
18:52@GiuseppeChillemi since Redbin upgrade was just merged, would you test it on your bookmarks-of-the-whole-internet file?
BaronRK
18:53From my POV...

EVERYTHING should be an API all said.

GiuseppeChillemi
19:19@BaronRK Do you mean that everything should be able make us easy creating SOA systems?
BaronRK
20:55In essence, yes.

In general, programmers should ask themselves 'how can I make whatever I build the mot reusable for others'

GiuseppeChillemi
00:54Generally speaking, I am trying to make things reusable for myself. The panel I have created can be used to display any list and a side list driven from selections in the first one. You just provide 2 queries, the main one and those used to popular the second taking the result of the first. Everything else will be automatic. This will let your reuse the panels changing just the queries.
11:13@hiiamboris I have missed your message.
11:13I will test it later.
BaronRK
17:07Giuseppe, cool.

As an example, we are working on an OCR feature for Prolific.
But, both to shore up writing it as best as it can be written, I ask of it 'can we just call it stands lone outside of Prolific?'

If we are going to spend a lot of energy building this as a box, let's make it as much of a black box, both in usage, and in code.

This is my mantra going forward.

greggirwin
20:09@hiiamboris @GiuseppeChillemi I did a quick test on a couple 2-2.5M JSON files. .75-.9s to load via the codec. .03-.06s to save as redbin, .0007-.025s to load redbin.

Respectech
01:46@BaronRK I still remember your talk from the RebCon in Davis years and years ago where you spoke of how you work at Prolific at making your functions as general-purpose as possible so they can be reused. Since then, I have tried with varying degrees of success to do that every time I write a function.
gltewalt
04:08This is me

https://imgur.com/zviTedF
greggirwin

BaronRK
16:14I've learned a lot in the past decade, not so much about how to do things, but how 'most programmers' (and people) approach problems differently than myself.

Mostly about the fact that humans are mostly task-oriented, vs goal-oriented.

Permit me this rabbit hole as an example:

How many times have programmers written login code? Why is this not a stand-alone fully functioning single command?

(think of all the overhead and code and time of every website out there for login related crap)

Why are logins still User name, and then a separate Password field?

(be careful with your answer, you might as well consider this my Queens Gambit, and if you don't know it, then you lose in 4 moves)

So mostly what I have changed is how I present things, but we are missing a few tools that I believe (hope) will move people (and programmers) forward faster.

Much like there is a tool called a Word Processor (that mimics paper), and a Spreadsheet (that mimic ledgers), I hope a more fully comprehensive Flow Chart system will dramatically change how people mimic 'knowledge'

greggirwin
16:54I think there's a psychological aspect that aligns with tasks v goals: we're lemmings. Doing something different takes courage, but is also interesting in that it's not good for your individual survival to break with the tribe. It's not just programmers, but artists, inventors, musicians, writers, creators of all kinds. Doing something new and different is risky, and has a higher probability of failure, but it's those "mutations" that drive evolution.

Software reuse didn't exist on a large scale, though people tried to force it, until the web, JS, and NPM. Maybe we can liken it to a biological system as well. Not a virus, but more like cancer perhaps. Not trying to insult the tech, just thinking about how it works. And like cancer it doesn't have a plan. It just grows until it kills its host. I think this applies to both the users and the system itself, and people have to actively fight this cancer.

What's tragically ironic is that we, as programmers, don't often break new ground. Not in any significant way. I was reminded of this while doing split research; every language just copied what other langs had. But we *don't* just use someone else's, or think about having other use it. This is your task focus at play. We want to do our own thing, thinking our version will be better, but so very rarely think in terms of empathy for others or the goal of the greater good. Is it the biological competitive wiring that makes us "fight" in this way? Is that also why nobody like to do maintenance? Old bushes are picked clean and we want to move on to greener pastures.

What's been missing is a gene pool and a method of natural selection. NPM has a lot of arrows in its back, and left-pad (I hope) taught the world some lessons, but someone had to be first in this global mess. I have many thoughts on this. Right now, though, I'll try to change one small thing in the world and see if I can save a few lemmings.
hiiamboris
17:09> think of all the overhead and code and time of every website out there for login related crap

And why do you think there's so much complexity in everything that every corp produces? Why there's so much bureaucracy in every govt? It all grows from the current world economy model. And economy model can't change until population's awareness of it's problems reaches a certain critical point.
17:10Programmers are pawns here, not the players.
greggirwin
17:11I'm not a pawn! I am a Knight! A Knight Errant perhaps, for those familiar with Don Quixote. ;^)
hiiamboris
TimeSlip
17:12I feel more like Sancho.
greggirwin
17:15:^)
hiiamboris
17:16> Why are logins still User name, and then a separate Password field?

Login you can share, password you cannot. It made sense back in the day. Now it's usually email+pwd, just because email is the closest thing to universally accepted unique identity we have today. A silent agreement of our time.
Oauth is different but born dead since nobody (in their sane mind) wants to centralize control over what site one can or cannot visit.
There's a bunch of great blockchain based auth mechanisms but we've yet to see who of them wins the day.
zentrog:matrix.org
17:28https://www.grc.com/sqrl/sqrl.htm is an interesting login technology
hiiamboris
17:39Yes interesting thanks.
17:41> SQRL gives websites no secrets to keep

This is a problem.. If website doesn't have my email how is it going to get revenues from ad spamming? ;)
greggirwin
17:43I can't read about the tech. I'm too enamored of their logo.
17:45But I will study it, once I've recovered. Thanks @Dander.
zentrog:matrix.org
18:11haha, yeah the logo is great. I've been listening to this guy's podcast for years. If I remember correctly, I think another listener donated it. One other point of trivia - he mostly develops in assembly, which is why the download is just 278k
BaronRK
18:25Logo - Damned cute.

Name + Password - I start my argument with just allowing one to type the name and the password in the first single field.
There is no 'good' reason to prevent this.

Consider how many millions of times per second people waste just moving or copying from one box to another.

Or for those of you that have set up lots of IP addresses, what aholes force [---].[---].[---].[---]?
Just let me type the whole IP address in at once! 192168001001. Again, this is programmers torturing other programmers!

zentrog:matrix.org
18:43I think the dots do make it a lot more readable, but it's an interesting point for straight data entry. It makes me think of all the phone number fields where sometimes it's just a single box like you suggest, and the page fills in the extra formatting parens and hyphens, automatically adjusting it as you add more digits for different locales. Sometimes it is very slick, and other times it's much worse than if they had left it a plain text field
hiiamboris
18:45> name and the password in the first single field.

It may not seem so but it's extra complexity.
1. This raises a question of format: name then password or password then name? what is the accepted delimiter? E.g. Matrix IDs were first id@matrix.org, then they changed it to @id:matrix.org and imagine every site accepting it's own format of that..
2. Security from cameras and loiterers and just colleagues occasionally passing by. Password field is hidden by asterisks and it should not be cached by both browser and whatever autosuggestion system your OS incorporates. Totally different rules.
18:46@zentrog:matrix.org +1 for readability argument. Of course if someone *demands* you press a dot between digits, that's a crime. Same as when you can't paste a license key into a single field :D
greggirwin
19:22> Sometimes it is very slick, and other times it's much worse than if they had left it a plain text field

+10 (yes, 10)
19:23And from our side, it's impossible to get "right" because...users.
gltewalt:matrix.org
19:49You're not a serious project / product until you have a fancy logo and adorable mascot
BaronRK
21:41' interesting point for straight data entry.'

Yes!, just input.

'name then password or password then name? '

I'll put forth, everyone knows it is name then password, the same way they know first name then last name. And if the Japanese put in last name first, guess what, they will LEARN.

Which brings me to your second point, this is already solved, we post it with '**** *********'
Add one of those [Eye] icons if you want to see it plain text.

Again, there is no 'good' reason to have to fields. It just wastes time.

In the case of email + password, we are pretty sure which is the email, so we can show that plain text, and hide just the password.

I want to make a very serious statement here:

- Just because we can come up with edge cases or corner cases, does not mean they actually matter.

- They have to be weighed against the alternatives.

The fact is, name or email + password should be in one field.
Other things that should be allowed to be entered into one field are addresses, all credit card info (name, number, date, code) again, because, it all wastes human time and overhead not to.



hiiamboris
21:44> Which brings me to your second point, this is already solved, we post it with ' *' Add one of those [Eye] icons if you want to see it plain text.

That does not address the issue. How do you have '*' for the password but not the username if they're in the same field? How do you partially cache this string so that only username is remembered?
21:50I disagree with the credit card argument as well ;)
Separate fields exist because they all have different data types and consequently different validator algorithms. And also they are prefixed with the field name which tells what to input where, because otherwise the first thing people would feel when presented with such enter-everything-here field is confusion. Usually the form even visually presented to look like a card so people won't mess it up.

You should rather fight the "Address line 1" / "Address line 2" custom they have in the US. What a meaningless thing ;)
21:59I also fail to see how multiple fields waste human time. When you enter the last digit into one field you are usually instantly moved into the next one. If it was all one big field you would have had to press enter between different kinds of data, so it actually saves time IMO 😉
22:05Regarding IP addresses. Is 111111 a 1.1.1.111 or 1.1.11.11 or 1.1.111.1 or ... one of many other variants?
greggirwin
22:49There are many aspects to this.

First, there is no average user or even use case. Everybody is new to a system at least once. Some people enter the same data a hundred times a day, or more. If you start with a blank page, you can't possibly know what to do, but if a field says "New Appointment:" and you know that means a date and the name, rank, and serial number, you can type 2 wks from today Lt G.S. Irwin #123-456-7899 rather than selecting from a calendar, drop down of ranks, name...does it want full first and middle or just initials?, and 3 fields that eventually tell you there are too many chars in one of them...

But you'll still get it wrong sometimes. So this is where the world needs to work more like Interactive Fiction. You enter something and it says "I don't know what LEFTENNANT is.", kindly providing you suggestions and, ultimately confirmation about what it understood, narrowing errors as you go. You don't get that today. It's all or nothing. Not "These all look good [list], but you forgot the rank. Since I wasn't busy, I used the serial number to look it up. Sorry to hear you were demoted."

What we have today is rude machines that let you enter 20 fields of info, then slap you in face, throw away what you wrote (not always, but often enough), and say "Wrong! Try again.". Then we have the gall to say we care about UX, even coining an acronym for it, when all we really do is polish turds.

You've probably heard me talk about interrogative interfaces, and that's what I think Reichart is keying into (pun intended). Can you enter an ambiguous IP address? Sure, and the system can say "Either you're drunk again or your cat is trying to SolarWinds somebody. My best guess is one of these: ..."

Anyone ever hear of Expect? Imagine what this looks like in an automated future. No, really.
BaronRK
22:51'That does not address the issue. How do you have '*' for the password but not the username if they're in the same field? How do you partially cache this string so that only username is remembered?'

See, and here we begin the core conversation.

Are you telling me, that as a programmer, you can't allow me to enter a string, and parse it, NOTICE that it has an email, notice it has some other data after a space, and then present to the user name@email.com ########?

Are you saying you can't solve all use cases?

I'll stop on this one until we resolve just this before moving forward.
22:53Gregg, exactly.

I'm also cool with giving people both fields until everyone learns (should be about 1 year), and simple say, 'Please enter your name/email a space and then your password.'

There we fixed it.
greggirwin
22:54Yes, we're saying the same thing in different ways. I'm just all worked up and ranty. ;^)
BaronRK
22:55[side note, I love that this annoys programmers. To me this is the evidence that programmers can't be allowed to do design things]
gltewalt
22:56"Whatever user input can be controlled, must be controlled"
greggirwin
22:56:^)

We can even be nice to people and tell them how to type things. How many times do we *still* fight with password fields that don't tell us until after the fact that they don't allow certain things. Of course it's a clue they're not hashing, but still.
22:59To @gltewalt's point, we're doing it the hard way now, it's just that we're inured to the pain of it. As soon as you specify things as grammars and rules, you should be able to prettify those, reflect on them (all automatically) and use them to help clue in users. What we have now is someone saying "This field has to contain XYZ" and a programmer writing a post hoc regex check for that, with no other context for *anybody*.
23:03But we *do* have to write those helpers and interactive feedback, otherwise we just become another CLI.
gltewalt
23:14Run through turbotax or another leading tax filing program - should give you a good feel for user hand holding via GUI. They have to get it as right as possible consequences are high.
BaronRK
23:15GregT - EXACTLY! (side note, I lived in Quicken and use to help with the UI design when Intuit started).
greggirwin
23:16Indeed, and they've put huge effort into that.
BaronRK
23:19[I should also mention, I literally hold the patent on this process of IDing and parsing data types]
hiiamboris
23:23> Are you telling me, that as a programmer, you can't allow me to enter a string, and parse it, NOTICE that it has an email, notice it has some other data after a space, and then present to the user name@email.com ########?

> Are you saying you can't solve all use cases?

> I'll stop on this one until we resolve just this before moving forward.

I'll answer with Gregg's words :)

> What we have today is rude machines that let you enter 20 fields of info, then slap you in face, throw away what you wrote (not always, but often enough), and say "Wrong! Try again.".

I had an experience this year where I lost about an hour just trying to make an order on the site. I reentered A LOT of fields like 20 times before it worked. Then I lost a day on people who were more unreliable than their machines ;)

Or also funny, just from yesterday. We have this most popular (or number 2) online shopping and delivery service, where I order a toothbrush. They sent me an email that it's ready for pickup. But guess what they didn't tell me? WHERE. No address. I logged into their stupid site and poked around for 15 minutes or so - absolutely no info on the address. I found a support bot hidden there somewhere and asked it, and it immediately told me all I ever wanted to know. They're idk like 20 years in business. Such a shame, it's pathetic.

And you think people of such "talent" would design you an intelligent password field that will even look up how long you've been using it and will adapt automatically to your level of experience? When they can't even do the most obvious things properly? What? No, I don't buy it for a second. This, maybe noble, intention may only bring more chaos and pain down users heads 🤷‍♂️
23:28I mean - *some* coders will succeed, right. But there are expectations and standards. If people come to your site and see have this moment "why is it so unfamiliar?" all the time, you'll likely repel those people.
dsunanda
23:28Historically, data entry and data validation are only loosely coupled - from the days of dumb 3270 terminals to web browser forms prior to client-side Javascript: forms get validated server-side only after the user hits SEND.
That has drawbacks - such as the inability to validate on the fly (as on Reichart's example) - but it also has UI advantanges as the user is not interupted with validation messages while they are typing. Micosoft's Clippy was not a success.
greggirwin
23:30Oh for the early 90s when you'd think a key was broken on your Northgate Clickety Board because some smart dev decided to just drop things a field didn't like as you typed.
23:41> But there are expectations and standards. If people have this moment "why is it so unfamiliar?" all the time, you'll likely repel those people.

Did I mention lemmings? ;^)

ne1uno
00:29social security USA is the kind of site that throws away your page of info, doesn't say what it didn't like and locks you out for 24 hours trying to register again.
00:30years of complaints you can easily find in search go unanswered
BaronRK
00:45'I mean - some coders will succeed'

As best I can tell, [almost all] programmers only do things via peer pressure.

This is why I want to take as much out of their hands - possible.

00:46note - I lose data about 3 times a week in forms on sites (Banks, IRS, SS#, Phone carriers, all these sites Suck dead rodents through a steel straws).
greggirwin
00:52And if that doesn't leave a bad taste in your mouth...
BaronRK
01:13LOL

It's truly funny because what I want for programmers is for them to work on the FUN stuff.
This crap is not the fun stuff.

So, of course, it comes off sounding like 'I want to take your jobs' when in reality it is 'I want your job to be more fun doing more useful things'

'Micosoft's Clippy was not a success.'

... awe, poor Clippy.
greggirwin
02:34But we can't *see* the fun for all the pain.
02:35Clippy and Bob. No respect. ;^)
02:36They are just like terrible movies and awful car designs. A whole bunch of people had to go along to make them happen. Unless it's a Roger Corman film, and I hear he made money on all of them.
gltewalt
02:45I want a parse visualizer, simple command-line debugger, and sound
greggirwin
02:47At least you're not asking for much. ;^) A Parse IDE is in the plans, and @hiiamboris has a very cool CLI experiment, if others want to weigh in on what they think of his approach. I don't know what you mean by a command line debugger though. We all want sound, but it will depend on ports, so they have to come first, and it's a pretty big task with many design elements.
gltewalt
02:49Errr, text based debugger.
02:50Hold on... didnt you just use Diagrammar to "visuslize" something wirh parse?
02:50CLI experiment with?
greggirwin
03:02Valentine's Day is coming.

That's what DiaGrammar does.

CLI dialect for writing Red apps that process CLI args.
03:03No promises foe V-Day though.
03:04[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/YUu3/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/YUu3/image.png)
03:04Here's how DG makes your recent typo obvious:
gltewalt
03:26http://imgur.com/a/vt1c48w
03:29Need a ms Windows runner on mt linux I guess. So i can use Diagrammar.
03:29My linux
03:30(ignore the actual index. Its just a number for illustration purposes)
03:39Really want sound so i can make simple apps for special needs kids
greggirwin
03:48@oldes is our expert in that area, and has done a number of sample bindings that are in red/code.
03:50If you haven't looked at parse-trace, that's a good place to start. A parse IDE will wrap that, allow step tracing, etc.
gltewalt
03:52parse-trace helps a little, but a visual thing would be the ticket for me
03:52There is no "download" for diagrammar, just the buy option?
greggirwin
03:53Go to the bottom of the page.
gltewalt
03:54Move that button up in their faces :-P
greggirwin
03:55You mean we should tell people to use the free version rather than buying it? I'm no businessman but...
03:56We did that initially, and may again.
gltewalt
03:59Yeah oldes said could do sound but with dependencies
04:00That crossed my mind right after i said it
zentrog:matrix.org
05:00The free version does have an indication that there is a paid version, right? I don’t see why it would take away from sales if people can try it before they know they can buy it, but I’m no businessman either
gltewalt
05:04I think folks usually want to sample
05:06It's not wanting to really run under wine. It launches, but...
greggirwin
06:42It's a toss up in how companies do it.
BaronRK
16:23I'm reminded of a feature we built into our 448bit end to end encryption for Prolific's (then called Qtask) Discussion threads.

Peter Wood and I worked together to make this (it's open source as it should be)

You could lock any message with any private password. So for example, if this message in Gitter used this, I could lock this message, those without the password would see this message from me as simple LOCKED.

But clearly you might end up collecting a lot of keys. So we gave you Lock Boxes to put the keys in.
But that still wastes your time after you unlock you box.

So we allow you to unlock your box once, and then we will use each key you have on any message. Bingo, life is no longer painful.

GiuseppeChillemi
16:25@BaronRK and ALL: I know nothing about web technology. My code is highly reusable on Redbol: I have a context that contains the VID values needed in the events code, the data sources, and also the words associated with the VID objects. Then a function will do the magic and builds the VID Block bound to my context and to VID.
How to build it reusable for the advent of Red on the Web? I see such nice modern WEB UIa and I suppose they are made of javascript code that generates the rendering code for the UI and interacts with server-side code. Should I suppose I'll have to generate this Javascript code or a Red one could be able to render it without the need for JS one?
BaronRK
16:27Recap:

@hiiamboris , do you believe (not feel) you provided any reason NOT to provide Single Feild Entry (I've named it, SFE)?

Our goal is to help humans (I know, that part sucks), without compromising security.
I believe I've addressed each case (Credit Card, Name/Password, IP number)

In other words, 'I don't like it' is not the same as 'this will make things worse vs better.'


GiuseppeChillemi
16:28In other words, would a WID (Web Interface Dialect) generate the rendering instruction or a JS object that does the same?

BaronRK
16:32@GiuseppeChillemi great declaration, great question.

If you will allow me, let's pretend you are making a Calculator.
Simply put, start with just building your parser and calculator as a black box function that can be called from anything (API). Use a state machine for your settings and system state.

So no talk of UI here (other than through a command line).

If you just did this alone, we have 98.6% compatibility between the world of Rebol/Red etc. and other interfaces, such as the Web.

The UI conversation is one that has to do with making a dedicated language and the shit show that is JavaScript and HTML work together, which is sadly pathetic.
hiiamboris
16:33@BaronRK I do. But I'm not going to try to convert anyone ;)
BaronRK
16:35@hiiamboris Good, I view that is not standing in the way of making things better.

See, I don't care if you have the UI your way. I just care that it works my way TOO.
But by saying 'i do' you would also be saying that something about my model of the UI undermines security, you will need to be very clear how that might happen.

GiuseppeChillemi
16:36Another model I imagine for such web tech could consists of a transcoder from RED to WebAssembly and the browser data domain mapped to Red a one. Then the generated web assembly code would render the UI and interact with server-side one.
The word goes to the experts!

BaronRK
16:36Of note, I operate on the premise of https://en.wikipedia.org/wiki/Aumann%27s_agreement_theorem
16:38@GiuseppeChillemi yup!

Truly, it is just so sad that two computers can't agree on 'anything' when we think about it.
All computer programs have to be equally NP-complete, right?

And so any place you find you can't make two computers produce the same results means somewhere in the chain there is an ahole or laziness. :(
16:41When we made IFF
https://en.wikipedia.org/wiki/Interchange_File_Format#:~:text=Interchange%20File%20Format%20(IFF)%2C,not%20have%20any%20standard%20extension.

Apple had to come along and swap the word order

https://en.wikipedia.org/wiki/Endianness

Really think about this. EVERYONE was doing it one way, and Apple decided to do it the OTHER way.
This meant EVERYONE needed to update their programs to deal with Apple files.

Yes, they were ALLOWED to use either. But they are already writing a file out or loading it, why not just go with the flow.

Again, this is why I don't like giving programmers all the choices.
GiuseppeChillemi
16:49@BaronRK my generate-gui-panel creates code that has next-row list-id context and data is retrieved and bound to context something like set-list get-list query destination-gui-element. I don't know if such a structure has the API readiness you are talking about.
17:00Maybe I should start writing functions to resemble like query-data provider data-id
Numeross__twitter
17:07@BaronRK How do these single fields look like ?
17:14I think there is still a little room to improve text fields UX in general. But with multiple fields I have my cursor at the beginning of the field one keypress away (I think it's the Home button on regular qwerty)
edit: yeah this argument works only if you have fields that contains a lot of blank spaces
pekr
17:14@BaronRK Don't get me even started upon lowe level layers being exposed to the user. I can read so many excuses like - this is because we use this or that behind the scenes and such chars are not allowed. From my point of view, any system exposing its design limitations to the end user, is wrongly designed. I talk about stuff like naming site limitations, because behind the scenes ~user dir is used.

But sometimes, it is even easier - different rules to create your username. I could not use 2zone user name of my project on Skype, as it could not start with number. My wife uses dash in her domain name - markova-photo. You can't use that on Facebook when naming your site. On instagram, you can used underscore, with Facebook, you can't. Now WTF - it is owned by the same company? Trying to register something like that across various services is a nightmare.
17:16I also left one Linux distro, because their small busines server did not allow having "info" email envelope for multiple domains. What I was suggested was to clone the whole server as a virtual machine, resources are cheap, right? :-) What a waste ....
Numeross__twitter
17:28@BaronRK I also think that we could see big improvements on web navigation UX on the hardware side
BaronRK
20:23@Numeross__twitter

hmm, well a picture is worth a 1K words: https://www.figma.com/file/nimk1TBSYSFjOQyP1lPAJn/Misc.-Things?node-id=131%3A0
dsunanda
20:28Address entry is even easier in the UK - most cases you just enter the postcode and then select from a drop down - see this government design template example:
https://design-system.service.gov.uk/patterns/addresses/
So .... Move to the UK to solve one common form annoyance :)
BaronRK
20:30@pekr completely agree! - That drives me crazy too. You might enjoy: I leave comments on all passwords, and 'Standard' means all is good. But if a company restricts a password in any way, I put 'Ahole!' There are few aholes at this point. But sometimes companies revert to being aholes.

20:32@dsunanda indeed! (I used that as an example recently to an American company about this very topic)
dsunanda
20:34...And note the "text area" fallback option too - that covers most of your address criticisms. There are some very good designers reskinning all UK gov websites to a single design standard - and the results are usually a treat to use :)
BaronRK
20:39Hmm, to confirm, I don't see the UK Form doing anything automatic (I could have something turned off in my browser).

When I enter a UK address (my childhood home in fact) it did nothing.
hiiamboris
20:40Maybe you should solve this annoyance by demanding to never enter any field data, but let it grab it from a trusted location with your 1-click approval.
BaronRK
20:49@hiiamboris Indeed! I consider what I'm describing with Single Entry Field to be a baseline of the user interface.
It should not hurt existing systems, but allow people that understand it to use it to save time.

Ideally, humans should not need to even be involved at this level, or at least be given multiple choice.
How often could a Router list for you all the IP addresses it already sees? Most of the time!

It SEES the camera I just attached, Fill the bloody IP address in, and let me pick from a drop down if that is wrong.
I'm so tired of helping computers, they are meant to help us :)

greggirwin
21:02We are their slaves.
BaronRK
21:07Scarier, they are a drug, and we are the addicts.
greggirwin
21:14More accurate.

GiuseppeChillemi
14:16About cloud readiness what about if I add an /auth refinement for all of my functions that can be used remotely? Or it's is better an authorized version? Or...???
14:26*authorized session
planetsizecpu
14:31Hi guys, have you noticed the form of user@email ######## does not have a deterministic solution? Since the user can alter the caret location by arrow keys or mouse, it turns a non-deterministic problem. That does no imply it can't be solved, but it needs a non-deterministic solution/language IMHO. Maybe it's what your programmer is telling you @BaronRK
14:34😉
hiiamboris
14:57You mean like this? (;
![](https://i.gyazo.com/77aa7ede5c47f3e284bf2d9a3c7977fb.gif)
14:58Well, certainly, it's not typo-proof... (; But so is multi-field thing. Tab key may glitch..
planetsizecpu
15:19Yes.But the problem goes more in showing asterisks instead the password I mean.
15:23You should set a background parser as for example rate ... On-time to parse the field data and do the work while the user is typing. Easy but laborious.
hiiamboris
15:25Input like this is self sabotage anyway. My points are only that (1) I don't think this unification improves anything, (2) it increases complexity by an order of magnitude for no reason, (3) lemmings™ are gonna screw it badly (think 80% sites).
planetsizecpu
15:27I agree on all with you. Heuristic solutions disturb rational lemmings behaviour 😀
dsunanda
17:58A lot of the big sites - including Google - who may have spent some serious time and money on finding an optimal solution for themselves - have moved username and password to separate pages - needing a click of NEXT to procede.
That's the complete opposite of Reichart's approach.
It may take another decade to see which approach wins in the market :)
hiiamboris
18:01Whatever they did that for - it was not for user's convenience...
18:02More like just local generals waging wars for their places and finance streams by bullshitting everyone around.
ne1uno
18:122FA and multiple site share login? moving target. solution is always more programming
BaronRK
18:34 @hiiamboris

[I hope this is fun for you, it is for me, just to confirm, I consider this a great way for people to work through an idea]

'(1) I don't think this unification improves anything,'

Indeed, this is your opinion. I'm trying to get our opinions out of this conversation. I'm attempting to objectively prove value, leverage, and advantage.

'it increases complexity by an order of magnitude for no reason'

This is what you need to prove. Please remember, I don't care what the programmers have to do, I care what the users do.
Google Search is MILLIONS of lines of code for one input box. Right?

'(3) lemmings™ are gonna screw it badly (think 80% sites).'

I'm not sure what that meant.

This diagram with examples demonstrates the user can do things as they do now, OR, my Single Entry Field makes things always BETTER.

https://www.figma.com/file/nimk1TBSYSFjOQyP1lPAJn/Misc.-Things?node-id=130%3A2

I put it upon you, or anyone of course, to prove specifically and directly it does not.

But let's stay away from opinion. Put in mechanical terms, I want to fill in a Credit Card form old way, would need copy and paste 4 times, or if you like (from one's memory) typing, and then moving the cursors from the keyboard, or finger, or mouse 4 times. SEF reduces this to 1 time.

And then, has added benefit of dealing with some edge cases and correcting them for you. So as swapping info into the correct fields for you if it can be deduced or even induced.



18:45@planetsizecpu

I'm not 100% sure I follow (I truly could be dense).
I do know Email addresses have problematic edge cases for their formats.

However, this is why I believe such problems should be solved by calling on centralised (or decentralised if you think of this like DNS) parsing rules.
In other words, Let's say you have a website, and you want to parse an email, that is using a new top-level domain you have never seen before.
This should not be your problem as a programmer. You should send the part after the @ to a site to tell you if it is REAL (per se), right?

You can do it locally (Javascript) to the level that you pulled all the info from some other site as well. Shouldn't ICANN provide this. IN FACT, shouldn't ICANN offer a DiaGrammer page to show the logic and proof of resolving emails?

This is one of my patents in fact https://patents.justia.com/patent/8386517

Translated back into actual English (trust me when I tell you I did not like the way that patent was written), the patent describes exactly the process of a system that tracks and shares the rules of confirming what data is, thus 54.67 could be temperature, money, etc. But statistically, it might be deduced further from other data around it. 558-52-2418 is a SS#, but unlikely to be a telephone number. etc.

Imagine a magical system that you can ask what it thinks a given data string is!
but wait, there's more, what if it would give you a unique ID for that data type?

Thus 555-1212 is a phone number in America, but does not proclaim where, it needs an Area Code.
Id = 1 = US Phone number for all states and territories.

213.555.1212 is also a phone number, in Los Angeles probably.
Id = 1.1 = US Phone number with an area code.

See, we suddenly have a way to encode or decode data itself!

We can solve all problems, and made the 'experience of the user' better. That is all I care about.

As a byproduct, once we get over the hill of 'increases complexity by an order of magnitude for no reason' as described (LOL), then things should get much easier for programmers.

That all make sense?
hiiamboris
18:47> But let's stay away from opinion. Put in mechanical terms, I want to fill in a Credit Card form old way, **would need copy and paste 4 times**, or if you like (from one's memory) typing, and then moving the cursors from the keyboard, or finger, or mouse 4 times. SEF reduces this to 1 time.

Now we're talking. The most important detail I made in bold. So what you actually want is just a tiny bit smarter paste operation that would switch to the next field when it encounters a new-line char. And it will be just so much simpler than reshaping the internet quest! ;)
If I like typing however, I just hit Tab instead of Enter and nothing changes for me.
If I was filling so many forms that it would bother me I would have used AHK or some other automation tech. I think for the average internet user like me this question never arises, because there simply is *no time overhead*. I enter stuff once on a site and it's held there for years.
P.S https://i.redd.it/7dcz5131wak01.png
ne1uno
18:50breaking up strings of characters avoids typos regardless if many users are annoyed, cost of error is worse.
18:50most people can remember 4 things at once, max average. 4 digits
BaronRK
18:58' So what you actually want'

What I actually want is a dozen other things, but yes, you gave one use case.

Here is my use case, which I have checked with hundreds of people:

Assumes:

1. Starting from just a cell phone.
2. Using Credit Card info.
3. People who do NOT want to store this info on LastPass, or some such (but rather in their own locked text notepad), nor do they want it in a browser.
4. They do have the number in a locked notepad that they can copy from.

Thus

1. They can select the entire single line.
2. Paste the entire line into the first field of the Credit Card Form.
3. DONE

Happiness.

I can provide dozens of use cases for real examples like this.
So again, SEF does not get in your way as a user, but makes life better for millions of people all day long.
19:01@ne1uno

Indeed, I'm dyslexic, so if you say any number to me without pauses every 2-3 symbols, I get confused. some people can say a phone number like 5551212, but I need it as 555 12 12 ideally.

Also, I come back to a key point I made about Mod10 and Credit Card numbers. I would like to add a Hash to all these strings to reduce failure even MORE.

I'm also a big fan of supporting this outright: https://what3words.com/clip.apples.leap?redirect=true

That will solve a crap load of problems. Why can't we have it all?
19:02For anyone that is not aware of Mod10's use in credit card numbers...

https://en.wikipedia.org/wiki/Luhn_algorithm
19:03'The Luhn algorithm will detect any single-digit error, as well as almost all transpositions of adjacent digits. '
19:04That is the most common error, so, they fixed that! It saved billions of seconds every day :)
dsunanda
20:21@BaronRK IBAN (International Bank Account Number) could be your poster child, Reichart:
One pastable number that includes Country Code, Bank (Route, or Sort) Code and Account number. Wirh a Mod-97 checksum that makes typos almost impossible to slip past.
greggirwin
20:27I hadn't seen, or had forgotten, what3words. I immediately thought of [UTM](https://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system), though there's a [milgrid](https://en.wikipedia.org/wiki/Military_Grid_Reference_System) version as well (name pun as an ode to Stanley Milgard). What made me LOL was that they use completely random words. Seems they want to make it more human friendly, but is it really? Street names are sometimes historical, but now random words developers like here in the U.S. Some places (Utah and Washington) use grid numbers, which locals can use effectively, but visitors not so much. Theoretically, if you're a grid loving engineer and you learn about the system, you should be able to find your way around the maze, but I don't know how many people do that.

There are many ideas here.

Naming a location, in isolation, with random words, aims to solve the "this location is always called X.Y.Z" problem, and gives a short bit of text to tell you where it is. That makes it a precise, concise notation for waypointing, though it will look like gibberish.

Waypointing ties to how we find things via relative directions. You have to know where X is to get to Y from it, and from there Z. This assumes none of those points are moving. i.e. this is not [Dead Reckoning](https://en.wikipedia.org/wiki/Dead_reckoning), but...can we put these things together? I don't mean that milgrd + reckoning = Mildred, but that's fun too.

Milgrd gets more precise the more info you add to the coordinate. In practical use, a system could infer the major grid numbers, or pre-fill them from your location. So you give your friends just the next part, with as much precision as you want. The most precise is the cafe table you're sitting at. Social distancing makes this easy, so we should keep it. But maybe you're at a faire and you know you'll be wandering in a section of it. Now your local motion tracker can note [+1E -2N +4E ...]without talking to GPS (need elevation too), and your friend can see where you were, then the waypoints you meandered through, so they can dead reckon how to intercept you. Then people can annotate grid elements, like on a game map that uses A* path finding, and live data can be used to track traffic so you don't see just a red bang! noting a road is slow, but how it narrows to 2 lanes, and each lane is red/green/yellow. Then you crash because you were looking at your phone.
20:28All we need to do is come up with a, intuitive, human friendly, hierarchical naming system, rather than random words.
zentrog:matrix.org
21:31I found some discussion about the multi-page login design. As expected, there are some security-based arguments for doing it, but nothing about UX. I guess the paranoia level depends on how sensitive the account is

https://www.twilio.com/blog/why-username-and-password-on-two-different-pages
hiiamboris
21:41Those are coverup arguments in my book.

BaronRK
02:09@dsunanda damned straight!

In fact, you brought up ANOTHER great example. If I want to give YOU money, the way that should work is the person receiving should just 'generate' a code, that contains all that crap, to the point where whomever they give it to (even many people) can simply send that number money. They don't NEED to know who or any of the details, not even the bank, just the number. One could always provide more info.

But all said, you shove that code into the sending bank's single field, it confirms it is a real number, MIGHT show you info about it (might not), and away your money goes there.



02:13@hiiamboris Agreed.

And Okta and all the SSO crap is a shit show too. I've done the architecture for all three (Okta, OAuth2 direct, SAML2 direct)
We literally now have:

https://imgs.xkcd.com/comics/standards.png

[you can note, in ALL my designs, of almost ANYTHING, I never make things worse, and I'm always compatible with even the crappy standards, thus I'm never +1 standards, but rather, Alt 1]

02:15What kills me is, when I log into a site with SSO Google, and then come back to the site but forgot which way I logged in, and try to us the Nama/Password path, and that fails. Or, the other way around.

So this is like have to entry doors to a building, but you have to ALWAYS use the same door, OR, you have to use each door and set up twice, and then you can finally get inside to buy a stick of gum.

02:18Back to that SSO review, they wrote ' However it's probably not worth the additional step unless you also have the SSO use case.'

See, here we need a flowchart, to show people clearly where and WHY a path slams you into the ground.


greggirwin
04:14It's like if every door on a building used a different key. For the front door, use the red key, if you go to the side door use the blue key; prohibition door, tap out secret code and guard will perform facial recognition through slot; back door...
planetsizecpu
07:34Last month I was forced to change my bank account, so that way I had to enter in a handful of web sites to update data, you know: city services, water, electricity, gas, comms, insurances, country taxes, college... and so on for about fourteen sites, I was missing some login data, so I had to ask for them, it took me about a whole day. Now I really understand what you mean @BaronRK things have a lot of room for improvement, it make so much sense if you want or need to do it.
loza:matrix.org
08:44> if every door on a building used a different key

not so unusual.
BaronRK
15:11Exactly!

And, so, clearly, our goal is to take the best examples and use cases and interfaces and logic etc.
But we (the programmers, designers, engineers) are not ourselves building system that let us do this.

Once we work out the best way to unify the keys around the building it needs to be easy to propagate this to all buildings. It has to be easier than any alternative.

(side note, I did this in real life, I keyed my house to my office, and used a MASTER key instead of a normal key which meant I only carried one key. Good enough)

dsunanda
20:12@BaronRK One difference between an IBAN and CR/DB card data is that with my IBAN string, the best you should be able to achieve is to give me money. With all the numbers from my card numbers, you are very close to being able to remove money from my account / buy goods on my card etc.
So the two strings need different levels of protection.
Not saying current schemes are ideal, just that what works with IBAN is dangerous with card info.
BaronRK
22:01Totally agreed.

As it stands though, and the philosophy I'm proposing with Single Entry Feild is that I'm augmenting what already exists, and a problem all data transfer practices face.
There is always a better (and safer) way to do things). But still does not address the issues across systems.

Keep in mind, as far as I'm concerned, you should be able to PASTE into the first field even JSON, REBOL, CSVs, and it will do it's best to fill things in for you.
Since there is nothing we are doing here that is not already happening manually one field at a time by a human.

But making humans fil in fields all day long is DUMB.

[side note, I booked some flights in a few weeks. I spent 20min studying and filling in data. Again, I should just be able to have my own data, including my prefs for which seat, food, etc. and hand a given airline a link to that data. But now comes the interesting part. I did not know my companion's Global Travel number. But when I forwarded the Itinerary over to them, they were able to use the Magic code the airline gave me for this flight to change it themselves. SCARY! With nothing but that code, not even being logged into that airline, they were able to change an important piece of information.]




dsunanda
22:46Airline systems can be scarily insecure - many need just the surname and booking reference number to be able to make changes. You have to treat the booking reference number as if it were a password :)
GiuseppeChillemi
23:06Please could you support this issue? (If you agree it is useful!)
https://github.com/github/markup/issues/1440

Respectech
01:24Red can control your smart home now, at least if you use Shelly home automation products (ameriDroid is an official reseller). All that is needed to control a relay, light bulb, or other smart device from Shelly, or to read its state, is an HTTP command. Here's a video I just made - my garage door is now smart and controllable via many methods, including Red: https://youtu.be/DUsX26lM2wA
greggirwin
01:37:+1: Nice video.
BaronRK
02:28... very familiar voice :)
03:05Hey, given this crowd

I'm archiving 35 year old data (3.5" floppies) from Amiga to PC.
I have about 500 Floppies. I have access to an Amiga 4000. It has a disk drive that can read PC floppies. It has large HD, enough to hold all floppies probably
My current plan is to copy all the Amiga Floppis into the Amiga HD, giving each floppy a smart folder name (i.e. 'FirePower-Dev-ver563')

I already looked into ways to get the data out ofan Amiga onto a USB drive for example, and the overhead to make this is work (seems) sadly too much time and energy. I'm not sure why no one just made a simple USB to Amiga Parallel port adapter (Amiga's Par was bi-directional, and super fast).

But my real question right now is, what is the FASTEST way to copy an entire desk into the HD?

Just 'copy' takes about 2 minutes.

Open to ideas for stuff. If it involves soldering thing we are probably having different conversation LOL
rebolek
06:22@Respectech I use Red for home automation also, I mostly build my own stuff using ESP8266 and ESP32. Unfortunately I can't put Red right on it, so I have some simple C programs on it that connect to HTTP or MQTT server/broker, post their state and read instructions on what to do. The HTTP server I use is written in Red, in case of MQTT, I use Mosquitto currently which I controll with MQTT client written in Red. I evetually may switch to Red based MQTT broker once I finish it :-)
gltewalt
07:10You want to load it all into the amiga, then use the amiga? Or you just want to consolidate all of the data and save it on a hard disk somewhere?
rebolek
07:51You need to load into Amiga first as normal PC floppy can't read Amiga disks.
GiuseppeChillemi
08:42@Respectech Could you read the temperature from Shelly H&T?
planetsizecpu
11:15@Respectech Good hack! I enjoyed seeing you hands on.
Respectech
15:41@rebolek I believe the Shelly equipment primarily uses ESP8266 as well. If you have a user interface in Red, it would be fun to see it.
15:42@GiuseppeChillemi I believe so, but I haven't tried yet. I believe it sends back the status via JSON.
zentrog:matrix.org
16:52@BaronRK: It sounds pretty similar to converting audio books from CD to MP3. I think the best you can do (excluding hardware things) is get it to detect that a new disk/floppy has been inserted, and automatically begin copying with an auto-generated filename. I think I might have used [this script](https://github.com/jima80525/audio-book-cde) I found for that a while back on Linux. I don't know anything about Amiga though
BaronRK
16:56Indeed, I bought these recently...


https://www.amazon.com/gp/product/B079MFTYMV/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

Since they work out to be less than $7US each. BUT, the string is they require a server in China :(

I plan to move to Shelly devices as well, you can shove them behind wall outlets given their amazing small size!

you can also augment them...

Temperature:

https://shopusa.shelly.cloud/temperature-sensor-addon-for-shelly-1-1pm-wifi-smart-home-automation-1#334

https://shopusa.shelly.cloud/temperature-sensor-addon-for-shelly-1-1pm-wifi-smart-home-automation-1#334



17:00[Sad note, the person that knew the most about all of this was Ben Fuller, who wrote Project D (for disk) that did magic on floppies. He used to work for me. He passed away WAY WAY too young. He also co-created Replay TV]
Respectech
17:07I am 100% against any smart home product that requires ANY outside company to function, like Gosund. It's a 100% security risk and has absolutely no guarantee of working tomorrow.
17:08We also sell the temperature sensor add-on: https://ameridroid.com/products/shelly-temperature-add-on-sensor-controller
BaronRK
17:47Cool!
greggirwin
18:12@BaronRK you could contact [these folks](https://www.floppydisk.com/transfer), to see if the OS formatting matters, or if the raw data can be transferred as long as the disk matches a format they support.
BaronRK
18:17Something I've been thinking about a lot recently is presenting any business in terms of IFTTT recipes.

https://o.aolcdn.com/hss/storage/midas/b356471eca4e2c0634f81dfd01cc8e78/204300351/ifttt-android-4.png

Back in the REBOL days the big thing was 1 line programs.

This was cute of course (and appreciated) but I suspect having icons to group things together by function and path makes a lot of sense.

For example, with Prolific I might show how we allow you to share (syndicate) files or folders and see who and when someone touched them. It would be shown with icons (nouns and verbs)

With AmeriDroid one might show how to set up an Automated Garage.

I suspect having an interface of 'cool things this will let you do' is what most people are looking for.

Seeing it as a recipe also solves a lot of problems.
greggirwin
18:57That's a great idea @BaronRK, which then gives users an affordance to drill down into details, which may then decorate the icon. e.g. in a metrics dashboard, you connect statd to graphite, but want to aggregate N values or wait T (time) before pushing. That number becomes a decal, a time refinement becomes a clock decal, etc.
BaronRK
20:09EXACTLY

Like for AmeriDroid, you would see the icons [Remote control] [Garage]

Then badges on the icon that show Shelly, or Wifi, or Red language, etc.
20:09The key is, once the page exists, it comes the Water cooler for people to gather around and see what cool things anything can do.

TimeSlip
20:23@BaronRK Ah, Firepower! 35 Years. Has it really been that long? I guess so. I was just looking through some old CD's (I know, futuristic compared to 3.5's or 5.25 or 8") that I have of some fairly rare CDTV stuff and saying to myself, "Someday..." I think I have a couple that are going to require a DCTV. I used to have a CDTV DCTV card. I wonder where that went... Somewhere I should have a tape capture of Carl's Pantaray Demo CD. Maybe you have one. Now that was incredible. But I also have a boxful of 3.5's hanging around too. https://www.amigaforever.com/kb/13-118
GiuseppeChillemi
21:14A question, Atronix has developed a lot in the area of sensors and measurements: do we have anything reusable from them?
greggirwin
21:14It's all proprietary as far as I know.
BaronRK
21:33' Carl's Pantaray Demo CD'

Odds I have several copies, but, I suspect the 3.5" floppies have held up better than the CD!

Scary

TimeSlip
01:47@BaronRK That would be cool. I asked Cindy several years ago.
GiuseppeChillemi
08:53I have found this
08:53https://m.ebay.it/itm/WLAN-Netzwerkkarte/133467950569?ul_ref=https%3A%2F%2Frover.ebay.com%2Frover%2F1%2F724-53478-19255-0%2F1%3Fff3%3D2%26toolid%3D10049%26campid%3D5338372905%26customid%3D101_239_291%26item%3D133467950569%26mpre%3Dhttps%3A%2F%2Fwww.ebay.it%2Fitm%2FWLAN-Netzwerkkarte%2F133467950569%26srcrot%3D724-53478-19255-0%26rvr_id%3D2814581484470%26rvr_ts%3Daf3061291770a77d3f626fb8ff9fa890&_mwBanner=1&_rdt=1&ul_noapp=true
rebolek
09:03Another possibility is to install IDE to CF (or SD) adaptor, copy floppys to a card and read the card on PC.
GiuseppeChillemi
12:38Take a look at this: https://www.ebay.co.uk/itm/Amiga-Pc-ADF-File-to-3-5-Disk-Parallel-cable-Transfer-Kit-Easy-Fast-Cheap-/272363110828
12:46Via Serial Port:
http://adfsender.stoeggl.com/

BaronRK
17:48@GiuseppeChillemi - Wifi - COOL!

17:53The first file yielded from the Archiving process I was hoping to find.

This has never been shown publicly.

1994 Nov.

I was trying to get Trip Hawkins (founder of EA) to green light (with Dani's permission) me remaking M.U.L.E. as a dial up (Modem, and shortly to come Internet) game.

This animation was done by the great animator Eric Daniels (who I was in a meeting with just the other day).

We were going to bring all the characters from the game alive. And make the worlds really rich.

I still would like to do this :slight_smile:

(what it took to get this from the old floppies to this final GIF is insane!)

https://www.prolific.com/files.cgi/94B20-Amiga-MULE-AvatarTest-SilentSoftwareInc-EricDaniels-Reichart..gif?tab=get&uuid=QJESWYDKS22568C1L5EVBVD9L4QT&filename=94B20-Amiga-MULE-AvatarTest-SilentSoftwareInc-EricDaniels-Reichart..gif
18:16[![Recipes.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/5Fbd/thumb/Recipes.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/5Fbd/Recipes.png)
18:16I mentioned this concept of using IFTTT type recipes for any product or service.

This might be an example:

18:17Just imagine instead of FAQs and marketing BS, we just showed people any product or service as a series of Recipes.

Functionality over BS!

My favourite example: http://www.sifter.org/~brandyn/ims/misc/Muffins.jpg
greggirwin
18:44Great GIF @BaronRK.
18:46When all we see are artifacts, we don't know what it took to get there.
planetsizecpu
19:22@BaronRK it looks a master's job!
BaronRK
21:25Here is a fun question for this group:

What did you learn at the end of a programming architecture/project you deeply wish you knew at the start?

I have lots of course - But two key ones for example:

- I would force almost all functions into APIs.
- Construct DataBases to allow for summaries (counts, most recent) are super easy to get.

GiuseppeChillemi
21:42Be more descriptive in words names.
21:43Sometime, not reusable code is more mainteanable than reusable one.
21:46There is a problem for every solution, you have just to choose which one you want to solve.
dsunanda
21:52ASSERTIONS everywhere - validate (or at the least santize) the inputs to functions, and their return values. This has two consequences:
1. Bugs can't get far
2. At first you look like the weak team member because most of the crashes happen in your code. Then you win.
ne1uno
21:58customer really did only wanted A&B. why did I do A, B C & D?

planetsizecpu
09:53Well, I think it depends on the project and the moment.

If we speak about Red, I did my last project just to learn the language
and it allowed me to better understand how the view system works, to take
profit of path access and his power to access data across as many objects
you need. That way you don't need to peek or poke at memory as in golden
age.

If we speak about other langs and projects, I must say sometimes you learn
more about the business involved. For example while writing stocks mgmt apps
I did learn a lot on the data model, but less about the language used.

Something that is always present in real projects is that the customer always wants to save money, I also learned that 😂
gltewalt
16:511) handle bad data at the source while it's still a trickle and not a flash flood of junk (the I of IO)
16:532) Popups are mostly useless. They rarely read them. And more so, the more times a user uses thw app.
16:53(From my limited experience)
16:54The more times they use an app, the less they pay attention to any popups
hiiamboris
17:08Lol. I sometimes dismiss popups faster than I'm able to read them too. But perhaps if popups had some funny pictures....
gltewalt
17:30They might pause to look at them, but they still wouldn't read
hiiamboris
18:05Hmm.. I guess my granny wouldn't in this case. Unless letters would be as big as to fill the whole screen with 20 chars.
BaronRK
18:15Pop ups (also can be called Coach Marks):

1. In Apps - Agreed.
2. On Web pages - Agreed.

Thus I want pop ups to be off on the side, and not modal!
If you are on a feature, and it is there to help you, it does not stop you.

On websites, like Newspapers that want you to buy a subscription, WTF don't they pop up on the right, leave them there, so that you are not angry, but convince me?

For example, you get to an article, and over there is their 'hey, give me some money please'
But as you read the article, be funny (sort of to Boris' point) and say 'I see you like that article, join us, and you can access even more' or 'Our journalists are starving, throw us a few dollars and buy them a burrito)

hiiamboris
18:19Indeed. In their current form such popups are usually being blocked anyway.
greggirwin
18:36The one that kills me is a drawing program I use. When you want to apply an effect, the dialog for it comes up CENTERED, right over the image you're editing.

My favorite popup story is being called in to ask if I could remove some from a system. The original dev had a prompt when you deleted something from the DB.

> Please confirm that you want to delete XYZ. [Yes][No]

Yes.

> Are you sure? It will be gone forever. [Yes][No]

Yes.

> Forever's a long time. [Yes][No]

The problem is that the users had become so annoyed with this, that they immediately clicked Yes 3 times, without reading the first prompt to make sure they were deleting the right thing.

When I suggested adding an Undo feature for it, they say "No, just make it ask once." :^(
dsunanda
19:24@greggirwin I use a couple of different VPNs, They both have a [Continue] [Cancel] pop up if you try to exit. Except:
One means [Continue toward Exit as requested] [Cancel Exiting]
The other means [Continue using program] [Cancel program as requested]
I always have to pause and read carefully before deciding.
BaronRK
20:25Funny - I was just saying to Richard (Cypher) this morning that as a standard I also want any pop-pop to be 20-30% translucent (not the text, just the BG colour). so you can still see often much needed info.

But also, we should be able to move them, and they should try to stay out of the way of the thing you need.

Which, brings me to the biggest point, we take for granted that UI is simple, and it is not. It is all UX at this point.

The UI itself needs to be a stand alone program, that know you, know what you are trying to do, etc.

the days of a dumb dialg box are over.
dsunanda
20:37The history of UIs for the past 30 years has been watching people ignore or maliciously comply with CUA:
https://en.wikipedia.org/wiki/IBM_Common_User_Access
greggirwin
20:37Let's call them "uninformed" dialog boxes. The app knows why it's showing them, but doesn't tell *them*, so they have no context to say "Oh, I'm setting properties for X on the screen, and it's located here, so I should move myself to be near it. This has to be weighed against consistency, because our muscle memory wants consistency.
20:39Nice reference @dsunanda.
BaronRK
23:24User 'what are you doing today?'
Technologist 'pushing a rock up a hill.'
User 'didn't you do that yesterday?'
Technologist 'You asked me that yesterday. Same answer.'
dsunanda
23:30Q: Why don't UI designers look out the window in the morning?
A: Because then they'd have nothing to do in the afternoon.
gltewalt:matrix.org
23:54100% translucent.

GiuseppeChillemi
01:02 In RedBol world, there is a second step after the "there is no spoon" moment. It happens when you see everything as modifiable and you build your own constructors and use them to create in place of the built-in ones. You start evolving the language for you, create your make+, func+, for+; you are fast in using parse, making dialects, finding new shapes, and every block is not fixed but under your control. It's not a turbulent change like the first "enlightenment"; now everything fluid, plastic, and you use no energy to create. It's simplicity and power at the same time.
Respectech
01:13@GiuseppeChillemi - I think you have a knack for writing marketing material. I could see an ad created from this.
greggirwin
01:24The first click is the Aha!, what you describe is more, I think, enlightenment. Flow like a river. :^)
GiuseppeChillemi
01:43@Respectech thank you for your words. I simply describe what I see inside myself. If you find it useful for you, create this ad and use the vision my words have generated inside yourself!
01:43@greggirwin perfect description!
09:05Questions to ask before choosing a programming language
09:05https://shekhargulati.com/2021/02/12/questions-to-ask-when-choosing-a-programming-language/
09:08Which would be the answers you give to someone for your choice to use Red?

GiuseppeChillemi
01:04I have walked down in the street, friends of mine have warned something was happening. I have taken this video:
01:04https://youtu.be/fcX7SgFGCaE
01:05Our volcano has exploded
BaronRK
04:11Good to let a little steam off.
GiuseppeChillemi
06:11The little steam is about 500mt tall.
ne1uno
06:20https://www.forbes.com/sites/rebeccahughes/2021/02/18/mount-etna-spectacular-double-eruption-in-photos/
hiiamboris
09:39beauty
09:39I wonder how they keep away the tourists wanting to get a closer look
GiuseppeChillemi
12:23@ne1uno Tonight we had the third wave of this spectacular Eruption.
12:27@hiiamboris there are 2 ways to reach the lava River and both are patrolled by police. Yes, you could walk to it by alternative paths but it is not so easy.
16:34Makedoc is copyrighted by a third actor which is does not belong to our universe. Did you know? https://www.behaimits.com/makedoc/introduction/
BaronRK
18:11Well, the name is the same. TIBCO actually makes a lot of great products.

18:12Today, February 21, is Dave Needle Day

Were you a fan of the Amiga computer?
Or, the Atari Lynx, or the 3D0?

Well this is the man that co/invented them.

https://www.prolific.com/qwiki.cgi?mode=previewSynd&uuid=W15XFQTVUE6FG1KWY1JQM4MQY3QT
GiuseppeChillemi
18:27I have two of them. Thank you Dave, wherever you are!
greggirwin
19:03Thanks for the volcano links. Very...hot. And for the makedoc link. Interesting.
21:46Excellent link on lang selection. Thanks @GiuseppeChillemi !

Respectech
16:15If Red were to have a browser, would it be stateful or stateless? Or perhaps could be set to one or the other based on the site?
16:15Opinions and discussion welcome.
BaronRK
16:24Should be both.
greggirwin
17:03What do you mean @Respectech? Unless it's an X-Windows style thin client, it's always going to have some state. Even then there's *some*, just a lot less. :^)
Respectech
17:07Generally, today's web browsers are considered stateless as far as the page is concerned. The browser itself carries state, like history, but not the page itself.
greggirwin
17:19Hmmm. That doesn't sound right in my head. With JS and local storage, there is a lot of local state. Maybe that's why I'm confused. How do we define "state" in this context.
17:21It is localized state, that the browser doesn't manage directly. Is that the distinction? It's like the whole "stateless" aspect of frameworks, or FP. To get anything done we have to have state, it's just a matter of how it's managed.
hiiamboris
17:44If browsers were stateless the first recommendation when you encounter a bug wouldn't be "clear the cache" (;
greggirwin
pekr
TimeSlip
18:10@BaronRK What a sweet man Dave was. Thanks for sharing.
Respectech
18:50As I stated before, the browser itself isn't stateless, but pages are. If you switch from one page to another, the only way to transfer state is through cookies, post/get data, etc. I'm speaking specifically of allowing variables/objects/etc to stay set when navigating between different pages without having to jump through hoops (writing files to the local drive, explicitly transferring data through post / get, etc.)
greggirwin
19:08To me that doesn't mean pages (a page) are stateless. e.g. JS vars, field contents, and the DOM itself are state. Having state is not the same as transferring state, but the premise of [HATEOAS](https://en.wikipedia.org/wiki/HATEOAS) is just that. If all you can do is read static content, then you could consider things as stateless and fully idempotent.
19:09So maybe we come back to your original question. What is it we need to do, and what do the two ways of doing it look like?
Respectech
19:14The way I see it is something along the lines of func and function, but in the context of a page. When authoring a page, the author decides whether any defined words are part of the local (to the page) or global (to the browser) context. That way, a single author can have multiple pages interact with each other without jumping through hoops. Also, multiple authors can work with other pages to pull in state.
greggirwin
19:19Got it. There are a number of ways it can be done. Most importantly, a page can't "go global" for security reasons, they need to be sandboxed. But pages should be able to talk to each other via IPC, and even set up secure channels and storage for doing so.
BaronRK
20:36Stateful/Stateless are nebulous words ensured to cause arguments between even smart people trying to agree with each other sadly.

https://www.redhat.com/en/topics/cloud-native-apps/stateful-vs-stateless

So anything I write next is not an argument, but a clarification of my opinions.

I wrote BOTH above because:

- Cookies ARE a state (IMO). That is one of many tricks to transfer data between pages.

- I think (IMO) that sites should have certs to allow them to be part of other sites and treated as such. This concept of every site is a silo seems silly to me (and an illusion anyway). So 'for security they need to be sandboxed' is agreed in sentiment. But if Prolific wants to allow you to access Googles API or save your files to AWS you can't stop us, so security is an illusion anyway. Why not just allow us to Connect to AWS and let the user know this?

- Func/Function - Agreed! So we should have shared Context, of we could just think of this as a shared storage. That simple. I badly want this. I want every website to know I hate Time Roman Font, so unless they have a damned good reason to show me, DON'T. THis is a perfect example of shared settings and if we work that out, we can work out almost everything (I'm a fan of REAL WORLD examples).

greggirwin
21:05In the context of a Red browser things can be very different. When I talk about sandboxes I'm thinking in terms of how processes on an OS are isolated from each other and a secure dialect that works in conjunction with capabilities (in the E lang sense, much like phone apps work). So your "page" can't poke its nose out into the browser context and sniff around *unless* you specifically give it rights to. It can't access the net unless you say it's OK. It can't access your file system outside its own area, get your contact info, or use all the CPU or memory.

This kind of granular control will be a real pain to manage, especially when you talk about services that are abstracted away from you. So we'll need ways to say "I trust this vendor (cert holder) and grant anything *they* give me the following privileges: ..." They, in turn, have granted rights to other services, libs, etc. and you should be able to see that as a tree and check off, like an installer with options, what you want to allow. Maybe some are required and others are optional and you lose functionality by turning turning them off. Eventually it will be like a EULA nobody reads.

But this also opens up new avenues. Here's our free version, but you MUST allow ads. If you want to turn ads off, or other ways we monetize you as our product, we'll give you a RED/BTC total at the end of the setup process.
21:11This can then all be viewed like site settings in a browser, cookies/certs/access, but adding those contexts like channels and shared storage which allow apps/pages to collaborate and better leverage resources, not to mention creating workflow and dataflow possibilities that are so painful today.
pekr
21:20On the other hand, state is useful. I do remember Rebol IOS and the problem that while the system was nice and dynamic, it missed the ability to have some simple cross-widget api.
GiuseppeChillemi
21:24In REST API you should assume no previous state of the server. So you may have any local state/cookie but when you connect to the server with a new page, no previous share should be assumed.
21:25*state
greggirwin
21:27This plays to @BaronRK's point. One size does not fit all.
GiuseppeChillemi
21:33After @BaronRK message about structuring your code as API I have stopped my work for a couple of days and I have read something about this topic. Some good ideas have come and I am experimenting. Red(bol) has a lot of potential on the web. Don't forget Json has been inspired by Rebol. We share the same roots.
Respectech
21:48Thanks for the discussion folks. I've been toying with the idea of creating a very simple Red browser for my own needs. This is an offshoot of my knowledge base system that I'm working on.
BaronRK
21:49Giuseppe, API structure, COOL!

Respectech, have you played with Notion.so?
Respectech
21:50@BaronRK No.
BaronRK
21:50In the video games days, PlayStation would allow us to store 'some' info (like 32 bytes) per game.

But, I wanted a shred folder where we could be aware of other people's games, even a count, etc.

GiuseppeChillemi
00:27The Etna Volcano has erupted again.
greggirwin
02:52Are you at a safe distance?
GiuseppeChillemi
10:06Yes but this night the eruption has been wider than the last week.
BaronRK
17:40Many years ago, when I was even dumber, a few of my friends and I chartered a plane, drove to a remote location, dressed in all black to avoid being caught by authorities and helipcoters, and climbed for hours into the open active maw of an active volcano.

I took this picture...

Lava spotted past us.


https://brkvw.com/images/O%27oops/Hires/Picture%20074.jpg
17:41I was not at a safe distance LOL
greggirwin
17:43I always wondered where your hair color came from.
17:45The RedHat link on stateful/less is funny because it says:

> Think of stateless transactions as a vending machine:

Funny, to me, because vending machines are *the* canonical example for state machines.
planetsizecpu
17:51What an experience @BaronRK I wonder what the hell drove you all to that danger :-)

@greggirwin I was reading [this](https://seeburghistory.jukeboxhistory.info) blog a few months ago, a very interesting history about jukeboxes and vending machines, I enjoyed a lot the tale. They just owned the copyright on the Bagman videogame I emulated.
dsunanda
17:52@BaronRK You need an "I risked pyroclastic flow" T-shirt. The invisible killer around volcanos.
greggirwin
17:55Oh man, that's fun @planetsizecpu.
17:56@dsunanda and on the back it could say "So hot, I'm smokin'"
planetsizecpu
18:00Yes @greggirwin I think will read it another time to enjoy again, as my RAM is having parity errors I will take profit 😄
hiiamboris
18:06> I was not at a safe distance LOL

Exactly the kind of person I was talking about :D
BaronRK
22:03Sunanda, indeed, we tied ropes to each other in case someone inhaled something really bad.

Boris, sometimes it is hard to decide how serious a sign is :)

https://brkvw.com/images/O%27oops/Hires/Picture%20044.jpg


(we climbed up and over that ridge way off)
hiiamboris
22:10wow!
GiuseppeChillemi
22:52This is the picture I have taken last night, just 30 minutes after the start of the new eruption: https://drive.google.com/file/d/1pFaVIwIcfCbErVB9jjuk-LzuD6HnguD0/view?usp=sharing
greggirwin
22:53Wow. Stay safe.
GiuseppeChillemi
23:02I will! But I admit I have been in front of an 8m tall lava river some years ago, looking at him while seated on a plastic chair. ;-)
23:03Here is another picture. Someone has taken it 2 days ago. It is from another POV
23:03https://drive.google.com/file/d/1o0aEWEgloE_0vI9hQZdLwLLf8F_OLHsM/view?usp=sharing
23:03I have called it Etna-Mordor. Guess why?
greggirwin
23:04That is an *amazing* picture.
GiuseppeChillemi
23:07The place would be nice to host a Red meeting.
BaronRK
23:23Thos are AMAZING photos, very cool
GiuseppeChillemi
23:45@BaronRK This night I have a vision: Rebol blocks taking place of JSON for web APIs. Maybe it is the reason Carl was talking of series starting at 0 for Rebol3: to make it more similar to Javascript arrays.
23:46You have put this damn API thing in my mind and it is fully thinking about it from that day.
23:55Obviously, as Rebol is de... Inactive, it will be called REDSON!

GaryMiller
16:50Are they predicting a major eruption?
GiuseppeChillemi
23:20The current is s major eruption. The vulcano ha changed its eruption style in the last 40 years. Before, we had long eruptions that could last even a couple of years. Now we have 24h long spectacular eruptions, the everything turns silent for months. The current one is running a continuous on/off circle since the start of February, so you can consider it an unique one. Again, this night the volcano is showing his terrible beautyness.

greggirwin
02:24For a while now Chrome has started giving me sad face OOM messages. What I've noticed is that it always seems to be github that does it. I can't remember seeing it happen to another domain.
hiiamboris
09:01They want you to install Edge.
BaronRK
16:32Of note, Prolific's API operates in JSON, and also REBOL blocks.
GiuseppeChillemi
18:09Do you pass contexts too and how?
BaronRK
19:36No, sadly.

Back then (15yrs ago) My model of an API was primitive (similar to how APIs are now today)

My model for what we are doing next will be awesome.
I want to build a wrapper for APIs that enable one to figure out what the back end is doing WITHOUT documentation.

I will post a write up this year.
GiuseppeChillemi
22:16Nice, your soul is in the "code should speak by itself" Rebol dimension.

GiuseppeChillemi
19:32Another Eruption, this time the black volcanic sand has rained over my house. Everything is covered from it!
hiiamboris
20:01Fun!
toomasv
20:29 No lava yet in your kitchen?
greggirwin
20:32It's all in @planetsizecpu's game.
GiuseppeChillemi
21:10@toomasv No, I have not prepared the Red Souce.

GiuseppeChillemi
10:44[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/atrW/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/atrW/image.png)
10:46I have found it on the floor after the black sand rain of our volcano, how could this have happened?
hiiamboris
11:04You're not sleepwalking are you? ;)
GiuseppeChillemi
11:35Maybe the Red spirit inside the volcano has sent us a message.
pekr
11:36Maybe it's not a volcano, but Sauron!
toomasv
11:58I don't understand... why is it not red?
GiuseppeChillemi
12:12@toomasv Because who has written it could have some problems putting his finger inside the lava.
planetsizecpu
18:31Oh yes @greggirwin there are L7, L8 & L9 lava levels. @GiuseppeChillemi if you find dangerous the black sand I suggest you to play at L8 on a w10 computer, you'll enjoy a good time!

GiuseppeChillemi
15:04I have found an universe: Geos is alive!
15:04https://github.com/geos64128/geos-desktop2.1-master
15:08https://www.lyonlabs.org/commodore/onrequest/geos/index.html
15:12https://github.com/mist64/geos
15:15https://github.com/M3wP/M3wPFreeCell
greggirwin
18:08Wow. Nice find!
Respectech
22:06I remember Geos. It was painfully slow on my C=64 and I'm a pretty patient person! I did end up using it for a while though.
GiuseppeChillemi
22:41I had it on C64 too. On C128 is a lot faster and it uses the ram disk. There are 2 projects: MP3 (Mega Patch3) and Geos Wheels to make it faster. I remember it being impossible to copy, I had to solder the 1541II with a special cable to my C64 to replicate. Using this turbo cable, I was able to load GEOS in few seconds.
greggirwin
23:10The good old days.
gltewalt
23:53@ne1uno I added a Log stuff per your request

GiuseppeChillemi
00:00> The good old days.

With this phrase you have been able to let me feel old as a grandfather.
Respectech
02:51Hey, watch what you're saying. I'm expecting my first grandchild in July, but I'm not old!
gltewalt
02:53https://imgur.com/a/gF1VXZy
BaronRK
18:40Goes, LOL
I was fascinated when this came out how well they did the handling of a virtual system to a 8x8 tile system.
GiuseppeChillemi
22:29@respectech
> Hey, watch what you're saying. I'm expecting my first grandchild in July, but I'm not old!

Yeah, you are not old. You have just the same little areas ofwhite beard hair as me.
22:31@BaronRK I was fascinated too. What emotions on my C64!
Respectech
23:06Those are wisdom hairs. ;-p

planetsizecpu
18:24Ah I miss those times a lot. from time to time I watch the movie War Games only to see that stuff 😆
18:34Have you thought that the full Red tool chain fits on a 1.44 floppy disk? A fact to take into account, not very common today.
Oldes
18:42@planetsizecpu sorry, but what is 1.44 floppy disk? ;-)
planetsizecpu
18:54:-) And miss my spectravideo 328 with expansion unit and CP/M
BaronRK
19:31It is WONDERFUL when things are small, but, no one appreciates it. SMH

Installing an App (program) on a Mac is still like sucking a dead rodent through a steel straw.
Windows is not much better.

Why does a 200MB print driver even exist?
WTF is in there?
hiiamboris
19:36I always wondered that too ;) You can't possibly write so much code in your life to produce a 200MB exe :D
19:38My best guess is templates though. C++ loves templating code and every instance of the template is a copy of the code and when one template meets another template the code size explodes
BaronRK
19:42Agreed.

The redundancy is massive too. No good system to remove it.

greggirwin
20:10@planetsizecpu et al, I recently watched film called Irresistible, with Steve Carrell. It's a political satire, wonderfully written and directed by Jon Stewart. At one point, the political teams have all converged on this small town out in rural America, are having internet problems, and you hear the sound of a dial-up modem. :^)
23:39As a side note, funny to me, Docker for Windows is a 500MB download, and ~2.5GB installed. The goal of containers is to be smaller and faster, right? I guess if you're comparing to VMs you still win. There's also a great irony in how *small* many things are on NPM.

https://libraries.io/ is a very cool project to me. Look at the sheer number of packages out there. Now try to find an HTTP package that suits your needs.

We live in a world of extremes.

Many unsolved problems here, and how to prevent people gaming the system. e.g. search by tag and if you want to show up on everybody's list you just include all the tags you can.

GiuseppeChillemi
21:42Please, would you support colors in markdown? The issue has been dismissed 7 years ago https://github.com/github/markup/issues/369, but there is a lot of people asking for it. Your words can make the difference: https://github.com/github/markup/issues/1440 (spread the word if you think it is useful!)
greggirwin
22:05Hard decisions. Markdown is meant to be light, and directly readable by people. How do to keep it that clean while adding more control?
GiuseppeChillemi
22:36You keep the current readability adding only color keywords, then it's the rendering that will be bettered.
22:37A terrible lesson:
22:37https://clarity.kleydints.com/a-post-mortem-in-5-acts-of-how-microsoft-privatized-open-source-killing-javascript-in-the-process-62ee5fc77d9e
gltewalt
22:40I thought ypu could use inline html and style in markdown?
greggirwin
23:04> adding only color keywords

Is there a syntax example for that? Because I'm not sure what it means.
23:24@GiuseppeChillemi I wonder if MS buying NPM is why the Entropic project seems to have stalled.
GiuseppeChillemi
23:27Microsoft has taken a big strategic advantage purchasing GitHub and LinkedIn. Now they influence IT more than ever.
23:27I don't know about the Entropic project, I'll take a look at it.
greggirwin
23:28Entropic was to be an open, federated JS package manager, created by the former CTO of NPM.com.
GiuseppeChillemi
23:29Was... :-(
greggirwin
23:37It's certainly interesting, and the big players are circling each other constantly; with the occasional lunge or thrust. AWS has eaten everybody's lunch for a long time, but at the end of the day they still need to run code, and code is written in languages. What happens when you deploy on AWS and every package being pulled in makes MS money? It's brilliant, if they can pull it off.

Windows gets undercut by Linux and open source, then containers reduce Windows VM use even further. It looked like the king of dev tools and OSs got undermined, because how do you get underneath the infrastructure? You do it by realizing it's a big circle, and everything that's been virtualized was done so with software. The *really* brilliant thing is that by making AWS et al be the "last mile", they carry the heavy load. Running a package registry, by comparison, is a drop in the bucket.

zentrog:matrix.org
10:16I don't see how anything from that article kills JavaScript. If JavaScript dies, it's because despite being one of the three standard languages of the web, it is unable to serve the needs of its community. It just seems like an outlandish claim to me. If Microsoft starts charging for free software packages on those platforms, that would be the surest way to kill the platforms and cause users to migrate away. I don't think they really care anymore about being undercut by open source software. They just want to charge rent for the machines that run them, but with Amazon having such a huge first-mover advantage, it's the de facto standard. It's not hard for me to believe that they mainly see GitHub as a way to push developers toward Azure rather than AWS.
hiiamboris
10:46I also fail to see how open-source equals javascript ;)
GiuseppeChillemi
11:04@zentrog:matrix.org Wars in the modern world are gentler than in the past. You don't kill it directly but corrupt the thing you want to conquer from the inside. This is done with influence and small changes, promoting something sold al "better", when it just the standard tech with some links to your proprietary world. People start using it and become more and more dependent on proprietary features until they are locked in and with or without awareness they are no more free.
greggirwin
19:54@dander the author writes well to gain views and comments. Without conflict, there is no drama. That's also a reason, IMO, that we don't get a lot of traffic from things like reddit posts. I don't want to talk others down for publicity. It's great marketing though.
gltewalt
22:26> @zentrog:matrix.org Wars in the modern world are gentler than in the past. You don't kill it directly but corrupt the thing you want to conquer from the inside. This is done with influence and small changes, promoting something sold al "better", when it just the standard tech with some links to your proprietary world. People start using it and become more and more dependent on proprietary features until they are locked in and with or without awareness they are no more free.

Like facebook

gltewalt
02:42Looks like you can include gifs in the github README, for extra fun
03:04Animated gifs
GiuseppeChillemi
19:17One Red page has already used this feature: https://github.com/red/VScode-extension

dsunanda
16:01Slimjet is a chromium-based browser - so will be close to 100% compatible with Chrome for add-ons etc. Vivaldi and Opera are similar builds - all with their own additional useful feaures, and quirks.
If you add uBlock Origin (not any of the other uBlocks) to almost any browser you get almost ad-free browing.
Then add Sponsor Block for Youtube and 90% of Youtube videos now magically skip the requests for you to like, share, comment, and subscribe).
Those two add-ons alone (for any brower - they work for Firefox too) make the web an almost sane place to browse. I've almost forgotten what an ad looks like.
hiiamboris
16:24Our russian corps are more proficient at abusing everyone with their ads. E.g. the most popular here mail services sites load ads first and the mailbox after that only if ads were loaded, and they use the same address mask to serve both useful content and the ads, and also the same div styles. Good luck blocking that :) I don't know of a blocker that succeeds there.
16:24I'm not that excited as just exploring one of the backup plans in case Vivaldi or Palemoon will fail me some day. I don't need TV streaming or anything like that though.
16:27I would rather use Slimbrowser than Slimjet though. Gecko is way more customizable engine.
17:12> just found out about Slimjet and Slimbrowser and rather use Gecko based?

exactly
dsunanda
17:15@hiiamboris If Pale Moon goes bad you could try SeaMonkey - they are similar projects, so the bugs are in different places.
hiiamboris
17:17thanks ;)
17:21No experiences. Judging from my experience with FF and other Gecko-based browsers vs Chrome and other Chromium-based.
17:25What I love the most about Gecko derivatives is that I don't have too see sites the way they were designed by the authors. Another consideration is that Google software is the worst in quality among all other software vendors I can ever recall (and they wrote Chromium). The third is that I don't want to let them dominate the web to an extent that no other browsers (engines) will be left standing. They already killed 2 engines, Gecko is the last competitor.
17:35Oh.. almost forgot. I know of no Chromium based browser that supports proxies. They will just refer you to your OS proxy settings instead. This is a no-go for countries with censorship.
17:55They didn't take the code, they open-sourced their own code from early Chrome versions.

BaronRK
20:26'@BaronRK I have not understood the sense of your discourse related to Altscript, would you please explain it on chit-chat?'

' I can't believe you were not aware of this new project from Carl. You have made too many things together! Confess! :-)'


Hmmm, I was simply pointing out that we had discussed many similar concepts for how a language should work, and what it should allow you to do. I'm all about data driven languages/systems).

In Carl's original demo of REBOL (then called LAVA) I recall he made a Recipe for some food. It looked like a recipe too, but in fact contained just enough code to execute and convert English measure to Metric.

I've been complaining about the 'round trip' lacking in data since I delved into iCal protocol (which was really lacking).
It was treated as one way data ('here, take this info about a meeting') without regard for the fact that one will want to REPLY with more info ('I can attend') etc.

toomasv
20:32That reminds me playing with [units](https://github.com/toomasv/units) not so long ago:
units [
    ;Recipe
    Americana-for-two: entity [flour-00: 625g water: 375g salt: 15g yeast: 0.67g sugar: 10g oil: 50g]
    prices: entity [flour-00: 20.0EUR/kg salt: 5.53EUR/kg yeast: 2.8EUR/kg sugar: 0.56EUR/kg oil: 1.29EUR/kg water: 0.002EUR/kg]
    Americana-for-200: 100 * Americana-for-two
    price: Americana-for-200 * prices
]

To see quantities in entity:
>> units [probe form-entity price]
make object! [
    flour-00: "EUR$1250.00"
    water: "EUR$0.08"
    salt: "EUR$8.30"
    yeast: "EUR$0.19"
    sugar: "EUR$0.56"
    oil: "EUR$6.45"
]

And to sum it up:
units [form-unit total-dim price 'currency]
;== "EUR$1265.57"
greggirwin
20:48I noted your Units work recently, to raise as a design topic. Along with @hiiamboris' node!, I think this could be an important foundational element. The key question is whether to do it at the user level, as you have, with system/lexer/preload or if a unit!/quantity! type makes sense as a lexical form. It's fantastic work that will let us play and think about it @toomasv.
20:51@BaronRK's note about adding info in a reply also matches a recent topic on make/copy and how to unify merge/combine/join/extend/append/overlay functionality in a consistent and predictable way.
GiuseppeChillemi
21:14Continuing from :point_up: [22 marzo 2021 21:47](https://gitter.im/red/red?at=60590255f07ffa1eb55b7030)
22:09Two thought about ASON and AltScript.
ASON gives me a lot of emotions. Carl language being the father of JSON and now this data format is a powered-up version of JSON with Rebol core inside. SON of Carl, SON of Rebol.. simply: ASON!
22:14Also, AltScript blinks an eye to the world of coders while maintaining the basic Rebol concepts. The language has symbols choice and numeric systems which are more coders friendly.
Oldes
22:20To be honest.. When I've noticed the ASON post, I had to check if it's not April already. But it looks that Carl was just playing with WordPress during Christmas.
ne1uno
22:24no comment?
GiuseppeChillemi
22:35@oldes
I can understand why but what you think stupid is the most strong move that can be done: Carl has dressed Rebol with JSON paraments. The world could be attracted from the JSON like appearance and concepts and then embrace to undergoing language which, I repeat, is Rebol... with some new workings.
Oldes
22:36I like the slogan _Write Data Not Code_... but I'm not sure if I like some changes in the comparison with Rebol... like ##"..." for base64, ''...'' for long/multiline strings, @false etc. I'm also missing a specification for making comments inside the _data/code_. Better to wait for making any comments. As was already mentioned in the main Red chat room.. it may be years before something else bubble up from it.
22:42Also I have a feeling, that world is now leaving JSON for YAML. But that is just a proof, that JSON is not the best format and there is a room for other... but I'm not sure, who will write ASON versions in Python, Ruby, Rust and other languages, so it could be better adopted.
ne1uno
22:42have to wonder why json was so watered down to begin with
GiuseppeChillemi
22:46I have asked myself the same thing. The reason could be simple: the author has not understood Rebol, while he could have liked the arrays/objects structure.
greggirwin
22:47Douglas Crockford understood Rebol, and still does. He also made firm design choices and was limited in making JSON a strict subset of JS.
GiuseppeChillemi
22:48@greggirwin Is this the same reason why we have {"element": "something"} with double quotes around the key?
Oldes
22:49I also believe that D.C. understand Rebol very well... but **JSON was designed to be easily parsed**... in comparison with Rebol, which is quite complicated to be parsed.
GiuseppeChillemi
22:50The Rebol way is much better: {element: "something"} and also the parser would be not so complicated.
greggirwin
22:50@GiuseppeChillemi yes. @Oldes agreed, but I don't know if even Crockford could have predicted its dominance and spread.
GiuseppeChillemi
22:50VHS vs Betamax syndrome.
22:51AltScript is doomed!
greggirwin
22:51Which is also why libRed, which can load Red data is a key element, so others can incorporate it. It doesn't solve other problems though, namely that most langs don't know what do to with all the types. That was a prime reason for starting a Ren spec.
GiuseppeChillemi
22:52I have missed the whole REN years, I admit! Where could I find good information and discussions?
greggirwin
22:54There was chat in various places, including altme, @rebolek set up a repo for his work, and I started ren-data.org but haven't gone back to it in a long time.
22:55There's a Ren group on the Rebol4 altme world.
GiuseppeChillemi
22:56The domain http://ren-data.org is here.
ne1uno
22:56https://github.com/rebolek/REN

gltewalt
00:39Theres greg irwin hunt the wumpus in altme
greggirwin
00:48I think the Wumpus is in a few rooms. :^)
pekr
05:48@Oldes I don't think your attitude is right. I do remember panicking, when something new and cool appeared and I have always thought, that it is the end of the world. Carl once stated something like - concentrate upon your target and don't listen to the nay sayers, as it is never too late.
05:50In fact, I find Carl's idea brilliant. I do remember the bold era of XML dominance, and how rudiculed attempts like JSON were. JSON is a great proof, that ppl actually are for the simplifications. And Rebol is a proof, that declarative languages have some merit. Explain Java FX and Qt quick, being mostly (especially JAVA FX) rip-offs of View/VID.
05:52So if you can't dominate the world with the whole langage, give ppl the taste of the top concepts. For me thy were always be dialecting, hence parse, View/VID and ports/schemes concepts. I have suggested RT some 15 years ago to create a CLI version of Parse. I really believed it could become defacto standard, as Curl is nowadays.
05:52We were always looking for a killer app, but refused to see the obvious!
rebolek
07:02@Oldes Rebol may not be parsed as easy as JSON, but compared to that hell called YAML, it’s still pretty straightforward. YAML is cancer.
gltewalt
09:52When are ports? (soon TM)
rebolek
09:53you can try them today, just check out the right branch
gltewalt
10:00I feel like some "app" in Red is about to take off. You're going to want ports in the release when that happens, even if they aren't 100%
GiuseppeChillemi
10:09@rebolek why YAML let you say this? Which problem has it from your POW?
rebolek
10:14@GiuseppeChillemi just take a look at this monstrosity https://yaml.org/spec/1.2/spec.html
10:16do you think it’s simple to parse?
GiuseppeChillemi
10:28Simple is in the mind of YAML creators, hell is in the mind of YAML parser coders.
10:33Here I have found some alternative to YAML:
https://news.ycombinator.com/item?id=24674490&p=2
And here REBOL is also Listed
https://www.limswiki.org/index.php/Data_exchange
Oldes
10:39@pekr don't get me wrong... I'm excited that something is happening... but I have right to be skeptical.
10:40@rebolek I don't say I love YAML... I'm happily using Redbol. Btw... what one may expect, when you mix C, Java, Perl, Python, Ruby, Email, HTML, MIME, URI, XML, SAX, SOAP and JSON together (list based on https://en.wikipedia.org/wiki/Comparison_of_data-serialization_formats)
rebolek
11:53@Oldes I know, I’m just saying that using YAML as a configuration format is a mistake. In fact, using YAML at all is a mistake. Other people have problems with YAML too... https://www.arp242.net/yaml-config.html
greggirwin
17:54That's a good page @Oldes. We'll want to put things there at some point. It also shows that devs will do what they want. e.g. the API column sometimes says Yes, and sometimes (protobuf) lists a whold bunch of libs.
17:56The other Data Exchange page is also a good find. I hadn't seen limswiki before. Thanks for that @GiuseppeChillemi.
17:58Note that there's a comment in the HN thread:

> I'm always disappointed when one of these new languages comes up and there's no railroad diagram.
GiuseppeChillemi
19:04@greggirwin
> Note that there's a comment in the HN thread:
>
> > I'm always disappointed when one of these new languages comes up and there's no railroad diagram.

You have used the eagle's eye power!
gltewalt
19:04Despite all that, json as config files is kind of noisy and ugly to those who dont work with json constantly. TOML is more rebol like, in syntax, at least
gltewalt:matrix.org
19:07YAML is more pleasing to look at, and humans go by feel quite a bit. Even programmer humans.
GiuseppeChillemi
19:08@gltewalt I can proudly say I have skipped the XML-only era and I am happy about this. It's like finding each information piece with strobe lights flashing in front of you.
Oldes
19:11I miss strobe lights these days!
19:12With some noise.
pekr
greggirwin
19:37If you use something regularly, you become inured to the pain. Having only needed to touch it a few times, YAML has tripped me up with things that look the same, or seem so to me, but aren't. It's the same for those coming *to* Red. Hard at first because it's different. What matters is long term pain, ease, and clear communication in data.

There is something to be said for formats that impose structure. It does have benefits. But it also comes with a cost.
gltewalt
20:24There's some kind of 'Laziness / Feel / Technologically Superior' ratio that allows something to "win", I think. And Technologically Superior doesn't seem to have as much weight since history is littered with superior tech that didn't win.
dsunanda
20:37Before XML and JSON for config files, we had CSV and INI.
Of all those four, INI is the only one you could just about trust an expert user to edit without messing up (on a good day that is).
ASON looks like a good evolutionary step upward from INI - so it can have my vote :)
Respectech
21:03Regarding @greggirwin 's comment on structure being good sometimes, I've been programming advanced 3d objects in OpenSCAD for the past year or two, which I understand is akin to Haskell in how it imposes structure. Hate it. I hate it enough to want to write a replacement for OpenSCAD in Red (but I don't have the bandwidth for that). Also, the syntax drives me crazy.
greggirwin
21:21What's interesting WRT syntax and punctuation is that we have necessarily force-fit things for our purposes. Punctuation helps structure prose and denote groups in natural language, but what we think of as data structures (key-val or table) are hacks to some extent and there is no real consensus.

I thought braces were a good choice in Rebol, because of the hand-written use of them for grouping lines of text. Using them for objects is still a grouping, so isn't an unreasonable choice. But replacing that with multiple single quotes for ML strings is a harder sell for me.

INI files are a great format (we should have a codec even though their largely out of fashion), and are like R2 VID; easy to use for many common cases, but also not hard to run up against their limits.
21:24Looks like there were a few INI parser in the old rebol.org library, one of which was @dsunanda's.
21:29@Oldes and Marco Antonazzi both have parse based versions from the library as well, for comparison.
21:31We have a TOML grammar in DG, which should also be considered for how the output structures line up, as well as with how JSON is used in config contexts.
dsunanda
21:32@greggirwin My one in Rebol.org needs some changes to run in Red (I have the Reddified version if anyone wants it).
Also, for flexibility, it breaks the INI standard - if a keyword occurs multiple times, each line is collected in a block; otherwise it returns a string
greggirwin
21:33Those are some of the design choices. e.g. collect, strict, transcode values, etc.

GiuseppeChillemi
00:28@dsunanda Pleas, post it! I like to learn from others work!
00:30@greggirwin The good thing having braces for objects is that you do not need the MAKE constructor, which makes things a lot easier and nicer to look.
00:32About Carl's work, I don't think it will take so much time to complete. After all, he has to adapt the existing R3 lexer and then start working using functions, and data structuring and manipulation methods he has already developed during the past 25+ years with Rebol.
greggirwin
00:36@GiuseppeChillemi the lack of make raises other questions and imposes limitations. We have both maps and objects, which have different behaviors and use cases, but there is also a lot of overlap. The design choice is where you want to make compromises and shift effort.
GiuseppeChillemi
00:37I know, every advantage comes with a price.
gltewalt
06:35@rebolek Your readme for REN has an issue. Have to put a space between ### and header for it to render
rebolek
07:24@gltewalt thanks, fixed.

hiiamboris
15:01wow that's complex! :)
15:03how does it trigger compilation? it totally escaped me
15:07I read, trust me ;) But I didn't get it. Does your Red compile without -r and -c switches?
15:07How does it know when to compile and when not to? ;)
15:10--cli compiles only CLI console exe, not any other program
15:11I'd rather not do smth I don't understand ;)
15:13I didn't know of this way to run cli commands in the background though.
15:14No I'm not trying it :D
15:19I'm curious. If your hidden Red script runs a child process (e.g. call/show "notepad"), will child window be visible?
15:23I see you're running it in some kind of hidden mode. It's just console hidden or the GUI too? E.g. view [..] will show up?
15:26Cool!
15:31we could've made such launcher in Red if call wasn't buggy through and through .. :(
15:38Without /show I don't see a console (W10).
15:47I'm playing with it.
15:51I still don't understand how can it compile your script on 1st run ;)
15:57I made a launcher out of it:
Red [needs: view]

unless empty? cmd: system/script/args [
	vbs: rejoin [
		{Set objShell = CreateObject("WScript.Shell")
		cmd = "} cmd {"
		objShell.Run cmd, 0, false}
	]
	path: to-red-file as file! any [get-env 'TEMP  get-env 'TMP  "."]
	write file: clean-path rejoin [path %/$launch$.vbs] vbs
	call rejoin [{start "" "} to-local-file file {"}]
]
16:02Because I don't want to write it every time?
16:06Every once per bat file I mean ;)
16:07Thanks for the trick. It certainly works better than just call.
16:10With all arguments passed to it.
gltewalt
16:27@hiiamboris you not understanding something is not possible?
hiiamboris
16:37Of course possible ;) Just proven.
16:38use -t Windows
16:44It's supposed to be used like launcher red testjes.red or launcher red full\path\testjes.red
16:50from %PATH%
17:04You could just set it up:
ftype rebol3=C:\OS-WINDOWS\PROGRAMMEREN\REBOL3\PROGRAMMA\r3-32-view.exe "%1" %*
assoc .r3=rebol3

and so on
17:07%~d1%~p1%~n1.exe can be just %~dpn1.exe btw ;)
17:20I use assertions: https://gitlab.com/hiiamboris/red-mezz-warehouse/-/blob/master/map-each.red#L148
ne1uno
17:30can we remind people? compiling is only really useful at the final stage of distribution. interpreted scripts run fine and start up quicker
hiiamboris
17:31unless you've got routines ;)
ne1uno
17:36I use geany too, what are you using for syntax highlighting?
17:37the console is useful for debug statements, so not unwelcome
18:03Rebol2Red I think you have to custom build geany/Scintilla to enable Rebol highlighter. I posted a script to make filetypes.Red.conf but haven't updated. highlighting and themes in geany is too complicated for sure! https://gist.github.com/ne1uno
hiiamboris
18:11It hides it ;) After which you have to kill it from the process list
18:11launcher cmd /c notepad test.txt works though
18:27why you need a command prompt to start it in the first place?
18:27make a shortcut on desktop if that's how you like it
18:28happens :)
18:34I don't mind!
18:35No need for any credit ;)
19:14-t Windows says you need needs: view or it refuses to compile
19:17system/script/args
19:20if you didn't add anything after launcher then yes
19:23there are ways
e.g. Win+R - there you can type launcher with args
or create a shortcut to it and edit command line of this shortcut
19:27> needs a path to launcher.exe

if you don't put it into the %PATH%
19:28Are you proposing to make a script that will create shortcuts? ;)
19:33(: ok
19:35like, only a single %TEMP%\$launch$.vbs that can exist on your PC?
19:37or that everyone's workflow and habits are vastly different and chances are nobody's gonna even bother trying that script, ever? ;)
ne1uno
19:37there are many work processes. I use buttons from total commander when I need options, or edit shortcuts or conf files or run from console. there is no perfect way
19:38is you start launcher with --gui, it could popup an ask for options window
hiiamboris
19:53I'll kill my battery without it ;)
20:06they already killed my browser with their scripts :/ ninjas
gltewalt
21:41Someonw should make automated bath controls. Pre set temp, and turns water off at given depth
Respectech
21:50We have all the stuff you'd need at ameridroid.com to make this happen. ;-p
21:56Granted, it would be kind of a hack, but here you go:

To physically turn the water valve:
https://ameridroid.com/products/shelly-gas-add-on-manipulator

To measure the temperature:
https://ameridroid.com/products/shelly-temperature-add-on-sensor-controller?variant=33051994062882
https://ameridroid.com/products/shelly-1-ul-wifi-ac-dc-relay-switch-15a

To trigger the valve manipulator when water hits a pre-defined level:
https://ameridroid.com/products/shelly-flood-water-sensor
21:56And you could control all this with Red as the devices communicate via HTTP.
GiuseppeChillemi
23:23They are nice product, I have purchased 5 h&t and a flood water sensor but they gave me some headaches in a mesh setup. I have had ti turn them off.
Respectech
23:30I find that if you connect to their WiFi access point, open their configuration page at http://192.168.33.1, connect them to your network, and then reserve the IP address in your router's DHCP table, they work fine. If you are still having trouble, open a ticket by emailing support@shelly.com or at https://shelly.cloud/support/
23:31I know the CTO (Chief Technical Officer), Doug, and he'll make sure your issues get figured out by their support team.
GiuseppeChillemi
23:40Thank you, I have already opened multiple tickets many months ago. I have had answers but the solution needed time to develop some improvements in the firmware and fix it. I have shut everything down waiting for FW 1.8+ and I see it is now out. I will check if it solves/implements what is necessary and I will write you back.

Respectech
00:16Yes, they just released a bunch of firmware today.
ne1uno
01:21is there a batch dsl? that would be very popular
GiuseppeChillemi
17:09@Respectech have replaced the battery, switched on the device, and updated and my main problem is still there: I have 5 access points in my company, all with the same SSID. Shelly has no way to select a specific one, a frequency or a max address, or select the strongest signal. So you never know what it will be coupled during setup. This is a major drawback of a device like this which can be used in large areas.
Another problem was the sudden heavy drain of the battery when the device is distant. My hypothesis is that the device tries to connect to a distant access point when it activates and it fails so the connection hung or keeps failing forever. Se I have from 50% to 0% in 24h. I will test it today. as I will upgrade one which used to fail and test if version 1.10.x has solved the problem.
17:10Every test on multiple devices at the same time costs 30USD of batteries!
21:29One moment, I have found something new in the app...
21:30"Reconnect to the strongest access point". They have fulfilled my request. On Monday I will test it.

BaronRK
03:55Interesting read...

https://www.quora.com/q/python-programming?__ni__=0&__tiids__=23893055&__filter__=all&__nsrc__=1&__sncid__=13321650025&__snid3__=18928732513#anchor
gltewalt:matrix.org
04:45It's about to be as big or bigger than javascript. They're sticking in Office as the scripting/programming language instead of VBA. Half the corporate world runs on Office as an IDE. Or more than half.
04:46It used to be Office + VBA, COM, and ActiveX. Runs soooooo much.
greggirwin
05:01It's all about the ecosystem.
gltewalt
05:49Mainly because departments don't want most of operations downloading and using software - office+vba, activex, com... built in to windows shops
05:50Now there's Powershell, and soon to be python
zentrog:matrix.org
20:00This was a really [interesting discussion](https://changelog.com/gotime/172) mostly about design philosophy, and only secondarily about Go. After looking at the show notes, I can see that most of the content is based on this document: https://github.com/ardanlabs/gotraining/blob/master/topics/go/README.md
Some nice quotes and guidelines in here. I particularly like: "Make it correct, make it clear, make it concise, make it fast. In that order." - Wes Dyer
greggirwin
20:03Looks like a good find. Thanks @zentrog:matrix.org !

GiuseppeChillemi
17:31PHP source compromised by hacker
17:31https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/amp/
greggirwin
18:28We must always be on guard.

GiuseppeChillemi
23:29> We must always be on guard.

Our chat has been prophetical, after our talk something happened to me, I was hacked! Here is a the story:
After the chat I have continued working into my company, where I have set up my Shelly devices up to 00:15 AM. Then I have switched off the office lights, closed the doors and moved home. This morning I have connected to my PC via AnyDesk. When the screen has opened I have found something strange: the remote desktop was black with a browser window opened at its center and the site was my bank institute. I have not made any action on that computer! Also, there was a server error on it. I have closed this browser and realized a console with PROCMON was the window making the screen appear black. I have started to panic! What was happening? Was someone inside my machine? The answer came just after: another browser window was open, inside it I have found a bank transfer was stopped at the second authentication, that one connected to my phone device. The one no man could pass without hacking my phone. Another quick view on the second monitor and my password manager was open, four password tabs open, and also Microsoft edge open and used. The heart was pumping loud with my body and mind full of adrenaline. I have closed the phone call with my secretary telling her "my blood has frozen, there is a problem, I will call you later". I have then thought at max speed what to do, which information could the hacker already have in his hands after having accessed all my passwords. I have thought that he could still have not changed the most important password: the one of the email account where I receive my confirmation email for password changes and the one of the passwords manager itself (that I have never written anywhere). I disconnected because that machine was unsafe, and tried to access those accounts via my local machine. The password manager was either not authenticating me and after a successful attempt, it has frozen multiple times! My hypothesis was the attacker could have changed the credentials and some sort of erratic state could be between the remote password manager state and the local one. Ok, I will try it later. With just the passwords in my local browser cache, the password manager was still able to let me log in to my email account. It could be a matter of time, seconds before the attacker could have changed the password, so blocking me from everything and having full power to change the credentials.... heart was racing...
(next part of the story will be tomorrow, it's very late here...)
greggirwin
23:33Tomorrow!? ;^) That's a real cliffhanger. Let us know how it turns out, and what you think the attack vector was. I hope you get some sleep.

Respectech
00:24@GiuseppeChillemi That's terrible! I hope you are able to get ahead of the hacker!
gltewalt
11:21You know... if you combined toomas abilities and something like his GUI help example, my ideas with my little utility, and Boris command line parse, you could have a heck of an app. Maybe a killer app
11:29If nothing else I see many things bubbling up from people - yaunish, vooglaid and Irwin, boris, ports soon TM
BaronRK
13:59@GiuseppeChillemi scary
greggirwin
17:42@gltewalt yes. Reaching critical mass, where more people contribute and collaborate, is the hard part. We'll get there, and at some point the ecosystem and tooling snowball will get rolling.
GiuseppeChillemi
18:45[ATTACK UPDATE]
Yesterday I have waited for the time the attacker could be working on my machine, as you wait for a thief which robs always the same place and hour. I have then connected to the remote machine and found the windows opening and moving. I have made a video of what I have seen from any remote desktop. I know who he is from the things that I have seen on screen, but you have to wait the next few days as this has been a day full of work for me. I will also upload the video of the hacking together with the remaining part of the story.
hiiamboris
18:47IMO if he allows you to record him, he's a script kiddo, not a serious threat ;)
Windows left open previously also speak of that
18:48You might wanna hire a specialist though, to help you trace the attacker back. In case he eventually manages to steal anything.
GiuseppeChillemi
19:09I have tought the same when yesterday morning I have seen Procmon, the password tabs open and the bank transfer window started left open at 2FA request: a script kiddie that has not been able to rob but took the passwords.
19:10So he could eventually used it remotely or he could try to come back on my machines to rob more or hide until he is able to take much more.
19:17*used them
gltewalt:matrix.org
19:26Hire a Russian
dsunanda
19:30@GiuseppeChillemi Thanks for the update - you've had an interesting day :)
GiuseppeChillemi
19:48@dsunanda You will see the next days how much it has been "interesting"!
gltewalt
19:48What would be the delimiter in Red for something like this?
19:48<h1><%= @article.title %></h1>

<p><%= @article.body %></p>
19:49Since lexical space is tight
Oldes
19:53What do you mean?
gltewalt:matrix.org
19:58Choosing a delimiter that isn't already heavily used. I know it doesn't really matter in a dialect, but it could be confusing to newcomers.
19:59In rails they're using %= and %
greggirwin
20:02Specifically, you want markers to start and end "escaped" tags?
gltewalt:matrix.org
greggirwin
20:09Then think about what you are escaping into. If you're escaping into included files, % is a good sigil. If it's code, maybe parens. If templates, curly braces or raw-string form.
20:10Keeping things at least somewhat aligned with Red syntax, rather than making up something entirely new, can be very helpful.
hiiamboris
20:14> If it's code, maybe parens.

Yes
>> composite[] <%(1 + 2)%>
== <%3%>
gltewalt:matrix.org
20:14How about going against my initial thought, and using the 'most common'? <h1>[ red data]</h1>
greggirwin
20:16If it's Red data, absolutely.

GiuseppeChillemi
22:03**[Hacked, 2/3]**
 *It could be a matter of time, seconds before the attacker could have changed the password, blocking me from everything and having full power to change the credentials.... heart was racing…*

I was able to login into my email account and I have changed its password. This was my greatest fear: the hijack of the email I use to register on all sites. Being able to get its full control, I have felt a sense of safety. Now it was time to understand if the company site has been fully compromised or just my machine. I have checked for the antivirus but I have not found it installed and this was strange, I didn't remember having removed it. I have reinstalled Kaspersky and also, other tools to check for possible backdoors and suspicious activity. Before leaving I have begun a deep scan.
I have then move to my company location...

I have traveled 30 minutes depicting in my mind all the steps I would have to do. Sunlight was strong as in Sicily, the last 2 days were very hot days, spring is here in its full power and birds, butterflies and gnats are flying around, also flowers and trees were covered of colors!
When I have reached our office, the second round of my work has begun: I have seated in front of my PC and I have started searching for other signs of activity on the security register of all of my servers. I have changed the remote access tool password, added a 2FA as OTP, and removed a couple of those RA tools used from our ERP seller. In the meantime, the antivirus deep scan has ended with few low threat warnings. Still no sign of activity, maybe the hacker will return later to complete the work. In the meantime, I was able to access the password manager GUI from my mobile, so my safety sensation was higher! Having done my best and needing this machine for some work I have set up a personal work policy for the day. After having taken other security measures in the remaining computers of the company, I have started using the compromised one. The policy was to never enter any password, no login to any site, do only simple jobs where no data could be taken to perform further breaches or facilitate them.
22:03**[Hacked, 3/3]**
The remaining part of the day has passed quickly. When has been time to leave I have closed the windows, turned off the lights with my monitor being the only thing emitting light in the dark. I have cleared all the servers' passwords and moved to my home. My intention was to let the target machine available to the hacker while being able to access the whole site and this machine remotely. At 22:30, when a thief could suppose nobody was in the office, I have connected remotely and... *surprise!!!* All the windows were open again. With my heart racing, I have realized there was a remote RDP session open. Maybe I have forgotten it or the hacker has had access to it. Windows were still opening, the task manager was in front of everything, and there were mouse activity on the taskbar. I have caught him! Here is the video of the hacker in action: https://drive.google.com/file/d/1-upP2wlCWQ5qNUIuiE_4k9zOzSWTEArF/view?usp=sharing on the bottom you can sport a circle that corresponds to his mouse clicks. Few seconds and I have realized they were the same circles I have seen about 1,5 ago in this story: :point_up: [october 2019 15:25](https://gitter.im/red/chit-chat?at=5da1d42fc87a1d28ac9869b9) …. The circles, their slow-moving, strange clicks patterns like small sudden jumpings, too many windows open, circles instead of mouse pointers, the sunny days, insects everywhere, the PC screen being the only source of light in the room and I have realized what was happening! Some butterfly or gnat was jumping on the touch screen! And it was opening applications and windows randomly, including the task manager! Oh my God, everything is now clear: some bug should have clicked on the monitor for the whole previous night! The most incredible thing is that the insect was able to open Procmon, a console, Chrome, retrieve my last bank session that could have been minimized and not closed, initiating it, and stopping at 2FA! Also, it has opened EDGE (I have never used it) changing its configuration to tabs minimized above the address bar as miniatures, and also activating the last password manager window. Of all the possible windows/programs combinations the destiny, incarnated under the tiny pawns of the gnat, has chosen to let me find open the only one capable of triggering a big hacker alert, Including starting a bank transfer on the most hacked institute in my country. Before leaving with this incredible story, I have had to look at only one piece of information capable of confirming this is what has really happened: the last login record of my account on the bank portal (I have not opened it before because I was on the compromised machine). It reported 3 days ago and not yesterday. Horray! Now I could relax and sleep.
greggirwin
22:10WOW! What a great story. "Man has heart attack caused by butterfly." You set it up well, describing the weather and scene first. The suspense mounted. It seems impossible, but someone should put that in a movie. Thanks for giving us the full story. Put something over the touchpad and see if that stops The Bug.
GiuseppeChillemi
22:14It's not the touchpad but the monitor's touchcreen.
greggirwin
22:15Oh man, it must be very sensitive.
GiuseppeChillemi
22:16Yes, this has opened some questions on the device I have chosen to have on the production line.
greggirwin
22:16Someone should do a test. Put a dome over touchscreens and release different numbers and types of bugs. Maybe they'll end up writing some decent code.
GiuseppeChillemi
22:17This is the device: https://www.dell.com/gd/p/vostro-360/pd
greggirwin
22:17I guess that's an argument that command lines and consoles are less susceptible to bugs.
dsunanda
22:17@GiuseppeChillemi Amazing story!
In chaos theory in the analog world, a butterfly flaps its wings, and a week later we have a hurricane.
You now have documented case of digital chaos theory - a butterfly tapped your windows and a week later it could have been an international crime :)
greggirwin
22:18Or even better, a robotic bug used for espionage.
GiuseppeChillemi
22:18@dsunanda Do you know the story of the Australian interstallar radio observatory?


dsunanda
22:19@GiuseppeChillemi The one with the microwave oven?
GiuseppeChillemi
22:19Yes! https://www.theguardian.com/science/2015/may/05/microwave-oven-caused-mystery-signal-plaguing-radio-telescope-for-17-years
22:20This time the mystery has taken just 17 hours to be solved!
22:21@greggirwin
> Or even better, a robotic bug used for espionage.

I and my secretary have thought just this scenario. It's a common fantasy these days.
greggirwin
22:23I have to admit, the cockroach in The Fifth Element makes me laugh *every* time.
GiuseppeChillemi
22:24> Someone should do a test. Put a dome over touchscreens and release different numbers and types of bugs. Maybe they'll end up writing some decent code

Some programmers around already release code written by bugs!
22:25> I have to admit, the cockroach in The Fifth Element makes me laugh *every* time.

I have never seen The fifth element!
Respectech
22:44RE: Microwave - that's why I never open the microwave door without stopping the heating cycle first.
22:45Bugs: I haven't had that happen to me, but I've been the cause of many bugs.
22:45Glad to hear it wasn't an ACTUAL hacker.

GiuseppeChillemi
00:41@Respectech Thank you
zentrog:matrix.org
04:09Wow, what a story! So was it the light of the screen that was attracting bugs? I’m finding these days there are some sneaky things running that will prevent Windows from sleeping, or even wake it back up
GiuseppeChillemi
07:30@zentrog:matrix.org Yes, it was the light of the screen to attract them. They have spent the whole night walking on it, opening and changing applications.
hiiamboris
07:38LOL. Fantastic story!
GiuseppeChillemi
07:43We should always try to find the positive from events that happen. Here are is what I have found in this situation:

1) I have discovered the Edge tab preview mode:
07:45[![Microsoft_Edge_tab_preview_bar.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/fFGy/thumb/Microsoft_Edge_tab_preview_bar.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/fFGy/Microsoft_Edge_tab_preview_bar.png)
07:45https://www.tenforums.com/tutorials/73572-hide-show-tab-preview-bar-microsoft-edge.html
07:462) I have activated 2FA and raised the security levels
07:483) I have create a procedure under the wave of the "ghost attack". It is incredible how productive you are when you are under threat.
07:50An emergency helps you write the procedures for the next one.

henrikmk
14:20Not directly related to Red or REBOL, but strangely motivating to read stuff like this:

https://stationhq.com/blog/a-new-era-for-station

Station was an application, built on Electron to group common webapps and make them searchable. Using Electron turned out to cause so many bugs and so much resource hogging, that the developer simply gave up.

Imagine if common webapps were built in Red/REBOL and Station was a Red/REBOL application. It would have consumed 1/100th the resources, while being able to perform the same tasks.

I'm still greatly in favor of having Red/REBOL in a browser form factor, one that people understand. I think that could make Red popular if it directly attacked the web application space.
BaronRK
15:34@henrikmk imagine if the web was vector based (like the NeXT), how much energy and time and speed that would save.
greggirwin
15:40Now imagine if your Display Postscipt engine could transparently handle nested dialects for diagrams, charts, etc.
15:48@henrikmk skimmed. It's funny, a common criticism is that we shouldn't reinvent the wheel, but use solutions that already exist, created by experts. The problem is that they often solve only vaguely the same problem when it comes to anything beyond strictly codified algorithms (which are the easiest thing to port). Once you have more than one moving part and compromise in that vein, and none of the other solutions know or care about each other, you end up with a hodge-podge and no conceptual integrity. *But* you can still say you architechted and designed it. :^)
15:51Note, too, that they talk about how great the phone is for solving some problems, like being able to search across apps. The form factor isn't one size fits all anymore. That's an opportunity in itself, because responsive design is a real pain point.

rebolek
07:09If the current wheel has a square shape, we should reinvent it.
dsunanda
07:24Look at how different a steering wheel is from the other four main wheels on a car - per Gregg's point, there was a lot of reinvention and adaption going on there.
BaronRK
15:57There are MANY parallels between building houses and software (more than between building hardware and building software in my opinion, which is what most would think).

I'm always fascinated though in building houses (which I do often as my own hobby) how many custom parts are needed, and there is no way around it. How many standards there are, and how things that look similar are in fact not.

Consider just pipe fittings. There are a dozen isles filled with what is basically the same almost identical shapes, but firstly made of different materials. Schedule 40 PVC pipe is a great example, because they are so identical you can even fit most of it to each other from Electrical Schedule 40 (more expensive, and gray) to Water Schedule 40 (usually white, sometimes purple, etc.). But, they are in fact not the same, and while one can use electrical for water, the other way around is very much not advised (although, technically it would be mostly fine for the record). Due to wall thickness, UV protection, etc.

Should we make it such that it can be used for either?

https://www.commercial-industrial-supply.com/resource-center/difference-between-plumbing-pvc-and-electrical-pvc/

Same for Metal pipes for water and gas. Again, they look the same, but the fittings are slightly different.

I view file formats this way. There are reasons and advantages to having data stored in formats specific to what you are doing. One size does not fit all. XML sucks/ed for storing 3D information (VRML). I'm not even happy about HTML for that matter.

Rebol blocks are still much nicer than JSON, can do everything JSON does, and also be executed (and easier to type).

We all want one size fits all, simpler, etc. But the right tool for the right job is important, and it takes a lot of engineering to make one tool that does many things.

My favourite physical tool that only came into existence in recent years is the https://www.allfasteners.com.au/news-articles/the-unlikely-origins-of-the-oscillating-multi-tool

It changes how easily and fast I can do many things, and I use it about 30% of the time for most problems. I want more like it in fact. And have made my own bits for it to make it do even more things.

It exchanged brute force (giant blades cutting) for simply vibration. It could still be 10x better with a few more tricks (blower, vacuum, light, and gigs).

ne1uno
04:00https://www.axios.com/google-wins-software-case-oracle-supreme-court-e4f3ec07-4295-40fc-a28b-a2e0dc6cab7d.html good news for the java bridge
rebolek
06:23I received invite for OpenAI so I naturally had to ask the most important question, what is the kill app for Red? So here’s the answer:
"Red language enables the development of cognitive algorithms. The same algorithms can be used to build intelligent systems in many fields."
gltewalt
11:49https://youtu.be/QtvvQ7MdwKY
greggirwin
18:46@gltewalt very funny when he says one of the APL solutions is verbose. :^)
18:51@BaronRK My Fein MultiMaster is one of my favorite tools. I emailed them once, to suggest they market it for cutting winter squash, which is a terrifying task with a knife. They thought it was funny. Clearly, they never tried it.
Respectech
21:03@BaronRK Funny story: I was gifted a Ryobi cordless tool set, and it had this weird tool in it that I didn't know what to do with. So I just put it on the shelf. Then, when the cabinet guy was installing the cabinet in the ameriBus a few months later, I saw him grab one of those and cut a hole for the new head unit that went into the cabinet. Now I use it here and there, but it still isn't my *favorite* tool yet. It is definitely a nice tool to have in the arsenal. And now I also know how to cut my winter squash.
greggirwin
gltewalt:matrix.org
22:29I like seeing Dyalog / APL, but I don't know if I have the nerve to try it out
22:29Er, like seeing examples

Oldes
09:08To be honest.. I don't have the nerve even to watch it.
BaronRK
15:19@ne1uno Java Bridge, Cool

@gltewalt APL someone wrote in YouTube 'apl is like how programming is portrayed in movies' LOL

@Respectech this week alone: snapped off a screw, used Oscillating tool to do a perfect cut off at wood level without hurting the surface. Cuthinge cut outs in a few seconds (no need for time consumer chisel and hammer), removed expoxy from cement. But yeah, you can cut perfect squares in wood or drywall, and, I've been doing some very compex cuts that allow me to make things I don't even know how I would do as perfectly or as fast with other tools.

My big hobby project I want to try is using it directly to sculpt wood. I live next to the ocean, and have a lot of drift wood.
Respectech
17:06@BaronRK I've used it to cut hinge mortises as well. It is super quick for that. Way faster than a chisel.

loziniak
21:18I wonder what the team is cooking behind the scenes... or ["Was it holidays?"](https://progress.red-lang.org/) ;-)
greggirwin
21:30:^) That's great. There are definitely some things cooking behind the scenes, but also regular work that isn't quick and easy. e.g. @dockimbel is working on a deep bug @hiiamboris uncovered. Sometimes we push those down in priority, but when they affect real work they may need to be moved up.

GiuseppeChillemi
22:21@greggirwin Gregg, I can still wait until the end of the year to have ports, text-table and an android version as I have many projects being developed on Rebol, but after that date, I will start suffering. Everything will be ready with no way port on Red to make a commercial product.
greggirwin
22:23I want ports as much as you do. We have commercial products that need them too.
GiuseppeChillemi
22:24Could I ask what is slowing the development and if there is something we can do, as community, to help you?
greggirwin
22:28Help would have to be in the form of expert Red/System skills. We need another low level developer.
GiuseppeChillemi
22:37Here he is:

NEW_DEVELOPER: MAKE RED-DEVELOPER! [
   skills: [RED Red-System] 
   level: 'expert
   wage: 'just-a-smile-every-now-and-then
]

loziniak
22:49> Help would have to be in the form of expert Red/System skills. We need another low level developer.

https://www.redlake-tech.com/careers/

404 not here
greggirwin
22:51Thanks both! I've been meaning to update the [job postings](https://www.redlake-tech.com/category/jobs/), but missed the careers link problem.
GiuseppeChillemi
23:36We would need Carl or Brian Hawley.

rebolek
13:41I’m writing some R2 code now and after using R3 and Red for such a long time I must say it’s painful. Espesically the R2’s parse is so limited, things like not, if and tons of other useful stuff isn’t there and needs to be emulated with some arcane constructs. Wow!
greggirwin
18:48We sometimes don't feel pain, or see limitations, except in light of new experiences. :^)
GiuseppeChillemi
19:55@rebolek I know, I am suffering a lot for not having the needed to work on red.

dsunanda
16:57@rebolek R2 is drifting into the cruft patch. At least on Windows, CALL no longer always works; and BROWSE always loads Edge, not the default browser.
rebolek
17:21@dsunanda I’m using it on CGI so as long as the web server is able to run the exe, it works. But man, there’s so much stuff missing that can’t be added!
dsunanda
18:04Either way, it's becoming more of an adventure :)

Oldes
22:49In case someone would need R3 in GitHub Actions: https://github.com/marketplace/actions/install-rebol
GiuseppeChillemi
23:28We are not far. Vladimir has implemented money datatype. So we really near: Text-table together with ports (not working on my systems) Clojures, and an Android version, and Red will be fully productive for me.
23:28* we are really near.

loziniak
11:27...or really far. looking ad *progress* page two possibilities are: a) the team has abandoned the project, b) they are working off-repo on some giant mystery feature :-)
pekr
11:59@loziniak you can just look into the new Carl's endeavor in a meantime - https://altscript.com/ ... :-)
12:01For one, I don't like he removed the path concept and uses a dot notation for objects/fields. But otoh he tries to steal the thunder by providing something more advanced than JSON is, while not pushing REBOL onto the outer world ....
loziniak
12:01load/as %in.ason 'ason soon™ <3 <3
12:10looking at frontpage example, I wonder if reference to people.seniors is indeed safe, has to be external value, as it is not present in the snippet.
12:14even if it's well protected, it suggest dependence on parsing app implementation...
Oldes
14:16@loziniak as there is file extension used, it should be enough load %in.ason, but I don't believe there will be any public altscript version anytime _soon_.

BaronRK
06:18altscript is cool, we should all get behind it technically.

Side note, a 90 day gig for a Data Architect - a friend of mine is looking for someone, this group might be worth placing this...

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

GiuseppeChillemi
08:18@loziniak I suppose Red team has entered Cave mode. It will last for some time.
loza:matrix.org
10:50tough times for us, groupies 😃
10:51perhaps a good time to enter the cave too.
planetsizecpu
14:08Mmm... not that time for me as I try to get out of the Cave 😀
GiuseppeChillemi
15:07We have to wait until the Red Crew will come back from his mission, then I expect some great surprises.
GaryMiller
19:27Not too long in the cave I hope. People tend to wander off when they can't feel the progress.

btiffin
19:54Anyone up for design and development of a Red community award system? Something to count votes for a Redder of the Year award. And accept nominations, and the whats not.

Some will recall the Roty's, and the hodge podge of poor design and implementation put into the first few years.

Red deserves a cli and gui vote window, on a block chain. Formalized a little with a Chamber or Formal discussion channel.

Conceptually a purposeful meeting at a table, with a chairperson and delegated Mr. Speaker control of the floor (like a Parliment, following Robert's Rules of Order, but looser for internets). I've been calling it BOBLAW, maybe BOBLOBLAW, for Basic Online Behaviour, Logistics and Welfare. Or something something. Anyway the goal is to provide for purposeful, legitimized decision making on motions of community business and interest. Taking place in a formally light hearted (and/or hostile) virtual environment, where everyone gets a chance to raise motions and be heard in order, following a rather strict and regimented set of rules, with frequent democratic motion votes (full table, with extended internet timelimits and *who's in the room at the table* quorum requirements), etc.

Feel the need to push for some backfill on the REBOL Of The Year awards, and catch up on Redling of the Month. ;-)

greggirwin
17:07Thanks for starting the conversation @btiffin. I'm largely offline for a bit, but will think on it when I get back in the office.

btiffin
08:12> Thanks for starting the conversation @btiffin. I'm largely offline for a bit, but will think on it when I get back in the office.

Never a timeline when it comes to planning or building volunteer systems in my book, so no worries. Seriously, no worrying. ;-) Timelines only come in when there is politicking to subliminally insert and votes to count.
08:27One thing that I still miss. I want to send Ashley and the other winners a block Roty award someday. 10cm cube of wood, 1L, the block. I haven't looked, but then it was 10.3 something something, eqv of a mole of something something. Ashley being in the upside down part of the world, it was going to be shipped as an upside down block. *Ahh, mythical someday's, and not doing the things that need doing.*
08:39I'm still swimming in the not knowing the things for Red. Sugar plumbs dancing times.

Someone that knows how to draw needs to do Red World, a globe. Spin it around in 3d, pick a town, spin some more, pick a friend's town, get the angle of how upside down they are.
rebolek
10:26So not only the Red’s HTTPS got a perfect score on SSL Labs test, now my web server gets 110 points out of 100 on Mozilla’s test. Nice :) https://observatory.mozilla.org/analyze/rblk.eu
btiffin
10:40Nice. Congrats @rebolek
rebolek
10:43Thanks!
planetsizecpu
14:45Well done @rebolek
greggirwin
15:23Fantastic @rebolek.
pekr
15:35110 point out of 100? Sounds futureproof for at least few years now 🙂
rebolek
16:02:) At least few months I guess ;)
loza:matrix.org
16:31great! do you plan to release it?
rebolek
17:20@loza:matrix.org it’s open source so it's [available - see %hub.red](https://gitlab.com/rebolek/castr/). But’s it’s an early prototype, so there’s no documentation and some commits may be broken. You also need IO branch of Red. If you want to try it, just let me know, I can help with a setup.

loza:matrix.org
02:08Currently no plans, but it's good to know there's a Red alternative to Apache 😀

GiuseppeChillemi
22:38@rgchris This week I have read my shelly Sensor via Rebol. Here is pubblic thank you for your Rest.r script.

rebolek
17:33@hiiamboris I have two functions, both use this model (context with one exposed functions). Both functions are dialect parsers. One parses markdown into Red values, let’s say "*hello*" to [em "hello"]. The other function parses these blocks to HTML, [em "hello"] to hello. I guess you now see what the stack is needed for :-)
hiiamboris
rebolek
17:34And now comes the problem: I need the second function (block to html) to be able to parse its strings as markdown. So it would call the first function which in return would call the second function *again*. And now I have the reentrance problem.
hiiamboris
17:37They both having a *shared* context?
rebolek
17:38No, they are separate.
17:39But the problem is that that block-dialect will call markdown which would call block-dialect again and that’s the problem.
hiiamboris
17:40So.. you start with a fresh context when called from outside and use some refinement to continue parsing with current context when each func is called from within itself?
17:42I would then use make self [cache: make [] 100] or smth, instead of copy/deep self
rebolek
17:44Both functions work very similar:
1) init stuff
2) parse stuff
3) return stuff
17:45which is problematic on reentrace because the "init stuff" phase iinits stuff in the same context. I would somehow need to recreate the context before init.
hiiamboris
17:47What would stop you? ;)
17:49Handle the refinement before (1) init phase. If there's no refinement, recreate the context and branch into the other copy.
17:49Or smth more optimized..
rebolek
17:49but that’s the problematic phase. How do I recreate the context from inside the context?
17:50Optimization can come later :)
17:50btw, there are no refinements, I don’t think they are needed
hiiamboris
17:53without a refinement, how can your function tell if it needs to copy itself or continue?
rebolek
17:53good question, I think the safest solution would be to copy by default
hiiamboris
17:54but that'll blow the RAM up :)
rebolek
17:54that’s GC’s job, not mine ;)
hiiamboris
rebolek
17:54as I said, optimizations can come up later
hiiamboris
17:55I was thinking smth like:
context [
	data: []
	f: function [x /reuse] [
		unless reuse [
			return make self [
				data: copy []
				return f/reuse x
			]
		]
		..init..
		..parse.. call f/reuse when needed ...
		..return..
	]
]
17:57But I'm still not sure if copy is needed. You could just mark the current tail of the stack and pretend there's nothing before the mark.
rebolek
17:57ok, when I use /reuse it just returns copy of the context and then I would need to call it again, right?
hiiamboris
17:58no, *without* /reuse it calls itself in the copied context
rebolek
18:00you can take a look at https://gitlab.com/rebolek/castr/-/tree/problem
do %mm.red would run both needed functions.
markdown "*test*" would turn markdown text into a Red dialect which is in turn translated with lest function into html
18:00specificaly into [em "test"] (there’s outside <p> but let’s ignore it for now)
18:01and what I’m trying to achieve is lest ["*test*"] having same output as markdown "*test*" (lest calls markdown which calls lest)
18:02hm, that the stack could stay the same is true
hiiamboris
18:02looks like gitlab is falling apart.. I can't git clone it anymore
rebolek
18:02ssh or https? maybe it’s keys?
hiiamboris
18:03https gives me 403 on Tor, and some lunacy without it:
Cloning into 'problem'...
fatal: unable to update url base from redirection:
  asked for: https://gitlab.com/rebolek/castr/-/tree/problem/info/refs?service=git-upload-pack
   redirect: https://gitlab.com/rebolek/castr/-/tree/problem
18:05ah, it's the /-/tree suffix
18:06ok let's see
rebolek
18:11it’s in problem branch, not in the main one
hiiamboris
18:14sure, I did git pull origin problem
rebolek
18:16currently, I get
>> lest ["*test*"]
== "emtest"

instead of
"<em>test</em>"

but I haven’t checked what exactly goes wrong, I still need to check it, but my bet is on reentrance.
Maybe leaving the stack untouched between calls probably should be enough.
18:21Another thing that is cleared on entrance is output but I guess I can have a stack for it and restore last frame before exit.
hiiamboris
18:22Well, the simplest thing you could do IMO is replace init patterns like
output: clear ""

with
output': output    ;) save the initial index (should be /local)
output: tail output
<code here>
output: output'    ;) restoration
rebolek
18:22Yup.
hiiamboris
18:22That should also be efficient.
rebolek
18:23Ok, thanks. I need to think about it a bit more, but this helped me a lot.
18:24Anyway, it would be nice to have some helpers for stuff like this. But the design would take some time.
GiuseppeChillemi
22:35Despite being old tech, I was able to use Rebol with Shelly's API to read a Shelly H&T IOT temperature, and notify me if it is over a threshold via Telegram. Well Rebol is still usable. I am waiting to have networking fixed to make my experiments on Red!
greggirwin
23:44:+1:

rebolek
05:56So the final solution is this: because markdown parser returns block rules for lest, there’s no need to run lest again, I just insert the result into the input and parse it again. Problem solved.
GiuseppeChillemi
23:02Honda and Dogecoin https://m.slashdot.org/story/385008

GiuseppeChillemi
12:22I have another GEM from our past: an article from Hallvard Ystad, the author of RIX, the Rebol search engine, talking about it, Solr and Rebol: https://hallvard-ystad.medium.com/a-database-or-a-search-engine-d3462b1afa2e .

greggirwin
20:31Nice find.

BaronRK
18:21https://ziglang.org/ thoughts?
18:24Side note, there is a web service called NextDoor. In case you don't know it, it is a social network for people you live next to.
Clearly it needed to happen. The format sucks, it is just another copy of everything else out there of course.
'If you want to make an apple pie from scratch...' should be the slogan of every software company.

But, that all aside...

One small thing they do that I appreciate is they 'try' to scan your posts before you post them and help you make them better. Something I've been doing in Prolific almost since day one.

I wish Gitter did. For example 'I see you are posting about a new language, would you like to move this conversation to a thread dedicated to this?'

That, would be awesome.

NextDoor noticed I mentioned gov agencies, names of business, rude language (it got it wrong, I was LITERALLY talking about 'crap' as in sewers LOL).

greggirwin
18:28We keep an eye on Zig. Talented guy. @BeardPower knows the most about it on our side. We have talked about whether it would be a viable back end for Red, but we don't feel we can depend on it just yet, so we'll still go direct to LLVM when the time comes for the benefits that provides.
loziniak
20:48They have [an Exercism track](https://github.com/exercism/zig) in progress, launched roughly at same time as ours. I watch its progress as some kind of inspiration (https://github.com/exercism/red/issues/3), and that's where I heard about it.

BaronRK
20:10Some notes from the guy mentioning Zig to me ( he knows of REBOL and RED, which was nice)

{Yeah, that's exactly right: the "honeymoon phase" of every project is
the fun part. The Zig folks are very pragmatic, though, and they're not
afraid to put nose to grindstone and do the "sucky parts". I've been
really impressed.}

{I probably will end up doing some Go at some point just to try it out. I
expect it to be excellent for creating Web-based backends.

I also use some command-line untilities that are written in Go, and
they've been really good. Same with Rust.

Zig attracted me as being capable of 100% replacing C in ways that
neither Go nor Rust can, like embedded development. I really enjoy
low-level programming as a hobby, but every language I've learned has
gotten me just 95% of the way there. (I could never force myself to just
go ahead and go all-in on a project in C because it's so painfully hard
to write correct C - there is so much undefined behavior and implicit
behavior.)

I've jumped from language to language so many times that's really been
quite wasteful. A great learning experience each time, yes, but not
productive. I want to settle down with a language with NO BARRIERs,
learn the crap out of it, and then just build stuff. :-)}

Side note, he wrote an ICS filter I used online to Lint an .ics and I reported some bugs to him in his code. He was really appreciative, and I explained some stuff we had learned about .ics files to him, so we've just been talking. His dream when he was a teen was to have an Amiga. Sadly, he was stuck with Radio Shack :(

Awe.
greggirwin
20:17Hey, OS-9 on a CoCo3 wasn't so bad. ;^)
ne1uno
21:09multiuser multitasking in 83?
21:19@BaronRK, lack of smarter input options is common to nearly every app. a programmable virtual keyboard interface could give you a consistent access to at least your own history. a super shell.
greggirwin
21:28"command-line untilities" is a great Freudian typo. :^)
BaronRK
23:07@ne1uno agreed!

Personally, I wish ALL inputs were sub-functions, and we could post what we wanted.
There might be filters, but you could be warned (no Bold, etc.)

GiuseppeChillemi
18:27I wish to use a BOT in my company, it should be an Hybrid one, either automated and human if the customers request for further support. It should be multichannel, supporting telegram, whatsapp, wechat, messenger, skype and so on. Also email and voice are important, so having an API.
Which product is there on the market doing all those things and being commonly recognized as solid and complete solutions?
BaronRK
19:46Yup!

And, sadly, Skype is a closed architecture, not standard!

https://imgs.xkcd.com/comics/chat_systems.png
Respectech
20:53Hmm, I don't see AltME anywhere in that chat ecosystem diagram...
20:53Or Discord...
loza:matrix.org
20:59or matrix or jabber...
Respectech
21:02Or any forums...
21:03Hmm. Must not be an exhaustive diagram. But the "Chat" tab on an old Google Doc kind of threw me there...

dsunanda
19:37@qtxie Thanks for yesterday's fix "force to refresh the gui-console after printing."
That was one of the top three most annoying things about trying to code in the Red GUI console. Code for anyone who wants to see the difference:
repeat n 100 [print n wait 0.2]
GiuseppeChillemi
20:26@dsunanda I have signalled this too and reading its working has been changed makes me really happy! Another BIG thank you to @qtxie comes from me !
21:24@dsunanda I have just tried, it is fantastic!

qtxie
01:48You're welcome. Thanks for reporting it.
hiiamboris
11:10![](https://i.gyazo.com/8491f97cbdb16c9b5929a5c328ede99e.gif)
GiuseppeChillemi
11:43What is that separate output window?
11:43What are those red menu at the bottom?
hiiamboris
11:50FAR manager
11:52but the point was to show what that fix did... the road to hell is paved with good intentions ☺
GiuseppeChillemi
12:27FAR Manager? Is it a Red thing or Linux thing?

> the road to hell is paved with good intentions ☺

As Always?
hiiamboris
12:46Windows thing
dsunanda
18:24@hiiamboris To be fair, @qtxie has moved the annoyance from something daily (having to debug scripts from the GUI console effectively blind) to an edge case.
I'd call that progress.
And the edge case could be fixed by having a way to interrupt scripts run from the GUI console. With Rebol, you do not have to terminate the console after this code - thanks to an effective ESC key:
forever [print 1]

pekr
06:11The print in loop really works, thanks for that! :-) I thought we have to wait for the full IO in order to get that? Glad some other way was eventually found. What works, just works ....
GiuseppeChillemi
19:22@BaronRK
> https://imgs.xkcd.com/comics/chat_systems.png

I am trying to have a central point where some chat systems converge and a BOT talks with users and also humans could intervene when needed; also an API is essential to interact with other company elements like the ERP. Any other approach is a dead end. I have tried manually managing our ecommerce customer flow but I have found myself loosing my mind into multiple communication channels. So I need an Hybrid multichannel Bot with APIs. Vocal interface is welcome to.

Respectech
19:00I got my PinePhone running Mobian activated on the Mint Mobile network (T-Mobile). It was a piece of cake, and it works well. It also supports WiFi Hotspot capability with no additional charges by the carrier (because they have no way of knowing).
19:03Now I should be able to run Red GTK apps on the go.
BaronRK
20:10@GiuseppeChillemi Yup.

Keep us updated, this topic is of great interest to me.

GiuseppeChillemi
22:49For anyone interested, here is an open source remote connection tool aimed to compete to the commercial ones.
22:49https://meshcentral.com/info/index.html

greggirwin
15:07Thanks for posting @Respectech. I got mine here, but have had other stuff going on and not been able to look at setting one up to test.

GiuseppeChillemi
06:23Phyton Author on other languages
06:23https://www.slashdot.org/story/385746

Oldes
08:15[![groupe.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/wFlL/thumb/groupe.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/wFlL/groupe.jpg)
08:15As I was searching for some ancient sources, I found this photo... any known faces there? :)
greggirwin
09:24Nenad in the back.
rebolek
09:48Funny coincidence, I found videos from Devcon in Paris yesterday.
planetsizecpu
11:20mmm, to me the one on the far right, with a handbag, resembles @ldci is it?
greggirwin
15:15Could be @planetsizecpu.
ldci
18:34Hi everybody: a lot of European rebolers on this picture such as Olivier Auverlot, Didier Cadieu… I’m on far right. Picture was taken by Carl in 2007. I’ve also found a Rebol code to identify people on image. I can share:)
greggirwin
19:16:+1: I only met Didier once, and couldn't place him in there.

ldci
16:23Really sorry: picture was tahen during the first rebolers conference in Paris in 2003. I have a code written by DideC which allows to identify most of present people on picture.

ldci
07:27code is here: https://drive.google.com/drive/folders/16UB4cxvfGR0yUDTQBhw7XSM_BmGs87Hx?usp=sharing
BaronRK
21:26It would be nice to have a site where one could upload photos, and tag them, such that they literally get tagged to real sites (Facebook, etc. even).
greggirwin
22:13Content publishing systems must do something like that, including a schedule.
BaronRK
23:50A friend of mine literally searches for photos for books, they do not have anything useful (they have also done work for Pearson, same.

But, why can we just upload that to Flickr, and then, just click or drop simple outlines on things, and name them, tag them, link them?
Even to other photos.

Outline the red shoes the dapper man in front is wearing, link them to the shoe's site? Size and all?

Simple. I though Flickr was going to do this.

greggirwin
00:02https://xkcd.com/1425/
00:03It should be easy enough, with query params, if they supported them.
00:04Image markup as a service. Images are hosted elsewhere, all you offer is the markup, metadata for tags, and querying additions.

abdllhygt
19:06i installed new os to my computer. i have a repo on github. how can i continue push my project?
greggirwin
19:08I use TortoiseGit locally. But any git client will let you clone, work, and push to github. The repo page there will give you a link to the repo.
abdllhygt
19:15thank you @greggirwin
20:03i started to develop my programming language again
20:03https://github.com/abdllhygt/coz
greggirwin
20:36Good for you. :+1:
abdllhygt
20:57thank you!

abdllhygt
15:48hello!
15:48my programming language can run this code:
5 Kilo Domates

"kaç lira?" { yaz }

5 kilo domates "10₺" olsun...

5 kilo domates kaç lira?

kapat
15:49like a normal text, but this is a code
loza:matrix.org
16:15interesting. what would it be in English?
abdllhygt
16:35@loza:matrix.org maybe like this:
5 Kg Tomatoes

"how many dollars?" {print}

5 kg tomatoes is "10$"

5 kg tomatoes is how many dollars?

quit
16:445 kg tomatoes is a variable
how many dollars?, is and quit are functions
16:45{} is function [] []
16:59. is also a kind of func, it clears cache
17:01{}, <> is written in Red
., olsun is written in Coz
https://github.com/abdllhygt/coz/blob/master/coz.coz
17:03an example:
Red:
a: "a"
print a

Coz:
a
a yaz
17:05then...
Red:
a: "b"
print a

Coz:
a "b" olsun
a yaz

greggirwin
23:07Thanks for the update @abdllhygt.

abdllhygt
21:20@greggirwin thanks too. Who suggested my project?
greggirwin
21:48I don't remember @abdllhygt.
abdllhygt
21:51but in gitter?
greggirwin
21:56I believe so.

zentrog:matrix.org
00:20@abdllhygt: @greggirwin I think I saw someone mention that the progress page 'community' section is based on this list:
https://github.com/red/red/wiki/%5BLINKS%5D-Scripts-collection
greggirwin
00:55Thanks. Things fall out of my head these days.
zentrog:matrix.org
01:14I can't account for what things I remember or don't remember
01:15This is an interesting technology I recently heard about: https://blog.stackblitz.com/posts/introducing-webcontainers/
greggirwin
04:52The web container article overloaded my hype filter. :^) The future is bright, according to them, because things are faster, and you can run node.js in the browser...which already runs JS. I get that it's meant to solve certain pain points, but adding yet more into the browser doesn't seem like a great way to go about that. The link to the [NPM worm exploit](https://www.kb.cert.org/vuls/id/319816) was new to me. Certainly, I keep learning a lot that we need to consider for Red, so I appreciate the link.
zentrog:matrix.org
06:58Yeah, it's a little bit hard for me to wrap my head around, as I'm not a web developer, so I'm not very familiar with these tech stacks... But it does seem interesting using the browser as a security sandbox for your dev environment. That worm exploit sounds pretty alarming, and if it ever happened, it would cause a lot of havoc. I'd almost be more worried about subtler, more targeted attacks designed to insinuate themselves into dev/build systems though, like the FireEye attack.
07:00That did get me thinking about Red with macros though. Do we need to start thinking about whether someone could compromise a system through just loading code without interpreting it?
07:00Granted, if you are loading malicious code, it's very likely you are about to execute it anyway...
abdllhygt
11:48@zentrog:matrix.org thank you, i think it was 2018
11:48my first commit on coz
11:49do you guys know flutter? i build an example app with flutter on desktop version
11:49it was 50mb
11:4950x of a red gui app
11:50but red community dont develop widgets like that
pekr
14:03Yes, my team uses a Flutter. The other company in our group uses React Native. IMO those are the two most used frameworks nowadays in regards to mobile apps developments ....

BaronRK
17:14We are building our new UI for Prolific (formally Qtask).
We investigated React.
I decided to scrap that and we have moved to Flutter.
WAY WAY WAY better
We are back to 'Write once, test many' at least.
And we can produce Apps for iOS and Android to go into the store.

WTF is inside that 50MB?

I truly do not understand either. We are researching.
There are odd little things missing in Flutter.
Like it has its own render (for SVG like things) but does not support drop shadows.
Small, subtle, but REALLY important for lots of things.
We hope to fix, and submit to Open Source.

We will post a link to our work soon (this coming month).

GiuseppeChillemi
17:32@BaronRK Rebol backend and Flutter Web/Mobile/PC frontend?
BaronRK
20:42Correct!

(with RED starting to pulled in on the backend soon too)
GiuseppeChillemi
21:25@BaronRK If you document the project and release some code to create the interface, you will be responsible of bringing our community to 2021.
Respectech
22:07^^ Yes, please.
BaronRK
22:34That is my exact plan!

In fact, I'm thinking of holding a mini conf (zoom) for this.
GiuseppeChillemi
22:51If the Red Android version could be interfaced with it, we could build beautiful apps.
BaronRK
22:55I have to tell you, our app on Android FEELS really great. Fast, snappy. And we have it as a Windows App, and as a Browser. One code base, mostly the same.

We will do iOS, Mac, Linux next (in that order).
GiuseppeChillemi
23:37How is it written on Android?
23:38Rebol?
23:38Which one?

Respectech
00:41Sounds cool. Count me in for the mini conf.
BaronRK
02:03It is written, and like RE/D|BOL it has a player if you will.
So there is a player for each platform.
GiuseppeChillemi
05:01I am in too!
pekr
05:53@BaronRK Do you have any list of cons for the React Native, in comparison to Flutter? We found out our group IT has only React web apps, not mobile apps, yet they are claiming, that if any mobile development happens, it is going to be React Native. But we use Flutter for more thwn year, so I can see scrapping all of our work as a waste of resources.
GiuseppeChillemi
07:31enthusiasm: +1000
BaronRK
18:05Exactly the questions I hope to address. As you know, we get into religion when programmers pick their tools.
Personally, my religion only includes Programmer pain, time, and money.
But for some it is all about philosophy, pedantics, first principles, etc.

Everything is easier in Flutter, even with less support and being early in its life.
It is more the WAY we think and do things to start.

But, the fun here is Will and I started with React, I spent good money to build a living app, and then, threw it away because I can't argue, Flutter is better.
We will write up answers with real examples during and after the first mini-conf.

I'm still working out what I want to do in that. It will be a mixture of what we are working on, why we are working on it, and what we are learning as we work on it.
I have a LOT of info I want to present. But I want to keep the core event to 1h (it will be recorded)

We did a little mini-conf a while ago just to outline things (Nenad even joined) . For me, I consider such a thing a success if no one hates any of the ideas being presented LOL. We did well.

abdllhygt
17:41hello
17:48how can i introduce [coz](https://github.com/abdllhygt/coz) as a programming language on github?
17:49Languages place seems "Red %100.0", but it also has coz code.

Oldes
05:54@abdllhygt https://github.com/github/linguist/blob/master/CONTRIBUTING.md#adding-an-extension-to-a-language
gltewalt
21:32> @qtxie Thanks for yesterday's fix "force to refresh the gui-console after printing."
> That was one of the top three most annoying things about trying to code in the Red GUI console. Code for anyone who wants to see the difference:
>
> repeat n 100 [print n wait 0.2]
>


repeat n 25 [prin n loop 3 [prin #"^H"] wait 0.3]
21:51
>> n: 1000
== 1000

>> repeat i n [prin i case [x: log-10 n [loop x + 1 [prin #"^H"] wait 0.05]]]

21:56surprising that loop and repeat accept float!

greggirwin
04:50I'm not a huge fan of loops accepting floats, as I think it will lead to more non-obvious bugs. But until we have metrics for that, it's just a guess.
gltewalt:matrix.org
05:00Well, it was handing when I was goofing around. Surprised though.
05:00Handy
greggirwin
16:16It's very handy, and no problem if your floats all end in .0. :^)
gltewalt:matrix.org
17:57repeat and loop seem to ignore after the decimal. Or it's converted to integer internally, I dunno
greggirwin
17:59It truncates, yes, but that may not be clear or intuitive in all cases. It's consistent but invisible.
gltewalt:matrix.org
18:03It wasn't intuitive to me. I had to poke at it, including testing to see if it rounded or just truncated.
Still fun
greggirwin
18:12Right, presumed rounding is the issue.
GaryMiller
18:43[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/C1tI/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/C1tI/image.png)
18:44OMG Just tried the new website with the new Download and my program once agains compiles under the new compiler!

It takes a bit as seen below! But it works now!!! That is 140,156 lines of Red source code and the executable is pretty small too!



-=== Red Compiler 0.6.4 ===-

Compiling C:\Red\ZandraGUI.red ...
...compilation time : 75523 ms

Target: MSDOS

Compiling to native code...
...compilation time : 1141166 ms
...global words : 23628 (71.83%)
...linking time : 39211 ms
...output file size : 16070144 bytes
...output file : C:\Red\ZandraGUI.exe
18:54So happy the compiler is working again for me! Who ever found a way to fix the compiler,you're my hero!
hiiamboris
18:57Loops accept floats since making division a float I think. E.g. n: 10 / 3 ... loop n [...]
greggirwin
19:00@GaryMiller great to hear! You are one of our main stress testers. :^)
dsunanda
20:51I thought I’d try to raise a discussion about design priorities, following today’s comments by Nenad to issue #4532.

It’s interesting that while I wished for more HELPFUL error messages, Nenad focused on how ACCURATE an existing message is.

I’d rather have (let’s go completely hypothetical here) the message:
Math error: near SQUARE-ROOT (a / b)

Than:
Math error: cannot divide 45.973464664 by 0

The second message is completely ACCURATE. But the first is way more HELPFUL in finding an errant line of code in several thousand.

(Of course it’d be more helpful still if it did mention the divide by zero; and the line number in a named script file; etc. But it still gives me a better shot at finding the problem than the accurate message).

Red is a full stack language, but it sometimes seems that the stack has been loaded into a black hole – there are very few built-in tools to debug code. My rough guess is that makes Red (as it currently stands) about 25% more expensive in developer time when debugging.

Which is a pity – quality debugging tools are a killer app in many successful languages.

If the Red development team have usage cases in their business plan, I would hope that one of the cases is a maintenance programmer in ten years time. That person should be able to debug an ancient, legacy, Red application with ease because the debug tools are worldclass. Let’s not be PERL :)
hiiamboris
21:21Nenad said a better reporting model is in the plans, but the time hasn't come yet.

hiiamboris
07:34An interesting though early project: https://programonchain.com/touring/DeFiat
Which I suppose will eventually destroy GH & GL (maybe not this one in particular but the idea itself - because it'll be cheaper than paid accounts in corps).
GiuseppeChillemi
07:42@dsunanda While I really need more helpful error messages, as precision about point of code and causes of the error, I am suffering too about lack of development in the core areas I need for my work. So, if a decision needs to be made about the priorities of the projects, I prefer they concentrate the resources on the competition of Red. I am still mainly on Rebol because I have @henrikmk Vid Extension Kit List-View component, no Red with GUI for Android, and no ports on the main branch. Once Red will advance I will be fully here.
07:44And Yes, I agree with you, no good debugging instruments raise the development costs but I am sure they will address this problem near 1.0
rebolek
10:20@hiiamboris BSV? LOL
hiiamboris
10:24I wondered too, why this choice.
10:27But what's the cons in your opinion?
Oldes
12:38The lack of trust?
gltewalt:matrix.org
20:24https://www.reuters.com/legal/government/john-mcafee-found-dead-prison-after-spanish-court-allows-extradition-2021-06-23/
greggirwin
20:46Wow. Reminds me of the Hans Reiser (ReiserFS) case. Phil Katz (PKZip) was also troubled and tragically died very young.
dsunanda
21:37Sad story. McAfee had stopped filing US tax returns because he was no longer a resident of the USA. But the USA requires returns from all citizens worldwide (just about the only country in the world to do so). He may well have died owing to an unfair tax law.
US double-taxation for the US diaspora explained amusingly by a US ex-pat youtuber:
https://www.youtube.com/watch?v=4l2RDCx2YnA
ne1uno
21:40he had bigger demons than an IRS fine

greggirwin
17:44@ldci https://stackoverflow.blog/2021/06/14/lets-enhance-use-intel-ai-to-increase-image-resolution-in-this-demo/?utm_source=Iterable&utm_medium=email&utm_campaign=the_overflow_newsletter

I wonder if they have training sets specifically for medical imaging purposes.
abdllhygt
18:45@Oldes thank you

ldci
10:40@greggirwin Thanks for the link :)
BaronRK
15:54https://en.wikipedia.org/wiki/Site_reliability_engineering

Worth watching the video at the bottom https://sre.google/

This is what I actually spend a lot of my time contemplating and pushing (for 35 years).
16:03And to that point @dsunanda I want both error messages, and more.
I want error messages to be statistical and have references to similar issues.

Math error: This error can sometimes be due to typos.
gltewalt:matrix.org
19:15If you have time to burn, have a look at the Elm debugger
greggirwin
19:29We didn't have an [Error Messages](https://github.com/red/red/wiki/%5BNotes%5D-Error-Messages) wiki page, so I created one and linked to it from [error handling](https://github.com/red/red/wiki/%5BDOC%5D-Error-handling).

@gltewalt:matrix.org feel free to make notes about Elm there.
gltewalt
19:56Quick example :-)
19:56https://imgur.com/a/2pyZm2e
Respectech
21:56On another topic, I'm trying to get Rebol2 to run on Garuda (Arch). I keep getting this error message: ./rebol: error while loading shared libraries: libXaw.so.7: cannot open shared object file: No such file or directory
22:01So I compiled lib32-libXaw from https://aur.archlinux.org/packages/lib32-libxaw/ and copied the resultant libraries to /usr/lib32 but now I'm getting this message: ./rebol: error while loading shared libraries: libXaw.so.7: wrong ELF class: ELFCLASS64
22:02ldd rebol results in:
...
libXt.so.6 => /usr/lib32/libXt.so.6 (0xf7d90000)
libXaw.so.7 => not found
libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf7d73000)
...
22:02libXaw.so.7 is the only library "not found". I feel so close, but yet so far.
22:03I consider myself a Linux dummy because I can't figure things like this out. Any Linux gurus have any ideas?
22:17When I check the library that I compiled, it shows it's 64-bit, even though I downloaded and compiled from 32-bit sources:
$ file libXaw7.so.7.0.0 
libXaw7.so.7.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1a03385e9d6ba6b2996e58b7feacfc5c0c2de5d3, with debug_info, not stripped
BaronRK
22:37
@gltewalt wow, EXACTLY.

(in my mind, eventually, DL will hint a programmer both away from bugs, and towards smarter higher coding. I know everyone likes to jump right to, 'AI will code for us' and it will, but still, for now, and for a while, yeah, we have much work todo)>
gltewalt:matrix.org
23:10I'm no Linux expert, but what happens if you add 32 bit through pacman? Or did you?
Respectech
23:24I already enabled "multiarch" through pacman, which allows installing 32-bit libraries. Unfortunately, pacman -Ss lib32 doesn't show anything even close to "libxaw" in the list of available libraries, unfortunately.
23:25One library is causing my roadblock.
ne1uno
23:37https://openeuphoria.org/docs/debug.html
23:37euphoria had some decent debugging. an error file created with values dump. step tracing. of course, simpler in a static language to point out the last good line number without heroic efforts or dropping breadcrumbs.
23:37 the silent exit problem exists there too and was just as difficult to diagnose
gltewalt:matrix.org
23:56I'm guess that pacman -Qs will just show the file that's not correct
23:57-F for remote package search

gltewalt:matrix.org
00:01I think @rebolek might be a guru
00:07Frankly, the weird and dumb way I used to do things would be to search out that file on the web that's supposed to be 32bit, look at the file name to see if it matches what 32 bit is supposed to look like, then force install it with the old make and make install that I've forgotten how to do
Respectech
00:43Yes, I tried that. It still didn't work...
greggirwin
01:10@ne1uno do you have examples of error messages in Euphoria?

This also ties to the bigger picture of observability, tracing, and profiling.
gltewalt:matrix.org
04:42@Respectech stack overflow can probably give an answer if nobody else here chimes in

BaronRK
19:11[![PythonStructure.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/5F1r/thumb/PythonStructure.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/5F1r/PythonStructure.jpg)
19:12A python data structure mind map (I think it could be cleaned up) but seems like all languages should have something like this to make it all clear real fast.
greggirwin
20:23Maps like this have never clicked for me, and this one is no exception. I can track around in it, but I'm much more linear by default. I do agree that overlapping both nouns and verbs (types and actions) in one place is helpful.
BaronRK
20:24Exactly! Me too.

Cleaned up = Linear

rebolek
06:19@Respectech I was solving the same problem, I installed libXaw from AUR repositories using yay and then I believe it needed another library but I can’t remeber the name. But Red was complaining it’s missing, so it wasn’t hard to locate it. After installing both libraries Red was working fine. I may try in VM and let you know. But it wasn’t hard.
toomasv
06:59@BaronRK There are some seeds towards it:
[type-hierarhcy](https://github.com/toomasv/red-type-hierarchy/blob/master/Red%20type%20hierarchy3.pdf)
[actions by types](https://github.com/toomasv/red-type-hierarchy/blob/master/Red-actions-by-types.pdf) (this is 4 years old)
[type-implementation hierarchy](https://github.com/toomasv/red-type-hierarchy/blob/master/Red%20datatypes%20hierarhy.pdf) (for 0.6.3)
BaronRK
07:39Nice!

It seems, ideally, someone out there would structure it so that two languages could be compared more easily.
hiiamboris
08:56I also recall https://mind42.com/public/eca403e3-7c65-4d08-bee0-fd87a2290458
08:57more general, not type related
Respectech
16:34@rebolek I tried that as well, but I can't seem to get the lib32 version. All the pages seem to end up linking to https://aur.archlinux.org/packages/lib32-libxaw/ but even when I compile from sources, it ends up being a 64-bit lib.

BaronRK
16:23Y'all might find this interesting (fun)...

https://copilot.github.com/
hiiamboris
17:39Yes, quite funny (; I consider this a next step from code snippet auto insertion. Basically, if it can fill the rest of the code for me it means that I already wrote all the *information* down, and the rest is nearly free of information. And that's an indicator that my language limits my expressive power by enforcement of artificial unproductive code patterns.
17:42If a lot of C++ guys will embrace this tech, that will allow them to write unproductive code *faster*, leading to more code bloat and to even less expressiveness ;)
17:45So, not so obvious use case for us can be detection of areas where Red expressive power is suboptimal and needs improvements (if only we could have global metrics of AI suggestions).
ne1uno
18:17https://www.theguardian.com/commentisfree/2020/sep/08/robot-wrote-this-article-gpt-3
greggirwin
18:20Certainly interesting. Part of my own Funcology idea (I considered FuncUniversity, but FuncU...) is based on pattern matching, but also a corpus. So it's really more of a search and learn tool. e.g. find funcs that take two strings (user and host) and return an email address from them, or all funcs that take a block! and a function! as args to find HOFs. If the results are part of a package system, people can rate them, comment, etc. It's similar in ways, such as being able to use keywords that match in doc strings or func names.

Copy and paste coding is often derided, but it can be effective. This just automates it a bit, for those who copy other's code and not just their own.

CoPilot will open questions, and they have a lot of disclaimers in their FAQ. It has the same problem as Red/Pro will face, in that it's a service and people need to trust the company with their code. For us, the obvious way around that is an on-prem version, but if it's closed source, as a commercial product, they still have to trust you.
18:29That's fun @ne1uno. Unfortunately, training AIs on internet content leads to them generating weak writing. Just like people. :^\ If we do AI content generation, the first thing I want to train it with is Strunk and White's The Elements of Style. :^)
ne1uno
18:29how useful as an assistant copilot is might hinge on how well it learns the way you need help. over the shoulder spell check great, grammar help not as much
18:34their gpt3 NLP no code demo is impressive. behind the scene, you know they are careful to stay within bounds and they don't explain the intense training it must have taken to put some buttons & charts on the screen.
18:39https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code ms has been investing in openAI
greggirwin
18:42In terms of value, we see the power of DSLs. Their power comes from being specific and knowing about a domain. CoPilot talks about using context, but only for a single file (so far). The interesting question for me is: What makes human programmers effective, and how do we learn? As @hiiamboris notes, it can generate boilerplate faster than a human. Autocomplete, in contrast, is concerned only with the insertion point; a single, very specific context in an expression. If the value comes from leveraging knowledge of data structures and common operations, this is perhaps the opposite of a low-code tool, where you can tweak the boilerplate, but everything is included by default.

For us, perhaps it's about the models, frameworks, and dialects we use to describe a system, from which most of the behavior (given common application needs) can be derived. I've written plenty of code generators in my time that did basically that for CRUD-oriented LOB systems.
gltewalt:matrix.org
22:42I want know... how long ago @hiiamboris received his Neuralink
22:51@greggirwin
@hiiamboris

Regarding errors -

If you have a bit of time read this chapter.

https://guide.elm-lang.org/error_handling/
23:00I thought you were afraid of haskell?
greggirwin
23:10It just hurts my head. Even this little bit, under the veil of Elm.
gltewalt:matrix.org
23:13I dont know... the Result type is basically a struct. I
said enum in the other room...
My partially heat stroked brain just thought there might be some ideas in their that 'might' be worth borrowing

hardkorebob
02:04Hey everyone I just wanted to thank you for all you have done as a whole and individuals. This is an amazing thing you have here. Im so excited about it.
greggirwin
02:25Thanks @hardkorebob !
hardkorebob
03:01:) Welcome @greggirwin
hiiamboris
07:16@gltewalt:matrix.org that is suitable (and desirable) only in a language that fully compiles the code and where every single code branch is type-checked by the compiler, so instead of possible runtime errors you will have to write code to handle *every* error until it compiles. Thus enforcing correctness at the expense of development speed, which is a good thing, but totally not possible in Red, and is too high-level for R/S.
rebolek
07:48@ne1uno interesting. I’ve been playing with GPT3 but never had such a coherent result.
gltewalt:matrix.org
15:49In red/system, wouldn't struct, with function that has subroutine be an approximation?

You can see a subroutine is used here:

https://static.red-lang.org/red-system-specs.html#section-6.8
abdllhygt
15:51@BaronRK hi! you develop a flutter binding for red?
pekr
15:56I wonder if there can be anything like a Flutter Binding?
abdllhygt
15:59What was he talking about? Maybe they try to compile red code to dart vm or dart source code
16:00Did i understand wrong?
gltewalt:matrix.org
18:14He was talking about bringing Red in for the backend
GiuseppeChillemi
18:50I would love to have Red compiled to Dart and having the FFI needed to use Flutter. Lets wait for @BaronRK announcements to understand how his technology works
BaronRK
19:31Gregg wrote 'Copy and paste coding is often derided, but it can be effective. This just automates it a bit, for those who copy other's code and not just their own.'

Of note, HIKEtheGEEK.com was not programmed as much as it was literally slapped together by a NON-PROGRAMMER copying chunks of code from other sites.
19:42I started a Wiki last month, and began just shoving 'agenda topics' into it.

It became very clear instantly there are 5 major silos of topics I want to do mini-conf for (1 hour tops: format: 20min declare problem, 20min discuss solutions/future, 20min Q&A, a proven smart pattern)

Will (my co-architect) and I met yesterday in fact regarding Flutter. To be clear, 100% of our Flutter mini-conf is to just help others. Sharing what we have learned, why we picked it, what our plans are, etc. Let people ask us about things.

Roughly the silos are:

- API - What is the future of API?
- Flutter - Why Flutter over other frameworks?
- DB Truth - - A different way to think about DataBases
- Quilt 3 - Currently a full-stack = Front end and Back end.  There might be something much better.
- Blue Machine - The new tool on the block - Flowcharts for Project management and Programmers

I will post Agendas once they are reasonably worthy (soon, like weeks not months)
Respectech
20:22Looking forward to it.
GiuseppeChillemi
20:26Waiting for your new creations!

abdllhygt
21:44@gltewalt:matrix.org like server?
21:44i didn't understand the project

BaronRK
01:28Something interesting

https://www.virlang.com/

Click on the little box below.
greggirwin
03:04The animated diagram is nice. In his %ebnf.js he's doing it in code, but not sure he's happy about that. ;^)
//var fucking_note;
bnf={...

Respectech
23:51Meeting up with Carl on Monday or Tuesday to catch up. Does anyone want any general computer books (Python, etc.)? He's getting rid of some of his library of books.
23:52Also, does anyone want a Philips CDI unit? They're pretty rare.

greggirwin
02:36Just give him my best. I had to clear out my library when I moved as well. Got rid of over 100 books. Nobody, not even university CS programs, wanted them. :^(
GiuseppeChillemi
14:42Rust in the Linux Kernel. I think it is a marketing move by Google.
https://linux.slashdot.org/story/21/07/10/0447253/experimental-rust-support-patches-submitted-to-linux-kernel-mailing-list
GaryMiller
22:27Have there been anymore conversations with Carl about making the compiler code available for conversion to 64 bit?
greggirwin
22:35Yes, but we're resigned to the fact that it's not going to happen.
GaryMiller
23:33Did Carl ever give any indication how long it took him to develop it from scratch?

GaryMiller
00:01The V Programming language transpiles the code into C first. Their default C Compiler is an Open Source Tiny C Compiler TCC it is a very fast compiling cross platform C compiler. Since as I understand it the only parts compiled in a Red Compiled program is the System Code and the rest is still interpreted. So I was thinking that if the new 64 bit Red compiler started off with transpiling the Red System code to C and embedded the Red interpreter in a 64 bit TCC C program along with the transpiled C code from the System routines. It could then copy the Red source into the .exe as a resource and the compiled program could then execute the Red code as interpreted code until it can to a call to a Red System call and then the interpreter would do a callback to the compiled System function. If that would be doable then it would seem to me to limit the amount of new code that would need to be rewritten.
rebolek
05:08@GiuseppeChillemi why do you think so? What has Google to do with Rust?
05:09@GaryMiller while that's possible, I believe we'll see Red targeting LLVM sooner than C. But if anyone wants to contribute such transpiler I'm certain it would be welcomed :-)
gltewalt
05:11Sponsored by
rebolek
05:13AFAIK Rust is Mozilla's project, Google has Go. But maybe something changed, I don't know.
loza:matrix.org
11:23maybe Google is going to buy Mozilla 😃
GiuseppeChillemi
11:33@rebolek I have read it has been sponsored by google. I don't know the reason, maybe they have plans about it.
pekr
11:44Isn't Rust being allowed even for the Linux kernel development stuff?
greggirwin
16:16@GaryMiller, Carl as alluded to things going pretty quickly, but he's a deep expert in C, hand-coded it, and Rebol is only interpreted. As a project we have our objectives and, while 64-bit is *very* important, it's still less important than other things. Our core team won't be pulled to write a C transpiler, but if someone else wants to R&D that, we will support their efforts, because we learn from every project and having people work on things they're interested in is what makes them the most productive. Just as @alanVF's red.js work isn't official, we're *very* excited to see it being done.

gltewalt:matrix.org
05:55This has @greggirwin 's name on it

https://www.amazon.com/Datamancer-Sojourner-Keyboard/dp/B00MJ3M91E
greggirwin
05:57That's fun. A few years ago I saw [this](https://www.amazon.com/dp/B01KM6EJOY/?coliid=I22KN7PL0YN0AA&colid=26FQ71Z4FM5CV&psc=1&ref_=lv_ov_lig_dp_it) and thought it would be fun. Ended up with a Red Dragon mechanical instead, but not as my daily driver.
gltewalt:matrix.org
07:04As fun as the $999 one, though?
Respectech
12:44This is my daily driver: https://www.amazon.com/dp/B01LY32G54/ref=cm_sw_r_cp_apa_glc_fabc_PQFRPH2FPE1A751MMH86
greggirwin
17:46Nice @Respectech. I learned many years ago that a split keyboard helped my hand strain enormously, so that's my daily driver. I do sometimes miss "the click" though. I remember my Northgate keyboard very fondly for that.
Respectech
23:44@greggirwin You'll have to build your own custom split mechanical keyboard using click switches.

GaryMiller
02:02https://ergodox-ez.com/
greggirwin
02:43Very tempting. Cloud9 was one I hadn't seen either.
hiiamboris
07:03Personally, after I once tried a chiclet keyboard, I never again wanted to go back to mechanical ones. Can be used much faster (esp. in shooters) due to short key travel and way more durable. And wires are like paper books today :) Historical reminder only.
greggirwin
16:55I still prefer paper books too. :^)
Respectech
17:46They make short travel mechanical switches as well.

I can type over 100 words per minute on a mechanical keyboard with few or no errors, because of the tactile feedback. On a standard modern (non-mechanical) keyboard, I can't type quite as fast and I make more errors because I'm not 100% positive that every keypress was registered.

henrikmk
09:45I had a DAS Keyboard until recently, which are (or were) supposedly renowned for their mechanical keyboards. It worked ok, until the A, B and D keys started having some kind of delayed registration of a keypress, causing characters to be swapped or come in doubles. It looked to me to be a keyboard controller problem, rather than directly with the keys. There seemed to be nothing wrong mechanically with the keyboard. Nevertheless, that little thing made the keyboard insanely slow to type on, since I had to do far more corrections than usual.

I then bought an Indian RAPOO keyboard for 1/5th the price of the DAS Keyboard, and it's better than the DAS Keyboard.

I don't know if there is a point to that story, maybe except that good keyboards need to earn their reputation over years and years of abuse. Being mechanical, being made of steel and having the crisp keyboard click sound isn't enough.
gltewalt:matrix.org
15:19I pretty much exclusively use my old thinkpads keyboard these days. And it's just fine.
greggirwin
16:15Keyboard choice is deeply subjective. Objectively failure rates only matter in the aggregate. My MS Natural Keyboards have had two problems historically. 1) the SDCV keys lose their lettering (same keys, 3 different keyboards, which I can only attribute to a heavy left hand for S and D, and extra use for C and V (copy/paste)), 2) the space bar became harder to push on one. It was a pain to try and fix and ultimately had to be scrapped. I keep buying them since their shape is what helped my hands most. That's the top priority for me. 10 keyboards is better than hand surgery.
Respectech
16:34An HID device controlled by a Neuralink interface is better than 10 keyboards AND hand surgery. ;-p
16:35Well, except for the part where they drill a hole in your skull and implant a sensor with tiny wires sticking into your brain...
greggirwin
17:07Yeah, except for that part. I'll take the silly looking helmet.
BaronRK
17:32I type 150 mispelt words per minute.
greggirwin
17:33As your PR manager, I tell people that you effectively leverage human error correction.
Respectech
17:49I think I can type 150 words a minute as well. Let me try:

a a a a a a a a a a a a a a a a a a a

Yep, I think I can do it. And with no misspellings!
GiuseppeChillemi
18:29@Respectech is the neuralink device available?
greggirwin
18:34A friend of mine, who is the global Delphi evangelist for Embarcadero, did a demo a few years ago. Not typing, but controlling a drone. From Delphi he used an SDK for a headband with sensors which was then used to give basic commands to a drone, like [up forward left right down]. It was really cool.
BaronRK
18:58Drones will just keep getting more and more stable. You can buy a $15 drone that fits in the palm of your hand that does an 'ok' job of stabilising itself.

Once this is an 'off the shelf device for any machine, it will change everything!


greggirwin
19:07I don't want a doorbell with a camera. I want a sensor that alerts a drone which buzzes loudly around the house to the entry, trapping the subject and saying "Intruder Alert!" while flashing red lights.
hiiamboris
19:11Protectron? :)
GiuseppeChillemi
20:04@greggirwin Doorbells with camera, like Amazon Ring, are accessible from remote control rooms. I have written an article about this topic for a political party. Also law enforcement official can obtain your videos either with or without collaboration. The drone is a safer instrument until you have full control of it.
hiiamboris
20:18If "flashing red lights" are lasers, it's safer indeed ☺
Respectech
20:25Yes, I also wrote an article about things like Amazon Ring and some of the security issues: https://ameridroid.com/blogs/ameriblogs/privacy-why-you-should-probably-make-your-own-home-automation-devices
20:26@GiuseppeChillemi Neuralink isn't quite available yet, but they're working on it.
greggirwin
20:29Before they went defunct, the Essential Phone company was working on a privacy centric home hub.
GiuseppeChillemi
20:37@Respectech https://www-partito--pirata-it.translate.goog/2021/02/15/amazon-ring-finestra-sul-cortile/?_x_tr_sl=it&_x_tr_tl=en&_x_tr_hl=it&_x_tr_pto=ajax,nv,elem
20:37Google has made a nice job translating it. Almost perfect.
gltewalt:matrix.org
20:44I dont know the drone world, but surely some of their systems are *nix based. Which means libRed, right?
Up, Down, Left, Right shouldn't be that hard
greggirwin
20:50First search result that looked interesting: https://dojofordrones.teachable.com/p/drone-programming-primer-for-software-development
pekr
21:44Gregg, that has to be a story from 20 years ago. Delphi does not exist anymore, or does it? 🙂
greggirwin
22:34It's alive and kicking. https://www.embarcadero.com/products/Delphi

Well, maybe not kicking as hard as it used to, but if new low-code tools are still finding users, they can probably stay afloat.
Respectech
23:14@GiuseppeChillemi Good article! I feel the same way.

GiuseppeChillemi
11:52The "old generation" knows what computing freedom is. Now devices are not fully yours. There are plans to change the computer business model from sales to rents so that you will lose any power on it and you can do only what is permitted. Maintance will be done by external tecnicians which will solver any problem via remote or local assistence, under payment. At the end of the life cycle, they will take it back from you and replace with another one paying something for the change. They will have special upgrade paths, the new computer will take everything from the old one but you won't be able to leave the platform easily. Does this remember anything to you?
greggirwin
16:08It's the mobile phone model of course. Although even in the day of landlines, many phone were only leased as part of the phone service. It's a great model for providers.
BaronRK
16:41State machines are important to me (and should be to all programmers).

From time to time I will post things about this here.

https://twitter.com/QuimperEmanuel/status/1415675944447193088?s=20
TimeSlip
17:21@Respectech Bo, I'm glad that I didn't see your post about Carl getting rid of stuff. The packrat in me never dies. :-)
BaronRK
20:05I got rid of 30+ years of hardware (it all went to really good homes). Sold my original Lisa, all the CDTV stuff, a mint Star Wars Arcade machine, etc.

It was though painful.

I have learned something that helps a LOT. Take tonnes of pictures.
It really really helps. Most of the hoarding/pack-rat thing is fear of losing memories.

https://www.prolific.com/files.cgi/lisa%20500p-1.jpg?tab=get&uuid=XVTG5H51EA3HW86KAR5V5UVTP3QT&filename=lisa%20500p-1.jpg
greggirwin
20:28Good point on pictures.
Respectech
21:06Just had my lunch with Carl. He assured me that he is going to be posting the R2 source code including SDK and everything to Github as soon as he's done with his real estate distractions.
greggirwin
21:07That's nice to hear. Fingers crossed.
Respectech
21:11Also, he is planning on retiring at which point he is looking forward to dumping his time into his creative development projects.
TimeSlip
21:37@BaronRK It's a sickness. I know. I think I am slowly moving toward the direction of the dump. We just took a trip with a couple who had just lost a cousin and the stories of getting rid of all the junk was sobering. Of course, my idea of getting rid of stuff is selling it and buying more. :-)
21:40@Respectech Bo, thanks for the report. That's a loss for Roku. Can you imagine losing guys like Carl and Dale? That's just a bit of genius there. :-)
Respectech
21:41@TimeSlip When I mentioned to Carl that you were happy you didn't see my message, he said that he recollected you had one of the most complete collections of Amigas.
21:43Chris Collins is here (another avid Amiga collector) to pick up the collection. I'm offering him a pair of Amiga 2000s with Video Toasters if he wants to take them. ;-p
TimeSlip
21:56@Respectech Bo, you're killing me. I said it's sickness. I didn't say I was cured. :-) So glad, for once, that you live so far from me. :-)

GiuseppeChillemi
11:14@Respectech I would like to have an Amiga2000 + Toaster!
Respectech
13:40@GiuseppeChillemi Chris never called be back, so it's yours if you want. I think shipping would be expensive though.
GiuseppeChillemi
14:07@Respectech If you are giving other Amiga hardware and the shipping cost is not so higher, I would take something else to donate it under your name to our Museum of Working informatic here in Italy.
Respectech
15:51I just went and looked at my collection. I have 2x A2000 (one with a Video Toaster), 1x A3000. 1x A500 and an A1080 monitor. I'm not sure of the working condition at present, but as I recall, the A500, A3000, A1080 and at least one of the A2000 computers were working when I put them in storage.
16:10I have a picture that I can send if anyone's interested. These are FREE to a good home as long as you pay shipping. ;-p
16:38Just in case there are any Amiga users here that want to sell their A600, I'm looking for one to use as inspiration for a new Single Board Computer design. I don't know what happened to my poor A600 that I loved so much in the 90s.
16:39I'll even just take one on loan.
rebolek
17:48A600 was really underpowered but damn sexy. I really love the format. It was a joke when released, basically A500 in smaller form (and wasn't able to run some A500 games because of new Kickstart) but looked really well. I have 3 A1200 (they certainly need recapping) but I still would love to get an A600. And now there's a lot of expansion boards for them so they're finally becomming usable ;-)
gltewalt:matrix.org
17:49What do you think the value of a Red playground would be? (Since download size to run the actual console is so small)
greggirwin
18:34@gltewalt:matrix.org the main value I see is that people want to try things without downloading and installing anything, because they think it will be painful. Doesn't matter what we say about how easy it is.

gltewalt:matrix.org
03:01@greggirwin I'll get back to web-like stuff probably on the weekend. Roasted tired due to late ish nights and 4am mornings
03:11That ownership example reminds me of the error handling here that I brought up before
03:11https://guide.elm-lang.org/error_handling/result.html

BaronRK
19:42There a lot of 'little' projects integrating programming into custom tools
While I understand the urge (and need) to edit text directly (I'm a fan of CLIs too), but.....


............ in reality, if we have to do it that, it means we are failing (IMO)

Cute example of dynamic interactive interface.

https://twitter.com/getflourish/status/1415953472676110336

abdllhygt
17:06https://youtu.be/dVc3HPa0LTA?t=61
17:07can i make a game like this one with Red?
17:08is gui/draw enough for this? and is there a document for understanding the structure of draw?
17:11that game just played by mouse, we buy and sell things with our ship. and there are pirates on our way, so we have to upgrade our ship/guns with trade.
gltewalt:matrix.org
18:11https://github.com/red/docs/blob/master/en/draw.adoc
18:12https://github.com/red/docs/blob/master/en/vid.adoc
18:13You should be able to make a game like that
abdllhygt
18:32thank you
greggirwin
18:38@abdllhygt look in the red/gui-branch room and you'll see GIFs from @planetsizecpu of the game he's built with Red.
abdllhygt
18:47i know his game, but i was not sure to be able to make a game like tradewinds @greggirwin
greggirwin
19:14There are many ways to build games. Because they generally don't use native controls, you have more work to do. I suggest looking at @hiiamboris' [Red-Spaces](https://gitlab.com/hiiamboris/red-spaces) project. It's still very experimental, but may give you a good starting point, rather than doing everything from scratch with base faces, or using images and hit testing as I believe @planetsizecpu does. It will be a great learning experience in any case.
gtzip
19:22For Red website, im fairly partial to the rust website. Maybe some layout ideas can be borrowed for Red?
19:22https://www.rust-lang.org/
planetsizecpu
20:19@abdllhygt it's all related to moving faces and hit testing as @greggirwin said. You can check if two faces are on touch with overlap? word, easy in theory, but things go complex as the game grow.
greggirwin
20:24@gtzip they must have changed it since last I looked. *Really* nice, targeted messaging. Their domain section in particular is great for us to learn from.
planetsizecpu
20:33@abdllhygt I believe you could do a game like tradewinds in Red using faces, but first you'll need to learn a bit about VID & View.
BaronRK
21:42As one that has made a lot of video games, I'm going to step in here.

It is interesting to be thinking of doing 'hit testing' (let's call this collision detection) from a graphic (or worse HTML) point of view.

This is not a VID VIEW issue, this is pure clean simple maths.

And your first check is just to see if anything is in the viewport to be rendered in the first place. After that, it is down to the most primitive/simple calculation you can make.

i.e. if (distance < circle1.radius + circle2.radius) {touch, yay!}

In 2D, it is rare there is more than a dozen things actually moving around.
And any given object only needs to do a simple test to check for collisions with the background.

But images you see on the screen don't need to have anything to do with the physics model for collision. And, you can mix and match models to get the most speed and accuracy.

Also, you can add them together. So you do a single quick check (radius) to see if you even want to do a deeper check (down to the pixel or intersecting vector lines) if need be.




23:29= Best File Management Tool =

[due to Gitters bad design, I'm FORCING this into a side thread]

gltewalt:matrix.org
03:45Mm... sometimes not. You can preserve some of the meta with cp
03:47You dont lose the originals if you cp to a new dir
04:12lol some of this stuff on the rust site made my chuckle 😄


https://imgur.com/a/PQi2E6E
04:12Me chuckle. Not my chuckle.
04:16Wow, it's pretty good

https://www.rust-lang.org/community

abdllhygt
12:03@planetsizecpu i read about how to draw somethings on VID, but i even don't know how to control a mouse click or keyboard.
planetsizecpu
13:46@abdllhygt Mouse events you can check on-click or on-over etc.
For keyboard control keys I use this: view/options YourLayout [actors: context [on-key: func [face event][YourKeyFunction face event/key]]]
...
13:48YourKeyFunction: function [face key][ switch key [ left [LeftFunc args...] right [RightFunc args...] ] ]
And so on...
abdllhygt
15:02@planetsizecpu thank you, how can i use on-click in VID? I didn't see any example for this.
15:09i mean in draw, sorry
16:31i think there is no way to make an event for a shape, but i can get mouse clicked coordinate and can find the click is in which shape area, right?
greggirwin
17:00Yes, that's what you need to do.
17:02https://gist.github.com/greggirwin/4b3c9962dc682c12821f55583d702a8e
planetsizecpu
18:14Thx Gregg.

gltewalt:matrix.org
21:58[20210727_115551.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/GTWBrmNVUWQbpTSxslUGnfrh)

abdllhygt
13:51hi,
how doesn't red android need android-sdk?
greggirwin
16:47https://github.com/red/red/tree/master/bridges
16:47That is, we have our own bridge to the system.
abdllhygt
16:59but do we still need android-sdk when making an apk, right?
greggirwin
17:16Nope. Just Red.
abdllhygt
17:19i guessed even java require android-sdk for exporting an apk. So, doesn't?
greggirwin
17:22Think of it this way. Windows has an API. Any app can write against that. C# and other .NET langs required the .NET runtime (which wraps the Windows API). So if you use C# you need .NET, but if you use C you don't.
abdllhygt
17:24i got it, thanks!

BaronRK
13:24It is sort of counterintuitive though isn't it?
You DON'T need the SDK as long as you DON'T use their integrated stuff.
greggirwin
17:01Agreed. A real world analogy might be "Buy our processed diet-plan meals, but be sure to buy our supplements as well."

gltewalt:matrix.org
07:09Need more "team members", but is it possible?
greggirwin
16:00Anything's possible; it's just not easy.
gltewalt:matrix.org
18:34Well generally money has to come in from somewhere to help keep members, past a couple lifers - or am I wrong?
18:35Near as I could tell from my half-sleep last night - another languages team members that I looked at was around 18
18:37Well, to help attract and keep star quality members, that is. The truly talented.
greggirwin
22:02Sustainability is our goal. Until you reach a critical mass, it's fantastically difficult. That's why the vast majority of "products" in this space fail. That said, we don't *need* to reach millions. Pros and cons as your user base grows. We need X customers times Y dollars divided by team salaries - minus cost of developing stuff that doesn't pay. It's not a huge number by any means, but still large enough that it rarely works out.

Another possible approach is to find a patron, as [Cognitext did with NuBank](https://cognitect.com/blog/2020/07/23/Cognitect-Joins-Nubank). For that to happen, we need to grow and have value in their eyes. If Clojure didn't run on Java, they *may* have turned out to be just another Lisp. Go and Rust came at it from the inside. But you still have to sell it to your employer and keep selling them. e.g., Dart is still alive, but lives deep in Go's shadow now. If not for Flutter, my guess is that it would have been retired.

That brings us to the third leg of the stool: a killer app. Spin the wheel, roll the dice, say a prayer. You can't force or predict them.

So commercial products are the plan. We have 2 openings and can justify a third if the fit is right. Paying in crypto is also a blessing and a curse, but that's where we are right now (for the most part).
gltewalt:matrix.org
22:31Yeah, but openings are one thing, the talented who care about Red is an extra filter
greggirwin
22:45Indeed. It is the most important filter. Though talent comes in many forms. As we note on the new web site, Red isn't for everyone.

Respectech
00:30> Sustainability is our goal. Until you reach a critical mass, it's fantastically difficult...

I've been in business for myself for over 20 years now (this time) - And I'm still fighting constantly with the "fantastically difficult" aspect of business sustainability.
00:34But we also don't deal in the area of "killer apps" so Red has a lot of hope there.
hiiamboris
10:03Could have just traded your crypto, or invested into one of AMMs. But even while hodling the future should be bright enough.
gltewalt:matrix.org
15:07What happens if I call you?
15:07[Screenshot_20210805-090621_Samsung Internet.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/jTIJTBnwQUrkggbphtdWhKaD)
Respectech
15:18@hiiamboris The amount of crypto I currently HODL would be enough for about a month of business operations. Hopefully that will improve some day.
greggirwin
15:57@gltewalt:matrix.org you're already in my phone, so I won't answer. ;^)
gltewalt:matrix.org
16:23What if I drop in?
greggirwin
16:25That's OK. :^)

hiiamboris
19:00Hodl BULL token. Or ETHBULL.
GiuseppeChillemi
21:28@greggirwin you are still avoiding a "Patron" like option, we all could fund this journey in some way.
hiiamboris
21:45List a crypto wallet for donations on the site.
greggirwin
21:56@GiuseppeChillemi I don't think anything has changed since the last time I explained why we haven't done this. :^) Adding a crypto donation address should be easy enough though.

GiuseppeChillemi
19:42@greggirwin I have never read you explanation
greggirwin
19:51They generally raise so little money that they're not worth the effort to set up and maintain a system for them. e.g. people should be thanked, their names noted, etc. We do consider all options for sustainability. For example, we could try crowdfunding specific projects.

gltewalt:matrix.org
03:25"An evolving system increases its complexity unless work is done to reduce it." — Meir Lehman
greggirwin
04:03That's a good quote.
dsunanda
14:01Manny Lehman's other seven laws are worth a quick glance too (all intended to be applied to real-world systems rather than rigidly defined academic exercises) - http://users.ece.utexas.edu/~perry/work/papers/feast1.pdf
hiiamboris
14:18> "An evolving system increases its complexity unless work is done to reduce it." — Meir Lehman

May I rephrase this as "if we mindlessly add crap to our system on an ongoing basis, we should also consider cleaning it up once in a while"? Then it looks like something Captain Obvious would say. ;)
greggirwin
16:46Great link @dsunanda. Thanks.
BaronRK
18:15[![KeepingItSimple.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/HyDJ/thumb/KeepingItSimple.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/HyDJ/KeepingItSimple.jpg)
18:15This is Stately

And this is someone using it to build an OAUTH system
https://stately.ai/viz?id=079cab4a-356c-49d6-b8fc-27d7a7cb51ec#

greggirwin
19:06Interesting. I have trouble connecting the dots, and don't see what I expect in the events and states tabs. The diagram has implementation details mixed in, which has pros and cons. But it does point out a key aspect: state machines are a general implementation, in this case the protocol is the main thing. Even though it's a *very* thin wrapper between those two concepts. When I think protocol, I think of a diagram like this:
19:06https://images.techhive.com/images/article/2015/11/oauth2-100629566-large.idge.png
19:07[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/WkEC/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/WkEC/image.png)
BaronRK
23:59Indeed, from that ... check this out...

https://twitter.com/robpenner/status/1427789169963700226?s=20

greggirwin
03:13:+1:. Will read the related blog tomorrow.
GiuseppeChillemi
23:40@BaronRK when are you planning to make the conference on your techs for developing with flutter?

BaronRK
09:39I'm getting close to locking in a date. Prob in 2 weeks, we want to put our first version in the Google Play Store first.

gltewalt:matrix.org
01:01@greggirwin I wish I knew right offhand how to make showcase look ok on mobile, but I don't. I should have checked for that or planned that in the first place
01:01(Typing here because I can't access the other chat via phone)
01:02With as busy as I am it might be a few days
greggirwin
03:51No problem.

zentrog:matrix.org
07:38This is interesting
https://octo-repo-visualization.vercel.app/?repo=red%2Fred
It would be nice if 'red' and 'reds' were different colors though. I'm not seeing a simple way of changing them.
Here's some [more explanation](https://next.github.com/projects/repo-visualization) about the visualization.
hiiamboris
07:49Like petri dishes growing bacteria ;)
greggirwin
16:33It's a different kind of file browser, and seeing things differently can be a good thing, but I don't buy their claims at a glance.

> When we look at several codebases side-by-side, we can see how much variety there is between them:

What do they mean by "variety"? How files are grouped and how big they are? OK, but what does that tell you? Can you really find things faster this way when you give up some *very* important features, like sorted lists and a canonical layout. Relative sizes also have pros and cons. e.g. I can't even get a hover for many things in https://octo-repo-visualization.vercel.app/?repo=open-policy-agent%2Fopa. I'm not a mind-map guy, and spatial things often don't click for me (I'm terrible with directions), so this is just my quick take.
zentrog:matrix.org
21:53I thought it seemed like an interesting way to get a feel for the general layout of an unfamiliar repository. In a way, it is sorting (hard-coded by size), since we are so good at visually comparing quantities. But I agree, file size is somewhat limited. It would be interesting to see the same visualization, but with number of commits affecting the files, or line differences between the current and last commit, differences between branches. I wonder, what other metrics might be useful?
hiiamboris
21:56> I wonder, what other metrics might be useful?

LZMA-compressed size of each file/folder ;)
21:58As a rough metric of useful information :D
greggirwin
22:05We have so far to go with software. :^) @zentrog:matrix.org I looked again and here's an interesting one. Compare the size of %string.reds and %integer.reds in the viz. They look the same to me, but one file is 70K and the other is 18K. Not to criticize this project, but the fact that there are granularity issues we face for human presentation. What information we gain in one facet we may lose in another. When I looked at it earlier, one of my first thoughts was what it would look like as a treemap. Does anyone know if there's a tool that does that? Time to revisit Edward Tufte's work.
zentrog:matrix.org
22:09@hiiamboris: Yeah! And maybe some way to see which files are very similar to one another (coloration?)
22:13@greggirwin: Interesting, I hadn't seen his stuff before. Now I have yet another tab that I can't close.
I'm not sure exactly what a treemap is, but this tool comes to mind too: https://diskanalyzer.com/
greggirwin
22:22Yes, that's a treemap.
22:25I think half of my National Geographic subscription is for learning from the infographics.
zentrog:matrix.org
23:44I highly recommend WizTree for cleaning up disk space, btw

greggirwin
05:31Will have to check it out. I've used WinDirStat for years.
abdllhygt
18:11what do you guys think about generating c code compiler?
18:12for Red
greggirwin
18:13I've written a number of code generators in the past. We don't generate C as a back end with Red because then you depend on them, and they are often large and complex (GCC, clang, etc.). The leading alt back end target right now is LLVM, but that's also a lot of work and we have to weigh the value.
abdllhygt
18:25but a generator can make faster development of red, not? and c is already main lang of computers.
greggirwin
18:28It really just pushes problems around. It doesn't solve them. And while we may consider it, or others may do it, it doesn't fit with the idea of reducing complexity overall. We also have to ask *why* C is still dominant, what it was designed for, and what it's used for.
abdllhygt
18:40the question of c is large, we are talking about smaller things, like why red doesn't have a 64bit compiler. i think red should have a framework like flutter for living. it can be with a generator or like a raylib binding.
greggirwin
18:47> red should have a framework like flutter for living

I don't know what you mean by "for living". You can create bindings today in R/S, and we will have an FFI interface at the Red level in the future.
abdllhygt
19:00living like supporting the technology of 2021, not of 2010
greggirwin
19:17Ah, I see, thanks. This raises an important question. Note that we've moved to D2D, and will move to SSE. These are modern, fundamental elements in Windows and CPUs respectively. Flutter, however, is likely to come and go like other transient technologies. So the better way to integrate with it (and Flutter is on our radar, make no mistake, as is Material Design) is for someone to champion it, and then let us know when something is needed in Red to facilitate interop. We can't afford to follow too many trends, but have to choose them carefully, regarding what will help Red succeed.
abdllhygt
19:31thank you for informations. D2D supports linux and macos? is red still be crossplatform?
19:31and what is sse?
greggirwin
19:34Glancing at Flutter I found https://flutter.dev/docs/perf/app-size, which has a treemap view for app contents, which aligns with what @zentrog:matrix.org was talking about recently. Cool idea. It makes me wonder if there's a way to blend the ideas of 2D/viz and sorted columnar data that leverages both. Some researcher must have done that somewhere. Navigating a new world/project/system is *hard*. A single view may not be enough, but the ability to switch between 2 or 3 of them that are each tailored for a specific mode of learning the landscape.

@BaronRK might have thoughts, based on his knowledge of dead reckoning, and @toomasv or @GalenIvanov might be interested in how pathing through diagrams or simulation explorations apply to this. For example, if we have a universal system navigator, could it apply to file systems, code cross references, data structures, and distributed systems? If we track and collect the paths people take, what can we learn from that? Can we draw a diagram that highlights paths others have taken (shortcuts)? "I see you're coming from S, here are paths others have taken from there, and those that spent time at a destination (meaning they found what they wanted, rather than backtracking and going somewhere else) ended up at Z." Sort of like a Recently Used list, but showing the connections.

Or maybe a search feature where, like Everything or grep, your file view narrows things down, but a treemap would highlight the boxes where a result occurs, maybe with a badge for the number of occurrences.
19:34D2D is for Windows only. Every platform has its own back end.
19:38On dead reckoning, my mind must have thought about the [Path Integration](https://en.wikipedia.org/wiki/Path_integration) attribute.
19:42Is there a browser extension that tracks your back/forward moves, so you can see a map of that? My hack is to Duplicate a tab at an end point, so I still have it, because once I go back and forward somewhere else, it's only in the flat History list, with no context of how I got there, and only a single timestamp of when.
BaronRK
20:52You're hitting on the core issue, one view of data is so 2020.

For example, what is the difference between a report, and dashboard, and therefore, UI itself?

What is the difference between Search, and Filter?

There are differences, but should there be?

Why can't reports be Printer TO Calendars?

Assuming temporal data, or even not. A real example is if you have a list of tasks, no exact dates or even times. Still, it can be displayed on a calendar in terms of assigning each task 1h, and filling the calendar 8 hours a day. This is useful.

TreeMaps rock over pie charts in many places. Even for a calendar. Seeing your days as equal is silly. For example Sun might be very thin. That would tell you way more.


21:00@zentrog:matrix.org yeah, TreeMap is a sucky name. I use them, and can never remember their name. I think a better name would be like VolumeGrid.

The other report graphing name I can't remember is the one that makes lines of different thicknesses from node to node. These should be called Raceways (just like the things used to carry wires).

rebolek
04:59I think that transpiler from R/S to C would be nice fun project for someone to make. So @abdllhygt if you're interested, why not make it? :-)
PeterWAWood
06:08@abdllhygt
> and what is sse?

A set of instructions for AMD and Intel processors that speed certain tasks - [wikipedia](https://en.m.wikipedia.org/wiki/Streaming_SIMD_Extensions).

There are similar instructions sets for ARM processors but I believe they are not quite as advanced as SSE and each type of ARM processor supports a different instruction set.


abdllhygt
21:28@PeterWAWood thank you
21:31@rebolek yes, fun project. if i do that, can that run for red without r/s also? i don't know how red and r/s work together
greggirwin
22:57I think what @rebolek meant is to transpile from R/S to C, rather than generating C from Red. Transpiling is a somewhat modern term for tranlating/compiling to a language that is roughly the same abstraction level. e.g. from Typescript to Javascript. Since R/S and C are both low level system languages, translating from one to the other is generally much easier than a high level to low level compiler.

rebolek
10:02@greggirwin thanks, that's what I menat. @abdllhygt tranlsating Red/System code to C is much simpler than translating Red to C. And because when you are compiling Red, it gets translated to R/S anyway, once you have R/S->C transpiler, you get Red->C transpiler for free.
pekr
10:06Could such a scenario help the transition to the 64 bit support? I mean - with C compilation, you can select new targets, configurations, etc., but would such scenario support that, or R/S itself would have to support 64 bit in itself?
rebolek
10:09If you have this transpiler, you can build 32bit version for 64bit OS. But to get full 64bit support, you need some fundamental changes in Red.
10:10I.e. you could build Red for newer macOS, but integers would still be 32bit.
pekr
10:19Thanks, that makes sense ...

hiiamboris
09:57While fighting yet another chain of random device failures so common on W10, I've come across this piece of software: https://driverpacksolutiononline.com/

Why I mention it is because they have really thought out their UX. Voice assistant guides you through everything that's happening and what you can do and why you may want to.

Be warned though: if you try it out, disable bloatware installation in the settings first. That's how they get paid apparently.
BaronRK
13:28I totally don't know why MS makes driver maint. such a nightmare.

But, this thing - I get a VIRUS threat on that (which sort of makes sense) But, what evidence do we have to trust it?

It is a lot of power to give over your computer.
hiiamboris
13:33I guess them being in the driver maintenance market for years is good enough reason. But anyway, use a VM and be safe.
BaronRK
15:15Perhaps. I would want a little more.
But, MS does have several ways to confirm drivers are in place. Including crap you can run from Edge.

It is all horrible, has always been horrible.

How they have not worked out how to do this is just really disgusting. Hardware should self identify and allow self-testing.

Software should know what is allowed and keep it automatically updated.

I spent the day yesterday with two of my former team. We hiked, ate, and talked, for 8 solid hours catching up. They are both leads at Apple, one is in charge of Sec, other is Art. I gave both of them their first jobs in the business.

They are done. Meaning: fed up there. It is sad. I'm actually a fan of Apple (even though I don't like their products personally). meaning, I'm actually unbiased. I want them to win (I want everyone to win for the most part).

I often note (and this group perhaps they can recognise this) America has become more like England, and England more like America over the past 100 years.

I suspect Apple is going to become more like MS, and MS more like Apple over the coming decade. Perhaps not, we'll see. but from what I hear from both camps from the inside, it is not good.




greggirwin
17:12@hiiamboris are there any videos of it being used? Much as I want to check out their UI, I do not want to risk destabilizing my machine.

abdllhygt
15:45@greggirwin @rebolek thank you
hiiamboris
17:12I tried to find one before posting. Unfortunately, found nothing relevant.
greggirwin
17:14Thanks for trying. You will be our source for ideas then.

ne1uno
20:10https://www.forbes.com/sites/carlieporterfield/2021/08/30/dozens-of-subreddits-go-private-to-protest-reddits-covid-disinformation-policy/
20:10gitter next?
Respectech
23:26Here's my opinion - you can take it or leave it: Censorship of any information is a real problem. Anything can be labeled "disinformation" by anyone, and if this is allowed, freedom goes next. Ask anyone who survived Hitler and Stalin (my mother survived Hitler, and my father survived both of them), or anyone who currently lives in China or North Korea. I couldn't care less about the subreddits that "went private" because they obviously don't have the same affinity for freedom as I do. They're all a bunch of wannabe (or actual) dictators as far as I'm concerned.
ne1uno
23:37by to the death, I take it you rather it not be by virus? that's the enemy. not some imaginary freedom of speech. anti-vax skepticism, to a point, is useful. people are choosing livestock de-wormer over an fda approved vaccine millions have taken. there has to be a line we can all live with. hundreds of bot created channels are, not for nothing, eroding all our choices.
gltewalt:matrix.org
23:43They would have little to no impact if the authority figures hadn't destroyed all trust over the last 20 years
ne1uno
23:47many have shifted to a 99.9% fact free existence. ignoring reality has a cost. people can pick sides. it will cost more to be on the wrong side.
gltewalt:matrix.org
23:50To the point of eroding trust, "Horse de-wormer" is targeted language designed to persuade people that ivermectin is everything bad. I'm not amused by this.
ne1uno
23:51I'm not suggesting BTW that red-lang needs to take part in any such movement, but many of us have other interests as well.
gltewalt:matrix.org
23:55I'm not for movements on either side. I know some projects get into social issues though
ne1uno
23:58other remedies are suggested and tested for every conceivable problem. one problem is self interest if someone is plugging a treatment for their own self interest. IE, owning stock in the company for example. it's happened over and over in the past year and a half!
23:58the fact something is trending doesn't make it a good idea. but again, people can make their choices. we don't need half baked ideas, using loopholes in SEO techniques drowning out legitimate conversation on any subject. that isn't freedom either.

gltewalt:matrix.org
00:03I've thought a lot about this 'information problem', and I can't see a solution other than teaching critical thinking - probably too late for older folks, and I'm not aware of any effort to teach it with the younger generations
ne1uno
00:07journalism courses probably starting to teach critical media consumption at least
BaronRK
00:14[![Dark Light.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/re4S/thumb/Dark-Light.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/re4S/Dark-Light.png)
00:14An interesting example of what I have to waste my time on.
This is the same message as viewed in Chrome (light) and Outlook (dark, right)
00:15There is no good way to make good looking things as best I can tell in Outlook. I mention simply in that these 'standards' don't exist.
greggirwin
00:55Standards exist in droves. It's the meaning of the word we seem to have problem agreeing on. :^)
planetsizecpu
06:39It is curious what happens with the standards, many of them, but not all, are designed as a strategy to de facto dominate the market and not leave room for others. What the others do is try to break the standards with new ideas that provide other choices but with the aim of avoiding the monopoly and getting a slice, foul play anyway. Just remember past video std. VHS - Beta - 2000, but there are tons of examples dalily, and consumers we're in the middle spending our money in their fight 🙄
greggirwin
16:30In software it's often referred to as "embrace and extend". You say you follow a standard, but then add features that lock people in to your version if they use it.

GaryMiller
06:55We are watching evolution as it occurs. No matter how we present the truth and it is rejected in favor of charismatic conspiracy theories and results in deaths. No matter how badly we feel for the families and the children. Natural selection is choosing whatever gene it is that controls paranoia and gullibility to be weeded from our gene pool. 95% of those in ICU ward for COVID are unvaccinated. If COVID continues to mutate new variants like the flu does on a yearly basis how many years will it take anti-vaxxers to become extinct.
ne1uno
17:32new hospitals are more expensive than new schools. take your pick
greggirwin
18:39We may see a lot of interesting changes come about quickly. What happens when newborns can be vaxxed, and both hospitals and insurers make it a required part of the maternity care process? Will more people have home births? What if we find that C-section babies are more vulnerable, as with a number of other aspect, where going through the birth canal "immunizes" them because of what they're exposed to. Will we see less C-sections and scheduled births? Will CRISPR be widely approved if it can address COVID/SARS, and open the door for more use in other areas? As we start tinkering like that, what unintended consequences will come about? Interesting times, to be sure.
gltewalt:matrix.org
18:42C section are often necessary now. People have eaten so much added hormones that babies are getting to big to birth naturally
greggirwin
18:43I thought it was our big heads that were the problem.
gltewalt:matrix.org
18:52I keep mine under control
18:53It is the head, but Amitabh getting bigger
18:53It is
18:54Wow, what a phone hiccup
greggirwin
18:54Technoligy issn't wat itz krakked upp 2 B.
gltewalt
20:23I really want a readout on the dishwasher that says "Last ran 08/31/2021 8:15". Magnets are not reliable because people don't bother to flip it to clean or dirty
20:24Maybe I could put a heat sensor on the front (if the front happens to get sufficiently warmer during dry), with a LED
20:25I dunno who Amitabh is, but I guess they're getting bigger
greggirwin
20:31Amitabh sounds like a pharoah.
gltewalt
20:32Him getting bigger
GaryMiller
21:57You don't have to vaxx newborns just their mothers. While babies can't receive the COVID vaccine themselves, they may still benefit from vaccine antibodies that pass through the placenta or breast milk. Some newborns may arrive in the world already protected from the deadly virus that caused the pandemic.

greggirwin
01:35Good point.

BaronRK
20:20Simple odd question:

What is an example of a programming language that is NOT Turing complete?
dsunanda
20:49@BaronRK Bitcoin's Script language is one example:
https://bitcoin.stackexchange.com/questions/25427/the-bitcoin-scripting-system-is-purposefully-not-turing-complete-why
greggirwin
20:52https://www.quora.com/Are-there-any-programming-languages-that-are-not-Turing-complete?share=1
20:53RegEx and SQL are the key examples.
dsunanda
20:55@greggirwin Some claim SQL is not a programming language; and others claim that (with the addition of CTE) SQL IS Turing complete.....Maybe the S in SQL now stands for Schrödinger.
greggirwin
22:06@BaronRK, on FSMs: https://github.com/p-org/P

Unfortunately, when you go to the docs, many pages are blank. e.g. https://p-org.github.io/P/manual/statemachines/

The best is https://p-org.github.io/P/tutorial/paxos/, as I was really looking forward to the simple explanation. Seems there isn't one.
BaronRK
22:50Right, I was about to say 'those are not really languages'
A bunch of subroutines strung together doesn't make it a language, HTML should not be called a Language (no conditionals)

And yeah, SQL has been 'fixed' to be complete.

I sort of felt this is one of those axiomatic issues. Which carries not clear meaning, which is why I asked it.

greggirwin
22:55That's the crux, defining "programming language".

toomasv
03:24Seems like question conflicts definition. Ask about non-TC PL, and implicitly define PL to be TC :)

abdllhygt
16:09is there a date for 64bit support?
16:10i have a plan to make a program which the most popular Red program (haha)
greggirwin
17:37We rarely set dates. Things change too much to make them reliable. As a small team, we constantly evaluate and set priorities, which can affect the big projects.

ne1uno
22:1140 million vrs one million population is not comparable. 95% of serious hospitalizations are children and the unvaccinated. you have to rate your own risk, averages are not the most important factor. it's mutations we have to worry about, not only immunity

Respectech
00:27I deleted a few posts that were way off-topic even for a chit-chat room regarding C19. If you're interested in what they said, you can DM me.
BaronRK
01:22May I suggest (from experience)

That any topic regarding not-direct-computer-related chit-chat be moved to a Chit-Chat2 (politics/religion/etc.).
Respectech
01:36I concur with @BaronRK . However, I would be extremely surprised if it had any benefit. I find that due to a person's foundational worldview and related confirmation bias, those chit-chat2 style discussions are rarely productive and most often divisive. There are a sparse few who are willing to look past their assumptions of what is true about reality and discuss with an open mind the merits and folly of any of those ideas. But those few are drowned out by the cacophony of the far more common parrots, the poseurs, and the intellectually lazy or incompetents. And don't even mention the trolls.
greggirwin
02:39Thanks for cleaning things up @Respectech. Deeply appreciated. There is a whole internet where people can discuss those things, and they can be polarizing, so I agree it's best to fight to the death only over software development choices. :^)
BaronRK
18:08'I would be extremely surprised if it had any benefit.'

That is a function of the amplification of personality traits of the test subjects, er, I mean people here.

I should mention that my suggestion should be read as 'may you live in interesting times' :)

'#Loki'
greggirwin
19:49Ancient Chinese curse.

GiuseppeChillemi
16:54I remember using again my Amiga after 1 month away from it and everything was ready to use. Now I have been far way from my Home PC for one month and...

* Password manager asking for verification of may computer
* Requester about windows updates
* Requester about Apple update
* Requester of antivirus update
* Requester for antivirus definition update
* Requester for general app updates
* Steam client asking my password
* Steam client asking for confirmation email
* Gog client Asking for login
* Gog client asking for confirmation email
* Origin client asking for login
* Origin client asking for confirmation email
* Lenovo informing me of bios updates
* Reboot required
* Internet Download manager asking for updates
* WhatsApp web asking for reconnection
* Telegram needing asking for updates
* Rambox asking for updates
* Outlook and office suddenly unactivated
* Ubisoft asking for Login
* Ubisoft Asking for confirmation email
* Ubisoft client asking for login
* Ubisoft client asking for confirmationemail
* IsThereAnyDeal site asking for relogin
* Steam site asking for login
* Steam site asking for confirmation
* Origin site asking for login
* Origin site asking for confirmation email
* Epic Client asking for login
* Epic client asking for confirmation email
* Epic Site Asking for login
* Epic Site Asking for confirmation email
* Rockstar games asking for login
* Rockstar games site asking for confirmation email
* Rockstart game site asking for login
* Rockstar game site asking for confirmation email
* Humble bundle asking for login...
* Directory Opus asking for updates
* JavaVM asking for updates
* JDownload manager aking for updates
* UltraEdit Asking for updates
* VSStudio Code informing me of updates
* Skype infoming me of updates
* Relogin needed at microsoft sites
* Anydesk requesting for updates
* Screengrabber software requesting for updates
* Malware bytes asking for updates
* Unused apps cleaning requester
* Cookies requested again on every site I visit
* 600 Emails to dowload

Oh my God, 1 hour and still I can't use my PC
pekr
16:58Format C:\ :-)
GiuseppeChillemi
17:00Noooo, it would need all of above action plus reainstalling!
hiiamboris
17:05Actually most of that is cookie expiration issues and the fact that you allow your software to go on with update madness.
GiuseppeChillemi
17:11@hiiamboris I need for security
hiiamboris
17:18I don't believe updates to software make it any more secure. On paper yes, in reality I doubt it. It's like AV software. It's more harmful to your PC than any malware, but it gives you your peace of mind. Digital pill from fleshy fear and uncertainty. Why do we update our software? Because we see how shitty it is and we keep hoping it will get better, and though this "better" never comes, we still keep doing that.
17:22What keeps amazing me is this "Authy" piece of software. It's dumber than a calculator. Just fetch those 6 digits from google and show them to me. What can be simpler? Yet it keeps updating itself every other day or so. What can you possibly change in software that's sole aim is to show you 6 digits?
17:23They made it able to sync, on paper. Between various devices. Never works in reality.
17:29My android junk wiped itself one day and I had to reinstall Skype. I only manually update stuff, so you can imagine new version is 1-2 years fresher. Turns out the new version is so slow I don't see what I'm typing in there. And it keeps showing me the top line of input no matter how many lines of text I input there. Now they claimed the 1st place in nomination to the most ridiculous and awful chat program for me ;)
GiuseppeChillemi
20:53@hiiamboris Exposed machines need updating it's software. The other one I keep them with the same software until a bug will show up.
gltewalt:matrix.org
21:04It does make it more secure as long as they don't create new attack vectors in the process of closing old attack vectors. The issue is there's always extra bloat that you don't need or want that comes with a patch.
21:06If there's a whole in the garden fence they tend to construct a new wall around the fence instead of just fixing the fence. Imo
21:06*hole
hiiamboris
21:24Well.. on a second thought and considering that majority of mentioned software is likely Electron-based, I may as well agree. I suppose Electron introduces so many vulnerabilities that they may as well fix some from time to time ☻
OTOH common sense tells me that 9 of 10 updates are just bloat-carriers.

planetsizecpu
07:32Haha, there is no safe computer, that thing does not exist, and to believe it is a mistake. But I agree that updating is good to correct errors and keep the software up to date in terms of functionality.
BaronRK
19:53[![ProgrammerBias.jpg](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/klhG/thumb/ProgrammerBias.jpg)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/klhG/ProgrammerBias.jpg)
19:55Does anyone here feel there are topics that should be asked about not on the infographic above?

For me, I would add 'A team member I can learn from'
greggirwin
19:58Autonomy. Not just a flexible schedule, but being able to call the shots within the job's constraints.
hiiamboris
20:14I don't see "Fun" there ;)
greggirwin
20:20I was going to say "Interesting work", but that's as hard to define as "fun".
hiiamboris
20:26No need to define it ;)
Respectech
21:09I concur. I went to work for Rebol because I was following Carl from the Amiga days and thought it would be awesome to work with and learn from him. I was not disappointed.
21:09Also, interesting work is very important for me.
BaronRK
22:19Exactly, see, I love these!

People often accept these procrustean lists (there is a word for people here to look up, one of my favourite words).

I also notice (missing)

- Stock (or future payoff, commissions, or perks, bonuses, etc.)
- Social importance (helping the world be a better place)
hiiamboris
22:22I think latter is part of what they meant by Impact ☺
22:23at least I attributed it there when I thought about it
BaronRK
22:29I agree with you (and that is probably how they meant it).

I'm being more specific though. To me impact is more about how much the world will know about something. Or said another way, it is not 'clear enough' for me.

So a new fad, or popular video game, or celebrity crap can be impactful (leave an impression on people).

Rather, I want to make it much clearer that I want to work on things that might not be so 'popular' but more about what makes change for a better world. So, it just needs to be word smithed even more :)

hiiamboris
22:31Fair enough
zentrog:matrix.org
22:31learning and/or growth opportunities (besides "a team member to learn from", it could be things like time for researching technologies, training, career advancement, etc)

BaronRK
00:28I push my team to always be more valuable to others :)
gltewalt:matrix.org
00:35That sure seems like a corporate sampling
00:37Culture / diversity, and the bottom three seem very skewed. Probably answered with "this is what they want to hear" in mind
planetsizecpu
06:40I would add geographic proximity, it is a key factor for disabled people, although it is not my case. Well, that may fit on remote options.
BaronRK
18:04Indeed, part of the questions seem like they should be Conditional.

IF ( you must go into work) THEN (here are more questions we have for you)

Also, some things could be asked:

What percentage of money would you give up for better other features?

greggirwin
18:09We should write a simulator, driven by happiness research, costs of living, and a quiz the user takes. So we can *tell* them what they really want. :^)
18:17Maybe we can combine [this idea](https://www.youtube.com/watch?v=rAZavOcEnLg) with how, e.g., Hans Rosling presented data over time. Budgeting and compound interest in real life are invisible, hidden behind numbers or graphs at best. What if you could lay out a timeline of your life, add milestones like "buy a house", "new car every N years", holidays, etc., and watch it play out. Now overlay real world economic conditions on that.
Respectech
18:37^ Killer app ^
greggirwin

loziniak
16:42Anyone wanting to solve some exercises in Red, you're welcome to help launching Red track on Exercism: https://github.com/exercism/red/issues/31
For discussion, come to [red/training channel](https://gitter.im/red/training).
greggirwin
17:42:+1:

XANOZOID
16:11Hi all :). Been a while, haven't had a great time this year but happy to be back into some Red!
greggirwin
17:09Nice to see you again.
XANOZOID
17:26Thank you Gregg, it's great to hear from you 😄!
GaryMiller
19:14@greggirwin You could call it FinancialLifeSimulator It would be great for retirement planning and calc in life expectancy based on factors like weight, age, chronic health conditions since these factors play a large part in how long you can work and what you are able to leave for your family. I've looked and current retirement planning software is very unimpressive.
greggirwin
19:41@GaryMiller :+1:

gltewalt
04:38Why?
>> help swap
USAGE:
     SWAP series1 series2

DESCRIPTION: 
     Swaps elements between two series or the same series. 
     SWAP is an action! value.

ARGUMENTS:
     series1      [series! port!] 
     series2      [series! port!] 

RETURNS:
     [series! port!]
04:41Just swaps the first element? (destructive)
What is this used for?
04:41Or - what was the thought process for this?
04:43I kind of love these quirky (to me) corners. I browse through what occasionally to see if there are new ones.
04:46Strange Corners: The quirky, and sometimes mysterious functions of Red.

Some candidates -

also
alter
as
decode-url
ellipsize-at
exists-thru?
extract
flip-exe-flag
help-string
immediate?
read-thru
scan
swap
transcode
toomasv
05:21@gltewalt swap first elements on current indices, not just head elements.
gltewalt:matrix.org
05:22Use case?
toomasv
05:24E.g. single series:
>> swap s: "abcd" back tail s s
== "dbca"
05:29Different series:
>> a: [2 + 2 = 4] b: [x * y = z] swap next a next b probe a b
[2 * 2 = 4]
== [x + y = z]
gltewalt:matrix.org
05:31But what to use it for? Self modifying source?
toomasv
05:33One place I have used it is reordering draw blocks -- to bring elements up or down the stack.
05:35E.g. you hover upon an element and it jumps to foreground.
06:09Er.. this is rather job for move. But let's alter the scenario -- e.g. you mark one element and then swap places with another element selected on screen... or something like that.
GiuseppeChillemi
09:20Will they give the money back?
09:21https://m.slashdot.org/story/21/10/03/0239226/crypto-platform-mistakenly-gives-90m-to-its-users-asks-them-to-please-give-it-back?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Slashdot%2Fslashdot+%28Slashdot%29
hiiamboris
10:12only those for whom it's a tiny amount ;)
greggirwin
21:17@gltewalt Fun list. :+1:

also: Perhaps the most clever piece of Redbol code ever. @giesse came up with it, but outside a few cases I think it makes code much harder to understand.

alter: Came up in R2 times, and needs to be addressed (https://github.com/red/red/issues/3190). We should address this before more time passes.

as: Strictly for special case optimizations, though I've thought about how it could be extended to do more. Another word I've used in the past is cast to mold one type into another.

decode-url: we don't have the obvious use case in Red yet, but it existed in Rebol. Given a URL you can decode it into a spec, which you can then easily alter for use with ports. The question comes up about why url! values don't just have accessors. It's because URLs are not fully parse according to their RFC. For efficiency's sake, they are only lexed enough to classify them by the characters they can contain.

ellipsize-at: Think of how often you see "read more" or "see more". This is part of help today, but I think it's more generally useful than that.

exists-thru? and read-thru: All *-thru funcs came from the Rebol idea of a basic, user-controlled cache. It existed mainly for use with the Rebol desktop, which is another tool we don't have yet. thru needs some thinking, because Rebol only had one, and Red uses system/options for it today. That means it's shared "per system" (not per OS setup), so different sets of Red apps can each have their own cache. That's great, but also means a module and package system will be duplicated, and that's where caching could be the most useful.

extract: I was surprised how much I used this in R2. I have old mezzanines, which we also want to consider in the HOF space, for extracting by name. e.g. you have objects or keyed blocks and want index to be a name rather than an offset. This also ties somewhat to reflection, which is always a [fun discussion](https://github.com/red/REP/issues/68).

flip-exe-flag: This is fun because of the body. Talk about magic numbers. :^)

help-string: I'm anxious to see how we extend reflective ideas as we write more tools.

immediate?: Same as for all other type queries, but typesets are one of the things about Red that *almost* aligns with how OOP people think. How I think of typesets in Red is very different than OOP interfaces or inheritance. Much more how we group things as humans.

scan: A great example of how important helper funcs can be. It's a good name that makes the intent clear. I wonder if the doc string needs fixing. It says "guessed type" but it should be "recognized type" if /fast isn't used.

swap: Related to swap and move, I have old shift and rotate funcs, which operate on series, which were very handy in some cases. For rotate you can do it now with move to be more efficient than take+insert . e.g.

rotate: function [
	"Rotate values in a series."
	series [series!]
	/left   "Rotate left (default)"
	/right  "Rotate right"
	/part
		count [number!] "Rotate this many positions"
][
	if empty? series [return series]
	; modulo the count against the series size
	count: any [all [count  count // length? series] 1]
	;if zero? count [return series]	; MOVE handles a zero /part correctly
	head either right [
		move/part (skip tail series negate count) series count
	][
		move/part series tail series count
	]
]


I haven't rewritten shift, but now that Red has a native one for bitsets, it will be more work to do in R/S.

transcode: Controlled loading. So much power.


I will add unless to your list as well. When we start collecting more than reference docs and basic examples (as red-by-example does, falling under ref's IMO), we'll have a lot of rich language discussions.

gltewalt:matrix.org
01:43Feed that list to newcomers and ask them to do a short blurb of their thoughts and feelings for exploring each one
greggirwin
02:51Go for it. Any of us can post about our favorite, or least favorite, functions. Remind people that it's not about knowing everything, but how we think about and use Red.
planetsizecpu
11:13I'm a great alteruser and lover, it is a useful and time saving func, any improvement will be welcome, same on sort. I think these funcs make Red more friendly & human oriented.
greggirwin
16:18@planetsizecpu cool! How do you mainly use alter, and has its design caused you problems or bugs?
planetsizecpu
17:56Just as an example on my game:

alter GameData/CaveFace/pane (GameData/PlayerFace/extra/getobject)

and no, I had no problems or bugs, it makes very comfortable programming.

17:58In this example it removes some object from the face tree.
hiiamboris
17:59this is actually a mine waiting to explode
17:59because alter does not use same? as comparator
18:00so your objects get compared by their fields, and when it finally happens that two faces have similar data, you will have a very pleasant debugging session ;)
planetsizecpu
18:03Well, maybe, but there are no objects with exact the same data, so I don't think we have this case.
18:04In the understanding that it compares all the fields.
hiiamboris
18:05all fields yes ;) deeply when fields do not refer to the same objects, but use the same prototype
planetsizecpu
18:11That said, to compare every field on objects seems very costly to me, I would not like to see that function pruned, I think you get me 😄
greggirwin
20:58We can make alter use /same for object args, which makes sense. The downside being that there's no good way to work around that. Otherwise we need to add /same to alter.

endo64
10:10alter also doesn't have /only:
>> b: [1 2 3 4]
== [1 2 3 4]
>> alter b [2 3]  b
== [1 3 4]
>> alter b [2 3]  b
== [1 3 4 2 3]
toomasv
13:59Seems there is flaw in design?:) Something like this would handle it:
alter2: function [series check][
   either found: find series check [
      either series? check [
         remove/part found length? check
      ][remove found]
   ][append series check] 
   not to-logic found
]

But this is twice slower :(
hiiamboris
14:21It should always assume /only. What's the point of it without?
greggirwin
17:23https://github.com/red/red/issues/3190 which discusses it has a new implementation which I think only lacks /same support (and keeping the name the name, rather than calling it toggle.

abdllhygt
12:20hello, I am trying to make a specialized (lang) search engine with Red :
![alt](https://i.ibb.co/fGDbnHK/diltilkod.png)
![alt](https://i.ibb.co/M6g0xKn/diltilsite.png)
rebolek
12:58@abdllhygt your HTML generator looks nice, are there any docs or code?
abdllhygt
13:31@rebolek thank you, no but its codes are like this:
info: function [text [string!]] [
    return rejoin [{<p>(} text {)</p>}]
]
rebolek
13:32ok :)

gltewalt
19:40a-an is also a peculiar one to provide as an out-of-the-box function
greggirwin
20:25Yes. It's an artifact of being exposed from help currently. There's a comment in the code about that.

XANOZOID
06:17Anyone here ever mess around with forth?
GalenIvanov
09:08@XANOZOID No, I just had a cursory introduction to Factor, which is an interesting stack-based language with a minimal syntax. Btw, I'm currently rereading an interview with Chuck Moore (the inventor of Forth) in "Masterminds of Programming".
greggirwin
22:41@XANOZOID I tinkered lightly many, many years ago.

Respectech
21:23I'm working on a holiday light show project for the ameriDroid blog ( https://ameridroid.com/blogs/ameriblogs ) and I'd love to use Red to control it. Does anyone have any hints on using Red to communicate via MQTT? We could also do it via HTTP REST. We're going to be controlling these devices: https://ameridroid.com/search?type=article%2Cpage%2Cproduct&q=shelly*
GiuseppeChillemi
22:05One hour trying to debug a loaded function, just to discover that in my current script I had a copy of it. Imagine the strange sensation of adding a PROBE , which you aspect to be printed but it does not print and you ask to yourself that you could have encountered an interpreter bug!
gltewalt:matrix.org
22:15@Respectech
Maybe this plus the Java Bridge?

https://github.com/owagner/logic4mqtt
22:19@GiuseppeChillemi context could have saved you?
Respectech
22:23@gltewalt:matrix.org That sounds a little more complex than I was hoping. I'll probably try to do it using HTTP REST as that should be very simple with Red.
greggirwin
22:50@GiuseppeChillemi can you show more specifically what you mean? Did you just overwrite a func, or are you modding a func somehow? But @gltewalt:matrix.org is on track that putting things in contexts can be a big help organizationally.

GiuseppeChillemi
04:39@greggirwin I have a function I LOAD on the top of a script, but I have forgotten that just after I had a local copy of the same function, setting the same word. So you change the external one but you have no results.
greggirwin
05:53Got it.
rebolek
07:21@Respectech I am working on MQTT for the new IO. It’s a work in progress,you can see it here: https://github.com/rebolek/mqtt/
07:22Here’s the progress list:
https://github.com/rebolek/mqtt/blob/master/mqtt-common.red
planetsizecpu
13:15It seems a lot of work @rebolek much encouragement!
ldci
15:30@rebolek Very interesting code.
Respectech
18:02@rebolek Thanks! Is it already functional?
greggirwin
18:57@Respectech %mqtt-common.red has a list of what's done and what's still to do.
Respectech
19:16Does "partially" mean that it is functional? What I'm getting at is if this can be used now to send MQTT messages, or is there more work to be done?
greggirwin
19:18Really clean code @rebolek. :+1: It's a great example we can use for how to deal with bits, and how we can make that more human friendly. Right now I imagine it's a standard port of existing docs or other code, so it will be clear in that regard, which may actually be best.

Should publish: func [][ be funk?

How is %mqtt-data.red properties used? It looks like a schema of [bit-offset name type] but I don't know how the keys are used. Seems like they have to all match because of dupe keys.
19:21@Respectech I think there's more work to be done. There are no examples or tests included yet, to see what high level paths are complete.

BaronRK
21:50I've been told this is a fun set of podcasts...

https://www.arraycast.com/
zentrog:matrix.org
22:41Thanks! I'm checking it out
greggirwin
22:54Maybe I'll finally understand APLs.
BaronRK
22:59My friend specifically was listening to this for APLs.

GalenIvanov
03:48@BaronRK Thank you for the link, I'm interested in APL/J/K too.
gltewalt:matrix.org
04:00https://youtube.com/playlist?list=PLVFrD1dmDdvfejkfvQEI2bNfVlNO4iGkK
04:013 APL videos of advent of code

gltewalt
00:58I think one thing we all forget about a README is "How to use this". As in, "Here are the instructions to make it run".
greggirwin
18:50:+1: Writing good docs is hard.

gltewalt
03:33Not sure who did this one. Formatting is weird, and kind of busy with all the comments
https://rosettacode.org/wiki/Morse_code#Red
hiiamboris
07:44Above Raku output is fun ;)
GalenIvanov
07:45:smiley:

BaronRK
04:21Interesting: https://htmx.org/
gltewalt:matrix.org
05:18That might be worth it
greggirwin
19:10Their summary about what it is:
Htmx extends and generalizes the core idea of HTML as a hypertext, opening up many more possibilities directly within the language:

- Now any element, not just anchors and forms, can issue an HTTP request
- Now any event, not just clicks or form submissions, can trigger requests
- Now any HTTP verb, not just GET and POST, can be used
- Now any element, not just the entire window, can be the target for update by the request


@gltewalt:matrix.org "worth it" for what?

It's been around since 2014, and has ~5K stars on github (about the same as Red, coincidentally).

A key point they make is that the "calls" will likely return HTML, not JSON, so it's not really about APIs in the normal sense. In the sense that functions are like APIs, then yes, it's about triggering a request and getting a result, with that result being applied implicitly. That is, rather than getting data as a result and then doing something with it, the result immediately gets "merged" into the global state (the DOM).

What I'm missing is where the *rest* of the state comes from. If all the information for the call is based on the HTML element attributes, how do you send data. Yes, it adds options for making HTML server requests, but they don't say *why* or *when* to use it. They do note HATEOAS as the foundational model, so my take is that it is "more event triggers" and declarative application of the result. That may have a lot of value for web devs. I can't say. But it strikes me as another case of pushing something (HTML and links) into an area it wasn't designed for. But I can also see cases for it. They don't have full examples that I see, but I can think of at least one specific model of UI where it might help.

Seems designed to work well with the author's other project: https://hyperscript.org/
Respectech
19:31I really, really don't want to have a web front-end for my back-office software, but I also need the interface to run on many different platforms, from tablets to phones to desktops (primarily Windows and Linux) to SBCs. Red isn't at the point to offer this in the near future, from what I can tell, so we're going to have to move forward with a web front-end on our rewrite. Our back-office software was developed in 2003 in R2/View and has gone through a number of revisions, with the latest major revision coming in 2014. I've been putting off the rewrite for a few years while giving Red a chance to mature more, but we can't put it off any longer. At this point, not rewriting it is costing us every day in lost productivity. That's the long way around to saying that tools such as htmx and hyperscript may be useful in our project.
gltewalt:matrix.org
20:00Worth it for me to use
greggirwin
20:01:+1:
gltewalt:matrix.org
20:04Did you look at Beads? I think it's supposed to be cross platform.
Or maybe it worked in the browser, I dont remember which... I'll look for it
greggirwin
20:06I have looked at it, yes. The author and I hang out in some of the same channels, and he monitors the main Red channels here.
gltewalt:matrix.org
20:07I meant has @Respectech looked at it.

http://beadslang.org/the-beads-project
hiiamboris
20:12Beads site simple as it is, is a battery killer - loads CPU to 100%. Unlikely the best choice.
greggirwin
20:30Edward DeJong could also say whether it's production ready, if your business's life depends on it.
Respectech
20:58@gltewalt:matrix.org Thanks! I've heard of Beads, but I've never looked into it. It is now on my list of things to investigate.
GiuseppeChillemi
22:26@Respectech I have stopped my projects too because Grid View, DB, and Connectivity are a very high priority to me. While Ports are coming and I can use SQL Server with Munge, Grid View is a major issue. But as I want to be a man of solution and not a man of complaints, I can say the following:
1) I can replace Android Tablet with Windows ones. I have already purchased many second hand Dell Venue where Red GUI is fully working and can do most of the work.
2) I can use SQL Server with ODBC, yes, it is not open source but you can purchase a full working old version for few bucks and use Munge and ODBC. Then we could wait for MySQL: @rebolek is keeping a secret which is now no more a secret because you are leaving and it is an emergency situation: he has already made some experiments with a conncter for this DB engine. He has a great experience as he has created Redis interface and his secure Red server has good progress. Also Ports will be released in december/january.
3) Grid view: last year nothing was created but now @hiiamboris has a made a great work with RedSpaces, a project created to develop Red native styles using Draw. Also a Pinky demo thas shows a draw based Grid
So, it is not 2019 anymore, we are in 2021 and 65% of work has been done, we miss the remaining 35%.
I think the experience of creating new back-office software for your company, could give Red a boost towards the completion of those parts. I suppose you could recuperate the momentary productivity loss in the future, where you could benefit from all the past experience you on Rebol in Red (which is 98% Rebol), and all the skill your company has. I think Red, represented here by @greggirwin will keep great attention to this situation as the needings of companies like yours are the winds a software company should ride to reach top levels.
So, apart from those mentioned, which features are you missing in Red?
22:27(Note, I have reissued the message because a modification has left a grammar error on the first line and I have felt ashamed looking at it ;-) )
Respectech
22:58I'm sorry if I sounded like I was abandoning Red. That is not the case. I just have to find a different front-end as I cannot require all my employees to carry Windows tablets around with them. However, they all already have Android phones with them at all times.

I already have a solution for Red and MySQL: That is, to use R3 as the MySQL intermediary and communicate with Red. I was going to have a MySQL intermediary anyway as I wanted robust logging and custom clustering capabilities.

What I am missing at this point is the ability to compile Red with GUI for different OSes on different architectures, which is why I believe a browser is perhaps the only good solution. A recent implementation of our back-office software was done in 2014 using R3 as the server side and browser as the front-end, so it isn't much different than that.
GiuseppeChillemi
23:36I understand the Android requirement, they have to work light, carry very low weight with one device that could be their own one. But Android is not an abandoned project but the opposite and there could be a surprise, keep the faith.. @greggirwin?
zentrog:matrix.org
23:41There was [an episode on the Changelog podcast about HTMX](https://changelog.com/jsparty/171)

BaronRK
02:52I had hoped to give my talk on Flutter before end of year, still might.
But, that is what (after a LOT of research) we decided on.
GiuseppeChillemi
06:23@BaronRK I am always waiting for your talk but actually I am looking at internet for a low code solution for some needs.
06:23Do you know any?
pekr
06:31I remember Carl once telling me something like - why ppl did not swith to R3 already, it is internally so much better than R2. My answer was easy - ppl wanted their DB schemes, shell acces, easy library access, nice console, etc. So in fast, R3 was far from being on-par with R2 and provided ppl with little incentive to switch over.

I can see similar scheme with Red, and no, it is not a complaint, just an observatin. We can see ppl here or ther asking for 64 bit, IO and grid-view. Accelerated GUI might be nice, but if ppl are missing a grid view to display a columnar data, then it might be problematic to most. Remember - only a skilled person can write a grid-view, but it could be used by many. And yes, I can imagine (well, maybe I even can't), how hard work it might be to get to 64 bit.

So - I think above 3 priorities might not be far from top3 community wishes. Pity it does not seem to align with the Red Team priorities, or so it seems without me actually having access to any Red Team internals. Once again - it is an observation, not a complaint.
07:57@Respectech, @GiuseppeChillemi I wonder, if SQL servery like MS SQL, mySQL have a command line tool too? I do remember one of the R2 SQLite drivers, called something like "a poor man's driver", which basically called a sqlite.exe and parsed out the result using call. I think, while not being ideal, it still could kind of work. Because, and in my opinion - the exchange interface is not going to be a bottleneck. Most of the heavy lifting is going to be done on SQL server side anyway.
07:59As for the frontend, we would need either the VID-2-x converter, or full WASM Red release, but I am not sure how/if WASM is ever used in an online world effectively and supported by a mobile browsers?
GiuseppeChillemi
08:14@pekr Munge uses SQLCMD and it does to SQL Server what "ppor man's driver" does to sqlite.exe, so yes, it could be a solution.
Oldes
08:18I have done [r3/sqlite](https://github.com/Siskin-framework/Rebol-SQLite) a few days ago. It even supports preprepared statements so it should be very effective.
GiuseppeChillemi
08:18@Oldes Great work Oldes!
Oldes
08:27But almost same I've done for Red years ago.
planetsizecpu
08:41Well done @Oldes
09:13What I really will love would be a native DB dialect, giving the fact that Red is a dialect power it seems the next logical step, I recall some word from @greggirwin on that direction.

Just as an one minute example of what I mean:
needs 'dbconn
.
db: DB_conn/mysql ["orders" "passwd" 3306]
if none? db [alert "DB Error" quit]
.
result_set: []
append result_set db/select [cus_name, cus_last_name from "customers" where cus_last_name like "Smith"]
either empty? result_set [
	print "No records"
][
	print result_set
]

That kind of close control is what, IMHO, makes programming DB simple and enjoyable, and avoids bloating scripts.
hiiamboris
09:21I personally don't view SQL syntax as simple.
09:21Imagine instead of paths in Red you used SQL queries. For everything.
Oldes
09:38@planetsizecpu writing own SQL syntax in a nonsense... you are just reinventing a wheel. I think that better is to use the mentioned preprepared statements... it could be used with my extension like:
;- prepare resusable sql statement for getting list of customers...
customers-with-last-name!: prepare db "SELECT cus_name, cus_last_name FROM customers WHERE cus_last_name LIKE ?"
;-- use it in custom function...
all-customers-with-last-name: func[name [string!]][
	; step collects all rows if not specified limit
	step/with db customers-with-last-name! reduce [name]
	; I should probably allow single value and not require `reduce` above
]

; list all customers with the last name Smith
probe all-customers-with-last-name "Smith"
; or who has last name starting with S
probe all-customers-with-last-name "S%"
09:40The advantage is, that SQLite parses the SQL statement only once and then just bind values where they are needed.
09:43It's a little bit like procedures in PostgreSQL -> https://www.postgresql.org/docs/11/sql-createprocedure.html
09:48Anyway... there is a plenty of room for improvements... it was just an initial try... like the one for [Red](https://github.com/red/code/tree/master/Library/SQLite)
planetsizecpu
09:59@oldes I don't mean re-writing SQL syntax on Red, but mapping the existing on the target DB and exposing it to user as Red
func/refinements just as View uses with native OS widgets. I think I can't explain well my self, I had a lot of years of writing apps on obsolete indexed files, where we had control on individual rows
so you wrote your software with near control of data, I mean directly exposed the column names to the lang, so I carry on this need and anything else seems less manageable to me 😅
Oldes
10:03Hm... I don't understand, what you mean. I think that my way is much more safe and manageable. When database is changed internally, you don't need to rewrite everything, because in the upper level you are supposed to be using just functions like: all-customers-with-last-name
10:04Problem with SQL is, that is tends to be quite complicated very quickly. (the queries are not just a single _select_ in the real life)
planetsizecpu
10:44I mean some kind of internal parsing to pass/retrieve the select/update... blocks contents to the SQL engine in the correct form, just to manage the engine with Red blocks/words not with SQL. Maybe it is a syntactic entanglement, so my apologies if I'm messing up the forum flow 😞
toomasv
11:011.5 years ago I experimented with @Oldes SQLite binding: [demo1](https://toomasv.red/images/DB/DB.gif), [demo2](https://toomasv.red/images/DB/demo1.gif), [demo3](https://toomasv.red/images/DB/db-admin.gif).
planetsizecpu
11:23Looks working fine, well done @toomasv 😃 I myself did some tests with R2 and @dockimbel mysql-protocol down in 2012, when working as programmer on big mart company, and they worked very well IIRC, but sadly I did'n preserve any doc about it. The company bankrupted in 2014 and the buildings where sold with all the remaining equipment inside, the main branch building where shot down and now it is a Kia car distribuitor big building on place. 😬
BaronRK
12:54@pekr agreed, esp grid view.

I can't believe we are all talking about widgets still (30+ years)

It is clear what all the small widgets are (radio, checkbox, etc.) and yet these are still amorphous, and still missing things:

- Still want a standard Rotate button (like Amiga). This is even more useful with mobile touch interfaces. I want to tap, and go to next option all the time all over the place.

- 2D menus, why are vertical single lists inside small windows that require scroll bars even legal?

- Filter list - no LIST should ever be presented without a filter (search even) at the top. Gmail still does not offer this when selecting a Label, you are forced to scroll down through hundreds of words. INSANE.

Moving up to a higher level:

- Grid view, or simley a dynamic Table: columns that can be sorted, grabbed vertically or horizontally, exported to CSV, printed, by default.

- List to List boxes

- File management

etc.

We all use the same stuff over and over again, and yet everyone has to roll their own. INSANE.

/Rant
pekr
14:52Wonder if we could start building some simple grid using a Picosheet code?
greggirwin
18:47@planetsizecpu my two plans in this direction are:

1) Keeping the FLWOR model in mind when designing HOFs and the markup codec. C# calls it LINQ (Language Integrated Query). I don't see it being standard, but an optional module.

2) A simple native record manager. Not a full blown DB, but the core of one. Just the data, indexes for speed, and a small and simple ISAM-like API. I have done some tinkering on this. This is something that could be optional, but I think it's worth making standard. One reason being that we can create APIs that work either against local or remote datastores, as well as syncing entire datasets or subsets of them.

I also think there is value in having a dead simple SQLite option for those who want it.
BaronRK
19:12This gets to the heart of it:

- One might ink of a DBs scheme and usage pattern as a goal. NEVER CONFUSE GOALS AND TASKS.
- When you start, there are lots of changes. But the system lets you do that. EASY TO PROTOTYPE,
- Over time things calm down, and the system helps you by reworking how things are stored, building key index lists, etc. IT CONSTANTLY FIXES ITSELF.
-
greggirwin
19:22By being able to hook functions, back to instrumentation here, you can add higher level tools that track calls (HOFs and aggregates used here), notice what fields are queried or iterated over the most, and dynamically modify the rules so new indexes are added.

Schemas can be supported at a higher level as well. There are always tradeoffs. We can use blocks/maps/objects as the store elements, and do everything dynamically. It's less efficient, but is *great* for simplicity and data longevity.
19:31@BaronRK totally agreed that every list should be filterable.
planetsizecpu
20:49Thanks for the insigths Gregg, a ISAM record manager is a great tool, same as SQLite. My thoughts where in the big data direction, concurrent access, etc. We would need tools to figure on that picture IMO.

GiuseppeChillemi
10:28From Altme/Rebol4/Humor: https://habr.com/ru/post/585096/
10:29A virus written on Rebol?
Oldes
11:39I don't think it is humor. It is one of reasons for these false positives.
hiiamboris
11:42Fun. They actually sent whole R2 binary together with their script ;)

Respectech
00:47As soon as Red runs on ARM Linux, we can create a Red-based router: https://ameridroid.com/products/banana-pi-r64
rebolek
06:10@Respectech Red runs on ARM Linux just fine (if you have the right CPU, but most are fine). I tested in on multiple rPIs and on Turris Omnia and Turris Mox (with varying results).
pekr
06:23I would never use anything apart from Mikrotik. That is just night and day to whatever that exists on this planet :-)
06:23But I think, that with the open-source community, OpenWRT will just win ....
rebolek
07:31OpenWRT is really nice.
07:32And Red runs on it :-)
Respectech
15:41@pekr I've heard of Mikrotik, but I don't know much about it. What makes it so much better than OpenWRT?
pekr
15:48Difficult to explain, when I know about OpenWRT just from screenshots. For me, it is a complete ecosystem. I can upgrade devices from ROS 2.x to the newest 6.x. All devices, including switches, use one system. Winbox console, mobile management apps, scriptable, you can see each packet going thru rules, so you actually know, if it works, or not. But also - MT is behind in wi-fi area, no wi-fi6 support yet, etc. I can configure home device the same way as a corporate CCR router, which we use for the 700+ of our wi-fi clients.

OTOH some ppl find the Winbox interface being complicated. So for the home users, there are Tenda, Dlink, Tplink cheapo devices, easy settable as a mesh. Some ppl prefer Ubiquiti radios, because nice apple like management interface. Depends upon what you really need.
Respectech
15:57That sounds good. From what I understand about OpenWRT, it uses the same interface across devices and is also upgradable. I'm not sure how granular the packet filtering is on OpenWRT.
pekr
16:00It's free product, and definitely one of the better ones. MT is a commerical product, though fairly priced. E.g. there is no obligation to pay fees like with Cisco / Fortigate / Aruba level stuff, to get new versions ....

GiuseppeChillemi
10:43When Red enterns too much in your life: today I have in mind the U2 song "Where the streets have no name" and, thinking about Red I am singing it "where the funcs have no name..."
gurzgri
13:37@GiuseppeChillemi When singing this, better skip the "Our love turns to Rust" part ...
GiuseppeChillemi
14:26I didn't remember that part, thank you! I will avoid turning to Rust, especially now that I am mature enough on Red.
gltewalt
19:29If you have to journey to low-level land, and red/system wont do, Rust has it going on as far as docs, and things just working as you set up your environment and follow the docs. And their website is tremendous
GiuseppeChillemi
20:46@gltewalt What you mean for "tremendous"? Tremendous good or bad?
gltewalt:matrix.org
21:42Good

hiiamboris
13:06We have #5000-th bug now :fireworks:
gltewalt:matrix.org
16:28Fix them
hiiamboris
16:29I don't often get lucky merges :)
gltewalt:matrix.org
17:04What is a lucky merge?
hiiamboris
17:19It's when PR finds it's way into master :)
gltewalt:matrix.org
19:01Get permissions to merge your own PRs 😆
hiiamboris
GiuseppeChillemi
19:25@hiiamboris 5001!
pekr
19:26You don't want your stuff to be merged into 2 years old version anyway, no? :-)
ne1uno
19:29master is not old, stable is
pekr
19:31that's irrelevant for most outer world. Release schema should be imo definitely changed. It hurts the project imo.
ne1uno
19:31it looks from the outside like bug fixes are merged into the branches as they are worked on
19:33a simple note on the download page would assure people the latest is ci tested and ok to use
planetsizecpu
20:58Let's see what will come on the santa's bag 😀

loziniak
22:20GitHub down. Waiting for Forgefriends :-) https://forgefriends.org/

GiuseppeChillemi
13:467 users not receiving mail from saturday, then you discover Exchange server is low of memory (16GB) and disk space (120GB). It had to mangage 100 incoming messages, about 100kb total...
hiiamboris
13:49:D :D

zentrog:matrix.org
00:49If anyone is doing Advent of Code, I made a little helper script for downloading the problem inputs, which might be useful: https://github.com/dander/advent-of-code
gltewalt
04:59Should brew up reactive docs. Master gets changed, slaves (wiki, help system, official doc pages) get changed.
05:00Some AI voidoo that scans wiki and help system for the topic that youre changing info on
gltewalt:matrix.org
05:04Voodoo
greggirwin
06:04Thanks @zentrog:matrix.org !

@gltewalt:matrix.org indeed, minus the void error. :^)

gltewalt
04:36I cant for the life of me get pinephone to boot / load another distro via SD card...
04:37Hardware-ish things aren't my favorite
Respectech
16:37@gltewalt Where are you downloading the distros from? Also, what tools are you using (hardware and software) to write the microSD cards? Some off-brands of microSD cards are also not very compatible. I've had no trouble booting my Pinephone off microSD on multiple distros. Here's what I use:
16:46- balenaEtcher (software) on Linux Mint
- microSD Writer: https://ameridroid.com/products/transcend-usb3-0-microsd-adapter
- microSD cards we use: https://ameridroid.com/products/16gb-microsd-uhs-1-u-linux
- Downloaded images from https://wiki.pine64.org/index.php?title=PinePhone_Software_Releases
- One of our general videos on writing media: https://ameridroid.com/blogs/ameriblogs/how-to-emmc-and-microsd-card-writing
16:47There is also a chance that the microSD slot in the Pinephone is damaged and not reading the microSD card.
gltewalt:matrix.org
16:59It reads because I get the mobian splash screen, then nothing.
Used dd and bmaptools
17:02Distro from pinephone software releases
Respectech
17:07How long did you wait after the mobian splash screen? The first boot can take quite a while because it has to initialize partitions, etc.
gltewalt:matrix.org
17:12Couple hours
Respectech
17:25OK, well that was a long time. There's probably something going on. Have you tried a different microSD card?
17:26Maybe you can also try writing it with balenaEtcher.
17:26Just in case something strange is happening.
gltewalt:matrix.org
17:38I only have the one card, but I'll give balenaEtcher a try
Respectech
17:56It could definitely be the card. They do tend to wear out, and some off-brands actually come with issues that might not be detected until that portion of the microSD is accessed.
greggirwin
18:01Let me know if you want me to get you a couple more cards @gltewalt:matrix.org.
Respectech
18:37@gltewalt:matrix.org I'll send some to you pro-bono. Just DM me your address.
hiiamboris
18:43what cards would you recommend for longevity?
Respectech
22:31Most of the cards that are intended for longevity are labeled "High Endurance" or something similar to that. Stay away from the generic or no-name brands as those are often problematic.
hiiamboris
23:05> are labeled "High Endurance"

hmm never seen this label :)

gltewalt:matrix.org
00:21I need more software / software project work again... this current non tech job is killing my mental health
GiuseppeChillemi
17:03Why are you on a non tech job?
gltewalt:matrix.org
17:09I suffered burnout, so I decided to do something totally different for awhile. And it was fine up until the past 6 months
17:09Too much negative interaction with people
22:44javascript is 26 years old today
ne1uno
22:44netscape?
gltewalt:matrix.org

GiuseppeChillemi
00:58@gltewalt:matrix.org If you will restart on software coding, be gentle with yourself and start slow and doing only thinks which let you have fun.
planetsizecpu
07:46I still using Netscape at work 😆
GiuseppeChillemi
10:38rebol.org is down on server side. Could someone please inform Carl?
PeterWAWood
22:28Something for the Amiga Heads around here - https://www.youtube.com/watch?v=KLJk8fTjQLw

GiuseppeChillemi
01:15Amiga is hard to die and at the moment, I am 100% sure it will never die.
Respectech
19:41Cool!
rebolek
21:31It will never die but it will never return also. It’s been a great machine, the best computer ever, and didn’t deserve such fate. It’s so sad story.

BaronRK
02:46PiMiga........................... LOL

What I want (literally right now) is a 'simple' way to plug a thumbdrive into an existing Amiga and treat it like a harddrive.

By 'Simple' I mean: just plug it into an existing port. Best would be the D23 Drive port, so it just thinks it is a big drive. Thus, in theory, no software needed.

The PAR port on the Amiga was bidrectional, and could do impressive speed if I recall.

It is strange to me this is not a common device.


rebolek
07:25It’s probably beacuse of the port’s speed.
Respectech
18:22An inexpensive adapter should be able to be created. I know someone made a SD card reader for the C64's floppy drive port.
18:23A USB reader should be very similar to that.
rebolek
18:56CF/SD card readers are usually made for (in the case of A1200/A600) the internal IDE port, so you can use them for booting, unlike parallel port.
BaronRK
19:01I have seen a dozen 'hacks' of USB Keyboards, Mice, SATA, CF cards, etc. to Amiga. They scare me!
LOL
It also speaks to the failure of standards to solve this long standing problem.
We need a way that survives into the future.
Epson did this with their printers.
There is (was?) a MODE you can ask of an Espson that is basically: Take this DUMP of B&W data and shove it into your internal buffer and print it.
You just needed to know the Width and Height as I recall.
This meant you did NOT need an actual print driver to print to the Epson.
Just send raw data out to the PAR (or SER) port and it would just do the expected thing with it.
That is the closest I recall of any real world example of solving such a problem.
planetsizecpu
20:22They are very well designed @BaronRK I had some models at work for ticketing, they can store images on nvram, so you setup the printers at office and then deploy the devices. They print stored images with only an ESC sequence, easy and fast. I loved this machines a lot as they rarely fail.
BaronRK
21:41Agreed!

gltewalt:matrix.org
02:35I swear there was talk somewhere about find/reverse/last. Now I don't see it anywhere
planetsizecpu
07:55It may be a mistake of mine, but I have never seen this before
? system/tools
SYSTEM/TOOLS is an object! with the following words and values:
     fun-stk        block!        length: 0  []
     expr-stk       block!        length: 0  []
     watching       block!        length: 0  []
     profiling      block!        length: 0  []
     indent         integer!      0
     hist-length    none!         none
     options        object!       [debug trace profile]
     calc-max       function!     [used [integer!] return: [integer!]]
     show-context   function!     [ctx [function! object!] /local w out]
     show-parents   function!     [event [word!] /local list w pos]
     show-stack     function!     [/local indent frame]
     show-watching  function!     [/local w out]
     do-command     function!     [event [word!] /local cmd mode? list w]
     debugger       function!     [event [word!] code [block! paren! none!] offset [integer!] value [any-type!] ref [any-type!] frame [pair!] /local out pos ...
     dumper         function!     [event [word!] code [block! paren! none!] offset [integer!] value [any-type!] ref [any-type!] frame [pair!]]
     tracer         function!     [event [word!] code [block! paren! none!] offset [integer!] value [any-type!] ref [any-type!] frame [pair!] /local out]
     profiler       function!     [event [word!] code [block! paren! none!] offset [integer!] value [any-type!] ref [any-type!] frame [pair!] /local anon tim...
     do-handler     function!     [code [any-type!] handler [function!]]
07:55It seems new stuff, no?
07:56fun-stk ? 😄 Fun!
hiiamboris
08:04instrumentation was merged recently, but not blogged yet
planetsizecpu
08:07Ah, I tested system/tools/show-context ... and is smoother than ? ... useful.
08:10Oh wait, look that:
>> about
Red 0.6.4 for Windows built 8-Dec-2021/9:00:14+01:00  commit #07516c4
>> 
>> ? cave
*** Internal Error: not enough memory
*** Where: mold
*** Stack: ? help-string form-value

Never seen before, last commits I was able to do that.
hiiamboris
08:36@greggirwin should know better
planetsizecpu
08:40I must note that cave is a large face object with a lot of other faces at his pane so I may consider normal not been able to display data.
hiiamboris
08:57https://github.com/red/red/issues/4118 ?
planetsizecpu
09:03It seems. Thx @hiiamboris
Oldes
19:19https://frsecure.com/blog/the-rebol-yell-new-rebol-exploit/
greggirwin
19:38I had a crude patch for the help/probe issue, but stashed it when more chat took place and I wasn't sure it would be acceptable.
Respectech
20:23@Oldes That's a very interesting article. Thanks for sending that. I've always thought Rebol would excel at that - the downside is the fallout that it will cause for the rest of us who still use Rebol.
pekr
23:04It will realistically cause .... just nothing.

Respectech
00:32I hope so.
gltewalt:matrix.org
00:36Didn't have time to "read" through yet, just skim, but seemed like an excel macro problem
Respectech
00:40Yes, Windows security problem.
gltewalt:matrix.org
02:48@greggirwin: can we get Linux ARM builds through the download page?
gltewalt
06:26Should we have greatest common divisor? Many languages have it as part of their standard library, or prelude.
06:26
gcd: routine [
    a [integer!]
    b [integer!]
    return:  [integer!]
    /local t [integer!]
][
    while [b <> 0][
        t: b 
        b: a % b 
        a: t
    ]
    a
]
gltewalt:matrix.org
06:33Rebol example

https://rosettacode.org/wiki/Greatest_common_divisor#REBOL
greggirwin
18:42Is it widely used? I have an old one, but think I may only have used it when doing Project Euler.
18:43When we update our release process, we can look at adding other binaries to download.
gltewalt:matrix.org
18:54I don't think it is widely used, but even so, most of the most popular languages have it built in.
18:59As for the binary, if we want to facilitate seeing Red running on Linux based devices (like pinephone), a download would make it more practical. Currently you'd have to compile Red from source on a computer and then transfer it to the device. Every time.
greggirwin
19:01Understood on binaries. On features, other languages have a lot of things we may not include as standard.
gltewalt:matrix.org
19:02Sure, but it's easy to add
greggirwin
19:04So are a lot of other things. :^)
gltewalt:matrix.org
19:13https://youtu.be/UVUjnzpQKUo?t=107
19:14Are the binaries constructed by shell script for the download page?
Respectech
22:35@greggirwin I agree that it would be great to have a Linux/ARM version of Red on the Red Downloads page.

GiuseppeChillemi
06:28Notepad+ gets malaware
06:28https://www.bleepingcomputer.com/news/security/malicious-notepad-plus-plus-installers-push-strongpity-malware/
planetsizecpu
07:48Thx @GiuseppeChillemi I'll check my computer asap
dsunanda
10:01 It's been fun over the past 30 years watching Dos/Windows and hackers growing up together. Dos/Windows was so defenceless at the start that any trivial attack gained the novice hackers some reward. That enabled and encouraged the hackers to keep playing as the rounds got harder.
Makes me nostalgic for my mainframe days - where that feedback-loop game was simply not allowed to get started:
https://www.cvedetails.com/product/16924/IBM-Z-os.html?vendor_id=14
greggirwin
22:34@dsunanda indeed. vulnerabilities (0).

gltewalt:matrix.org
01:58How do you comfort a javascript bug?
You console it.
greggirwin
02:18Baaaaad. :^)
GiuseppeChillemi

Moppy_gitlab
06:32I can't believe the Rebol guy works for Roku now. Roku is for people too cheap to buy a smart tv.
gltewalt:matrix.org
15:02Those systems in smart tvs are generally licensed from amazon, androidtv, or Roku
XANOZOID
21:03[![image.png](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/SwUV/thumb/image.png)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/SwUV/image.png)
21:03Looks like Red is in superposition on Github 😆
21:03Take that ,quantum programming languages
hiiamboris
21:18no, one of the buttons is GH Actions, another AppVeyor

Moppy_gitlab
21:12What do you think about small talk/pharo? It's also unique in that it treats code and data in the same way.

greggirwin
01:02I have great respect for Smalltalk, though never have used it for production work.
gltewalt:matrix.org
05:28Didn't like most of the style.
05:29Method names like..
drawFromX:fromY:toX:toY
05:35I know the deal is we aren't supposed to fuss over syntax, or style, but I do.
Moppy_gitlab
05:40syntax is important
05:40anything any language does could be written in assembly given enough time
gltewalt:matrix.org
06:10I tinkered with it for a few days, more than once, but I couldn't get into it.
Appreciate the ideas and philosophy, though
GalenIvanov
07:41I like Smalltalk, although I only scratched the surface of Pharo. Yes, keyword messages are verbose, but informative :)
It's not only the language but the entire system that matters - System Browser, Playground, Spotter, Finder and so on.
I keep a printout of the Pharo CheatSheet on my desk to remind me that I need to dig into it.
planetsizecpu
11:27Pure OO programming mean mandatory working with objects. I'd rather prefer more flexible programming, because sometimes the object paradigm is not suitable, if you use it then you have to solve two problems, the one that the work poses and the one of adapting it to the objects paradigm. That's one of the reasons I like Red, you can choose.
Moppy_gitlab
21:33@planetsizecpu is there any downside to pure homoiconicity?
hiiamboris
21:39Downside is trickier code patterns are almost impossible to analyze or compile. You don't even generally know what's meant to be code and what's meant to remain just data.
21:40What empowers coders, limits the tooling.
Moppy_gitlab
21:40Does Red have that problem?
21:40the square brackets seem to make things fairly obvious what's what
hiiamboris
21:52Answering that is a good exercise for you :)

planetsizecpu
07:16I don't believe there is any downside @Moppy_gitlab, I think that for certain problems there is a more suitable paradigm than another, which saves coding man hours, having a choice is a breakthrough at work.
GaryMiller
17:08Heard of a new linker that is much faster with ability to create executables with smaller binary size than the ones traditionally used called Mold. Would be nice when they rewrite the compiler as 64 bit if they could link with it.
https://www.phoronix.net/image.php?id=2021&image=mold_10_performance
greggirwin
20:14Thanks @GaryMiller. Interesting.

GaryMiller
02:24They are currently working on mold for macOS, and once it's complete, they'll release it as mold 2.0. After that, we'll work on mold for Windows and release it as 3.0."

gltewalt:matrix.org
17:56Poor kitty

"Cat thrown, stack stays afloat"
hiiamboris
18:13the drama you get by poking around issues

BaronRK
21:59Happy end of 2021 to all of you (and good riddance)
Looking forward to MMXXII

[total side story. I'm sure many here that speak multiple languages, or interact with more than one culture, can relate.

When we had a brick and mortar, we had a Pun of the Day award. To acquire this award (have it on your desk, since it could be won by someone else later) you had to use a pun in such a way that someone noticed it, and also, someone did NOT notice it. This cut down on the number of puns, and, improved the quality of them. I've always enjoyed this concept of duality. As I lived in many places, including UK, US, AU, and NZ, I've always enjoyed the rare times when I can say something in English that hold no meaning to one person, but a great deal of meaning to another. And so it was, that one day on a hike in the US one of our group invited their professor to join us. They wanted us to meet. He turned out to be of the pompous Cambridge genus, and so, accordingly, I would pepper my replies to him with subtle British colloquialisms and turns of phrase that all who heard me would not register for what it was, as I also would say it in a tone not matched to it's usual usage, but that he heard loud and clear. Yes, I was being an ahole. But he started it (the British always start it). At the very end, as we were all leaving, and people were saying their goodbyes, I added my goodbyes, with smiles, and waves, 'and good riddance' - to which the look on his face was quite priceless. He did not return for future hikes. Hey, we all need hobbies]

greggirwin
22:43
<Bad to the Bone guitar riff begins>

In the day of stores mortared
The geeks went for a hike
'long came a profess-or
I wasn't sure that I liked
It was clear he's from Cambridge
From his twaddle and pomp
When I said it I meant it
As we took our last clomp

Glad to be gone
Glad to be gone
G-G-G-G-G-Glad
G-G-G-G-G-Glad
G-G-G-G-G-Glad
Glad to be gone

planetsizecpu
08:31Best wishes for the new year to all the reducers and much encouragement for the Red Team, hope 2022 sees 1.0 running 😃
gltewalt
23:12https://gist.github.com/gltewalt/8ca42ea295a66b04c835bf984b86f511

Is that ok for Ceasar Cipher?
ldci
23:19@gltewalt Nice
gltewalt:matrix.org
23:23I know there are multiple ways to go about it, and don't want to add something to Rosetta Code that isn't flattering
greggirwin
23:25:+1: We can always update RC. Something is better than nothing...*almost* all the time.
gltewalt:matrix.org
23:29Unless it's unflattering😄
23:32Maybe encipher and decipher instead of the crypts

gltewalt:matrix.org
03:20 Hmm, I see it needs to be only A through Z, and I'm not sure how to do that off the top of me head
ne1uno
03:32modulo 26?
03:33it's like rot13 with any key
greggirwin
03:33You could do it with parse, using a charset. Or maybe @ne1uno is on track and I don't understand the problem. Do you only need to mod A-Z, or produce results that contain *only* A-Z?
gltewalt:matrix.org
04:08Results that only contain a-z
04:10I think it would be more like "index of letter in the alphabet + key - 26" or mod 26.
Have to try it
gltewalt
04:22
The key is an integer from 1 to 25.

This cipher rotates (either towards left or right) the letters of the alphabet (A to Z).

The encoding replaces each letter with the 1st to 25th next letter in the alphabet (wrapping Z to A).
So key 2 encrypts "HI" to "JK", but key 20 encrypts "HI" to "BC".

ne1uno
04:50key: modulo absolute key 26
gltewalt
06:45it would be something like + key - 26 if key > 26
gltewalt:matrix.org
06:50Err... index of <character> in <alphabet> + key - 26 if key > 26
gltewalt
08:19Back on the lappy
08:22Have to think about decipher
08:33Nope, that still gives characters that aren't a through z. Oh well, maybe in the morning
GalenIvanov
09:48@gltewalt Here's my attempt, a bit verbose:
09:48
rot: func [
    char [char!]
    key  [number!]
    ofs  [char!]
][ 
    to-char key + char - ofs // 26 + ofs
]

caesar: function [
    src [string!]
	key [integer!]
][
    lower: charset [#"a" - #"z"]
	upper: charset [#"A" - #"Z"]
	parse src [ 
	    any [ 
		    change s: [lower (o: #"a") | upper (o: #"A")] (rot s/1 key o)
		  | skip
	    ]
	]
	src
]

encrypt: :caesar
decrypt: func spec-of :caesar [caesar src negate key]

print encrypt "Ceasar Cipher" 4
print decrypt "Giewev Gmtliv" 4
09:48
Giewev Gmtliv
Ceasar Cipher
>>
gltewalt
10:56cheating a bit:
s: "abcdefghijklmnopqrstuvwxyz"

encipher: func [txt [string!] key [integer!] /local temp][ 
    temp: copy ""
    foreach i trim/all txt [append temp s/((index? find s i) + key % 26)]
]
GalenIvanov
11:29:+1:
hiiamboris
11:45
caesar: function [s k] [
	a: charset [#"a" - #"z" #"A" - #"Z"]
	forall s [if find a s/1 [s/1: (x: s/1 % 32) + 25 + k % 26 + 1 + (s/1 - x)]] s
]
11:45
>> caesar "Abc Zyx" 25
== "Zab Yxw"
>> caesar caesar "Abc Zyx" 25 -25   ;) round trips
== "Abc Zyx"
GalenIvanov
11:58:+1:
hiiamboris
13:35Debugging case (educational):
buggy-caesar: function [s k] [
	a: charset [#"a" - #"z" #"A" - #"Z"]
	forall s [if find a s/1 [s/1: (x: s/1 % 32) + k + 25 % 26 + 1 + (s/1 - x)]] s
]

I find that this func fails in buggy-caesar "x" -25 scenario:
>> buggy-caesar "x" -25
*** Math Error: math or number overflow
*** Where: +
*** Stack: buggy-caesar

But that doesn't tell me much, does it? What exactly failed in that mess of expressions?

Turns out I can answer that:
>> trace/deep/all [buggy-caesar "x" -25]
      a: charset [#"a" - #"z" #"... => make bitset! #{00000000000000007...  
        a                           => make bitset! #{00000000000000007...  
          s                         => "x"                                  
        find a s/1                  => true                                 
              s                     => "x"                                  
            x: % s/1 32             => #"^X"                                
          k                         => -25                                  
          + (x: s/1 % 32) k         => make error! [code: 401 type: 'm...]  
*** Math Error: math or number overflow
*** Where: +
*** Stack: buggy-caesar

Okay! Now I see that (x: s/1 % 32) is #"^"X:
>> to 1 #"^X"
== 24

And I'm adding k = -25 to it, which overflows it before we reach + 25 part. So what if I put + 25 before + k?
>> trace/deep/all [caesar "x" -25]
      a: charset [#"a" - #"z" #"... => make bitset! #{00000000000000007...  
        a                           => make bitset! #{00000000000000007...  
          s                         => "x"                                  
        find a s/1                  => true                                 
              s                     => "x"                                  
            x: % s/1 32             => #"^X"                                
          + (x: s/1 % 32) 25        => #"1"                                 
          k                         => -25                                  
          + #"1" k                  => #"^X"                                
          % #"^X" 26                => #"^X"                                
          + #"^X" 1                 => #"^Y"                                
              s                     => "x"                                  
            x                       => #"^X"                                
            - s/1 x                 => #"`"                                 
          + #"^Y" (s/1 - x)         => #"y"                                 
            s                       => "x"                                  
        if true [s/1: (x: s/1 % ... => #"y"                                 
      forall [if find a s/1 [s/1... => #"y"                                 
      s                             => "y"                                  
    caesar "x" -25                  => "y"

It's fixed now yay!
gltewalt
19:37@GalenIvanov Yours is pretty nice. My route and boris route - starts to get dense to read.
19:38Boris, it's impressive but I'm just thinking of new readers
hiiamboris
19:45Yeah, it's more for golfing. Not very good for Rosetta.
19:45Though if you add labels before each sub-expression.. :)
gltewalt
20:39Seems like there should be a clean AND concise way.
greggirwin
20:50Nice trace @hiiamboris. :+1:
gltewalt:matrix.org
21:00[Screenshot_20211219-123514_SmartNews.jpg](https://gitter.ems.host/_matrix/media/v1/download/matrix.org/emezhgwVInjoOFawNuqrdwZp)
greggirwin
21:04Ah, the good old days.
21:05Come on 2038!

GalenIvanov
07:36@gltewalt Thanks :) I also tend to write golfy code, so I've put some efforts here not to...
planetsizecpu
07:38Ah Y2K38, I would be retired (I wonder if alive) but I hope to see it working. I would like to see the 128 bit computers age too.

I have once commented with my daughter (who studies maths and telematics degree) that she will surely be able to handle 256-bit computers in the distant future, as I had the chance with 8/16/32/64 bit machines 😏
pekr
08:00I am not sure it makes much sense to go beyond 64 bit world. Maybe CPUs will use some wliv principle (RISC-V) or we will see some leap in quantum computers area. Last week I have read an article about some quantom advancements, where the whole movie era would be stored in a storage the size of a sugar lump :-)
planetsizecpu
09:38Well I hope we can see those advances in stores. By now we already know that there are 256 and 512 bit wide bus graphics cards, so who knows. How about a 256 bit OS and Red 4.0 ? 😄
Respectech
15:45@pekr 1g of DNA should be able to store about 2 petabytes of data: https://www.jw.org/en/library/magazines/g201312/storage-capacity-of-dna/
15:46IBM also has recently made an advancement in chip design where they stack transistors vertically as well as horizontally. This is supposed to increase performance and reduce power consumption by a significant amount.
BaronRK
16:21One of my tenants is a chip engineer at Nvidia. He builds error correcting hardware from the inside out.

It is truly fascinating how chips are made now, on par with an entire aircraft carrier of thousands of engineers, and support staff. Truly amazing.
greggirwin
18:57> I am not sure it makes much sense to go beyond 64 bit world.

Someone else once said

> 640K should be enough for anyone.

Well, I don't know if he really said it, but I do remember him saying at a conference (this was the early 90s) was "I have 256M of RAM in my computer at work, but nothing can use it all." I think that's what we'll see in the future too.

For Red, and for hardware, I think it means more disparity and more types of systems. Imagine a "1 bit" IoT device. Just sensors that "set" it to an on/off state that can be accessed. 8-bit devices that do something similar, but the 8 bits are interpreted as 0-100% (using the last 27 for metadata). 32-bits is far more than enough for swarms of very capable agents.

Old systems sometimes had things like 11-bit words. The point being that things can be "right sized" as needed. If the smallest thing you can represent is 256 bits, every 1-bit value wastes 255 of them, and that's at the native level. HLLs, and things like Red datatypes will "waste" much more. (lots of quotes, I know) So we can get value *from* them, but pay in a different way. We are still deeply aware of bitness when we write code. Someone always has to be, but picture a day where you write some code, lay out metadata that says how much data it needs to handle and, given examples, how fast it has to process it. Fire up the constraint solver compiler, and it gives you a list of hardware options and their tradeoffs. From there, you select the target, it builds for that (ordering the hardware if it's an embedded system), and the fully automated system burns the chips and runs the tests you spec'd.

GalenIvanov
09:12[![Happy New Year 2022.gif](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/W7Jm/thumb/Happy-New-Year-2022.gif)](https://files.gitter.im/5aa6f8ced73408ce4f9110f7/W7Jm/Happy-New-Year-2022.gif)
toomasv
09:26Hou-hou-hou!! :clap:
hiiamboris
09:26Great :)
ldci
09:52Made with Red?
GalenIvanov
09:53Yes, in pure Red
ldci
09:59👍
GalenIvanov
10:07thanks!
PeterWAWood
10:12Wishing all a happy, healthy, safe and rewarding 2022. Hoping to be seeing more of Red next year.
pekr
10:27Very nice! :-)
GalenIvanov
10:41Thanks!
planetsizecpu
14:53Well done Galen 😃
GalenIvanov
15:12:+1:
gltewalt:matrix.org
18:14Great work
18:15I say present it to the red/red channel
greggirwin
20:15Woohoo! Beautiful @GalenIvanov ! Definitely post in red/red.
20:18@pekr, feel free to put that on our Facebook page.
20:19@GalenIvanov is the code for that in the repo?