1,463 karma · joined August 15, 2013
Engineer working on Urbit
phil at pcmonk.me
[ my public key: https://keybase.io/pcmonk; my proof: https://keybase.io/pcmonk/sigs/tet7bohLuwyz-BYeBElYMeFlsAYxpfAv-FLVf5l4UZg ]
- the dollar is falling compared to US living expenses (US inflation)
- the euro is falling compared to the dollar (exchange rate)
- therefore, the euro is falling faster compared to US living expenses
- but the euro is not necessarily falling faster compared to EU living expenses (EU inflation)
Indeed, EU inflation and US inflation seem to be about the same, which means that the exchange rate change is not because one or the other is experiencing more inflation.
If you had $320mm USD and needed ETH, you'd want to use an OTC desk, because the markets will feel it, even though they won't actually run out of depth. Right now the "+2% depth" (https://coinmarketcap.com/currencies/ethereum/markets/) on Coinbase, Binance, and FTX is about 5mm, and there's probably a dozen other markets with similar depth, though you'd want to execute the trades simultaneously. Decentralized exchanges have depth too; uniswap's USDC/ETH pool would let you buy $40mm for 2% slippage. All in all, you could probably get it all at about a 5% premium if you were really prepared for it.
Obviously you can scale up your security according to the value of your account and your threat model.
You're pretty much correct. lib/server.hoon doesn't "set up" the server exactly, that's built into Urbit. In general, apps communicate by sending commands ("poke") and subscribing to data ("watch"). A normal HTTP request is just a poke of type "handle-http-request". The js frontend can also subscribe to your app.
lib/server.hoon is a (mostly standard) library of helper functions that mostly convert from various internal types to HTTP responses, so they add the the HTTP response code, mimetype, octet-stream length, etc. There's also a function that wraps an HTTP response handler to redirect to the login page if they're not logged in. Most apps that have a web interface use these functions, though I think the author may have added a few more filetypes.
app/canvas.hoon, as you guessed, manages the main state of the app and syncs it to other urbits. An app's commands can be seen in +on-poke, which in this case calls +handle-canvas-action, where you can see all the different commands this app takes. For example, %join subscribes to the "canvas" app on another urbit on path /canvas/foo where "foo" is the name of the image. The rest of the commands can be traced in the same away. +process-remote-paint is the part that actually processes a new list of strokes from either another ship or the %paint poke; it updates its own state and gives updates on /canvas/foo.
app/canvas-view.hoon is the app that serves the html/cs/jss and handles browser requests. It has a similar set of pokes, and most of them are just forwarded to app/canvas.hoon, but some of them are handled directly. This is a different app from canvas.hoon to keep separate the essential logic of the app from the work needed to serve it to a browser. One could imagine writing a command-line app which used canvas.hoon, and it wouldn't need to talk to canvas-view.hoon.
I recommend trying out stuff like this on moons, so you can just throw them away if it breaks.
I never thought to ask why they're the same, but Wikipedia says "carpa" as "tent" comes from Quechua and as a fish comes from Latin.
https://www.drdobbs.com/jvm/an-algorithm-for-compressing-spa...
@dang This title is misleading.
Notably, this thread is full of people blaming SB Nation for not converting IC's to employees, which is exactly what they say they're going to do, though not everyone will end up with a job at the end of it.
Interestingly, for me (deuteranomolous) the colors I can't see often seem lighter. For example, green traffic lights appear white. I assumed this is because I can still see the light, it just doesn't get interpreted as green, but I don't know whether that's true.
The difference to me is that accelerationism says "it's bad; let's make it worse so that people will realize they need a revolution". Anti-theater says "it's bad; let's tell people know how bad it is".