Kevin Bourrillion
banner
kevinb9n.bsky.social
Kevin Bourrillion
@kevinb9n.bsky.social
Java Platform Group @Oracle (all opinions are my own alone).
See random stuff about me at http://kevinb9n.github.io
... but the problem is, to the people who can't already see it, I just have no idea how to relate to them at all. I mean how do you start establishing common ground with someone when they think 2 + 2 is 2, or maybe 5, or "fish biscuit", or maybe who thinks arithmetic expressions are woke? (2/2)
April 3, 2025 at 5:51 PM
fwiw, I have no problem with factual reporting that doesn't tell me how I am supposed to feel about the information. I can decide how to feel about it for myself. I'm not here to defend WaPo in general.
March 7, 2025 at 9:37 PM
Incidentally the case for regex is when you can do *everything* you need in just one regex with captured groups and be done with it. If it really is that simple then great. If not... don't get stupid!
March 6, 2025 at 3:47 PM
Example of what using one looks like in Kotlin (just a toy project I made to implement a complex board game):
github.com/MartianZoo/s...
Not sure if there's enough context to understand what you're seeing, but the amt of code I have to write is shockingly little.
March 6, 2025 at 3:42 PM
Dan Smith is the man on this - I am only hoping to make myself useful with the things I learned through JSpecify.
March 6, 2025 at 3:40 PM
Parser-combinator library. I think they have tremendous potential.
March 6, 2025 at 3:36 PM
Blame arrays for this one, being grammatically jumbled to begin with (`new String[a][b]` is neither little-endian nor big-endian, but goes in "inner-outer-middle" order).
March 3, 2025 at 9:24 PM
Thanks for the vote of confidence. :-) I've been doing my best to help!
March 3, 2025 at 5:28 PM
(If you hit play on that and try to imagine you're hearing it come from your daughter's room after you showed her a video on Graham's Number, it will be hilariously funny)
February 21, 2025 at 6:29 PM
Going from g(0) to g(1), she basically lost it. Screamed aloud and was generally inconsolable.

When it was all over she just seemed kind of hollowed out, and a bit later I literally found her watching this video from her childhood to put herself back together:
www.youtube.com/watch?v=TGmn...
Bee Smart Baby - Baby Math Numeracy (2000)
YouTube video by Bee Smart Baby
www.youtube.com
February 21, 2025 at 6:27 PM
For context, she's 18 and never particularly been a "math person", but does well enough with it.

By triple up-arrows she was audibly moaning.

At g(0) she had gathered all her limbs, forming her body into a tight, protective ball.
February 21, 2025 at 6:27 PM
I completely agree with this.
December 12, 2024 at 10:45 PM
I should have had it in my list, thanks.
December 11, 2024 at 8:24 PM
Okay, I think we can consider comparing to the literal `null` as almost like a different operator, outside the scope of what I'm really asking about.
December 11, 2024 at 8:23 PM
While that's true, I doubt it would be the right idea very often. Most non-enum classes that might be inclined to do that should just become value classes, and let the VM handle everything. Class feels like a relatively special example.

(I'm fuzzy on what claim I made that MT is a counter to)
December 11, 2024 at 8:22 PM
Hopefully all new languages get this right nowadays. Identity dependence is a bad default.
December 10, 2024 at 6:47 PM
"Happen to know it is firmly specified to be." :-)

I push on this because the reader of the client-side code does not necessarily have the mental database of which types this is safe for. Each javadoc lookup is a readability point deduction.
December 10, 2024 at 6:44 PM
This is my "when you happen to know it does the same thing as `==`" bucket.

In a certain weird sense these types are "honorary value classes", because even though they do _have_ identity, that identity has been rendered purely redundant with the state you care about. A good thing when feasible...
December 10, 2024 at 6:17 PM
* with a graph of mutable collections, when the topology of that graph matters

What I'm not listing is "when you happen to know it does the same thing as `==` and you just want your code to be shorter". I'm not *judging* you for doing it :-) I just can't quite classify it as "good".

Whatcha got?
December 10, 2024 at 5:50 PM