• 1 Post
  • 41 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.



  • I, like most of the millenial lemmings it seems, am not shocked about this. I remember what Dubya said as president, the daily evils. I would have never thought it could get worse and then we got Trump, and I think it all does echoes out from 9/11. If there are future historians, 9/11 is going to be the pivot that this entire century stumbles over, probably leading directly to WW3 any day now.

    But when I see articles like this, (in the Atlantic ofc, always this one or the NYT) my nostrils fill up with the smell of consent being manufactured. Has the shadow council decided that we shall war with the Saudis now? With Russia and China just flat-out taking land now, has the US decided to extend it’s “protection” more directly over a few strategic areas?


  • But then I decided, I wrote my own solution, a thing of 1,600 lines of code, which is, yeah, it’s like thousands of times less than the competition.

    And it works. It’s very popular. … I got 100 emails from people saying that it’s so nice that someone wrote a small piece of software that is robust, does not have dependencies, you know how it works.

    But the depressing thing is, some of the security people in the field, they thought it was a lovely challenge to audit my 1,600 lines of code. And they were very welcome to do that, of course. And they found three major vulnerabilities in there.

    He makes a ton of excellent points, but the succinct impact of this little example really hit for me. As someone who often rewrites things so that I can both understand and fully trust in what I’m depending on, it’s always good to be reminded that you literally can’t write 500 lines of code without a good chance of introducing a major vulnerability.

    The tech stack is so dizzyingly high today, and with so many interlocking parts, it continually amazes me that anything at all functions even in the absence of hostile actors.






  • 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.


  • Software devs for a long time would discuss “green field” development, which is a metaphor from constructing a building in an empty field: you start from nothing, and build all new. Most software devs prefer to write new code rather than try to learn the quirks and nuances of a large, already-existing pile of code, so “green field” is considered both desirable and often practically unattainable.

    “Blue sky” is a similar concept but loftier. It isn’t just that you have an empty field waiting for you, you’ve got the infitie expanse of the clear blue sky: endless possibilities, unlimited creativity, etc. “Blue sky development” as a metaphor I think comes from designers, product managers, and other software-dev adjacent fields. It means thinking of ideas that are out of the box and unconstrained by historical limits.

    That’s why everything is named that: execs and marketers love that kind of hollow promise. That anything is possible even though actually they’re almost always just clones of existing things whose greatest innovation is to loudly proclaim how new and innovative you are.




  • We kind of don’t?

    One of the basic axioms (that is, assumptions) of cosmology and physics is that the rules are the same everywhere. We see a big ball of burning gas in the center of our system. We have observations of other bright lights that appear to also be balls of hot gas. Our continued observations fit with predictions we can make, predictions based on our observations and codification of the rules of physics and chemistry and so on. We assume that all these big balls of gas operate on the same principles.

    There’s also a general assumption that the rules don’t change over time. That axiom doesn’t fit with what we can observe about the earliest universe, so there are many theories on why physics seemed to work differently in the very first moments of the universe. Likewise, other observations that don’t quite fit those assumptions have led to ideas like dark energy and various theories of quantum gravity.

    If those assumptions were extremely wrong, say the universe outside our solar bubble actually obeys totally different laws, and our observations have been misinterpreted, then we’d have no way to know. We need some observation that contradicts our previous observations in order to formulate new theories on why. It’s similar to a simulation argument: maybe god aliens or time beings or super AI or Satan have engineered a fake universe to trick us, but without some true observation that grounds our theories in the repeatable, it’s pointless to speculate because almost anything could be true. We have to build theories on what is repeatedly observed.