skysight-inc/HackerNews huggingface dataset:
Why this isn't possible is implicitly (well, somewhat explicitly) addressed in my comment.

const foo = async () => {
... // sync stuff A
await someLibrary.expensiveComputation()
... // sync stuff B
}

No matter what you do it's impossible to cancel this promise unless `someLibary` exposes some way to cancel `expensiveComputation`, and you somehow expose a way to cancel it (and any other await points) and any other promises it uses internally also expose cancellation and they're all plumbed to have the cancellation propagated inward across all their await points.

Unsubscribing to the completion listener is never enough. Implementing cancellation in your outer promise is never enough.

> The javascript promise provides the minimum language implementation upon which more elaborate Promise implementations can be constructed.

I'll reiterate: there is no way to write promise cancellation in JS userspace. It's just not possible (for all the reasons outlined in my long-ass comment above). No matter how elaborate your implementation is, you need collaboration from every single promise that might get called in the call stack.

The proposed `unpromise` implementation would not help either. JS would need all promises to expose a sort of `AbortController` that is explicitly connected across all cancellable await points inwards which would introduce cancel-safety issues.

So you'd need something like this to make promises actually cancelable:

const cancelableFoo = async (signal) => {
if (signal.aborted) {
throw new AbortError()
}

... // sync stuff A

if (signal.aborted) {
// possibly cleanup for sync stuff A
throw new AbortError()
}

await someLibrary.expensiveComputation(signal)

if (signal.aborted) {
// possibly cleanup for sync stuff A
throw new AbortError()
}

... // sync stuff B

if (signal.aborted) {
// possibly cleanup for sync stuff A
// possibly cleanup for sync stuff B
throw new AbortError()
}
}

const controller = new AbortController()
const signal = abortController.signal

Promise.cancelableRace(
controller, // cancelableRace will call controller.abort() if any promise completes
[
cancellableFoo(signal),
deletePost(signal),
timeout(3000, signal),
]
)

And you need all promises to get their `signal` properly propagated (and properly handled) across the whole call stack.
a colleague of mine spent months analysing fluctuations in narrow band signal from a geophone only for a more senior colleague to get fed up with it and demonstrated that actually the fluctuations simply correlate with the air temperature and do so within the spec sheets reported temperature tolerance.
wrong, oncall shifts should not even exist
When I wrote Turing Machine, I meant it as shorthand for Turing complete system.

My point is that any such system is extremely limited due to how slow they become at scale (when running algorithms/programs that require full turing completeness), due to it's "single threaded" nature. Such algorithms simply are not very parallelizable.

This means a Turing Complete system becomes nearly useless for things like AI. The same is the case inside a human brain, where signals can only travel at around the speed of sound.

Tensor / neuron based systems sacrifice Turing Completeness to gain (many) orders of magnitude more compute speed.

I know that a GPU's CAN in principle emulate a Turing Complete system, but they're even slower at it than CPU's, so that's irrelevant. The same goes for human brains.

People like Deutsch are so in love with the theoretical universality of Turing Completeness that he seems to ignore that Turing Complete system might take longer to formulate meaningful thought than the lifetime of a human. And possibly longer than the lifetime of the Sun, for complex ideas.

The fact that so much can be done by systems that are NOT Turing Complete may seem strange. But I argue that since the laws of Physics are local (with laws described by tensors), it should not be such a surprise that systems that computers that perform tensor computations are pretty good at simulating physical reality.
He was removed from parliament unanimously after trying to violently suppress the protests and killing over 100 of his own people
It's an interesting question but prompts the rebuttal, isn't that just how things work in nature?

No process is 100% clean in biology, that's how we get random mutation and evolution of species
There's a *massive* difference in capabilities between GLES3.0 (e.g. WebGL2) and D3D11 though (GLES3.0 is more like 'late D3D9 era') ;)

And interestingly, WebGL2 in Chrome on Windows (which runs on top of D3D11) handily beats WebGPU in some of my tests (with setBindGroup being the bottleneck).
> I followed the link and they look nothing alike,

So the title worked and made you click.

(Also, I agree with you, if anything it looks closer to the now "old" Mac Mini design... only very very superficially speaking of course)
Thank you, your project meets my requirements. I want to build a long memory RAG system for my personal data. I like the commercial offerings like Google Gemini integrated with Workplace data, but I think I would be happier with my own system.
Yes, that would be concerning indeed...

The author couldn't tell why he didn't manage to make run the C or python program but figured it is probably the blame of the language for some obscure reasons.

He also mentioned that he should have implemented multithreading in C++ to be comparable with Node, but meh that's probably also not of his concern, let compare them as is ^^`

Also he doesn't mention the actual language of the library used, but that would have voided the interest of the article, so I quite may understand that omission :P

But at the end, nothing can be learned from this and it is hard to believe it is what "research" can produce
Rust has a lot of those small libs, my favorite is miniquad

https://crates.io/crates/miniquad
And extremely cheap eMMC storage which makes every I/O access about the same speed as reading an SD card.
Wait till you hear about copy/paste
I'm curious what rabbithole you went down where you think this whole thought makes sense, but mostly the concept of people thinking of their clones as children is wild.
Oh. the UI lets you select fro various languages, so I assumed they should work.
Thanks!
I think the idea is that the sentence introduces a contrived example, and so the author used roundabout words. Snake sentences sound sibilantly. It's a blog post.
Without Sky: Social Media and the End of Reality
Isn't ping mostly determined by the physical distance between you and the server?
Hm yes, but depending on course/great circle distance ballistic missiles have an apogaeum between 1200km to 4500km. While anything which is 'boosted back down there' during ascent reaches maybe 300km max height, then doing 'skip reentry' stuff and/or powered steering at 100km to 200km. Which is less distance to cover.
Gödel mostly cared about mathematics. And he seems to have believed that human intuition could "know" propositions to be true, even if they could not be proven logically[1].

It appears that he was religious and probably believed in an immaterial and maybe even divine soul [2]. If so, that may explain why he believed that human intuition could be unburdend by the incompleteness theorem.

[1] https://philsci-archive.pitt.edu/9154/1/Nesher_Godel_on_Trut...

[2] https://en.wikipedia.org/wiki/G%C3%B6del%27s_ontological_pro...
Electrobun: Tiny desktop apps with Bun and TypeScript
At my last job I got time off in lieu for actual hours worked + about $4/hour for being on-call.

I really wish we'd gotten paid for hours worked rather than TOIL, not for personal preference but because it would have aligned the company's incentives better. We might actually have fixed some of the problems if not doing so cost the business a tangible sum of money.

Still, it was better than working for free.
Something that may be of interest to CS people and reveals the complexity of the unit sphere is the following problem:

Find an efficient (class of) algorithm(s) to select a large number N of uniformly distributed points on S^2, where "uniformly distributed" is given in a more flexible sense than the usual one. For instance, you may want to minimize the Weyl discrepancy between average and integral, or you may want to focus more on minimizing the number of ε-clusters of distances.

One of the most elegant approaches to this problem is the classic work of Lubotzky, Phillips and Sarnak: Hecke Operators and Distributing Points on the Sphere I and II.
They translate the problem to one of generating good sequences of elements of SO(3), which they attack with a combination of harmonic analysis on the semisimple groups, homogeneous dynamics and number theory with Hecke operators as their central tool.
AFAIK (remember) Call of Duty was built on a modified Quake 3 engine long before it went open source
You’re not understanding what I am saying- there is no way to identify which single cell has a mutation until it is already growing a tumor. There is no way to do what you are proposing -using sequencing to detect cancer mutations early before they turn into cancer- on a living person, even in principle. Single cell sequencing is for individual cells in a liquid culture- not living organisms- and the cells are destroyed to sequence them.
One pitfall that is so obvious it hurts (but I have seen people fall into it), goes a bit like this:

1. We have a python application

2. We need a configuration format, we pick one of the usual (ini/toml/yaml/...)

3. We want to allow more than usual to be done in this config, so let's build some more complex stuff based on special strings etc.

Now the thing they should have considered in step 3 is why not just use a python file for configuration? Sure this comes with pitfalls as you now allow people who write the config to do similar things than the application, but you are already using a programming language, why not just use it for your overly complex configuration? For in house stuff this could certainly be more viable than writing your own parser.
I’ve used AI models a few times, primarily for translating song lyrics for personal enjoyment or translating Facebook posts and other content.

When it comes to translation, context matters a lot. Translating a single paragraph without considering the broader context is often suboptimal. A better approach is to provide additional material that gives the translator more background information and the overarching goal.

One effective method I’ve found is using the Cursor editor:

1. Organize your content in a directory, ideally as Markdown files.

2. Include clear instructions on the style and purpose of the translation. For example, a literal, word-for-word translation differs from one aimed at conveying emotions or artistic intent. A .cursorrules file can provide global context and guidelines. When I edit blog posts, I use this one: https://github.com/stared/stared.github.io/blob/main/.cursor.... For a biography, it would be different.

3. Translate paragraph by paragraph, with some manual oversight, to ensure consistency and quality.
In finance, you should never assume incompetence over malice. It very rarely works out that way. Malicious incompetence maybe.

This is probably a rug pull in a system designed for money laundering. They can’t figure out where money came from or who it belonged to…. I don’t think that happened out of the blue using standard accounting practices.

By mixing non-bank money companies and traditional banking services, you can construct an effectively opaque and ultra efficient system to obfuscate the origins of funds, all without deviation in an obvious way from what looks like standard accounting. All of the best money laundering happens in plain sight within the banking industry through clever constructions. AML rules are just there to eliminate the competition.

My guess is that it was time to shut down and the fingerprints had to be burned. Maybe no customer money was stolen, but the data of who has what money and who it belonged to might be hopelessly obfuscated in the process of obfuscation of their primary activities.

This is not likely an example of sloppy accounting, but rather of very, very clever accounting and orchestrated fraud to make money disappear out of an otherwise well designed system of accounting. The real question is where did the fraud propagate out of? What was the exploit, what was the systemic vulnerability, and who exploited it?

There is a huge incentive in fintech to create “legitimate products“ where John Q. Public deposits funds that just happen to be very useful for money laundering when combined with some other, apparently unrelated activity or similar lever that only an insider knows how to pull. It works fundamentally like a cryptocurrency coin mixer, without the hassle or suspicious profile. Shifting burdens of documentation often have gaps where things can “get lost” and shell companies that act only as conduits and never hold funds can evaporate with little accountability. Often, “unknowing” accomplice banks are left holding the bag…but all you have to figure out is where to repatriate the money that people will come looking for, the flows you know no one is going to come asking about effectively never happened.

Meanwhile it’s very easy to take a margin of 10 percent or more of the flows. And they aren’t small flows. It’s a multibillion dollar market. The demand and the incentives are absolutely spectacular.

For the most part, these crimes are invisible to the public, very difficult to prosecute, and effectively impossible to garner the political support to even launch an investigation into, for reasons.

I hope the hapless victims at least get their money back some day.
Never used a chromebook. My very rough conception from when they first came out is that it's a cheap laptop with an OS that tries to present a web browser as the OS. Now, I'm reading comments here about getting them "unlocked" and about them having a non-UEFI (and I guess a non-BIOS) boot process, and that sounds awful, to put it kindly. It sounds like user-hostility and vendor lock-in. What other reason is there to forego a standard boot process for a proprietary one?

How are they the "best computing devices [you've] used"?
Tell HN: YouTube Breaks Itself Again
Recently youtube started to add "&t=..." to links all over the feed and in the history, after you watched a video. If this doesn't break things for you, simply skip.

If it does, you already know how. It's pretty obvious and shows nothing less than a complete lack of QA at YT.

I've been told here that we're not a client, but a product. But how to keep being a product with such level of QA?? Guess we have to find a few ways ourselves.

Bookmarklet way:

javascript:(() => {
for (const a of document.querySelectorAll('a')) {
if (a.href.includes('&t=')) {
a.href = a.href.replace(/&t=\d+/, '');
}
}
})();

TamperMonkey way:

// ==UserScript==
// @name Remove youtube timestamps
// @namespace http://tampermonkey.net/
// @version 2024-11-23
// @description Remove youtube timestamps
// @author Me myself
// @match https://www.youtube.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant none
// ==/UserScript==

(function() {
'use strict';
function removeTs() {
for (const a of document.querySelectorAll('a')) {
if (a.href.includes('&t=')) {
a.href = a.href.replace(/&t=\d+/, '');
}
}
}
setInterval(removeTs, 1000);
document.body.addEventListener('yt-navigate-finish', removeTs);
removeTs();
})();

Feel free to use or suggest more!
Query Practices with FoundationDB
> People are flocking to Bluesky in droves, but creators and users should think critically about the risk of capture by potentially hostile investors

well yeah but seeing as the alternative (for most normal people) is indeed Twitter, a platform that has already famously been ‘captured’ by 1 hostile investor it isn’t a huge surprise Bsky is the alternative.

The fediverse // mastodon is a bit too confusing for the average person IMO
wheerereeere?
Waveshare RoArm-M2 ESP32 robotic arms
Another option is to have a read-, and a write-pump goroutine associated with each gorilla ws client. I found this useful for gateways wss <--> *.
Full Title: Waveshare RoArm-M2 ESP32 robotic arms offer four degrees of freedom, various servo options
I think the question was about hypersonic cruise, specifically whether ABM systems can detect a signature.
I agree with the sentiment, but on-call support is an unavoidable necessity given the critical nature of many systems that underpin modern society.

When we talk about on-call, we’re not referring to systems like Netflix streaming a major fight for 65 million users, but rather essential infrastructure like healthcare systems, nuclear power plants, military operations, financial markets, and the vast array of SCADA (Supervisory Control and Data Acquisition) systems that monitor and control industrial processes.

These systems are crucial to our safety, economy, and everyday lives, and downtime or failure is not an option.

Before Apple, I worked at Microsoft in the Azure team, where I logged over 2,016 hours of on-call support each year. This involved six 24/7 on-call rotations, each lasting two weeks, with responsibilities alternating between primary and secondary support. While there were certainly tough moments and challenging issues during those rotations, they also provided valuable learning experiences and helped me develop problem-solving skills under pressure.

On-call support is a necessary evil.
Categorically, while different algebraic structures may not be isomorphic, they're likely all capable (under decoration) of carrying the same information.

For instance, in the Boom Hierarchy* (sets,bags,lists,trees) we can represent the information carried by any of the structures by any of the others (exercise!) despite the fact that operations on that information may be made easier or more difficult by the presence or lack of laws (idempotency,commutativity,associativity) that are the linear delta-edges between those types-as-vertices themselves.

[IIRC, magmas would be mobiles, and I'd bet we can extend the above to them as well.]

* I know I repeat these often, but hey, I'm not alone: gopher-the-language was inspired by a "go" lemma-function in someone's sol'n to samefringe.
Two days ago:

I was walking down the road, beside me a young man with airpods on. He was walking on a side lane which is intended for parking lots. Suddenly, a Tesla was driving behind him with about the same speed, but at a distance of less than 10cm behind him.. forcing him off the street. He didn't hear or see the car.

So, how stupid a driver must be to drive that close behind a walking one?

It's Tesla drivers. In Germany I saw that kind of behavior more than once.
Or at least your 0.1x into a 1x?
Yes, a flat daily fee during the week, and double that during the weekend or public holidays. Comes to ~600€ per week. If you actually get paged, you automatically get time off for the amount of hours you spent dealing with the incident.
Until state attackers pick up your developers kids and bring them home from school, and then nicely ask him to put in a back door.
Niall Ferguson "Are We the Soviets Now?" [video]
see also https://www.thefp.com/p/were-all-soviets-now
<old-guy-high-school-glory-days-and-nobody-today>

Reminds me of the pain of intentionally building a compiler for Java 2 (subset) to MIPS compiler by writing out each AST node class by hand. And, I did it twice, once in C++03 with bison and flex and again in Java 2 with CUP and JFlex... each was developed to build and run as a host portably across Solaris (sparc), Linux (x86), HP-UX (68k), SGI (MIPS), and Windows (x86) with compiled with targets run on the SPIM emulator. It did have dead code, dead string, and dead variable elimination, but that was as far my optimization passes went. I recall the only build tool I used for each was the portable subset of make without GNU extensions.

Speaking of reinventing the wheel, in 1998, I built a flexible almost framework for a "portable" generic installer using Java 2, JWT (native GUI controls), and JNI on Windows to create a program group and desktop shortcut icon. The hilarious part was shipping a full JRE on a CD. It took forever to load but the additional time seemed impressive for expensive, niche software in a way similar to the now fake "loading..." delayed progress bar.

</old-guy-high-school-glory-days-and-nobody-today>
Nice read, and the article got me to take a look at Java’s project Loom and then Eric Normand’s writeup on Loom and threading options for Clojure.

Good stuff.
man I love learning good stuff by casually learning HN. I code on cpp as a hobby and kinda new you could use "auto" on templates by didn't know about this.
The Sinclair devices were popular because they were dirt cheap. A BBC micro was three times the price of a Spectrum.
When I was 10 I had a BBC Micro and one of my friends had a ZX Spectrum, really remember going to each others houses and playing games. It was amazing hearing the Ghostbusters theme on the spectrum https://www.youtube.com/watch?v=CMIphX8Ipak ... the game itself was pretty confusing but fun to try and figure out
Click “installation guides” > “book not found”.

I’m so tired.
The Impact of AI PCs on Productivity [pdf]
I'm going to assume we're talking about an oven below, but the principle also applies to AC:

A thermostat attached to a device will measure the temperature near the device, which typically is a bit higher elsewhere in the room, even if the sensor is at the air intake.

Also, even when the air temperature in a room reaches 72F, the walls may still be cold. This means that the temperature experienced by a person in the room will be lower than 72F, since the person will be exposed to less infrared radiation than if the room had been at 72F for a longer period of time.

So, if the goal is to reach a stable 72F (as felt by a human), the fastest way is to turn it to maybe 80F, and then turn it down when the temperature feels about right, or even a bit later (due to the thermal mass in the walls, furniture, etc).

If instead, the the temperature is set to 72F from the start, the oven will start to switch on and off quite freqently as air near the sensor reaches ~72F, and the felt temperature in the room will approach 72F assymptotically.

I live in an old house in a place that can get very cold, and I know this first hand.
Why wouldn't it matter? If ChatGPT produces words at roughly the same energy efficiency as human writers, but most of those words are unnecessary and would not have been produced if it wasn't for ChatGPT, it's worthwhile to discuss the energy cost.
> Early versions of SQLite (prior to 2004) operated on the classic TCL principal that "everything is a string". Beginning with SQLite3 (2004-06-18), SQLite also supports binary data.

TCL can handle binary data. It is just not a separate type: https://wiki.tcl-lang.org/page/Working+with+binary+data

SQLite also always had a null type, surely?

> However, types are still very flexible in SQLite, just as they are in TCL. SQLite treats the datatypes on column names in a CREATE TABLE statement as suggestions rather than hard requirements

This is something I do not much like. Its not compulsory (you can create "strict" tables). It works well in TCL which is an entire language designed around the idea. Less so in SQL.

One of the advantages of RDBMSes is that not accepting obviously wrong data makes life easier for developers. You can debug an issue that happens on inserting the data, not when you find the wrong type or other bad much later on.