The web is a front-end environment, where users expect 60fps, but where developers violate pretty much all the rules.
> Zero-copy is the default, not the optimization:
the amount of fluffy mapping, destructuring, temp scope-creation, ... that is the norm now for JS/TS devs is excruciating. how did this become the norm? do it once it doesnt matter, but every single layer in the app doing this and things become jittery. you first take the hit at creation time, and then another time at GC. stop doing that! Pass references around to objects, not recreate them each time at some function boundary.
> Entity as pure identity.
Stop json.stringifiyng every thing! how many hashThing() implementations i have seen that are essentially Json.stringify. stop it!
> Cache locality by default.
a little less clear for web dev, much is missing in terms of primitives. but do think about it. if anything, it's good hygiene. fixed typed array does make sense, dont mix&match types in your array, ...
Well, it's certainly not going to get better given that most of new Web code is by now probably written by LLMs. Which definitely aren't trained to write performance-oriented JS/TS.
You forgot dynamic property creation/lookup instead of using a constant "shape" that JS engines can actually JIT optimize away.
And then there's the more detailed version of that where people write {x: 0, y: 1} in one spot and {y: 1, x: 0} in another and do not seem to realize that this under the hood they just sabotaged the ability of every JS engine out there to fully optimize any code related to it. Which also extends to situations where functions take objects that happen to share some properties as parameters: if you can put the shared properties first and in the same order in the object creation, it will result in better optimized functions.
(but tbh I think that as long as we don't fix the bloat that is tracking libraries first, all of this is optimizing the wrong thing)
> Pass references around to objects, not recreate them each time at some function boundary.
Non-primitives are always pass-by-reference. There's no mechanism to pass a non-primitive by value except edge-cases like giving ownership of a buffer to another process.
> destructuring
What about it? What backs the assumption that destructuring is inherently worse than dot and/or bracket syntax? Is there a behavior you think is unique to destructuring? Or maybe a specific report from one engine years ago?
> Is there a behavior you think is unique to destructuring?
depending on exact syntax, will collect values in another array or object. it's often used as the mirror-pattern of using named variables, which allocates an object for each function call.
in isolation these are not inherently wrong, at scale they start to add up. and should not be used in tight loops.
wrt (2) that is if satoshi had the foresight btc would ever blow up in the way it did. obviously, he had some intuition, remaining anonymous, but deliberately creating a fake trail does not seem super plausible to me
Yeah, didn't people used to make like $10/week as the median wage at the turn of the 20th century? I agree that we have big problems now, but I feel like this analysis is deeply flawed without the inclusion of wage data.
Wage data, population growth, overall consumption, credit (and guarantees against it) are all drivers of inflation.
Look at student loans vs the cost of college:
1958: Federal program to encourage science and engineering.
1976: Remove restrictions on bankruptcy dismissal of this debt.
2005: Same rules for private loans.
Today college has a (as someone here so eloquently put it) a cruise ship ascetic, and has far more "administration" than "eduction" in terms of raw staff.
Tv went from an expensive box (fixed cost) to cable (monthly fee) to on demand programing (several monthly fees, and with ad's).
A phone used to be a single item in your house with a monthly fee. It was an item so durable that you could beat a robber with it and still call the police (see old att, black rotary phone). Now its an item per person in a household, that you can easily loose, might break if you drop it, and costs any where from 200 to 1500 dollars.
None of this is inflation in the traditional sense, but it does impact the velocity of all money in the system, and puts pressure on individual spending in a way that isnt even accounted for in this chart.
it's very expensive though. i used to live in philly close to 30th and had a reason to go up to nyc regularly close to penn, essentially perfect for taking amtrak, but ended up taking boltbus just because the price difference was very significant and time wise it was only like 30-45min slower.
Pro tip for those who like risk and are traveling regularly for non timely purposes they have dynamic pricing that rewards literal last 5m. I do Amtrak for like $15-40 NYC-PHL. You have to be signed in to the app otherwise they won't give you the sweetheart deal. Refresh reguarly the price changes constantly in the last 3-4h though I'll typically rock up to Penn and buy one 10m before.
Not really. Jupiter alone is good enough. Its huge mass accounts for almost all of the gain you get from any such slingshot. Launch windows from Jupiter to anywhere occur every 12 years. Voyager's alignment was captivating, but realistically if it hadn't happened, we would have just done separate Jupiter-Uranus and Jupiter-Neptune missions instead.
It’s definitely a use case for this and would’ve saved a lot of pain IMO but also seems like it would have added confusing technology to what was a VERY Python-heavy stack that would’ve benefitted from other elements.
Hardest part is always figuring out your company’s knowledge management has been dogsh!t for years so now you need to either throw most of it away or stick to the authoritative stuff somehow.
Elastic plus an agent with MCP may have worked as a prototype very quickly here, but hosting costs for 500GB worth of indexes sounds too expensive for this person’s use case if $185 is a lot.
The old joke Zawinski made about picking regex "and now you have two problems" applies here.
If you pick Elasticsearch, useful as it is, you now have more than two problems. You have Elastic the company; Elasticsearch the tool; and also the clay-footed colossus, Java, to contend with.
i rolled into tech because of archeology. started using GIS for site mapping and need for customization just got me going. ended up going to school again for compsci.
generally, students from other departments are writing the code, but current day most archaeologists can work with ready-made packages (model builders etc..) now too.
Agreed, unfortunately. The amount of people that actually care about the national debt is near zero in reality, despite many stating otherwise.
When their party of choice comes into power, it's always "spend, spend, spend" - how else do you do all the things you want to do while in power? Then the table turns and they pretend to care while the other party takes a turn.
Round and round we go, deeper and deeper in debt, spending like a there's no tomorrow.
This is only possible because the taxation is obfuscated through debt or inflation, both of which effectively are a tax but a less obvious one allowing duping of the populace.
We don't need a new party necessarily, just a constitutional amendment that the government can only spend money from direct tax proceeds, with no pre-emptive withholding.
You should tax behaviours you want to disincentivise.
Taxing smoking, cars and sugar are great (but not always popular) ideas.
Taxing second homes, property ownership for companies, foreign owned property, and so on is much more important than taxing unrealised wealth, inheritance or capital gains and income.
Wealthy people find loopholes, and so you end up taxing the middle class and limiting social mobility with those initiatives.
We should figure out what they do with their wealth that makes it worthwhile amassing so much, then tax that.
EDIT: sorry, I should have echo’d the chamber instead of thinking about a situation critically.
The wealthy find loopholes because they are often the people having the legislation drafted. It’s actually not hard to pass clear solid tax laws. It’s only hard to get it passed.
Anything you can think of to make wealthy people cease to exist is easily bypassed, so the best way is to find ways to tax behaviour instead.
The point of money is how you use it, if you have a 50,000x tax on super yacts and private aircraft, then the ultra rich are forced to pay your tax or try skirting around it by using smaller boats or coalescing their private jets into a private airline.
But if you tax stocks, then people will invest in other ways. If you tax individuals owning large property then they’ll move their property ownership into a company, if you tax inheritance then they’ll put the money into a fund instead which has debts that will be written off in time. All kinds of fancy tricky accounting.
The other solution is to tax everyone on unrealised gains, which makes every home owner (including pensioners) suddenly liable for huge ongoing bills.
Elon himself for example is pretty cash poor, but owns a lot of stock in a “high value” company meaning his wealth on paper is pretty extreme. He takes on debt (which has no income tax) and then pays it off with stocks, where it also avoids being taxed as its never realised.
I think its a harder problem than you give it credit.
How would it work if we treated money obtained by borrowing against stock holdings as "realized gains"? That seems like a loophole that could be closed.
Well nothing, I think what is being proposed is to trigger existing capital gains taxes when an asset is borrowed against, the same as if it were sold. Most places exempt personal homes from capital gains taxes already, so it wouldn’t affect them. It would affect
- someone who bought an investment property, which then appreciated, and then they wanted to take out a larger mortgage against the appreciated value to leverage it into buying another property.
- Someone borrowing against stock to avoid realising gains by selling it
Thank you. Yes, that's precisely what I mean. I've floated the same idea a few times on this forum and others. I've asked, but have yet to see someone point out a systemic downside. (I'm not any kind of financial sophisticate, so I'm well aware that I might be missing something!) In fact, it seems to me that having people finance their lifestyles by borrowing against assets adds a degree of leverage risk to the system, and ought to be discouraged just on that basis.
Tax the rich all you want, you won't raise enough money to balance the budget, let alone pay for all the additional spending that Sanders et al. wants.
how so? Alupis explains the mechanism why not. In two party system, new electives are incentivized to achieve their program. Reducing spending hinders that, and loss of those voters who care about that betrayal doesn't really matter because they're a tiny group anyway, and realistically, where are they going to go, the other party? They have the same incentive, just for different program. That's the cycle.
Sure but the bigger debt gets, and the more negative impact it has on the population, the bigger that group gets. It’s not big enough yet but that doesn't mean it can’t be. We’ve seen such tipping points with other issues.
> Zero-copy is the default, not the optimization:
the amount of fluffy mapping, destructuring, temp scope-creation, ... that is the norm now for JS/TS devs is excruciating. how did this become the norm? do it once it doesnt matter, but every single layer in the app doing this and things become jittery. you first take the hit at creation time, and then another time at GC. stop doing that! Pass references around to objects, not recreate them each time at some function boundary.
> Entity as pure identity.
Stop json.stringifiyng every thing! how many hashThing() implementations i have seen that are essentially Json.stringify. stop it!
> Cache locality by default.
a little less clear for web dev, much is missing in terms of primitives. but do think about it. if anything, it's good hygiene. fixed typed array does make sense, dont mix&match types in your array, ...
Save the web, think like a videogame dev!
reply