• 1 Post
  • 44 Comments
Joined 1 year ago
cake
Cake day: March 24th, 2024

help-circle
  • bpev@lemmy.worldtoMemes@sopuli.xyzCan't fathom it
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    30 days ago

    fwiw that’s actually why I think I’m healthier when I have those meal replacement shakes in the house somewhere. People always are like “ew why would you replace meals with that?”. But they actually don’t. They replace NOT having meals. Because when I have that “one more thing to do”, if don’t eat something super low effort right when I think about it, I’m just gonna power through and forget again.




  • So this is *mathematically correct, but practically not really. Let me give you a longer (but still simplified) answer. There’s essentially two things here that are different:

    1. Does a longer password make your password more difficult to guess? (always yes)
    2. Does a longer password make accessing the content it protects more difficult (yes, to a certain point).

    The reason for #2 in digital systems is because of hashing, which is used to protect your password in the case of a data breach. Essentially, you can think of a hashing algorithm as a one-way algorithm that takes an input, and then always returns the same output for that input. One-way here means that you can’t use the hashed output to reverse-engineer the originally inputted password (you can’t unhash a hashbrown into the original potato 🥔). This is why if someone hacks Facebook, they don’t necessarily have your Facebook password; Facebook never saves your actual password anywhere. To login, the website hashes your password input, and compares it against the hash that they saved from your original password creation.

    Usually, the result of these algorithms is saved as a fixed-length string of characters. And so your data is mathematically not more safe if you exceed this length, since a random password combination can theoretically resolve to the same value as your super-long-password. This would depend on the algorithm being used / data being stored, but for example, bcrypt outputs a 184-bit hash (often represented as a 60-character string). So mathematically, your password is not more secure beyond 60 characters.

    However in practice, this is a non-issue, because I think that basically the only way that collisions like this are useful are for brute-forcing a password? And the chance of a password collision in this way is something like 1027-or-28 (being hit by lightning every day for 10,000 years)? The much easier solution for gaining access is to get your actual password. So if your password being longer makes it harder for people to guess, I’d say that adding security by way of #1 is still extremely valid.



  • I would say deep thinking work, I average around 3-4 hours, but range between 0-8 hours. Like if I really feel in zone, it’s easy to go hard, but if I didn’t sleep well, or had too much caffeine, or didn’t eat enough, it’s just joever. I think months of grinding is possible with the right motivation, but I find that trying to force that motivation is pretty hard; I think that’s often more environment-based, rather than solely individual effort (ala being in a class of very motivated individuals)

    The important part for me is trying to start every day (or whatever your schedule is), because it can be hard to know how well I’ll concentrate until I try for 30 minutes or so. And consistency over a long period of time is key.

    edit: oh, fwiw, specifically for Chinese, I have been building this recently… although it’s not done yet. https://hanzi.bpev.me/





  • bpev@lemmy.worldtoMemes@sopuli.xyzExcellent tip
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I have been using Graphene until last month (temporarily off it because my phone picked a fight with a rock and lost). So just going off memory. But compatibility is in a much better place these days. I don’t recall having had any compatibility issues besides banking apps and “pay with phone nfc” over the last few years.






  • bpev@lemmy.worldtoTechnology@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    3 months ago

    Mmm it sounds like you’re using it in a very different way to me; by the time I’m using an LLM, I generally have way more than a general feel for what I’m looking for. People rag on ai for being a “fancy autocomplete”, but that’s literally what I like to use it for. I’ll feed it a detailed spec for what I need, give it a skeleton function with type definitions, and tell the ai to fill it in. It generally fills in basic functions pretty well with that level of definition (ymmv depending on the scope of the function).

    This lets me focus more on the code design/structure and validation, while the ai handles a decent amount of grunt work. And if it does a bad job, I would have written the spec and skeleton anyways, so it’s more like bonus if it works. It’s also very good at imitation, so it can help to avoid double-work with similar functionalities.

    Kind of shortened/naive example of how I use:

    /* Example of another db update function within the app */
    /* UnifiedEventUpdate and UnifiedEvent type definitions */
    

    Help me fill in this function

    /// Updates event properties, and children:
    ///   - If `event.updated` is newer than existing, update as normal
    ///   - If `event.updated` is older than existing, error
    ///   - If no `event.updated` is provided, assume updated to be now()
    /// For updating Content(s):
    ///   - If `content.id` exists, update the existing content
    ///   - If `content.id` does not exist, create a new content
    ///   - If an existing content isn't present, delete the content
    pub fn update_event(
        conn: &mut Conn,
        event: UnifiedEventUpdate,
    ) -> Result<UnifiedEvent, Error> {
    

  • bpev@lemmy.worldtoTechnology@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    3 months ago

    100%. As a solo dev who used to work corporate, I compare it to having a jr engineer who completes every task instantly. If you give it something well-documented and not too complex, it’ll be perfect. If you give it something more complex or newer tech, it could work, but may have some mistakes or unadvised shortcuts.

    I’ve also found it pretty good for when a dependency I’m evaluating has shit documentation. Not always correct, but sometimes it’ll spit out some apis I didn’t notice.

    Edit: Oh also I should mention, I’ve found TDD is pretty good with ai. Since I’m building the tests anyways, it can often give the ai a good description of what you’re looking for, and save some time.


  • fyi you can also purchase music from the qobuz website, and they let you stream/download purchased music from their app without a subscription. So if you only want to support certain artists, that could be a way? I think they don’t have as much niche content as bandcamp, though; the way they populate their content is much more akin to the other mainstream streaming services, so it’s not quite as easy/direct for artists to add content.


  • Reminds me, Malcom Gladwell’s “Outliers” book had a section about his interesting observation that pro hockey players’ birthdays are skewed to the earlier months of the year. He attributed that to a kind of butterfly effect:

    1. Youth hockey leagues set league cutoffs by age, and mostly all start at the same time.
    2. The early month kids are slightly older, bigger, and stronger
    3. Since they are better at the very beginning, they get more playing time, more encouragement, maybe visit more “all-star” events, where they might get extra coaching, etc.
    4. eventually those kids actually just become better, because they had a better environment to grow.

    I mean idk how accurate this exact instance is, but I feel it’s a good thought experiment in thinking of how seemingly insignificant parts of the environment (like when in the year all the youth hockey leagues start) can impact whatever talent is. The whole nature vs nurture thing.