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

rebolek
22:02Anarchy in the chit chat!
greggirwin
22:04It begins.
BeardPower
22:06https://www.youtube.com/watch?v=7SqC_m3yUDU
22:06Finally! :smile:

gltewalt
04:59https://youtu.be/vkg7M_SoP2g
9214
06:36I thought that's what /sandbox is for..?
rebolek
06:37Sandbox is ladies and gentlemen's club.
06:37Chit-chat is underground pub.
greggirwin
06:38Sandbox is for playing around, which generally means code at some point.
9214
10:23Can I submit one post to multiple subreddits at once?
rebolek
10:26IIRC not directly, but you can crosspost it later.
BeardPower
11:42@gltewalt :+1: And hey, Bob Ross :smile:
greggirwin
16:51@maximvl, et al, Reddit is a fine channel. People can and should work where they are most comfortable, and we will (with luck) have community leaders in all those channels.
16:55Also, my net connection is bad this morning, and Gitter is pretty much useless right now. -1 for Gitter.
gltewalt
19:18Probably should be a guru or near guru to field HN questions. And maybe reddit and quora
greggirwin
23:19Leaders in any channel can escalate requests if needed. It's the daily grind and filtering that's too much.

9214
12:01@BeardPower https://www.youtube.com/watch?v=NyiEaSzpdMk ;)
12:02this me after each new Red release, actually
BeardPower
12:05lol :+1:
12:07I think it's time to draw the "dancing russian man/men" with Draw ;-)
12:09Power-Fist!
9214
12:11@BeardPower purple hen!
BeardPower
12:11Power to the purple hen! And don't forget your ball-point pen :D
9214
18:21this is me*, duh, I'm a slowpoke at fixing typos

9214
13:53@BeardPower I found a [cure](https://www.youtube.com/watch?v=ykwqXuMPsoc) from Badgerware btw
BeardPower
13:57@9214 A perfect introduction to get ready for [the real stuff](https://www.youtube.com/watch?v=GUl9_5kK9ts).
9214
15:52@rebolek should we keep your pre- :beer: :bear: builds for the history?
15:52@BeardPower there's [extended version](https://www.youtube.com/watch?v=RykG4Zs8j6U) of Russian dancing men.
BeardPower
16:01@9214 Hehe. [Save the badger](https://www.youtube.com/watch?v=EllYgcWmcAY)
9214
16:12@BeardPower I'll stick to oldschool.
BeardPower
16:13@9214 Yep, sequels are never any good.
9214
16:53@rebolek btw, CSS styles for your old (pre 2018) and new posts don't match.
rebolek
16:57@9214 I don't think it's worth keeping them, it's just a question of checking out right commit and building it.
16:58The styles don't match, because I used different tools. Once, hopefully, I will rebuild it in Red.
9214
20:23@rebolek :horse_racing: [quite nice ride, I'd say](https://www.youtube.com/watch?v=Q1HphsuXecI)
BeardPower
20:27@9214 [Heyaa](https://www.youtube.com/watch?v=ZZ5LpwO-An4&list=PLfAO3lDPmGAiOkkxoJuauUcZKxcSWTTyy)
9214
20:28@BeardPower you're off by 9212
rebolek
20:28@9214 party time
BeardPower
20:30[![n00bsauce.jpg](https://files.gitter.im/red/chit-chat/SCN9/thumb/n00bsauce.jpg)](https://files.gitter.im/red/chit-chat/SCN9/n00bsauce.jpg)
20:30:D Sorry, I took to much from it :D
9214
20:30sometimes I dream about being a DJ :(
rebolek
20:31@9214 so do it
9214
20:31@rebolek the time is wrong
rebolek
20:31@9214 time is never wrong
9214
20:31I'm off by 20 years or something
rebolek
20:31there's always audience, even if small
BeardPower
20:32@9214 Never give up your dreams ;) https://www.youtube.com/watch?v=mIttwRjCga4
rebolek
20:34@9214 playing for 20 people is often more satisfying than playing for 2000 people, believe me
9214
20:34@BeardPower you reminded me of [Liza N'Eliaz](https://fr.wikipedia.org/wiki/Liza_%27N%27_Eliaz)
https://www.youtube.com/watch?v=5gLfw1cM4zc
BeardPower
20:35@9214 Why is that? There are situations, where I may have the same big eyes :grin:
9214
20:37@BeardPower I mean your talk about old DJ woman.
BeardPower
20:43Ah, now I get it :)
20:43Because you said "I would remind you of her" ;-)
20:45Damn, now I can't get "Russian dancing men" out of my head lol
9214
20:46@BeardPower would "you have reminded me of" be correct?
20:47I have troubles with English tenses :(
BeardPower
20:47What do you want to say? That this old DJ woman reminds you of Liza?
9214
BeardPower
20:47No worries.
20:47You would say something like this: This woman reminds me of <your video>.
rebolek
20:48I really want to see Russian DJing man with @9214 in der hauptrolle.
BeardPower
20:48What you said was, that I remind you of Liz :)
9214
20:48@BeardPower perhaps I meant "the video you posted above ..."
20:49it's almost 2am here :alien:
BeardPower
20:49@9214 Yes. I did understand what you meant :)
20:51No worries. I'm not a native speaker either, so it's relatively easy for me to decipher "imperfect" English ;-)
9214
20:51@rebolek I wan't to visit Maschinenfest one day, if I'll be more-or-less financially independent and won't die from sleep deprivation :)
BeardPower
20:52@rebolek The "RDM" would be a nice teaser for Red. Especially the first seconds: @dockimbel leading the masses of Redbolers :smile:
20:53Music and presentation would be perfect :smile:
rebolek
20:54@BeardPower I'm sorry, but I'm lost in TLAs. What 'RDM' do you mean exactly?
BeardPower
20:57@rebolek What is TLA again? ;-)
20:57RDM: Russian dancing men.
9214
21:02@BeardPower you'll be the purple hen ;)
rebolek
21:02@BeardPower Three Letter Acronym :)
BeardPower
21:02@rebolek Ahhhh, of course.
21:03@9214 Of course. Power to the purple hen :)
rebolek
21:04Of course I know some of them, TLA, CIA, KGB, STB and their friends.
9214
21:09now imagine RDM with gabber or hardcore techno :alien:
21:09and slight case of neckbeardness instead of mustaches
21:09that would be me
21:10moms scare their children with talks about such creature
BeardPower
21:11lol :D
21:11Red dancing men.
21:13@9214 Like this [Running scared](https://hochtirol.files.wordpress.com/2009/12/krampusse-brauchtum-in-tirol.jpg)
21:15The second one from the right, bottom row <- @9214 ;-)
9214
21:15@BeardPower launch RDM, pause it, mute it off, turn speed to 2x, then open [this](https://youtu.be/TGqlF9PX2MU?t=38) on 0:38, then try to play two videos synchronously.
BeardPower
21:15On a good day, of course.
9214
21:17@rebolek, you too. :point_up:
BeardPower
21:18@9214 Intimidating ;-) I think 2.5x-3x would be perfect
9214
21:21@BeardPower 3rd one from the right, bottom row - me at the John
BeardPower
21:23@9214 :) at the John? Is that some festival?
9214
21:24@BeardPower yeaaaaaah, kinda, [almost daily one](https://english.stackexchange.com/questions/41021/why-is-a-bathroom-sometimes-called-a-john)
BeardPower
21:25@9214 Ahhh lol I did not know that phrase :blush:
21:26We just call it "Think tank." ;-)
21:27Ah, it's also called Jack or Ajax.... these Americans.... ;-)
rebolek
21:29It's really getting hard for me to follow this discussion :(
BeardPower
21:30Why is that?
9214
21:30because he runs away from my photo above
BeardPower
21:31I hope that's not the reason.
rebolek
21:32actually, it were @9214 instructions
21:33I mean, it's a nice dialect launch RDM, pause it, mute it off, turn speed to 2x but not for me as human
9214
21:33but we're not humans
BeardPower
21:33The result is some techno style BDM.
9214
21:34we're Red/Rebol runtimes embedded in flesh :japanese_ogre:
rebolek
21:34Right, but I'm running on 70's hardware, so my clock speed is counted in kiloHertzs
BeardPower
21:34I need some Matrix like "Construct" to load all kind of things ;-)
9214
21:34Bugaboo Dancing Man?
BeardPower
21:35Yeah, they like to Boogie, according to the video.
21:36@rebolek The professors at the university used punch cards the time I was there ;-)
rebolek
21:37@BeardPower yeah, real men don't use assembler, but punching cards, I remember
BeardPower
21:38Well, that's where COBOL comes from :smile:
rebolek
BeardPower
21:40I remember doing all these Turing machine stuff... good old times ;-)
rebolek
21:42we had this incredible thing https://upload.wikimedia.org/wikipedia/commons/6/6b/IQ-151-1.jpg
9214
21:42how old are you guys? :sweat_smile:
BeardPower
21:43Wow, 2 Mhz! :)
rebolek
21:43it is probably the worst keyboard ever build
9214
21:4364 kb is enough for everyone
BeardPower
21:44Like these old typewriters... Always jamming when typing to fast...
rebolek
21:44@9214 since yesterday I'm 42
BeardPower
21:44Ballhead to the rescue!
9214
21:44@rebolek you had BD yesterday? :O
rebolek
21:44ja, ja, Albert und ich
BeardPower
21:45Wer ist Albert?
21:45Ah, Einstein :D
rebolek
BeardPower
21:45Congrats!
rebolek
21:45thanks :)
BeardPower
21:45I'm "only" 40 ;-)
9214
21:46> Einstein

that explains everything
rebolek
21:46Now I know the answer to universe, life and everything
BeardPower
21:46We need some RED Tokens for some party :)
21:47Have to wait 2 years until enlightenment.
9214
21:47@BeardPower imagine that it'll coincide with Red 1.0 release ;)
rebolek
21:47@BeardPower Or read a book about it
9214
21:48on Mill
rebolek
21:48@9214 :smile:
BeardPower
21:48@9214 :clap:
21:48That would be some party :smile:
21:49Well, the Red foundation would be able to buy the Mill ;-)
21:49The RED CPU :open_mouth:
21:50@rebolek THGTTG? :)
rebolek
21:50@BeardPower do not forget your towel!
BeardPower
21:51Hehe
9214
21:51> The RED CPU

https://media.giphy.com/media/umMYB9u0rpJyE/giphy.gif
BeardPower
21:51[![b_1_q_0_p_0.jpg](https://files.gitter.im/red/chit-chat/keJt/thumb/b_1_q_0_p_0.jpg)](https://files.gitter.im/red/chit-chat/keJt/b_1_q_0_p_0.jpg)
21:52@9214 Hilarious! :+1:
rebolek
21:52@9214 :clap:
9214
21:53thank you, thank you
BeardPower
21:53It needs the music from that one: https://www.youtube.com/watch?v=a1Y73sPHKxw
9214
21:55@BeardPower https://www.youtube.com/watch?v=JTMf40ORFE8
BeardPower
21:55:smile:
21:56We should form the Red Marketing department ;-)
21:57https://www.youtube.com/watch?v=C2Zd3HYKCRE
9214
22:05look at my lang, my lang is amazing!
BeardPower
22:05Hehe.
22:06We should learn from "the best" ;-)
https://www.youtube.com/watch?v=EtuDS0ntaJY
9214
22:09[yeah](https://youtu.be/SXRdeZki5hc?t=231)
BeardPower
22:10That is the [spirit](https://www.youtube.com/watch?v=I14b-C67EXY)
9214
22:17Okay, I see that @greggirwin starts to catch up, so I sign off :guardsman:
greggirwin
22:18Can't catch up. Can't un-see Gates and Ballmer.
9214
22:21@greggirwin you've yet to see my personal photo that @BeardPower posted.
BeardPower
22:21@9214 change of shifts?
22:251. Red
2. Mill
3. ???
4. Profit
22:28I found a very nice old video about Bill explaining how to "succeed":
[Success rules with Bill](https://www.youtube.com/watch?v=wq-gba5nMrc)
23:11@9214 I really like the idea of your "look at my lang, my lang is amazing" :)
23:12It surely has the "drive" :D

9214
13:37[LMAO](http://classicprogrammerpaintings.com/post/148664055554/java-enterprise-implementation-of-observer#notes)
13:41http://classicprogrammerpaintings.com/post/145203160807/still-life-with-various-unix-shells#notes
BeardPower
13:41@9214 It reflects the Java bloat very accurately ;-)
13:41Which one is the Zsh? :)
9214
13:41@maximvl :D
http://classicprogrammerpaintings.com/post/145049886754/the-serpent-explains-erlang-process-isolation-to#notes
maximvl
9214
13:45finally found Hopper
http://classicprogrammerpaintings.com/post/143847262458/haskell-meetup-edward-hopper-oil-on-canvas#notes
13:47@maximvl
http://classicprogrammerpaintings.com/post/142817850864/john-mccarthy-presents-recursive-functions-of#notes
13:50well, now I can't stop
http://classicprogrammerpaintings.com/post/142548884409/larry-wall-presents-perl-6-1632-rembrandt-van#notes
13:50already broke one or two ribs while laughing

9214
23:31@maximvl a Lisp on the Erlang VM
https://github.com/kapok-lang/kapok

BeardPower
00:49Time to implement a BEAM code generator for Red 😎🤓

maximvl
10:40@9214 okay, I have my own actually ;) https://github.com/maximvl/emlisp
10:44the grammar for lisp is pretty neat and simple actually: https://github.com/maximvl/emlisp/blob/master/src/em_grammar.peg
10:45this was one of the first times I used PEG
10:47but once I found it's limitations I switched to a reader-based interpreter which allows macros and quasi-quotation
9214
17:29DSL for system programming that is not Red/System? :confused:
https://ivorylang.org/ivory-introduction.html
pekr
17:33And?
9214
17:34Aaand it might be a good idea to keep an eye on it?
BeardPower
17:58@9214 On the Mill!
9214
17:59@BeardPower btw, I found something really interesting in the list of contributors
https://github.com/red/red/graphs/contributors
17:59specifically number 38
rebolek
9214
18:21@rebolek bAdger..?
BeardPower
18:31@9214 Number 38? I only see 19 contributors.
18:3214 is gitter-badger 😲
9214
18:32@BeardPower weird, I see 39.
BeardPower
18:42Maybe only Evil can see Evil 😁
9214
BeardPower
18:46https://youtube.com/watch?v=zgvXtexdgAM
18:48Your smiley looks like a smiley wearing a mustache.
18:54The dark side/Evil always has cooler stuff :smile:
rebolek
22:25@9214 phone in A pocket
BeardPower
22:36Can someone please tell me, why the hell VS need 16GB of disk space??
22:36Red is 1MB and can do about the same....
22:36To the Batmobile!
22:37The atom editor needs 1.4GB???
22:38What is wrong with that ****?
22:38Geez, I used to draw bridges in AutoCAD with 4MB of RAM and it was a 20MB install.
22:39Pure Evil is playing it's cards.

9214
07:25@BeardPower today I saw a glimpse of true evil.
07:26It looked like recursive C++ templates.
BeardPower
08:59@9214 😲
Phryxe
11:13![alt](http://www.bottlecapclub.org/phplib/ccsi_imgcrownplastic_view.php?ID=2395)

... long gone otherwise it would have been perfect for Red meetings :beer:

BeardPower
15:19@9214 I wondered why you are so silent in the telegram group :smile:
9214
15:22@BeardPower because I'm not there :)
BeardPower
15:23@9214 I did not notice you left the channel.
9214
15:23too much :shit: and Chinese talk which I don't even understand
15:24I'm not only fast, but cagy mouse.
BeardPower
15:24Yeah. They managed to create a Chinese channel, but some people still don't stick to the rules.
15:25Hollow mouse :)
9214
15:25Hollow?
15:25Like DS hollow? :D
BeardPower
15:26What is DS hollow??
9214
15:26http://darksouls.wikia.com/wiki/Hollow
BeardPower
15:26Do you know the movie "Hollow Man"? It's about an invisible man :)
9214
15:27Ooh, I remember that! I think I rewatched it last summer.
BeardPower
15:29I thought: DS? Like Nintendo DS? lol
15:30I never played DS. Always wanted to, never had the time to.
9214
15:31It took me ~70h to beat all bosses.
15:31Namco announced remastering btw.
15:32https://www.bandainamcoent.com/games/ds-remastered
15:33@BeardPower playing DS is totally worth it from lore and level design perspective.
Phryxe
18:18https://www.bloomberg.com/news/articles/2018-03-20/telegram-loses-bid-to-stop-russia-from-getting-encryption-keys
BeardPower
18:58@9214 Unfortunaty there was no Demon's souls for the PC. Have you also tried the sequels to DS? I'm waiting for Cyberpunk 2077 😎🤓
9214
19:00@BeardPower no, DS1 was kinda self-contained experience for me, I don't really plan to play any other parts of the franchise.
19:01I'm waiting for [Eitr](http://store.steampowered.com/app/350050/EITR/) to kick in
19:02[Nioh](http://store.steampowered.com/app/485510/Nioh_Complete_Edition___Complete_Edition/) looks quite nice, but my potato can't run it :(
BeardPower
19:03Nice. And where is BGAE 2 😦
9214
19:04Ubi will screw it, I tell you. I'll keep my childhood memories to myself and won't touch second part :pig:
19:05Maybe I'll replay Warrior Within instead :smirk:
BeardPower
19:12100h gameplay? Wow.
19:14WW... Don't remind me of that. I played it through as part of my PoP trilogy session.
19:14What are the specs of your potato?
9214
19:15hell if I know, some Samsung notebook from 2012.
19:15AMD + integrated Intel card.
BeardPower
19:18I see. Time to speculate on some crypto to finance potato's big brother. 😁
9214
19:19
text
H/W path               Device      Class          Description
=============================================================
                                   system         350V5C/351V5C/3540VC/3440VC (P10AAL.032.CP)
/0                                 bus            NP350V5C-S07RU
/0/0                               memory         64KiB BIOS
/0/41                              memory         1MiB L2 cache
/0/42                              memory         256KiB L1 cache
/0/43                              memory         6MiB L3 cache
/0/44                              memory         6GiB System Memory
/0/44/0                            memory         2GiB SODIMM DDR3 Synchronous 1600 MHz (0,6 ns)
/0/44/1                            memory         DIMM [empty]
/0/44/2                            memory         4GiB SODIMM DDR3 Synchronous 1600 MHz (0,6 ns)
/0/44/3                            memory         DIMM [empty]
/0/45                              processor      Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
/0/100                             bridge         3rd Gen Core processor DRAM Controller
/0/100/1                           bridge         Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port
...
BeardPower
19:40What is this magic script called?
9214
19:40@BeardPower sudo lshw -short :sunglasses:
BeardPower
19:45@9214 Ah, it looks lied Red output with paths :)
19:47I have 2 1GB SODIMM lying around here.
19:482 empty DIMM boards. Laptops now have 4 DIMM ports?
9214
19:48@BeardPower I was surprised to see that too :D
BeardPower
19:48Crazy :)
19:49So you only have two?
9214
19:50I don't need that much RAM :)
BeardPower
19:51Whaaaaat? :)
9214
19:5264kb is enough for everyone :neckbeard:
BeardPower
19:52Yeah, sometimes I'm running KolibriOS :)
19:53It's so amazing booting in 3-5 seconds from BIOS to the UI.
19:57Reminds me a little of booting my C64: switch on -> done :D
19:58Which distribution are you using?
9214
20:00Mint.
BeardPower
20:01Ah. I'm currently working with Arch.
9214
20:01I tried to be all pro and neckbeardy with Arch and Slackware, but they didn't stick well as first distros :)
BeardPower
20:01My first one was Slack ;-)
20:02But I'm more into the BSDs.
20:03No more BeOS for me :worried:
rebolek
20:42so you're not running AROS?
9214
20:42Amazing Red OS?
rebolek
20:43Yeah, basically :D
20:43http://aros.sourceforge.net/
BeardPower
20:57@rebolek No, I tried it. It has some ancient UI, which needs to be fixed. I'm playing with exoKernel based OSs.
20:58Like BareMetal-OS.
21:00RedOS with the Purple Hen exoKernel -> a Legend ;-)
9214
21:00... with Mill support out of the box
BeardPower
21:01It will give you fist power!
21:01Of course!
9214
21:01http://i0.kym-cdn.com/photos/images/original/000/835/596/7ce.png
BeardPower
21:01@9214 I thought about contributing to the Mill, unfortunately you need to spend 20h/week on it.
21:02Muahaha :D
9214
21:03I can't even crave some time for personal projects anymore :(
BeardPower
21:03Yeah, that's very unfortunate.
21:04But on the other hand, you will get a share in the Mill company....
21:05Damn you 24h days.

BeardPower
14:48Praise the Mill! :D
9214
BeardPower
14:49@9214 At least I moved to chit-chat ;-)
9214
14:49@BeardPower should I tip you for that?
BeardPower
14:49@9214 That's optional but much appreciated :smile:
9214
20:41@BeardPower [duuuuuude](https://www.youtube.com/watch?v=oOKYi-gfgzs)
BeardPower
20:42@9214 Oh Oh Oh, Oh Oh Oh Oh Oh! I love it!
9214
20:42[I know how I'll spend my weekends](https://www.youtube.com/watch?v=hGlyFc79BUE)
BeardPower
20:43You should try both :)

rebolek
10:59So I'm trying to generate new stats and there's now so much messages, that Red simply crashes.
9214
11:00@rebolek I take this as a compliment.
rebolek
11:01@9214 I don't know, should you?
9214
11:02Everyone should!
11:02We're all busy beavers here.
rebolek
11:02It's causing me unnecessary problems that I have to spend time on. How can it be a compliment?
11:05But it's not your fault. I blame lack of GC in Red on one side and some interesting decisions on how to write Gitter API on second side.
9214
11:06Besides, you can always ~~rant~~ blog about it. :)
rebolek
11:08For example if you want to get user's avatar, you can't do it from user's info but only from user's messages. I would love to ask the person who thought it's a good idea few questions.
BeardPower
11:12I smell LINUX mess ;-)
11:14Speaking of this mess, if anyone has input on some great OS features/API (does not need to be POSIX compliant), please drop me a line :)
rebolek
11:15Hmmmm
11:15
~/C/gritter ❯❯❯ red                                                                              ✘ 1 
--== Red 0.6.3 ==-- 
Type HELP for starting information. 


*** Runtime Error 1: access violation
*** at: F7EBCC15h
BeardPower
11:16Fire up some debugger: radare2 or IDA.
9214
11:17@rebolek maybe MEBIR breeded some nasty little MEBIRettes?
BeardPower
11:17We need some Valgrind for Red.
rebolek
11:18I'll try to compile with -d to see what's going on.
11:18It's fresh compilation from 2c0c05e0
11:19If anyone would like to try it and confirm it.
BeardPower
11:20Is this a fresh run?
rebolek
11:20yes, just pull ed latest sources and recompiled console
BeardPower
11:22In progress...
11:24Works fine:
E:\Development\red>console.exe
--== Red 0.6.3 ==--
Type HELP for starting information.

>> about
Red for Windows version 0.6.3 built 26-Mar-2018/13:23:41+02:00
rebolek
11:25Maybe it's Linux only, I try to compile Win version to see how it works under Wine.
BeardPower
11:26Yeah, seems like a Linux bug.
rebolek
11:26Hm, debug version doesn't help very much :)
*** Runtime Error 1: access violation
*** Cannot determine source file/line info.
***
BeardPower
11:27Unfortunately debugging is very limited in Red without hooking to a remote debugger.
rebolek
11:27Win version works fine, can't check macOS now.
BeardPower
11:28The info why it cannot determine that info would be great :smile:
11:28I can test on macOS in the evening.
11:29I was working on my styles over the weekend, so please bare with me a little :)
rebolek
11:30No problem, I can check macOS in the evening also.
BeardPower
11:30Which macOS version are you running?
rebolek
11:3010.11.something
BeardPower
11:32OK. I have a 2009 MacBook Pro and an iMac to test on. The former cannot run Sierra and higher because of the stupid Apple policy, but the latter can.
11:32I will look to updated to the newest version.
11:33Is there also the need to test on some Apple TV?
rebolek
11:34@BeardPower I have 2008 MacBook, so same situation with Sierra and also Hackintosh, that can run Sierra, but works fine without it so I won't upgrade unless there's no other way.
BeardPower
11:34Yeah, me too. I don't want to hack around just to get Sierra and beyond running on it.
11:35Another reason is, that Sierra is inferior to the older versions.
rebolek
11:39offending commit found
BeardPower
11:45Which one?
rebolek
11:472b9e6, see red/bugs
BeardPower
12:00Thanks!
12:01Just joined the room. I was not aware of it's existence.
rebolek
12:03So I've reduced stats memory usage to less than 900MB and it still crashes. So it's not memory problem but something more sinister...
BeardPower
12:04Are you able to attach a debugger?
x8x
12:04@rebolek did you try with Chris json?
rebolek
12:04@x8x this is not JSON problem
12:05@BeardPower no , it's too much work that I do not have use for right now
BeardPower
12:05Alright.
x8x
12:05Ok, just thought it may use less memory.
rebolek
12:08@x8x it's because of Gritter's data structure, there's a ton of redundant data. I have /compact mode that throws lot of it away and uses just about 1/3 memory. But I still get crash (non-related to the problem I've reported in bugs room). I now know where it's coming from, so expect another bug report once I isolate it.
x8x
12:11Anyone knows what GitLab is doing with Gitter? No update in a long time and no new product coming, they integrated gitter team but on what task? Didn't they also said they would release the source code?
rebolek
12:12@x8x there were few updates in Gitter room recently, let me find it for you...
12:15@x8x https://gitter.im/gitterHQ/gitter?at=5a85e5a081cd9a5d7ea41805
x8x
12:17Thank you @rebolek !
12:18Oh looks like they have a new version for macOS that fix the nasty gist rendering http://update.gitter.im/osx/Gitter-3.1.0.dmg posted here https://gitlab.com/gitlab-org/gitter/desktop/issues/211
BeardPower
12:18So which is better? gitlab or github :)
rebolek
12:20gitred ;)
BeardPower
12:20:shipit:
rebolek
12:21@x8x

So I have this code:
circular!: object [
	size: 5
	list: []

	init: func [
		siz
	] [
		size: siz
		clear list
		insert/dup list 0 1 + size
	]

	on-deep-change*: function [owner word target action new index part][
		switch action [
			insert [
				remove target
			]
		]
	]
]

and when I do following, I get crash:
>> b: make circular! []
== make object! [
    size: 5
    list: []
    init: func [
        siz
    ][
        size...
>> b/init 20

*** Runtime Error 1: access violation
*** at: 08078661h
BeardPower
12:21Do you know of something we don't? :D
rebolek
12:23@BeardPower no, I don't :) Gitlab is better IMO. You can run it on your server, unlike Github.
BeardPower
12:23And free private repos.
rebolek
9214
12:24@rebolek something to do with on-deep-change* ?
rebolek
12:25@9214 probably, but must be relatively recent regression, because this code is months old
x8x
12:26Humm 3.1 not much better, blank screen jsut after clicking login..
9214
12:26@rebolek I even have a suspect...
BeardPower
12:27@x8x 3.1? What software are you referring to?
x8x
12:28Gitter for mac I posted link just above
9214
12:28@rebolek ? https://github.com/red/red/issues/3251
BeardPower
12:29@x8x Sorry, I did not see that.
x8x
12:29@BeardPower if you want super fast git front end look here https://git.zx2c4.com/cgit/about/
BeardPower
12:30Thanks!
rebolek
12:30@9214 Shouldn't #3251 be fixed?
9214
12:30@rebolek yes, I meant that maybe this fix caused a regression?
rebolek
12:30Ah, sorry. I see.
9214
12:30Can you build Red from pre-#3251 sources and check it?
x8x
12:34@rebolek that code crashes here too ;-)
rebolek
12:34It crashes on this line: size: siz so I suspect it's stack related.
9214
12:35@rebolek does it work on your pre-MEBIR builds? ;)
rebolek
12:36good question, because it looks MEBIR-related.
12:36Let me check.
BeardPower
12:42@x8x Regarding the gitter app: It seems that you cannot login with a github account anymore. I just get a white screen, when I click on the github login.
rebolek
12:44@9214 :bear: confirmed
9214
12:44masaka...
12:45The evil strikes back!
rebolek
12:45It's really most evil bug in red
12:46I'm going to add an issue.
12:53So here's my new favourite bug https://github.com/red/red/issues/3283
9214
16:47@rebolek should we call it NSEBSABIR?
16:47Not So Evil But Still Annoying Bug In Red?
16:49@rebolek how "drunken bear" sounds in Hantec btw?
rebolek
16:54@9214 Good question! I think it would be something like "piclé meďan", "пицлэ медян"
9214
16:54That's evil.
rebolek
16:56It's actually cute, "meďan" sounds much less harmless than "medvěd", but yes, MEBIR **is** evil
9214
16:57Something in between of "медь" (copper) and "мёд" (honey)
rebolek
17:06It's based on "мёд", "medvěd" it's basically "honey-eater" and when we are softening a word, "d" is changing to "ď", "д" to "дь".
9214
17:07:mortar_board:
toomasv
17:07So, "медьвед" (copper-knower), not "медведь" (honey-eater). Or may be rather " медве́дица".
9214
17:09@toomasv "ведь" is actually "after all" or "because".
toomasv
17:09honey-after-all? Not bad at all!
9214
17:10But here "ведь" derives from "ведать", which is "know" or "manage".
toomasv
17:11Wise men tell this is folk-etymology.
9214
17:11So it's more of "the thing that is knowledgeable in honey" :)
17:13Though, per dictionary "ведь" is a form of "*едь" which is "eat".
17:13Honey-eater.
toomasv
17:13> from "ведать", which is "know" or "manage".

Like "ведьма"?
9214
17:16@toomasv yes, "ведьма" has pre-Slavian roots too.
17:17"*vědě" is "to know".
17:18Though here it's the form of "ведовство" which is a synonym for "witchcraft".
toomasv
17:20Indeed, our "медведьма" is from the dark side.
9214
17:21"дьма" is conformable with "тьма" - darkness.
rebolek
17:23It's actually interesting that "medvěd" or "медведь" is not true name of that animal, because "medvěd" is "one-who-has-not-to-be-named".
9214
17:24Well, MEBIR is a bug :bug:
17:24Bear is a bear :bear:
17:24:bug: <> :bear:
rebolek
9214
17:36Maybe it's a big ugly furry larva with bear's head, like the one in Starship Troopers.
17:37https://monsterlegacy.files.wordpress.com/2014/07/brainbugdragged.jpg
rebolek
17:37ewww
iArnold
18:02Finally a chit chat room. Say @rebolek you work at a zoo... sure you are used to strange looking animals and colleagues.
18:03Hey this comment does work!unlike the one on the blog. Or my comment did not make it cross the audit.
rebolek
18:05@iArnold I saw your message on email from LinkedIn but haven't got time to reply yet, as I don't use LinkedIn very much - I don't work at a zoo, I was member of supervisory board until that board was canceled. I don't update my LinkedIn account very often, sorry.
iArnold
18:43You still like fighting bears?
BeardPower
19:24@9214 Brain bug!
9214
19:25@BeardPower that's what they call me on bad days. :japanese_ogre:
BeardPower
19:27@iArnold No profanity filters in place here ;-)

iArnold
10:11@BeardPower Afaik it is not profane language from my side that results in upsetting people.
BeardPower
10:27@iArnold But? There is always a but, right? :)
iArnold
10:39@BeardPower Can be hidden by sitting on it?
BeardPower
9214
11:36@rebolek any piece of advice on how to get blog post rolling?
11:37Should I just smash my head on keyboard?
rebolek
11:37@9214 you can try it
BeardPower
11:37Just start by writing a blog-post on how to get a blog post rolling :smile:
rebolek
11:38but I prefer to have a theme for the blog post and then writing something about that theme
9214
11:38@rebolek I have a theme, I just can't pull it out of my head.
BeardPower
11:39@9214 What is your theme?
rebolek
11:39it's like writing data (not code, I know). start with something small and add to it
9214
11:39@BeardPower hens breeding.
BeardPower
11:39Of course!
9214
11:41Yes, I need someone to dance with.
rebolek
11:42btw, there's now more than 40 000 messages in Red/red. It was ~20 000 cca month ago.
9214
11:46:blush:
rebolek
11:46and you are close to hitting 10 000 messages soon
9214
11:49you can rotate usernames on the bar chart to prevent them from overlapping btw
11:49and user info no longer works
rebolek
11:50I know, I am working on fix right now.
12:01There were some interesting bugs in the stats.
12:14@9214 User info works again. Avatars are missing though, but that's not easy to solve and will take some time.
9214
12:15@rebolek good job! :clap:
rebolek
12:19@9214 There is also one interesting bug I've just found. Stats hate me and don't show user info for me. Everyone else is fine.
12:48Avatars fixed. So now the only missing thing is me.
BeardPower
12:48The plumbing is always bad in the plumber's house ;-)
rebolek
12:50yeah :) It's strange, not sure what's causing it.
9214
12:50:neckbeard: yeah... it's interesting... ~~who~~ what might be the cause..?
rebolek
13:06I don't know, do you have any idea?
9214
13:07:neckbeard: *shrugs*
rebolek
13:10ok, there's some bullshit in data. not in source data, they're fine, but once JS loads the CSV some nonsense comes out
13:15So it's the CSV loader, it has troubles converting second line of data. I've added bullshit,bullshit there and now it works fine. We could have known.
iArnold
14:25slashpro. All you have ever asked for will be in this :santa: for a few :dollar:
Where have I seen something like that before? Arrrr teee ... don't know.
14:26Glad work recommences now again.
BeardPower
14:27Nenad said, that it will not be different in features compared to the OS version.
14:42Which RT are you referring to? Windows RT?
9214
14:43@BeardPower Rebol Technologies, I suppose.
iArnold
14:55They had a pro or SDK version too.
14:58Curious how this will develop into community driven open source part and the commercial part.
9214
15:05@rebolek re Saphiron: what this project is/was all about? What were the goals? Why is it stalled? What it brings/brought to the table?
rebolek
15:19@9214 Saphirion has commercial product, NLPP, that is written in R2 and RebGUI.
15:20When R3 came out, we took Carl's R3 Gui and heavily rewrote it, because we wanted to port NLPP to R3.
15:21When R3 was abandoned, work on our R3GUI stopped for obvious reasons.
15:22That's basically it.
9214
15:22C'est la vie. :bear:
rebolek
15:23I'm not sure what Saphirion is working on right now, it's been few years since I don't work there.
15:24But our R3 was free and open source, available for everyone.
15:24R3GUi I meant.
9214
15:25@rebolek thanks for the history lesson, it's interesting to learn about Rebol derivatives :)
rebolek
15:28You're welcome. It actually wasn't a derivate. R3's core lib was closed at that time, we only added GUI and maybe Cyphre did few fixes/improvements to R3 host.
15:31Ladislav wrote amazing resizing subsystem and I was working on widges, mainly text-table.
9214
15:32> text-table

:smirk:

hiiamboris
00:49@9214 btw if you're going to attempt to evolve our iterator ideas, I think @dander's way is simpler, you just have to make it return unset! instead of none! and it's not limiting anymore
9214
00:58@hiiamboris the main idea is to separate actual iteration from data format and specification, but actual implementation is free-form and up to me?
00:59Because whenever I hear "iterator" I recall Python and knee-jerk reaction kicks in :)
hiiamboris
01:02I hate Python too (: Worst thing to code in except maybe for Delphi
01:03Implementation is free form ofc
01:04but there's a reason I used a context with a fixed set of items
you can reduce it to only two: subject and advance provided the latter will return unset! on no items
01:05reason is this way I could reuse the existing context objects
BeardPower
01:06Don't iterate me, bro! :smile:

hiiamboris
BeardPower
01:07Python has very nice libs, documentation and generators are "cool".
hiiamboris
01:08well I hated it for these nice libs were in permanently broken state, and docs were even more of a mess than in rebol :)
9214
01:09Personally, it's an extreme un-fun to code in.
hiiamboris
01:09oh and I forgot a 100+ MB of junk code to carry around with your script ofc
BeardPower
01:09Maybe we used a different set of libs ;-)
I mostly use numpy and crypto stuff.
9214
01:09NumPy -> fat and ugly J's cousin.
BeardPower
01:10Yeah, the bloat is, well, much of it.
01:10@9214 That's true. I did not know of J/Julia before ;-)
I used to code in fortran ages ago.
01:10And COBOL :D
hiiamboris
BeardPower
01:11But what I hate is all this Electron BLOAT!
01:12100MB+ for a gitter app? WTF...
9214
01:12@BeardPower Julia looks interesting, but my advisors push for R, and I already stick to J as a personal choice :(
BeardPower
01:13We should blame JP Morgan for the python bloat ;-)
01:13Well the financial libs.
9214
01:14Don't ,._1<\.i.10 my nerves here!
BeardPower
01:14Yeah, python and R. The "cool" kids on the block.
01:15@9214 This is blasphemy!
01:16Geez, I miss the good old times, when some graphics driver was about 500k and installed in 3 secs. Now I need to download 400MB of junk and wait 5 minutes until it's usable.
9214
01:17Can someone, by any chance, suggest a good Forth environment for Linux which is not Emacs?
BeardPower
01:18Isn't SwiftForth the standard IDE?
9214
01:19AFAIK its free edition is kinda limited and opinionated.
01:19Maybe I can build one...
BeardPower
01:19Waaaaat? 399 bucks???
01:20Wasn't that really cheap some time ago? lol
9214
01:20These were the times.
01:22I actually think that the only right way to learn Forth is to build one from scratch.
01:22The classic threaded code version I mean.
BeardPower
01:23You could always use Vim :)
01:23Forth from scratch :D
9214
01:24It's even more intimidating than Emacs, which I prefer, but can't start to master.
BeardPower
01:25Yeah, Vim can be overwhelming. I did the Vim game a while ago.
01:25But as soon as I'm using VS/VC.... well I'm getting :older_man: by learning Vim again.
hiiamboris
01:31at some point I realized it's much faster to write my own ide than to adapt vim for my needs
BeardPower
01:33My issue with the IDEs is, that there is so much bloat you cannot get rid of.
01:33VS -> 6GB! For some editor/compiler and all the fancy pants profilers and what not.
01:34Red + Debugger + Profiler -> 10MB.
9214
01:34VS/GB ratio is low, VS is not hot, won't invest. :shipit:
BeardPower
01:34Dump, dump dump!
01:35So what the hell is in there? (VS)
hiiamboris
01:35@BeardPower VS is about 20GB :) 6GB is ONLY the compiler :D
9214
01:35I lost my confidence in the group (c)
BeardPower
01:36@hiiamboris I managed to strip it down to 6 lol (C++ compiler + Editor).
hiiamboris
BeardPower
01:36The bare minimum!
01:36@9214 This will be my signature :D
9214
01:36... that's what true Illuminati would say. ;)
BeardPower
01:37Maybe they are testing us in the Telegram group.
01:40I wished these damn GPU vendors would open source their specs/drivers. I need some good OS.
01:41They optimized their drivers for Ethereum mining lol. To the ~~~Batmobile~~~ mining stations!
9214
01:43GPU for ETH mining...
01:43AssMachine? :P
BeardPower
01:45Yeah lol
01:45Ethereum can only be mined with GPUs.
01:46Well, they designed it for GPU mining.
01:46So anyone has a chance to mine Ether instead of the ASIC overlords in Island.
9214
01:46https://www.youtube.com/watch?v=zlSFmotba2I
BeardPower
01:47:+1:
01:48Maybe we should convince him to mine IOTA ;-)
12:58Ah, now we are talking!
12:58Geez....
9214
12:59Alien technology?
BeardPower
12:59Must be. Some extraordinary lag or evil forces.
13:00It marked 2 rooms on the left side as active.
13:01Sometimes the messages are grayed out. I try to send again -> suddenly I did a triple post...
13:03Time for a Purple Hen powered gitter client :D
17:02@9214 Behave from now on ;-) https://professional-troublemaker.com/2018/03/25/microsoft-bans-offensive-language-from-skype/
9214
17:03@BeardPower I don't even have Skype.
17:04MS went nuts. In 2018, when everyone can be offended by pretty much *anything*, they gonna ban "offensive language" without even giving a detailed definition of it?
rebolek
17:06@9214 you are now banned from Skype.
9214
17:06@rebolek I feel offended by you!
17:07You called me by my nickname. This is mean. This is rude. I lost my confidence in the group (c)
17:07Won't invest, not hot.
rebolek
17:11@9214 You feel offended by me? Now I'm triggered. I need some safe space to let my feelings be adjusted. This is too much for me to handle.
9214
17:12@9214 rolls his eyes, dramatically throws back his head and falls on the floor
17:13@9214 @greggirwin screams "Oh no, Sirrah!" and dramatically bans @rebolek, then falls on the floor too, to spice up teh drama
rebolek
17:15> @9214 rolls **his** eyes

Did you just ... assume your gender????!!!!!111
9214
17:17> Did you just ... assume your **gender**????!!!!!111

Did... did you... did you just assume that I actually HAVE one?! :alien: puny Earthlings! My personal alien bubble is bursted... I want to buy new community manager with my tokens!
17:19Stop breathing, this is offensive, you're consuming MY personal air.
rebolek
17:20I can't handle this anymore. So much trigger. And now I personified myself!!! Not I, something non-offensive...
9214
17:21@rebolek and what's with your look? 2 hands, 2 legs, normal body. Are you copying my personal image?!?!?!!11111
17:22@greggirwin will you allow us to play in the theater with you after this staging?
17:27@rebolek huh?
rebolek
17:28Clicked "delete" instead of "edit" and there's no undo.
17:30Anyway, I don't feel triggered anymore, because I have normal body. My wife thinks otherwise but Internet never lies.
BeardPower
17:38Oops, I just offended myself. Will I also be banned? :D
9214
17:39@BeardPower I find it offensive to ban you for being offended by yourself, it hurts my recursive feelings badly.
BeardPower
17:39I'm stuck in an infinite banning loop.
17:43I need proof! I will scan your private files now. Just because I can... :D
9214
18:08@BeardPower found anything interesting?
BeardPower
18:29@9214 Just some instructions for Russian dance moves 😉
9214
18:29@BeardPower cached version of [this](https://www.youtube.com/watch?v=gkxGs4ETeg4), I presume?
BeardPower
18:32I'm offended. As with anything.
18:36People are weird and funny 🤓
greggirwin
19:11Reichart once observed that people feel important when they're offended, and he likes to make people feel important.
rebolek
19:18amen
BeardPower
19:19But who was Reichart?
rebolek
19:22Director http://www.imdb.com/name/nm1650299/
toomasv
19:23I am NOT offended by all this offensive talk, despite you are OBVIOUSLY laughing at my being VERY NICE to you, masquaearaeting all this behind SEEMINGLY offending each other. I am DISAPPOINTED, although NOT offended, I REPEAT!!!
rebolek
19:24@BeardPower actually who IS Reichart.
9214
19:24Can anyone suggest a good space-thriller film? (see: Alien series, Riddick, Event Horizon)
19:26Damn, we upset @toomasv :(
19:26The future is doomed.
19:26And all the paintings...
greggirwin
19:29He's going too turn in-too a too massive Hulk now.
9214
19:30https://www.youtube.com/watch?v=-6n9D5MCe_s
greggirwin
19:30Reichart is an old Reboler and friend of Carl's, having built a lot of software for a very long time. We'll get him to the Red side eventually, once he can ship products with it.
19:31@9214, I never know what you meme.
rebolek
19:31@9214 you want good space-thriller film? Why not something easier, like good IDE, or good OS?
9214
19:32@rebolek because good IDEs and OSes exist only in good space-thriller films.
19:32@greggirwin huh?
BeardPower
19:32@rebolek Thanks.
greggirwin
19:33@9214, semi homophone.
19:33Back to work as my humor circuit has failed.
9214
19:34Bag two word, yes.
BeardPower
19:34@greggirwin Into Red Hulk? 🤓
rebolek
19:35@BeardPower Reichart is not only director, but also founder of Qtask and other companies that were doing Rebol-based software.
BeardPower
19:35@9214 The newest Alien movie.
9214
19:36@BeardPower are you :boom: :cat2: me?
BeardPower
19:37Moon? Contact? Interstellar? The Martian? Passengers? Life? Arrival? Prometheus? 2001?
greggirwin
19:38Planet 10!
9214
19:39@BeardPower this is even more insulting than all our previous talks.
19:41ah, here we go
https://en.wikipedia.org/wiki/List_of_films_featuring_space_stations
BeardPower
19:43@rebolek Nice!
19:44@greggirwin Planet 10? I only know Planet 51.
greggirwin
19:44We'll see who gets my obscure reference.
BeardPower
19:45@9214 I got a lot of hits in that list 🤓
19:47@9214 I studied "Insulting and Russian dance" 😎
hiiamboris
19:55@9214 there's http://www.imdb.com/title/tt0099364/
sort of on the level with the "event horizon", but not the other that you mention
9214
19:57@hiiamboris thanks, love to take a hit on 5/10 movies and make my own judgements :)
BeardPower
19:59@9214 If you are not offended by Nazi comedy: Iron Sky
20:00https://imdb.com/title/tt1034314/
hiiamboris
20:00he was asking for a thriller :)
BeardPower
20:02Well, it is. Kind of :smile:
20:02Nazis, you know ;-)
rebolek
20:05Ikarie XB1
BeardPower
20:05Sounds like a new game console :)
rebolek
BeardPower
20:06Sounds interesting.
rebolek
20:06It's actually wonderfull Czech scifi from 1963
BeardPower
20:07Some pre 2001 Odyssey... hmmmm
iArnold
20:07> @BeardPower actually who IS Reichart.

Reichart IS a FRIEND!
rebolek
20:09Music was composed by Zdeněk Liška who is basically god of soundtracks.
BeardPower
20:09@iArnold Ah! I had the feeling he is important/known here :)
20:11@rebolek The Czech Hans Zimmer, so to speak? :)
rebolek
20:18@BeardPower I love Zimmer's work, but Liška was very experimental, what Švankmajer is doing as director, Liška was doing as composer.
9214
20:18@rebolek thanks!
BeardPower
20:20@rebolek I see. :) I even learn something about movies in the Red channels ;-)
rebolek
20:20@9214 have you seen Kin-dza dza?
9214
20:21@rebolek I have dim memories of that film from my childhood, never watched it fully though.
rebolek
20:21It's not action movie, but it's really worth it.
BeardPower
20:218.2 on IMDB. Hmmm :)
20:22The story sounds funny.
rebolek
20:22It's terrifying.
BeardPower
20:22Really?
20:23So it's not like Idiocracy then.
rebolek
20:23It is, but in east bloc fashion :)
BeardPower
20:24Thanks for the movie tips. Need to check them out.
9214
20:25@BeardPower check out Dante 01, if you're into auteur cinema.
20:26Cargo is interesting too (from the wiki page I linked above)
20:27Titan A.E. - my childhood
rebolek
20:27Cargo was nice.
20:27I loved Moon.
9214
20:27I think I'll re-watch FF: Spirits Within instead! :P
BeardPower
20:28@9214 On to my list!
rebolek
20:29And Lexx.
BeardPower
20:29Yeah Titan A.E. hehe
rebolek
20:29See Lexx.
BeardPower
20:29The Series?
rebolek
20:30it's....worth watching
20:30it's weird and funny
BeardPower
20:31Firefly ;-)
rebolek
20:31yeah :)
BeardPower
20:31I actually watched LEXX.
9214
20:31Oh! Oh! Firefly.
BeardPower
20:32There is this new SciFi comedy series.
9214
20:32Didn't watch, but plan to ;)
rebolek
20:32@9214 do it
20:32it's nice western
BeardPower
20:33Don't forget to watch Serenity after it :)
20:34Ah, this is it: The Orville
rebolek
20:35@BeardPower thanks for tip, I've read about it but totally forgotten.
BeardPower
20:36So many new series. It's crazy.
rebolek
20:37I'm not a fan of Family Guy, so I guess that's why I didn't cared.
BeardPower
20:38Well, I like FG :)
20:38The time-travel episodes are great.
20:39@rebolek You should store your film list on the block-chain, so it's never forgotten ;-)
rebolek
20:40@BeardPower yeah, but which blockchain? :D
BeardPower
20:43@rebolek How about DigiByte (Hint: I'm a miner) ;-)
20:44https://www.digibyte.co/
rebolek
20:44@BeardPower is there an API that I can borg?
BeardPower
20:44Of course :)
rebolek
20:45Then I'm in :D
BeardPower
20:46Do your worst ;-) https://playground.digibyte.io/
20:47https://github.com/digibyte
hiiamboris
21:16@9214 for a thrilling space-themed experience I'd rather look into games.. movies just can't deliver that kind of sense of presence
Soma is unforgettable, then there's AvP Gold, then Dead Space and Doom provide some thrilling (although predictable) entertainment
9214
21:17@hiiamboris Soma was totally terrifying, I don't recall having such experience with any other game.
hiiamboris
21:18I second that, and it's also very thought provoking
BeardPower
21:18Dead Space! They dumped the 4th installment :worried:
9214
21:19I love Doom 3 mostly for Reznor's AFX work and gameplay pacing, first Dead Space was nice, and AvP 2 with Primal Hunt, mah bwoi, this was my childhood too!
BeardPower
21:20Yeah, they ruined DS with going for a shooter experience.
21:20I'm waiting for the new System Shock :D
hiiamboris
21:20@9214 played 1st AvP though? I find it much more challenging than any successor
9214
21:21@hiiamboris nah, I tried, couldn't get in as easily as with AvP 2
21:33okay, any good old video game suggestions? :)
21:33everything after 2008-2010 is a horse poop (with very rare exceptions), honestly.
BeardPower
21:39Halftime? :D
21:40I guess only PC games, right?
9214
21:40@BeardPower there can't be any other type of game :neckbeard:
BeardPower
21:41Ah, ok :)
21:42Deus Ex
21:42X-COM
21:42Fallout
21:42Portal
21:43Portal 2
21:43System Shock 2
9214
21:43@BeardPower I see, you can't count up to 3 too, just like some other people ;)
BeardPower
21:44I don't understand? :D
9214
21:44https://youtu.be/Jt0w9YP_wZ0
BeardPower
21:44Ah LOL. I wrote Halftime.
21:46If you don't mind, I found a list for you :)
https://www.gamesradar.com/pc-gamers-top-100-pc-games-of-all-time/
rebolek
21:46As true Illuminati would say, Deus Ex.
9214
21:46@BeardPower I meant games that you personally love and consider, like, idk, a part of yourself?
BeardPower
21:46The list was made in 2010, so it's horse-poop safe :D
21:46@9214 AHHHH!
21:47Well, the games I mentioned are part of my personally love.
21:47So let's continue:
IDK
21:47Little Big Adventure, Syndicate
21:48Doom (;-))
rebolek
21:48Ah, Syndicate.
BeardPower
21:48AWESOME!
21:48Metal Gear (Solid)
21:49GTA 4
21:49Gears of War
21:49God of War (well, not a PC game).
21:49Castlevania :D
21:50Lucasarts Adventures (DOTT, MM, Indy, ZMC,...)
21:51Street Fighter 2+
21:51King of Fighters
21:51Bio Shock Series
21:52Batman Series
21:52Tom Raider Series (;-))
9214
21:540% correlate with me so far :confused:
BeardPower
21:54Need to fire up my list :D
9214
21:55Let's say, top 5 favorite games.
21:56Which you *really* love and keep replaying even if you're :older_man:.
BeardPower
21:56btw.: Sonic All Star Racing (I have a copy to give away ;-))
21:56OK, let's have a look.
21:56Do C64/Amiga games count? ;)
9214
21:57Sure, if you can emulate them ;)
BeardPower
21:59Left4Dead Series, Team Fortress 2, Metal Slug, Turricane, Titanfall.
22:01I'm waiting for the new System Shock and Cyberpunk 2077
22:02@9214 What are your favorites?
22:03I have some favorite racing games, but most are console only.
22:04As other ones I *really* love are on the PS2.
22:05Which you can emulate ;-)
22:06E.g. ICO, Shadow of the Colossus
22:06Rollcage, Motorstorm
22:07Ah, too many beloved ones to list ;-)
rebolek
22:07ICO?
BeardPower
22:07The game with the boy and the girl and the witch ;-)
22:07https://en.wikipedia.org/wiki/Ico
rebolek
22:09Ah, I thought we are in red/blockchain ;)
BeardPower
22:09Not hot, don't invest ;-)
rebolek
22:10:smile:
9214
22:121. Painkiller (the original one) - I think it's the only shooter (and video game) which I keep replaying on a 1-2 year basis since ~2005 or something. Setting, pacing, secrets, tarot mechanics, AWESOME weaponry, nice soundtrack. And it's the only Polish FPS done right. ;)
1. Zanzarah - ah, Pokemons + Quake + simple quest/RPG. It's charming, just listen [the main theme](https://www.youtube.com/watch?v=aDSch2-1Z54)! The best and kindest part of my video game childhood.
1. BG&E - getting old and repetitive over time, but the world and setting are still charming as they always was.
1. PoP:WW - it's sort of a Persian Painkiller, what more do you want? I also love plot twists with Dahaka and Sandwraith.
1. Dark Souls 1 - I played first part of the franchise this autumn and was deeply impressed by lore and level design. Gameplay is challenging and interesting too. Artorias is the best boss fight I ever experienced. Plan for NG+, not sure if it's the best investment of my time though :smile:
1. SOMA - Frictional Games magnum opus so far, as I said. No jumpscares, only insane and creepy narrative that terrifies you more deeply each time you think about it.
BeardPower
22:14BG&E 2 -> Ubisoft, don't dare to ruin it!!!
9214
22:14@BeardPower stop beating the dead horse, sir.
BeardPower
22:15https://thesandtrap.com/uploads/monthly_2017_10/large.beating_a_dead_horse.gif.21be637bed4163a764cb264c578f3563.gif
22:15Really nice soundtrack (Zanzarah)
rebolek
22:16I just...
https://www.youtube.com/watch?v=8FU6JTZhMS8
BeardPower
22:16PoP: played ALL of them :+1:
9214
22:17@rebolek I tried to play it, like, 3 or 5 times, and never managed to get hooked and continue to play :(
rebolek
22:18@9214 at least try the soundtrack.
BeardPower
22:20I need to play SOMA. Always wanted to, never got to it. Same with Dark Souls Series. I played Demon's souls (it only came out for PS3). It's the ancestor of the DS series.
22:21I also thought about Nioh.
9214
22:21[Possible runners up.](http://steamcommunity.com/id/lllllllllillilillll/games/?tab=all)
BeardPower
22:22Did you ever play "The Witcher"?
9214
22:22I think now, after PC is exhausted, PS1 and PS2 are the way to go.
22:22@BeardPower no, but want to, sometime
BeardPower
22:23Nice play-times :)
22:24Ah, Cyberpunk 2077, :shipit:
22:24Yeah, a lot of crap is coming out on PC.
22:25Black on PS2 :)
22:25We should play some rounds of "Worms" ;-)
22:26Dreamcast, yay!
9214
22:26@BeardPower I was hooked on Worms 4: Mayhem for a long while!
22:26Even collected all hats and assets :)
22:27As a matter of fact I have only two licensed CDs: BG&E and Worms 4 :D
BeardPower
22:27Ah, there is also Worms Ultimate Mayhem :D
22:28Hehe, I was a Trophy collector on PS3 ;-)
Not so much on Steam anymore.
22:28By accident? ;-)
22:29Games are pretty cheap these days, compared to the N64 titles. Geez....
9214
22:39Forgot to mention: Painkiller has the easiest jumptricks among all shooters. ;)
BeardPower
22:41Diagonal one-legged triple rocket jump :smile:
9214
22:42360noscope
BeardPower
22:42Are you playing with WASD + Mouse?
9214
22:43@BeardPower sure, DS1 was the first exception though.
BeardPower
22:52I'm using game-pads/arcade sticks for racing games/fighting/arcade, besides that I'm ESDF+Trackball ;-)
22:52I will DESTROY you! ;-)
9214
22:52@BeardPower so, you're expert not only in crypto after all ;)
BeardPower
22:52:smile:
22:53Na, everyone is calling himself an "expert" these days ;-)
22:54I'm just have experience here and there :)
9214
22:54@BeardPower
> I'm using game-pads/arcade sticks for racing games/fighting/arcade, besides that I'm ESDF+Trackball

this is the case of orchestration, I think
22:54Trackballista!
BeardPower
22:54Fully dynamic!
22:55Sometimes I'm using gamepad+trackball in shooters :smile:
22:55or the arcade stick+trackball. ESDF feels so unnatural.
9214
22:56Well, I completed Super Hexagon with mouse only.
BeardPower
22:57Crazy ;-)
9214
22:57Unfortunately I can't put it on my resume :(
BeardPower
22:57You should try Marble Madness :smile:
22:57Well, maybe if you plan to become a Pro-Gamer!
9214
22:58@BeardPower now *that's* an insult!
BeardPower
22:58You know I'm :older_man: , the reflexes are slow, son!
22:58@9214 lol ;-)
9214
23:46@rebolek speaking of soundtracks
https://swinghammer.bandcamp.com/album/ginger-snaps-2-unleashed-original-motion-picture-soundtrack
BeardPower
23:49Not the best choice for some romantic dinner ;-)
23:50Swinghammer... that's some name!

gltewalt
18:12Blood Omen: The Legacy of Kain
The best ever. Voice acting and game soundtrack - :kissing_heart:
9214
18:19@gltewalt I think you suggested it to me after my blog post, and I said that gave up on it after wondering on the same level (something with invisible platform under the rooftop) for 2 hours.
gltewalt
19:17The first in the series? I don't recall an invisible platform under a rooftop

9214
07:31I don't really remember at this point :(
BeardPower
19:12I need some blog-food ;)

BeardPower
23:37@9214 I found YOUR CPU 😎🤓
23:37https://millcomputing.com/topic/russian-cpu-elbrus/

hiiamboris
00:16@BeardPower you know way too much now, 🐻s will be watching you
BeardPower
00:18😲
gltewalt
00:28Is that some sort of bear?
BeardPower
01:59A Teddybear 😁
9214
03:20@BeardPower I heard something about Elbrus, yes. It looks like a vaporwave now.
BeardPower
09:49@9214 Well, it was not available for private, only the military.
rebolek
10:59So, it's out https://www.indiegogo.com/projects/turris-mox-modular-open-source-router-security-computers#/
BeardPower
11:06No pickles? But can it run Crysis? :D
11:06What do you think of this? https://www2.razer.com/christine
rebolek
11:06Crysis? It has no video output, so if Crysis can run over SSH ;)
11:06But it can (almost) run Red :)
BeardPower
11:08https://www.acer.com/ac/en/CA/content/series/revobuild
rebolek
11:09Look nice. But probably not fully open source hardware and software as Turris :)
BeardPower
11:10Maybe Apple can deliver on the modular Power Mac!
11:10Maybe not ;-)
11:10Did you hear of the Mill? ;-)
11:11Apple wants to ditch Intel in 2020. They are producing all in-house: CPU and Displays.
11:11Intel stocks went down about 2% because of this news lol
11:12Speaking of "stocks": GOOOO ETHEREUM ;-)
11:13Panic is over and cryptos have risen >+10% in the last 24h.
rebolek
11:13Apple won't run on Mill :)
BeardPower
11:14That's not true, bro ;-)
rebolek
11:14If they can buy it and close it, then yes :D
BeardPower
11:14The Mill will run my fancy exoKernel ;-)
11:15So it can run Windows and macOS at the same time :D
11:15Well, that's another story.
rebolek
BeardPower
11:15Maybe the Red foundation should buy the Mill.
rebolek
11:16Once 1.0 is out, why not ;)
BeardPower
11:16Red CPU, Red OS, Red MOBO.... Geez....
11:17And don't forget to buy the Commodore/Amiga rights ;-)
11:17I'm BACK! lol
11:18If you have 30 million USD, the Mill is yours :smile:
rebolek
BeardPower
11:18So how much was the ICO taking in? ;-)
rebolek
11:19In January ETHs or in April ETHs?
BeardPower
11:19April.
11:20200.000.000 / 2750 * 800 (400) = about 60 (30) million USD.
11:21We need to talk with Nenad about the Mill ;-)
11:25I just read through some more capability based exoKernels.
We could create some Red environment on bootup. The kernel is about 80kb and it would boot directly into Red on startup in under 1 sec.
11:26The Kernel boot itself: a few micro-secs.
11:27The kernel could even live in the L2 cache :-p
11:28Red in L3.
rebolek
11:33That would be nice
BeardPower
11:36One of my research projects :)
11:36I want to create a charting app on top of the exoKernel.
11:37So you basically boot into a terminal.
11:38The issue are the GPU drivers. I hope they open up their specs in the future.
11:38Or maybe we order a GPU based on Mill cores ;-)
11:38I read about some project, which is using thousands of RISC-V cores as a GPU.
11:39Something like Larrabee.
11:40http://hwacha.org/
11:44Here is your Open Source GPU ;-) https://dl.acm.org/citation.cfm?id=2764908
11:44http://miaowgpu.org/
11:45Ah, found it: Esperanto ;-)
https://fuse.wikichip.org/news/686/esperanto-exits-stealth-mode-aims-at-ai-with-a-4096-core-7nm-risc-v-monster/
11:46https://www.esperanto.ai/
11:52Also very nice: https://www.sifive.com/products/hifive-unleashed/
9214
12:27I proclaim that hotness of this room bumped up to 6/53 Mill/Messages.
BeardPower
12:28The new metric of hotness :smile:
9214
12:32oh, and ETH went up
12:32https://www.youtube.com/watch?v=Ssnw2GA657s
BeardPower
12:33Yep, the big boys are buying cheap now ;-)
12:34And everyone who was panicking does not want to get left behind.
gltewalt
15:58I'm number 14 with a bullet! While the really smart long timers are down at the bottom... slackers
15:58https://github.com/red/red/graphs/contributors
9214
16:22Sheer modesty.
gltewalt
16:22You blew yourself up by changing your email, I think
9214
16:23It's not that I ever tried to compete.
gltewalt
16:23You should be ahead of me
9214
16:30@gltewalt enjoy the view from above while it lasts. ;)
gltewalt
16:31:smile: It's the only way I'll ever be ahead of you and toomas, and it won't last
9214
16:34I thought cuttlefishes are fast
https://www.youtube.com/watch?v=LF9dNaQD00w
gltewalt
16:35Maybe, but this one isn't that smart
BeardPower
16:47You all will be dust, once Purple Hen power is unleashed...
9214
17:00@gltewalt did you just hear old man's groaning?
gltewalt
17:00I think so
9214
17:02I heard a rumor that his farting sounds like "Mmmmiiiiiiiilllllll". ;)
17:06Or maybe like ["Ohooohohoohooo"](https://www.youtube.com/watch?v=NyiEaSzpdMk) ;)
BeardPower
gltewalt
17:19It reminds him of the old days when he used to work at the old mill
BeardPower
17:24[OMATM](https://www.youtube.com/watch?v=jEbzB39UZK8)
gltewalt
20:07It should play a short snippet of that tune every time you come online?
BeardPower
20:31Nice idea for some GUI console plugin.
20:32My version of "Good morning, Dave!".
22:43Let's grow a Computer http://www.alphr.com/bioscience/1008705/dna-computers-biological-computing-plasmids

hiiamboris
00:08somehow reminds me of the ufo: aftermath scenario.. where they turned earth into a computer
iArnold
06:58The guy from Millcomputing: "This is all vapourware we are talking about, it will take years before this will be available".
@gltewalt Even I am still ahead of you on #13. Best thing is to find a small item to fix, fix this in your branch using a lot of tiny commits, so a little change in many places is recommended and then submit the PR. If the PR is accepted, you made a LOT of commits and for your small contribution you will be awarded with dungloads of RED tokens!
pekr
07:03@iArnold don't be evil :-)
iArnold
07:05@pekr Why is that evil? I am merely pointing out what could be a weak spot.
pekr
07:08New blog article ... Red on Android sneak peek
iArnold
08:35@pekr Thanks for mentioning!
08:40Now I will make an evil remark: There is no sound on the youtube video!
Could have added a spoken comment of what happened?
BeardPower
09:26@iArnold The Mill team needs funds to make it happen. About 5 million USD for the FPGA and another 25 million USD for the CPU. 😉
9214
09:45@BeardPower 🔥
09:45:fire: :chart_with_upwards_trend: :money_with_wings:
nedzadarek
11:53@BeardPower :sparkles:
BeardPower
11:54Geez, I can't stand this bloat anymore.
9214
11:54@BeardPower friendly, huh? :japanese_ogre:
BeardPower
11:55@9214 By your standards :smile:
nedzadarek
11:55Yeah
BeardPower
11:56@nedzadarek Did you ever try KollibriOS?
nedzadarek
11:56nope, what is it?
BeardPower
11:57It's an OS written in Assembler: https://kolibrios.org/en/

Just try it out in a VM to get a feeling what is possible, if you CARE about resources ;-)
viayuve
11:57Os so fast that you don't need ssd
BeardPower
11:57Yep.
11:57It runs with 32MB/64MB of RAM.
11:57Browser, text editors and what not, everything is there.
11:58It cold-boots in 1-3 seconds!
nedzadarek
11:58Can I run... red there?
viayuve
11:58My only problem was no WiFi
BeardPower
11:58@nedzadarek Not, it would need to be ported to it.
viayuve
11:58No I have tested it no red
BeardPower
11:59KollibriOS is an example of what we COULD have instead of the bloat we have now.
11:59Same with BeOS/Haiku or AmigaOS.
12:00The issue is just market adoption. Look at Linux. The big graphic vendors don't really care about open sourcing their drivers or even give out specs to implement a driver.
nedzadarek
12:00@BeardPower I have checked the video... it looks like win 95
iArnold
12:01Those systems are all WAY too small to write even a 'simple' Hello World application!
BeardPower
12:01@nedzadarek Yes, but I can also let Windows10 look like 95 ;-)
iArnold
12:01You need at least 1.5 GB for that
nedzadarek
12:02I mean, it run (fast, ok) but then they showed some old file manager and run Doom
BeardPower
12:02@iArnold Systems like Kollibri? Why would you need 1.5 GB for a hello world?
nedzadarek
12:03hmm... what just happened?
BeardPower
12:03@nedzadarek I misread your post. I thought you were asking for Doom ;-)
nedzadarek
12:03hahaha
BeardPower
12:04The issue are the drivers. Either you don't get any specs for it or you need to sign NDAs and other crap to get info about the hardware.
12:06Apple does not have these issues: specific hardware; you don't have driver hell.
nedzadarek
12:07ok, but with thiss kollibrios can I run e.g. yt?
BeardPower
12:07yt? YouTube?
nedzadarek
viayuve
12:08Let me have my double shot ☕☕
nedzadarek
12:08in hd? :D
viayuve
12:09use browser short cut to download browser and run it
nedzadarek
12:09I'll try it when I have some time
BeardPower
12:09@nedzadarek No, as it does not come with a full fledged browser.
12:10You would need to port the software to the Operating System.
viayuve
12:10Not sure about HD I had to attach my lan to Mac with two dongles so f it but YouTube is possible try emulators
nedzadarek
12:11I get the feeling it won't work... and this os it's only for "look, I can boot up in 3s and stuffs"
viayuve
12:12No you can write programs for micro controllers that's why its designed
BeardPower
12:12It's a PoC OS yes. A tool for learning :)
viayuve
12:12Yep
BeardPower
12:13Windows is a PoC since its inception ;-)
12:14@nedzadarek Well, some OS boot in 30ms ;-)
nedzadarek
12:15@viayuve ah, for microcontrollers, I guess that explain a lot
BeardPower
12:15It's not about the boot time, it's about a different approach, trying out ideas.
nedzadarek
12:15@BeardPower well... it depends what OS
BeardPower
12:16@nedzadarek Sure, there is a definition of an OS. This might differ to the expectations of what an OS should be in the eyes of a user.
nedzadarek
12:18I mean some OS do simple stuffs = run faster
viayuve
12:19Now they are testing their updates directly so I broke my two old softwares had to separate those PC from internet bitch windows if I can I will move whole company to Linux based with help of Foss software
iArnold
12:19> @iArnold Systems like Kollibri? Why would you need 1.5 GB for a hello world?

You were contemplating the enormous bloatware of today! Sure you know about this: http://www.smart-jokes.org/programmer-evolution.html
BeardPower
12:21@iArnold :) Yeah, I stumbled upon this link a while ago :)
viayuve
12:23People still use stumb I thought it was just way to rotate page views
nedzadarek
12:25It's so quiet now :|
BeardPower
12:28@viayuve Ah, these crappy Windows updates.... They broke my install several times. Black screen, not booting, crashing, BSOD....
12:29Missing files, corrupted files....
12:29@nedzadarek Need to work on my projects ;-)
nedzadarek
12:29Me too :|
BeardPower
12:31@nedzadarek
>I mean some OS do simple stuffs = run faster

Well, the tasks are the same for every OS: task switching, kernel mode<->user mode, threads, security, scheduling and what not.
The difference is in the software and also hardware architecture.

Driver bloat, kitchen sinks, pinball games as easter eggs, you know the drill ;-)
nedzadarek
12:34You know, there are OSes like Linux or Window and OSes for other stuffs, like for old mobile phones.
BeardPower
12:37Yeah, but Windows and Linux is pure bloat.
12:38OS for old mobile phones: awesome!
9214
12:38I miss old jar games :(
nedzadarek
12:39Linux or Windows need to run with many hardwares/softwares. Old mobile OSes don't.
9214
12:39Gravity defied, sokoban, ah...
nedzadarek
12:40You can play it online ;)
9214
12:40Nay, it's not the same.
12:41Android has Soko++ though, which is awesome.
nedzadarek
12:41Why?
9214
12:41@nedzadarek no tactility from pressing phone buttons and holding small phone.
nedzadarek
12:42They have to do some kind of portable game engine: emulator + old games + old looking device
12:43Like they did with nes
BeardPower
12:49@nedzadarek Sure, but that is no excuse for driver hell and driver graveyards.
12:50Monolithic Kernel bloat...
nedzadarek
12:50You know, you cannot build just 1 driver?
BeardPower
12:53No, but you can build individual drivers with 10kb instead of an all in one with 400MB!
12:55I have 10 devices, so I only need 10 drivers, right? 10kb * 10 = 100kb.
Question: Why is my driver folder 4.1GB in size then? ;-)
nedzadarek
12:56All in one? Last time I was downloading drivers for old pc they have one for motherboard, one for wifi/internet... etc
BeardPower
12:56The GPU drivers are an all in one package.
12:57My GPU driver is a 400MB download.
12:58https://www.anandtech.com/show/3510
12:59From 2009 ;-)
nedzadarek
12:59Yes, mine is 300-400 mb too but it has a lot of stuffs
BeardPower
13:00>but it has a lot of stuffs

Yes, bloat :D
nedzadarek
13:00Well, even Red uses that bloat so it can be <1mb
BeardPower
13:00Like the Experience crap which takes 50MB (or maybe more).
13:01@nedzadarek It's using OS functionalities. The thing is, the same Experience app in Red would not need 50MB!
13:025MB for such an app would be insane.
nedzadarek
13:02Yes, for such up 50mb is insane, but there are a lot off dlls
BeardPower
13:04Which are the bloat :)
nedzadarek
13:05You cannot write everything <1mb, you know that?
BeardPower
13:05Dlls for tuning clock speeds are in the ranges of MEGABYTES!
13:05@nedzadarek No, not everything, but crap like such apps and dlls.
nedzadarek
13:06Well... I don't know... I'm not low-level programmer... but I think DLLs should have some bytes. They are not just code.
BeardPower
13:08Code is data is code ;-)
13:08Even DLLs have a lot of boilerplate.
nedzadarek
13:08I guess they need to hire you so you can do <1mb dlls ;)
BeardPower
13:08Compare the bloat of Windows threads to threads of Erlang: 1MB vs. a few kb ;-)
13:09@nedzadarek Na, I'm just sick of this bloat, just because they can shovel it down your throat.
nedzadarek
13:10^^ what you can do?
BeardPower
13:10Compare Minesweeper for Windows and Minesweeper for KollibriOS ;-)
13:10@nedzadarek Create my own OS :D
nedzadarek
13:10If you can, and support all the hardware/software :D
BeardPower
13:12My hardware and my software, yes ;-)
nedzadarek
13:12Calc? Text editor?
BeardPower
13:12Well you would need to support POSIX.
13:13Yes, Calc is only 17 lines of Red code, isn't it? ;-)
13:13https://www.red-lang.org/2016/07/native-reactive-spreadsheet-in-17-loc.html
nedzadarek
13:15I mean... we use pcs for many things. Building your own OS is wasting time unless you have a lot of time + knowledge
13:15Don't reinvent the wheel ;)
BeardPower
13:16This is not how I think. For me it's all but wasting time :)
13:16>Don't reinvent the wheel ;)

I don't, I just make a better wheel :D
13:17Besides that, it's a great learning experience.
nedzadarek
13:17You know... how about all the interesting stuff people have done? Won't you want to try them?
BeardPower
13:18No invention and progress if you don't re-invent the wheels now and then ;-)
13:18>how about all the interesting stuff people have done? Won't you want to try them?

Which are? Depends if they are interesting to me.
nedzadarek
13:19Maaany things.
BeardPower
13:25Tell me :)
13:25exoKernel? Capability based OS? Lock-less concurrency?
13:26What is it :)
13:26The Mill? Rax?
13:26DNA storage?
nedzadarek
13:26https://keiwan.itch.io/library-of-babel-3d
BeardPower
13:27Are you referring to the babel 3d app itself or the content of the books?
nedzadarek
13:28Both! :D
BeardPower
13:28Well, I'm a big fan of Leonardo da Vinci ;-)
nedzadarek
13:29find it!
BeardPower
13:29You need a lifetime alone on his stuff :smile:
nedzadarek
13:30just some of his book
13:30or derivative
BeardPower
13:30Maybe we should create a mirroring DSL ;-)
nedzadarek
BeardPower
13:34Leonardo was mirror writing.
nedzadarek
13:34Hmm?
BeardPower
13:35Red [ view ] -> mirroring DSL: [ weiv ] deR
13:35https://www.mos.org/leonardo/activities/mirror-writing
nedzadarek
13:35so every word! should be reversed?
BeardPower
13:36More than that. You will write from Right to Left and the characters are mirrored in the vertical axis.
nedzadarek
13:37but you cannot "mirror" letters... unless there are some utf8 stuffs
BeardPower
13:38You need to create your own mirror font.
nedzadarek
13:38Nice!
maximvl
13:39but did he also read this? :O
BeardPower
13:39It was natural writing for Leonardo. It was his crypto algo ;)
maximvl
13:39?siht daer osla eh did tub
BeardPower
13:40@maximvl Yes. He wrote all his textbooks in mirror writing, so the normal people were not able to read them :)
maximvl
13:40the website says the true reason is unknown
BeardPower
13:40He did not need a mirror to read it.
nedzadarek
13:40@maximvl you look like you are swearing :D
BeardPower
13:40@maximvl Well, other books state it was for security reasons.
maximvl
13:40as a left-handed I understand the struggles with paint going all over the hand and the place
13:41probably even worse with ink
BeardPower
13:41Well, Leonardo was a genius with an IQ of 220 (if that's true) ;-)
13:42Steven Hawking "only" has an IQ of 160 :smile:
maximvl
13:42the IQ only tells you how good you are at IQ test ;)
nedzadarek
13:42^^ this
BeardPower
13:43@maximvl Sure, but the recognized and standardized IQ tests are very different to what you can do on the web ;-)
13:43Look what Leonardo has invented, painted, written...
maximvl
13:44sure, it's just trying to measure all that with a single number sounds quite stupid to me
BeardPower
13:44Yeah, you have to take these IQ numbers with a grain of salt. That's for sure.
maximvl
13:45and of course you can't ignore the "environment", eg church influence, lack of information sources etc etc
nedzadarek
13:45grain... I think it need much more salt :D
BeardPower
13:45IQ 130 -> you are a genius
So someone with 129 is not a genius any more, but what is the real difference.
nedzadarek
13:45@BeardPower
; this is it
lc: [ti si siht]
rlc: copy []
foreach el1 lc [
    t: type? el1
    append rlc to t reverse to-string el1
]

reverse rlc
BeardPower
13:46@nedzadarek :+1: Now we need our mirror font :)
13:46And you also need to mirror the keywords.
maximvl
13:46to be honest there is no strict definition of a "genius" it's just in relation to the rest of the population
BeardPower
13:46Yep.
nedzadarek
13:46@BeardPower everybody is "dumb" when "check" how fish climgs the mountains
BeardPower
13:47Hehe :smile:
maximvl
13:47eg during a caveman period a guy who come up with counting is genius
13:47because rest just did sounds or something :D
BeardPower
13:48@maximvl Absolutely. That's why I don't give a damn about these absolute numbers. Same for this "social IQ". Statistics: you missed the target 50% of the time to the left and 50% of the time to the right. Statistically you have a success rate of 100%! :D
nedzadarek
13:49^^ or when somebody invented positional counting
13:49@BeardPower my and my dog (I don't have one but let's assume) have 6 leggs, statistically we have 3 legs per capita ;)
BeardPower
13:50@nedzadarek :+1:
nedzadarek
13:50@BeardPower
> Now we need our mirror font :)

do it ;)

> And you also need to mirror the keywords.

I'm not going to destroy my keyboard!
BeardPower
13:51If I have a lot of free time ;-)
13:52The average tokens of the community (10 people) is 100.
Well, this is also true, if only 1 community member has 1000 tokens and all others have 0.
13:52Welcome to statistics ;-)
nedzadarek
13:52Yes!
9214
13:56@nedzadarek why not just load reverse form [ti si siht]?
nedzadarek
13:58@9214 well, because of this: reverse mold/all [ti si siht]
9214
13:59
text
load swap x: reverse mold [ti si siht] back tail x
nedzadarek
14:00no: load swap x: reverse mold [ti si siht [tis]] back tail x
14:01I guess we can swap every { -> }, [ -> ]... etc
14:03I'll play with this later. Bye
toomasv
15:25@BeardPower
[![mirrored](http://vooglaid.ee/red/mirrored.png)](http://vooglaid.ee/red/mirrored.png)
15:52Which one is true Leonardo-script?
[![mirrored2](http://vooglaid.ee/red/mirrored2.png)](http://vooglaid.ee/red/mirrored2.png)
9214
16:21Both combined? ;)
toomasv
16:28Here is ultimate challenge to reproduce:
[![mirrored3](http://vooglaid.ee/red/mirrored3.png)](http://vooglaid.ee/red/mirrored3.png)
16:47@9214 Let me try
[![mirrored4](http://vooglaid.ee/red/mirrored4.png)](http://vooglaid.ee/red/mirrored4.png)
Indeed! Not bad at all.
9214
16:52@toomasv try to fully overlap them.
toomasv
16:55@9214 Thus?
[![mirrored5](http://vooglaid.ee/red/mirrored5.png)](http://vooglaid.ee/red/mirrored5.png)
9214
16:57@toomasv yup
toomasv
16:58 :relieved:
greggirwin
17:10I have things to do! Don't tempt me so! You are Crool.
17:13Matrix + transform @toomasv ?
toomasv
17:21@greggirwin Only x * transform :japanese_ogre:
17:31I must admit I am surprised, @greggirwin! What can be more important, or urgent, than reding?
greggirwin
17:31Nothing. *That's* what I'm doing. :^)
toomasv
17:32I see. *That* I can accept!
17:33@greggirwin Er.. You mean, you are doing *nothing*!?
greggirwin
17:40Feels like it some days lately. Nothing is more important than Reducing, so if I just keep doing that, eventually I'm doing nothing, yes?
toomasv
17:50Seems so! Lucky you! I have been forced to do lot of things but red(uce)ing lately, so I am quite frustrated.
BeardPower
19:00@toomasv The second one. It needs also to be slanted to the right.
toomasv
19:14@BeardPower As you say!
[![mirrore6](http://vooglaid.ee/red/mirrored6.png)](http://vooglaid.ee/red/mirrored6.png)
BeardPower
19:18Cool. Now mirror it on the horizontal axis :)
19:19Flip it up, so to speak :)
19:19But remember, each single character is mirrored :)
19:20E, R, S etc. -> need to look to the left.
toomasv
19:35@BeardPower Is this correct?
[![mirrored7](http://vooglaid.ee/red/mirrored7.png)](http://vooglaid.ee/red/mirrored7.png)
BeardPower
19:47Yes, except the writing direction. You need to write from right to left.
19:48https://houseoftruth.education/images/research/mirrorwriting_sample.png
19:49It's mirrored at the vertical axis, but as a whole.
19:51The slant to the right would be a slant to the left in the mirrored version.

It's easy to do with rendering to a render target and flip it, but with each single letter, you have to flip each letter and write from right to left.
toomasv
19:52Dang! My head is rotated already
[![mirrore9](http://vooglaid.ee/red/mirrored9.png)](http://vooglaid.ee/red/mirrored9.png)
19:56My challenge still stands! Any brave ones? :point_up: [April 4, 2018 7:28 PM](https://gitter.im/red/chit-chat?at=5ac4fd405f188ccc152dddf1)
BeardPower
19:56@toomasv You are close! The mirrored one needs a slant to the left, as the original is slanted to the right ;-)
toomasv
19:59That was easy one
[![mirrored10](http://vooglaid.ee/red/mirrored10.png)](http://vooglaid.ee/red/mirrored10.png)
20:01Basta! BN
BeardPower
20:13@toomasv :clap: You did it!
20:13What does "BN" mean?

toomasv
03:06@BeardPower BN - buenas noces :zzz:
BeardPower
09:10Ah! :)
toomasv
09:57@BeardPower :)
Here is the [mirror-scripting func](https://gist.github.com/toomasv/357b022f298ff90d821477324e9c8cf4). Not quite DSL.
mirror: func [t [string!] /view /with fnt /local tx bx s][
	layout/only compose either with [[tx: text font fnt (t)]][[tx: text (t)]] 
	s: size-text tx 
	x: either with [fnt/size][2]
	bx: compose/deep [box (as-pair s/x + x s/y) draw [transform 0x0 0 -1 1 (as-pair s/x + x 0) text 0x0 (t)]]
	if with [insert last bx [font fnt]]
	either view [system/words/view bx][bx]
]

Some examples:
mirror/view "Try some leonardic writing!"
; See output below

view compose/only [panel gold (mirror "Try some leonardic writing!")]

f: make font! [name: "Lucida Sans Unicode" size: 26 style: [italic]] 
mirror/with/view "Leonardo da Vinci wrote mirrored text - you can too!" f

![mirror1](http://vooglaid.ee/red/mirror1.png)
![mirror2](http://vooglaid.ee/red/mirror2.png)
![mirror3](http://vooglaid.ee/red/mirror3.png)
BeardPower
10:13Very nice!
10:14Poor man's crypto :)
10:14No we can create stickers ;-)
10:15For rear-view mirror view :)
toomasv
11:17More fun
; f as above
mirror/with/view reverse "Leonardo da Vinci wrote mirrored text - you can too!" f

![mirror4](http://vooglaid.ee/red/mirror4.png)
BeardPower
11:39You should mix horizontal and vertically letters. Every other letter is rotated 90 degrees :smile:
11:39Red Matrix ;-)
11:40:+1:
11:40Matrix transformations are KING :clap:
toomasv
11:46Nice idea. (There was a bug in mirror.red - it crashed silently with view mirror/with "Some text" font. Now [corrected](https://gist.githubusercontent.com/toomasv/357b022f298ff90d821477324e9c8cf4/raw/02e88988e820b2aeb03b30d4dd8da7585c24f939/mirror.red))
BeardPower
11:48No :bug: allowed :+1:
nedzadarek
11:56Maybe you should make a mirror to see both, original and mirrored words?
toomasv
17:30@BeardPower You mean something like this?
[![mirror5](http://vooglaid.ee/red/mirror5.png)](http://vooglaid.ee/red/mirror5.png)
BeardPower
17:31Yep 😎
toomasv
17:32:+1:
greggirwin
18:25Would someone please find the start of this conversation, and put that and a link to @toomasv's marvelous code in the Links To Remember wiki page?

Thanks for sharing your sceret @toomasv. I played a bit, but hadn't used transform before, at least not since R2 in small ways, and was scratching my head a bit when it didn't work for me. I will study your code and learn!
BeardPower
18:30It seems we need some math introduction to matrix transfoms :)
9214
18:39@greggirwin https://github.com/red/red/wiki/Projects-showcase
18:39problems with long wiki names is that you forgot them as soon as they are created
greggirwin
18:43The problem with long wiki names is...wikis. Hey, @gltewalt, in your spare time (hah!) see if there's a way we can tag wiki pages (doubtful) or some kind of organization system that parallels and augments other docs. I just try to find a good word to put in the title, and live with basic search, but it's not great for broader learning and browsing.

We could add extra words in page names, as fake tags, but have to see how github likes that.
18:44Also, that page isn't just for projects, but for things the PR team can pull to post updates on other channels, which may just be bits from chat, or announcements.
18:51Curses! I was trying with base, just changing to box solved it for me.
toomasv
19:22@greggirwin Thanks for encouragement! I think box's working has something to do with its transparency. Transparency management is tricky thing.
19:30@BeardPower transform is straightforward, matrixis tricky because of it's rotation management. But matices can be added, while transform and its little brothers (translate, scale, rotate) can just be stacked (which is often all you want).
BeardPower
19:31But they are all matrices :)
toomasv
19:32Yes, but some ore simplified for user-friendliness
BeardPower
19:33Well, I'm used to matrix pushing and popping in OpenGL, so maybe I'm a little biased ;-)
toomasv
19:34I never used OpenGL :flushed:
BeardPower
19:34Is transform something different in Red?
19:34DX? Maybe Glide3D? :)
toomasv
19:35I never programmed seriously before Red
BeardPower
19:35Wow, then you are a really fast learner!
19:35Respect!
19:35:bow:
toomasv
19:36Only some SQL, html, elementary javascript, php
BeardPower
19:36So when you mean transform, what do you refer to exactly?
19:36Nice.
toomasv
19:37https://doc.red-lang.org/en/draw.html#_transform
BeardPower
19:37Ahhhh!
19:39Matrices can also be stacked, in fact you need to stack them.

>matrixis tricky because of it's rotation management.

What exactly? The gimbal lock?
toomasv
19:41Because of that: https://en.wikipedia.org/wiki/Rotation_matrix
BeardPower
19:43Well, I feels natural after some time, if you are into the 3D APIs. :)
toomasv
19:43I hope so.
BeardPower
19:43But yes, it can be a little overwhelming/tricky for newcomers.
toomasv
19:44:baby:
BeardPower
19:45Euler angles have the issue of gimbal lock, that's why Quaternions are superior to them.
Once Red pushes into the realms of 3D, you will see :)
toomasv
19:46Elven-talk again!
hiiamboris
19:46like quaternions are free of issues ;)
BeardPower
19:46@toomasv Yeah ;-)
19:46@hiiamboris If they were, they would be a gold mine for patent trolls :D
hiiamboris
19:48as for 2d matrices, they could maybe introduce a basis keyword where you define x and y ?
I mean it's the same thing as rot+skew+scale but more intuitive, no?
BeardPower
19:52Well there are different notations https://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/notations/index.htm
19:55Do we have some mathematician in the Red community? :)
greggirwin
19:56Ladislav Mecir is an old Reboler and a mathematician, but I haven't seen him around, or following Red. Maybe post on one of the main rooms to ask.
BeardPower
19:57>as for 2d matrices, they could maybe introduce a basis keyword where you define x and y ?

What do you mean exactly? So we can just write rotate around x for 60 degrees or set the matrices more conveniantly?
19:57There is already translate, rotate and scale as a function.
19:58@greggirwin Good to know :)
hiiamboris
20:00@BeardPower yeah that's what I mean, we have to write all these rotate scale whatever, while we could just imagine our basis vectors and set them with a basis keyword
which is the same as defining a matrix, but not so obvious and personally I always have trouble recalling if I should fill rows or columns in the matrix.... ;)
BeardPower
20:02Hehe, yeah. We all share the same fate :smile:

This could be something to think about.
20:04>I mean it's the same thing as rot+skew+scale but more intuitive, no?

Absolutely. I will dig through some 3D APIs. Maybe one has a nice interface to the matrices.
hiiamboris
20:10as for quaternions, that's some hell: there's 4 notations, each one you should consider when converting a matrix to a quat, then you can't often sensibly interpolate over quats: even if q1 and q2 differ by some 1 degree you can get a full circle around or worse
BeardPower
20:20Yeah, nothing is perfect. I'm still searching for some other notations.
20:28Maybe you take a look into:
Euler–Rodrigues parameters and
Rodrigues' rotation formula

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

9214
21:31Are there any semiotically-inclined thinkers in our club?
greggirwin
21:32Icon guarantee signs of them exist.
9214
21:33@greggirwin what about this?
21:33[![van_driem_paper.pdf](https://files.gitter.im/red/chit-chat/kAqf/thumb/van_driem_paper.jpg)](https://files.gitter.im/red/chit-chat/kAqf/van_driem_paper.pdf)
21:35This one is an interesting read so far:
https://www.goodreads.com/book/show/2088665.The_Symbolic_Species
greggirwin
21:36I like brains. Will have to make time to check those out.
nedzadarek
21:57@9214 well... I just like watching this person: https://www.youtube.com/watch?v=Mxmc8zo5Jns

toomasv
03:16@9214 Loong time ago I was very fond of reading into semiotics, but more of the culture-semiotics type. Read most of Lotman, some of Eco and Sebeok.
BeardPower
08:42@9214 now THIS is elfen-talk 😉
9214
09:28@toomasv wow, thanks for the tips!
BeardPower
09:30Please, don't leave :older_man: behind! 😄
toomasv
09:30@9214 You are welcome! :)
09:33And, of course, if by any chance you haven't stumbled on [C. S. Peirce](https://en.wikipedia.org/wiki/Charles_Sanders_Peirce) yet, check him out - one of the fathers of semiotics. You'll love him.
9214
09:43@toomasv I thought to start with Saussure first.
09:50@BeardPower push Wyckoff hard and I'll get back to you ;)
BeardPower
10:38@9214 Need to analyze in which phase we are currently in :)
toomasv
10:52@9214 I remember Saussure by quotes only, mainly from his *Lectures on General Linguistics*.
greggirwin
12:35My son gave me Pierce's Selected Writings. Not light reading!
12:36I only have an intro to Saussure, next to Piaget.
toomasv
12:37@greggirwin Have you played with his graph logic? I found it fascinating.
greggirwin
12:37I have not. :^(
9214
12:38I failed to grasp the concept of iconicity, but symbols and indices make sense.
toomasv
12:42What 's confusing about iconicity?
9214
12:42@toomasv what does it mean when one thing is an icon of another thing?
toomasv
12:42@greggirwin John Sowa's intro http://www.jfsowa.com/pubs/egtut.pdf
12:45@9214 I understand it as icon representing its referent primarily by some physical characteristic; like photo is icon of the thing photographed. Or if you say "Mew" you make a vocal icon of cat, but here the representation is not so clear anymore. Instead, if you say/write cat, you make a symbol (i.e. conventional representation) of cat.
9214
12:48@toomasv so if something reminds me of something else, then it's an icon?
12:49I.e. iconicity helps to distinguish something from everything else.
toomasv
12:52It can be mixed. E.g. mark of fossil in/on stone is primarily an indexial representation (physical consequence), but represented on a photograph in science journal, or on exhibition, it becomes an icon.
12:53Every sign can (and does) remind you of something else, it is what it means to be a sign.
greggirwin
12:54@toomasv thanks. As I said, not light reading. ;^)
12:56An icon, to me, is *like* something, while a symbol *represents* something.
toomasv
13:01In peircean sense, icon represents by likness, symbol by convention, index by physical consequence. But they can be, and often are, mixed. But there are other uses of these words, of course.
9214
13:05https://thenostromofiles.com/2018/01/26/jaxon-polland-illustrates-cobb-semiotic-standard/ another mystery from my childhood
13:06@toomasv I understand it such as: icon - likeness, symbol - convention, index - co-occurrence in space/time.
toomasv
13:07@9214 I would append to your last sentence at some point in space/time, i.e not necessarily currently.
9214
13:08@toomasv yes.
BeardPower
13:43@hiiamboris A division through 0 is not really an error, in Mathematics it's, IIRC, 9.99E infinity, 1 E infinity etc. (we also proved that in Math class). Some old HP calculators even print that as result :)
13:44https://www.youtube.com/watch?v=y7aQbWkuPWQ
13:45https://www.youtube.com/watch?v=J2z5uzqxJNU
hiiamboris
13:52that's why they invented the lim thing :)
BeardPower
13:52We also hacked the axioms of Math to get this result: 1 + 1 = 3 :D
So Math can also be fun ;-)
13:53To infinity and beyond ;-)
13:54>that's why they invented the lim thing :)

Well, was it invented or just found ;-) Obviously it existed, we just were not aware of it until we found out.
hiiamboris
13:55isn't it the same thing? :)
BeardPower
13:56That is the question. We are digging in the realms of philosophical questions. Does the word really exist or is it just something our brain is fabricating? :)
13:57You can prove that you are existing, but you cannot prove that I do. Maybe it's just you creating me ;-)
13:58Welcome to the Matrix! :smile:
hiiamboris
14:00so you're a solipsist too? :D
BeardPower
14:03Sometimes, because it boggles my mind, that some people can be that stupid :smile:
14:04It must be some system error in my brain :D
hiiamboris
BeardPower
14:06But I must say, I did a really good job on inventing Red :smile:
9214
14:06and I did a good job on inventing all of you
BeardPower
14:07@9214 I totally forgot, that I invented you on a Monday ;-)
9214
14:07@BeardPower it was me who invented Monday in a first place.
BeardPower
14:08That's what I let you think all the time.
14:08:dizzy_face:
9214
14:08@BeardPower it's because I let you think that you let me think.
BeardPower
9214
16:44@rebolek I checked out Ikari :+1:
BeardPower
17:05@9214 Ikari Warriors?
9214
17:05@BeardPower http://www.imdb.com/title/tt0122111/
17:05guh, it's Ikari**e**
rebolek
17:06I was wondering when I was talking about Ikari Warriors :)
17:07@9214 so what do you think? I know, it's really old, but I like it.
9214
17:08@rebolek it's interesting and nicely looking, but the ending seems a bit rushed.
BeardPower
17:08An awesome game 😎
17:08@9214 Thx!
rebolek
17:09@9214 I agree, the ending is bit meh, but I think they had to do it because of the era when it was done.
9214
17:09@rebolek https://pyl1998.wordpress.com/dust-1998-201x/
rebolek
17:11@9214 Thanks, I'll look into it. I'm back in the civilization, so I will have more time for such things and can get back to Gonzales mode.
9214
17:12@rebolek ;)
https://www.youtube.com/watch?v=oyJwQvbTWZM
rebolek
17:17I was highlander last week, cutting wood and such stuff. No time for reducing.
BeardPower
17:21Well, you reduced some wood 😉
rebolek
17:22Into logs, right :)
17:23The only programming I was doing was on ESP8266 and that can't be done in Red yet, unfortunately.
BeardPower
17:39https://www.stavros.io/posts/perfectly-secure-bitcoin-wallet-generation/
17:40Why is Red not running on it yet? Or with other words: why is this not fixed already by you? 🤓

9214
15:41@nedzadarek I learn J in my spare time.
nedzadarek
15:45@9214 it's interesting language. It's array operations are amazing!
9214
15:54@nedzadarek brevity and richness of built-in primitives is batshit insane. And I love function compositions (trains/hooks/forks).
nedzadarek
15:56@9214 Yes, they are nice but things like (((,[:+/_2&{.)@](^:(2-~[)))&1 1)get me thinking: would you like to read that code few months later?
9214
15:59@nedzadarek I see this kind of debates over and over in discussions about J. It takes some time to read J code (it's actually harder than to write it), but it pays back in a long term.
nedzadarek
16:01> pays back in a long term

How? (I'll be back... later, sorry)
9214
16:05@nedzadarek short feedback loop between you and your program. It takes fewer keystrokes to write code, and lesser time to read and refactor it.
nedzadarek
20:19@9214 but it takes much longer time to understand (parse) it when you don't remember all the stuff. I learned some of the J but I don't understand that code at all (maybe few symbols).
I tried Haskell and I found fibonacci sequence in tacit style ( https://wiki.haskell.org/The_Fibonacci_sequence ): fibs = 0 : 1 : zipWith (+) fibs (tail fibs). It's much simpler to understand for me.

9214
06:46@nedzadarek
> It's much simpler to understand for me.

So what we're arguing here is subjective preference. It's not that hard to remember what each J primitive means. Moreover, these primitives is 90% of everything you ever gonna use, and this is a major factor.
hiiamboris
07:14yeah let's instead code in binary... 0s and 1s - just two primitives to remember, isn't it the heaven? ;)
07:15or even better, in uppercase and lowercase zeroes!
9214
07:16@hiiamboris you completely missed the point.
hiiamboris
07:17@9214 one about subjectivity?
9214
07:18@hiiamboris that a set of expressive and well-designed primitives with short names isn't the same as coding in binary. The former is *human notation*, the latter is *machine code*.
hiiamboris
07:21I think @nedzadarek meant that there's reason we use language with clearly distinguishable letters and words and not just series of punctuation characters (which I idealized as binary)
and the reason is in how our brains process visual data
9214
07:22Maybe when you read a book, but it's not the same as reading/writing code.
07:23Mental effort is the same, be it C or J, but it takes much less time to code a solution in one language than in another.
hiiamboris
07:26if you mean to *type* a solution, then I don't see how that matters, as in my experience typing is less than 10% of coding
9214
07:26No, I meant coding.
hiiamboris
07:27so what changes if I replace punctuation with words?
9214
07:27Gee, why I ever arguing.
hiiamboris
07:28arguing is fun, no? :)
rebolek
07:29We will be coding in emojis sooner or later anyway :satellite: :+1: :fax: :ocean:
hiiamboris
07:29@rebolek lol
9214
07:29https://www.youtube.com/watch?v=9xCJ3BCIudI
07:29https://www.youtube.com/watch?v=v7Mt0GYHU9A
hiiamboris
08:44saw only the 1st, but I've gotta admit: quite interesting lecture
I find it educational to see what people's beliefs about coding are
like the one that if you zoom out a lot to fit more code onto a screen you'll know what it actually does ;)
08:47it also kind of encouraging to see that there's more and more talk about the complexity problem and that more minds are trying to approach it
nedzadarek
10:40@rebolek emoji? I have seen that hell...
@9214 @hiiamboris
> So what we're arguing here is subjective preference.

Yes, it's little subjective.

> I think @nedzadarek meant that there's reason we use language with clearly distinguishable letters and words and not just series of punctuation characters (which I idealized as binary)
and the reason is in how our brains process visual data

I agree with you. We like naming stuffs.

> Mental effort is the same, be it C or J

I disagree with you. People will recognize words like if or while . Indentation matters too (pseudocode):
if (a = (b + c)) [print "hello world"]

vs:
if (a = (b + c)) [
  print "hello world"
]

Add function:
if (foo?) [
  print "bye world"
]

ps. I mean normal code. You can write obfuscate code in a lot of languages.

> Maybe when you read a book, but it's not the same as reading/writing code.

It's not the same but it might share similarities, e.g. The ball is red vs ball = red.

ps. and of course I can "divide and conquer" with J too: write some small functions and create bigger from them.
10:40ps2. I'll watch that movies... but they are 2hours long :|
9214
11:15Stick to your opinions and use whatever floats your boat, I'm not really interested in debating on this any further.

iArnold
19:28@rebolek Only messages in which group or all messages are counted. Glad I stopped posting, I would have to stop to let 9124214412 pass.
19:29@9214 you passed your quota (9214) on posts!

guraaku
12:38oops
9214
12:38@guraaku :wave:
guraaku
12:39Hi, wondering if anyone has had much to do with the Racket language
9214
12:39@guraaku you can check out https://gitter.im/red/red/lisp room
guraaku
12:40I was having a read of Beautiful Racket
12:40https://beautifulracket.com/
12:40ah ok I'll have a look in there
12:40Mattew Butterick seems really taken with Racket, with its ability to create new languages
12:41just wondering if anyone had had any experience with this, and in comparison to making languages in Red :)
12:42How have you been anyway, @9214 ? I've been on holiday for a couple of weeks, so haven't done any programming for a little while
9214
12:43Well, I haven't checked Racket much (aside from SICP tinkering). It is posed as "the world's first programming language creation ecosystem". On a first sight, it indeed has a rich toolset and macro facility, but it looks more complicated that Red approach (take this with a grain of salt, since I'm biased ;))
guraaku
12:43hehe..biased ? never ! ;)
12:43yes, it seemed lots more complicated than Red
12:44special things you had to do - rather then Red just allowing you to pass a block around and process it when and how you like
9214
12:45This book is worth checking out anyway, since it contains useful information on DSLs.
guraaku
12:45yes, I'll have a bit of a look through it
12:48anyway, now that holiday is over I'll get back into things :)
9214
12:49:+1:
guraaku
12:49am going to introduce Red to a non-programmer tomorrow....
9214
12:49Oh, that's an interesting task!
guraaku
12:49he said he's interested in learning programming...
12:49hehe...yes
12:50interesting to see how Red as a first language goes
12:51not that I'm the best teacher, being very new to Red myself !
9214
12:51Well, Red was the first language I attempted to truly master, but the first one I ever used was... either Basic or C, can't remember.
12:51Ah, no, it was Pascal!
guraaku
12:51same here, Pascal was the language used for teaching when I was at uni
12:52ah, ok but I did do some BASIC at high school before that though
toomasv
12:53Niice! Another nonprogrammer besides me.
guraaku
12:53well, isn't everyone going to be a programmer now ? Apparently schools are all going to be teaching programming....
nedzadarek
12:54@guraaku no... they don't even teach kids how to use computers...
guraaku
12:54really ? where abouts are you, @nedzadarek ?
nedzadarek
12:55Poland... but I guess that's what is in small places.
guraaku
12:55hmm... times will change though I guess
nedzadarek
12:56Maybe... in 2020+ :D
9214
12:56In my time they tried to teach us computer stuff, but it didn't really worked out.
guraaku
12:57I've thought about this though - what is really the essence of being a programmer ? In the end, I think it's just really detailed logical thinking
12:57some people just aren't interested in such small boring details
nedzadarek
12:58But at least they must know how to use webbrowsers (e.g. firefox) and know basics...
guraaku
12:58kids seem to pick it up so easily these days
9214
12:59Environment has changed.
guraaku
12:59getting old ! ;)
nedzadarek
12:59Kids have all that "click to download game" but when I said something... they were like "what?"
guraaku
13:02Anyway, time for bed, have a good night everyone
nedzadarek
13:02Well, good night
9214
13:02cya!
rebolek
13:08Nenad has now posted exactly 9124 messages
9214
13:10@rebolek can you track 133...7 message counts?
rebolek
13:11@9214 do you want to know what's your 1337th message?
13:15Or are you afraid to know The Truth?
nedzadarek
13:15The truth is out there.
9214
13:16Interesting factoid: If you apply 0 2 1 3 permutation to my nickname
0 2 1 3 C.":9214
9124

And if you apply the same permutation to the list of positive integers up to 4:
i.4
0 1 2 3
   0 2 1 3 C.i.4
0 2 1 3
13:18And if you apply it to itself:
C.~ 0 2 1 3
0 1 2 3
13:20@rebolek I'm laughing in the face of fear!
rebolek
13:20@9214 and I'm struggling with #3223, so it will take some time
9214
13:20https://www.youtube.com/watch?v=d_T9ryNQhd0
rebolek
13:38@9214 aaaannd
13:38the Big Secret is out!
13:38
#(
    id: "5985fce7614889d4751fba4f"
    text: {
^/closure: func [vars spec body][func spec bind body context vars]^/
}
    sent: 5-Aug-2017/17:14:15.381
    v: 1
    author: "9214"
    room: "red/help"
    room-id: "5780ef02c2f0db084a2231b0"
)
9214
13:39@rebolek thanks, you helped me to get the closure.
rebolek
13:39happy to help
BeardPower
13:41@9214 I was not aware, that you voiced Simba! :)
9214
13:42@BeardPower I don't hear funny Russian accent in his voice, so it probably wasn't me. ;)
rebolek
13:42My leet message is No, you can’t create image from block of tuples.
13:44and some inception
>> probe m/9214
#(
    id: "5ab1070cfa066c53254f538d"
    text: {```text^/block: [1 2 3 4 5 6 7 8 9 10]^/changes: [^/    [02 04 21] ^/    [06 07 42] ^/    [09 10 03]^/]^/^/forall changes [^/    transform: changes/1^/    change/part^/        at block transform/1^/        transform/3^/        max transform/2 - transform/1 2^/    probe block^/]^/```}
    sent: 20-Mar-2018/13:05:16.852
    v: 1
    author: "9214"
    room: "red/help"
    room-id: "5780ef02c2f0db084a2231b0"
)
9214
13:45@rebolek I remember that one, it was addressed to @nedzadarek !
nedzadarek
13:46hmm... well, I don't remember it
rebolek
13:46You should've adressed it to you, so it would be full inception
9214
13:46@rebolek does gitter tracks purple messages?
13:47@9214 like this one?
rebolek
13:47I don't see why it shouldn't
13:49I will check it
BeardPower
13:51@9214 They are too powerful, so nope.
9214
13:51@BeardPower who?
13:51Purple ones?
rebolek
13:52
#(
    id: "5acf63577c3a01610dd59dfc"
    text: "@9214 like this one?"
    status: true
    sent: 12-Apr-2018/13:47:03.577
    mentions: [#(
        screenName: "9214"
        userId: "57dad69540f3a6eec06570e4"
        userIds: []
    )]
    v: 1
    author: "9214"
)
9214
13:52@rebolek :clap:
13:52You should rename yourself to Reboleye though.
13:53Big Daddy watches his flock from above.
rebolek
13:53Hm, I wonder what status: true means, it's not in standard messages.
BeardPower
13:53@9214 Yep, the purple ones.
13:54Ah, black magic is involved.
rebolek
13:54Ah, it's probably status message
BeardPower
13:54Yeah, I think so.
13:55Ah, ok. This is no IRC :smile:
rebolek
13:56If it was IRC there won't be any log at all :)
BeardPower
13:56Well, that's what some people believe ;-)
13:57As long as you don't use secure IRC or SILK, you can log everyone and everything as a server/channel op.
13:59Oh, Intel will release their own dedicated GPU in 2020, which will blow everything out of the water...
rebolek
13:59certainly
13:59that's why they're using AMD's GPU now
BeardPower
13:59Including GPU security holes? :)
9214
14:00I see where this talk heading.
BeardPower
14:00Well, they poached key people from AMD.
14:00@9214 The Mill, what else? :smile:
14:01We definitely need more competition in the field of CPUs/GPUs.
14:02The Itanium would have been "The Mill", if they would have let the key people worked on it longer.
14:05Cryptocurrencies are back on track :+1:
14:05To the moon!
9214
14:05Too late to go all Wyckoffian :(
BeardPower
14:05Yes, the accumulation phase is over.
9214
14:06I still don't get how one can see this phases in advance.
BeardPower
14:06But no worries, they are re.accumulating now.
rebolek
14:06If you are making these phases, you know when they will come
BeardPower
14:07[![prediction.PNG](https://files.gitter.im/red/chit-chat/rBk2/thumb/prediction.png)](https://files.gitter.im/red/chit-chat/rBk2/prediction.PNG)
9214
14:07@BeardPower so it's a correlation between one graph and some bar chart?
BeardPower
14:08You need to look for the keypoints and the volume.
14:08@9214 Well, you can start with the bar chart at the beginning. Once you have enough experience you can just tell from the P&F.
14:09You see the huge Red Os on the left?
14:09Look at the volume!
14:09This is the selling climax.
9214
14:09Yup.
14:09I don't quite understand the terms (like volume, stock, etc).
BeardPower
14:09It will form lower lows and lower highs with decreasing volume.
14:10And do you see the green X on the right?
14:10Before that there are Red Os with very little volume.
9214
14:10Yes, I see the mOtriX.
rebolek
14:10Red Os?
BeardPower
14:10This means, that there is no supply.
rebolek
14:11I want Red OS.
BeardPower
14:11@rebolek In my screenshot, there are Green Xs and Red Os :)
rebolek
14:11@BeardPower I know, just making bad jokes :)
BeardPower
14:11I will annotate the screenshot later in the evening, so you see the key-points more clearly.
14:12@rebolek Alright :D
14:12The two yellow lines on the bottom form the trading range.
14:12The yellow line on the top is the PREDICTED price.
14:13As you can see, price reached that target.
It was a R/R (Reward/Risk ratio) of 20:1.
14:13Which means: you risked 100 bucks for a reward of 2000 bucks.
9214
14:15Buzztalk! On my lawn!
BeardPower
14:15It was a >10% move. Other cryptos moved >100%. One was even moving 5000% in 24h a few weeks ago.
9214
14:15https://www.youtube.com/watch?v=07So_lJQyqw
BeardPower
14:16https://www.youtube.com/watch?v=xgS4I-47mJc
9214
14:19@BeardPower and the red dotted line is the value around which new price will fluctuate?
BeardPower
14:20@9214 Yes, it's the current Bid price.
14:21@9214
>I don't quite understand the terms (like volume, stock, etc).

Volume is just the amount of contracts traded at a specific time.
Like 50k Red tokens or 1000 Apple shares.
Stock is just a share of a public traded company, e.g. Apple.
hiiamboris
14:23@BeardPower looks like you're not just a miner but also a pro trader ;)
9214
14:24So, someone has a stock and someone buys the shares?
14:25@hiiamboris he's a Purple Hen. You shouldn't mess with this type of guys.
hiiamboris
BeardPower
14:34@hiiamboris I try ;-) I'm just mining DigiByte right now.
9214
14:35@BeardPower do you use some special graphing software for this charts?
14:35http://stockcharts.com/ ?
BeardPower
14:37@9214 Share and Stock are just synonyms for a part of a public traded company.
14:39@9214 The screenshots are from http://tradingview.com/. I just use it for a fast lookup. Stockcharts is great for long time investments, but I use special Charting software yes. https://www.sierrachart.com/ https://www.quantower.com/ https://www.medvedtrader.com/
9214
14:40> https://www.medvedtrader.com/

@rebolek :point_up: confirmed.
BeardPower
14:40@hiiamboris Yeah, only RDM can deal with Purple Hens ;-)
14:40@9214 I hoped you will like it ;-)
14:42Sierra Chart is coded in C++, the other ones are C# apps.
14:43I can't realease Redtrader yet :smile:
rebolek
15:58@9214 Bear is everywhere!
BeardPower
17:40@rebolek Was there some claim of you? Or why did my link confirm it?
rebolek
17:45@BeardPower "medved" is "bear" in Czech and Russian.
9214
17:46@rebolek so it's not *just* a bear, it's a Slav bear!
17:46We're in a serious trouble here.
BeardPower
17:47@rebolek Ah!
9214
17:47Slav bears are [unstopable](https://www.youtube.com/watch?v=oyA8odjCzZ4).
hiiamboris
17:48what eludes me is why the logo of medved-trader is a bull :D
9214
17:48Slav bears are good at camouflage.
rebolek
17:51@9214 right

nedzadarek
12:51@tmpbci there is Rebol 3 + view in 64b but I don't know it's state:
https://www.atronixengineering.com/downloads/
greggirwin
18:24There's also an experimental R2 64-bit from RT.
9214
18:26I don't think @tmpbci can see your messages if he hasn't joined the room.
nedzadarek
19:26@9214 good to knows. Thank you.

9214
18:03@greggirwin :^\
18:03[![image.png](https://files.gitter.im/red/chit-chat/OFj3/thumb/image.png)](https://files.gitter.im/red/chit-chat/OFj3/image.png)
greggirwin
21:36New world you set up? Firewall port 5400 clear?
BeardPower
21:37What is this AltME thingy all about? Mail+Messenger?
21:37Alternative Messenger?
greggirwin
21:39http://altme.com/
21:39Yes. It's what all these modern systems aspire to be. :^)
9214
21:40@greggirwin no, I tried to connect to Rebol3 world, I guess. Then I figured out that I need an invite or something.
greggirwin
21:41Messaging, file sharing, checklists, extendable, so you could add features like a bug tracker. Only the initial lookup to find where a world is hosted is based on the altme server. So all private beyond that, if you run your own server.
9214
21:41http://www.rebol.org/aga-groups-index.r?world=r3wp
greggirwin
21:42Ah, r3wp3 is not the world name, just something used for the "web public" chat that is extracted.
21:42And, yes, you need an invite. It's secure. I can send you one though. Rebol3 world has been down a long time, but I can invite you to rebol4.
21:43PM the email address to use and I'll make it so.
BeardPower
21:43> Yes. It's what all these modern systems aspire to be. :^)
I thought these are some user groups the first time someone was referring to it.

So why is there no modern version or world-wide adoption yet? :)
9214
21:43@greggirwin just bring me to the sacred druid place :^)
21:44FYI, I already spared you my e-mail some time ago, was it in March? :wink:
greggirwin
21:45@BeardPower because...part 2 is that the world is stupid. :^) Part 1 is that, as with Rebol, we didn't want to compete with our revered leaders of old. There was one period we thought about it, but nobody took the lead to make it so, and design by committee was an issue. So, as soon as we have full I/O, you can bet some of us will try to make it happen.
21:47@9214 I'm sure I have it 10 places, but all I can find are horse-drawn-Cartesian jokes right now.
BeardPower
21:51@greggirwin Ah, the usual plague: stupidity.

I was searching for an app for me and my colleague.

Features needed:
- end-to-end decryption for everything
- messaging
- file-sharing
- screen-sharing
- crystal-clear voice-chat
- Desktop
- Cross-platform
21:51What is AltME missing?
21:51I already thought of developing my own ;-)
21:52I definitely want to create such an app with Red!
greggirwin
22:40Screen sharing and voice are not there. Not sure what you mean by Desktop, unless you mean it's a desktop app, which it is.
22:41Data is not stored encrypted.
BeardPower
23:07Yes, Desktop app.
But data is transferred over an encrypted channel?
greggirwin
23:09Correct.
BeardPower
23:10Thanks.
23:11Let's create a new Skype/Telegram/Tox/ICQ whatever killer.
23:15So are you guys using AltME for Red communication? Maybe I can get invited? ;-)
23:16Is it possible to visit a world and join a world at the same time?
nedzadarek
23:17@BeardPower Sorry... I read it Let's create a new Skynet :|
BeardPower
23:18@nedzadarek :shipit:
nedzadarek
23:19what is shipit?
BeardPower
23:19Our Skynet :)
greggirwin
23:19I can invite you, absolutely. We should set up a Red world. @x8x ?
BeardPower
23:20Great!
greggirwin
23:20At the very least, people should experience it before building a new one.
BeardPower
23:20Yes, I'm very curious!

iArnold
06:56Instructions here: http://www.rebol.org/aga-join.r
is it rebol4 world these days?
Also a long time discussion topic is building an alternative called OpenME, but the biggest problem is the availability of a suitable programming language to develop this application.
greggirwin
06:58Info is out of date there, yes. Red should soon be suitable.
iArnold
07:07soon TM ;-)
greggirwin
07:07Time is relative. :^)
iArnold
07:08No, spacetime is?
07:10Anyway, soon (TM) should be really soon (TM)!
07:25Any news on new devs joining the team?
greggirwin
07:27Announcing announcements is always a problem for me. Gets me in trouble, so...maybe. ;^)
iArnold
08:35And I was thinking you were appointed to do communications ;-)
BeardPower
21:38Found some interesting old article: [The Hackenbush number system for compression of numerical data](https://www.sciencedirect.com/science/article/pii/S001999587490429X)

rebolek
11:38I've implemented some functionality of Cloudflare API, so now you can do dynamic DNS for your machine in form of machine-name.your.domain with a simple oneliner:
forever [cloudflare/update-dns-record "your.domain" "A" "machine-name" first split read http://ip.changeip.com/ newline wait 300]
11:44https://github.com/rebolek/red-tools/blob/cloudflare/cloudflare.red
9214
11:57@rebolek :clap:
BeardPower
12:09@rebolek :+1:
12:09World domination is imminent!
rebolek
12:10well...
9214
12:20Can someone purple or Czech and versed in C help me with *gasp* pointers?
rebolek
12:21Too bad I'm not purple :(
9214
12:21@rebolek fixed.
rebolek
12:23oh :)
12:23So what's your problem with pointers?
nedzadarek
12:26Hmm... how many people are from @rebolek 's country?
rebolek
12:26Around 10,5 million.
nedzadarek
12:26*in the Red team
9214
12:28I'm playing around with double-linked list implementation, and want to pass (and modify) the head of the list by reference, rather than by value. To make this possible I need to use a pointer to a pointer. So, here's how I defined list's node:
struct node {
    int data;
    struct node *prev;
    struct node *next;
};

And here's a function that either points head to a newly created node (if it is null), or inserts new node at the head. Note that I pass a pointer to a pointer:
void insert(struct node **head, int data){
    struct node *new = make(data);

    if (!head){ // I have no idea what I'm doing
        printf("!!!\n");
        *head = new;
    } else {
        (*head)->prev = new;
        new->next = *head;
        *head = new;
    }
}

Here's how I use it:
void main(){
    struct node *head;
    insert(&head, 1);
    show(head);
    insert(&head, 2);
    show(head);
}

The problem is - I already spent ~1 hour on it and still don't get how to check if head is null, i.e. if it doesn't point to some node.
BeardPower
12:291. Linked lists are not ideal, as memory access is random and not linear
2. Why do you need a pointer to a pointer?
rebolek
12:29@nedzadarek in the Red team? None, AFAIK.
BeardPower
12:31You can check the head with head == null. Therefore you need to set it to null when first creating it. If you have at least one element, the header will never be null, as you insert at the beginning of the list.
9214
12:31@BeardPower
1. This is an assigment, I can ask my lecturer for his contact info so that you can talk to him ;)
2. Because AFAIK in C everything is passed by value. I'd like to create a head node and modify it in place, rather than:
head = insert (head, 1)
head = insert (head, 2)
12:33@BeardPower Yes, I know about head == NULL, I'm just not sure what exactly check by null (head? *head?). Whichever combination I use ain't do the trick.
nedzadarek
12:33@rebolek I see. Good to knows.
BeardPower
12:331. :)
2. Yes.
9214
12:34@BeardPower my bad, made a typo.
12:35Aha, if (!*head) did the trick.
12:35Although only after struct node *head = NULL;
nedzadarek
12:35@BeardPower memory access is random?
BeardPower
12:36You can pass a reference with &. You check head.
9214
12:36So there's no guarantee that pointer will be initialized to null value?
BeardPower
12:36If the header was null and you de-reference it with *, it's value, you would get a segfault.
9214
12:36@BeardPower already got :smirk:
BeardPower
12:36@9214 Yes. C does NOT init anything!
12:37C++ inits with 0 by default, but NOT C!
9214
12:37@BeardPower breathe.
12:37Otherwise your eyes will fall out of your orbits. :D
rebolek
BeardPower
12:38@nedzadarek When you allocate elements for a linked list, the memory allocation is not continuous but scattered. Unlike with a vector.
9214
12:38Okay, so I can drop this feature entirely and just initialize it manually with my constructor.
BeardPower
12:39Which feature?
9214
12:39@BeardPower "either create new node if head is null or ..."
BeardPower
12:40You first set head to null.
12:42When you insert an element you pass the pointer of head, allocate an element and update the pointers.
nedzadarek
12:42@BeardPower ah, you mean that thing.
Well:
1) you can build it on top of array(s) (it may be a similar data structure, I don't remember)
2) While access of nth element is indeed random, it's used for "near element" access
BeardPower
12:43Do you need to use a double pointer?
9214
12:43@BeardPower nvm, I understood the source of my confusion. Thanks!
12:43@BeardPower no, usage of double pointers is not required, I just decided to challenge myself :baby:
BeardPower
12:44@nedzadarek
1. Why not use an array than. A linked list based on array is meaningless.
2. Every access of an element is random, as you need to de-reference the pointer which can point to any-where in memory.
12:45@9214 OK. Forget about the **. Just pass the head pointer and use head. You don't need to de-reference it, as you do not want to get it's value.
9214
12:46@BeardPower but then I won't be able to modify this pointer by reference.
BeardPower
12:47You are. By de-referencing.
12:47This will give you the address of the pointer.
hiiamboris
12:48> C++ inits with 0 by default, but NOT C!

in C++ it works only under some tricky conditions... unfortunately...
I recently found out that even if you provide a ctor that sets some var to NULL, it can still create the object with random junk data, and pass this object to it's own copy-ctor as is without any initialization whatsoever...
BeardPower
12:50@hiiamboris Yes, you should always init by hand.
12:51Setting it to null does not mean that it's read-only. :)
hiiamboris
12:51@BeardPower and what to do when it doesn't listen? :D
I've put both void *x = NULL and ctor() { x = NULL; } and none fired :)
BeardPower
12:53@hiiamboris int * nullPtr = (void*) 0;
nedzadarek
12:54@BeardPower
2. Yes, but it's only one leap (going to the pointer location).
1. It's not meaningless. Correct me if I'm wrong, but in C you cannot create dynamic arrays (or allocate variable amount of memory). If you don't know the size of your data (e.g. 10? 10000000?) then you cannot just allocate 10000000 * some_value. You can allocate smaller part and "re allocate" it later but in worst case you would have to copy whole array.

ps. Of course nothing is perfect.
hiiamboris
12:54@BeardPower you believe changing void * to int will help? well, haven't tried that for sure ;)
BeardPower
12:56@nedzadarek
1. But you cannot read memory as a continuous block
2. Sure you can. That's what malloc is for. You can allocate as much memory as there is free memory to allocate.
12:56@hiiamboris This is the definition of a null pointer.
hiiamboris
12:57@BeardPower and? ;)
BeardPower
12:58@hiiamboris
NULL is not a part of the language, it's just a macro:

#ifndef NULL
#define NULL ((void *) 0)
#endif
hiiamboris
12:59yes, and how does it help to avoid the bug where it makes an object without ever initializing it?
BeardPower
12:59@hiiamboris
>I've put both void *x = NULL and ctor() { x = NULL; } and none fired :)

I don't know your code and what "fire" means, but C does not have constructors anyway :)
13:00@hiiamboris
You are in charge to init your object. C does not have constructors/destructors.
hiiamboris
13:00but I'm talking about C++
C's okay :) good old C never lets you down like this
9214
13:00I initiated a C rant! Olololol.
BeardPower
13:00Can you show me the code?
13:01@hiiamboris Sorry, my bad. Show me the code :)
13:01@9214 You are :japanese_ogre:
hiiamboris
13:02@BeardPower can't :) it's a secret.. but let me try to make a snippet that can reproduce that
nedzadarek
13:02@BeardPower
1. Yes.
2. Well, you can do this but there are many things to remember: your allocation may copy your data, you may end up allocating to much/few memory, fragmentation.
BeardPower
13:02@hiiamboris Uh, world domination code ;-)
hiiamboris
13:02indeed!
nedzadarek
13:03@9214 that's why I like the Ruby/Red/Rebol... they start with R
BeardPower
13:03@nedzadarek
2. Not if you are allocation continuous memory chunks and use these chunks for your objects. You have 0 internal fragmentation.
9214
13:03@nedzadarek comparison of scripting and system languages is not fair by definition.
13:04C is okay, in fact I even love it for its simplicity and quirks.
BeardPower
13:04@nedzadarek Remember, you can always code your own memory allocator.
13:04Like a memory pool.
nedzadarek
13:05@9214 why it's unfair?
@BeardPower but your memory can be fragmented... what can you do?
BeardPower
13:05Consoles allocate the complete memory, some pool. This pool gives memory to objects, which call for memory allocations. 0 fragmentation.
13:06You also have special pools for tiny objects, larger objects and what not.
13:07A memory analyzer will also track the memory usage of your app, so you can get the best memory layout/object size for your app.
nedzadarek
13:07@BeardPower let say you have memory like this: XXYYYY. If you want to resize Xs you have to copy it somewhere else or move YYYY...
13:08about memory analyzer/consoles - I am as green as grass.
BeardPower
13:08No, because the y would be in some other pool.
13:08XX....... | YYYY....
13:09X is allocated from pool X and Y is allocated from pool Y
nedzadarek
13:10What if X want (size of pool + 1)?
BeardPower
13:10It will create another pool or already has created one, as it analyzed, that pool X has only one chunk left to allocate.
13:11When an X is de-allocated, it does not really de-allocate it, it will just mark it as free.
13:11The chunks are always inserted at the head.
13:12The analyzer outcome is: 10 X max, 50 Y max
So it will allocate 10 X and 50 Y at start.
13:14It's also using different structures. Elements which get "de-allocated" frequently use a different data structure than elements, who sit in memory for a very long time.
13:15Consoles are a little different, as there is only ONE app running: the game. OS memory is re-serverd for the OS.
13:16Monolithic kernels are also very different to micro- and exo-kernels.
nedzadarek
13:16@BeardPower interesting. I guess many things are automated on the consoles.
BeardPower
13:17Yes, the newer ones run a modified FreeBSD.
13:17It's all to-the-metal.
nedzadarek
13:18I see... well good for consoles.
9214
13:18Wait-wait-wa... I see there this one is coming!
BeardPower
nedzadarek
13:18Hahaha
9214
13:18I guess I'm not the only :japanese_ogre: here.
BeardPower
13:19@nedzadarek Automated, well, to some point if you are using the existing libraries.
13:19But now we got Vulkan! YAY! ;-)
13:20@nedzadarek
>I see... well good for consoles.

We only need to code our own OS based on an exoKernel ;-)
13:21We could stuff it into an EPROM like in the good old days.
13:21Instant boot :smile:
nedzadarek
13:21@BeardPower your own OS... that's job for you, I like to make @9214 with "stupid" questions... just kidding
BeardPower
13:21Modern versions only have 60kb and boot in 0.1 secs.
13:22@nedzadarek To the moon!
nedzadarek
13:23There are so many things to do and so little time :moon:
BeardPower
13:23Yep, it's a shame.
13:24And we are stuck in the 70ties/80ties with our CPUs and OS.
13:24Still the same old crap.
13:25But Red is here to change that ;-)
13:25AAAAAND The Mill ;-)
nedzadarek
13:25That's why I stick with high level stuffs but I like to talk about low-level stuffs from time to time (not too deeply)
13:25Red's Rebol against complexity!
BeardPower
13:26The newest SBCs are really awesome products.
13:26Single Board Computer (SBC).
nedzadarek
13:28Ah like Raspherry Pie
BeardPower
13:28Yes, but there are more awesome ones.
rebolek
13:28like our Mox https://www.indiegogo.com/projects/turris-mox-modular-open-source-router-security-computers
BeardPower
13:28Pine64, Tinkerboard, HiFive....
9214
13:28@BeardPower I realised who you remind me of with your profile pic and Red/Mill near-religious hand-waving...
BeardPower
13:29@rebolek Absolutely!
13:29RISC-V is going to change a lot.
13:30@9214 Tell me? :D
rebolek
13:30There's RISC-V lab one floor beneath me.
BeardPower
13:30@rebolek Cool!
9214
13:30@BeardPower http://berserk.wikia.com/wiki/Mozgus
nedzadarek
13:30:clap:
BeardPower
13:32@9214 :+1:
13:33@9214 You know, what you have to do with "The Marker" ;-)
9214
13:35**\\[T]/** :sun_with_face:
BeardPower
13:36Nice, they ported seL4 to RISC-V.
hiiamboris
15:51> Can you show me the code?

:)
@BeardPower https://www.sendspace.com/file/iumwfg
you need node.js with ffi module (to load the shared lib), g++ 6.x (to build), and a 64-bit linux VM to test (the bug doesn't appear on windows (or when making an exe), and I haven't tested it on 32-bit linux distros)
9214
15:51That's evil. :bear:
hiiamboris
15:52it is...
15:53I love this article https://accu.org/index.php/journals/2379
It gives you a glimpse on the idiocy of what is todays' C++ and why things like that are bound to happen
BeardPower
16:56@hiiamboris This is a result of extending C++ with fancy features of modern languages. Hacks all over the place.
16:56I will try your code ASAP.
17:25I'm more into Red, Nim and Haxe right now. 🤓
hiiamboris
BeardPower
17:35And have some big ideas. Maybe too ambitious ones 🤔
hiiamboris
17:42now that (also thanks to you) I've brought myself to isolate that bug.. I might even reduce it even more, losing the segfault but keeping the general idea, which is that a copy-assignment operator requires 2 initialized objects for it: the source and the destination of assignment, however the ctor only gets called once ;)
17:59lol now I even know *why* it happened...
I used malloc() to alloc some space for the objects and then used (*p) = default_object construct to init them, but = of course didn't know that (*p) contains junk, but thinks it's a valid object
...complexity in action :)
18:02and I would naively think that it should call a move-assignment in this case...
BeardPower
18:07Malloc in C++? How dare you...
hiiamboris
18:07¯\\_(ツ)_/¯
9214
18:07@hiiamboris your language is bad and you should feel bad.
hiiamboris
18:08should I?
9214
18:08:japanese_ogre: confess.
BeardPower
18:08It's not because of the assignment but because of using malloc. Malloc does not call the constructor, only new will.
hiiamboris
18:09true...
18:10see the thing, at the time I wrote malloc() there I had no idea that my object would become an object (it was P.O.D. back then)
18:11nah C++ is just not meant for humans :D
BeardPower
18:11Object or not, never use malloc/free in C++.
18:12C++ is not C.
hiiamboris
18:12I've used it because this way I have the opportunity of realloc()
BeardPower
18:12Bjarne would kick your ass 😁
hiiamboris
18:12which I'm losing with new()
BeardPower
18:15Why would you even need realloc?
hiiamboris
18:15> Bjarne would kick your ass 😁

@BeardPower c'mon no technique is dirty enough when you've got *reasons*
BeardPower
18:15But there is no reason for realloc 😉
hiiamboris
18:16realloc is because it's a growing continuous array
18:16actually, same idea you described up there - custom allocation for tree nodes
BeardPower
18:16And why would you a.) use an array b.) need realloc?
hiiamboris
18:17it's a parser, see... it continuously spawns nodes while reading the text
BeardPower
18:18Use some std containers.
hiiamboris
18:19how do I know it'll resize itself in place?
9214
18:19Parsing without parse is a sin.
hiiamboris
18:20@9214 better to reign in hell than serve in heaven ;)
9214
18:21You can't reign at my place. Though I can move a little, there's a space for everyone.
hiiamboris
18:23I remember for this guy -> :suspect: there wasn't space enough
BeardPower
18:24@hiiamboris Because it's guaranteed by the standard: https://herbsutter.com/2008/04/07/cringe-not-vectors-are-guaranteed-to-be-contiguous/
18:25A vector is reserving space.
hiiamboris
18:25@BeardPower and when it's out of reserved space? how do I know it won't copy itself over?
18:27I even *expect* it to use new() and copy itself
BeardPower
18:38@hiiamboris It's allocating new space.
18:39Why would you expect to copy itself?
18:41>The elements of a vector are stored contiguously, meaning that if v is a vector<T, Allocator> where T is some type other than bool, then it obeys the identity &v[n] == &v[0] +
n for all 0 <= n < v.size().
hiiamboris
18:42yeah, just think about it :)
18:42you've got a chunk of RAM allocated with new(), used by vector, right?
BeardPower
18:42You mean when you push elements > v.size()?
hiiamboris
18:42yep, what happens then?
BeardPower
18:43Depends on the implementation of the vector :)
hiiamboris
18:43but the idea is that it allocates a *new* chunk and copies itself there
18:44I think there was a plan for an *in-place* reallocating new() in some C++17 or +21 or whatever, but not yet
BeardPower
18:44It reallocates, yes, if it's following the standard.
9214
18:44Does 17 means a number of pluses?
18:44or of double pluses..?
BeardPower
18:45It's just the year of the standard.
18:452017 standard, 2021 standard....
9214
18:45@BeardPower are you sure? :suspect:
BeardPower
18:45Yes.
18:46If they are late, the C++21 standard could come out in 2030 ;-)
18:46It's just the draft stage.
9214
18:47
text
>> #"C" + 17
== #"T"
BeardPower
18:48@hiiamboris C++ is old tech ;-)
18:48There are WAY more better languages out there, which are even WAY older ;-)
hiiamboris
18:50sure, it's a nasty product of prolonged necromantic rituals with the standards, and I hope it ends one day... although I'm afraid it ends with web-junk that's even worse
BeardPower
18:50It will never end.
hiiamboris
18:50oh noes!
BeardPower
18:50They even discussed integrating Cairo :D
18:52They desperately want to update C++ to some fancy language. These days are long gone.
9214
18:52I wonder if at the very end it will become yet-another poorly designed Lisp. :smirk:
18:52Or maybe something else...
BeardPower
18:53Same with UNIX and POSIX. Ancient ideas....
18:53There are better ones.
9214
18:53@BeardPower I beg you to stop.
BeardPower
18:53Hell, this is from the 70ties!
9214
18:54I know where this one is coming. You can't full us twice.
BeardPower
9214
18:55https://wrongthink.net/upload/photos/2017/03/CBFaHvxp3x8udpDAiKYN_04_67c30d73ca2c26327eeab0184076b4f7_cover_full.jpg
BeardPower
18:58Why are we always trying to adapt old crap instead of moving forward?
9214
18:58@BeardPower because it smells familiar.
gltewalt
18:58They did move forward. Jaaaaaaaaavaaaaaaaaa
hiiamboris
18:59I think because most people are blockheads :) learning is not their thing
19:00they're still teaching children Fortran !
BeardPower
19:00@gltewalt But they took the wrong turn :smile:
19:00@hiiamboris Yeah, it's easier to stick to the old stuff.
Fortran is awesome!
9214
19:01"What is yours does not stink" or something like that.
BeardPower
19:01Hehe.
greggirwin
19:15> Why are we always trying to adapt old crap instead of moving forward?

We don't do well at identifying the underlying principles that should carry forward, versus the unproven trends and failed ideas.
BeardPower
19:18Yeah, it's better to bet on sound principles than take a risk ;-)
greggirwin
19:21But sound principles are not sexy. :^)
BeardPower
19:22Some prefer a boring life :smile:
hiiamboris
19:24risk is "will I be able to find someone to maintain the code written in a cryptic language based on unknown ideology?"
gltewalt
19:25I had a hypothesis: The less steps between goal and result, the better.
"If I want to destroy the machine with one or two lines of code, let me. I don't care about proper or readable, I just want to do what I want."
BeardPower
19:28@greggirwin As you are a fan of capability-based operating systems, have you ever checked out Hydra?
gltewalt
19:28That's why pop-up blockers exist and nobody reads through terms of service - they click the "ok" buttons away as quickly as possible
greggirwin
19:29Hydra sounds familiar, but I also learned of Fuschia recently. I can't keep up with the internet.
19:29Or the 70s.
BeardPower
19:30@hiiamboris Or "will I have enough money to sink into my idea?" ;-)
19:30@gltewalt I tried to read the ToS from Apple but stopped at page 10/80 :smile:
gltewalt
19:30click click click scrolllllllll click
hiiamboris
19:31@BeardPower well on that regard they seem to be *always* wrong :D
BeardPower
19:31@greggirwin Yeah, I'm curious how Fuchsia turns out as an "Android killer".
19:32@hiiamboris Unfortunately.
20:22All is in flux in 2018: https://www.eetimes.com/document.asp?doc_id=1333142
20:24@rebolek Do you know them? http://www.eenewseurope.com/news/codasip-wins-risc-v-business-motor-control-ics
21:30[Who's gonna build it ;-)](https://www.youtube.com/watch?v=QgIeBpyS5-4&t=300)
21:34Funny that the Mill is offering this in hardware ;-)
23:14@9214 If you had any doubts left about the Mill, there no excuses anymore to not want one ;-) http://millcomputing.com/wiki/Forth_for_the_Mill_and/or_Forth-like_variants,_better_suited_to_the_Mill
9214
23:28@BeardPower the funny thing is that I still can't force myself to figure out Forth mode error in Emacs and start tinkering with it.
23:29Even though I already read two books on the actual subject, but haven't write a single non-trivial colon definition.
BeardPower
23:29@9214 Ah, I see you are still not going with the commercial Forth.
23:30Did you try colorForth as well?
9214
23:31@BeardPower I know about it, but don't like the idea.
BeardPower
23:31I never tried Forth, besides the FreeBSD loader.
23:32But I want to dig a little into OpenFirmware.
23:33I should have kept my SPARCstation 5 :worried:
23:34@9214 What's your issue with colorForth?
23:35>Even though I already read two books on the actual subject, but haven't write a single non-trivial colon definition.

Sounds familiar to me.
9214
23:37@BeardPower it's in the name - color. Although I didn't think much over the actual idea.
23:38and my Pocket list is full of Forth goodies.
BeardPower
23:39@9214 I saw it in some GreenArrays's presentation video and did not understand anything.
9214
23:40The reason for such stagnated learning is probably because the only true way to learn Forth is to build one by yourself (IMO).
BeardPower
23:41Cannot judge on that, but I heard some similar things: the only true way to learn Forth is to build a Firmware.
9214
23:41FOR MILL
BeardPower
23:41Or BIOS, or UEFI....
9214
23:42https://www.youtube.com/watch?v=M2gFj3oFRcI
BeardPower
23:42Yeah, they search for someone doing a BIOS/UEFI for the Mill ;-)
9214
23:43@BeardPower I already have a job ;)
BeardPower
23:44@9214 Rethink your priorities ;-)
9214
23:44@BeardPower can you recommend some assembler for first-time project?
BeardPower
23:44Have you done a Firmware/BIOS/UEFI?
9214
23:44Nope.
23:45I read IA-32 dumps tho' :sunglasses:
BeardPower
23:45https://www.nasm.us/
9214
23:45and a bit of 8051
23:45@BeardPower that's what I thought too :+1:
BeardPower
23:49I stumbled upon this one recently. It's interchangeable with NASM. http://yasm.tortall.net/
23:49It's a NASM re-write.
9214
23:52@BeardPower thanks!
BeardPower
23:52You're welcome.
23:55Uh, 8051 :). I remember typing in machine code for the C64 :smile:
23:56From these fancy game magazines.
9214
23:56These were the times. :older_man:
BeardPower
23:56YEAH!

rebolek
07:30@BeardPower that's the company on 1st floor. I don't know them personally, sorry.
BeardPower
10:54@rebolek The world is a village ☺
rebolek
11:05yes :)
Oldes
19:07 I've heard that you must add 5 years or so to the C++<NUMBER> to get a year when you can almost safely use it.. which means that now C++11 should be safe and C++17 will be safe in year 2022.
BeardPower
19:12@Oldes Yeah, unfortunately.

rebolek
06:22 @maximvl so it seems that my build script is working fine - https://rebolek.com/builds/
greggirwin
06:26The power of cross compiling! Thanks @rebolek. @gltewalt, should we note that somewhere in a wiki?
rebolek
06:32@greggirwin You 're welcome, I was thinking about it for a long time and finally decided to do it. It took about half an hour :)
greggirwin
06:33Which is why we love Red.
rebolek
11:55Builds page now has experimental index at https://rebolek.com/builds/tindex.html . If it would work correctly, I move it to index.html
BeardPower
12:13Nice. Just wanted to download the Windows build -> 404 :)
12:14@rebolek I love your retro HTML design skills ;-)
12:16Would it make sense to add a "send to virustotal" button for each build?
gltewalt
14:40@greggirwin What about in README under "Cross-compilation targets:"?
9214
14:45@gltewalt as long as the core team is okay with links to 3rd-party builds presented in official readme.
14:46also https://toltex.u-ga.fr/RedGtk, though, I don't know if current GTK branch have superseded it.
gltewalt
14:51Of course. Would need a Yes or No
greggirwin
21:37We can absolutely link to the GTK work, with associated commentary.

@gltewalt, not sure what you mean about README and cross compiling.
gltewalt
22:48@greggirwin I mean add the information (or the link) into the README, below the “Cross-compilation targets:”

greggirwin
00:05For VirusTotal or builds page?
gltewalt
00:18Builds page
greggirwin
00:26Sure, let's try that.
nedzadarek
14:52@9214 I have watched one of your video you posted about APL (https://www.youtube.com/watch?v=9xCJ3BCIudI). Thank you for that link. While the ideas seems interesting he seems to be another language extremist (my language is the best)... more or less. I don't want argue about the video (because opinions) but have you seen video(s) where people incorporate idea(s) from APL/J into their *normal* language?
9214
16:37What specific ideas? Tacit (aka point-free style) programming is a very common technique in functional languages, especially in concatenative ones. Operations on vectors and matrixes aren't new either, R, Julia and even Python use them, for example. Notation tailored to the problem field? It's what DSLs are, essentialy, and problem-oriented languages.
16:38APL and J are as normal as any other language out there, believe me or not.
16:48Right now APL family experiences deserved renaissance, mostly because of GPU and ML hype.
hiiamboris
18:18https://wiki.haskell.org/Obfuscation :D
18:19still, it not even nears the level of even C obfuscation
18:20@nedzadarek I bet we could do way better if we for instance replace all Red words with symbols from unicode emoji category or some hieroglyphics ;)
9214
18:38http://www.rebol.org/view-script.r?script=alien.r
18:38The classic.
hiiamboris
18:43lol, not bad, not bad...
even morse-friendly a little bit ;)
gltewalt
19:21Wrong channel :clap:
9214
19:35@gltewalt this channel is right for everything ;)
BeardPower
19:36Yo! :smile:
19:36Word ;-)
gltewalt
19:36Excel
9214
21:06I wrote everything above in chit-chat as a response to @nedzadarek , right? Cuz I recall @BeardPower's bug with rooms (you write in one and it posts in another).
hiiamboris
21:10right
9214
21:15@gltewalt so what's up with wrong channel then? :)
gltewalt
21:47It’s just wrong
BeardPower
22:01@9214 Yeah, sometime switching between channels lags.
22:01Switching -> typing -> recognizing that it did not switch -> D'oh.
nedzadarek
22:11You know what @BeardPower ? [Bird is the word!](https://www.youtube.com/watch?v=2WNrx2jq184)

@hiiamboris Haven't you seen BF, turing-tarpit languages... or other esoteric language (esolang)?
I don't like non-ascii things in programming languages. Sure, strings can have utf8 but words/variables, language's constructs (e.g. if, while, functionetc.) should be *type-able* on most keyboards. Unless you are programming with people that use one natural language.

@9214 I mean in general but I'm the most interested in
> don't name everything - you have more words to use

BeardPower
23:06@nedzadarek That's the spirit! @9214 and me will transform everyone in here into true Purple Hens ;-)

nedzadarek
00:12@BeardPower purple hen?
BeardPower
00:43@nedzadarek [RDM](https://www.youtube.com/watch?v=NyiEaSzpdMk)
nedzadarek
00:56hmmmm... I still don't get it
hiiamboris
06:35we're gonna be assimilated by the Borg :point_up: [April 29, 2018 2:06 AM](https://gitter.im/red/chit-chat?at=5ae4fe877c3a01610d2fdb84)
06:39> @hiiamboris Haven't you seen BF, turing-tarpit languages... or other esoteric language (esolang)?

while it is an art to write smth meaningful in an eso language, it is also an art to write smth truly obfuscated in a normal language ;)
like these beauties:
http://www.ioccc.org/2013/cable2/cable2.c
http://www.99-bottles-of-beer.net/language-perl-737.html
rebolek
08:05@BeardPower 404, thanks. That's why I haven't
nedzadarek
08:45@hiiamboris I think it is done with the help of program that makes ascii art.
9214
11:28@nedzadarek everything is typeable, with a bit of effort.
nedzadarek
12:33@9214 Yeah, but sometimes "a bit" isn't enough: [The biggest hand-drawn maze](http://www.dailymail.co.uk/news/article-2540481/Amazing-Incredibly-complex-maze-Japanese-janitor-drew-hand-secret-seven-years-discovered-granddaughter-three-decades-later.html)
BeardPower
12:34@nedzadarek He had a lot of free-time ;-)
nedzadarek
12:35I don't know... it have taken him 7 years according to the article. ;)
BeardPower
12:35On a daily 8h basis? :smile:
12:36Speaking of articles: it's time for some new Red ones :-)
nedzadarek
12:37^^ I haven't read 4 articles about Red team meeting Rebol creator.... Shame on me.
BeardPower
13:13Sinner!
nedzadarek
14:00@BeardPower I was busy with stuffs and Red things so.... yeah ;)
BeardPower
14:47@nedzadarek I came to the conclusion, that I need to switch from 48h days to 72h days.
hiiamboris
15:00them Borg have to hibernate too?
BeardPower
15:12Unfortunately, yes :smile:
hiiamboris
15:14@BeardPower :)
so how did you switch to 48h in the first place? is there a tumbler of sorts?
15:14and what are the benefits?
9214
15:46Pros: you're the ruler of the world.
15:46Cons: your skin turns purple.
15:47Aaaand you're a hen.
BeardPower
15:47I can live with that :smile:
15:48@hiiamboris It's a very secret sauce. As a hint: Russian dancing + @9214 's music.
15:49[Drink me!](http://i.neoseeker.com/mgv/20291/291/80/scaledphpserver172filenamenoobsauceag4_display.jpg)
hiiamboris
16:30so that one better than the nuka cola?
9214
16:33@BeardPower move your feet :japanese_ogre:
BeardPower
16:40@hiiamboris Yep, and healthier.
nedzadarek
20:30@BeardPower Tempus, rerum imperator. I would have to have at least 100 years of great productivity to read most books about programming, learn programming (polyglot) and have time for 1-2 other hobby (like reading fantasy/sci-fi books, learning new languages)...
BeardPower
20:46@nedzadarek Well, the world's oldest man is >112 years old, so get set! ;-)
20:47Red to the rescue! You only need to learn ONE programming language.
nedzadarek
21:15@BeardPower but you are productive between ~15 to 50-60
One language to rule them all... one thing I learned is one language shine at one thing while other language shines at another. And there are opinions as well.
Well... the Red is 2nd language after Ruby that I used and I have built something in it. It's in the alpha but it's promising.
BeardPower
21:36Sure. We need to find out.

gltewalt
03:22There has been a Greg/Gregg storm in the Red/Red notifications. :fearful:
03:22:worried:

gltewalt
02:19https://imgur.com/a/EEmqfiG
BeardPower
11:23@gltewalt
>There has been a Greg/Gregg storm in the Red/Red notifications. :fearful:

What do you mean?
gltewalt
15:09That was a day ago or so. I mean any time something is tweaked with the Wiki it puts it in the sidebar of Red/Red
BeardPower
16:18Ah! 😄
23:34Things get "out of control"...
https://www.financemagnates.com/cryptocurrency/news/ripple-willing-pay-listed-us-cryptocurrency-exchanges/

rebolek
05:50@BeardPower Links to builds were fixed. BTW, there's no retro design, there's no design at all ;)
BeardPower
10:54@rebolek Great! Hehe :smile:

gltewalt
16:10hodl
16:11#HODLGANG
BeardPower
21:55Call me crazy, but are they going for "the Mill"?
21:55https://www.networkworld.com/article/3269765/data-center/intel-job-posting-hints-at-major-overhaul-to-the-processor-core.html
22:08after the Mill

gltewalt
00:47Crazy
hiiamboris
09:47> HODLGANG

great ad, very pro
gltewalt
15:10Test
15:19Hodl, Boris. Hodl.
iArnold
19:55hodlgnag!

9214
13:48@BeardPower http://strangehorizons.com/non-fiction/articles/installing-linux-on-a-dead-badger-users-notes/ :smirk:
BeardPower
14:36@9214 :smile:
15:54Finally! https://qubic.iota.org/
16:02For now, in brief: Qubic enables Smart Contracts, Oracles, Outsourced Computing and lots more.
20:43Oops, wrong chat.
greggirwin
21:06Maybe this will help with the badger: https://intoli.com/blog/exodus-2/

gltewalt
01:48What about a live badger?

gltewalt
03:26https://youtu.be/lmuKsI5kcKw
BeardPower

nedzadarek
11:09When you forgot to add a dot: https://github.com/nedzadarek/red_custom_type_proposal/commit/f4b42981126b72b371654fe1518a9390b7a3bcaf
https://www.youtube.com/watch?v=M5d7vygUPoQ

hiiamboris
21:33so how do you get rid of set/get?
BeardPower
21:34get is just a: and set is just :a:
21:34a: also :b b: a
hiiamboris
21:35but it's a function that's supposed to take 2 words arguments
21:35that way I'll be rebinding only the local words
BeardPower
21:35Why do you need word as argument?
21:36@9214 Rebind is in the house ;-)
hiiamboris
21:36x: 1 y: 2 f: func [.... ] how do you define f that exchanges x and y values?
BeardPower
21:36Which values? any values? integer? float? chars? strings?
hiiamboris
21:37anything that's bound to x and y
9214
21:41
text
>> x: 'a y: 'b f: func [x y][set x also get y set y get x]
== func [x y][set x also get y set y get x]
>> f 'x 'y
== b
>> x
== b
>> y
== a
hiiamboris
21:41that's what I told him too :)
BeardPower
21:41Yes, but we want it without using set and get :-)
21:46
f: func [][system/words/a: also :system/words/b system/words/b: system/words/a]
21:47HODL!
hiiamboris
9214
21:47@BeardPower FYI, also uses get/any.
hiiamboris
21:47I knew he's too purple to be trusted :)
BeardPower
21:48@9214 Thanks. But imagine also changed to not use it.
9214
21:48[06 - Purple Pro.mp3](https://files.gitter.im/red/chit-chat/rsMd/06---Purple-Pro.mp3)
BeardPower
21:49@hiiamboris :bear: in a Purple Hen costume ;-)
21:49What is get/any doing exactly, so an exchange can be done without an intermediate?
hiiamboris
21:54we should XOR get/any so it won't matter what it's doing :)
BeardPower
21:54
get/any
is just getting any value even unset.
9214
21:58> Yes, but we want it without using set and get :-)
BeardPower
21:59What happens below Red, stays below Red :smile:
nedzadarek
22:00But isn't everything use set/get in some form?
BeardPower
22:04The get/any functions are just casting the stack argument to the appropriate data-type.
22:04So, yes.
22:05For integer!:

get-any*: func [									;-- special get* variant for SWITCH
		return: [integer!]
		/local
			int [red-integer!]
	][
		; print-line ["get-any* integer"]
		int: as red-integer! stack/arguments
		either TYPE_OF(int) = TYPE_INTEGER [int/value][0] ;-- accept NONE values
	]
22:08For word it's returning the cell.
22:11The difference is only in supporting unset:

get-any: func [
		word	 [red-word!]
		return:  [red-value!]
	][
		#if debug? = yes [if verbose > 0 [print-line "word/get-any"]]

		copy-cell _context/get word stack/push*
	]
	
	get: func [
		word	 [red-word!]
		return:  [red-value!]
		/local
			value [red-value!]
	][
		#if debug? = yes [if verbose > 0 [print-line "word/get"]]
		
		value: copy-cell _context/get word stack/push*
		if TYPE_OF(value) = TYPE_UNSET [
			fire [TO_ERROR(script no-value) word]
		]
		value
	]

viayuve
16:06is 7zip is been audited?
9214
16:07I highly doubt archivers and batch programs are audited.
16:07They are not designed with protection in mind.
BeardPower
16:07Not that I'm aware of.
viayuve
16:07if you guys have some audited lib in mind?
16:08also do red support audio ?
BeardPower
16:08Cryptoalgos like AES, Chacha20, Argon2 etc. are.
9214
16:09https://gitter.im/red/audio
viayuve
16:09📝 snippets in my book thanks
BeardPower
16:09No audio yet.
9214
16:09@BeardPower drafted some R&D notes IIRC.
16:09https://github.com/red/red/wiki/Audio-R&D
BeardPower
16:10I will look up some audited libs when I'm back home later.
viayuve
16:10Thanks 🙏 you so much @BeardPower
16:13audio is experimental 🤔 also I can not see red in my MacBook Pro bar am I missing something tried few tricks but can't
16:15or its not supported yet ??
greggirwin
17:13If the Pro Bar requires special support, it won't be there yet. We first have to focus on the common denominators between OSs.
gltewalt
19:11Hodl
nedzadarek
23:51@gltewalt
magic!: [print "abracadabra"]
do magic!
; abracadabra
gltewalt
23:55witchery: :magic!
nedzadarek
23:58@gltewalt

There should be some kind of easter egg like this:
system/lexer/pre-load: func [src][replace src "The answer" "42"]
; == func [src][replace src "The answer" "42"]
answer: The answer

gltewalt
00:05I wonder if there are any Easter eggs?... probably not
nedzadarek
00:27maybe :smile:

iArnold
18:07> I wonder if there are any Easter eggs?... probably not

If there are any, they have probably hatched and have grandchicks already.

nedzadarek
13:41
system/lexer/pre-load: func [src] [replace src "? bird!" "browse https://www.youtube.com/watch?v=2WNrx2jq184"]
? bird!
9214
16:22@hiiamboris I'm curious about D too, tracked it on my radar as a "saner C++ / better C" alternative for a while.
hiiamboris
17:29> @hiiamboris this is theme more related for chit-chat group, but what do you dislike about D2?

@rebolek I remember when D1 was only only maturing, they argued that in C++ most features were not designed (initially) but emerged in the process of evolution, on top of C. They wanted to make better than C++, that became a monster.
But when I look at D2 I see yet another monstrosity, and if C++ required 20-30 years to reach that stage, with D the process was way quicker. I look at the source code of any of their library files and ask myself: does this code clearly express the programmers intent? Unfortunately what I see looks like a result of heavy struggle. Where's the aesthetics in that?
Sure it's still better than C++, but with the introduction of C++11 - only by a small margin. What I dislike is it's complexity. It does things differently a bit than C++ but the complexity of it stays the same. So then what's the point?
I don't know, maybe the authors of D are not to blame, maybe it's the very concept of imperative OOP that leads to such complexity? Can't say that C# or Java or that idiocy of language Objective-C do any better.
BeardPower
19:01@hiiamboris Well, "better than C++" in which regards? Fancy functional programming features? Memory management? Performance? Libraries? I think OOP is overused. It was fancy in the 90ties, praised to be the killer feature and trying to ease the understanding of code by wrapping everything into real world objects. A lot of code, which is not OOP is often easier and faster to write and maintain than the it's OOP variant. Languages try hard to maintain or even back developers in creating bloat instead of the contrary.
hiiamboris
19:56@BeardPower native UCS32 strings and very straightforward strings/array slicing, native GC, silent NaN-aware floating point and complex number arithmetic, simpler templating and object construction/destruction/inheritance - that's what I like there
BeardPower
19:57 GC? A feature for lazy programmers. ;-)
19:57So ADA is still superior to D hehe
hiiamboris
19:58sure, I'm a lazy programmer too... why do I have to bother with allocation and indexing and whatever ;)
BeardPower
19:58Inheritance is evil bloat. Composition > Inheritance.
hiiamboris
19:59I just wanna point the direction and let the PC think how to reach there
19:59as for bloat, what can I say ;) that's an evolutionary and economical problem rather than software
BeardPower
19:59Because you want performance and system programming to the metal.
20:00The PC does not think. It just executes what you tell it to execute.
hiiamboris
20:01I fail to see the difference
BeardPower
20:01No, bloat is a laziness problem.
20:01The difference is, that it does something different than what you tell it to do.
20:05UCS32? You mean UTF?
20:05I see you love bloat ;-)
hiiamboris
20:06so you're an ascii-fan? :)
20:07who needs those characters above 128 anyway
BeardPower
20:08Yes. It was sufficiant for me for 40 years and it took us to the moon.
20:10Well, non English based countries.
nedzadarek
20:39@hiiamboris @9214 How about the Rust? Have you used this? I had wanted to try it few years ago. Any thoughts?
> I just wanna point the direction and let the PC think how to reach there

How about [Picat](http://picat-lang.org): [N-quen problem](http://picat-lang.org/sat/bqueens.pi)?

> Because you want performance and system programming to the metal.
> The PC does not think. It just executes what you tell it to execute.

PC (or other machines) don't think but you can create artificial intelligence. AIs start outsmart people.

> Languages try hard to maintain or even back developers in creating bloat instead of the contrary.

What about the Ruby? I mean it had OOP (different than Java's) but with functional style. You could mix&match your style.
ps. I've used it around 2.0 so many things could change!
9214
20:46@nedzadarek Rust's sales pitch is interesting, but it's full of over-the-head concepts and handwaving which I can't appreciate in 'to the metal' language, which IMO should give me just enough rope to either hang myself or make a TNT fuse. I'm speaking from 'barely knows C and more into Forth camp' perspective, so take everything I said with an apropriate grain of salt.
hiiamboris
21:32Rust once picked my interest too, but can't tell you anything about it. I skimmed thru https://learnxinyminutes.com/docs/rust/ and couldn't find any ideas that I might like so my acquaintance with it ended about there ;)
It looks to me as just another conservative functional language that has a benefit of billions of $ to advertise itself.
21:36> How about Picat: N-quen problem?

this one I will explore a bit deeper, thank you
BeardPower
22:03@nedzadarek Time will tell, if an AI can be created. What people call AI currently has nothing in common with AI. There is no awareness and self-decision involved.
gltewalt
22:52I’m AI
nedzadarek
23:13@hiiamboris @9214 interesting, thank you for your opinions. I was looking something low-level but higher than C so I guess our needs vary.
@BeardPower what you mean by "self-decision"?
9214
23:20@nedzadarek current AI is nothing but linear algebra backed with available CPU horse power. There's no 'intelligence', to put it bluntly, just adaptive algorithms trained on datasets.
BeardPower
23:23@nedzadarek Every algorithm is a fixed logic. Be it deep learning, decision trees, support vector machines or any other AI/learning method, the code has a deterministic output based on inputs. A true AI is able to decide to have a different output based on the same inputs. A true AI needs to be based on true randomness and non-deterministic algorithms. As long as we use deterministic algorithms and pseudo randomness, there will not be a true AI either.
23:26@9214 Exactly. That's why the term AI is used inflationary and misleading.
dander
23:46@BeardPower how can you be sure that "true AI" is non-deterministic? I know it starts to get into the question about whether we have free will or not, but I don't see any definitive way to answer that.
23:53when you say "true AI" are you referring to https://en.wikipedia.org/wiki/Artificial_general_intelligence ? Or something else?

BeardPower
00:19@dander Because a human being is not and AI is aiming to resemble human intelligence: I think, therefore I am.
00:21Yes, I'm referring to the topic of your link: I think, therefore I am. This would be the basis of an AI. It would be aware of itself.
00:23A true AI would be non-deterministic, because it is able to decide for itself. Hey machine, would you be so kind to calculate this for me? The machine will decide for itself! This decision is not deterministic. Maybe it will calculate it for you or not. You will not know.
00:23That's why I'm sure ;-)
00:25Yeah, the issue with the free will... At least the machine can prove, as any human can, if it exists.
00:28The other stuff can neither be proved nor disproved and we wander along the philosophical path of "is anything real beyond ourself".
gltewalt
01:52You’ll not be able to tell if a machine decided or “felt like” doing something
dander
07:09@BeardPower I'm not convinced that an intelligent machine, or a human for that matter, is not deterministic. There is no way to test it for a human at least, because you can never recreate the exact same inputs. You certainly could with a machine. In your scenario where you ask it to perform a calculation, maybe it will or won't... You might not know what it will do because each time you ask, time has passed and it has more history to consider, etc. It doesn't really require randomness. Maybe it's an unimportant distinction.
07:09That being said, I do agree with you that current AI doesn't seem to resemble anything intelligent. It seems like it's basically an optimized system for pattern recognition/manipulation.
hiiamboris
07:11I can speak for myself: I do not really "decide" anything but follow a set of simple algorithms that even I myself am able to foresee most of the time. The fact that other human beings are in no position to command me what to do does not make me non-deterministic. It just makes me nearly impossible to predict using current hardware base.
dander
07:12You could look at our brains as a collection of interconnected systems, with pattern recognition being one. Maybe this is just the first piece of the puzzle, and AIs just need more of those systems in order to become more capable
BeardPower
09:19@gltewalt Exactly.
09:26@dander Time is another input, yes, but as @gltewalt pointed out, you don't know if the AI was not in a mood to answer (correctly) or it was not able to. This is not deterministic. It would be deterministic, if the AI isn't able to feel or decide on it's own. Even if the inputs are the same all the time, the AI can decide what he wants to do: not deterministic.
09:27@hiiamboris If it's nearly impossible to predict, it's random, which means it's not deterministic.
09:28An outcome with a certain probability is not deterministic.
nedzadarek
11:09@BeardPower About randomness: we might be as well chaotic at least in the micro-scale. I mean, there are **lot of ** atoms (and many more smaller things) that do chaotic stuffs but you still go to the kitchen to make a tea. There might or might not be a (true) randomness but it might be on micro-scale so it might not matter.
But, yeah, it's just *what if*...
btw. what about self-aware **thing* but without self-decision (as you described)? Would it be an AI? or what?
BeardPower
11:26@nedzadarek Yes, but the way you go into the kitchen and make a tea is random. Your movement, timing etc. is always different. Nature is true randomness.
nedzadarek
11:28@BeardPower it might as well be *chaotic*
BeardPower
11:30If the machine is aware of itself, about it's existence, it's a true AI. There is no AI without self-decisions. The latter comes with the former. Even if I would force you to tell me the truth, it still is your decision to lie to me or not.
nedzadarek
11:31@BeardPower what about being drugged? You might be self-aware but you do exactly how they tell you.
BeardPower
11:31@nedzadarek It might be even fiction, created by yourself. Maybe this conversation is only made up by yourself in your head ;-)
nedzadarek
11:32@BeardPower you don't exist ;)
BeardPower
11:32Yes. You cannot prove if I exist or not.
11:34Being drugged is some external event. It's not something you decide on. But you can decide to drug yourself.
nedzadarek
11:36> Being drugged is some external event. It's not something you decide on. But you can decide to drug yourself.

You don't decide on the rain. But it rains sometimes. It's irrelevant.
BeardPower
11:37 Rain is not related to yourself.
11:38Yes, that's why it does not matter.
11:38Self-decision is about you, not some external things.
11:39But maybe it rains because it's all in your head. If so, you made it rain.
11:40Maybe you made me say that in your head.
nedzadarek
11:40@BeardPower let's assume that I don't make stuffs in my head. My point is that you can be in a state that you may be self-aware but have no way to self-decide.
11:41> Maybe you made me say that in your head.

Maybe you made me made me say that in my head.... we need to go deeper.
BeardPower
11:41If you can't it's because of some external event, not you.
nedzadarek
11:42@BeardPower but it might be a state where it's from internal event?
BeardPower
11:44Yes, which your body decides on what to do.
11:46If you cut yourself, the body decides to send signals about pain.
nedzadarek
11:47So, you are in a state when you are incapable of self-decide, hence self-awareness is separated (but connected) to the self-decision.
11:47https://en.wikipedia.org/wiki/Congenital_insensitivity_to_pain
BeardPower
11:48I waited for that argument ;-) You can train yourself to not feel any pain, which again, you decide on.
nedzadarek
11:49@BeardPower I beat you thought about this things many times as well as me :+1: well, read the link
BeardPower
11:49Something cannot be separated but connected at the same time. But I guess you mean related.
nedzadarek
11:50Yeah, it might be related.
BeardPower
11:51@nedzadarek Yeah. I discussed about this stuff a lot with some friends. There are disorders of course, like described in the article.
11:52It's a nice article you created in your head ;-)
11:52And why are you making me saying that :smile:
nedzadarek
11:52Man... I cannot argue when you say this :D
rebolek
11:53Also, why are you making me to read it, if I exist only in your head.
nedzadarek
11:53@rebolek you don't exist.
BeardPower
11:54@nedzadarek Hehe. Exactly.
rebolek
11:54If I don't exists, then they should stop sending me bills.
nedzadarek
11:55I should stop talking with myself.
BeardPower
11:55@rebolek They? It's all in YOUR head!
rebolek
11:55@BeardPower what head? I don't exist.
BeardPower
12:03@rebolek Cogito, ergo sum. This is also true for you. You just cannot prove that we exist from your standpoint.
nedzadarek
12:09@BeardPower > cogito, ergo sum
And he disappeared because he doesn't think.
We cannot prove **anything**.
BeardPower
12:09Except your own existence.
rebolek
12:10What if my consciousness is just simulation?
nedzadarek
12:10^^ this
BeardPower
12:11Even if it's simulation, you need to exist, hence there would be no simulation in the first place.
rebolek
12:12But if I exist only in simulation, do I exist at all?
BeardPower
12:12The simulation creates something, ergo it exists.
12:12Yes, because the simulation simulated something.
12:13It's not about what made you exist, but that you exist.
12:14The simulation would just be the form of your existence.
nedzadarek
12:16@BeardPower what about simulation from video games? There could box *visible* by you but does the box exists. You can just be something like sentences. You wrote it, they *exist* but they are just symbols. Nothing more. Somebody need to read them.
rebolek
12:17So Pacman is real.
BeardPower
12:17Sure, but the sentence need to exist, as your existences is in the form of sentences, you exist.
12:18@rebolek If it's aware of itself, than yes.
rebolek
12:19@BeardPower but how are you going to test it? I can write supersimple chatbot, that would answer *yes* when asked if it's aware of itself, but is it really?
BeardPower
12:19It's not about the form of your existence, just the existence itself.
12:20@rebolek Does the chatbot is aware he exists? You hardcoded his answer of that question, so he is not.
12:21It would need to answer this question all by himself.
rebolek
12:21And how you be sure someone didn't hardcoded that answer to you?
BeardPower
12:22He would need to "code" it aka learn it himself.
12:23@rebolek That's the point, you cannot be sure. But you need to exist, to hardcode an answer for you. If you don't exist, how could something code something for you, that you should answer on?
12:24It's about existence, not the form or why you exist. This is a different story.
12:25No matter how you exist or why, you NEED to exist in the first place.
12:27Don't mistake the form of existence with the existence itself.
12:27If there is no form, there would be no existence.
12:29And as you are able to think, there needs to be a form, which enables you to think. So there is something in existence, which lets you do that.
12:30Be it a code, air, thoughts etc. They created something: you.
hiiamboris
12:41> @hiiamboris If it's nearly impossible to predict, it's random, which means it's not deterministic.

I think the keyword was "using current hardware base". I can imagine it will take an intelligence only one order of magnitude more complex to predict actions of any human. I'm sure a bacteriologist doesn't see the behavior of a bacterium as hard to predict, random or "intelligent".
And isn't *random* just a short term to say "it is influenced by a set of factors we can't account for due to our limited abilities"?
nedzadarek
12:45@BeardPower
> And as you are able to think, there needs to be a form, which enables you to think. So there is something in existence, which lets you do that.

What if you don't think & don't exist. It might be just a *sentence* read by something else.
BeardPower
12:50If you don't think, you don't exist. The former is enough to not exist. Yes, the sentence is not aware of itself.
nedzadarek
12:50@hiiamboris
> And isn't random just a short term to say "it is influenced by a set of factors we can't account for due to our limited abilities"?

It's not a just black box (21 > [black box - magic happens here] > 42). It's lack of patterns. I mean if I give you N numbers can you guess (N+1)th? If yes, then it's not random.
12:50@BeardPower but you cannot *know* whenever you think or it's just some sentence *read* by someone else.
BeardPower
12:51The sentence will exist for the reader, but the sentence is not aware of itself, that he exists.
nedzadarek
12:52Yes, but you may think that you think but you don't think. :|
BeardPower
12:52If you guess it's random. That's why you can only guess it. The nth+1 number can match what match the number you guess, but it does not have to match.
nedzadarek
12:53Ok, it should be *deduce* or something else to be precise.
BeardPower
12:54@nedzadarek You mistake the form of existence with being aware that you exist. If there is something to think about, it needs to exist in the first place. If it does not exist, then how can you think about it in the first place?
12:55Even if you deduce it from something, this something needs to exist.
nedzadarek
12:55> Even if you deduce it from something, this something needs to exist.

it's about randomness not about existence
BeardPower
12:55How could you deduce something from something, if it does not exist? It's even in the name: some thing.
12:56Even randomness needs to exist, if not, there would not be randomness in the first place.
nedzadarek
12:57> Even randomness needs to exist, if not, there would not be randomness in the first place.

X needs to exists because without X there would be no X....
BeardPower
12:57So it's all about existence. No existence, no nothing.
12:57Yes, and the X is you.
nedzadarek
12:58I get the feeling that we are going in the circle.
BeardPower
12:59If you don't exist, how could we even have this conversation?
nedzadarek
12:59We are just a *line* in the super advanced book.
BeardPower
13:00No matter if this sentence was in your head or not, the fact that this sentence is there, right now, tells us, that it exists.
13:00So there is a book, where you exist :smile:
nedzadarek
13:00no it's just a sentence
BeardPower
13:01Yes, but it exists.
13:01Again: don't mix the form with existence itself.
nedzadarek
13:01I have to
13:04I don't know the word for this existence I want to talk about.
BeardPower
13:07The word is existence. And you know it. You just made me tell you.
13:08So you know it yourself.
nedzadarek
13:09Ugh... we are going in the circle. You won.
BeardPower
13:10We? No, you did.
nedzadarek
13:11OH.....
BeardPower
13:14@hiiamboris Well, is a bakteria aware of itself? Is instinct intelligence? Even if you predict up to 99%, it's still prediction. Yes, randomness is created because of a set of factors, but these factors are unlimited in amount. You cannot predict something, which depends on unlimited factors, as there is an unlimited amount of outcomes (if the factors are independent of each other).
13:16If randomness would depend on a fixed set of factors, it would not be random any more.
nedzadarek
13:22@BeardPower does randomness needs unlimited (infinity?) numbers of factors?
BeardPower
13:24@nedzadarek Yes, if you need true randomness.
13:25http://www.askamathematician.com/2009/12/q-do-physicists-really-believe-in-true-randomness/
hiiamboris
13:29> Well, is a bakteria aware of itself? Is instinct intelligence?

To me these are semantic questions. I think usually by "human intelligence" they mean the ability to model other humans' behavior to some extent. In this sense, not only animals but children too are "unintelligent".
BeardPower
13:30A true AI is not modelled to some extent, but to the fullest.
13:31Well, they are inexperienced.
13:35Intelligence is not something you can learn.
9214
13:36Y'all funny noises in my head.
rebolek
13:38You just think you have head.
nedzadarek
13:39Now imagine **we** are some kind of voices in the mentally ill person's head.
BeardPower
13:40Explains a lot :smile:
9214
13:41Especially you, purple one, you think I think that you think that I think that my thinking is something you think. Lol! This is a rude and mean spirited line of thought, don't you think?
nedzadarek
13:42@9214 He doesn't think. He doesn't exist.
9214
13:42@nedzadarek and who made *you* think that?
nedzadarek
13:42@nedzadarek
13:43@nedzadarek
9214
13:43https://www.youtube.com/watch?v=YLMaSII_URU
BeardPower
13:46This is Sparta!
nedzadarek
13:47Buffy... such an old show.
BeardPower
14:08Old but gold.
nedzadarek
14:46@BeardPower I still plan to watch smallvile and some other shows.
BeardPower
14:49Mr. Robot
14:50Smallville hehe. I watched Batman (Adam West).
9214
14:53> Mr. Robot

:cow2: :shit:
BeardPower
15:05Nah, the hacking examples are real.
9214
15:06They lost me at "mah bwoi you use KDE too?"
BeardPower
15:17Haha.
hiiamboris
15:18:)
do you hackers like retrowave by any chance?
9214
15:21That's what a true Illuminati would say.
hiiamboris
15:23:innocent:
BeardPower
15:28Which retrowave?
hiiamboris
15:30musics? sung, mega drive, that kind of beasts ;)
9214
15:30:cow: :question:
hiiamboris
15:34I like how they express the dreams of 80s cyberpunk, in all their purity, with all those AIs, cyberspace, VR maniacs and neon cities scraping the sky :)
BeardPower
15:34Ah, you mean RW in general. I prefer to use the real stuff not some retrofitted hardware.
15:35Cyberpunk 2077!
15:35:shipit:
9214
15:35By CD Projekt RED.
15:35To da moon!
hiiamboris
15:38https://youtu.be/2T1DZQkgd4Q?t=1320 https://youtu.be/DkhWH2OlD6Q like this I mean ;)
I see you're not in it, so jump in :)
15:39think johnny mnemonic in sound
9214
15:40:cow: :question: :exclamation:
hiiamboris
15:40a cow thinks hard then exclaims?
9214
15:47You *think* that a cow thinks...
nedzadarek
15:51https://youtu.be/2WNrx2jq184?t=27s
15:51Brian, stop!
gltewalt
15:55Are cows deterministic?
nedzadarek
15:56hmmm... @gltewalt are cows real? Have you seen a cow?!
dander
17:35For all of you self-awareness junkies, https://youarenotsosmart.com/podcast/ is one of my favorite podcasts, and https://www.hbo.com/westworld is amazing
BeardPower
18:15I also recommend https://imdb.com/title/tt0470752/
dander
18:48ooh, yeah that's a good one 👍
Phryxe
18:54:+1: Ex Machina. Interesting story. Good cast. Alicia is perfect :love_letter:
nedzadarek
20:09@BeardPower @Phryxe but the ending is bad.
@dander Westworld was indeed interesting but... I'm not sure if a season 2 will be good. I didn't liked the trailer.
BeardPower
20:54@nedzadarek Why bad? It's open for a sequel.
20:55Better watch the movie of Westworld.
hiiamboris
21:03@dander can you tell me, in that podcast - what was the most interesting idea that you've discovered?
nedzadarek
21:19@BeardPower oh.... misclicked and it deleted whole thing...
/spoilers/
It builds some kind of relationship between main characters but they destroy it with simple *you stay here*. There is no even some kind of talk, reasoning, nothing. Just PC run some code - done.
WW movie is old, it won't be good. It will be just like old Who (or the first season of New Who).

gltewalt
01:27Everyone sees 🐄, but are they deterministic?
dander
03:20@hiiamboris the most mind bending idea is probably #90 reality. It's about an idea where consciousness is a fundamental component of the universe and the reality that we experience is just some abstraction. I also really like the ones that get me to question my own thinking about things, which is many of them
03:21@nedzadarek 4 episodes in so far, and I think I am enjoying it just as much
hiiamboris
07:14okay thank you :)
07:25"transcendence" https://www.imdb.com/title/tt2209764 ? it's not about pretty girls breaking loose but tries to take a realistic view on what a true AI would be
have you seen it? what are your thoughts about it?
rebolek
07:29Transcendence was pretty bad IMO.
hiiamboris
07:32what did you like/dislike about it?
rebolek
07:33I think the story was too weak.
hiiamboris
07:34how would you make it stronger? what's missing?
rebolek
07:39Hard to tell how to make it stronger, IMO most of the people there were behaving like total morons.but that's, you know, just like my opinion man.
hiiamboris
07:42ok good :) can't tell that I felt the same, but next time I'll watch more closely on how rational their actions are
rebolek
07:44Maybe I'm too harsh to the movie and maybe I should watch their motivations more closely, but I don't want to rewatch it in the near future. Maybe if it will be on TV and there won't be nothing better, I will give it another chance.
hiiamboris
07:50you know what I liked the most there is the scale of things.. I've always seen AI not as a walking box but a distributed thing that only would require a split-second to evolve to the limits the hardware will allow... and then - there's no stopping it
that's exactly the ideas I saw there :) except I don't see at as utopian, since.. you know.. Earth is a shared resource
nedzadarek
10:09@dander Westworld? Yes, it's good. It have got little bit of everything: mystery, sci-fi, science, action, fantasy...
What do you mean by # 90 reality? I cannot find anything about this.

https://en.wikipedia.org/wiki/Perfect_Imperfection has transhumanism/AI it's interesting but I find it lacks some stuffs.
ps. The author made only 1 from 3 books!

@hiiamboris nice, another movie to watch... the synopis reminds me of another movie 13th floor.
hiiamboris
10:34@nedzadarek 13th is more in the line of the congress/matrix/existenz/virtual nightmare and other stuff questioning the beliefs of "reality" domain
probably no similarity to this one
9214
10:36Yoshitoshi ABe, anyone? Experiments Lain, Texhnolyze?
10:37@9214 notice me senpai...
hiiamboris
10:41there's a lot of great anime indeed, although back in the day when I watched these 2 I couldn't really figure out what was the message if there was any ;)
9214
10:42It's the exact opposite actually, golden age of anime is the long gone past.
10:42Same applies to the gaming industry.
hiiamboris
10:43and who defines if the golden age starts or ends? ;)
9214
10:43Me and my tastes of course!
hiiamboris
10:43makes sense :D
nedzadarek
10:48@hiiamboris I see, matrix, huh? Well, I'll watch trasference.

@9214 nowadays there is a lot more of "not so good* things. The medium doesn't really matter. And first one was nice.
> The infinite monkey theorem states that a monkey hitting keys at random on a typewriter keyboard for an infinite amount of time will almost surely type a given text, such as the complete works of William Shakespeare.

[Source](https://en.wikipedia.org/wiki/Infinite_monkey_theorem)
I bet you have tried [the Library of Babel](https://keiwan.itch.io/library-of-babel-3d)

hiiamboris
10:49@9214 idk I don't see it that way... I like dreams of 60-90s and I agree that our current epoch won't be remembered as those decades as it lacks definitive, outstanding qualities, but I see a lot of beautiful art objects being done every year, you just need an open mind and will to listen to the author
9214
10:54Well, I think that art consumption is tied to personality development, and it's just that I tend to be more picky about what I integrate in myself as the time passes.
10:55Truly inspiring things become rare and unique, and that makes them powerful and influential in their own way.
nedzadarek
10:58@9214 There are a lot of interesting ideas/things in a mediocre or at most good things. Yes, it's hard to find those but it's worth to look for something below 8/10.
9214
10:59@nedzadarek that's exactly what I'm doing.
10:59https://www.imdb.com/title/tt0487928/
nedzadarek
10:59:+1:
hiiamboris
11:02@9124 But that feeling of inspiring things becoming rare might as well be an artifact of your own.. shall I call it.. "masterpiece discovery schedule" ? :D
At some point you were presented with a lot of great stuff *at once* - stuff that was probably made in 20-30 years, and then later there comes the feeling of scarcity because now you have to keep up with the stuff being released in real time.
But when I personally looked at the timeline I was a bit surprised that the quantity of art objects that I tend to like - increases towards the present, which ofc is easily explainable by the geometric increase in their production rate
9214
11:04Yes, goodies accumulated in the last 30 year vs. slow paced reality.
hiiamboris
11:04I liked "dante 01" too. Stupid bunch of fanatics, what kind of plot is that? But the feeling of being there in the deep space... that was wow :) I think it's underrated by a considerable margin
nedzadarek
11:06@hiiamboris
> now you have to keep up with the stuff being released in real time

No, you don't have to do this. Or rather... you cannot do this.
9214
11:06@hiiamboris the ending was rushed, but so hypnotic that I just rewatch it from time to time.
hiiamboris
11:07:+1:
9214
11:07FX work is superb too.
hiiamboris
11:08you saw "solaris" of 2002?
9214
11:09Nope, but plan to.
rebolek
11:09not bad
hiiamboris
11:12In contrast to the :bear: directors they focused on the beauty of such an *alien* consciousness.. it's curiosity, it's attempts to understand us and our feeble attempts to understand *it*
But I mention it because of it's deep hypnotic, ambient feel
nedzadarek
11:13Based on Solaris by Lem?
rebolek
nedzadarek
11:15It was interesting but the ending was not satisfactory.
dander
16:43@nedzadarek I think you were asking about which podcast episode had the most interesting/unique idea? I was referring to [this episode](https://youarenotsosmart.com/2016/12/02/yanss-090-questioning-the-nature-of-reality-with-cognitive-scientist-donald-hoffman/). There are so many good things in there though, it's hard to pick. The backfire effect series was very interesting to me.
16:45Speaking of anime, Ghost in the Shell?
hiiamboris
21:22@dander if there was anything as deep into the nature of the mind as "gits" and "gits innocence" I would've known... we all would've known... so there's nothing to advise :)

dander
01:31@hiiamboris point taken 😁
9214
02:03@dander just play SOMA, @hiiamboris will second me on that.
dander
06:27@9214 thanks for the recommendation. I put it on my list
hiiamboris
07:11> @dander just play SOMA, @hiiamboris will second me on that.

any time, any day :)
and while playing also look out for the gallows sketch there ;)
viayuve
08:08@rebolek What is REN
rebolek
08:09@viayuve it's basically Rebol/Red syntax intended as data format (like JSON) under different name. See https://github.com/humanistic/ren
viayuve
08:10now sure about JSON but I will google it thanks
rebolek
08:11JSON is data format used for communication over web - https://json.org/
viayuve
08:11I would really love if one language can do everything that is why I am learning red
nedzadarek
12:04@dander no, you said
> the most mind bending idea is probably #90 reality. It's about an idea where consciousness is a fundamental component of the universe and the reality that we experience is just some abstraction. I also really like the ones that get me to question my own thinking about things, which is many of them

No, I asked about **#90 reality**. I'll read that podcast later, thank you.
greggirwin
17:39@viayuve there is also http://ren-data.org on the REN side. Not a competing project. We have the same goal.
nedzadarek
23:18@greggirwin There is a lot of 404

greggirwin
06:06It's not a complete site, mainly a working space for discussion of the format.
nedzadarek
07:26@greggirwin Ah, I thought something had happened.
iArnold
07:48> @greggirwin Ah, I thought something had happened.

That must be another community then @nedzadarek Traditionally there is a complete different timescale in Redbol land. LoL! One thing is sure, Red does get occasional upgrades and almost always with unexpected extras ;-)
07:49And if so there will be a long blog following.
07:49Silence is often a good sign. (How hard that may be to believe)
greggirwin
14:16I'll get back to Ren at some point, I'm sure. It was originally meant to aid compatibility between Rebol forks, but they haven't all progressed at the same rate, so that's not as important now. It will be much more important if any one Redbol lang starts becoming popular.

viayuve
07:01Why red is not on tiobe
9214
07:01Because it's a non-mainstream programming language in the alpha stage of development.
07:02We don't have enough critical weight in community and ecosystem to compete with more mature PLs.
BeardPower
10:52Not yet.
greggirwin
23:11Red *is* monitored by Tiobe, but the name gives it a low confidence rating, and we're not near the top of any ranking list yet.

guraaku
09:45So, has anyone had a look at the new Red book ?
9214
09:45Yup.
guraaku
09:46what do you think ?
9214
09:47Well, you don't see me praising it, that should tell you something.
guraaku
09:47ah..that's a pity :(
09:48a good book would really be an asset to Red
rebolek
09:49It's too soon for a good book, lot of features are not implemented yet.
guraaku
09:51If anyone has been following the Idris language, they came out with a book to coincide with the 1.0 release. Quite a good book and general introduction to dependent types !
BeardPower
10:47We try to create a wiki of high quality content so it would an easy process of creating a book based on that content in the future.

gltewalt
05:20:sake:
rebolek
09:43Daily builds are working again https://rebolek.com/builds/
nedzadarek
15:45@guraaku are you on windows (8.1)? I've tried binaries but they don't work:
- they require full path
- got some undefined reference to with idris_rts.o/idris_rts.c

Have you gotten the same problem?

viayuve
06:14what is the name of the red book seen somewhere but forgot name and can't find on google showing me red hat stuff
9214
06:14https://www.packtpub.com/application-development/learn-red-%E2%80%93-fundamentals-red
viayuve
06:15@9214 thanks 🙏 going buy that asap
guraaku
07:39@nedzadarek , ah, I'm on windows 10, I haven't had that issue
07:40but, I haven't tried the latest release for a while, so who knows, somethign may have broken since I last looked at it (I got distracted from Idris by Red !)
07:43I got interested in Idris (and dependent types in general) because of the possibility of being able to prove that your code is correct. I think that whole concept is pretty amazing.
07:46Red is quite a different thing, but I still see the idea of domain specific languages as another angle on correctness, ie, your spec (written in your dsl) basically is your program, so if your spec is correct, then your program is correct. So, the ability to create dialects in Red is what got me interested in Red.
9214
08:34@guraaku DSL can be verified by domain expert in the first place.
guraaku
08:35yes, that's the point :)
08:36so long as your interpreter/translator does the right thing, then it's up to the domain expert to decide if their system (ie, what they wrote in the DSL) is correct
08:37but this ideal only has a chance of succeeding if the DSL is truly expressive enough, and not full of incidental complexity that could confuse the domain expert
08:43if it's not tailored enough to the given domain, then it ends up just another language that we need to test/verify
nedzadarek
10:51@guraaku but you have just unpacked the 7zip archive and nothing more? Or do I have to install something? Wiki says the archive contains everything.
I had version bellow 1.0 - it seems it worked because I had many files with code.
> domain specific languages as another angle on correctness

Yes, it helps but you should do the same things as in *normal code*. The Red's parse helps you but you are still able to introduce "hard to catch bugs". I read that Racket does it better but I have to try it.

> I got interested in Idris (and dependent types in general) because of the possibility of being able to prove that your code is correct. I think that whole concept is pretty amazing.

I have test it too.

@9214 how much does it cost? Can non-company persona afford it?

9214
10:52@nedzadarek the book? All prices are listed at the publisher's website.
nedzadarek
10:53@9214 no, I mean DSL verification.
9214
10:53Why should it cost anything?
10:53Domain expert is usually involved in DSL design and creation.
nedzadarek
10:54I mean, if, for example, I make a DSL and want somebody to verify it.
9214
10:56Okay, so you search for someone who provides verification services you need (if such thing ever exist) and discuss the price on a specific basis.
nedzadarek
10:57ok :|
rebolek
10:58or post it here on Gitter and let others do it for free ;)
9214
10:58That part is entirely optional and up to you though. /C3 will need to be verified by experts in Dapps and smart contracts, maybe Solidity. Draw does not need any such verification, because, well, why you ever need to verify a Logo-like language?
11:00[DSL Engineering](http://dslbook.org/) book is written by someone who worked in DSL development industry, maybe you can find more specific info there. I haven't read it fully yet, just barely skimmed through preface.
11:07As I said, usually domain expert is involved in DSL creation, because he is one of the end-users. He and DSL engineer design and refine everything together in a tight feedback loop, so there's no need in a 3rd party verification.
guraaku
11:10yes, definitely domain expert should be part of the process of building the DSL, as you say, they are the user
nedzadarek
11:16@9214 It's seems interesting (the book) - I'll read it in my free time, thank you.
Well, thank you for your opinions/experience.

Most of things are optional but we do it. For example when I post some code I include tests/examples so user can just copy-paste it and see results immediately. It's *have to* for me.
Draw might not need verification but someone must make sure that for example 2 buttons don't overlap (user thought it clickedok but he/she really clicked cancel).

@rebolek right, because this gitter is DoS
guraaku
11:16@nedzadarek There certainly is some enthusiasm for Racket for building DSLs, this guy is very taken with it https://beautifulracket.com/
11:17I want to investigate this more too, but the little I have read of it, it seems to me Red parse is still simpler
9214
11:18FYI, DSL creation is not tied to Parse in any way, you can implement everything you need in vanilla Red.
guraaku
11:18sure, but surely Parse is a tool that should help ? I mean, it's a very good tool for parsing... and that's a big part of building a DSL
11:19well, at least for external DSLs
9214
11:19It can help if *you need it*, but it's not *necessary*. I just feel that everyone who talks about dialect somehow assumes that Parse is a one-stop-show for everything.
guraaku
11:20it would be interesting to see different techniques, and then people can experiment and use what they feel is best for their particular need
11:21for me, as a beginner in Red, I'm at the stage of playing around with Parse to see what I can achieve with it
11:22specifically, I really don't want to write my own parser this time, because I've already done that, and now I want to try a different approach
9214
11:22@guraaku Fowler has [DSL pattern catalog](https://martinfowler.com/dslCatalog/). They are pure Java/C#-isms and kinda funny to read from Red's perspective, nevertheless some of them have sound grains.
nedzadarek
11:22@guraaku but i's for version 1.2 while Racket is in 6.2
@9214 of course, as in the Ruby, languages are lenient in some cases. So you can do a lot with simple functions/blocks/lambdas/values.
guraaku
11:23@9214 I have Fowler's DSL book :)
9214
11:23@nedzadarek I believe version number is related to the book, not to the language.
nedzadarek
11:23@9214 oh! I'm going to read more then to check it.
9214
11:24@guraaku nice. I read it in January, first part is interesting, personally I like the idea of semantic model he proposes, but the second part with examples is kinda meh.
guraaku
11:24Another approach is JetBrains MPS... or Xtext...
9214
11:24Plus he entirely skipped functional approach and ML family.
11:24And no info on error handling.
guraaku
11:25yes....another approach i haven't tried yet is parser combinators, say like Parsec in Haskell
nedzadarek
11:25Jetbrains... was very *big*.
guraaku
11:25I'm not sure though if their MPS system ever got popular
11:26I've also tried ANTLR
11:26I'm hopingRed is going to be better than other approaches :P
9214
11:26ANTLR is one thing from which we need to learn from.
11:26The other IMO is Rascal.
11:27And Racket of course.
guraaku
11:27hehe...yes, so many things, so little time !
9214
11:27I'm still waiting for @BeardPower's 96h-a-day bootcamp.
guraaku
11:29what's that ? :)
9214
11:29The future!
nedzadarek
11:30@guraaku as 9214 said, you don't have to use parse. Here is simple DSL using function + block:
foo: func [name block /local ind][
    print ["user: " name]
    ind: 0 
    foreach w block [
        prin ind prin ": " 
        print w
        ind: ind + 1
    ]
]

foo "baz" [
    abc
    def
    ghi
]
; user:  baz
; 0: abc
; 1: def
; 2: ghi

So, yeah, no need for parse in some cases.
guraaku
11:31@nedzadarek I just downloaded the self extracting Idris installer for 64 bit windows
nedzadarek
11:31@guraaku good! I'm waiting for more info!
guraaku
11:31it installed ok, ie unzipped, and I can run Idris.exe and the console starts up ok
11:31so, no error so far
11:31that's version 1.30
nedzadarek
11:31@guraaku but try to compile hello word
11:32I had errors while compiling
guraaku
11:32ah ok
11:32try compiling something without any output, eg without print etc
11:32just some pure function, and see if that compiles
nedzadarek
11:33can you post some code? I have stuck at hello world so I don't know that language
guraaku
11:34@nedzadarek yes, that's a good thing about Red, andsome other languages, the language syntax is quite flexible, lets you build DSLs just in the language itself
11:35the thing I am working on just now, is I already have a DSL written before, with a handwritten parser in C#
11:35just now, I'm tying to write a parser in Red for my DSL, and then parse and translate the existing stuff written in the DSL, to another DSL....
11:36ok, hang on, let me write some Idris code and see if I can get it to compile
9214
11:36'It's turtles all the way down.'
guraaku
11:37and, actually, this is quite a good use case, for introducing Red...
11:37because.... the translator could just be a one off tool
nedzadarek
11:37**Red Turtle**?
guraaku
11:37once the old DSL is translated to the new one...
11:37it doesn't matter how it was done
11:38so.......it may be a way for me to get a foot in the door for Red...
11:38the old DSL is something we've used at work for the last 15 years or so
nedzadarek
11:39@guraaku then I guess parse might be helpful but I'm not sure what your DSL looks like.
guraaku
11:39oh, it's pretty straightforward actually
11:40some basic statements to let you update data
11:40and if statements etc
BeardPower
11:40@9214 It includes a lot of dancing ;-)
guraaku
11:40few other bits and pieces..
9214
11:40@BeardPower I have all the music beats necessary :japanese_ogre:
guraaku
11:41but, the good thing is that it has let our domain experts write their own rules rather than the programmers (me !) having to do it
BeardPower
11:41@9214 :+1:
nedzadarek
11:42:+1:
BeardPower
11:42@guraaku Well, the domain experts are only working on the spec, but it's the programmers task to implement that spec.
11:43Unless we have a DSL compiler.
guraaku
11:43@BeardPower well that's the beauty of it... I wrote the compiler for it 15 years ago, and since then haven't had to write implement much more - because they write the spec in the DSL
11:43just every now and then implement a new feature
11:44they write their spec in the DSL, press a button, and out pops an exe !
BeardPower
11:44Well, the spec is in EBNF, so they implement the EBNF as a DSL not in the DSL.
guraaku
11:45well.... the DSL is a language they use, to write what they want, ie the spec
BeardPower
11:45The DSL is the outcome of implementing the EBNF spec.
guraaku
11:45not the spec for the DSL itself
11:45yes, exactly
11:45so, I implemented the EBNF spec
11:45 they write their requirements in the DSL
11:46I think we were confusing two different usages of "spec"
BeardPower
11:46Which DSL? You implemented the EBNF spec and created a DSL. They don't write their requirements in a DSL.
9214
11:47@BeardPower by requirements @guraaku means a DSL input with if/else and et cetera I suppose.
guraaku
11:47well, I believe they do write their requirements in the DSL
11:47that is the whole point
11:47the dsl is provided to them so that they can write what they want their system to do
BeardPower
11:47@9214 It seems so, as we are speaking of different things.
11:48> the dsl is provided to them so that they can write what they want their system to do

Yes, but that's not a spec.
guraaku
11:48so instead of writing their requirements in English, they write their requirements in the DSL. They then press a button and get a working system which implements what they specified in the DSL
11:49I believe it certainly fits the definition of a spec :)
11:49what else is a spec, except some description of what you want the system to do ?
BeardPower
11:50> what else is a spec, except some description of what you want the system to do ?

>In computing, a programming language specification (or standard or definition) is a documentation artifact that defines a programming language so that users and implementors can agree on what programs in that language mean.
guraaku
11:50yes, again, we are talking at different levels
11:51the domain experts, who are the users, want to specify something like... if the person is underage, set their income to zero
9214
11:51Very confusing moderators here, not hot, I see why the price has fallen down :thumbsdown:
guraaku
11:51that is the spec :)
BeardPower
11:51Yeah, we refer to different terms :-)
guraaku
11:51so, there is a different spec, which is the spec of the languagee dsl, itself
11:51both a re specs
11:52I implemented the spec for the DSL, which is an EBNF grammar
11:52as a compiler hat language
11:52the domain experts then implement their specs, and rules written in the DSL
BeardPower
11:52> the domain experts, who are the users, want to specify something like... if the person is underage, set their income to zero

Sure, but this is not what they specified in the DSL, this is what they programmed with the DSL.
11:53@9214 :no_entry: :rocket:
guraaku
11:53well, I claim that that specified it in the DSL, rather than using the term, programmed it
11:53because the DSL is good enough for them to use, they are not what you would call programmers
BeardPower
11:53A DSL is used for programming domain specific tasks.
guraaku
11:53hehe
11:54we can differ on the terms
11:54I say, a DSL , if it isreally good, is used for specifying tasks
BeardPower
11:54They are programmers, because they program in the DSL :-)
guraaku
BeardPower
11:54It's not really to specify stuff, but to program.
guraaku
11:54are they programmers if they write their spec in English ?
BeardPower
11:55Yes, because they program, they do not write a spec.
guraaku
11:55I'm not going to get hung up on terminology
11:56we have given them, who are not programmers,ability to create executable systems
11:56if that makes them programmers, that's fine by me
BeardPower
11:56A spec would define the input of some function: e.g. integers and strings. That would be a spec.
guraaku
11:57the difference between spec and code is simply one of degree
BeardPower
11:57If you tell a machine what to execute, you are a programmer ;-)
guraaku
11:57ergo, my clients re now programmers ! :)
BeardPower
11:57> the difference between spec and code is simply one of degree

No, these are different hings.
guraaku
11:57ah, how are they different ?
11:58are you a programmer if you use Google home to ask it, "can you please play some Van Morrison music" ?
nedzadarek
11:58HTML programmer ;)
BeardPower
11:58A spec tells the machine about the SPECIFICS WHAT to do. (add some numbers; only use integers)
A code tells the machine HOW to do. (how these numbers are added)
guraaku
11:58again, I'm really not fussed about terminilogy
11:58the fact is
11:59we now have (and have had for the last 15 years) domain experts who don't consider themselves programmers, who can create systems which the computer executes for them
11:59call them programmers if you like, that's fine
11:59I won't disagree
12:00ah see, what's functional or declarative programming ?
12:00again, I say, it's a matter of degree
12:00functional/declarative is much more towards telling the computer what to do, not how to do it
12:01as time goes by, this line is going to become more and more blurred
12:01eg AI
nedzadarek
12:01Logic/constraint in the Picat? @BeardPower
guraaku
12:01people who are not "programmers" are going to be able to tell computers what to do
12:01and it will do it
BeardPower
12:02@guraaku Functional and declarative programming are programming paradigms.
guraaku
BeardPower
12:02You can tell the machine what to do, but you need to tell him how to do it.
guraaku
12:02the terminlogy is irrelevant - what
12:03s important is the outcome
12:03look at the history of programming languages
BeardPower
12:03Drive me home -> how? slow? fast? in time?
nedzadarek
12:03@BeardPower no, **you** don't have to.
guraaku
12:03starting with machine code, assembler....
12:03we had to tell, stick this value in this register, move the stack pointer, etc etc
12:04now we say, "5 + 3"
12:04is that telling it how to do it ? no, we just say, please add these 2 mumbers for me
BeardPower
12:04@nedzadarek Sure you have, by giving the machine orders.
guraaku
12:04so is it still programming ?
nedzadarek
12:04@BeardPower let me find an example
BeardPower
12:04@guraaku And you did what exactly? You told the machine HOW to do it as well ;-)
guraaku
12:05really ? I said 5 + 3
BeardPower
12:05You can do division by 2 in different ways. You need to tell the machine how it should do it.
guraaku
12:05I have no idea how it did it, and I didn't tell it how to do it, ie stick this value in this register...
BeardPower
12:05You need to tell it how to do it, this is done in the compiler.
guraaku
12:05again, I'm really not concerned about the terminology, I'm totally happy to accept your use of the term programming
BeardPower
12:05Who wrote the compiler? You did :-)
nedzadarek
12:06
import sat.

main =>
    queens(8).
queens(N) =>
    Qs = new_array(N,N),
    Qs :: 0..1,
    foreach(I in 1..N)     % 1 in each row
       sum([Qs[I,J] : J in 1..N]) #= 1
    end,
    foreach(J in 1..N)     % 1 in each column
       sum([Qs[I,J] : I in 1..N]) #= 1
    end,
    foreach(K in 1-N..N-1) % at most one 
       sum([Qs[I,J] : I in 1..N, J in 1..N, I-J=:=K]) #=< 1
    end,
    foreach(K in 2..2*N)   % at most one 
       sum([Qs[I,J] :  I in 1..N, J in 1..N, I+J=:=K]) #=< 1
    end,
    solve(Qs),
    foreach(I in 1..N)
        writeln(Qs[I])
    end.

BeardPower
12:06Depending on the task, you need to tell the machine how to do things.
guraaku
12:06it really makes no difference
12:06the fact is, for the last 15 years, I haven't had to implement my clients specs (mostly)
BeardPower
12:07@nedzadarek Yes, and you said how to do it: foreach; you could also use for, while etc. this is not what the machine decides on, but you!
guraaku
12:07if that's because we turned them into programmers, that's ok, am happy to accept that
nedzadarek
12:07@BeardPower I can as well do it manually.
guraaku
12:07I still contend that WHAT and HOW are simply diffferences of degree, which will get more and more blurred
BeardPower
12:08@nedzadarek As well? you always do it manually, because you coded it.
12:09a + b: this would be automatic, if the compiler/machine would not care about scalar or vectors (like the Mill does), but most machines do. They have special registers you explicitly need to address. This is not something the machine decides on.
12:10If the machine does not differentiate between scalar and vector, you would not even have to type any of the foreach statements.
nedzadarek
12:11@BeardPower no, most of the thing are constraints. It's just saying "This element should be X, this element should be X * 10".
BeardPower
12:11@nedzadarek Sure, but you need to specify how it should add it.
12:11And you just did by using foreach!
12:12You told the machine: use a loop for adding my stuff.
12:12But the machine could do it without a loop!
12:12If you want it to do, you need to tell it to!
12:13Another examples: add and multiply
12:13You can tell the machine to do it separately or all together.
12:14If the compiler was not optimized for it, the machine will not do it for you, you have to tell it to do it.
nedzadarek
12:16@BeardPower no, no, no!
I don't specify anywhere how to add something. I just said this should be *something*.
foreach is just for convenience - I can just do it manually.
In the end I just tell the picat (in the example) what I want - not how to do it. Everything is solved by the Sat.
BeardPower
12:16The whole thing about algorithms is telling the machine how to do stuff.
What: find the shortest path from A to B (what the machine should do -> a spec)
How: implement the shortest path search (how the machine should do it -> an algorithm)

An algorithm is the implementation of the spec.
guraaku
12:17hey @nedzadarek sorry, I got all caught up with this discussion, haven't tried the Idris compile yet ! I'll have to have a look at it tomorrow
BeardPower
12:17@nedzadarek That's the whole point. You need to decide, how it should be done ;-)
nedzadarek
12:17@guraaku ok, thank you!
BeardPower
12:17If you decided to do it manually, you decided how to do it.
nedzadarek
12:19@BeardPower Your definition of the programming is confusing... oh well.
BeardPower
12:19>In the end I just tell the picat (in the example) what I want - not how to do it. Everything is solved by the Sat.

It is solved by the way you tell it to (depending on the compiler optimizations).
That's the whole point of optimization.
12:19@nedzadarek Because you seem to think that specification is programming, no it's not.
12:20There is always a WHAT and a HOW.
12:21WHAT: division
HOW: by division, multiplication or substraction
12:211 what, 3 hows
12:221 spec, 3 algortihms
12:22Searching: find some number X
1 spec, many alogorithms
nedzadarek
12:22But in the picat example I said **what** to do not **how**
BeardPower
12:22@nedzadarek You did tell it how by using foreach.
12:23You added syntactic sugar!
nedzadarek
12:23So by you definition
foo
is the same.
BeardPower
12:24If this is a DSL, this would be a program, yes.
12:24If the division would be specified with <div>
nedzadarek
12:25I mean HTML.
BeardPower
12:25But if you are referring to html, you programmed a div.
nedzadarek
12:25So... you are saying that HTML = programming?
BeardPower
12:25It's a mark-up.
nedzadarek
12:26Or to be more specific: writing something in HTML = programming something?
guraaku
12:26hehe
12:26it's really a pointless argument
12:27if I tell google home, what's the weather ? I don't care if you call it programming or specifying, it gets done
BeardPower
12:27HTML is about structuring. How to render it is up to CSS.
rebolek
12:27that's what they want you to think
nedzadarek
guraaku
12:27the important thing is that people who previously were unable to make the computer do what they wanted it to do, now can, whether that is via Google home, or via a DSL that they can use...
BeardPower
12:28@guraaku Sure, you could also argue about, if writing a text document is also programming ;-)
guraaku
12:28yes, and that's the whole point
BeardPower
12:28I don't know, if you are familiar with PostScript. It's a programming language to create documents.
guraaku
12:28I'm not going to argue about it, because it;s simply a pointless argument about terminiology
BeardPower
12:28But you can also code anything you want.
nedzadarek
12:28@BeardPower Yes, text = language: https://esolangs.org/wiki/Text
BeardPower
12:29WITH documents.
nedzadarek
12:29I have seen someone coding first Pokemon game in the minecraft!
guraaku
12:29as I said, for the sake of argument, am happy to abide by whatever definitions you like - the main thing is to be able to communicate. So, having agreed, we can now move on :)
BeardPower
12:30Programming is telling the machine what and how to do it.
guraaku
12:30fine :)
BeardPower
12:30So basically everything you do on a machine is programming ;-)
guraaku
12:30and specification is ?
12:30yes ! good !
12:30let's agree
12:30and move on
12:30it's pointless
12:30everything is programmign
12:30what do we gain by discussing it more ?
BeardPower
12:30Specification is describing what you need, how it should behave.
12:31An UX
9214
12:31@rebolek that's what a true Illuminati would say.
BeardPower
12:31Action -> Reaction
12:31Input -> output
nedzadarek
12:31I have programmed since 10.... wow.
btw. html + css3 is turing complete, afair.
9214
12:31hot -> invest
nedzadarek
12:32https://www.youtube.com/watch?v=H-U96W89Z90 I skipped first part but around 10m it explain about programming aspect.
BeardPower
12:33@nedzadarek If it's proven, than yes.
12:33> what do we gain by discussing it more ?

We gain a solid base on terminology we all can agree on :-)
guraaku
12:34anyway, thanks for the discussion everyone :) I better go program my alarm clock for the morning :)
BeardPower
12:34You see? You PROGRAM the alarm clock ;-)
guraaku
12:34yep, everything is programming
12:34specification is a myth :P
BeardPower
12:35@guraaku Likewise! It's always great to know how other people think of something :+1:
12:35Or do you specify the time at which the alarm clock should ring :smile:
guraaku
12:35yes, even if they are wrong ;)
12:35hehe..joking :)
12:36I guess that's what this chat-chat channel is for anyway :)
12:36lighthearted frivolity
BeardPower
12:36Na, being wrong is totally OK: I have no issue with admitting, that I'm wrong and maybe I am :smile:
12:36Yeah. Anything can be discussed here.
guraaku
12:37ok, night, talk to you later :)
BeardPower
12:37To make a long story short: Don't get me wrong, I totally got what you wanted to say regarding "writing a spec".
guraaku
12:37hehe
BeardPower
12:37Till then.
guraaku
12:37did I say that ? I meant "writing a program"
BeardPower
12:37Now you got it!
guraaku
12:37see you
12:38@nedzadarek I'll try to get back to the Idris too
12:38if I don't get stuck in here again tomorrow !
BeardPower
12:38Achievement unlocked: convinced someone on the internet of my viewpoint
guraaku
12:38haha...so now we're both wrong ?
nedzadarek
12:38@guraaku thank you and I see what you mean.
guraaku
12:39night !
BeardPower
12:39https://imgs.xkcd.com/comics/duty_calls.png
guraaku
12:39ok, really going
BeardPower
12:40Need to dig up some of the old computer books from the 70ties, maybe they have something to tell on this matter.
nedzadarek
12:41@BeardPower it's another era of programming. They viewpoint will vary from ours.
BeardPower
12:42@nedzadarek Sure, up to a point where I just have to scream at my machine: make me rich ;-)
nedzadarek
12:43@BeardPower at this point you would be death ;)
BeardPower
12:43Even the human can be "programmed" with NLP by using words.
12:44Yeah, maybe the machine shows me it's "middle-finger" ;-)
12:45They even say that cells are "programmed".
nedzadarek
12:45But humanity is more complex.
BeardPower
12:46Sure.
12:46But I'm astonished what the human brain is able to achieve.
12:47Mind Palace anyone? ;-)
nedzadarek
12:48Human brain evolved over **many** years.
BeardPower
12:51And still, human kind is so stupid ;-)
12:52That's why I favor a machine: it does exactly what you tell it to.
12:52I know whom to blame for things going awry.
nedzadarek
12:53@BeardPower not everyone and by Einstein:
> Everyone is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.

But machine doesn't feel.
BeardPower
12:54There was only one real genius: Leonardo da Vinci.
nedzadarek
12:55Who is he?
BeardPower
12:55>But machine doesn't feel.

Well, they invented some sensors, which enables a robot to "feel".
12:56He was an Italian polymath: https://en.wikipedia.org/wiki/Leonardo_da_Vinci
12:56Mona Lisa? Remember? ;-)
nedzadarek
12:58Mona Lisa? Just a painting?
Machine can see/hear/detect touches/smell but... I mean human feeling - anger, sadness... etc.
BeardPower
12:59The Mona Lisa is one of his paintings, yes.
12:59>Leonardo di ser Piero da Vinci (Italian: [leoˈnardo di ˌsɛr ˈpjɛːro da (v)ˈvintʃi] (About this sound listen); 15 April 1452 – 2 May 1519), more commonly Leonardo da Vinci or simply Leonardo, was an Italian polymath of the Renaissance, whose areas of interest included invention, painting, sculpting, architecture, science, music, mathematics, engineering, literature, anatomy, geology, astronomy, botany, writing, history, and cartography. He has been variously called the father of palaeontology, ichnology, and architecture, and is widely considered one of the greatest painters of all time. Sometimes credited with the inventions of the parachute, helicopter and tank,[1][2][3] he epitomised the Renaissance humanist ideal.
13:00> Machine can see/hear/detect touches/smell but... I mean human feeling - anger, sadness... etc.

Yes, I was referring to these latter feelings.
nedzadarek
13:01Ok, but it's just a painting.
Later feelings - interesting.
BeardPower
13:01https://www.wired.com/2016/06/pepper-emotional-robot-learns-feel-like-american/
13:02https://www.theguardian.com/technology/2010/aug/09/nao-robot-develop-display-emotions
nedzadarek
13:02Thank you - I'll read it later!
BeardPower
13:05Really nice stuff :)
rebolek
18:10Stats are now also back https://rebolek.com/stats/
greggirwin
23:45Here is a *really* old N-Queens script I did for R2: https://gist.github.com/greggirwin/f8564168f6cc5a6a0bb4904344b24c5d

BeardPower
00:29Nice!
rebolek
08:14btw, if you are interested in your personal stats, here's how to get them in Red console:
users-data: skip load http://rebolek.com/stats/data/red/user-list.red 2
foreach user users-data [users/(user/1): user/2]
your-id: select users your-name ; replace your-name with your name
print load rejoin [http://rebolek.com/stats/data/red/users/ select users your-id %.red]
08:14Here's an example:
>> print load rejoin [http://rebolek.com/stats/data/red/users/ select users "rebolek" %.red]
name: "rebolek"
id: "5565a4bf15522ed4b3e100bc"
first: 27-May-2015/11:28:04.793
total: 7628
avatar: https://avatars-02.gitter.im/gh/uv/4/rebolek
days: 26-Mar-2018
rooms: #(
    "red/red" 2695
    "red/help" 1730
    "red/red/welcome" 900
    "red/red/gui-branch" 880
    "red/blockchain" 280
    "red/sandbox" 256
    "red/chit-chat" 238
    "red/bugs" 222
    "red/red/system" 85
    "red/red/code" 63
    "red/mezz" 57
    "red/docs" 55
    "red/red/map-datatype" 50
    "red/red/lisp" 39
    "red/Czech" 25
    "red/red/RIF" 15
    "red/audio" 13
    "red/Russian" 7
)
BeardPower
08:16:+1:
rebolek
08:20Hm, 27-May-2015, that means that few days ago we had 3rd anniversary of Gitter chat :tada: :dancers: :cake:
BeardPower
08:43Did I miss the party?
hiiamboris
08:43to fix the above:
users-data: skip load http://rebolek.com/stats/data/red/user-list.red 2
users: [] foreach user users-data [put users user/1 user/2]
your-id: your-name ; replace your-name with your name
print load rejoin [http://rebolek.com/stats/data/red/users/ select users your-id %.red]
rebolek
08:50@hiiamboris thanks for correction
08:56@BeardPower AFAIK, everybody did.
greggirwin
12:38Thanks @rebolek @hiiamboris!
do [  ; Use `do` so `ask` works when pasting it all into the console
	print "^/So, you want to see your Gitter stats^/"
	users-data: skip load http://rebolek.com/stats/data/red/user-list.red 2
	users: []
	foreach user users-data [put users user/1 user/2]
	your-id: ask "Enter your username: "
	print ["^/Stats for" your-id]
	print load rejoin [http://rebolek.com/stats/data/red/users/ select users your-id %.red]
]

Would someone please add a link to the start of this stats chat to https://github.com/red/red/wiki/Projects-showcase-%28links-to-remember%29 ?

rebolek
08:55Hm, there is a bug in stats!
08:56It shows one message less for everyone everywhere!
08:56The horror!
iArnold
10:33Counting from zero?
rebolek
10:39Heresy!
BeardPower
11:28Unforgivable!
maximvl
13:18hey guys, any insights on Red development, new updates? :D
rebolek
13:56Linxu GUI builds are now back too - https://rebolek.com/builds/
nedzadarek
15:39I just love how I can write/compile the Red programs with ~1Mb exe. Everybody should learn from Red.
I've tried Idris:
1) Binaries won't work
2) Compiling using Haskel/Stack is not working - It takes 2-3GB of HDD, 1-2 hours and not single Hello world was compiled.
greggirwin
16:55@nedzadarek, we're here to ease your pain. :^)
16:57@maximvl, continuous work, with the Red Wallet code getting a lot of attention lately. We've got a lot of doc work going on, and @hiiamboris seems to have a knack for finding bugs that lead to hard questions, but also some great, deep fixes from @qtxie and the others working with him now. The next few months should be *very* exciting.
iArnold
17:26Yes very exciting times, it is summertime!! Longest day in 3 weeks! Hope it will not be too hot to work ;-)
greggirwin
17:38I have a fan. :^)
gltewalt
17:40Oscillating?
greggirwin
17:45Me or the fan? ;^)
17:46I'm oscillating at a high freq lately. Hertz a bit.
gltewalt
17:48The fan
nedzadarek
20:57@greggirwin Thank you. That's reassuring!

rebolek
05:33https://www.bloomberg.com/news/articles/2018-06-03/microsoft-is-said-to-have-agreed-to-acquire-coding-site-github?
BeardPower
06:57@rebolek I just hope that this does not end in a developer lock-in...
rebolek
06:58There's still GitLab and other self-hosted solutions.
BeardPower
07:02Yeah. I also was thinking about using a different SCV solution than git.
iArnold
09:00Time to move on
BeardPower
09:05Yeah. Those big companies always try to control stuff.
09:07Trying darcs or Pijul.
guraaku
09:14How about BitBucket ?
09:15(if you were still ok with using Git)
09:16I'm just trying to decide which one to go with ...BitBucket sounded ok..anyone used it ?
maximvl
09:16I'm using GitLab
guraaku
09:17how are you finding it ? that has got good recommendations
BeardPower
09:18I used GitLab and GitHub, but I'm switching away from git to Pijul.
maximvl
09:25for my pet projects it's quite good, but recently Gnome moved to gitlab, they have a very broad review of why they did it
iArnold
09:25> I used GitLab and GitHub, but I'm switching away from git to Pijul.

If only it were Tau, not Pi
09:27Alas, not compatable with Red. Red is (pre)Alpha, Pijul is Beta software ;-)
BeardPower
09:30:smile:
09:31Since using Red, I can't stand those long install times of some compilers... Geez.
maximvl
09:54>Because Pijul is based on a sound model of collaborative editing
09:55what is a sound model?
BeardPower
10:04A model, which is executed to the fullest and working.
10:05Sound as in "working" not sound as in "music".
maximvl
10:06first time I see it in this context :)
10:08I'm reading about this Pijul, sounds cool actually
10:20haha, >GitLab sees huge spike in project imports (gitlab.net)
iArnold
10:30gitlab.com ??
BeardPower
10:31@maximvl It's common in scientific papers.
10:31Your arguments are sound.
pekr
11:57I might be alone, but I have worse experience with Google discontinuing its services, than with Microsoft. And I can see Gitlab using Google :-)
rebolek
12:00Time for celebration! Unofficial builds have been downloaded 10 times! 3x Linux GUI, 2x Linux CLI, 2x Win, 2x macOS and 1x RPi CLI.
maximvl
12:59@iArnold I think they own both domains, gitlab.net has grafana graphs :)
13:00@rebolek hey ho :clap: :confetti_ball:
BeardPower
13:02@pekr That's true. I just don't like any of these services controlled by some big company.
13:03@rebolek Whohoo! I'm sure two 0s can be added shortly :smile:
rebolek
13:04If two 0s will be added, I will bother with putting the stats online, but for 10 downloads, it's really waste of time.
13:05Anyway, here's Apache log parser I wrote to get the stats https://github.com/rebolek/red-tools/blob/master/apache-log.red
BeardPower
13:06:+1:
maximvl
13:07after I seeing the parse-apache-time I started thinking about collection of parse rules, like parse library you know
13:07common datetimes formats, timezones, different delimiters
rebolek
13:07That's interesting idea
9214
13:08ws package?
maximvl
9214
13:08ws : charset reduce [space tab newline cr lf crlf]
maximvl
13:08yeah, for example
9214
13:08Don't forget the script header with copyright notice.
13:08:exclamation:
rebolek
13:09It's distributed under IDCWYGDWI licence
maximvl
13:09haha, well last many things I did in Red didn't get anywhere
9214
13:09Or the parse rule for the number 13.
13:09https://github.com/jezen/is-thirteen
maximvl
13:09so I'm throwing the ideas into you, maybe there are more disciplined people who can actually do stuff :D
9214
13:10@maximvl we certainly can collect some of the common grammars together, but IMO it's not worth the effort until modules are implemented.
rebolek
13:11Why? Isn't it better to be prepared?
maximvl
13:11yeah, I mean converting the code into module is easy
13:12btw are you guys good with gitlab? I'm doing new stuff there but most Red people are on github yet
13:12eg if you want to make pull requests and stuff
9214
13:13I staked my username on Gitlab after recent MS + github news.
rebolek
13:13I'm on [GitLab](tps://gitlab.com/rebolek) and I like it.
maximvl
13:14ok, good :)
rebolek
13:14I start new projects there. Maybe I'll migrate stuff from Github also.,
BeardPower
13:14@9214 I vote for the Beerware license :smile:
13:15:beers:
13:16[Beer...](https://www.youtube.com/watch?v=mOPDCq04cCQ)
9214
13:20I beg you to stop.
BeardPower
13:27This sentence could make it into my signature :)
maximvl
13:28@9214 hey, when did you read the book? :)
13:28I thought it just came out
9214
13:29It was published on 18th May IIRC.
maximvl
13:30nice, any cool stuff inside?
13:30I wasn't really exited by the screenshots)
9214
13:30https://www.youtube.com/watch?v=gvdf5n-zI14
maximvl
13:31okey
iArnold
14:03> @iArnold I think they own both domains, gitlab.net has grafana graphs :)

@maximvl At my place it says Server not Found
hiiamboris
18:34poor gitlab :) https://status.gitlab.com/
> http project response time = 8.1s
http response time > 10s

> Some import processes from large repos are effecting overall availability, we are putting in place measures to limit this impact as well as additional scaling
dander
20:12Microsoft certainly earned themselves a nasty reputation, but in recent years have really changed their stance on open source. I don't know if it's necessary to run for the hills just yet...
BeardPower
20:14They changed their stance in some stuff, but even got worse on other: UWP is just one example. They want to cash in the same way as Apple does. Locking in vendors and developers. .Net core was a nice incentive but it lacks graphics/UI, which Microsoft is not interested in. They are more interested in web stuff, that's why they also bout Xamarin.
20:15They recently bought Gamesparks as well to get into data-mining of mobile games.
20:16Amazon bought PlayFab. The good stuff is in control of the big boys, again.
20:17It happened with a lot of great services, only to shut it down after some time.
20:17They still want to control the PC, as they always tried.
20:19Don't be evil... yeah, just works nicely on paper.
dander
20:19Yeah, it does really suck to see a good service languish and die after being scooped up
20:21This seems like a strategic acquire to me though. I bet they are finding it really hard to get adoption on VSTS, and maybe they think they can get more people using Azure services this way. I suppose it all depends on _how_ they end up pushing that.
BeardPower
20:22There are a lot of stories how they want to cash in. There was some Indy developer, who wanted to release a patch on the Xbox. To release that patch would have cost him 10k USD! They waved the fee after there was some shit-storm brewing up about it.
20:23Of course it's a strategic acquire. They can now poach in the best projects ;-)
dander
20:24that was Fez, right?
BeardPower
20:24Exactly.
20:24Not to mention the prices of development kits...
20:26They tried with mobile phones, which were really nice, and failed. Not they try it with github it seems.
20:27Their new hardware is great, though!
20:27They should have bough Jolla instead.
hiiamboris
20:27@BeardPower I see you're really set against the mega corps :)
dander
20:29If I understand, MS also was doing some sort of internal validation testing on the patches, so it would cost them a non trivial amount of money to patch a game, even if it was an indy. So there is some rationale to them charging for that. Under that model at least. I don't know if it's still that way though.
BeardPower
20:30@hiiamboris Yeah. All they do is to control developers and lock them in. Cashing in with horrific revenue splits.
dander
20:31console development seems like a hard market to be in
BeardPower
20:31They know, that there are no alternative and a longer breath in courts.
dander
20:31aren't Nintendo and Sony pretty locked down too?
BeardPower
20:31Yes.
20:31Consoles are all locked down.
hiiamboris
20:31@BeardPower so get used :D it's the future bro! one corp to rule us all...
BeardPower
20:32Microsoft tries to do the same with their Windows 10 store.
20:32@hiiamboris Red?
hiiamboris
20:32lol :D wishful thinking
nedzadarek
20:33@BeardPower skynet, duh.
hiiamboris
BeardPower
20:33@dander Internal validation is automatic. Humans are only involved if the algorithms trigger that (Apple is doing automatic checks etc.).
dander
20:33Windows 10 store is a wasteland. So they are opening it up to non-UWP apps (or I seem to recall something about that)
20:34if that's the case, I agree that it does sound like extortion
BeardPower
20:34They already have a high revenue split, so these fees should be already paid for.
20:34@nedzadarek Yeah, Red ;-)
nedzadarek
20:34@BeardPower when he... she... it... will be self-aware?
BeardPower
20:35Yes, Microsoft had incentives to get mobile developers on board, same as all the others.
20:35@nedzadarek She is already, hehe.
nedzadarek
20:36hmm... debugger on service....OH!
BeardPower
20:36Just read the ToS from the Appstore: you are not allowed to use other payment services than those from the platform provider. If you do, you will not be listed in the Appstore.
20:37Your app will be nuked.
20:38The PC is the only platform which is kind of "free".
20:38But let's face it: if you are not on steam, you gonna lose the game.
20:39The Microsoft incentive is nice, though: buy a game on Xbox, get the PC game free and vice versa.
20:40They killed BeOS, Linux is getting nowhere on Desktop. All we have is CPUs from Intel and AMD, GPUs from Nvidia and AMD. Where is my Voodoo stuff and Glide3D? Oh, yeah, it was pooched by Nvidia...
20:41Rant over ;-)
Let's get Red/OS running on the Mill.
dander
20:41😁👍
hiiamboris
20:41> The PC is the only platform which is kind of "free".

and even this freedom is disappearing with the growth of web apps, PC becoming just a browser starter
BeardPower
20:42Exactly!
nedzadarek
20:42well... you can do more with a server than user pc
BeardPower
20:43Microsoft was close to being dismantled decades ago, yet they are trying the same stuff again.
20:44@nedzadarek Sure, but IBM is King of servers.
Nothing beats Windows, in terms of market share, on the desktop.
20:46Adobe is reluctant to Linux, running their subscription model. GPU driver specs are not released to the public.
20:46The only thing to change that: Amiga Phoenix ;-)
nedzadarek
20:46Amiga phoenix?
BeardPower
20:47Just some proposal I'm working on, to get back to good old Amiga/C64 times.
20:48If there were not so much games, market shares would be very different.
20:48We just need a new "Doom".
hiiamboris
20:49I hope you don't really believe that ;) that a new DooM can solve anything
nedzadarek
20:49good old times...hmmm
BeardPower
20:50@hiiamboris Not a game, a new "Doom" as in "something that rings in a new era" like Doom did to games.
nedzadarek
20:51Doom? I thought it was Wolfenstein 3d...oh well
BeardPower
20:53@nedzadarek Yeah, it also had it's part, but it was missing he gore, the suspense, the mood, the sound, the levels.
hiiamboris
20:53@BeardPower cheap AR platform might do ;) but guess who's gonna make it first...
BeardPower
20:53@hiiamboris Well, AR and VR was a nice try, but failed miserably.
20:54Like 3D TV.
20:54Great AR/VR is still 10 years off.
20:55You would need at least 16k per eye. Motion sickness is till not solved.
hiiamboris
20:55right, it's only a question of time & money
BeardPower
20:55Not to mention great input.
nedzadarek
20:55@BeardPower I mean wolf3d was (one of the) first 3d game.
BeardPower
20:56@nedzadarek Well, not really. Battlezone was released in 1980.
20:56AR: Augmented Reality
nedzadarek
20:56AR - you mean like pokemon go? That's *only interesting*.
BeardPower
20:57https://www.youtube.com/watch?v=ymrYkbEbnEQ
hiiamboris
20:58:+1:
BeardPower
20:59SEGA is not coming back to consoles, so Red needs to ;-)
nedzadarek
20:59@BeardPower oh, well, but wolf was one of first 3d that... forgot what.
BeardPower
21:00@nedzadarek ;-) Sure, I got what you mean and yes, you are correct.
nedzadarek
21:00Good to knows.
21:01See you later
BeardPower
21:01Why do we need 4GB of RAM for using Notepad, while we can play games like Turrican on 64kb?
hiiamboris
21:02how else can you sell new hardware?
BeardPower
21:02Hehe, that's right. Apple is the best example.
21:03Maybe we can too, which a new version of this ;-)
21:03https://www.youtube.com/watch?v=Fvha_2hAzq0
hiiamboris
21:06not bad, but still, compared to what the demoscene produces nowadays...
BeardPower
21:06Tower 57 is really nice on the Amiga.
21:07Sure, but the demo-scene today is not working with 32kb of RAM and a CPU with 1Mhz ;-)
hiiamboris
21:07true ;)
BeardPower
21:09Or 512KB and 7,09Mhz.
hiiamboris
21:10that's enough to run *the* civilization :)
BeardPower
21:13Seems so, yes.
21:13The power of today's SBCs is amazing.
hiiamboris
21:15what's an SBC?
BeardPower
21:15Single Board Computer
hiiamboris
BeardPower
21:15Like the Raspberry Pie.
21:19It gets more crazy every month...

https://www.udoo.org/
21:20https://www.udoo.org/udoo-bolt-the-amd-ryzen-based-maker-board-is-live-on-kickstarter/
gltewalt
21:20What if Microsoft wants to buy Red?
BeardPower
21:22@gltewalt I answer this with another example:
Amazon offered cocos2d-x 600million USD, yet they declined, because they were valued at 1.3billion USD for an IPO.

http://www.pocketgamer.biz/asia/news/59204/amazon-offered-us-600-million-for-cocos2d-x-says-chukong-ceo/

Any more questions? ;-)
gltewalt
21:22Rebol almost partnered with gateway at one point to ship their computers with Rebol pre installed.
BeardPower
21:23So Amazon bought the CryEngine.
21:24It's always a question of which exit strategy you want to go for. Are you selling your baby for amount of X?
21:24BeOS tried that with Toshiba and was killed by Microsoft.
21:25You would need to sell your own hardware. Like Apple does. They are in full control of everything. Unfortunately I'm not a friend of locked-in stuff.
greggirwin
21:28Business is quite different now. Company valuation is almost speculative in many cases. It used to be that companies were valued based on their P/E, profit/loss, and assets. That's no longer true. MS just bought a company for a huge sum that...has github *ever* made a profit? Would you rather it just go away one day, because they aren't a viable business?

I don't want to be locked in myself, but we wouldn't all be doing what we're doing if not for the businesses who made money building the modern computer industry. The question is, what do we want the future to look like, and how realistic is our Utopian ideal, if we all want to pay our bills?
BeardPower
21:31Yeah, there is a lot of hype involved.
21:33I'm just throwing in the ridiculous price for WhatsApp.
21:33No, github never made a profit.
21:34Same for twitter and other companies.
21:35Sure, we all have to do it for money, because the world is built on this crappy money system.
21:35This is not StarTrek ;-)
21:36Do we want to make a dent?
22:01Whohoo!

https://www.theverge.com/circuitbreaker/2018/6/4/17426924/blackberry-key2-leak-keyboard
nedzadarek
22:25@BeardPower 4GB for the Notepad?! What OS are you using. On my 8.1 it needs only ~1MB.
BeardPower
22:26@nedzadarek Win10. And what do you need to run Notepad? Windows, right? ;-)
22:26Challenge for you: run only Notepad.
22:28The Atari Assembler Editor is only 8KB.
22:298KB vs. 1MB... something is wrong, right?
nedzadarek
22:29But windows, however bad it might be, it's not only **thing** to run the Notepad.
ps. with 8.1 it needs ~~1GB ram so 2GB is enough for the Notepad ;)
BeardPower
22:30So let's do the math again:
8KB vs. 2GB to run an editor... Hmmmm ;-)
nedzadarek
22:318KB vs 1MB - but it's only 1MB. Sure, you can make a program that takes less RAM but ~1MB for program is not bad.
22:31Atari can run 3d games?
22:31Wifi?
22:32Does it support common browsers?
BeardPower
22:35The thing is, the 8KB editor does not need any OS.
22:351MB for something like Notepad is huge.
22:36>Atari can run 3d games?

Yes.

>Wifi?

Yes.

>Does it support common browsers?

Yes.



nedzadarek
22:36Proof?
greggirwin
22:36We can't compare apples to container-ships full of packaged food products that contain apples as an ingredient.
BeardPower
22:36Just kidding ;-)
nedzadarek
22:36Tsss
BeardPower
22:36Exactly.
nedzadarek
22:37Exactly.
BeardPower
22:37But hey, there is a http server for the C64.
nedzadarek
BeardPower
22:38http://oldservers.ddns.net/index.html
22:40>We can't compare apples to container-ships full of packaged food products that contain apples as an ingredient.

The question is, what is more healthy? Packaged food or Apples ;-)
22:41@nedzadarek https://www.youtube.com/watch?v=dqSZQzCMZSU
22:42https://www.youtube.com/watch?v=9B7ZSIGpW1Q
nedzadarek
22:43@BeardPower
Nice
> Packaged food or Apples

You cannot just make every game for every machine. I don't think it's possible. Nowadays people have problems with windows/linux/macos.
BeardPower
22:44Well, you could, if you would use good cross-platform tools.
22:45And here is your 3D game ;-)

https://www.youtube.com/watch?v=aB2Z0XFWDr8
22:46Geez, that stuff was amazing back then lol
nedzadarek
22:46> Well, you could, if you would use good cross-platform tools.

If that's that easy why everybody aren't doing this?
greggirwin
22:46@BeardPower if you really want just apples, you have to stop posting in a web app running on a browser hosted by an OS connected to a network of other machines also running OSs to be viewed by other people running a web app in a browser. :^)
BeardPower
22:47@nedzadarek
They are not doing it, because it's not worth the investment. If 90% of my users use Windows, why would I care about the other 10%?
nedzadarek
22:47@BeardPower I need some better 3d: jumping, action...etc
BeardPower
22:48I will dig through the Atari archives and let you know ;-)
nedzadarek
22:48I mean something much better than Wolfenstein 3d.
BeardPower
22:50@nedzadarek Sorry, this is the best you can get with 128KB of RAM. https://www.youtube.com/watch?v=3v7cFGneuaw
nedzadarek
22:50> They are not doing it, because it's not worth the investment. If 90% of my users use Windows, why would I care about the other 10%?

But it's easy = cheap.
BeardPower
22:51Cheap is zero investment. You need to phone support for every platform etc.
nedzadarek
22:53No. Cheap is something around few % (more or less).
BeardPower
22:53@greggirwin Hehe, true.
Your sentences alone explains the bloat we have to use just for communicating in here.
22:57@nedzadarek Well, I wished it would be like that.
There was some great CAD application back then, running on Windows and all variants of UNIX. The latter one was superior in speed and stability compared to the former.
The company decided to drop it and went Windows only.
They had the software, the people, the support all in place. As I asked them, why they drop the superior version, they just replied like that:
Our major user base is using Windows (about 70%), so we are not interested in supporting UNIX any more.
22:59So by dropping UNIX they saved 30% on support, because these people got fired. Nope, they were not trained on Windows support ;-)
nedzadarek
22:59But it's 30% not ~1%
BeardPower
23:00It's not 1%. You also need support teams for every platform.
23:01The Windows version was just using the UNIX CAD kernel anyway. The software was only 1% added expenses, but not the support team for UNIX.
23:01Two versions -> two support teams.
23:02Software: 1%
Support team: 29%
nedzadarek
23:02So this all "good cross-platform tool" is just not something that would work out of the box like you said in the first sentence.
BeardPower
23:03I referenced to cross-platform to the CPU, as you were talking about the machine.
23:04Prior versions of Windows were also running on Alpha CPUs.
23:05Which was superior to x86.
nedzadarek
23:06I mean it "in general".
BeardPower
23:06Apps today are just bound to the OS, which could be changed. The app would just run on the Kernel, besides your Windows.
Windows would just run in parallel to it.
nedzadarek
23:07Then it would be bound to "some Kernel".
BeardPower
23:07Yes, if you are referring to the different OS, it's an issue, because you have to support the OS, not so much the app.
23:08@nedzadarek Yes, but it would just be one Kernel on all the machines.
23:08It could even be flashed onto an EPROM.
nedzadarek
23:08That's sounds good on paper... but I'm not sure how it would work.
BeardPower
23:09There are many implementations, which work.
nedzadarek
23:09But?
BeardPower
23:09Imagine this: The app runs on the Kernel, Windows runs on the Kernel, Linux runs on the Kernel and macOS runs on the Kernel.
23:10All at the same time.
23:10But: no one had the balls to implement a commercial system with it.
23:10The idea is sound.
23:11And the current hardware was not optimal for it, until now.
nedzadarek
23:11.... mil?
BeardPower
23:11Yes, Mill is one of the optimal architectures for it.
nedzadarek
23:13*shivers*
BeardPower
23:13Experiments of such Kernels and their apps (a web-server) show a speedup of 5-10x.
23:13The Kernel is measured in kilobytes.
nedzadarek
23:14And that's "a doom" you were talking about.
BeardPower
23:14Yes.
23:15You would get the same performance for a 1/20 of the power usage.
23:15E.g. your x86 CPU is using 200 Watts, while these new architectures only need 20 Watt for the same performance.
nedzadarek
23:15Well, not in my life :D
BeardPower
23:15Or even lower.
23:16Well, do you live 2-5 more years?
nedzadarek
23:16But it's not like in 2-5 years everything will be Mil-based on the Kernel etc.
BeardPower
23:17The interesting part is, that you can build your own CPU through some webservice,
23:17@nedzadarek No, but that was the same for the Amiga and the PC.
nedzadarek
23:18It's to much low level for me. I bet it will/would takes decade(s) to do "normal" stuffs on it.
BeardPower
23:18It takes time.
23:18No, it only needs a re-compilation of your programs.
nedzadarek
23:19Yeah.... right. Every time I hear "compile" I am think about what I need... X? Y? Z?... oh and ZZZZZZ?
BeardPower
23:20You just need a compiler.
23:20And a linker.
23:20Which you can get from the vendor.
nedzadarek
23:21Yeah... "it's all you need"... but it doesn't work.
BeardPower
23:21The architectures are just different.
23:22@nedzadarek If it does not work, the code is just using code tailored to a specific architecture.
23:23That's why some OS tried to use a VM.
23:24It's working on every architecture it supported, but it was slow.
23:25Windows ruined it all ;-)
23:25There are even self-healing OSs.
23:25With snap-shotting and all kinds of crazy features.
23:26Or cold boot in 300ms.
nedzadarek
23:26I mean I have tried some "things" but they didn't worked. If I see someone say
> oh, you don't need to do "complex stuffs", you just need to install it

I don't believe them. I will try it but I don't have high expectations.
BeardPower
23:28Sure, marketing is a big cornerstone of success. The best things are not always the successful ones.
23:29You would just need to start in a niche market and go from there.
23:29There is no point in taking on the big boys.
nedzadarek
23:30I don't mean if it's fast or just do X more things. I cannot even run it so how can I tell?!
BeardPower
23:30But not everybody is interested in unstable stuff. They want reliable, stable, performant stuff.
23:30@nedzadarek You have to wait for the hardware.
23:31Or you can estimate the performance with a simulator.
23:31But someone needs to start ;-)
nedzadarek
23:32Yeah... 2020+
BeardPower
23:36Yeah.
23:36I'm also curious of the new Intel architecture.
nedzadarek
23:37I'm more software guy.
BeardPower
23:37I hope they get rid of their legacy crap.
23:38They poached a lot of AMD engineers. The ones who designed their GPU (VEGA) and their CPU (Ryzen).
23:39Marketing: it will blow every existing GPU/CPU out of the water ;-)
nedzadarek
BeardPower
23:45Snapdragon 1000 is also coming 2018/2019 :-)
23:47Old, but an interesting read: https://www.zdnet.com/article/why-intel-x86-must-die-our-cloud-centric-future-depends-on-open-source-chips-meltdown/

gltewalt
05:10Gah... I hate studying for Sec+ test.
Haaaate
iArnold
06:45> @nedzadarek
They are not doing it, because it's not worth the investment. If 90% of my users use Windows, why would I care about the other 10%?
06:46Well read up upon your classics. those 10% is also causing 90% of the problems ;-)
06:48(For a nice read choose Timothy Ferriss' the 4 hour workweek)
BeardPower
08:56Thanks! I will check it out.
09:00Yeah, these damn 10% is a 100% probability of a headache.
09:00Also nice: The Mythical Man-Month: Essays on Software Engineering
09:01No Silver Bullet – Essence and Accident in Software Engineering
09:28https://www.nytimes.com/interactive/2018/06/03/technology/facebook-device-partners-users-friends-data.html
09:28That's why I don't like the big companies...
09:32https://newsroom.fb.com/news/2018/06/why-we-disagree-with-the-nyt/
09:32They think they stand above the law and invent "funny" wording and excuses.
09:34They will defend their product, the user, by all means.
09:34Without them, they would be worth ZERO.
hiiamboris
09:49(: nice, 1984 is only a few steps ahead...
09:51> They think they stand above the law and invent "funny" wording and excuses.

like "law" is anything but maintaining an appearance of it (and the sole aim of that is to maintain control ofc)
iArnold
10:10If nobody is looking, there is no law. Like the tree falling in the woods and nobody around to hear the sound.
nedzadarek
10:141984... people are not so stupid, right? Right?!
hiiamboris
10:46@nedzadarek I'm afraid people have no vote in the matter ;)
10:47and no amount of votes can stop the winter from coming...
nedzadarek
10:47winter?
hiiamboris
10:50just an example, of a process we have no control over
nedzadarek
10:51You cannot control most of the people. At least not in the way it was described in 1984.
hiiamboris
10:52why not?
nedzadarek
10:52Not enough people/money.
hiiamboris
10:53you don't need money if you own it
and you don't need people if you have PRISM
nedzadarek
10:54own what?
prism?
hiiamboris
10:54> own what?

all the money in the world
> prism?

https://en.wikipedia.org/wiki/PRISM_%28surveillance_program%29
10:55@nedzadarek I suggest you watch this though https://www.imdb.com/title/tt4044364
nedzadarek
10:56It's not for mass control.
BeardPower
11:13We, the people, are the law, right? Bad people can only act badly, if the good people don't look.
11:14As @iArnold already pointed out.
11:14There is also no such thing as a "company". A company is just a group of people working together.
hiiamboris
11:21You really believe that?
11:23How about: a company is a set of specific roles that are played by the people suitable for these roles?
BeardPower
11:38It's not a believe but a fact. A company is run by people. There is no magic "entity" behind a company, no it's people.
11:39The role these people play is not important, important is, that they are just people.
11:39Same as with "states". It's just people :smile:
11:41There are many abstract terms, but in the end it boils down to one thing: people.
hiiamboris
12:01ok dude, I'm just giving you some food for thought ;)
BeardPower
12:02:+1:
12:03Money is the root of all evil ;-)
hiiamboris
12:04true... and the root of technology too
BeardPower
12:07Nah, the root of technology is the human brain.
12:07Technology was not invented by money.
12:08But money was invented by the human brain.
12:08So money can also be seen as some kind of "technology".
hiiamboris
12:09in a way, yes
BeardPower
12:10Money became evil by turning it into fiat money.
hiiamboris
12:12but that's exactly what allowed the exponential growth of technology we still see today ;)
BeardPower
12:29Yes, and also the greed and poverty we see today.
nedzadarek
12:34If anyone had problem with Idris on windows (compiling hello world was failure) then re-download [the binaries](https://github.com/idris-lang/Idris-dev/wiki/Windows-Binaries). It was updated on the server so the github will still show "revision 10 days ago", more info here: https://github.com/idris-lang/Idris-dev/issues/4463
iArnold
12:59> Yes, and also the greed and poverty we see today.

You have to read Rich Dad, Poor Dad by Robert Kiyosaki
BeardPower
13:04Thanks for the tip.
gltewalt
16:11Corporations are people in U.S.A.
According to the ‘system’
16:12https://www.npr.org/2014/07/28/335288388/when-did-companies-become-people-excavating-the-legal-evolution
hiiamboris
20:24@rebolek only https is readable and still complains:
>> redquire 'json
init
load-list
*** Access Error: cannot open: %none/.redquire/packages.red
*** Where: write
*** Stack: redquire
rebolek
20:24@hiiamboris on Windows?
hiiamboris
rebolek
20:25@hiiamboris is there an equivalent of HOME on Windows?
hiiamboris
20:26yeah, USERPROFILE
D:\gear>echo %USERPROFILE%
C:\Users\1
rebolek
20:27@hiiamboris thanks, I'll test it on my Win VM and add it.
20:28> only https is readable

I take that as compliment ;)
hiiamboris
20:29well, your link contained plain http:// but it may be too late to fix
rebolek
20:30Ah, old habits. They die slowly :(
20:48Ok, it works:
>> get-env "USERPROFILE"
== "C:\Users\Šumichrást Malbohráz"

I'll add it and push the update to Gitlab.
20:52If I can get there...
21:02@hiiamboris Windows support added and tested here.
21:02Any feedback welcome
hiiamboris
21:25@rebolek
>> redquire 'json
init
load-list
load-package json
download-package json
*** Access Error: cannot open: %/C/Users/1/C:\Users\1/.redquire/packages/
*** Where: do
*** Stack: redquire do-file change-dir cause-error
21:26I guess it joins the current path with the home path
21:26right
21:26
>> cd /
== %/
>> redquire 'json
init
load-package json
*** Access Error: cannot open: %/C:\Users\1/.redquire/packages/
*** Where: do
*** Stack: redquire do-file change-dir cause-error
21:35fix
>> redquire!/path: to-red-file redquire!/path
== %/C/Users/1/.redquire/
>> redquire 'json
init
load-package json
== make object! [
    quoted-char: make bitset! #{000000002001000000000008220228}
    exponent: make bitset! #{000000000000}
    sign: mak
21:38@rebolek don't forget to make this one redquire 'nsource :) it's the most useful
21:42> Any feedback welcome

worst thing is the time it takes
>> t0: now/time/utc do https://rebolek.com/redquire now/time/utc - t0
== 0:00:10
greggirwin
22:16Same issues here @hiiamboris .
nedzadarek
23:10@hiiamboris I guess he/they can host it on something faster. btw. it took 1-3 seconds for me.
23:16ps. you can cache it. If he could add versioning then it can be even "faster" (e.g. your-package needs 1.X.X, there is 1.2.2 - no download required).

dander
03:21Soma is 70% off on Steam right now
rebolek
05:07@hiiamboris Hm, I did the to-red-file fix, but forgot to push it...
05:11@nedzadarek @hiiamboris it'đ hosted on GitLab that has it's problems these days because of you-know-what ;) I try to come up with solution that will cache redquire also.
05:11@nedzadarek packages are cached, only the main program is downloaded from web. Versioning is planned.
9214
10:27@maximvl http://erlangonxen.org/
BeardPower
10:39@9214 Hey, that was my job to post that ;-)
rebolek
10:39:snail:
9214
10:39https://www.youtube.com/watch?v=H6BEkPzstJQ
BeardPower
10:39Ain't no one!
10:40But the question is: where is Red on Xen? ;-)
9214
10:41@BeardPower there's no Xen, unfortunately ;)
https://www.blackmesasource.com/
BeardPower
10:41@9214 Yeah, I'm still waiting for that one!
9214
10:42@dander it's worth the price, although I'd wait 'til summer sale.
10:42Praise the Gaben! \o/
BeardPower
10:58@BeardPower is Gaben
rebolek
11:05If you're Gaben, you can tell us when to expect HL3
maximvl
11:16@9214 yeah, I heard of this, afaik it's not under active development
BeardPower
11:44@rebolek I thought Gabe was very clear on this. OK, again: The Half Life 2 episodes ARE HL 3 ;-)
11:45Steam is making so much money for them, I don't think they even care about making games any more. Not after the Evolve disaster.
11:46They are more into Vulkan tooling right now.
11:46Steam OS never got traction. Not to mention the fail of Steam machines.
11:47And again, it boils down to one thing... @9214 isn't it so? ;-)
11:47No, I'm not saying it :smile:
9214
11:56Meet Harald 'I beg you to stop' Wille, the most ardent preacher of the things to come.
11:58[![Do not avert your gaze - Imgur.jpg](https://files.gitter.im/red/chit-chat/ahoh/thumb/Do-not-avert-your-gaze---Imgur.jpg)](https://files.gitter.im/red/chit-chat/ahoh/Do-not-avert-your-gaze---Imgur.jpg)
11:58@BeardPower did Steam machines/OS ever took off?
BeardPower
12:00@9214 Hehe.
12:00No, the disappeared into oblivion.
12:02Valve is in a battle with Apple right now:
https://www.geekwire.com/2018/valve-3/
12:02https://www.pcgamesn.com/valve-announce-steam-machine-prototype-specs
9214
12:02> valve-**3**

:exclamation:
BeardPower
12:02No, it's not HL 3 ;-)
9214
12:03https://www.youtube.com/watch?v=2P5qbcRAXVk
BeardPower
12:04Who's Big Boss? :smile:

rebolek
07:19So macOS builds are now compressed for easier download. Next step - custom builds.
nedzadarek
11:57@maximvl read %. will read stuffs so... yeah.
ps. oh, come on, gitter, when I mark something and I click "copy", don't copy something else!
maximvl
12:04@nedzadarek ok, now can you sort it as well?
nedzadarek
12:06@maximvl sure sort read %. - it seems to work on windows.
maximvl
12:07@nedzadarek what about sort by modification date?
nedzadarek
12:09@maximvl sort/compare (read %.) func [a b] [ (query a) > (query b)]?
maximvl
12:10what is query?
nedzadarek
12:10? query
maximvl
12:11@nedzadarek which date does it return?
nedzadarek
12:11one of the 3
maximvl
12:12so you consider it universal enough?
12:12does it return file size? file type? owner?
12:12you know file is more than just a filename, right?
12:13how much data can you get like this reading the files?
12:13can you get list of packages installed?
12:13can you get list of users logged in?
nedzadarek
12:14of course! (about filename)
maximvl
12:14what I'm trying to tell you is that shell domain is huge and can not be covered without integration
12:14there is a reason all OSes in 2018 still have shells
12:15you may try to re-implement everything shell can do in Red and then say that integration is not needed
12:15at least until some new shell tool is relesed ;)
nedzadarek
12:16read %. reads the file/directory list. You can (it's one of the option) build upon it.
maximvl
12:16yeah, I know how read works
12:16so show me a processes explorer built on top of it
12:17(btw it's almost possible in linux)
12:17but not in windows for sure
nedzadarek
12:17Umm... do you expect me to know window's internals?
maximvl
12:17but you are saying you can build upon it
12:18I'm saying you can not
nedzadarek
12:19I mean you have file list -> you can read info about it (even using call).
maximvl
12:19when you call a ps or a windows alternative you don't need to know OS internals
12:19it just works, this why it's needed
12:19the same way my dialect makes complex things just work, without a need to build something upon a file list
nedzadarek
12:20I don't mean that you can build "everything" but stuffs about files/directories are doable.
maximvl
12:21so why do it again from scratch when it's implemented and proven to work for ages?
12:21I mean, if you want I'm not holding you
12:22but don't forget about maintenance, bugs, updates and everything thousands people do to keep it working
nedzadarek
12:22I don't mean you should. I mean you can. For example I just need simple list of files in one of my directory (just bunch of *.red files). It doesn't need anything else. read %. is good enough for this.
maximvl
12:23you can do the same with dialect:
shell/register make shell-command [
   ; dummy ls - just outputs content of first     argument
   command: 'ls
   run: func [] [
      either file? arguments/1 [
         stdout: read arguments/1
         exit-code: 0
      ] [ exit-code: 127 ]
   ]
]
12:24the point is it integrates seamlessly with the rest of Red or Shell tools
12:25anyway, it might be not easy to see that point currently, should be better once we get more Red tools around
hiiamboris
12:26hmm query isn't even listed on red-by-example
12:26and it's pretty limited of it to only return some date, right?
maximvl
12:27it probably will be improved at some point
nedzadarek
12:29I can but I don't really have to. I mean I don't have to use some library while simple read %. does the same job. Your library is probably bigger than my code.
12:29@maximvl
maximvl
12:30well, of course just to read some files read is enough
12:30if you don't have intensive shell-related code in your program - you don't need to use it :smile:
12:31library means you use it when you need it ;)
hiiamboris
12:31you can make a process explorer on windows with call using tasklist & taskkill commands, no need for read %. there
nedzadarek
12:32> if you don't have intensive shell-related code in your program - you don't need to use it :smile:

that's my point
maximvl
12:33one of my ideas is to make a repl wrapper for it so you can use your Red repl as a terminal
12:33and switch between it and Red
12:34it can be convenient for interactive sessions
nedzadarek
12:35https://github.com/pry/pry#command-shell-integration
maximvl
12:36something like this, yes
12:37at least I don't see them capturing output, my dialect can do this already
nedzadarek
12:38I've been not using it for a while so I'm not sure how capable it is. Some time ago pry was very powerful.
hiiamboris
19:26@greggirwin I've been poking into your sad emoji dialect [https://gist.github.com/greggirwin/d40a0e3b4c8de31a7d3b82695b9b4b03](https://gist.github.com/greggirwin/d40a0e3b4c8de31a7d3b82695b9b4b03)
you aware that it interprets an **extra** level of quotes?
>> composite {a :(1 + 2): b}
== "a 3 b"
>> composite {a :("1 + 2"): b}
== "a 3 b"
>> composite {a :({{1 + 2}}): b}
== "a 1 + 2 b"
dander
19:44@maximvl @hiiamboris query PR: https://github.com/red/red/pull/3209 and some discussion about it: https://gitter.im/red/red?at=5a68a8396117191e61a89270
hiiamboris
19:54@dander great :+1: thanks!
nedzadarek
20:04Hm... weird, github's page is not secure (I cannot open it in the firefox). Does anyone has the same problems?
hiiamboris
20:05@nedzadarek nope
dander
20:12@nedzadarek are you getting a certificate error? I would not log in under that condition.
nedzadarek
20:14@dander no. It's just something like "connection with the server was reseted while loading page".
dander
20:15I'm not positive, but I think you get that error when the TCP connection gets interrupted. Does it happen every time you try to load it?
nedzadarek
20:16Yes. I've tried it for ~~15 minutes with the same results.
ne1uno
20:18what version ffox?
20:18was ok in 55 and waterfox 51
nedzadarek
20:1856... wait... waterfox?!
ne1uno
20:1964bit fork, can't recall if it's windows only. they lag dev. is much nicer with memory
nedzadarek
20:22Well, I'm using 56 because it's the last version of the FF with old addons system. So lag won't be a problem.
How much memory I could save?
ne1uno
20:23most plugins work but mozilla is starting to redirect to getfirefox lately. just download the plugin and drag to address bar to install.
20:24firefox I have to restart twice a day to keep memory under a gig. waterfox goes for days with 2 windows and a few tabs. if you have more than 4 gig it may not be much different for you
nedzadarek
20:31@ne1uno I have 4gb + my graphic card uses some of it...
My FF uses 700+ Mb but I have ~500 tabs (grouped with some addon). ~~100 tabs per group. But I'm using 10 maybe 20 at the same time (not something expensive like yt).
For quick browsing or when I don't have much ram left I've used built-in Maxthon but with 4th or 5th version it's very slow.
ne1uno
20:35anything over 10 tabs starts to get crash happy. you could probably run some in waterfox and be better off
nedzadarek
20:39I see
hiiamboris
21:51@greggirwin I also applied a handful of quick fixes for other issues of it here: [https://gist.github.com/hiiamboris/d4716ade2171a5c4c5ed9f96fbfd5446](https://gist.github.com/hiiamboris/d4716ade2171a5c4c5ed9f96fbfd5446)
rationale:
- support function! as context source
- bind word .. had no effect, fixed it by re-setting the word word: bind word ..
greggirwin
22:52@hiiamboris thanks for reviewing. I agree that a literal string, though it makes no sense to use them there, should return literally.

- What is the use case for functions as contexts?
- What example fails with the word binding? The composite/with tests look OK to me.
23:18@hiiamboris, in composite, what was your reason for removing the error handling at the top of eval, when loading expr?

hiiamboris
00:15> @hiiamboris, in composite, what was your reason for removing the error handling at the top of eval, when loading expr?

you sure I removed anything? maybe I was forking an old ver or smth?
00:20@greggirwin
> @hiiamboris thanks for reviewing. I agree that a literal string, though it makes no sense to use them there, should return literally.
- What is the use case for functions as contexts?
- What example fails with the word binding? The composite/with tests look OK to me.

well, it's ez:
- it makes sense to call composite from inside of a function to inline words bound to it (otherwise it uses global ones)
- same as before, consider an example:
f: func [w][
    ...
    composite/with ":(w):" context? 'w
]
>> f 100
== " *** Error: no-value Where: w *** "
greggirwin
02:03@hiiamboris, thanks again. Indeed I was looking at my local version, and hadn't updated the gist in a long time. I've updated my local copy with your changes. If others could weigh in, that would be great.
gltewalt
02:05*raises hand timidly* .. What’s the normal use case for string interpolation? AFAIK, Redbol has never had it.
greggirwin
02:09R2 had build-markup, but not a more general solution. Reword was added to R3 for this purpose.

There's no "normal" use case, as it's widely applicable. It puts the emphasis on the string content, which is generally the bulk of the template, rather than the expressions being evaluated.
02:10The old classic example is a mail merge feature in word processors.
02:11It's also handy for template based code generation.
02:13It's not always shorter, but by being a declarative approach, it still has benefits.
gltewalt
02:39I thought the redbol way was [“My name is” name]. Kind of like the mirror image of string interpolation, or bizarro interpolation, because they aren’t string-centric languages
02:40Even though it isn’t actually interpolation
greggirwin
06:02That is the Redbol way, but it sometimes isn't as convenient when you want to control formatting, or gives users the ability to create template files. Interpolation (though you don't call it that with end users) is easy to understand.
hiiamboris
09:04@gltewalt yeah man I was too unsure if it even makes sense to interpolate strings, but then I found out it wins in readability considerably:
{mpv "(vfile)" --audio-file "(afile)"} vs
[{mpv "} vfile {" --audio-file "} afile {"}]
09:06I think it deserves it's own wiki page though, showing the benefits and use case examples
09:09I can then outsource the pattern into a config file without feeling how ugly it is looking ;)
nedzadarek
10:33@hiiamboris @gltewalt
About readability:
It's the same with something with spaces/tabs/etc:
- [foo " " baz " bar: " qux]
- {$(foo)$ $(baz)$ bar: $(qux)$}

I find Ruby's syntax more readable: "#{foo}"
rebolek
10:37I use {$foo$ $baz$} in my code.
hiiamboris
12:47what I dislike about the default :( and ): emojis, as well as $( and )$ is that in a long string, like lots o' stuff....):(.... more stuff it isn't immediately clear if ):( is an opening or a closing part
I think even (: / :) would've been better, although still quite bulky
good thing it supports custom markers ;)
$...$ and #{...} are fine I think
gltewalt
14:59$foo$ will be an issue if you load when money! comes?
nedzadarek
15:06@gltewalt as fair I remember it won't be issue because composite just takes a string ("foo" or {foo}). I think only few things are not allowed in the string.
rebolek
15:17@gltewalt it's string!, I'm not going to load it anyway
nedzadarek
15:26@hiiamboris we can try what markers are good or bad and build a few mezzazines like this:
arr: [aaa bbb ccc eee]
; [aaa bbb ccc eee]
  e: func [str] [ composite/marks/fun str ["#" " "] func [s] [arr/(to-integer s)] ]

  e"#1 #3 #2 "
; "aaacccbbb"
hiiamboris
15:28using space as ending doesn't hint the reader that the space itself will be consumed
15:28anyway I'm comfortable with ( and ) for now
gltewalt
15:30I’m not criticising Greggs code, just wondering about the need for string interpolation
nedzadarek
15:30@hiiamboris I just wanted non-outfix syntax... I am not sure if we can do " " or "^/" kind of things (**can we?**), so I just let it be ugly trailing space... oh well.
gltewalt
15:31Or ‘was’ wondering about the need in Red. I understand the use in other Langs.
hiiamboris
15:35@nedzadarek I like outfix syntax, it's unambiguous
15:37but if you can't stand it, I don't see what's stopping you from using ` (backquote)
nedzadarek
15:39@gltewalt it depends what you are doing. Same with console stuffs you posted. I'm not doing many "console stuffs" so basic red stuffs is ok for me. Someone might need it more. The same goes for string interpolations.
Secundo, it matters of preference. Someone likes Lisp family where I'm more into Ruby/Red languages.
There were tercio... but I've forgotten.
15:41@hiiamboris backquote? How can you use it?
It's not I hate outfix (I like Ruby's syntax for this) but there might be cases for non-outfix stuffs... who knows. I think Ruby had this.... I'm going to check it.
hiiamboris
15:42what's the problem?
>> composite/marks "1 + 1 = `1 + 1`" ["`" "`"]
== "1 + 1 = 2"
nedzadarek
15:43@hiiamboris ah... it's still outfix syntax.
hiiamboris
15:44hmm, only space isn't?
15:44but you need space for expressions
15:45let's make it funnier ;)
>> composite/marks "1 + 1 = ☺1 + 1☻" ["☺" "☻"]
== "1 + 1 = 2"
nedzadarek
15:46Well... literally speaking you are right. There is space at the end but in expresion like this: "#1 + #2 = " you don't see it.
hiiamboris
15:47you'll get ugly formatting 1+ 2= 2
15:47that is unless you make a special case for space to not consume it
gltewalt
15:51do you get ugly formatting if you run it through form? I’m not at a computer at the moment. (I know, more computationally expensive)
nedzadarek
15:52@hiiamboris funnier: composite/marks "1 + 1 = ╯°□°)╯︵ ┻━┻2|" ["╯°□°)╯︵ ┻━┻" "|"]
15:53@hiiamboris
> you'll get ugly formatting 1+ 2= 2
t hat is unless you make a special case for space to not consume it

Yes, I can just append " "
15:57Hmm.... is it a bug:
composite/marks "#1  + 2 = <something>" ["#" " "] 
;*** Syntax Error: missing "#" at " + 2 = <something>"
; *** Where: do
; *** Stack: composite cause-error
16:01Weird... functions gets and integer instead of string.
hiiamboris
16:01@nedzadarek looks like it complains because it sees second space as closing marker that has no corresponding opener
16:01I'd say it's a feature ☻
nedzadarek
16:02composite/marks/fun "foo#1#" ["#" "#"] func [s] [type? s]
16:02@hiiamboris
hiiamboris
16:03/fun will preprocess the data? ☺
nedzadarek
16:04Let me check it...
16:04I have done it long time ago.
hiiamboris
16:04you know what I think would really be cool - is to set these markers globally instead of repeating them over and over with the refinement
nedzadarek
16:05@hiiamboris you could do something like e: func [str] [composite/marks str [MARK-START MARK-END]] e"foo"
hiiamboris
16:06you have a concrete task, you determine the best markers that won't interfere with it, you set them and happily start to fill everything with your patterns
16:07@nedzadarek I can, but then I'll have to reproduce every refinement composite may support
nedzadarek
hiiamboris
16:09that's what I had to do:
xpand: func [x /with c][composite/marks/with x ["(" ")"] context? any [c 'xpand]]
16:09reproduce /with
nedzadarek
16:12I see.. I guess if you need something complex you can use composite if you need simple string interpolation you can use e-like mezzazines.
16:13I'm not sure if setting something globaly is good...
16:15btw. Ruby has non-outfix for instance/class variables:
@foo = 21
@baz = 2
@qux = 42
puts "#@foo * #@baz = #@qux";
; 21 * 2 = 42
greggirwin
16:39There will never be a perfect choice for markers, so the goal is to find what has the most meaning in Red, and the quietest syntax, along with low chance of conflict with regular punctuation. If you have suggestions for better default markers, make your case on those points.

The :( …​ ): markers already have meaning in Red. Colons are used to get and set values, and parens indicate evaluation. 2 chars on each end, in this combination, shouldn't appear often in human text, or in Red data (I didn't say *never*, just not often).
hiiamboris
17:35@greggirwin will you upload the up to date composite?
gltewalt
17:56What do you think about only having to type one marker if you wanted, say "@" as the markers? composite/marks "1 + 2 = @something@" ["@"]
17:57Where the begin and end marker is the same symbol
hiiamboris
17:59makes sense to me + then you can omit the block [ ] part
nedzadarek
20:11@hiiamboris composite is on the github too... shouldn't you people prefer it over gist? I think github's version should have the newest version (I cannot load github so I cannot check it).
@gltewalt :+1: for composite/marks str "@" to mean composite/marks str ["@" "@"]

@greggirwin what about Ruby-like syntax: :( ... )? We should omit : at the end because, as hiiamboris mentioned (I think) part ):(in the string ":( some stuffs here ):( some other stuffs here" might be confusing.

hiiamboris
21:32> @hiiamboris composite is on the github too... shouldn't you people prefer it over gist? I think github's version should have the newest version (I cannot load github so I cannot check it).

@nedzadarek idk, should we? ☺
it's 2 months old there too, and contains some dangerously-looking lots of commented code


gltewalt
22:04I didn’t even remember that I had this book - uncovered it in my closet last night, by chance, and started to read it. 100 pages of nuclear powered awesomeness... all books should be like this.
https://imgur.com/a/HKzTkGO
22:04100 pages if you skip the appendices
nedzadarek
22:26@hiiamboris I don't know - I've been using github.

greggirwin
01:39I'll try to get the updated version out tomorrow, either on the gist, or the formatting repo.

I did consider allowing a single value for markers, and have done that in the past. Still not sold on it, as it opens other questions. e.g., then why require a block for them at all, as @nedzadarek notes. If this were a function that saw as much use as [if either foreach func ...], shortcuts have more value.

I encourage people to play with alternatives, but my instinct says we'll just be making different tradeoffs, not clear improvements. We can craft confusing examples for anything. If you go back to my 3 criteria, make suggestions and a case for each of those points.

iArnold
19:47Hi @greggirwin does the blogpost mean another 2 "releases" waiting on progress before 0.6.4 let alone 0.7.0? How to interpret?
greggirwin
19:49The wallet is its own project, and not held back by anything else at this point.

iArnold
07:46I noticed that!

9214
13:08Could someone with macOS / Hackintosh test this addition?
https://github.com/red/red/commit/67531575c64581836051ae76359bbe72f1227120
rebolek
13:10I'll try to test it in the evening, if I can find some time.
9214
13:10@rebolek thanks!
rebolek
13:11but I don't promise anything
9214
13:11@rebolek could you also check if it works with cross-compilation?
rebolek
13:12like cross-compiling it for mac on Linux?
9214
13:12Yes. I won't ask you to check it from Windows :smirk:
rebolek
13:13no problem, I can start up Win VM on my Hack
9214
13:13:+1:
13:14Steam summer sale is coming, gentlemen. Brace yourselves! And be [ready for a miracle](https://www.youtube.com/watch?v=bUo1PgKksgw)!
iArnold
17:41Good news!! Today is (in the northern hemisphere at least) the longest day!! Thus every day waiting for a new release will be shorter than the day before!! (That fun will be over after december 21st by the way.)
17:44(Oh and tau day is coming up soon: https://tauday.com/ )

gltewalt
06:26
>> hodl [__ ~ ____ ~ __ L ____]
4
== 4
>>
iArnold
15:03Hey @greggirwin you got a new profile photo! Nice, bit older but not as geeky as before, strange your old photo still gets shown when I hover your small picture.
greggirwin
15:05Things may take time to update. We thought I should be more honest about my age. ;^)
iArnold
15:41"we"? :smile:
15:42Anyway, good pic or good stand-in or good photoshop artist ;-)
9214
17:16Did anyone stumbled upon
Running the contributed command:'red.interpret' failed.

error in VSCode plugin? I can't use F6 and F7 hotkeys, but can compile and interpret from right-click contextual menu. :confused:
cryptowyrm
19:01@9214 Joined the room, sorry :) I guess that is a feature that is still missing from Gitter. Don't remember which one has it, probably Slack, where you can fold conversations in a room that are off topic, so that you can have off topic conversations in any room without other people getting bothered by it.
dander
22:08@9214 I've been getting that too, but just at home. I don't have that system available to me now, but I recall in the 'Output' tab / 'Log (Extension Host)' there was more detail about the error. Something about not being able to get the path to the current file...
9214
22:09@dander thanks, let me check it.
22:13@dander indeed, I see
[2018-06-23 03:13:04.869] [exthost1] [error] TypeError: Cannot read property 'fsPath' of null

mumbo-jumbo
dander
22:14yeah, I didn't get much sense for where it was coming from
9214
22:14@dander https://github.com/liximomo/vscode-sftp/issues/200#issuecomment-395377401 ?
22:16Looks like they pushed a fix some time ago, maybe I should check it with Insider version or something.
dander
22:18@9214 nice find! the fix looks pretty simple at least
9214
22:19@dander it works with Insider edition. Phew!
dander
22:20of VSCode?
9214
22:20@dander yes.
dander
22:21I guess they must have broken lots of plugins, so they had to put it back?
9214
22:24@dander FYI, SOMA is 80% off on Steam :wink:
gltewalt
22:27I couldn’t ever get it to work with regular edition
9214
22:28@gltewalt why?
gltewalt
22:30It didn’t like the path with a space in the directory name
9214
22:30@gltewalt you could use %20 instead I believe.
gltewalt
22:32I think I did. Windows doesn’t like it if I remember correctly.
I’ll try it again when I get to the laptop
9214
22:32@gltewalt you should also double slashes in the file path.
22:32e.g. X:\\folder\\red.exe
gltewalt
23:20Both double slash and %20?
9214
23:21@gltewalt Try without %20 first.
ne1uno
23:23try the 8.3 name?
gltewalt
23:44I get the same error now from the F keys
23:45Can't find path via right-click
9214
23:45@gltewalt ?
23:45The same error I got or the same you had?
gltewalt
23:45Same error you got
9214
23:46@gltewalt then that's expected. Either wait until the fix will make it into the stable build or switch to https://code.visualstudio.com/insiders/
23:47Or build VSCode from sources :japanese_ogre:
gltewalt
23:54https://youtu.be/Jas0bwDdEzs
23:55Looks like that little issue is independent of any path problems?
9214
23:56@gltewalt yes, it's null related.
23:56https://github.com/gergokoos/vscode-sftp/commit/643a612fa538caa8abfc608dac6bcd61ce772b64#diff-81bbfeee2a92b5218df5e653a35f2f20R87

gltewalt
00:09Oh, this is what it was before - now it is only this error for the right-click compile or run.
C:\Users\Old Man\red.exe --cli "c:\Users\Old Man\Desktop\docs\en\testy.red"
'C:\Users\Old' is not recognized as an internal or external command,
operable program or batch file.
00:10The F keys have the other error that you had
00:13It uses the path to the red.exe without wrapping it in quotes.
00:14If you add in the %20 windows CMD.exe pukes on that
00:14"The system cannot find the path specified."
00:18eezus... this ugly thing fixes it:
"red.redPath": "\"C:\\Users\\Old Man\\red.exe\""
00:22:sparkles:
00:50Is there a way to configure the Red extension to compile with -r, or other flags? Or are we stuck with -c
9214
00:55@gltewalt should be, but I guess it requires tweaking json configuration files and extension itself.
gltewalt
00:55So whoever maintains the extension would have to add it
01:49Oh, I can fork it and blow stuff up
greggirwin
02:01@gltewalt <he he> :+1:
dander
02:37@9214 thanks, I already picked it up yesterday :wink:
9214
03:07@dander https://www.youtube.com/watch?v=DhrZxSoLmgA
BeardPower
10:19Dirt cheap steam link: https://store.steampowered.com/app/353380/Steam_Link/
koba-yu
14:17Hi, I am making [this repo](https://github.com/koba-yu/NLP100_Red) mainly for promoting Red to Japanese programmers. The contents tend to Japanese specific but I appreciate if you have any advices.
14:17I have done 20 of 100. Seems to need some more time to finish all.
x8x
14:40@koba-yu :+1:
koba-yu
14:41@x8x Thank you! :thumbsup:
hiiamboris
15:12@koba-yu yes, great work in fact
15:14though you can probably rewrite (in the question #19)
rows: collect [foreach row read/lines %hightemp.txt [
		prefecture: first split row tab
		map/:prefecture: either map/:prefecture [map/:prefecture + 1][keep prefecture 1]
	]
]

as
foreach row read/lines %hightemp.txt [
	prefecture: first split row tab
	map/:prefecture: 1 + any [map/:prefecture 0]
]
rows: keys-of map
koba-yu
15:15@hiiamboris Thank you! It looks much better. I would update the code.
15:23
map/:prefecture: 1 + any [map/:prefecture 0]


Very interesting, I did not know this usage of any.
hiiamboris
15:40ah yeah ☺
you can even rewrite all ifs, eithers and unlesss with any/all
koba-yu
15:46@hiiamboris Thank you for viewpoint!
Red never makes me bored because there are so many ways to solve problem.
hiiamboris
15:56indeed! ;)
9214
17:02@hiiamboris you shouldn't though, last time I checked alland any were much slower than if and either. Need to double-check this.
hiiamboris
17:11interesting
17:11maybe because of the extra block level?
17:13although sometimes you can even reduce the nesting level with any/all
greggirwin
21:00@koba-yu :+1: We should add a Non-English resources section to the wiki, maybe by language? @gltewalt any thoughts there?
21:01WRT to any/all vs if/either, write for clarity and intent first.
gltewalt
21:03Hmm.. one link in the side bar for Non-English resources? Or a link for the languages we have? (Russian, Czech, Japanese, Chinese)
21:03For each language we have
greggirwin
21:08One link as an entry point sounds good.
gltewalt
21:18Title bar strips hyphen from Non-English

koba-yu
00:24@greggirwin @gltewalt Thank you for adding wiki!
I keep coding.
gltewalt
02:13You are welcome @koba-yu

rebolek
07:59Some fun with geobase
>> select gb/data "Brno"
== [49.19522 16.60796]
>> select gb/data "Lhasa"
== [29.65 91.1]
>> gb/distance "Brno" "Lhasa"
== 6478.254968608579
9214
08:53@rebolek are you tracking someone? :suspect:
rebolek
10:13@9214 let me see...
>> haversine [49.19 16.08][92 14]
== 4761.45879490554

gltewalt
17:39Gregg Irwin and 9214 are missing at the same time. Men In Black?
iArnold
18:04Very early to come to a MIA even if you consider the fact redbol community suffered a lot of those.

greggirwin
17:51How long does one have to be quite before being reported as "missing"?
gltewalt
17:56Couple days in Internet time

iArnold
05:30Quiet, Gregg? I know of some people that died at the keyboard...
BeardPower
10:17@iArnold They are just all busy with Red stuff ;-)
iArnold
14:09I just pointed out that it is quite quiet...
BeardPower
16:51Yeah, I noticed that a while ago.
16:51Especially here in chit-chat.
greggirwin
17:32The more channels we have, the less time for each one.
rebolek

abdllhygt
12:04Hi! How are you!
gltewalt
21:52Any Ruby experts here?

abdllhygt
09:44@gltewalt i just use Ruby and Red
nedzadarek
09:46@gltewalt I had been using Ruby for long time. I have forgotten many things but you may ask.
gltewalt
21:09Thinking about transferring my Rouge fork. I don’t have the time to improve it and the maintainers made me mad by ignoring PR and their reaction.

gltewalt
00:35Transferring ownership
nedzadarek
21:37Ah... well, good luck with that.

abdllhygt
13:25Hi! can i ask about English?
13:27the dog -> the dog's toy
the dogs -> ?
nedzadarek
13:28I think it's "the dogs' toy"... but let me check google
13:30@abdllhygt yes, according to http://englishplus.com/grammar/00000132.htm
abdllhygt
13:30@nedzadarek google translated it, i guess it's true, thanks!
13:30@nedzadarek thanks for the website too
nedzadarek
13:31@abdllhygt google is not always right with such things. So take it with the grain of salt.
ps. you welcome
13:35@abdllhygt When I'm looking for some more advanced things (about English) I check websites about learning English or some dictionary-like sites that give you translation, alternatives and examples.
13:42I think it's little off topic to /help and /parse so I'll put it here.
I've been thinking about regular expressions, parse, the Perl 5, the Perl 6 and stuffs.
I read that parse should be "more powerful" than other mainstream RegExp engines ("if you need to parse html don't use RegExp"). The RegExp, a regular grammars are level 3 of chomsky hierarchy. parse is from Top-down parsers - they are from Context-free grammars (2nd level). Are there things that you wish you had mainstream Regular Expressions in the Red/Rebol? Are something easier using Regular expressions than parse?

What about the Perl 5's and the Perl 6's Regular Expressions "systems" (I don't know proper name)? I read that Perl's RegExps are more powerful than mainstream RegExps. Some softwares have "the Perl-based/influenced RegExp". What's the difference between the Perl 5's Regular Expressions system and the parse?
The [Perl 6](https://perl6.org/) has
> Definable grammars for pattern matching and generalized string processing

grammar Parser {
    rule  TOP  { I <love> <lang> }
    token love { '♥' | love }
    token lang { < Perl Rust Go Python Ruby > }
}

say Parser.parse: 'I ♥ Perl';
# OUTPUT: 「I ♥ Perl」 love => 「♥」 lang => 「Perl」

say Parser.parse: 'I love Rust';
# OUTPUT: 「I love Rust」 love => 「love」 lang => 「Rust」

It looks like it's close to parse. Again, what's the difference between the Perl 6's Regular Expression "system" and parse? Is one more powerful/faster than other?

Your (especially the Perl 5/6 users) thoughts on this topic are welcome!
abdllhygt
13:55@nedzadarek yes i know about bad results of translators : )
13:57@nedzadarek is it a standart library in Perl?
nedzadarek
13:59@abdllhygt I'm not Perl's user. They say that they like string processing so I guess it's a standard library.
abdllhygt
14:02@nedzadarek it's look like Red parse.
nedzadarek
14:11@abdllhygt yes, it **looks** like but it might be different.
14:12We will see if someone has more knowledge about this than us.
abdllhygt
14:40@nedzadarek Perl6 compiler is based on dotNet or native?
nedzadarek
15:12@abdllhygt I have no idea!
gltewalt
16:49Last I heard Perl6 compiler was based on Haskell
greggirwin
17:51@nedzadarek, @toomasv wrote https://gist.github.com/toomasv/58040ccbbfb70150dee90ba0e27b16b8, for those who want to use regexes. I've never missed them, but I *did* miss simple globbing, which I would like to see as standard. Simple pattern matching can be concise, and constrained enough not to become confusing. My old like? func is probably on rebol.org. If not, I can dig it up.
toomasv
19:15It has not been updated for a long time, so probably out of sync now.
nedzadarek
20:07@greggirwin thank you for answer and link.
I've found [like?](http://www.rebol.org/view-script.r?script=like.r). I'm going to check it.
@toomasv yes, I have checked few examples and tried few simple regexps all of them run but some of them gave wrong spec/return value. Here, for example, I got double "b" instead of "c" at 3rd position:
regex/spec "abc"
; [to [#"a" #"b" #"b"] 
;    copy &0 thru [#"a" #"b" #"b"] (put & 0 &0) to end
; ]

Thank you for this.
ps. It amaze me how you can manage it in a one file.
toomasv
20:10Looking at it now it amazes me too :)

iArnold
12:40In eight days, the 0.6.3 release will celebrate its first birthday! Are the preparations for the big party in progress?
rebolek
12:42@iArnold Red is open source, so anyone can contribute, be it code or a party!
iArnold
12:43A new release would spoil the party for sure ;-P
rebolek
12:48Certainly not, it would be nice party surprise.
abdllhygt
12:59@nedzadarek i looked. rakudo work with JVM or MoarVM
nedzadarek
13:11@abdllhygt thank you. Well, a lot of stuffs are ported to JVM but they use their own VM. It seems that they moved from ParrotVM to MoarVM as the date of start of one and end of other is more or less the same (06.2016).
iArnold
18:03> Certainly not, it would be nice party surprise.

Now I know something for sure.
18:06> @iArnold Red is open source, so anyone can contribute, be it code or a party!

I shall not state my point in public about this, but I certainly do not agree on Red being Open Source in the way you think it is.
rebolek
18:08Not sure what you mean https://github.com/red/red/blob/master/BSD-3-License.txt
iArnold
18:09Keep on dreaming ;-)
rebolek
18:14you are free to fork the code and maintainers are free to not accept contributions. that's normal.
iArnold
20:54I already did that! A fork to aid in cooperating between devs before they would submit a pull request, you remember?? Or is your memory getting selective? My fork has been not welcomed, instead declared hostile. Up to date again now?
greggirwin
21:50@iArnold it's a 2 way street. You're very quiet here, but when you show up you often post negative comments.

Oldes
09:47@iArnold your fork was a nonsense.
pekr
12:13I would not go so far, as calling something being a nonsense. I think that knowing iArnold a bit, his motive is as is the motive of us all - seeing a faster progress of the language ecosystem we would all like to use on a daily basis. The thing is, that iArnold is silent most of the time, then jumps in with a remarks, which sound negatively in the end. The problem with an official or a separate distro, has several dimensions - not everyone's code could be accepted as a contribution, mostly because of the code quality reasons. But also because Red team might have completly different idea, of the form of future project additions, eg. IO.
12:15I do remember how picky RT was to accept someone's code, unless it was of a good enough quality. FS would have to produce specs for certain features, which could be delivered to the third party, but even then I think , that that's not how such stuff is developed. I think that you first need to prototype it, which means, writing it yourself or under the strict supervision of the team.
12:17We are imo free to implement add-on elements (libraries), which don't interfere with the official distro architecture. Having separate fork is a nature of the open source world. Maybe that is what iArnold had originally in mind - the distro for ppl to prototype, share some implementation ideas, etc. But maybe it was felt as being unnecessary, contraproductive, I just don't know.
rebolek
12:17Anyone is free to use @iArnold 's repo. If people think it's a good idea they would certainly push stuff there.
pekr
12:17Well, looking forward to the new GC and 0.6.4 release anyway ... so hopefully good times ahead of us all :-)
12:18@rebolek well, then we should not call a fork being a nonsense :-)
rebolek
12:27Right, @Oldes was probably a bit harsh, but I guess that he was pointing to the fact that developers actually don't use that repo, so don't find it such a good idea.
Oldes
12:34Sorry, but I still think that [this "freered" fork](https://github.com/freered/red) is a nonsense if there is no leader.
nedzadarek
12:35@rebolek but why anyone want to do this? I mean if I wanted to change something I fork it, change something, push/commit and pull request. If I'm going to use his repo I would get old code.
@pekr
> We are imo free to implement add-on elements (libraries), which don't interfere with the official distro architecture.

That's what I'm doing. After the talk with 9214 I try to implement my *wishes* add information, tests etc.
rebolek
12:36@nedzadarek I know.
12:36that's how Git works
Oldes
12:41And iArnold does not try to implement own wishes.. he just merges from time to time.. https://github.com/freered/red/commits?author=iArnold
12:42I see no reason why anybody would like to cooperate in _freered_ when anybody can make own fork and work on it.
12:45For example, this fork I consider as a useful one: https://github.com/rcqls/red/tree/GTK
rebolek
12:48I agree, that's probably the most useful Red fork there is
abdllhygt
13:46did you guys ever lost your codes?
nedzadarek
13:47@abdllhygt yes, it happens when I write small snippets and put it into programming/<language name>/<some directory>
abdllhygt
13:48@nedzadarek i mean "deleting"
13:50i was installing ubuntu and i added codes in "tar.gz" to usb
13:50and i deleted this "tar.gz" when i try to extract
13:51i was trying "recovery program" but i did can't take my translator app
nedzadarek
13:52@abdllhygt ah, like this. Well, not code, but some other files. There are ways to "un delete it". It depends on your Operation system. First check your trash bin. If it isn't in the trash bin then you must be careful. Don't install, copy, create or do anything with partition where the file was. The file should be on your HDD but your OS just don't see it.
abdllhygt
13:52translator app, eth private key and some files went
nedzadarek
13:53And if your OS support such recoveries you may want to try it... at your own risk (I haven't done this with my new OS)
abdllhygt
13:54@nedzadarek i recover some files; but important files went
nedzadarek
13:55It depends on recovery-program and if you (or OS can do this too) changed that part of HDD. If it's really important you may look for professionals.
abdllhygt
13:58@nedzadarek thanks, i start to rewrite translator and i had $20 coins
13:58i don't want to try
nedzadarek
13:59@abdllhygt that's why I put code into gist (small) and github (bigger, to be changed/maintained)
hiiamboris
14:01@abdllhygt try R-Studio
14:01although recent code is usually (surprisingly) easily recreated from memory
rebolek
14:02@abdllhygt don't be afraid to use gitlab/github, you can always mark your repo as private, if you don't want others to see it.
abdllhygt
14:03@nedzadarek @hiiamboris thanks
rebolek
14:03@hiiamboris not only easy, but usually you end up with better code :)
abdllhygt
14:03@rebolek i don't afraid, just i was wanting to upload when translator is stable for first version
hiiamboris
14:04@rebolek indeed :D
rebolek
14:05@abdllhygt upload now, mark as private and make it public when it's stable
abdllhygt
14:06@rebolek thanks!
nedzadarek
14:06If it's "not ready yet" write it in the readme.md or something. I guess. You can create issues yourself so you can have list of problems in your code.
abdllhygt
14:10@nedzadarek if i didn't find translator's name? : )
9214
14:13@abdllhygt **never ever** store your private keys in file, especially on a USB stick!
nedzadarek
14:19 @abdllhygt yes, naming is hard, especially in 2nd language.
15:27btw. how do you pronounce names used in the Red/Rebol, like foo-baz, foo/baz etc?
rebolek
15:28fů bas
nedzadarek
15:29@rebolek now I should look for this weird circle above u, but thank you.
15:31@rebolek so it's /u:/ - so you just omit any -, / etc?
rebolek
15:32@nedzadarek oh, you were asking about those :) I translate them in my mind.
nedzadarek
15:33I see. Thank you.
rebolek
15:34When I talk to someone about Red face to face, it's @Oldes usually, so we use mix of Czech and English.
nedzadarek
15:39@rebolek I wonder how it would sounds with Polish instead of Czech. Well, thank you again.
pekr
17:56@nedzadarek Tz jestes z Polski? :-) I live 5 km from Czech / Slovak / Polish border :-)
greggirwin
18:01There are a lot of ways to contribute. Once we get modules, it will be much easier for people to create pieces that others can try out, without having to be part of the main repo. I do a lot of experiments outside the main repo, because that's easier for me. It also keeps you from messing with things outside their scope, or explicitly patching things in Red, which is also not a bad thing, as it can make clear what your intent is, in the context of what you're writing.

Managing FOSS projects is hard, and there's no single right way to go about it. Forks are fine, for people to experiment with ideas. If someone wants to contribute to Red, it's best to communicate the goals and changes. In the case of bug fixes, the problem or change is identified first. In the case of wishes or changes that aren't agreed-upon as bugs, some chat should naturally occur to nail down the target.
iArnold
18:13> And iArnold does not try to implement own wishes.. he just merges from time to time.. https://github.com/freered/red/commits?author=iArnold

Well it has been put in ice after the warm welcome it received, but back then I did keep the fork up to date longer period of time. It could be done again, but only by demand I would put some effort in. And having no leader, that was part of the idea, accepting code that was maybe not up to standard for the real team, but good enough to work on and improve for others. Not relying on the repo of one person in particular, a person that can and will(?) disappear.
@greggirwin I tried to remind the people here that soon the last release will be one year ago, so I package this in the birthday party remark. A little bit of critical thoughts but trying to emphasize reality of things. Not intentional negative.
greggirwin
18:20Unfortunately, it did come across as negative, at least to me. Thanks for clarifying. When you're working as hard as we are, and the way the world works now, we try not to be too sensitive, but negative press can hurt a project badly, so we sometimes need to respond.

The "reality of things" is that there have been a lot of stable builds since then, and automated builds continually improving things. Quite a lot has happened, especially since January. As with all FOSS projects, they move as fast as contributors make them. We're building things in alignment with where the support comes from.
abdllhygt
20:00@9214 i will be more careful
nedzadarek
21:50@pekr yes, I'm from Poland.
22:13@greggirwin
> Once we get modules, it will be much easier for people to create pieces that others can try out, without having to be part of the main repo.

But you still have to know internals, right? Or will you modularize main code as well?
greggirwin
22:16Knowing and using internals is different than potentially changing them. That is, code that becomes part of the Red core needs to be held to a higher standard, both design and code quality.
nedzadarek
22:30@greggirwin yes, it needs to be "better". I mean, for example I, can write Red-level modules (using do + some files) but I haven't changed the repository nor I haven't written Red/System-level modules. The internals are too complex for me at the moment. Will new module system help people like me to write such modules?
greggirwin
22:33The idea is not that it would be easier to learn internals, but that you could write your own, much like people do with NPM for JS. So you need a Base58 codec or REST interface to a service, write it as a module and we'll have a way to find them so others can use them. Then you just write your module using Red as you do everything else.
nedzadarek
22:34@greggirwin I see. Thank you.

nedzadarek
09:57This might be stupid question but I'm not experienced with that things.
Some time ago I wanted to implement programming language in the Virtual machines (e.g. JVM). The programming language would be very *basic* - I just wanted to try/learn things.
I've read that Red will be self hosted... does it means it will have some kind of VM?
hiiamboris
10:04@nedzadarek self-hosted means it won't need rebol anymore
nedzadarek
10:16@hiiamboris so no planned VM in the future?
pekr
10:27Red/System in itself, is kind of a VM, no? Red compiles down to R/S, which compiles down to target. One of the targets might be another VM, e.g. Web Assembly was mentioned ....
nedzadarek
10:48@pekr indeed, R/S provides some basic types. In the future there will be Gargbage collector. Thank you for this *perspective*.
9214
11:37@nedzadarek @pekr Red/System is not a virtual machine, Red's runtime (written in R/S) is.
11:38In some sense, "virtual machine" is just a fancy name for "interpreter", i.e. anything that interprets input and performs actions according to some instruction set.
11:44@nedzadarek "self-hosted" means that all parts of Red will be rewritten either in Red/System or in Red itself, dropping Rebol2 dependency entirely. Currently, Red/System runtime and Red compiler with lexer are written in Rebol.
11:44https://en.wikipedia.org/wiki/Self-hosting
BeardPower
13:12@pekr No, Red/System is not a VM. It's using an execution stack, but not it's own byte-code or intermediary language.
13:13R/S compiles down to Red, because R/S is a dialect of Red.
13:15Red does not compile down to a target, it's emitting the target's machine code directly. There is no assembler involved.
13:16Well, granted, this can be called "compiled down to a target".
13:19
Red/System is a dialect (DSL) of the Red programming language. Its purpose is to provide:

    -low-level system programming capabilities
    -a tool to build Red's runtime low-level library
    -a tool to link code and produce executables

Red/System can be seen as a C-level language with memory pointer support and a very basic and limited set of datatypes.

Implementation note: It is currently provided with a complete tool-chain generating executables from source files. This is a temporary state as Red/System will live inside Red, so will be embedded in Red scripts.
pekr
13:24R/S does not compile down to Red. It's the other way around, no? ...
9214
13:28@BeardPower "that's crazy talk!" :copyright:
rebolek
13:31@pekr right, Red compiles to R/S. Dialects are not hierarchy, it means both Red and R/S shares same syntax.
BeardPower
13:33@9214 No, @rebolek, THAT's crazy talk ;-)
9214
13:33@BeardPower WHAT'S WRON' WITCHU?!
rebolek
13:33Red is not translated to R/S before being compiled to machine code? Wow.
BeardPower
13:33Well, it depends on how you see things.
rebolek
13:34I don't see them upside down, that's all.
BeardPower
13:34No R/S without Red.
13:34@9214 NH syndrome ;-)
rebolek
13:35@BeardPower actually, R/S was there way before Red, so yes, R/S without Red is possible.
BeardPower
13:35@rebolek Sure, as from the post above, it's temporary state.
9214
13:36@rebolek, @BeardPower means that R/S will be rewritten in Red and in itself (?).
rebolek
13:36@9214 right, it will (we hope).
BeardPower
13:42It's kind of difficult to explain it correctly, as it's just a machine code emitter written in Rebol.
13:42But of course, it's totally possible that I talked nonsense ;-)
rebolek
13:43It's a machine code emitter written in Rebol that also happens to be a dialect of Red.
BeardPower
13:44STOP with the crazy talk! ;-) I'm already feeling dizzy.
rebolek
13:44Why? Let's dive deeper. There can be dialects of Red written in PHP!
BeardPower
13:44I will look in the source, maybe there is some more reliable "definition" in there than mine.
13:45Why would someone do that?
13:45I mean sure, you can implement Red in whatever language you want.
13:46To write a compiler for A you need to implement it in B. After you have A you can implement the compiler for A in A.
rebolek
13:46Not Red itself, just a dialect of Red for, I don't know, robotics.
13:47Red dialect for robotics , written in PHP, running on, hmmm, node.js for example.
BeardPower
13:47Isn't a dialect just some specialized "Red"?
rebolek
13:47In Docker of course.
BeardPower
13:47On the Mill!
rebolek
13:48No, it's a language that shares same characteristic with Red (I hope I'm using right English words now).
BeardPower
13:48So it's only the syntax?
rebolek
13:48Right, see R/S. It's written in Rebol.
BeardPower
13:48And it's semantics.
rebolek
13:49So why not PHP (we know why, but imagine that).
13:49Or Brainfuck for example.
BeardPower
13:50Yeah, the majority of languages are not self-hosted.
rebolek
13:50Syntax and semantics, right.
BeardPower
13:51So R/S could also be compiled down to Red which is then emitting machine code.
13:51So if the compiler is written in Red, R/S would be "compiled down to Red".
13:51If "compiling" is seen as the language it runs in.
rebolek
13:52Only of there would be some intermediate stage.
13:52R/S is not compiled to Rebol right now.
BeardPower
13:54Ah, here it is:
unless value? 'system-dialect [
	do %compiler.r
]
9214
13:54Fun fact: both @rebolek and @BeardPower were exposed to NH hazard emissions.
BeardPower
13:54Still searching for a cure.
9214
13:54*Coincidence?*
hiiamboris
13:56what's NH?
9214
13:57@hiiamboris you don't want to know that.
hiiamboris
13:57that's what I suspected...
BeardPower
13:59So what steps happen, when Red is compiled?
14:01
;--- 1st pass: Red compiler ---
;--- 2nd pass: Red/System compiler ---
14:02The first pass is not executed for R/S:
unless rs?: red-system? src [
14:05@pekr So my apologize! I was just confusing myself because of the "R/S being a DSL of Red".
14:06@rebolek But what happens if the R/S compiler is embedded in the Red script? Will it be directly compiled without going through the 1st pass?
14:06Does it only mean, that the R/S compiler is self-hosted in Red?
14:07And why is it not possible to emit machine code directly from Red without compiling to R/S?
14:08If so, R/S would be a dialect of Red and R/S compiles/parses to Red and Red compiles to the target.
rebolek
14:10@BeardPower it's not possible to emír machine code directly
BeardPower
14:10It would be like a class hierarchy: R/S being a specialization of Red.
rebolek
14:11(Sorry, phone)
BeardPower
14:11@rebolek Why? It's just how you map the internal data, no?
rebolek
14:11... Because there's no compiler written in Red yet.
BeardPower
14:12> ... Because there's no compiler written in Red yet.

Let's just assume there is.
14:12If there was a Red compiler, R/S would just sit on top of Red, right?
rebolek
14:12Then it's the same situation as my theoretical PHP compiler.
BeardPower
14:13So R/S would be "compiled" to Red and then from Red to machine code.
rebolek
14:13It would be compiled *by* PHP, not *to*PHP.
BeardPower
14:13> Then it's the same situation as my theoretical PHP compiler.

Yes. So in the future there is not really a R/S compiler anymore, just a pure R/S DSL.
rebolek
14:14(replace PHP byRed, if you want)
BeardPower
14:14And only a Red compiler.
14:15Yes, right. R/S would be just compile to machine code by Red and Red would just be compiled to machine code by Red.
rebolek
14:15But the output of R/S parsing is machine code, there's no Red stage in between
BeardPower
14:15Yes now, but what about in the future, once Red is self-hosted?
14:16Will the R/S parsing still be machine code or Red?
14:17If so, what are the pros/cons?
rebolek
14:18Machine code of course, because if you translate R/S to Red, then you need to translate that Red to R/S, which will be translated to Red,.. And soon you have stack overflow ;)
BeardPower
14:19There are plans to change the stack.
14:20Yes, but if Red is the compiler, if would emit machine code, as R/S is only a DSL. It would not emit anything.
14:27Sure, you would have the stage for translating R/S to Red, but only one compiler stage.
14:29I'm just assuming that R/S is a DSL like VID.
14:29Basic data-types etc.
14:29And not emitting machine-code.
14:29Which is the task of Red.
abdllhygt
14:30hi! @rebolek
14:31how can i find your compiled linux-gui?
rebolek
15:01@abdllhygt rebolek.com/builds let me know if/how it works
abdllhygt
15:07@rebolek your website doesn't work
15:07"/builds"
15:08i was using before, and it was working
rebolek
15:09@abdllhygt you must use https, I will add redirect later
abdllhygt
15:09i download, thanks!
15:48@rebolek doesn't it compile?
15:48
*** Access Error: cannot open: %-r
*** Where: read
*** Stack:
16:06
./red -r coz.red

ne1uno
16:20@abdllhygt I think rebolek says, it's an unofficial build not built with the rebol SDK so it can't compile anything
abdllhygt
16:30@ne1uno hmm, thank you!
9214
17:07@abdllhygt you need to use Rebol2 as described [here](https://github.com/red/red#running-red-from-the-sources-for-contributors)
abdllhygt
17:14@9214 long way, thanks!
greggirwin
19:14There are a lot of things going on here, in the lang chat.

- We have a current architecture: interpreter, compiler, back end targets
- It's not the only possible architecture
- We'll eventually have a JIT compiler
- We could also design a Red VM, and RedASM to target it
- The Red runtime is not a VM, but you can generate Red code as a target, e.g. from a dialect, macros, or other language
- I imagine we'll see brilliant and terrible things done with all this power
cryptowyrm
21:13The Match 3 game I've been writing as a bigger example app for my Learning Red guide is now an actual game, with scores and everything (you've got 3 minutes to get as many points as possible), so if you like Candy Crush style games, give it a try. I'm going to do an hour long screencast showing how to write it from scratch, probably a bit simplified to stay under an hour and because I won't be able to remember every detail :)

![match3](https://i.imgur.com/Up4XlTU.gif)

https://github.com/cryptowyrm/red-scripts
BeardPower
21:27Nice :+1:
cryptowyrm
21:27I plan to do four of these longer examples with screencast, the next one I plan is going to focus on PARSE. I will probably create a Red version of InkleStudio's Ink Narrative Scripting language https://www.inklestudios.com/ink/ , which you can use to create multiple choice interactive fiction games. It's awesome, but their implementation has a few issues, their IDE is using Electron and requires using Wine when not on Windows, they export to Unity and the web but the web version is trailing behind the Unity version and Unity does of course add lots of complexity, so a tiny cross platform Red version that would eventually also run on Android and the web could be very popular I think and it makes for a nice PARSE example since Ink is a very simple text format similar to something like Markdown.
21:27@BeardPower Thanks ;)
greggirwin
22:04More great stuff and ideas @cryptowyrm! I've not played Match 3 games much myself, but have always thought they'd be fun to do in Red. I also think games like this will be wonderful examples of how to add RED token support to apps, combining the familiar with the new.
22:08Your %match3.red code is also a great reminder that Red doesn't have to be written to minimize LOC. Your formatting is very clean. I think it will be interesting to see what kind of engines and dialects people build in various genres (not just games). e.g., what are the fundamentals in a Match N game, and what are the elements that an uniqueness?
22:09Also great for teaching, with something very concrete to "play" and learn from, not just for kids, but there too. Different than dumbing things down, but offering levels of construction kits. Ah, so fun to think about!
22:21I'll have to read the code to learn how to play. :^)
cryptowyrm
22:21Thanks :) Yeah I try to make the code very readable. "Good code" is highly subjective, for me it's readability first, idiomatic use of the language second and then speed. I probably fail on the second part in some areas because I'm just not a Red expert yet, but maybe that's also a good thing since it also means it's easier for beginners to understand. I think Carl was very focused on readability as well. When you go through his old blog posts, he talked about carefully considered every variable and function name. Not too short, not too long. It's the reason I never liked C/C++. Not because of the language, but how it's typically used. Too cryptic. It can be beautiful, you see that in BeOS/Haiku, but typically it's ugly (to me, again, subjective). Objective-C goes in the other direction, superLongMethodName:with:many:attributes. Rebol/Red is a bit in-between, which I like.
greggirwin
22:22It's funny, for me some of Carl's code is the hardest to understand, because it's so dense, and very idiomatic. You really have to tease it apart, which is sometimes a sign of good Redbol code; highly distilled.
22:23But not *obvious*. :^)
cryptowyrm
22:24You need to match three gems or more of the same color either vertically or horizontally in a line. You can swap a gem with another right next to it, horizontally or vertically, by clicking on the first gem and then the gem you want to swap it with (the game also shows you visually which gems you can click on when you selected the first.) That's how most match 3 games work, some also allow you to swap gems anywhere on a line horizontally or vertically, not just right next to each other, but I find that makes it too easy :)
greggirwin
22:26Ah, I get it now. Only swaps if you can complete a set.
cryptowyrm
22:27Yes :)
greggirwin
22:27I was thinking any 3 connections as well, but they have to be in a straight line.
22:28Much more fun now. :^)
cryptowyrm
22:31Yeah. And you get more points when there are more than three in a line. I think it's 5 points for each gem when there is 3 gems in a row. 10 for 4, 20 for 5 or more, so it's best to try and match as much gems in a row as possible. Some games create powerups when you do that, for example a bomb which will clear a 3x3 field of gems. There are even match 3 role playing games, where you fight enemies by matching gems. You've got spells which are executed once you've matched a certain number of gems of a specific color and so on. For some reason match 3 has become super popular these past few years, there are literally thousands of games now in that genre :)
nedzadarek
22:37Now concept of VM and Red & Red/System is more or less clear. Thank you.
@greggirwin
> I imagine we'll see brilliant and terrible things done with all this power

I remember one quote:
> "With great power comes great responsibility"

but on the other hand:
> "The essential part of creativity is not being afraid to fail."
~ Edwin Land
greggirwin
22:40You can succeed and still do terrible things. :^)
gltewalt
22:49I like @cryptowyrm ‘s code. Super clean.
cryptowyrm
22:52Thanks! Probably not the code I added today though, haven't had time to refactor that yet :) All those new global variables. I'm mostly writing ClojureScript with Reagent these days, where you have all of the app state in one huge map. I'm thinking about experimenting with that and Red, because I do like the general concept of that. To make it easier to work with a single big data structure, you have the concept of cursors, which basically create a reference to a specific sub section in the big map so it can be used without having to write/very/long/paths when modifying variables.
BeardPower
23:01@cryptowyrm The great thing about the Obj-C naming is it's self-documentation. The function's names in combination with the argument's names form a sentence.
23:03loadAndPlay(track, from, to).
nedzadarek
23:03@BeardPower could you post some example(s)?
cryptowyrm
23:04Yeah makes Obj-C and Smalltalk-80 code very easy to read. The idea is, it's more to write, yes, but you've got auto complete anyhow so it's not really that much more work.
gltewalt
23:09Call it ‘push pins’ (for that cursors thing)
BeardPower
23:09@nedzadarek enumerateSubstringsInRange:(NSRange)range
options:(NSStringEnumerationOptions)opts
usingBlock:
cryptowyrm
23:10I've got a huge Smalltalk-80 article (which was the inspiration for Objective-C and Ruby) including a tutorial with many screenshots if anyone's interested, it's one of those ancient languages like Lisp I think every programmer should look at even if you probably won't end up using it: https://steemit.com/programming/@crypticwyrm/every-programmer-should-check-out-smalltalk-80-at-some-point-in-their-life-tutorial-inside
BeardPower
23:11It describes the function's in full detail. You don't need a docstring as the param naming etc. makes it clear.
23:13@cryptowyrm Thanks. I used Oberon v4, which shared a lot with smalltalk.
nedzadarek
23:14@BeardPower and how do you call that 3 functions?
23:15@cryptowyrm thank you. I'll probably read it tomorrow as it's late here. As I like Rub I've tried Smalltalk some time ago.
cryptowyrm
23:16Oberon I've only read about. I've so far looked at 60 languages over the ~25 years I've been programming, still so many I missed! I never looked at Forth for example, another one of those classics, just Factor which is also a concatenative language. Super interesting way of programming, I'm terrible at it, but still.
BeardPower
23:21@nedzadarek by messaging it: [self functioname:value1 paramName2:value2 paramName3:value3]
gltewalt
23:22Looked at it. Looked at Objectionable C. Didn’t try to use either one.
cryptowyrm
23:23Objectionable-C, ha, that's a good one!
greggirwin
23:23Oberon has a lot of wonderful ideas in it.
23:24@BeardPower the problem is that the func name and spec are as *long* as a doc string. ;^)
BeardPower
23:24@cryptowyrm Eiffel? Erlang?
gltewalt
23:24Couldn’t they have done without all the NS stuff?
nedzadarek
23:24@cryptowyrm I like the Factor's conventions in naming / vs /f. It's one of the most mature but you can try other from their site as they are small.
And, yes, there are so many languages. I have tried probably ~80+ languages (I have directory with interesting concepts from languages)
greggirwin
23:25Jorf was a wonderful language. Many languages are really good at what they were designed for...and really bad at almost anything else.
BeardPower
23:25@greggirwin But you don't need to docstrings :smile:
nedzadarek
23:25@BeardPower load and play looks nice, but those 3, I think, might be not be nice. Maybe it's because I prefer shorter and camel_case names.
BeardPower
23:26@gltewalt They could have, but NS was Steve's baby, so no :smile:
23:28@nedzadarek It makes your source-code very readable. camel_case is not camelCase ;-)
cryptowyrm
23:28@BeardPower Nope, looked at neither of the two. I nearly looked at Elixir because that sounded interesting, but then checked out Haskell instead IIRC.
BeardPower
23:29Elixir is great. It's easier to write than the voodoo syntax of Erlang.
23:30I'm currently into Nim and Pony.
23:30Eiffel has great built-in contract programming.
nedzadarek
23:32@BeardPower right... I mean snake case (it's too late)
It's one of those Ruby-like language. That's great.
@greggirwin JORF looks nice ( as from this little snipped https://ralsina.me/posts/P328.html )
Demo:Start
  Msg:Add ("Quick Demonstration","Ok")
    Sure you can say "Hello World" in one line of
    C code. But how many punctuation characters
    are required to display a dialog box like this?
  Return (Ok)

I'm going to read about it tomorrow.
cryptowyrm
23:33Pony I still have to try, Nim I played with a few years ago. I much prefer it to Rust. Rust is an abomination to me because it's as cryptic as C/C++. Again, nothing to do with the language itself, just the way people tend write code with it. But I ultimately decided Red is going to beat Nim. You can't compete with the power of Rebol :P
BeardPower
23:34Nice.
23:34But let's face it, you just need Ada ;-)
nedzadarek
23:36@cryptowyrm Ruby is good too. It's user-friendly.
23:39btw. how can you write **tutorial** without single line of code, not mentioning hello world?!
cryptowyrm
23:39Yeah Ruby is really nice. I started programming when I was about 8 and by the time I was out of school, I completely lost interest in programming so I moved into journalism for a while. Ruby brought me back in, because suddenly programming was fun again. And that led me to then check out Smalltalk-80, Objective-C, Lisp and lots of other languages. Ruby basically turned me into a language enthusiast :) Haven't used it in many, many years though.
23:41Do you mean in the Smalltalk tutorial? The code is in the screenshots :) In Smalltalk (with the exception of GNU smalltalk) you don't program in a text editor, you write in a so called system browser instead which show you one method at a time. There's a lot of clicking involved, so made more sense to show it in screenshots.
nedzadarek
23:42@cryptowyrm no I mean this https://tutorial.ponylang.org/
cryptowyrm
23:44There's hello world right there: https://tutorial.ponylang.org/getting-started/hello-world.html :)
BeardPower
23:45@nedzadarek Tell us how.
nedzadarek
23:47@cryptowyrm thank you
@BeardPower read first link
BeardPower
23:47He wanted to tell us how to write tutorial or hello world without a single line of code.
23:49@nedzadarek But these lines are the code.
23:51You referred to JORF, right?
nedzadarek
23:52@BeardPower no, I mean this: https://tutorial.ponylang.org/
BeardPower
23:53Ah, but where is there a tutorial or hello world without a single line of code?
23:54You asked: btw. how can you write tutorial without single line of code, not mentioning hello world?!
nedzadarek
23:56@BeardPower It was Rhetorical question. Whole page is about **stuffs** but I haven't run anything.
BeardPower
23:56Alright.
23:57Pony is very different. You need to read a lot of stuff to understand the type-system.
23:58But it's easier to grasp than Rust.

BeardPower
00:01I did misunderstand you. I thought you have some example in Ruby to write/output tutorial or hello world without writing a single line of code :smile:
nedzadarek
00:25@BeardPower after few pages the language looks normal but I've just skim through. Well, I'll try it later... after few other languages...
BeardPower
00:29You should also check on Ada.
gltewalt
01:22I have Elixir screencasts (not my screencasts) in Dropbox if anyone wants to check it out.
I’ve checked it out, but then I saw Red
hiiamboris
09:24> Eiffel has great built-in contract programming.

I recall skimming through it's doc. Seemed sensible but also looked like they're trying to evangelize their ideas to the point of absurdity.
Then I downloaded a few hundreds of megabytes of bloat which they called Eiffel, and I don't really recall if it's the installer that just failed to install it, or it succeeded and their junk IDE failed to run. That was it for me - such a beautiful display of how pathetic their pretense was.
10:58@cryptowyrm
> falling?: either falling [true] [false]

man, this is so esoteric! :)
nedzadarek
11:00@hiiamboris is this his code? btw. why not just falling?:
11:00and don't use falling
hiiamboris
11:43@cryptowyrm Very clean code for one :+1: I like it. You know, reading one's code is like reading one's mind. I bet your exercise books were as clean as that and you would rather repeat some stuff than strike through the stuff you don't like :)
I didn't get the FPS idea tho. Seems you set a desired FPS but then display the real one. Nice idea to measure it, but how does it relate to the desired FPS?
11:45Per game experience, my first feature request would be to have it let me make moves while it's still animating falling pieces (otherwise I'm often stuck waiting for it). And by the way the reticles aren't tied to gems and I can choose one that's gonna fall soon and the gem will move but reticle will stay.
11:50And theoretically there can be such gems layout that there will be no valid move at all, right? Like a checkered board of 4 colors or smth. Does this ever happen in practice or it's so improbable that isn't even worth checking?
nedzadarek
11:57@cryptowyrm very interesting [article](https://steemit.com/programming/@crypticwyrm/every-programmer-should-check-out-smalltalk-80-at-some-point-in-their-life-tutorial-inside).
2 things that are not explained:
- why you need put instance variable inside quotes ('foo') but "temporary variables" doesn't need it (|c|)
- where you haven't implemented one method - you could explain that code more or less (counter(object) doesn't understand decrement is not hard to understand thought)

Aside this, it's very good article.
ps. Simula 67 was first OOP but I'm not sure how it compared to Smalltalk.
btw. I've tried some years ago the Squeak implementation. Is the Pharo implementation very different than the Squeak?
12:50About JORF:
I've found this [reddit](https://www.reddit.com/r/programming/comments/3okwt1/forgotten_language_jorf_could_have_been_python_or/) that one person posted link to online version of it: https://archive.org/details/msdos_JORF_shareware
BeardPower
14:27I'm currently getting into Ada again. Red definitely needs some features of Ada: sub-types, ranges, integer wrap-around etc.
cryptowyrm
14:41@nedzadarek You're right, I could set falling? to falling directly without converting it to a boolean with either.

@hiiamboris I just added the FPS display so I can optimize the code a bit to get to the desired 60 FPS, I get about 38 FPS right now (don't have a dedicated GPU in this computer, broke a few weeks ago). I also wanted to check how much faster the game is on Linux, the last time I tried it it felt at least twice as fast even on an old, $200 netbook. Looks like some changes I made recently stopped the game from working on Linux though so I couldn't check with the new FPS counter.

Moving gems while they are falling I've explicitly disabled. It'st just an unless falling? somewhere, so easy to remove. But you're supposed to wait, since a match you wanted to make might not be possible anymore once all blocks have fallen and chain reactions destroyed other blocks. So being able to move them while they are falling could be considered a bit of a cheat. But I think some match 3 games do allow it, so it could be considered a matter of taste.

It's theoretically possible that there is no valid move left, but in the current configuration (8x8 board with 5 different color gems) it basically never happens. With 6 colors it happens a lot. So yeah it's something I have to check for and then reset the board, since I do want to make the game board configurable in the UI. You can already do it in the code, all of the parameters in the "Game parameters" section can be edited. So you can make a 10 by 5 board or something like that. You can also change the GEM-SIZE which is important once I've built in window resizing (which is easy to do, just haven't gotten around to it yet), then GEM-SIZE is going to be set automatically based on the window size.
14:51@nedzadarek Single quotes are used for strings in Smalltalk. So you have to put them around instance variables in the class definition because it's basically just a string of words that Smalltalk splits up based on whitespace and then turns into variable names. So it's not that instance variables are in general written in quotes, it's that the method that creates classes takes a string as input instead of a list of words. For some reason. No idea why :)
15:00Pharo is based on Squeak. And Squeak is based on the Smalltalk Apple developed and then sold to Disney. Squeak is more of a learning enviroment, whereas Pharo is meant for real projects, it removed a lot of the teach kids programming stuff for example.
gltewalt
15:49I don’t think I need airplane mode on a tower
BeardPower
19:36@gltewalt What do you mean?
gltewalt
19:46Windows 10 has airplane mode setting for wireless
hiiamboris
21:04@cryptowyrm I was playin 4x12 and time just froze on me at 49 secs and doesnt advance
cryptowyrm
21:11I saw that too, with the normal 8x8 board so it has nothing to do with the size. Not sure yet why it happens.
21:53@hiiamboris Since it happens so rarely (I've only seen it once so far), my theory is that it happens when you swap gems while the process-gems loop is in a very specific position right now. So instead of swapping gems in the on-up mouse event handler (which was a silly idea to begin with), I've now changed the code to just set origin and target gem positions in the event handler and do the actual swapping in the process-gems loop, when both origin and target is set. That way I can control exactly when in the loop gems should be swapped. Should make it much more robust. https://github.com/cryptowyrm/red-scripts/commit/8720e924ab39564a1ae0fee16e38dae15966e898
nedzadarek
22:24@cryptowyrm but does Pharo add something?
btw. I wanted to try pull-requesting so I added some code to your game.
cryptowyrm
22:31Yeah they added lots of stuff, they forked Squeak a long time ago so Pharo is quite different now. If it's better or not is probably open for debate, and depends on what you want to do, but I think so, I'd always recommend Pharo. Also worth looking at if you're only interested in Windows apps is Dolphin Smalltalk, it's been open sourced a while ago. Windows only, but you can create native Windows GUIs with it which you can't do with Pharo, with Pharo it's their own cross platform GUI that doesn't look native.

Thanks, I'll look at it. Never made or accepted a pull request either so this will be a first for me too :)
22:37Adding time when you make a match is a good idea, that's what Gweled does, the match 3 game that comes with Gnome on Linux.
22:48Interesting, you get three options to merge the pull request. Merge commit, squash all commits into one + merge commit, and rebase. I did a rebase merge, that's what I usually do when I use git myself and merge a feature branch I'm working on. I believe the only difference is that you then don't have an additional commit for the merge, which means the history looks cleaner.

cryptowyrm
01:53@nedzadarek Tweaked your values a bit since it was too easy, the game would never end. Now you start with 90 seconds on the timer and get 1 bonus second for matching 4 gems, 2 for 5 and 3 for 6 or more. In my tests I managed to get 90 bonus seconds so 180 in total as it was before, which is a good length for one session I think. I tried to make it more difficult over time, there is a new timer now which counts the total elapsed time, but I haven't come up with a good solution there yet, need to come up with some fancy math. But for now it works well like it is :)
greggirwin
02:15@hiiamboris Eiffel had very specific goals, but it never quite got off the ground and is quite dated now I think. Haven't checked on it in a long time. Bertrand Meyer is a smart guy though, and has written some great books on software development.
hiiamboris
07:03Speaking of books. I once followed some links from Red to Eve project and on, to where there was a book or an article (pdf I think) where they blamed *state* as the source of modern software complexity and TDD as a an approach to programming doomed from the start. I however dumped it somewhere and possibly deleted after.
If anyone has the link or name, please tell me :)
nedzadarek
11:49@cryptowyrm about game:
Yes, it's job for game developer. It depends if you want to make casual or hardcore game. I would draw some graphs to see the numbers. MS. Excel (or Open source equivalements) is helpful.
About commits:
It's interesting that my commit looks like it has been pushed by 2 people (2 icons).
Smalltalk:
GUI/apps might look little different but it should works and be easy to do. With the Rebol I had 1 exe so I could write batch files to run my applications. With the Red I can compile it.
I've tried smalltalk (the Squeak probably) and solution was not so easy (make user install smalltalk + give them image). I've seen some "packers" like Iceberg but I've not tested them.
Dolphin Smalltalk has "deploy" feature so I think it should be like the Red (I haven't tested it).
cryptowyrm
12:10@nedzadarek Yes, with the merge commit style it would have shown two commits, your original commit and then one by me which says your commit was merged. The rebase commit style makes just one commit but shows it as having an author (you) and a commiter (me).

As for deploying Smalltalk apps, on Mac it's easy since a .app "file" is just a folder the OS treats like a file. So you can put everything your app needs in that folder, including the .image and the .changes file. The actual executable can just be a shell script. On Windows you would need to use an installer or if you want something simple, a self-extracting exe (WinRar can create them for example) which would zip the VM, the image, the changes file and a shell script that runs the app. Then when you click the .exe, everything is extracted into a temporary location and then executes the shell script, every time the .exe is run. So that is less efficient, but since Smalltalk apps start instantly anyhow thanks to the image file, it shouldn't matter much.
nedzadarek
12:29@cryptowyrm but you have to do this for each major platforms (linux, macos and windows). In case of the Red - you can just compile for all 3 major platforms.
Another consideration is a size. The squeak 5 has 125 MB, the newest Dolphin ~23. Your game + red executable -> 1-2 MB.
cryptowyrm
12:53You can use a smaller image for distribution which only has what your app needs, removing all of the development tools. Factor uses images too and I believe the .EXEs it creates are below 1 Mb (been a long time since I played around with it). But yeah, I wouldn't recommend using Smalltalk to write real apps, I've never done it. My favorite languages for that right now are Red for desktop, ClojureScript for web, Clojure for server side web stuff, but you can do everything client side today so I haven't written server side code in years. Smalltalk to me is purely interesting as a learning environment and from a historical perspective. When you want to really know what OOP is, and not how other languages misinterpreted it, you have to look at Smalltalk.
nedzadarek
13:57@cryptowyrm
I haven't used the Factor for long time but I remember the exe it had produced was huge (simple hello-world-like application).
I deployed "better hello world". Tons of checkboxes but the resulting files have ~12MB. Not bad.
Well, at the moment I'm writing (or want to write) smaller gui applications. The red seems to be good for small applications but for bigger... I don't know. The Dolphin seems overcomplicated for simple better hello world.
For 2D games we can give the Lua some ~~the~~ [ LÖVE](https://love2d.org/).
14:39I remember how easy it was to program so GUI in the old Borland C++.
ne1uno
14:53they still give away free dephi versions every now and then
cryptowyrm
16:37Well the issue with Red is that it isn't done yet. I don't think there is a problem writing a big app in Red other than that. Until then, personally I would probably use Racket. It creates native GUIs for Mac, Win and Linux and it's scheme lisp so very simple and it comes with extensive documentation. Rebol was initially based on scheme lisp from what I read but moved further and further away from it over time, so using Racket would have at least some tiny similarity to using Red. You don't have VID of course, I've never seen anything as simple as VID. Ruby's Shoes comes the closest I would say. Although with Shoes I don't think you could easily write bigger applications, that is more suited for small apps.
17:02I barely remember anything about Delphi and Pascal, we learned those two in school, but I remember that I quite liked it. I also used RealBasic for a while, which is basically Visual Basic but creates GUIs for Mac, Win and Linux. I don't think it exists anymore. Lots of programmers look down on these GUI builder programming tools (just like they look down on web developers), but you can make highly sucessful apps with it for sure, I did. I have to say though, using something like GTK or Qt, especially when using a high level language like Python or Ruby, isn't hard. It's just complex, you have to write lots and lots of code. Apple's Swing even makes native macOS programming fairly easy, but still utterly complex. I think that's what Rebol/Red solve the most. The complexity. You only add as much complexity as you need (you can always drop down from VID to VIEW for more advanced stuff), but you start with something as simple as it can possibly be. With nearly everything else, you start complex and stay complex.
BeardPower
18:31All these languages do not solve the problems for my domain: security and reliability. Ada, Rust and Pony offer what I need: no deadlooks, no buffer overflows, no segfaults but still being a compiled language with high performance. If the program compiles, it's crash-free. This is something needed for mission-critical applications, where failures cost lives or big financial risks. I don't know, if Red can offer all this in the future, but it would be more than awesome to stick with one language for everything, instead of writing the core with language X and interfacing with Red through a FFI.
hiiamboris
18:40@BeardPower how do these avoid deadlocks?
BeardPower
18:42@hiiamboris Some have a special type-system and rely on the actor model, other's have special constructs for synchronized access and static-/dynamic code analysis.
18:45You don't have something like a thread (you don't create it yourself), the language/runtime takes care of it. You have to specify the access types with the type itself or all is immutable by default. They have a very strict static typing: e.g. you cannot cast from one type to another (Ada).
18:47The compilers/languages have mathematical proof.
18:47Contract programming, invariants etc.
hiiamboris
18:49So it's not like they avoid deadlocks in general, but rather those caused by threads being locked (by mutexes or whatever) and race conditions?
BeardPower
18:50They avoid it because it's not possible to implement one. It check's at compile time, if your code is mathematical proof that it does not cause a deadlock.
hiiamboris
18:51but that's only possible for pure code, no?
BeardPower
18:52Some of these languages don't have mutexes etc. and code cannot cause a race condition.
18:52What do you mean with "pure" code?
hiiamboris
18:53I mean producing no side effects
BeardPower
18:53The code cannot cause a side effect, because that would invalidate the proofing.
18:54The compiler would not compile it and tell you, that the code is causing a side effect.
hiiamboris
18:54isn't that rather limiting?
BeardPower
18:54You also have different profiles, which disable certain language features.
18:55Limiting in how you can do stuff yes. You have to implement it differently.
18:56Coding in these languages is not simple. They have a steep learning curve.
hiiamboris
18:57can you use something like now/time or random in there?
BeardPower
18:57They are used for rocket steering systemsx flight control of the Boeing 777, satellites and finance.
18:57Yes, you can. Depends on the language and your chosen profile.
hiiamboris
18:58on a side note, so Pony is not VM-based like BEAM langs?
BeardPower
18:59Don't forget, that you can also enable run-time checks. Every exception is caught. There is no exception causing the system to crash. Some even have the possibility to let the languages/runtime to decide what to do.
18:59No, Pony is a compiled language.
hiiamboris
19:00I wonder how it handles actors/messages without a scheduler or smth
BeardPower
19:01Erlang for example is a self-healing system but there are also self-healing Kernels.
19:02Pony has a scheduler, but you never touch it yourself. You just create actors and pass them messages.
19:02They also have unbounded queues.
hiiamboris
19:02what's that?
BeardPower
19:04Unbounded queues. Using an unbounded queue (for example a LinkedBlockingQueue without a predefined capacity) will cause new tasks to wait in the queue when all corePoolSize threads are busy. Thus, no more than corePoolSize threads will ever be created. (And the value of the maximumPoolSize therefore doesn't have any effect.)
19:05You don't specify the size, the language handles it.
19:06https://tutorial.ponylang.org/gotchas/scheduling.html
hiiamboris
19:08hmm that looks less solid than BEAM with it's automatic load balancing and run-tens-of-thousands-of-actors-at-once approach
BeardPower
19:08https://www.ponylang.org/reference/pony-performance-cheatsheet/
hiiamboris
19:09more reminds me of Objectionable C
BeardPower
19:09You can do the same with Pony.
19:09Why did you think, that Pony has no scheduler?
hiiamboris
19:11idk, it's kinda new to me to see a compiled language that does that on it's own
BeardPower
19:12Yeah, I'm also new to these languages, so a lot to learn and a lot to understand.
hiiamboris
19:13Rust has builtin concurrency too?
BeardPower
19:13Yes.
hiiamboris
19:16hmm maybe that's why it's so much more loved than Haskell
BeardPower
19:23Rust is really complicated and tedious. Pony is much easier.
19:23Red will have array bounds checking in the future, so that's a start. Concurrency is maybe done with actors.
19:27Ada has really great features. Revolving integer ranges will not have over- or underflow and you can specify ranges.
hiiamboris
19:29> Revolving integer ranges

o_O what's that?
BeardPower
19:30It's like automatic modulo. If you specify a range of 0..255 and you set a variable to 257 it revolves to 2.
hiiamboris
19:31what purpose does that serve?
19:32can you also detect when that happens and do something about it?
BeardPower
19:32You will never get an integer over-/underflow.
19:33Yes. You can. There is also no division through zero.
hiiamboris
19:34> You will never get an integer over-/underflow.

so what? even C will silently ignore that under/overflow, what's the problem with it?
BeardPower
19:34You cannnot have buffer overflows, because you cannot have a value higher/lower than it's range.
hiiamboris
19:34ah, I see
BeardPower
19:35An overflow is also a problem with pointers.
19:35Or calculations.
19:36You can disable pointers completely.
19:36By using a different profile.

BeardPower
00:13https://blog.acolyer.org/2016/02/17/deny-capabilities/
greggirwin
02:24Red is a language construction toolkit. Ideal for building any kind of language you want. The more limited you make the language, the easier it is to secure and provide guarantees.

GUI builders are great tools. We'll have them in the future.
02:26A language becomes more and more secure as it does less and less. It is completely secure when it does nothing.
gltewalt
03:52Like my functions
greggirwin
BeardPower
10:45@greggirwin So Red/OS will have the same security guarantees as Ada, Rust and Pony? ;-)
10:46The advantage with those languages is, that they provide guarantees without providing less.
nedzadarek
13:47@BeardPower
> It's like automatic modulo. If you specify a range of 0..255 and you set a variable to 257 it revolves to 2.

Isn't it a bad thing? I mean do you really want 255 + 1 to be silently set to 1? I don't think everyone want this. If you don't set some kind of checks your code can work showing incorrect output.

About languages:
Sure, they are not very secure. Although I think Racket might be worth checking... but It might have runtime-checks.
btw. I've seen some smalltalk on medic device but I cannot find it.

@cryptowyrm Yes, the Red is in alpha. Console applications might be easier but GUI programming might be worse. I haven't built any *big* application but I have seen people solving problems with gui by either composeing or building your own faces.
The Racket might be very good... but I hate 2 things in programming:
- parenthesis overload
- very explicit definition style of Java

There is the [Free Pascal](https://www.freepascal.org/). It may not be alive like other languages but It influenced other like Ada.

Gui builders - sometimes you just want to simple stuffs like few buttons, one "canvas" that get your mouse position/button presses etc.
When Red will have user defined styles (more complex than view [style blue-base: base red blue-base "Red"]) then it will be less complex.
greggirwin
14:14> The advantage with those languages is, that they provide guarantees without providing less.

@BeardPower they provide less options (i.e., more constraints) in how you can express things, correct? And in what you have to specify to make the compiler happy, so it *can* verify things.

If we want to write a secure OS, the first thing to do is create the languages we need to build it. :^)
cryptowyrm
15:48@nedzadarek I'm not sure if it exists for Racket yet, but for Clojure there is now parinfer, which treats the code as if it's whitespace was part of the syntax like in Python, and the parenthesis are then automatically added based on whitespace, based on how you format your code. Makes editing Lisp code super easy, you just indent and code is moved into or out of parenthesis, and you can basically ignore the parenthesis completely at that point, some editors even show them in a barely visible color since you just don't need to think about them anymore. There are still some issues with parinfer that need to be solved, but it already works really well, I'm using it all the time.
BeardPower
15:52@greggirwin well, they are very expressive but sure, you are more limited on how you can do it, but not what you can do. The compiler can verify things, because you need to follow a specific programming model.
15:53A secure OS not only needs a language but also the implementation/models need to be secure.
15:58But it's still just building on an insecure hardware.
nedzadarek
16:06@cryptowyrm code completion works on pair (e.g. ( and )) but I still find it bad for lisp languages. Making parenthesis barely visible might change my point of view but I haven't tried it... yet.
@BeardPower They are both turing complete so you should be able to compute the same thing on them.
Can you really make secure system>programming>hardware?
BeardPower
16:12@nedzadarek Yes, but they differ in the abstration level. Yes you can, with a clean slate approach like the Mill, which has hardware sandboxing at a byte granularity level.
nedzadarek
16:14@BeardPower but you still need to communicate with outside world + you cannot make secure hardware.
BeardPower
16:15@nedzadarek Sure you can. Why should communication with the outside be an issue? The outside world can only do stuff the other secure hardware would allow it to do.
16:16You can only write to byte X if you have the right to do so.
nedzadarek
16:17But you can do it Quadrilion times.
BeardPower
16:17Do what?
nedzadarek
16:17set byte X to Y.
BeardPower
16:18Only if you have the right to do so. Why would it be insecure if you allow it do to so multiple times?
16:19It cannot write into other bytes.
16:19And this byte is secure.
nedzadarek
16:20Nothing is perfect. If you use something X times it will deteriorate over time.
ne1uno
16:20still need an idiot detection system
BeardPower
16:20How is deterioration linked to insecurity?
nedzadarek
16:21Imagine when you set bit to 1 but it suddenly show 0.
BeardPower
16:22@ne1uno That's why its deny by default ;-)
16:23@nedzadarek This does not change the security system. It's a physical limitation. What happens when some EMP is used upon you ;-)
16:25If the bit flips, your cryptographic hash will be different and you don't have access.
nedzadarek
16:43@BeardPower so it have b1 set to some byte and h having hash... what if your hash is modified too?
BeardPower
16:45That's not really an issue because the probability to get a correct hash based on a bitflip is close to zero.
nedzadarek
16:45Sure, if you consider random occurrence but what about artificial one?
BeardPower
16:46What would that change? The probability is still the same.
nedzadarek
16:47If you have enough power/money you can compute it.
BeardPower
16:47Only one hash in a gazillion will be the correct one.
16:47Yes, if you have more time than the universe is old.
16:48The total combined computing power existing would take more than that.
nedzadarek
16:49We are making better and better things. Decades ago something could be considered unbreakable but nowadays even kids could break it.
BeardPower
16:49No. AES, RSA etc. is still unbroken.
16:50Quantum crypto is unbreakable.
16:51Kids only break toys ;-)
nedzadarek
16:53Nothing is perfect (unbreakable). Sure, something might be considered not worth to break.
16:54Some day, some not known kid will break it.
BeardPower
16:56Quantum crypto is.
16:56The not known kid cannot bend the laws of physics.
hiiamboris
17:21@BeardPower you're either mistaking *laws of physics* for *known laws of physics* or putting too much trust in physicists
17:25quantum entangling (used by quantum key distribution) has been already proven observable without changing the photons state, and that led to a new idea to make instantaneous (faster than the speed of light) communication channels
BeardPower
17:42@hiiamboris I'm just referring to proven theories in physics not the unproven ones.
17:43I would not call it knows laws, but proven theories.
17:45I did not talk about key distribution :-)
17:48http://blog.press.princeton.edu/2017/04/24/joshua-holden-quantum-cryptography-is-unbreakable-so-is-human-ingenuity/
17:51Nothing is proven yet, that there are particles, which are faster than light. Another key technique is key distribution by quantum teleportation.
17:52So maybe the message is even encrypted before you are starting the encryption :smile:
17:54In the ends it's still all theory.
17:54Unless proven or disproved.
hiiamboris
18:01> quantum teleportation

but it's the same phenomenon as entanglement, just with fancier title
nedzadarek
20:01@BeardPower
> Quantum crypto is.

Some years ago people thought the Earth was flat. Then Christopher Columbus came.
22:57I've downloaded Ada (some GPS or something). ~300 MB unpacked into 1,8GB.... nice. Now I need to find some nice tutorials that shows pros/cons of the language.
greggirwin
22:59Pros: Government work
Cons: Government work

:^)
nedzadarek
23:00I mean... I need more examples.
greggirwin
23:03I don't have anything better than the net will give you, having never used it for real.
nedzadarek
23:04@greggirwin Yes, I need to find it myself. Thank you nevertheless.
gltewalt
23:53http://sandbox.mc.edu/~bennet/ada/examples/

nedzadarek
00:02@gltewalt thank you
BeardPower
07:57@nedzadarek It was long proven before Christopher Columbus by Pythagoras, Aristoteles and Eratosthenes of Cyrene.

As I said, I was referring to facts/proven theory, not theory.
08:02@nedzadarek Ada resources: http://www.adaic.org/learn/materials/intro/ https://www.adacore.com/
08:04@greggirwin It's origins yes, but GPS and GNAT is Open Source. Not to mention, that Ada is a French work;-)
nedzadarek
11:33@BeardPower you... or in general people have limited knowledge. You can prove something but some day you may find something that can break that proof.
thank you for resources
BeardPower
12:34@nedzadarek If the proof can be disproved/broken, it's not a prove in the first place.
12:38A prove can just be made based on knowledge. If someone can break the proof, it's only because of increased knowledge he would need to gain.
Of course, everyone has limited knowledge.
Maybe the trees are not even green or the sun is not even yellow, we just have the impression they are.
Without the knowledge needed to disprove it, there is no chance to disprove it. So it's a sound prove based on the current knowledge, right.
12:39You're welcome. These two links are the major ones.
iArnold
17:26> Some years ago people thought the Earth was flat. Then Christopher Columbus came.

Very much b.s. and you know better than that. The Greeks already knew it must be a sphere and calculated the earth's size. Then religion came and flattened the earth again on penalty of death for those claiming the opposite. But the earth is indeed flat, but only seen very locally. and there is no up and down for a map, north up and south down, that is only convention.
hiiamboris
17:54how do you guys know that it's *not* flat, globally?
dander
18:43@hiiamboris It's a little tricky to prove to yourself that the earth is round without trusting any outside source, but even there, you can _see_ the curvature from a tall mountain, or from an aircraft. If you don't trust that, it's possible to calculate the diameter of the earth by looking at the length of shadows from different latitudes. Flat earth also requires a massive global conspiracy involving coordination of all governments + sciences. If you assume that the earth is flat, you run into all kinds of problems trying to come up with an alternate feasible model. It's kind of unbelievable to me that the flat-earther movement is a thing, but I guess it's more about rejection of authority + conspiracy thinking rather than skepticism.
BeardPower
18:57@nedzadarek Because if you walk in a straight direction, you end up at the same point you started at.
18:58@dander Just start walking ;-)
dander
19:01@BeardPower I've found the walking (and swimming) experiment a little challenging to do in practice ;-)
hiiamboris
19:02@dander Not necessarily a conspiracy. Maybe a mass misinterpretation of data. Maybe people are just like me - they tend to trust the simpler explanation. Maybe there's no people or science or governments, maybe they are all emulated by the server I'm on. There's always an alternative view and there's always a possibility that at some point in time there will appear a more complete view that will totally discard the currently dominant view :)
19:03@BeardPower so you're a devoted believer :) Have you tried the walking thing?
rebolek
19:09Mass misinterpretation of data, right. Actually Earth can be hollow and we can be living inside, it can be just strange geometry of space that we interpret in wrong way. You can't disprove it. But it's easier to interpret data in a "standard" way. And also, interpreting data in the way that Earth is flat is much more complicated than the hollow model.
dander
19:10@hiiamboris Even if you think your whole reality is a construct, would you at least believe that there is some consistency in the rules from one moment to the next, and that the entities in your reality behave in a consistent manner? Do none of them exhibit curiosity or at least simulate it? There are many governments and private corporations that have launched satellites. Do you think it's possible that they could have done so successfully completely by accident, and then after that, just never noticed that the prevailing model of Earth was wrong? Do none of those organizations actually exist and the whole thing is just a facade? If you start investigating any of those things, the whole thing just falls apart.
rebolek
19:16@dander you certainly must be part of the conspiracy... :smirk:
hiiamboris
19:20Well, I haven't checked on those organizations if they exist. I haven't been there when they supposedly obtained the data they claim to. Nor I can't guarantee that the current model will live for a thousand more years. Maybe one day a crazy mathematician will be born and will prove that we were all just too stupid to interpret the data correctly, and his model will be simpler and explain more data? ☻
I like how Vsauce puts it:
> There doesn't appear to be a single, most correct-est, in all circumstances, answer
BeardPower
19:20@hiiamboris Yes, but had to stop at the sea ;-)
hiiamboris
19:21@BeardPower it's the edge of the world man! You could fall under the texture there
BeardPower
19:21@dander Yeah, the plan has some issues. I do not have a plane and a flying license yet :-)
19:22@hiiamboris Haha, like in some COD game ;-)
19:22So yes, I am a believer.
19:23@rebolek Or it's all just in my head ;-)
rebolek
19:23@hiiamboris it's certainly possible to interpret the data in different way, but does it make sense if that way is way more complicated than current one? We may never know what the reality truly is, but we should settle on simpler models, because, you know, time's limited. And round Earth is simpler model than flat Earth.
hiiamboris
19:23@rebolek sure, currently known round model is simpler than currently known flat model :)
rebolek
19:23@BeardPower what's so special about your head? Why it's not all in my head? ;)
BeardPower
19:24@rebolek Touché!
dander
19:27Scientific knowledge is regularly overturned, but not at random. Just because one theory is proven incorrect doesn't necessarily invalidate it. For example, Einstein disproved dynamics with relativity, but dynamics are still valuable for explaining non-relativistic situations, and it didn't collapse the entire body of physics, only refined it. Discovering that the Earth is not round would be like starting over from scratch
hiiamboris
19:31> Discovering that the Earth is not round would be like starting over from scratch

well, it's likely but we don't know for sure, yes? :)
BeardPower
19:31There is no Earth :)
ne1uno
19:32some people just liked the inquisition, the facts are incidental
BeardPower
19:32We will never find out or be sure that we find out.
19:33@ne1uno The winners always like the side they are on.
19:35Maybe some day someone can explain to me how something was created out of nothing,
19:35And who created the nothing ;-)
19:36And who created the something who created the nothing... and who created....
rebolek
19:36"how something was created out of nothing" - where did you get this idea?
BeardPower
19:37They try to tell us, that the big-bang was created out of nothing.
19:37Ooops, it was just there, how convenient.
rebolek
19:38this is not current point of view
BeardPower
19:38Than what is the current PoV?
rebolek
19:39You really want to push my English knowledge to the edge...
19:41And there certainly was matter at Plank time.
19:41The best interpretation of current data can go back to Plank time, but not before that. If someone says what was before that, it's just their imagination.
19:42Also, probably infinite amount of matter, not a point that somehow exploded.
BeardPower
19:46@rebolek English knowledge is overrated ;-)
Yes, but who created the matter?
19:47Where did it came from?
19:47If it was created, it must have been created out of nothing.
rebolek
19:47@BeardPower I need English to communicate these things here, because Czech is underrated ;)
BeardPower
19:47Or something.
rebolek
19:48Why do you think it was created?
BeardPower
19:48So at the beginning there must have been nothing, right? But how can something be created out of nothing?
rebolek
19:48What if the Big Bang was just change of state?
BeardPower
19:48If it was not created, how did it exist?
19:49Sure, but how was the previous state created?
19:49And what was the root state?
rebolek
19:49Why do you think there was a beginning?
BeardPower
19:49If the root state was SOMETHING, how did it get there.
rebolek
19:49What is your root state?
BeardPower
19:49Because SOMETHING cannot be just there.
19:50The beginning.
19:50The mother of all states.
rebolek
19:50What is your beginning?
BeardPower
19:50The state, that was the first.
19:50It must have been nothing, right?
hiiamboris
19:50the edge of the world! at time axis
rebolek
19:51No, I mean *your* beginning, @BeardPower 's beginning.
19:51When it happened?
BeardPower
19:51I don't know, cannot answer that.
19:52But what was the beginning of everything?
19:52Was it just there? How can something just be there?
rebolek
19:53Beginning is just a word. We have words and want to use them on things where they don't really fit.
19:53"How can something just be there?" why not?
19:54You are born into this world where everything is just there and then you will die and everything will just be there as it was before you.
19:55Things change, of course.
19:56But *beginning* is just a description of a process.
BeardPower
19:56Exactly. We cannot explain it by sticking to the third dimension.
rebolek
19:58fourth is also not enough ;) when does the train comes to the station? Can you say it with minute-precision? Certainly yes. Can you say it with second-precision? I doubt it. With milisecond...?
BeardPower
19:59Rename this group to philosophical questions of mankind ;-)
19:59Yeah, maybe we need the 10th?
19:59Who knows.
20:00I will tell you, once I was there. But how could I explain it to you, if you have no knowledge of it? Not possible.
20:01Space-Time 6 -> like in "The Dig" :-)
20:01Spacetime six is where the three dimensions of space meets the three dimensions of time.
20:02Haha, I read "forth is not enough".... ;-)
hiiamboris
20:02some string theories are 26-dimensional :)
BeardPower
20:03Yeah, once the theory does not add up, they just invent an additional dimension where it adds up.
rebolek
20:03forth is good enough ;)
BeardPower
20:03Hehe.
hiiamboris
20:04@BeardPower yeah that's the way :D
1) increase complexity until no one but you can interpret what you're saying
2) ...
3) profit!
BeardPower
20:051.) invent Red
2.) ...
3.) profit!

;-)
20:08At least this, we can solve.
nedzadarek
22:22@iArnold I meant different person with different thing.... well... that's embarrassing. Forget I posted previous post about flat Eath.
@hiiamboris I may be wrong (I haven't watched/read it for a long time) but the M-theory *collapsed* all string theories into one. They are just another version of the M-theory. The M-theory needs 11 dimensions.

iArnold
06:34@nedzadarek No problem, sometimes it is good to use a simplified model of the reality.
06:39And to not look at the world like all others do, be a rebol.
06:39One day to go for the big party!
toomasv
06:53:point_up: [July 16, 2018 8:26 PM](https://gitter.im/red/chit-chat?at=5b4cd5559a612333aa682469) @iArnold BTW, your third sentence was as b.s. as the one you said it about. :smirk:
BeardPower
08:10@iArnold Big party? Did I miss something?
08:11@toomasv The one about religion?
toomasv
08:17@BeardPower Yep. The myth that Earth was universally believed to be flat in medieval times and that religion or rather specifically Christianity was the culprit of this belief was created in 19th century only. It seems today there are more flat-earthers than in medieval times. :smile:
BeardPower
08:24Retro is in, these days :smile:
nedzadarek
09:35@iArnold
> And to not look at the world like all others do, be a rebol.

Yes, thinking out of the box is good sometimes. If it's about language I even feel like I'm fighting the language.

@BeardPower People likes to do 8-bit-like games. It's interesting how single pixels can change a lot in an *8-bit* art.
BeardPower
09:53@iArnold Yes, pixel-art is very nice!
cryptowyrm
12:02@nedzadarek @BeardPower Also, pixel art with voxels. If you haven't seen it yet, check out MagicaVoxel. If you like Aseprite for pixel graphics, MagicaVoxel is similarly easy to use but for volumetric pixels.

https://ephtracy.github.io/image/snap2016-06-11-22-31-48.png
nedzadarek
13:22@cryptowyrm in my opinion, it doesn't look as nice as 2d pixelart. It's so *clean* as you made it from the the Lego.
cryptowyrm
13:24Taste differs, of course :) I also really like this "low poly", almost origami looking 3D style which is gaining popularity. But yeah, personally I stay with 2D pixel art. I'm completely untalented when it comes to art, so 2D is already hard enough for me as it is.
13:53Started recording the screencast for my Red Match 3 game yesterday. Turned out to be much harder than I thought, to talk in a language I never speak while writing the code from memory :) Would be a lot easier to just show the finished code and explain it instead of rewriting it from scratch from memory. But I think it's a much better explanation for beginners this way, to see how the game grows, see each step of the development process, so it's worth the extra work. If someone wants to look over the first part (12 minutes) and give me some feedback before I record the rest over the next few days, you can check it out here:

https://drive.google.com/open?id=1xqRCnT0rw2Ge66Md4qXr1IihTJt-MxxR

It's already the second take, so if you notice some egregious errors, no problem, then I'll just have to record it yet again :P I talk a bit slowly when I write code but the nice thing is that the video player lets you change the speed (gear icon in the bottom right), so it might be more bearable to listen to the video if you set the speed to 1.25x, then it's also 25% shorter :)
BeardPower
14:36@cryptowyrm The Voxels should be more fine grained ;-) https://www.atomontage.com/
14:38https://www.youtube.com/watch?v=nr5JqYYye3w
nedzadarek
14:41@BeardPower I wonder how it would work... in the game where you can destroy/create new things (e.g. minecraft).
14:41ps. I mean speed
BeardPower
14:42@nedzadarek Real-time >60fps.
14:42As you can see in the tech-reel.
nedzadarek
14:48@BeardPower On what machine?
BeardPower
17:00@nedzadarek Pretty ancient machine: The whole video was shot on my old Acer notebook with an Intel C2D P7550 processor and nVidia GeForce GT 130M video card (running a 32bit system). I think the notebook is comparable with a decent gaming PC from about 2005 so this performance actually shows the power of this atom-based approach quite well. Just extrapolate it to the current 8-core 64-bit gaming desktops. Voxels and atoms in general definitely are the next big thing.

The engine performed quite well in fullscreen and near-fullscreen (1600x8??) without super-sample anti-aliasing. The quality parts of the video were captured in 720p. The frame-rate usually varied between 15 and 150 FPS.
17:01http://archive.atomontage.com/?id=dev_blog&pid=jan28_2013
17:02https://www.youtube.com/watch?time_continue=2&v=VYfBrNOi9VM
17:17Voxels enable endless possibilities and effects not doable or looking crappy when done with raster graphics. Voxels are fast and imagine what you can do with having a hardware tailored to Voxels ;-)
hiiamboris
17:22@BeardPower I gather this should induce anisotropy in light scattering, how do they plan to handle it? What about non-diffuse shading?
BeardPower
17:36@hiiamboris http://archive.atomontage.com/?id=gallery&pid=jul22_2010
17:40Lighting can be done with Sparse Voxel Octree Global Illumination: https://www.youtube.com/watch?v=-7U6JgbFCVM
17:43You can just apply any other lighting technique like path tracers or photon-tracing, sub-surface scattering etc.
17:45Voxel cone tracing https://www.youtube.com/watch?v=dQSzmngTbtw
hiiamboris
17:56@BeardPower I think *voxel cone tracing* is where you have a normal polygonal scene and create a huge amount of voxels that scatter/reflect/absorb the light that hits them, am I wrong?
BeardPower
17:58https://www.youtube.com/watch?v=siui7gLxcIQ
17:59@hiiamboris No, you are correct, but the Atomontage Engine is a Voxel engine, so you have voxel cone tracing baked in, so to speak.
17:59No need to have a polygonal scene in addition to the voxels for the lighting.
18:04VCT is using voxels for GI/Ligthing. Atomontage Engine is using Voxels for everything. It was designed as a physics simulator.
18:06You can do awesome stuff with it:
https://www.youtube.com/watch?v=-all65C-dh0
hiiamboris
18:07@BeardPower so returning to the former question, how do voxel objects support reflection (like https://upload.wikimedia.org/wikipedia/commons/6/6b/Phong_components_version_4.png ) considering their surfaces normals can face only 6 directions?
BeardPower
18:08@hiiamboris By using VCT :-)
18:10VCT is ray-tracing in a Voxel scene. It's using cone shaped rays.
18:11You can use any ray-tracing/path-tracing technique on Voxels.
hiiamboris
18:14so how would it work? will it sort of derive the reflective direction from 6-12 adjacent voxels positions of different *density* or what?
BeardPower
18:16https://www.youtube.com/watch?v=MaBCb7pDK_U
18:18The Voxel will interact with the ray. If it's hit, it will emit light.
18:19If you have translucent Voxels, the ray would do ray-marching/sub-surface scattering inside the Voxel based on different densities, yes.
hiiamboris
18:22So, suppose I have a polished metal orb, or a polished metal orb wet from the rain. If I voxelize it I lose all the surface normal data. How do I calculate lighting then?
18:23I make voxels so small that a few of them will fit into the thin water surface?
18:24Then I could detect the margin between air and water, water and metal, and approximately get the surface shape...
BeardPower
18:24It's not any different to a polygonal scene, where light-rays are reflected. The difference is, that you can actually do accurate sub-surface scattering based on the Voxel densities. If you have a non-translucent material, like a metal orb, it would be no different to a polygonal scene.
The Voxels are, in the best case, 1x1 pixel. You can also specify properties of the Voxel, so it's face is approximated to curves or the normal data of a polygonal shape.
18:26Yes, you can specify the properties needed for Snell's law or the behavior of the material.
hiiamboris
18:27hmm makes sense, thanks :)
BeardPower
18:27You just need to specify how the internal plane of the Voxel is aligned in 3D space, so you don't reflect on the straight face of the Voxel, but it's internal plane.
18:27You're welcome.
18:34With Voxels you get everything for "free", which in a polygonal model you have to stuck on top with other methods.
https://www.youtube.com/watch?v=Z0upnXTM_kk
18:35A better Digital Molecular Matter for free, so to speak.
18:38You can model the Voxels like atoms, so their internal connection breaks on a specific strain.
hiiamboris
18:38interesting!
cryptowyrm
18:41Are graphics cards still completely useless for voxels? I thought I read some years ago that either there are chips now or they plan to have chips on graphics cards that help with voxels because AAA games have started using voxels to do the calculations for destructible terrain and then paint everything normally using polygons. But maybe I misunderstood, graphics programming is far away from my area of knowledge :)
hiiamboris
19:06@BeardPower how does voxel model propose to handle deformations? like stretching/contracting stuff... with polygons you can just relocate the vertices, but voxels will become sparse if you try to "stretch" them, right?
BeardPower
19:11@cryptowyrm They are not useless, but not optimal. A GPUs is a polygon rasterizer and very fast for working on triangles. As Voxels are not based on triangles, they are not the optimal workload for a GPU. The ray-tracing can be accelerated through the GPU, but this workload is also not optimal. So GPUs are not useless, but not an optimal solution. Yes, there is specialized hardware for ray-tracing and Voxels, which is way faster than any GPU (compare FPGAs and ASICs for crypto-mining to GPUs).
19:13@hiiamboris Yes, therefore you just insert more Voxels (stretching) or remove some (contracting) and move the Voxels to new positions.
cryptowyrm
19:13Ah I see, thanks! :)
BeardPower
19:15Funny video ;-) https://www.youtube.com/watch?v=BiYXsiNEkkg
19:16 @hiiamboris See this video: https://www.youtube.com/watch?v=jItvtnc5hLw
19:26It's soft-body dynamics ;-)
https://www.youtube.com/watch?v=uWIcfQlCt1s
hiiamboris
19:29haha! awesome!
cryptowyrm
19:30Ha, looks like tetris played by throwing couches out of a window, the swedes would approve :)
BeardPower
19:30@hiiamboris How animations/deformation is done, is explained here: https://www.youtube.com/watch?v=Hnvr0hxyDvk
19:31@cryptowyrm Haha! Yeah, hilarious!
19:37Watch the teddy-bear https://www.youtube.com/watch?v=chNGaKBvFcU
19:40lol https://www.youtube.com/watch?v=7f0W9PFEMlk
hiiamboris
BeardPower
19:47Voxels are really fast and this was in 2011.
19:47Look at what's actually possible ;-)
https://www.youtube.com/watch?v=EJTc_t3G-js
nedzadarek
20:23I wish I could download such demo.
BeardPower
20:56@nedzadarek http://www.nvidia.com/coolstuff/demos
21:04https://www.unrealengine.com/marketplace/free
21:04Have fun ;-)
nedzadarek
22:23@BeardPower I mean voxel demo... and not something simple.
BeardPower
23:03@nedzadarek The Apollo Lunar landing demo is a voxel demo and all but simple.

greggirwin
00:50https://gitter.im/red/chit-chat?at=5b4ddace4b583a74a722359e that's absolutely beautiful to me @cryptowyrm.
03:10@BeardPower, wow, amazing stuff.
03:11@cryptowyrm live screencasting with code is *haaarrrrd*. Once you get practiced, it will seem so easy that nobody will realize that it's like a magician's trick.
03:12For just take 2, it's really good already.
03:17Screencasts like this are great, because you do so much with so little code, and see it progress, with a visual advancement at each stage. That makes it engaging for viewers. RED tokens will rain down on thee. (Oh man, we really *are* going to make that happen. I'm as anxious as anyone.)
hiiamboris
06:20should really use a better microphone though :)
rebolek
06:50Hm, I just got an email in Chinese where only thing I can understand is "RED Wallet". I wonder what it means.
gltewalt
06:50Means Red Wallet
06:51Copy/Paste into google translate.
rebolek
06:55I did it, it said that something doesn't work.
06:55Not sure why I got that email.
gltewalt
06:57Sent to only you?
06:57@greggirwin @BeardPower
rebolek
07:02It's froward from some Chinese address
BeardPower
09:30@gltewalt I did not receive an eMail.
cryptowyrm
09:40@greggirwin I haven't even really looked at the whole tokens concept yet :) I saw the ICO and wrote a few articles about it on Steemit while it was happening but the price of entry was way too high for me, so I didn't follow up on it after that, what they are intended to be used for besides voting on the direction you want the language to go in (like the governance model of the Dash cryptocurrency).
09:50@hiiamboris Is the sound quality that bad? Sounded remarkably good to me, but mabye my hearing is just getting bad :P I am just using an old webcam hanging off my monitor to record the sound, Logitech C510. The sound is miserable, but the screencasting software automatically enhances the sound after recording and removes all of the background noises for example, so in the final video it sounded really good to me, relative to not using a professional microphone of course. I have a USB mic lying around somewhere I could try instead, it's also a cheap (25 Euro IIRC) Logitech but back when I bought it people who record audiobooks on librivox said the sound quality of that particular model comes close to that of much higher quality entry level microphones in the $80 to $100 range.
iArnold
10:21> :point_up: [July 16, 2018 8:26 PM](https://gitter.im/red/chit-chat?at=5b4cd5559a612333aa682469) @iArnold BTW, your third sentence was as b.s. as the one you said it about. :smirk:

Yep, can really only state something about hard to combine with some view about being the center of the universe thought ;-)
And how does a flat earth combine with the fact that it is hollow??? ;-)

@BeardPower Yes Maxim started the celebrations already!
A lot has happened since, and even the simple GC has already been merged into master right? But this is only in the daily builds then or for the brave selfcompilers amongst us.
rebolek
10:23What's so brave on self-compiling? It's very easy and everyone should do it.
10:24Kids should be taught self-compilation in kindergartens.
10:25It would take about one minute to teach them.
iArnold
10:28Self-comtemplating yeah compiling no ;-)
rebolek
10:28why not?
hiiamboris
10:30@cryptowyrm Yeah man, becomes barely legible at times ☺. At least on that googledrive video. If I may suggest some ways of improvement of listening quality:
1) The mic is really bad. Plus you're speaking relatively quiet. With your low-pitched voice your vocal cords produce a very narrow range of frequencies at quiet volume. Plus the mic distorts it a lot. Plus strong reverb of the room. For voice you don't even need a condenser mic (although some of these are around $50 today), but at least a dynamic one is a must.
2) Work on your accent. I understand it's more comfortable to speak as you do, as different languages use different lung and tongue muscles, but I have a feeling you can do better ;)

I'm no screencast sort of guy myself, I don't have patience for those usually. But if I was, it would matter to me what I hear. And then if I like what I hear I might feel sympathetic and listen for a little while more, see what I mean? ;)
BeardPower
10:33@iArnold Ah, the one year anniversary!
10:35@hiiamboris Could you please link me the video you are talking about?
cryptowyrm
10:44@hiiamboris Sure, feedback is most welcome :) That thick German accent is only going away if I do this more :) The last time I spoke English (aside from a few short screencasts over the years) was in school. But it does seem to get better the faster I talk. That's also a tip I heard from German expats on YouTube. When Germans talk English slowly, they pronounce the words too much, there is no flow, no rhythm to it. In the other screencasts I did for the Learning Red guide, the accent is a lot more bearable I think because I just read the text so I can speak faster. As for the mic, I'll try to find the other one and see if it's any better. It might not be because it's a table microphone and you're supposed to speak up into a microphone not down into it to make it sound better, but we'll see :) If I keep doing the screencasts and they are popular enough I'll probably invest in a better microphone. I don't know what a dynamic mic is but I'll look it up, thanks! But yeah, talking louder is something I should try as well. I have problems talking to a computer, which is why I also don't use Siri & Co. Just feels weird, so that's also something that should get better with time after getting used to it.

@BeardPower He's talking about the first part of the screencast I'm doing for my Match 3 game: https://drive.google.com/file/d/1xqRCnT0rw2Ge66Md4qXr1IihTJt-MxxR/view?usp=drive_web
BeardPower
10:45@cryptowyrm Thanks.
10:46Speaking of a German accent: some people state, that it sounds like some Nobel price winner is talking. So much for that ;-)
10:47Put an orange into your mouth and start speaking: perfect American English :D
10:49@cryptowyrm https://www.thomann.de/de/mikrofone.html
10:50In the case of a dynamic microphone, a very thin diaphragm of mylar or other material is attached to a coil of hair-thin copper wire.
10:51Look at the Broadcast-Mikrofone or USB/Podcast Mikrofone. You should get some of those.
hiiamboris
10:56@cryptowyrm dynamic mic is the opposite of common speaker: the pressure hits the diaphragm, the electrical current comes out.
cryptowyrm
11:05@BeardPower Thanks, I'll check it out. The podcast microphones are probably the best to look at, better price range :) I think I heard some YouTubers mention the T.Bone model. That goes down to €50.
@hiiamboris Ah I see, that makes sense why it would sound better.
BeardPower
11:07@cryptowyrm Because t.bone is the in-house product from Thomann.
nedzadarek
11:55@iArnold @rebolek Compiling Red is kind of easy. I'm kind of "hate to compile person" but I managed to do this. Compiling other programs might be troublesome. For example with Idris I had to download the Haskel (~1GB) + the Stack (their module manager as fair I remember). I couldn't even do pre-compilation things. I wasted so many times doing different things and everything was for naught.
BeardPower
11:57@cryptowyrm Why are you using
mod index - 1 COLS
for calculating the x index? You can just use
index - (y * COLS)
, so you don't have to use an expensive mod.
hiiamboris
12:08must be very expensive indeed :)
cryptowyrm
12:23Didn't know it's expensive, I almost never use mod otherwise.
12:24I have to start doing some profiling anyhow to make the code a bit faster if it doesn't make the code too ugly, since I only get 38 frame on my computer, dropping down to 27 at times.
hiiamboris
12:24@cryptowyrm btw I get 38 too, always
12:25must be a magic number
cryptowyrm
12:25Do you have a fast graphics card? On Linux it's buttery smooth for some reason even on my integrated GPU.
hiiamboris
12:262 GTX560 cards
cryptowyrm
12:26Weird. I thought it's hardware accelerated. So it should be faster. It's not CPU bound, uses 30% CPU on my computer.
hiiamboris
12:27I have an idea, sec
12:28with FPS: 100 or 200 I get 63-64 on FPS meter
12:34up to 2% CPU time
cryptowyrm
12:34Curious. I don't think the FPS calculation is wrong, it just increases a counter for 1 second using now/time/precise and then stops and displays the result, so super simple.
hiiamboris
12:40look:
>> delta-time [i: 0  n: 25  view [box 100x100 rate n on-time [if n = i: i + 1 [unview]]]]
== 0:00:01.189
>> delta-time [i: 0  n: 50  view [box 100x100 rate n on-time [if n = i: i + 1 [unview]]]]
== 0:00:01.58
>> delta-time [i: 0  n: 100  view [box 100x100 rate n on-time [if n = i: i + 1 [unview]]]]
== 0:00:01.583
>> delta-time [i: 0  n: 200  view [box 100x100 rate n on-time [if n = i: i + 1 [unview]]]]
== 0:00:03.131
>> delta-time [i: 0  n: 400  view [box 100x100 rate n on-time [if n = i: i + 1 [unview]]]]
== 0:00:06.261
cryptowyrm
12:40My FPS stays the same when I set it to 200 FPS, just tried it.
hiiamboris
12:42it appears that the cost of on-time event is 6.26 / 400 = 15.6ms even though it doesn't load the CPU at all
12:43we're onto some big secret ;)
cryptowyrm
12:44Are you using stable red or latest build by the way?
hiiamboris
12:44July 5 build, *almost* latest
cryptowyrm
12:44I use the stable build, I'll try with a later one and see if there is a difference
BeardPower
12:45@hiiamboris This function is needed very often in a match3 game, so it should be fast.

@cryptowyrm Depending on the compiler optimization (we don't have any in R/S), it's using more cycles than a multiplication. A naive implementation is using DIV, which returns the quotient and the remainder, which is one of the most expensive operation on a CPU: http://www.agner.org/optimize/instruction_tables.pdf
cryptowyrm
12:46@hiiamboris Nope, no difference.
12:47@BeardPower I see, thanks! I'll change it.
hiiamboris
12:47oh I love that pdf, but @BeardPower we're *speaking of Red*, not R/S
12:47each token in Red is like 1000 R/S lines or so
BeardPower
12:47@cryptowyrm Red is not optimized for graphic intense stuff. Its using the a widget of the OS, which is slow compared to gobs.
cryptowyrm
12:48Yeah I read up a bit about gobs in the Rebol 3 docs a few days ago. They sound like a good idea.
BeardPower
12:50@hiiamboris The more important to not use mod. Still the Red mod is emitted as a DIV operation. It's easy to avoid it and it does not cost more time or decreases the readability of the code.
hiiamboris
12:51it's called preemptive optimization, right
BeardPower
12:51And now, each token is not like 1000 R/S ;-)
hiiamboris
12:51way off the bottleneck :)
12:51why not repeat y ROWS [repeat x COLS[ then?
BeardPower
12:51@hiiamboris I would not call this premature optimization, as it's just one operation, not some algorithm.
12:52This operation will be a bottle-neck, as it's one of the most called function.
hiiamboris
12:52@BeardPower FYI mod is not 1 operation, it's a whole mezzanine
12:53and a very glitchy one
cryptowyrm
12:53index - (y * COLS) seems to be wrong, now all the gems are falling through the bottom :P it has to be i - 1 - (y * COLS) That's the one downside of Red counting from 1, not 0. You have to do - 1 in some cases.
BeardPower
12:53> why not repeat y ROWS [repeat x COLS[ then?

For which task?
hiiamboris
12:53for his task obviously, so he won't convert i to x,y back
BeardPower
12:54@hiiamboris Yes, as I said. It depends on the implementation. You can do constant-based MOD fast with an add.
hiiamboris
12:54now we've come to the part where I'm interested :)
BeardPower
12:54@hiiamboris Because the structure is a one-dimensional array and he want's to use a single index because of convenience.
hiiamboris
12:55> constant-based MOD fast with an add.

this one
BeardPower
12:55It only works with powers-of 2.
12:56An optimized MOD is many multiply and shift operations.
hiiamboris
12:56> @hiiamboris Because the structure is a one-dimensional array and he want's to use a single index because of convenience.

repeat i (ROWS * COLS) [
        y: i - 1  / COLS
        x: mod i - 1 COLS
        append gems random-gem x y
    ]

do you really see i used because of convenience here?
BeardPower
12:56A division is just multiple subtractions as a multiply is just multiple additions.
12:58Sometimes you can approximate a half-square-root and a division by a magic-number multiplication.
cryptowyrm
12:58@hiiamboris The video implementation is a bit different to the one on Github. I use mainly the index but I also store the position as pair! in the gem object so that I don't have to calculate the index when I use foreach loops.
hiiamboris
12:58> It only works with powers-of 2.

can't you just use and then?
BeardPower
12:58@hiiamboris Yes, mod 4 would be just an and.
hiiamboris
12:59@cryptowyrm ok got it :)
BeardPower
13:01>repeat y ROWS [repeat x COLS[

This does not save much cycles as you still have two loops. The multiplication just unrolled one loop.
cryptowyrm
13:01I am thinking about getting rid of that though, storing the position in two places feels a bit hacky.
BeardPower
13:01@cryptowyrm Store it in one byte ;-)
13:024-bits for x and 4-bits for y -> will give you a board of 16x16.
cryptowyrm
13:05Nothing too complex, this is supposed to teach beginners Red :) I will probably create an optimized version with more features like powerups and maybe a few RPG elements in another branch to turn it into a real game, for when Android support is coming to Red. I've got three nieces and they love playing mobile games but match 3 games especially are huge money making schemes, they are among the most profitable games on app stores, filled to the brim with bogus in app purchases tailored specifically to making kids pay hundreds for a game that's worth 99 cent, so having a simple game they can play without all that crap would be nice.
BeardPower
13:05Or use 1 byte for each dimension and use bit-shifting. So you don't even need the divs and mods. THAT would be premature optimization ;-)
13:06Yes, and they have a lot of competition and clones.
cryptowyrm
13:07Yeah there are thousands. Really weird how popular it got.
BeardPower
13:08Well, I wouldn't call these games worth 99cents. They are worth 10 bucks. People just think that all mobile games should be free or should not cost more than 99cents because someone started that crap. How much do you pay for a movie ticket? 10-12 bucks, right? For 1-2h of entertainment. So a game should be worth a multiple than that ;-)
cryptowyrm
13:08That is true, yes.
13:09And according to the Angry Birds devs, they make more money with apps than with the 99 cent purchases.
BeardPower
13:09I am currently creating a game myself ;-)
cryptowyrm
13:09apps = ads
13:10What kind? If it's adventure, puzzle, strategy or RPG I'm interested :)
BeardPower
13:10Yes, King made 300million a year with all their games. They made money with ads, because they got so big, they ran their own ad campaigns you could book for your game.
13:11All the first three combined.
13:12I'm developing them with Haxe, as Red is lacking features for game development.
13:12No gobs, no sound, no 2D/3D engine and no full cross-platform support.
cryptowyrm
13:13Cool. Haxe I never tried, just heard a lot about.
BeardPower
13:13If it's coming with all the missing features, I want to move from Haxe to Red. Already moved from C++ to Haxe.
13:14It's great and tailored for games. You have plenty of supported platforms: about 12.
13:15I'm using http://kha.tech/. It also powers Armory3d: https://armory3d.org/
nedzadarek
13:1510$ for mobile games... nice joke.
BeardPower
13:15Unfortunately we cannot use Kha/Kore, as it's implemented in Haxe/C++.
cryptowyrm
13:16Yeah Haxe was the first language I saw that compiled to many different targets, I looked at it very briefly many years ago.
BeardPower
13:16@nedzadarek Of course. As I said: what do you pay for a movie? 10 bucks... nice joke.
13:16A movie is 1-2h of entertainment. It's always the same. A mobile game is not.
cryptowyrm
13:17@nedzadarek Apps used to cost a lot. On Mac they still do, although even there it's gotten harder and harder to make money with apps. And yes, even on mobile some companies still use higher prices, 5 to 10€ for games.
BeardPower
13:17What do you pay for a coffee again? 3-10 bucks? Nice joke ;-)
nedzadarek
13:17I could (I'm not buying games any more) for 1/4 - 1/2 of this price for pc...
BeardPower
13:18Show me where you can buy Battlefield 5 for 2.5 or 5 bucks.
nedzadarek
13:18Older games
BeardPower
13:18I'm not talking about older games.
13:19I'm talking about current games.
nedzadarek
13:19Some of the older games are much better than mobile games.
BeardPower
13:19So there you have it. An older mobile game is 99cent.
13:19And some are crappier.
13:20Just because it's a mobile game, does not mean it's cheaper or doable in less time than a PC game.
13:20Look at Apple. You can get the better hardware for half of the price.
nedzadarek
13:20@BeardPower sorry, but you can make a tetris in 10 years, but if's still suck I won't pay you 100$ because you used that many years.
BeardPower
13:21Still Apple is the most wealthy company in the world.
13:21@nedzadarek I am not talking tetris.
nedzadarek
13:21@BeardPower it was just an example. I want final product not your time.
BeardPower
13:22@nedzadarek You pay what it's worth. N64 games had a price of 100 bucks. NeoGeo even >300!
13:22@nedzadarek Yes, and just because the final product is a "mobile game" does not mean it's worth 99cent.
cryptowyrm
13:22The problem is that the customer doesn't see it that way anymore. The 99 cent price really did a lot of damage to the whole indurstry. I even had people say to me I shouldn't earn money with my app, it wouldn't be right. The app which I worked on 2 years full time, up to 20 hours a day. They just don't value software development anymore ever since this 99 cent craze.
BeardPower
13:23Exactly. Customers even think, that they have a right to receive game extensions for free!
cryptowyrm
13:23Open Source is probably also a culprit here, but on the flip side, open source gives you a lot of value as a programmer as well.
BeardPower
13:24Yes, and because of the 99cent crap and customers demanding FREE games, they got what they paid for: IAP and Ad galore.
13:24In the end they pay a multiple of 10 bucks for the game.
nedzadarek
13:25@BeardPower but can you make a mobile game that is with the same quality as pc version?
BeardPower
13:25@nedzadarek Absolutely!
13:26A smartphone today is VERY powerful. In fact they are more powerful than any PC running Crysis.
nedzadarek
13:26@BeardPower with the same resolution?
BeardPower
13:26@nedzadarek Sure. Smartphones even have 4k these days.
cryptowyrm
13:27My smartphone is faster than my PC :) Has 8 cores.
nedzadarek
13:27really?
BeardPower
13:27But that would not make sense. If you cannot see a pixel on 1k, you will not see it at 4k ;-)
hiiamboris
13:27Never played a mobile game. Can't see what's the fun.
cryptowyrm
13:28The only problem with mobile games is the controls. For PC quality titles, you need to use a bluetooth gamepad.
BeardPower
13:28@cryptowyrm Yeah, people want everything for free. Sure, they can have it: the companies just sell their personal data for bug bucks ;-)
13:29@nedzadarek What are you referring to? 4k or 8cores?
nedzadarek
13:29@BeardPower to resolution
BeardPower
13:29@nedzadarek https://www.extremetech.com/mobile/267555-sony-announces-xz2-premium-phone-with-4k-display-dual-camera-system
13:30Even 6k and 8k is planned: https://www.techradar.com/news/qualcomm-your-future-smartphone-screen-will-push-resolutions-to-6k-8k-and-beyond
13:31@hiiamboris Killing time ;-)
13:31@cryptowyrm Yeah, look at the Nintendo Switch.
nedzadarek
13:31Yeah... but it's only 5-6inch
BeardPower
13:32@nedzadarek That's why I said, that it makes no sense. The graphics itself would look the same as on the PC.
cryptowyrm
13:32@BeardPower I would, if I had the money! I nearly got one but bought a PS4 pro instead. Probably a good decision though, there just are no games for Switch because Nintendo screwed up, they didn't think anyone would buy it but then it turned out to be super popular.
BeardPower
13:32You don't have a monitor display with that much PPI/DPI as on the smartphones.
13:33@cryptowyrm PS4 pro? Oh no, the PS5 is coming out soon ;-)
nedzadarek
13:34@BeardPower no, with 5-6 inches you won't see that many pixels.
cryptowyrm
13:34I sold it a month ago, so no problem :P
BeardPower
13:34@nedzadarek You do, you just cannot recognize them, because they are so tiny!
13:35@cryptowyrm Good decision!
nedzadarek
13:35@BeardPower oh... that's the same. Don't pull on my words.
BeardPower
13:35Consoles are not the same as they were back in the days. It's just an expensive, crappy PC with vendor lock-in.
cryptowyrm
13:35But yeah I think I'll buy the Switch next. I bought 30 or so PS4 games but only really liked... 4 or so. They look great, but aren't great. Witcher 3 was the best game ever made of course, for that alone it was worth getting the PS4 Pro.
BeardPower
13:36@nedzadarek No, it's not the same. It's a difference, if the pixels are there but tiny or if they are just not there.
13:37It has the same amount of pixels as on the PC, so the graphics are identical.
nedzadarek
13:37@BeardPower the results are almost the same - you cannot see them.
BeardPower
13:37@nedzadarek You can see them. A 1k asset on a smartphone looks different than a 4k asset.
13:38The viewing difference is important.
13:38All but 16k per eye for VR looks crap.
13:39But 16k on a PC monitor looks mind-blowing.
13:39Anyway, if I had the choice between 1k + HDR and 4k without HDR I would always chose the former.
13:404k is just marketing talk.
13:40Meaningless.
nedzadarek
13:40@BeardPower I cannot see pixels on my laptop - I couldn't see it on much smaller screen.
BeardPower
13:40If I cannot see a single pixel on 1k, I cannot see them in 4k.
13:41@nedzadarek Exactly, so what is the advantage of 4k?
13:41If you cannot see "pixels" in 1k ;-)
13:41It makes no sense.
13:42Well, it makes sense if you are sitting 20cm in front of a 4k device.
nedzadarek
13:42so yeah, games wouldn't look the same
BeardPower
13:42They do, as your eyes cannot see the pixels.
13:43If pixels are so small, you cannot tell them apart, the picture would not look any different.
nedzadarek
13:43but you are looking at 5inch instead of 15-20inch.
rebolek
13:43it's not about individual pixels, but for example text would look certainly better
BeardPower
13:43If some microbe is on your hand, which you cannot see, why would you see a even smaller microbe?
13:44@rebolek Sure, but it would not look better if the already "invisible" tiny pixels are even smaller.
nedzadarek
13:44I get the feeling that we are talking about different things.
BeardPower
13:46I'm talking about this: you have a pixel of .1/.1mm. You cannot tell them apart on the display. It's a 1k display.
Now you have a 2x bigger asset: you have a pixel of .05/.05mm. You have no chance to tell these apart, because they are even smaller than the 1k ones! It's a 4k display.
The graphics WILL look the same.
13:47Even the asset is 2x bigger.
13:48You are only able to percept .1/1.mm pixels, so how on earth would you percept even smaller ones?
nedzadarek
13:48And I was thinking about mobile screen size vs pc/tv.
BeardPower
13:48Yes, it's the same as in my example.
nedzadarek
13:48OH, well.
BeardPower
13:48You cannot see the pixels on the smartphone and you cannot see the pixels on the pc/tv.
13:49Despite using a different resolution of the asset.
13:50If you are not able to see the pixels, how would it be different?
13:52Monitors/TVs have a PPI of 100-150 but smartphones have a PPI of 300-400.
cryptowyrm
13:52My life as a nerdy programmer sitting in a dark room in front of the computer all day has made me slightly near sighted, everything's a bit blurry, so I don't see pixels even on DVD resolution. I get anti aliasing for free, it's my super power.
BeardPower
13:52So the image on the monitor is even worse!
13:52That's why it needs so much bigger resolutions to look the same.
nedzadarek
13:52Yes, so you should pay less for less resolution on mobile phones because you cannot see the pixels.
BeardPower
13:53Why? So a PC game in 720p is cheaper than a PC game in 4k? I don't think so.
rebolek
13:53Yeah, we should pay only for pixels we can see!
BeardPower
13:53The new marketing approach!
13:53MORE PIXELS FOR YOUR MONEY!
rebolek
13:54MORE **VISIBLE** PIXELS!
13:54Nice, yuge pixels, not some fake invisible pixels.
BeardPower
13:54I will blow up the pixels of the game to 16k, so I can demand 2x the price than other PC games ;-)
nedzadarek
13:55@BeardPower not like this... you put everything in extremes. I mean you can see 4k... and much more on your pc monitor / tv but not the same on mobile phone...
BeardPower
13:55@cryptowyrm Captain Blur :-)
13:56@nedzadarek What "more" can you see in 4k?
13:57Bigger eyes without aliasing?
13:57More detailed hair?
nedzadarek
13:58whatever you can see, but you cannot see it on 5" screen.
cryptowyrm
14:015.6", phablet FTW! Nobody uses phones for calling anymore anyhow. Just messaging.
BeardPower
14:01https://www.cnet.com/news/why-ultra-hd-4k-tvs-are-still-stupid/
14:03@cryptowyrm I bet there are some people out there, who do not know, that they can do phone calls with their smartphone ;-)
cryptowyrm
14:04Yeah, at most face time, which has become a verb as well.
nedzadarek
14:06@cryptowyrm old people don't like messaging. You need to talk to them. :(
cryptowyrm
14:08True. I prefer messaging as well, but I always did even back in the ICQ days.
BeardPower
14:09Oh-oh.
nedzadarek
14:09what?
BeardPower
14:09The ICQ sound: Oh-oh! ;-)
cryptowyrm
14:09Although I think my father who is 70 uses WhatsApp more than me nowadays.
BeardPower
14:09https://www.youtube.com/watch?v=6iCPIUGnHQ8
cryptowyrm
14:10Haha right I forgot about that sound
BeardPower
14:10Or is it Uh-oh? :-)
14:12My ICQ number is 8 digits ;-) Was an early adopter.
nedzadarek
14:12@BeardPower It reminds me of old games about balls. It had similar sounds when you cannot move balls.
cryptowyrm
14:12And supposedly young people are leaving Facebook in droves because so many old people join now. They start to adopt the technology more to stay in contact with their family.
BeardPower
14:13@nedzadarek Speaking of moving balls: Marble Madness :-)
cryptowyrm
14:13I don't even know how long my ICQ number was but I probably still got it saved somewhere, I've never thrown away a hard disk in my life.
BeardPower
14:14So this is how to get rid of FB.
14:14@cryptowyrm Me neither, as long as it worked.
nedzadarek
14:15@BeardPower not like this, something like @cryptowyrm 's game... but I'm not sure, it was long time ago.
BeardPower
14:15I see.
cryptowyrm
14:17Hmm I can only think of lemmings which made that sound when the bridge builder ran out of bricks
BeardPower
14:18HAHA! Exactly.
14:203...2...1...Uh-Oh!
nedzadarek
14:20It might be this, but I cannot run it on win 8.1 https://chomikuj.pl/ricciotto/gry/kulki,266261011.zip(archive)
14:20Click "pobierz"
BeardPower
14:23Cannot run on Win10.
cryptowyrm
14:25oh right it wasn't the bridge builder it was the self destruct. Man now I have to play lemmings again :)
14:25I'm on Android so can't either
nedzadarek
14:25it was from 95... so yeah
cryptowyrm
14:28There were some great games in 95. There was this one called Windows were you have to work for hours and then a blue screen would tell you that you
14:28Have to start from scratch
BeardPower
14:30Yeah, the bridge builder was just shrugging his shoulders.
14:30A lot of time went into playing Lemmings, that's for sure.
14:31Unfortunately I'm forced to use Windows.
nedzadarek
14:31Some old games had this feelings.
cryptowyrm
14:32Yeah was one of my favorite games on the Amiga, together with worms and all the Lucas arts adventures, Golden Axe, some Navy seals game. All the US Gold stuff.
14:34I'm on Windows 10 too for the moment, it's pretty good. They now added a black screen. It's like the blue screen but without the error message. No joke :) but no, it's quite usable for a Windows. Still prefer macOS and Linux though
BeardPower
14:37Speaking of Amiga: did you look at Tower 57?
14:38Black screen lol. Yeah, it's "usable" after all these 30 years.
cryptowyrm
14:38Haven't played it yet but I've seen screenshots, looks cool.
BeardPower
14:38I prefer *BSD.
cryptowyrm
14:41I prefer the BSD ideology, but I've never used one. I tried FreeBSD once but didn't work well. I'm pretty happy with both Arch Linux and Ubuntu depending on the needs / time. Right now I've got Manjaro installed, GNome version. Really impressed, great way to get into Arch Linux. Although Arch isn't that hard, took me 45 minutes to install the first time. Gentoo took me a weekend at least
nedzadarek
14:42@cryptowyrm but I think most pc have "auto-restart" after BSD.
cryptowyrm
14:46Auto restart after BSD? Are you talking about the blue screen of death now or the Berkeley software distribution? :) Too many BSDs, it's getting confusing! :D
nedzadarek
14:47on old windows 8.1 and below
14:47blue (or other color) screen of death
BeardPower
14:49I used Slackware and Arch (after trying all kinds of distributions). I was a big fan of BeOS/Haiku.
14:50We NEED Red/OS!
cryptowyrm
14:53I started on Amiga 500, then Dos, briefly Windows 3.1, then os/2, Windows 95 through XP and then I stayed with macOS for the most part, there I started with 8.6. BeOS I sadly missed completely, haiku is really cool so I would have liked it for sure.
hiiamboris
15:16@cryptowyrm I've found it! The BIG secret! :D
15:16https://github.com/red/red/blob/ffa4044bd9b0d83c3aa6e2ed0405cafd0de46c3f/modules/view/backends/windows/gui.reds#L2059
15:17quoting https://msdn.microsoft.com/en-us/library/windows/desktop/ms644906%28v=vs.85%29.aspx
> If uElapse is less than USER_TIMER_MINIMUM (0x0000000A), the timeout is set to USER_TIMER_MINIMUM. If uElapse is greater than USER_TIMER_MAXIMUM (0x7FFFFFFF), the timeout is set to USER_TIMER_MAXIMUM.

so it's waiting idle for 10ms (0xA) between timer event checks
15:18
>> (FPS: 60.0) ** -1 + (delay: 0.01) ** -1
== 37.5

exactly the 38 fps we're getting
15:19@greggirwin can we do smth about it? :point_up_2:
15:29On my W7 for example, a call to Thread.yield() returns in 140ns, that's 7M times per sec. Getting system time operation is at least 10 times faster. So, a yield()/time() loop would be both realtime and resource free. A sleep(1)/time() loop will take 0.014% of 1 CPU core. What am I missing?
ne1uno
15:47doesn't windows have a 10ms minimum timer latency
15:47is that gone in later versions? maybe it was for backward compatibility?
hiiamboris
15:48@ne1uno winXP does, although configurable up to 1ms
15:49but SetTimer is a remnant of what? win95 or smth? :) oh it's W2K!
15:49I think backward compatibility makes sense
ne1uno
15:51or could be you can't depend on catching events any quicker? it's not a realtime OS
hiiamboris
15:53well, a lot has changed since
BeardPower
16:23The minimum value for the Windows timer is 10ms, yes.
16:29https://docs.microsoft.com/de-de/windows/desktop/Multimedia/about-multimedia-timers
16:30https://social.msdn.microsoft.com/Forums/en-US/8aea13d9-35f1-4b66-a5b4-726651d985f7/how-to-set-timer-resolution-to-05ms-?forum=netfxtoolsdev
16:30https://stackoverflow.com/questions/3744032/why-are-net-timers-limited-to-15-ms-resolution
hiiamboris
16:54@BeardPower the 1st link basically states that you get 1ms out of the box with CreateWaitableTimer()
16:56personally I don't see why bother with timers at all if you can call Sleep(1) to the same effect when there's no events in the event loop
cryptowyrm
17:11@hiiamboris Interesting, good find! That probably explains why the animation is so buttery smooth on Linux, I'm guessing timers don't have that limitation there.
rebolek
18:28@cryptowyrm
> I don't even know how long my ICQ number was ...

Funny, I still remember my ICQ number, even if I haven't used it for at least 10 years, it's 646 70 666.
cryptowyrm
18:29Mine was pretty easy to remember too, I probably remember it a week from now, very suddenly because now I'll keep thinking about it! :)
rebolek
18:30I don't remember the password thought, so it's pretty useless.
cryptowyrm
18:34You mean it still exists??? I thought it went away. I remember switching to Yahoo and then MSN and later Skype.
18:37Google also had a cool one for a time, called Hello. Displayed pictures in a timeline in the conversation. But of course, since it's Google, the project was put on ice quickly.
gltewalt
18:38ICQ is a gateway drug to IRC
cryptowyrm
18:41Programming (used to be) a gateway drug to IRC too. Seems to now be going away though, everyone's moving to Slack & co.
18:44By the way, is there still a way to get into AltMe? I've still got my account for the Rebol3 world, I'm not sure I still have the password but I got the installation folder saved and that logs in automatically, but never got into the Rebol4 world which is the current one I believe.
gltewalt
18:47Never tried AltMe. I saw Rebol breifly before noticing Red.
18:47I started with Red besides a few short examples with R2
cryptowyrm
18:50I got into Rebol a bit over a decade ago IIRC. But I only used it on and off, back then I wanted to create native GUIs and Rebol couldn't do that. But I always came back to writing little Rebol and later Red scripts over the years to automate tasks, I always loved the idea of the language, especially VID and PARSE.
BeardPower
18:54@rebolek 21363365 ;-)
cryptowyrm
18:55I don't even remember how I stumbled on Rebol. Maybe through the Haiku community. Or the Amiga community since I was checking out Amiga hobby OSes at that point as well. And I think I then went to Clojure, because Rebol made me check out Lisps. But it was too long ago for me to remember :)
BeardPower
18:55@hiiamboris Sleep does not free the CPU. It's waisting cycles, a timer does not.
18:56@cryptowyrm Yes, the timers on *NIX are more fine-grained than on Windows.
gltewalt
18:57They tricked me with super short solutions for basic things, like reading in and saving a web page
cryptowyrm
18:58Yeah the one liners are quite appealing :)
hiiamboris
18:58> @hiiamboris Sleep does not free the CPU. It's waisting cycles, a timer does not.

@beardpower you're plain wrong ;) try it
loop 10000 [wait 1e-3] in Red, watch the CPU load (wait calls Sleep)
moreover, using a timer implies you should yield your thread time slice to trigger the timer event and that means you can't get the 100% core load (maybe the OS scheduler will mitigate that but it needs testing)
gltewalt
18:59Then you find out that this little pond is 300 meters deep
cryptowyrm
19:00That I'm only finding out now that I'm getting deeper into Red. I didn't even understand words and bindings before, I stayed at a very high level. Which worked fine for most things. When I'm done writing my Red guide I plan to cover Red/System as well to get a bit lower level. I haven't written C level code since school, so that'll be very interesting.
19:01Oh save for a brief excursion with C++ and Haiku, wrote two little apps for it, a YouTube downloader and a Twitter client, both using libcurl so nothing fancy.
BeardPower
19:19@hiiamboris https://stackoverflow.com/questions/7971671/whats-the-most-cpu-efficient-way-to-waste-time-in-a-thread
rebolek
19:19@cryptowyrm I've never used Slack, but I'm on IRC daily.
19:21Actually I was setting up IRC bouncer just yesterday :)
cryptowyrm
19:21I used to but haven't used IRC in many years. Neither anything else though, I tried to stay away these last few years because it's such a huge time sink :)
BeardPower
19:22@hiiamboris lets rephrase it: waisting CPU cycles by not using them.
19:22https://stackoverflow.com/questions/31383064/how-cpu-handles-sleep-function
hiiamboris
19:23> having a thread sleep would not make it more efficient. It would simply yield processor cycles to other threads.
19:23from the 1st link
BeardPower
19:24I'm not talking about a thread sleep. I said that using timers is more efficient than putting a CPU on sleep/thread on sleep.
hiiamboris
19:25how so it's more efficient?
BeardPower
19:25A CPU and especially a GPU needs to stay hot. Thread switching/task switching is awful.
19:27Putting a thread to sleep could make your program more efficient, it the thread needs to wait. So it depends on the problem.
19:27Threads are crappy on Windows. It's using 1MB stack-space per thread. Erlang is only using a few bytes.
hiiamboris
19:30So what I'm proposing is like this:
1) check the event loop and:
1a) if some timers are expected to be triggered in 0.5ms time - trigger those and schedule their next time
1b) otherwise call Sleep(1) to skip 1ms
Thus if the load is heavy 1a gets triggered always and you get 100% core load, otherwise up to 0.014% if it's idle

With timers you get a yield() regardless if you want it or not, so 100% is unachievable, at least that's how I see it
BeardPower
19:30By "does not free the CPU" I meant that it's waisting cycles buy yielding, finding a thread, which is not waiting, house-keeping, context switches. Of course you are correct, that it's not blocking the CPU. Sorry for the bad wording. Monolithic Kernels are crap and they was a lot of cycles if you yield and do context switches. There are better solutions, which don't have this issues. A yield or a "context-switch" takes the cycles of a function call.
19:36Preemptive vs. Cooperative multithreading are also very different in performance, depending on the architecture. Threads are just a software thing. The CPU does not have a concept of threads. We suffer from the old thing: bloat.
19:41The hardware is just sending an interrupt, so no need for yielding your thread time slice to trigger the event, because you may don't even have the concept of threads.
19:44@hiiamboris If you get a yield depends on how your OS is implemented. Maybe you don't have any threads and just use each Core for one task.
19:45X86 wastes a lot of cycles on branch prediction, it's all but efficient.
hiiamboris
19:46hmm perhaps you're right then, maybe no yield() will be there
19:48meanwhile I enhanced now/time/precise on windows to 100ns precision... gonna make a PR
might take years though before it gets accepted :)
BeardPower
19:49We need Red/OS ;-)
19:50Why would it take years?
pekr
19:51Maybe the precision was limited for a reason? Just a speculation on my side, though .....
hiiamboris
19:54it was limited because they were using the limited API function GetSystemTime
it's sort of.. weird though, as it still reports time to my thread at 1000-ns granularity
however the nanoseconds do change when other threads get a slice, so it's still better for profiling
19:58> Why would it take years?

doesn't look like anyone's even looking at PRs :)
they're just hanging there
ne1uno
20:00is that another place an Xp compile will fail?
hiiamboris
20:11@ne1uno no, just checked, XP is OK
ne1uno
20:13thank for checking. I assumed it was probably ok, but win95 would have a problem, http://www.swagbucks.com/p/offer-page/?id=3919 one of the comments here said chrome went to 1ms timer but it caused problems.
20:15sorry,, multitasking https://blogs.msdn.microsoft.com/oldnewthing/20170921-00/?p=97057
hiiamboris
20:24damm GH is giving me some headache
20:24what a moronic system
BeardPower
21:33@hiiamboris Yeah, the PRs for the wallet are unnoticed, it seems.
21:34GH is now Microsoft, what did you expect? ;-)
21:34Out with the great, in with the crap.
21:35Just joking. It's not that bad, but I hate git itself.
hiiamboris
21:37all those reflog rebase I have not the slightest what they're doing
21:38fixed my problem by randomly trying commands from stackoverflow :D
21:39the solution was git fsck --lost-found
BeardPower
21:50Reference logs, or "reflogs", record when the tips of branches and other references were updated in the local repository.
21:51git-rebase - Reapply commits on top of another base tip
21:51I recommend trying this: https://learngitbranching.js.org/
cryptowyrm
21:52https://imgs.xkcd.com/comics/git.png
hiiamboris
21:52:D :D :D
cryptowyrm
21:55Are there any other cool VCS right now? I tried Fossil a few years ago and quite liked it. But I have no problems with git either since I don't do anything fancy with it. Just branch, rebase, merge, commit, stash, push, pull. So the very basics you can do from a GUI like GitHub Desktop as well.
hiiamboris
21:56> I recommend trying this: https://learngitbranching.js.org/

@BeardPower thanks, I'll try it
BeardPower
22:01@cryptowyrm I'm using https://pijul.org/
cryptowyrm
22:02Cool, thanks! I always wanted to look into darcs, this seems to take ideas from that. Distributed and censorship resistant is nice. Giant problem with GitHub. The whole open source world is now in the hands of one company.
hiiamboris
22:04pijul didn't even run for me on W7
22:05said os error 123
BeardPower
22:07@cryptowyrm Yes, they fixed the issues of darcs. I fear that GH will have the same fate as Skype.
22:08 Operating system error 123(The filename, directory name, or volume label syntax is incorrect.)
hiiamboris
22:09the command was pijul init so whatever is incorrect there I will never know
22:11it does create some files, like version containing 0.9.1 while it reports 0.10.0 from command line
22:11very poorly written piece of software if you ask me
cryptowyrm
22:12@BeardPower We'll see. Microsoft has changed quite a bit over the years. All of the big tech companies have. Now Microsoft is seemingly getting better while the others seem to be getting worse and worse.
BeardPower
22:16Sure, but they still are executing the same tactics as in recent years.
22:17They just have more serious competition so its not that easy as it was to shove everything down your throat.
22:19@hiiamboris it's still in early beta.
cryptowyrm
22:21Could be that it's just competition :)
nedzadarek
22:22@BeardPower MS has competition - where?
cryptowyrm
22:22But I guess it's also a bad idea to generalize. These companies are so huge, they are more like a hundred smaller companies. And some of those might be really bad, while others are actually quite cool.
BeardPower
22:23Just look how they tried and failed with smartphones. How they try to do the same as Apple with UWP and their appstore.
nedzadarek
22:24Ah, I thought you mean OS'
BeardPower
22:24@nedzadarek smartphones and consoles, business apps, servers.
cryptowyrm
22:24Yeah, they aren't competing on Desktops of course. But mobile, web hosting, consoles and even office. Google Docs must have terrified them.
BeardPower
22:24@nedzadarek no, no. They will have with Red/OS :smile:
nedzadarek
22:24haha
22:25smartphones and stuffs - they tried/are trying new stuffs but it's not like it's their forte.
BeardPower
22:25@cryptowyrm Yes, some subsidiaries are awesome.
cryptowyrm
22:26@nedzadarek Not anymore, because they completely lost that field. But they tried. Hard. Even bought Nokia.
22:26Oh and I guess one should say they are also competing on programming languages.
BeardPower
22:27Their hardware products are nice, though. I'm still waiting for the rebirth of their trackball!
cryptowyrm
22:27And now text editors with Visual Studio Code Vs. Github's Atom. That one came as a huge surprise because it was so good right from day one.
22:28I think I've read a week or two ago that they are going to produce peripherals again
22:28Not sure if it was mouse or keyboard or both, but I definitely read that
nedzadarek
22:28@cryptowyrm wasn't it hard? I thought they could afford buying companies like Nokia for "things".
cryptowyrm
22:28True :)
nedzadarek
22:28what was good? Atom?
BeardPower
22:28Yeah, VSC is nice, if it wasn't that Electron bloat.
cryptowyrm
22:29No, Visual Studio Code. From day one. It came out of nowhere and had as many features as Atom from day 1. And in some areas even surpasses it now.
BeardPower
22:30They already produce mice and keyboards.
cryptowyrm
22:30I don't remember the details, I am a scatterbrain, but the article said there were these really popular peripherals Microsoft used to make but stopped selling them years ago and now they'll start making them again.
nedzadarek
22:31Are there VSC plugins for Red/Rebol? I'm looking for alternative for Atom (ok keys but takes too much MB)
cryptowyrm
22:31Yes, the VSC plugin for Red is much better than that for Atom because I've made the one for Atom :P
nedzadarek
22:31Shameless advert.
cryptowyrm
22:32It's Red only though, Atom is Rebol & Red.
BeardPower
22:32Ah, they build a mouse/keyboard for Xbox with Razor.
22:33@cryptowyrm Interesting. Please link the article, if you find it again.
nedzadarek
22:33@cryptowyrm hmm... I think I'm using Rebol's + no completion on '
BeardPower
22:35We don't need an editor, because we have the GUI console, which is based on Draw.
cryptowyrm
22:35I only converted Christoper Ross Gill's (if I remember the name right) TextMate plugin to Atom, so I literally did nothing but write a single line in the command line since Atom converts TextMate to Atom automatically. There was no plugin for Atom at the time, so I tried it out and it worked :)
22:37I still use Atom for Clojure development, support in VSC isn't as good yet. In Atom its super advanced. But for everything else I've switched.
nedzadarek
22:38@cryptowyrm right, it's your code https://atom.io/packages/language-rebol
BeardPower
22:41Found it: https://newatlas.com/microsoft-classic-intellimouse/55213/
nedzadarek
22:41In config.cson I added autoCompleteCharaccters so it won't match ' like in lit-word! (e.g. 'foo):
".rebol.source":
  "bracket-matcher":
    autocompleteCharacters: [
      "[]"
      "{}"
      "()"
      "<>"
      "\"\""
    ]
  editor:
    scrollPastEnd: true
    showIndentGuide: true

22:41btw. thank you
cryptowyrm
22:47Thank ChrisRG since I really didn't do anything, was all Atom's automatic TextMate conversion :) I wanted to get into programming Atom extensions but never foun the time. If you want to make some pull requests or even take over the repo (or anyone else here) I'd be happy to merge them or give the repo up since I never did anything with it myself.
BeardPower
22:49Better create console plugins ;-)
nedzadarek
22:49@BeardPower I'm waiting for working .64 version
BeardPower
22:50@nedzadarek That could take a while.
22:50But maybe come faster than expected.
nedzadarek
22:52@cryptowyrm I'm busy with other stuffs.
@BeardPower I'm not sure if we should do plugins for .63. I made one or two but I heard new console will have much more features so I don't want reinvent the wheel.
BeardPower
22:55Sorry, I thought that you were talking about a 64-bit version.
22:55Yes, plugins for the new Draw based console.
cryptowyrm
22:56Yeah that one might have to come sooner since macOS is dropping 32 bit support.
nedzadarek
22:59I bet Tomas from /gui chat will make some beautiful things!
cryptowyrm
23:00He's doing some crazy cool things.
nedzadarek
23:01He has even whole wiki page for his work... thought it has wrong name.

greggirwin
06:23On PRs, there are 816 closed PRs. We do not ignore them. Some have been there a long time, yes. For those, we could just close them after a time, but we try to have a resolution for them.

It's tough, because we want people to contribute, really we do. But if it's not an easy, clean, clear fix, it can be hard. We understand not everyone will want to ask before doing work, but that can help a lot, so people don't work on something that we're not sure is a fit, which may cause it to sit there for a while.
hiiamboris
09:02@greggirwin great!
@BeardPower may I ask you :)
When a timer interrupt happens, how does the control flow go into my callback provided for that timer? Does it work like a stack of CS:IP values, that is appended to every time it gives control to my program when an interrupt happens while it was executing? So if my timer proc takes 2ms and interrupt happens every 1ms will it cause the stack to grow indefinitely?
Or is it done in some other way? Maybe it won't call the timer if the previous call to it didn't return?
BeardPower
09:21The Kernel will clear the interrupt. Your ISR should be as fast as possible. If the interrupt is not cleared, you would get stacked interrupts and you would overflow the interrupt stack.
09:24Yes, the OS has it's own interrupt stack, which will give control to your ISR (an ISR is the same as a callback, but on a lower level).
09:25While your ISR/Callback runs, the interrupt is cleared. When the ISR/Callback returns, it will enable interrupts again. Interrupts from different hardware are not lost, because the interrupt controller will store and manage them.
09:26The stack would grow indefinitely if you do not clear the interrupt and your ISR will not be called. You would have some infinite loop.
hiiamboris
09:29I see... That explains why
>> delta-time [i: 100 view [base 100x100 rate 100 on-time [wait 3e-2 if 0 = i: i - 1 [unview]]]]
== 0:00:03.047

does not cause any overflow, just takes 3 secs instead of 1
09:32So it's like this then: if I set up timer to tick on every 1ms and my ISR takes 1.1ms, then it will be called every 2ms since on every other tick it's busy and interrupt flag is cleared. And I get 1.1/2.0 = 55% of CPU core loaded. Right?
BeardPower
09:35Yes.
hiiamboris
09:37Thanks!
cryptowyrm
09:46Re-recorded the Match 3 screencast with the slightly better microphone, it's also 2 and a half minutes shorter now, I'm getting better :) I'll upload it after it has finished encoding. Would be cool if you could give it a quick look again @hiiamboris to see if it's improved now. But doesn't have to be today, I'm not going to start recording again before tomorrow :)
BeardPower
09:54Your ISR should not be slower than the period between interrupts (in a perfect world).
09:58https://www.freertos.org/FreeRTOS_Support_Forum_Archive/May_2012/freertos_What_happens_if_a_isr_is_too_long._5246159.html
10:04https://books.google.at/books?id=dY25RaFVM9oC&pg=PA39&lpg=PA39&dq=isr+slower+than.interrupt&source=bl&ots=bALG7Hml0G&sig=-0aaqYr9r-R0MV2rrK5weLKxFqg&hl=en&sa=X&ved=0ahUKEwi2qOPE9KrcAhXC0aQKHeuhC984ChDoAQgdMAg#v=onepage&q=isr%20slower%20than.interrupt&f=false
cryptowyrm
10:20Here's take three of the Match 3 video : https://drive.google.com/open?id=1GVVmRcJ0dQWM1wqiol9jyp6wO8Y0jHzT
And for comparison, the older second take: https://drive.google.com/open?id=1xqRCnT0rw2Ge66Md4qXr1IihTJt-MxxR

I think I actually perfer the old version for some reason. But I guess I can't really judge it since I know my own voice so I understand myself much better than someone else would :)
hiiamboris
10:58@cryptowyrm Yes the mic in take 3 has a noticeably better frequency response.
cryptowyrm
11:02There is some kind of fabric covering the microphone hole (yes, that's the professional term for it, microphone hole, I'm an expert) so it would at least do a better job at filtering the input a bit. The problem is, since the mic is on the table, it picks up vibrations and things like that. It's also five times closer to my face so it picks up creepy breathing sounds. I'll have to see if I can duct tape it to my monitor or something like that :P
hiiamboris
11:04The fabric is called "pop filter". It shields from the wind/breath, right.
cryptowyrm
11:05Ah yeah that might be it. I've only seen pop filters as these big round things you can attach to microphones (again from my professional experience as a watcher of YouTube videos), but maybe it's integrated here.
hiiamboris
11:06Yeah, it depends. You can use 2 filters - one ring-like, one covering the mic, for best output. But in your case it's pointless
BeardPower
11:08@cryptowyrm Did you buy a new mic?
hiiamboris
11:09@cryptowyrm As a vibration shield you can put the mic on top of some soft surface, like soft foam rubber or smth.
cryptowyrm
11:10@BeardPower No, I had this one lying around, it's years old. I used my webcam before, Logitech C510. This one is also a cheap Logitech, but microphone only not a webcam and people in the Librivox (public domain audio books) community said it's supposedly nearly as good as higher quality mics in the $80 to $100 range, even though it only cost €25 I think.
hiiamboris
11:12I wouldn't back the words of those people, but it's certainly better. It at least doesn't sound like you're talking into a tube :)
cryptowyrm
11:12@hiiamboris Yeah I'll have to try and find something like that. I know I had some soft foam from the packaging of a graphics card once but I probably threw it out when I moved.
11:13Well it also was something like 10 years ago, low cost microphones have probably gotten a lot better since then :)
11:14Since technology gets cheaper all the time.
gltewalt
20:38What’s the best car company in Germany, according to Germany?
20:41Grab a cushion or pillow that the mic won’t roll off of (or slide off of)
20:42Frankly if you have an iPhone or good smartphone, I’d just film with that
20:45Good old screen flicker
20:49I’ve not done video production really, but I’ve done audio production (producing and engineering music)
cryptowyrm
20:52I know absolutely nothing about cars, but I'd say it depends on who you ask, either Mercedes Benz or BMW. I think Mercedes is probably the bigger status symbol. My opinion about cars is the same as my opinion about fiction. Why use a sword (fantasy), if you could use a light saber (sci-fi)? Why use a car, if you could use a motorcycle? :)
gltewalt
20:54Just curious as to what Germans and Austrians think. I imagine VW is most common?
cryptowyrm
20:57Unless it's a Delorean of course, I'll make an exception there. But you can hardly call that a car because apparently it's not that good at general car things like being able to open the door (super interesting to read through the trivia section on IMDB about all the troubles the Back to the Future makers had with the Delorean).
Yeah VWs are the most common, since VWs are cheap. I mean it's in the name, "Volkswagen", the car of the citizens.
20:59According to a study, most sold cars in 2018 are VW followed by Mercedes, Audi and BMW.
nedzadarek
22:37@cryptowyrm why use cars/motorcycles when you can ride a bike? It's healthier. Joking aside, swords (or any other traditional-looking melee/white weapons without any sort of energy, magic etc) can be used where you cannot use guns or energy-based weapons, for example in flammable place. What about battery for that ~~light-hearted~~light-saber? You assume that it has huge capacity or can recycle using some weird method.

BeardPower
00:24@gltewalt Mercedes. The best or nothing ;-)
00:27@cryptowyrm I would not call the premium models of VW cheap ;-)
00:28@nedzadarek Funny thing, the light-saber is an energy-weapon ;-)
00:29The light-saber has a crystal emitting plasma-like energy.
00:41The power cell can last a decade and be recharged pretty fast.
cryptowyrm
00:54I'm suspicious about bikes. It's not really a vehicle. The power source is YOU. You are the motor. I don't want to be a motor. And what's next? Eating vegan? Where does it all end?
00:55Also, my computer just ate itself. Now I'm stuck on a Chromebook without Windows. Now I wish the Red GUI for Linux was further developed :)
gltewalt
01:03Reboot!
cryptowyrm
01:08The universe is going down for a reboot.
01:08Blip, blip, blip.
01:08Please insert disk 217 into drive a:
greggirwin
01:58@cryptowyrm, when you sign on to become our podcast/screencast expert, @gltewalt and I will help get you all set up. :^)
rebolek
07:06@cryptowyrm I love to be a motor (on short distances). And when I'm a motor, I need power, so I need meat. Fragile vegans can vegetate in their cars, we cyclists need all meat we can get!
BeardPower
08:28@cryptowyrm Time to bring up Red/OS ;-)
ne1uno
08:31did Carl ever publish his rebol OS?
08:31that would be a good head start
BeardPower
08:32@ne1uno No, just some posts about it.
08:32There was no code or specs/docs.
08:35I gathered some ideas myself, though.
cryptowyrm
09:37@greggirwin First I need to get Red GUI working again :) I'll have to try running Red through Wine to make the screencasts for now.

Just opened my computer to see what the problem is. Apparently, a little piece broke off the blue CPU socket which holds the cooling block and fan in place over the CPU, so it's completely loose now and CPU might be dead from overheating. I've never seen anything like it, no idea how it broke off suddenly. So for now I'm stuck on the Chromebook. That was the best investment I ever made, €170, it's many years old now (Acer C720) but it just keeps on working. Best emergency notebook ever :) Just wish the European version had as much RAM as the US version, this one has only 2 GB.
09:39Was Rebol really supposed to turn into a whole OS? I watched a ton of really old Red videos over the last few days that I found on the Software Freedom Day channel. Kaj mentioned that, but that was the first I ever heard of it. I never got into the whole Rebol/IOS stuff though, I guess that was also part of that idea, a networked OS with distributed apps?
hiiamboris
09:59the idea was seemingly born when Windows 95 took over the market :)
cryptowyrm
10:02I was on OS/2 at the time. When I finally switched to Windows 95 the most compelling feature was the cool hover tanks game it came with :)
hiiamboris
pekr
10:25Rebol, back then, when it was initially called LAVA, was supposed to turn into a MagmaOS
10:27Later on, during the R3 project, Carl mentioned, that he is thinking about the Rebol OS again. This time, it was supposed to be called Wildman
cryptowyrm
10:37@pekr Cool, thanks for the info! I love learning about the history of programming languages I work with. Looks like there is a Lava programming language now, I assume that's not the same though, seems to be a visual programming language: https://en.wikipedia.org/wiki/Lava_(programming_language)
I heard Carl is even thinking about doing a Rebol 4? Although that might have been an april fools joke. I've started going through the stack overflow Rebol and Red chat to find out a bit more of the development progress over the years, but there is so much text to wade through :)
pekr
11:10Yes, LAVA is a different language nowadays. Back then, it was some nVidia technology. As for Rebol, it represented an acronym for: LAVA = Language for Audio and Visual Applications, as Carl claimed, that "multimedia is his second name". Sadly, Rebol was never properly accelerated, nor supported smooth animations or advanced audio ....
cryptowyrm
11:22Ah interesting. I guess that's another one of those Amiga influences :) The multimedia machine. Thinking back it was really weird seeing the move from Amiga to IBM PC. The sheleves in stores were full of Amiga games and then every week you could see it shrink down until finally it was a small corner in the store and everything else PC. And the PC wasn't as good as the Amiga. It just wasn't. It felt like taking two steps back. My first PC came with Novell DOS 7, which didn't even work. The guy in the store had so many issues with it he just started giving out pirated copies of MSDOS 6 to replace Novell DOS when customers came with problems.

Yeah audio is something that is still missing from Red as well. Since I do plan to go really deep with Red, I'll have to look into using Red/System and bindings to fill in some of the missing gaps in the meantime. I've stayed very high level in my programming career. I learnt the lower C level stuff in school and took some courses after that but that was a very long time ago so I'll have a lot to learn. But I think it's going to be a lot more fun doing that with Red/System compared to C/C++ :) Although I will read through a C book as well, just to make sure I at least remember the basics.
BeardPower
12:11@cryptowyrm More fun in the sense of "easier to code", but the shooting in the foot hurts the same ;-)
cryptowyrm
12:18@BeardPower True :) But shooting yourself in the foot can be very powerful. You could make the same argument about Rebol/Red and mutable data structures and gradual typing. If we take the extreme at the other end, Elm, it's so hard to shoot yourself in the foot with it that you have to write JavaScript and talk to it through ports to do anything meaningful because Elm itself just can't do it.
12:22Interesting, got Red running in wine now and tried my Match 3 game. I get 60 FPS there, not the capped to 38 FPS due to timers I get on Windows 10. But only if I disable pictures and use draw directly, otherwise I only get 9 FPS :) https://imgur.com/a/dVTFAIh
12:24But circles (which I use to draw a target reticle on the selected gem) seem to look horrible in wine, rectangles are clean but circles have super twisted lines.
BeardPower
12:35I am not against foot-shooting, I just pointed out that it's different to C but the shooting is not.
12:35It's using a different pistol but the same ammo ;-)
cryptowyrm
12:38True :)
Dang, looks like the screencast software I used, which used to be cross platform since it's written in Java, dropped Linux support. Now I'll have to find a new one.
12:39Preferably one that also enhances the audio quality like Screencast-O-Matic does due to my shoddy equipment.
hiiamboris
13:02can't you just filter the audio post factum with some script?
cryptowyrm
13:22Probably. Before, I used iMovie or Audacity to filter out background noises. There is also some web service I found a few weeks ago, free for a number of hours each month which does professional audio enhancement for podcasts which is apparently used by the big podcasters out there. Now I just have to find it again because my bookmarks are of course on the dead computer :)
13:28But video recording seems to be too slow on here anyhow, I might get it to work well enough if I lower the resolution, but I'll try getting my hands on a faster laptop with Windows quickly.
hiiamboris
13:41have you inspected the CPU? unlikely you can fry it by detaching the fan...
dander
16:31@hiiamboris I've seen a CPU burn that way (specifically the heat sync coming off, not the fan), but that was a long time ago, so I don't know if they are still that way. One would hope there were some safeguards in place to prevent it. @cryptowyrm I really enjoyed your screencast. I hope you are able to continue them soon 😀
hiiamboris
16:48@cryptowyrm I've digged deeper into the BIG secret :D https://github.com/red/REP/issues/26
pekr
17:18I remember old time Rebol discussions. Cant find an old article of a former Amiga guy, concluding Windows does not support v-sync, and that being a main problem of animation tearing, etc.
17:21Using old timer methods was usually caused by the broad of Windows systems supported. You surely remember, that Red tried to support XP initially. My understanding is, that for XP, there is going to be mostly a fall back metgod, if at all.
17:24I am not expert in any of those areas, but I would not wonder, if some recent DirectX APIs would exclude even Windows 7. Otoh I think, that penetration of Windows 7 is still quite high.
17:25If I would be selfish, I would say - support Win8+ primarily, the rest belongs to the fall back support
cryptowyrm
17:59@hiiamboris Wasn't just the fan, was the whole cooling block, the CPU laid bare with the heating paste on top. And it's probably been like that for a week because the computer kept randomly turning off once or twice per day so the chances are good it suffered some damage. I thought it was just a weird Windows 10 bug related to sleep mode, but now it's likely it was overheating all this time.
18:02@dander Thanks! :) A friend is giving me his old Compaq laptop tomorrow, has a dead display (that particular model had factory defect where the connection to the display stopped working after 2 years for everyone) but I'm going to hook it up to a monitor with HDMI anyway so hopefully I can continue with the screencast on monday :)
hiiamboris
18:03@pekr the multimedia timers API is supported even by W2K so it's no problem. Windows 7 doesn't support vsync in GDI (classic theme, not Aero) mode. W8+ does not have GDI mode anymore. But it's not even the main issue here.
18:06@cryptowyrm I had borked my videocard once like that, it started showing random artifacts. But I let it lie cold for a week and it was working fine again. It was long ago though, the tech was different.
cryptowyrm
18:09@hiiamboris Interesting, my video card fried two weeks earlier, so maybe it works again as well. I'll have to see what parts I can salvage from the computer. But it was old anyhow. I'd been using a Mac Mini the past few years but sold it a few months ago since it looks like Apple is going to stop supporting it and used this really old 3 Ghz Phenom X4 PC I had before that instead. They suck way too much power for my taste. I've been playing with the idea of just getting a mini PC like a Raspberry PI (although preferably one with an Intel CPU instead) since I just need the computer to be able to play HD video and write code. Games I play on consoles.
18:20@hiiamboris Wow now that's a detailed report on the timer issue. I'll probably won't understand half of it but thanks for following up on this! :)
hiiamboris
18:26I was curious..... :wink:
nedzadarek
22:54@hiiamboris "Curiosity killed the cat". It's late but I commented on it. Pardon me if I made some mistake.
greggirwin
23:08@cryptowyrm I've never seen that happen either! But some things are so heavy now, big coolers, graphic cards that require support brackets...
23:09Rebol/OS is still a dream. But we all need to dream.

hiiamboris
05:53@nedzadarek :+1:
BeardPower
06:02@pekr Just fix your time-step ;-) https://gafferongames.com/post/fix_your_timestep/
cryptowyrm
10:19@greggirwin Oh yeah this particular cooler + fan combination was a monster, loudest fan I ever had. I chose a different, low sound fan originally but it didn't fit in the case so the store who build the computer from the parts I chose selected a fan themselves. That was the second time I let a store build the computer, both times it was a disaster. But it's always been like that, I have always had problems when buying a new computer, safe for the Mac Mini and a Dual G5 I had years ago, they just worked beautifully. But the first Mac I bought, a G3 Blue & White wasn't better either, had a faulty hard drive :) But that's generally why I hate buying computers, it almost always turns into a huge ordeal.
hiiamboris
10:25remember to spend a point on luck when you level up :D
cryptowyrm
10:26Ha, I should really try that, I never add a single point in luck! :)
gltewalt
17:07Buy a 4 years old ThinkPad
greggirwin
22:54@cryptowyrm I've built my own for a long time, but then tried a Skull Canyon (mini), thinking it would be enough. It wasn't. No time to build my own right now, so had to trust a local shop. They seem to have done a good job...so far. Fingers crossed.

cryptowyrm
00:07@gltewalt Never actually bought a used computer. Might be an idea. Although with a laptop I'd worry about the state of the hard drive and the battery. Although to be fair, the last new laptop I bought also had issues with the battery. I'll never again buy a Lenovo computer. Bought it online, got it, RTC battery dead. Send it back, got a new one, same thing, RTC dead. Send it in for repair to make sure this time I'd get a laptop that works, but they said it can't be repaired, so they sent me a new one. And you guessed it, RTC is dead. So after two months, I just asked for my money back which the shop I bought from thankfully did, quickly and without any issues. Problems with the RTC seem to be a common issue with Lenovo computers, the forums are full of people complaining because the clock on their laptop is always wrong.
gltewalt
00:15Never had a problem with mine. And my autistic son has forced the lid open several times, and dropped it for fun (when closed) several times.
cryptowyrm
00:15Oh and just if anyone thinks surely I can't be this unlucky with computers: The old Compaq laptop I said a friend is giving me today, with the defect display? First I had to find an old VGA cable from an old beamer because the laptop only had a VGA out and not HDMI, then it turns out, the video out is also dead so it's a useless brick :) So I'll have to stay with my Chromebook for a while.

Does anyone know of a way to make the Red plugin in Visual Studio Code work with Red running through wine? If I just write wine in front of the command and then do a right-click "Run red script", it calls wine with the Linux path to the file I want to interpret, so Red is opened but then it complains that it can't find the file since it expects a Windows and not a Linux path.
gltewalt
00:15*knock on wood*
00:16My best friend is a computer killer. Things that shouldn't even be possible to go wrong, go wrong on him
cryptowyrm
00:17@gltewalt I have a long history of killing laptops, started as a kid and a Toshiba T-1000 (I think) of my father, splashed woodruff juice over it. And that stuff is sticky. Couldn't save the laptop.
nedzadarek
00:18@cryptowyrm ask yourself... what have you done in your previous live to piss some "higher being"?
gltewalt
00:18If they ever make Red Wallet hardware, you could stress test it
nedzadarek
00:18@gltewalt NO! He will destroy it.
gltewalt
00:19:laughing:
00:19I think @9214 was using wine. He might know about VSCode.
cryptowyrm
00:19You're right, I should go into Q/A. I'd make tons of money.
00:20They won't even let me test IF I can destroy the product, because of course I can, they only measure if it takes me at least 15 minutes, then it gets the stamp of approval :)
gltewalt
00:23Why are you running through wine? GUI?
cryptowyrm
00:23Yeah, so that I can continue the screencast for my Match 3 game.
00:24The game does actually work fine visually with the Linux gui branch, but the mouse-up event (or any mouse event) isn't implemented yet so you can't play the game.
gltewalt
00:27Can you use different Workspace Setting and put in the windows-style paths that it expects?
cryptowyrm
00:34I think it can't be done by changing something in Visual Studio Code itself, that part works because Wine itself can deal fine with Linux paths, so Visual Studio Code starts Red through wine fine. But Red then uses Windows style paths since it's running in Wine, so Red can't find the file /home/chris/Documents/GitHub/red-scripts/match3.red since that path is a Linux path. I think probably the only way to do this is to fork the Red plugin and then use JavaScript to convert the Linux path into a Windows style path.
gltewalt
00:38Red should be using it's own agnostic paths? %/C/ProgramData/Red/
cryptowyrm
00:39Yeah but not from the command line. It calls red with red-063.exe --cli /home/chris/....
00:41So Red the says: cannot open: %/home/chris/Documents/GitHub/red-scripts/ because %/home/chris... doesn't exist in the wine environment.
00:43I think in wine, the Linux root is hosted as drive Z:, so basically I'd only have to manipulate the path to start with z: and Red would do the rest.
gltewalt
00:43feed it the windows equivalent on that path?
00:47red --cli Z:\home\chris\Documents\GitHub\red-scripts\match3.red
:question:
cryptowyrm
00:48Yeah but for that I need to transform the path, but I don't know how other than modifying the Red plugin itself, since that is what creates the path. Unless there is some wine command line option that transforms Linux paths to Windows paths. I checked the manpage but there wasn't anything, but it might not be a complete list of the available commands
gltewalt
00:49https://unix.stackexchange.com/questions/413376/convert-file-path-from-linux-to-windows-format-for-wine-tool
cryptowyrm
00:50Oh that looks promising, thanks! :)
gltewalt
00:50I hope so
cryptowyrm
01:09@gltewalt It works! Thanks again :)
01:10Much easier than having to edit the Red plugin.
01:15I didn't even think of using a shell script. I've been using Windows for too long it seems.
01:20If someone else here wants to do the same thing, just set red.redPath in Visual Studio Code to the script here: https://gist.github.com/cryptowyrm/0b2e189dcd0e3d80e154481a088ac652 (and change the path to wherever you put red-063.exe)
gltewalt
01:20:+1:
01:20Part of my ‘guess and poke at it’ troubleshooting
01:22I had to do a weird path entry in my settings to get the plugin to work - so maybe make a wiki entry and we can accumulate notes?
cryptowyrm
01:24Yeah would be a good idea. I think Red's readme mentions you need a shell script to get Red to work when you put it on your PATH. So it is needed in some situations already.
01:35Although this would probably be better mentioned in the VSC plugin Wiki and then referenced in the Readme which is shown when you install the plugin, in the Red Wiki no one would ever find it :) But that Wiki can't be edited it seems, probably contributor only.
greggirwin
01:35Notes! :+1:
cryptowyrm
01:56@gltewalt I've put it on the Red wiki for now: https://github.com/red/red/wiki/Visual-Studio-Code-Plugin
gltewalt
03:03You might also fork the VSCode plugin repo and submit a PR to add it to the README. Maybe?
cryptowyrm
11:16@gltewalt I'll try, this will be my first pull request on GitHub ;) Maybe I won't even destroy everything in the process.
12:09Done: https://github.com/red/VScode-extension/pull/29 So far nothing has exploded, but I'd still recommend to duck and cover, just in case.
9214
13:28Speaking of ICQ numbers: I purchased mine (7808261) in exchange for 50-or-something bruteforced accounts 10 years back. There was a whole website dedicated to trading of short and/or nicely looking numbers, so I just grabbed software and password databases to walk over 8-9 digit numbers range :japanese_ogre:

QIP 2005 was great. I miss these times.
13:28And now all servers probably have died out, since I can't even log in.

greggirwin
05:48Thanks @cryptowyrm. We'll ping @qtxie on it if he doesn't see it soon. He doesn't monitor chit chat I think.
qtxie
07:39@cryptowyrm Thanks. PR merged. :-)
cryptowyrm
10:32Ah, my first merged pull request. Now I'm a man. I'll smoke a cigar and take the rest of the day off :)
10:40Screencasting worked out as well: https://drive.google.com/open?id=1vmCfq2SeR22dJkLo7wrPTMClfD_IzjF1
But I really wish Screencast-o-Matic was still available for Linux, there just isn't anything better. It even allowed me to make small edits while still recording the video. I'm using Kazam right now, seems to still be the best native Linux screencast app, but it always had the problem that it crashes, often, and it doesn't seem like that has improved. It's good enough for now though. I hope we can create a screencasting app with Red at some point :)
hiiamboris
11:00@cryptowyrm great quality improvement despite your hardware troubles :+1:
cryptowyrm
11:08One upside is that the laptop keyboard isn't as loud, the typing sound could be a bit anoying before :) And the laptop is nearly completely silent so there just aren't as many background noises that needed to be filtered out before.
greggirwin
15:12@cryptowyrm I'm anxious to watch the new one. When we add audio! and video!, many things will become possible.
gltewalt
17:56I wish we could do this add 3 4 5 6 7
17:57I'm really waiting for audio. I wan't to make little apps for the kid.
cryptowyrm
18:10Can't audio be done through a C library for now? The Business Programming guide for Rebol 2 had an example where it showed how to use a DLL to play MP3s. Is that possible in Red as well, or do you at least need ports for that? (That low level stuff is beyond my abilities for now, but hopefully not for long).
9214
18:11@gltewalt
#macro ['add some number!] function [s e][
    acc: 0
    foreach x next copy/part s e [acc: acc + x]
]
18:13
text
   add =. +/
   add 3 4 5 6 7
25
gltewalt
18:16Macro has to be compiled doesn’t it?
9214
18:16No, it doesn't.
gltewalt
18:17Well that will do then
18:20@cryptowyrm I haven’t had time to look at alternatives for the past two months. Would be much easier with sound!
hiiamboris
18:57@cryptowyrm you don't need ports for that, it's already possible
BeardPower
19:13@cryptowyrm yes, you can. Red wants to keep the no-dependeancy architecture, so it would be just a temporary solution.
cryptowyrm
19:18Yeah should be done on a per project level as a temporary solution, not built into Red itself. I did look into it a bit yesterday, might start playing around with it after I'm finished with the screencast, to add sound effects to the Match 3 game. If I can get it to work, didn't look that complicated, otherwise I'll wait until I've learned Red/System and refreshed my knowledge of C first :)
hiiamboris
19:31@cryptowyrm https://docs.microsoft.com/en-us/windows/desktop/Multimedia/playing-wave-resources
19:32probably your best bet on simplicity
gltewalt
19:51This doesn't work for me. From the preprocessor docs

#macro ['max some [integer!]] func [s e][
    first maximum-of copy/part next s e
]
print max 4 2 3 8 1
9214
19:52@gltewalt I don't see any maximum-of definition.
19:54Just use last sort copy/part next s e instead.
gltewalt
19:54Me either, now. But that's how it is written in the docs.
9214
19:55Maybe that was meant as an example, to show how to use functions from execution context in a macro.
gltewalt
19:56Maybe
9214
19:57
text
#do [
    maximum-of: func [series][first sort/reverse copy series]
]

#macro ['max some integer!] func [s e][
    maximum-of copy/part next s e
]
19:59You should check out array programming if you're up to such stuff.
19:59
text
   >./ 4 2 3 8 1
8
gltewalt
20:00No spare time in life, these days
20:02What do you think about having all the op equivalents like add be non-fixed arity?
9214
20:04You can always use block instead.
gltewalt
20:06Have to roll your own funcs. They don't take blocks.
9214
20:07You need just one function, actually.
cryptowyrm
20:10@hiiamboris Thanks, that actually looks like one of the functions used in the Business Programming guide. I was wondering where it came from since I couldn't find it in the MP3 library it uses. That explains it :)
hiiamboris
20:16> You need just one function, actually.

yes, fold :)
9214
20:24
text
order: func [block item /skip size /head /tail][
    also block (
        while [not tail? next block][
            block: insert system/words/skip block any [size 1] item 
        ]

        case/all [
            head [insert system/words/head block item]
            tail [append block item]
        ]
    )
]

probe do order [3 4 5 6 7] '+
probe do append order/head [4 2 3 8 1] 'max 1
greggirwin
20:27> What do you think about having all the op equivalents like add be non-fixed arity?

How would it work @gltewalt? And why would it be better than sum [...] and product [...]?
hiiamboris
20:45lispy mod of @9214's macro:
#do [
    fold: func [op a b /local x][unless op? :op [op: make op! :op] foreach x b [a: a op x] a]
    rule: [['+ | '- | '* | '/ | '// | '% | '** | 'max | 'min] some scalar! end]
]
#macro [ahead paren! set b into rule] func [s e][ fold get b/1 b/2 skip b 2 ]

probe (+ 1 2 3 4 5)
probe (* 1 2 3 4 5)
probe (** 2 2 2 2)
probe (/ 100 2 5)
probe (min 4 7 3 4 1)
probe (max 4 7 3 4 1x1)
gltewalt
20:48Like that ^
greggirwin
20:51@gltewalt, but that's Lisp syntax, not Red. If you disallow infix ops, certainly we can make greedy funcs this way, but why is it *better* than more meaningful names and a block arg? I can think of very subtle things creeping in that way, and being very hard to debug. OTOH, in dialects, it could be a *very* powerful approach.
20:52In that context, and I hadn't thought of that before, wow.
gltewalt
20:53Minus the parens of course. Infix operators aren’t going anywhere. I think it would be cool to have prefix version with non-fixes arity
20:53non-fixed
greggirwin
20:56Cool <> better. And can you see a possible issue that could come up?
gltewalt
20:59I don’t see an issue if add, multiply, etc are used
greggirwin
21:10
; lots of code that sets values
total: deposit my-acct add pay-1 pay-2 pay-3 invoice-1
transfer total dest

Now if any of your inputs to add should happen to change, producing either an incompatible type for the op, or one that isn't consumed by the macro at all, your behavior changes in a way that may be very hard to see. It takes Red's already powerful free-ranging evaluation model and adds a quantum element to it.
gltewalt
21:18Ideally I’d like built in functions. The macro way was pointed out to me
greggirwin
21:33Sum and product will be good standard funcs to have. I agree.
nedzadarek
22:12@hiiamboris or map if you don't want to fold into one element.

@gltewalt
> What do you think about having all the op equivalents like add be non-fixed arity?

You would have to define some kind of rules how much arguments does a function! takes. In Greg's code: total: deposit my-acct add pay-1 pay-2 pay-3 invoice-1 do you mean total: deposit my-acct (add pay-1 pay-2 pay-3) invoice-1 or total: deposit my-acct (add pay-1 pay-2) pay-3 invoice-1?
gltewalt
22:33We already have problems like that. You have to know the words and what arguments are accepted
22:33And how many
nedzadarek
23:11@gltewalt yes but when you know the words you know which function gets which argument(s).

greggirwin
01:39@gltewalt what your proposed change means is no longer having fixed arity for functions at the *human reasoning* level. That is, you couldn't look at a piece of code, and func specs, and *know* how many args will be consumed without *also* knowing the type of every value referenced ahead of time.

I'll ask again, how is this better than sum [...] and product [...] funcs?
gltewalt
01:52If add and multiply could consume blocks of values, that would be dandy. And we wouldn’t need extra built-ins like sum and product
greggirwin
01:54*Why is that **better** *?
01:55(and I have other arguments coming if needed ;^)
01:57How about this. * **Show** * me it's better. Write an add+ mezzanine that works how you want, and we can make concrete comparisons.
01:59These are fun things to play with, think through, and learn from. It's the best teacher. It still surprises me how seemingly simple and benign changes are like tugging on a string. Soon you see how many other things start moving.

cryptowyrm
11:08Nearly done with the screencast. What an ordeal! I wiped my Chromebook and installed Arch Linux (Manjaro) because I thought it would be faster than running Ubuntu alongside Chrome OS with Crouton. It actually turns out to be a bit slower, the Match 3 game went from 10 FPS to 3 FPS :) But then I figured out why it's so slow in the first place. When running Red through Wine, you need to install gdiplus with winetricks, then DRAW in Red is a bit more than 10 times faster. Interesting to note here that the FPS isn't capped to 38 when running in Wine, so timers work better in Wine than they do in Windows 10. But that wasn't the only problem, suddenly recording videos had trouble with Gnome 3's 3D compositing effects, didn't happen in Ubuntu. The desktop background started to flicker in and out of Visual Studio code while recording videos :P I minimized that by setting the desktop background to black, now it happens only every minute or two and it's not that noticeable anymore. Might have been better to use XFCE instead of Gnome, but I didn't want to waste any more time by changing it :)
abdllhygt
13:27Hi! how are you!
13:32I want to ask about English,
In my translator markup language, there is a "and" mark. It's -we[]
>> -we[(-wta "wa") (-wta "was")]
== make object! [
    text: "me and us"
    textnx: "me and us"
    title: "was"
   ...

So, "i" change to "me", "we" change to "us" in -we[]
13:33But i don't know about "they". Doesn't "they" change to "them" if first?
9214
13:47@abdllhygt "they and we will go to a coffee shop", but "company chose them and us as the best employees", I believe.
abdllhygt
13:47@9214 is it about subject/object?
9214
13:48In the first case "they and we" is a compound subject, in the second case "them and us" is a compound object.
13:48You should wait for native English speakers to answer though.
abdllhygt
13:48@9214 ohh i see. So, it isn't about "and", thanks!
greggirwin
18:36@cryptowyrm, that's why I change things as little as possible. :^) Please add the gdi+/winetricks note somewhere in the wiki, as that may help a lot of people. @gltewalt can probably point you to a good page for that.
18:44@abdllhygt, you may be best off consulting online references for technical grammar details. e.g. https://www.differencebetween.com/difference-between-they-and-them-in-english-grammar/ came up when I searched for "they vs them".
gltewalt
18:53@cryptowyrm I think the link is broken in your addition to the red/VSCode README
18:56Put the gdi+/winetricks stuff in the Reference category for now. I can make a page for it later
abdllhygt
19:41@greggirwin thanks! i just confused about "they/them" in "and"
cryptowyrm
19:52@gltewalt Seems like @greggirwin deleted the Visual Studio Code wiki page in revision ef732104332922a9f7854f8f0264287ace0727c8. Should I just recreate it?
gltewalt
19:57Yeah
cryptowyrm
19:59And the gdi+ info I should just add directly here at the bottom: https://github.com/red/red/wiki/Reference without creating a new page and linking to it from there, if I understand you correctly?
gltewalt
20:06Yes. You ‘can’ make new page and link to it and all that, but you don’t have to go to all that trouble. I can do it later.
cryptowyrm
20:06Alright, VSCode wiki page is restored, links works again :)
20:06Ok, thanks! :)
20:30And gdiplus info is added now as well: https://github.com/red/red/wiki/Reference#using-red-on-linux-with-wine
So far Red has worked really well for me with Wine, just text areas don't work when they scroll while entering text, then they don't redraw properly.
greggirwin
21:01@abdllhygt the tricky part is that neither "they and" or "them and" are idiomatic for me.
21:01@cryptowyrm @gltewalt sorry about that. During the recent merge I suppose. I have a copy here, and can add it back if you want the original. Looks like I'm too late though.
cryptowyrm
21:03@greggirwin No problem, happens :) Yeah I checked out an earlier commit and restored the file from there, so it's all good now.
greggirwin
21:05Much appreciated.

gltewalt
00:00Where can I get waterproof load sensors?
ne1uno
00:01omega?
gltewalt
00:05Weight sensors
00:05Load might be confusing
00:12Looks like they have a few things that might work, but.. expensive
ne1uno
00:12grainger too, once you have a model number, amazon probably has sellers
greggirwin
18:02Can you give the exact use case? Might help narrow the choices.
gltewalt
18:46Crazy idea for a homemade Dishwasher clean/dirty indicator
greggirwin
18:51Nice. So it would live inside the dishwasher? Needs to handle heat as well then. At least to 160F or so.
18:52Or it would live *under* it, and just need protection in case of leakage?
gltewalt
18:53In it. Yep, handle heat.

* Here are some notes (spot the logic flaws)


Dishwasher clean/dirty indicator:

Sensor on the top rack that weighs rack when empty.

Sensor on bottom rack that weighs rack when empty.

Receiver that sticks on the front of the dishwasher.

When temperature increases to N, mark the state as Running, record the time.

When temperature decreases to N, mark the state as Ran and record the time.

If the state is Ran and sensors indicate a weight greater than empty, return Clean.

If the state is Ran and sensors indicate a weight of empty, return Clean.

* If cycle has not been ran and sensors indicate a weight greater than empty, return Dirty.

greggirwin
18:59Gah! That's *great*! @BeardPower will probably say you should detect current and RF from the control board as well. ;^)

In this case, and your FSM seems good at a glance to start, are you thinking *vertical* sensors, on each side rail supporting the racks? Since they won't be submerged, the waterproofing requirement is lower. To experiment, you might just be able to laminate/vacuum seal them.
gltewalt
19:14Vertical might work best. Depends on the size of the sensors though
20:32I’ve never done any of that embedded programming hardware type of stuff, so it’s a daydream right now
BeardPower
20:34@greggirwin Not to mention humidity and residue of cleaning materials ;-)
20:37160F? Modern dishwashers go at least to 75C.
gltewalt
22:57@cryptowyrm I moved the Winetricks note to https://github.com/red/red/wiki/Visual-Studio-Code-Plugin
22:57Created a link in the Wiki sidebar for it. Other editor links can be added in that section as well

x8x
20:12@BeardPower Problem started when the boys met on Jekyll Island....
BeardPower
20:33@x8x Exactly. The biggest scam in history.
x8x
20:34http://books.max-nova.com/creature-from-jekyll-island/
BeardPower
21:02Sorry, was busy playing some rhythms in Garage Band :-)
21:03The devil in disguise.
nedzadarek
22:45I've been reading about IO Monad type from Haskell. Is it purpose to:
1) Mark functions as impure (doing IO side effects to be precise)
2) Run impure functions more than once (haskell would just run foo in foo foo only once)
Am I right? I read that IO Monad carries "a world" but I haven't seen anyone checking for specific world. People check for input type (e.g. integer) but they don't care if a function print or get something. That's seems not *type-like*. Well, thank you for any thought on this subject.

gltewalt
00:14IO: context [ ... side effects ... ]

Maybe similar to that?

viayuve
07:45Just patiently waiting for 0.7 hope it come out soon.
nedzadarek
12:53@gltewalt I guess but it doesn't return new upgraded IO each time.
gltewalt
15:30If ever I see a monad explanation that isn’t complicated I think the world will end
greggirwin
17:47The curse of the monad is that as soon as you understand it, you lose the ability to explain it.
17:52@viayuve 0.6.4 has to come first. C3 and logistics have affected the old roadmap. More people are helping, but we still need a couple deeply experienced system level devs.
iArnold
20:37> The curse of the monad is that as soon as you understand it, you lose the ability to explain it.

That usually marks a scam....
20:39> @viayuve 0.6.4 has to come first. C3 and logistics have affected the old roadmap. More people are helping, but we still need a couple deeply experienced system level devs.

Somehow I do not get the problem about getting these in, or are they sceptic about earning thousands of RED-tokens?
20:43(And I will refrain using smileys from now on, for they are misunderstood in intercontinental conversations anyway)

greggirwin
00:53@iArnold not everyone is ready to work for something other than "real" money. The skill set is the other aspect. If anyone knows people who might be good, point them our direction.
gltewalt
01:16Work for lambo
BeardPower
05:31Well, exchanging crypto to fiat money is a matter of minutes without big fluctuations, so its not issue at all from my PoV.
rebolek
06:30More like matter of days/weeks, but it’s not that hard, yes.
BeardPower
09:46Days/Weeks? Depending on the exchange its a matter of 15minutes.
09:48KYC takes 1-5 minutes and exchanging the currency a few seconds. Transferring your money to the bank account takes about 10seconds to 24h max.
rebolek
11:4524h max :D
BeardPower
11:47If you are using SEPA and not SEPA instant or faster payment service.
abdllhygt
12:42do you guys know Linq?
12:44it's a example Linq in C#
string[] names = { "Burke", "Connor", "Frank", 
         "Everett", "Albert", "George", 
          "Harris", "David" };

IEnumerable<string> query = from s in names 
            where s.Length == 5
            orderby s
           select s.ToUpper();

foreach (string item in query)
      Console.WriteLine(item);

12:44result:
BURKE
DAVID
FRANK
toomasv
13:46@abdllhygt Same in Red:
names: ["Burke" "Connor" "Frank" "Everett" "Albert" "George" "Harris" "David"]
foreach s sort collect [foreach s names [if 5 = length? s [keep uppercase s]]][print s]
BURKE
DAVID
FRANK
BeardPower
14:26@abdllhygt Yes, it's nice.
14:27It also supports parallelism through PLINQ.
14:28@toomasv It's benchmark-time ;-)
abdllhygt
14:37i think to make like Linq
14:37
"kedi köpek, kuş, karınca, inek" split(", ", " ") {@}     ; ["kedi", "köpek", "kuş", "karınca", "inek"]

"kedi köpek, kuş, karınca, inek" split(", ", " ") {@ [-1]}    ; ["inek"]

"kedi köpek, kuş, karınca, inek" split(", ", " ") {@ ![-1]}    ; ["kedi", "köpek", "kuş", "karınca"]

"kedi köpek, kuş, karınca, inek" split(", ", " ") {@ <_"k">}     ; ["köpek", "karınca"]

it's about split and result
14:38i mean making a language
greggirwin
16:50@abdllhygt you can absolutely make a LINQ-like dialect in Red. Start with a simple func taking blocks or funcs as args for each clause. Then think about how multiple iterator values will need to be bound and handled. Finally, make it a dialect.
16:52@rebolek @BeardPower working for crypto isn't hard for us, but a lot of people still don't know anything but the name Bitcoin. And there are unknowns, at least here, not to mention the volatility.
iArnold
17:52> @iArnold not everyone is ready to work for something other than "real" money. The skill set is the other aspect. If anyone knows people who might be good, point them our direction.

I believe there must be thousands of coding youngsters, students, ICT workers and old-timers out there, no millions. And many of them must be seeking alternatives to the mainstream too. So even there is not so much of active presence, the project is in the open and does attract some attention now and then. So what exactly is it that does not trigger interest enough to stick around a little longer?

Well, I have some ideas about this, but I do not want to spoil a good guessing game. Perhaps I am largely overestimating the number of programmers in this world of 7 billion+ people.
17:56Or in the case of a certain company that does work with Rebol, why do the workers not show up in the community more (or are there not many working with Rebol in that company, only the two we see sometimes(?))? Well perhaps because they feel they expose themselves too much to the boss if they did, and know If they ever have to look for another job, they must be prepared for another skill-set?
greggirwin
18:04@iArnold research and hard numbers would be great. If there are projects comparable to Red, doing a better job at recruitment, let's learn from them. Otherwise, as you says, it's a guessing game.
BeardPower
19:16@greggirwin Sure, we would need to educate them. There are different exchanges, where you can lock in the exchange rate for 15minutes or more, but fees are higher (about 1.5-3%).
greggirwin
22:40Forget the details for a moment, and that **we** *sort of* know how this all works. This is an entirely new thing to people, and they have bills to pay. We are up against a known quantity that lets them live their lives with less concern. They work and, in many cases, money magically shows up in their bank account, that they've had for 20 years, so they can use their debit card for dinner.

Also, it's quite important to us that if people commit to helping us, forgoing other paying work and free time, that we can fairly compensate them, and eventually provide some stronger guarantees for ongoing work, like real employees, in a commercial company, selling products and services.

abdllhygt
10:51@greggirwin thanks!
BeardPower
12:34@greggirwin I agree. People don't like "change".

iArnold
20:04I really think I have been overestimating how many ICT workers do program in their free time. It is at most 0.1 percent.
20:11With ICT work only good for about 0.1% of jobs and only half of population working, and only 1/7 th of world population in the developed countries where this estimate makes any sense
20:13so 7b down to 1 b down to 500m down to 500thousand down to only 500 active programmers!
greggirwin
20:52It has always been a few people that make all the difference. :^)
nedzadarek
21:23@iArnold but does ICT worker need to be programmer? I mean I've checked the google but it gives me vague answers.

iArnold
14:10@nedzadarek that is why that reduction is also a big one. And also non ICT workers can program for a hobby, correct.
14:12Well my estimate is very rough and very much pointed at minimizing the number of people working on projects like this one. ;-)
BeardPower
14:39It just depends if people contribute because they want stuff they need personally get done or are just in for contract work. See Haiku. A lot are contributing because they need stuff supported.
14:39We somehow need to bring Red onto it as well ;-)
iArnold
19:51Maybe Haiku is not a good example. Not really many programmers. I often ask myself the question: What will be first Haiku or Red release?
Ungaretti
20:59If anyone here plays with IoT, please take a look [here](https://use24h.com/manual/Introduction.html) or the pretty webpage [here](https://www.use24h.com/). I and a group of friends have developed this system to activate things using mobile phones, QR codes and ESP8266 devices.
The flash uploader was supposed to be in Red, but we were plagued with anti-virus problems.
Maybe one day the whole thing will be rewritten in Red. Who knows.
greggirwin
21:36Very cool @Ungaretti! The AV false positives are a thorn in our side.
BeardPower
21:56@iArnold Its a good example on why people contribute. The number of programmers do not matter for this question.
21:56Well, both have released already ;-)

gltewalt
03:07Where did @9214 go, again?
greggirwin
03:20R&R.
viayuve
05:062018 top languages java is fading away Hmmm... any many institutions teach as main language
https://spectrum.ieee.org/at-work/innovation/the-2018-top-programming-languages
05:07*They teach java as main language
rebolek
08:03@Ungaretti cool, I'll take a look at it certainly, I've got few ESPs lying around.
BeardPower
08:12Haiku Beta R1 is close for release (hopefully August). I wished Red would support it. Is there a way to integrate C++ libs like Nim does?
nedzadarek
08:17@viayuve it's still 95+ (whatever it means). In my opinion 2 points might be error and/or some random fluctuation.
viayuve
08:18@nedzadarek human error meh..... ;)
nedzadarek
08:19@viayuve I mean any error.
viayuve
08:21what is new news lately read that gc going to merge thats nice 👍 anything new ??
abdllhygt
12:33@toomasv @gltewalt
![words](https://image.ibb.co/jnfSwK/1.png)
![verbs](https://image.ibb.co/nqKy3z/2.png)
toomasv
13:49@abdllhygt Wa suku a
abdllhygt
13:50@toomasv hahah noo
13:50sukus wa a (i like it)
toomasv
13:51Evet
abdllhygt
13:51+s means generally
13:51@toomasv evet is Turkish, but it's not Turkish
13:51It's my conlang
13:51So, make a language
toomasv
13:52I don't know yes in your conlang :(
abdllhygt
13:52salam (hello)
tamam (okay)
sim (yes)
bum (no)
toomasv
13:53Thank you?
abdllhygt
13:54example for +s:
-minus wa can = i drink tea (generally)
-minu wa can = i'm driking tea (now)
13:54ahh i didn't make "thank you"
13:54i didn't finish my conlang
toomasv
abdllhygt
13:55hahahh
13:55sim, a es oyo (yes, it's bad)
toomasv
13:56Ugu, uyu, <then continue making it>
abdllhygt
14:00I take words and grammar from:
-Portuguese (ta, sim, gata, oe, agua...)
-Turkish (we, baba, uyu, kuxa...)
-Arabic (we, zeki, bida...)
-Chinese (wa, bum, baba...)
-Indonesian (minu, suku, mau...)
-Japanese (ne, xiru, nagi, ina...)
14:01btw @toomasv if first char of verb is "u", a sentence can't take object
14:02for example:
-komu wa "elman" (sentence takes object)
-uyu wa "" (sentence doesn't take object)
toomasv
14:08Ciekawa!
abdllhygt
14:08thanks, is your native language Polish?
toomasv
abdllhygt
14:10So, you can help to translator if i finish first stage
toomasv
14:10It depends what is needed.
abdllhygt
14:11@rebolek said "I can add Czech"
14:11@toomasv about translating markup language to Polish
14:12if i add docs
toomasv
14:12Ei - means no in Estonian
rebolek
abdllhygt
14:13Īe - means "no" too in Japanese
toomasv
14:14Estonian may be closer to Ainu may be
abdllhygt
14:14@toomasv what is Ainu?
14:15Finnish, Estonian and Hungarian grammars really similar to Turkish
toomasv
14:15https://en.wikipedia.org/wiki/Ainu_language
abdllhygt
14:15But words are not similar
toomasv
14:16Estonian and Hungarian are really worlds apart (even if related)
abdllhygt
14:18Turkish people know(think) that:
There is Ural-Altaic Language Family
Uralic Languages: Finnish, Estonian, Hungarian
Altaic Languages: Turkish, Turkic, Mongolian, Korean, Japanese
16:33Hi again!
16:33I want to ask about living in Europe for learning English
16:34But cheap
rebolek
16:36how cheap
abdllhygt
16:36I mean i show my projects to a company. And they help me about giving room and lunch.
16:37@rebolek I can't give money for hotel/hostel. i don't earn money now. i want to live as student.
16:39For example, a company support me about these for improving my translator.
16:42I think now about language schools for supporting. Maybe someone can think a more good thing
rebolek
19:45@abdllhygt you should try to get on some University then
nedzadarek
22:10@toomasv ciekawa is the word in your or not-polish language?
@abdllhygt ei =/= ie, unless you "reverse-read" in Estonian (e.g. you read ei as ie).

toomasv
04:59@nedzadarek Neither. I meant ciekawa in Polish, but I am not sure, may be it should have been ciekawy or something. Nie wiem.
Lexical transpositions are quite common in cognate words, but in this case closeness is probably just coincidence.
nedzadarek
08:58@toomasv Ah, I see. I guess you should neutral form ciekawe (it is interesting). Masculine, feminine and neutral forms are not easy to "get" for non-native speaker so don't let it bother you.
abdllhygt
09:08@rebolek what do you mean? you say about i ask to an university in europe?
09:08or about starting to an university?
rebolek
10:07@abdllhygt yes, you should try to get to some university, they can give you scholarship, so you would have your expenses covered.
abdllhygt
10:09@rebolek but i don't will be a student? true?
rebolek
10:10you have to be student to get scholarship
10:10or you don't want to be?
abdllhygt
10:11@rebolek of course i don't want : )
10:11i want to go to europe for improving my english
rebolek
10:11oh :) then you need to find a job I guess :)
abdllhygt
10:12@rebolek but i want to develop my translator : )
rebolek
11:01I don'ŧ know then :)
nedzadarek
11:08@abdllhygt there are a lot of on-line courses and tutorials.
I use English materials for 90-95% of things I need/want to learn.
abdllhygt
11:10@nedzadarek i was thinking about practice
nedzadarek
12:22@abdllhygt that's harder & more time consuming but you may find native speaker (or someone that speaks English fluently) that knows Turkish as well.
abdllhygt
12:39@nedzadarek hmm i see

abdllhygt
17:19Salam!
17:19[Liwaja for beginners](http://abdllh.com/liwaja.pdf)
17:20You guys can learn based of my conlang with this pdf
nedzadarek
23:16@abdllhygt interesting! I have few thoughts if you don't mind (+ is good thing, - is bad thing or some error):
'+ examples - easier to grasp main idea
'+ colours - I could skip 1st and/or 2nd page and still get it
'- colours - sometimes colours are wrong or you use the same colors for many things
'- on the page 4 (am/is/are) you have 2 same examples A es xini - I think you mean A bes xini
'- on the page 2 (words) you have personal pronouns (I, you, he... etc) but some of them are confusing. I think you should consider using a table like the (table](https://chakismusings.files.wordpress.com/2015/02/untitled18.png) [this site](https://chakismusings.wordpress.com/2015/02/05/class-2-functional-english-bscs-first-semester-iqra-university/) - you know if it's singular or plural, gender etc
'+ I like how you use similar but different suffixes/prefixes (e.g. canti vs canto or es vs bes)
'- I don't like that you have 2 [word orders](https://en.wikipedia.org/wiki/Word_order): 1) be: SVO 2) other verbs: VSO
'- a/the/plural - beside a (a bed)there is an too (an apple).
'- structure of the document - for example past tense is not on 2 adjoining pages
'+ plural: you change from s to z (I forgot how it was called) - I would use n > m for the house - kasaN and house kasaM but it's your choice
ps. I'm not professional just like conlangs and stuffs so some of them are more or less "opinions"

abdllhygt
08:22@nedzadarek thank you! you maked me happy because of your interest.
Thanks for correct document wrongs.
About grammar:
- You just don't like mix of SVO and VSO
- And maybe about the/an (kasaM/kasaN)

In Turkish, Arabic, Portuguese and Spanish; subjects are in verbs too. i mean:
- bebo água (i drink water)
- bebemos água (we drink water)
(Portugues)
So, you can understand subjects from verbs' suffixes. And genereally, (in Turkish) we don't use subjects.
08:24In komu wa; wa is look like a suffix when talking
08:28I guess SVO + VSO don't make confused, and i like it
nedzadarek
13:55
@abdllhygt
> In Turkish, Arabic, Portuguese and Spanish; subjects are in verbs too. i mean:

We have something like this too: I drink - Ja piję, You drink - ty pijesz, He/she/it - on/ona/ono pije etc - you cannot omit a subject in some cases. But you don't have this feature... as far I can see.

> You just don't like mix of SVO and VSO

I have my reasons:
1) I don't think my language changes places of subject & verb in a sentence.
2)My second language was English and it had SVO for sentences. For *be* it was VSO so your sentences may sound like questions.

It may differ with native English speaker.
abdllhygt
14:15@nedzadarek
1) Turkish has SOV. So VSO is more difficult/different for Turkishes. But it's more near to a programmer, i guess.
komu: func [subject object][...]

komu "wa" "ika"

2) Turkish/Chinese question style is more easy than english. I guess you will get used to it easily.
nedzadarek
15:56@abdllhygt 1) It depends on a style, for example object oriented programming tends to have SVO - (with definition like subject: make object! [verb: func [object] [print object * 10]]) you may call functions like object1: 42 subject/verb object1.
2) Part of your language is super easy to follow. I wonder if you can put more language features (more tenses, aspects etc).
abdllhygt
16:061) it's liwaja markup language:
>> a: -es -wta "ta" -i["nagi"]
== make object! [
    text: "you are tall"
]
>> a/text
== "you are tall"

i guess if verb is first, it's more near to programming.
for example, in ruby:
"wa".komu "ika"

but still komu is a func
2) I didn't finish Liwaja, i improve it with the translator. I think to make a website for learning Liwaja

viayuve
11:04@rebolek Congratulation man. Someone told me that there is no right time for learning, 2 weeks seems right...
rebolek
18:25@viayuve thanks :)

abdllhygt
13:50
>> sim, minu ta ne inas wa ne agua
== yes, your dogs are drinking my water
13:511142 lines code
13:53i writed 1200~ lines for making translator with Ruby. My translator In Red is more good now

9214
10:06@rebolek Rebol/View heisenbug that I've mentioned recently is probably related to Quicktest framework, can't recall the details.
rebolek
10:26@9214 I see. I don't run tests with my builds, so it probably can't be triggered there.
BeardPower
11:55@9214 He's alive!
9214
11:56:snail:
ne1uno
13:55there is a need for rebol view in the tests, not a random thing
rebolek
13:55@ne1uno what need?
ne1uno
13:59you'll get an error with core
rebolek
14:00And what's causing that error?
ne1uno
14:00and also a random hang for some people no matter which version of rebol
14:04maybe it's just windows that needs view? peterwood mentioned it months ago in chat
9214
14:06Random hang is caused by call bug in the latest Rebol/View.
ne1uno
14:07still random hang even if use 276
14:07at least on win7, not too many people run tests so it's only win7 so far
14:13@gltewalt has said he is not able to run through all the tests reliably either. it is just windows that needs rebol view, but I don't recall what error
rebolek
14:40Ok, if it's tests problem, I don't mind that much, as everything is cross-builded on x86 Linux, so I can't test other platforms anyway.
AlexanderBaggett
18:40@greggirwin , I didn't recognize your picture without the glasses.
greggirwin
AlexanderBaggett
19:37@greggirwin , that's better. I know that guy.

nedzadarek
19:20Do you have problems with often log out in gitter (and other sites but gitter is the most annoying)? I'm on win 8.1 + firefox 61.0.2
greggirwin
19:24Different setup here @nedzadarek, don't see that here.
rebolek
21:29@nedzadarek try asking [here](https://gitter.im/gitterHQ/gitter)
ne1uno
22:02try clearing site cookies? I just started using firefox 62 on a laptop after using only pre quantum versions, I see a redirect error on some sites usually related to cookie errors
22:03help->troubleshoot and view console errors to see if it may be javascript/ajax related
22:05any privacy settings or extensions that might clear cookies or data?

dander
23:04I didn't want to derail the red/docs discussion about paths, but I've been wondering for a while about the design decision for selecting on a none value to cause an error instead of returning none itself.
>> thing: [a [b 1]]
== [a [b 1]]
>> thing/a/b
== 1
>> thing/a/c
== none
>> thing/b/c
*** Script Error: path thing/b/c is not valid for none! type
23:06Is there a common way of making thing/b/c return none instead? It seems like a common pattern, especially when working with external data.
gltewalt
23:07attempt [thing/b/c]
greggirwin
23:07None propagation is a tricky subject. It seems nice to just cover up all errors, but at some point it makes it harder to reason about *anything*, because you don't get helpful errors.
dander
23:09Yeah, that's the next thing I was going to ask. Perhaps the existing behavior is safest because it 'fails fast', which encourages better upstream code
greggirwin
23:09Ultimately, each type defines how actions work for them. If an action makes no sense for a type, it should throw an error. So even if none worked that way, integers, words, and others would still fail.
23:10In the case of a path evaluation, you wouldn't know where in the path it failed.
gltewalt
23:11mmhmm
dander
23:12Thanks, that helps a lot. I think for the case where I don't care, attempt seems just right. It hadn't occurred to me that it returns none if it fails
23:15To the point of knowing where it failed, it seems like the error could be a bit better. It tells you the path, but not _where_ in the path it failed.
greggirwin
23:31You can file a ticket for that, as a wish.

rebolek
10:01I've been working a bit on improving stats, so now it's much easier to get for example activity in last day/week/month or so. So here are some examples:

* Most active chatters in last 24 hours:
"gltewalt" 8
    "greggirwin" 5
    "lepinekong_twitter" 3
    "meijeru" 3
    "toomasv" 2


* Most active chatters in last week:
"greggirwin" 86
    "gltewalt" 61
    "9214" 60
    "toomasv" 32
    "Respectech" 22
    "meijeru" 20
    "lepinekong_twitter" 15
    "Rebol2Red" 11
    "endo64" 11
    "alexbaban_twitter" 10


* Most active chatters in last month:
"greggirwin" 310
    "toomasv" 188
    "gltewalt" 182
    "abdllhygt" 162
    "9214" 131
    "lepinekong_twitter" 88
    "nedzadarek" 83
    "rebolek" 81
    "endo64" 78
    "BeardPower" 68


Congratulations!
13:36Also, there was 14 unique chatters in last 3 days, 33 during last week and 76 during last month.
toomasv
14:30Thanks @rebolek! Hmm.. I still have a long way to climb! :sweat:
rebolek
16:42@toomasv you are already #11 in all-time all-stars, that's not bad at all!
toomasv
16:52 :muscle:
AlexanderBaggett
16:52Hey guys, what's new?
9214
16:54@AlexanderBaggett GC is on the way, documentation initiative is brewing in red/docs room, and lots of internal work going on, judging by @greggirwin and @dockimbel busyness.
dander
17:17@AlexanderBaggett This site deserves a plug again: https://progress.red-lang.org/
gltewalt
17:27In your face @9214
9214
17:27@gltewalt what?
gltewalt
17:28Expression meaning “Ha, I’m ahead of you”
amreus
20:20Funny I've been scraping gists as learning exercise. Users with more than 1 gist:
greggirwin 76
toomasv 68
dockimbel 40
lepinekong 28
rebolek 24
iArnold 19
meijeru 18
nedzadarek 17
maximvl 13
9214 12
hiiamboris 9
rgchris 7
DideC 6
honix 6
Mufferaw 6
guaracy 5
Oldes 4
luce80 4
Phryxe 3
WayneCui 3
Skrylar 3
qtxie 3
pbaille 3
x8x 3
fvanzeveren 3
kermitaner 3
PeterWAWood 2
AlexanderBaggett 2
dander 2
endo64 2
mydoghasworms 2
JacobGood1 2
koba-yu 2
Arie-vw 2
Cybarite 2
Dobeash 2
giesse 2
BeardPower 2

9214
20:21With more than 1 *public* gist.
amreus
20:23@9214 technically correct, the best kind of correct.
9214
20:23Are these gists with .red and .reds extensions exclusively though?
amreus
20:27These are results of a search using language:red as a parameter. url: to-url rejoin [http://gist.github.com/search?p= cp "&q=language:red"] then scraping the resulting html pages.
9214
20:32@amreus :+1: nice to see your progress in mastering Red. How's your Gedcom project going?
amreus
20:34I've uploaded the raw search results list here: https://github.com/amreus/red-lang-sandbox/blob/master/gists/gists-2018-08-23
20:38@9214 Thanks - been busy with my day job and it's been on the back-burner. In the meantime I realized all these gists are a great but difficult to access resource... if only they were indexed or put in a single repo.
9214
20:40@amreus https://github.com/red/red/wiki/%5BLINKS%5D-Scripts-collection ?
amreus
20:45@9214 huh. thanks, I probably saw that page at some point but somehow I prefer my compact list.
9214
20:49@amreus if that matters, at some point I decided to store all snippets in a dedicated repo, as it's easier to do and load them via Github URL that way.
amreus
20:54@9214 Yes that and it makes sense to me to have them all in one place (locally) if only so I can browse them in VSCode and grep them for words in order to find examples.
9214
20:55@amreus why won't you ask in /help room instead? :)
greggirwin
20:55Thanks for the stats update @rebolek ! As noted, lots of work is going on behind the scenes.
20:57Some recent posts have caused me to think about old and new tools. I'll try to justify a little time to probe deeper.

gltewalt
04:34If you type help me in the console, you get results
toomasv
05:20It helps to find a new face of me-self.
greggirwin
06:34We should make that an Easter Egg! :^)
BeardPower
09:21I should transfer some tokens to me ;-)

rebolek
11:28If anyone's interested, here's example of dialect used to get stats for Gitter, showing most active users and rooms in last year:
>> qobom messages [keep 'author where 'sent > (now - days 365) count]
== #(
    "9214" 11525
    "BeardPower" 6433
    "greggirwin" 5225
    "rebolek" 4417
    "gltewalt" 2975
    "toomasv" 2204
    "nedzadarek" 2129
    "maximvl" 1926
    "lepineko...
>> qobom messages [keep 'room where 'sent > (now - days 365) count]
== #(
    "red/help" 16682
    "red/red" 16243
    "red/red/welcome" 5834
    "red/chit-chat" 4884
    "red/red/gui-branch" 4861
    "red/blockchain" 3392
    "red/bugs" 2960
    ...
9214
11:30@rebolek qobom..?
11:31Means 'boars' in Uzbek :boar: :smile:
rebolek
11:31@9214 yes, it's query over block of maps and I haven't got enough power to come up with some cool name
11:31Ah, so it's cool name then :)
9214
11:35@rebolek and what's the grammar?
rebolek
11:40@9214 it's very simple, keep key/\* where key *comparator* value/contains value/is from values/matches parse rule
11:41keep * keeps whole map, keep key only that key's whalue that can be counted later with count as in examples above
11:43there is also and word that lets you combine multiple comparators together - keep * where 'author is "9214" and 'room is "red/red"
11:44I'll add or also, but that's not implemented yet
9214
11:44So it's like a mini SQL? Cool! @toomasv :point_up: you have a competitor!
rebolek
11:44@9214 more like nanoSQL ;)
toomasv
11:47Very cool! :+1:
rebolek
11:47@toomasv thanks!
gltewalt
15:30Where’s red/wat ?
rebolek
15:31Wat is dat?
gltewalt
15:33https://i.imgur.com/dYPP9Eb.jpg
rebolek
15:35What do you need it for? :smile:
gltewalt
15:40Stickers and complaining about how things work if we don’t understand how things work. Occasionally complaining about how things work when we do understand how they work.
dander
17:44Have people seen that Red is on https://tio.run/#red ? It seems a bit old, or maybe manually built, but interesting.
greggirwin
18:56Thanks @dander. I had never even heard of tio.
dander
19:33I hadn't either. @9214 mentioned someone (I can't remember who now) working on Project Euler puzzles, and they had linked to it
nedzadarek
21:56@rebolek :point_up: [18 sierpnia 2018 23:29](https://gitter.im/red/chit-chat?at=5b788fd67a1786412545edb0) thank you for the link
@ne1uno :point_up: [19 sierpnia 2018 00:02](https://gitter.im/red/chit-chat?at=5b78976a802bc42c5f3ac442) I'm not sure what can clear the cookies. I cleared them manually but the problem still exist. I'm using "normal firefox" (no private mode). I have no-script add-on but it shouldn't break it.
I have/had some weird errors, one of them is "Could not write session state file Error: "_initWorker called too early!".
@greggirwin
Thank you for answers!
22:03@rebolek This name (qobom) reminds me of some word from (I guess) your language that you used in some code. I don't remember it. It was used for element of block of index -2 or index + 2.
gltewalt
22:36My new dream car @BeardPower
https://www.youtube.com/watch?v=wyk0wxIZ8JE

gltewalt
03:58wat: :what
BeardPower
08:05@gltewalt Nice, but I vote for that one: https://youtu.be/JXMyZ929lpY
pekr
08:42Continutation from /help chanel. @greggirwin - Now back to corporate environment, as it is quite interesting topic imo. Thinking about your question about the obvious choice of the language in corporation. I would almost dare to say - none. There are platforms - SAP, Microsoft, Google, others (.e.g IBM Websphere). So it is mostly a ABAP, .Net, JAVA I can't see some other language being penetrated, unless it is part of some "platform". So - it is not necessarily about the language being preset in terms of the browser, but rather browser being a front-end platform. And well established one, I have to say. Maybe it is because of IT personel being a bit lazy, but most probably because it is being convenient. Imagine installing some app to group of ppl. Some companies would have to do it manually, those skilled ones have to define packages and install via a domain policy. From that perspective, it is obvious, why IT admins like systems targetting a browser - because all they have to do is just - nothing. Situation with mobile devices is of course different - ppl prefer native apps. OTOH I have seen the responsive web app and an icon referring to website added to the desktop (on mobile). As for PCs, I can't see a trend of ppl turning back to native apps, yet ...
rebolek
08:46App running in browser, unlike native Red app, won't trigger virus warning on Windows...
pekr
08:54Well, we should also distinguish - browser as a front-end, where you use typical html/css/js tools, and a language as a backend (e.g. Uniserve) and browser as a target for a language - e.g. web assembly - two very different things imo ....
greggirwin
16:46Ah, I went to red/red.
16:52@pekr, Java is the enterprise language of choice. If you want to run in Enterprise, that's your target. As you note, how do you go up against it? But it's the same in the browser going against JS, right? Wasm may come, but it's a new an unknown quantity. You're as experienced as anyone in business IT, at many levels, but, like the rest of us, all you have is anecdotal evidence and opinion.
16:54What *would* help us make more informed decisions is concrete evidence. Studies that show trends in hard numbers, analysis of other tools and langs, their number of users, who pays how much, etc. *Business* research and analysis.

pekr
14:11"all you have is anecdotal evidence and opinion" - hope my boss does not find this chat, or he will find out the company is wasting its money on my experience :-)
9214
14:55https://github.com/joaomilho/Enterprise
greggirwin
17:31@pekr, not to worry, that's a good definition of experience. :^)
17:33@9214, brilliant! We can change Red's name to Fullstack!
BeardPower
20:36@9214 Where is the language language? :-)
20:37Remember: heavy gold.
rebolek
20:37Where's the badger badger.

viayuve
05:10Hello guys I am curious, is it possible to use two different server as single server? @BeardPower @rebolek anyone who knows please comment thanks
Oldes
05:27@viayuve what do you mean?
viayuve
05:50@Oldes I mean combining two different computer to run single os and work as one pc
05:51I seen one project based on Linux forgot name of it.
rebolek
05:54@viayuve You can split the work between two servers, but I haven't heard of a project that let's you use two computers as one. Which of course doesn't mean it does not exist. If you find it, let me know.
Oldes
06:19@viayuve for what a purpose? If it's for serving pages, than it's quite common to have multiple computers to look like one - each on different continent for example. I don't know how to have single OS on multiple computers. Sorry.
rebolek
06:21OS should certainly run on both machines, but there may be some layer that could split the work somehow.
viayuve
08:42After googleing for while here something I was able to find the name was beowulf and microwulf and ssi all are cluster that was the thing I guess I was looking for I will setup one and see if it work out for me @rebolek @Oldes
Oldes
08:49@viayuve I wonder what is your use case, because such a cluster solutions are just _[for special kind of work](https://askubuntu.com/questions/624994/what-can-a-beowulf-cluster-help-process )_.
viayuve
10:00Trying to distribute oracle database work load @Oldes
10:01Or maybe move data from oracle to mysql
10:03Database in memory are they way faster than database on disk ? @Oldes @rebolek
rebolek
10:03@viayuve they are much faster, but have other downsides.
viayuve
10:05Should I move from oracle to open source database? Are they better?
10:05@rebolek
rebolek
10:06"better" is very subjective. And I have no experience with Oracle.
viayuve
10:06Dang it
rebolek
10:07I don't know what you want to use the DB for. How much data you need to store, how often do you need to read and to write, what kind of data...
viayuve
10:12Data storage most in number and text no video and image not more than 5 gb of data when I compress the dump it
rebolek
10:12And how much users will access it simultaneously?
viayuve
10:13Compressed dump 700 size
10:1410 user 15000 transactions per day max
rebolek
10:14I believe you should be fine with MySQL/MariaSQL.
10:14It can handle much more.
10:15There's no need for in-memory DB with 15k transactions.
viayuve
10:16Thanks bro I will look into both oracle cost is pain in the a»
rebolek
10:17@viayuve they are basically the same DB, MariaSQL is fork of MySQL. There as license differences, IIRC.
viayuve
10:31Does using mysql on small business cost? Like oracle Linux support cost $6000 and database cost more@rebolek
rebolek
10:32@viayuve no, it's free
10:32you can pay someone for support, but you don't have to. It's easy to set it up.
viayuve
10:36If its 100% free than I can save some good $$$ yey I will look in more licence and pricing @rebolek
rebolek
10:36License is GPL2.
10:36It's open source software
viayuve
10:39https://www.mysql.com/tcosavings/
10:40They do have support charges cheaper than oracle cool
rebolek
10:41If you need their support. You can also install and run it yourself for free.
viayuve
10:46Nah I am buying for client and trying to reduce IT expenses so I will suggest them complete facts so they can decide for themselves hiring extra person is big no for them. In that case buying support will be good idea
rebolek
10:47Ok, I see.
viayuve
10:48Thanks for help brother.
rebolek
10:49you're welcome
13:40I was very chatty last week
>> print-top top-chatters/last-7days                                                                                                                                                          
1. @rebolek - 103                                                                                                                                                                             
2. @9214 - 75                                                                                                                                                                                 
3. @endo64 - 34                                                                                                                                                                               
4. @nedzadarek - 33                                                                                                                                                                           
5. @guraaku - 32
jaroet
20:17If you use Oracle now postgresql might be a better fit then MySQL. Working for almost 4 years with it now, and it is very stable.
Oldes
20:39I also found PostgreSQL better than MySQL. But that was years ago. I liked its procedures. Now it may be possible in MySQL too. Don't know... I am not in DB business.
20:40Of course they have it now -> https://www.w3resource.com/mysql/mysql-procedure.php
20:42This may be worth reading https://blog.panoply.io/postgresql-vs.-mysql
BeardPower
21:13@viayuve Yes you can. Its called virtualization. There are, mostly academic, projects implementing special kernels, which abstract the local as well as remote resources as one big CPU with unified memory, storage and so on.
21:16Processes can be snapshotted and transferred around the net. You would only see e.g. a terrahertz CPU with 10TB RAM, 10k TB storage and one big mindboggling GPU. NVLink is just doing that: one virtual big GPU, but these specialized kernels can do that beyond local boundaries.
21:17Using IPFS storage solutions would give you one big cheap virtual harddrive.
21:18A computer on the "blockchain/cloud".
21:48A Beowolf cluster is just a cluster made of off-the-shelf components. You will not see the machines as one Operating System. You just spread the load throughout the machines of the cluster. They all run their own OS. To see it as one OS you need to write your own as outlined above.

x8x
12:42@viayuve PostgreSQL is generally considered a better db than Mysql, thought, if you plan to use Rebol to connect with it, the Mysql driver works well. Between MariaDB and Mysql, if you don't mind the licensing, I suggest you go with Mysql (latest version 8 also supports JSON directly), MariaDB is updated more frequently but is way behind featurewise.
nedzadarek
13:13@lepinekong_twitter
> @rebolek it's not about webassembly it's about the browser. Today browser is considered secure (well relatively to desktop) in corps.

If you run only HTML/CSS (not 3). And even that combination might not be secure.

> this kind of platform is probably the future https://coder.com/

It's platform to run/test code but "smaller one". The internet is not ready for bigger transfers.
lepinekong_twitter
14:25@nedzadarek nothing is absolutely secure, but the argument is when it isn't secure, it happens in the browser sandbox. This means you suppose Google engineers are more trustable than the rest of the world ;)
14:26@nedzadarek I'm talking about the future. But already in Europe and US internet is no problem since you can now even rent super gamer pc on the internet :) https://shadow.tech/int/
nedzadarek
14:451) I'm not fond of Chrome. Last time I used it, it had nice features but it was "bloated". Virtualisation is nice but I think we need something much smaller.
2) A few Mb is not a problem but we are talking about, let's say, 100+ Mb/s... few hours per day... thousand users.
rebolek
18:44@lepinekong_twitter even if there will be Red for browser, there will Red's sandbox anyway, because of its multiplatform nature. So you'll get twice the security that way :D
18:57Internet is "no problem", but connecting to shadow.tech is. Ping takes long time sometimes and some packets are lost. Local is local.
BeardPower
Oldes
21:17@lepinekong_twitter I was traveling in EU this summer and although the situation is better, internet is still problem in many locations. And I even don't have to travel. When I have 500kbps upload from home, I may be sure that all neighborhoods must be sleeping or dead. When I have 125kbps upload, I can say that it is going very well:-) I'm in location where are no cables, only some old telephone one which is now used for ADSL. But I don't pay much on the other side:)
BeardPower
21:34LTE gen 4/5 for the win.
21:35Red for the browser? What is that crazy talk? :-)
Oldes
22:18Let's talk about something else... I know that I/O is late in Red... I'm playing with the idea of ports for my binary [read/write tool].

Let's say, that I could do:
stream: open io://
write stream [int32 6523 string "Hello"]
;which would create binary: #{7B1948656C6C6F00}


So far it is good, but how to read data using the structure?
read/??? stream [int32 string]
;could return [6523 "Hello"]


But HOW to name the needed read refinement ????
22:21So far I was using this Rebol code for the same data:
s-out: make stream-io []
s-out/writeUI16 6523
s-out/writeString "Hello"
probe head s-out/outBuffer ;== #{7B1948656C6C6F00}

s-in: make stream-io []
s-in/setStreamBuffer copy head s-out/outBuffer
probe reduce [s-in/readUI16 to-string s-in/readString] ;== [6523 "hello"]
22:23Or could I use different action to read the data from stream with specified format?
nedzadarek
22:24@Oldes read has /as refinement for encodings:
/as          => Read with the specified encoding, default is 'UTF-8.
        encoding     [word!]
22:25Maybe you could change encoding to allow [word! block!]?
Oldes
22:30Wouldn't it be confusing? What about using select? But there is again confusing docstring.
22:32Hm... select would be even more confusing... and it could be also reserved for some other functionality with stream.
22:34Maybe it is more problem with the documentation (how to cover different cases for various types) than implementation, which would not be so hard.
22:35If I would use read/as what name should have the current encoding variable?
nedzadarek
22:38@Oldes I don't think so. You could write read/as STREAM int32 - I would assume that int32 is some kind of encoding. It's ok for now. read/as STREAM [int32 string] - are you reading int32 or string? I don't think it's *possible*. So maybe int32 **then** string? Make sense.
I think you just need to teach them. In my opinion, it's not far jump from read/as file encoding to read/as stream [type1 type2].
22:40:point_up: [5 września 2018 00:35](https://gitter.im/red/chit-chat?at=5b8f08aff5402f32aadb323f)
int32 or string looks like encodings, so I guess the name should stay.

9214
05:17@Oldes slurp , tap
lepinekong_twitter
06:57@Oldes you know EU is much bigger than even US and if you choose to take vacation when there is no communication fine for you ;)
06:58@Oldes Paris is 50 Gb on Mobile, in fact I don't even use my home connection any more.
07:00@Oldes Even in Cambodia 4G is very widespread for 10$ a month, some are now offering 4G+ and 5G is coming in 2020 if I remember.
rebolek
07:00Ok, so in Paris and Cambodia there is fast mobile Internet, but in Czechia you get like 600MB data cap for 10$.
Oldes
07:15@lepinekong_twitter I have mobile, but I have just a tariff with 6GB traffic limit per month (which is more than ordinary people in the Czech Republic have, I believe) Good for normal work and music streaming, but for playing games on services like _shadow.tech_ ? I can automatically update it in 2GB steps, but it is quite expensive. Maybe in Paris it is cheaper. Don't know. But as I said... it is much more better now... but I quite miss the days, when we were searching for free wifi hotspots to read/write mails:)
rebolek
07:17@Oldes 6GB is basically impossible for ordinary people like me.
Oldes
07:19Friend of mine was 3 months in Peru and he was surprised how cheap and fast internet he had in the jungle... but I think the reason that it was fast, is that he could be just the only one in 100km radius using it:) Still what he said, it was much cheaper than here in the middle of EU.
rebolek
07:20I believe that there's better and cheaper mobile net on Moon than in CZ.
Oldes
07:21@rebolek but at least you are sitting at fast wifi AP ;-)
rebolek
07:23@Oldes fortunately yes :) Which reminds me that I should call my provider, he showed up last month that he wants to change some routers and will call me tomorrow and I haven't heard from him since then :)
lepinekong_twitter
07:42@rebolek you should migrate in Cambodia that's what I intend to do: summer 365 days of the year ;)
rebolek
07:45my money printer is broken right now unfortunately
Oldes
08:01@9214 _action!_ is used for all datatypes, so I don't think Nenad would add actions with names which I personally had to look out in a dictionary... I think that read/as is not so bad. And of course... whou know what Nenad have in his notes for full IO in Red.
9214
08:30@Oldes okay, I thought you're asking about some cool naming.
rebolek
09:47@maximvl
>> foreach message qobom messages [keep ['author 'text] where 'sent > (now/date - 30) and 'text contains "news"][print [#"*" message/1 #"-" message/2] ]
* greggirwin - For Rebol, the official %json.r (from json.org) is the way to go. For Red, if the one in the wallet code does all you need, that's my first choice. But, the great news is that there's work underway on an official JSON codec for Red, so stay tuned.
* alexbaban_twitter - This might not be a bug in Red, but a compiled macOS Red executable, can't read/write to files in latest Sierra. If I launch the program from console it works, but errors if is compiled. Anybody knows a workaround or any news about being fixed. Thank you. https://github.com/red/red/issues/3207
* maximvl - what's the news? :D
* gltewalt - There was a 'in-progress' announcement.
https://www.red-lang.org/2018/03/red-foundation-news.html
9214
10:02@rebolek is there a reason for denoting structure fields as lit-word!s?
10:03Their relation to keep, where and other keywords makes this tick a bit redundant IMO.
rebolek
10:04@9214 the main reason is that they can't collide with keywords then.
9214
10:04Indeed, but then again - field word is allowed only between keywords.
10:05Nvm, on the other hand, it makes your queries visually distinctive.
rebolek
10:05You're probably right, maybe I could allow both forms.
9214
10:07I think you can relax it for blocks, as in [author text].
rebolek
10:08I actually thought it was that way.
10:15Hm, that's a bug. It's fixed now.
9214
10:17:bug: :hammer:
viayuve
10:23How its possible people can kill @9214 the bug how to fix @rebolek the bug kinda confusing
10:24People can fix the bug lol
10:24They can't
rebolek
10:24It was my bug and I fixed it.
viayuve
10:25You mean killed it 😂
rebolek
9214
12:20@maximvl

> somehow our mind is set on destruction

Read Becker's 'Denial of Death' :wink:
maximvl
12:26>The Denial of Death is a 1973 work of psychology and philosophy by Ernest Becker
12:26in my experience both psychology and philosophy make no sense, so I won't read it)
9214
12:27On the contrary, all what he said makes perfect sense (to me, personally).
maximvl
12:27but I see people denying many things, not just death
12:28I'm not saying it's bad or anything, because I didn't read it :D
12:28just why I will not
12:30but denial of death shouldn't end up with a doomsday device, quite the opposite, I think
greggirwin
21:01Read/as seems like a good choice, as using a block for the refinement arg can then be dialected, possibly using a scheme name as the first value. If you put the rules in the codec itself, parsing streams incrementally will be ugly.

codenoid
06:28can i change a CHANGELOG.md without waiting the new version of software ?
06:30there is some broken code in CHANGELOG.md

lepinekong_twitter
12:20Why some languages take off example of nodejs from which Red community could reflect upon :)

The community first just ignored original hacker news thread announcing Node received zero comments and only got 8 points. If you know anything about Hacker news that's not exactly an overwhelming response. Once people did start paying attention to it their response wasn't particularly charitable towards the project.

Ryan was facing a decidedly uphill battle though most developers had to use javascript on the browser with regularity. Many were not comfortable with the idea of running it on the server.

In January 2010 Isaac Schlueter created a package manager he called NPM the Node package manager. Another early days boon for note came from synergy with a small obscure database project MongoDB in early 2009.

The MVC framework ExpressJs was released in November 2010 by T.J. Holloway Express was in many ways NodeJs for the masses.

Many of the new breed of know Js developers those who adopted the platform after 2012 or so adopted the platform not because of node's runtime but because of its ecosystem and the speed and ease with which they could build applications with tools like Express and with the plethora of available NPM modules without having to learn code itself or care much about how it worked.
12:23The programming influencers are the one on server side to convince (so robustness security and performance is key), I myself really miss an equivalent of true lightweight http/http2/websocket server on Red:
https://i.imgur.com/VIpD01f.png
rebolek
12:27> I myself really miss an equivalent of true lightweight http/http2/websocket server on Red

Do not forget that Nenad is author of Cheyenne, lightweight webserver written in Rebol. Red just dos not have required features yet.
nedzadarek
12:46@endo64
One of the users asked to clarify this:

> "Dependent types allow types to be predicated on values, meaning that some aspects of a program’s behaviour can be specified precisely in the type."

Here was my answer:

In "normal" languages if you want to add 2 vectors they must be the same length (let's just assume this for simplicity). You will do something like:
f: func [v1 [vector!] v2 [vector!]] [
 either (length? v1) = (length? v2) ["do something with vectors"] [error "not equal"]
]

With dependent types values are in types. You need specify dependent type like this vector! LENGTH. So, in pseudo code, it would like this:
g: func [v1 [vector! N] v2 [vector! N]] [
  ; do something with vectors
]

Or adding 2 vectors: `vector! N vector! M => return vector! (N + M)
endo64
14:43Thank you @nedzadarek, reminds me https://github.com/red/red/wiki/%5BARCHIVE%5D-Vector-Element-by-Element-Arithmetic
nedzadarek
15:10@endo64 interesting approach (language design) takes [the J](www.jsoftware.com). You can "do things" with a collections of the same length. It will just do things with n-th element, a/1 OP b/1, a/2 op b/2 etc:
1 2 3 * 4 5 6
4 10 18

Or you can "do things" with a collection and a scalar (1 value). It will "do things" with every element of that collection and a scalar:
1 2 3 * 2
2 4 6
15:11ps. it's more complicated but at the level of vector/scalar it's easy.
9214
15:15@nedzadarek the thing you talk about is called a rank. * has a rank of 0 for both operands, which means that it operates on individual atoms and produces a result with a shape (another concept) of the larger operand. Which means that your explanation is a bit misleading - * always operates element-wise, unless you explicitly specify rank with ".
nedzadarek
15:18@9214 Yes, I just didn't want to introduce too much concepts. It meant to be relatively easy to read.

guraaku
00:01given the subject of Idris and dependent types.... here's a plug for some stuff I wrote a while ago :)
00:01http://streborgcomputing.blogspot.com/2015/04/the-what-and-why-of-dependent-types.html
00:02there's a series of posts that just go through the basics
greggirwin
00:19@guraaku, very nice.
guraaku
01:19thanks @greggirwin . hehe that was before Red took my interest !
01:20but I'd like to get back to Idris/dependent types at some point. The idea of being able to write provably correct code is very attractive

nedzadarek
12:22@BeardPower
> The only difference is the abstraction on how you can write to memory.

That's what I'm talking about. With the BF you do most of the things. With the Red you just say "I want block" and the language/compiler/magic-system/WHATEVER do it **for you**.

> No, memory management is not done by the language.

Of course you are right. The language is nothing more than set of rules. It cannot set even 1 bit. What I mean is that the rules (of the language) describes that if we write, for example, [42] the compiler/interpreter/magic should put an information that you have created a container with a number 42.
... but do I have to be that precise?
9214
12:25The only winning move is not to play.
BeardPower
12:29@nedzadarek And what is your point? Red is different to any other language because of that.
12:30No, you don't have to be that precise, but if you say that Red is similar to X it's not true, because of the way it works under the hood.
12:31[42] vs. int a = 42; -> how is that similar?
nedzadarek
20:07@BeardPower
> And what is your point? Red is different to any other language because of that.

There are languages with similar feature - so it's not that only Red/Rebol have collections that you don't need to "describe" as in the C. And it's only one feature. There are more features. You may see one feature in 10 languages. Another feature can be only in the Red/Rebol.

> because of the way it works under the hood.

I don't think it's not "work under the hood". Correct me if I'm wrong but when you say arr: [42], any implementation of the Red should allow this construct and an access to that block (e.g. print arr/1).

> [42] vs. int a = 42; -> how is that similar?

Where have I written this?
BeardPower
20:10It's not about features but about the completely different concepts of Red.
nedzadarek
20:11@BeardPower but some concepts of the Red is not completely different.
BeardPower
20:11You did bit, but it was to point out the different concepts not the syntax alone.
nedzadarek
20:12^^ where?
9214
20:13@BeardPower humans and cats are the same, because both are mammals, don't you see?!
ne1uno
20:14!= bad <> good, ++ bad incr good, get with the program
nedzadarek
20:15@9214 why do you think they are the same?
9214
20:15Oh boy. Do I?
nedzadarek
20:16Yes..
9214
20:17Well, I can ask the same question to you.
nedzadarek
20:18No, you cannot.
9214
20:19But I did, only not about cats and people.
nedzadarek
20:21@9214 I not even once said that something is the same.
9214
20:23@BeardPower point is, my sweet purple kulebyaka, that cats and people are *not very different*, as long as both have skeletons and, say digestive system, or live on the same planet. Some men with whiskers are even not *quite* different from cats! See? See?!
BeardPower
20:26@9214 Sounds convincing.
9214
20:26@BeardPower damn right. The only question any self-respective men should ask himself now, then, is "when exchange?".
BeardPower
20:37@9214 After lambo?
20:37HODL!

gltewalt
00:07How similar or different is lambo and vw?
toomasv
04:16"Similarity" is a vague concept, and without determining more exact criteria it is purely subjective to declare two things "very" or "somewhat" similar or "not similar at all". There are lot of red herrings flying around here.
greggirwin
05:24@toomasv +1.
9214
09:39@toomasv no question in that.
planetsizecpu
10:36Haha, Take a tennis pack and take out two balls, one in each hand. They are identical? Surely, a player would answer that. By putting them under a microscope you would see that on their surface they are different in everything, except in color, a scientist would answer that they are not, so it depends on who interprets. :)
BeardPower
11:03Science!
11:04@planetsizecpu And again we are down to level of abstraction :smile:
9214
11:04Pitchforks!
BeardPower
11:05@9214 Very heavy gold!
11:07Speaking of Gold: https://www.silverdoctors.com/gold/gold-news/the-ultimate-gold-infographic-the-worlds-gold-reserves-supply/
11:07Very interesting infographic.
rebolek
11:08that's all?
BeardPower
11:08Yep, all there is in the world.
11:09Amazing, isn't it?
rebolek
11:10Yes, it's not that much.
BeardPower
11:10A cube with a side lenght of 30m.
11:10And the amount of trucks you need for transport... one truck and so little Gold.
9214
11:12Can't breathe.
BeardPower
11:12Here is the more detailed and original stuff http://demonocracy.info/infographics/world/gold/gold.html
ne1uno
11:13+all the gold on electronic connectors and landfills
BeardPower
11:14@ne1uno It's already included.
11:17Cube with 20.5m side-length is mined, 30m is estimated amount of all gold there is.
11:17Tiny little cube.
11:18@9214 You are not a good leader then ;-)
rebolek
11:18Now we need to find gold asteroid. Even a small 100m one, would be nice.
BeardPower
11:20They have awesome infographics. Even crypto compared to fiat
11:20http://demonocracy.info/infographics/world/lqp/liquidity_pyramid.html
11:20@rebolek The gold price would dump to extreme levels.
rebolek
11:21@BeardPower yeah, but gold-coated connectors would get much cheaper then :)
BeardPower
11:23That's true and I finally can mint real Bitcoins made out of gold.
rebolek
11:23See? It's a win-win.
BeardPower
11:23Red-Token made from Rose-Gold :+1:
11:24It would be worth nothing but look great.
ne1uno
11:24nickel or titanium just as good and more likely
nedzadarek
23:32@BeardPower you compared book with programming language. Here is a thing you may find interesting: esolangs.org/wiki/Text
9214
23:35@nedzadarek by the way, traditional Forths treat any set of non-whitespace characters as a valid token. Which means that you can treat any ASCII text as a program, provided that you have all the necessary words defined.

nedzadarek
00:22@9214 interesting. Non-printable as well?
It reminds me of BF - everything that is not valid symbol is treated as comment.
9214
00:25@nedzadarek in classical implementations the only valid separator is an ASCII space character.
nedzadarek
09:31@9214 it's interesting but it can mess up the text. As fair I remember, in the Ruby we could delete some characters using ASCII control characters. I think it was only deleting characters in the output not the source.
BeardPower
09:37@nedzadarek Yes, I read about this language. I compared it to a book because both are made of text, but the book will not program a computer. So they are not comparable. They are only comparable regarding the usage of letters.
09:38How the text is used is the important and different thing.

9214
22:25@toomasv https://wiki.sagemath.org/interact

gltewalt
01:42“Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.” - Stan Kelly-Bootle
toomasv
02:41@9214 Very interesting! Will study. Thanks!
greggirwin
04:05Stan Kelly-Bootle is always great.
nedzadarek
11:05I wonder how it would work with 0.5 index.
@gltewalt
> Start it at pi - or do you think that's irrational?
https://mobile.twitter.com/Luckdancing/status/806658794663067650?p=v
BeardPower
17:35@nedzadarek By multiplying it by 10 and dividing it by 5 :-)
nedzadarek
22:22@BeardPower like this:
f: func [n] [print "half - whole" repeat i n [print [i * 0.5 " - " to-integer (i * 0.5 * 10 / 5)] ]] f 10
comment {
half - whole
0.5  -  1
1.0  -  2
1.5  -  3
2.0  -  4
2.5  -  5
3.0  -  6
3.5  -  7
4.0  -  8
4.5  -  9
5.0  -  10
}

?
9214
22:41
text
nip: function [vector index][
    floor: at vector unit: to integer! index
    any [
        attempt [floor/1 + multiply floor/2 - floor/1 index - unit]
        floor/1
    ] 
]

probe nip [1 3 7] 2.75

comment [
    2               3
    0%  25% 50% 75% 100%
    3   4   5   6   7

    add 3 7 - 3 * 75%
]
nedzadarek
23:42@9214 I don't understand the math in 100% but I "get" what it does. When I've been looking for 0.5 indexing one person mentioned this (index between whole number acts as interpolation).
Hmmm... for index < 1 it output 1st index (even for index < 0).
9214
23:43@nedzadarek it's because of how at works with negative indices.
23:44
text
>> block: at [a b c d] 3
== [c d]
>> at block 1
== [c d]
>> at block -1
== [b c d]
>> at block -3000
== [a b c d]
nedzadarek
23:59@9214 I wonder if there were some reasons to do this with at.

9214
00:01It's like that with all other indexing operations. The resons is because you, sometimes, need to move a series index in both ways.
>> block: at [a b c d] 3
== [c d]
>> block/-2
== a
>> skip block -2
== [a b c d]
00:13@9214 reason*
nedzadarek
00:37@9214 nice, it even work with things like copy/part (but I guess it's just clever trick like swapping the indexes)

a: [1 2 3 4]
a1: at a 3
; == [3 4]
a2: at a -2
; == [1 2 3 4]
copy/part a1 a2
; == [1 2]
9214
00:54@nedzadarek yes, copy handles it by swapping indices around (see [here](https://github.com/red/red/blob/master/runtime/datatypes/series.reds#L1114)).
nedzadarek
07:58@9214 nice, thank you.
BeardPower
11:42@nedzadarek Yes, but the 0.5 index was nothing but a joke.
nedzadarek
12:06@BeardPower at first I thought it was an experiment (I don't know the author).
BeardPower
12:08IIRC it was just a joke, because it would not make any sense to use fractionals as an index.
nedzadarek
12:12@BeardPower yes, "fractional as index" doesn't make sense to me too. As for normal indexing. As Vladimir shown :point_up: [17 września 2018 00:41](https://gitter.im/red/chit-chat?at=5b9edc06b9531f2dfa785b37) we can use it for interpolation.
BeardPower
12:14Yes, but its interpolating the value, so you just interpolate it directly without the need to use an index. Linear interpolation does not need an index and using an index for interpolation is all but logically.
12:15There is no 2.75 place in a racing event.
12:16It's meaningless.
12:17Accessing memory at the 4.33 cell index. What exactly would that be?
12:17Its physically impossible. Even virtually it makes no sense.
12:20Even in @9214 's example it shows it's uselessness. It only works because the index value is floored, which is just creating an integral value again. If it would be usable, there would be no need for this step.
12:21The solution is asking for a problem.
9214
12:22@BeardPower breathe, otherwise your face gets purple.
nedzadarek
12:30@BeardPower
> Accessing memory at the 4.33 cell index. What exactly would that be?

If you have:
arr: [
  [1 2 3 ..]
  [1 2 3 ..]
]

and you can just arr/2/3 to get 3rd value from a 2nd block. Index 2.3 could mean the same as .../2/3. I prefer normal indexing (arr/2/3) but you asked. And we have path that I can do more than mere float!.

To be honest it might not be good for lot of people but for few % might like it and need it.
And... it might not make sense to me or you but it's nice to experiment. You can see how far you can push the language or your knowledge about given subject. Sometimes stupid idea leads to interesting innovation.
9214
12:35@nedzadarek I finally remembered [where](https://github.com/xunker/array-subindex) I saw this before.
12:36Even Kelly-Bootle's quote is there. :wink:
nedzadarek
12:40@9214 I guess we need to make Red's version (and add more types).
BeardPower
12:42@9214 Which means FULL THROTTLE AHEAD
12:44@nedzadarek 2.3 would just be a different syntax, it still boils down to integral indexes.
12:45path! has nothing in common with float!
nedzadarek
12:50@BeardPower
> path! has nothing in common with float!

I mean usage of float!/integer! vs path!. With number you can just pick position. With path you can do more:
- number indexing: 'arr/1
- sub-indexing 'arr/1/2
- using words as index 'arr/foo
- you can index by other types, e.g. paren!: 'arr/(:foo)
BeardPower
13:08A path is also using integers, but this little detail aside. integer! and float! have a complete different usage and meaning compared to path. It's like comparing apple with oranges.
nedzadarek
14:55@BeardPower Yes, of course: an apple and an orange. An user need to choice right tool for a job.

BeardPower
17:08Is someone going to Strange Loop Conference in St. Louis September 26-29?

BeardPower
15:42@moliad Here! :-)
15:44@moliad Your scene-graph sounds great! Is it suitable for UI widgets? The issue with SGs is, that they can get very slow compared to independent structures. I like to use an ECS (Entity Component System).
moliad
15:46hehe yes, I built a complete gui engine with pixel precise auto layout, full dataflow driven back end and a new multi-level stream based event engine . its all part of the glass package here:
15:46https://github.com/moliad/glass
15:47https://github.com/moliad/glass-libs
BeardPower
15:47Thanks! I will look into it.
I wanted to create UI widgets for Red with a "gob" approach.
moliad
15:47though the examples are not representattive
15:47It has been used in commercial apps, and the whole design and engine will be ported to Red in successive steps.
BeardPower
15:48Sounds great!
moliad
15:49right now we're working on the slim layer, which is used by all of my serious code, and then we'll intergrate the liquid dataflow engine natively, which will give red the full high-end dataflow engine it deserves. liquid includes lazyness, pull based computing, user replaceable event manipulation (allowing cyclic graphs!)
BeardPower
15:50Will you implement performance-critical paths in R/S?
moliad
15:50not sure what you mean by that?
15:50ah.. R/S its all built in R/s
BeardPower
15:50Yes, Red/System.
moliad
15:51(well everything we can at least)
BeardPower
15:51Awesome.
moliad
15:51its a new datatype, actually replacing the current Reaction system.
BeardPower
15:52So the graphics can be created without having a window face?
15:52The window face is created by your engine, so to speak, and not using the OS API?
moliad
15:52the current gel/glob engine output a block of draw commands. it could be retuned to output any kind of data... even do direct OpenGl calls
BeardPower
15:53Nice. Like Blend2d. It's just rendering into a buffer.
moliad
15:54we simply manage the drawing graph, how the drawing is done, will depend on what is available at that point... a definite goal is to target an asm.js visible canvas if Red ever gets its asm.js back end.
BeardPower
15:55Time to get started on a Vulkan backend ;-)
moliad
15:55I genuinely thing the Red Draw back end could be sufficient for now. VULCAN, that would be really cool for Glass.
15:55it would mean gaming directly :-)
15:57all we'd need is a gaming back end run-time to manage the event loops, and triggering the various out-of-graph manipulations like particle and rigid/softbody dynamic simulations.
BeardPower
15:57I made some benchmarks comparing the current rendering backends of Red (GDI/GDI+, D2D) and the Kha engine. It's sufficient for smaller projects but no comparison to a modern Vulkan/DX12 engine.
moliad
15:57obviously
15:58I have a game all designed, waiting for the Red back end to be finished :-)
15:58I seriously don't want to code it in C# or C++
BeardPower
15:59Yeah, too much bloat. All the compiler set-up and cross-compilation issues.
moliad
15:59though integrating Red into a C codebase takes literally 30 minutes from download of Red to reading the docs and compiliing it with a working PARSE within your C app.
BeardPower
15:59Not to speak of all the boiler-plate code.
moliad
15:59yep.. why I abandoned the Ogre3D work I had started last year
BeardPower
16:00libRed is great, but honestly I don't want to use different languages.
16:02You wrote a Red parser for C?
16:05You did not use libRed?
moliad
16:05no, I use Red's PARSE within my C app to manage user interactions.
16:05via libred
BeardPower
16:07But how did you integrate parse in C without using libRed?
moliad
16:07after 2 weeks, I still can't use Apache's Tika (via JNI) ... which puts things in perspective
16:08for PARSE, I use libRed :-)
BeardPower
16:09Ah, sorry. The "no" was regarded to the Red parser in C.
16:09Yes, integration is fast. You don't really want to touch that other stuff any more after working with Red for a while.
moliad
16:11unfortunately, real world work forces us to integrate in other things... which is why I am forced to drop R2. Red already has some Java and CLR integration. Being Open source, I can always integrate other tools into it.
BeardPower
16:13Yeah, the best tech is not always the most successful one. Unfortunately we are forced to use crap just because there is no alternative. The big-boys have too much influence, so we are flooded with crappy software.
16:14I need to use Adobe products just because it's a "industry" standard....
16:14Not talking about the Microsoft stuff ;-)
moliad
16:15yeah... fortunately, some good open source tools are starting to pop up... Krita, Inkscape, Red, etc.
BeardPower
16:15Yes. I like the products from Affinity. Very affordable, fast and feature-rich and no subscription based crap.
16:16Hardware is also going to change. Thanks to RISC-V and Mill.
16:17Java and CLR -> not hot ;-)
moliad
16:17but ubiquitous :-(
BeardPower
16:17Microsoft does not even care to provide a UI lib for .Net core.
16:18Yes, unfortunately.
16:18We need to get back to the great C64/Amiga times.
16:18Which is possible.
moliad
16:18ah, my trusty, black A1200 soo much fun
BeardPower
16:19Time to get this stuff into the actual generation :-)
9214
21:07@nedzadarek https://code.jsoftware.com/wiki/Fifty_Shades_of_J
21:25Btw, I'd recommend to tinker with your color spaces project in J, here's a RGB to CMYK conversion :wink:
(1-%,255%~])>./
nedzadarek
21:32@9214 nice
For now I want to upload some old projects. I need to fix that color picker (I have yet to read your and Greg's posts - not enough time and not "fresh mind"). I have Rebol's Voronoi that I need to transfer (Red and Rebol have different event (mouse clicks) detection). So, for now I want to stay in my "comfort zone".

Oldes
10:09@moliad just courious.. when you are using C apps with libRed.. why you have not used Rebol3 for it when it was open sourced 6 years ago?
10:11Is it because libRed is easier to use without need to deal with os host devices and othe stuff which is needed in R3 lib?
pekr
11:50Maybe becuase while it was OSed, Carl abandoned it and there was no direction back at that time, unless later, HF took over and produced a Ren-C variant?

Oldes
09:09I'm designing streaming dialect and have a dilemma, which keyword to use for changing position in buffer... if at or seek? Any opinion?
09:09So far the usage looks like:
bincode/read b [pos: INDEX  SKIP 3  len: UI16  AT :pos]
09:10But I don't know, if this would not be better:
bincode/read b [pos: INDEX  SKIP 3  len: UI16  SEEK :pos]
09:11In this case, the DSL stores initial position, skip 3 bytes, read length value encoded as UI16 and resets the position back.
rebolek
09:13GOTO?
Oldes
09:13That is not exactly the word common in Redbol dictionary.
rebolek
09:15that's not, but it fits there
Oldes
09:16Isn't seek the same and used already in read?
rebolek
09:17Yes, it's used read. It's certainly more fitting than at.
Oldes
09:18Maybe russian speaking friends here will tell me, which english word suits better ;-) Looks like seek is winning now.
rebolek
09:19I would vote for goto. ;)
Oldes
09:21Counted.
09:28And when I'm in it... I never know, if I should use length or size or with ? at end. In this case, I want to be able to return number of bytes in buffer.... like:
bincode/read b 'length?
09:30Maybe I should use size? for complete size of the buffer and length? for number of bytes from current index.
09:30But than... maybe I should also use index? instead of index in code above.... it is so hard to define the wording:/
09:32Or using at instead of index? grrrr.
BeardPower
10:26seek is not catching it, as its the action to go to the position, not actually changing something AT the position.
10:27So I vote for at: read something AT position x.
10:28read 'length? Also not catching it. read 'amount would be better.
10:31length is a geometric measurement ; a dimension of an object.
10:32How many coins do you have? You wouldn't answer that question with "3cm/3inches". ;-)
10:33size would also fit, but length is a no go.
nedzadarek
10:33@Oldes I'm not native speaker (Polish) so take it with a grain of salt.
I think at or goto is better than seek.
[seek](https://dictionary.cambridge.org/dictionary/english/seek):
> to try to **find** or get something

To me it's more vague. For example:
> If symptoms persist seek medical attention .

What kind of "medical attention"?

[at](https://dictionary.cambridge.org/dictionary/english/at)
> used to show an **exact** position or particular place

So it's more precise than "seek". A problem with "at" is it doesn't "talk about tense" (past, present and future).
In the Rebol/Red (correct me if I'm wrong) it's used with the "help" of other words, e.g. head (insert (at [1 2 3 4] 2) 111). So the order is 1) you do at 2) do something with that.

"go to" there is no entry in the cambridge dictionary but from my knowledge (of programming languages) it tells you to "go to particular place in the code". I think it's more self sufficient than at. However it had "bad past" - people might not like it.
BeardPower
10:33What's your size? You dont ask someone "what's you length?".
Oldes
10:35@BeardPower but I'm used to ask:
>> length? #{0BADCAFE}
== 4
BeardPower
10:35@nedzadarek Why would "at" not having a tense be a problem?
10:37@Oldes It depends on what you want to know. Do you want to know the length of the printed/viewd word or the size of memory it needs?
10:37length and size is not the same thing.
Oldes
10:38I want to know number of bytes remaining in the input buffer. (And maybe one could also know total number of bytes in the input)
BeardPower
10:38Then you should use size.
nedzadarek
10:38@BeardPower as I said, from my point of view, bincode/read b [pos: INDEX SKIP 3 len: UI16 AT :pos] it could be read as bincode/read b [at :pos pos: INDEX SKIP 3 len: UI16 ].
Oldes
10:39@BeardPower for which version? :)
BeardPower
10:40@Oldes size for total amount and remaining? for the other ;-)
Oldes
10:40@nedzadarek you are right.. that was my problem with reading too... not exactly that tit should be at head, but related to the previous UI16 command.
BeardPower
10:41@nedzadarek But I don't even see an instance of tense.
Oldes
10:41@BeardPower I consider the dialect to be low level.. so remaining? is a little bit too human for me.
BeardPower
nedzadarek
10:44@Oldes about question mark at the end:
I don't like the Rebols'/Red's way of saying "it's a function not a variable... I mean word" (don't correct me there, I don't want to be precise). I used Ruby and it says that a function returns "truthy/falsey" value. When I read length?I read it like "is it length?" or "has it length?".
BeardPower
nedzadarek
10:45@BeardPower
> But I don't even see an instance of tense.

You won't see it with "at". "Go to" is a command.
BeardPower
10:45@Oldes on the contrary. remaining is used a lot in high level languages.
10:46@nedzadarek Same as at. Hey CPU, you will find your stuff AT a. Where can I find it AT?
10:47The ? is like a question: What is length? I'm asking for length? What is the length?
Oldes
10:47I don't like the ? in functions not returning logic too, but on the other side, my editor can show it in different color and I already have LENGTH command in my dialect which writes/reads number as a ASN.1 length tag:/
BeardPower
10:48You can redefine length? to whatever you like.
nedzadarek
10:49@BeardPower but you can do it in the all tenses, e.g.:
- I have found a book at bookshelf
- I will find a book at bookshelf
- The book is at the bookshelf

With "go to" you have to change it ("went to", "will go" etc).
10:50> The ? is like a question: What is length? I'm asking for length? What is the length?

By this logic lots of things should end with "?".
BeardPower
10:50You just did the same with using at in the sentences above. What do you expect? The former is a property of space and the latter a verb.
10:51@nedzadarek Which things?
10:51Properties and which "?".
nedzadarek
10:51@BeardPower but with at you have to use other "things". "go to" is self-sufficient.
BeardPower
10:52@nedzadarek That's why it's more useful.
nedzadarek
10:52
obj: object [
    a?: 1
    b?: 4
    sum?: does [a? + b?]
    ]

BeardPower
10:52sum is not a property.
10:53sum does not describe anything, but size and length do.
nedzadarek
10:53> That's why it's more useful.

Yes but it should be used with other things, in my opinion.
BeardPower
10:54It is used with other things: change X at 1.
10:54Its a natural sentence.
nedzadarek
10:55Oldes doesn't use natural language.
10:56@BeardPower
> sum is not a property.
sum does not describe anything, but size and length do.

But you ask a question "sum?", "what is a sum?"...
BeardPower
10:56He can use whatever he wants. The good thing about Red: you can redefine anything to your liking.
10:56No, I don't as for a sum but tell to calculate the sum.
nedzadarek
10:56@BeardPower yes, but with this version:
> @BeardPower as I said, from my point of view, bincode/read b [pos: INDEX SKIP 3 len: UI16 AT :pos] it could be read as bincode/read b [at :pos pos: INDEX SKIP 3 len: UI16 ].
BeardPower
10:57size and length is an implicit property.
10:57You MEASURE the length.
10:58You CALCULATE a sum.
nedzadarek
10:59@BeardPower ok, we disagree with some things. My point is Ruby's usage of "?" is less vague than Red's.
BeardPower
10:59@nedzadarek I don't understand why it would READ like this?
11:01@nedzadarek Yes, and ADA is using it in another way as language X/Y/Z does. There is no point in creating language X with language Y. Just use language X.
nedzadarek
11:07> I don't understand why it would READ like this

I read it **not** as natural language but as some commands.

> There is no point in creating language X with language Y. Just use language X.

I'm not sure what you mean but you don't have to use feature or naming convention you don't like it when you create DSLs. Sure, you don't name something read that writes something and write when you read something. We are creating a DSLs so if a DSL has "good rules" it doesn't matter that much whenever or not it uses Red's naming convention.
BeardPower
11:11Why is seek even needed? You already specify the position you want to seek to.
11:12pos: is already the position to seek to.
11:12Or do you want to offset/seek to a position FROM a position?
11:13That's why I said that you can redefine everything to your liking.
11:14Some even use write when reading. It just depends on your PoV. Reading from somewhere means you have to right it somewhere different.
11:15Reading from disk = writing to memory.
11:16That's my assembler only has move. It describes better what you do.
11:16Move A from X to Y.
11:17It's the same misconception as delete. There is no delete.
Oldes
11:17@BeardPower seek and index are key words and are needed.
11:18You are going far over what I wanted to know :/
BeardPower
11:18@Oldes yes, but just redefine them if you don't like their syntax.
Oldes
11:18But I want start with syntax which will be logical not just for me. That is reason why I asked.
BeardPower
11:19@Oldes What did you wanted to know? You just asked for an oppinion what sounds more natural, yes?
Oldes
11:19:point_up: [original question](https://gitter.im/red/chit-chat?at=5ba8a9bc0cfe7f30f1ddcf32)
BeardPower
11:20Yes, that's why I told you what makes more sense to me. Sorry if I confused you.
11:21I would prefer AT because it forms a sentence in combination with the read function:
11:21read data AT.
11:22Instead of read data SEEK.
Oldes
11:22Yes... but in this exact case you don't _read data at_ but just changes the position in buffer
BeardPower
11:22I like the sentence structure of obj-C.
Oldes
11:24I don't like obj-C :)
BeardPower
11:25Then why you are calling your function read and not seek/go-to?
11:26As it, as you stated, does not read anything.
11:26seek to:
11:26go to:
11:27move to:
11:27set to:
nedzadarek
11:29@BeardPower are you native speaker?
BeardPower
11:29@nedzadarek Of which language?
nedzadarek
11:29English
BeardPower
11:30But just being a native speaker does not tell anything abou his/her language skills.
11:31A native speaker with grade D is different to a native speaker with grade A ;-)
nedzadarek
11:32@BeardPower Yes, but certain languages have different "mindsets". Some languages are very different.
BeardPower
11:33Sure, but depending on his/her language skills you get incorrect suggestions.
11:34A guy from the Bronx would give you different feedback as one from Texas.
11:34Or even from the UK.
11:35Hell they could not even decide to use color or colour ;-)
11:35Excitment or Excitement.
11:36So much about "native speakers" ;-)
11:37What is your target audience?
11:39Maybe you should go with the definitions of some computer science dictionary.
nedzadarek
11:45@BeardPower Yes, it's complicated but most native speakers, for example, uses "a", "an" and "the". We don't use such words.
BeardPower
11:47@nedzadarek It is. We, as non native speakers, or we, as in speakers of different languages? For me, I use a (a point), an (an elephant) and the (the goal).
nedzadarek
11:48@BeardPower "we" as speaker of polish language.
BeardPower
11:48Such words are English grammar.
11:49@nedzadarek I see.
11:50One native speakers told me one thing a while ago: they admire non-native speakers, because the majority of them speak a better English than native-speakers ;-)
nedzadarek
11:52@BeardPower "e"... I have bought dictionary, I have checked many websites... and I still don't how to spell "different version of e".
BeardPower
11:53Just check the phoentic spelling.
nedzadarek
11:53We, as non-native speakers, speak "proper English". They uses slang or something like this.
11:54> Just check the phoentic spelling.

I still have problems.
BeardPower
11:54@nedzadarek Yes, and some is just awful. You don't want to use slang on paper.
11:56I recommend using dict.cc It has a broad collection of various native speakers which you can listen to.
nedzadarek
12:01@BeardPower thank you. It has more sounds than cambridge's.
BeardPower
12:01Yes, its really nice. You can also look up the translator's CV.
nedzadarek
12:02"CV"?
BeardPower
12:02curriculum vitae
12:03life career
nedzadarek
12:03ah... so I can see what kind of speaker s/he is.
BeardPower
12:04Yes. How skilled he is, jobs, work and so on.
12:05Where he comes from, slang, accent...
nedzadarek
12:06Some CVs are good some are... non-existent. Still, it's good.
BeardPower
12:07Yes. Go with the translators who provided a CV and are from the US to compare with the UK guys.
nedzadarek
12:12Thank you for the tips.
I wish they simplify English. I hadn't had that many problems with other languages.
BeardPower
12:29You're welcome. Yeah, there are easier ones to learn.
13:29@9214 Heyho!
13:33@9214 The purpose of my "adventure" was not to spoon-fed the user, but to lead him to his enlightenment. By showing him that there is no char! type in R/S, I needed a way (well, it was not optimal by all means) to show him the difference. He did read the Red spec, but maybe not the R/S spec, so he should have noticed (by reading it), that there is not even a char! in R/S, but only byte! and that these types are passed by value, not by reference.
So as he was able to use char! he could have deduced that char! in Red (and passing it to R/S) is actually a Red type: red-chart!, which is a cell struct.
9214
13:34red-chart!, that's something new.
13:34When red-candlestick!?
BeardPower
13:34red-char!
13:35If he switches to pure R/S someday, he will run into a trap, because he assumes there is char! (struct), which is not.
9214
13:36Perhaps he confused it with C characters, which _are_ bytes.
BeardPower
13:36Maybe, I don't know. He was also asking if the passed data-types will be converted.
13:37It's a little confusing that you can pass boxed values to routines.
9214
13:37AFAIK only integers and booleans will be automatically boxed.
13:37If you pass them from R/S to Red, that is.
BeardPower
13:38Why are they even passed as boxed values? When passing it to a routine?
13:39And why even type/value?
13:39It's not the same as when working in R/S.
13:40So when someone is used to code routines he will get shot into the foot in R/S.
13:40boxed va. unboxed, char! vs. byte!
13:41R/S is NOT what you expect from routine.
13:43And /value is NOT what you expect either:
13:43
>> int: make integer! 1
== 1
>> int/value
*** Script Error: path int/value is not valid for integer! type
*** Where: catch
*** Stack:
13:44This is only something you can do in R/S.
13:47Even if it's a boxed structure in Red (a cell), you cannot access the fields in Red.
rebolek
14:14@9214 red-candlestick! you say? https://pbs.twimg.com/media/DnqLRiWX4AA8d9Z.jpg:large
9214
14:40When exchange?!
14:41@rebolek any airdrops?
BeardPower
14:48@9214 Skills!
9214
14:48https://gitter.im/red/chit-chat?at=5ba8a9bc0cfe7f30f1ddcf32
@Oldes why use keyword at all, if get-word! is enough?
Oldes
14:49Because that how dialects in Rebol and Red works. I have types and so I use them.
9214
14:51@Oldes and you can't just type [... :pos] instead of [... at :pos] or [... seek :pos] or whatever?
14:51If you use get-word! solely for the purpose of backtracking, then any other keyword is superfluous.
Oldes
14:52But I have other commands too
14:52[![image.png](https://files.gitter.im/red/chit-chat/kaNU/thumb/image.png)](https://files.gitter.im/red/chit-chat/kaNU/image.png)
nedzadarek
14:53Can anyone explain me branching with git(hub)? I have github repository in a directory D. If I want to push/commit something I can just go to the directory (cd D) and do things (git commit -m "message" & git push origin master). When I want to create & work in newly created branch do I have to copy the directory D somewhere like D2 directory? And I have to change directory to D2 (cd D2)?
9214
14:53@Oldes so e.g. :type is valid too?
Oldes
14:54Yes.
14:54But you are right, that for seek I could just use get-word!
9214
14:55I'd use jump, because pos: looks like label.
Oldes
14:55But what if the position is constant? Like seek 10 or at 10.
9214
14:55/10 refinement? :P
Oldes
14:55But it is value holding an integer, not a label.
nedzadarek
14:56@Oldes can you alias it?
Oldes
14:56bincode is a native in my case.
9214
14:56jumpToLabelOrToIndex
Oldes
14:56I could use optional names, but that would be wasting resources.
9214
14:57at is shorter and speaks for itself.
Oldes
14:58Ok... thanks.
nedzadarek
14:58@Oldes from user perspective s/he can use e.g. seek, at and goto. From your perspective it's just one word (however you call it).
rebolek
14:58@9214 these are data for RED/ETH. So no airdrop from me. :monkey:
9214
14:58@rebolek I know that this is RED/ETH, @BeardPower already showed some charts based on your data a couple of days ago.
14:59@rebolek so, are you sayin' that you're not hot..?
15:03@nedzadarek you don't need to copy anything, just create a new branch and switch to it.
15:03git checkout -b new-branch or something like that.
nedzadarek
15:03@9214 thank you
9214
15:03@nedzadarek https://git-scm.com/book/en/v2
15:05There are also versions for other languages.
nedzadarek
15:06English is enough, thank you again.
9214
15:08@nedzadarek you're welcome.
moliad
18:00@Oldes I'm using Red cause not much in R3 was an improvement wrt language itself. Red is compiled, has not devolved in the last 5 years and is part of an active community.
18:01I don't agree with (any?) changes done to R3 by hostile fork.
18:02I wish I had time to read all the Red channels.
AlexanderBaggett
18:57totally tangential conversation here, but I really like the username HostileFork.
BeardPower
20:39@moliad As promised: https://github.com/BeardPower/red/wiki/How-to-create-a-new-datatype-for-Red
20:42It may be revisioned from time to time :-)
9214
20:43http://tonsky.me/blog/disenchantment/
BeardPower
20:56Haha, awesome blog entry.
dander
21:09@9214 agree 100%
nedzadarek
21:45@9214 that's nice article. I agree with most of the things s/he said but one thing was not right.
> Modern text editors have higher latency than 42-year-old Emacs. Text editors! What can be simpler? On each keystroke, all you have to do is update tiny rectangular region and modern text editors can’t do that in 16ms.

It's not **that** simple.

And I have found this link https://medium.com/@jdan/i-peeked-into-my-node-modules-directory-and-you-wont-believe-what-happened-next-b89f63d21558
I still wonder why you cannot just copy-paste some info instead of doing call to the britanica library...

@BeardPower oh, there is a datatype tutorial for R/S. That's good. I've made UDT but in the Red. This info should be helpful.
9214
21:53> It’s true. Each installation of Babel includes a picture of Guy Fieri, and there is nothing you can do about it.
21:56@nedzadarek thanks for the link, I haven't laughed _that_ hard since a while :joy:
BeardPower
21:57MUAHAHAHA

toomasv
07:34@BeardPower Great! :+1:
9214
11:16Dependent types Ahoy! @nedzadarek, @guraaku
https://mitpress.mit.edu/books/little-typer
nedzadarek
13:03@9214 :+1:
guraaku
13:34thanks @9214 ! I might buy that !
Oldes
13:35What endianness is better as a default? Little or big?
guraaku
13:35Actually, for an introduction to dependent types, I think the Idris book is really quite good
13:35https://www.manning.com/books/type-driven-development-with-idris
9214
13:44@Oldes it depends.
Oldes
13:45That is reason why I ask :-) Probably big-endian.
BeardPower
13:45Or Middle-endian? ;-)
moliad
13:46@BeardPower thanks for the datatype document, my team will use it and report !
BeardPower
13:46@moliad Great!
13:47@moliad It's a little unpolished which will be fixed over time.
13:48@Oldes As @9214 already pointed out, both have their advantages/disadvantages.
moliad
13:49@BeardPower if you allow, we can help with it... for reference, I'm Head of R&D at a semantic analysis driven tech company, so we're rather technical .
Oldes
13:50@BeardPower I know... for net the winner is big... but is there any statistics how many common file types is using which endianness?
BeardPower
13:50@moliad Sure, help is always welcome and we can create high quality documentation with various input from different people.
moliad
13:54Once we're a bit more organised around Red, we'll start sharing back some of the stuff we are building wrt technical documenting of the tools like PARSE (state change graph), and other obscure things like charts of the structure of some of the types, as we discover them. one of the guys in my team is good at building visual representations of things he does research on, its a side-effect of how he analyses things.
BeardPower
14:00@Oldes Not that I know of.
14:03I read about Liquid on your website. Very interesting framework.
14:04Sounds good :+1:
yvern
15:38Is there a centralized place/document about community requests? I would like to know what people are asking for
9214
15:40@yvendruscolo https://github.com/red/REP
15:47Also wish tickets on the main issue tracker.
yvern
15:49Nice thanks!
rebolek
22:36@9214 Shouldn't wish tickets be added exclusively to red/REP?

greggirwin
04:31That's the modern way, yes.
BeardPower
19:20Simple yet elegant. Well, I would call it Apple n00bsauce: https://www.businessinsider.de/kids-finding-ways-around-apple-screen-time-controls-2018-9?r=US&IR=T
abdllhygt
BeardPower
abdllhygt
20:05You guys can learn my conlang from here
http://nyoku.com/LiwajaLessons.php?num=3
20:07@BeardPower how are you
BeardPower
21:45Check your state: https://monitor.firefox.com/
nedzadarek
21:57@BeardPower but he was 7 years old.
> "I'm not even mad. That's impressive."
BeardPower
22:03@nedzadarek And he grew up with this tech. Nothing really impressive about setting your clock.
22:05But that was not even my point. My point was about the ridiculous implementation Apple provided. A security feature is lifted by setting back your clock? Really?
22:06Yes! The industry finally realised that it needs more Open Standards: https://genzconsortium.org/
nedzadarek
22:09@BeardPower yes, but as user. Does 7 years old kids know how to download/install apps? Or change something? I don't remember if they can read and do simple math at that time.

Setting the clock to some time is not a problem. The problem is kid can install/delete apps and change settings.
BeardPower
22:27@nedzadarek Yes, they do. It's part of their world. You don't need any math knowledge for installing apps. It's as natural for them as it was as natural for us to control a radio or TV.
22:28Setting the clock to some time is a big problem because it disables the protection which was implemented to save the kids from to long usage of the device.
22:31You don't need to be able to read either. Installing/deinstalling is about recognizing images. I'm sure they saw how it was some a lot of times.
nedzadarek
22:31@BeardPower "setting the time" is problem but it comes from the bigger problem: **kids can install/delete apps and change setting**. If you can do this then any "parental app" doesn't matter.
BeardPower
22:32No, it does not come from installing/deleting apps. Its unrelated. You don't need to uninstall apps to get around the parental filter, just setting back the clock.
nedzadarek
22:34@BeardPower you can change settings > you can change time
you can install/delete apps > you can delete parental app
BeardPower
22:35The parental filter was about active play times. It was not about access rights for apps. Its clearly apparent, that the parents of this kid was not using access rights to apps.
22:35It was a failure of the parents not using access rights.
22:36But it was the failure of Apple binding the play-time to a local clock setting.
22:37No, you cannot change specific settings of you enable access rights.
nedzadarek
22:38I guess they could read/write time from a disk...
BeardPower
22:38For what purpose?
22:39All they need to do is getting the time from a remote server.
nedzadarek
22:39*no connection*
BeardPower
22:39Then no game to play/buy stuff.
22:40Nothing is secure on the client.
nedzadarek
22:40I mean - you download - and play some offline game.
BeardPower
22:40Because you control the client.
22:41Offline security does not work.
22:41Show me some actual game, which is offline only these days.
22:42Your favority candy crush clone is not and you can also cheat by setting your clock back.
nedzadarek
22:42Security - is the constant fight between a hacker and a "protector".
I do not use smartphones.
BeardPower
22:43Hackers have nothing to do with it. The word Hacker is used so inflationary these days its just sad.
22:44But I guess you are referring to a Cracker.
22:44What some companies are calling security is a joke.
nedzadarek
22:44Cracker just use "worse" methods.
BeardPower
22:45No, the difference between them is their motivation.
22:46Curiosity/creating awareness vs. financial aspects.
nedzadarek
22:46Ok, I don't want to discuss definition... I just mean nothing is secure. Someone make a virus - someone make antivirus that detect that virus - someone makes another virus - ... etc
BeardPower
22:47We would not need an AV if the OS would be secure in the first place.
nedzadarek
22:48You cannot build secure OS affordable for normal Joe.
BeardPower
22:48And people would not be that stupid :worried:
22:48Of course you can and done several times. Affordable for everyone.
nedzadarek
22:49Really? Then why it is not mainstream?
BeardPower
22:50Because people are stupid.
22:50Why are people camping outside of an Apple store to get the newest inferior iPhone?
22:51Because people love to be told how and what is best for them.
22:51No need to think.
22:52Thinking is exhausting.
nedzadarek
22:52Some people would buy "secure things".
BeardPower
22:52And they already do.
nedzadarek
22:52How many dollars - and what year?
BeardPower
22:52Year?
22:53Dollars?
22:53What are you referring to?
nedzadarek
22:53When they bought it? How much they paid for it.
22:53"secure thing"
BeardPower
22:53Some years ago. A few hundred bucks.
nedzadarek
22:55> A few hundred **bugs**.
BeardPower
22:57Sorry about the typo.
nedzadarek
22:59It is no problem. It made me laugh. Joking aside, I do not believe in 100% secure machine/OS for daily use. Given enough time/power you can break everything. Some things are just not worth or too time consuming.
BeardPower
23:02Yeah :-) The OSs we use now are also full of "bugs".
Sure, but breaking hardware is a total different story to breaking software.
23:03I believe in it and if no one is doing it, I have to do it. Ranting about the status quo sucking and doing nothing is worse than ranting about it, trying and eventually failing.
nedzadarek
23:06Sure, we should improve it... I am not into security/hardware things tough. I would like to amaze people. Make them cry or laugh.

moliad
13:26@BeardPower my team added two datatypes thanks to your document. Any issues we had where related to typos while working :-)
13:27thanks A LOT!
14:23@BeardPower I did a little fix at the end of the documentation to state how to run the compilation, as my guy who isn't a Red expert didn't realize that you meant the Rebol console, and the one within the root of the project to boot.
BeardPower
14:47@moliad Cool. Yes, I assumed some familiarity with Red.
endo64
15:41@moliad You've added two useful datatypes for Red or for your further development? Or just for testing?
moliad
17:58One will be a public port of liquid dataflow management embedded within a datatype. The other will be an internal text format for use in our natural language processing toolkit being ported to Red.
18:00internal as in closed source since it will be the basis for a new model of information management which works like our brain in many ways.
18:00(and this is our core business), so it can't be open sourced.
18:00but liquid will be shared back, since it is my own IP.
endo64
22:25Thanks for the info @moliad

gltewalt
00:36Inferior iPhone with superior security and stability
00:41Screentime is brand new. There will be updates.
As far as kids buying stuff... there’s a setting that messages the cardholders device to “ask permission”. No yes, no download or purchase.
00:42No yes answer, no purchase
00:43Beware big endian

BeardPower
09:55https://www.inrupt.com/blog/one-small-step-for-the-web
nedzadarek
10:32@BeardPower I hate when people cannot convey a meaning without superfluous words.
I need to fully read it but is this just p2p? I am very sceptical about this.
BeardPower
10:43It's from the inventor of the WWW. Enabling his vision what the WWW was about: enabling to take your data with you wherever you are, no syncing, a world wide web computer. No it's client/server, but you control the data.
nedzadarek
14:21@BeardPower I read 100% of this article and I skimmed through some tutorials. I'm not sure how it's better than any other web creators like Ruby on rails or Node.js (yes, I'm not precise here). Some months/years ago I created some simple websites using RoR. What he was talking about I was able to do with RoR. And easier, without registration. I had to just download a RoR for windows package.

I'm very sceptical. I've yet to see it's forte. I'll check some videos on the Youtube.
BeardPower
14:23It's not about a web-framework, it's the World Wide Web!
14:24It's also build using node.js.
nedzadarek
14:24I knew it you would bring "it's build with node.js".
BeardPower
14:25You should, if you read the open letter.
14:26But it does not matter if it build with node.js or any other tech. It's not about the implementation but about the idea!
14:26The WWW is about an idea and protocols.
nedzadarek
14:26But the idea is... as I said nothing new and nothing I couldn't do with current software.
BeardPower
14:27Again, it's not about what you could or couldn't do with current software (it's not about the implementation)!
14:27It's what his vision of the WWW was in the beginning.
nedzadarek
14:29My point is if people wanted it - they could do this. I may be wrong for some parts (I've not found part about protocols).
BeardPower
14:29I just mentioned node.js because you mentioned it. Software is just a tool and it's not about tools.
14:31>The World Wide Web (WWW), also called the Web, is an information space where documents and other web resources are identified by Uniform Resource Locators (URLs), interlinked by hypertext links, and accessible via the Internet.
14:32http is one of it's protocols.
14:34Sure, if people wanted to have water-powered engines they also can do it. They went with gasoline engines.
The vision of the WWW was different than what it evolved into and the open letter is addressing it.
14:35Of course is the idea is nothing new. It's called the WWW!
14:35Like he envisioned it.
14:37It's not about what you CAN do, it's about what you SHOULD do.
nedzadarek
14:42@BeardPower I'm not so sure if I should do this.
14:45Sure, you can build your own local website/git/whatever... but what if you want to go online? You want some space in the internet that users may connect to 24h/day.
ne1uno
14:54I never liked AWK that much, but it got a second look just because of who invented it
BeardPower
14:59@nedzadarek Huh? Since when is the WWW local?
14:59@ne1uno AWK?
nedzadarek
15:00@BeardPower I mean your website is on local server (computer).
ne1uno
15:02Aho, Weinberger and Kernighan the AWK report language, probably still on most *nix systems.
BeardPower
15:04Alright.
15:05@nedzadarek Locality is relative. So no.
rebolek
15:12@ne1uno AWK (and sed) are very useful tools.
ne1uno
15:15love sed, awk is a aquired taste, always regreted a little starting with it. do we have a parse based sed yet?
rebolek
15:17Certainly nothing official.
9214
15:17https://gist.github.com/greggirwin/6397bdfe8e9e7dd9f3d543bc4b0e570c
nedzadarek
15:51@BeardPower So let me rephrase it: not everyone can host files with decent speed.
BeardPower
16:51> @BeardPower So let me rephrase it: not everyone can host files with decent speed.

That's why you host it on the internet/WWW.
greggirwin
17:44I haven't done any sed (not my taste), but I do have old rawk and rgrep scripts.
17:45Ah, @9214 beats me again.
9214
17:46@greggirwin you can always say that you haven't sipped your coffee yet.

BeardPower
00:30@9214 Ain't no one!
nedzadarek
08:22@BeardPower Some people prefer tea.
BeardPower
08:40@nedzadarek The comment was not about drinking tea or coffee, it was about beating @9214 ;-)
rebolek
08:41some people prefer beating Speedy Gonzales
nedzadarek
08:48ah! my bad
BeardPower
08:49@rebolek Many tried :-)
08:50Someday his secret will be revealed!
nedzadarek
08:56@BeardPower he is time traveler... some time ago he had answered after few seconds someone posted question (longish).
rebolek
08:58it's easy, do %tardis.red
BeardPower
09:00http://www.opsconfig.com/wp-content/uploads/2016/10/249.jpg
09:02I'm sure that @9214 used that approach.
rebolek
09:03So he's now at his 9214th incarnation?
BeardPower
09:04Stop the presses! At least that one makes sense now!
09:07@9214: "I have not failed 9213 times. I have successfully discovered 9213 ways to NOT learn C++."
9214
09:48Those who regularly listen to music in 200-300 BPM realm and completed Super Hexagon with mouse only naturally tend to move faster than light, for they learned the passage of life at the atomic timescale.

Those who have mastered the art of dying (in the stoic sense) and the art of doing nothing (in the buddhist sense) tend to move slower than the expansion of the universe, for they, once in a while, become the antecedent of the creation itself, and thus learned the passage of life at the entirety of the timescale.

Rumors are that those who exist on both sides of the spectrum (and everywhere in between) have acquired The Key to Time (either [this one](https://en.wikipedia.org/wiki/The_Key_to_Time) or [this one](https://www.discogs.com/Davros-The-Key-To-Time/release/172479)), and transcended the reality.
09:48:alien: :v: peace, humans.
09:49[everywhere.mp3](https://files.gitter.im/red/chit-chat/gED1/everywhere.mp3)
09:49@BeardPower nay, I discovered only one way to not learn C++.
09:59https://www.youtube.com/watch?v=uwmeH6Rnj2E
nedzadarek
11:01@rebolek The Red make something as complicated as the Tardis as simple as possible. Just "doing %tardis.red" is enough to use it!
BeardPower
12:24https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies?srnd=premium-europe
rebolek
12:49https://www.bloomberg.com/news/articles/2018-10-04/the-big-hack-amazon-apple-supermicro-and-beijing-respond
BeardPower
12:57What did you expect ;-)
12:57Aaaand it's gone.
rebolek
13:00what?
BeardPower
13:07The chip ;-)

yvern
05:24Is it planned/intended for red to get a complex type? Aka x + yi
9214
08:06@yvendruscolo you can't use pair! for that?
rebolek
08:07You can use pair! for storing complex value, but not for doing complex math.
yvern
08:07Isn’t pair limited to integers? I thoughts so
rebolek
08:07and that also
BeardPower
08:15I can change that;-)
08:16If there is demand for it.
rebolek
08:19float pairs? There's yuuge demand for them.
9214
08:20@yvendruscolo and which representation you want? Cartesian? Vector?
yvern
08:24I don’t know exactly what you mean by representation, you mean a+bivscosθ+isenθ? I would just like to have an easy representation for some number z (maybe even q, a quaternion) and have fast/efficient arithmetic for dealing with it
08:25I mean better than having add-complex and etc
9214
08:31@yvendruscolo complex number can be represented as two coordinates, or as a phase angle and length. Some operations are easier with one representation than with the other.
08:31And why demand this to be present in language? You can't roll out your own math library or what?
yvern
08:32Im not aware of the implementation chalenged
08:32Challenges *
rebolek
08:32@9214 That's not good argument. Why having floats in language, can't you roll your own math libary or what?
yvern
08:33I needed it for a presentation on Pauli matrices some time ago
9214
08:33If you're working with Pauli matrices, I can only ask why you picked Red for the task.
yvern
08:33I was intensively using clojure, but it didn’t have it, so I used julia
9214
08:33There'are other languages far more suitable for matrix and vector operations.
yvern
08:33Teaching
08:34I work with physics education
rebolek
08:34@9214 You probably haven't answered yes on the *should Red be for everyone?* question, did you?
yvern
08:35I liked red’s ease of displaying results, but indeed,maybe numerical details should be delegated to other langs
08:35Julia with notebooks is great for that
9214
08:36@rebolek and your point is..?
yvern
08:36I just wish I could use red on some other semester
9214
08:37@yvendruscolo I believe you can use Red for some physical visualisations, @toomasv can show you some of his examples.
rebolek
08:38@9214 my point is that why couldn't Red support more advanced math than it does now, if there's demand for it.
9214
08:39So far only one person asked for complex numbers. Why should core team spend their time on it?
08:39Given that numerical computing is a tricky subject.
08:40IMO such features should come from contributors, and adapted to specific needs.
rebolek
08:40It's certainly not the most important thing right now.
9214
08:40e.g. machine learning, vector algebra or whatnot.
08:44There's a certain limit on what functionality should be provided out-of-the-box. The rest should come in modules.
rebolek
08:47I agree, but it's debatable where the line should be drawn.
nedzadarek
14:19@rebolek I think before we add complex number, quaternions etc we should improve current number types. I think @BeardPower posted about one thing we can improve.
toomasv
14:59@yvendruscolo @9214 Something like this?
[![complex](http://vooglaid.ee/red/complex1.gif)](http://vooglaid.ee/red/complex1.gif)
yvern
15:01Yes thats a good kind of visualization
15:02I used julia also in the way to quickly and clearly define them, and showed relations on a notebook
15:03Cause it accepts things like 2 + 3im, so showing how to do stuff is quite easy too
15:04Im not trying to impose any agenda here, it was a sincere question
9214
15:10I believe it would be very nice and Red-ish to provide some kind of APL dialect for matrices, vectors, machine learning, neural networks and stuff like that in one dedicated package.
15:10Because I don't quite see any use-case for complex numbers outside of scientific and numeric computing.
greggirwin
15:55@yvendruscolo it's a good question, as Red's strength comes largely from its literal forms for values. What we need to do is figure out if there's a nice notation that could be used, which doesn't conflict with existing syntax or block other obvious uses. Then see if the existing set of actions make sense for it, or if it's better off as a module with functions that map to the needs. For compound types, the obvious starting point is to use blocks, even if they're a little more verbose.
9214
16:04@yvendruscolo since you're Clojurian, check out SICP §2.4 and §2.5
dander
17:18This is an area of ignorance for me, but perhaps this could be a use case for macros? Or would it be possible for a module to extend the lexer to be able to load syntax that looks like an imaginary number and convert it to a native Red value, like a pair?
9214
17:19@dander what if I want to create complex number at runtime with to and make?
17:20How would you handle operations over complex numbers? 1j2 * 3j4 is not the same as 1x2 * 3x4.
BeardPower
17:44The lexer would need to be updated for pairs to differentiate between 2x2, 2.3x2.5 and 2x3im.
17:45Then the pair! needs to implement all possible actions on integer!, float! and the complex values.
17:45So pair! could handle all three types.
rebolek
17:46That would be nice.
BeardPower
17:49I will look into, at least float!, over the weekend.
17:50@9214 The representation could be specified by the pair.
17:51There would be even enough storage room left to store both representations.
17:52Using actions on the complex pair could use a representation flag of the pair type.
9214
18:08I'd rather choose one lexical representation, but keeped phase/length internally.
BeardPower
18:11How would you specify the representation you want?
9214
18:14Conversion between polar/cartesian coordinates?
BeardPower
18:14Yes.
18:14Or 2x2 -> how do you specify if you want this to be a complex number?
9214
18:15Pick a lexical representation different from pair.
BeardPower
18:15As you pointed out to keep one lexical representation.
9214
18:15I never pointed that.
18:15I said that you can represent complex numbers as a pair of coordinates.
BeardPower
18:16> I'd rather choose one lexical representation, but keeped phase/length internally.

I thought you ment to have representation from pair.
18:16> I said that you can represent complex numbers as a pair of coordinates.

Yes, but how would 2x2 as a complex number differ to a pair of 2x2 as int?
2x2 is also a pair of coordinates.
18:18So what representation do you suggest?
9214
18:19Nohow, it's application-dependent. Developer knows what pairs represent in his application.
18:19I'd suggest to pick 2j2 or something like that.
BeardPower
18:19But internally stored as a pair!?
18:20Or as complex!?
9214
18:21Pair keeps cartesian coordinates, for complex numbers it would be nice to keep phase and angle.
18:21If they can fit into payload.
BeardPower
18:21There would be enough space.
18:22So type? 2j2 would also return pair!?
rebolek
18:31I prefer 2x2i, but I'm fine with other solutions.
9214
18:31@BeardPower why should it return pair! if 2j2 is complex!?
BeardPower
18:37> @BeardPower why should it return pair! if 2j2 is complex!?

Because the question was if it should be it's own type or not ;-)
18:38complex! type vs. pair! describing a complex number.
9214
18:38But then you keep insisting that it should be pair!..?
BeardPower
18:39No, whatever is a better fit.
9214
18:40In the absence of dedicated datatype, you can use pairs, blocks, parens, even objects, and build operators on top of them.
BeardPower
18:40It's just a possibility to support complex numbers through pair! based on the form.
18:41Yes, so what is the best option here? A complex! type? A user-defined type? Into core? Into a module?
rebolek
BeardPower
18:48@9214 Ah, you're still an APL junky ;-)
9214
18:48@BeardPower module for one datatype is an overkill. As I said, IMO complex numbers should come together with matrices (tensors?) and advanced math library.
BeardPower
18:50@9214 I agree on that since the area of complex numbers are different to what we need for most cases.
9214
18:50Exactly, I don't see how they can fit together with other core datatypes.
18:52Otherwise we should push for candlestick!, os!, erc20!, ingot! or whatnot.
BeardPower
18:52Need to put on my R&D hat.
18:53heavy-gold!
18:53Depends if we want to be the next COBOL/ALGOL/Fortran.
18:54What the heck is ingot??
9214
18:55A block of metal.
BeardPower
18:55Thanks!
9214
18:55Steel, gold, silver.
BeardPower
18:55Just checked wikipedia.
18:55I never heard of that one :+1:
9214
18:58pitchfork!
BeardPower
19:00probe bulltrap!
19:00== Aaand it's gone!
9214
19:00
text
if hot? make market! read https://ethereumprice.org/ [to moon! soon: now/time/precise + .0001]
BeardPower
19:01Can't beat that one ;-)
Ungaretti
19:20@9214 since when Red is able to read http? How much IO is already available on current built?
19:21More to the point: can I read serial ports already?
rebolek
19:22@Ungaretti
> since when Red is able to read http?

Officially, since March 2016.
9214
19:23_Breaking news!_
rebolek
19:23> can I read serial ports already?

Not yet, if you don't write some R/S glue code.
Ungaretti
19:25@rebolek Seriously?!! LOL!!! Well, that is good (old) news for me!!
19:30Is FTP available too?
rebolek
19:31@Ungaretti no, just file access and HTTP(S). That's why it's called simple-io.
Ungaretti
19:33@rebolek ah! Ok.
rebolek
19:37@Ungaretti once we get TCP we can build FTP and other services on top of that. That will come with 0.7.0. But HTTP is also enormously useful. I've did some (IMO) nice things with it like Gitter client/stats or Github integration.
Ungaretti
19:49@rebolek Thanks! I sure know it's useful. I played with it in Rebol, but just ignored it was already in Red. One of those thing... age maybe.
rebolek
19:53@Ungaretti yeah age...that's why I try to play with new features ASAP, because I could be dead tomorrow :smirk:
19:53OTOH it's not so easy as when I was 20.
toomasv
19:57Very simple and tiny complex dialect (I wonder if it actually works):
complex: func [spec /local c1 op c2][
	second-part: [set op ['+ | '- | '* | '/] set c2 block! (
		c1: reduce switch op [
			+ [[c1/1 + c2/1 c1/2 + c2/2]] 
			- [[c1/1 - c2/1 c1/2 - c2/2]] 
			* [[(c1/1 * c2/1) - (c1/2 * c2/2) (c1/2 * c2/1) + (c1/1 * c2/2)]]
			/ [[round/to (c1/1 * c2/1) + (c1/2 + c2/2) / d1: 1.0 * (c2/1 ** c2/1) + (c2/2 ** c2/2) .01 round/to (c1/2 * c2/1) - (c1/1 * c2/2) / d1 .01]]
		]
	)]
	parse spec rule: [set c1 block! some second-part]
	c1
]

complex [[1 2] + [3 4]]
;== [4 6]
complex [[1 2] + [3 4] + [1 2]]
;== [5 8]
complex [[1 2] + [3 4] - [1 2]]
;== [3 4]
complex [[1 2] + [3 4] * [1 2]]
;== [-8 14]
complex [[1 2] + [3 4] / [1 2]]
;== [2.4 -0.4]
complex [[1 2] + [3 4] + [1 2] / [0 1]]
;== [4.5 -2.5]

Haven't actually checked if multiplication/division is correct.
nedzadarek
21:12@dander I think It is possible but I am not sure if someone should do this. As @9214 said, there are many question to answer.
One thing that no one mentioned is: what if you want to add more types? What if someone want to use the same or similar syntax to your syntax? I am not an expert but I think it could get messy.
In my opinion we should develop some kind of a *user defined type* system. This way you do not have to care about other user types. Check [this](https://github.com/nedzadarek/red_custom_type_proposal) to see what I mean.
moliad
21:16There is already a universal, extensible syntax for datatypes. It is fully supported in Rebol2 and partially in Red, no need to invent a new one. (R2 serialied format, probably has a different name in Red, this naming was not universally liked by some influential rebolers)

a lexical plugin is not impossible to do which would allow lexical extensions... we are already looking into it at work.
nedzadarek
21:18@moliad can you post an example?
moliad
21:24the general form is :
#[datatype!   optional  datatype-specific data ]


ex :
#[none!]   #[string! "1234" 3]  #[function! [x][print x]]
21:25here the lexical boundary is the
#[
pattern which is unique to this alternate representation of Rebol values (you can get them using mold/all, even in Red)
21:28a few values also get their even simpler notation without the datatype! prefix:
ex:
#[true] #[false] #[none]
nedzadarek
21:31@moliad how would you define complex numbers using such syntax? For simplicity assume:
- <integer>j<integer> for example: 2j4
- define +, -, * and / for them - just output some text in the form operation * on 2j3 and 4j4
moliad
21:32if ports have a similar interface to Rebol they may allow for custom datatypes with little effort. "all" (not that it's easy) that would be needed is to allow to run-time extending the list of datatype! names, and assign them to a new reference port! (like a new scheme, which matches the scheme part of a url!), which will run user actions when encountering a value of that type.
21:36there would be two parts, a port which you can define actions(perhaps not all of them), like any internal type, and a serialized value which allows you to store them. If an equivalent port spec is setup in the system.

We could then see about extending the lexical analysis with a simple parse pattern. (the specifics and performance would be affected depending on various implementation decisions, obviously).
21:40I'm talking about port! because it is already a system allowing to integrate the run-time action handling of a dataset via a mezzanine specification, via handling of a url! .

If we just accept that maybe the source data is not a url! but a block with rebol loadable data, then we essentially have the exact same pattern.
21:41since the team is starting to look at reworking or creating the port! system... adding this right-away might be almost free.
21:43@dockimbel :wink:

pekr
05:02I would like to add, that port type and schemes were created as a general model to interfacing, not just some tcp or file communications. I do remember, that R2 had a sound scheme, cryptography scheme, databases/odbc schemes, console scheme, etc. Generally - you open a port, insert/write a data, read a reply, you can change a configuration (update) a port, etc.
rebolek
20:00Build your own computer from NAND gates http://nandgame.com/
9214
20:01Why no one uses NOR gates?
rebolek
20:02norgame.red is free, you can write your own game in VID :smirk:
9214
20:03NAY gate FTW.
nedzadarek
21:01Oh, "gates"... nice.

nedzadarek
00:09That kind of things should be translated. I wonder if "older kids" can finish this if it was in their own language.
BeardPower
00:14@9214 Crazy indeed, because nor gates are even cheaper.
rebolek
07:12It's a game. All those pixels are free :)
nedzadarek
12:43@rebolek and I would say that: and, or etc gates would be cheaper...
BeardPower
20:26https://www.howtogeek.com/fyi/microsoft-pulls-the-windows-10-october-2018-update-for-deleting-files/
20:28https://www.itprotoday.com/windows-10/windows-dead
nedzadarek
22:35@BeardPower
> https://www.itprotoday.com/windows-10/windows-dead

It won't change for many years...

pekr
05:38@nedzadarek I really wonder, how anyone claiming a degree in a computer science, can produce such a terrible biased article. This is almost an insult. Last 11 years have been working for two enterprises with together over 1000 machines, mixture of a various systems, yet we faced very little to none problems. And basing one's arguments around 11 years old Vista, great .... These is just a wannabe mee-too hate article, with very little reasoning. If you can't use Windows in a well controlled environment, you should probably return your degree and that's just it ....
05:39And don't get me even started on an OS-X mail infrastructure ....
nedzadarek
13:04@pekr I was laughing when I was reading this article.
I am using Windows since I was young. I used 95/98 > XP pro > win 8.1 (x64bit).
95/98 was just my first pc. Someone installed me some games... and this is my knowledge about this OS.
Xp pro - at that time I downloaded/installed some games; I have started programming and I used it for a lot of things. I knew this OS very well. I got some problems but it was manageable. Comparing number of problems to "things I have done" was small.
8.1 - It is bloated with some things I do not even know what they are doing. It needs at least 4GB (when you have build graphic card). It uses 1GB as it is nothing, The Firefox can take 1GB as well... it is not good (I could work with 1-2GB on XP). But it works. I download something - it works.

So it is not that bad as he/she described. Of course, it could be better... but it is a problem of not only Windows.

rebolek
16:57Wow https://portal.facebook.com/
16:57So instead of letting them spying me for free, now I can *pay* for that? Isn't it amazing?
BeardPower
17:34@rebolek What's next? Companies switching from one-time payments for their products to subscriptions? Wait...
17:35Sheeps will happily pay for it.
17:36We should ask for our pay-check. I'm sure our data was worth a bunch of coins.
rebolek
18:29Yeah, good luck with that!

moliad
00:38happy I actually was able to disable windows 10 update on my system :smile: yes... It took me 6 MONTHS of fiddling around but now its permanently off yay!
nedzadarek
08:586 months? I am glad I haven't updated to 10, in win 8.1 it's just a few clicks.
pekr
09:04Truning off updates is imo pretty much short-sighted anyway .... you know - resistence is futile :-)
nedzadarek
09:09@pekr I set it to "notify me on updates". It is much better because with automated updates it can slow down you system. It cannot even download few hundreds of MB but it will try. This will led you to "hot pc".
gltewalt
23:15They already have subscriptions. Office 365

moliad
03:11@nedzadarek yeah, but some updates are not optional and will force a reboot even if you don't want it to. (on win10)
03:12I really miss win 8.1 I liked it far more than win10
03:13sooooo many spyware from MS its incredible... it even comes with a keylogger pre-installed... really... part of the telemetry back end which is up and running, and calls home , even restarting the windows update now and then.
BeardPower
08:14Since I'm using Haiku I'm surprised on every boot of how slow and crappy Windows really is.
nedzadarek
11:48@moliad that's why I haven't upgraded to win 10.
endo64
15:43I don't have slow boot on my Win10, I'm using both at work and home, they boot in 3-5 seconds.
moliad
15:47really? a fellow's 4000$ gaming rig takes 30-60 seconds to boot (all SSD). note, waking up from sleep doesn't count, and boot, means you can open a web browser and it actually shows a web page (all the back-end services are up and running). :wink:
endo64
15:52I use hybrid boot, which similar to hibernation. that's why it is fast. normal boot could take longer.
BeardPower
16:24@endo64 This is not booting, just wakeup. Haiku cold-boots in 3 secs.
moliad
16:25my amiga used to cold boot in approx 3 secs too, it was glorious.
BeardPower
16:25My C64 in 500ms ;-)
16:28Using Open Source BIOS/UEFI boot times can be shortened even further.
moliad
16:28I once hot-connected a scsi controler while it was running by accident (I slotted the card in the bord, I thought it was turned off) , and my damn disk actually appeared ... and it was all good. it wasn't even designed to support hot connects.
BeardPower
16:28Hehe.
16:29It's all so bloated.
16:29It's horrific.
moliad
16:29it really is.
ne1uno
16:29I got into a shut down conflict I can't resolve, takes several minutes. a similar win7 system shut down and boot up are fast enough. only do it every few days anyway
moliad
16:29when I see a keyboard driver using 100MB RAM it almost makes me cry.
16:30it should take about 5-10kb
16:31my complete C99 hand-coded graph database which does 500Million node traversals a second on a laptop takes 79kb on disk, and can run within 10 MB, atop of Rebol
16:31something is really wrong with the state of things.
BeardPower
16:43It's absolutely crazy!
16:445-10kb is even HUGE for a KB driver.
16:45A mobile app for receiving TANs: 100MB of RAM!!! Are you fucking kidding me?
16:46All this Electron garbage these days.
16:47GPU drivers are now round about 400-500MB.
16:48And why the hell is an OS needing 4-16GB of HDD space?
16:48There are OSs than can fit on a 1.44'' floppy disk and offer the exact same stuff.
16:49That's why we need to change the status quo.
16:49We have machines 100-1000 faster than what I used to when I studied CS, still, it feels like back then.
nedzadarek
19:48> There are OSs than can fit on a 1.44'' floppy disk and offer the exact same stuff.

And people still uses other "mainstream" OSs...
pekr
19:54This is an exagerrated claim. Show me an OS, with the likes of a modern web experience, social media, office suite, etc, which suits a floppy nowadays. I dont believe you for a fraction of a second ...
nedzadarek
19:54@moliad
> when I see a keyboard driver using 100MB RAM it almost makes me cry.

How do you check it? I have wireless mouse/keyboard and I needed only "plug in" into usb.
moliad
19:56on an android device.
nedzadarek
20:00Oh, I thought you mean windows.
moliad
20:00in general everything is getting nuts.
20:01my gmail window in the browser often grows to 600MB !!!
nedzadarek
20:02I think my browser starts at ~~600 MB (I have many tabs so maybe that's why).
ne1uno
20:06they've gotten much better releasing memory back. having more than 50% free memory or CPU doesn't really do you any good anyway.
20:07costs more to keep requesting it in smaller pieces
moliad
20:08but there is no reason to grow to those sizes.600mb is an insane amount of memory. a whole PS3 game can fit in 600MB, how does a 50 item list with a menu and a text editor grow to 600MB !?
ne1uno
20:08I still use an old maxmem program from win95 days to force programs to give up memory a few times a day. thing still works
nedzadarek
20:36@ne1uno I'm not sure if it's better...
ne1uno
20:40close a few tabs and see? all the versions a little different. I think it's gone a little too far when they make idle tabs reload when they get focus again. that can actually go wrong on some webpages where you would like to keep the information you had there and not reload say a bank payment.
20:42not loading tabs when you middle click until they have focus is annoying too. forces a bad work flow
20:44all done to keep memory usage down so they don't crash. fix the symptom
nedzadarek
20:49@ne1uno I don't see bigger change.
BeardPower
20:50@pekr Since when is a modern web experience, social media, office suit etc. part of an OS? Show me that stuff on the Windows bloat (none of that is part of the OS).
20:55@moliad In fact, the PS3 OS has a reserved size of RAM, which is about 70-90MB.
20:57@moliad Not 600, 256 ;-) The PS3 has 256MB RAM and 256MB VRAM.
20:59@ne1uno Just look at the Electron bloat. No thanks!
gltewalt
21:00My dirt clod boots up instantly
BeardPower
21:01@pekr https://www.youtube.com/watch?v=7xtfcevDTBA But again, the stuff you mentioned are applications for an OS, not part of an OS.
ne1uno
21:03electron is a worse case, everything and the kitchen sink for simple app. vscode shows you can scale it back a little but it's the same problem with every javascript lib. quite a bit happens ajax behind the actual source bloat too
BeardPower
21:05VSCode is still a hell of bloat.
21:05Garbage in, garbage out.
21:08Even secure mode on Windows is pure bloat, regardless it's SVGA usage. How comes Haiko runs fine on 256MB of RAM and boots SVGA in a second while Win is taking ages.
21:10I installed Haiku from a RAM-drive which took 15 seconds to install. Updates work flawlessly, are done in under a minute and a reboot takes 2 seconds. Doing the same on Windows is a joke.
ne1uno
21:14there must be some advantage. are there any cross platform multitasking benchmarks? had to admit, boot times is not very convincing
BeardPower
21:32You can't really compare it, because Windows GUI is single threaded. Haiku has two threads per window.
21:33Some advantage of what?
21:36Not that I know of a good true cross-platform benchmark.
ne1uno
21:39what people want to get from an OS. scripting a browser, VLC and an office suite to do some typical tasks might be nice to know how they compare. yea, an old version of debian can still run on a 486 but nobody is that interested anymore (as you know)
BeardPower
21:47I may even run faster on it than Win 10 on an i3 lol
ne1uno
21:49never tried it. why is world domination taking so long seems to be the question for so many great ideas.
21:51is it just lack of marketing? is it worth forking?
BeardPower
21:54It's mainly because of the big players not letting it happen. Their warchests are full. Once you threat their turf, they will throw any lawsuits they have at you. Not to mention trivial patent crap.
21:56Look at Intel. They had no competition for a long time. Now they get a little pressure from other vendors they get active. Not so much in innovation but silly lawsuit, patent and license claims.
ne1uno
21:56on a quick search, I see openoffice works so some kind of java must be working now?
BeardPower
21:57For which OS? Haiku has a LibreOffice port.
ne1uno
21:57Intel is back to cheating benchmarks to bully AMD
BeardPower
21:57Nothing different to AMD.
21:58Every vendor is pretty-talking their stuff.
21:59It's also an issue to get specs on hardware to code drivers for your OS.
21:59The big guys are keeping others back because of this.
22:00They have the power to do so.
22:00They grew too big and have too much influence.
22:02The Amiga was fully open and great hardware is still being made.
ne1uno
22:03they can make or break you with video drivers. true
22:04not including legacy windows, not sure what effect this is having if any https://www.zdnet.com/google-amp/article/microsoft-open-sources-its-entire-patent-portfolio/
22:07could be just to shame Apple into giving up some advantage. we don't get all the details
BeardPower
22:21You still need to join the club. No joining, no protection. Yeah, we don't know the fine-print. GitHub etc.

9214
19:20@rebolek, @toomasv and others (@moliad ?): can you share some of your projects [here](https://www.reddit.com/r/redlang/comments/9lhht3/examples_of_red_and_rebol_production_applications/)?
19:36@rebolek thanks!
rebolek
19:38@9214 you're welcome, I don't check Red sub very often, so thanks for pointing it out.
BeardPower
22:40https://www.atomontage.com/blog/2018/9/12/volumetric-vision-talk-at-the-sgda

Oldes
11:46Is better u16 or u16 naming for unsigned 16 bit integer?
rebolek
11:47That's the question. u16 seems fine, OTOH u16 is not bad also.
Oldes
12:01Sorry.. ui16 or u16?
rebolek
12:02do you plan floats also? then ui16 would make more sense
12:03but then there are no unsigned floats, so f32 would be enough
Oldes
12:04Yes.. that is actually the reason... I was using ui16.. but that does not fit with possible f16.. f32 etc
rebolek
12:07u64, s64 and f64 cover all variants, so you can drop i I guess
9214
12:11#u64 is little endian, #64u is big endian :neckbeard:
BeardPower
12:25@9214 and what is middle endian?
nedzadarek
12:26@BeardPower 6u4? :smile:
pekr
rebolek
12:27you also need to differentiate for normally signed and cryptographically signed
9214
12:28@rebolek and quantumly secured.
rebolek
12:28 right
nedzadarek
12:29- cryptographically signed
- quantumly secured

What? I thought you where talking about way to store numbers (float/integers) and endianes.
rebolek
12:29I wonder if unsigned numbers are in public domain and signed numbers are covered by copyright
BeardPower
12:29@nedzadarek This needs a RFC!
12:33@rebolek These are not the numbers you signed for!
9214
12:45@rebolek that's for consensus algorithm of our brand new, infinitely scalable, secure, formaly verified sidechain to decide.
12:45Blobjanes, cryptoncurrencies...
nedzadarek
13:07@BeardPower I guess.
@9214
> infinitely scalable

Do you mean something like [Big Integers](https://www.geeksforgeeks.org/biginteger-class-in-java/)? I would like to see something like this in the Red.
9214
13:08@nedzadarek I was talking about blockchain architectures.
rebolek
13:09Big Integers are for children, I would love to see Yuge Integers!
9214
13:16@rebolek **H**uge perhaps?
rebolek
13:19No, **Y**uge, yuge like wall. And Java engineers will pay for them!
9214
13:22Ooh.
nedzadarek
13:38@9214 oh
@rebolek
1) what is "yuge integers"?
2) It makes things easier. Ruby automatically converts from the Fixnum (Integers with maximum/minimum value) to the Bignum (Integers *without* maximum/minimum values). As for 2.5 version it seems that they "merged" it into one class *Integer* (I guess they just keep the Fixnum/Bignum info inside).
rebolek
13:46Yuge integers are numbers that are available only on Friday afternoon, when you're really bored at work and want to go home already.
BeardPower
14:33@9214 Blobjanes and Crypton will be huge!
9214
14:33@BeardPower Blob*janes*, baka!
BeardPower
14:34@9214 damn auto-correct on mobile...
9214
14:35How can you develop a kern ale without knowing this stuff?!
moliad
14:35wery yuge numbers ... elmer fudd's favorite type
BeardPower
14:35@9214 Because of ur anus.
9214
14:36@BeardPower you mean cosmic rays from 7th planet?
BeardPower
14:37@9214 for sure!
15:05That Uranus joke did not come out right ;-)
nedzadarek
15:10I'm not sure whenever or not this is still a programming (or at least "tech") room(s). Last time Lepi... someone sent a youtube where someone draw a heart (using hyperbolic space I think).
moliad
15:11it's chit-chat , imagine friendly conversion with a beer in hand and friends around :-)
nedzadarek
15:13https://youtu.be/-X49VQgi86E?t=148
9214
15:22@BeardPower you'll be judged... [by the law](https://www.youtube.com/watch?v=Hh_gIxTitMM)!
>> replace/all "Gregg" #"g" #"g" - length? ":^^)"
== "dredd"
ne1uno
16:02DLT https://www.marketwatch.com/story/the-good-and-the-bad-of-tim-berners-lees-new-project-on-data-privacy-2018-10-12
BeardPower
16:03@9214 but this is Sparta!
nedzadarek
16:04@ne1uno I think @BeardPower already posted something about Pods
9214
16:04@BeardPower ugly and weak babies are thrown down into Nuthouse cesspit?
BeardPower
16:06@9214 Now we are talking!
9214
16:06:cat: :hocho: :dog:
nedzadarek
16:07^^ You will even make story about the Little Red Ridding Hood into "tech stuffs.
BeardPower
16:48https://www.youtube.com/watch?v=i_cF6k5hse4
17:42So it's really true, that MorphOS is being ported to X86?
moliad
21:57@BeardPower that volumetric demo was breathtaking! I have worked quite a long time in the 3D visual effects and animation for feature films and have played with a few gaming platforms ... this is going to radically change the playing field of gaming, if they can really get it to a stable platform.
21:58I can see graphics cards makers completely altering their rendering engines to use this and actually improve rendering speeds.
21:59because the actual complexity of current polygonal-based engines, may have reached a tipping point where its more complex to approximate reality than actually store and render it.
22:00in a few places when getting close to the models, It felt like looking at wolfenstein 3D for the first time again (like When I was a teenager!) and realizing that the world had just changed.
BeardPower
22:01@moliad The guys behind Atomontage are great. Another big plus of Voxels: you don't need a GPU. It ran on a single thread. The Voxel structure can also be used for voxel based global illumination.
22:03Hehe, yeah, you can see the single Voxels when you get close but there are techniques to get rid of the jaggies and the result is smooth.
22:05You can create awesome effects. Imagine you encode physical and chemical properties in the Voxels. You can throw an acid grenade on to a surface and it will eat through the material like in the Alien movies.
22:07Or a human. It will be eaten by the acid. Spilling blood and guts because the Voxels are the blood.
22:07Or bullet holes.

moliad
02:51You never need a GPU, but its a massively parallel chip and a lot of the transistors in it could be refurbished into voxel rendering instead. it would probably be a massive speed increase. IMHO the only issue is the amount of RAM actually needed. it may be the problem about using a GPU. even with 8 GB ram, its not much when you realize you can easily have a scene with tens of billions of voxels...
02:52like anything you can generate some of them on the fly via math, but the real appeal of voxels is the fact they are not generated by math but a sample. so you can VERY easily manipulate them.. in fact not much more difficult than any 2D pixel manipulations.
BeardPower
10:18Yes, it's not any different than Pixels, but with a depth. The GPU is a massive parallel chip yes, but optimized for rasterization. A better solution would be something like Epiphany, Larabee etc. You could just use normal DDR RAM. The Voxels use textures a lot, so you would still need fast texture units. Voxels can be compressed very well. The 5GB crocodile asset could be compressed down to 20MB.
10:20Only the Voxels you can see would be in a pixel resolution and the rest has adaptive LOD. Each Voxel can have a different LOD.

greggirwin
15:24Coming from the /lisp group

@DonaldTsang, if you want to pursue various Red-related projects, that's great. We've ruled out Discord as a channel, so that's off the table for now. We're a small team, and spread thin already.

You can't just say "Lang X is more popular, so do what they do and you'll be popular too." It just doesn't work that way. Also, we don't need to succeed at the level of Rust, Go, and Nim. Think bigger.

We do have ideas for youth-oriented and education projects (one of our ancestral languages *is* Logo after all), but we need to do it in a way that suits the project and its goals, not just try to be popular by emulating the popular kids.
maximvl
15:29I don't think it makes sense to talk about Red's popularity just yet since we are in Alpha :)
DonaldTsang
19:43@greggirwin for that I would say it is a chicken-and-the-egg problem, adoption requires mass, and kids are the mass of the future.
19:44@maximvl how many years of alphas has red gone through when compared to Python, Java, JS and C? And do a trajectory to see if it is being ahead (fast shipping of product) or behind (stuck in alpha/early beta)
19:46When I say "get the kids" I don't mean weakening red's codebase but rather, on a human level, understand what they want, need, and care about. Treat them like your sons and daughters and nephews and nieces, and see what their feedback was.
19:51There are reasons why Python, Java and JS succeed, they all have a few things in common (a) A large library (b) A "need" in the industry (big data, compiled package, web development) (c) Relative ease of learning and developing, which all leads to youth program projects about their Anime and Comics written in Python and JS (and more recently, Go)
9214
20:22@greggirwin the truth is undeniable - anime is The answer. Don't worry old man, well register a MAL account for you and start preparations for Yoshitosi ABe maraphon ASAP.
greggirwin
20:29@DonaldTsang your analysis is flawed. You can't boil success down to those things, even for just those languages, or compare us to them without looking at the bigger picture (e.g. who was behind Java, the timing and position of JS, etc.). There is no silver bullet. There are things we can do, and want to do, but they won't guarantee success. And since we can't do everything, we have to choose. That said, if you believe in what you say, and you want Red to succeed, *GO FOR IT!*.
9214
20:32... a dorama here, a seinen there. Then you'll learn how to do Kansei Dorifto and buy your first toy mecha.
20:32@9214 :'^) they grow so fast...
nedzadarek
20:35@DonaldTsang Take it with the grain of salt (because I am not an expert only language enthusiast) but I think you are little wrong. Your (a), (b) and (c) points are very important. However, I think (b) was the main cause of their success ( (c) played an important role).
> which all leads to youth program projects about their Anime and Comics written in Python and JS (and more recently, Go)

Python has more than mere libraries. You can write interactive fiction using Ren'py (I think it is nice for teachers to demonstrate learning materials). You can build 3D games/things in Blender3D.
Javascript, on the other hand, is *lingua franca* of the internet. You can use libraries like p5.js to build interesting stuffs. In order to share it you just need to upload it somewhere.

DonaldTsang
01:16@9214 you are actually suggesting something that I never think of.... the whole "anime mascot" things is a good component.
@nedzadarek you nailed it straight on the head. (b) > (c) > (a) (desire > ease > libraries) what Python and JS are good at is ease of writing, which naturally leads to more libraries, which leads to more desire to have similar languages
BeardPower
11:24The video is great! https://www.cbronline.com/news/autonomous-ships
greggirwin
17:03The future is coming. As always. :^)
9214
17:10Not coming - sailing.
toomasv
18:05Motorsailing. Add this: https://www.marinetraffic.com/en/ais/home/centerx:-12.0/centery:25.0/zoom:4
greggirwin
18:11Should be easy with draw. ;^)
toomasv
18:12Yeah, only it's real-time. Almost.
nedzadarek
19:58@toomasv I don't think it's even "soft real timing".

9214
15:01@toomasv http://solvingsol.com/
15:02:smirk:
sol [
    lines not short not straight crossing and touching
    drawn at random using 4 colors
    uniformly dispersed with maximum density
    covering the entire surface of the wall
]

x8x
15:40For the nostalgics: [The Empire Strikes Back’s long-lost making-of documentary surfaces on YouTube](https://www.polygon.com/2018/10/14/17976714/the-empire-strikes-back-making-of-youtube-documentary)
BeardPower
18:22Cool!

x8x
09:55More vintage: Proper way to demo Red -> https://github.com/Swordfish90/cool-retro-term
09:58To add some geekness, run this in above terminal https://github.com/nojvek/matrix-rain
nedzadarek
10:59@x8x well, you can "watch" Star wars in the console: telnet towel.blinkenlights.nl [source](https://www.commandlinefu.com/commands/view/1713/watch-star-wars-via-telnet)
10:59ps. on win 8.1 you have to enable telnet: https://www.rootusers.com/how-to-enable-the-telnet-client-in-windows-8-1/
BeardPower
11:53@nedzadarek Still great stuff :-)
11:56@x8x Red needs a more futuristic terminal like a hologram/cyberpunk one ;-)
nedzadarek
12:42@BeardPower And the Red's terminal should be... red. Or at least "redish".
BeardPower
13:02@nedzadarek Red is not a good color to work with all day.
nedzadarek
13:44@BeardPower If you say so... but I don't know that. I just don't bother to change colours of my consoles unless it has bad colours. Text editor, on the other hands, should have nice colours.
Well, at least something should be red. How we can call something the Red console if it's only white and black?
rebolek
13:54Console is where I spend most time, so it should have nice colours. Also editor runs in there so another reason for it to have nice colours. I haven't see B/W console in a while.
x8x
13:54@nedzadarek telnet StarWars, the guy had too much free time on hand ;-)
13:55If you use the Console a lot then you will want to customize it same as you do for your Text Editor!
13:56@rebolek :thumbsup:
13:59@rebolek This may interests you https://passthroughpo.st/hackintosh-kvm-guide-high-sierra-using-qemus-i440fx-chipset/
rebolek
13:59@x8x Thanks, I know about it, I just hadn't time to try it yet.
x8x
14:00Yay, looks like some work is needed to set up the whole thing.. :smiley:
14:06Another good trick I lerned recently, if you run a recent macOS and a recent qemu on top, passing -machine pc,accel=hvf -cpu host to qemu will make it use the native Hypervisor.framework which should speed up things.
nedzadarek
14:07@rebolek the Red's console has black&white colours.
It depends how capable is the console. I'm using the Red's console for short code and copy-paste some longer code that I just need to see the output. The Red's console is not that good so I'm using text editor that that uses different colours for different things (set word, word), ability to hide part of the code... etc. Here colours are important.
Ruby's pry is more capable than Red's console (it's not build-in). As fair I remember you could even edit a part of the code so colours are "important" here.
x8x
14:08@nedzadarek I suppose you are speaking about the Red GUI console on Windows?
14:16If you use the CLI Console you can customize it as you please and use these helpers to output colored text from Red code https://gist.github.com/x8x/afc2006f245a961ddfa9131bdf15485b (works on Linux and macOS not sure about Windows)
14:21Then you can customize Red Console prompt with:
system/console/prompt: color "red>> " 'red
14:22IIRC Oldes made ASCII colors work in GUI console too.
nedzadarek
14:38@x8x yes, I was talking about gui console on windows (8.1 x64).
I assume you mean one of the newer not stable version, right (no join on the old console)? Well, I'm compiling now but windows might need some dll to display colours. It was needed for the Pry on win XP. Not sure about 8.1.
14:42Well, it doesn't work:
*** Script Error: join has no value
*** Where: append
*** Stack: color

Red 0.6.3 for Windows built 30-Sep-2018/1:46:19+02:00 commit #dd46e5a
15:07Ok, I have found the definition of the join: https://gist.github.com/x8x/affd2c0b556027b423bfa95c17770096#file-build-console-red-L4 join: func[a b][append copy a b]. As I thought it need some library or something (as pry):
←[31mred>> ←[m
x8x
15:25@nedzadarek Sorry for the missing join I've updated the gist https://gist.github.com/x8x/afc2006f245a961ddfa9131bdf15485b
rebolek
16:53@nedzadarek Well Red's console on Linux is fully capable of true color, if you use right terminal emulator.
16:55And 16 basic colors are working in basically every terminal emulator there is.
BeardPower
16:59I prefer pastel tones instead of signal colors like red.
16:59![Unixporn](https://camo.githubusercontent.com/8595e3f06d3aba3dc4455fdeb623cb1dd3811d8d/68747470733a2f2f7261772e6769746875622e636f6d2f77696e64656c696361746f2f646f7466696c65732f6d61737465722f73637265656e73686f742e706e67)
17:02![Awesome](https://raw.githubusercontent.com/windelicato/dotfiles/master/why_bspwm.gif)
rebolek
17:03Yeah, you can change basic 16 colours however you like. I'm currently using blue/orange-like scheme, as in Workbench 1.3 (well, not so shining colors)
17:06@BeardPower is that some fancy version of i3?
9214
17:07@BeardPower yeah, what WM is that? Looks pretty slick.
BeardPower
17:27@rebolek @9214 Nope. It's bspwm https://github.com/baskerville/bspwm
17:28https://wiki.archlinux.org/index.php/bspwm
17:36People created very nice themes, which are easy on the eyes. bspwm + lemonbar + zsh:
https://imgur.com/r/unixporn/63bzr
17:40Haiku can also do very slick stuff with it's stack&tile feature.
17:40It's great for programming.
rebolek
17:51@BeardPower I see, thanks. I want to try bspwm and this demo seems nice enough to give it a try. And I can switch back ti i3 any moment. Oh, the joys of Linux :)
BeardPower
18:34@rebolek Watch our what Red/OS can do ;-)
nedzadarek
20:18@x8x sthil doesn't work - the same error.
@rebolek It's not windows doesn't support colours. I remember XP had it (not sure about previous version - I have been not using them too much). The problem is "how to set it using code/command(s)".
x8x
20:19@nedzadarek still join error? Strange it's included now.
nedzadarek
20:20@x8x No, It's just still doesn't interpret "color codes".
20:22
←[31mr4 + 4←[m
== 8
←[31mred>> ←[m
←[31mred>> ←[m
x8x
20:58@nedzadarek Open the Command Prompt and run Red with --cli then it works, thought setting Red prompt doesn't, see here:
20:58[![Screenshot 2018-10-23 at 03.55.49.png](https://files.gitter.im/red/chit-chat/Aorl/thumb/Screenshot-2018-10-23-at-03.55.49.png)](https://files.gitter.im/red/chit-chat/Aorl/Screenshot-2018-10-23-at-03.55.49.png)
nedzadarek
21:18@x8x yeah, printing (at least on the latest build) works.
x8x
21:36Great! Now Command Prompt is not the best Console, I'm sure there are better one you can install, I have Cygwin Terminal but for some reason I don't get the Red prompt, at least you got started, I'll let you investigate :smiley:
nedzadarek
22:08@x8x I have tried one that comes with git (git bash or something)... but the Red won't even take an input.
x8x
22:09@nedzadarek Have a look in red/bugs if you have the same issue.
nedzadarek
22:30@x8x There are no issues about bash similar to mine but I guess it's just an old version (3 years old I think).

WOW. After garbage-collector version gui-consoles gets better and better. The last version doesn't even have bugs (memory leak, high cpu, (right) menu), view works etc) as fair I can see. Great job!
x8x
22:36@qtxie :arrow_up: :thumbsup:

BeardPower
17:50It's Hacktoberfest, yay! https://hacktoberfest.digitalocean.com/
18:02[I'll Let Myself In: Tactics of Physical Pen Testers](https://www.youtube.com/watch?v=rnmcRTnTNC8)
ne1uno
18:32https://bitcoinchallenge.codes
BeardPower
18:42@ne1uno Is it solved or not lol » 0.1 BTC (solved) » 0.2 BTC (solved) » 0.31 BTC (unsolved) » 310.00 BTC (solved)
ne1uno
18:43I read it as one unsolved. I wouldn't know where to start, probably very difficult
BeardPower
18:44Don't be sad, there's 310 BTC hidden in the picture above and while solving the riddle you can find keys to 3 more BTC addresses with value. They contain 0.1, 0.2 and 0.310 BTC respectively. Good luck!
18:450.310 is unsolved. The rest seems to be solved.
18:46Update: The 0.1 BTC price is gone already. Good job "Lustre"!
18:46So either the FAQ is not updated or the 310 BTC are gone.
ne1uno
18:46I have been working on rankk.org for a few years, probably stuck at L8
BeardPower
18:48hehe
18:48And what is this? Successfully registered: 435
18:48435 what?
ne1uno
18:50can you learn anything from their block chain?
18:52there isn't a .310 balance?
18:53btw, I know nothing about this other than I got the URL from another crypto channel
BeardPower
19:00It's the registered users.
19:00It's all gone except the 0.310.
19:00https://www.chepicap.com/en/news/4306/somebody-just-won-310-btc-bitcoin-challenge-solved-within-8-days.html
19:01There were four prices/riddles worth: 0.1BTC, 0.2BTC, 0.31BTC and 310BTC
19:41[Message of Linus Torvalds to Risc-V](https://www.youtube.com/watch?v=q7C6mo1R8xU)

BeardPower
10:56[Frank Abagnale: "Catch Me If You Can" | Talks at Google](https://www.youtube.com/watch?v=vsMydMDi3rI)
12:31https://www.nanalyze.com/2017/10/7-startups-replace-passwords/
12:51[How we fit an NES game into 40 Kilobytes](https://www.youtube.com/watch?v=ZWQ0591PAxM)
18:26Red is a great fit for doing calculations for my red wine :-)

nedzadarek
20:10> [How we fit an NES game into 40 Kilobytes](https://www.youtube.com/watch?v=ZWQ0591PAxM)

I remember watching movie about the first Mario. I remember they mentioned that bushes and clouds were the same sprites, just with different colours.
BeardPower
23:51@nedzadarek Yeah! Shigeru Miyamoto was even showing the original hand-drawn levels.
nedzadarek
23:58:+1:

9214
01:35@BeardPower .kkrieger?
BeardPower
08:36@9214 Yeah, another great example of procedural generated textures and coding skills. It takes huge amounts of RAM because of that.
rebolek
08:36640kB?
BeardPower
08:37Unfortunately a few GB.
rebolek
BeardPower
08:43It has a minimum requirement of 512MB though.
nedzadarek
09:52@BeardPower By today standards ~500 MB is not huge. When I started it has ~~300 MB RAM, at the end it had <500 MB RAM.
PCG textures... I need to check their site. When I was younger I wasn't into PCG now I know more.
I remember they had some software to create maps or games (I don't remember). There is https://github.com/farbrausch/fr_public in one of the youtube gameplay.
ps. it has 96 KB (Readme has 6KB!). I wish they have been working on this more. Imagine they had ~1GB hard disk and ~2GB RAM.
@9214 :+1:
BeardPower
10:03@nedzadarek But back in 2004 when .kkrieger was made.
nedzadarek
10:04@BeardPower ?
BeardPower
10:04They do. They create middle-ware for AAA games.
nedzadarek
10:08I need to check that ^^
BeardPower
10:35@nedzadarek You said that by today's standards 512MB is not much. Sure, but .kkrieger was made in 2004.
nedzadarek
10:40@BeardPower Back in 2004 1-2 GB wasn't big deal. XP could use 3-4 GB RAM.
BeardPower
10:56It's not about what could be handled, but what the average RAM back then was. In 2004 it was around 512-1GB.
10:56So .kkrieger used about 50% of your RAM which was HUGE.
nedzadarek
14:58@BeardPower was it really 512 - 1 GB?
BeardPower
16:24@nedzadarek Yes. Some had 2GB. 3-4GB was a year or two later.
16:27This was in 2008!
https://web.archive.org/web/20081214160840/http://store.steampowered.com/hwsurvey/
16:27
System RAM
Less than 512 MB
(-0.31%)  2.91%
512 Mb to 999 MB
(-0.88%)  12.22%
1 Gb to 1.49 GB
(-1.27%)  20.94%
1.5 Gb to 1.99 GB
(+0.47%)  7.75%
2.0 Gb and above
(+1.99%)  56.18%
16:29@nedzadarek Farbrausch even made this Demo for PS3: https://www.youtube.com/watch?v=MLDanQvMw04
16:32Another Demo Scene (from Plastic) project on the PS3: https://www.youtube.com/watch?v=1AS8StSFxxc
nedzadarek
20:00@BeardPower interesting but.. they are not as impressive as .Krieger. Thank you nevertheless.

nedzadarek
19:38@BeardPower are you going to update https://github.com/BeardPower/red/wiki/How-to-create-a-new-datatype-for-Red ?
BeardPower
20:26@nedzadarek Sure, if there is new stuff to update.
20:28It needs better wording and more precise terminology.
nedzadarek
22:09@BeardPower Sure, there are parts that can be better but I mean that you left the tutorial at ~~75% and just posted finished code.
BeardPower
22:10@nedzadarek What do you miss?
nedzadarek
22:11@BeardPower let me check
22:22@BeardPower https://github.com/BeardPower/red/wiki/How-to-create-a-new-datatype-for-Red#implementing-the-mandatory-actions-of-our-new-data-type You said "Now we implemented the code of make, to, form and mold" but there is nothing in the tutorial. After this point I just closed the tab. Sure, there is whole implementation in the gist but I'm not sure if I should try to understand it or wait for the improved tutorial.
BeardPower
23:30@nedzadarek Because I released the complete code.
23:31Implementing a data-type has a lot of connected code through several files, so its not easy to come up with the right amount of code snippet.
23:32Thanks for the input. I will improve it for sure.
23:32I released it in the current form because a user was requesting help with his data-type issue.
23:34The improved tutorial will be much better and has direct code snippets.
23:35I just have to work on a new data-type and will work on the tutorial after that. It should be around next week.

nedzadarek
00:07@BeardPower I see, thank you.

gltewalt
15:27Apple is bringing autocad and photoshop to iPad
BeardPower
15:28The new Macs look really awesome.
15:28The Affinity products are also available for iPad.
pekr
15:29Apple is not bringing anything, it is vendor who do eventually :-)
BeardPower
15:30And where was my Mac Pro!?
gltewalt
23:41No Mac Pro update...

BeardPower
08:57Yeah, very disappointing.

iArnold
08:10A "We're hiring!" button! Nice! Uhm, it is for gitter, looking for Javascript devs :-(
Any video's from RedCon?
rebolek
08:11Yes , there will be videos.
gltewalt
13:51We are all JavaScript devs. Are we not?
rebolek
gltewalt
16:21Sure we are. It’s first cousin to Redbol. Look up info as you need it.
rebolek
16:21That's just blasphemy.
BeardPower
16:22Why do you hurt my feelings?
rebolek
16:22Yeah, my pronouns are red/red/red, not js/js/js.
gltewalt
16:24😮
abdllhygt
18:08hey, i came!
18:44i want to ask about DSL of [Waja](https://github.com/abdllhygt/waja)
18:48BEFORE; it was like that:
-es -wta "ha" -a "ikan" "n" []
result:
lw: "Ha es ikan"
en: "It is a fish"
18:49-wta (Pronouns) and -a (Words) were function
18:52NOW; like that:
-es object [...] object [...]
in object:
object [
    type: "a"
    text: ""
    who: "ya"
    the: false
    plural: false
    also: true
    i: []
  ]
18:58So, it's root of the translator. I have to be careful for design it. Do you guys have an idea for it?
Ungaretti
19:32Does anybody know where I can find some simple examples of CGI and RSP for the Cheyenne server? I'm trying to document it in Helpin'red style (for dummies like me), but documentation is scarce to say the least...
Cheyenne seems mostly dead, but it may have a revival once Red is complete.
21:32For CGI I can use Rebol's examples, but for RSP I'm lost.
9214
22:29@abdllhygt, encapsulating all related data in one object is usually a good idea, but make sure that it is stateless, i.e. that between two passes of your compiler / interpreter there are no remnants of previous translation inside an object.
endo64
22:50@Ungaretti RSP is the easiest one. Docs are not complete but if you download Cheyenne's source archive from GitHub you can find some simple examples. And examine the API docs to understand more, https://www.cheyenne-server.org/docs/rsp-api.html
22:51I've used Cheyenne (and still using) so I can help you if you stuck.

abdllhygt
09:19@9214 thank you!
Ungaretti
09:42@endo64 I'll look further into those docs to see if I can figure it out by myself. If I don't, I would appreciate that help you offered. Thanks a lot!

nedzadarek
16:19@BeardPower Good evening. Is there any progress in improving [the datatype tutorial](https://github.com/BeardPower/red/wiki/How-to-create-a-new-datatype-for-Red)?
BeardPower
17:38@nedzadarek Nothing pushed yet but working on it.
17:39I think it will be ready at the end of the week.
nedzadarek
17:41@BeardPower good to hear that. Thank you.

moliad
22:21I didn't see anything missing. followed each step and it worked the first time we tried.
@BeardPower note the changes to the datatype counter. code we added, the types now autocount.

BeardPower
00:54@moliad Thanks. Yes, one more less to worry about :-)

nedzadarek
09:59@9214
In my memoization code I stored function call and return value as block! - value pair. map! does not support series as a key so I had to use block! (for example: [ [append/only [1] [2]] [1 [2] ]). By using block! I cannot set non-existent key with the set-syntax (bl: [] bl/a: 1). I have to append, put or something like this.
9214
10:00@nedzadarek again, what it has in common with your initial proposal?
10:01And why don't yo use molded block version as a key, or even its checksum or binary! representation?
nedzadarek
10:01@9214 it is the reason why I wish I could use bl/a: 1 when a is not in the block.
9214
10:01I don't follow your line of reason at all.
10:02map! does not support any-list! as a key - I wish I could use block/key: value.
10:03Well, whatever. If you have something to say, you should say it in your REP document.
10:07Because people keep saying "Red should be this" or "Red should do that" in a half-serious manner, without deeply thinking about all design considerations and doing their homework; but then, for some reason, they expect us to treat such proposals seriously and waste our time and effort on reviewing them. This time we'll play this game differently - if you're *serious* about that, then write a *serious* proposal, and expect *serious* debates and discussions, in which you'll need to back up each and every claim and defend every single change, if you wish your suggestion to be integrated.
nedzadarek
10:08> And why don't yo use molded block version as a key, or even its checksum or binary! representation?

First, I wanted to be it to be readable - so no binary! representation.
Secondly, as fair I remember mold is not fully implemented, and I think It needs /all and /binary (I do not remember how someone name it) to be usable.
9214
10:08So molded block is not readable?
nedzadarek
10:09It is but molded block might not contain all the informations needed (read above sentence).
9214
10:16Even if it is so, what stops you from adding this missing information?
10:17And, outside of this single "limitation", does your block/key: value feature has any general, concrete use-cases?
nedzadarek
10:22@9214
> Because people keep saying "Red should be this"...

It was not a "very serious" discussion. I was/am reluctant to add and adoc to the red/rep because

> And, outside of this single "limitation", does your block/key: value feature has any general, concrete use-cases?

no. If I have non-series keys I will just use map!.
10:25> Even if it is so, what stops you from adding this missing information?

You have to know how to store certain informations as a string. It is easier to just use a block!... and If I cannot use "set-syntax" I will just use put.

nedzadarek
16:29@BeardPower
> Yes, but the center of the pixel is the coordinate of the pixel, not it's dimension.

So center of the pixel = coordinate of the pixel so no need for floats
BeardPower
16:31Rendering APIs don't have the concept of a pixel, just units. These units are floating points and you need floating point pairs to map these units to pixels.
16:32A pixel rendered at 0/0/0 would be rendered at the center of the pixel.
16:32Same as a line.
16:33A line is drawn at units and it's thickness is an offset.
16:33So a 1px line would have a positive and a negative offset of 0.5 units.
16:34Pixels are just the result of a rasterization step.
nedzadarek
16:38@BeardPower interesting.
BeardPower
16:38A Pixel is just a unit of measure itself. Same as Kilograms. What's the dimension of Kilograms? ;-)
16:39Space has dimensions: x/y/z
nedzadarek
16:39only 3?
BeardPower
16:39Yes.
nedzadarek
16:40What about time?
ne1uno
16:40spacetime
nedzadarek
16:40Oh... well, I don't think I should talk about such things as I'm just "dumb" hobbyist.
BeardPower
16:42Time is not a dimension of space.
16:42Spacetime: 3 dimensions of space and 1 dimension of time
ne1uno
16:42what if we only used even numbers? round off all odd results. it's a similar argument. you lose precision without floats
BeardPower
16:42Space <> Time
rebolek
16:43Spacetime!
https://www.youtube.com/watch?v=1g0z33YbKM8
BeardPower
16:44@ne1uno You will get rendering artifacts.
nedzadarek
16:44@ne1uno but floats are imprecise.
BeardPower
16:44@rebolek Hehe
16:44@nedzadarek No, they are not. It depends on their implementation.
nedzadarek
16:45@BeardPower as fair I remember Einstein thought 3 dimensions of space was not very different than time dimension.
BeardPower
16:48@nedzadarek I'm no physicist. I only used 4D cubes as a CPU interconnect (Hypercube).
16:49OpenGL spec tell us:

> A fragment is located by its lower left corner, which lies on
integer grid coordinates. Rasterization operations also refer to a fragment's center,
which is offset by (1/2; 1/2) from its lower left corner (and so lies on half-integer
coordinates).
nedzadarek
16:50@BeardPower Well [IEEE 754 single-precision binary floating-point format: binary32](https://en.wikipedia.org/wiki/Single_precision) have 3 parts: sign, exponent and significant. Significant store 23 bits.
BeardPower
16:50@nedzadarek Yes. This is just a spec.
16:50Floating point numbers can be implemented differently.
nedzadarek
16:51^ but then isn't it not a "floating point"?
BeardPower
16:53IEEE 754 is a technical standard for floating-point computation.
16:53@nedzadarek It still is: The term floating point refers to the fact that a number's radix point (decimal point, or, more commonly in computers, binary point) can "float"; that is, it can be placed anywhere relative to the significant digits of the number.
16:54The IEEE 754 is just a standard on how to implement it.
nedzadarek
16:54@BeardPower I see... so I have used it to mean something different.
BeardPower
16:56DEC64, Unum -> they both can handle floating point values but they work different.
17:01[![proxy.duckduckgo.com.png](https://files.gitter.im/red/chit-chat/dwJT/thumb/proxy.duckduckgo.com.png)](https://files.gitter.im/red/chit-chat/dwJT/proxy.duckduckgo.com.png)
nedzadarek
17:02I think you have made a wiki about DEC64
BeardPower
17:02Here you can see how rasterization works. Vertices are not on an integer boundary.
17:02@nedzadarek Yes, I implemented DEC64 for Red.
17:04The Pixels are just covering the face of a triangle.
17:04It's not exact and you need to apply filters and sub-pixel rendering to get an accurate coverage. People do not have vector monitors any more ;-)
17:05https://en.wikipedia.org/wiki/Vector_monitor
nedzadarek
17:06Hmmm... right, I have copied some pages about "drawing line" . It looks similar. It makes more sense now.
17:07I don't think any "young" person remember CRT.
BeardPower
17:07CRT is awesome tech!
nedzadarek
17:08In the winter you got free heater.
BeardPower
17:08Not really.
17:09You cannot beat a CRT!
17:09They have 1 microsecond of response time not milliseconds like an LCD ;-)
17:09https://en.wikipedia.org/wiki/Comparison_of_CRT,_LCD,_and_plasma
nedzadarek
17:09I have one probably not working
17:10I don't really need more than 30-60 fps.
BeardPower
17:11Response time, not refresh time.
17:13Unfortunately Laser-TVs never got the needed market penetration.
17:14Same as SED.
nedzadarek
17:18I don't really see problems in my laptop's lcd.
BeardPower
17:19Maybe just because you never experienced the other display tech.
17:19How would you know the taste of a banana if you have never tried one?
17:22LCD is okay if you don't need to rely on calibrated and correct colors.
nedzadarek
17:22I like to check tech stuffs but I don't see any big "change" from some time. I haven't tried 3D stuffs.
BeardPower
17:22Colors on a LCD are very different depending on the tech used.
nedzadarek
17:24Maybe but I haven't compared every TV.
gltewalt
17:59Dimension of a kilogram is 7
BeardPower
18:03@gltewalt That would be the amount.
9214
18:04@gltewalt [coincidence..?](https://youtu.be/qRFX9pQd22w?t=11292)
gltewalt
18:05Gregg Irwin, he’s on to us
BeardPower
18:05Mass is the dimension.
18:06Kilogram is it's unit.
18:06A unit has no dimension ;-)
9214
18:06How heavy is your gold?
BeardPower
18:06Can't breath.
9214
18:07[How funky is your chicken? How loose is your goose?](https://www.youtube.com/watch?v=zwOORl2lwTQ)
BeardPower
18:08@9214 Seriously?
rebolek
18:08chicken-chat
gltewalt
18:10Kilogram is the word that points to a thing of N dimensions
rebolek
18:10kilo is 1000, so it obviously has 1000 dimensions
gltewalt
18:10Right now, my word points to 7
18:140.029352450137950938 Hogshead
nedzadarek
21:39hmm... what about E = mc^2?
ne1uno
21:48the formula for converting mass to energy. units to be determined

x8x
09:21[List of Free Learning Resources ](https://github.com/EbookFoundation/free-programming-books) (not Red related)
09:22And the root af all the Awesome Lists https://github.com/sindresorhus/awesome
toomasv
12:49@x8x Great lists! :+1: Red should be added to Awesome by someone who has good overview of resources.
BeardPower
12:51@ne1uno Units or dimensions? ;-)
12:52Red = rich + famous

nedzadarek
11:48@BeardPower It's weird - I cannot find your DEC64 implementation for the Red. Can you give me the link?
ps. I have read the page (I think) you have [linked]( http://dec64.com/ ). It's interesting. I have found -32 and -128 versions so I'm wondering if there is a version with arbitrary number of digits (like [The Ruby's Bignum]( https://ruby-doc.org/core-2.2.0/Bignum.html))?
BeardPower
11:50@nedzadarek It's not merged yet. You can find it in the money branch of my git repo of Red.
ne1uno
12:00https://github.com/red/red/tree/hex-datatype I don't know if this is for the wallet/C3 only, or will be merged, has HEX! and BIGINT!
12:08@BeardPower there doesn't seem to be any public branches at https://github.com/BeardPower/red
BeardPower
12:11@ne1uno Of course there are. Just select the money branch. https://github.com/BeardPower/red/tree/money?files=1
ne1uno
12:14thanks, github doesn't like older firefox. direct link or newer browser works.
BeardPower
12:28:+1:
ne1uno
12:29old gui way behind, compiles but doesn't run
BeardPower
12:29It's 0.6.3
12:30Just merge it with 0.6.4. I'm currently finishing it and merge will be 0.6.4.
ne1uno
12:30red-console too. win7
BeardPower
12:31Works for me with the console. Thanks for the heads-up, I will make sure it works with the newest 0.6.4 once it's finished.
ne1uno
12:31cli works, ? money
BeardPower
12:32Yes. CLI work.
12:32Need to check the issue with the GUI console.
ne1uno
12:41sum must be builtin 064 now. probably needs money!
12:52FEAT Added SUM and AVERAGE functions by endo64 Pull Request 3498
nedzadarek
12:53@BeardPower @ne1uno :+1: I'm reading it now.
ne1uno
14:14not sure if this means anything, ffact: func [x][either zero? x [1][x * ffact x - 1]]
14:14064 ffact 172.0 ;1.#INF money branch ffact 150.0 ;error overflow
14:16064 may have increased the recursion limit.

amreus
18:12Looks like snow... :snowman:

$ wthr
This Afternoon..   47 Rain And Snow Showers
Tonight.........   26 Snow Showers Likely
Tuesday.........   30 Chance Snow Showers
Tuesday Night...   24 Chance Snow Showers
Wednesday.......   30 Chance Snow Showers
Wednesday Night.   24 Chance Snow Showers
Thursday........   34 Chance Snow Showers then Mostly Cloudy
Thursday Night..   28 Chance Snow Showers
Friday..........   40 Chance Snow Showers then Chance Rain And Snow
Friday Night....   32 Slight Chance Rain And Snow
Saturday........   45 Chance Rain And Snow
Saturday Night..   40 Light Rain Likely
Sunday..........   51 Light Rain Likely then Rain Showers Likely
Sunday Night....   36 Rain Showers Likely
* courtesy of Red and weather.gov
Oldes
18:21You should include also location info in the output
rebolek
20:11@Oldes 47°C and snow? It must be probably in hell.
pekr
20:17Might be in F, which actually is cca 8C ...
amreus
20:17°F of course.
20:18Freezing to boiling 32 to 212 deg. F - makes perfect sense..
rebolek
20:19:smirk:
BeardPower
20:21A non-linear unit for measuring temperatures... Some people are loonies... :smile:
rebolek
20:23What non-linear unit? K-C-F are all linear-related.
20:24Or is there some another unit? 0 - absolute zero, 1 - freezing point, 10 - boiling point, 100 - sun's surface, 1000 - sun's center, ...
pekr
20:34F to C conversion has shifted base by 32. So from 100F to C, you need to distract 32, then divide by 1.8 in order to get the result ....
rebolek
20:35Yeah, but it's still linear.
BeardPower
22:24@rebolek Sorry, linear was not the correct term.
22:26Today it's 0°. Yesterday it was twice as cold as today. How cold was it? ;-)
nedzadarek
22:26@amreus and add a row like: [time temperature (C/F/...) weather]
22:31@BeardPower 0 ;)
BeardPower
22:34@nedzadarek Can't be because if today it was 10° and yesterday it was twice as hot, would it be 20°?
22:35You would need to measure the Joules needed to heat some water to 10° and to 20°. Would it be twice the Joules?
gltewalt
22:36F is superior
BeardPower
22:37Would it be the same to heat water from 50° to 60°? Or cool from -10° down to -20°?
gltewalt
22:37You can gripe more often because there’s more graduation when it’s hot
nedzadarek
22:37t = today; y = yesterday
t = 20; y = 20 / 2 = 10
t = 4; y = 4 / 2 = 2
t = -4; y = -4 / 2 = -2
t = -20; y = 20 / 2 = -10
BeardPower
22:37@gltewalt Why is that? K to the win!
22:38@nedzadarek I'm talking about the real physics, not a math formula ;-)
nedzadarek
22:38So give me **real data** ;)
ne1uno
22:39not enough information from one data point
BeardPower
22:40And your formula does not work with 0° as twice as cold/hot is clearly less/more than 0°. This scale cannot be used for such calculation.
22:43@gltewalt How is graping related to the scale used?
gltewalt
22:48From about 85 up to 110 you can bitch about the heat and do comparative or incremental bitching.
BeardPower
22:49:smile:
22:49Good that I create ice-wine ;-)
gltewalt
22:5642 doesn’t look impressive when it’s hot. Need a bigger number so you have a nice visual reinforcement for the bitching

nedzadarek
00:02@gltewalt but 42 is The Answer.
@BeardPower It was interesting question. ps. I like this answer: https://www.quora.com/If-the-temperature-outside-today-is-zero-degrees-and-tomorrow-will-be-twice-as-cold-as-it-was-today-how-cold-will-it-be-tomorrow
gltewalt
00:58Or -100
rebolek
07:36If today is 0 and tomorrow will be twice as cold, it will be 00. It's really simple math.
gltewalt
07:49👀
BeardPower
12:32@nedzadarek "Twice as cold" will never have the meaning of "half the temperature". Twice always means a multiply by two: -10 * 2 = -20. It will always be smaller. Smaller means colder.
12:34To answer the question you would need a physical exact scale. Line decibel.
12:34It has a logarithmic scale. Twice as loud is not a multiply by 2.
12:35You would need to heat/cool the temperate with twice the Joules used and measure the temperate.
ne1uno
12:35is that true? materials have specific heat and different density.
BeardPower
12:36Yes, it depends on what you heat. But here it means air temperature.
12:36That's what you feel. No wind.
12:36The felt temperature is different to the actually temperate if there is wind involved.
ne1uno
12:37-10F feels four times colder than 10F
12:38starts to be serious exposure hazard too
BeardPower
12:38Measure the air temperature (assumed it's 20°C). Now heat it to 25 and measure the Joules needed. Now heat it to 30 and measure the Joules needed.
ne1uno
12:39a non linear scale might make sense, no doubt there is one out there by someone
BeardPower
12:39Of course take all physical properties of the involved materials into account.
12:39For sure.
ne1uno
12:41as it gets colder you lose heat. water takes longer to melt than it does to freeze, so twice as hot is more than half as cold
nedzadarek
12:41@BeardPower
> "Twice as cold" will never have the meaning of "half the temperature". Twice always means a multiply by two

In perfect math you are right, but not always in real life situations.
BeardPower
12:42Math is always perfect. There is no imperfect math.
12:421 + 1 is 2. There is no 1 + 1 is not 2 ;-)
rebolek
12:42math is perfect but real world isn't
BeardPower
12:42Well, in a sense it is.
rebolek
12:431 + 1 is 1? that's another level of perfection IMO
ne1uno
12:43quantum math 1+1=3
rebolek
12:43real word 1+1=2
nedzadarek
12:43@ne1uno let @BeardPower prove 1 + 1.
BeardPower
12:43lol, sorry, yeah
rebolek
12:43more or less
ne1uno
12:441+1=11 in javascript
rebolek
BeardPower
12:44@nedzadarek Need to look for my notes where we proved it.
nedzadarek
12:44@BeardPower I heard it took one whole book for this proof
BeardPower
12:45@ne1uno Wouldn't 1 + 1 in quantum math be anything until evaluated?
12:46It would be 2 and not 2 at the same time.
rebolek
12:46In real world, 1 + 1 is not always 2. One sub-critical amount of uranium plus one sub-critical unit of uranium aren't two sub-critical units of uranium, but big bada boom.
BeardPower
12:46@nedzadarek No, it's a short proof including axioms and successor functions.
nedzadarek
12:46@BeardPower wouldn't it be lot of different numbers with low probability (I'm not quantum student).
BeardPower
12:47@nedzadarek I'm no either. It would just have multiple states.
12:48The cat in the box could be alive and dead at the same time.
12:48Until you lift the box and see it's actual state.
nedzadarek
12:48> I sent the Shrodinger
BeardPower
12:48If you have a green car. Will it be really green at night?
12:49Is the sky really blue or is it just how we see it?
12:49Maybe in reality the sky is red.
12:49And the trees are blue.
nedzadarek
12:49^ this is another case - perception of colors... I have this problem with color picker - color appears darker when in picker, but ligher when it's in image.
rebolek
12:50red: 0.0.255 blue: 0.255.0
BeardPower
12:50Exactly. It's what we percept but maybe it's totally different.
ne1uno
12:50some of the named red/rebol colors need tweaking
BeardPower
12:51@rebolek I see you are using the GBR model ;-)
nedzadarek
12:51@BeardPower we percept something differently but does it really prove quantum?
rebolek
12:52@BeardPower no, I'm just making sure that your statement that sky is red and trees are blue is valid :)
BeardPower
12:52@nedzadarek Who knows. Maybe it's just all in your head ;-)
nedzadarek
12:52oh... my... maybe it's in your head? <end of conversation>
BeardPower
12:52@rebolek Just like in string theory. If it does not work out just add another dimension to it.
rebolek
12:53If it's all in my head, then I'm the one who invented genetics, theory of relativity and Rebol. Not bad IMO.
nedzadarek
12:53@BeardPower In M-theory they made every theories into 10 or 11 dimensions.
BeardPower
12:53Yep, you are a real genius!
12:54@nedzadarek Maybe it's in mine yes. Who knows :-)
rebolek
12:54Why am I praising myself?
12:54I don't need it.
BeardPower
12:54It's not you, It was me.
rebolek
12:55But you are just in my head.
BeardPower
12:55No, it's in my head.
12:55You are just saying that in my head.
rebolek
BeardPower
12:57It's as crazy as time-travel paradoxes.
12:57It's unsolvable.
ne1uno
12:57the sky is mostly N so yea, blue
rebolek
12:58Time -travel paradoxes are very easy to solve. There's no time travel, so there are no paradoxes.
BeardPower
12:58@nedzadarek It's all a theory after all.
12:59@rebolek That's not a proof :-)
12:59You need to proof why there is no time travel.
rebolek
13:00No, that's no how it works :)
BeardPower
13:00A lot of times, yeah :-)
rebolek
13:00You need to prove that there is time travel.
BeardPower
13:01It's your turn, as you made that proposition ;-)
13:01Working on it, though.
rebolek
13:01 Spending time proving there's no Yetti, time travel, Chupacabra, whatever,... that makes no sense.
BeardPower
13:02[![proxy.duckduckgo.com.jpg](https://files.gitter.im/red/chit-chat/q2CH/thumb/proxy.duckduckgo.com.jpg)](https://files.gitter.im/red/chit-chat/q2CH/proxy.duckduckgo.com.jpg)
13:02That's a start!
13:04@rebolek Rich and famous, dude! Rich and famous ;-)
nedzadarek
13:06@BeardPower I think Einstein proven that you can travel forward using wormholes... I may be wrong - I'm not into "science" that much.
BeardPower
13:08@nedzadarek Well, it was a theory. It has not been proven yet.
13:08No one has been able to travel through one.
nedzadarek
13:09Well, we are not advanced enough.
BeardPower
13:09What has been proven is the fact, that time flows slower in space etc.
ne1uno
13:09just faster than on observer, no wormhole
nedzadarek
13:11Time flows slower? I thought with greater speed you in space and another person in space have "different clocks".
13:11@ne1uno oh, I might mixed up theories... too much Stargate
BeardPower
13:11Yes. It's nicely shown in the movie "Interstellar".
nedzadarek
13:12^^ I have yet to watch it.
BeardPower
13:13Yes, because of the time flowing slower: https://en.wikipedia.org/wiki/Time_dilation
rebolek
13:15@BeardPower I'm neither and never will be. Time travel won't help with that.
BeardPower
13:18@rebolek You will receive Red tokens, do you? ;-)
rebolek
13:19I guess it's possible.
13:21I've actually already received one physical Red token.
13:22It's very pretty.
BeardPower
14:33Ah, the present from RedCon.
gltewalt
16:49Time is a motion that is affected by motion. Applied to energy, you get E-motion.

planetsizecpu
17:27[![Shipment.jpg](https://files.gitter.im/red/chit-chat/QzRv/thumb/Shipment.jpg)](https://files.gitter.im/red/chit-chat/QzRv/Shipment.jpg)
17:27Now I see the light at the end of the tunnel, the latest equipment to configure and install to users, from a total of forty, plus their respective screens, plus s/n registering, should have put this in the help room a few weeks earlier 😩 next month I should have time to play with Red.
rebolek
18:07:+1:

viayuve
12:04@rebolek who is making os using red? have I hear 👂it correctly guy from Australia or Austria I Guess. Can you shade some light on it...
rebolek
12:05@viayuve Ask @BeardPower directly, he's the one :smiley:
viayuve
12:07@BeardPower I thought you were waiting until mill come out....
ne1uno
12:30Amazon Graviton will need an OS too
BeardPower
13:09@viayuve The OS is using a HAL. Any other part is architecture agnostic and I need to start on what I have, which is X86. I don't have a SPARC or PPC any more. The Mill is currently in hush-mode. No public simulator yet, but the HAL is not much work. To create an OS entirely with Red and Red/System, it would need a lot of work on those itself (exposing I/O, supervisor/priviledged opcodes, static libs, archives, object files). Those features would also allow us to write/port a firmware (OpenFirmware, Coreboot, Libreboot) to Red and Red/System as well.
13:10@ne1uno Maybe Intel will provide it.
ne1uno
13:11I think AMD was the plan
13:11they went in a different direction
BeardPower
13:12Yeah, who knows. Intel is pushing it's own Linux distribution recently.
13:12Maybe there is a big announcement on December 11th.
13:12X86 needs to die ;-)
13:13@9214 Right? RIGHT!?
viayuve
13:22@BeardPower everyone want linux market share looks like.
pekr
13:24Red/Hat :-)
BeardPower
13:39@viayuve Depends which market you are referring to: Desktop? Server? Aerospace? Military? etc.
rebolek
13:52https://adventofcode.com/2018
gltewalt
13:52Mint is the way and the light
13:57Day 1 is probably just sum [puzzle input]
rebolek
13:58part 1 yes, part 2 is bit harder
BeardPower
14:12There was a guy solving this stuff with Red already.
rebolek
14:12it's new every year
BeardPower
14:12Yes, this year they use Red.
rebolek
gltewalt
14:13Probably 9214
BeardPower
14:13The adventofcode stuff.
rebolek
14:14Advent of code uses Red?
BeardPower
14:14For solving the puzzles.
rebolek
14:15I don't understand. You can use whatever you want. Red, assembler, C, your fingers...
BeardPower
14:15Yes. I just saw some guy doing it in Red :-)
rebolek
14:15where?
BeardPower
14:15Need to find it again.
rebolek
14:17Here's a list of people who used advent and code in their messages:
>> probe unique qobom messages [keep 'author where 'text contains "advent" and 'text contains "code"]
["dander" "9214" "tsebb" "toomasv" "greggirwin" "Rebol2Red" "BeardPower" "loziniak" "oppih" "GalenIvanov" "ne1uno" "meijeru"]
BeardPower
14:18https://github.com/JaumeGreen/adventofcode
14:18Not in your list ;-)
rebolek
14:19Ah cool
ne1uno
14:19r/redlang
BeardPower
14:19So who is this?
rebolek
14:19@BeardPower if he wasn't talking about it on Gitter, he can't be on the list :)
BeardPower
14:19Point taken :-)
gltewalt
14:24The leader is using Ruby
BeardPower
14:26This is crazy talk!
gltewalt
14:28Usually it’s F#, Haskell, or something like that
14:29F# is nice... wish I had the extra free time to dive into it. But... probably never will the way things have been going
BeardPower
14:43Hehe.
14:43I thought that Red is all you ever need? ;-)
gltewalt
14:52Need? Yep. Want? I like to taste test
14:52Errrr, used to like taste testing. No extra time anymore
nedzadarek
14:52In my opinion, the Ruby is very good at small things and prototyping.
15:05btw. what 0.64 version change? Only (I assume) another version of a garbage collector?
ps. I haven't asked in the main rooms because I heard they are busy.
rebolek
15:06it's not another version of GC, it's first version of it, there wasn't any GC before
gltewalt
15:06There’s a write-up of the changes coming soon
viayuve
15:06@rebolek you have page on style let me know brother http://red.qyz.cz/writing-style.html
nedzadarek
15:07@rebolek @gltewalt I see, then I will wait.
15:07Thank you.
rebolek
15:09@viayuve ¯\\\_(ツ)\_/¯
viayuve
15:10😂
ne1uno
15:11rich-text
9214
15:45I [helped](https://www.reddit.com/r/redlang/comments/a2cjpm/advent_of_code_2108_entries/) a guy in Red subreddit with the second challenge. Feel free to chime in with your own solutions, and pump "AoC in Red" on media channels.
toomasv
16:00I put my solutions to [github](https://github.com/toomasv/adventofcode). Who is interested can discuss in wiki. If anyone is interested and wants to put his/her solution there, please PM me you email, so I can add you as collaborator there. (I hope this works. No experience in github collaboration.)
BeardPower
16:51@9214 Ahh, this is the guy I was talking about earlier!
toomasv
17:10These elves are really in trouble in day 3 already:
17:10[![image.png](https://files.gitter.im/red/chit-chat/IAO6/thumb/image.png)](https://files.gitter.im/red/chit-chat/IAO6/image.png)
Oldes
17:25Now just add semi-transparent fill and count the right pixels.... brute force:)

nedzadarek
00:58@Oldes I would call it:
> precomputed for faster lookup
ne1uno
03:49https://adventofcode.com/2018/leaderboard/private did anyone create a private leaderboard?

dander
08:47I could have been working on one of the actual puzzles, or more reasonably going to bed, but I figured out how to do this instead:
read-input: function [day][
    input-file: rejoin [%day day "-input.txt"]
    download-link: rejoin [https://adventofcode.com/2018/day/ day "/input"]
    if not exists? input-file [
        cookie: rejoin ["session=" read %session-cookie.txt]
        response: write/info download-link compose/deep [
            GET
            [Cookie: (cookie)]
        ]
        write input-file response/3
    ]
    read input-file
]

Just need to find the value of your session cookie in your web browser and save it in %session-cookie.txtfirst.
toomasv
09:03:smile: :+1:
rebolek
09:13@dander Nice! Or you can use http-toolsand simplify the code a bit:
send-request/with rejoin [https://adventofcode.com/2018/day/ day "/input"] 'GET compose [Cookie: (cookie)]

:smirk:
dander
18:26@rebolek yeah, I should do that. It's just the extra steps of referencing that... well maybe it's just a single do line after all... I'm looking forward to the day when we have a built-in package manager
nedzadarek
23:27@dander Every time you post something I think about https://www.youtube.com/watch?v=Mxmc8zo5Jns Your name and surname are similar, you both look similar (well, at least your mini avatar) and you both like to smile.
dander
23:47@nedzadarek oh, funny. I was not aware of him. My name tends to be ridiculously common, so I'm pretty used to collisions with other people. For a while at my company, there was another guy named "Dave Anderson", and he is no longer here, but I still get calls for him.

nedzadarek
01:03Interesting.

gltewalt
18:03Could a programming language fix its own bugs? (Theoretically)
ne1uno
18:05if it had an incentive to test. what could that possibly be?
18:05it's inert
gltewalt
18:07Is it? What if true AI is achieved and they combine AI with a programming Kant?
18:07Language
18:08(Stupid autocorrect)
18:08Funny though that Kant was a philosopher
ne1uno
18:10things like setting up an auto test can take days for a skilled programmer. Ai is a 2year old.
gltewalt
18:16We shall call it PSNS. Programming System Neural System.
Coming from this name with the vowels taken out: Pausanias
18:17Author of “Know Thyself”
ne1uno
18:18Ai might be in a better position to know if tests fully cover the code if they could communicate better.
18:18 you can't always predict what an Ai knows but I doubt they are hiding any deep understanding
gltewalt
18:190.6.4 blog post is up
greggirwin
18:35You have to clearly define "bug", but the language is just the language. Certainly tools could analyze things, but AI often relies on patterns, so the less patterns you have, the less it can learn.

nedzadarek
00:05@gltewalt I think it is possible but we are far from doing this. *We* are kind of good at simpler games (e.g MarI/O) but not so good at androids (I do not read about this topic so pardon my ignorance).
It is off topic, but I think programming languages are going to make solutions based on end-goal and facts/knowledge (logic/constraint programming - e.g. Picat, Wolfram - language with build-in knowledge).
@greggirwin Is it really necessary to define "bugs"? What if we define end goal (e.g. a file has been saved, some text has been printed etc)?
greggirwin
01:23A bug is just failing to meet a clearly defined goal. If we're talking about a library or implementation of a feature with clear inputs and outputs, that's possible, but still a lot of work. But if we're talking about a *language*, how do you define the end goal? This is where a definitive spec for the syntax/grammar of the language comes in. Once you have that, then you have to define the semantics. @gltewalt asked:

> Could a programming language fix its own bugs? (Theoretically)

Which is even more interesting, because it then has to rely on itself, which may be subject to bugs. Can it fix bugs it can't find due to bugs?
gltewalt
01:32What about distributed ledgers, and forming a consensus on what the result of certain operations or calculations should be?
GiuseppeChillemi
05:45@greggirwin , @9214 , @dockimbel, @BeardPower , @gltewalt . XP Is still more more widespread than Mac and there Is still no widespread substitute for rugged XP data entry/barcode tablets Reading at 80-120 USD price point.
05:51Instead of stopping my request I suggest you adopting this platform and developing RED solutions for It. Cheap solutions are a great way to gaining a customer and entering inside companies as solution providers and only RED permits such great combination of power/affordability.
06:11Here Is a cheap military device: https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.de%2Fulk%2Fitm%2F132670986599
06:12Good for field use..
pekr
06:27@GiuseppeChillemi have you tried 0.6.4 on XP already? I don't have any machine available here, but - maybe it still works?
greggirwin
07:28@GiuseppeChillemi we only have so many resources. If somebody wants something that isn't in our plan, they need to provide a convincing argument why we should support it. Unfortunately, anecdotal evidence isn't enough.

As others have said, try it. Find the last version of Red that works on XP and make sure it's tagged. Then identify the missing features that need to be in place to make it a marketable product. This is the real problem. Even if Red runs there, who will pay for it? If R2 runs there today, and works well, why aren't people clamoring to pay for it?
GiuseppeChillemi
07:51@greggirwin ten years ago there where no market for second hand expensive servers. Now those machine have been dismissed from data centers and there have been a big explosion in their market. Price low and request and solutions based on them is very high. The same for those tablet. They have been dismissed from big companies which are able to purchase newer ones and their market is now exploding..
I am not giving you anecdotal evidence but a market analysis, and also a business opportunity for many of us. I have planned the adoption in my company because of such fluorishing market.I know this as I have been involved in the direct business for some years. RED is the perfect swiss knife for those machines. This market is now and not at REBOL2 times where those machines were priced at 3500USD.
Also I think that Release 0.6.4 or 0.7.0 could be perfect for being be the last to support. Garbage collector is here and it is a big plus.
07:54Ok, lets change my request: please support XP at 0.6.x branch and no more. It is just one or two releases and it should not drain RED resources.
Ungaretti
11:20I would like to hear opinions about Flow Based Programming. I love [Node-red](https://nodered.org/), but it's strongly focused on IoT and is based on Javascript, as is [NoFlo](https://noflojs.org/) . Rebol claimed to be a "messaging" language, so it seems to me (I'm a civil engineer, not a developer) that Redbol would be suited do develop a general purpose Flow Based framework. Sort of a Node-red that compiles to executables. Am I delusional? Does it ring a bell to anyone else?
nedzadarek
11:36@Ungaretti You can do FBP in the RedBol but you have to "be careful" not to leak any data.
GiuseppeChillemi
14:27@pekr

>> If you as a customer want to reinstall one, you will pay fortune for it, so it might be cheaper to buy some older PC with newer OS

Here we are in a different scenario: lot of powertful and working machines being dismissed at very cheap price and offering the same kind of capability of solutions which costs 10,15 times more. For order entry, inventory and data entry they are the perfect choice and RED 0.6.4 already has all the features needed to run on those machines (gui able to manage big buttons, reading writing of files, small database capability, small memory footprint)
greggirwin
18:09> I am not giving you anecdotal evidence but a market analysis

If you have a real market analysis report of some kind, that would be great. I do understand your view, but let me ask another way.

Is your company willing to pay $10K USD per month for ongoing XP development and support?
18:12@Ungaretti, @moliad wrote an entire FBP system in R3, which he's porting to Red. I'm also a big fan of FBP concepts, with the TupleSpace model being a favorite of mine.
GiuseppeChillemi
20:04@greggirwin Gregg, XP support has been here now upto release 6.3 and all RED features are in a working state. The only feature missing to create a good solution that runs on cheap xp machines has been the garbage collector as we are talking about 1GB/2GB XP tablets.
Release 0.6.3 has already as much is needed for those kind of panels/data entry applications so dropping support know that we have GC is like firing a shot on our feets because we are at 99,9% of waiting to have the tool we need. It is like downloading 1000TB of data and interrupting it at 999,99TB.
So, I propose stopping XP support at the last stable and debugged release of 0.6.x . I am not taliking about full scale development for this platform. We have already quite everything needed !
20:08(Just a note: I don't know what is a FBP system)
9214
20:46* Does 0.6.4 works on XP, despite it not being officially supported? Yes, you confirmed it yourself.
* Does 0.6.4 has any problems or unsupported features (which affect you and your project) caused by lack of support? No, or not yet.
* 0.6.5 is the last 0.6.x version, concerned with Android support. Can Android support somehow affect Windows platforms? No.
* Will it change anything if we pretend to support XP during that time? No.
* Can you give the team necessary resources to support a legacy platform _solely to cater for your business needs_? No.
* XP received end of support [almost 5 years ago](https://www.microsoft.com/en-us/windowsforbusiness/end-of-xp-support). Do you have any palbable evidence suggesting that _this is a good business plan_ to stick with unsupported platform? No, all you gave us are speculations and hand-waving.
* Can you maintain XP support yourself? No.
* Can you find a maintaner who will provide that support? No.

So, it seems that all you want from us is to be the good Samaritans who work for free. This attitude is baffling, to say the least.
21:00But what baffles me personally is that you think that using XP -- a platform which has't received any security patches or updates in 5 years -- in industrial / production setting is a good idea. And what absolutely drives me nuts is the fact that you are more concerned about the cheaper price rather than the safety and robustness of manufacturing process.
gltewalt
21:04Since those systems won't be changing, just use and keep 0.6.4 if it is working, and work around any bugs that you may encounter. If you and your client aren't worried about security.
GiuseppeChillemi
21:34@9214 Vladimir, RED is just 0,01% far from safe running on an OS which has still more installations than MacOS. Also, I am informing you that there is a big second hand market for tablet which have barcode reader and stylus. Take the 2005/2014 sales data and you will have the actual numbers.
As being a member of the RED team, and living on the expectation of developers adopting your product, I would take my post as business opportunity rather than opposing it.
As RED business entrepeneur I would advertise it as:
"RED with his 1MB executable size and being able to run on old hardware could give new life to your old touch panels/tablet PC"
You are free to continue this "argumentation against " but please stop for a moment consider it an opportunity.
As business rule: everything could be an business opportunity under a different light. Don't forget that even old furniture become valuable as when seen as antiquity.
Now, feel free to throw away many years of development for XP or bug fix the garbage collector and advertise being able to run on XP on the very first page of red-lang.
A last note: what about if we do the opposite and you send some red coins for my business consultancy ? ;-)
BeardPower
21:38@GiuseppeChillemi FBP: Flow Based Programming
GiuseppeChillemi
21:39@gltewalt Greg, I propose to stop support when Garbage Collector and new features added on 0.6.4 will be stable enough. Then you can STOP !
BeardPower
21:42@GiuseppeChillemi Old furniture - this comparison is lacking. Would you use rotting beams to build your house?
GiuseppeChillemi
21:43@BeardPower I am not talking about using old furniture but seeing things we have under a different light....
BeardPower
21:44@GiuseppeChillemi How is advertising a dead platform, that's what XP is, a good opportunity?
21:44Maybe you should just install Windows 10, Linux, whatever onto your old Laptops. How's that?
GiuseppeChillemi
21:45We have a development tools capable of resurrecting old hardware and it is READY apart some bugfixing (that 99,99 to 100%).
BeardPower
21:45Old hardware is best left dead.
21:46Even Intel realized it, finally.
21:47This "bug-fixing" is working around bugs of a dead platform. You are asking for a problem to a solution.
GiuseppeChillemi
21:47Old hardware is an opportunity and we have the product for it. And believe me, the second hand hardware market is exploding as during the last 10 years you have hadded more cores but not as much as per core horsepower. So single core applications like RED could run very fine.
9214
21:48> I would take my post as business opportunity

There's hardly any business opportunity - it's just you throwing bold claims around and asking other developers to help you, without willing to pay (or give man/time resources) for it. Volounteering on 1-by-1 basis is not a business. It doesn't even scale.

> As RED business entrepeneur I would advertise it as

In my eyes you don't have any authority neither to speak up for the project nor to command me what to do.

> what about if we do the opposite and you send some red coins for my business consultancy

I'll consider this once I decide to go bankrupt.
BeardPower
21:48So I can dig up my C64 and some old Amigas with new acceleration boards because old hardware is an opportunity and we have the product for it ;-)
GiuseppeChillemi
21:49Companies love to reuse things or spend 1/10 of the money to have the same result.
BeardPower
21:49Not really.
GiuseppeChillemi
21:49Yes, really. This is budget saving.
21:50You do not need a gold button to switch on a machinery, any button with the basic specification can do it.
BeardPower
21:50No it's not. Old hardware cannot deliver the performance needed and it's using a lot more power for the bang.
9214
21:50"Budget saving" and "running a company" are on the opposite poles.
BeardPower
21:51Not even talking about form factor, support and compatiblity.
21:51Manpower costs way much more than hardware.
21:52Performance/Watt is what matters in budget savings.
GiuseppeChillemi
21:52Not using RED becouse it is specialized on quick programming.
BeardPower
21:53Show me where the 1/10 money for the same result is in using old hardware.
GiuseppeChillemi
21:53@BeardPower have you seen the tablet I have linked on red/red ?
BeardPower
21:53Since when is using new hardware a "gold button"?
21:54@GiuseppeChillemi Yes, so?
21:54The old hardware brick :-)
21:54Possibly outperformed by any new SBC these days.
GiuseppeChillemi
21:56It is an IP55 tablet capable of working under heavy humidity and cold/hot temperatures.
Think about spending 65USD instead of 1000USD each to read your inventory inside a cold room or entering production data in a simple RED build VID panel.... here we are 1/15 and not 1/10.
BeardPower
21:58The Xperia™ Tablet Z is also IP55 certified and is about 150 bucks.
GiuseppeChillemi
21:59Watt consuption is very small on those products and you do not need the letest iper mega powerfull tablet. This is the difference between spending 1000USD for a golden on/off button and the 65USD one which has the same specifications.
21:59PArdon...
22:00It has enough horsepower to fullfill our needs.
BeardPower
22:00Same as the Tablet Z and it's not even a brick :-)
GiuseppeChillemi
22:00Let me see it
BeardPower
22:00https://www.sonymobile.com/de/products/tablets/xperia-tablet-z/specifications/
GiuseppeChillemi
22:01As imagined, It has not the same spec
22:02There is not the 1D/2D barcode reader and RFID reader
22:02It is a must inside companies
BeardPower
22:02Buy one.
22:02A must?
22:03That depends on the company.
GiuseppeChillemi
22:03Yes, barcoding is everywhere inside a company which purchase/sell/transfor producs
BeardPower
22:03Just install a bar-code reader app on the tablet.
GiuseppeChillemi
22:04How do you interface the barcode reader app with your RED app ?
BeardPower
22:04Create one in Red.
GiuseppeChillemi
22:05Also, you need laser reading and not camera barcode reading as they ar not the same
BeardPower
22:05Huh? The laser is reading the same: a barcode.
GiuseppeChillemi
22:06Have you have ever read an inventory using a camera based barcode reader ?
BeardPower
22:06Yes.
GiuseppeChillemi
22:06How many readings ?
BeardPower
22:07Enough.
GiuseppeChillemi
22:07400 ?
BeardPower
22:07What's your point anyway?
GiuseppeChillemi
22:07800 ?
BeardPower
22:07Doesn't matter. What's your point?
22:10Even mobile scanners use CCD-Imagers instead of lasers.
GiuseppeChillemi
22:12You can't use a camera based barcode reade on distances more than 5-10CM and you have to wait focusing and you must read under the correct light and angle.
Laser barcodes are able to read barcode in 0,01 seconds, no delay (focusing), no light requirement, heavily defective barcodes and printend on different kind of reflective surface.
After 15 minutes of laser readers you will trow away ANY phone camera based reading.
22:12Those solutions are no solutions.
BeardPower
22:13CCD based scanners can easily do 235 Scans/Sec.
22:14That's 0.004 seconds for 1 scan.
GiuseppeChillemi
22:15@9214

> "Budget saving" and "running a company" are on the opposite poles.

If you someone spends RED money flying in business class when the economy class could fit the requirement is "budget saving".
22:15They are the same pole
BeardPower
22:16Depends, as the company has to pay taxes you need to get down. Welcome "business flying" ;-)
GiuseppeChillemi
22:17@BeardPower Yes but here we have started talking about using XPeria and I told you it has not the right specification. Its camera is not an HighSpeed CCD one and you can not use in a company as a a tablet with a build in barcode reader.
22:17> Depends, as the company has to pay taxes you need to get down. Welcome "business flying" ;-)

:-)
22:17This is right !
22:18But I prefer purchasing new hardware of any kind or cheap and effective tools to end my work effectively and in less time.
BeardPower
22:21@GiuseppeChillemi My point was that these things are cheap and current tech! You don't have to spend thousand of dollars for a current tech scanner or "tablet".
22:22Tablet + Scanner = 200 bucks and I don't have to drag a brick around ;-)
22:23There are still some C64 used for invoicing and business tasks.
22:23Deal with what your options are when going that route.
GiuseppeChillemi
22:26@BeardPower I still see character based interfaces on my bank institute which is one of the most innovative one. You can't imagine how saving oriented could be companies which are not in the technology area.
22:26The do more/spend less is an imperative !
22:27However, next week tablets will be here and I will send you some real world application.
BeardPower
22:30@GiuseppeChillemi That's a different story because the majority of backends are still running PL/I and COBOL on IBM mainframes. They are a total different architecture and no need to change.
GiuseppeChillemi
22:30@BeardPower
Also, I am ready to drop my request if you find a 150-250USD IP55 windows tablet with 1D/2D scanner (and optional RFID reader)
BeardPower
22:31@GiuseppeChillemi I wonder what the apps we use are. Not some real world applications, it seems.
GiuseppeChillemi
22:31(it is the same principle: don't spend more if you have the same working with less)
BeardPower
22:31It's your task to find what you need, not ours.
GiuseppeChillemi
22:32@BeardPower I don't ask you to actively search for it but to send a message if you encounter one.
BeardPower
22:32@GiuseppeChillemi Sure.
GiuseppeChillemi
22:33during the next month I will resurrect this topic with my use case.
BeardPower
22:34@GiuseppeChillemi The thing is that you don't get the same working with less.
GiuseppeChillemi
22:34I get the solution needed specification
22:35Pardon...
22:35I match the needed specification for the solution.
22:35The remaining power of mother hardware is totally useless.
BeardPower
22:35But you do not have the needed software, right?
22:35So...
22:36Either you code it yourself or you buy it.
22:36Or pay for it to be coded.
22:37These are the options, right?
GiuseppeChillemi
22:393 hours of coding(50USD/hour) + 100EUR for a RED + 2ND hand tablet solution = 250USD.
3 hours of coding (50USD/hour) + 1000EUR for a RED + modern tablet = 1250USD.
Thats the difference. Either as you code for yourself or you outsource to another RED programmer for a simple data entry panel.
22:401000USD difference is good money in my small sized company.
22:41And believe me, RED is capable of delivering a complete data entry panel in less than 3 hours of coding, you should learn this wonderful programming language !
BeardPower
22:41"for a RED"? What do you mean?
22:423 hours of coding WHAT?
22:44I'm sure someone is even able to code a data entry panel in 3h with Assembler, but the question is: will it be complete, tested, stable, bug-free, documented?
22:46A serious developer would even need 3h to create a decent specification for your app.
22:46The usual man-hour myth.
22:47Not RED is capable of doing any of this, but the developer using Red would need to be.
Oldes
22:47@9214 @BeardPower could you please be less negative? Thanks.
GiuseppeChillemi
22:47The operator on the right has precedence , di It Is " RED (programm) + second han tablet "
BeardPower
22:47@Oldes I don't think we are negative, we are just being realistic!
GiuseppeChillemi
22:48( I am on mobile Just now )
Oldes
22:48In my opinion.. Vladimir is very "_realistic_".
GiuseppeChillemi
22:49@Oldes Thanks Oldes, I am facing strong negativity here !
BeardPower
22:50The great thing about opinions: everyone has one ;-)
GiuseppeChillemi
22:52@BeardPower any tool has Power only in able hands
BeardPower
22:53@GiuseppeChillemi Not really. A straw would not do much for steel-work even in the best able hands ;-)
22:53A tool has power only in the area it was made for used by able hands.
GiuseppeChillemi
22:54It Is called relative Power: relative to the use scenario
22:54Yes, we agree !
9214
22:54@Oldes do you have a problem with that?
BeardPower
22:54I'm more for absolute power.
gltewalt
22:54Chromebooks can be had for 100USD.
22:55Android tablets for 50
GiuseppeChillemi
22:55@Oldes opposing forces are back again !
22:55😀
9214
22:57@Oldes if you do, then you can share your concerns either to @greggirwin or to me in PM. I don't think that pointing fingers at each other in a public chat is such a good idea.
22:58@GiuseppeChillemi "opposing forces"? You're clearly out of line here.
GiuseppeChillemi
22:58@9214 There Is a friendly smile behind my words.
Oldes
22:59@9214 I think so.. else I would not write my comment. Sorry.. I don't want ti debate on this topic... I'm just on mobile. But I think that you are overreacting on simple easy request.
9214
23:00I'm not overreacting @Oldes. I just don't think that @GiuseppeChillemi's request, formulated the way it is, makes any sense.
23:01@GiuseppeChillemi so, calling me or any other an ass-hat is fine as long as you append a smiling emoji? :smile:
Oldes
23:02You are.. your comnents were quite rude in my opinion.. to be honest. Although you have also some true.
9214
23:03I thought you don't want to debate on this topic?
Oldes
23:04:) there is still half empty glass. But writting is problematic for me.
GiuseppeChillemi
23:04I don't now what It Is an ASS at but as human being I am able to make people smile surrounding bad words with the right spirit or fight using a simple "you".
23:05Ass-hat
23:09@9214 and as a personal opinion: yes, you are of great help for newcomers as much rude and negative in some other situations. But Its you, you are not fake , and this is much apreciated here.
BeardPower
23:13I see that you guys never dealt with real RUDE people ;-)
23:15I don't agree on Vladimir being rude. I guess it's just people not getting what they want, being rejected, misinterpret it as being rude.
GiuseppeChillemi
23:15I do every day and remaining cold while continuig the topic Is sometime hard but doable.
BeardPower
23:16You should, as it's nothing personal.
GiuseppeChillemi
23:17Yes, never, we are debating on topics, not on how good Is each one.
9214
23:18From discussion of XP support we went down to ostracizing and personal opinions. @GiuseppeChillemi, if you take points that I rasied personally, then the problem is not only in me. I never confront people (or, a the very least, try to avoid that), I confront their behavior.
GiuseppeChillemi
23:20@9214 sometime people do this, than go back in topic...
9214
23:20On that note, I think that discussion is exhausted itself, at least for me.
GiuseppeChillemi
23:21As of adjective RUDE , I retire It. It Is not the correctly one but my vocabulary Is not so big. I apologize for using It.
23:22*correct
23:23Good night @BeardPower , @Oldes , @BeardPower , time to close my eyes for sleeping here
23:23@9214
BeardPower
23:24@GiuseppeChillemi Good night. You are free to create a feature request.
nedzadarek
23:35@greggirwin
> A bug is just failing...

Good points!

> If somebody wants something that isn't in our plan, they need to provide a convincing argument why we should support it.

Would it be too much hassle to let users create code that support another platforms?

9214
23:39![alt](https://files.gitter.im/red/chit-chat/niVw/1061px-Graham_s_Hierarchy_of_Disagreement.svg.png)
nedzadarek
23:44@9214 How to you upload images to the Gitter? Are there some limitations?
9214
23:45@nedzadarek press Ctrl + Shift + M in the entry field.
23:45
text
![alt](http://)
nedzadarek
23:47![Redbol](https://s.mamotoja.pl/media/cache/450x450/media/product/201007/258_01_7539.jpg)
9214
23:48Nowadays, differential programming is frequently pitched as the future of machine learning methods.
nedzadarek
23:49@9214 so it was just linking **already uploaded** images. At least it is something. Thank you.
gltewalt
23:49![alt](http://res.cloudinary.com/sagacity/image/upload/c_crop,h_800,w_616,x_0,y_0/c_scale,w_640/v1419879339/iVegJ35_xfjlfu.gif)
9214
23:49Genetic algorithms are commonly used for bug finding and stress-testing.
BeardPower
23:49@nedzadarek Just drag&drop them into gitter.
9214
23:49@nedzadarek you can upload an image file by dropping it in the entry field.
BeardPower
23:50@9214 No need to. You can drag&drop it anywhere you like.
nedzadarek
23:50@9214 @BeardPower I got message from Firefox that starts like this: Cannot find bored instance...
BeardPower
23:51@9214 And for packing parcels into a truck ;-)
9214
23:51[This](https://arxiv.org/abs/1803.03453) is an interesting read.

"The Surprising Creativity of Digital Evolution: A Collection of Anecdotes from the Evolutionary Computation and Artificial Life Research Communities."
nedzadarek
23:52@9214 I am not into Genetic algorithm topic but I think "mutation testing" might have something to do with it.
9214
23:52The story I really like is about tic-tac-toe competition between AIs evolved with genetic algorithms. The winner neural network simply caused a memory overflow in its opponent by making a move way outside of preallocated play field :wink:
BeardPower
23:53Bad seed ;-)
23:54https://www.youtube.com/watch?v=F7qOV8xonfY

nedzadarek
00:09:+1:
pekr
08:02@GiuseppeChillemi have you investigated what is the low level View difference for 0.6.3 vs 0.6.4? Maybe it is few functions remapped? Note, that I am able to understand your argument, as one international company used exactly that -R2 View panels. So, on the other hand - why not use R2? You have everything you need, no? It is free, has DB drivers, runs on XP quite nicely.
GiuseppeChillemi
08:11@9214

> ![alt](https://files.gitter.im/red/chit-chat/niVw/1061px-Graham_s_Hierarchy_of_Disagreement.svg.png)

Vladimir, when you have written "Perhaps this is the time when you all move to chit-chat" when discussion was increasing its power, created the percepetion of "tone" and "authority not liking the argument" and forcing us to move away . Other people felt RED/RED was appropriate to talk about RED but those words coming from you, as memeber with "punitive powers" like exclusion of the group, let me feel intimidating and I "obeyed". Please remember that discussing with you it not like doing this with any other on different view, it discussing on a different point a view and the authority at the same time. So it is difficult to sustain a disagreement or an unpopular point of view, under the danger of being excluded if you continue and the authority became "upset".
pekr
08:14On the other hand, looking into the Win 7 release date, in 6 months it is 10 years. Quite old system and in my opinion, Win7 are just the new XP, but much better and at least still more secure. I wonder, if you are not able to find really old HW, able to run Win7 instead of XP?
GiuseppeChillemi
08:16@pekr

> @GiuseppeChillemi have you investigated what is the low level View difference for 0.6.3 vs 0.6.4? Maybe it is few functions remapped? Note, that I am able to understand your argument, as one international company used exactly that -R2 View panels. So, on the other hand - why not use R2? You have everything you need, no? It is free, has DB drivers, runs on XP quite nicely.

Because RED has its core developers helping me solving problems and REBOL give me the feeling that I have to throw everything in the trashcan if I found a show-stopper.
08:18@pekr Also I live in Italy and we write using lating and accented words, so I feel using a non UTF-8 programming language could corrupt the strings of my databases.
pekr
08:20OK, fair enough. And the second argument? I mean - ability to find equivalently priced HW, just using Win7 instead of XP?
GiuseppeChillemi
08:22I have seen some having windows 7 and even 8.1 but they are not as available as the XP ones, so there could be shortage.
08:24And adopiting a second hand solution requires replacements parts/units being available in good quantity.
08:27Do not forget all of this units comes with a Stylus and personeel could put a signature on a pane of the data entry form (But I have to understand how to do this in RED)
9214
08:30@GiuseppeChillemi I don't get "upset" over people telling their honest opinion or speaking the bitter truth. And I didn't "exclude" anyone - I simply suggested to keep the room on topic (language design discussions and announcements from the team), because it was obvious that (a) the chat wasn't about Red, but about your request and business situation (b) discussion will get more wordy and heated over time. You followed that suggestion on your own.
08:33Authority is something that you recognize in others by yourself. It cannot be imposed.
08:36And, for that matter, I think that in chit-chat everyone is on equal grounds. So you can throw whatever "punitive powers" you feel radiating out of me in a trash can.
GiuseppeChillemi
09:01@9214 Its a loop: you express concern about people perceiving a tone in a discussion, you generate the tone for the role you have.
9214
09:14"Mind doesn't work that way".
GiuseppeChillemi
09:36You create what you define, a kind of [Self-Fulifilling Prophecy](https://en.wikipedia.org/wiki/Self-fulfilling_prophecy). (Yes, mind works this way)
nedzadarek
10:26@GiuseppeChillemi If somebody want to share her or his code she or he should use ASCII or UTF8.
What encoding does the Red uses?
9214
10:44@nedzadarek
https://github.com/meijeru/red.specs-public/blob/master/specs.adoc#textual-structure
10:45ASCII is a subset of Unicode.
BeardPower
10:55@GiuseppeChillemi Sorry, but I have to step in. No one forced you to move into chit-chat. This is just nonsense.
pekr
11:27Too much ado about nothing. It is quite normal, that once some channel goes off-topic, there use to be friendly reminders to move to the more appropriate one.
GiuseppeChillemi
12:27@BeardPower

>> "Perhaps this is the time when you all move to chit-chat".

Have I read this phrase in the wrong way ?

Writing "when you all move" is different than "we should move", or "I think we are going of topic so we should move". Written that way from a moderator sounds like an imperative "should". It give me a different sense, like someone forcing you going ... ehm... relocating away !

BeardPower
12:32@GiuseppeChillemi Yes. It was a kind reminder because the topic discussed was going out of focus.
12:33Language barrier.
12:34That would be forcing: move to chit-chat or I will do it for you.
12:36Anyway, we did not invest anything in here. No nessasity to discuss this any further.
GiuseppeChillemi
12:42@BeardPower words have the power evocate images, so that wording use to evocate me a person coming torwards me trying to move away.
Language barriers, or language side effects when they recostruct visual input when people do not see the full gestures accompaning the words as in every text-only discussion.
12:44This is how our minds work when there is reduced input, they reconstruct and make projecting images, usually our worst fears. Its a cognitive bias.
12:48@9214
> https://github.com/meijeru/red.specs-public/blob/master/specs.adoc#textual-structure

Its a great document. Have you something similar explaining how code/data is stored and decoded ?
nedzadarek
14:28@9214 Thank you
Yes, I am aware of this.

greggirwin
21:21Even though this is chit-chat, everybody should try to remain civil.

Related to @nedzadarek's question about user support: User support is *great*. And the Foundation will likely reward people for their efforts. Open source seems to work best when people contribute to solve their own problems (because problems usually affect groups, others can benefit).

On XP, if someone wants to take on supporting it, again, the Foundation will probably reward them with RED tokens and say "Go Go Go!". Others can also offer bounties. Just because the core team isn't doing it, doesn't mean we don't want to see it done.

@GiuseppeChillemi, opportunities are great, but seldom free, or without strings attached. If you think we haven't considered XP support deeply, you're wrong. Please respect that we make the best decisions we can, even if you don't agree with them.

GiuseppeChillemi
07:21@greggirwin

> @GiuseppeChillemi, opportunities are great, but seldom free, or without strings attached. If you think we haven't considered XP support deeply, you're wrong. Please respect that we make the best decisions we can, even if you don't agree with them.

Gregg, as 0.6.4 is already here and it works on XP, and it is the most important component for older machines, I think that if any side effect arise on XP while fixing it, that side effect could be fixed too. It should take 0,0000001% of your time and you have the maximum result. Then, no more development. Stop here !.
As respect, It is always here for your great work. We have discussed about what triggered, here, the perception of "the tone" written in the scheme Vladirmir posted.
09:46* correction: and GC is the most important component for older machines
nedzadarek
13:52@GiuseppeChillemi
> I think that if any side effect arise on XP while fixing it, that side effect could be fixed too. It should take 0,0000001% of your time

Do you have any idea how it is to implement/fix something low level like OS support? I do not know that but I do not think your percentage approximation is right.
GiuseppeChillemi
14:06@nedzadarek I suppose that memory allocation and freeing should not be so different among OSes of the same windows family (when not equal). So, the debug needed for the GC should be far less than the GUI system or other part of RED which are more OS dependent, even on the same OS family.
14:06I repeat: "I suppose".
rebolek
14:07@GiuseppeChillemi have you tried 0.6.4 on XP?
GiuseppeChillemi
14:09Yes, it works. I have already written this.
rebolek
14:10Ah, sorry, I missed that post.
14:12Anyway, you're proposal makes sense, IMO. When I take typical work month with 21 days/8 hours, then 0,0000001% of it is 0.0006 seconds. I believe that is reasonable amount of time to dedicate to XP support each month.
GiuseppeChillemi
14:15@rebolek Mine is an exageration to represent that in one year of work, debuggin the garbage collector on XP could take 2 or 3 days. which is 0,008% of the time.
14:17But I am not deep in the code, nor I have your skill. Just "I suppose". Feel free to let me learn I am giving wrong numbers.
rebolek
14:20@GiuseppeChillemi it's 2-3 days that could be spend better on an useful feature. I think you're right that memory allocation should work more or less the same (but I am not a Windows person, so I may be wrong), so I guess you're safe on XP in that regard.But if you need View, that's moving further from XP.

To setup testing environment on XP, you don't need any special skills. Just download Red sources and Rebol and run tests.
GiuseppeChillemi
14:27No, View on 0.6.4 is already enough developed for XP. Have not tried rich-text if it work, I'll do.
rebolek
14:27I guess that rich-text won't work, but try it.
GiuseppeChillemi
14:28I guess it too.
rebolek
14:28Anyway, if it works, what's the fuzz about?
GiuseppeChillemi
14:29I am not able to translate "what's the fuzz about?"
nedzadarek
14:30@GiuseppeChillemi memory: I think XP was the one latest 32 bit systems heavily used. Later systems used 64x bit versions more and more. They are thinking about 32x vs 64x bit Red so by officially supporting XP they **have to** support 32bits.

> What's the fuzz about?

Means: What's the problem?
ne1uno
14:57red is dropping 32bit support? not all windows are 64 bit
rebolek
14:57@ne1uno there's no 64bit Red yet and won't be for some time, so no.
nedzadarek
14:59@ne1uno no:
> Apple's talk of eliminating all 32-bit support could impact us. We are currently 32-bit only, and need to decide the best path for adding 64-bit support, should we elect to do so. libRed is also kept up-to-date in this release as well, for integration from other tools and languages. Additional improvements were made in the ELF format emitter.

[source](https://www.red-lang.org/2018/12/064-simple-gc-and-pure-red-gui-console.html)
ne1uno
15:04many distro are 64bit only for official download. but it's way early to talk of red dropping 32bit
15:09there are Xp 64 bit versions, but weren't that many. where do you even get an Xp install? does anyone read the Xp EULA? it's not transferable
pekr
15:11@ne1uno please stop spreading false info. Where exactly have you read that Red is actually dropping the 32 bit support? All I can read is, that Red is going to ADD 64 bit support .... which of course does not mean dropping the 32 bit one?
ne1uno
15:12>They are thinking about 32x vs 64x bit Red so by officially supporting XP they **have to** support 32bits.
rebolek
15:14XP support is officially frozen. It's old system long after its expiration date.
pekr
15:14I think that you can have even Win7 in both 32 and 64 bit versions. Imo you are reading way too much in terms of info being provided. My understanding is, that in fact the situation is quite opposite. It is Apple, who announced EOL for 32 bit versions. And as Red does not have 64bit version yet, no more MacOS for us. That's how I understand it and that's imo why the Red Team is thinking about the 64bit support too ....
15:15But noone imo said, that Red is dropping 32 bit support?
rebolek
15:15Yes, no one never.
nedzadarek
15:15@ne1uno I was not saying *dropping*. I said that by supporting XP they have to support 32 bit version. If they don't support XP they can support 32, 64 or both - no restrictions.
15:16@pekr :+1:
BeardPower
17:17Yes, Red has to support 64-bit mode, at least on macOS, because Apple will drop 32-bit completely (I assume 2019 with 10.15). There has no decision made yet if Red will drop 32-bit completely for the other OSs as well. New architectures like Mill/NEO/RISC-V and maybe even the new Intel are going to be 64-bit only.
GiuseppeChillemi
17:48@BeardPower what should be changed to supporto 64 bit ?
rebolek
17:53where to start :)
pekr
18:12Well, eh, if you guys think of dropping 32 bit, then I thought that we might get down to 8/16 bit MCUs, at least with Red/System, or some such :-) You know, Arduino, Beagle etc. boards ....
rebolek
18:27That would be really cool.
18:27ESP!
Ungaretti
18:37> ESP!
BeardPower
19:35@GiuseppeChillemi The complete core.
19:36Datatypes, code emitters, stack sizes and so on.
GiuseppeChillemi
20:05@BeardPower That's not the answer I like to receive but as always we need to look at the advantage of this forced "upgrade" but I do not know which are they.
rebolek
20:08@GiuseppeChillemi what forced upgrade are you talking about? The advantages of 64bit Red are simple -it will run native on 64bit OS. I bet you are not using 32bit OS, are you?
BeardPower
20:49@GiuseppeChillemi The advantage is that users are able to release software on macOS.
gltewalt
21:13Like a forced upgrade from floppy disc
GiuseppeChillemi
21:39@rebolek

> @GiuseppeChillemi what forced upgrade are you talking about?

Apple is indirectly forcing RED developers to create a 64Bit version. I meant "forced ugrade to 64bit", which personally I didn't felt the needing for.

> The advantages of 64bit Red are simple -it will run native on 64bit OS. I bet you are not using 32bit OS, are you?

Will it run on my emulated Amiga ? :-)

nedzadarek
21:55@rebolek It is kind of forced when you read on the website "your OS is not officially supported". I do not know whenever or not the Red announced it before.
Yes, XP is old, so people should upgrade long time ago.
Yes, the Red is in the alpha stage so there could be many changes that break some things.
When a software hit 1.0 version I expect some kind of warnings like "X will not be supported in the version 1.2, use Y".

@pekr how about another version of the Red, like [mruby](https://github.com/mruby/mruby)? It could be named *Little Red (Riding Hood)*.
BeardPower
21:57@GiuseppeChillemi You need to ask Apple if it's needed or not but they decided to only go with 64-bit.
GiuseppeChillemi
22:04@BeardPower I call this "forcing someone", in this situation, Apple forcing RED developers.
22:07Just a question arised in my mind: REDBOL is self modifying and on the AppStore apple does not accept such kind of software. How RED could have an iOS version if an app could download other code and modify itself ?
gltewalt
22:11Apple took away optical drives and forced usb a on you also
22:12You make a dialect that can’t modify certain things, I guess.
22:14I don’t know what apples App Store requirements are, but I’ll guess it’s to protect them, not the user after download of a 3rd party app
BeardPower
22:18@GiuseppeChillemi Yes, but you don't have to use macOS. Free will ;-)
22:20We can only vote with our wallet.
22:20If you don't want to use macOS help us build Red/OS ;-)
22:20Again: vote with your wallet.
22:25@GiuseppeChillemi Emulated Amiga? Shame on you!

nedzadarek
17:08@quipa tcl/tk looks nice, I kinda like key-value type of settings (e.g. -foreground Yellow) Red/Rebol/Ruby's "actions" looks better. And it has grid system, which Red doesn't (as fair I remember).
17:08And what do you mean "Ruby's shoes is limited"?
quipa
17:48@nedzadarek hey sorry only saw the message now
17:48Well I just have a passing understanding of tcl itself
17:48but I do feel like Tcl is very similar to Red/Rebol
nedzadarek
17:49^^ I have just checked examples
quipa
17:50One thing that Ruby can't do is have multiple blocks as arguments from what I get
17:50I mean there are libraries that supposed to do it from what I get
17:50overall Ruby seems quite good at DSLs nonetheless
17:50but I reckon Red/Rebol is superior in that sense
nedzadarek
17:511) I'm going to check it's syntax later
2) The ruby support one (I don't remember correct name) implicit block but nothing stops you from passing some lambdas
quipa
17:51sure
17:51lambdas are always nice :)
17:52But it's strange that it didn't pick on the idea from Smalltalk
nedzadarek
17:52what it didn't pick from smalltalk?
quipa
17:52Ruby
nedzadarek
17:52but what idea?
quipa
17:52Smalltalk you can also pass multiple blocks
17:53which to my understanding is basically equivalent to the block idea of Red/Rebol
17:53since it basically just data
17:53it doesn't get evaluated until needed
17:54> what it didn't pick from smalltalk?
Sorry misread :P
17:55From what I get overall this also avoids the whole concept of macros of Lisp / Scheme
17:55which to be honest I've always found a bit inelegant
nedzadarek
17:59If I understand it correctly, Ruby has ability to pass multiple lambdas as smalltalk but it just make one implicit so you can do things like: [1, 2, 3].each {|x| puts x} without giving name to that lambda.
I'm not sure about the Smalltalk, but the Ruby's lambdas are less powerful than Red/Rebol's blocks. For example print [a a a] could output 1 2 3- I'm not sure how to do this in the Ruby.
ne1uno
18:00there is a tcl/tk image scrambled puzzle that reminds me of the red-lang 15 sliding puzzle. the first time you see it you wonder where is the rest of the code, it doesn't look like enough to do the job.
rebolek
18:08@quipa while Tcl is absolutely opposite from Red in the implementation , I agree that on surface it feels very close and both languages give you so much power.

rebolek
14:39Just two new people and red/red room would have 666 users.
toomasv
15:20Doom-doom-doom... Or is it boom?
gltewalt
22:45That’s actually a lot. I remember a language having an irc channel of about 200. Then it blew up.
22:46Post 1.0 though

nedzadarek
15:03@GiuseppeChillemi from [this post](https://gitter.im/red/help?at=5c202d7a5064a51f83686934)
> functions like get-data, get-field, get table... they all share similar paramaters like table-name, storage-name, data . When I have repeated entering those parameters in the function headers, I started thinking about writing them in a "select" block and then retrieving the parameters specs from it to avoid retyping them each time or changing the parameters once and for all.

It sounds like [Ruby's attribute reader/writer/accessor](https://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/accessors.html) but plus some another features. I guess your get-data is not simply accessing field like m: #(a: 1) m/a so you need to "compute" something.
15:11> Like parametric GUIs , I think we could have parametric functions/object created in your script starting from common specifications. You create the code from data specs and/or compose it from a library of "proto" functions.

The Red is very capable of doing this. We create function creators (I think there were better name for it). @rebolek created [a function creator](http://red.qyz.cz/dependent-types.html) that allows you to assert some conditions about arguments (for example an argument should be smaller than 1000).
15:12> I am still in the early stage of this king of dynamic coding

Feel free to post it on the github/gist and ping me. I am interested what you can do.
ne1uno
15:32I think he was talking about this? https://github.com/GiuseppeChillemi/textsplithelper.red in the running for script of the year
GiuseppeChillemi
20:06😁 nooo, that's not totally my child !
20:08The idea Is mine but the starter code to build everything has been provider from RED gurus you could find in the header.
20:10Many other ideas on dynamical composed code have born there

GiuseppeChillemi
04:32@nedzadarek
04:33>> It sounds like Ruby's attribute reader/writer/accessor but plus some another features. I guess your get-data is not simply accessing field like m: #(a: 1) m/a so you need to "compute" something.
04:35Yes, like getting tablet content from a remote server instead of a local One, or data computed and returned in a common format
nedzadarek
17:52@GiuseppeChillemi [This](http://rebol.info/forces/articles/protocols/) would help you if this were in the Red.

GiuseppeChillemi
23:03Today we had an "interesting" experience: a middle heartquake hit Sicily on the east cost (Catania). Some damages and great fear for the population.
23:04The vulcano broke his cap on monday and since the the land has started moving.
BeardPower
23:11Wow. Is everything okay?
GiuseppeChillemi
23:16A small number of old buildings have been destroyed , the land fractured , the vulcanic black sand is everywhere, people sleeping outside their homes but apart of this everything is ok. Ah, the statue of the saint which protects people from earthquakes has been destroyed too, so people have more fear than usual that a great disaster is coming !

BeardPower
01:24I see.
endo64
06:12"great disaster is coming" I hope that's not gonna happen
BeardPower
11:29Nothing we can do about it.
nedzadarek
12:47@lepinekong_twitter @BeardPower @endo64
About programming and the Ruby:
I think what Lepinekong meant was like Semseddin said:
> people who hate coding with complex bloated programming languages that requires hundred MBs tools, dependencies and IDEs.

The Ruby and the Red/Rebol has *similar* goals: "make human-readable language" and "Rebol against complexity" respectively.
The Ruby language is compact and easy to read by human. I got similar feelings when I was programming in the Red/Rebol (thought it could be better).

> It's not an issue of the language but obviously some personal hate against programming. No language will help you with that. Ruby on rails is just a framework using Ruby. You still need to program in Ruby. There are a lot of people who can get cool things done even in Assembler. The language is just a tool. No framework or language is a magic bullet getting cool things done by just clicking on a button. Neither RoR nor Red.

No language is a magic bullet but it's a huge help. It plays important role. People could code in the Assembly languages very productive. I could program some gui using old Borland c++ things without knowing how the language draw on the screen.

christopherbclark
16:02Hi Guys.
rebolek
18:27Hi @christopherbclark

iArnold
09:26Was Android branch not part of 0.6.4 release?
rebolek
09:49@iArnold no, Android will come after IO.
pekr
10:06Yes, that was imo mentioned in the latest blog ....
abdllhygt
16:47hey, i came!
16:47how are you going
rebolek
16:48Hi @abdllhygt!
16:48There's new Red release, there was RedCon in Prague, I guess things are going great.
16:48How about you?
christopherbclark
16:49Hi @abdllhygt how are you?
16:49I enjoyed the RedCon video
x8x
16:49Hello Abdullah, how is the weather? :smile:
abdllhygt
16:50@rebolek parse is enough for me : ) but i wait somethings too like gtk support
16:51@christopherbclark @x8x i'm good thanks, here is rainy sometimes and cold. but there isn't snow (south of turkey).
nedzadarek
16:52@rebolek I think someone was going to divide this conference video into chapter. Do you have any informations about this?
rebolek
16:53@nedzadarek Yeah, I know something about it. It was me. But first I was waiting for slides and then I hadn't time because of Christmas. Now I've run out of excuses an must do it ;)
nedzadarek
16:58@rebolek You may be just tired, well, I'm waiting for it. Thank you in advance.
x8x
17:03@rebolek someone asked for chapters also for Endo's video as it's 3 hours long, not sure it's worth the pain but if someone tell me how to divide it, I could investigate. Let me know if you need help with yours
christopherbclark
17:05For the RedCon video I just fast forwarded to parts I was interested in. 🤷‍♂️
rebolek
17:05@x8x I see. I would like to upload each talk separately. Dividing Endo' videos shouldn't be hard, the talks are clearly separated.
17:06@christopherbclark which is..? :D
abdllhygt
17:08which is Şemseddin in that photo? he is my parse teacher : )
christopherbclark
17:11@rebolek mostly the World Domination 🌎 stuff 😄😄😄
nedzadarek
17:11@x8x
Simple times would be nice, e.g.:
0:00:00 -> This
0:50:00 -> That

This way, youtube creates link to the specific time (You should check youtube's format to be sure).
Although, having separate videos would allow viewers to download specific video.
x8x
17:14@rebolek 3 hours video is a hell to edit/compress .. but I like it all in one, faster to skip around than load different videos and if someone gets to only 1 speach video he may miss there is more. IT's possible to have chapters in youtube but haven't digged, but the pain to work with one big file is maybe not worth it ;-)
nedzadarek
17:20@x8x I've just created this: https://www.youtube.com/playlist?list=PLlg7agKINUpxIRAi2Tdn-4wf2dQsxGoZK
17:21If someone have already uploaded movies, then it's super easy to create playlists.
17:30Youtube.com > Library (left side) > New playlist

x8x
02:14@nedzadarek That's playlist not chapters :smiley:
gltewalt
03:36Stick it in iMovie and cut it up. Save each slice as a seperate file.
nedzadarek
21:04@x8x Well, people use to say "it's good enough".

viayuve
12:48any iPad trials with red?
x8x
20:12@viayuve Not that I know. It's possible to run Red CLI in a chrooted local shell on IOS but it's probably too much hassle vs just ssh to a remote system.

abdllhygt
11:33Hey! i came again
11:34how are you guys today
11:35Do you know Red programmers which spoken Japanese, Korean, Mongolian or Turkic (except Turkish)?
koba-yu
11:52hi, @abdllhygt I am Japanese
abdllhygt
13:14@koba-yu Do you know, i try to develop a translation engine. and those languages' grammars are so similar. So, i think to start from those. So, you can help me by advicing.
koba-yu
13:33@abdllhygt I know the work. very interesting! Though I am not familiar with other languages, let me know if you have anything I can help.
gltewalt
19:33https://www.facebook.com/LawdOfficial/videos/564011290656976?sfns=mo
amreus
19:49What does C3 mean in relation to Red? I keep seeing it referenced but google isn't helpful.
ne1uno
20:08Cross Chain Code https://www.red-lang.org/2017/12/leaping-into-future-red-goes-blockchain.html
amreus
21:50@ne1uno Thanks.