• 0 Posts
  • 15 Comments
Joined 1 year ago
cake
Cake day: October 9th, 2023

help-circle
  • It’s a glorified autocorrect. Using it for anything else and expecting magic is an interesting idea. I’m not sure what folks are expecting there.

    • It suggests variables and function names I was already going to type more accurately. Better, it suggests ones even when I cannot remember the name because i got stumped trying to remember.
    • It fills in basic control structures and functions more effectively than the IDE’s completion templates.
    • It provides a decent starting point for both comments and documentation (the hard part). Meaning my code actually has comments and documentation. Regularly!

    But I don’t ask it to explain things or generate algorithms willy nilly. I don’t expect or try to have it do something that’s not more than simply auto-completion.

    I honestly like it, even if I strongly dislike the use of AI elsewhere. It’s working in this area for me.


  • Quite literally my first thought. Great, but I can’t issue certs against that.

    One of the major reasons I have a domain name is so that I can issue certs that just work against any and all devices. For resources on my network. Home or work, some thing.

    To folks recommending a private CA, that’s a quick way to some serious frustration. For some arguably good reasons. On some devices I could easily add a CA to, others are annoying or downright bullshit, and yet others are pretty much impossible. Then that last set that’s the most persnickety, guests, where it’d be downright rude!

    Being able to issue public certs is easily is great! I don’t use .local much because if it’s worth naming, it’s worth securing.




  • I’m going to try to help explain this, but i’ll be honest it feels like you’re coming from a place of frustration. I’m sorry about that, take a break :)

    (I’m not a language expert, but here goes)

    var test int < bruh what? :=

    These are the two forms of variable declaration and the second one is a declaration and initialization short hand. I most commonly use :=. For instance:

    foo := 1 // it's an int!
    var bar uint16 // variable will be assigned the zero value for unit16 which is unsurprisingly, 0.
    

    func(u User) hi () { … } Where is the return type and why calling this fct doesnt require passing the u parameter but rather u.hi().

    This has no return type because it returns no values. It does not require passing u. It’s a method on the User type, specifically u User is a method receiver. You might think of this akin to self or this variable in other languages. By convention it is a singke character of the type’s name.

    If that function returned a value it might look like:

    func(u User) hi() string {
        return "hi!"
    }
    

    map := map[string] int {} < wtf

    This is confusing because of how it’s written. But the intent is to have a map (aka dictionary or hashmap) with string keys and int values. In your example it’s initializd to have no entries, the {}. Let me rewrite this a different way:

    ages := map[string]int{
        "Alice": 38,
        "Bob": 37,
    }
    

    Hope this helps. In all honesty, Go’s language is very simple and actually rather clear. There’s definitely some funny bits, but these aren’t it. Take a break, come back to it later. It’s hard to learn if you are frustrated.

    I also recommend doing the Tour of Go here. My engineers who found Go intimidating found it very accessible and helped them get through the learning code (as there is with any language).

    Good luck (I’m on mobile and didn’t check my syntax, hopefully my code works 😎)





  • My issue with FF’s auto update is that the behavior is how painfully the auto-update works with multiple profiles.

    I’ll have one window (well three) open for some (measurable in days) time.

    1. FF updates silently, I haven’t restarted my browser so I haven’t noticed.
    2. I go to open a session in the second (or third profiles)
    3. FF decides now is a great time to apply the update, after all it just opened right?
    4. All the existing open browsing sessions in the other profiles get bricked. The tabs just stop responding, no browsing works, just dead in the water.

    I have to shut it (all?) down to get it working again.

    I don’t know how Chrome handles this so I cannot compare. TBH still worth using FF over that adware!





  • Yeeap. My FreeBSD box has such pain with 'em. Because unfortunately *bsd is not in Python’s precompiled wheels. So one is almost building from the source.

    Now every time I pip install something there’s a high likelihood I’m going to end up having to install the rust tool chain and burn so much time on building libraries. I get why the project made the switch, but man does it hurt being downstream of it.


  • Every time I see a project decide to use rust I groan knowing my build/packaging time is about to skyrocket. Case in point, the Python cryptography project.

    And given cryptography’s importance in the Python ecosystem what used to be an easy pip install of a package now almost always going to include is an enormous and horribly slow rust build environment.

    Seeing a rust libraryjust makes me sad now 😭