skysight-inc/HackerNews huggingface dataset:
> Throwing machine learning at the estimation problem is a possibility, but I fear that it would still be difficult to come up with an estimation function that is (a) comprehensible and (b) accurate across many different machines.

Nick: you know me, I love to overcomplicate things.

I don't know if you would consider this to be machine learning, but the size estimation seems like a good fit[1] for multiple linear regression. You have some independent variables (number of MIR nodes, number of basic blocks) and an error in a dependent measure you care about (time to compile), so it seems worth running through a linear regression model to get rough weights for your independent variables. (eg 7 × number of BBs + number of MIR nodes or whatever.) Sure, there's the risk of overfitting to your machine and number of cores / amount of RAM / whatever. But if the size estimation is really what's throwing off your other experiments, it seems worth spending some time to come up with other possible inputs (independent variables) and cutting that error down.

You might consider using something other than squared error for the regression, since at this point you know a fair bit about the effects of different errors.

If you happen to know that the compiler does stuff that is quadratic in number of basic blocks, you might even want to consider a nonlinear term like the square of the number of basic blocks. (So instead of `time ~ nodes + BBs`, you'd have `time ~ nodes + BBs**2` or `time ~ nodes + BBs + BBs**2` but still just do linear regression.) The square of an independent variable could also be seen as a way of modeling "this factor matters, but only when it gets big". You can play with other powers like square roots, which are more like "the value of this factor matters, but large values aren't that different from each other".

But the more of those games you play, the more you're going to overfit, so you probably ought to extract weights from a subset of your data and withhold the rest for testing. It'll still overfit (to your computer, for example), but at least it'll be better.

Last thought: you've broken down compilation time into its different phases before, right? I'm thinking of things like register allocation. Is there an easy-to-compute independent variable related to that, like maybe "number of MIR instructions in regions of the control flow graph that have more than 4 live variables" or something? Probably not, that's probably only visible later. Number of loops / back edges in the AST? I don't know enough about how this stuff works.

[1] Pun not intended. Until I made it.
Foolproof root of trust would make cloud providers a lot more trustworthy. For example AMD's SME+SEV is in theory able to attest that a cryptographically verified (as opposed to trusted) boot process resulted in an encrypted-RAM VM running on someone else's computer that it would be pretty hard for them to impersonate or read data from (they can always inject errors). It's always up to the person evaluating the measured attestation to determine the trust in the software that was attested.

Individuals don't have quite as much to benefit from. I don't bother to run SEV on my personal cloud VMs. Mostly because it's more likely for there to be enough software 0-days to not offer much practical protection. If I was trying to do cryptocurrency in the cloud on top of seL4 or something equally verifiable then maybe SEV/SecureBoot would be worth it?
What's wrong with being able to add my Complex or Dual numbers together?
"Old vine" wines are pretty close to this, and that's a large niche; walk into any large city's grocery store and you can probably find at least one. Similar idea: old vines, undisturbed land, small batches, artisan production.
The comparison to SETI@home[1] is that you just need the same mount of total processing power, not the same supercomputer setup.

People don't need to own A100s, they just need to be willing to be part of a distributed supercomputer by running a background app that downloads chunks of data, processes them, and sends the result back. The utility comes from having enough people participate (which worked quite well for SETI@home, but helping find "signals from outer space" is a little bit more interesting than "helping train an LLM")

[1] https://setiathome.berkeley.edu/
Send an email to support@anthropic.com and mention my username...I'll see what I can do :)
I'm a fan of copyrights. While I think that the USA's implementation of copyrights has a few glaring flaws (namely, the duration of copyright is far too long). I firmly believe that the elimination, or effective elimination of copyrights is massively detrimental to our culture.

A fair middle ground would be for copyrights to last for 20 or so years. That's plenty of time to profit from a work while allowing people to preserve and distribute older works.
Security is one area in which you can't really afford not to go down the tin foil hat rabbit hole. It's been like this for some time, where it's not really possible to know just how much capability is possessed by nation state actors, but with AI and other tools those capabilities will expand and become the baseline probably way sooner than we predict. No longer will experts be needed to do careful tracing to deanonymize, one of the true superpowers of AI will be its ability to extract the full power out of the big data we've been collecting. So the cost then of figuring something out that now might cost millions will soon cost a couple bucks.
Seems like something is wrong with the site. I’m unable to reach it.
I usually don't have an issue installing Linux on a computer. The issue generally pops up when the recipient wants a piece of software that is only available on windows (which is also true for people migration to Macs). It's one thing to learn a new OS, but having to learn new software generally becomes the sticking point.
> greatly over-estimating the author's goal here

Yeah it is clearly a showcase for ClickHouse which is worth bragging about since it is quite performant. And it has a very strong community as the following shows:

https://devboard.gitsense.com/ClickHouse/ClickHouse

I am honestly not sure if my solution can handle HackerNews at this point since generating deep insights for ClickHouse (which has a lot of history) is very expensive.

For those curious, I'm running DevBoard on a single 128 GB machine with 6TB of SSD in RAID 0 (I'm willing to take the risk) and the Postgres database has over 1000 partitions (including sub-partitions) that are optimized for my queries. I'm pretty sure ClickHouse can be more performant and if the creator of https://ghe.clickhouse.tech is reading this, I'm open to seeing if I can't get my solution working on ClickHouse.
The "software" part of an LLM is pretty trivial -- the interesting piece is the the weights. Since the weights are mechanically generated by a computer, it can be argued that the weights are not copyrightable, just like a photograph taken by a monkey isn't copyrightable.
IMO the cognitive load of Rust is different in practice just from basic nuts and bolts things like having a ecosystem of libraries that culturally emphasizes things like portability and heavy testing, and a standard package manager and an existent module system (C++26 fingers crossed). I dislike Cargo but it's incredibly effective in the sense any Rust programmer can pick up another project and almost all of of the tools instantly work with no change. I mean, Rust is frankly most popular in the same space Go/Swift et cetera are, services and application layer programming, where those conveniences aren't taken for granted. I see it used way more for web services and desktop/application services/command line/middleware libraries than I do for, like, device drivers or embedded kernels. Those are limited enough in number anyway.

Really, the ergonomics of both the language features and standard tooling meant it always meant it was going to appeal to people and go places C++ would not, even if they in theory are both "systems languages" with large surface areas, and they overlap at this extreme end (kernels/embedded/firmware/etc) of the spectrum that little else fits into.
This may be controversial but I think this has the potential to be a brilliant metric because it measures some part of web UX that’s often neglected. It’s time consuming to make every single interaction display some sort of loading message but it really helps make the site feel responsive.

As long as they avoid the pattern of adding a global loading spinner that covers the whole screen. That’s just the worst possible loading screen. I suppose it would still pass this metric.

Also I’m not sure if I totally understand the metric - I think it’s simply when the next frame is rendered post interaction, which should easily be under 200ms unless you’re

1. doing some insane amount of client side computation

2. talking over the network far away from your service or your API call is slow / massive

and both of these are mitigated by having any loading indication so I don’t understand how this metric will be difficult to fix.
Huh, didn't realize base PyTorch had an equivalent Sequential API.

The point about the better API overall still stands (notably including the actual training part, as base PyTorch requires you to implement your own loop)
Apple has been trying to crush repair supply chains for years claiming that any parts entering the country that could be used to repair them aren't legitimate parts, because of infringement of patents, etc...

on parts that Apple made, and put into devices that failed, and were then pulled for use elsewhere.

Provenance is to prevent forgery, there's no forgery going on here... just Apple trying to eliminate the concept and tradition of property rights for someone who buys something from them, using whatever flimsy excuse they can find.
I would love to use an app where tiresome, needlessly-outraged perspectives are less prevalent.

> A large portion of science is inherently political

Political: "science which shows that oligarchs are burning the planet"

Non-Political: "science which shows that humanity is releasing XXX tonnes of CO2 per year, which has increased atmospheric CO2 by YYY PPM, which has raised global average temeperatures by ZZZ degrees and is predicted to have effects A, B, and C by the year 2100."

Sure some people will choose to have outraged political responses to the latter, but that can be discouraged just as well as "oligarchs are burning the planet".

> the fact is that the moment one of those creatives "gets political" (as determined by Threads, however they want, with no human appeal), their content will become effectively invisible

This is good for long-term engagement. If someone posts a lot of great content interspersed with occasional outraged political diatribes, then silently downranking the latter will keep their subscribers engaged who only wanted to see the former.
This is pretty common. If you sit at a desk typing all day, you get home and want to do something physical.
In Defense of a ChatGPT Tax
I appreciate your questions. I will honor them with the same dry humor by responding as if actually using ordinal dates were something many people did.

Leap years: A sidereal year adjustment may occur on any day, there is not a requirement for it to occur on a specific day. Leap years merely have an additional day identifier in the series before returning to 001.

Anniversary events: Again, there is no requirement that the memorialization of a person or event occur on a specific month and day. Many occurrences such as Mardi Gras and Eid using a lunar calendar or the USA's Thanksgiving using the day of week.

If one wishes to commemorate an annual event at the same orbital position as when it occurred, then ordinal dates are more effective since the Gregorian calendar's fourth-year 02/29 throws off any anniversary after the first 1/6th of the year.

NB: ISO 8601 "leap week" instances occur at a different rate than leap years (a more parallel construction would be "leap week" and "leap day"). "[The] 53 week years occur on all years that have Thursday as the 1st of January and on leap years that start on Wednesday the 1st."

https://en.wikipedia.org/wiki/Leap_year

https://en.wikipedia.org/wiki/ISO_week_date

A higher order number than ordinal and cardinal is ratio. We can also express the current day as how far through the year we are. Since today is 192, it represents 52% of a year, the ratio of current day to days in the current year. Below is an example in bash.

$ date '+%j'
192
$ echo "scale=2; $(date '+%j') / $(date '+%j' -d $(date '+%Y')'-12-31')" | bc
.52
The benefit is uniformity, everythings the same, which is one of the main reasons I use Emacs. I can use all of my usual navigation keys to move around the documentation of the variable, evaluate things inline, etc.. Just as if it were more text, which is what Emacs is already great at. I would mind the buttons getting a more modern look, but I think everything being text what makes it works this seemlessly, and it would be much tougher to get a uniform feel with graphical windows.
I'd say by 2038 you won't need to worry about older kernels that don't have this support, so it's a non issue.
On your specific point, humans take decades to (very roughly) copy themselves. An AI could do it in minutes with far more precision and control.

Assuming you have 200 IQ, if you could make thousands or millions of clones of yourself quite cheaply, you still might not succeed in taking over the world, but it is no longer a laughable idea.

Overall, I’m somewhat ambivalent about the possibility of x-risk, especially if we work reasonably hard to prevent it.

But it shouldn’t be ignored. AI is moving very quickly and it is unclear how powerful its capabilities will be in the next 10-20 years. Of course, there are many other risks presented by AI that we need to stay on top of as well.
Self reflection? Emotional intelligence? Empathy?
They are doing computer science.
There isn't a Rust language specification, and you can use

#![allow(dead_code)]

at the root of the crate

I'm not sure what you mean by "optimizing away unused variables", so I'm interpreting it as variables that are literally unused after declaration.
That's a part of Dubai - designed to bring in the money - but take a trip around Karama, Bur Dubai, or even Jumeirah and tell me that's the case.
Counter example: Any Tensor library ever
As LLM prices come down social media is going to be absolutely inundated with bots that are indistinguishable from humans. I can't see a world where forums or social media are _useful_ for anything in 10 years unless there are strict gate keepers (e.g. you have to receive a code in person or access is tied directly to your physical identity to access the site).
Hasn't this been the case for years? "Okay, we didn't get this node, but the next one or the one after that is totally ours"
Admittedly I grew up after their introduction but I've always viewed the whining about overloading the shift operators quite pointless.

Of all the things C++ annoys me with, I don't care that much about syntax.
Nothing that is architecturally meaningful has been built in dubai. the heyday of architecture and capitalist megastructures is long gone, even though some interesting stuff is being built here and there, including china. Attention has shifted away from buildings and cities (i guess because people travel so much more) and into the virtual world.
I've literally heard people claim that things like ChatGPT will soon become "smart enough" to iteratively improve themselves so rapidly that they will become "digital gods".

I wish I were kidding.

https://www.youtube.com/watch?v=SyTYbMrAZgw
If it takes 300ms to load and takes me a few seconds to find a link, I’ve spent 90% of my time on the page after it loads.
How far are you prepared to take this stance, exactly? C has operators that are generic over both integral and floating point types. Was that a mistake? Did OCaml do it better?

For my part, I've been persuaded that generic operators like that are a net win for math-heavy code, especially vector and matrix math. Sure, C++ goes too far, but there are middle grounds that don't.
https://docs.w3cub.com/latex/_005cfrenchspacing.html
Huge pleasure, thanks again for the question!

The crux of the problem: How do you solve misdirected read/write I/O? Where the firmware writes/reads to/from the wrong disk sector (but with a valid checksum)?

PAR shows how both global consensus protocol and local storage engine need to be modified for this, with foundational design changes at the protocol-level, if a distributed system is to not only preserve correctness, but also optimize for high availability.

Bear in mind that PAR is not only actually correct, but it's also more efficient than simply dialing up local redundancy, because it lets you recover from the global redundancy that you have via replication in the consensus protocol.

The paper is great, but will especially reward a few passes of reading. The examples they give take time, but are great to work through slowly to gain a deeper understanding.

And/or, you can read the Zig code of PAR in TB! :)

Here's a great place to start, one of our favorite pieces of code in TigerBeetle: https://github.com/tigerbeetle/tigerbeetle/blob/4aca8a22627b...
I will agree on that. If I want a random thing, there will be the same product dropped shipped on both sites but usually ebay comes out a few dollars cheaper.
So, when will wage growth cover that 1M gap? It's 2023, already...
Great news! Did the church survive due to attempts to avoid hitting it with munitions? Or was it simply the basement ceiling was thick enough?
Netflix Made Removing Green Screens Easier by Turning Actors Bright Purple
Yeah that's a good point. I didn't make a contract with them.
Right. If TCP is available, any common-or-garden Postgres driver will do (for Neon or any other Postgres DB). But not all serverless compute environments support TCP connections.
Since its a emacs guy its probably a self baked org/(e)lisp software capable of exporting posts in formats most people never heard of.
But my windows aren't getting messed up, once I turn the monitor back on it restores the previous state.

And the use case is simple: I have 2 monitors hooked up to my machine but I don't always need 2 monitors. I have a 34" 5k2k ultrawide and a 27" 4k in portrait mode. When I'm coding or using my computer for an extended amount of time I turn both on, but when I just want to quickly write an e-mail I only turn on the main monitor. I mostly use the ultrawide and have the portrait monitor to the side to dump documentation and other materials I need for quick reference on. Right now it's 29ºC in my room and I don't want to turn on more equipment than needed.
https://web.archive.org/web/20230711163359/https://retrofort...
Sandboxing capabilities of operating systems is surprisingly bad. It's very strange to me that there isn't an idiot-proof user-space function call for "start a subprocess, limited to these files/directories, this port, this much drive space, this much CPU, and this much memory".

Of course you can do all these things (on Linux at least), but it involves a dizzying array of technologies.
More children diagnosed with type 1 diabetes post-Covid-19 pandemic
I agree, but the problem is that the UI that is great for new users tends to be horrible for experienced users.
The same reason why you might want to use Keras if you use any of the other backends. They operate at different levels.

Keras is a higher-level API. It means that you can prototype architectures quickly and you don't have to write a training loop. It's also really easy to extend.

I currently use PyTorch Lightning to avoid having to write tonnes of boilerplate code, but I've been looking for a way to leave it for ages as I'm not a huge fan of the direction of the product. Keras seems like it might be the answer for me.
It's cool to hate on microservices here on HN. In my opinion it's not always the answer but can bring many benefits. For example the ability to use different languages or frameworks that might be better suited for parts of the application, the separation of concerns, the ability to split work between teams, outsourcing parts of the app, scaling parts of the app individually, etc. They key is to have clear API contracts for each service, and enforce them ruthlessly.
That means that X case will become increasingly broken. It won't work and won't be supported, newer hardware or not.

And X won't have parity for hardware features anyway. Like HDR - it will be Wayland only. And so on and so forth. So X is fried on all ends in the long term.

It's not that it's not possible to use kernel interfaces - it's just no one will bother putting an effort in developing X. It's already happening.
And whence the tools to judge that

> science gives you the tools to know that you're wrong.
I don't appreciate your ad-hominem attacks. I spent two years outside of the US witnessing the idiocy of Trump, and another three witnessing the idiocy and regressiveness of the "progressives". As such, I don't take sides in your politics; both your left and right are a disaster to me.

I am not an activist, but I do care about causes that most on the left would empathise with, which is ironic given that gender-affirming care is one heralded by the "progressives" on the left. To the best of my ability, my commitment is to reason, which is something the right clearly lacked during (and after) the Trump administration, and something the left has been lacking for quite some time now.

This much should establish that I'm not some garden-variety "right-winger". Now that signalling my "creds" is out of the way (and it should never have mattered anyway), I think I have a unique perspective as an outsider. Because I have no commitment to US' abysmal politics and since I am not in the anglosphere, I'm not immersed in the local narratives that are happening on the ground. This lets me compare (much fairly) the US and UK + EU's approach to gender-affirming care, and how it's reported. So perhaps while I'm not an unbiased observer as you would put it (I have an opinion on this matter), I do think I've a much better view of what's going on than someone in a country who's narratives are dominated by their political extremes.

So here you are, making a bunch of accusations about me which you can't even bother to back up. To counter that, here's something of substance; for those who think there are no credible claims to the contrary, you can check out this investigative feature by the British Medical Journal (BMJ)[0], one of the most reputable journals in medicine alongside The Lancet.

[0] https://www.bmj.com/content/380/bmj.p382
It's either a simple mistake, or a deliberate troll. Sam Altman used to do a role on Hacker News very similar to what dang does today.
From the site itself:

> 1. All processes have a core of complexity that cannot be designed away and therefore must be assumed by either the system or the user.

> 2. Ensure as much as possible of the burden is lifted from users by dealing with inherent complexity during design and development.

> 3. Take care not to simplify interfaces to the point of abstraction.