304 karma · joined April 24, 2018
We're talking about Princeton, here. Trust among elites remains persistently high. In fact, it's likely higher than ever due to assortative mating & geographic sorting. Elites, even students in the Ivies, still have trust of government and elite institutions, which the elite stratum itself runs. Trust between elites and lower strata has declined, where elites and middle- and lower-classes have significant mistrust between each other, and the latter have lower trust within their own strata than in the past.
What's more likely IMO is that 1) the cost of cheating (i.e. the cost of assembling a ripped off assignment multiplied by the risk of being caught) has declined precipitously due to LLMs and 2) elite institutions remain the most ruthlessly competitive in the country and even the world.
That seems like a fair trade considering the freelancer takes on none of the risk and has very little required capital.
Now I can actually get beyond conceptual misunderstanding or even ignorance and get to practice, which is how skills actually develop, in a much more streamlined way.
The key is to use the tool with discipline, by going into it with a few inviolable rules. I have a couple in my list, now: embrace Popperian falsifiability; embrace Bertrand Russell's statement: “Everything is vague to a degree you do not realize till you have tried to make it precise.”
LLMs have become excellent teachers for me as a result.
In principle, MCP servers can be created for just about any OAuth-protected API. However, you still need to create the server, and this is where the usage I'm talking about shines: when working on the MCP server, an LLM can be quite helpful in getting the right APIs integrated.
The same goes for other development that doesn't need an LLM context built-in. If I wanted to sync two calendars, for instance, I wouldn't build an MCP that speaks CalDav and Exchange and then let it loose (though this so-called agentic workflow is becoming more popular); I'd want to build software with an LLM's help that can speak both protocols by having it generate code to handle whatever OAuth tokens and scopes are necessary and then help me deploy the thing.
I spend the other time talking through my thoughts with AI, kind of like the proverbial rubber duck used for debugging, but it tends to give pretty thoughtful responses. In those cases, I'm writing less code but wanting to capture the invariants, expected failure modes and find leaky abstractions before they happen. Then I can write code or give it good instructions about what I want to see, and it makes it happen.
I'm honestly not sure how a non-practitioner could have these kinds of conversations beyond a certain level of complexity.
I chose my words carefully so as not to imply "rugged individualism" was the solution. I mean I even explicitly invoked "families" as an institution greater than the individual. And I used the word "control" rather than "earned" or something.
Weirdly, "rugged individualism" is kind of why American healthcare is so bad: we tie it to employment for those under age 65. Before the ACA, this was simply because healthcare is exempt from income tax; with the ACA, it's literally mandated. In order to get health insurance, you need to pull yourself up by the bootstraps and get a job OR pull yourself up by the bootstraps and pay extremely high premiums.
Disentangling healthcare from employment and allowing for other institutions like churches or schools to play a part in helping fund it would do a lot. And for the truly catastrophic conditions like cancer, we should just have a universal policy that kicks in.
However, that isn't enough. US healthcare is wildly inefficient because the paying customer is different than the serves customer. This has been known for sixty years, since Arrow published his paper (he identified four reasons, three of which are not exclusive to healthcare and seem to be mitigated well in other industries). I'm surprised people posting can't quite see this: when you go to the doctor, would you call the experience efficient? You check in, then wait, then are called back, tell the nurse or PA why you're there, wait, see the provider who asks you again why you're there, has a short exam, wait, finally get all the paperwork and sign out.
If you have labs or tests, you then wait again. And of course if you need a specialist, you wait again, sometimes for months. If you need any sort of "specialty" medication or equipment, then you REALLY wait, as specialty pharmacies, DMEs and the like jump in.
The whole system is woefully inefficient, and overhead is only a part of the explanation. No one knows what anything costs, and the people who pay (insurance providers, the largest of which is the US Government) want to believe they're not getting scammed - they still are, but at an acceptable level.
The question we ought to ask is how we can buy better health outcomes for people. And I think part of the answer is that in most cases, individuals and families themselves must allocate resources they control to make this happen.
Have a lot of applications to send out? Subscribe to us monthly for $34.99/mo (billed annually).
Keep iterating! Drag-n-drop is good on desktop, but I disprefer it for mobile.
MBSs tend to remind people of '08 when MBSs lost value because too many had a bunch of garbage loans which defaulted, causing MBSs' face values to decrease. In this case, the fact that they were MBSs is mostly a coincidence. If SVB had invested in Treasuries, they'd be in the same world of hurt that they're in today.
This isn't really an over-simplification as it is wrong. When someone deposits $1m in the bank, the bank's assets increase by $1m in cash, while liabilities also increase by $1m and owners' equity is unaffected. The problem is that for interest-bearing deposit accounts, those liabilities increase over time, which decreases owners' equity in the absence of a sufficiently appreciating asset (such as a good loan or cash flow-generating security). Further, the bank has certain operational costs that must be paid, and investors must make some return or they'll pull capital from the bank (that's a simplification for publicly traded banks like SVB). In practice, it seems that banks need about 3 percentage points above the interest rate they pay on deposits to cover these costs, based on the typical spread between the Prime rate and the Federal Funds rate, though I imagine this necessary yield has a much higher variance for smaller banks.
When interest rates were effectively zero and their deposits increased by a huge amount, SVB decided to buy long-term bonds w/ 1.5% interest to cover the extra liability over time so that assets would grow with liabilities. Then interest rates went up. Cash assets stopped growing, but liabilities remained the same, so they started selling their bonds. Bonds lose value when interest rates increase, so their bonds sold for a loss, decreasing asset values. In the last 48 hours, depositors got spooked. SVB's equity effectively went negative, since asset values decreased below outstanding liabilities. That's typically when the FDIC steps in to liquidate a bank.
For banks, assets must in general be growing faster than liabilities. If the bank experiences a situation where assets are not growing relative to liabilities, they need to have sufficient capitalization (i.e. owners' equity) to weather the storm.
A friend of mine created Preserves[0] in part to resolve this problem. I'd encourage everyone to check it out. To be fair, he's also quite pro-Dhall and Nix.
I use this tactic with my kids when they do something wrong. Occasionally I slip up and really lay into them, but almost all of the time these days I tell them that I love them, I think they are capable of doing the right thing, but I didn't love some action they did or didn't do and I explain why. They may not be happy with this always, or with the natural (& parent-imposed) consequences of their actions, but it reinforces that they have a choice to do good in the future even if they slip up from time to time. If all of us were immutably identified by the worst thing we ever did, no one would have any incentive to change.
Thanks for the thoughtful & insightful comment, dang.
If anyone wants to really understand what's going on, I'd recommend looking at preserves[0], a serialization format Tony and some others have been working on. Preserves is a superset of JSON with actual semantics, a schema language and a binary representation. Syndicate, syndicate-server and synit all follow protocols defined in preserves schema, and so those are a good hook into learning how this system works.
Synit itself is impressive. With nearly trivial effort, I was able to get a web server running as a daemon, and verified that it was resilient to my repeated `killall`s.[1] I simply replaced the `"echo httpd"` with `"python -m http.server"` and then started `syndicate-server -c ./boot` inside the `experiments/layered-server-config/` directory. This example is actually overkill for my use case (a replacement for supervisord), but is simple enough that it can show how Synit works without much clutter.
Congratulations, Tony!
[1] https://git.syndicate-lang.org/synit/synit/src/branch/main/e...
A friend of mine is working on Syndicate[0], and I find it interesting. Not really an OS metaphor; more like distributed, polyglot actors with shared memory secured via capabilities. I think of it sort of like the OSI model's missing session layer.
Also, if I were proposing a distributed system to my boss, I'd probably prefer a reference to "Syndicate" over "Cthulu."
Dan did a demo of a related language to Nile at Oracle Open World in September 2019. (Full disclosure: I worked on the demo.) I would predict that more information will be forthcoming about Nile this year.
[1] https://groups.google.com/g/maru-dev
[2] https://www.oracle.com/openworld/on-demand.html?bcid=6092429...