Readit News logoReadit News
astral303 commented on Noexcept affects libstdc++’s unordered_set   quuxplusone.github.io/blo... · Posted by u/signa11
api · a year ago
There’s a reason both Go and Rust eschew exceptions. They’re something that superficially seemed like a great idea but that in practice complicate things by creating two exit paths for every function. They also don’t play nice with any form of async or dynamic programming.

C++ should never have had them, but we have sane clean C++ now. It’s called Rust.

astral303 · a year ago
If you find that exception-free code that is necessarily littered with exit value checks at every call, which discourages refactoring and adds massive noise, then you can call the decisions to eschew exceptions as “sane” and “clean”, but I find the resulting code to be neither. Or practically speaking, exit codes will often not be checked at all, or an error check will be omitted by mistake, thereby interrupting the entire intended error handling chain. Somehow that qualifies as a better outcome or more sane? Perhaps it is for a code base that is not changing (write-once) or is not expected to change (i.e. throwaway code written in “true microservice” style).
advisory5739f2 commented on Postmortem of my 9 year journey at Google   tinystruggles.com/posts/g... · Posted by u/delive
hn_throwaway_99 · a year ago
I've been one the other side of this (i.e. companies that have no SREs or QA, or in one case a company that had QA and got rid of it) and it has always been an unmitigated disaster.

The root cause of this disaster is that, when writing software, interruptions are the death of productivity. Having a software engineer wear too many different hats at one time, especially when some of those hats are largely real-time interrupt driven, can absolutely kill productivity.

To emphasize, I'm not at all in favor of "throwing things over the wall". Software engineers are responsible, for example, for making software that is easy to test and has good observability in place for when production problems show up. But just because you listed a bunch of things that are "critical for software development" doesn't mean that one person or role should be responsible for all of these things.

At the very least, e.g. for smaller teams I recommend that there is a rotating role so devs working on feature development aren't constantly interrupted by production issues, and instead each dev just gets a week-long stint where all they're expected to do is work on support issues and production tooling improvements.

advisory5739f2 · a year ago
I agree very much with you that interruptions are death of productivity. Your suggestions for weekly rotations are great.

However, I argue that if the engineers are interrupted by QA issues, they will be motivated to find ways to not have those QA issues. In absence of that, we end up with the familiar “feature complete, let QA find bugs” situation.

astral303 commented on Postmortem of my 9 year journey at Google   tinystruggles.com/posts/g... · Posted by u/delive
dexwiz · a year ago
This is such a crazy take for me. Any profession that matures eventually specializes. I wouldn’t expect the same person to pour my foundation, install the plumbing, and wire the building. Yet in an ever expanding field we expect someone to be able to do it all. Also saying people who don’t code have no stake so egocentric.
astral303 · a year ago
Pouring foundation, installing plumbing and wiring the building is specialized by the physical necessity of these activities, which cannot be repeated without mistake at a great cost. That justifies specialization. Unlike building a bridge, compiling software is essentially free. QA, release engineering and database design can and should be repeated and iterated on by software engineers, because it is a necessary part of the development and removing it from the expected work distorts incentives.
astral303 commented on Postmortem of my 9 year journey at Google   tinystruggles.com/posts/g... · Posted by u/delive
beebmam · a year ago
Regardless of these fields being separate departments/job titles: people are not getting promoted for doing QA, release engineering, continuing engineering, or DBA work. It's a huge cultural problem in tech.
astral303 · a year ago
I agree that doing this work is looked down upon and not recognized as the critical work that it is.
advisory5739f2 commented on Postmortem of my 9 year journey at Google   tinystruggles.com/posts/g... · Posted by u/delive
rr808 · a year ago
I've done the path from SWE to SRE and back to SWE. I was always happy to do production support and diagnose and fix production problems, so I naturally moved to SRE which is always looking for people.

It was a real mistake, SRE is hugely stressful and really unrewarding compared to SWE. Yes you learn some skills and get some occasional glory, but year after year of fighting fires really didn't build any long lasting career.

After switching back to SWE I've finally got promotions and pay rises again, as well as good night sleep and much less stress.

advisory5739f2 · a year ago
SRE is an anti pattern that Google is unwilling to admit and is selling books on. Just like there should not be QA, release engineering, continuing engineering or DBA as separate departments/job titles, because these critical parts of software development should not be considered optional and thrown over the wall to take care of by someone with no stake in developing the product.

Deleted Comment

astral303 commented on Aphex Twin gave us a peek inside a 90s classic (2017)   cdm.link/2017/07/aphex-tw... · Posted by u/indigodaddy
pentaphobe · a year ago
Very cool to get a peek behind the curtain!

I've never been as productive and free as when I was mind-melded with FastTracker2 in the 90's

For a peak couple years I was generally writing 100s of (unrefined) 5-14 min tracks every month. Total unbound freedom to experiment at (close to) the speed of thought.

For anyone who's not had the pleasure, It's like when you first get good at touch typing and find you can suddenly put down thoughts dozens of times faster than ever before - it frees up your self-expression and gets The Censor out of the way.

Renoise is pretty cool, but I never fully glommed with it to the same level - might be time to try again! Recently started playing with a Polyend Tracker - pretty neat to feel those old synapses waking up. There's no way it can ever approach the speed of full keyboard-operated Tracker programs but the chance to revisit that beloved workflow in a solid and portable unit is so far really compelling.

astral303 · a year ago
I agree, very cool. I still miss the fast productive workflow of Jeskola Buzz from back in the day. Modular software synth + tracker with pattern sequencing. https://youtu.be/8J8i72a11W4?si=IRic-Z_YMinudnhn
astral303 commented on I mapped almost every USA traffic death in the 21st century   roadway.report... · Posted by u/Bencarneiro
jac241 · a year ago
Strong work. Looking forward to / dreading the update with the 2023 and 2024 data that I've been more involved with. RIP to all of the young people in their late teens and 20s who made the mistake of using a road for anything other than driving. RIP to the older folks who got smoked just crossing the street. RIP to everyone else who didn't deserve to go. Hopefully there is traffic calming and reliable, frequent public transit in heaven.

Unfortunately this dataset doesn't include the, probably more frequent, severe TBIs. Surely wouldn't take many patients for the cost of a hemicraniectomy, 2 week neuro-ICU stay, trach/peg, and long term acute care stay to equal the cost of a few measures to slow drivers down. Not to mention lost earning/tax potential. Too bad it's not from the same budget.

Wear your seatbelt and a helmet and hopefully you can avoid the pain of your family having to have a surprise end-of-life discussion with me.

astral303 · a year ago
Have you considered the impact of traffic calming measures on emergency services? https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9922345/#:~:tex....
astral303 commented on Refurb Weekend: Canon Cat   oldvcr.blogspot.com/2024/... · Posted by u/zdw
tambourine_man · a year ago
iOS has more than a single level undo, but it’s terrible at exposing it and easily over writable by mistake.
astral303 · a year ago
Oops, my mistake.. yeah, it does have multiple levels of undo.

My favorite 3-way merge tool, kdiff3, has no undo.

astral303 commented on Show HN: I made a free app to calibrate your turntable by simply playing a song   grooved.okat.best/... · Posted by u/okatbest
patrakov · a year ago
Does it rely on the fact that music has a concept of notes with well-defined frequencies and that there is no such thing as 216 Hz (must be 207.6 or 220 Hz) when the music is played on a properly tuned instrument? Or does it use other heuristics?
astral303 · a year ago
I tried it out and the instructions have tips on what record to pick, they say to pick a well known version of a song (like not a live version etc), and preferably song with a beat, but it says it doesn’t use any 3rd party APIs or libraries, only Apple APIs. So my guess at to what it’s doing is using a ShazamKit recognition behind the scenes and looking at the frequencySkew value of the matched result. It also gives you one answer after listening, instead of a continuous gauge, which seems to corroborate song recognition. It probably won’t work with an obscure record that is not Shazamable. And so I don’t think it can measure wow & flutter as a result.

Still pretty cool for those that need to calibrate a turntable, or verify 33 vs 45 PRM for a record.

u/astral303

KarmaCake day1379February 1, 2011View Original