skysight-inc/HackerNews huggingface dataset:
You're absolutely right that it's important to look beyond how two modules superficially look right now, and look instead at how they change. However, if you've always defined your abstractions based on what their consumers need rather than what their implementations have, then you shouldn't ever need to stretch them. They're not trying to "cover" both cases, they're trying to solve a problem that both cases have. Your two cases are not implementations of the abstraction, they are consumers of it. If one case grows to not have that problem, it just stops asking for that abstraction. If it grows to have more problems, it just asks for more abstractions. The original abstraction, if based on a common need, doesn't have to change.

That's not to say abstractions never change -- they do. But they change because your understanding of the sub-problem they're solving has changed, not because their implementations or consumers have changed.
I went from 2400 to 14.4; 9600 was the limit before trellis modulation, but IIRC it jumped from 14.4 to 33.6 rather quickly.

[edit]

After some quick googling, 33.6 wasn't standardized until 1996 (compare to 14.4 in 1991), but the manufacturers released modems ahead of the V.34 standard with DSPs so that they could be upgraded to the standard when it was available.

14.4 did catch on almost overnight in the early 90s though as the modems were no more expensive (and sometimes cheaper) than slower modems.
Note: that isn't the same thing as what the OP describes, at least according to those release notes, but it does fall under the "HMM" umbrella. You still need to specifically allocate your memory with hipMallocManaged before it can be transparently used between the CPU and GPU. Nvidia calls this "unified memory" (and has had it for 10 years now.)

It's confusing, because there are basically three levels of "Heterogeneous Memory Management" in this regard, in order of increasing features and improved programming model:

1. Nothing. You have to both allocate memory with the right allocator (no malloc, no mmap), and also memcpy to/from the host memory to the device, when you want to use it. You still need to "synchronize" with the compute kernel to ensure it completes, before you can see results from a compute kernel.

2. Unified virtual memory. You have to allocate memory with the right allocator (no malloc, no mmap), but after that, you don't need to copy to/from the device memory via special memcpy routines. Memory pages are migrated to/from as you demand them; you can address more memory than your actual GPU has, hence "virtual". You still need to synchronize with the compute kernel to ensure it completes. You can (in theory) LD_PRELOAD a different malloc(2) routine that uses the proper cudaMalloc call or whatever, making all malloc(2) based memory usable for the accelerator, but it doesn't fix systems/libraries/programs that use custom non-malloc(2) allocators or e.g. mmap

3. True heterogeneous memory management. You can use ANY piece of allocated memory, from any memory allocator, and share it with the accelerator, and do not need to copy to/from the device memory. You can use mmap'd pages, custom memory allocators, arbitrary 3rd party libraries, it doesn't really matter. Hell, you can probably set the PROT_WRITE bit on your own executable .text sections and then have the GPU modify your .text from the accelerator. The GPU and CPU have a unified view without any handholding from userspace. You still need to synchronize with the compute kernel to ensure it completes.

Nvidia implements all the features above, while HIP/AMD only implements the first two. Note that AMD has long been involved in various HMM-adjacent work for many years now (HSAIL, various GCC HSA stuff), so it's not like they're coming out of nowhere here. But as far as actual features and "It works today" goes, they're now behind if you're looking at HIP vs CUDA.
Chickens apply fertilizer as they plow.
That's the problem with the recent overloading of the term "AI", I have no clue what this means. Are we talking about building and training an ML model? Did some general use chatGPT and told their assistant "I need this to pilot a drone"?

This is an interesting - albeit terrorizing - concept, but I have trouble understanding what it means in practice
> This article from Verge in 2020 was a great dive into the problems Foxconn had, and what TSMC will now also face

"Imagine being in a job where you don’t really know if it’s real or not."

If you have to wonder, it probably isn't real.

Isn't foxconn just a low end mass manufacturer while TSMC is a genuine high tech semiconductor company? I suspect TSMC should have an easier time in the US than foxconn. But who knows. I remember the foxconn news was such a big deal and had such great fanfare. To end like this.
For testing I prefer DAMP. Descriptive And Meaningful Prose/Phrases. I’ve watched otherwise smart people wrestle with testing boilerplate when requirements change and I’ve had my fill for this lifetime.

Each test is a separate story. At most tests in a suite should share setup code. Anything more than that is coupling of tests, which is a no-no. The distinction between mocks and fakes are the most common place I see this blow up in our faces. Fakes result in coupling of tests. They were difficult to write so they get amortized across ten tests, making new requirements difficult to impossible to add without accidentally removing coverage of other requirements.
Java is an order of magnitude more difficult to learn vs. Elixir. Especially in the context of Java web frameworks.
I thought of val town too when looking at this. Not that it's similar in any one way, but I've never been able to deploy small scripts / micro apps faster than with Val Town
Italy has almost the same per-capita electricity consumption as the UK. I suspect any residential limitations are made up by industrial and transport usages.

You guys really need to get on the solar panels, though.
> "Are these things I'm trying to abstract over actually similar in any fundamental way?"

I'm not sure why this is even a point; if there's no similarity of the things that are being abstracted, why would one even discuss abstraction in the first place? The point of abstraction is that there is some fundamental similarity that the abstraction addresses. `ICloudStorage` abstracts `GoogleCloudStorage` and `AwsS3Storage` because at some level, they both have the same abstract operations: read, write, delete, etc.
It's not the tool that is dystopian, it's the mindset expressed in the post.
Thanks Ben! Really looking forward to your WasmCon talk.
How do they plan on doing that though. There are like fundamental computer science problems to be solved, and it's not just like a problem you can throw a faster computer at.
In monkey trial, gene therapy shows promise in curbing severe problem drinking
huge fan of what you’re doing with Wizard & Virgil. and thanks for all you’ve done for wasm!
So... you kept modifying the two similar pieces of code until they became dissimilar. Why do you think that you wouldn't be able to modify the abstraction if you saw that it doesn't fit anymore?
Honestly, with flash so cheap these days, why isn't the firmware structured as two "partitions", each with a timestamp and checksum, and a small stub that

(1) is never overwritten
(2) is capable of accepting firmware updates over serial connection / TFTP / etc.
(3) checksums the newest firmware "partition" runs it if the checksum checks out
(4) falls back to the older "partition" of firmware if the checksum indicates corruption and/or partial update

Having had to TFTP-update several (and in one case exacto-knife jump two pins on the flash) WRT-54G firmware updates before I learned that the WRT-54G firmware update had issues with FireFox's HTTP POST implementation, I really wish firmware updates were more robust. A firmware update also bricked an early FitBit of mine.
>As population centers shift and housing gets built, people move in next to noisy airports and then say to themselves "Holy shit, I moved next to an airport and it's loud. How could I have known? Surely this is the airport's fault!" and they go complain to their city.

Harrison Ford makes a similar case about KSMO and why it's important to continue investing in general aviation.

>“Of course then they do a survey among Santa Monica voters. ‘What are the ten things that most need to be done?’ Number ten on their list is to get rid of the airport. But number one on their list is traffic congestion. [Lowers chin, raises eyebrows, points at me.] I rest my case.”

https://www.esquire.com/entertainment/movies/a43965150/harri...
I agree, I'm excited to use it as a General Purpose language, and see how far the Autotuning feature can go for just normal old apps and servers.
I’ve used Elixir for half a decade and never had to dig into Erlang.
I think it just survived naturally, filling in the cracks left by Java / C++.

And now the era of Textual (https://textual.textualize.io/) is here, python may get the spotlight even more.
Thanks for your comment. This obfuscation scheme is used only to complicate any attempt to reverse engineering (disassembling, decompilation) of the two processes involved in FairPlay DRM (I'm mainly talking about CoreFP and Fairplayd). Attackers need to spend more time on retrieving the original business logic. For sure, it's not the most hyper-defense technology Apple has employed (think about Secure Enclave).

> a properly implemented remote attestation and security architecture does obsolete it [obfuscation]

I'm not sure I've understood this part. So, if Apple implements remote attestation, would it be more difficult for attackers to reverse engineering the application? I am probably missing a point, would you mind if I ask you to expand that?
That sounds like the unintended consequence is you'd be billed the day of service the full cost and you can submit the claim to your insurance for reimbursement.
Convert voice notes into clear text FAST
There are still places you could clever code your way around problems. But production code should still be free of clever code.
You can request it all you want in North America, but you probably won't get it. A three phase converter is way more likely.
That’s why we asked developers to work in VR for two hours a day for an entire work week. So it wasn't all day at least.
Killer Figure: Why Having an Apple Shape Can Be Deadly
I am not the person you asked, but I use Walker's XCEL 500BT earmuffs. They work well, and they have Bluetooth.

I shoot a few times a week and compete in target shooting on an amateur level.
AmpereOne Lands First in Google Cloud C3A Instances
> As I've grown as a dev I'm less and less inclined to write "magic" or highly abstracted code and prefer dealing with"boilerplate" that I can tweak as needed for the individual use-case.

This is part of creating abstractions to benefit the reader, not the writer of the code.

I'm currently refactoring a python package that was designed to make writing ETLs very elegant (it worked!), but as a consequence, when something goes wrong, figuring out what happened involves pouring through 4 different modules, class hierarchies and trying to track variables through multiple layers of abstraction. It's a nightmare for debugging.

Simple boilerplate is repetitive and boring, but man would it be so much easier to read
wow! I didn't know how badly I wanted this. Thanks!
> Collapse of what? Civilization?

I was referring to the collapse (significant degradation) of the environmental carrying capacity. In such a scenario, our civilization would implode on its own.

https://www.youtube.com/watch?v=qPb_0JZ6-Rc

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

https://www.stuartmcmillen.com/comic/st-matthew-island/

> But feel free to try and change my view

It's a complex topic ... I only can give you a few links. The system we live in is very complex ... and as in every complex system even a minor error can cripple the system. Just remember how much damage to the economy was caused by just one ship blocking the Suez.

I don't think the system is able to handle large-scale agricultural failures, prolonged droughts or abrupt sea level rises. Everything seems to be changing more rapidly than predicted - from air and sea temperatures to thawing, droughts, biodiversity loss, etc.

https://www.theatlantic.com/science/archive/2023/07/climate-...

Climate Collapse Could Happen Fast - As temperature and weather records fall, Earth may be nearing so-called tipping points.

https://www.livescience.com/planet-earth/climate-change/cata...

Catastrophic climate 'doom loops' could start in just 15 years, new study warns

https://www.iflscience.com/chances-of-societal-collapse-in-n...

Chances Of Societal Collapse In Next Few Decades Is Sky High, Modelling Suggests

https://www.pnas.org/doi/10.1073/pnas.2108146119

Climate Endgame: Exploring catastrophic climate change scenarios

https://www.mdpi.com/2673-4060/4/3/32

The Human Ecology of Overshoot: Why a Major ‘Population Correction’ Is Inevitable

https://www.pnas.org/doi/10.1073/pnas.1810141115

Trajectories of the Earth System in the Anthropocene

https://www.nature.com/articles/s41893-023-01157-x

Earlier collapse of Anthropocene ecosystems driven by multiple faster and noisier drivers

https://apnews.com/article/climate-united-nations-paris-euro...

UN warns Earth ‘firmly on track toward an unlivable world’

https://advisory.kpmg.us/articles/2021/limits-to-growth.html

Limits to Growth

https://www.theguardian.com/business/2023/jul/09/the-planet-...

The planet heats, the world economy cools – the real global recession is ecological

https://www.nature.com/articles/d41586-019-01448-4

Humans are driving one million species to extinction

https://www.theguardian.com/environment/2022/oct/13/almost-7...

Animal populations experience average decline of almost 70% since 1970, report reveals

https://dothemath.ucsd.edu/2023/08/ecological-cliff-edge/

Ecological cliff edge
Ouch. I've been using ChromeOS more lately, and Windows less, and I'm really appreciating the Linux environment within ChromeOS. I haven't experience any of the issues you noted in this environment, but it does run as a container within a VM. As a result, the performance is not as good as bare metal, but it works rather well.
When your job is mentoring, RCA or cleaning up after other people (hello) then these aren’t opinions and aesthetics. They’re empirical evidence and/or coping mechanisms.

Invalidating people’s coping mechanisms without proposing your own never goes over well. And sometimes even then.

When diagnosing a production issue, we don’t have the luxury of entertaining five different ways to solve the same problem. And code smells slow debugging-under-the-gun because most bugs are in code smells, so they draw your attention only to prove to be a false signal.

If you don’t do any of these things, then it’s challenging to have empathy for or understanding of the people who do. The people keeping the wheels on deserve the benefit of the doubt. In fact anyone who will stand up and fix problems when they arise deserves a bigger vote on how things get done. Everyone else’s opinions are theoretical rather than vocational.
> I’m not necessarily subsidizing B with A

Ok, but in this case, they were.
Well you have to remember the UK is the nation that fit kettles in Tanks

https://en.wikipedia.org/wiki/Boiling_vessel
It'll probably go to collections and their credit score will tank for no reason.
Anything that breaks IDE type hinting and usage and definition linking is a non-starter for me unless the entire scope of the function fits in about a dozen or so lines.
> Fast forward a few years

Sounds like it was just what was needed at the time and worked better/longer than most abstractions.
Why does it crush Nylas in particular? They're still a unified API for email/calendar - there's utility there.

The inroads into the CI space must be making all of the small CI companies nervous though.
Amazon wants to turn over its workforce as much as possible to keep them cheap and young.

This is just another opportunity.
So? Is Amazon in the real estate business, or in the software business? Which is more important, the physical assets or the assets that walk out the door every night?

If Amazon is really making decisions for this reason, they have lost the plot.
What a horrifying vision of the future. Your employer forces you to wear this thing to work and tracks everything you look at and every interaction you make, both inside the virtual work environment and your small window outside. No thank you.

This is repulsively intrusive. If it were to ever become the norm, I'd be changing my profession to something far, far away from the virtual world.
What about HSLuv?

https://www.hsluv.org/
Rs 40 lakh = 48,423.84 USD
Thank you for responding to my curiosity with discussion, not mockery.

This makes sense to me. Owning things at all makes you middle class, and not destitute. Why is this distinction important?
A Marriage, a Secret and a Crackdown in China
Well yah, anyone could have told you that. Relying on consumers to change the world through "market forces" is hardly going to work, because "market forces" are dictated by major market players. Not to mention that if these credits are transferrable then the government is essentially subsidizing companies for being polluters under a certain threshold. Meanwhile the companies that can afford a lot of credits buy them up and offset the cost via consumers, thus the pollution is still made, it just becomes more focused. Plus, they can no doubt hide exactly where that money is going, since they have all this capital to invest in these offsets in the first place.

The only way to fix climate change is with real legislation. Not through governments attempting to manipulate the market.
That’s not quite true. It is true that we often see work as virtuous, but it’s not enshrined in law. It’s just a side effect that health insurance (not health _care_, just health _insurance_) is a perk offered by your employer.

During WWII, Congress enacted price and wage controls that have caused us a lot of problems. With millions of men out of the labor force (because they were conscripted), and no way to compete with other employers by raising salaries, employers started offering perks instead. Things like tipping in restaurants and health insurance paid for by your employer became common and eventually ubiquitous. Before WWII, only a few percent of the population used health insurance. Everyone paid for health care out of pocket, and overall it was such a low percentage of people’s incomes that nobody worried much about it. You could trivially compare prices between doctors, for one thing.
Have you played with Mojo? It really doesn’t feel high level.

I feel like JAX has been eating Julia’s lunch lately, making me think that there’s a real market for a small functional differentiable programming language with good Python interop - like a more polished Dex or Futhark.
The vast majority of advice like that is garbage and are trying to borrow authority of the few good articles that come out with similarly structured titles.

Usually by people that mistake "the product is successful" with "the product is well engineereed. Or mistaking their rewrite from "the worst way to solve the problem" to "the second worst way to solve the problem" <hyperbole> for "this is the best way to solve problem"
> but even if they don't one would imagine a quality hire would be able to get a short term loan at a very good rate

Instead of just accepting a job that doesn't have weird staircase salary structures? Good luck finding this unicorn quality hire.
When you have billions of users, nothing is simple
I actually had a Vevor water distiller (still have it, actually) and drank almost exclusively distilled water for ~10months, ending June 2023.

I feel better going back on tap water, fewer stomach issues. I don't have a proper theory that can explain why this is the case, but it's certainly the case.
This seems like a good time to mention Yuan et al., “Simple Testing Can Prevent Most Critical Failures.”

“We found the majority of catastrophic failures could
easily have been prevented by performing simple testing
on error handling code – the last line of defense – even
without an understanding of the software design.”
Tell that to the guy in Morocco who is milking 500k miles from his turbo diesel Volvo, and all his similar in the developing world.

You need all of them to jump on board for a 100% electric compliance at the cost of trillions of dollars to reduce warming by 0.08C

Tesla is the largest inciniration of capital and man hours in the history of mankind, a testament to futility and the dangers of centralised planning.
Thanks for this, also there is a reference to her excellent paper from 2000 "Better Testing - Worse Quality?" where she emphasizes the need for engineers to do their own testing for the most part. Still posted in a few places which was worth reading.

Inherent quality depends completely on the factory floor.

But I would say with code development bugs all you can expect the engineers to catch are the ones that can be found during their combined development/testing progress as it goes along. So they should honestly think it's perfect before turning it over to dedicated testers who will put their full effort into trying to find defects that were possible to be overlooked up until that point.

Kind of like having a machinist making motor shafts who can easily see when they are coming out bent and fix it so that doesn't happen, plus manually gage his parts as he goes along to make sure the diameter is holding steady. He's doing all he can to produce what then look like perfect parts. Next the QC guy comes along and using automated measurements, tests the whole shaft along its entire length, and finds a few below-spec items that slipped through the cracks. Feedback to engineering can be used to make sure it doesn't happen again.

The engineer is building value as intended performance is being accomplished, the tester is not building value from scratch or doing invoiceable work but they are essential to make the most of the value that is created.
You might want to decalcify your kettle.

Edit:
Wait. Are you using a frying pan to heat tee water to make it faster?
I've seen people shock themselves using the UK plugs with casual handling more than once, it is definitely possible.
Do you live in Antarctica?
They had an incredible pmf - they could sell virtual spaceships in a game that didn't exist! People were hurling money at what they thought the product was going to be. It's just a question of how well they actually delivered on that promise.
Agreed. It's a phenomenal incentive to help pressure adherence to law. Now if we could just get this applied to issues of political insider trading and conflicts of interest!
I'm struggling with this distinction between workers and capital, when it seems to me that almost always there's no actual difference. Even if we take pure shareholders who aren't also employees, in practice, basically all of those shareholders will themselves be employees of funds of various kinds, and thus fireable. People who are pure private shareholders and literally answer to no-one, is possible e.g. Bill Gates and other philanthropists, but they're an extreme edge case and indeed most of them seem to spend their time giving away money to people who otherwise might struggle to find work, like researchers, so it's hard to view this type of "capital" as exploiting the workers.
In this comment the author says V is a scam, and should be ignored until it dies. The position is clear. It's hardly unbiased.
We had a lot of trouble with the IoT Core shutdown.