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:
But if I have a written record in a text chat anyway, I sometimes read recent parts of it. So I do appreciate that.
Couldn’t find a way to do this. Have you found an answer?
I haven’t had much time to find one, but no I haven’t.
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
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)
What happens if you change 10 to 20?
On Mac M1, it only shows 3 seconds…
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.
I think drracket-vim-tool is not actively maintained, but drracket-paredit is.
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.
Changing to 20 seconds still just shows first 5 for me.
Does it work as expected in DrRacket?
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.
My guess is that the first one there’s a lag between the when the sleep starts and when the snip is shown
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
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).
I think only the DrRacket language level really worked fully
Reporting a bug seems fine
But I don’t expect it to get fixed
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")))
@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.
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:
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.