Sign in

Kevin Bourrillion

@kevinb9n.bsky.social
287 followers 136 following 47 posts

Java Platform Group @Oracle (all opinions are my own alone). See random stuff about me at kevinb9n.github.io

PostsRepliesMedia
Kevin Bourrillion @kevinb9n.bsky.social · 03/04/2025
... 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)
230
Kevin Bourrillion @kevinb9n.bsky.social · 03/04/2025
Although I believe very deeply that 2 + 2 equals 4, I guess you don't really see me here passionately advocating about it, or out holding up signs, etc., trying to go out and reason with people about it. I do feel like I *should*.... (1/2)
110
Kevin Bourrillion @kevinb9n.bsky.social · 25/03/2025
An Arkansas bill (among its other provisions) targets *hairstylists* who give kids *non-gender-conforming haircuts*. www.newsweek.com/arkansas-bil... These people trying (with mounting desperation) to police gender are out of their effing minds.
newsweek.com
Arkansas bill targets 'gender nonconforming' haircuts for kids
If passed, the bill would let parents sue anyone supporting a minor's social gender transition, from hairdressers to teachers and nonprofits.
121
Reposted by Kevin Bourrillion
Sébastien Deleuze @seb.deleuze.fr · 10/03/2025
I have published a new blog post to explain what benefits Spring developers can expect from the next-level Spring null safety support based on JSpecify and NullAway. spring.io/blog/2025/03... It will be available for general consumption in the upcoming Spring major version at the end of the year.
03015
Kevin Bourrillion @kevinb9n.bsky.social · 07/03/2025
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.
010
Kevin Bourrillion @kevinb9n.bsky.social · 06/03/2025
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!
000
Kevin Bourrillion @kevinb9n.bsky.social · 06/03/2025
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.
010
Kevin Bourrillion @kevinb9n.bsky.social · 06/03/2025
Dan Smith is the man on this - I am only hoping to make myself useful with the things I learned through JSpecify.
110
Kevin Bourrillion @kevinb9n.bsky.social · 06/03/2025
Parser-combinator library. I think they have tremendous potential.
100
Kevin Bourrillion @kevinb9n.bsky.social · 03/03/2025
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).
120
Kevin Bourrillion @kevinb9n.bsky.social · 03/03/2025
Thanks for the vote of confidence. :-) I've been doing my best to help!
020
Kevin Bourrillion @kevinb9n.bsky.social · 21/02/2025
(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)
000
Kevin Bourrillion @kevinb9n.bsky.social · 21/02/2025
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...
youtube.com
Bee Smart Baby - Baby Math Numeracy (2000)
YouTube video by Bee Smart Baby
110
Kevin Bourrillion @kevinb9n.bsky.social · 21/02/2025
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.
110
Kevin Bourrillion @kevinb9n.bsky.social · 21/02/2025
I wish SO HARD I had been filming my daughter's reaction as I showed her this explanation of Graham's Number last night. It was incredible. www.youtube.com/watch?v=1N6c... When he got to "3 to the power of something-trillion", she laughed in genuine delight. After that it was not funny anymore.
youtube.com
Day[9] Story Time #4 - Graham's Number
YouTube video by Day9TV
120
Kevin Bourrillion @kevinb9n.bsky.social · 26/01/2025
It doesn't matter whether it was "really" a Nazi salute, or if Trump "really" would invade Greenland. That isn't even the point. They are blurring the lines. They're ensuring there won't be a *one clear moment* when they've suddenly gone too far. They're boiling us like the proverbial frog.
091
Kevin Bourrillion @kevinb9n.bsky.social · 17/12/2024
Justice served. crazybob aka Bob Lee's killer has been convicted of murder 2nd degree, which should put him in prison for a long time. I had felt fairly confident of this outcome, but hearing the guy's attempts to claim "self-defense" made me feel almost physically ill, so I feel relieved now.
1110
Kevin Bourrillion @kevinb9n.bsky.social · 12/12/2024
I completely agree with this.
010
Kevin Bourrillion @kevinb9n.bsky.social · 11/12/2024
I should have had it in my list, thanks.
010
Kevin Bourrillion @kevinb9n.bsky.social · 11/12/2024
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.
110
Kevin Bourrillion @kevinb9n.bsky.social · 11/12/2024
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)
000
Kevin Bourrillion @kevinb9n.bsky.social · 10/12/2024
Hopefully all new languages get this right nowadays. Identity dependence is a bad default.
030
Kevin Bourrillion @kevinb9n.bsky.social · 10/12/2024
"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.
120
Kevin Bourrillion @kevinb9n.bsky.social · 10/12/2024
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...
110
Kevin Bourrillion @kevinb9n.bsky.social · 10/12/2024
* 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?
420
Kevin Bourrillion @kevinb9n.bsky.social · 10/12/2024
* on primitives * as a short-circuit *in an implementation* of `equals` * when you need to use the "magic sentinel instance" pattern (though you'd rather avoid it) * special "low-level" code that is concerned with object instances *themselves* and not (like most code) what those instances represent
230
Kevin Bourrillion @kevinb9n.bsky.social · 10/12/2024
In Java `==` is defined for every reference type, but is very often not what we want, and we sometimes have bugs until we remember to use `equals()` to determine *logical* equivalence instead. I'm curious what are the various "good" uses for the `==` operator out there. Here are some that I know:
3121
Kevin Bourrillion @kevinb9n.bsky.social · 26/11/2024
I can say that we are working on it!
020
Kevin Bourrillion @kevinb9n.bsky.social · 26/11/2024
hey that's my project :-)
130
Kevin Bourrillion @kevinb9n.bsky.social · 21/11/2024
The fun running is when you're winding through the duty free shop dodging shoppers and product displays. At Orly the staff clapped and cheered for us. Based on how well-run and efficient their security and passport lines were, this must be a common occurrence for them.
000
Kevin Bourrillion @kevinb9n.bsky.social · 21/11/2024
I would be afraid for my baggage in that situation!
000
Kevin Bourrillion @kevinb9n.bsky.social · 21/11/2024
Sigh. In an effort to spare my daughter from an exhausting multiple-stop 22-hour travel day I attempted to give her a 50 min connection in AMS. KLM's web site says that's the shortest you should go. That was a damn dirty lie! She missed it by a lot and end up with a 26-hour travel day...
000
Kevin Bourrillion @kevinb9n.bsky.social · 21/11/2024
This is the way. Please. It's especially ironic when some rando says something horrible and then their message ends up reaching millions of people because well-meaning folks want to broadcast just how outraged they are by it. I see these things every day. Staaaahhhp
010
Kevin Bourrillion @kevinb9n.bsky.social · 20/11/2024
I hate that they're making this, and I especially hate that my ass will be in that theater on opening night. www.youtube.com/watch?v=aH2g...
youtube.com
'How to Train Your Dragon' Official Trailer (2025 Live-Action)
YouTube video by Entertainment Tonight
010
Kevin Bourrillion @kevinb9n.bsky.social · 20/11/2024
I was just in Vilnius for the very first time earlier this month! It's funny now that I was so amused at the first CAFFEINE shop we came to, 200 meters from our hotel, not realizing there would be another one every 200 meters after that throughout the whole city :-)
100
Kevin Bourrillion @kevinb9n.bsky.social · 19/11/2024
(if observers see this and wonder why Melissa R. Kaplan is my favorite singer in the world, this YouTube playlist is my current partial answer to that: www.youtube.com/watch?v=jGbv...)
youtube.com
Splashdown – Mayan Pilot (highest quality possible)
YouTube video by NotOrdinaryInGames
110
Kevin Bourrillion @kevinb9n.bsky.social · 19/11/2024
@melissarkaplan.bsky.social I am touched that my favorite singer in the entire world followed me back! However, now get ready to learn some things about Java programming hahaha :-)
210
Kevin Bourrillion @kevinb9n.bsky.social · 18/11/2024
(Thanks for the pointer to that, glad to know about it. And good to hear from you again)
120
Kevin Bourrillion @kevinb9n.bsky.social · 18/11/2024
The `Class` class is... peculiar, and has myriad struggles like this. I still want to fix about 18 things in its javadoc. Wish me luck.
210
Kevin Bourrillion @kevinb9n.bsky.social · 15/11/2024
That's close to right, but there is no type called `void`! Void methods don't return anything, so there is no type describing what they return. Some confusion comes from the fact that `void.class` exists, which the Class javadoc calls "the void *pseudo-type*". Imho... arguably a mistake!
130
Kevin Bourrillion @kevinb9n.bsky.social · 15/11/2024
FWIW, the `Void` class is a bit misunderstood. There's really nothing to it: it's just a class that has no instances. No different, really, from `public enum MyVoid {}`. The connection between this class and the idea of `void` is fairly circumstantial.
010
Kevin Bourrillion @kevinb9n.bsky.social · 15/11/2024
It's a natural thing to assume. Just has to be constantly debunked.
010
Kevin Bourrillion @kevinb9n.bsky.social · 14/11/2024
I have to say this, because some of the things happening in my country right now (U.S.) are really not good, and sometimes we're going to need to talk about it. That said, my other pledge to you is that I refuse to participate in outrage farming or troll-feeding. (Please call me out if I do!)
000
Kevin Bourrillion @kevinb9n.bsky.social · 14/11/2024
And apart from ownership I just keep hearing storygraph is better anyway. I haven't investigated just cause I'm not in much of a reading mode atm.
000
Kevin Bourrillion @kevinb9n.bsky.social · 14/11/2024
Still, though, mostly Java/tech. :-)
020
Kevin Bourrillion @kevinb9n.bsky.social · 14/11/2024
I don't intend to "get political" here. However, I will never accept the idea that it is "political" to speak up for - facts over falsehood and propaganda - human rights - equality before the law - treating each other with respect, decency, and inclusiveness I'd call this *humanity* not politics.
260
Kevin Bourrillion @kevinb9n.bsky.social · 14/11/2024
I'm here to make Java-related/tech-related posts and replies, but I can't promise to stay on topic 100% of the time. You get the whole unfiltered me, folks. All opinions, incidentally, are strictly my own (and are sometimes wrong). I'm shooting for >50% Java-related though. :-)
171
Kevin Bourrillion @kevinb9n.bsky.social · 14/11/2024
With IntelliJ, I don't even know where to start!
010