pankajdoharey
2020-10-9 07:42:45

Hi Everyone, Looking forward to see all at Racketcon.


pankajdoharey
2020-10-9 07:43:20

I am especially excited because it will be my first racketcon online.


spdegabrielle
2020-10-9 10:16:07

there are two ways of joining -one is just your email for using the group via email. It probably hasn’t associated the group with your google account


mbdeutschmann
2020-10-9 10:28:06

@mbdeutschmann has joined the channel


lelerabi
2020-10-9 13:15:31

@lelerabi has joined the channel


samdphillips
2020-10-9 14:19:01

Thanks that did it.


gknauth
2020-10-9 15:19:46

I just checked out the gather.town link for next week’s RacketCon. Is that it, just sign into Gather next week, no registration needed? Question: If I sign in with just my name, how do you know it’s me? (BTW, apparently FSF staff just got an email from me, they forwarded a copy to me, I said “I didn’t write that!“, they said “We know.” Apparently it happens all the time.


anything
2020-10-9 17:18:52

@badkins I don’t actually understand your configuration sample. Mine turned out like this:

server { listen 1116 ssl; server_name <http://api.metroymcas.org\|api.metroymcas.org>; ssl_certificate /etc/letsencrypt/live/api.metroymcas.org/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/api.metroymcas.org/privkey.pem; location / { proxy_pass <http://localhost:1117>; }

Anyway, thanks very much for this idea. I think this might really solve the problem for me here. (I’ll monitor it for two weeks then report back to you guys.) I will also continue to try to pinpoint how to reproduce the problem. Thanks again!


samth
2020-10-9 17:36:05

Registering is not required


badkins
2020-10-9 17:44:24

I don’t know where I got mine from originally, but maybe the difference is being able to use multiple Racket web server processes. By using proxy_pass with upstream racket, nginx will distribute requests to as many servers as are listed in the upstream racket block. Glad you got something working.


badkins
2020-10-9 17:48:10

The try_files statement is what causes nginx to handle static files. If it can find the file, it just returns it; otherwise, it’ll delegate to Racket.


anything
2020-10-9 17:50:35

Got ya. That makes sense — multiple Racket web servers. (I’ll hope I get to need that some day. It’ll mean I have more income!)


jestarray
2020-10-9 17:55:08

how does one build a struct with keyword args? (struct person (first last)) (person #:first "bob" #:last "smith")


jaz
2020-10-9 18:00:54

@jestarray, struct doesn’t allow for that. You could try a third-party package, like https://docs.racket-lang.org/struct-plus-plus/index.html.


samdphillips
2020-10-9 18:04:15

jaz
2020-10-9 18:05:15

Ah, I didn’t realize rebellion had its own structs.


soegaard2
2020-10-9 18:07:33

An alternative is to define the structs in separate file. Then omit the default construct when exporting - and export a smarter construct that wraps the default one. Using rename-out it looks like the default constructor from the outside.


jaz
2020-10-9 18:10:48

Yeah, this ^^ is what I did in gregor. There are a few things that can trip you up if you decide to go the DIY route, like getting a match expander attached to the same identifier as the constructor and getting the struct printing how you want it.


notjack
2020-10-9 18:24:11

attaching the match expander and getting the printer to include field names are both things that rebellion records do automatically :grin:


jasonqxu
2020-10-9 20:00:30

@jasonqxu has joined the channel


badkins
2020-10-9 23:36:36

Regardless of your web traffic volume, it’s probably a good idea to use 1 Racket web server process per CPU core, so even if you’re on a small VPS, you might still have more than one CPU core.


anything
2020-10-9 23:37:58

Good point. I’m gonna do that then. I’ve got 8 cores.

%cat /proc/cpuinfo \| grep processor processor : 0 processor : 1 processor : 2 processor : 3 processor : 4 processor : 5 processor : 6 processor : 7