Hostnames |
114.230.28.34.bc.googleusercontent.com phoenixkahlo.com |
Domains | googleusercontent.com phoenixkahlo.com |
Cloud Provider | |
Cloud Region | us-central1 |
Country | United States |
City | Council Bluffs |
Organization | Google LLC |
ISP | Google LLC |
ASN | AS396982 |
SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u5 Key type: ecdsa-sha2-nistp256 Key: AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLP7wXXKO5aEiNFdLt80HVLk wBrRo29ef856RXyIpnfr4Fe/fPEUtszMJUeecvbT/WuovZPfI7hLbsDvcsnNtmg= Fingerprint: 34:c1:e9:3a:fb:b7:5b:ac:1e:d8:a9:2c:8f:ad:ff:1b Kex Algorithms: sntrup761x25519-sha512 sntrup761x25519-sha512@openssh.com curve25519-sha256 curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group16-sha512 diffie-hellman-group18-sha512 diffie-hellman-group14-sha256 kex-strict-s-v00@openssh.com Server Host Key Algorithms: rsa-sha2-512 rsa-sha2-256 ecdsa-sha2-nistp256 ssh-ed25519 Encryption Algorithms: chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com MAC Algorithms: umac-64-etm@openssh.com umac-128-etm@openssh.com hmac-sha2-256-etm@openssh.com hmac-sha2-512-etm@openssh.com hmac-sha1-etm@openssh.com umac-64@openssh.com umac-128@openssh.com hmac-sha2-256 hmac-sha2-512 hmac-sha1 Compression Algorithms: none zlib@openssh.com
HTTP/1.1 502 Bad Gateway Server: nginx/1.22.1 Date: Tue, 08 Apr 2025 11:24:21 GMT Content-Type: text/html Content-Length: 559 Connection: keep-alive
HTTP/1.1 200 OK Server: nginx/1.22.1 Date: Sat, 22 Mar 2025 09:59:56 GMT Content-Type: text/html; charset=utf-8 Content-Length: 12724 Connection: keep-alive permissions-policy: interest-cohort=() x-content-type-options: nosniff x-frame-options: SAMEORIGIN
Certificate: Data: Version: 3 (0x2) Serial Number: 04:a7:89:3c:3e:ff:8a:42:77:1d:fb:f8:d6:c1:91:4b:bb:a7 Signature Algorithm: ecdsa-with-SHA384 Issuer: C=US, O=Let's Encrypt, CN=E6 Validity Not Before: Mar 9 22:28:44 2025 GMT Not After : Jun 7 22:28:43 2025 GMT Subject: CN=phoenixkahlo.com Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: 04:ea:d7:88:04:bc:5d:00:cf:46:b7:12:5b:6a:2f: bb:4c:c2:1d:a3:7b:2e:9d:6a:bb:db:89:83:55:32: d9:0c:24:eb:13:12:ae:9f:3e:33:6e:95:f7:06:e3: 00:59:52:7d:97:e8:0b:1b:cd:c7:32:1c:d1:5f:e8: 7e:25:56:0a:02 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: X509v3 Key Usage: critical Digital Signature X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Basic Constraints: critical CA:FALSE X509v3 Subject Key Identifier: 2F:48:2A:9D:66:BD:AC:A0:C7:34:C3:F5:59:5E:05:90:9F:37:CA:CC X509v3 Authority Key Identifier: 93:27:46:98:03:A9:51:68:8E:98:D6:C4:42:48:DB:23:BF:58:94:D2 Authority Information Access: OCSP - URI:http://e6.o.lencr.org CA Issuers - URI:http://e6.i.lencr.org/ X509v3 Subject Alternative Name: DNS:phoenixkahlo.com X509v3 Certificate Policies: Policy: 2.23.140.1.2.1 CT Precertificate SCTs: Signed Certificate Timestamp: Version : v1 (0x0) Log ID : 7D:59:1E:12:E1:78:2A:7B:1C:61:67:7C:5E:FD:F8:D0: 87:5C:14:A0:4E:95:9E:B9:03:2F:D9:0E:8C:2E:79:B8 Timestamp : Mar 9 23:27:15.096 2025 GMT Extensions: none Signature : ecdsa-with-SHA256 30:45:02:20:15:75:5A:A6:C0:A9:AF:72:75:F8:E5:20: F9:6D:69:26:16:D9:F2:5A:17:84:28:19:1F:FD:D4:BD: 2E:9A:E2:09:02:21:00:EE:76:70:12:8E:95:28:5B:14: DF:DB:9B:03:30:C8:4B:FB:27:D2:D7:A1:AC:3E:A7:81: DE:34:5E:F9:A8:28:03 Signed Certificate Timestamp: Version : v1 (0x0) Log ID : CF:11:56:EE:D5:2E:7C:AF:F3:87:5B:D9:69:2E:9B:E9: 1A:71:67:4A:B0:17:EC:AC:01:D2:5B:77:CE:CC:3B:08 Timestamp : Mar 9 23:27:15.149 2025 GMT Extensions: none Signature : ecdsa-with-SHA256 30:44:02:20:10:3C:D2:D5:5F:8A:68:D0:8C:AB:2E:F9: D2:5A:EB:89:59:10:A6:05:A0:62:89:8C:23:5F:38:55: 64:90:70:E7:02:20:5F:3C:9A:47:36:87:3B:D1:1B:67: F8:46:21:82:84:38:03:99:61:3D:BA:6F:7E:BF:57:19: 2B:82:56:B7:99:E0 Signature Algorithm: ecdsa-with-SHA384 Signature Value: 30:66:02:31:00:89:c7:4a:d4:9b:1f:45:72:3c:f0:43:63:ff: 2b:07:d4:12:0b:a4:48:15:fb:6e:9d:31:80:2c:b1:77:be:dc: d3:ae:c8:ee:f4:cc:c2:a1:d2:8f:4d:9c:85:67:47:dd:39:02: 31:00:b9:43:8e:3e:2a:6e:bf:38:df:ff:f2:a7:ec:3c:23:8c: f2:c8:54:5d:60:38:b1:9f:dc:bf:29:e7:f3:73:5e:6d:42:51: 56:e5:d1:bd:49:29:fa:53:b9:a0:78:2f:29:91
HTTP/1.1 200 OK content-type: text/html; charset=utf-8 server: Rocket permissions-policy: interest-cohort=() x-content-type-options: nosniff x-frame-options: SAMEORIGIN content-length: 12724 date: Wed, 09 Apr 2025 01:24:56 GMT <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Phoenix Kahlo</title> <link rel="stylesheet" type="text/css" href="css/style-green.css"> <link rel="me" href="https://cyberplace.social/@phoenixk"></a> </head> <body> <div class="main-column"> <header id="header"> <span class="header-text"> <span class="header-path"> <span class="header-path-sep">/</span> <a id="header-path-head" href="/">home</a> </span> </span> </header> <article id="content"> <section class="inner-col"> <header class="title-block"> <span class="title" id="my-website">My Website</span> </header> I'm Phoenix! I'm an agency-maximizing consequentialist and a software engineer. I like peer-to-peer systems. More generally, I like attempts to hack a better world into existence by prefiguring robust, permissionless interconnectivity within the cracks of the present. I also like Minecraft, and I'm working on creating an open source reimplementation of Minecraft beta 1.0.2. </section> <br class="clear"/> <section class="inner-col"> <header class="title-block"> <span class="title" id="not-minecraft-beta-1.0.2">Not Minecraft Beta 1.0.2</span> </header> <p> <a href="/hubs/notminecraftbeta102"><i>Not Minecraft Beta 1.0.2</i></a> is a project to create a feature-complete open source reimplementation of the first version of Minecraft beta in Rust, complete with many optimizations and generalizations and very strong multiplayer engine that does several forms of client-side prediction. </p> <div class="img-break-3uh-block"> <img src="/images/notminecraftbeta102.png" class="img-break-inner img-pretty" alt= "image description: screenshot of minecraft-like game. it has a wavy field of grass blocks and a HUD. the hand model is currently a photograph of my IRL hand, LOL. I have built a smiley face out of glass blocks." /> </div> <p> The multiplayer protocol is currently built on top of web-sockets, although there are plans to introduce and take advantage of the distinct features of <a href="https://docs.rs/quinn/latest/quinn/">QUIC</a> as an alternate transport in the future, as well as to introduce a trust-on-first-use cryptographic identity system, as well as to take advantage of peer-to-peer hole-punching to reduce client-to-client player action latency where possible. Eventually, I have ideas on how to support sharding the world between multiple servers. </p> <p> The <a href="https://gitlab.com/gretchenfrage/notminecraft/-/blob/main/handbook/graphics.pdf?ref_type=heads">graphics system</a> is built over <a href="https://wgpu.rs/">WebGPU</a> and supports both 3D and 2D rendering, TrueType fonts, and in-place-patchable meshes. There is also a <a href="https://gitlab.com/gretchenfrage/notminecraft/-/blob/main/packages/minecraft/src/gui/mod.rs?ref_type=heads">GUI sizing and layout layer</a> built on top of the graphics layer which uses Rust's type system to statically check that the cause/effect flow direction of layout constraints is consistent between directly nested components, and which is actually able to operate with almost no dynamic dispatch or heap allocation, but rather by fusing all GUI logic at compile-time to a monad-like monomorphized blob. </p> <p> <a href="/hubs/notminecraftbeta102"> Check it out so far! </a> </p> </section> <br class="clear"/> <section class="inner-col"> <header class="title-block"> <span class="title" id="repnet">Repnet</span> </header> <p> Repnet is a fundamentally different take on currency. Both dollar-style and bitcoin-style currencies see currency as tokens people own. For <a href="https://arxiv.org/pdf/2012.00472.pdf">distributed systems theory reasons</a> this means they both rely on the imposition of an objective view on economic ownership. This is a form of centralization, and produces problematic effects and centralized management. Repnet instead sees currency as relationships between people, like a graph of directed springs representing trust and promises, oscillating and breathing back and forth as economic activity occurs, through which automated chains of arbitrage can facilitate large-scale indirect reciprocity. This is more decentralized because it can more gracefully cope with partial disagreements, which is conducive to many nice properties. </p> <div class="img-break-3uh-block"> <img src="/images/repnet.png"