HN user

schneems

2,155 karma

I'm just a boy, standing in front of a computer, asking it to print "Hello World".

Website: https://www.schneems.com

I write Ruby and Rust code.

Posts50
Comments538
View on HN
rubycentral.org 3mo ago

RubyGems Fracture Incident Report

schneems
94pts42
www.schneems.com 8mo ago

Disallow code usage with a custom `clippy.toml`

schneems
2pts0
www.heroku.com 8mo ago

Upgrade to Puma 7 and Unlock the Power of Fair Scheduled Keep-Alive

schneems
3pts0
www.schneems.com 1y ago

A Daft Proc-Macro Trick: How to Emit Partial-Code and Errors

schneems
1pts0
schneems.com 1y ago

My Red Hot ADHD Programming 'Affliction'

schneems
2pts0
schneems.com 5y ago

The room where it happens: How Rails gets made

schneems
16pts0
devcenter.heroku.com 5y ago

Ruby 3.0.0 Preview 2 Released

schneems
2pts1
schneems.com 5y ago

Squash Unexpected-End errors with syntax_search

schneems
1pts0
www.schneems.com 5y ago

Triage with Me – 11 issues and 2 PRs in 1.5 hours

schneems
1pts0
blog.heroku.com 5y ago

The Life-Changing Magic of Tidying Ruby Object Allocations

schneems
3pts0
blog.heroku.com 6y ago

Heroku Sped Up Time-Related Syscalls on Dynos

schneems
2pts0
blog.heroku.com 6y ago

A Fast Car Needs Good Brakes: How We Added Rate Throttling to Our Client

schneems
4pts0
schneems.com 6y ago

Lies, Damned Lies, and Averages: Perc50, Perc95 Explained for Programmers

schneems
1pts0
blog.heroku.com 6y ago

The Curious Case of the Table-Locking Update Query

schneems
4pts0
www.schneems.com 6y ago

Why Does My Memory Usage Grow Asymptotically over Time?

schneems
2pts1
www.schneems.com 6y ago

Ruby REALLY Uses Memory: On the Web and Beyond

schneems
3pts0
blog.heroku.com 7y ago

Puma 4: Hammering Out H13s–A Debugging Story

schneems
2pts0
schneems.com 7y ago

Puma 4: New I/O 4 Your Server

schneems
1pts0
blog.rubygems.org 7y ago

Multiple CVEs Released for RubyGems

schneems
2pts0
blog.heroku.com 7y ago

Cache Invalidation Complexity: Rails 5.2 and Dalli Cache Store

schneems
2pts0
blog.heroku.com 8y ago

Rails Asset Pipeline Directory Traversal Vulnerability (CVE-2018-3760)

schneems
5pts1
blog.heroku.com 8y ago

Announcing PCI Compliance for Heroku Shield

schneems
7pts0
www.schneems.com 8y ago

WTF is a Thread

schneems
3pts0
www.schneems.com 8y ago

I know how to code, I can code in anything

schneems
10pts1
www.schneems.com 8y ago

Adding a Blog Feature: 'Say My Name'

schneems
2pts0
www.schneems.com 8y ago

How I Lost 17,000 GitHub Auth Tokens in One Night

schneems
2pts1
www.betonyourself.com 8y ago

[Podcast] Balancing the Feature/Feedback Cycle on CodeTriage

schneems
1pts0
www.schneems.com 8y ago

I Spent $50 on Twitter Ads So You Don't Have To

schneems
4pts0
www.schneems.com 8y ago

Sending Massive Emails Considered Harmful

schneems
1pts1
www.schneems.com 8y ago

Coder Frozen in 2009 Awakens to Find Front End Development Not Awful

schneems
5pts1

You seem to have misunderstood my comment. I'm happy to accept the fault for poor communication. But you're making it hard. You're signaling that any clarifications on my behalf will be treated as further arguments instead of some sort of shared desire to hear one another. I don't care to continue.

Search the topic. It is historically documented. It might no longer be true though.

A way to test might be running an open model locally, directly (without a harness) where you could be sure it's not going through a translation layer. I think these days it might have this tool call behavior built in, but I think back in the day it was treated more like a magic trick. Without it, it behaved similar to "how many r's are in strawberry" for simple math.

1) That's not related to chain of thought I was replying to. Someone asked about the "bad at math" and pointed out "but it seems good to me" so I added the color of why that might be the case. Your retort seems to imply I'm making an argument that because something uses tools for a job it cannot be good at the thing it's using a tool for. Which is not the case.

2) If you have something to say, just say it. Don't put words in my mouth and then argue with a thing I didn't say.

They are bad at math. But they are good at writing code and as an optimization some providers have it secretly write code to answer the problem, run it and give you the answer without telling you what it did in the middle part.

I see this being useful in infrastructure tools. Imagine a statically compiled bundler that can also do the job of RVM and friends (installing Ruby) but it is still written in Ruby.

The classic Ruby buildpack is written in Ruby but we have to bootstrap it with bash and it's annoying and has edge cases. The CNB is written in rust to not have that problem and the idea that you can ship a single binary with no dependencies is really powerful.

Or just once, to say the entire OSS committee was employed by Shopify,

Mike works at Basecamp (now and then). Based on comms I don't believe any of them acted on behalf of their employer i.e. no "team orders." Or if they did, they did so in ways that aligned with my perception of what I believed to be the correct read of the situation.

I also think that we (as humans) are much less incapable of knowing what things sway and influence our opinions than we think. We are much less capable of correcting for conflicts of interest than we would like. The study "tappers and listeners" is about adjusting for knowledge (curse of knowledge), but I think it applies to influence as well. Which is to say...I'm sure that everyone was influenced in many ways, but I felt they acted as individuals and reacted in real time.

There are other details of affiliations that I omitted from the former maintainers as well, that are true to state, and likely had some impact on their decisions ... but I used judgment to omit what I didn't think was fair or didn't think was immediately relevant. Not saying I got it all right all the time, but sort of chiming in to say "I'm not only omitting information in favor of one party." Yes, I'm biased...but I'm trying to correct for that bias. (A funny thing to state after just saying humans are bad at it, I know).

(2 current, 1 former) of Shopify's technical leadership

You'll have to take me on my word about it...but if I saw this as a driver of the issue I would have included it. I think saying "shopify was involved" is sort of like saying "people talked about RV at Rails World." Shopify is huge and hugely invested in Ruby's OSS ecosystem. I have my own critiques of the company, but not here. I think they're a net positive for Ruby OSS. I wish the general response was "more companies need to step up, I'll go talk to my leadership" rather than knocking these volunteers for their involvement. I've said elsewhere that if I were in the committee or in their shoes...I don't think the outcome would have been different (even if details would have). Also, you are welcome to disagree and have a different opinion.

I agree that it's best not to have situations like this. PSF bylaws "Section 5.15. Limits on Co-affiliation of Board Members." and similar rules are generally good at preventing the perception of conflict of interest (which is also important...that the perception alone can be damaging).

Right now, the committee is 100% one company (me). Because I'm the only one on it. Which is also a problem. Also, we're in a rebuilding/re-prioritizing phase with all of this...so it's hard to onboard while things are in flux.

dispute in the stewardship of the bundler

This was never in dispute from the two parties. Ruby Central and "the maintainers" agreed from the beginning that it was collateral damage. The disagreement was what that meant and what to do with it. Hence the Sept 10 message from the Ruby Central Committee that they should move it to the Ruby core org (which IMO is long overdue).

The original plan (by the oss committee)was to move bundler to the Ruby org, that's what happened. When it did, the community generally like it (on HN and reddit comments).

You got your reply already. To add: YJIT is the one that does "basic block versioning" (Which was Maxime's thesis) while ZJIT is a more traditional design.

I am confident in that description but don't actually know what it means in practice (yes I've seen papers and talks, but I kinda need not-compiler-engineer to explain it to me.)

As I understand it BBV still holds promise, but the sheer volume of knowledge of more traditional methods might mean it gets better outcomes (also IIRC ZJIT is still lagging YJIT).

Pedantic point: YC has ads, they are just blend in much better and are delivered in the same medium.

Hiring posts (definitively) and tech posts (maybe) by YC companies. The whole product is one big ad for a venture fund. Its generally well done and unobtrusive. So kudos to them for that it goes relatively unnoticed.

Thanks. I was a genuine question and you answered it well. For some reason I've internalized that closures can capture variables sometimes, but I guess I'm not sure the conditions in which that's true (or perhaps I've learned/mis-remembered the wrong lesson a long time ago.

Wouldn't that also move any referenced variables too? Unlike the block example that would make this code not identical to what it's replacing.

I don't think she's seeking one vs the other, nor is she judging him less now that she knows he's had a bunch of affairs. She's presenting a story and it's obvious that she has mixed feelings, full of both positive and negative judgement.

It sounds like violently agree with everything other than my framing and wording choices.

I think you're misreading that last line.

Maybe. I didn't notice it was a period and not a comma until posting it. I still read it as "we found...his life" sure maybe they interpret it was him wasting that life, but your prior sentiment I quoted is the thing I'm emphasizing. I'm not saying there's *no* judgement. I'm saying there's a clear (to me) attempt at understanding that goes beyond blame.

Is it even remotely appropriate to blame without first understanding?

Yet, blame is easy and satisfying and true understanding requires empathy and is hard and often unsatisfying.

The term "understanding" is fractal and infinite. Therefore Its 100% reasonable to find a stopping point and say "I blame you" (or, as you point out, otherwise, no one would ever be allowed to assign blame).

My comment is more about intent. The "seeking" word weights heavy. Many commenters are not seeking understanding, they are seeking satisfaction. Validation. The author of the post could have stopped much sooner if they were seeking blame, they could have chosen to build a caricature to heap more judgement upon. But they chose a more nuanced and exploratory path.

Even if the end result is blame or judgement. It's important that the purpose of the journey is clear. True understanding requires empathy, and it's really hard to empathize with someone you're actively trying to judge or vilify.

I only questioned why he would have brought kids into the "union",

They might be lead to believe "if only we got married ... if only we had kids ... that will 'fix' it." Even straight couples who aren't in love fall into this trap.

I don't know how well real life imitates art, but a lot of films involving gay historical characters have a similar enough narrative I assume it has some grain of truth: The gay person would rather not be gay (it would be easier for them), and is told by society that it's a choice. Maybe they even have some small amount of feelings for the spouse or think they can "learn to love them." See Rustin 2023 as an example of the psychology in action.

I'll go to my grave still very sad about the could-have-beens.

Sorry for that. Loss is one of the hardest, most confusing emotions. That lack of closure and the unknown is a truly awful feeling.

I agree. To me, it's like a blameless retro. You can either seek understanding or seek blame, but not both at once.

The author seemingly had a lot of judgement and blame for the dad before finding this out. It sounds like they are seeking understanding. I think the last line makes that clear:

the evening we found the love letters. his entire life, and mine as well

And it's not to say someone can't attach judgement to characters, or that no one should hold blame. But I think it's important to honor what the author is seeking.