• 0 Posts
  • 39 Comments
Joined 2 years ago
cake
Cake day: January 28th, 2023

help-circle

  • If you don’t already, use version control (git or otherwise) and try to write useful messages for yourself. 99% of the time, you won’t need them, but you’ll be thankful that 1% of the time. I’ve seen database engineers hack something together without version control and, honestly, they’d have looked far more professional if we could see recent changes when something goes wrong. It’s also great to be able to revert back to a known good state.

    Also, consider writing unit tests to prove your code does what you think it does. This is sometimes more useful for code you’ll use over and over, but you might find it helpful in complicated sections where your understanding isn’t great. Does the function output what it should or not? Start from some trivial cases and go from there.

    Lastly, what’s the nature of the code? As a developer, I have to live with my decisions for years (unless I switch jobs.) I need it to be maintainable and reusable. I also need to demonstrate this consideration to colleagues. That makes classes and modules extremely useful. If you’re frequently writing throwaway code for one-off analyses, those concepts might not be useful for you at all. I’d then focus more on correctness (tests) and efficiency. You might find your analyses can be performed far quicker if you have good knowledge about data structures and algorithms and apply them well. I’ve personally reworked code written by coworkers to be 10x more efficient with clever usage of data structures. It might be a better use of your time than learning abstractions we use for large, long-term applications.






  • obscure corporate jargon like KPIs (key performance indicators), KRIs (key risk indicators) which, after having thrown them at me during an interview for a college intern position, made the interviewer wonder why i got so flustered. i would hesitate to throw any acronyms around in any interview, let alone for a college student.

    by the way, i got the internship. the acronyms weren’t even used in my position.



  • A decent blender. Not anything industrial like a Vitamix, it’s a Magimix which was about half as much but still durable and has replaceable parts. It’s fine for what I need and is lasting much longer than the pile of crap I had before.

    Vacuum pack bags for clothes is another one. I like to keep my wardrobe seasonal but I don’t have much space, so packing it down helps.

    Also anything reusable: PTFE/silicone baking sheets, rechargeable batteries, reloadable floss handles. All of these have saved recurring purchases, money over time and reduced waste (which made me feel good.)


  • catacomb@beehaw.orgtoProgrammer Humor@programming.devme_irl
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 years ago

    To be honest, I agree they should be able to be larger at times.

    I had a lot of disagreements when I was on a new codebase, knew what I was doing and I was able to push a lot of code out each day.

    The idea is to have them small, easily readable with a tight feedback loop. I argued that bootstrapping a project will have a lot of new code at once to lay the foundations and my communication with the team was enough feedback. If I split it up, each PR would have been an incomplete idea and would have garnered a bunch of unnecessary questions.

    That said, I think it’s generally pretty easy to put out multiple PRs in a day, keeping them small and specific. As you say, half of the job is reading code and it’s nicer to give my coworkers a set of PRs broken down into bite sized pieces.








  • Absoutely. I mostly use Firefox because I’m so familiar with it by now but the privacy is generally much better and it doesn’t have a massive monopoly on the web. I’m just a lot more comfortable with it.

    When I have to, I use ungoogled-chromium on desktop and Bromite on mobile. I recommend those to anyone familiar with Chrome.




  • These two form a “mesh VPN” which use direct encrypted links between any number of devices. You can think of it as forming a virtual LAN where you can communicate with devices, including open ports. A lot of them have clever tricks to overcome CG-NATs, which you seem to be struggling with.

    Another option is to just rent a server. You can get massive storage space for less than some VPNs cost and you don’t need powerful hardware if your device supports the codecs you’re using. You could even get a cheapy VPS and reverse proxy to your Jellyfin server through an SSH tunnel or similar. Lots of options here.