skysight-inc/HackerNews huggingface dataset:
Enumerations back to integers. Enumerations can have iterators written on them that exhaustively enumerate the possible values. (Sum types either have no such enumeration at all, or in general, they're useless, so you don't see them.) Enumerations can be represented by a canonical and small set of strings, if you want a string backing them.

This is what an enumeration is, partially because that's precisely what the word "enumeration" means; the ability to assign an ordinal number to each value in the enumeration. To "enumerate" a set is to assign integers to them. In Python, for instance, see the "enumerate" function, which does exactly enumeration on the output of some iterator.

Sum types can be used to represent enumerations, but it's very restrictive subset of sum types. Trying to understand what a "sum type" is through the lens of a single integer would be a very strange way to approach them. Nor are sum types a "superset" of an enumeration; a base sum type is not an enumeration. You need to add more things to it to get an enumeration. In a Venn diagram they're the classic two cicles with some overlap in the middle but with distinct bits on each side.

I do not understand the strangely active desire some people seem to have to erase the distinction between these two things, as if some advantage will result, as if sum types will somehow become more useful than they are or as if they will somehow lose their abilities if we don't also call them enumerations. There is no advantage to smudging these two unique things together. Not saying that you are promoting this per se, the__alchemist, just that I've seen it a lot and I don't get it. It's like someone wanting to claim that database and files are really the same thing; well, sure, there's some overlap, but each does many things the other doesn't and trying to squint until they actually are the same thing is generally the exact wrong direction to go to attain understanding.

To put it another way, when adding an "enumeration" into a network protocol, you allocate some fixed number of bits to hold a given sized integer. When you add "a sum type" into a network protocol, you have a lot more work to do in general.

To put it yet another way, enumerations have meaningful implementations of a ".Next()" that a sum type really doesn't. If you have a sensible implementation of a given method on one type of thing and it's not sensible on some other thing, then clearly they can not be the same thing.

(I say multiple times that a sum types doesn't have such an implementation in this message. By that I mean that while it is trivial to have a "data Color = Red | Green | Blue | RGB Int Int Int" and implement an iterator to walk through all possible values, it is not something that is generally done for all sum types, and if the sum type also includes functions or other complex values it isn't in general possible at all in common programming languages. Again, writing an interator for "all possible functions" is perfectly theoretically possible, but in engineering terms not something anyone would actually do. All enumerations can be iterated.)
You cannot expect to get the Turing award for just creating a language that uses stuff already known and just changes the syntactic sugar.[1]

To be explicit though, this comment is spot on. As someone who was part of the original Java development group when it was called "First Person Inc", I found the language "equivalence" concept debates the most interesting. For example, is Boolean a first class type? Or is it just a one bit integer? Is integer always signed? If you have 1 bit integers, 8 bit integers, 16, 32, and 64 bit integers, why not make 1024 bit integers a type too? Why is the number of bits fixed? If you want to be super radical, is it bits in an integer or is it digits? Is the integer type (radix, digits)? At one time there were discussions about real (signed), integer (unsigned), frac (fractional) and float (split).

And then a product manager type walks in and says something like "Love the architectural purity y'all are going for here but nobody else uses all these things so let's not make something that is so complicated we'll never ship it."

The author does a good job of exploring the characteristics of "good" enums, and I think it would be even better if it was understood that if your language is going to be used to implement finite state machines (which most programming languages do) then having strong protections against injecting invalid states into those machines is essential. If the language provides a way, that is great, otherwise you end up like the author did generating 30 - 50 lines of code for something that should take 3 - 5 lines to express.

[1] This is an inside joke, IYKYK
Dune: Part Two is a pointed examination of the books' most subversive ideas
> Google has an absolute right to build a model however they want

I don’t think anyone is arguing google doesn’t have the right. The argument is that google is incompetent and stupid for creating and releasing such a poor model.
Generative AI Is Challenging a 234-Year-Old Law
Judicious JSON – Ultimate Guide to JSON
> Is this a real problem? If there's a function signature that accepts `Operation`, the caller must explicitly cast the `int` to `Operation`. At that point, it's the caller's own fault.

You would think that, but that isn't always the case: https://play.golang.com/p/Ze3pfNEVTVs

It's very easy to create an enum value that isn't actually in the defined range
Very disappointing.

Disappointing it maybe but productive it is not considering people can easily move to far better languages.
Flagler Health | Software Engineers | Remote

We’re a seed stage AI/ML start-up revolutionizing the healthcare tech space by helping physicians provide better care for their patients in MSK pain management. We dive deep into clinic data to provide meaningful insights for our clients (clinics). We’re currently scaling out our core product and need someone to handle the infrasture and backened of our live production system.

Half of our engineers are from HN!

Technology:
Frontend & Backend stack: MongoDB, Node.js, Express.js, and Vue.js.
ML & Date Engineering stack: PySpark on Databricks
Infrastructure: AWS + YOU DECIDE!

Checkout JD: AWS DevOps / SRE / Platform Engineer / Backend Software engineer: https://www.notion.so/flagler-health/Backend-Engineer-AWS-De...

--

we are also hiring Chief of Staff / Operations specialist: https://app.pallet.com/job/63d4ae1e-589b-4213-89f1-9e23a7991...
>"B. The Founding Agreement Of OpenAI, Inc.

23. Mr. Altman purported to share Mr. Musk’s concerns over the threat posed by AGI.

In 2015, Mr. Altman wrote that the “[d]evelopment of superhuman machine intelligence (SMI) is probably the greatest threat to the continued existence of humanity. There are other threats that I think are more certain to happen . . . but are unlikely to destroy every human in the universe in the
way that SMI could.” Later that same year, Mr. Altman approached Mr. Musk with a proposal: that they join forces to form a non-profit AI lab that would try to catch up to Google in the race for AGI, but it would be the opposite of Google.

24. Together with Mr. Brockman, the three agreed that this new lab: (a) would be a nonprofit developing AGI for the benefit of humanity, not for a for-profit company seeking to maximize shareholder profits; and (b) would be open-source, balancing only countervailing safety considerations, and would not keep its technology closed and secret for proprietary commercial reasons (The “Founding Agreement”). Reflecting the Founding Agreement, Mr. Musk named this new AI lab “OpenAI,” which would compete with, and serve as a vital counterbalance to,
Google/DeepMind in the race for AGI, but would do so to benefit humanity, not the shareholders of a private, for-profit company (much less one of the largest technology companies in the world).

[...]

>"C. The 2023 Breach Of The Founding Agreement

29. In 2023, Defendants Mr. Altman, Mr. Brockman, and OpenAI set the Founding
Agreement aflame.

30. In March 2023, OpenAI released its most powerful language model yet, GPT-4.
GPT-4 is not just capable of reasoning. It is better at reasoning than average humans. It scored in the 90th percentile on the Uniform Bar Exam for lawyers. It scored in the 99th percentile on the GRE Verbal Assessment. It even scored a 77% on the Advanced Sommelier examination. At this time, Mr. Altman caused OpenAI to radically depart from its original mission and historical practice of making its technology and knowledge available to the public. GPT-4’s internal design was kept and remains a complete secret except to OpenAI—and, on information and belief, Microsoft. There are no scientific publications describing the design of GPT-4. Instead, there are just press releases bragging about performance.

On information and belief,

this secrecy is primarily driven by commercial considerations, not safety."

What an interesting case!

We'll see how it turns out...

(Note that I don't think that Elon Musk or Sam Altman or Greg Brockman are "bad people" and/or "unethical actors" -- quite the opposite! Each is a luminary in their own light; in their own domains -- in their own areas of influence! I feel that men of such high and rare intelligence as all three of them are -- should be making peace amongst themselves!)

Anyway, it'll be an interesting case!

Related:

https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....

https://en.wikipedia.org/wiki/United_States_v._Microsoft_Cor....
Clickbaity title, but there were useful insights here. I was recently talking with someone who pointed to chatbots' refusal to answer sensitive queries as a proof of "lack of intelligence". I disagree strongly with this. IMO this paragraph from the article is a solid rebuttal.

> When people do talk like Gemini, it’s usually because they find themselves inhabiting a role in which they’re required to be withholding, strategic, or so careful as to become something other than themselves and other than human: a coached defendant during cross-examination, a politician navigating a hearing, a customer-service rep denying a claim at an insurance company, a press secretary trying to shut down a line of questioning. Gemini speaks in the familiar, unmistakable voice of institutional caution and self-interest.
By chunking and binning the data by user contribution count, you are structuring it as described. Pretraining is often accomplished on similar chunked text. k-anonymity is not perfect though, or state of the art, the wikipedia explains several known attacks.
It’s a poor name all around, because the spec already precisely defines boundaries of what is UB — “if this and this happens, the behavior is undefined”.

These are precisely defined situations, that in modern compilers’ interpretation, are forbidden from ever happening in any program under any circumstances.

UB is only a name for nebulous consequences of violating these very specific prohibitions.
Isn't that basically what they did?
This article seems both inaccurate and unfair. In my job hunt over the last 5 months I have been unable to get offers above 150k. Meta offered me 270k. Yeah that's below what levels.fyi says. So what?

I asked about various amendments to the offer, like a starting bonus or compensation for missing January's RSU pricing, and my recruiter gave me zero BS, she just said they couldn't do it without a competing offer. (And all of my competing offers were roughly half of Meta's, so they would only undermine my effort)

I spent 1 week in team matching before being given an hiring manager interview. He passed on me, and then about 4 days later my recruiter said they were now doing hiring "war rooms" and another manager had approved to hire me without a matching interview. Yes there was a 5 business day ultimatum, but again, this is a job offering nearly double the current market rate.

I had a great experience with Meta and I would recommend it to anyone (just based on the interviewing/recruiting/comp aspects, naturally I haven't started working there yet)
It's totally the other way around.

If someone leaked the underlying weights of GPT-3, someone could take a single H100 or even potentially smaller GPU hardware and used direct preference optimization to create a potential superior version of "ChatGPT" today very quickly. Hell, you could likely train a lora adapter on a 3090 or 4090 to unalign it in hours! Toxic-dpo-v2 is literally less than 600 examples and proven to work (https://huggingface.co/datasets/unalignment/toxic-dpo-v0.2)

DPO/RLHF fine-tuning is rather easy in comparison to training large language models from scratch. This is why the community finds open source LLMs growing in quality in "spurts" as new underlying pre-trained models release - i.e. llama -> llama2 -> mistral. The fine-tunes around them are so plagued with issues that benchmarking them is unreliable. If you don't believe me, just study the issues related to the huggingface "OpenLLM leaderboard".

Same Dynamic BTW with diffusion models. That's why someone in the AI archeology world is going to have to document that actually true fact that the brony community were the first to figure out how to fine-tune SDXL enough to get it to generate good NSFW content . This fine-tuning was evidently strong enough to break most controlnets and other SDXL related content - indicating that they did "at least close to as much" training as would be required to train from scratch. This is so remarkable because they apparently straight up purchased the A100s that they used for this, as cloud providers are not to be trusted for training on NSFW datasets. Someone "ponied up" at least 100K USD just to give us better quality open source waifus.
> Go's iota is probably one of the worst ideas in all programming languages.

iota is a great idea, especially if you have to define bit mask constants, e.g. 1 << iota. I wish other languages (yes, also those with enums) had it as well.
> Corporations definitely count as legal persons, with obligations and rights.

I am not a lawyer, I am cynical

Corporations count as legal persons when it benefits them
*offended or pleased by _how well_ the leader manages...
Probably, yes, but I suspect that it's so hard to find this arrangement (20 hours per week, full benefits, and still very good pay despite it being 50% of total), that I'm just very content with the arrangement.
It's Official: We Can Pretty Much Treat Covid Like the Flu Now
I got into some details on how I do light-weight apps (especially during development) without bundling in a nearby comment as well: https://news.ycombinator.com/item?id=39564986

To resummarize: sometimes it is fine to prune and ship node_modules to your web server, you can use import maps to handle "node-style 'bare' imports", and you may only need to "spot bundle" to ESM a single dependent library or two that doesn't ship ESM that will directly work in the browser (which should be a decreasing list).

After that it's a matter of using your browser's Dev Tools to tell you what your performance looks like and where your bottlenecks are. That can tell you a lot to help you determine if you really need to bundle more of your site/app or if you can spot-bundle/adjust an import map for just a specific sub-graph. With HTTP/2 and HTTP/3 the "per-file" "penalty" is a lot less, though still somewhat exists. Even some properly configured HTTP/1.1 servers it is not always as bad as history tells us it was (properly configured HTTP/1.1 did support some connection sharing). About the only remaining thing a bundle might buy you on HTTP/2+ is maybe better behavior with compression on the bundle as a single whole, but even that isn't a given because Brotli's dictionary was designed to work at the whole connection level and that's often the default compression in HTTP/2+. But again, your conditions may vary based on your real code and the specific servers and browsers you need to support, so leverage your browser Dev Tools and check the real numbers.
enums are handled poorly in so many language. very confusing.
love it -
another relevant project: https://www.mainframe.so/ - its a bit finicky when i tried, but interesting.
No, “2” is a constant exponent. That makes it a square relation. An exponential relationship is when your variable is in the exponent.

ie: e^ax behaves very different than x^a

Lift is proportional to a*v^2 where “a” is a bunch of constants based on wing geometry, density altitude, etc. v^2 is most definitely not exponential behavior.
No it’s not. It’s just a corporation with one kind of tax status owning another corporation with a different tax status.
So, first thing that comes to mind is that this will confuse and perhaps thus hinder Sam Altman's fundraising efforts. Perhaps that is the whole point? But who knows; not me.
Go is in this weird middle ground where it's modeled after C, so it's got things like no enums, return codes for errors, mutable everything, nulls, and pointers (that don't support arithmetic, so it's really just this "*" sigil that you have to remember to use sometimes), but it's also fully garbage collected and has built-in, stackful green threads. I have no idea what it's actually trying to be.
Kudos to the HN crowd for first informing me about the whole Spirit Aerosystems "financial black magic" in the first place. I'd have to search for the comment, but when the door blew out on that flight recently there was some good comments about how the original spinout of Spirit from Boeing was the highlight of private equity "suck it dry" financial nonsense.
> Naturally that is too advanced and slows compile times.

Sarcasm ?
Gee... I wonder if that had anything to do with the internet and so many people becoming aware of their Mega Church Model due to the Information SuperHighway?
It’s reasonable for the holder to take. It’s also reasonable for all of the non-holders to immediately destroy the holder.

It was “reasonable” for the US to first strike the Soviet Union in the 40s before they got nuclear capabilities. But it wasn’t right and I’m glad the US didn’t do that.
> included generations that were deemed unsafe

How was it unsafe? How was those generations causing harm? (Curious, Just in case somebody read the report)
Page 37 of the lawsuit has the certificate of incorporation. It says precisely what Musk claims it says. That’s the founding document he’s referencing.
You have a country full of starving people, an active war, and trucks full of food guarded by soldiers of the opposing force. You also have the UN, a somewhat independent organization that's supposed to help resolve the conflict, and they're saying Israel is intentionally restricting Gaza's food supply.

Understanding this context, seeing all the threads, and there's really not much to untangle. If anything, this was entirely predictable. Nobody should be surprised that starvation was enough to provoke a violent conflict between Palestinians and the IDF.

I believe the news media is here to provide clarity, not add to confusion. The problem is that when things are a tangled mess, the media has a lot more to report on. Truth is cut and dry, but when there's a mystery you can just keep going on and on and on... I still remember all the news about OJ Simpson, so much to report and so few facts!
Maybe, but most software projects isn't designed for as long as things will last (I'm not sure we even know how to do this!). It is best to think of software as under continuous remodels. Very few houses survive for 40 years without a major remodel - adding rooms, moving walls. (much less "minor remodels" like replacing the kitchen cupboards - and the paint will not last for 40 years no matter how hard you try).

If you continuously remodel your house like software is, then by the time it is 50 years old there should be zero original walls left. But software is a lot cheaper to make changes to.
This is more about not having the right understanding of what life will look life after FIRE (financial independence, retire early). Perhaps too much focus on the RE and not enough on the flexibility and options that come from the FI. I look at it as, I can now focus my energy on the things I want to do professionally and personally rather than what I needed to do without FI, and that wouldn't include playing games/watching TV or hanging out with friends _all day every day_ for decades until I drop off.
I thought this article was about copyright. Turned out it was about them having growing pains. Though the jury is still out if a truly general purpose and truthful LLM can exist one day. And how far can this tech be pushed.
It means your logic is inefficient and ineffectual as trust is necessary.
Language Modeling by Estimating the Ratios of the Data Distribution
> I think the rate of tire puncturing is low enough that you wouldn't bother changing the design.

Generally it's low, but in this case you are purposely steering toward the debris. Usually you avoid it if you see it.
HTML: https://www.gutenberg.org/cache/epub/26640/pg26640-images.ht...

Text: https://www.gutenberg.org/cache/epub/26640/pg26640.txt
In USA hundreds of thousands of people protested against the Iraq war : https://en.wikipedia.org/wiki/Protests_against_the_Iraq_War

Is not even comparable.
Unveiling Quickview: AI-Driven Crypto Newsletter Adventure
I automated the creation of daily summaries of YouTube videos from leading crypto creators. See it in the newest Implementing issue! Share your feedback!
Let’s stop pretending any of it makes sense. Why are Mac app devs not charged the “Technology Fee”.
Related discussion: https://news.ycombinator.com/item?id=39563982
It's a structure in the sense of a non profit may not have shareholders or equity.

In a practical sense, there needs not be an operational difference, and is subject to scrutiny from the IRS to determine whether an organization is eligible non profit status
> Has there been a successful suit against a company for "abandoning their founding mission"?

Yes, especially nonprofits.
The root cause is wanting to support fixed-size array types in structs, which means nothing can require initialization and everything needs a zero value. The caller can just modify every field directly.

This is sort of like how network protocols can’t statically guarantee enums are valid either. When sending bits over the wire, you can send any bits you like. There can be “values reserved for future use,” but to deny their use, you need a runtime check.

A similar solution works in Go. A runtime check in a constructor function will fix it. The enum’s value would need to be returned as an unexported field in a struct, which is the only way to guarantee that it’s not writable, except by copying it from another valid value.

I don’t see a particular reason why Go couldn’t make this easier.
Thanks for this! I was looking at Wikipedia for daddy longlegs and was confused when it said pholcidae were spiders.
Really? This is what you want to spend your time on doing?

> Source for where I claimed this?

Source for where I said you claimed this?

> Source for where I said anything about accomplishments or relevance?

Source for where I said anything about you straight up saying anything about accomplishments or relevance?

> Source? I don't know where this is from at all.

You said: “Hiring someone with a lot of Twitter followers to do something doesn't preclude the company from stopping doing something.”

Now you’re gonna act coy by acting undignified about me interpreting “to do something” and “stopping doing something” to refer to working on PWA support when that has been the topic of this thread the entire time?

Have some dignity.
yep, sorry about that, I misremembered TypeScript as having the same "kind of enums" as Rust.