skysight-inc/HackerNews huggingface dataset:
CUDA is quite different. In CUDA you do not express parallel code in a linear fashion, a.k.a. sequential fashion, hoping that CUDA will determine the dependence chains and extract them from the sequential code and execute them in parallel.

The main feature of CUDA is that in order to describe an algorithm that is applied to an array, you just write the code that applies the algorithm to an element of that array, like writing only the body of a "for" loop.

Then the CUDA run-time will take care of creating an appropriate number of execution threads, taking into account the physical configuration of the available GPU, e.g. how many array elements can be processed by a single instruction, how many execution threads can share a single processing core, how many processing cores exist in the GPU, and so on. When there are more array elements than the GPU resources can process at once, CUDA will add some appropriate looping construct, to ensure the processing of the entire array.

The CUDA programmer writes the code that processes a single element array, informing thus the CUDA run-time that this code is independent of its replicas that process any other array element, except when the programmer references explicitly other array elements, which is normally avoided.

The task of a CPU able to do non-sequential instruction execution (a.k.a. out-of-order execution) and simultaneous initiation of multiple instructions (a.k.a. superscalar instruction execution) is quite different.

The main problem for such a CPU is the determination of the dependence relationships between instructions, based on examining the register numbers encoded in the instructions. Based on the detected dependencies and on the availability of the operands, the CPU can schedule the execution of the instructions, in parallel over multiple execution units.

There exists an open research problem, whether there is any better way to pass the information about the dependencies between instructions from the compiler, which already knows them, to the CPU that runs the machine code, otherwise than by using fake register numbers, whose purpose is only to express the dependencies, and which must be replaced for execution with the real numbers of the physical registers, by the renaming mechanism of the CPU.
Container Networking
Writing a test is often the best way to reproduce and make sure you fixed a bug.

Keeping them for a while lets you make sure it doesn't pop up again.

10 years later, they probably don't add much value.

Tests are tools, that's like saying 'No, your food won't taste better with more salt.', it depends.
Half-serious, but where do I get started?
It looks like the scorpion protocol is described at https://github.com/zzo38/scorpion/. To retrieve the file mentioned above (without TLS), use:

nc zzo38computer.org 1517 <<<'R scorpion://zzo38computer.org/smallweb.txt'
I'm not sure why you're bring Luddites into this. Ludd and his followers were opposing the industrialization of their professions because it meant they were losing their jobs to machines while the factory owners were continuing to build on the wealth they helped create. Technological progress is still usually spoken about in abstract and misleading terms of "increasing productivity" as if it were about reducing the workload of the worker when instead the worker's hours remain the same and a reduced workload just translates into "redundancies", i.e. the workers don't gain anything from being "more productive", they actually stand to lose their jobs entirely because fewer workers are necessary for the same output.
The insults sound a lot like the ones from the sword fight in Monkey Island.
If people want it to be relevant to its primary use case, than low-latency HID interface callbacks are certainly required... Otherwise you will have people fighting the mouse-in-browser scope issues, and partying like its 1993 on the keyboard.

If people don't keep the IMU/navigation interfaces close to graphics interface layer, than the project will develop difficult to debug syncing and or lag issues in the VM layer.

I could be wrong about this issue, but it was the primary reason we culled the js based game engine project. =3
Bangladesh PM Hasina has resigned and left the country, media reports say
To me, advice like "just write your code in a way that you will only ever extend it, not change it" is about as realistic as "just don't write bugs".
We can't say anywise as the guy is dead and we can't for sure believe anything he said but based on the reaction of my fellow Arab colleagues, 9/11 had an important moral effect on them. As one of them explained to me, they felt victims for decades, and now for the first time in history they managed to have the upper hand.
Would they even need to? The specs are public. Actually pressing them would be the hard part though.
Title missing the leading "How"
It is mentioned on my profile (on HN).
Bitonic | App developer (Flutter) | Full-time or part-time | Amsterdam

In April 2012 Bitonic was the first in the Netherlands to start offering (automated) Bitcoins via iDEAL. After that we expanded our services with our Bitcoin exchange BL3P, a Bitcoin savings service (Bits), an informative platform: bitcoin.nl and the Bitonic Academy. Recently, we introduced our app and offer the possibility to store bitcoin with us (custodial) instead of in a private wallet.

Bitonic's mission statement is: Bitcoin for everyone. As such, our team is passionate about providing an accessible and convenient service for buying and selling Bitcoins.

We are looking for an enthusiastic app developer, who will focus on the development and enhancement of our app. We are looking for a colleague who enjoys working in a scale-up environment with a lot of freedom and independence.

Website: https://bitonic.nl/
View full vacancy here: https://bitonic.homerun.co/app-developer-flutter/en
Thanks a bunch, now the coffee is on my keyboard.
China had London's Great Smog of 1952 situation in big cities but they are doing massive turnaround.

Chinese electricity production was 81% coal in 2007, 75% in 2013 and something like 55% today. EV's are 37% of cars sold (more in the cities). China has huge lead in solar panels and battery technology.

China is building more modern coal plants, but they are fired less often and are used only to match energy reliability goals because solar can't do 24/7 and nuclear plants take time to build.

China does not have similar coordination problems as democracies, so they can do 180 degree when the top guy sees the problem.
Netherlands produce really edible tomatos, just your suplier buys D category produce instead of A, which is expensive. I'm surprised that Italy or Spain can't match (maybe because of price) on my supermarket shelf. I don't challenge homegrown tomato - they are superior! But you have to survive winter somehow.
Recently discussed: https://news.ycombinator.com/item?id=41126782
OpenAI won't watermark ChatGPT text because its users could get caught
But then you'd have to use YAML
Its a lifestyle that glorifies plastic and results in the mass production of it. Its marketed so well that many just refuse to see it. Its like the tobacco of plastics. One brick can last 1300 years. Do you REALLY need your toys to last 1300 years?

True creativity can use a responsible sustainable medium.

Take a look at this mess:

https://www.bbc.com/news/uk-england-cornwall-66187273.amp
Israel isn't bombing and killing as it pleases. If several groups could stop attacking it, we would immediately have peace. The aggression is completely one-sided.

Iran has been instigating violence against Israel for decades. They are happy to sacrifice Arab lives and the people in countries surrounding Israel for their own cause.

If Israel were to defend itself alone, it would probably lead to even more drastic measures with quite terrible weapons of war.

The leadership of Iran is a fundamentalist and totalitarian Government that only survives because it can point to allegedly external threat. A strong message towards that government can even save lives in the long term.
Capitalism gives me options. I can get expensive tasty locally grown tomatoes when in season, if I want, while still being able to get really cheap tomatoes at any time of the year.
> This suggests that you do think soemthing like this.

Or it suggests they’re continuing the analogy (which isn’t perfect) to make a different point.

> Again, the way you test (…) is not (…)

Twice you’ve spent the majority of words in your post telling someone they’re wrong without explaining the correct methodology. That does not advance the conversation, it’s the equivalent of saying “nuh-uh” and leaving. If you disagree, it’s good form to explain why.

It doesn’t take long to say the failed magnetisation would leave all needles pointing in disparate directions, not the same consistent wrong direction. Unless there’s something else in your test that is so strong and wrong that it causes that problem, in which case the analogy starts working again.
There are some interesting ideas in this article. Not using source control and removing tests resulting in a better program is quite fascinating.

It's a shame that there are so many rude comments. It seems like there are many close minded folks lurking here, forgetting that experimentation is essential in tech.
It depends a lot on what you work on and how you program. Virtually none of our software has actual coding errors, and when developers write new parts or change them, it’s always very obvious if something breaks. Partly because of how few abstractions we use, partly because of how short we keep our chains. Letting every function live in isolation and almost never being used by multiple parts of the software. Both the lack of abstractions and the lack of reuse is against a lot of principles, and it’s not exactly like we refuse to do either religiously, but the only real principle we have is YAGNI, and if you build and abstraction before you need it you’re never going to pass a code review. As far as code reuse goes, well, in the perfect world it’s sort of stupid to have a lot of duplicate code. In a world where a lot of code is written on a Thursday afternoon by people who are tired, their babies kept them awake, the meetings were horrible, management doesn’t do the right things and so on. Well, in that world it’s almost always better to duplicate code so that it doesn’t eventually become a complicated abstract mess. It shouldn’t, and I’m sure it doesn’t in some places, I’ve just never worked in such a place. I have worked with a lot of people who followed things like clean code religiously and the results were always unwieldy code where even small changes would take weeks to implement. Which is completely counterproductive to what the actual business needs. The benefit of YAGNI is that it mostly applies to tests as well, exactly because it’s basically impossible to make changes without knowing exactly what impact you’re having on the entire system.

What isn’t easy is business logic, and here I think tests are useful. Or at least they can be. Because far too often, the business doesn’t have a clue what they want up front. Even more often the business logic will change so rapidly that tests automated tests become virtually useless since you’re going to rely on acceptance tests anyway.

Like I said, I’m not religious about it. I sometimes write tests, but in my anecdotal experience things like full test-coverage is an insane waste of time over a long period.
I agree, and the author probably does as well.

I didn't get the feeling it was meant as general advice.
Plus there's so many good reasons to have tests in a single person project

* Hotwiring if statements with "true ||" to go straight to the feature you're building takes time, and you're gonna have to tear it down later. Just build a test and run it, that way you get to keep it for regression testing

* If you're shipping something big, or slow, (which can just mean 'I use qt' sometimes) and launching the app/building the app takes ages, just make a test. A single test loads quicker and runs quicker

* If you're debugging and reproducing the bug takes 45 seconds, just write a test. It automates away the most boring part of the job, keeps your flow going, allows you to check the status of the bug as often as you want without having to think about if it's worth it or not, and, same as #1, you get to keep the test for regression testing
More jobs for everyone.
I'm pretty sure he's trying to find his balance, because it is always a balance and we tend to err big on the other side.
> Building durably for lots of people is too hard, just don't even try. Be ruled by what you know well, who you know well and Dunbar's number.

Wikipedia on Dubar:

> A replication of Dunbar's analysis on updated complementary datasets using different comparative phylogenetic methods yielded wildly different numbers. Bayesian and generalized least-squares phylogenetic methods generated approximations of average group sizes between 69–109 and 16–42, respectively. However, enormous 95% confidence intervals (4–520 and 2–336, respectively) implied that specifying any one number is futile.

https://en.m.wikipedia.org/wiki/Dunbar%27s_number
As someone who has a decent grasp on Japanese culture, I think your take is too conspiratorial. The issue is simpler than this. Japan has an extremely hierarchical society and authority must be respected. This isn't a great combination, especially when combined with a severely aging population.

Young people have very little chance to enter into politics or gain any traction at all. There is almost zero chance a 75 year old will vote for someone in their forties.

Combine that with the natural tendency for some to a lot of corruption among politicians and it's just a perfect storm of stagnation, corruption and vested interests, there is absolutely no US involvement required.
lemme explain quickly: you have to prove a lot of different things on paper, not just who you are; in reality this is just a money-milking side-hustle business for Microsoft. The process I had to go through had many different steps but in the end it all just relied on a blind trust between me and vetting team from the first step.
I don't think reinterpret casting enums is something that should be encouraged and uncovering such points where unexpected values can be introduced is exactly the point of having a strict enum. Just because putting random values into the enum isn't itself undefined behavior doesn't mean that your program isn't going to blow up later on.

Bitmask enums are also a hack and the better solution is to have different types for the individual flags (an enum) as well as a type for combinations of flags (custom type built around an integer).

Yes, these are existing uses but when enum class was designed there were no existing usages for that.
According to Hyrum's law, this is an API :)
I believe HN auto-strips such "filler" words, needs to be added again by a mod
How do we know that current artificial neural networks aren’t the local maximum of modelling, and there isn’t a better model (biologically inspired or otherwise) that we haven’t explored yet?

We need both to work on improving what we have that works, and to explore other avenues and inspirations (both to try entirely new things, and to improve the things we already have working in new ways). I don’t think it wise to throw out what we have working to try again with something biologically inspired, but I also don’t think it wise to say ok we’ve learned enough from biology, let’s focus purely on what we have now, when we don’t understand so much about biological brains, intelligence, and consciousness.
2.5% of veggie weight? Or water weight?

I always use 3% of water weight, which in more consistent than weighing the veggies, because the amount of water can vary.

Very unusual to see food-related content on HN. I love it!
It does not support hardware keys.

An Age key can be in a PIV slot of a Yubikey. With a secret manager such as Passage, you will have secure access to secrets.
Name one which offers something similar to the RP2040 state machines (PIO) which I can actually buy (not to speak of the RP2040's very competitive prizing) outside of China?
Tomatoes are a climacteric fruit, meaning they have a ripening period after which they start to decompose. Mass-produced climacteric fruits are picked underripe to ensure stability during transport.

The flavours that make garden-fresh tomatoes develop only when the fruit is allowed to ripen on the vine. As a result, you’re very likely not to have full flavour from supermarket fruit.

[1] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6895250/
I've been thinking with this idea for a while now - an AI-powered search engine that helps people find the right AI tools. You know how it is, there are tons of AI tools out there and it can be a pain to find the right one.

So I made it open source and flexible enough that you can use it to search for your own data too.

I used Next.js for frontend, supabase for database and vector search, redis for cache, gpt-4o-mini to generate output, The demo is free to use.
Here's the link to the GitHub repo: https://github.com/DiscovAI/DiscovAI-search
And here's where you can try it out: discovai.io
The geometry, with the front and rear axles turning on opposedly-angled tilted axes, looks identical to that of (the old four-wheeled kind of) roller skates. Swiveling the axles into a turn makes the whole thing tilt -- and conversely, tilting it swivels the axles so it turns.
Whats the point? Theres a feature called bookmarks

I struggle to understand ppl who brag about tabs count
I watched a video by Russ Cox that was recommended in a recent thread, Go Testing By Example:

https://www.youtube.com/watch?v=X4rxi9jStLo

There's _a lot_ of useful advice in there. But what I wanted to mention specifically is this:

One of the things he's saying is that you can sometimes test against a simpler (let's say brute force) implementation that is easier to verify than what you want to test.

There's a deeper wisdom implied in there:

The usefulness of tests is dependent on the simplicity of their implementation relative to the simplicity of the implementation of what they are testing.

Or said more strongly, tests are only useful if they are simpler than what they test. No matter how many tests are written, in the end we need to reason about code. Something being a "test", doesn't necessarily imply anything useful by itself.

This is why I think a lot of programmers are wary of:

- Splitting up functions into pieces, which don't represent a useful interface, just so the tests are easier to write.

- Testing simple/trivial functions (helpers, small queries etc.) just for coverage. The tests are not any simpler than these functions.

- Dependency inversion and mocking, especially if they introduce abstractions just in order to write those tests.

I don't think of those things in absolute terms though, one can have reasons for each. The point is to not lose the plot.
There was no need to have 5 digit codes or more than 0-9 for the flight numbers 20 years ago. Arguably there isn't a need now. It's 3 airlines in the entire world which have this issue because they want to have their own 4000 flights plus codeshare more than 6000 other flights from partner companies.

This is a problem for people inside those 3 airlines to solve within the constraints that the current living world has imposed on them.
You created this account 2 mins before posting this comment?
Would be great to have a mode: "Skip a video I already knew everything" :-)
> Get used to this new reality. Enjoy your gaming experiences when you have them.

Such a bizarre take, when most games I play are from a decade ago or more.

I have very little interest in current gaming trends.
I don't really understand this statement ,can you clarify?

I've also lived in Japan for a while, and I've always found any sort of argument around the different nature of Japan based in "people be different" to be unsatisfying.
Fucking killjoys. "Anti-drug" pro-alcohol hypocrites. And racists to boot.
no, deferencing a null ptr is UB. An enum class outside the declared values is perfectly valid.

You could design a language feature where integer to enum is checked, but that's not enum.

Enum classes already add scoping, forbid implicit conversions and allow explicit underlying types. Those are pure extensions. Making undeclared values invalid or UB would be very surprising to people used to normal enums.
The exact opposite is true.

The sale was triggered partly because Japanese yen strengthened significantly. It's now more expensive to visit Japan.
You got it backwards. I'm exactly your customer type - I'm subscribing to Brilliant an several other services, both for myself and members of my family. However, I will not give my CC number to a random company without at least having some 5-minute taste of what it's like to use it. Don't take it personally - it's a general rule that served me well in the last years.

Yes, I know many companies operate in this way - and I perfectly understand their choice.
Totally agree. Rewards are super important and just feel good.
Show HN: Pick Product by Amazon Reviews Data
Cherrypicks.reviews is your one-stop, trustworthy platform providing up-to-date, unbiased product reviews. We're here to guide your shopping journey with data-driven insights, helping you make quick and informed decisions. All this, wrapped in an environment that values your time and champions transparency.
> The reason other values of the underlying integral type beyond the named ones are allowed, is that enums are often used to specify bit values or bit masks that you AND/OR with each other. It is what it is.

Except bitwise operations of orign enum values yields the underlying type and not an enum value. And for enum classes the operators don't exist at all. So you need to write custom operators(or manual casts) for this use case anyway so you might as well go all the way and write a proper typed bitset type instead of abusing enums. Allowing this for old enums makes sense for C compat but that doesn't mean enum class couldn't have been stricter.