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/2025Although 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/2025An 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.comArkansas bill targets 'gender nonconforming' haircuts for kidsIf 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 BourrillionSébastien Deleuze @seb.deleuze.fr · 10/03/2025I 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/2025fwiw, 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/2025Incidentally 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/2025Example 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/2025Dan 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/2025Parser-combinator library. I think they have tremendous potential. 100
Kevin Bourrillion @kevinb9n.bsky.social · 03/03/2025Blame 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/2025Thanks 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/2025Going 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.comBee Smart Baby - Baby Math Numeracy (2000)YouTube video by Bee Smart Baby 110
Kevin Bourrillion @kevinb9n.bsky.social · 21/02/2025For 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/2025I 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.comDay[9] Story Time #4 - Graham's NumberYouTube video by Day9TV 120
Kevin Bourrillion @kevinb9n.bsky.social · 26/01/2025It 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/2024Justice 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 · 11/12/2024Okay, 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/2024While 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/2024Hopefully 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/2024This 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/2024In 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 · 21/11/2024The 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/2024I would be afraid for my baggage in that situation! 000
Kevin Bourrillion @kevinb9n.bsky.social · 21/11/2024Sigh. 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/2024This 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/2024I 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/2024I 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.comSplashdown – 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/2024The `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/2024That'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/2024FWIW, 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/2024It's a natural thing to assume. Just has to be constantly debunked. 010
Kevin Bourrillion @kevinb9n.bsky.social · 14/11/2024I 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/2024And 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/2024I 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/2024I'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/2024With IntelliJ, I don't even know where to start! 010