An API that uses JSON isn't "Stringly Typed". An API that lacks any validation on the JSON you pass to it is. Under their definition, nearly everything is stringly typed if if passes a system boundry, because serialization transforms everything into a string - Sometimes a byte string, sure, but you end up with transport-neutral single object whose interpretation is understood by metadata, and that's a good thing, because you don't need to waste time interpreting it at every layer it passes through.
The modern advice to "Use a serialization library" is actually encoding several hard pieces of learning into one. There was a time when save files for most games were just memory dumps of large sections of memory. You dumped raw C-objects, including pointers to other objects, directly. You ended up with a tangled mess of references, but it was simple to write code for, cheap to write to disk, cheap to read from disk, and easy to break. Basically every update to a game broke all of the save files, because the most minor of tweaks could change the object layout generated by the compiler. The first change was to put magic strings at the beginning to inform the version - So at least you displayed an error message rather that executing some unexpected part of the save file as code.
This lesson was hard learned as we entered the networked age, where you couldn't trust the incoming messages weren't malicious - And you certainly couldn't trust, with all of the terribly-behaving middleware, that they were well-formed. Writing serialization/deserialization code is not hard, but it's annoyingly rote, and you would need it for dozens upon dozens of classes. So instead we switched to standardized libraries for serialization and deserialization.
Java and Python both had serialization libraries where whole objects could be serialized - Along with everything they referenced. This lead to massive security holes, because it was easy for them to take a huge chunk of working memory with them, because circular references to root objects allowed them to grab parts of other operations, or even application secrets. Python was worse, as the pickle library allowed serializing whole bytecode; Meaning every load was an arbitrary code execution.
Modern serialization libraries have come to a compromise. They serialize data only in primitives. You have to rebuild the tangled web of cross object references yourself. This often sucks, but it's far better than the alternatives we've found.
GraphQL is popular for precisely this reason. You can avoid most of the serialization and deserialization steps and query what you want directly, allowing you to access deeply-linked properties of deeply linked objects without the expensive round trips and security barriers being checked and rechecked; But the expressiveness comes at a distinct cost in terms of getting those barriers on the server side really right, because the default allow permissions make it easy to leak.
> I handle deploy time dynamic variables with `sed`
I brought up envsubst because it’s a simpler, cleaner, and often overlooked option for variable substitution.
> Not that I haven't had the need, I've use jsonnet with libk8s at scale. But if you're asking the question this simply, you probably don't need it
In my view, Jsonnet isn’t an improvement - it’s complicated to learn, cumbersome to use, and prone to mistakes.
That said, if an organization decides to adopt any specific tool, I believe consistency in tooling, design, and practices is more important than the tool itself.
I am a Site Reliability Engineer (SRE), Google Style, with experience at both large and small organizations. I can help you build a Platform Engineering practice from the very beginning. I'm looking to help small dev teams increase their velocity by implementing best-practices of Devops: CI/CD, Kubernetes Deployments, and effective Monitoring frameworks.
AOC was an intern for Ted Kennedy before being strategically placed in a "bartending" position as part of her background grooming. Her family owned multiple New York Brownstones in the rich part of the city. She has as much claim to humble background as Trump.
Source for any of those claims? It's pretty well known after a few weird political fights that she grew up in a tiny house in Yorktown and that her dad died when she was a freshman in college and that her mom was a house cleaner. [her childhood home: https://pbs.twimg.com/media/DhCMERUXUAAY68Z?format=jpg&name=...]. Hard to square with her family "owning multiple brownstones".
Trump's dad gave him millions of dollars to start businesses and then left him somewhere near a billion when he died.
I think those are two pretty different upbringings!
> https://ocasio-cortez.house.gov/about
>
> After high school, Alexandria attended Boston University, and graduated with degrees in Economics and International Relations (and tens of thousands of dollars in student loans). During this period she also had the opportunity to intern in the office of the late Senator Ted Kennedy.
She was indeed a congressional intern, but then her father died and family finances got rough, and a year later Ted Kennedy died (August 25, 2009) so she lost the job in his office.
> Following the financial crisis of 2008, tragedy struck when her father passed away suddenly from cancer. The medical bills and other growing expenses placed their home at risk of foreclosure. Alexandria pulled extra shifts to work as a waitress and bartender to support her family,
Her father seems to have been in the business of home remodeling and renovations. I haven't found any source for "owned multiple brownstones", but a little bit of house-flipping or some rental properties wouldn't be weird to see in that kind of business. Being a landlord with a mortgage doesn't necessarily mean huge wealth, and it it's easy to believe a combination of cancer treatment bills/being unable to work/2008 housing crisis could take a situation like that from comfortable to house-poor to foreclosure on upside-down loans in an awful hurry.
Right - the rest is pretty much nonsense. She grew up in a 2-bedroom house and went to the ~4th best school in Boston and we're supposed to believe she's some long con plant? Just silly.
Looking into this she seems to come from an upper-middle-class background but nothing elite. I will say before looking it up for some reason I had the impression that she came from a very humble working-class immigrant background.
The actual land records that prove this are impossible to link, for reasons that are charitably described as "Monstrous incompetence of government officials".
None of which mentions brownstones or growing up wealthy.. the land records are accurate but she’s renting the spaces so her landlords name is on ACRIS.
Nothing in this article talks about her family owning multiple brownstones. At all. Nothing about land records.
This article talks about her dad's Bronx condo that she lived in, or claimed to live in. No offense to the people of the Bronx, but that is not a "rich" part of NYC. Units for sale in the building mentioned are rather cheap for NYC, in fact.
I've been saying for a while that "Religion is a social technology". Thou Shalt Not Kill is not as universal a moral as you'd like to believe, and the other commandments are also good life advice. Even "Thou shalt have no other gods before me" serves an important purpose in keeping everyone on the same page.
Nearly every culture has a tradition of parables; Tales that reveal important truths by metaphor. Whether they be about how to interact with others, how to motivate and treat yourself, or of outside dangers.
Religion serves an important teaching purpose. Most have converged a lot; There's a lot of truths that are universal. Still, they're not all created equal. You probably shouldn't hate someone just because of their religion... Unless they're part of a death cult.
Yet pre Christian societies in Europe were arguably significantly more brutal. Establishing at least some basic principals of universal equality was a big deal (something modern atheists inherited directly from Christianity)
e.g. even amongst the civilized Greeks and and Romans foreigners who had no legal ties to their city states (some form of citizenship or diplomatic treaties with their home city) were basically treated as subhuman and could be enslaved and murdered with little to no repercussions.
Universalist religions extended that to vast geographic areas and established some basic shared principles and trust between strangers e.g. in the middle ages somebody from Scandinavia could travel to Rome on their own with relatively (of course still significant) little risk of being robbed, enslaved or murdered while being able to rely on hospitality from complete strangers/foreigners during his trip.
Of course the Romans already had something similar by the 100s AD (non citizens and slaves were of course excluded) but political systems are much more fragile than religions.
We ran the experiment the ussr and china where thoroughly atheistified and decultured. And the results are in. Both societies are thoroughly amoral and horrifying. There are murderous religions, but christianity got tamed pretty well.And i say that and i hate the jesuszombies with a passion.
Your drone makes a loud buzzing sound, and blocks the street for anyone else trying to get in, and does not move on its own. This is where it escalates from "Taking advantage of public information" to "Harassment".
Crawling source hut once is public information. Crawling it once a day using deltas might still be that. What these AI companies are doing is not that.
I loved the Endless Eight, personally, but I watched them one a day after the event was over. Having read the LNs, I knew what was coming as soon as I got a whiff from the internet of the first episode, so I just held off, waited until it was over, and enjoyed.
The modern advice to "Use a serialization library" is actually encoding several hard pieces of learning into one. There was a time when save files for most games were just memory dumps of large sections of memory. You dumped raw C-objects, including pointers to other objects, directly. You ended up with a tangled mess of references, but it was simple to write code for, cheap to write to disk, cheap to read from disk, and easy to break. Basically every update to a game broke all of the save files, because the most minor of tweaks could change the object layout generated by the compiler. The first change was to put magic strings at the beginning to inform the version - So at least you displayed an error message rather that executing some unexpected part of the save file as code.
This lesson was hard learned as we entered the networked age, where you couldn't trust the incoming messages weren't malicious - And you certainly couldn't trust, with all of the terribly-behaving middleware, that they were well-formed. Writing serialization/deserialization code is not hard, but it's annoyingly rote, and you would need it for dozens upon dozens of classes. So instead we switched to standardized libraries for serialization and deserialization.
Java and Python both had serialization libraries where whole objects could be serialized - Along with everything they referenced. This lead to massive security holes, because it was easy for them to take a huge chunk of working memory with them, because circular references to root objects allowed them to grab parts of other operations, or even application secrets. Python was worse, as the pickle library allowed serializing whole bytecode; Meaning every load was an arbitrary code execution.
Modern serialization libraries have come to a compromise. They serialize data only in primitives. You have to rebuild the tangled web of cross object references yourself. This often sucks, but it's far better than the alternatives we've found.
GraphQL is popular for precisely this reason. You can avoid most of the serialization and deserialization steps and query what you want directly, allowing you to access deeply-linked properties of deeply linked objects without the expensive round trips and security barriers being checked and rechecked; But the expressiveness comes at a distinct cost in terms of getting those barriers on the server side really right, because the default allow permissions make it easy to leak.
reply