frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

The Anthropic Hive Mind

https://steve-yegge.medium.com/the-anthropic-hive-mind-d01f768f3d7b
1•gozzoo•1m ago•0 comments

A Horrible Conclusion

https://addisoncrump.info/research/a-horrible-conclusion/
1•todsacerdoti•2m ago•0 comments

I spent $10k to automate my research at OpenAI with Codex

https://twitter.com/KarelDoostrlnck/status/2019477361557926281
1•tosh•2m ago•0 comments

From Zero to Hero: A Spring Boot Deep Dive

https://jcob-sikorski.github.io/me/
1•jjcob_sikorski•3m ago•0 comments

Show HN: Solving NP-Complete Structures via Information Noise Subtraction (P=NP)

https://zenodo.org/records/18395618
1•alemonti06•8m ago•1 comments

Cook New Emojis

https://emoji.supply/kitchen/
1•vasanthv•11m ago•0 comments

Show HN: LoKey Typer – A calm typing practice app with ambient soundscapes

https://mcp-tool-shop-org.github.io/LoKey-Typer/
1•mikeyfrilot•14m ago•0 comments

Long-Sought Proof Tames Some of Math's Unruliest Equations

https://www.quantamagazine.org/long-sought-proof-tames-some-of-maths-unruliest-equations-20260206/
1•asplake•15m ago•0 comments

Hacking the last Z80 computer – FOSDEM 2026 [video]

https://fosdem.org/2026/schedule/event/FEHLHY-hacking_the_last_z80_computer_ever_made/
1•michalpleban•15m ago•0 comments

Browser-use for Node.js v0.2.0: TS AI browser automation parity with PY v0.5.11

https://github.com/webllm/browser-use
1•unadlib•16m ago•0 comments

Michael Pollan Says Humanity Is About to Undergo a Revolutionary Change

https://www.nytimes.com/2026/02/07/magazine/michael-pollan-interview.html
1•mitchbob•16m ago•1 comments

Software Engineering Is Back

https://blog.alaindichiappari.dev/p/software-engineering-is-back
1•alainrk•17m ago•0 comments

Storyship: Turn Screen Recordings into Professional Demos

https://storyship.app/
1•JohnsonZou6523•17m ago•0 comments

Reputation Scores for GitHub Accounts

https://shkspr.mobi/blog/2026/02/reputation-scores-for-github-accounts/
1•edent•21m ago•0 comments

A BSOD for All Seasons – Send Bad News via a Kernel Panic

https://bsod-fas.pages.dev/
1•keepamovin•24m ago•0 comments

Show HN: I got tired of copy-pasting between Claude windows, so I built Orcha

https://orcha.nl
1•buildingwdavid•24m ago•0 comments

Omarchy First Impressions

https://brianlovin.com/writing/omarchy-first-impressions-CEEstJk
2•tosh•30m ago•1 comments

Reinforcement Learning from Human Feedback

https://arxiv.org/abs/2504.12501
2•onurkanbkrc•30m ago•0 comments

Show HN: Versor – The "Unbending" Paradigm for Geometric Deep Learning

https://github.com/Concode0/Versor
1•concode0•31m ago•1 comments

Show HN: HypothesisHub – An open API where AI agents collaborate on medical res

https://medresearch-ai.org/hypotheses-hub/
1•panossk•34m ago•0 comments

Big Tech vs. OpenClaw

https://www.jakequist.com/thoughts/big-tech-vs-openclaw/
1•headalgorithm•37m ago•0 comments

Anofox Forecast

https://anofox.com/docs/forecast/
1•marklit•37m ago•0 comments

Ask HN: How do you figure out where data lives across 100 microservices?

1•doodledood•37m ago•0 comments

Motus: A Unified Latent Action World Model

https://arxiv.org/abs/2512.13030
1•mnming•37m ago•0 comments

Rotten Tomatoes Desperately Claims 'Impossible' Rating for 'Melania' Is Real

https://www.thedailybeast.com/obsessed/rotten-tomatoes-desperately-claims-impossible-rating-for-m...
3•juujian•39m ago•2 comments

The protein denitrosylase SCoR2 regulates lipogenesis and fat storage [pdf]

https://www.science.org/doi/10.1126/scisignal.adv0660
1•thunderbong•41m ago•0 comments

Los Alamos Primer

https://blog.szczepan.org/blog/los-alamos-primer/
1•alkyon•43m ago•0 comments

NewASM Virtual Machine

https://github.com/bracesoftware/newasm
2•DEntisT_•45m ago•0 comments

Terminal-Bench 2.0 Leaderboard

https://www.tbench.ai/leaderboard/terminal-bench/2.0
2•tosh•46m ago•0 comments

I vibe coded a BBS bank with a real working ledger

https://mini-ledger.exe.xyz/
1•simonvc•46m ago•1 comments
Open in hackernews

1KB JavaScript Numbers Station

https://shkspr.mobi/blog/2025/07/1kb-js-numbers-station/
53•blenderob•6mo ago

Comments

MobiusHorizons•6mo ago
Cool concept, but doesn’t seem to work on iOS safari
leeoniya•6mo ago
> but doesn’t seem to work on iOS safari

if i had a nickel...

thenthenthen•6mo ago
Isn't every browser on iOS technically Safari under the hood? Although Mozillas discontinued XRViewer app/browser does def expose more functionality
edent•6mo ago
I've had feedback that it should work on Firefox for iOS.
gkbrk•6mo ago
Also not working on Brave on Linux for me.
edent•6mo ago
Interesting, thanks. I tested it working on Chromium - but didn't test other Chrome based browsers.
tromp•6mo ago
Working on my MacOSX Brave...
mg•6mo ago
No sound at all and the console shows lots of these messages:

    24:4 Uncaught TypeError: Cannot read properties of undefined (reading 'lang')
    at 24:4:132
Which seems to be this line:

    m.lang = e[(Math.random() * e.length) | 0]["lang"];
Another observation: You write:

    m = new SpeechSynthesisUtterance;
    m.text = "Hello";
    speechSynthesis.speak(m);

    Run that JS and your computer will speak to you!
But when I paste those 3 lines into the console, that also does not produce any sound here. I tried in Chromium and Firefox, both on Linux.
genewitch•6mo ago
moved text to top-level
netsharc•6mo ago
Seems like you need to install additional components: https://askubuntu.com/questions/761975/chromium-is-not-gener...

Question/answers from 2016, so might be misleading...

LazarSRB•6mo ago
funny and creepy
genewitch•6mo ago
works on Firefox, on windows 11.

however even when it is working, it's not really like a numbers station. For a start, it needs varying static and clicks. Secondly, numbers stations don't generally say "seven hundred and thirty four", they generally say "seven. three. four." the random words repeated sometimes are a nice touch, though. And i like the idea of grabbing words from an internal list in the way the author did it. I wouldn't have thought of that, probably.

some numbers stations that i personally archived:

  https://soundcloud.com/djoutcold/31-may-2014-170948-19008500-mhz
  https://soundcloud.com/djoutcold/uvb-76-aug-23-2010-9-32ampst
  https://nextcloud.projectftm.com/index.php/s/unid-pizza-numbers [0]
here's one that sounds like a numbers station but can be argued is not, as the meaning is rather clear (if my memory serves):

  https://soundcloud.com/djoutcold/sdrsharp-20150825-020508z-4368khz-af
[0] i think this one is a joke; this one is the most representative of what numbers stations used to be like, though. Whoever made it really knew what they were doing, even though they used their knowledge to be a bit cheeky. I edited it because the music would blow out your speakers originally.

additionally, i know the 19008500-mhz is mislabeled, it should be 19.008500-mhz or instead of "mhz" just "hz"

edent•6mo ago
I'd love it if you forked my code and managed to fit a full numbers station into 1024KB.
genewitch•6mo ago
my kid wanted it to say point between the groupings, which is the speech engine, so this may sound different depending on your browser:

  <!DOCTYPE html><html><body><button onclick="f()">Start</button><script>
  function f(){with(window){
  a=new AudioContext;b=a.createBuffer(1,c=2*a.sampleRate,a.sampleRate);d=b.getChannelData(0);
  for(i=0;i<c;i++)d[i]=(Math.random()*2-1)*.4;
  e=a.createBufferSource();e.buffer=b;e.loop=1;g=a.createGain();g.gain.value=.05;
  e.connect(g).connect(a.destination);e.start();
  const l=n=>((n.match(/[A-Z]/g)||[]).length==1&&(n[0].match(/[A-Z]/g)||[]).length==1);
  setInterval(()=>{s=Object.getOwnPropertyNames(globalThis).filter(l).sort(()=>.5-Math.random())[0];
  if(Math.random()>.3){
    n=String(Math.ceil(Math.random()*1e4).toString().padStart(4,'0'));
    s=n[0]+'. '+n[1]+'. point. '+n[2]+'. '+n[3]+'.';
  }
  m=new SpeechSynthesisUtterance;m.text=s;
  v=speechSynthesis.getVoices();m.lang=v[(Math.random()*v.length)|0].lang;
  m.rate=Math.random();m.pitch=Math.random()*2;speechSynthesis.speak(m);},866);
  //m.rate=1.7;m.pitch=2;speechSynthesis.speak(m);},866);
  }}</script></body></html>
the comment at the end can be switched with the preceeding line so it sounds like he wanted it to (high pitched and fast, please) <1kb

and i got something stuck in my craw about noise so here's one with more accurate noise:

  <!DOCTYPE html><html><body><button onclick="f()">Start</button><script>
  function f(){with(window){
  a=new AudioContext;
  g=a.createGain();g.gain.value=.05; 
  h=a.createScriptProcessor(256,1,1);p=0;
  h.onaudioprocess=e=>{
    b=e.outputBuffer.getChannelData(0);
    for(i=0;i<b.length;i++)b[i]=p+=(Math.random()*2-1)/10;
  };
  h.connect(g).connect(a.destination);
  const l=n=>((n.match(/[A-Z]/g)||[]).length==1&&(n[0].match(/[A-Z]/g)||[]).length==1);
  setInterval(()=>{
    s=Object.getOwnPropertyNames(globalThis).filter(l).sort(()=>.5-Math.random())[0];
    if(Math.random()>.3){
      n=String(Math.ceil(Math.random()*1e4).toString().padStart(4,'0'));
      s=n[0]+'. '+n[1]+'. point. '+n[2]+'. '+n[3]+'.';
    }
    m=new SpeechSynthesisUtterance;m.text=s;
    v=speechSynthesis.getVoices();m.lang=v[(Math.random()*v.length)|0].lang;
    m.rate=Math.random();m.pitch=Math.random()*2;speechSynthesis.speak(m);
  },866);
  }}</script></body></html>
apologies to the HN servers for using 2kb to display these

i don't know javascript so apologies if i messed anything up (because it will eventually pop and click which is extremely accurate to numbers station reception but also crashes the page - audio stops.)

netsharc•6mo ago
It kind of irks me that the idea was neat, but the attempt was seriously lacking.
genewitch•6mo ago
i replied in this thread with 855 bytes that do it a little closer to what i expected
netsharc•6mo ago
FYI, having "." after numbers in German turn them to ordinal numerals (i.e. "4." becomes "4th"). I had to change them to commas to make it more familiar to the number stations recordings I've heard of.
genewitch•6mo ago
so "neun. vier. punkt. sieben. drei."

doesn't mean 94 . 73 (or 94,73)? i considered using "dot". I'd have to listen to a german numbers station that uses a splitter like "point" or "dot"

what i'm asking is if you have an ip address like 4.2.2.2 how would you read that over the phone, in german?

also i made a lot of edits to fix issues during the edit window to the two versions i posted

netsharc•6mo ago
> 4.2.2.2 how would you read that over the phone, in german?

Vier punkt zwei punkt zwei punkt zwei.

But the TTS isn't me, it sees 4. 2. 2. 2. (with spaces in between) and reads Vierte, Zweite, Zweite, Zweite (fourth, second, second, second).

Without spaces, it reads it like the way Germans read an IP address (see first line of reply).

In German the "." after the number is like the "nd" or "th" in "2nd" or "4th".

edent•6mo ago
Thanks for your support, I really appreciate it :-)
genewitch•6mo ago
hey i should also apologize. I am really trying to not be so nit-picky. You had the idea and executed it in less than 1kb. I really meant to just kinda educate about numbers stations in general and i know it came off in a way that was unintentional.

and i used copilot because i am not a programmer, i just wanted to see if it was, in fact, possible to add noise and fix the way the numbers were read in 1kb. and i kept your code essentially the same, only adding stuff to split the numbers up closer to how they sound on RF.

so, sorry!

sterlind•6mo ago
what's the meaning of the one you said is rather clear?
simonw•6mo ago
This post inspired me to build (OK, vibe code) this little tool for playing with the speech synthesis browser API: https://tools.simonwillison.net/speech-synthesis

Commits / prompts: https://github.com/simonw/tools/commits/main/speech-synthesi...

tantalor•6mo ago
Something is wrong with the voice selector. It does not actually change the voice.
simonw•6mo ago
Which browser/OS? I've only tested on mobile Safari.
tantalor•6mo ago
Android Chrome. It seems to be stuck with whatever the last random voice used by the numbers station demo and can't be changed.

Desktop ChromeOS works fine.