skysight-inc/HackerNews huggingface dataset:
Excel is an ancient and complex beast. I get the appeal of building this project---it sounds fun---but trying to duplicate the Excel engine to the level of producing identical outputs is, frankly, bonkers. The author caught the one discrepancy they noticed, circular reference handling, but how many did they miss? How do they know different inputs won't cause it to deviate from Excel? I didn't get the sense from the blog post that this had extensive test coverage. Putting it into use for a business-critical financial calculation is a massive risk, but I guess that's how Uber rolls ¯\_(ツ)_/¯

It would have been less fun but way, way less risky to wire a headless Excel up to a javascript front-end.
Huh, thought this was about people on the right trying to ban books over "sexual degeneracy" or whatever, instead its people on the left trying to ban books over "equity".

Man librarians just can't catch a break
If and when you do, I hope you'll write about it and post it to HN!
The problem is not debugging the type error, the problem - as in this article - is not detecting it in the first place.
Fair point. Were oreos always palm oil or were they lard back in the day?

The fracking industry has made guar gum too expensive to use as a food emulsifier. I know someone who reacts to xanthan gum (which has all but replaced guar) and she's not a happy camper, because it's in fucking everything.
That story just doesn't seem plausible. Maybe for Box, but it feels like a stretch, and definitely not for Uber.
https://github.com/whitead/paper-qa

>This is a minimal package for doing question and answering from PDFs or text files (which can be raw HTML). It strives to give very good answers, with no hallucinations, by grounding responses with in-text citations.
so you mean the solution to that would be mandatory voting?
The Gracchi Brothers: Ancient Socialists?
"Easily, but there's a big scary warning that the person asking you to do this might be trying to hack you" is still "easily". That obviously seems more consumer friendly than either extreme.
The vocal anti-gay conservative

The social media poster who has GOT to get the rolex in frame every time

The anti-cheat professor forging their own results

The bragging sexual conquestor

Isn't it funny how people reveal themselves so easily, @junek
It sounds like you take issue with this simulation? It applies heavily academic and simplistic rules around behavior. I like build up of it all to illustrate _simulating things_, but I think almost any traditional economics theory outside behavioral economics ought to be shelved for good.
What about iodine?
Simple mobile tools shows its definitely possible [0]. Simple gallery pro has 110k reviews, for example.

>You have a better chance of winning a lottery, happens every day.

Agreed here, though.

[0] https://www.simplemobiletools.com/
Doesn't that lead to model collapse?
The Other 9/11: Salvador Allende and Chile
> but enshitification by slowly decreasing the quality of the ingredients is also a problem.

Every time you see a package with “new and improved recipe” you can bet it only improved their margins by using cheaper ingredients, not the actual taste.
Ask HN: What development related stuff do you pay for?
Me:

* OpenAI
* Jetbrains PyCharm
* Jetbrains Clion
* AWS Route53
* Ionos cloud hosting
* Cloudflare DNS
* Cloudflare R2
* Cloudflare Workers
The R2D2 bird
I was looking at yearly revenue and I assumed you were talking about yearly revenue as well, point taken.
I literally cited a scientific study as my final link.

But given that you think people who like cats are "toxo+ cat lunatics," I think there's no productivity in this exchange. You clearly have some really strong biases, and you've made clear what I was already inferring from your comments - you won't agree with anything that doesn't support your incorrect viewpoint.
> The any type was a mistake and never should have been included in TypeScript in the first place.

Disagree. `any` is important for incremental adoption, not having it would just make it harder to introduce type-safety to a codebase.
They lost hundreds of thousands of dollars on an issue that was in production for several days. On the one and only feature generating revenue: showing ads.

No unit testing, no integration testing (as was admitted) and no production sanity test at all. I guess the accountant was asleep at the wheel as well.

You have bigger issues than strong types.
They do different things. Static types can be used to make sure the runtime checks have been done.

I haven't heard about Typescript having any plans to generate runtime checks.
You can infer types from Zod and also generate Zod objects from typescript. Personally I prefer the latter.
How Sure Are You
Unreal has had much more favourable license terms since ue4 in 2014, which is before Fortnite and the Store. To the best of my knowledge, unreals terms have always been "good", which is one of the reasons it's so popular.
I think your second point is largely correct, but one of the big problems it exposes is that a big chunk of execs and even employees don’t / don’t want to think much before talking. I’ve experienced many people who appear to make careers off of shooting from the hip, who will never respond to text based communication that is longer than one, maybe two sentences or maybe even not at all.
This was never suppose to give you a new phone after 2 years. It was just a way to finance the phone. The way to upgrade was to get a new Pixel Pass that would lock you in another 2 years.
Sure, but the point is, a halfway decent type system will eliminate whole classes of errors—consequently eliminating whole swaths of things you would ever need to write tests for.

What's more, though, is that a good type system will help you 'Make Impossible States Impossible'[0]—even more behavior you don't have to test because bad behavior is simply not representable in your program.

Tests are strictly more powerful in the small, because they can be arbitrarily complex, but I would say a (really good) type system is more powerful in the large, because you get way more leverage in terms of overall program correctness.

A lot of my personal projects are in Elm (yeah, yeah, bring on the hate)—the models are really well-defined, but the test suites usually only have a handful of tests of behavior I really want to verify. Haven't even played with the property checker yet, but again, that's something that is strictly more powerful than unit tests, but you can only get it* if you have a type system.

[0] https://www.youtube.com/watch?v=IcgmSRJHu_8

* Okay that's not really true: see clojure.spec in Clojure—but there are so few counterexamples that it's true for most practical purposes
MONIAC was also featured/satirized in the Terry Pratchett book "Making Money":

__________________

> "Mr. Hubert believes that this... device is a sort of crystal ball for showing the future," said Bent, and rolled his eyes.

> "Possible futures. Would Mr Lipstick like to see it in operation?" said Hubert, vibrating with enthusiasm and eagerness. Only a man with a heart of stone would have said no, so Moist made a wonderful attempt at indicating that all his dreams were coming true.

> "I'd love to," he said, "but what does it actually do?"

> Too late, he saw the signs. Hubert grasped the lapels of his jacket, as if addressing a meeting, and swelled with the urge to communicate, or at least talk at length in the belief that it was the same thing.

> "The Glooper, as it is affectionately known, is what I call a quote analogy machine unquote. It solves problems not by considering them as a numerical exercise but by actually duplicating them in a form we can manipulate: in this case, the flow of money and its effects within our society become water flowing through a glass matrix--the Glooper. The geometrical shape of certain vessels, the operation of valves and, although I say so myself, ingenious tipping buckets and flow-rate propellers enable the Glooper to simulate quite complex transactions. We can change the starting conditions, too, to learn the rules inherent in the system. For example, we can find out what happens if you halve the labour force in the city by the adjustment of a few valves, rather than by going out into the streets and killing people."

> "A big improvement! Bravo!" said Moist desperately, and started to clap.
It's pretty unreal that the only real choice for the web is still JS and a language that transpiles to it.
This makes me want to lrarn more about hilbert space.
I wonder if this could be used to address allergies as well.
That's true, it's misleading to say this is a mistake only junior engineers make. Perhaps the real lesson is in having the maturity to put your ego aside and reflect clearly on whether you are solving the right problem in a sustainable way before jumping into the how.
And the social pecking order, it would seem.
I see no evidence that the amazing increase in data transfer rates has increased people's happiness. That is because happiness is a measure of something else, more like how well you're using the opportunities available at the time.
Most of the typical things we turn to for security questions _could_ be easily figured out if you were the target in an attack.

I guess what I believe should happen is #3, always. This second person is more likely to spot when something is awry with the request.
Not exactly answering your question, but I'm pretty sure Geocities started it.

See the left sidebar in this wayback grab from 1996:

https://web.archive.org/web/19961022173245/http://www.geocit...

So people would use those as a starting point and customize them. Why geocities picked those dimensions? Not sure. They are in a <td> with a width of 120.
A lot of political opinions in the article.

What is the real reason that the Bush administration made the change? Back in 2007, I got curious and looked it up. The old ingredient was out of patent and manufactured for pennies each. The new product was produced by Boehringer Ingelheim Corp, a German company that back then gave mostly to Republicans.

I would be interested to know how much of the above is true. It might not have been a primary motivation, but certainly secondary reasons matter. More likely it is a “just so” narrative?
Epic is way more than 2200 people. It was 2000 people when I worked there almost 3 years ago.
Some of these are available to be borrowed from the Internet Archive. Some are free to download.
Tropico series is simple but fun.

The bulk of it is obvious Capitalism vs Communism political jokes though, so I wouldn't consider it a very serious economic simulator. But its better than most IMO.
iPhone 15 Pro with X70 modem offers up to 24% faster 5G speeds
I pay for Emacs using my time
Many Americans are in global 1%. A tenth of their income could transform world
Also the mail has access to this metadata.

The basis of using a service is that you entrust them with the care of your necessity. That they make it unable by policy not to look at the contents of your mail is a nice feature, but nor necessary, as we firstly rely on the good faith we put on the service provdider. To go ahead and request that the security measures be extended to data necessary to route communications, is of a pathological paranoic nature.

The mailman needs to know the address.

Mailmen who don't require your address to deliver may appear as competitors, but they will always be a shady second choice, because mailmen need to know your address.
they still run data centers but there is a cloud migration ongoing.
You should have kept going.

Spoiler alert: It turns out they were fulfilling a Babylonian prophecy the whole time. The whole development cycle was a complicated sacrifice to Marduk.
zod or yup gets you quite a bit of the way there in practice - when you would reach for a Typescript type, making it in zod instead is more verbose but gives that runtime layer.

But for those who actually want full-stack non-stripped runtime type reflection based on Typescript syntax alone... https://deepkit.io/ - https://deepkit.io/blog/introducing-deepkit-framework - is a really promising and cool project.

It patches the typescript compiler (which pointedly considers runtime type information out of scope) with its own type compiler that emits a bespoke bytecode that is executed in a bespoke VM to communicate runtime type information to both server and client as needed. https://docs.deepkit.io/english/runtime-types.html

And from that baseline, there are very cool things you can do like an ORM entirely based on type annotations https://docs.deepkit.io/english/database.html or strongly-typed RPCs https://docs.deepkit.io/english/rpc.html .

It's very much in the alpha stage, but it's really well thought out - there's a tremendous degree of care the developer is taking towards code cleanliness and developer experience. I'm torn between wishing this project to have a fully funded team and take the world by storm, vs. "letting them cook" so to speak and seeing the developer experience unfold organically. Either way, it's a breath of fresh air into the Typescript ecosystem!
It happens! (boy does that happen)
Sadly, it's very common. They typically ask one of the more senior engineers to assist with hiring. Earlier in my career, the managers knew how to code. Last 10 years... not so much.
Agreed. The success of TypeScript can only be explained by its direct interoperability with JavaScript. But it is also the bane of its existence.
I see type safety as akin to the “Swiss cheese” model in aviation safety. It’s creating one more barrier against accidentally crashing your application.

The thing with type safety is that systems like typescript are so easy and cheap to deploy, relative to E2E or even unit tests; it’s a small investment that pays off in multiple ways over time (quality, documentation, developer onboarding).

I really struggle to understand the sometimes vehement arguments against it.

https://en.m.wikipedia.org/wiki/Swiss_cheese_model
Perhaps this means I'd have a lot of adapting to do if I were to work at a larger organization, but my first thought was "did they test the code they wrote"? I'm not talking about automation or integration testing or any of that. I mean did you try using the thing you just built. It seems to me like it would be immediately obvious there was a problem. I could never ship something as critical as this without seeing with my own eyes that it functions as expected.
Casting and `as unknown as <type>` are just as useful, probably more so because they specify what the type _should_ be.
Do you know why they decided to host a zip file instead of just hosting the CSV and relying on HTTP compression?
That is pretty surprising. Intuitively the existing Pixel repair centres should be able to repair the Pixel Watch too. Does anyone know why that isn't the case?
Having metadata be accessible to law enforcement is a good compromise between privacy and law enforcement.
Why'd ya leave?
> After, the developer then introduces ration tickets. This is simulation #20, and I'm pretty sure it's Zimbabwe. But it's not the real world Zimbabwe, it somehow works. That is, if you're ok printing trillion dollar bills.

In a cashless society, I suspect the zimbabwe method would actually probably work. The only hangup was "Now I need to crate around boatloads of money". In a cashless society, we can just move the decimal point every so often.
"Yes, of course, you can do this, but let's not pretend there aren't trade offs."

Are there some words in the parent comment that "pretend there aren't tradeoffs". Is it that he did not include a warning about "SafetyNet". What would this "pretending" look like.

Losing access to "a bunch of apps you may care about" seems to be dependent on an assumption: that the reader cares about certain unnamed apps. Yet we cannot even name these apps. We cannot know what apps a user cares about unless the user tells us. I know Android users that do not use any apps that rely on SafetyNet.

Nor do we know what device manufacturer the reader may be dealing with. It might be one where it's relatively easy to the computer owner to have root privileges.

Perhaps we can refrain from making assumptions about readers.
I think it would have been better if the "unknown" type was available since the start. A lot of developers learned to bail out with "any" when "unknown" is really what they wanted.
TypeScript management feels very strongly about remaining fully compilable to JavaScript, with no runtime component. So likely not as a native feature, no.
we already have new frameworks and now runtimes every week, I really don't want that to carry over to the language level too
If sociology or history degrees doled out management positions the way MBAs somehow do I guarantee you they would be met with derision. It’s like making fun of politicians, it happens because they are often inappropriately given power.
I pay NameCheap for a domain name. They've been fine but I might switch for the sake of variety next time.

My main VPSes are through Oracle's free program and don't cost a dime. Rarely I'll pay for a spot instance and get it through them or AWS.

That's it, I think. I pay more for a license of Bitwig than I do cumulatively on development subscriptions.
I'm still using a 3rd gen i5 machine as my daily driver. It's only just now getting to the point that I'm thinking about upgrading. And even then, it's really only that I need more cores. Quad core just isn't cutting it for my C++ compilation.

Then again, I've been shifting a lot of my compute load onto a 10 year old dual Xeon server. It's good enough for most things
I agree, this was a basic sophmore year concept at my mechanical engineering department.
Python is that easy as well, but community tends to focus on libraries rather than frameworks. So there's rarely a splashy site other than docs and less need for evangelism.
I couldn't find the exact quote, but pornography was right there at the cutting edge of the invention of drawing, watercolor, oil painting, sound recording, still camera, video camera, tape recorder, CD, DVD, and everything on the internet and beyond. Where humans go, so goes sex.

"'Every step of the way, when there's a new technology, we explore it,' said Bunimovitz. "In the adult business, many times the traditional venues are not available to us, so we have to be innovative to get our content to the consumer."

From 2010, they looked to the future and saw...

"As for the future, Bunimovitz says he doesn't expect his industry to back away from the cutting edge of technology. He's currently intrigued with the potential of artificial intelligence, which he said one day might simulate a live porn star who could "interact" with the user."

https://www.cnn.com/2010/TECH/04/23/porn.technology/index.ht...
No, they were partially hydrogenated soybean oil back in the day.

Palm oil is thick at room temp, like partially hydrogenated oils are.
It's almost as incomprehensible as a Zen koan. I think the husband is showing the difference between talking and doing by, well, doing it. A radical way to demonstrate it.
What is the problem with criticism "mba thinking"? It's a legit complaint against the kind of naive "efficiency" analyses and measures that happen, and is completely justified. I have an MBA, I certainly don't find it offensive, I think the criticism is apt.

The usual art student tropes are more offensive because they are about people in a chosen degree being dumb (incidentally, when I did engineering all the hardcore "haha artsies are so dumb" engineers failed out after first year). That's not the same as criticizing a specific flaw in their education. If there's some big blind spot the average sociology degree leaves, that should be fair game.
How is it for CPU usage/general snappiness? Maybe I should bite the bullet too.
nice, you beat me to this gem (with a side of Lewis Carroll and Baudrillard) because I was finishing work

the lesson is, never try

edit OH and the other part is that it was staged literary forgery by "Suarez Miranda, Viajes de varones prudentes, Libro IV, Cap. XLV, Lerida, 1658." Borges overclocked the meta
I love strong types, but I disagree with the final note here:

> The `any` type was a mistake and never should have been included in TypeScript in the first place. It is disappointing to see the number of published libraries that embrace `any` types, making it difficult to verify with certainty that code is correct.

`any` is a consequence of TypeScript being JavaScript under the hood. Is `unknown` a better type to use when you're not sure what something might be? Sure, the fact that TypeScript forces you to carefully pick apart what it actually is by guiding you through the appropriate type narrowing is great. But sometimes you actually just want to write some code and sort out the types later, especially when you have a lot of interfaces that came from JS or from an only partially converted TS codebase that would otherwise be full of `as unknown as T`.

I think the only mistake here was allowing the `noImplicitAny` tsconfig option to be off by default. When TypeScript can't figure out what a type is and that setting is off, it just decides that the type is `any`. But when that setting is on, it's an error to not explicitly state the type, even if you explicitly state it's `any`! Then any usage of `any` is explicit, auditable, lintable, etc. and then it's much less of a problem to use effectively.
> (So the article is cool, it's just the headline that's too much of a "hot take" for me.)

It's one of those headlines that we'd never allow if it were an editorialization by the submitter (even if the submitter were the author, in this case), but since it's the article's own subtitle, it's ok. A bit baity but more in a whimsical than a hardened-shameless way.

(I'm sure you probably noticed this but I thought the gloss might be interesting)
>5e is the best introductory system

(To continue the sweaty nerd trend of this thread:) No, not even close. 5e is somehow both bloated and complex while being simultaneously being too constrained in what actions you can take for anyone not familiar with it, and mostly gets by via name recognition and becoming synonymous with "TTRPG" these days.

There's tons of PBTA games and similar that are much simpler for people to pick up in a single night of gaming, ones where all of your character's creation and rules fit on a total of maybe 4 pages. My current favorite is Monster of the Week, but there are lots of other good ones out there.
You’re assuming this was the only location they showed ads.

It could have been one of the many components displaying ads. And this specific component might have accounted for a small percentage of those ads.

And presumably this wasn’t the only feature deployed so any noticeable change in revenues could have been attributed to many other things before a typo in the ID would have been discovered.
https://github.com/presslabs/gitfs
The "useful work" was implied. That is, the assumption was the government was perfectly valuable to society with relation to the cost it incurred. It might've been interesting to see the government throw money at the farmers every year or so, though.
Exactly. Look at what he says:

> But how strong and reliable are your test environments to ensure that this all works correctly? How much effort, time, and money does it take to maintain full testing solutions?

Seriously? The entire company revenue depends on counting ad views and you don't have resources to make sure you're counting right? Oh, c'mon!

Strong typing has its place, but this was a bad argument in favor of it...
But the advertising tracking system is not the thing they just built. That’s the problem.

They included a tag that included information that was to be passed to that other system, to indicate that this tweet was billable.

Presumably the tag was optional, the tag was just misspelled, so everything appeared to work just fine.

It’s the downstream systems that cared about this tag and they were presumably not even running on the dev machine on which the offending code was written.

The only thing that could have prevented this was some kind of schema that would have rejected an unknown tag at build time. Hence, typescript.