diff --git a/s390x.md b/s390x.md index 52fce31..c7409f0 100644 --- a/s390x.md +++ b/s390x.md @@ -12,21 +12,48 @@ ## From xet7, other non-WeKan Open Source at s390x -Other non-WeKan Open Source projects xet7 tried to build at s390x: +### Petclinic + +- 2024-01-20 Petclinic fork https://github.com/xet7/pet , with command `blink redbean.com` + - With Petclinic website, it is possible to add pets, visits to clinic, etc. There is no login system, it is possible to add to database directly at website http://127.0.0.1:8000/ or http://YOUR-COMPUTER-IP-ADDRESS:8000/ + - When xet7 added issue about blink segfault at s390x, 5 minutes later jart added fix https://github.com/jart/blink/issues/162 + - Blink is x86_86 emulator, similar to qemu https://github.com/jart/blink . With blink, it works at Linux s390x. Without blink, it works at x86_86/arm64 Win/Mac/Linux/BSD, but ASAN security feature does not work yet at arm64, like mentioned at Makefile of https://github.com/xet7/pet . If there is errors, maybe you need to run it with `chmod +x redbean.co && sh -c ./redbean.com`, or also need to install `ape` from https://github.com/jart/cosmopolitan . + - Redbean is webserver https://redbean.dev + - Fullmoon is Lua web framework https://github.com/pkulchenko/fullmoon . Petclinic has fork of Fullmoon, making possible to use SQLite across CGI-like Lua processes of Redbean, like mentioned at Readme https://github.com/xet7/pet + - By using Makefile with `make all` or `make start` it makes one executeable. When starting, it creates SQLite database to same directory, adding data, with `srv/.lua/*.sql` + - At fork https://github.com/xet7/pet , xet7 added all external `.sql`, Javascript and CSS dependencies directly inside executeable. This can be seen at Makefile, where files from `srv` directory are are added to `.zip` file, that is added to end of `redbean.com` executeable. + +Benchmark: + + - At Makefile, xet7 fixed `make benchmark` of wrk benchmarks to to work at Mac M1 `brew install wrk` and Linux `sudo apt install wrk` . But wrk does not yet work at s390x, xet7 added issue about it to https://github.com/jart/blink/issues/163 . If you start with silent mode `./redbean.com -s` , then at M1 Air macOS Sonoma is this benchmark: + +``` + ~/Downloads/pet$ make benchmark +wrk -H 'Accept-Encoding: gzip' -t 12 -c 120 http://127.0.0.1:8000/ +Running 10s test @ http://127.0.0.1:8000/ + 12 threads and 120 connections + Thread Stats Avg Stdev Max +/- Stdev + Latency 73.21ms 136.41ms 1.25s 86.04% + Req/Sec 7.72k 12.48k 65.33k 89.46% + 600013 requests in 10.09s, 708.40MB read + Socket errors: connect 0, read 427, write 2, timeout 0 +Requests/sec: 59485.18 +Transfer/sec: 70.23MB +``` + +Lua IDE: + +- It is possible to show hidden files like `.gitignore` with Lua IDE, ZeroBrane Studio, this way, and also debug redbean: https://github.com/xet7/pet/wiki/Redbean + +QuickJS: + + - Unrelated to Lua, there is also QuickJS (similar like Node.js/Bun/Deno), where it is possible to embed Javascript to same Cosmopolitan x86_85/arm64 Win/Mac/Linux/BSD executeable binary https://github.com/xet7/pet/wiki/QuickJS + +### Other non-WeKan Open Source projects xet7 tried to build at s390x - Works: - TSC platform game, C++ https://secretchronicles.org/en/news/2020/11/16/tsc-for-s390x-available/ - Darkest Hour halloween text adventure game, C89, xet7 ported to 30+ CPU/OS https://github.com/xet7/darkesthour - - 2024-01-20 Petclinic fork https://github.com/xet7/pet , with command `blink redbean.com` - - With Petclinic website, it is possible to add pets, visits to clinic, etc. There is no login system, it is possible to add to database directly at website http://127.0.0.1:8000/ or http://YOUR-COMPUTER-IP-ADDRESS:8000/ - - When xet7 added issue about blink segfault at s390x, 5 minutes later jart added fix https://github.com/jart/blink/issues/162 - - Blink is x86_86 emulator, similar to qemu https://github.com/jart/blink . With blink, it works at Linux s390x. Without blink, it works at x86_86/arm64 Win/Mac/Linux/BSD, but ASAN security feature does not work yet at arm64, like mentioned at Makefile of https://github.com/xet7/pet . If there is errors, maybe you need to run it with `chmod +x redbean.co && sh -c ./redbean.com`, or also need to install `ape` from https://github.com/jart/cosmopolitan . - - Redbean is webserver https://redbean.dev - - Fullmoon is Lua web framework https://github.com/pkulchenko/fullmoon . Petclinic has fork of Fullmoon, making possible to use SQLite across CGI-like Lua processes of Redbean, like mentioned at Readme https://github.com/xet7/pet - - By using Makefile with `make all` or `make start` it makes one executeable. When starting, it creates SQLite database to same directory, adding data, with `srv/.lua/*.sql` - - At fork https://github.com/xet7/pet , xet7 added all external `.sql`, Javascript and CSS dependencies directly inside executeable. This can be seen at Makefile, where files from `srv` directory are are added to `.zip` file, that is added to end of `redbean.com` executeable. - - It is possible to show hidden files like `.gitignore` with Lua IDE, ZeroBrane Studio, this way, and also debug redbean: https://github.com/xet7/pet/wiki/Redbean - - Unrelated to Lua, there is also QuickJS (similar like Node.js/Bun/Deno), where it is possible to embed Javascript to same Cosmopolitan x86_85/arm64 Win/Mac/Linux/BSD executeable binary https://github.com/xet7/pet/wiki/QuickJS - Does not work yet: - V https://github.com/vlang/v/issues/18737 - LLVM, Zig, Bun https://github.com/wekan/wekan-node20#trying-to-compile-llvm-for-zig-and-bun-at-s390x-fails