Steve Downey

Steve Downey

@sdowney.org

Professional C++ nerd. I worked to make optional<T&> happen. Working to make Text less bad in C++. Whole person, not a brand. Posts about politics, software, books... Software engineer at Bloomberg LP Views are my own he/him @sdowney@mastodon.social

998 followers400 following4.7K posts

Steve Downey reposted

My pal Danielle Koenig shared that her father Walter Koenig passed away last night at age 90. A performer whose kindness and warmth shone through the screen. He will be well remembered.

Steve Downey reposted

RIP to an incredible actor, Alfred Bester is one of my all time favorite Lawful Evil villains

Jesse Thorn@jessethorn.bsky.social

My pal Danielle Koenig shared that her father Walter Koenig passed away last night at age 90. A performer whose kindness and warmth shone through the screen. He will be well remembered.

I can buy a TV better than anything that existed before for less than the price of a nice dinner out for four.

Social media loves talking about how everything is getting worse. But what’s something that you’ve seen get _better_ in your lifetime?

• Aristotle was not Belgian. • The central message of Buddhism is not "every man for himself". • The London Underground is not a political movement.

"President Trump called Elon Musk and asked him to lift restrictions on a military-grade version of Starlink in Ukraine that the SpaceX chief had throttled, U.S. officials said." wat. This part of the business may not have a wonderful 2027Q1.

If you are a Starshield consumer what are you doing this afternoon? USDoD shutting things down was already a massive problem. An erratic billionaire is now your NatSec risk.

Tom Hearden@followtheh.bsky.social

*TRUMP CALLED MUSK TO LIFT STARLINK CAP IN UKRAINE: WSJ

Ironically, my new hearing aids are better headphones than the first Walkman pair I damaged my hearing with.

AI code reviews will find some issues with anything, because that's what they are supposed to do. But, not all errors ought to be handled and sometimes the right answer is utter failure rather than handling an unexpected result. Why did that result change? Why check someone else's post-condition?

Software companies treating the idea of being legally responsible for their software as an existential risk sort of gives the whole game away.

The most likely outcome of trying to keep AI from using open source software to train on by legal mechanism is finally removing copyright protections from computer code. Never should have been in the first place. Patents, maybe, but only to the extent the idea is. Not because "with computer."

Steve Downey reposted

Why do we dream? Or, more to the point, why does the platypus dream so MUCH? You're lucky to get 1.5-2 hrs of dream-rich REM sleep per night, but our duck-billed ballerina here gets >8 hrs. Did you know that spiders, fire ants & cuttlefish dream? (so far as we can tell) Let's talk about it.

My belief that it is OK for C++ Hardened Pre-conditions in the standard library to have termination semantics is more about having actually reviewed each of them combined with trust in the lead maintainers of libstdc++ and libc++.

View full thread

We've also spent 40 plus years deciding we don't need to self-regulate or professional license. That is how this risk is managed in other industries. Don't know how it would work. Not even sure I'd qualify, which is the heart of the problem.

My belief that it is OK for C++ Hardened Pre-conditions in the standard library to have termination semantics is more about having actually reviewed each of them combined with trust in the lead maintainers of libstdc++ and libc++.

View full thread

Companies that deliver software to people are absolutely freaking out about all this. They are right to. AI coding multiplies the risks, too. I'm probably responsible because there isn't anyone else to shift the risk to.

My belief that it is OK for C++ Hardened Pre-conditions in the standard library to have termination semantics is more about having actually reviewed each of them combined with trust in the lead maintainers of libstdc++ and libc++.

View full thread

A fundamental Law of contract based programming is that a fully correct program functions identically whether contracts are checked or not. You may not rely on contract checks to make your program correct. Contract failure is proof your program is *incorrect*. (Most programs are incorrect!)

And this is all running straight into the problem of regulatory responsibility in an industry that as a central practice disclaims all responsibilities. That meant I was just as responsible for the code I wrote as I was for the open source code I used — not at all.

My belief that it is OK for C++ Hardened Pre-conditions in the standard library to have termination semantics is more about having actually reviewed each of them combined with trust in the lead maintainers of libstdc++ and libc++.

View full thread

A new container should be able to harden its bounds checks just like vector or optional, providing as good safety promises as the standard library. [without arguing how good for now] The compiler can't check the author's credentials. So it follows that my quant friend gets the ability.

And that means I'll need extra-linguistic checks to say to them "No, bad contract." and figure out how to return errors to make their function have a wider contract. Straying towards "profiles" and that mess.

My belief that it is OK for C++ Hardened Pre-conditions in the standard library to have termination semantics is more about having actually reviewed each of them combined with trust in the lead maintainers of libstdc++ and libc++.

There are a very few teams at my job I would trust similarly, largely the ones working on similar layer code. I'm less certain about handing that ability to the quant who would like to abort if the provided yield curve is inverted. But code is code.

Because I also strongly mislike un-exposed magic in the standard library. Some things do require magic, like type traits, and std::byte, but most is just code.

Steve Downey reposted

2019 video of Heidi the Octopus, captured by Dr. David Scheel, a professor of marine biology at Alaska Pacific University in Anchorage & aired on PBS Nature program "Octopus: Making Contact". We think the color changes are the results of Heidi dreaming as she sleeps. Let's talk about it.

mēnin aeide thea Pēlēiadēō Achilēos Rage (accusative) sing (imperative) goddess (vocative) son of Peleus (genitive) of Achilles (genitive) O Goddess, sing the Rage of the son of Peleus, of Achilles! English uses ordering where Greek could use forms. But order mattered.

James@gravitysra1nbow.bsky.social

AHHHHHHH THE ONLY REASON HE EVEN STAYS TO DIE AT TROY IN THE ILIAD IS TO AVENGE PATROCLUS. IT'S A POEM ABOUT HIS RAGE. THE OPENING LINES ARE PRETTY CLEAR WHY CAN'T A SINGLE DEFENDER OF WESTERN CIVILIZATION READ A SINGLE THING FROM THE WESTERN CANON AHHHHHHHHHHHHHHHHHHHH

When terrible people agree with you, you must stop and check your own reasoning. Ad hominem is disagreeing simply because Bob said it. Finding out that Bob agrees with you because Bob likes the orphan-crushing machine part should give you pause.

Steve Downey reposted

The Long Neolithic lives as call to mystery, call to wonder. Whether we respond to those calls as archaeologists, ley hunters or stone pilgrims – we respond with stories. The Long Neolithic tithes in narrative. With typology or folklore, we all pay our dues. – Dr. K. Brophy #StandingStoneSunday

Interviewer: Can you explain this gap in your resume? TeXnician: /flushbottom, but /raggedbottom moved the floating table to the other page.

Ólafur Waage@olafurw.com

Interviewer: Can you explain this gap in your resume? Programmer: It's the difference between unix and windows style line endings and your editor isn't handling it correctly.

Steve Downey reposted

Interviewer: Can you explain this gap in your resume? Programmer: It's the difference between unix and windows style line endings and your editor isn't handling it correctly.

Anime Ghoul@annamegill.com

Interviewer: Can you explain this gap in your resume? Game Writer: Oh, that section is all gameplay

Effective Altruists now mourning the lives just snuffed out, but remain hopeful in the Eschaton being Immanentized across the Galaxy.

404 Media@404media.co

The estimated lifespan of the outer solar system has been downgraded from 100 billion years to just a few billion years, according to a study that probed “terminal instability” during the Sun’s death. www.404media.co/our-solar-sy...

Object Oriented Programming in Contemporary C++ No AbstractFactoryBuilderFactory. Some SmallTalk. Polar opposite of contemporary Value Oriented Programming. Identity, State, Behavior The true core of OO{P,A,D}.

CppNow@cppnow.bsky.social

We have just released a new C++Now 2026 Conference Video! Object Oriented Programming in Contemporary C++ - Steve Downey - C++Now 2026 #coding #cplusplus #cpp #programming