HackerTrans
TopNewTrendsCommentsPastAskShowJobs

gh123man

no profile record

Submissions

Show HN: I vibe reverse engineered my Bluetooth mouse to support it on macOS

github.com
7 points·by gh123man·4 ay önce·1 comments

Show HN: Go Concurrency Primitives in Swift

github.com
3 points·by gh123man·3 yıl önce·0 comments

comments

gh123man
·4 ay önce·discuss
Funny timing, I've been working on essentially the same thing for Razer mice on macOS. I started this project because the basilisk v3 hyperspeed has no native mac OS support, and no documented bluetooth protocol, so I packet captured and reverse engineered it.

https://github.com/gh123man/OpenSnek
gh123man
·2 yıl önce·discuss
I'd love to hear some specific examples. Ive built several iOS apps and a whole backend (on linux) with Swift and other than lack of OSS library support for some SaaS APIs, it's been quite nice.

Sure Swift itself has some sharp edges, but not any more (or worse) than many other popular languages.
gh123man
·2 yıl önce·discuss
+1 to vips! It's amazingly fast and stable. I even wrote (some minimal) Swift bindings for it to be used with a Swift backend: https://github.com/gh123man/SwiftVips
gh123man
·3 yıl önce·discuss
I challenge myself to do it in bash one liners. I came up with a clever and shockingly simple solution to part2 using expansion and substitution.

  cat 1.txt | sed -E 's/(one)/\11\1/g; s/(two)/\12\1/g; s/(three)/\13\1/g; s/(four)/\14\1/g; s/(five)/\15\1/g; s/(six)/\16\1/g; s/(seven)/\17\1/g; s/(eight)/\18\1/g; s/(nine)/\19\1/g;' | sed -e 's/[^0-9]//g' | awk '{print substr($0,1,1) substr($0,length,1)}' | tr '\n' '+' | sed 's/\(.*\)+/\1\n/' | bc
gh123man
·3 yıl önce·discuss
I had a T420 in college. One day in a CS class, I bumped my (uncovered) cup of coffee and it spilled into the keyboard. I knew the laptop had ducts to drain water out, but never tested it (for obvious reasons).

I blotted up as much coffee as I could with some napkins and kept taking notes on the soaked keyboard. Worked like a charm. After drying it out, a few keys stopped working so I bought a replacement keyboard for ~$20 and swapping it out was rather fast (from memory).

I use an M1 MBP now, but I still have that thing in the basement. It still works, and I loved it. I don't miss carrying it around though (or the hilariously short battery life due to forcing discrete GPU mode so I could dock it for multiple monitors at home).
gh123man
·3 yıl önce·discuss
I recently replaced an old, power hungry 2U server with a laptop.

I wanted a NUC, but as it turns out a used laptop on Ebay could fetch the same specs (i7-1185G7, 16gb) for less than half the price of the equivalent NUC (without an SSD or memory).

An added bonus is you get a UPS and KVM included!
gh123man
·3 yıl önce·discuss
Maybe a slightly off topic question, but with the recent-ish news of Corellium winning against Apple in court to sell an iOS virtualization service. How is it that virtualizing macOS (on non-apple hardware) is still NOT ok (illegal?)?

Cloud providers are forced to host mac instances on real mac hardware for example (with a lot of strange restrictions).
gh123man
·3 yıl önce·discuss
Agree on all points. It's extra frustrating because GA exposes some metrics that are hard to get elsewhere like traffic sources, organic search, accurate user metrics, live geo location, etc. The only reason I keep it activated (alongside a more flexible alternative) is because it's free.

The whole UX drives me mad.
gh123man
·3 yıl önce·discuss
I am also frustrated with Google Analytics but one thing it does very well (that I can't seem to find elsewhere) is counting unique unregistered visitors. If I had to guess this is done with some advanced fingerprinting - but I'd be curious if anyone has found an alternative for these metrics.
gh123man
·3 yıl önce·discuss
It appears my Appstore agreements have fallen out of date and needed renewal. That's a somewhat embarrassing - but it should be fixed now. Gate Escape should be available in all regions, and thanks for checking it out!
gh123man
·3 yıl önce·discuss
Nice writeup! Building raycasting engines is fun and rewarding. You can get a lot of visual impact with very small and easy to understand code. I took a stab at it and ended up adding portals which I thought was really fun (https://github.com/gh123man/Portal-Raycaster).

I've been thinking about re-writing my raycasting engine in Rust but never really found the time - glad to see someone has done it and documented it so well!

If anyone else is interested in raycasting this page is also worth a read: https://lodev.org/cgtutor/raycasting.html