moonlighter

Joined 15 years ago

Karma
3,995
Submissions
363
Member since
Jul 2
Ex IBMer, now solo dev, mostly Swift and Go.

Currently building LogRaker, a Swiss Army knife for server logs as a native macOS app - https://lograker.app

Boats, marine electronics, and making desktop apps that aren't Electron.

View on Hacker News

Recent submissions

Comment · 2 months ago
* You're absolutely right! ;-)
Comment · 2 months ago
They are, but times vary between the iOS vs. the Mac App Store. I recently submitted a new app to the Mac App Store and it took about one week to get initially approved (with one rejection because I had the word "Mac" in the app description (they said it's redundant since they're all Mac apps anyway...). Could've been a quick regex check in the form submission, but anyway, after the initial approval any subsequent feature submission afterwards usually got approved within 2-3 hours, same day, which is pretty good IMHO.
Comment · 6 months ago
I've done exactly that with my iPhone 14 Pro. Battery was degraded down to 72%, iOS suggested in the Settings app to get the battery replaced either at an Apple Store or at an authorized service center. I made an appointment at the Apple Genius Bar and took care of it in a little over an hour for $99. A lot cheaper than buying a brand new phone!
Comment · 6 months ago
Would love to be able to use this with my Claude Max Plan subscription ($100/month)... not going to pay with an API Key which burns through tokens way faster. Might try it for the local Apple Intelligence and accessibility to drive local apps tho.
Comment · 7 months ago
There you go! I wrote a proxy server to deal with Unifi cameras and also dewarp their 360 camera streams... and used Claude Code to reverse-engineer most of what's going on. Sniff the entire network traffic between their NVRs and cams via Wireshark/TShark, grabbing the NVR's web socket streams, and also had it write a custom METAL shader pipeline native to Apple silicon to replace ffmpeg which was way too slow to deal with 5K 360 streams and dewarp them. All in a matter of hours. Amazing times ;)
Comment · 7 months ago
Unifi cams don't stream RTSP, they stream FLV v1 (FlashVideo) on 3 streams over plain TCP on port 7550, one per quality channel. And yes, they stream that TO the NVR who adopted them only... then the NVR recodes and sends RTSP (configurable).

For the adoption stage, UniFi cameras broadcast on UDP port 10001 using a proprietary TLV (Type-Length-Value) protocol. The Protect console listens on this port and picks up new cameras immediately. 4 bytes `\x01\x00\x00\x00` sent as UDP broadcast to `255.255.255.255:10001`

The response then contains these fields:

  | Hex Code | Field | Data |
  |----------|-------|------|
  | `0x01` | MAC Address | 6-byte hardware address |
  | `0x02` | MAC + IP | Combined MAC and IPv4 address |
  | `0x03` | Firmware Version | String |
  | `0x0B` | Hostname | String |
  | `0x0C` | Platform (Short Model) | String |
  | `0x0A` | Uptime | 64-bit integer |
  | `0x13` | Serial | String |
  | `0x14` | Model (Full) | String |
  | `0x17` | Is Default | Boolean (adopted vs unmanaged) |
After discovery, the Protect console: 1. Connects to the camera via SSH (default credentials) 2. Configures the Inform URL (TCP 8080) 3. Camera registers with the controller

So conceivably at step 2 you could use your own modified URL to point to your own NVR and then grab the FLV streams from there.

Comment · 8 months ago
Does Alphabet/Google have any other significant alternative revenue streams though besides their ad revenue? And won't that decrease significantly the more people use AI tools for research than firing up a google web search? I find myself using Claude more and more doing web research and comparing products/reviews...without getting a single ad served up from Google.
Comment · 8 months ago
I tried to find pricing for it (the top "contact sales" is a no-starter; too much initial friction. Just tell me how much it costs?! At the footer is a pricing calculator... I asked for pricing for 10 top-level pages and 5 sub-level pages (they explain the difference)... came out to a whopping $16,500 (you're reading that right... SIXTEEN THOUSAND). No thanks.
Comment · 1 year ago
That seems super useful, as my dock is overflowing with too many apps, which I all use, just at different times for very different scenarios... like for example when producing and working on videos I use FinalCutPro, Motion and Compressor, but these three take up space when I'm in a totally different context like coding. But I don't want to remove them from the dock when not used; because if I do, I seem to forget that I have them or would need to add them back later. So this solves that perfectly!
Comment · 1 year ago
Former W.R. Grace employee: Molecular Sieve Desiccant Beads (also manufactured by W.R.Grace) are even more absorbent than regular silica gel. It's found in most double-pane windows inside the metal track between both panes; slowly absorbing any moisture over many years to keep them from fogging/going 'blind'.

You can use MS to dry flowers in record time... and use it to quickly heat up baby food in a pinch if needed... just put a smaller container of food in a bigger pod filled with MS and pour water of the MS... it's ultra-rapid absorption of water creates heat as a byproduct.

Comment · 3 years ago
Another nuisance which really gets on my nerves is when sites specifically prevent me from pasting, typically fields where you need to put a bank account or routing number. Copy and pasting that info is WAY more accurate and error-proof than glancing at one screen and re-typing it in another. I then temporarily disable Javascript in the developer menu and re-enabled it afterwards, but that still sometimes causes issues down the line, as now the site "thinks" there isn't a value in the field because they didn't notice any typing events, etc..

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton