Re: [racket-users] looking for advice on a web background process manager

2022-01-05 Thread Stefan Schwarzer

On 2021-12-30 21:33, 'Wayne Harris' via Racket Users wrote:

I'm considering writing a manager for background processes --- such as send a 
batch of e-mail or other process that takes a while to finish --- for a web 
system.

I see the challenge here as just writing something that will look like a
very basic UNIX shell --- so I'll call it ``web-api-shell'' from now on.
(``Web'' because it will be used by a web system through some HTTP API.)

This thing has to be flawless. I'm looking for design principles and advice.
[...]


Have you looked at existing task queues and message brokers?
I guess they can already give you a part of the robustness
you're looking for. It would be a pity to reinvent the wheel,
especially since it will probably be quite difficult and
time-consuming to implement this robustness yourself.

But it might as well be that I misunderstand your requirements.
:-)

Stefan

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/ddeb9170-6273-34be-ec6d-7edc8b3a4146%40sschwarzer.net.


[racket-users] Here's a makefile to build Racket binaries for different platforms

2021-07-21 Thread Stefan Schwarzer
With the cross compilation now working under Racket 8.2,
I can offer a Makefile to build binaries for different
platforms in a Linux build environment on Sourcehut.

Being able to cross-compile is important in this case
because Sourcehut doesn't have Windows or Mac OS X build
environments.

https://git.sr.ht/~sschwarzer/sudoku-solver/tree/main/item/Makefile

Raw download:
https://git.sr.ht/~sschwarzer/sudoku-solver/blob/main/Makefile

Build log example:
https://builds.sr.ht/~sschwarzer/job/547472

The build instructions in the makefile are kind of
straightforward, but maybe it saves someone a bit
head-scratching to get some of the details right. :-)

What might also be interesting is the use of `sed` to patch
the version in the `info.rkt` file and to work around the
requirement of static artifact paths in `.build.yml` files.
I patch the version part in the artifact paths before `git
push`, so I can create build files which contain the version
number.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/695dcf19-52b8-8349-f611-3b0c1ad46879%40sschwarzer.net.


Re: [racket-users] Speeding up the conversion of flvectors to string

2021-06-29 Thread Stefan Schwarzer
On 2021-06-28 21:18, Alessandro Motta wrote:> One thing that is still puzzling 
/ worrying me: I completely failed to
> identify the actual bottleneck when profiling the code.
> 
> Did I simply misinterpret the profiling output / flame graph? Or is the
> problem rather that memory allocations and garbage collection are not
> tracked by the profiler?

Some things that might help (at least they helped me :-) ) ...

- Use the `profile-thunk` function described at
  https://docs.racket-lang.org/profile/ (most likely that's
  how you got your profile data to begin with).

- Use the `errortrace` option, i. e. run the instrumented
  program with `racket -l errortrace -t program.rkt`. The
  errortrace functionality is described as:

When using Errortrace, profiles are more precise and
more fine-grained (expression-level instead of
function-level) but profiling has higher overhead and
recompilation may be necessary.

- Note the remark about recompilation. It took me a bit to
  realize that I had to delete the `.zo` files. :-) In
  practice, I remove the `compiled` folders for the program
  I want to run. If you don't remove the compiled code, the
  old code - without errortrace information - will be used,
  but as far as I remember you'll get no error message or
  warning.

- There's also an option for the sample interval, so you can
  lower it to get finer-grained measurements. I don't find
  this now. Maybe someone else can point to more
  information.

- Learn to read the text output of the profiler as described
  under
  https://docs.racket-lang.org/profile/#%28part._.Textual_.Rendering%29
  Especially the distinction between the times with and
  without calls to nested functions is helpful. The profiler
  output may seem a bit overwhelming first, but with some
  time and experimentation it becomes better (like with so
  many things regarding Racket ;-) ).

Stefan

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/08b4bcb1-145f-0824-55c0-05bf6641bf06%40sschwarzer.net.


Re: [racket-users] Trying to specify resize-border for instance of dialog

2021-06-25 Thread Stefan Schwarzer
On 2021-06-26 01:56, Don Green wrote:
> When I specify as follows:
> 
> (define dialog2 (new dialog%
>  (label "Get-Prototype-dialog") 
>  (style resize-border)
>  ))
> 
> Returned error:
> resize-border: unbound identifier in: resize-border

I guess you want 'resize-border (as a symbol). :-)

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/7c800f58-054c-5711-0308-b6d77e526fb3%40sschwarzer.net.