HNHacker News
TopNewBestAskShowJobs

mogery

282 karma · joined November 29, 2020

maker of odd things
submissionscomments
mogery··on It's A(door)able
awww!
mogery··on Stop Using Custom Web Fonts
lol no
mogery··on Box64 – Linux Userspace x86_64 Emulator Targeted at ARM64 Linux Devices
oh hey! i worked on this a while back!

really cool project. runs unity games too. author is a very talented guy

mogery··on Show HN: kingbit, an online asynchronous multiplayer game like chess, for iOS
i suck at chess, but this is lovely!
mogery··on I hope Apple never adopts RCS
How is Adoption a chicken and egg argument? RCS is, by its design, slower to update than iMessage.
mogery··on Adam74: A terminal for a small 8-bit computer
Really, using a Teensy 4.0 to make scrolling faster? That seems really overkill to me. You could make a small computer out of a Teensy 4, quite excessive to use it as a display-out.
mogery··on Unofficial Spotify Client for the Nintendo Switch (PoC)
Yeah, I've realized that the currently used API just lets you request a key for the public Spotify Web API, and I can just get the collection of the user and etc. from there.
mogery··on Unofficial Spotify Client for the Nintendo Switch (PoC)
To be fair, any other platform could easily outdo Spotify in this regard, if they publicly documented their internal API. :D
mogery··on Unofficial Spotify Client for the Nintendo Switch (PoC)
I haven't had any issues on the RE end, mostly because I didn't need to do a whole lot of it, as the librespot people have already paved the way. But I've still gotta figure out the new protocol the Spotify client uses for playlists and such, so... there are bound to be issues up ahead.

Most of my issues stemmed from a lack of proper documentation.

One time I screwed up the packet format and was pulling my hair out when the only response I got was "Invalid username/password" from the Spotify API (or something along those lines. been a while).

The other times were more related to the Switch. Figuring out how networking and audio works, mostly. Hunting through the shit documentation and the source code of libnx to find out what I need to do. My audio implementation was either not playing anything or crashing for a long time in the beginning. I still have no clue what I did to solve it, which is unfortunate.

mogery··on Unofficial Spotify Client for the Nintendo Switch (PoC)
Spotify is actually fine with librespot existing (funnily enough, one of the main reasons the old API is still around is that librespot uses it, lol). So, I doubt it will ever get DMCA'd.
mogery··on Unofficial Spotify Client for the Nintendo Switch (PoC)
Thanks!

Yeah, Rust and the Switch don't mesh together very well, at least for now. I was tempted to take that route also, but I ended up reimplementing librespot in C instead, which serves as the backend for this.

mogery··on Unofficial Spotify Client for the Nintendo Switch (PoC)
Spotify DRM is basically security through obscurity. It's just AES-128-CTR over a plain old OGG file. The tricky part is figuring out the extremely odd protocol you have to request audio keys and track data through. That's all.