reference request – What do UF and ZF do to each other?

Correct me if I’m wrong, but in a model $M$ of ZF each element $x$ of $M$ should produce a directed-graph-with-a-marked-sink $G_x$ having $x$ as marked sink, as follows: to $varnothing$, i. e. the element with no $y$ satisfying $yinvarnothing$, assign the graph with the single node $varnothing$ which is marked, and no arrows. If the graphs $G_y$ for each $yin x$ are known, then let $G_x$ be the disjoint union of all $G_y$, one more node $x$, and new arrows $yto x$ for each $y$, with $x$ marked.

Something like univalence would tell us that if there is an isomorphism between $G_x$ and $G_{x’}$ under which isomorphism $x$ and $x’$ correspond to each other, then it must be the case that $x=x’$.

Does every model of ZF satisfy this? If yes, is it trivial? If no, are there some additional axioms known that would ensure it?

On the other side, does this construction allow to construct a model of ZF from every univalent universe? If yes, is it trivial? If no, are there some additional axioms known that would ensure it?

Last question – are these matters addressed somewhere? Where can I read about it?

“Router not found for request”: Configuring nginx reverse proxy so that backend on port 8080 is served to a path on port 80

I run an app called trilium on a VPS
Although I have it working on port 8080, I would like to set it up so that the port 8080 stuff is only on the backend, and going to mydomain.com/trilium presents the page that is currently shown when I go to mydomain.com:8080.

this is my current nginx configuration file for the site:


upstream websocket  {
      server 127.0.0.1:8080; #Trilium
}

server {
        listen 443 ssl;
        include /etc/nginx/includes/ssl.conf;
        server_name mydomain.com;
        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;
        # Path to the root of your installation
         client_max_body_size 0;

        location /trilium {
                proxy_pass https://websocket;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
        }
}

With this setup, going mydomain.com:8080 loads the app start page. But when I go to mydomain.com/trilium, I get a page that says: “{“message”:”Router not found for request /trilium”}”

On the backend, the Trilium app is throwing these errors:

Error: Router not found for request /trilium
    at /home/admin/trilium-linux-x64-server/src/app.js:69:17
    at Layer.handle (as handle_request) (/home/admin/trilium-linux-x64-server/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/admin/trilium-linux-x64-server/node_modules/express/lib/router/index.js:317:13)
    at /home/admin/trilium-linux-x64-server/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/admin/trilium-linux-x64-server/node_modules/express/lib/router/index.js:335:12)
    at next (/home/admin/trilium-linux-x64-server/node_modules/express/lib/router/index.js:275:10)
    at Layer.handle (as handle_request) (/home/admin/trilium-linux-x64-server/node_modules/express/lib/router/layer.js:91:12)
    at trim_prefix (/home/admin/trilium-linux-x64-server/node_modules/express/lib/router/index.js:317:13)
    at /home/admin/trilium-linux-x64-server/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/admin/trilium-linux-x64-server/node_modules/express/lib/router/index.js:335:12) {
  status: 404
}

I am guessing this is a problem with my nginx configuration, not the app itself. Any help figuring out what that problem is would be wonderful. I am not familiar enough with js to know which of these errors is the original one.

The lines pointed to by the first message:
/home/admin/trilium-linux-x64-server/src/app.js:69

// catch 404 and forward to error handler
app.use((req, res, next) => {
    const err = new Error('Router not found for request ' + req.url);
    err.status = 404;
    next(err);
});

I was thinking to make a minimal example using a simple “hello world” app in Python, but it seems that nginx needs a wsgi server to communicate with nginx, and therefore I am not sure it would even be an analogous example. Help with figuring out what sort of test app would make a good minimal example would be just as welcome as help with the configuration itself.

java – How to break up a request into multiple requests

I have a question about following scenario I am trying to implement in Java JAX-RS REST:

  1. a client app sends request to my api, lets call it MY-API
  2. MY-API receives request, and sends it to vendor api (VENDOR-API)
  3. VENDOR-API replies back to MY-API
  4. MY-API replies back to the client

My questions is about point 2 and 3 above.

  • Is it possible to break up request coming from client app once it is
    received in MY-API so that MY-API sends multiple requests to
    VENDOR-API instead of one?
  • And then upon receiving the requests from VENDOR-API, combine them
    back into single response to client app?

I am thinking about something like this in pseudo code:

@Path("cars")
public class CarsController
{
     1. send request to /car-detail endpoint
     1.a. get response from /userDetails endpoint

     2. send request to /car-image endpoint
     2.a. get response from /userImages endpoint
     
     3. send request to /car-history endpoint
     3.a. get response from /userHistory endpoint

     5. Somehow build response for /cars from the
        3 requests above and send response back to client
}

Why doesn’t a simple Http request to display a remote web page violate the Same Origin Policy?

On a w3schools page, I found that HTTP requests work like this:

  • A client (a browser) sends an HTTP request to the web
  • A web server receives the request, and runs an application to process it
  • The server returns an HTTP response (output) to the browser
  • The client (the browser) receives the response.

On the same page I found that an XMLHttpRequest works like this:

  • A browser creates an XMLHttpRequest object and sends it to the server
  • The server processes the request, creates a response and sends data back to the browser
  • The browser processes the returned data using JavaScript and updates the page content.

The above two processes appear pretty much the same to me. However, the latter one violates the Same Origin Policy (SOP) if the server runs on a remote domain. This question on stackoverflow about the url in the open() method says that

As we can only send requests to our own web server, I assume that we don’t have to rewrite the website’s name in the URL.

Applying the same logic to the first case (Http requests) would mean that I couldn’t open a web page if it is not on my own computer. Luckily, this is not the case.

So, why doesn’t an Http request to display a remote web page violate the SOP? What is the key point/difference here?

I assume it’s about the fact that the second process (XMLHttpRequest) is initiated from a script, while the first one is triggered by the user. However, isn’t the Http request sent from a script when I click a hyperlink on a web page? And how can a web server distinguish between requests coming from a script and coming from a user?

wi fi – Understanding the 802.11 frame structure and Android probe request different?

I have read here and on Google a lot about the 802.11 Frames
but something doesn’t add up.

can it be that there is a different between Android 8 and Android 5.1?
the request is not the same? or maybe it sent some random MAC ?

because when I “sniff ” android 5.1 device – I can see it “on the air” while when I “sniff” – android 8 device , I don’t see it

(I know the MAC of both devices I’m searching )

Thanks ,

code request – How can we find the powers of a complex number?

this is the complex number im dealing with
zb=(1/7)* (Cos(pi/3)+iSin(pi/3))

I need to represent for the first 10 powers in the plane. I also need to label the points with “z to the power n(n is the power for which i elevate zb)

I need to label the axes, i need to do all this in mathematica

My questions
1.How can I represent a complex number in mathematica
2.How can I represent for the first 10 powers the plane.
3.How can I label each point on the graph to the corresponding power?

my professor gave me a hint to use the callout() command in mathematica. thank you!

reference request – Stone-Weierstrass theorem for modules of non-self-adjoint subalgebras

In “Weierstrass-Stone, the Theorem” by Joao Prolla, there is a Stone-Weierstrass theorem for modules, stated as the following:

Let $mathcal{A}$ be a subalegebra of $C(X, mathbb{R})$ and $(E, |cdot|)$ be a normed space over $mathbb{R}$. Let $Wsubset C(X, E)$ be a vector subspace which is an $mathcal{A}$-module. For each $fin C(X, E)$ and $epsilon>0$, there exists $gin W$ such that $|f-g|<epsilon$ if and only if for each $xin X$, there exists $g_xin W$ such that $|f(t) – g_x(t)| < epsilon$ for all $tin (x)_{mathcal{A}}$, where $(x)_mathcal{A}$ is the equivalent class of $x$ under $mathcal{A}$.

I know that the above theorem can be extended to $mathcal{A}subset C(X, mathbb{C})$ with $mathcal{A}$ being a self-adjoint subalgebra. I wonder whether there are some similar results for modules of non-self-adjoint algebras.

Namely, let $Ssubset C(X, E)$ be any non-empty set and $mathcal{A}subset C(X, mathbb{C})$ be a subalgebra (not necessarily self-adjoint). Then $W := mathcal{A}S$ is a vector subspace which is an $mathcal{A}$-module. Shall we still claim that $fin overline{W}$ if and only if $fbigvert_{(x)_{mathcal{A}}} in overline{W}bigvert_{(x)_{mathcal{A}}}$? Or is there any counter-example to this statement?

uploads – 413 Request Entity Too Large nginx/1.18.0 (Ubuntu)

This message occurs whenever I attempt to upload a file greater than 2M in wordpress. I have made the follow changes in order to increase the allowed file upload sizes:

In nginx.conf, I added

client_max_body_size 200M;

In php.ini, I modified

upload_max_filesize = 200M
max_file_uploads = 20
Post_max_size = 256M

In wp-config.php, I added

@ini_set( 'upload_max_filesize' , '200M' );
@ini_set( 'post_max_size' , '256M' );
@ini_set( 'memory_limit' , 256M' );

Even with these parameters set in the three configuration files I am still getting the message
413 Request Entity Too Large nginx/1.18.0 (Ubuntu)

Can anyone help?

ssl – Why does Apache return a 400 “bad request” error when connecting to it with “openssl s_client” even though it sends TLS SNI

I have a website, accessible with HTTP over TLS. It is multi-homed, so there are several A DNS entries for the hostname. Additionally, there are several websites, with several hostnames, on the same set of IP addresses, so this is all setup with a few NameVirtualHost in Apache 2.

Accessing the website with a browser, or a WebDAV client, etc works like a charm.

But when I try to connect with “openssl s_client”, I cannot for the life of me get it to work. Apache throws a 400 “Bad Request” error at me. Apache selects the correct, so the SNI must have been set correctly by openssl. This happens as soon as I press “enter” on the “GET” line, even before I can add any header. The HTTP syntax I use (basically “GET / HTTP/1.1nHost: hostname” works on the non-TLS version of the website (which only redirects to the TLS version), so that should not be the problem. The same HTTP syntax also works to connect to e.g. www.google.com over TLS (port 443), so again it looks correct.

Logs of the Apache server show a request with a trailing newline, maybe that’s a hint. The log entry goes to the one for the default VirtualHost for that IP/port although Apache sent the X.509 certificate for the hostname I connect to, which is different from the default.

I have checked with wireshark that SNI is set in the ClientHello.

Here’s an example session:

INPUT
$ openssl s_client -connect hostname:443

OUTPUT

depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = hostname
verify return:1
---
Certificate chain
 0 s:CN = hostname
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
   i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
(...)
-----END CERTIFICATE-----
subject=CN = hostname

issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3121 bytes and written 388 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: FBFD6172E3C659D4071B68A36BD5983A8571906C00190A745B5DAA1359D4087C
    Session-ID-ctx: 
    Resumption PSK: 21957A3C267DAA25CE2D7F6BFD3C3593CCFA1E6FC45C4DC5D0CE35C29175F7E9BBDD59EE6C213DC53B8291B7BD055238
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - 18 4b 25 ae 49 61 e8 f3-73 b5 bb 3b 50 2f 1d c4   .K%.Ia..s..;P/..
    0010 - 7e 02 e9 41 01 9e ed 8b-a1 b6 ec 48 4d 12 11 f2   ~..A.......HM...

    Start Time: 1602857943
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 627DF7810556DB2918484F393E66DEA7BF22DD3A42288B47E46FCDCDEF176125
    Session-ID-ctx: 
    Resumption PSK: 851978077C93284CB3D69B541B77844A48D1CFC8800F60B6F7CF3D297911D0D93E0E935017B78777E2BD51A29E13329F
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - c0 1a 60 23 36 80 bf 27-83 0e 1f 26 4b 04 f2 53   ..`#6..'...&K..S
    0010 - a0 8a 2d 6e 41 44 17 c7-9b 11 5d dc 7f 08 71 fc   ..-nAD....)...q.

    Start Time: 1602857943
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK

INPUT (note no blank line after the first one)
GET / HTTP/1.1

OUTPUT

Date: Fri, 16 Oct 2020 14:19:11 GMT
Server: Apache/2.4.38 (Debian)
Content-Length: 322
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Apache/2.4.38 (Debian) Server at default_hostname Port 443</address>
</body></html>
closed

Note: the error message mentions default_hostname, not hostname!

The corresponding Apache log entry is:
default_hostname:443 1.2.3.4 - - (16/Oct/2020:16:19:11 +0200) "GET / HTTP/1.1n" 400 3279 "-" "-"

Note that default_hostname IS NOT hostname and that Apache sent the correct server certificate, so it has identified the correct VirtualHost! If I connect without SNI (openssl s_client -connect 4.3.2.1:443) then it sends the server certificate for default_hostname.