sschwarzer
2021-4-24 11:02:13

I was on the #nim IRC channel several times which bridges to at least two other message systems and found it ok-ish. On the other hand, if you usually use Slack and so are used to threads, I can imagine that it can be somewhat confusing if conversations are interleaved much more than on Slack.

Personally, I’m usually fine with Slack but I’d like if we had another system that is independent of Slack, especially a system that can preserve the public chat history without depending on Slack’s plans.

Then again, I can live with the current set-up. After all, I don’t record personal chats either and it’s hardly a problem. :smile:


sschwarzer
2021-4-24 11:05:45

But if I have a written record in a text chat anyway, I sometimes read recent parts of it. So I do appreciate that.


laurent.orseau
2021-4-24 13:07:33

Couldn’t find a way to do this. Have you found an answer?


cris2000.espinoza677
2021-4-24 16:17:02

I haven’t had much time to find one, but no I haven’t.


beyer.andrew
2021-4-24 17:54:57

If anyone hasn’t seen it, the future of coding community has both a matrix bridge (never used myself, but never noticed causing any issues either) and some archiving of old slack content (super useful, even though not perfect. They do a neat weekly summary of interesting threads in email) https://futureofcoding.org/community.html\|https://futureofcoding.org/community.html


camoy
2021-4-24 18:56:33

I have the following FrTime program (running from the command line) which I would expect prints out the number of seconds for 10 seconds, but only prints it out for five seconds. Anyone know why? #lang frtime (require (lifted (only-in racket/base displayln) displayln)) (displayln seconds) (sleep 10)


soegaard2
2021-4-24 19:21:39

What happens if you change 10 to 20?


sorawee
2021-4-24 19:23:05

On Mac M1, it only shows 3 seconds…


tbrooke
2021-4-24 19:33:15

I tried this and it doesn’t seem to work. I think dracket needs good string Vim and Paredit — Unfortunately I’m not a good enought Racket programmer to tackle either one.


sorawee
2021-4-24 19:37:09

sorawee
2021-4-24 19:37:39

I think drracket-vim-tool is not actively maintained, but drracket-paredit is.


cris2000.espinoza677
2021-4-24 19:40:05

is there a quick trick for pict ’s table to have borders, like in a excel sheet/html table? I tried to use pin-over and frame and unsurprisingly it doesn’t do exactly what I want, since it frames the smaller element inside the cell.


camoy
2021-4-24 19:42:55

Changing to 20 seconds still just shows first 5 for me.


soegaard2
2021-4-24 19:55:49

Does it work as expected in DrRacket?


camoy
2021-4-24 19:59:03

Interesting, so if I use #lang frtime with Determine language from source I only get the first 2 seconds. But if I use FrTime from the dropdown it not only gives me 10 seconds, but it keeps going past that.


samth
2021-4-24 20:23:21

My guess is that the first one there’s a lag between the when the sleep starts and when the snip is shown


jjsimpso
2021-4-24 20:32:13

I’m developing a browser application and I hit a race condition in my text% object when I tried to launch my page load function in a new thread. I originally assumed that I was misusing threads here, but I ran across another browser type app that is doing the same thing. It triggers the same exception my code does, so I’m now wondering if either something changed in Racket or the race condition isn’t apparent on all systems. I just want to make sure this isn’t likely to be a racket/gui bug before I re-evaluate my approach. This is the error I’m seeing in both apps: #<thread:...e-master/gemini.rkt:183:12> sequence-contract-violation: negative: method insert cannot be called, except in states (unlocked), args (object:string-snip% ...) context...: /home/jonathan/Downloads/germinate-master/gemini.rkt:354:0: show-gemini-text /home/jonathan/Downloads/germinate-master/gemini.rkt:263:0: show-body /home/jonathan/Downloads/germinate-master/gemini.rkt:93:0: process-response


camoy
2021-4-24 20:56:51

Does the command line behavior make sense, or should I report this as an issue? My guess would be that seconds starts a timer that propagates the value to displayln every second, but that doesn’t seem to happen consistently. I’m not sure if this is a problem, or if I’m just not using FrTime in the expected way (all the examples seem to be GUI ones).


samth
2021-4-24 21:03:11

I think only the DrRacket language level really worked fully


samth
2021-4-24 21:03:19

Reporting a bug seems fine


samth
2021-4-24 21:03:26

But I don’t expect it to get fixed


alexharsanyi
2021-4-24 22:55:28

my guess is that you are trying to call “insert” while the editor is locked. the editor is locked when different methods are called (for example the can-insert? method). My suggestion is to call insert only from the main GUI thread. If you are on a separate thread, use queue-callback , for example (queue-callback (lambda () (send a-text insert "Hello")))


jjsimpso
2021-4-25 00:09:30

@alexharsanyi, oh, so I can use queue-callback to queue up functions to be executed by the main gui thread? I think you are correct and this is my problem. I just wasn’t expecting to have to deal with lower-level details of the editor.


jjsimpso
2021-4-25 00:14:13

Although now I see this is section 5.10 of the GUI docs: “An editor is not tied to any particular thread or eventspace, except to the degree that it is displayed in a canvas (which has an eventspace). Concurrent access of an editor is always safe in the weak sense that the editor will not become corrupted. However, because editor access can trigger locks, concurrent access can produce contract failures or unexpected results.” So it is right there :slightly_smiling_face:


jjsimpso
2021-4-25 00:27:35

So far just wrapping all my inserts in begin/end-edit-sequence has fixed the exception or at least reduced its rate of occurrence. It also improved the performance, so I’m quite happy about this! The docs seem to suggest I need to disable the editor as well, but I’ll investigate.