• 0 Posts
  • 33 Comments
Joined 11 months ago
cake
Cake day: August 9th, 2023

help-circle

  • That was a pretty interesting read. However, I think it’s attributing correlation and causation a little too strongly. The overall vibe of the article was that developers who use Copilot are writing worse code across the board. I don’t necessarily think this is the case for a few reasons.

    The first is that Copilot is just a tool and just like any tool it can easily be misused. It definitely makes programming accessible to people who it would not have been accessible to before. We have to keep in mind that it is allowing a lot of people who are very new to programming to make massive programs that they otherwise would not have been able to make. It’s also going to be relied on more heavily by those who are newer because it’s a more useful tool to them, but it will also allow them to learn more quickly.

    The second is that they use a graph with an unlabeled y-axis to show an increase in reverts, and then never mention any indication of whether it is raw lines of code or percentage of lines of code. This is a problem because copilot allows people to write a fuck ton more code. Like it legitimately makes me write at least 40% more. Any increase in revisions are simply a function of writing more code. I actually feel like it leads to me reverting a lesser percentage of lines of code because it forces me to reread the code that the AI outputs multiple times to ensure its validity.

    This ultimately comes down to the developer who’s using the AI. It shouldn’t be writing massive complex functions. It’s just an advanced, context-aware autocomplete that happens to save a ton of typing. Sure, you can let it run off and write massive parts of your code base, but that’s akin to hitting the next word suggestion on your phone keyboard a few dozen times and expecting something coherent.

    I don’t see it much differently than when high level languages first became a thing. The introduction of Python allowed a lot of people who would never have written code in their life to immediately jump in and be productive. They both provide accessibility to more people than the tools before them, and I don’t think that’s a bad thing even if there are some negative side effects. Besides, in anything that really matters there should be thorough code reviews and strict standards. If janky AI generated code is getting into production that is a process issue, not a tooling issue.


  • I mean if you have access but are not using Copilot at work you’re just slowing yourself down. It works extremely well for boilerplate/repetitive declarations.

    I’ve been working with third party APIs recently and have written some wrappers around them. Generally by the 3rd method it’s correctly autosuggesting the entire method given only a name, and I can point out mistakes in English or quickly fix them myself. It also makes working in languages I’m not familiar with way easier.

    AI for assistance in programming is one of the most productive uses for it.


  • Not OP, but my main preference for MacOS comes from the UI/UX of an absolute rock solid OS on top of a unix-like shell. I regularly go months without rebooting my machine with 0 issues like software hanging on wake.

    I know there are a lot of exclusive creative apps, but all I really use my MacBook for is code, typical browser stuff, music, slicer/web interface for my 3D printer, and to interact with my home server. I’m not an open-source/Linux purist by any means, but pretty much all the software I use is widely available on all platforms. It probably helps that I bought a MacBook after growing up with Windows/Linux, so I came into it with a set of software I was familiar with that already existed on other platforms.


  • I’m forever grateful to have been on Kaiser my entire life, and that all my employers have had it as an option.

    It’s expensive up front (~$5k per year, my employer covers it thankfully) but the most I’ll ever pay per year out of pocket is $1500. Office visit/urgent care is $10, ER is $100 and waived if you’re admitted, prescriptions are $20, and the most expensive surgery I could get is $150 which includes the hospital stay if needed. My partner got sterilized for like $35. The biggest thing for me is my therapy is free so long as it is virtual (my therapist is 4 hours away by car anyway), and $10 for an in person visit if I make the hike.

    It’s absolutely wild how much one’s experience can vary with the healthcare system in the US based on their insurer alone.






  • Eh, it’s really not that much money to get a half decent set. Learn to sharpen/hone a knife and learn how to use a knife properly and you can make even cheap knives last basically forever. Babish has a <$100 knife set that’s serviceable as a professional set.

    I’m very into cooking and have a $700 set of Wüsthof knives and they’re awesome to use, but 100% unnecessary. They’d be no better than a dollar store knife if I didn’t learn to take care of them. So many people drag knife edges sideways on cutting boards, cut on improper surfaces, cut in ways that dull the edge quickly, and then throw them in the dishwasher. Then after a year of not sharpening them replace them for more than the cost of a good sharpener.

    With proper care/use and almost daily cooking I sharpen my chef’s knife once a month, and my other knives once every few months. For $50 you can get a sharpening system with a guide that makes it almost impossible to fuck up and you’ll never pay for knives again.


  • Just because you’re not writing high performance software doesn’t mean it shouldn’t be a consideration. Sure, I’m not gonna micro-optimize memory when I’m writing an API in Python, but that doesn’t mean I’m not going to write it efficiently.

    If I have to store and then do lookups on some structured data I’m gonna use a hash table to store it instead of an array. If I need to contact a DB multiple times I’m only gonna close my connection after the last query. None of this is particularly difficult, but knowing when to use certain DSA principles efficiently falls pretty firmly into the computer science realm.

    If you need someone to hyper-optimize some computations then a mathematician might be a better bet, but even those problems are rarely mathematician level difficult. Generally software engineers have taken multivariate calculus/differential equations/linear algebra, so we’re decently well versed in math. Doesn’t mean we don’t hate the one time a year we have to pull out some gradients or matrices though.



  • As I’ve progressed from my early to mid 20s this is something I’ve really tried to focus on.

    I was extremely reactive and volatile emotionally, and a single thing could fuck up my entire day. Between my brain doing its last bit of developing, and getting a hold of my generalized anxiety disorder and depressive disorder through therapy, I’ve gone from, “this fucking sucks” before having break downs in the worst case to, “I can feel bad once it’s fixed, but it’s gotta be fixed first”.

    This is definitely a healthier mindset, but I catch myself trying to fix things that just can’t be fixed. Sometimes you just gotta let go, so that’s been my focus recently. It’s hard, but I think recognizing it has been a great first step.


  • It’s ironic but makes complete sense if we’re assuming they blocked the VPN server IP.

    Say I’m a malicious user who’s using VPN server #22 from ProtonVPN (my personal favorite provider). The victim (CR in this case) isn’t going to see they’re being attacked by someone on VPN server #22 from ProtonVPN, they’re going to see the IP of that server and nothing else.

    It really doesn’t matter if they did have that information because no human will be involved. The traffic will be marked as malicious and blocked by some software designed to monitor, identify, and block traffic that looks malicious. This is almost always done based on IP. It’s usually reversed in a few days though because IP addresses change frequently, so there’s no sense in continuing to block traffic from an IP you can’t guarantee belongs to the original attacker.


  • There are levels to it. As things get more complex the problems get infinitely more strange. As you learn a particular technology the strange things you encounter are often because of a misunderstanding about that technology or the way it works.

    Once you hit professional level software engineering (think distributed systems), things are strange in large part because the system you’re working on has hundreds of thousands of man hours poured into it, and is often very complex with 10 different technologies backing it to do various things.

    The more strange things you encounter though the more you’re learning!




  • This is a super interesting question!

    For me IDK if any amount of money would significantly improve my life. I’m not terribly materialistic and I’m happy with what I have/don’t feel like I immediately want or am missing something. I make good money and stash as much as possible while still enjoying nights out with friends and buying whatever I want.

    I’m currently saving up a quarter million for a house down payment, and while it’s a lot of money my quality of life/overall happiness would be the same so I wouldn’t call the change significant. Things are really good in my life for once, and it’s nice to be able to recognize that. Thanks for the question it actually made me really happy to think about how lucky I am.

    I hope others in this thread who need it can find some fortune in their future.



  • I’ve had the opposite experience at my past and current job.

    I’ve always been given the choice of Windows or MacOS, with a remote Linux machine available if needed (first job I ran remote IDEs on it, second job I’ve gone full local development). Same with IDEs. As long as I was able to properly write and test code it did not matter what I used as both companies had licenses for the top IDEs (JetBrains suite, Visual Studio, etc.), and would buy one-offs if you wanted to use something else. There was always a general team convention simply due to ease of use, but I occasionally opted for a heavily modified VSCode workspace over PyCharm and the like.