HN user

DSMan195276

2,621 karma
Posts0
Comments905
View on HN
No posts found.

Yeah I agree with that as well, the unsafe keyword takes on a double-duty which makes it unclear how it's actually intended to be used. The idea that you might mark a function that's only made of safe code as 'unsafe' is not that obvious and not always agreed upon, I've seen plenty of debating about it.

The fact that 'unsafe' also enables all unsafe operations in the function body just makes it even messier, since you definitely _don't_ want that unless the entire body is really nothing but unsafe operations. Thus the "mark a safe function as unsafe" has a clear downside since it allows all the unsafe operations you didn't want to use.

But the bug is still almost always in an unsafe block.

That's entirely dependent on how you write your Rust code. If you're derefing an invalid pointer then the bug is usually in how you calculated that pointer value, but the only part that actually requires 'unsafe' is the deref, not the bugged pointer calculation.

Now in properly written Rust code you should be marking all of that code as 'unsafe' in that case and documenting what invariants need to be maintained, but that's entirely on you to do. The only part the compiler actually enforces is that you mark the specific spots where you make use of the operations that 'unsafe' allows.

I agree and would add to that from my experience:

1. Too many people think that having lots of text makes something impressive, really it's just inconsiderate and nobody is reading it all.

2. Helping people often feels pointless because I can tell I'm just getting a cut/paste AI response back.

A leap-hour, meanwhile: That kicks the can so far down the road that we'll probably lose track of it completely. 600 years is a very long time; society will be a very thing by then. Leap-hours seem to me to be moral equivalent to the "fuck it, let's just give up" option.

Something to consider: The use of timezones in mostly 1-hour increments over inconsistently placed areas means that the vast majority of people are already living many minutes off from the "actual" time at their precise location, in some cases even more than an hour. "Giving-up" implies that this is something important worth maintaining, where-as for the vast majority of people they gain nothing from leap seconds or even leap minutes. The most important thing for people is simply that everybody agrees on what time it is, which is easier when leap-Xs aren't done.

That said it's also probably true that a leap-hour would never actually happen, but that's not some big issue. By the time we got to the point that a leap-hour would make sense people would have already adjusted their habits and it probably wouldn't be worth it.

For me the problem is that the target performance is in a weird spot - low enough that it's not amazing, but high enough to still be very expensive if you don't plan to play games that actually require that performance.

A cheap $300 mini-PC is a lot weaker but it can still play plenty of indie and other games just fine, ultimately that's what matters. For me, I would have considered buying one of these if they had one at a $300 to $400 price point even though it would have been significantly weaker, but at $1k it's just impossible for me to justify.

Stop Killing Games 2 months ago

The government will release it with all the copyrighted code and assets that's owned by a bunch of third-parties?

Ex. if I license my artwork, music, characters, code library, etc. to a game developer and they don't create a legally releasable version of their server, then the government will forcibly break our licensing agreement and I just get screwed?

Stop Killing Games 2 months ago

Wouldn’t it only require action from you if you were trying to kill multiplayer in the first place?

It's a question of when, not if - you're not going to pay to keep the servers online forever. What are the legal consequences of not releasing a functioning server if for some reason you can't? If they're bad enough then plenty of people will not be interested in taking that risk by making such games.

Assuming the port is actually 1:1 without any behavioral changes

It's not, that's clear from this kind of bug popping up. Functionally this bug exists because `PathString` was converted into a "safe" Rust API but still works the same internally as the original Zig code did (via using `unsafe`), that introduces UB that wasn't there in the Zig code.

If it was attempting to be a 1:1 with no behavior changes (like c2Rust attempts to do) then this would not have been turned into a "safe" Rust API like this.

Sellers what? You generally don't just drop stuff off at a fulfillment center, when you get to that size you're dealing with large amounts of inventory and you ship it to them.

If you're saying sellers could come into a GameStop to have their individual items packed and shipped out, I suppose, but:

1. They don't really have the space for much shipping volume at any of their stores.

2. You can walk into any USPS, UPS, FedEx, etc. store and do that already, you don't need an 'EBay' store. GameStop would presumably get the packages picked up by one of those carriers so it's not saving any shipping time or expense.

For buyers, in many cases there's already alternative drop-off locations similar to GameStop Ex. For UPS deliveries I can get them shipped to a bunch of different convenience stores near me. GameStop stores might be a nice addition to that list but it's not enabling something you couldn't do before, and I would think for most people they already have a closer location than a GameStop.

Yes but I don't need to go to my nearest fulfillment center if they ship everything to my house, that's why I don't know where it is.

What do you think people need to visit fulfillment centers to do?

No, why does it matter? I also don't know where my local GameStop is since the few by me closed a couple years ago :P

Plenty of stuff on EBay offers me 2 day shipping clearly via fulfillment centers, as far as I'm concerned that's all that matters. Do you think the addition of GameStop stores would mean EBay can offer faster shipping than that on a significant number of items?

Yeah this is the funny part to me - if you thought EBay was an amazing business then you could have just bought that stock months or years ago. Maybe the combined company will really be worth more than both companies individually, but for the most part this is just GameStop deciding how you should have invested your money months ago.

Well let's be clear, the "trade-in anything" day was a fancy discount day. They gave everybody $5 for whatever they brought in, online you can read from employees that they just donated or threw it all away, no attempt to actually keep any of it to sell.

That said IMO the biggest difference in the two situations you're describing is that EBay is not in the business of buying the items to then sell later, they just facilitate transactions between two parties and some of the logistics (depending on the seller). They're similar as far as dealing with "used goods" but the actual design of the business and risk being taken on is very different.

EBay also not really lacking what you're describing - there are fufillment centers that can be used for EBay listings, there's the EBay "Authenticity Guarantee" program for cards, they already own TCGplayer which does all of this for trading cards way better than GameStop does, etc.

Perhaps somehow these things could be improved by GameStop but I can't imagine it being significantly better than it currently is.

Ti-84 Evo 3 months ago

Well I'd add to that - the real core feature is that the teacher and usually the textbook show you exactly how to use it, that's why it gets listed specifically as a course requirement.

That unfortunately is also why they can charge so much and people buy them anyway, because at best you'll be on your own to learn how to use anything else (and at worst you won't be allowed to use it at all for tests and such).

I think you're somewhat missing the point - if the code from A and B only works if joined with C, then you should squash them all into one commit so that they can't be separated. If you do that then the problem you're describing goes away since you'll only be rebasing a single commit anyway.

Whether this is valuable is up to you, but IMO I'd say it's better practice than not. People do dumb things with the history and it's harder to do dumb things if the commits are self-contained. Additionally if a feature branch includes multiple commits + merges I'd much rather they squash that into a single commit (or a couple logical commits) instead of keeping what's likely a mess of a history anyway.

In this case because Nintendo has an American branch (Nintendo of America) that imports their goods, Nintendo of America is who paid the tariffs and would get a refund. Consumers only paid indirectly via potential price increases, so no they don't get any potential money back.

The problem is the messy in-between, plenty of people who talk to professionals or call hotlines don't know that their questions are dumb. The bot should at a minimum say "I have no information on that" or "that's not a good idea", it should definitely not start giving nonsense recommendations just to reaffirm the question.

In other words you'd be pretty surprised if a real person in this context gave an answer even remotely close to what this chat bot gave. You can't expect a general person to know when the chat bot isn't giving back good information just because they asked something outside the norm.

unless there is some reasonable person standard applied here like 'everyone knows Harry Potter, and thus they should know it is obviously not CC0'

Yes there's an expectation that you put in some minimum amount of effort. The license issue here is not subtle, the Kaggle page says they just downloaded the eBooks and converted them to txt. The author is clearly familiar enough with HP to know that it's not old enough to be public domain, and the Kaggle page makes it pretty clear that they didn't get some kind of special permission.

If you want to get more specific on the legal side then copyright infringement does not require that you _knew_ you were infringing on the copyright, it's still infringement either way and you can be made to pay damages. It's entirely on you to verify the license.

I agree it was a moderation issue, but for me it's Reddit that largely replaced my SO usage starting some years ago. Reddit is pretty similar to SO in design, but the more decentralized nature of the moderation means that questions rarely get "closed as duplicate" and answers tend to be more up-to-date as a result. There's not always a consensus answer and I'm often looking across multiple threads on the same thing, but that's still better than an outdated SO post.

Something that bothers me here is that Anthropic claimed in their blog post that the Linux kernel could boot on x86 - is this not actually true then? They just made that part up?

It seemed pretty unambiguous to me from the blog post that they were saying the kernel could boot on all three arch's, but clearly that's not true unless they did some serious hand-waving with kernel config options. Looking closer in the repo they only show a claimed Linux boot for RISC-V, so...

[0] https://www.anthropic.com/engineering/building-c-compiler - "build a bootable Linux 6.9 on x86, ARM, and RISC-V."

[1] https://github.com/anthropics/claudes-c-compiler/blob/main/B... - only shows a test of RISC-V

It's phishy because it's breaks the rules people are generally told for avoiding phishing links, mainly that they should pay attention to the domain rather than subdomains. Browser even highlight that part specifically so that you pay attention to it, because you can't fake the real domain. The problem with what GitHub does here is that while `github.github.io` might be the real GitHub, `foobar-github.github.io` is not because anybody can get a github.io via their username, that was part of why they made github.io separate. Additionally they could easily host this via GitHub Pages but still use a custom domain back to github.com, they just don't.

I would say that GitHub is particularly bad about this as they also use `github.blog` for announcements. I'm not sure if they have any others, but then that's the problem, you can't expect people to magically know which of your different domains are and aren't real if you use more than one. They even announced the github.com SSH key change on github.blog.

Without questioning the LOC metric itself, I'll propose a different problem: LOC for human and AI projects are not necessarily comparable for judging their complexity.

For a human, writing 100k LOC to do something that might only really need 15k would be a bit surprising and unexpected - a human would probably reconsider what they were doing well before they typed 100k LOC. Where-as, an AI doesn't necessarily have that concern - it can just keep generating code and doesn't care how long it will take so it doesn't have the same practical pressure to produce concise code.

The result is that while for large enough human-written programs there's probably an average "density" they reach in relation of LOC vs. complexity of the original problem, AI-generated programs probably average out at an entirely different "density" number.

Yeah I agree that one isn't very clear, perhaps the idea is to use `msync()` as a barrier to achieve consistent ordering of the writes without having to handle that yourself with more complex primitives. But then, they do mention some of those primitives at the bottom of the article, so it's hard to say what exactly the idea is.