• 0 Posts
  • 31 Comments
Joined 1 year ago
cake
Cake day: July 10th, 2023

help-circle



  • The real example of a health check trait really brings this issue to life, it’s linked within op’s article as well

    Is this a reasonable summary?

    Say you want a trait where a method returns a task that you would like to sometimes run within your own thread and sometimes move it to a separate thread to be executed, that means the Send constraint isn’t necessary to add to your trait but it would be nice to add that constraint within another method’s parameter definition so that it can accept structs that implement the trait and further constrain that implementation to be Send’able. That’s now possible with this new rust language feature, though it was previously possible through a crate, now it’s no longer needed.







  • I explained a little about buffer overflows, but in essence programming is the act of making a fancy list of commands for your computer to run one after the other.

    One concept in programming is an “array” or list of things, sometimes in languages like C the developer is responsible for keeping track of how many items are in a list. When that program accepts info from other programs (like a chat message, video call, website to render, etx) in the form of an array sometimes the sender can send more info than the developer expected to receive.

    When that extra info is received it can actually modify the fancy list of commands in such a way that the data itself is run directly on the computer instead of what the developer originally intended.

    Bad guy sends too much data, at the end of the data are secret instructions to install a new program that watches every key you type on your keyboard and send that info to the bad guy.


  • There is a ton of literature out there, but in a few words:

    Rust is built from the ground up with the intention of being safe, and fast. There are a bunch of things you can do when programming that are technically fine but often cause errors. Rust builds on decades of understanding of best practices and forces the developer to follow them. It can be frustrating at first but being forced to use best practices is actually a huge boon to the whole community.

    C is a language that lets the developer do whatever the heck they want as long as it’s technically possible. “Dereferencing pointer 0?” No problem boss. C is fast but there are many many pitfalls and mildly incorrect code can cause significant problems, buffer overflows for example can open your system to bad actors sending information packets to the program and cause your computer to do whatever the bad actor wants. You can technically write code with that problem in both c and rust, but rust has guardrails that keep you out of trouble.





  • None of us are in your shoes so it’s really tough to say what your coworkers’ motivations are, but at the end of the day you are yourself, you are in charge of your mental and physical well-being. When someone else does something minor and it affects you strongly it’s time to stop thinking about them and start thinking about what’s happening in your own body.

    Unfortunately your emotions, like being offended, aren’t entirely in your control. There are a lot of brain connections rustling around up in your noggin that don’t pass through the filter of your consciousness.

    The best advice I can offer is to redirect yourself when you start to get offended. Pick a favorite topic, something that you like to think about often, and “switch” to it when you feel yourself getting triggered.

    As for how you should act when you aren’t greeted directly? I see no reason for you to change your behavior, just act as though nothing happened, because nothing did happen


  • No, I live here.

    I hate

    • religious zealotry
    • massive dichotomy in polotical ideologies
    • identity politics
    • warmongering
    • brainwashing (pledge of allegiance?!)
    • poor treatment of poor and homeless
    • prison complex
    • poor education system
    • incredibly expensive healthcare
    • terrible zoning laws and car centricity
    • hiroshima, native genocide, iraq, and so many more. The US has shed so much blood and terror inflicted on the world population
    • world police, vigilante, the US is basically every bad movie villian in country form
    • regressing views on women’s rights
    • the history of slavery




  • Plenty of anecdotes out there, you’ll find people with every kind of experience. Don’t stress too much, the job itself depends entirely on the team, product, and industry.

    I work in a tucked away industry highly specialized in some random sector of manufacturing and service. I’ve worked at three different companies in the same sector and each was wildly different. In general programming in a professional setting causes a tremendous shift in the way you program no matter where you go.

    The things you focus on in a team are: how can I make this code resilient so none of my teammates can screw it up, readable so anyone can understand, and runnable so after every iteration it will function.

    Your style conventions and preferred way of programming may have to shift to accommodate working with others. No more super cool but impossible to read functions, no more 70 layer deep polymorphic chains, no more random spacing and inconsistent brackets.

    Programming professionally comes in different flavors. Young startups need hard hitting fast develpers who type 150wpm and munch through requests like nothing, leaving a trail of tech debt and bugs behind but getting the product to mvp status. Established companies need methodical, measured programmers who think through the consequences of their actions and write code that will stand the test of time, programmers who don’t say “we should just remake the whole thing” every tuesday.

    I’ve been programming professionally for about a decade and can confidently say I would be pleased to stay in the career for the rest of my life. I am not confident that the precise job I have today will even be available in that timeframe because there have been amazing leaps in technology that convert business logic into code, see copilot’s new workspace product.

    Go for it, if you find a business that feels like a bad fit move on. Plenty of businesses are itching for competent developers.