HNHacker News
TopNewBestAskShowJobs

ryanianian

2,514 karma · joined May 9, 2013

Coding and ranting
submissionscomments
ryanianian··on Globally Distributed Elixir over Tailscale
I use it in a home-lab setup with my personal development and local deployment machines (mostly raspberry pis and a qnap) plus few EC2 instance as a part of the mesh along with my laptop and gaming PC.

Tailscale makes the ec2 instances feel just as local as the LAN machines. I love having easy SSH connectivity to my laptop and EC2s from my windows machine. There's no tunneling or bastioning or key management or any of that nonsense. And without extra network hops (nodes direct-connect whenever possible) I don't have extra nodes in the route to steal bandwidth time or cost.

But maybe small-scale isn't what you're after : I haven't done the work to figure out the at-scale bootstrapping process (I still install the systemd or whatever units and google auth each machine manually).

ryanianian··on Hardware microphone disconnect (2021)
My M1 often wakes from sleep only to beachball and 20hz-screen-refresh for 120-150 seconds. I think it's a thing with the memory-management. I have to restart the machine to fix it or it will happen every time I close the lid.

Oh, and the machine forgets its audio settings when this happens, too. Always tries to revert to built-in speakers while it's closed despite having a CalTech hub with speakers I've selected dozens of times.

I don't understand why laptops continue to have such weird power-management problems. I thought we fixed this stuff ages ago.

ryanianian··on Show HN: Procal: A simple Qt-based programming calculator
Neat little project. Easy to setup and use.

Unfortunately with macOS's "Dark Mode" enabled the colors have little or no contrast. And the UI renders very small for my eyes (and compared to the demo gif). This is a criticism of Qt (or maybe its python bindings) rather than this project. (Screenshot: https://imgur.com/a/G9eAPoO)

I wonder if there's a way to shimmy in a "modern macOS Qt renderer" or something into an existing project like this without a rewrite?

ryanianian··on Why Python keeps growing, explained
> maybe software developers shouldn't be so hard to use?

This whole take assumes bad intention on both sides. Nobody's job is easy in this situation. Leadership's job is to set everyone up for success. If things go off the rails and end up with months of back and forth leading to nobody being happy despite good intentions and honest effort, then the problem lies with leadership.

ryanianian··on Thorium – A Starship Bridge Simulator
I haven't played Thorium, but bridge sims are a lot of fun. Especially when playing with colleagues or other engineers. I've found non-tech people can get frustrated and bored with them, but my 70yo non-techie mother is in love with the engineering station of Artemis. It is a lot of work to play the Captain role, and in any event the game is tiring after about an hour.

What's really fun is having everyone in the room engaged with a central game (played on the big TV in the room) on their own phones/computers. Usually group games aren't cooperative or interactive to the entire group at once. Jackbox has a few coop BYOD party games, but I really wish this product-space had more options.

There's also the case of venues having realistic bridge-sims that are kinda like an escape room (in setting/biz model). Show up to the set and cooperate to solve the task. This seems to be the use-case for Thorium classic (the predecessor to TFA). I've seen these at flight museums. They're a load of fun, but probably rather expensive to setup and run (and still tiring).

ryanianian··on Most data work seems fundamentally worthless
And if stores had meals pre-shopped in bags you could just remove unwanted items from. Grocery stores seem ripe for simple optimizations even without big data
ryanianian··on Reverse engineering a mysterious UDP stream in my hotel (2016)
Sonos has a remarkably good implementation of all of this.

For URL-based streams they buffer and NTP to sync. For live streams (e.g. gaming) they p2p multicast and tweak the wifi params in real-time to minimize drops.

The speakers create their own wifi and use MST network heuristics to latency-min route over that versus native wifi or ethernet if you've plugged it in. Sound drops when the wifi spectrum blinks (rarely), but I have never encountered the speakers being out of sync or noticing an echo effect.

And the speakers can use your phone's mic to scan the soundscape of a room to acoustically balance the sound when you set them up. I particularly like how consistent the sound volume is room-to-room even with very different speaker setups.

IIRC they've patented their specific mechanism. So ya, it's solved, but it may be expensive to license.

(Not affiliated with Sonos, I just have a bunch of them and like them a lot.)

ryanianian··on The FBI now recommends using an ad blocker when searching the web
Hey thanks for Magic Lasso. I've had it installed for years. Only after starting my app library from fresh did I realize how much I missed it (and it took me quite a while to figure out and remember that it was magiclasso doing the heavy lifting - easy to install and forget!)
ryanianian··on Mercedes-Benz previews its operating system MB.OS
I'm surprised the StreamDeck family of gizmos hasn't caught on as a popular aftermarket car mod. It's just little LEDs inside clear buttons. I'd love about 5 of them right on the center console that I could somehow program to do routines for me.
ryanianian··on Mercedes-Benz previews its operating system MB.OS
I have a recent Mazda.

It boots to CarPlay pretty quickly. Its native controls are pretty utilitarian when they are needed (e.g. to switch to native SiriusXM when cell signal is spotty). I even prefer the look of its maps although I don't use them. Nothing in the car is a touchscreen.

And, get a load of this: they still have actual and intuitive physical buttons for climate controls, defrosters, and driving modes.

Oh, and the car itself is decent as well if you forgive the meh fuel-economy.

ryanianian··on Mercedes-Benz previews its operating system MB.OS
Not really. CarPlay didn't exist when the car was made. The car manufacturer had to add software integration even if the hardware was already competent. Parent comment is saying they'd pay to receive this added integration.
ryanianian··on Amazon has approval from FTC to acquire One Medical primary-care clinics
There’s an interesting rabbit hole in this snark. Something like public equity eating private equity’s lunch? Please expand.
ryanianian··on QwikTape: Do calculations, annotate like you would on a paper
I like Soulver, but I've found Calca to be a better fit for my needs. It supports graphing, unbound functions, and more advanced math support. Its UI is more minimal and the rendering isn't as nice as Soulver, but I find I'm able to iterate with it a lot faster.

I'm trying out QuikTape now, but it had to clone 1.6GiB. When I launch on macOS I am not able to actually type into the UI, and the window doesn't show as an app in the dock. Perhaps it's more functional on Linux.

I'm still waiting for an app that can properly do real units/dimensional analysis and good date math (`today + 3 business days`).

ryanianian··on Some data centers are noisy neighbors
Making things very expensive is precisely how to motivate people to innovate.
ryanianian··on A Heisenbug lurking in async Python
C++ has nodiscard which is super useful for scenarios like this where ownership can be tricky.
ryanianian··on Meta to ask many managers to become individual contributors or leave
Individual Contributor. Line engineer. Has a manager and likely doesn't have direct-reports of their own.
ryanianian··on Ask HN: I’m falling out of love with coding
Moving to a farm or giving up on the industry for this is basically saying the tools are hurting more than helping.

Tool fatigue is real. Most companies and developers do not invest in their SDLC. So you end up with a system where even a small change can require outsized effort leading to burnout. Tool fatigue is real.

Many libraries/languages/frameworks encourage a simple, vanilla SDLC. Think `rails` or `poetry` or `make`. But rarely does that scale once a project gets more than two developers, more than one repo, or more than one way of declaring dependencies. Everything turns into a snowflake script running a build-system integrated with hundreds of yaml files spreading out over repos and toolchains. Good luck doing fast end-to-end iteration on a change to something three layers deep in your dependency stack.

I wish the industry would try to solve this in a way that doesn't have vendor, language, or cloud lock-in.

Maybe some combination of containers, nix, asdf, and bazel or something. It doesn't seem that hard to be honest, just requires some innovation and resources to find and execute on an extensible and sane SDLC toolkit.

Until then: Find a way to iterate on your core problem. Become a jedi in at least your smaller domain. Focus on developer productivity. Make it easy to make a change. If it's not, find out why, and solve that problem exactly once rather than having to solve it for every change. Easier said than done. Often times it's politics and momentum that you'll have to overcome. Hopefully your company values this work.

ryanianian··on WiFi: “beamforming” only begins to describe it (2014)
The single cut wire will only be better at its resonant frequency. The TV antennas are designed to cover their entire bands.
ryanianian··on A URL shortener not shortening the URL but makes it look very dodgy
A lot of bureaucracy at the beginning might not be bad if it's indeed front-loading it for an otherwise successful collaboration.
ryanianian··on Is AM radio dead?
I actually really like SiriusXM. I have 3-4 stations that I play nearly constantly whether in the car, on the house sonos system, or while on transit. My 3-year-old car has a decent (stock) sound-system, and I honestly don't hear any compression artifacts. Their IP streaming is high-quality.

Most of their music stations are basically well-curated, 4-hour playlists. Most channels have guest hosts/DJs that are legitimate to the genres (e.g. Diplo hosts his station at times) that update the playlists periodically. I still augment my music with Apple Music and podcasts, but I spend far more time with Sirius.

The unfortunate part is that they still play stupid and hostile pricing games. "Promotions" that you have to call to renew to get the stupid $25/month charge reduced to like $7/month. At that price it beats Pandora, terrestrial (am/fm) radio, and even Spotify/Apple Music if you primarily listen to curated playlists.

ryanianian··on Ask HN: Something you’ve done your whole life that you realized is wrong?
My desk is next to a huge window, and even with the heat on my hands get really cold. But then I got a heated desk pad / mousepad. I thought it was a gimmick, but I love this thing. In just a few minutes it warms up my hands and wrists and keeps both my keyboard and mouse at cozy temps.
ryanianian··on Ask HN: Something you’ve done your whole life that you realized is wrong?
I do this. Unless the organization system is super well-mapped in my brain, I don't trust that I know where things are. Opening all the cupboards makes me feel like I can actually approach the problem of finding the toolkit I need to perform a task. Hyper-organized kitchens have the toolkits pre-assembled in bins placed in cupboards. That's hard to do.

(Perhaps related: a `util` class is basically a junk drawer in a kitchen. Some kitchens are basically just giant junk drawers. Good luck finding anything, but hey putting things away is super easy - just put it wherever it fits!)

ryanianian··on WTF with high school questions?
DE Shaw has a similar set of ridiculous questions on their swe application. If I remember correctly they wanted SAT scores and transcripts for both highschool and university. For someone 10+ years out of school. It was bonkers. I noped out of there before the recruiter could finish their sales-pitch. I never want to work at a place that puts any weight on test scores from decades ago. It's performative gatekeeping.
ryanianian··on Paper map sales are booming
Looking at a map and doing basic a->b route planning is straightforward. Doing it well is a skill. Finding yourself when you don't know where you are and have limited landmark info, and using the cartographically-significant features of the map to plan a route that avoids hazards or navigates with tolls, highways, and rest-stops in mind are very much a skill that needs to be practiced even if the MO is simple at first.
ryanianian··on Paper map sales are booming
I'm also an eagle scout. Taught the orienteering merit badge for years.

But secret: I have the absolute WORST sense of direction. I have no internal sense of orientation or distance. Seriously I get lost if I turn left out of the corner store instead of right. I can read a map with a compass and straight-edge and find where I am based on triangulation. But once I actually have to make realtime decisions using little more than a map I get anxious and frustrated, I usually just give up and look for landmarks or one-way streets that I can find and follow. Or hope that my phone's terrible compass and navigation-hostile map programs work. (Can we talk about map apps not even showing street names or one-way directions without having to pan and zoom all over the map?)

Even if you know how to read a map, they're just not a very good UX for finding where you are and making minor course-corrections in realtime.

ryanianian··on CarSized: A way to visualise car dimensions
I live in a very walkable city (NYC). But I don't dare ride a bike. The car traffic is too nasty, and I'm very non-confident about my bike-riding abilities. I would love a motorized three-wheeler or something where I don't have to balance on my own _too_ much. Maybe with a roof for the rain.

Perhaps I'm dreaming of a world full of personal tuk-tuks and golf-carts? It's annoying that the only real options in the US seem to be "30 pound bike" or "2-ton+ car".

ryanianian··on Rust concepts I wish I learned earlier
As someone new to Rust, I look at the latter and see `.zip()` (apparently unrelated to python zip?), and then a lambda/block which intuitively feels like a heavyweight thing to use for adding (even though I'm like 90% sure the compiler doesn't make this heavyweight).

By comparison, the first one is straightforward and obvious. It's certainly kinda "ugly" in that it treats Options as very "dumb" things. But I don't need to read any docs or think about what's actually happening when I read the ugly version.

So TLDR: This reads a bit like "clever" code or code-golfing, which isn't always a bad thing, especially if the codebase is mature and contributors are expected to mentally translate between these versions with ease.

ryanianian··on Ruby 3.2’s YJIT is Production-Ready
You can often solve ~70% of this with language interop. Bindings and FFIs are in my opinion very under-appreciated. This is the approach taken by PHP+HipHop, Apple with Swift/ObjC, and many Python bindings over C++ internals (TF etc).

There is no magic bullet. You can't do an overnight transition. If you decide to make a language shift (or equivalently large architecture shift), you need an interop. Old and new have to coexist. The remaining 30% (where interop fails) is where engineering happens and is often where you had hidden technical debt anyway.

ryanianian··on Genders.wtf
Much like the others, this is most likely a ui reading the options from a dataset that was contaminated somehow. Combined with lack of maintainers actually using or testing the thing they maintain on a regular basis.
ryanianian··on On leading underscores and names reserved by the C and C++ languages
Leading underscores help you disambiguate `_name` the field from `name` the member-function. Similar thing in Python. How else do you solve this without it being even more confusing? Is `m_` really preferable? (Honest question.)
← PreviousPage 3 of 23Next →