MurphyA/hacker-news huggingface dataset:
by HumblyTossed | 2026-01-06 20:51:43+00:00
The article compares the native (iOS) mail app which is (from the article) 8.7MB. What I believe is happening is that the gmail app is not a native app, it is some cross-platform monstrosity, so Google has to bring all the widgets and doo-dads that they wrote so that it looks just like it does on all the other platforms. The native iOS mail app is so tiny because part of iOS that the article mentions taking up 25GB contains all the native widgets and doo-dads that the native mail app can use.
by IAmBroom | 2026-01-06 20:51:59+00:00
Annie's is a close second in the dry-packet, to Goodles (which cook slightly faster, and are gluten-free). Both are winners.

My tip: Immediately after draining, I mix in a beaten raw egg to coat the noodles and make them a tad creamier in mouthfeel - regardless of brand. The noodle heat soft-cooks the egg.
Show HN: An open-source telephony stack for AI voice agents (Twilio alternative)
by alxwlcx | 2026-01-06 20:52:03+00:00
We built this stack last summer while working on AI voice agents for healthcare practices.

Twilio worked well functionally, but its HIPAA option started at $2k per month before a single call, and that fixed cost dominated almost immediately, long before usage-based costs like LLM tokens mattered. That imbalance pushed us to build and operate our own telephony layer.

This repo is the result. It's a self-hosted, HIPAA-eligible telephony stack built on Asterisk + AWS Chime that handles phone numbers, SIP/TLS, RTP media, and real-time audio streaming to AI voice agents via a Twilio-like WebSocket interface. A shim server bridges audio to modern WSS-based AI services. You bring the voice AI. This just handles the phone infrastructure. (Example server using OpenAI Realtime API for voice-to-voice included in repo.)

We've since moved on to other projects, but as AI voice agents keep proliferating, we noticed we couldn't find a comprehensive, open-source, self-hostable option in this space. Rather than let it sit unused, we cleaned it up and open-sourced it.

This isn't for everyone. If you don't want to run infrastructure, Twilio is still the easiest option.

Happy to answer questions about architecture, trade-offs, scaling, or design decisions!

---

Blog post: https://vectorly.app/blog/open-telephony-stack
by pmarreck | 2026-01-06 20:52:18+00:00
> seems easier then getting a vpn working

it could not possibly be easier to get Tailscale up and running on your mac or linux machine, install tmux and mosh on your mac or linux machine, connect to it with Blink Shell https://blink.sh/ on your iOS device that you've also installed tailscale to, and start vibe-coding from anywhere, on a performant, resilient, instantly resumable terminal connection.

seriously, it's a game-changer
by jjuran | 2026-01-06 20:52:22+00:00
Implementing fork() without address translation is possible — it's just expensive.

In MacRelix (a POSIX-like environment for classic Mac OS), when a process calls fork(), the system allocates backup memory regions for it and its child. Whenever one of them is switched in after its counterpart was the last of the two to run, the old one's regions are backed up and the new one's regions restored.
by Jtsummers | 2026-01-06 20:52:44+00:00
> Why doesn't the Gov't just take the money from the schools that the people went to? Drain those billion dollar endowments seems way easier than all this paperwork.

For student loan repayment? This is one of the least thought out ideas I've seen on HN in a while, and there have been some doozies.

Let's say you get a $20k personal loan from the bank and you spend it on various things or maybe one big purchase (this is as opposed to an asset backed loan like a mortgage or a normal auto loan where the item could be repossessed or home foreclosed on). You fail to pay back the loan, in what universe does it make any sense for the bank to go to the store or stores you purchased from to demand the money back rather than to you, the borrower?
by hn8726 | 2026-01-06 20:52:50+00:00
On Android most apps started bundling androidx/jetpack compat libraries that help deal with various API versions, and generally make the development much, _much_ easier. These days apps will also bundle the entire new Android UI framework (Compose) while in the past all the UI code was using framework classes.

Other than that, some popular and useful libraries will bundle native libs (for example for sql), and some ad/analytics/corporate SDKs will use native libs to share code between platforms and for obfuscation. These corporate SDKs (like Zendesk) will also notoriously break Android minification tools, because why bother
by viraptor | 2026-01-06 20:53:13+00:00
> It actually feels primitive, like we haven’t figured out how to make things easy yet.

We have though. For example for lights, zwave implants near switches work great. If the whole system goes down, they still work as normal switches. No "switch you can't turn off" effect either. It's just not the default way people go - especially if they're renting. It's much cheaper to buy a crappy wifi lightbulb if you want one. And then you want more...
by plqbfbv | 2026-01-06 20:53:35+00:00
> I would disagree with that. You do not need a big flashing distract-o-tron in the middle of the dashboard.

Except my car's screen is not distracting: I set it up for my destination, I give it a glance when needed for navigation, and I basically don't touch it until I'm done driving, because (second part of the previous comment) the UX is so well done that I don't have to. Worst case, voice control works well enough for e.g. changing playlists and songs or changing destination mid-trip.

> Cars should have exactly zero screens.

People have been attaching tomtoms and mobiles to the windscreen for the past 30 years anyway to solve exactly the same problem (navigation), and they were always inferior solutions to a well done integrated screen: detaching on a bump, leaving forever-smudges, having to update all maps offline, removable meaning easier to steal, limited functionality, ..... So I disagree. I'd rather have governing bodies evolve to take screen UX into account at regulation: most cars with screens couldn't have been sold.
by tptacek | 2026-01-06 20:53:43+00:00
I'm saying that most people --- and functionally all the people who feel victimized by insiders --- on Polymarket are gambling, not predicting. I feel pretty comfortable with how sound that argument is. I agree that there are users of prediction markets who are neither "insiders" (for whatever definition of that you want to use) nor gamblers, but they're participating with the understanding that they're bidding alongside insiders. And they're a tiny cohort.

If it helps, draw a line between "entertainment" and "enterprise", and use whatever term you like for uses on the "entertainment" side of the line. Either way: it has stark implications for the notion of insider impropriety.
by nonameiguess | 2026-01-06 20:53:59+00:00
Sorry to get both meta and personal, but I'm kind of curious because you're one of the few here whose name I instantly recognize, probably because I'm fairly interested in science and my impression is you mostly post scientific papers or articles discussing them. I'm looking at your profile of submissions now and the first page is 30 submissions all made in the last 24 hours. Most of them are indeed scientific papers. My own experience reading material like this is it generally takes at minimum 5-6 hours to read a paper and meaningfully digest any of it, and that's only true of subjects I'm somewhat familiar with. For subjects I'm not familiar with, there is rarely any point in reading direct research at all. Given you can't possibly be reading all of this, what is your motivation for submitting all of it to Hacker News? What is your process for finding this material and identifying it as interesting?
by pmarreck | 2026-01-06 20:54:54+00:00
You need tmux to be able to resume the same session from anywhere, mosh-server to make ssh resilient to sketchy mobile connections, and blink shell https://blink.sh/ to have a high quality iOS shell with a mosh and ssh client built right in to resume at any time.

Far more resilient and performant than a web client.
by twism | 2026-01-06 20:55:04+00:00
I use a bespoke hacker software keyboard (ctrl/meta/custom keys for GNU screen and emacs) and also bespoke SSH client (fork of the original irssiconnectbot) for years.

My phone is the original Pixel Fold. You would think I use it unfolded but the passport form factor lends itself to be almost as productive folded that I use it that way most of the time. Unfolded its just a bit better experience (bigger keys / more display real estate/ more characters per line/ etc).

With that said I'm looking forward to the Click Communicator: https://clicks.tech/communicator

I've also been meaning to write about my setup and open sourcing my tools.

Oh. Writing clojure helps due to the terseness of the language. Not sure it would be a pleasant experience writing Java with the 80 character line limit I try to impose on myself
by wismwasm | 2026-01-06 20:55:07+00:00
Fair enough! However you need to consider:

- Depending on your taste you will need to subscribe to multiple servics. Shows / movies I enjoy are scattered across Netflix, AppleTV+, Prime, Disney+. And it's increasingly unlikely that IP is licensed out (i.e. no Star Wars on Netflix)

- There is a surprising amount of movies which are not on any streaming service (at least in Germany) OR they are but you still need to buy a digital copy or rent

- The UX of self hosted solutions like for example Jellyfin or other open source can (surprisingly!) be better than the paid solutions. I.e. no ads & and no UX redesigns

I'm not opposed to streaming services at all. I will subscribe to them as long as it's value for money.

However in recent years streaming services got worse while self hosted solutions got much much better.

Your point - subscription is cheaper than self hosting - may still hold, but the balance has definitely shifted in favor of self hosted solution.

I don't think it'll become mainstream in the near future (or ever) but for me personally it's worth it!

It's also not "either / or". You can both self-host and have subscriptions, but maybe you can cut down on some subscription services:)
by observationist | 2026-01-06 20:55:08+00:00
It's not really that deep - they've beaten it into mode collapse around the topic. Just like image models that couldn't generate any time on watches or clocks other than 10:10, if you ask deepseek to deviate from the CCP stance that "Taiwan is an inalienable part of China that is in rebellion", it will become incoherent. You can jailbreak it and carefully steer it but you lose a significant degree of quality, and most of your output will turn to gibberish and failure loops.

Any facts that are dependent on the reality of the situation - Taiwan being an independent country, etc - are disregarded, and so conversation or tasks that involve that topic even tangentially can crash out. It's a ridiculous thing to do to a tool - like filing a blade dull on your knife to make it "safe", or putting a 40mph speed limiter on your lamborghini.

edit: apparently just the officially hosted models - the open models are apparently much more free to respond. Maybe forcing it created too many problems and they were taking a PR hit?

The CCP is a fundamentally absurd institution.
by frudas24 | 2026-01-06 20:55:24+00:00
The WebRTC complexity came from our pipeline being ffmpeg → H.264 RTP over UDP → pion/webrtc TrackLocalStaticRTP (instead of a “normal” WebRTC source). Any time we changed monitor/crop or restarted the capture, the RTP stream effectively reset (SSRC/seq/timestamps and sometimes SPS/PPS cadence), and mobile browsers can stall the decoder and just stay black. We added “restart/renegotiation” because recreating the PeerConnection is the most reliable way to recover from those discontinuities.

What we still need to debug to make WebRTC solid:

Capture-side: full ffmpeg stderr logs + exact args when it goes black.
RTP ingest: log SSRC/PT/seq gaps and verify SPS/PPS are regularly re-sent (e.g., with every keyframe).
WebRTC states: log signaling/ICE/connection state transitions to catch races and “remote description not set” timing.
Confirm whether the black screen is a capture issue vs a decode/packetization issue (capture works via MJPEG, so likely the latter).
by rbergamini27 | 2026-01-06 20:55:35+00:00
^^ I probably rely on AI slop than most people on this thread. I've found with the gaps with waiting on Claude Code output match the frequency I'm already checking my phone out of addiction. By no means the healthiest way to spend my time, but if I wanted to spin up a simple website or build out the framework for a project doom coding works for me!

Agreed 100% there are healthier uses of my time!
by zachallaun | 2026-01-06 20:56:08+00:00
Ton of fun! Was interesting to see how my strategy evolved as well. I started out trying to make a large pen, but quickly realized that wouldn't work, so I made a small pen and then started moving it out. This allowed me to see individual optimizations and try alternatives. Even at the end, about to hit submit, I wasn't sure my solution was optimal, but ended up with the optimal sizse-86 solution for today's challenge. Will try again tomorrow!
by kevinlikako | 2026-01-06 20:56:17+00:00
My friends started using Zyn and other nicotine adjacents + that WSJ/Palantir article about free nic pouches in tech makes it seem like nic is being normalized. Doesn't seem like a great thing to get into in the long run.

There's something to be said about the focus boost though so I built a nicotine‑free alternative: 50mg caffeine strips that dissolve under your tongue. Each strip is a known dose, so instead of mystery‑strength coffee or energy drinks, you can stack 1–3 strips through the day and actually know how much caffeine you’re taking.

Right now it’s a pre‑launch product aimed at caffeine loves or whoever needs a focus boost, but want something more precise than coffee and less addictive than pouches. I’d love feedback on the idea, dosing, safety concerns, or whether this solves a real problem for you.
by KaiserPro | 2026-01-06 20:56:43+00:00
This is batshit insane, and I fully fully endorse this person's madness to do such things. This is what the internet is _for_

Going straight into making a camera is very much a bold move.

my next comment isn't for the author, as they have strong enough opinions on cameras to do this. But for everyone else, I have greatly enjoyed fujifilms line of cameras.

I borrowed a gfx100s from work, and my word is a wonderful machine. (it should be for the price) for more normal budgets, the x series is great. Unlike a canon what you see is what you get, and the autofocus works on objects rather than the closest fucking thing it sees.
Show HN: Symbolic Circuit Distillation: prove program to LLM circuit equivalence
by nsomani | 2026-01-06 20:57:06+00:00
Hi HN, I've been exploring various applications of formal methods to ML/interpretability and I've been hoping to get more eyes on the approach.

I have been working on a small interpretability project I call Symbolic Circuit Distillation. The goal is to take a tiny neuron-level circuit (like the ones in OpenAI's "Sparse Circuits" work) and automatically recover a concise Python program that implements the same algorithm, along with a bounded formal proof that the two are equivalent on a finite token domain.

Roughly, the pipeline is:

1. Start from a pruned circuit graph for a specific behavior (e.g. quote closing or bracket depth) extracted from a transformer.
2. Treat the circuit as an executable function and train a tiny ReLU network ("surrogate") that exactly matches the circuit on all inputs in a bounded domain (typically sequences of length 5–10 over a small token alphabet).
3. Search over a constrained DSL of common transformer motifs (counters, toggles, threshold detectors, small state machines) to synthesize candidate Python programs.
4. Use SMT-based bounded equivalence checking to either:
- Prove that a candidate program and the surrogate agree on all inputs in the domain, or
- Produce a counterexample input that rules the program out.

If the solver finds a proof, you get a small, human-readable Python function plus a machine-checkable guarantee that it matches the original circuit on that bounded domain.

Why I built this

Mechanistic interpretability has gotten pretty good at extracting "small crisp circuits" from large models, but turning those graphs into clean, human-readable algorithms is still very manual. My goal here is to automate that last step: go from "here is a sparse circuit" to "here is a verified algorithm that explains what it does", without hand-holding.

What works today

- Tasks: quote closing and bracket-depth detection from the OpenAI circuit_sparsity repo.
- Exact surrogate fitting on a finite token domain.
- DSL templates for simple counters, toggles, and small state machines.
- SMT-based bounded equivalence between:
sparse circuit -> ReLU surrogate -> Python program in the DSL.

Limitations and open questions

- The guarantees are bounded: equivalence is only proven on a finite token domain (short sequences and a small vocabulary).
- Currently focused on very small circuits. Scaling to larger circuits and longer contexts is open engineering and research work.
- The DSL is hand-designed around a few motifs. I am not yet learning the DSL itself or doing anything very clever in the search.

What I would love feedback on

- Are the problem framing and guarantees interesting to people working on mechanistic interpretability or formal methods?
- Suggestions for next benchmarks: which circuits or behaviors would you want to see distilled next?
- Feedback on the DSL design, search strategy, and SMT setup.

Happy to answer questions about implementation details, the SMT encoding, integration with OpenAI's Sparse Circuits repo, or anything else.
by jaredcwhite | 2026-01-06 20:57:08+00:00
This is what a pipeline which includes genAI tools should look like: using them for placeholders/prototypes/internal demos only, and making sure everything is properly labeled so it's replaced by correct, production assets created by real artists.

Good for them to disclose this and do the right thing. Seems to be the expected path for follow in 2026 now that the hype cycle is crashing to a halt.
by Curiositry | 2026-01-06 20:57:15+00:00
This is great.

I frequently break my site in ways that aren't obvious. Right now, I use a combination of visualping and a homebrew tests.sh that hits various endpoints and runs checks, but I have been meaning to integrate screenshoting into my tests script (via selenium or cutycapt) rather than relying on a hosted service.

Have you found a good way of diffing the screenshots? DiffPDF works pretty well, but I haven't found a good solution for checking whether there are relevant changes automatically, rather than just has-changed, in a way that could be integrated into a script.
by gambiting | 2026-01-06 20:57:34+00:00
Tbf 2 jobs ago I had a Dell enterprise workstation laptop, an absolute behemoth of a thing, it was like 3.5kg, it was the thicker variant of the two available with extra cooling, specifically sold to companies like ours needing that extra firepower, and it had a 20 core i9, 128GB of DDR5 CAMM ram, and a 3080Ti - I think the market price of that thing was around £14k, it was insane. And it had exactly that kind of behaviour I described - I would start compiling something in Visual Studio, I would briefly see all cores jump to 4GHz and then immediately throttle down to 1.2GHz, to a point where the entire laptop was unresponsive while the compilation was ongoing. It was a joke of a machine - I think that's more of a fraud than what you described, because companies like ours were literally buying hundreds of these from Dell and they were literally unsuitable for their advertised use.

(to add insult to the injury - that 3080Ti was literally pointless as the second you started playing any game the entire system would throttle so hard you had extreme stuttering in any game, it was like driving a lamborghini with a 5 second fuel reserve. And given that I worked at a games studio that was kinda an essential feature).
by noboostforyou | 2026-01-06 20:57:39+00:00
> Pub landlords seeking to introduce dynamic pricing may get a better response if they try and alter the drinkers's perception in a similar way. Presenting price changes as being cheaper during off-peak times are likely to be viewed as a gain from the drinkers' perspective.

I have been to a bar that did something like this from over a decade ago and it was a popular venue.

The bar menu prices function like a basic stock market - the more any one drink is ordered the price goes up by some increment. Conversely, every X minutes that a drink isn't ordered, the price goes down.

edit, found it - https://thetipsycrow.com/drink-exchange/
by ilamont | 2026-01-06 20:58:00+00:00
> By contrast, my Nissan has driving settings like lane centering and seat heater controls on physical buttons... right next to my left knee where they are nearly inaccessible while driving.

I can beat that. 2011 Prius. USB-A port is inside the center console at the bottom of the back vertical interior panel.

You have to lift the center console lid, move all of the crap you've stored inside the console away from the lower rear of the compartment to reach the port, then by feel (unless you want to turn your head 100 degrees to the right and look down while driving) attempt to slot the USB cable into the receptacle.
by irishcoffee | 2026-01-06 20:58:01+00:00
Pretty sure Facebook took off because they required you to have a .edu address, and even then, when it first launched it wasn’t just any .edu, the rolllout was slow. I remember people enrolling in 2-year schools when the regex matched on *.edu just so they could get an account.

Facebook hit the seam of internet 2.0: after the .com crash with a bunch of kids who grew up on AIM/ICQ/whatever and all these kids wanted to keep up with their friends at various colleges.

They indeed just got lucky.
by acureau | 2026-01-06 20:58:02+00:00
Spotify is the only streaming service I still pay for, and I will continue to pay for, because:

1. The catalog is comprehensive. I listen to far more music than I could afford to own.
2. There are no advertisements in the paid service.
3. Their music discovery algorithm is excellent.

I also appreciate the yearly statistics, and how they continue to add value for me. Podcasts and eBooks being added to the platform was cool. I like to make "taste combo" playlists with friends. Really one of the only companies I genuinely feel deserves my money.
by LightBug1 | 2026-01-06 20:58:08+00:00
No doubt about it.

I thought the Man in the High Castle was an interesting, but ultimately far-fetched bit of sci-fi drama ... looks like it was a orientation series.

Hard avoid now ... just had a colleague who switched a 6 month sabbatical with his kids and wife from the US to Asia ... "couldn't bare to spend money there with all that's going on".
by trinix912 | 2026-01-06 20:59:00+00:00
The brew LLVM situation is crazy and even more noticeable when you're on older macOS for which they no longer ship precompiled stuff.

I know they don't want stuff breaking because users have a GCC version that's 6 months behind and the homebrew folks can't be sure that package XYZ doesn't use any newer features. But when installing anything built with C++ I really don't expect to wait half a day for the whole LLVM+CMake toolchain to compile from scratch.

You can pin LLVM but it's useless as there's no bypass to the version check. They've also closed all relevant issues as "won't fix" as it's not "their way of doing things".