Re: Release: serverino - please destroy it.

2022-05-15 Thread Andrea Fontana via Digitalmars-d-announce
On Sunday, 15 May 2022 at 06:37:08 UTC, frame wrote: On Saturday, 14 May 2022 at 23:23:47 UTC, Andrea Fontana wrote: Which kind of socket exception could be triggered by a client? Andrea It doesn't matter if triggered by a client or not, you need to deal with the possibility. A closed/destr

Re: Release: serverino - please destroy it.

2022-05-14 Thread frame via Digitalmars-d-announce
On Saturday, 14 May 2022 at 23:23:47 UTC, Andrea Fontana wrote: Which kind of socket exception could be triggered by a client? Andrea It doesn't matter if triggered by a client or not, you need to deal with the possibility. A closed/destroyed socket is an invalid resource. I recently had

Re: Release: serverino - please destroy it.

2022-05-14 Thread Andrea Fontana via Digitalmars-d-announce
On Saturday, 14 May 2022 at 20:44:54 UTC, frame wrote: Take care of socket exceptions - especially if you want to make a port to Windows. You should always expect one. It's not enough to test `Socket.isAlive` - a client socket may be faulty and any illegal socket operation throws and kills yo

Re: Release: serverino - please destroy it.

2022-05-14 Thread frame via Digitalmars-d-announce
On Sunday, 8 May 2022 at 21:32:42 UTC, Andrea Fontana wrote: Please help me testing it, I'm looking forward to receiving your shiny new issues on github. Dub package: https://code.dlang.org/packages/serverino Andrea Take care of socket exceptions - especially if you want to make a port to

Re: Release: serverino - please destroy it.

2022-05-12 Thread Andrea Fontana via Digitalmars-d-announce
On Thursday, 12 May 2022 at 11:46:05 UTC, Guillaume Piolat wrote: On Thursday, 12 May 2022 at 11:33:07 UTC, Andrea Fontana wrote: Does dmd/rdmd work? Serverino uses std.net.curl just for running its unittests, so maybe that bug is not blocking. Well tbh, the simple fact that I would have to

Re: Release: serverino - please destroy it.

2022-05-12 Thread Guillaume Piolat via Digitalmars-d-announce
On Thursday, 12 May 2022 at 11:33:07 UTC, Andrea Fontana wrote: Does dmd/rdmd work? Serverino uses std.net.curl just for running its unittests, so maybe that bug is not blocking. Well tbh, the simple fact that I would have to use WSL is a blocker for me. AFAIK vibe or cgi.d do not require t

Re: Release: serverino - please destroy it.

2022-05-12 Thread rikki cattermole via Digitalmars-d-announce
On 12/05/2022 11:33 PM, Andrea Fontana wrote: Too bad dub doesn't work with wsl, it sounds like a lost opportunity. Does dmd/rdmd work? Serverino uses std.net.curl just for running its unittests, so maybe that bug is not blocking. It doesn't look like it is dub that is failing. This is a p

Re: Release: serverino - please destroy it.

2022-05-12 Thread Andrea Fontana via Digitalmars-d-announce
On Thursday, 12 May 2022 at 10:26:28 UTC, Guillaume Piolat wrote: On Sunday, 8 May 2022 at 21:45:28 UTC, Andrea Fontana wrote: If you can test it on windows with WSL, that would be appreciated a lot! I tried to test servrino on WSL, but dub doesn't run on WSL. => https://github.com/dlang/d

Re: Release: serverino - please destroy it.

2022-05-12 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 8 May 2022 at 21:45:28 UTC, Andrea Fontana wrote: If you can test it on windows with WSL, that would be appreciated a lot! I tried to test servrino on WSL, but dub doesn't run on WSL. => https://github.com/dlang/dub/issues/2249

Re: Release: serverino - please destroy it.

2022-05-11 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 19:24:25 UTC, Andrea Fontana wrote: Maybe bambinetto is more about immaturity. Bambinuccio is cute. Bambinaccio is bad. Bambinone is big (an adult that behave like a child). -ello doesn't sound good with bambino, but it's very similar to -etto. Good luck :) Thanks

Re: Release: serverino - please destroy it.

2022-05-11 Thread Andrea Fontana via Digitalmars-d-announce
On Wednesday, 11 May 2022 at 06:50:37 UTC, Orfeo wrote: well done Andrea! (forum begins to be too crowded with Italians :) ) --- Orfeo We all miss the good old bearophile! I think the most active italian in this forum. Andrea

Re: Release: serverino - please destroy it.

2022-05-10 Thread Orfeo via Digitalmars-d-announce
well done Andrea! (forum begins to be too crowded with Italians :) ) --- Orfeo

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 21:24:46 UTC, Paolo Invernizzi wrote: Here I am ... Milanese: https://www.deepglance.com/about /Paolo Ok it's me getting old! Andrea

Re: Release: serverino - please destroy it.

2022-05-10 Thread Paolo Invernizzi via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 20:41:17 UTC, Andrea Fontana wrote: On Tuesday, 10 May 2022 at 20:13:45 UTC, Paolo Invernizzi wrote: Sinceramente non ricordo di averlo scritto, ma alla mia eta ... probabilmente dimentico qualcosa ... comunque piacere! E' bello vedere altri italiani apprezzare questo

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 20:13:45 UTC, Paolo Invernizzi wrote: Sinceramente non ricordo di averlo scritto, ma alla mia eta ... probabilmente dimentico qualcosa ... comunque piacere! E' bello vedere altri italiani apprezzare questo magnifico linguaggio! (Frankly speaking, I don't remember to

Re: Release: serverino - please destroy it.

2022-05-10 Thread Paolo Invernizzi via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 19:55:32 UTC, Andrea Fontana wrote: On Tuesday, 10 May 2022 at 19:50:08 UTC, Paolo Invernizzi wrote: Concordo ... (I agree!) :-P Wait, you have always said you're not Italian. Have you changed your mind? Andrea Sinceramente non ricordo di averlo scritto, ma al

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 19:50:08 UTC, Paolo Invernizzi wrote: Concordo ... (I agree!) :-P Wait, you have always said you're not Italian. Have you changed your mind? Andrea

Re: Release: serverino - please destroy it.

2022-05-10 Thread Paolo Invernizzi via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 16:05:11 UTC, Andrea Fontana wrote: On Tuesday, 10 May 2022 at 15:35:35 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 10 May 2022 at 15:27:48 UTC, Andrea Fontana wrote: Indeed the "-ino" suffix in "serverino" stands for "small" in italian. :) Bambino > bambinello? So,

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 18:33:18 UTC, Sebastiaan Koppe wrote: On Tuesday, 10 May 2022 at 10:49:06 UTC, Andrea Fontana wrote: On Tuesday, 10 May 2022 at 08:32:15 UTC, Sebastiaan Koppe wrote: The difference is that with the route uda you can *only* map routes 1:1 exhaustively. With your approa

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 16:47:13 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 10 May 2022 at 16:05:11 UTC, Andrea Fontana wrote: Oh, italian is full of suffixes. -ello means a slightly different thing. It's small but sounds like a bit pejorative. Oh, and I loved the sound of it… suggests imm

Re: Release: serverino - please destroy it.

2022-05-10 Thread Sebastiaan Koppe via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 10:49:06 UTC, Andrea Fontana wrote: On Tuesday, 10 May 2022 at 08:32:15 UTC, Sebastiaan Koppe wrote: The difference is that with the route uda you can *only* map routes 1:1 exhaustively. With your approach it is up to the programmer to avoid errors. It is also hard to

Re: Release: serverino - please destroy it.

2022-05-10 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 16:05:11 UTC, Andrea Fontana wrote: Oh, italian is full of suffixes. -ello means a slightly different thing. It's small but sounds like a bit pejorative. Oh, and I loved the sound of it… suggests immaturity, perhaps? (I love the -ello and -ella endings. «Bambinella»

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 15:35:35 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 10 May 2022 at 15:27:48 UTC, Andrea Fontana wrote: Indeed the "-ino" suffix in "serverino" stands for "small" in italian. :) Bambino > bambinello? So, the embedded-version could be «serverinello»? :O) Oh, italia

Re: Release: serverino - please destroy it.

2022-05-10 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 15:27:48 UTC, Andrea Fontana wrote: Indeed the "-ino" suffix in "serverino" stands for "small" in italian. :) Bambino > bambinello? So, the embedded-version could be «serverinello»? :O)

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 15:16:22 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 10 May 2022 at 15:00:06 UTC, Andrea Fontana wrote: I work in the R&D and every single time I even have to write a small api or a simple html interface to control some strange machine I think "omg, I have to set ngin

Re: Release: serverino - please destroy it.

2022-05-10 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 15:00:06 UTC, Andrea Fontana wrote: I work in the R&D and every single time I even have to write a small api or a simple html interface to control some strange machine I think "omg, I have to set nginx agaain". Good point, there are more application areas than re

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 15:01:43 UTC, Adam Ruppe wrote: On Monday, 9 May 2022 at 19:20:27 UTC, Andrea Fontana wrote: Thank you. Looking forward to getting feedback, bug reports and help :) BTW I'm curious, what made you not want to use my cgi.d which has similar capabilities? I was reall

Re: Release: serverino - please destroy it.

2022-05-10 Thread Adam Ruppe via Digitalmars-d-announce
On Monday, 9 May 2022 at 19:20:27 UTC, Andrea Fontana wrote: Thank you. Looking forward to getting feedback, bug reports and help :) BTW I'm curious, what made you not want to use my cgi.d which has similar capabilities?

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 13:15:38 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 10 May 2022 at 12:52:01 UTC, Andrea Fontana wrote: I'm running a whole website in D using fastcgi and we have no problem at all, it's blazing fast. But it's not so easy to setup as serverino :) Easy setup is proba

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 13:34:27 UTC, Adam D Ruppe wrote: On Monday, 9 May 2022 at 20:37:50 UTC, Andrea Fontana wrote: The same goes for cgi/fastcgi/scgi and so on. Well, cgi does one process per request, so there is no worker pool (it is the original "serverless" lol). fastcgi is intere

Re: Release: serverino - please destroy it.

2022-05-10 Thread Adam D Ruppe via Digitalmars-d-announce
On Monday, 9 May 2022 at 20:37:50 UTC, Andrea Fontana wrote: The same goes for cgi/fastcgi/scgi and so on. Well, cgi does one process per request, so there is no worker pool (it is the original "serverless" lol). fastcgi is interesting because the Apache module for it will actually start an

Re: Release: serverino - please destroy it.

2022-05-10 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 12:52:01 UTC, Andrea Fontana wrote: I'm running a whole website in D using fastcgi and we have no problem at all, it's blazing fast. But it's not so easy to setup as serverino :) Easy setup is probably the number one reason people land on a specific web-tech, so it

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 12:31:23 UTC, Ola Fosheim Grøstad wrote: On Tuesday, 10 May 2022 at 10:49:06 UTC, Andrea Fontana wrote: And you can still handle 700k/views per hour with 20 workers! Requests tend to come in bursts from the same client, thanks to clunky javascript APIs and clutters

Re: Release: serverino - please destroy it.

2022-05-10 Thread Ola Fosheim Grøstad via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 10:49:06 UTC, Andrea Fontana wrote: And you can still handle 700k/views per hour with 20 workers! Requests tend to come in bursts from the same client, thanks to clunky javascript APIs and clutters of resources (and careless web developers). For a typical D user eas

Re: Release: serverino - please destroy it.

2022-05-10 Thread Andrea Fontana via Digitalmars-d-announce
On Tuesday, 10 May 2022 at 08:32:15 UTC, Sebastiaan Koppe wrote: On Monday, 9 May 2022 at 20:37:50 UTC, Andrea Fontana wrote: On Monday, 9 May 2022 at 20:08:38 UTC, Sebastiaan Koppe wrote: As an example, how many requests per second can you manage if all requests have to wait 100 msecs? For n

Re: Release: serverino - please destroy it.

2022-05-10 Thread Sebastiaan Koppe via Digitalmars-d-announce
On Monday, 9 May 2022 at 20:37:50 UTC, Andrea Fontana wrote: On Monday, 9 May 2022 at 20:08:38 UTC, Sebastiaan Koppe wrote: As an example, how many requests per second can you manage if all requests have to wait 100 msecs? For non critical workload you will probably still hit good enough perf

Re: Release: serverino - please destroy it.

2022-05-09 Thread Andrea Fontana via Digitalmars-d-announce
On Monday, 9 May 2022 at 20:08:38 UTC, Sebastiaan Koppe wrote: On Sunday, 8 May 2022 at 21:32:42 UTC, Andrea Fontana wrote: Every request is processed by a worker running in an isolated process, no fibers/threads, sorry (or thanks?) I did some tests and the performance sounds good: on a local

Re: Release: serverino - please destroy it.

2022-05-09 Thread Sebastiaan Koppe via Digitalmars-d-announce
On Sunday, 8 May 2022 at 21:32:42 UTC, Andrea Fontana wrote: Every request is processed by a worker running in an isolated process, no fibers/threads, sorry (or thanks?) I did some tests and the performance sounds good: on a local machine it can handle more than 100_000 reqs/sec for a simple

Re: Release: serverino - please destroy it.

2022-05-09 Thread Andrea Fontana via Digitalmars-d-announce
On Monday, 9 May 2022 at 19:09:40 UTC, Guillaume Piolat wrote: On Sunday, 8 May 2022 at 21:32:42 UTC, Andrea Fontana wrote: Hello! I've just released serverino. It's a small & ready-to-go http/https server. Dub package: https://code.dlang.org/packages/serverino Andrea Looks very useful, c

Re: Release: serverino - please destroy it.

2022-05-09 Thread Guillaume Piolat via Digitalmars-d-announce
On Sunday, 8 May 2022 at 21:32:42 UTC, Andrea Fontana wrote: Hello! I've just released serverino. It's a small & ready-to-go http/https server. Dub package: https://code.dlang.org/packages/serverino Andrea Looks very useful, congratulations!

Re: Release: serverino - please destroy it.

2022-05-09 Thread H. S. Teoh via Digitalmars-d-announce
On Mon, May 09, 2022 at 04:48:11PM +, Vladimir Panteleev via Digitalmars-d-announce wrote: > On Monday, 9 May 2022 at 16:37:15 UTC, H. S. Teoh wrote: > > Why is memory protection the only way to implement write barriers in > > D? > > Well, it's the only way I know of without making it a major

Re: Release: serverino - please destroy it.

2022-05-09 Thread Vladimir Panteleev via Digitalmars-d-announce
On Monday, 9 May 2022 at 16:37:15 UTC, H. S. Teoh wrote: Why is memory protection the only way to implement write barriers in D? Well, it's the only way I know of without making it a major backwards-incompatible change. The main restriction in this area is that it must continue working with c

Re: Release: serverino - please destroy it.

2022-05-09 Thread H. S. Teoh via Digitalmars-d-announce
On Mon, May 09, 2022 at 05:55:39AM +, Vladimir Panteleev via Digitalmars-d-announce wrote: > On Monday, 9 May 2022 at 00:25:43 UTC, H. S. Teoh wrote: > > In the past, the argument was that write barriers represented an > > unacceptable performance hit to D code. But I don't think this has > >

Re: Release: serverino - please destroy it.

2022-05-09 Thread H. S. Teoh via Digitalmars-d-announce
On Mon, May 09, 2022 at 05:52:30AM +, Vladimir Panteleev via Digitalmars-d-announce wrote: > On Sunday, 8 May 2022 at 23:44:42 UTC, Ali Çehreli wrote: > > While we are on topic :) and as I finally understood what > > generational GC is[1], are there any fundamental issues with D to > > not use

Re: Release: serverino - please destroy it.

2022-05-08 Thread Vladimir Panteleev via Digitalmars-d-announce
On Monday, 9 May 2022 at 00:25:43 UTC, H. S. Teoh wrote: In the past, the argument was that write barriers represented an unacceptable performance hit to D code. But I don't think this has ever actually been measured. (Or has it?) Maybe somebody should make a dmd fork that introduces write ba

Re: Release: serverino - please destroy it.

2022-05-08 Thread Vladimir Panteleev via Digitalmars-d-announce
On Sunday, 8 May 2022 at 23:44:42 UTC, Ali Çehreli wrote: While we are on topic :) and as I finally understood what generational GC is[1], are there any fundamental issues with D to not use one? I implemented one a long time ago. The only way to get write barriers with D is memory protection.

Re: Release: serverino - please destroy it.

2022-05-08 Thread Bruce Carneal via Digitalmars-d-announce
On Monday, 9 May 2022 at 00:32:33 UTC, Ali Çehreli wrote: On 5/8/22 17:25, H. S. Teoh wrote: > somebody should make a dmd > fork that introduces write barriers, plus a generational GC (even if > it's a toy, proof-of-concept-only implementation) to see if the > performance hit is really as bad as

Re: Release: serverino - please destroy it.

2022-05-08 Thread Ali Çehreli via Digitalmars-d-announce
On 5/8/22 17:25, H. S. Teoh wrote: > somebody should make a dmd > fork that introduces write barriers, plus a generational GC (even if > it's a toy, proof-of-concept-only implementation) to see if the > performance hit is really as bad as believed to be. Ooh! DConf is getting even more interesti

Re: Release: serverino - please destroy it.

2022-05-08 Thread H. S. Teoh via Digitalmars-d-announce
On Mon, May 09, 2022 at 12:10:53PM +1200, rikki cattermole via Digitalmars-d-announce wrote: > On 09/05/2022 11:44 AM, Ali Çehreli wrote: > > While we are on topic :) and as I finally understood what > > generational GC is[1], are there any fundamental issues with D to > > not use one? > > This i

Re: Release: serverino - please destroy it.

2022-05-08 Thread rikki cattermole via Digitalmars-d-announce
On 09/05/2022 11:44 AM, Ali Çehreli wrote: While we are on topic :) and as I finally understood what generational GC is[1], are there any fundamental issues with D to not use one? This is not a D issue, its an implementation one. We don't have write barriers, that's it. Make them opt-in and

Re: Release: serverino - please destroy it.

2022-05-08 Thread Ali Çehreli via Digitalmars-d-announce
On 5/8/22 16:10, Adam Ruppe wrote: > On Sunday, 8 May 2022 at 22:09:37 UTC, Ali Çehreli wrote: >> That effectively uses multiple GCs. I always suspected that approach >> would provide better latency. > > My cgi.d has used some fork approaches for a very long time since it is > a very simple way to

Re: Release: serverino - please destroy it.

2022-05-08 Thread Adam Ruppe via Digitalmars-d-announce
On Sunday, 8 May 2022 at 22:09:37 UTC, Ali Çehreli wrote: That effectively uses multiple GCs. I always suspected that approach would provide better latency. My cgi.d has used some fork approaches for a very long time since it is a very simple way to spread this out, it works quite well.

Re: Release: serverino - please destroy it.

2022-05-08 Thread Andrea Fontana via Digitalmars-d-announce
On Sunday, 8 May 2022 at 22:09:37 UTC, Ali Çehreli wrote: Congratulations! :) Looking forward to watching your presentation at DConf... ;) I wish I was able to speak publicly in English in front of an audience :) On 5/8/22 14:32, Andrea Fontana wrote: > Every request is processed by a wor

Re: Release: serverino - please destroy it.

2022-05-08 Thread Ali Çehreli via Digitalmars-d-announce
Congratulations! :) Looking forward to watching your presentation at DConf... ;) On 5/8/22 14:32, Andrea Fontana wrote: > Every request is processed by a worker running in an isolated process, > no fibers/threads, sorry (or thanks?) That effectively uses multiple GCs. I always suspected that a

Re: Release: serverino - please destroy it.

2022-05-08 Thread Andrea Fontana via Digitalmars-d-announce
On Sunday, 8 May 2022 at 21:32:42 UTC, Andrea Fontana wrote: [...] Andrea Whoops, I forgot a couple of things. This was tested on linux only and it should work fine on other posix systems (macOS included!). I don't have windows, but I think you need WSL to run it, since I'm using a lot of

Release: serverino - please destroy it.

2022-05-08 Thread Andrea Fontana via Digitalmars-d-announce
Hello! I've just released serverino. It's a small & ready-to-go http/https server. Every request is processed by a worker running in an isolated process, no fibers/threads, sorry (or thanks?) I did some tests and the performance sounds good: on a local machine it can handle more than 100_0