frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Larry Summers on Stanley Fischer

https://larrysummers.com/news-item/stan-fischer/
2•paulpauper•4m ago•0 comments

I podcast with Azeem Azhar on the speed of AI take-off

https://marginalrevolution.com/marginalrevolution/2025/06/i-podcast-with-azeem-azhar-on-the-speed-of-ai-take-off.html
2•paulpauper•5m ago•0 comments

Tesla Optimus robotics vice president Milan Kovac is leaving the company

https://www.cnbc.com/2025/06/06/tesla-optimus-robotics-vp-is-leaving-the-company.html
5•TheAlchemist•19m ago•1 comments

China's driverless lorries hope to expand

https://www.bbc.com/news/articles/c5ykel5dr62o
1•mastazi•20m ago•0 comments

Why You Should Move Your Site Away from Weebly (YC W07)

https://www.articulation.blog/p/why-you-should-move-your-site-away-from-weebly
1•dustywusty•32m ago•0 comments

Colorado kayakers rescue a dog that tumbled over 60-foot waterfall in Mexico

https://coloradosun.com/2025/06/03/kayakers-rescue-waterfall-trapped-dog/
2•mooreds•34m ago•0 comments

Portable device captures airborne molecules for noninvasive disease detection

https://phys.org/news/2025-05-portable-device-captures-airborne-molecules.html
1•PaulHoule•40m ago•0 comments

Why does C++ think my class is copy-constructible when it can't be?

https://devblogs.microsoft.com/oldnewthing/20250606-00/?p=111254
2•ibobev•41m ago•0 comments

Building a Modern Python API with Azure Cosmos DB: A 5-Part Video Series

https://devblogs.microsoft.com/cosmosdb/building-a-modern-python-api-with-azure-cosmos-db-a-5-part-video-series/
1•ibobev•41m ago•0 comments

Retro Game Sprites Generated in One Attempt with Ideogram's "V3 Quality" Model

https://gametorch.app/commons/image_models/ideogram-v3-quality
2•gametorch•45m ago•1 comments

Ask HN: What would you do if AGI were coming in 2-4 years?

1•atleastoptimal•45m ago•10 comments

Ask HN: Is synthetic data generation practical outside academia?

1•cpard•46m ago•0 comments

Palantir is nuts. When's the crash?

https://www.ft.com/content/747dd085-6c83-4c0b-a93e-e134a643f2dd
14•1vuio0pswjnm7•46m ago•2 comments

Apple Cash Management (2021)

https://www.treasurefi.com/blog/a-look-inside-apple-cash-management
2•walterbell•49m ago•0 comments

Subcontinental Genetic Variation in the All of Us Research Program

https://www.cell.com/ajhg/fulltext/S0002-9297(25)00173-9
1•bookofjoe•49m ago•0 comments

Show HN: SQLAlchemy just the core – a better way

https://github.com/sayanarijit/sqla-fancy-core
2•sayanarijit•50m ago•0 comments

Show HN: Automate any workflow with Osly and 10x your productivity

https://app.osly.ai/
2•hez2000•50m ago•0 comments

Anthropic releases custom AI chatbot for classified spy work

https://arstechnica.com/ai/2025/06/anthropic-releases-custom-ai-chatbot-for-classified-spy-work/
1•gametorch•53m ago•0 comments

A man rebuilding the last Inca rope bridge

https://www.atlasobscura.com/articles/last-inca-rope-bridge-qeswachaka-tradition
1•kaonwarb•57m ago•0 comments

NATS Comparison to Kafka, Rabbit, gRPC, and Others

https://docs.nats.io/nats-concepts/overview/compare-nats
1•teleforce•1h ago•0 comments

SchemaPin prevents "MCP Rug Pull" attacks

https://github.com/ThirdKeyAI/SchemaPin
2•smugglereal•1h ago•1 comments

Autocomp: LLM-Driven Code Optimization for Tensor Accelerators

https://charleshong3.github.io/blog/autocomp.html
1•matt_d•1h ago•0 comments

Jony Ive's LoveFrom helped design Rivian's first electric bike

https://techcrunch.com/2025/06/06/jony-ives-lovefrom-helped-design-rivians-first-electric-bike/
3•coloneltcb•1h ago•0 comments

Michigan triples waters with 'Do Not Eat' warning for PFAS in fish

https://www.mlive.com/environment/2025/06/michigan-triples-waters-with-do-not-eat-warning-for-pfas-in-fish.html
2•mahirsaid•1h ago•1 comments

Dear High Schoolers, Time Is Precious

https://byronsharman.com/blog/dear-high-schoolers
2•chilipepperhott•1h ago•0 comments

Show HN: Bridgit – In-Person-First Networking

https://www.bridgitsocial.com/
1•amfooladgar•1h ago•2 comments

Understanding MCP Evals: Why Evals Matter for MCP

https://huggingface.co/blog/mclenhard/mcp-evals
1•mooreds•1h ago•0 comments

Let's Learn About MCP Together

https://medium.com/womenintechnology/lets-learn-about-mcp-together-be1601dc7a81
2•mooreds•1h ago•0 comments

Higher education is shockingly right-wing

https://drafts.interfluidity.com/2023/03/01/higher-education-is-shockingly-right-wing/index.html
10•corimaith•1h ago•13 comments

Photographing a City That Stopped Changing: A Decade of Suburban Decay

https://aboutphotography.blog/blog/ghost-world-by-juan-rodrguez-morales
2•ChompChomp•1h ago•0 comments
Open in hackernews

How to (actually) send DTMF on Android without being the default call app

https://edm115.dev/blog/2025/01/22/how-to-send-dtmf-on-android
38•EDM115•13h ago

Comments

nancyminusone•8h ago
I'm going to assume this is more complex than generating DTMF tones yourself and injecting them into the audio stream?
cmrx64•8h ago
yes, the solution presented in the article ultimately ends up using the accessibility APIs to click buttons in the dialer, due to restrictions on non-default-call apps
imurray•8h ago
> generating DTMF tones yourself and injecting them into the audio stream?

When I was an undergrad I had an audio file for each digit and a winamp playlist for each of my frequently dialed numbers. I'd hold my (landline) phone against the computer speakers and double-click the playlist to dial. I'm sure I spent more time setting this up than it ever saved, but it was somehow pleasing that this ridiculously over-powered speed dialer worked.

genewitch•7h ago
click. click. click-click-click-click-click-click-click.

...

...

PROCTOR TEST SET PLEASE SELECT TEST

LINE TEST PRESS 2

COIN RETURN TEST PRESS 3

COIN READER TEST PRESS 4

TONE TEST PRESS 5

ADDITIONAL TESTS PRESS 6

|

this isn't the one i referenced, but proves my memory is functional https://youtu.be/uOO9dFiwzGk - actually it has references to what i typed

gh02t•5h ago
Back in the days of phone line modems, there used to be a program that you could type in a number, the modem would emit the corresponding tones, and then you could pick up a phone and it'd already be connected. I can't remember what the one I saw was, but I'm sure there were multiple different ones, and I also vaguely recall there were dedicated physical machines that could before that.
neckro23•3h ago
You could do this with any terminal program. Your modem won't emit any noise until it hears a carrier tone, so you could just dial, pick up the extension, hang up the modem.
EDM115•7h ago
well technically you can, and a quick google search leads to apps that do this. but when you aren't in speakerphone mode, well the sound isn't loud enough to be properly processed on the other end of the line
jeroenhd•6h ago
If you are the dialer app, you could generate DTMF tones, yes.

If you want to do dialer things without being the dialer, then no. Android doesn't permit apps to access the audio streams of a call to non-dialer apps.

In this case, the solution was to use an accessibility service to perform accessibility tasks as an accessibility app. Quite appropriate, I think. Although it will fail if the dialer of your choice doesn't have a keypad with the exact right labels (or numbers? I don't know if phones in writing systems with alternative numbers still show Arabic numerals on the dialer).

EDM115•3h ago
indeed, non latin characters will probably fuck up my solution :(
jcrawfordor•3h ago
There's a few different reasons things are more complex, but one interesting wrench to throw in is that audio tones may not be the best way to send DTMF. Many digital telephone networks support out-of-band DTMF where the digits are sent as digital keypress events instead of actual tones (tones are usually still emitted to the user for comfort). There are a few potential benefits but mostly it improves reliability over iffy connections, reducing instances of one press being detected as two due a dropout in the middle, for example. I believe 3GPP has supported out-of-band DTMF for some time but it may not have been common, VoLTE encourages it much more. The other end is always going to have support for traditional in-band DTMF because they don't know what type of connection the caller has, so it's not a fatal problem, but less than ideal to use in-band DTMF when out-of-band DTMF is supported. This type of consideration is one of the reasons that the telephony part of phones is more complicated than you might think.
shawnz•7h ago
It seems totally reasonable to me that arbitrary apps can't insert sounds into my call audio, am I wrong here? And this app is most certainly an accessibility app so it makes sense that it would have to take advantage of the accessibility permissions to do this kind of thing
jeroenhd•6h ago
I think isolating the call stream to authorised apps makes a lot of sense. Using a accessibility feature to make accessibility work seems like the right solution to this problem. The initial hack (just injecting tones into the system) sounds like a bad solution to be honest.

For other advanced stuff you have to be the default dialer app which also makes a lot of sense. If you're going to be an accessible dialer, you may as well actually communicate to the system that that is what you are. With plenty of open source dialer apps to borrow from, I don't expect the burden to even be that high.

Interestingly, the post writes that the app communicates with the phone over ADB. I wonder if you could just inject keypad button presses using adb, so the app doesn't need to even be an accessibility service to get the tones across? Although I guess that only works if the dialer is in the foreground.

EDM115•3h ago
from my searches, sadly ADB doesn't allow for it :(
deepsun•4h ago
Well, unless it's the app that makes the call.

But AFAIK both Android and iOS disabled all call apps except for their own.

Previously they allowed as long as the keypad looked "distinctively different from the default call app", but turned that off some time ago. I can see the security reasoning, but still think there were ways to make it possible and secure.

A similar question, for example, is how to record a call, default or not. AFAIK there's no way.

shawnz•4h ago
Android supports third party dialer apps and the article notes that this is one way you can overcome the problem (but they didn't want to take that route because entirely replacing the dialer is out of scope for their app)
SkyeCA•3h ago
> It seems totally reasonable to me that arbitrary apps can't insert sounds into my call audio, am I wrong here?

No, though I will say I'm upset with how protected calls have become on phones in recent years. I used to record every phone call with an app so I had a record of it, something which is completely legal to do where I live, but that really isn't possible anymore.

Now all my calls go through a VOIP provider and call recording is a feature they offer.

frankus•6h ago
I imagine the requirement to be the default phone app is in part to prevent rogue apps from colluding with rogue expensive-toll-services to place calls to them without the user's authorization.
bobbiechen•30m ago
It's not hard for apps to commit toll fraud - all it takes is sending SMS or phone calls programmatically. Here's the Google Play page on billing fraud: https://developers.google.com/android/play-protect/phacatego... , and a writeup about malware used for WAP billing fraud: https://www.humansecurity.com/learn/blog/satori-perpectives-... .
jeffrallen•5h ago
I was hoping this guy was going to go deep down under the JRE and find out how to do it with raw system calls.
EDM115•3h ago
it was a school project so I had not the time nor the expertise to do it
1970-01-01•3h ago
This does the job just as well: https://play.google.com/store/apps/details?id=com.arcoirisla...
kelnos•2h ago
That app doesn't allow you to inject the tones into an in-progress call; it just plays the tone. If the phone is in speakerphone mode it might work, though would probably still be unreliable. If not, then it just won't work.
ajb•2h ago
Yeah, the echo canceller is going to try to make that not work, and DTMF tones are simple enough that it will likely succeed.
edent•3h ago
There is a sort of way around this.

You can generate phone numbers with embedded DTMF codes - including pause and wait.

For example `<a href="tel:+447700900000,12#">` will pre-fill the dialler with that number. After dialling, it will pause for a few seconds then sent DTMF 1 2 #.

You can make it slightly interactive with the "wait" command. For example `<a href="tel:+447700900000;#9">`. The semicolon should* give the user a prompt asking them if they want to send the DTMF `#9`.

Of course, this is no use if the app is to be used interactively. But if you know that you need to send a predefined sequence, it is useful.

EDM115•3h ago
yes, this is particularly useful ! but sadly yep, the app needs to be interactive as it's basically users controlling their phone using their pc, and a much bigger screen :)
DoctorOW•2h ago
I knew about the comma, but not about the semicolon. Very cool information!
coolestguy•2h ago
What's the feasibility of taking an existing default calling app & adding the real way to do DTMF, then making the user forced to use this app as the default calling app.

E.g. the calling app from AOSP, LineageOS or GrapheneOS

subarctic•28m ago
DTMF = Dual-tone multi-frequency signaling, not to be confused with the song by Bad Bunny