Hacker Newsnew | past | comments | ask | show | jobs | submit | echoangle's commentslogin

> For all we know matrix multiplications are a faster way to generate

“are” or “could be”?


Maybe Claude is RLHFd primarily on texts by mpoteat and that’s why it talks this way

I know it's a joke but if you look at many of the key AI researchers papers (written pre-LLM mass adoption) you can see some similarities with how LLMs structure their output.

I'd love to do some stylometry on this...


Just show everyone who looks up the code how often the code has already been checked. If you get a new product but the code has been checked 628 times, it’s probably a reused code.

> And still you're reaction is "it's slop".

The text on the page sounds really AI written so I can see why people think it’s slop.


Yup! Sorry to not reply sooner. I took all y'all's feedback in and decided to replace all of it. You can now read the full, UNREDACTED conversation. Now there's zero AI-generated page-filler, just raw input/outputs.

https://alexisrondeau.me/mosey-site/conversation/ - (You can skip the letter and the final cut since you already know all of that)

My question still remains: Slop or not?a


So they will scan the package, notice the phone, unpack and start it to check the battery percentage and if the shipping mode is enabled?

I hadn’t considered that possibility until you suggested it, but your question does make a good point. I’ll have to look up the mail inspection rules but I assume(?) they have every right until a court finds otherwise. It sounds like exactly the sort of overbearing, petty nonsense that one can reasonably predict from this decade’s administration of the U.S. federal postal service. Are they likely to do so every time? Absolutely not. Will they do so until they get to make an example of someone? Wouldn’t surprise me in the slightest, honestly.

I think they would be allowed to do it because it’s for safety (they could probably also open letters filled with powder to prevent anthrax etc.), but I don’t think they have the manpower and motivation to do it, especially because the risk is probably really low, even without shipping mode.

Wiki on wifi:

> It is disputed whether the name Wi-Fi is short-form for 'Wireless Fidelity',[34] although the Wi-Fi Alliance did use the advertising slogan "The Standard for Wireless Fidelity" for a short time after the brand name was created,[31][35] referenced "the Wi-Fi (Wireless Fidelity) logo" in a white paper[33] and the Wi-Fi Alliance was also called the "Wireless Fidelity Alliance Inc." in some publications.[36] IEEE, a separate but related organization, has stated "WiFi is a short name for Wireless Fidelity" on their website.[37][38] The name Wi-Fi was partly chosen because it sounds similar to Hi-Fi, which consumers take to mean high fidelity or high quality. Interbrand hoped consumers would find the name catchy, and that they would assume this wireless protocol has high fidelity because of its name.[39]

So it’s not really safe to say it’s not meant to mean wireless fidelity, in fact it sounds pretty likely.


You could say this about every QoL feature though. That’s not a reason to not do it though, it adds up and at some point other apps that do bother to make their apps as good as possible will become more popular than yours.

> The CPU doesn't really see functions, it just sees instructions. Functions are a convention on top of the machine code.

Not really true, most instructions set have instructions specifically to implement functions as found in normal programming languages. x86 has CALL and RET for example.

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

Of course the compiler can stil optimize by inlining etc., but functions still mostly exist at the assembly level.


they have instructions for implementing them, but the important point here is that functions are still only defined by instructions that are executing between a call and ret instruction (or their equivalent more spelled-out equivalent operations), and not only can these not match up with what the compiler considers a function (for useful reasons like tail-calls as well as not-useful reasons like compiler bugs and UB), it might not be statically obvious exactly what instructions these are. So the CPU in practice has only a rough guess of where the function boundaries are (it might use these guesses for things like branch prediction, but they don't define the visible execution of the code beyond the nuts and bolts of what those instructions actually do).

And how would you generate assembly to keep a microcontroller idle then?

You call the CPU halt instruction.

What if my CPU doesn't have that? I don't think Atmel Microcontrollers do for example.

Better CPU selection. Embedded almost always have power requirements and you need to put your CPU into a low power mode not a loop which is running fast. You can also design your hardware such that you can turn the power off completely in these cases (or perhaps reboot).

Now that I think of it, a different project (I worked just down the aisle, but I wasn't on it) solved a lot customer complaints by turning all the "while(1);" loops into blink an error code - which since it does IO is defined behavior. Which probably is the correct answer to your question - don't just spin doing nothing, spin in such a way that the user has a clue why nothing is working (and in turn you can find out and perhaps fix real world bugs)


This is myopic. In many cases it takes time, and sometimes considerable programming effort, to enter and exit low power modes. So you don't do it willy-nilly; you do it when you believe the system has quiesced. That means, on a purely interrupt driven system that is not yet ready to sleep, the code may very well be spinning in an empty infinite loop somewhere.

There's no need to inform the "user" because there's nothing wrong with the system. Its simply waiting until the benefit of sleeping outweighs the cost of getting there.


The context here is an infinite loop with no side effects. You have all the time needed to enter those states.

It may take 100s of instructions to enter a deep sleep state, and 100s to 1000s more to exit it. If you anticipate having to service an event sooner than that, you don't enter sleep at all (especially since there's likely a point at which you're committed to sleep, and have to go all the way down in order to come right back out again). Instead, you hang around twiddling your thumbs until the event comes along.

Now if your processor has a halt/wait-for-interrupt instruction (most do but some don't) you can escape into assembly and use that. But it probably makes little to no difference to energy utilization, and of course its not portable. A nice while (true); would seem obvious, except that the C++ committee insisted that it wasn't.

Just one example of where the committee lost sight of the fact that it was defining an imperative programming language.


Not necessarily, you could also want to make an infinite loop and wait for an interrupt without eanting to power down.

AVRs have SLEEP instruction.

I'm also confused that an uncalled function is even compiled and linked, wouldn't it make sense to remove it entirely if the compiler can detect that it's never called?

If it's declared as static, maybe (well, usually, in my experience. You'll also usually get an unused warning). Otherwise the compiler can't assume some other compilation unit won't want it. Linkers can perform a garbage collection pass but they don't often do it by default and they often need finer grained information from the compiler (see the gcc arguments --ffunction-sections and -Wl,--gc-sections)

I can understand adding the 'unreachable' function to the object file, I can even understand plugging it into the final executable, what I (and most other people) object to is making it the de-facto entry point.

This is literally the opposite behaviour compared to what is written in the source code, even when you "assume the infinite loop terminates".


That's the problem with UB, once you hit it (or even have it in your code), you can't really trust anything about the execution anymore. That the function is called isn't something the compiler does on purpose, it's just that the main function is compiled empty due to the UB and the function directly behind it is executed because the CPU just keeps looking for the next instruction.

Yeah, that's what UB does. You get to see the arbitrary behaviour of the underlying machine with whatever the compiler produces.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: