frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: A simple app to collect people's info at events (bluetooth)

2•fcpguru•2h ago
I was at a networking event. About 40 people at a bar/restaurant in Culver City and it was great! Lots of interesting people. Great conversations but when it was over, I had no way to contact any of these people. So I started writing this bluetooth app. Using CBCentralManager on ios and BluetoothManager on android. Each phone broadcasts as a peripheral but also connects as central. Rooms full of phones running the app gossip.

Think of the term "peripheral" as server and "central" as client. Yes there are differences in bluetooth and reasons for those terms, but my life got much easier thinking: client server. So in a room with just two phones, which one is which? It can't be a coin toss. If 50% of the time both phones act as the server and neither client, bad. Or if both phones act as clients, bad. So how do you break the tie? You start up your server AND act as a client looking for servers. Just be careful not to connect to yourself!

With bluetooth your server advertises and when you connect it tells you what characteristics it has. Think of characteristics as "endpoints". They are not the same as http endpoints at all but again my life got easier thinking of them like this. Our app has two characteristics PROFILE_CHAR and PHOTO_CHAR and step one is a client hits PROFILE_CHAR and gets back json with device_id, first_name, photo_hash, instagram. It could be binary or Protocol Buffers but I went with json.

So with my 200 OK from PROFILE_CHAR I look at the photo_hash which is a 256 sha from the binary data of the user photo. If I have this file cached, I'm good and disconnect. If not I hit PHOTO_CHAR and get the image data in chunks and save as hash.jpg locally. Then disconnect. After I disconnect I place that bluetooth server id on a cooldown list. I have other phones in the room to connect with! All this time I'm also acting as a server. Sometimes when I'm busy being a client getting a photo I'll pause my server actions. It depends on ios vs android. There is lots of complexity in the BLE stack. This loop of find server, connect, get info, disconnect, repeat works great. But there are limits and GATT errors and queue buffers and MTU (max transmission unit) issues that can make two phones next to each other take a while to find each other.

So I made github.com/andrewarrow/auraphone-blue which is a BLE stack simulator written in golang. If you look at the wire package you'll see a BLE implementation using the file system and domain sockets to mock the radio. The swift package and kotlin package should look familiar to anyone who has worked on ios or android BLE. My plan was to run many mock phones and test all the weird BLE differences between ios and android. It did not work. The only thing this golang repo did was help me understand how bluetooth works. This BLE stack I made doesn't fix ios and android bugs, it introduces its own subtle golang filesystem ble bugs!

In the end nothing fixed bugs better than running two real ios phones and two real android phones and having them write very thorough logs PLUS ble specific json files showing exactly what each operation was doing and what info it got back. I ended up writing logic to zip up the entire local directory of the phone with all these files and logs and doing an HTTP POST to my local mac just to get all the data off all 4 phones quickly after each run.

But now after your conversation is done and you move around the room, you have a record of who that person was. The list is sorted by last updated_at desc so whoever you are near will be at the top. Great for when you met someone earlier and forget their name. Now you just look down at your auraphone app and say oh hey jessie!

ios app store:

https://apps.apple.com/us/app/auraphone/id6752836343

or download the android apk:

https://andrewarrow.dev/auraphone/

Looking to try it now in a room full of people!

After Distraction/Error, Brain Waves Physically Circle Back to the Task

https://picower.mit.edu/news/after-distractions-rotating-brain-waves-may-help-thought-circle-back...
1•Marshferm•3m ago•0 comments

Show HN: ReadMyMRI DICOM native preprocessor with multi model consensus/ML pipes

https://github.com/BTMMatty/readmymri
1•daftpixie•4m ago•0 comments

Hetzner Servers Benchmark

https://softuts.com/hetzner-servers-benchmarks/
1•XCSme•7m ago•1 comments

YouTube Erased More Than 700 Videos Documenting Israeli Human Rights Violations

https://theintercept.com/2025/11/04/youtube-google-israel-palestine-human-rights-censorship/
6•cramsession•12m ago•0 comments

Show HN: Spotify Auto Skipper – automatically skips songs you've heard recently

https://github.com/Vatroslav/spotify-auto-skipper
1•VatroslavM•12m ago•0 comments

Sweden's most realtime public transit map

https://transitmap.io
1•sanufar•15m ago•0 comments

Day 1 of Light Speed Up: When transparency matters more than perfection

1•LightSpeedUp•15m ago•1 comments

Grayskull: A tiny computer vision library in C for embedded systems, etc.

https://github.com/zserge/grayskull
1•gurjeet•16m ago•0 comments

Tight Studio – an AI-native Screen Studio alternative at $5 per month

https://tight.studio/
1•hitchyhocker•21m ago•1 comments

Global Edge Database

https://sailwind.io
1•dnorlov•22m ago•1 comments

Big Nuclear's Big Mistake – Linear No-Threshold

https://www.youtube.com/watch?v=gzdLdNRaPKc
1•Hextinium•22m ago•0 comments

Adventureland Video Game

https://en.wikipedia.org/wiki/Adventureland_(video_game)
1•squirrel•22m ago•0 comments

Policy Incentives for Pharmaceutical Innovation [pdf]

https://o-zhao.github.io/files/Zhao_JMP_latest.pdf
1•salkahfi•22m ago•0 comments

Ask HN: What made you improve your logical reasoning?

1•Nurbek-F•24m ago•0 comments

Sequoia Names Alfred Lin and Pat Grady as New Co-Stewards

https://techcrunch.com/2025/11/04/sequoia-names-alfred-lin-and-pat-grady-as-new-co-stewards-as-ro...
1•kamikazeturtles•26m ago•0 comments

Sarah Mason, inventor of the continuity script, first script supervisor

https://wfpp.columbia.edu/pioneer/ccp-sarah-y-mason/
1•Marshferm•28m ago•1 comments

How to send an email using the Gmail platform

https://github.com/yigalirani/send_email
1•yigalirani•33m ago•1 comments

HDR10 Advanced joins Dolby Vision 2 in trying to make you like motion smoothing

https://arstechnica.com/gadgets/2025/11/hdr10-advanced-joins-dolby-vision-2-in-trying-to-make-you...
2•mfiguiere•34m ago•0 comments

Tyler Cowen – How I practice at what I do

https://marginalrevolution.com/marginalrevolution/2019/07/how-i-practice-at-what-i-do.html
2•suvan•36m ago•0 comments

The Paradox of a Principled Machine

https://artificiallyintelligentspace.substack.com/p/the-paradox-of-a-principled-machine
1•All_Things_AI•41m ago•0 comments

Fixing the ReactOS Test Suite

https://reactos.org/blogs/cbialorucki-tests-2/
4•restalis•44m ago•0 comments

What does OSWorld tell us about AI's ability to use computers?

https://epoch.ai/blog/what-does-osworld-tell-us-about-ais-ability-to-use-computers
1•cjbarber•44m ago•0 comments

China reaches energy independence milestone by 'breeding' uranium from thorium

https://www.scmp.com/news/china/science/article/3331312/china-reaches-energy-independence-milesto...
3•mpweiher•45m ago•0 comments

The Curious Case of the Disappearing Captcha

https://www.wired.com/story/bizarre-disappearing-captcha/
1•bookofjoe•45m ago•1 comments

White House deal to cut obesity drug prices, gain Medicare access

https://www.reuters.com/business/healthcare-pharmaceuticals/lilly-novo-nordisk-near-white-house-d...
1•geox•48m ago•0 comments

Why Are Cruise Ship Pools So Small? [video]

https://www.youtube.com/watch?v=2jH_pr8nGQU
2•nomilk•55m ago•0 comments

Vidit Gujrathi (ELO 2715) claims a draw against young prodigy Faustino Oro

https://twitter.com/fide_chess/status/1985700348871262401
2•wslh•57m ago•0 comments

Workplace Systems

https://radicalrespectbook.com/blog/workplace-systems
1•mooreds•1h ago•0 comments

Are Pop Lyrics Getting More Repetitive? (2017)

https://pudding.cool/2017/05/song-repetition/
1•sorentwo•1h ago•0 comments

US gives local police a face-scanning app similar to one used by ICE agents

https://arstechnica.com/tech-policy/2025/11/us-gives-local-police-a-face-scanning-app-similar-to-...
57•duxup•1h ago•41 comments