Hacker News new | ask | show | jobs
by cmrdporcupine 1029 days ago
Disturbingly, protobufs are seemingly used a whole boatload outside out of Google, despite me finding them personally meh :-)

Golang seems bigger outside of Google than inside, too.

(Like the nick, BTW. Wish i'd never sold off my TX81z)

2 comments

Lately Bass is literally worth the $250 I spent for mine off eBay. It’s just flat out the beat techno bass like there is. It’s literally the only preset I’ll ever use because nothing can improve it, it’s just perfect.

A nontrivial fraction of all living people have heard this song at least once, and it’s 100% TX81Z at the heart: https://youtu.be/9EcjWd-O4jI?si=XgkC5avENfdTmlQF

(Also, yeah, to other replies, I now realize protobuffs are not to be joked about, I repent. Forgive me.)

Lately Bass (and "Solid Bass") sound perfect because you grew up with them :-) It's like the 303 or 808, deeply imprinted into the GenX psyche. I'm not sure there's anything intrinsic about it other than that they did a pretty good job (trying emulate a bass guitar is my understanding) and then everyone used it.

A long time ago I wrote a little FM synth in C++ and I went through some painstaking effort to copy Lately Bass and actually got pretty close. It's all about the envelopes. That code is lost to time though.

I think I still have a Yamaha TQ5 downstairs, which is basically a 4 op in the same vein as the TX81Z but in a form factor that looks like a 1980s alarm clock or something. Very ... shoulder pads and avocado bathtub era: https://yamahablackboxes.com/collection/yamaha-tq5-synthesiz...

It’s more how it sits in a mix so well, somehow it gives room for your bass drum, some pads, leads, and it doesn’t interfere with any of them. Usually that’s really hard to do perfectly and lately bass just magically stays in its own lane.

Also, if you can get your hands on Korg Opsix it is a lot of fun for FM. Does about as good a job at making FM closer to a subtractive synth in terms of ease of use. Of course, FM will always be way harder to deal with than subtractive, but it’s still the best attempt I’ve seen.

You might like this project that I have (but, uh, never finished): https://github.com/rdaum/sidebands_vst
Protobuf/ Thrift turn modules into basically legos by abstracting away the infra between functions to just data.
They're a bit of an over-used hammer and people go looking for matching nails wherever.

JSON is wildly imperfect, and lacks types and schema enforcement... but if I have a stream or file of it I can read it with my eyes. Protobufs are opaque blobs without the schema and a pile of code. And they use generated code which is on the whole rather annoying and of varying quality. The binary encoding of protobufs doesn't really give them much of an efficiency edge, either; in this day and age there are some very well tuned JSON etc parsers. And if you're looking for efficiency, there are other formats better than protobufs (or thrift) for that purpose.

At Google I saw it rammed into places where it really didn't belong. Embedded systems, even, causing months of delays while people struggled to get them to work acceptably on a microcontroller class machine. Dogma.

But at least there we had better tools inside Google to work with them than I've seen outside.

TLDR they're probably more good than harm, but I don't think they're a universal good and not the universal answer for how to send messages "between things"

I work in Rust and use binpack, flatbuffers, and json, or hand rolled binary layouts (often using the binary_layout crate), depending on the use case. I don't think there's a universal solution.