Any pronouns. 33.

Professional developer and amateur gardener located near Atlanta, GA in the USA.

I’m using a new phone keyboard, please forgive typos.

  • 3 Posts
  • 858 Comments
Joined 2 years ago
cake
Cake day: June 13th, 2023

help-circle
rss

  • Everything after this is so pointlessly condescending and confusing. Even if someone knows what monotonic ids are it doesn’t automatically mean they’re going to have any clue about what that means with regards to index performance. In the spirit of not being an asshole, I’ll write it out here based on my research since everyone else just seems interested in putting others down rather than being helpful.

    • “Monotonic” implies something that is always increasing (or decreasing). You’ll never get a result that’s lower than one you’ve gotten before (or higher if you’re dealing with monotonically decreasing stuff).
    • Random UUIDs are not monotonic because they’re random.
    • Even time based UUIDs are not monotonic because of the format. Rather than being store high, medium, low, they’re stored low, medium, high. Think of it like storing numbers like “1 20 300” for 321. 322 would be “2 20 300”. To make it worse, the end of them is “random” (a MAC address). So, not monotonic at all because MAC addresses can change. (See here for proposed new formats, where they mention this as a problem https://www.ietf.org/archive/id/draft-peabody-dispatch-new-uuid-format-04.html)
    • Monotonic primary keys are useful because they’re more easily inserted into an index because you’re always inserting into one specific part of the index rather.


















  • No Gradle

    I have such a love hate relationship with Gradle… I forget exactly what but there was something Maven couldn’t do that made me first try Gradle locally. I didn’t use it professionally for so long.

    Now that I am using it professionally, I’m not sure it’s better. Maybe it’s just a case of “grass is always greener on the other side” sort of thing.

    Some of my gripes,

    1. The documentation is almost really useful, but as soon as you have to look at Gradle’s Javadoc it’s a mess.
    2. I like the kotlin stuff better than groovy but a lot of old guides still use groovy and sometimes it is very confusing trying to translate.
    3. Why the hell does IntelliJ Idea Professional version still not give me code hints for Groovy Gradle files???
    4. I love that everything is customizable, but I think slightly more concrete conventions would be useful a lot of times. Or at least documenting the conventions somewhere.
    5. Why is it so hard to get the Maven BOM experience? There’s always fucking edge cases. Plus, why can’t I do it with plugins too?
    6. Why is there no “task tree” by default? Why isn’t this part of Gradle? https://github.com/dorongold/gradle-task-tree
    7. Why the fuck is JPMS so confusing? This is probably not really Gradle’s fault but still.
    8. Why is upgrading the wrapper so complicated? I have to do two invocations and get the version string myself.