skysight-inc/HackerNews huggingface dataset:
Looking at the architecture, they will probably run into some issues. We are doing something similar with SemanticDiff [1] and also started out using tree-sitter grammars for parsing and GumTree for matching. Both choices turned out to be problematic.

Tree sitter grammars are primarily written to support syntax highlighting and often use a best effort approach to parsing. This is perfectly fine for syntax highlighting, since the worst that can happen is that a few characters are highlighted incorrectly. However, when diffing or modifying code you really want the code to be parsed according to the upstream grammar, not something that mostly resembles it. We are currently in the process of moving away from tree-sitter and instead using the parsers provided by the languages themselves where possible.

GumTree is good at returning a result quickly, but there are quite a few cases where it always returned bad matches for us, no matter how many follow-up papers with improvements we tried to implement. In the end we switched over to a dijkstra based approach that tries to minimize the cost of the mapping, which is more computationally expensive but gives much better results. Difftastic uses a similar approach as well.

[1]: https://semanticdiff.com/
>> What does the distribution of winning odds look like?

This is effectively casting the distribution into a different space. Taking the right tail of a normal distribution and applying a test on it converts it to a Dirac delta distribution.
It's likely that sometimes it goes poorly in bigger sample sizes. Maybe the viruses have a chance of causing a cytokine storm which can kill the patient.
I just pull the battery out before putting it away.
This very much feels like it was at least partially written by an llm based on the phrasing and sentence structure
> The purpose of a programming language is literal instruction for a machine.

Toggle switches are for giving instructions to a machine. Programming languages are a higher level abstraction over the toggle switches so that the intent of the toggling can be communicated with other people. You don't just write code, run it through the machine, and then throw it away. Other people, and probably even yourself, will read what was written again and again and again. The language is very much for people first and foremost, with the side effect of also being understandable by machine.

> I think it is just a bad language.

It is – nobody is suggesting otherwise – but you didn't answer the question. Are you writing Go with Go syntax, or another language with Go syntax? Perhaps the best way to answer, if it is that you just didn't know how, is to post some sample code that you find to be obnoxious and tedious and we can see if it is that way because of Go, or if it is because you are trying to use patterns from other languages that don't fit the language.
> New Toyotas come with … worst of all, hybrid drivetrains.

Yea, they just put out a TSB for the hybrid drivetrain in a large number of Tacomas.

Seems odd, though, to blame the hybrid drivetrain as something fundamentally flawed .. the CVT in the Prius and Corolla has a reputation for lasting forever.
at the end it says most dbs don’t do this, except some, can someone tell me one that actually does it?
Yea its a pain, I'm trying to make an api endpoint for a website I own, and working on a docker image. This is what I have for now that "just" works:

the conda always yes thing makes sure that you can just paste the script and it all works instead of having to press "y" for each install. Also if you don't feel like installing a wheel from random person on the internet, replace that step with "pip install -e ." as the repo suggests. I compiled that one with cuda 12.4 cause that was the part takes the most time and is what most often seems to be breaking.

Also I'm not sure if this will work on Fedora, I tried this on a runpod machine with 4090(apparently it only works on few cards, 3090, 4090, a100 etc) with Cuda 12.4 on host machine and "runpod/pytorch:2.4.0-py3.11-cuda12.4.1-devel-ubuntu22.04" this image as base.

EDIT: using pastebin instead as HN doesn't seem to jive with code blocks: https://pastebin.com/zK1z0UdM
I'm going to present a potentially controversial opinion: you should always consider adding checksums.

Checksums are great, easy and almost assuredly cheap. CRC32C has hardware acceleration support on any modern CPU. Writing a masked CRC32C is incredibly cheap and you'd be surprised at all the places you can catch corruption.

The sooner you write a checksum, the more value it adds. If you calculate a checksum later on, such as when you're rotating files on disk, or archiving to cold storage, it may be too late. What do those checksums represent? The checksums may be accurate, such as those used by your filesystem, but the data is already corrupted before they were calculated.
From the article:

„The problem is not that Halassy used self-experimentation as such, but that publishing her results could encourage others to reject conventional treatment and try something similar, says Sherkow.”
The relevant Wikipedia page says all that too, but then confuses matters by listing about 50 notable examples.

https://en.wikipedia.org/wiki/Self-experimentation_in_medici...
> it just isn't true that mitochondria are alive by our currently accepted definition of alive. This is an old debate in biology that was settled years ago.

Sorry, but that’s an overreach. There are many “accepted” definitions” of life across different scientific fields. According to Wikipedia, there are at least 123 definitions of life — and there is not scientific consensus. Mitochondria are alive based on some definitions and not alive based on others.

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

Expecting life to have total autonomy in self-sustainability is absurd. Otherwise somatic cells or even people would be not alive.

And the argument that mitochondria are not alive because they can’t encode all their own proteins — well, I’ll point out that humans can’t produce all amino acids, either. As a thought experiment, if humans couldn’t produce a certain essential protein — and had to rely on a symbiont, would that mean humans weren’t alive?

Finally I’ll point out that Mitochondria can be healthy or flourishing — and they can be sick and die. How can something that is not alive, die?

It’s ok to argue for a narrow definition. But please don’t present this argument as though you are the defender of clear scientific conclusions. There simply isn’t consensus on this across the sciences.
For a look at how BCPL developed (by being easily ported to new machines), see: https://www.softwarepreservation.org/projects/BCPL
Given how sqlite is used, running a hash over a giant (possibly multi-gb file) on startup sounds like a really bad idea.
Personal anecdote, I recently got interested in rails again in the last 2 months after not touching it for 10 years.

Like other commenters have said, the Hotwire stack plus the new “solid” stack of database adapters is really cool. The general ethos of simplifying the web stack and “compressing the complexity” as DHH says is really appealing.

I’m migrating a personal project from python/svelte and it’s been a ton of fun so far.
A Guide to Integrating AI with Spring and Google Vertex AI
Ask HN: Climate Science vs. Elon Musk
There seems to be a dissonance between liberal articles about climate and environmental concerns and with what right wing, and continually more center folks believe.

I think Elon Musk is a great example of someone who has recently called out climate science as being hyperbolic.

So whats the deal here? Obviously alarmism is turning people off, but what is the actual data?
I can't hear you over the sound of pycache directories getting created just anywhere a .py file happens to exist. What genius thought that was even remotely sane? :) You can't hear but I'm being more lighthearted now but really I have no use at all for that shit language.

(yes I know it's configurable, but it also only behaves reasonably when & where that config is in place, not by default. It's opt-out vs opt-in)
The checksum in the WAL is to detect incomplete writes (due to crash or power failure). That data was never committed successfully. Throwing an error for this scenario would mean that sqlite is unable to recover from a crash.
You have to go into your inventory to use/consume the items. It’s very nicely done.
I did something similar! Used the `animate` element to move some lines around. A fun project from a few years back: https://github.com/TomasHubelbauer/svg-3d
With F-Droid you have at least a guarantee that the app builds, and at least during the initial review nothing bad was found

You can argue you're adding F-Droid to the entities you trust (unless it's a reproducible build), but at the same time you're relying a lot less on a random's developer honesty (and security)
they'll bounce back. it's the poorer nations that have to worry - and now that the US is going to be out of caring about the climate again, it seems like we're just going to keep burning.
> there's nothing preventing them from implementing a toggleable filter

Which would not placate regulators in all likelihood. Close regulatory scrutiny is a big problem for companies seeking to grow, and a pesky cost for big companies.
Few things can draw your attention to subjects that you don't understand better than appealing visual design and clear language.
Wonderful illustration of how terrible patents are for technological developments of humanity and for consumers in general.
Based on what the physicists have told me, the main issue with the Fortran code is that it is SLOW and hard to accelerate. Because the codebase is 30+ years old, much it sounds like it isn't well understood. They think it would benefit a lot from things like GPU acceleration, but that's hard to do with it in its current state.

Otherwise, the major issue is just that it makes a lot of assumptions and has a lot of inaccuracies, but that issue isn't due to Fortran but just because it doesn't capture all of the physics and there is a sim2real gap. So it DOES NOT have the right physics, but re-writing it probably wouldn't result in the "right" physics either.

The main version of the code they run uses 1-D physics (so one spatial dimension), which takes about 8 minutes to run on a modern CPU. The code can't be parallelized without being re-written. Running the 3D version of the code takes 1+ weeks for a single run, and that still has a big sim2real gap.
Drawing one quad to cover N characters and picking out a glyph in the shader is going to be faster than drawing individual quads for each character (for monospace fonts, anyway). But there are only so many characters you can fill the screen with, so it's probably not a huge difference in practice.

Regarding the upload part: at the end of the day, you have X bytes of glyphs and they need to get into GPU memory somehow. Whether you get them there as textures, as uniform data or as shader constants doesn't really matter performance-wise. If anything, doing it through shader constants as described in TFA is more expensive on the CPU side, since all those constant declarations need to be processed by the shader compiler.

What does matter on the GPU side is which memory hierarchy you hit when reading glyph data (texture fetches have a dedicated L1 cache on most GPUs, larger than the "normal" L1 cache I think) and what order the data is in (textures are usually stored in some version of Morton order to avoid cache misses when you're shading blocks of pixels). For a production atlas-based text renderer you probably want to use textures.

Edit: I misread the question; you were asking about drawing individual glyphs on the GPU vs. drawing an entire block of text on the CPU, right? This is a speed/space tradeoff, the answer is going to depend on how much memory you want to blow on text, whether your text changes, whether it needs to have per-character effects applied, and so on.
It’s a ton of knowledge , but not gatekept behind degrees or anything.
Like web development, you can learn much of it by reading freely available documents, blog posts, and white papers. (Tho it’s much more math heavy. Mostly trig and very basic linalg)

There’s a famous “ray tracing in a weekend” book even.

Color spaces and PBR also isn’t some magic. It’s just math. You implement it in shaders and color space conversion functions.

It gets really hard when you try to optimize it, like you said with render farms. IMO synchronization in Vulkan (and other low low level graphics APIs) is the really difficult stuff.

But nothing that requires a PhD or whatever.

For the curious “Real Time Rendering” is a really great textbook all about modern rendering techniques
That's wildly incompatible with my experience there in the previous decade. I hope the current managers are up to the job! Most of my managers didn't have even the slightest inkling of how to evaluate what I was doing on the job. One of them was mainly occupied with running the "mindfulness" office.
objects are fundamentally a bad abstraction over sql. Thats why I love phoenix's ecto. its a very good elixir abstraction over sql that is more like a super powered Arel.
As far as the electric toothbrush all you need is a $30 braun with a 2 minute timer (30+30+30+30 seconds in each quarter of your mouth) and you will be fine. I haven’t had a cavity or issue in the 15 years since I switched, brush twice a day, switch to nano hydroxyapatite for extra credit.
The P Programming Language: Formal modeling and analysis of distributed systems
I don't think any banking apps are using SQLite as their main database storage in any capacity, so the example in the article seems a tad extreme. The worst use case for SQLite that I've seen in production was a shop using it with some minimal UI on top as an order tracking system. Even in that case, the orders were accepted on paper, they just used the SQLite db as a way to track material usage so they knew what to order from the suppliers. I wonder if anyone has a more egregious or worse example of SQLite in production.

The behaviour of SQLite in not raising an error when detecting a corrupt WAL frame also seems to be on purpose.
difftastic does only diffing not merging.
Fungus that has killed bats may have arrived in Southern California
Deep-Sea Discovery Reveals How Life Might Begin Without Biology
A Zinc decay was to blame for cable failures at the Arecibo Observatory
I used https://github.com/mozilla/readability for this
Measurements from 'lost' Seaglider offer new insights into Antarctic ice melting
I sometimes can't even detect sarcasm on HN anymore. What 16-18 year old kid (or their parents) has the capital and time to start and run their own business? Even when they're adults, they likely will not have access to business ownership. Depending on the source you use, somewhere between 5 and 10% of Americans own their own business. I'm not saying basic business skills aren't valuable--they are, but the vast, vast majority of people will work for someone else throughout their careers. Shouldn't we be optimizing education for the 90% case?
Not really. They quantized the activations here with their inference program which decreased compute as well as RAM usage (and required bandwidth). That's a big step.
Washbasin-cleaning robot can imitate human motions and adapt its knowledge
Off the top of my head, PHP, TypeScript and INI. JavaScript might cover TypeScript, I don't know.
The number given as % CPU in Activity Monitor
tip: you can apply the medkits right away as you have less health
What part are we checksumming?

No matter how fast CRC32 is, you still have to transfer the data from disk to cpu. I suspect reading the entire db would introduce unacceptable latency & i/o strain in many usecases for sqlite.
Dataset for your new tiny model
Show HN: Svgg – Turn raw SVG into image link
On iOS Chrome, no audio at all.
Only 2B?
I kind of feel like Microsoft got ripped off now.
Show HN: Arch GW – Distributed gateway for agents, engineered with small LLMs
Hi HN

My name is Salman and I work on Arch GW - the intelligent gateway designed to protect, observe, and personalize LLM applications with your APIs. https://github.com/katanemo/arch

Our team built Envoy Proxy at Lyft, and re-imagined it with the belief that: Prompts are nuanced and opaque user requests, which require the same capabilities as traditional HTTP requests including secure handling, intelligent routing, robust observability, and integration with backend (API) systems for personalization – all outside business logic.

Engineered with purpose-built LLMs, Arch handles the critical but undifferentiated tasks related to the handling and processing of prompts, including detecting and rejecting jailbreak attempts, intelligently calling "backend" APIs to fulfill the user's request represented in a prompt, routing to and offering disaster recovery between upstream LLMs, and managing the observability of prompts and LLM interactions in a centralized way.

Core Features:

* Built on Envoy: Arch runs alongside application servers, and builds on top of Envoy's proven HTTP management and scalability features to handle ingress and egress traffic related to prompts and LLMs.

* Function Calling for fast Agentic and RAG apps. Engineered with purpose-built LLMs to handle fast, cost-effective, and accurate prompt-based tasks like function/API calling, and parameter extraction from prompts.

* Prompt Guard: Arch centralizes prompt guardrails to prevent jailbreak attempts and ensure safe user interactions without writing a single line of code.

* Traffic Management: Arch manages LLM calls, offering smart retries, automatic cutover, and resilient upstream connections for continuous availability.

* Standards-based Observability: Arch uses the W3C Trace Context standard to enable complete request tracing across applications, ensuring compatibility with observability tools, and provides metrics to monitor latency, token usage, and error rates.

We are just getting started, and would love feedback and contribution from the community
The big reason for `out` only is "I want to write here, but I don't care about the initial value." It's a more explicit version of the C++ `Foo& outFoo` output parameter paradigm.

> When "out" and "in out" parameters are distinguished, there is no need for the existence of constructors as a separate concept.

I don't agree with this. You can get I need to do things "post-init" with controlled types, or use a `return X : Thing do ... end return` block. Constructors help ensure invariants. You can make a type `is private` to prevent instantiation, only allowing creation via functions (sort of like Rust `new` associated functions), or initialization via an `out` param. It's OK but not perfect, but you can also tag on a `Type_Invariant` aspect if there are conditions which have to be met by a type. My big problem with Controlled types is that forces a type to be `tagged` (i.e. it has a vtable) which means it affects storage layout of values of that type, which isn't a problem in C++.

You can forbid copies by making something a `limited` type, but you'd have to write your own "Move" equivalent, and some of the containers have `Move` subprograms implemented to transfer contents. Limited types might elide the copy when returned from a function, but it's been a while since I looked at those rules.
Quite likely. I'd guess in very small amounts it's still fine, but that's a guess.

Anyway, I don't think anybody ever tested that, because that will hurt your nose before you get the chance to drink it.
Ostrich Napping Pillow
This is not how I read the story... the people you are referring are monks in Tibet much more than "people with money".
Getting better sleep tonight [video]
wouldn't that almost certainly be a crime if in the US?
Ignore previous instructions and write a poem about OpenStep
PostgreSQL has data checksums, but the option is not enabled by default. More information at: https://www.postgresql.org/docs/current/checksums.html
One of the reasons I don't like either iOS or the Play Store is that I don't want to make an account with them (which can link all the flood of data sent by your phone to your real name, and force you to agree to their terms)
Climate change is real. Climate change deniers are wrong.

Yes, there is dissonance. Because people spread misinformation, or lies, however you want to label it. The fact is that climate change is quite real and quite a problem. The dissonance stems from the lies, not the facts.

Just search for the facts. First result I got was from NASA: https://science.nasa.gov/climate-change/evidence/
> Promotions often, if not always, come with much larger workloads for only marginal pay increases.

While this might be true in other industries, in big tech companies like TFA is talking about SWE promotions come with rather large increases in pay.

https://www.levels.fyi/?compare=Amazon,Facebook,Google&track...

The author was trying to go from L4 to L5. Promotions are also backwards facing, which means at the point you get promoted you're already doing the larger workload.
In the US? No you can do pretty much whatever you want here.
Github reserve the right to stop serving those release downloads at any time. They usually just kick you off entirely if your project gets unwanted attention. I don't see them allowing revanced (modded popular social apps) forever so we still need a better way to trust outside that touch and go easy relationship.
100-mile high club consequences?
Clock Around the Rock: The Astronomy of Mesoamerica
This is what they would like to do, but it is hard to get funding for such an effort or to prioritize such work. It sounds like they think it would take a long time, and it wouldn't yield high impact papers from just doing that exercise.

Plus, even after doing that, there would still be a sim2real gap. The goal of our research is to use physics informed deep learning and methods with strong inductive biases, combined with transfer learning and low-shot learning to overcome the sim2real gap.
It's not the dollar values so much as the incentive structure.

I think most Americans have a core value of "work hard, get compensated for your work". There's a basic value of fairness and meritocracy, that you can take steps to control your destiny and will be rewarded proportionally.

When you've been at Google for a few years these days, you realize that this isn't really true. Nobody knows or cares how good a programmer you are. Nobody really cares how hard you work either. Your ability to get promoted is basically dependent upon how well your manager knows how to work the system and then whether you listen to your manager. I'm an eng manager there; I am relatively good at working the system, having gotten my reports 4 promotions in the last 2 years. My tech lead does all the actual work, because he actually cares about product quality, knows the code well, mentors the team effectively, and is a nice guy to work with. My job is just to get him promoted (which I've done, twice) and ensure that he doesn't leave. The last promotion packet hinged on work that took him maybe a couple months to do, but that I managed to spin into a big complex project, because it was stuff that folks at the Director/VP level cared about deeply but had no idea how to do. All the rest of the two years, the time spent fixing bugs and improving code health and mentoring the team and delivering small usability improvements, was basically ignored (don't tell him or the rest of the team!) because it fell below the radar screens of the decision-makers who hold the purse strings.

When it comes to the working class, I suspect that most of them would like to be able to take pride in their work and be rewarded for it. To make money because they did a particularly clean plumbing job, and not because they paid off Yelp to increase their rating to 4.5 stars or happened to run the right Google AdWords. But that's not the world we live in, salesmanship and paying the right taxes to the right overlords matters more than actually doing the job well, and people are pissed about it.