MurphyA/hacker-news huggingface dataset:
by matt_d | 2025-06-21 04:55:31+00:00
Preprint: https://williamjbowman.com/resources/wjb2024-ethical-compile...

DOI: https://doi.org/10.1145/3704253.3706135

William J. Bowman. The 2025 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM) – Invited Talk.

Abstract:

"The is-ought gap is a problem in moral philosophy observing that ethical judgments ("ought") cannot be grounded purely in truth judgments ("is"): that an ought cannot be derived from an is.

This gap renders the following argument invalid: "It is true that type safe languages prevent bugs and that bugs cause harm, therefore you ought to write in type safe languages".

To validate ethical claims, we must bridge the gap between is and ought with some ethical axiom, such as "I believe one ought not cause harm".

But what do ethics have to do with manipulating programs?

A lot!

Ethics are central to correctness!

For example, suppose an algorithm infers the type of is Bool, and is in fact a Bool; the program type checks.

Is the program correct-does it behave as it ought?

We cannot answer this without some ethical axioms: what does the programmer believe ought to be?

I believe one ought to design and implement languages ethically.

We must give the programmer the ability to express their ethics-their values and beliefs about a program-in addition to mere computational content, and build tools that respect the distinction between is and ought.

This paper is a guide to ethical language design and implementation possibilities."
by doodlebugging | 2025-06-21 04:56:32+00:00
>I think you misunderstood my post

With the extra context I agree that I did misunderstand your post. Thanks for clarifying that. It's been a long, hot, humid day here and I spent too much time in the sun to be trying to write anything coherent at this time of the day. I think I need to rest and rehydrate some of my brain cells so that they might be more useful to me in the morning. Too many misfires tonight. LOL
by switknee | 2025-06-21 04:57:39+00:00
Gift cards are much more commonly used for scams, because your grandma knows how to buy gift cards. The difference is that gift cards are very profitable to big chain stores, whereas cryptocurrency presents a threat to the status quo. Police in the USA also get to keep any unaccounted for cash or crypto they find in a search, so there's an added incentive to target the ATM.

Does western union reverse transactions? To my knowledge, they do not. Yes they co-operate with police, but so do licensed bitcoin ATM operators.

Also "defi" is just ponzi schemes. The only real use for crypto has been using it as money. People buy recreational drugs, yes. They also buy medicine, data privacy services, or donate to political causes that their government makes it risky to associate with. Depending on the coin it has the valued properties of being permissionless (can't be debanked), stable (USD-tether compared to local tin-pot currency), anonymous (monero). You may be lucky enough to have access to lots of stable currency which you can keep in a reliable bank account in a country that lets you buy everything you need, but don't make the mistake of believing that's the case for everybody.

It makes a lot of sense to seek ways to stop the scams. Distrust is expensive in a society. Targeting the money changers is certainly an idea, we'll see if it works. I predict nothing will change until the people who are running the fraud operations actually go to prison.
by asadotzler | 2025-06-21 04:57:49+00:00
TOS is not an agreement, it's a notice, an assertion from the provider that mandates absolutely nothing from you.

TOS is like me putting a sign up at the end of my driveway saying if you approach my home, you owe me $10. If you pull up to my house, I demand the $10, and you don't pay me, I cannot forcibly take $10 from you, nor can I call the cops or sue over the $10.

You never agreed to anything and certainly not in any legally binding format.

Notices are not contracts and TOS notices are notices.
by Dylan16807 | 2025-06-21 04:59:28+00:00
> Why do we justify blocking ads, even when we know the content we’re consuming isn’t free to create and even if the content is free, it still costs money to store and distribute?

In this situation, the ads are contributing barely anything to the content creation, and storage and distribution drop in price every year while youtube increases the amount of ads and decreases the video quality. So people get upset and block everything. That's part out of being fed up, and that's part out of having no way to make the ads become less bad in a non-block way.
by bruce511 | 2025-06-21 04:59:34+00:00
I see your thinking here. Lots of people have ideas, or desires, and if they want the same thing they can validate a market. People looking to make things can pick a known market.

Logically it makes sense. Practically though it won't work, there are too many hurdles to overcome.

Firstly, you need a large group of consumers, and a large group of producers. It's hard to build things that need one large group - building 2 is very difficult.

Of course most ideas will be between nonsense and very niche. Because "good" ideas are fewer anyway, but also more obviously marketable. As in that every product ever made exists without your portal, so you'll provide an outlet for every other daft idea. Yes there'll be good in there. But it'll be drowned in noise from the bad.

It's not clear how you fund this sort of thing. You can't charge consumers. And producers can read the site for free. And of course given that it's public if you like an idea, chances are 10 others do to. So plenty of clones.

Companies that make things already have large, effective, market research teams. This sort of "random collection of people" isn't terribly appealing.

Product development is a complex dance. Having a random community "drive" product development, is basically "built my committee ". That never ends well.

In short. I'm not your target market. I don't think you have a target market. I think your product idea has problems... now if only there was a website where you could post ideas and get this sort of feedback ... :)

Keep thinking, and keep asking. You have a good idea in there, and you're smart enough to get some feedback before building. So you're on the right track.
by Atlas667 | 2025-06-21 04:59:51+00:00
THEY WILL TARGET YOU too if you ever find yourself against western and/or Israeli interests.

Capitalist technologies are the surveillance state incarnate. They must study people in order to manufacture consent.

Remember democracy is majority rule, when have you ever had true control over your political destiny? You KNOW the answer is never.

Democracy =/= trust.

Democracy = control.
by brainless | 2025-06-21 05:00:43+00:00
I understand that we are slowly taking away our own jobs but I do not find it depressing. I do find it concerning since most people do not talk about this openly. We are not sure how we are restructure so many jobs. If we cannot find jobs, what is the financial future for a large number of people across the world. This needs more thinking, honest acceptance of the situation. It will happen, we should take a positive approach to finding a new future.
by perilunar | 2025-06-21 05:00:47+00:00
True, but it goes both ways.

My bank's mobile app is 200 MB. The website is 10 MB, but most of that is wasted — it could realistically be built in less than a 1 MB. Start-up times and performance are similar.

Why should I lose/waste 200 MB for something that i have to be online to use anyway?
by akoboldfrying | 2025-06-21 05:01:44+00:00
> I need my petty cash more than Google does

I appreciate the fact that you brought up the possibility of paying for ad-free content, but frankly I don't buy this. You can either see 100% of the content for free with some mildly annoying ad content mixed in from time to time, or you can pay them a pretty small amount to not see the annoyances.

Google is a for-profit company trying to sell a product that you find valuable. Not everything they do is squeaky-clean, but this offering couldn't be much fairer, really.
by throwdbaaway | 2025-06-21 05:02:11+00:00
> Here's the technical takeaway: Never use CASCADE deletes on critical foreign keys. Set them to NULL or use soft deletes instead. It's fine for UPDATE operations, but it's too dangerous for DELETE ones. The convenience of automatic cleanup isn't worth the existential risk of chain reactions.

I actually agreed 100% with this learning, especially the last sentence. The younger me would write a long email to push for ON DELETE CASCADE everywhere. The older me doesn't even want to touch terraform, where an innocent looking update can end up destroying everything. I will rather live with some orphaned records and some infra drifts.

And still I got burnt few months ago, when I inadvertently triggered some internal ON DELETE CASCADE logic of Consul ACL.

(I do agree with your other points)
by jrflowers | 2025-06-21 05:02:29+00:00
This is a good point. While there is nothing factually incorrect in the statement “rooting your phone can void your warranty and pose a security risk”, if you imagine factual statements are the same thing as value judgments it becomes very problematic.

Similarly it is pretty messed up when people say stuff like “fire can burn you if you aren’t careful” because so many people rely on fire for food and warmth.
by RVuRnvbM2e | 2025-06-21 05:03:24+00:00
This is a good story and something everyone should experience in their career even just for the lesson in humility. That said:

> Here's the technical takeaway: Never use CASCADE deletes on critical foreign keys. Set them to NULL or use soft deletes instead. It's fine for UPDATE operations, but it's too dangerous for DELETE ones. The convenience of automatic cleanup isn't worth the existential risk of chain reactions.

What? The point of cascading foreign keys is referential integrity. If you just leave dangling references everywhere your data will either be horribly dirty or require inconsistent manual cleanup.

As I'm sure others have said: just use a test/staging environment. It isn't hard to set up even if you are in startup mode.
by skinnymuch | 2025-06-21 05:03:43+00:00
What do people like you use to prove the DPRK is auth, a dictatorship, and so bad while so smugly believing they have “freedom” and “democracy” better than the Global South? Western state depts and western state directed media manufacturing consent - ba da ching

Don’t forget — the enemies of the west are all bad and evil. And the west is free and fair and democratic and not a scourge on the rest of the world.
by Manuel_D | 2025-06-21 05:03:46+00:00
It is. Presumably your fear is that uranium from spent fuel might somehow contaminate water supplies, and cause illness. But we already monitor water for contamination from naturally occurring uranium, and have the infrastructure to remove it.

So what happens if uranium from nuclear waste somehow works its way into the water supply? We'll detect it and remove it in water treatment, just like how we remove contamination from naturally occurring uranium.
by quasse | 2025-06-21 05:05:01+00:00
As someone who works in US manufacturing, the situation is much more dire and I think the "low quality / high quality" back-and-forth is burying the lede.

It's not just that China has reached some kind of quality parity with North America. There are now significant market segments that the US functionally cannot manufacture because we completely ceded the institutional knowledge and infrastructure in favor of financialization and outsourcing of the US economy.

My specific area of expertise is robotic / computer controlled manufacturing equipment and a lot of the components (high precision servos, sensors and other motion components) are functionally impossible to source domestically. There are still some boutique manufacturers making things in low efficiency / low volume in the USA but touring the manufacturing campuses of Chinese suppliers has been shocking in the last five years. The sheer scale of efficient, automated assembly they are capable of operating at makes a big-three automotive assembly line look like a dirt-floored shack with men knocking things together with rocks.

They are laser focused on lights-out manufacturing at extreme volume in ways I have never seen in the US. Entire production lines of high complexity electronics that are completely vertically integrated (everything from the injection molding for the plastic enclosure to the PCB manufactured on one campus) with human hands touching them for the first time as they leave the automated quality control line to be boxed up.

I don't think American people fully comprehend the brain and skill drain that has already taken place.
by thaumasiotes | 2025-06-21 05:05:39+00:00
He doesn't mention it, but this is a form of proof by induction. (As you'd expect, really, for a universal statement.)

Induction is often taught as something you do with natural numbers. But it's actually something you do with sets that are defined inductively. Any time you have a set that is defined like so:

1. x is in the set. 2. for all y in the set, f(y) is in the set

(where x and f are constants), you can apply induction. The base case is that you show some property is true of x. The inductive step is that you show that when the property is true of y, it is necessarily true of f(y).

If you have multiple elements that you guarantee will be in the set, each of them must be dealt with as a base case, and if you have multiple rules generating new elements from existing ones, each of them must be dealt with as another inductive step.

For the case of the natural numbers, x is 0, and f is the successor function.

If you wanted to apply this model to the Fibonacci sequence, you could say that the tuple (0, 1, 1) is in the set [representing the idea "F_1 is 1"] and provide the generator f((a, b, c)) = (b, a+b, c+1). Then since (0, 1, 1) is in the set, so is (1, 1, 2) [or "F_2 is 1"], and then (1, 2, 3) ["F_3 is 2"], and so on.

(Or you could say that the two tuples (1, 1) and (2, 1) are both in the set, and provide the generator f( (i, x), (i+1, y) ) = (i+2, x+y). Now your elements are simpler, your generator is more complex, and your set has exactly the same structure as before.)

The approach taken by the author's "improved solution" is to define a set consisting of the elements of the memoization table, with the generator being the function chain that adds elements to the table. He annotates the type of the elements to note that they must be correct (this annotation is administrative, just making it easy to describe what it is that we want to prove), and then does a proof over the addition operation that this correctness is preserved (the inductive step!).
by asadotzler | 2025-06-21 05:06:02+00:00
You're not even making an agreement. You're reading a notice, if that. In most cases it's entirely moot legally and only really useful as a policy tool for the provider to hang its "we're blocking you" authority on.

Having said that, I 100% agree. If Google allows for non-logged in users, it's a public website and we can consume it however we like, until Google decides to try to block us. That's what it's doing now, trying to block users from consuming the content however they like, a core feature of the public web. Fortunately, blocking us is very very hard for sites not behind a login. If they want not-logged in use, they either go to war with my tech, favored by platform, or they let it slide.

Now, Google owns Chrome, so they can also go to war in the browser and standards bodies as well. But for now, the web is open and accessible and that means, wiht the right technology (Firefox plus uBlock Origin for me) you can watch all those video ad-free and there's nothing Google can do to stop you.
by yorwba | 2025-06-21 05:06:43+00:00
There are keys to attend to, they're just in the original text instead of the modified one. Since the model receives both as input, it could theoretically attend to those keys.

For the attention mechanism, there isn't much difference between

Original: {shared prefix} {removed part} {shared suffix} Modified: {shared prefix} {shared suffix}

And

Original: {shared prefix} {shared suffix} Modified: {shared prefix} {added part} {shared suffix}

I think you could implement an algorithm for this in RASP (a language for manually programming transformers) roughly like this:

1. The first layer uses attention to the "Original:" and "Modified:" tokens to determine whether the current token is in the original or modified parts.

2. The second layer has one head attend equally to all original tokens, which averages their values, and another head attends equally to all modified tokens, averaging them as well. The averages are combined by computing their difference.

3. The third layer attends to tokens that are similar to this difference, which would be the ones in the {removed part}/{added part}.

The only ordering-dependent part is whether you compute the difference as original_average - modified_average or the other way around.

If a model can detect additions but not removal, that would show that it is capable of learning this or a similar algorithm in principle, but wasn't trained on enough removal-style data to develop the necessary circuitry.
by dartharva | 2025-06-21 05:06:45+00:00
I never understood the appeal of grammar tools. If you have reached the minimum professional/academic level needed to be designated to write something, shouldn't you at least be capable of verifying its semantic "correctness" just by reading through it once yourself?

Why would you pass a writing job to someone who isn't 100% fluent in the language and then make up for it by buying complex tools?
by heylook | 2025-06-21 05:06:59+00:00
> What's the rationale for funding those niche sports?

You've been capitalism-pilled. Sometimes it's worth funding things that "aren't worth funding". Not everything needs to return an easily measurable 10% YoY. Investing in the richness of experience for your population or student body or community is a good thing, even if it doesn't always pay itself back in an obvious way. Well-rounded people are happier, more resilient, and yes, more productive.

Don't blow the whole budget on underwater basket-weaving, but investing a bit in enrichment and supporting niches is an important part of life.
by anonnon | 2025-06-21 05:07:05+00:00
> Honestly though, the biggest impact I've seen across my friends has been what's happened to art commissions

Given the author's eccentricities, when I read "art commissions," I immediately suspected they really meant "furry porn art commissions." Then a few paragraphs later:

> A friend of mine runs an image board for furry art. He thought that people would use generative AI tools as a part of their workflows to make better works of art faster. He was wrong, it just led to people flooding the site with the results of "wolf girl with absolutely massive milkers showing her feet paws" from their favourite image generation tool in every fur color imaginable, then with different characters, then with different anatomical features. There was no artistic direction or study there. Just an endless flood of slop that was passable at best.
by AngryData | 2025-06-21 05:07:13+00:00
-30 isnt really even challenging for a gasoline car, you would need -60 or more for gasoline to become thick enough to be a concern. More likely at that temperature is your battery being unable to turn your engine over to try and start it and might require a jump to get turning over. Diesels may struggle at that temperature, buts its a known issue that northerners add anti-gelling additives and/or block heaters for. Of course an EV can and should have built in battery heaters for that too.
by bongodongobob | 2025-06-21 05:07:22+00:00
It's because people are fucking lazy and completely lost in the digital world. Thinking YouTube should somehow be free is absurd and I'm sick of seeing this bullshit on this site in particular where a lot of the people here are actively involved in this kind of thing. Avg salary on this site is probably north of $200k and they're bitching about paying a few bucks a month for YouTube.
by brainless | 2025-06-21 05:07:49+00:00
I have recently been working with Google Jules and it has a similar approach. It spins up VMs and goes through tasks given.

It does not handle any infrastructure, so no hosting. It allows me to set multiple small tasks, come back and check, confirm and move forward to see a new branch on GitHub. I open a PR, do my checks (locally if I need to) and merge.
by nh2 | 2025-06-21 05:07:49+00:00
> IIRC we modified our database to run off ramdisk

If a ramdisk is sufficient for your use case, why would you use a Raft-based distributed networked consensus database like etcd in the first place?

Its whole point is to protect you not only from power failure (like fsync does) but even from entire machine failure.

And the network is usually higher latency than a local SSD anyway.

> 1000 fsyncs/second is a tiny fraction of the real world production load we required

Kubernetes uses etcd for storing the cluster state. Do you update the cluster state more than 1000 times per second? Curious what operation needs that.
by CobrastanJorji | 2025-06-21 05:08:10+00:00
> The primary thing that makes advertisements disagreeable is their irrelevance.

That's not true. We don't hate billboards because of their irrelevancy. We hate billboards because they're giant ugly attention grabbers that make the world look worse for everybody in exchange for making someone money. If the billboards were all about driving-related products, they'd still suck.

The YouTube ads are hated because that's the whole point. YouTube has something we want (the video), and they're keeping it from us until they we do something we don't want to do (watch an ad). We dislike these ads almost by definition. If we liked them, we'd seek them out, and we'd call them something else, like "movie trailers" or "Super Bowl ads."
by asadotzler | 2025-06-21 05:08:58+00:00
There is no agreement. TOS is a notice not a contract. It's not stealing because it's public content, publicly accessible to anyone with the technology to do so.

If Google wants to make YouTube a service with actually binding contracts and not TOS notices no one reads or respects, it can put the whole thing behind a login and end un-authed public web traffic. They're free to do that but they won't because they know that would kill the site dead, and quickly so.
by pjmlp | 2025-06-21 05:09:12+00:00
People keep repeating this wrongly.

CUDA is a polyglot development stack for compute, with first party support for C, C++, Fortran, Python JIT DSL, and anything PTX. With the hardware semantics, nowadays following the C++ memory model, although it wasn't originally designed that way.

As NVidia blessed extensions for compiler backends targeting PTX, there are Haskell, .NET, Java, Julia tooling.

For whatever reason, all of that keeps being forgotten and only either C or C++ gets a mention, which is the same mistake Intel and AMD keep doing on the CUDA porting kits.
by adastra22 | 2025-06-21 05:09:37+00:00
I think we are talking past each other.

The thing described by the article can be summarized by: "Any time you see A x B, you replace it with A x B^T" and it would, in practice, be exactly the same. I'm not sure the author understood this because then then go on to do a bunch of performance checks to see if there is any difference between the two. Which there isn't, because under the hood it is the exact same operations. They just multiple columns into columns (or rows into rows) instead of rows into columns. But the implicit transpose would undo that.

You can note (correctly) that this doesn't line up with the precise, but arbitrary traditional definition of a matrix, and that is correct. But that is just word games because you can very simply, using only syntax and no calculations, transform one into the other.