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

help-circle



  • Out past the planets is the heliopause, the final boundary between the solar system and interstellar space. Voyager discovered it, but other probes have confirmed it. The radiation and particles emitted by the sun create a pressurized bubble around it, where plasma (energized particles, mostly hydrogen) is much denser than past the heliopause. Cosmic rays are more prevalent outside it.

    I’ve heard it compared to the empty zone around where a sink faucet first hits, creating a little “wall” of water around it as the splashing water pushes back the standing water.

    “Empty” space is anything but. There’s tons of particles and energy flying though it, just not as dense.



  • I made a static site with Hexo a few years back. I thankfully didn’t make any “Get started with Hexo” posts but I did only really use it for a few months. I think that puts me in the cluster with the “switch from Jekyll to Hugo” people. Now it just sits there, absorbing some money every two years for the “personal website tax”.

    Shame too, I constantly think I need to get back to it. Hexo is nice, popular with Chinese users I think. I don’t recall now why I liked it over Jekyll or Hugo, but I’ve always loved an underdog. Once I got the hang of using it, it was very customizable and fun to work with.




  • Codex@lemmy.worldtolinuxmemes@lemmy.worldBackdoors
    link
    fedilink
    arrow-up
    170
    arrow-down
    1
    ·
    3 months ago

    I’ve gotten back into tinkering on a little Rust game project, it has about a dozen dependencies on various math and gamedev libraries. When I go to build (just like with npm in my JavaScript projects) cargo needs to download and build just over 200 projects. 3 of them build and run “install scripts” which are just also rust programs. I know this because my anti-virus flagged each of them and I had to allow them through so my little roguelike would build.

    Like, what are we even suppose to tell “normal people” about security? “Yeah, don’t download files from people you don’t trust and never run executables from the web. How do I install this programming utility? Blindly run code from over 300 people and hope none of them wanted to sneak something malicious in there.”

    I don’t want to go back to the days of hand chisling every routine into bare silicon by hand, but i feel l like there must be a better system we just haven’t devised yet.


  • As a senior at my last big company job, basically all I did was conduct meetings and do PRs. It’s such a grind.

    My opinion now is that most PR is worthless anyway. Most people give, at best, a superficial skim for typos, lack of comments, or other low-hanging replies (that usually, really, a static checker or linter should be dealing with).

    Reading the code base in little chunks like that doesn’t give you proper context for the changes you’re reading. Automated unit and integration tests would be better for catching issues like that, but of course then who is reviewing and verifying the tests? Who’s writing them for that matter?

    Ideally, pair-programming or having extra people on projects to create knowledge redundancy would help. But companies want to replace juniors with AI now, so that’s not looking good. Senior devs and architects might know the major pieces of much of the code, but can they “load it into working memory” sufficiently to do a quality PR that will catch something the tests didn’t and QA wouldn’t? Not in my experience.

    I think the best actually-implementable solution for most teams is to get rid of PR expectations and take a multi-pronged approach to replacing that process.

    1. use tooling to check for and fix basic stuff. Use a linter, adopt a code standard, get a code formatting tool that forced adherence to the standard and run it on every PR.
    2. Unit tests if you got them, start if you don’t. You don’t need 90% code coverage, just make sure critical paths are covered.
    3. Turn one of your useless meetings into a code review session. Each week/sprint, one Very Important Code section is presented by the developer that works on it most or that last changed it. This helps the whole team learn the code base, gets more eyes on the important stuff regularly, and enforces not just a consistent style but a consistent approach to solving and documenting problems.
    4. PR (and the github PR approval stuff or its equivalent for you) should be streamlined but preserved. Do have a second person approve changes before merging, just to double check that tests have finished and passed and all that. If your team is so busy that no one ever approves PRs then allow self-approval and be done with it. This will make regular code review very important for security and stability, since any dev could be misbehaving unseen, but these are the trade-offs you make when burning out your team is more important than quality.




  • I have a deck, a few old laptops that have all gone Linux now, and a windows desktop for gaming. The deck being so good, and Windows 11 being so bad, has nearly convinced me to try Linux on the actual desktop.

    I think there are still a few games and applications (I’m primarily a C# dev for work) that I “need” Windows for but the case for dropping as much MS from my life as possible has never been stronger.



  • I learned debugging (with the VS IDE and .NET tools) on my first job. School never taught me anything about debugging. Certainly not how to use the tools, but more critically never taught me: how to use binary divide techniques to track down which change caused a bug, how to use deductive reasoning to narrow down what can’t be the problem, and even how to carefully read error messages to pinpoint the issue.

    Schools teach theory, and sometimes they teach some versions of practical job skills. But it’s pretty hard for a for-profit educational institution to make good decisions regarding education when students are the product and for-profit businesses are the actual customers. You end up maximizing recruiters’ ideas of what makes a good worker and makes them marketable products, rather than what other working people have experienced as being important job skills. People say software devs need stronger unions but what we really need is to bring back guilds.



  • I hate these posts that start with a huge, preachy paper about how “what you know/do is wrong and bad, there is a new and much better way” and then that new thing is actually the product the author is selling you.

    Especially when they’re about databases because those are practically drawn from a template. “Databases are bad and confusing, every developer eventually learns this. What’s to be done? If only there was another database that promised you everything? Oh, here it is!”

    I also don’t like how they use a Mastodon implementation as a comparison against Twitter. Twitter isn’t bad (on a technical level) because they “chose the wrong database.” Twitter invented a lot of the techniques this person talks about and builds on because when Twitter started they had an entirely different business model and requirements. And, again, none of the other technologies existed yet! A dedicated team could probably reimplement almost any mature company’s tech in a better way because you have the faulty original to use as a guide for what to make and what to avoid, and you have no legacy requirements to constrain your green field rewrite.


  • I have Dex on GOG and really enjoyed it, fun game that reminded me of a somewhat bygone era in 2D gaming.

    Turbo Overkill is a lot of fun, and actually plays a lot more like Doom Eternal than the pixelated games it’s trying to visually emulate. Bonkers story that’s pretty funny as well.

    Hardspace Shipbreakers is maybe more space scifi than cyberpunk, but I think the “you are a worker slave to a corporation, who owns your genetics, and will never allow you to die” angle of the story is pretty intense on the cyberpunk themes! Plus it is a lot of fun to cut up spaceships into scrap! Pretty good discount right now.