• 9 Posts
  • 274 Comments
Joined 1 year ago
cake
Cake day: June 23rd, 2023

help-circle

  • I haven’t used json(b) in a Spring app, so I can’t say much about that.

    Json vs Jsonb depends on the use-case. Inserting json is faster than inserting Jsonb. Reading json (based on searching for specific json properties) Jsonb is faster, because Jsonb is parsed into a more optimized tree.

    From my experience, I don’t really like doing selects based on json properties. If I know I’ll be selecting a certain property, I usually add an additional column next to the json with the data, and insert that property there (At least in c#/dotnet, with EF) The frameworks don’t have that much support for selecting within json (you can do it, it’s just a lot more natively supported to use proper columns)


  • I’m not entirely sure what you hope to achieve: have a GPG encrypted subject, and have ThunderBird automatically understand that it’s encrypted, so it can be automatically decrypted?

    Since you’re saying you’re building software to support this, what are you building? A ThunderBird plugin that can do this? Or just standalone software that you want to make compatible with ThunderBird default way of handling encryption?




  • It gives an example:

    For example, with the phrase “My favorite tropical fruits are __.” The LLM might start completing the sentence with the tokens “mango,” “lychee,” “papaya,” or “durian,” and each token is given a probability score. When there’s a range of different tokens to choose from, SynthID can adjust the probability score of each predicted token, in cases where it won’t compromise the quality, accuracy and creativity of the output.

    So I suppose with a larger text, if all lists of things are “LLM Sorted”, it’s an indicator.

    That’s probably not the only thing, if it can detect a bunch of these indicators, there’s a higher likelihood it’s LLM text


  • Having to pass in null values seems a bit weird. You can define functions and optional parameters like this:

    function myFunction(a = 1, b = 1, c = null, d = null, e = true) {
      return a * b;
    }
    

    Then people don’t have to call your function with

    myLibrary.myFunction(1, 7, null, null, true);
    

    they just call your library with

    myLibrary.myFunction(1, 7);
    

    You could add a default inside the method signature, like:

    function myFunction(a = 1, b = 1, c = null, d = null, e = true) {
      if (c === null) {
        c = 5;
      }
      return a * b * c;
    }
    

    because if you define it in the method:

    function myFunction(a = 1, b = 1, c = 5, d = null, e = true) {
      return a * b * c;
    }
    

    then if people still call it with

    console.log(myFunction(5, 2, null));
    

    Then the default c = 5 is overwritten by null, and results in 0.

    I don’t know if you really need to handle all that though, instead of just doing c = 5 - if people intentionally call your library with null, and things go wrong…? well yea ok, don’t do that then.

    But it depends on the use-case. If this is some method deep within a library, and some other calling method might be unintentionally dumping null into it, you could default it inside the method, and handle it



  • Since others already suggested mostly on-topic suggests, here’s an alternative suggestion:

    Instead of looking specifically for a mentor - look for an open source project that you can help with. Ideally one with a discord or something to it’s easy to be in contact the the lead dev. A lot people don’t mind mentoring juniors, but in my experience it doesn’t happens that explicitly - “be my mentor” - and it might sound like you’re asking them a lot.

    If you invert it into “Hey I wanna help you with your open-source project, but I don’t really know what to do, what your expectations are, how to implement a specific feature” - then you’re offering to do work them, instead of asking for something. And implicitly you’ll get mentorship in return.

    And “real” projects probably also look better on your github / portfolio than only some dummy projects for learning purposes










  • It’s more the fault of the implementation and documentation.

    Yea sure. Though it’s slightly XMLs fault for allowing that kinda implementations. Every random thing is in it’s own obscure namespace with 20 levels of nested objects in different namespaces, and if you get anything wrong it barely explains what’s wrong, and just refuses to work.

    It’s mostly WCFs fault. I just automatically associate XML with nightmare flashbacks of implementing WCF stuff




  • Omg it’s sooo daammmn slooow it takes around 30 seconds to bulk - insert 15000 rows

    Do you have any measurements on how long it takes when you just ‘do it raw’? Like trying to do the same insert though SQL Server Management Studio or something?

    Because to me it’s not really clear what’s slow. Like you’re complaining specifically about the Microsoft ODBC driver - but do you base that on anything? Can you insert faster from Linux or through other means?

    Like if it’s just ‘always slow’ it might just be the SQL Server. If you can better pinpoint when it’s slow, and when it’s fast(er) that probably helps to tell how to speed it up