skysight-inc/HackerNews huggingface dataset:
UB is runtime behaviour, which is why "UB? In my lexer?" (the proposal paper for C++ 26 to remove Undefined Behaviour from the lexer, which clearly isn't happening at runtime) is so hilarious - C++ is so badly defined even parsing a source file has undefined behaviour, LOL.

Because it is runtime behaviour UB is constrained, if the only UB is in your "Delete files" code, and that code only executes when the user hits the "Delete" button, we can say that this UB won't occur when the user doesn't hit the button.

But IFNDR isn't like that, since the entire program has no meaning, nothing about it is required at all. Maybe the compiler output is 40GB of zeroes. Maybe when you run the program it immediately segfaults. Maybe it works exactly as you expected... except it's a bit... off and you can't exactly say why.
I’m thinking Self would be a better reference but I’m guessing there’s a limited audience s who’s ever even seen it.
Cryptographic functions for example. Today they might be cutting edge, but tomorrow someone might have found a critical exploit or the hardware has just become too powerful.
Musk is an embodiment of why I am not on Twitter.

Its full of big mouths impulsively blurting out ideas on subjects they aren't experts on (like Taiwan-China relations), often with questionable conflicts of interest.

Not that HN is perfect... I am guilty of rambling on about things I don't really know about. But something about HN's redditesque format makes it so much less severe than Twitter.
Oh jeez, please don't bring AI into the discussion. AI tools will just repeat all the bad StackOverflow advice and hilariously terrible trial-and-error C code from student assignments.
I can't imagine such a place
This post discusses the issue of managing software dependencies and the potential risks associated with relying on large amounts of code that may be vulnerable or malicious.
The author analyzes the number of packages and vulnerabilities in different languages and frameworks, including NextJS, Django, and PyTorch, and provides practical tasks to manage dependencies, such as automating dependencies management and scanning for known vulnerabilities.
I can't speak to this one specifically, but most events have agreeing to be photographed as a default condition for attending. It's pretty much 101 for anyone with any experiencing running an event (unless it's an event where there's some specific reason to not want any photos of).
So the killer app for a $3.5k product is an app that helps you buy other expensive products from the same company?

Maybe I misunderstood, but if not count me skeptical.
This is laughably optimistic.

There are plenty of things companies do, pretty pervasively, that have been proven both scientifically and empirically to be detrimental.
We rarely write unit tests because we are worried about missing an edge case while writing the code. It's often faster to manually test than write the automated case.

We write tests because we need a specification that lives past that moment in time. We also write tests because other parts of the system change because business requirements change in other parts of the system, and the necessary conversation doesn't happen.

I trust what the system does on July 9, 2023. I don't trust what the system will do on July 9, 2024. How do I guard against that?
It's a well executed website, but there is no good reason for it to exist. You shouldn't be on a quest to find high yield dividend stocks in the first place.

Whether a stock pays dividends really shouldn't factor in to your decision as to whether to buy it. Any dividend a company pays out makes the company worth that much less. Whatever you stand to gain from the dividend, you stand to lose in the value of the stock you own.

When buying a stock the only thing that matters are its fundamentals. Ie. is the company's assets and future earning potential worth more than the current price of the stock to you? Unless you have information that the market doesn't, this is not a question whose answer you will reliably get right.
Pinokio: An AI Browser
Extensive discussion a few days ago before the news was official.

https://news.ycombinator.com/item?id=36609641
> their approach to handling Google Services and preinstalled software in particulqr should really be copied

How does it work on Graphene?
Getting very tired of these TypeForm, test the market, pre-sign up waiting list plays. Either release the thing or don't. Your clever marketing hack is probably not as clever as you think.
I like the site. I’ve actually tried to use Schwab and Fidelity to locate long term stable dividend stocks but their search and filters are complex. Your site mostly lists funds so an option to filter by stock, or ETF, or managed fund would be helpful. Also a column that shows the expansion next to the abbreviated ticker name would be gold. Thanks for the effort
Sometimes Safety suffers performance
Sure sounds like it's adding a lot of friction to the purchase phase
The Unleashed and Bible series of books come to mind. Waite group or Sams or so, publishers.

Rather Waite-y.
Oh man, something written in a language I actually know and use?! Will check it out.
That's not something I've considered, but love the idea!

Initial assumption is that there could be a ton of overlap (e.g. select a research area + provide a brief description of your hypothesis/planned experiments to generate the application).

Are there any nuances / complexities I'm missing? What do you find to be the most time consuming part about writing these applications?
For one-liners not quite so many. Only Ruby comes close.
For how amazing Wikipedia + the Wikimedia Foundation is, it blows my mind how awful Fandom, the for-profit branch, is.

Horribly ad-ridden and user hostile. You would never believe they come from the same people.
only if you have a stateful mock server with multiple mock clients attached to it. for example, when you put a sell on the server, you are basically going to be listening on a socket for multiple responses and what the responses are will depend on the buyers (which you must also mock). and don't get me started on buying, ticker conversions between different exchanges, currency, time, etc. it is too hard to mock.

to mitigate this some exchanges, such as london and paris, do provide test exchanges, which are crap, and available every other fridays, or whatever. when i worked in this area, my boss used to test my code by putting a trade on the exchange and then immediatly cancelling it. this was illegal, as he wasn't a licensed trader, and the exchanges got enraged. i refused to have anything to do with it.

but my point is - you cannot do meaningful unit tests on very complex systems. even integration tests can be very hard, but are worthwhile.
Not the app, the retail presence. The Apple Stores have proved enormously valuable when Apple enters a new hardware product category.
They were bought by Bending Spoons which is located in Milan, Italy.
I suspect Chilean office problem was more related to timezones, if they are moving to Europe.
The majority are; they just don't post about it on social media for obvious reasons.
TBF, did you ever run your code with UBSAN enabled? There's a couple of UB cases which don't trigger any bugs until one of the popular C compilers changes some details in their optimizer passes, and which then only manifest with a specific combination of compiler options.
> Capitalism is a heluva lot older than 1549.

Huh? No, it's not. The first step may be learning what "capitalism" means. It's a specific economic system that developed in early modernity. It's not some "natural state of man" any more than feudalism was before it.
What language are you using? I'm using C# at work, but dabble in F# in my free time. I try to find a F# alternative to the C# way, seems like the simplest alternative to dependency injection through containers are just function passing in F#, like you are mentioning.

One thing that I would like to know, is how do you do the equivalent of "registering dependencies" like you would using a DI-container. Where do you setup all the (partially applied) "real" functions and all the "fake/mock" functions etc. I guess it's just a matter of structuring it in a nice way.
Well, CPython is 4 years older than Java. That's very old.

When it came out, this was in store:

https://img.redbull.com/images/w_3000/q_auto,f_auto/redbullc...

What was not in store were:

- multi-core CPU

- wide spread internet access

So people solve concurrency with a simple but efficient and sufficient method at the time: the GIL.

And nobody planned for the scientific and ML stack.
You state unit tests and mocks do not catch all bugs. I absolutely agree with you.

But the answer is not, to not do it at all. The answer is to test in multiple ways. Unit, integration, E2E, manual - how much of each you need depends on what kind of system you're building.
The human brain is generally wired to see others as more similar to ourselves than they actually are, hence Typical Mind Fallacy being a thing.

Remembering that most of the rest of our cognitive processes are running on top of a hyperactive pattern matcher with a tendency to overfit (and to overestimate the comprehensiveness of the training data it's ingested to date) allows one to derive an appropriate lack of surprise at a lot of human behaviours from first principles.

(or at least it seems to work out well for me, it is of course entirely possible that I'm overestimating how well it would work for any given other person for pretty much the reasons I just outlined above)
Notebookcheck is a saint. I have never seen such thorough, technical reviews of laptops anywhere else, much less so many of them.

I really hope they stay alive in this video review age.
Is it possible to swap batteries on the go? That'd be killer.

I only replaced my phone this year (S7 edge) because the battery was depleting too fast.
Zorin also works really well as an option for folks trying to transition from Windows or MacOS. Swap in xanmod and you've got a snappy desktop that just works. My 75-year old mother found her way around it in very short order.
Or (as I just had the pleasure to find out) CTRL-SHIFT-F on my new work machine : - \
Android has always had bigger phones than Apple. At this point it’s in the DNA of the platform to offer phones above 5.5 inches.
There's a massive population of software developers that don't care about software, don't have a passion for the problem solving, don't feel accomplishment when they ship something. They just got into the business because of the money and the hype. These people will never amount to much and will cost companies lots of opportunity cost money. It makes sense to not pay Bay Area salaries for these people and to go pay people in Europe to have this attitude. But for the people who actually love shipping products to people, there will always be money and they will always be in demand. The only problem is you can't find them reliably through the front door application process - you have to get lucky or build a network to find them. They're worth their weight in gold
Very cool. I love stuff like this. I remember a Snake game being made in 8KB of .NET
Conversely the fact that you need special fit lenses and a store appointment means its going to be hard to test out and hard to buy. You're probably not going to be able to wander past the Apple store in the mall and take a quick peek in and play with the Vision Pro like you can with their other products like the iPad. Nor will testing your friend's necessarily be a good experience. Plus even in the U.S Apple Store's aren't that common requiring a multi-hour drive to get to in some places.
Does Musk mean “inevitable” in the same sense as full self-driving, colonies on Mars, or hyperloops?

Just one blunt away from calling a world leader “pedo guy.”
Oh that PDF is awesome
Will gold pave the yellow BRICS road? BRICS’ GDP has already surpassed G7’s
It's important for reading other people's code. When I see a function call then I know that "anything" can happen inside that function, so I better investigate. For anything that's not a function call it is obvious what happens under the hood.

In languages like C++ I potentially need to check every operator if it is overloaded, and find the place where that happens (I think I haven't seen any IDE support to help with 'resolving' overloaded operators, but maybe that has improved in the meantime).
I do a lot of mentoring and I’m not sure that code reviews are really the right place for it. Comments in a code review can be fine for small things like “oh you just rewrote a function that already exists over here- maybe you’d like to use that instead”, but those things don’t really matter much in the end.

Teaching people how to design applications is a lot more useful, but code reviews are really not the time and place. For one thing, making someone go back to the beginning when they have a working (if flawed) PR is going to demotivate people and strip away their confidence. It’s also going to really limit your ability to ship quickly. Even if you put those challenges aside, the review experience for GitHub PRs (which I’d guess is how most people are doing reviews) doesn’t allow you to comment on code that wasn’t part of the diff. This makes it really hard to discuss the broader impact of a change i a PR because you can’t add context inline about things someone missed.

After trying and failing to do good mentoring through code reviews I’ve mostly given up. I do use them as a chance to see where people might benefit from some mentoring, but I keep my reviews quick and lightweight. If I don’t see anything wrong with the PR I approve it. Mentoring happens during dedicated time I put on people’s calendars to focus just on mentoring outside of a PR.
Eventually Munches All Computer Memory.

Other backronyms too.
Thank you for the input, one point that stood out for me was that you prefer to write command-line utilities with C.

Why is that? I use scripting languages mostly in my day work (Ruby and some Python bc AI) and have found my productivity using command-line utilities is amazing with Ruby. Do you do it bc of performance, ease of use bc you are proficient, a mix of both or something else?
Mesothelioma and the Simian Virus 40
Why does dividend exist then?
And I'm so tired of dealing with the smoke from forest fires, amongst other things.
There's an Obisidian plugin for direct syncing to OneDrive that works on both mobile and desktop - this keeps you from having to deal with either triggered syncs through github or the various other, painful syncing processes.

https://github.com/remotely-save/remotely-save
I liked this story and think HPMoR is the worst thing I've ever read in its entirety.

The first few chapters of HPMoR are fine, I suppose. It's pretty lighthearted. But it rapidly devolves into unhinged ranting at extreme length. The last five hundred thousand pages are a vehicle for the "wisdom" of one of the most insufferable, unjustifiably arrogant, and misinformed people to ever draw breath.

Just go read Elon Musk's Twitter feed. Same experience, whole lot shorter.
Anyone know of a cloud service for trying out consumer CPUs like this?
Ok. It's possible I read it before that part of the book was released, but it's equally possible I forgot about the plot.
Mangling isn't magic.

You have a type T, and a struct U which contains a T.

A function takes a U by reference, and therefore will be mangled with U.

However say that function was built with a different version of T than the caller. This doesn't affect mangling. Things silently work even though they break.

This is a basic pitfall of working with any system that allows linking of binaries.

The setup only works so long as you guarantee that all entities with the same name are indeed the same thing. This is the One Definition Rule.
You can find out a high level explanation here: https://grapheneos.org/usage#sandboxed-google-play
I worked with a lot of code like that. The decisions made on dependencies were trivial. Bugs happened when dependency answered with something we did not expected. Or when we send away wrong data (not knowing parameter X is mandatory when Y equals Z sort of thing).

Meanwhile, all those mocks were just clutter.

Integration tests made a whole lot of sense. Mocks did not.
Thanks for the link, just what I was looking for the other day. Was listening to a Steve Wozniak interview and his early tinkering with pong and the like.
Agreed on the dismay regarding type annotations. My opinion is that potentially misleading code which gives a sense of safety when none exists is worse than dangerous code. It lowers the programmer’s guards, which can lead to more bugs.

Integer overflow will result, I’m pretty sure. The largest value a signed 16 bit (so, 15 bit) can hold is 32767, IIRC.

I can see where that’s unexpected for people whose brains aren’t wired in powers of 2. This is one area where I think Rust improves upon C, with its availability of overflow detection in arithmetic. It’s unfortunately verbose, but it enables greater safety.
The standard path is optimized for college admissions discrimination. It is prep for the SAT and calculus. What is not taught is effective problem solving. Instead we are basically teaching rote pattern matching. The proof of this claim is that chat gpt aces the SAT in math but fails on any advanced test like the IIT exams. Chat gpt even fails advanced AP English and literature exams. A place a priori you’d expect an LLM to do well.

Yes we should learn the chain rule and derivatives/slope but arguably developing statistical, mathematical and even computational reasoning/thinking is a better foundation.
all these require state and the syntax & semantics of the exchange, which is not under your control in the real world
Yes, the battery is removable just like an old Nokia phone.
After 30+ years, I kind of reverse the pyramid, honestly. I look for readable, maintainable code, and try to make sure the writer is doing appropriate testing. But whether or not it works and is correct, that's not my job, that's the developer's job. I know developers that will spend days on a code review, which is a horrible waste of time. CI/CD and your deployment followup structure (canaries, monitors, gates, etc) should be catching any significant issues the vast majority of the time, and if it isn't, you need to spend time there.

My main concern as a reviewer is to make sure future people can understand the code when the inevitable modification comes along.

Things are different if the writer and reviewer are in a mentorship relationship, but even still, if you are only engaging with the code as a mentor when the PR hits, you're messing up the mentorship!
Is that client-server API robust enough to .. care? Why don't other (any other?) FOSS implementations support it?

I'm toying around with my own and that's interesting. I'd love to support it but if no one else supports it no clients will support it either. Granted eventually i expect i'd want some client-server API so i may as well use ActivityPubs. Nonetheless the lack of adoption feels odd.
Good points, especially for value investing. It also seems likely that this logic holds whenever analyzing a traditional company. Once again, I'd ask whether the same logic holds for the ETFs and leveraged funds that encompass most of the stocks on this site?

There may be other reasons not to invest in such a stock, but I seem to keep seeing value investors trying to compare apples to oranges.
You don’t need to imagine. No one cares. A very tiny fraction of photos get anyone’s attention.
Hope we'll both get through this. Thanks for sharing similar experience with me :)
The UB problems have no relation to the machine behavior. UB exists only on the compiler.

The fact that many C developers keep confusing it with implementation dependent behavior gives me no confidence on their other opinions about the language.
There's a plugin that resolves this (https://github.com/remotely-save/remotely-save) and you can also use pre-launch shortcuts using WorkingCopy if you want to sync via git.
Nicklaus Wirth was right. I felt that the first time I used Lazarus/FreePascal, and felt it to be true the more of his works I read.

Recently though, I think maybe the way to get off the "cycle of reincarnation" for this type of thinking is to do WASM - but I cannot abandon hardware like that. I am mentally incapable of accepting a spiritual machine that I cannot break with a hammer upon my desk; [I am] too primitive; an indestructible global computer that runs on other people's hardware for thousands of dollars of compute time and is slower than an RPi (like Ethereum) is anathema to me in some fundamental way.

I still want to get that (Wirth was right) on a shirt with his face on it.
Solar storm expected to make Northern Lights visible in 17 states
I have currently 7300HQ based laptop. Would this provide good perf improvement to web dev, primarily based on vite, or is it bottlenecked by something else. Currently its somewhat sluggish but I guess its not worlds end.
And another thread from a couple hours ago that links directly to Evernote's blog: https://news.ycombinator.com/item?id=36650656
>> what advantage does Perl retain?

Ubiquity, speed, and conciseness.

Perl is usually installed by default on Linux and Unix systems. Ruby might be there, it depends.

Perl is faster than Ruby. Ruby has been one of the slower scripting languages.
But Ruby has been working on performance improvements in the past few releases. I have not seen any benchmarks of the current Perl versus the current Ruby, so this may have changed.

Perl is more concise than Ruby allowing more functionality for less code.
Also the original pixelbook: https://www.google.com/chromebook/device/google-pixelbook/
If you did that some years would be great and some total losses. The reason being that at each grade level there are 4-10 kids that are completely unmanageable. If you allowed random to happen some percentage of the time you would overload a class with mayhem
In my years as a junior dev I noticed this! The signs for me were seniors who had just aged through, but I knew more about the tech stack and problem domain or that could not just intuit a recursive function(I was flabbergasted as I watched one of them lookup how to write one).

In the years since all these devs have since moved on to management rather than more senior technical roles.
I wouldn't call mocking testing against reality. Like all testing it has its limitations:

- Mocking doesn't validate schema. Vendors can change schemas on a dime and the schema you're working with is often the schema as you know it at the time. This is partially negated through aggressive dependency management and languages with type systems and vendor provided interfaces.

- Mocking doesn't validate behavior. APIs can be weird and have bugs, vendor bugs still become your bugs in mocking.

- Mocking doesn't simulate network calls. You can certainly implement mocked latency, but again this is a smooth facade over a complex problem.

It's also worth noting that using mocks, especially on vendor interfacing code, will shape how that code reads and not everyone is going to grok that right away. It's definitely different.

No testing is perfect and will catch all of the above, but if you're cognizant of the above you can get close by combining good unit tests. That said, calling it reality is a misnomer imo.
But we _are_ fungible. At least 99% of developers in 99% of projects.

Management is right in trying to remove “personality” imo.
Your comment implies European tech workers are somehow less passionate or that passionate tech workers can't be found here. This is a harmful myth that perpetuates our depressed wages. We're not America's backwater for tech sourcing. We're just as capable and passionate.
Are you saying that those people are not living in Europe?