MurphyA/hacker-news huggingface dataset:
by DonHopkins | 2025-12-15 05:34:30+00:00
Well it registers gravity, so you can detect i.e. driving off a cliff. ;)

What helps is that tunnels don't usually branch, so once you're in it, your path is usually quite predictable.

TomTom maps also have a statistical model of what speed is expected along each stretch of road by hour and weekday/weekend (not 7 individual days, but 2 kinds of days). But I don't know if it uses that to help estimate your expected speed when dead reckoning, it's actually for route planning.

One of my co-workers came up with the great idea of gamifying driving: maintain a real time speed leader board, showing the top ten speeders along any stretch of road! So on every road in the world you could compete with other TomTom users who drove it. Kind of like checking in with 4Square, but more fun and dangerous! TomTom legal did not approve.

I suggested gamifying and monetizing driving with TomTomagotchi, a virtual pet that gets depressed if you don't drive it around enough, begs you to visit interesting landmarks and sponsored points of interest, like driving through McDonalds to feed it, or through the park to let it take a shit, or driving fast enough to make the leaderboard to entertain it. I'm sure Bandai's lawyers wouldn't approve.
by maxbond | 2025-12-15 05:34:35+00:00
I don't know why you're implying the list is unbounded but this isn't very difficult. You don't have to have perfect foresight and one shot the list. You'll add things as you discover you missed them or as you adopt new tools/scripts.

Don't let the perfect be the enemy of the good, there is a lot of space between running agents directly on your system and an environment too locked down or sophisticated to realistically maintain.
by bobnarizes | 2025-12-15 05:34:57+00:00
There is no automatic execution — nothing is moved without your confirmation.

Floxtop suggests the top 5 destination folders where a file could best belong. You stay fully in control: you can choose one of the suggestions, move files individually or in bulk (Move All), or select a completely custom folder location at any time.

If you change your mind, you can Undo per file or use Undo All to revert the entire operation.
by MrJohz | 2025-12-15 05:36:07+00:00
This can be done, and is done in some projects, but the problem is that you need to manually maintain both sets of files, which can easily go out of sync if you're not careful. You also lose out on the ability to check your own code - using the header file you've written there, you can't really check the implementation of `useStr` to check that it works.

The advantage of JSDoc is that the TypeScript compiler treats it as equivalent to TypeScript source code, which means you've still got access to type checking inside your functions.

One thing I've seen in a few places is still to have DTS files that declare all sorts of types that are used in the application, and then have those files imported by JSDoc comments. That way, you've got TypeScript syntax for your types, which tend to get bulky and difficult to read in JSDoc syntax, but you still don't need a build system because the DTS imports are ignored completely at runtime.
by neeban | 2025-12-15 05:36:08+00:00
SellerMate [https://sellermate.neilvan.com]

I'm currently improving this order queueing and sales recording web app for small coffee shops. Made primarily for my friend's coffee shop. Data is stored locally, and the app is fully functional when offline. There is an optional "syncing" feature to sync data with multiple devices which requires a sign up. This is a Progressive Web App built with Web Components. The syncing is made possible with PouchDB/CouchDB. Completely free to use.
by platevoltage | 2025-12-15 05:37:28+00:00
I run a small logistics platform called Twinjet that is used by mostly food delivery courier companies. One of our main features is parsing emails from food ordering platforms in order to automatically add the delivery job to the company's dispatch board. These parsers need constant maintenance since the ordering platforms change their email formats all of the time.

I'm putting the finishing touches on an AI parser that I hope to ship after the new year. I'm getting very consistent results from Ministral-3b model, which is super light weight.
by culi | 2025-12-15 05:37:28+00:00
I think you have a valuable point. I kinda purposely avoided explicitly defining what JSDoc is. Instead I'm relying on "the JSDoc we're all familiar with". I said in the post that if your IDE is giving you intellisense from JSDoc comments then you are almost certainly already using TypeScript. That's about as close as I got to defining the JSDoc I'm talking about

But given that JSDoc doesn't have any sort of formal spec, I think the distinction you're making is more of a historical than a technical one.
by tvshtr | 2025-12-15 05:38:10+00:00
The PyQt GUI is still meh but overall it's much better (and nowadays much much faster). I think it's still unnecessary crufty and unfriendly in places. That being said I wrote both web and TUI front-ends and it can definitely be streamlined and cleaned up. Interestingly, stripped of the GUI, running core (with old db and profile) uses just ~15MB.
by Nextgrid | 2025-12-15 05:38:31+00:00
You are still paying for the Ferrari treatment by hiring older workers in terms of better working conditions: those workers are wiser to the usual corporate bullshit, are unlikely to be doing unpaid overtime because they "believe" in the "mission", require better work/life balance and are financially-secure enough to afford to tell you off if you cross the line.

Not to say it's a bad thing, it's great if you managed to get your company to deliver a working environment that attracts and retains older workers, just pointing out from experience with techbros that the reason older/more experienced workers are avoided (or just don't apply in the first place) is precisely for this reason - techbros explicitly don't want someone who can afford to defend their boundaries, they'd rather take someone who's too naive or financially-insecure to say no.
by Maxatar | 2025-12-15 05:40:06+00:00
Type deduction is a form of type inference, a very restricted/crude form of type inference that only considers the type of the immediate expression. The term is used in C++ because it predates the use of auto and was the term used to determine how to implicitly instantiate templates. auto uses exactly the same rules (with 1 single exception) as template type deduction, so the name was kept for familiarity. If instead of initializing a variable, you went through the examples on this website and passed the expression into a template function, the type would be deduced in exactly the same way with the exception of initializer lists.

Type inference is usually reserved for more general algorithms that can inspect not only how a variable is initialized, but how the variable used, such as what functions it's passed into, etc...
by zzo38computer | 2025-12-15 05:40:14+00:00
You can do better than "only ASCII works in this device", and making the default string type to be Unicode is the wrong way to do that. For some applications, you might not need to interpret text at all, or you might need to only interpret ASCII text even if the text is not necessarily purely ASCII; other times you will want to do other things, but Unicode is not a very good character set (there are others but what is appropriate will depend much on the specific application in use; sometimes none are appropriate), and even if you are using Unicode you still don't need a Unicode string type, and you do not need it to check for valid UTF-8 for every string operation by default, because that will result in inefficiency.
by simonw | 2025-12-15 05:40:35+00:00
Yeah that's definitely a useful feature of Substack.

I'm the wrong person to ask about discoverability because I've been blogging for 22 years and I've accumulated 100,000+ followers on Twitter, 39,000 on Bluesky etc.

It's worth offering an email subscribe mechanism. I didn't do that for the first ~20 years - I offered just an RSS feed - but when I added the Substack newsletter option it become clear I should have been gathering email addresses from a lot earlier on!

Despite having a substantial audience visiting my site now I still think the best way to get traffic to an article is to tell people about it elsewhere. I follow the POSSE principle: publish on own site, syndicate elsewhere: https://indieweb.org/POSSE

Honestly though quality is much more important than quantity. Join communities of like-minded individuals and make sure that a small number of engaged people get to see your stuff. Opportunities from that are likely to be more valuable than if you have a much larger audience who aren't as closely aligned with what you're publishing.
by primaprashant | 2025-12-15 05:40:37+00:00
Started a newsletter [1] focused on agentic coding updates, nothing else. Other newsletters/blogs cover a lot of generic AI news, industry gossip, and marketing fluff. Having a focused feed is something I wanted for myself and finally I have enough time that I can write this newsletter regularly.

[1]: https://www.agenticcodingweekly.com/
by ThatPlayer | 2025-12-15 05:41:21+00:00
The tiered drive setup is more featured if you're interested in combining SSD+HDDs. Unlike other cache drive setups like ZFS's L2ARC/SLOG and even bcache, the SSD drives in this setup are still usable space. Otherwise I wouldn't want to use a 1TB SSD as a cache in front of a 4TB HDD for example.

Another use case would be on a handheld like Steam Deck: internal SSD tiered with a microSD for unused games I keep installed 'just in case'.

I would even want it on my home NAS. Instead of a separate root SSD and all my files on an HDD ZFS array (maybe with smaller cache SSDs), combine it all into a single bcachefs filesystems. Maybe with a subvolume root that stays pinned to the SSD(s). And also being able to use the full capabilities of different size drive unlike ZFS because it's a home NAS for cheap. No erasure coding yet though, so I'm in no rush to migrate my home NAS
by nisalperi | 2025-12-15 05:41:25+00:00
I'm working on Watermark'd. We want to give businesses a verified digital identity that works across the globe starting with businesses registered in South Asia (DUNS number that works for the 21st century).

What we do is quite simple 1. Verify the business is registered in the claimed jurisdiction. 2. Verify if individuals have the authority to act on behalf of that business. 3. Provide sharable credentials.
by phrasecode | 2025-12-15 05:41:32+00:00
You're welcome.

And of course achieving that "exceptionally high throughput and performance" is the ultimate goal for a system of this nature.

Now, yes — LinkedQL reasons explicitly in terms of transactions, end-to-end, as covered in the paper.

The key structural distinction is that LinkedQL does not have the concept of its own transactions, "since it doesn’t initiate writes". Instead, it acts as an event-processing pipeline that sits downstream of your database — with a strict "transaction-through rule" enforced across the pipeline.

What that transactional guarantee means in practice is this:

Incoming database transactions (via WAL/binlog) are treated as "atomic" units. All events produced by a single database transaction are received, processed, and propagated through the pipeline with their transactional grouping preserved, all the way to the output stream.

Another way to think about it:

You perform high-throughput writes (multi-statement transactions, bulk writes, stored procedures, batching, etc.)

→ LinkedQL receives the resulting batch of mutation events from that transaction → processes that batch as "one" atomic unit → emits it downstream as "one" atomic unit → observers bound to the view see a "single" state transition composed of many changes, rather than "a flurry" of intermediate transitions.

Effectively, a systems that thinks in terms of batching and other throughput-oriented write patterns. LinkedQL just doesn’t initiate its own transactions — it preserves yours, end-to-end.
by nomel | 2025-12-15 05:41:38+00:00
if you have a family with daytime viewing habits, projectors are basically a no go. 100" tv, with better brightness and black levels, are getting down to $2k range. they only make sense for > 100", and you'll be sacrificing some quality for a bit of viewing angle, usually recovered by scooting your couch a bit closer. i like bright, which is why i no longer go to theaters, which never did make the transition to HDR that they promised over a decade ago.
by _ache_ | 2025-12-15 05:43:11+00:00
I agree, but that is nothing new. The original SaaS was already proprietary.

And btw, the "reverse engineering" close was already here too. You can check the archive.org of Jan 2025, months before the Qualcomm acquisition.

https://web.archive.org/web/20250120145427/https://www.ardui...

So this citation, is basically fake news and FUD. The *now* part is false and this hide the fact that the "platform" is only the SaaS.

> Phillip Torrone had warned [...] Arduino’s users were now “explicitly forbidden from reverse engineering or even attempting to understand how the platform works unless Arduino gives permission.”
by culebron21 | 2025-12-15 05:43:25+00:00
I learned 5 foreign languages different ways, and the one I'm most proficient in, Italian, I learned the hardest way, doing grammar excercises, where for every of 31 paragraphs of the manual (each paragraph containing 2-3 grammatical phoenomena), I had to articulate ~200 sentences, each from scratch. I abandoned flashcards on the 2nd or 3rd month of learning. I also attended a discussion club, which gave that tiny bit of "coffeeshop" language the author speaks about. 1,5 years into learning, I passed CILS exam for level C (it would be C1 nowadays).

My worst language in is German, where every manual is well elaborated in terms of graphical design, but every exercise askss you to insert a word or two into a sentence. Or pick an answer from a set. Basically, Duolinguo sent to printer. So after couple of years of working with teachers and taking intensive courses, my level is B1..2. I can listen to radio and understand something, I can read something. I actually can speak in a shop -- they'll understand my level and speak accordingly -- but I can't do a normal conversation. I couldn't find a teacher that doesn't just drill you through these same fancy books.

"A friend who had been learning some language in Duolinguo and then couldn't say a sentence to a native", should be proverbial nowadays.

So, despite the app idea being interesting and compelling, this teaching approach, picking correct options from lists, are good for testing (if the subject is given little enough time), but futile at teaching.
by BLKNSLVR | 2025-12-15 05:45:45+00:00
Three great movies that he directed that everyone around my age would be relatively intimately familiar with: This Is Spinal Tap, The Princess Bride and When Harry Met Sally

> Police are treating the deaths as apparent homicides. According to the L.A. Times, authorities have questioned a member of Reiner’s family in connection with the death. As of Sunday night, the LAPD have not officially identified a suspect, but Rolling Stone has confirmed that Reiner’s son, Nick, was involved in the homicide. A source confirmed to Rolling Stone that the couple’s daughter, Romy, found her parents’ bodies.

Alternative source:

> Senior law enforcement officials report that both had stab wounds

Tragic.
by quotemstr | 2025-12-15 05:49:03+00:00
In https://news.ycombinator.com/item?id=46270657, you write

> If you set the index to `((alice - bob) / sizeof(...))` then that will fail under Fil-C’s rules (unless you get lucky with the torn capability and the capability refers to Alice).

In the comment above, you write, referring to a fault on access through a torn capability

> Try it. That’s what happens.

Your position would be clearer if you could resolve this contradiction. Yes or no: does an access through a pointer with an arbitrary offset under a data race that results in that pointer's capability tearing always fault?

> You’re right that the intval is untrusted under Fil-C rules.

Can Fil-C compile C?

You can't argue, simultaneously,

1) it's the capability, not your "intval", that is the real pointer with respect to execution flow and simultaneously, and

2) that Fil-C compiles normal C in which the "intval" has semantic meaning.

Your argument is that Fil-C is correct with respect to capabilities even if pointers are transiently incorrect under data races. The trouble is that Fil-C programs can't observe these capabilities and can observe pointers, and so make control flow decisions based on these transient incorrect (you call them "untrusted") inputs.
by andsoitis | 2025-12-15 05:49:23+00:00
> Or, to put it another way, if self driving cars truly exist, you’ll have a lot more types of robotics completely autonomously operating.

Which is why you solve the general humanoid-robot problem because then you’ve solved many autonomy problems including that of driving because then the humanoid-robot does the driving… as well as perform many other general world tasks.
by ianbicking | 2025-12-15 05:49:28+00:00
I've been working on a LLM fiction writing workflow and associated tools. It's built on agentic coding tools with lots of structure, guidance, prompting, and critique. Almost all of the flow is on the filesystem and using a custom command-line tool, making it accessible to agentic programming tools. (No MCP though; it seems superfluous?)

I was fairly neutral about the tool for a while, but lately I've been going all-in on Claude Code, using things like rules and subagents.

It's also built to "rerender" the story, for instance rewriting it (slightly) for voice, translate it, or target different reading levels or background. I'm interested in translating stories for language learners in addition to simply translating into other native languages.

I'm also hoping to create some stories that stretch the medium. Perhaps CYOA (though I'm struggling with understanding what a CYOA is good at), though also other multi-perspective stories with reader autonomy in how to read through the story. LLMs make it easier to overproduce content, so you can give the reader flexibility without feeling regret that much of the content will be skipped, or rewrite passages for readers who jump into stories part way through.

Producing quality content is hard, and frankly kind of expensive, which is why I'm focused on finished products instead of interactive experiences. Though I do look forward to some future opportunity to take these rich characters that are grounded in full stories and find other things to do with them.
by digi_wares | 2025-12-15 05:50:52+00:00
We’ve been building an audio-first way to consume news.

Early on, we optimized for coverage:- more sources, more stories, more updates.

What surprised us was usage. People didn’t finish longer briefings. They skipped around. They left.

When we switched to fewer stories, calmer tone, and predictable length, completion rates went up.

That led us to experiment with curated, single-purpose channels (morning focus, ADHD-friendly audio, short reflections).

It’s still early, but the lesson for us has been: reducing choice and urgency mattered more than adding features.

Curious if others building content or media products have seen something similar.
by jadenPete | 2025-12-15 05:51:37+00:00
Really interesting stuff. Am I correct in thinking that if productivity were to rapidly increase in the service sector (e.g. due to AI) the same way it did in the manufacturing sector in the 19th and 20th centuries, that the cost of services would decrease?

Also, a side note: I dislike a lot of the popular conversation around the Baumol effect because they’re usually along the lines of “this can’t be the only reason my healthcare or education is expensive”, which is true (there are other factors at play), but the Baumol effect still explains a lot of it.
by jetti | 2025-12-15 05:53:34+00:00
I’ve been playing with a Arduino compatible Uno R3 and a WS2812B RGB addressable LED light strip. I cut a 3m strip into 5 strips that are 28 LEDs long and soldered the lights together to make a display. I’ve been working on coding a font for the lights and can display about 10 different characters currently. It’s my first time really doing any sort of embedded work and my first time actually successfully soldering. Now that the thrill is gone since I solved this challenge I was thinking of making a remote control snow plow.
by bgnn | 2025-12-15 05:56:10+00:00
Great blog post. I like the emd look of the experimental finish.

Couple of years back I went to all wooden spoons in the kitchen. My all time favourite is the most traditional of all: boxwood. This is what wooden utensils are made in my home country for centuries. It's light but dense, hard, and durable. It doesn't absorb color or smells easily as other hardwood. Beautiful too!
by Tenemo | 2025-12-15 05:56:17+00:00
A portable, robust desk cloud chamber with a 10x10cm viewing plate. It's taking ages and having just one AIO cooler wasn't the smartest choice, but nothing else would've fit. It's a way harder project than I expected, at least if you want everything to be vibration-resistant for car transportation and for it to last years. I've learned a ton.
by Findecanor | 2025-12-15 05:57:05+00:00
The big problem is that you'd need to be able to change permissions over time. With ACLs that is simple and direct: if you have the access right, you just change the ACL. Traditional capabilities last forever, unless there is some sort of support for revoking already issued capabilities, and those mechanisms tend are far from straightforward.

Some systems have revocation as a core feature, but a cascading revocation (every delegation as a branch in a tree, and revoke a whole subtree of delegated capabilities) is often complex and takes time, especially if they are on disk. There have also been protocols (for EROS-like OS:es) for setting up systems with additional capabilities to revoke individual capabilities but they are even more complex IMHO. So, in most capability systems the only way to revoke capabilities to a resource is to remove the resource itself.

In CHERI, where every pointer is a capability, revocation of capabilities into a memory object relies on what is effectively a parallel garbage collector process that finds all pointers to revoked objects and overwrites them with an invalid pointer that traps on use. [0]

In the fantasy OS of my mind, ACLs have instead been promoted to "access-control trees" that include a "grant option", allowing a user to grant the permission she has to someone else. But once the first user's permissions are revoked, the sub-tree of re-granted permissions get revoked as well. I think that could be achieved with existing file systems ACLs, with added topology info and enforcement by the OS. Then actual capabilities would be created first when a file is opened, as file handles, but unlike Unix file handles they could be revoked, be revoked in a cascading manner, and revoked automatically if the underlying ACT gets changed.

Authorization Certificates (as in X.509) are a type of distributed cryptographic capabilities, but require complex distribution of "revocation lists". In recent years, there new types of distributed "authorization tokens" have been introduced such as e.g. "Biscuits" [1].

[0] https://www.semanticscholar.org/paper/Cornucopia-Reloaded%3A...

[1] https://www.biscuitsec.org
by calmbonsai | 2025-12-15 05:58:20+00:00
Ah yes, I agree. I run macOS as my daily driver, but otherwise barely skim the Apple ecosystem. Apple laptops were just the best hardware to run a Unix-ish (BSD) on.

Now with performant hypervisors, I just run a bunch of Linux VMs locally to minimize splash-zone and do cloud for performance computing.

I'll likely migrate fully to a Framework laptop next year, but I don't have time (atm) to do it. Ah, the good 'ole glory days of native Linux on Thinkpads.