HNHacker News
TopNewBestAskShowJobs

sweetgiorni

56 karma · joined April 21, 2019

submissionscomments
sweetgiorni··on The Faster CPython Team
I'm really excited for the performance boosts that are in store for Python. Having written production services in Python, Go, Java, C++, and Javascript, I can confidently say that I hate Python the least. The only thing keeping me from becoming a full-on evangelist is the comparatively poor performance. Any day now a hero will come along and excise that pesky GIL...
sweetgiorni··on Asdf – language tool version manager
I don't think I've even seen an asdf plugin that directly uses a version manager. They generally seem to either A) download prebuilt binaries or B) fallback to building from source. Either way the installs go straight to ~/.asdf/installs.

The only exception I can think of is any dependencies on libraries that may or may not be installed by the system package manager. Even then, those dependencies are often optional.

sweetgiorni··on Backend for Front-end
Maybe this works out for some engineering organizations, but man am I glad not to work with this style of "backend" anymore. The folks at my last gig did this and never have I seen such a mess of services.

One particularly annoying pain point was that one of the engineering directors made it his personal mission to ensure that every service's Protobuf definition conformed to some platonic ideal. We'd have a BFF service Foo that essentially provides a wrapper around another service, Bar (among other things). Naturally, Foo's service definition included some Protobuf messages defined in Bar. Now the simple thing to do here would be to include those Protobuf message definitions in Foo.proto and expose them to consumers of the Foo service, but that apparently couples clients too tightly to Bar's service definition (?). So, it was decided that Foo's Protobuf file would contain actual copies of the messages defined in Bar. Adding a new field to a message in Bar wouldn't expose it to clients of Foo unless you also update the message definition in Foo.proto as well as the code that converts from Bar::SomeMessage to Foo:SomeMessage. Now imagine that the backend service is something commonly used, like UserService, and that there are potentially dozens of BFF services that contain copies of the definition of UserService::User. Welcome to hell.

The aforementioned engineering director would hunt down BFF services that dared to include a message dependency instead of copying the definition. He would then open a ticket and assign it to the service owner, informing them that they were not in compliance with the "Architectural Decision Record": the indisputable, no-exceptions, holy-of-holies log of technical mandates that were decided by a handful of people in a meeting three years ago.

This issue isn't necessarily inherent to BFF architecture, but I think it comes from the same place of overengineering and architectural astronautics.

sweetgiorni··on My goal of closing 10% of Emacs bugs (2020)
I'd say that Swift's 4000 issues are significantly more embarrassing given that it's developed by the most valuable tech company in the world.
sweetgiorni··on Samurai: Ninja-compatible build tool written in C
Neat, but I wonder what the motivation for this is. I assumed that for the majority of projects ninja itself adds little overhead to the total build time.
sweetgiorni··on Why should I have written ZeroMQ in C, not C++ (2012)
I'm probably misunderstanding something here, but isn't the author's criticism of exception bubbling and duplicate code easily resolved with exception inheritance? Define a base exception that all others inherit from and catch that in the general case. If you want to take action when a particular exception occurs, add a catch block for it. Duplicate error handlers could be factored out into helpers.
sweetgiorni··on The case for bad coffee (2015)
So funny to see this comment. Having moved to Portland recently I've been wondering why most coffee here is undrinkable to me. Guess this explains it.

If anyone is looking for recommendations, Clinton St. Coffee House has never once served me a sour cup of coffee.

sweetgiorni··on How do you stay grounded when writing software no one wants?
Hmm, interesting. I can't say spirituality has ever really been my thing, but I suppose that's a good enough reason to read up on it. I'll look into it, thanks.

Regarding #3: That's actually something that has been consistently satisfying. Seeing how my work impacts my coworkers and improves their workflows usually gives me a pretty good hit. Besides, it's low hanging fruit. There's plenty to improve since some of the senior engineers have, uhh... checked out?

sweetgiorni··on How do you stay grounded when writing software no one wants?
Funny you bring that up, I read that a couple years ago. Although I did identify with its subject matter more than I'd care to admit, my situation definitely seems to be on the less extreme end of the examples presented. Unless I've deluded myself into thinking my work serves any purpose at all... :)
sweetgiorni··on How do you stay grounded when writing software no one wants?
I'm still working on the whole not caring thing
sweetgiorni··on How do you stay grounded when writing software no one wants?
I guess it depends on how you look at it. In your first case, I think "enjoy" may be a better word. I enjoy playing The Sims in my underwear, but I want to use, say, Wireshark. Do I enjoy using Wireshark? Yes, because I'm a freak. Still, I think most people would say no. In my field, Wireshark isn't a tool you bust out when everything is working perfectly. Does that mean I don't want it? That I don't like it? That I wouldn't be more than willing to pay for it, were it a commercial product? Of course not! It's more nuanced than that.
sweetgiorni··on Show HN: When Will I Weigh? Weight Trajectory
I made it for fat people
sweetgiorni··on Show HN: Bungholio – Get text messages when a product is available on Amazon
Couldn't find exactly what you mentioned, but this is still a terrific read:

https://en.wikipedia.org/wiki/Beavis

← PreviousPage 2 of 2