• 1 Post
  • 1.07K Comments
Joined 2 years ago
cake
Cake day: July 3rd, 2023

help-circle
  • I’ve seen some garbage slide through code reviews. Most people don’t do them well.

    I’m doing contract work at a big multinational company, and I saw a syntax error slide through code review the other day. Just, like, too many parenthesis, the function literally wouldn’t work. (No, they don’t have automated unit tests or CI/CD. Yes, that’s insane. No, I don’t have any power to fix that, but I am trying anyway). It’s not hard to imagine something more subtle like a memory leak getting through.

    In my experience, people don’t want to say “I think this is all a bad idea” if you have a large code review. A couple years ago, a guy went off and wrote a whole DSL for a task. Technically, it’s pretty impressive. It was, however, in my opinion, wholly unnecessary for the task at hand. I objected to this and suggested we stick with the serviceable, supported, and interoperable approach we had. The team decided to just move forward with his solution, because he’d spent time on it and it was ready to go. So I can definitely see a bunch of people not wanting to make waves and just signing off on something big.


  • Python.

    • It’s pretty easy to get going.
    • the debugger is very good. Being able to put a breakpoint and interactively fuss with it is so much better than print statements and crying
    • you can (and should) use type annotations, but they are optional
    • it’s on most machines already, but you don’t want to fuck with the system install of it. On Linux and Mac you can use pyenv or similar if the system came with a version you can’t use. (Don’t teach anyone python 2.)
    • the standard library is very good.

    You could also do JavaScript, as that’ll work on any modern browser. However, JavaScript is a deeply cursed language. It’s really bad at like every level.

    I don’t recommend it unless your top priority is “it is definitely available everywhere” and “these are future web developers”.















  • I’ve been pushing to add some basic checks on PR, and people are reluctant. There’s one repo that I’m code owner on so I spent the like 15 minutes to apply a code formatter and add a GitHub action to check. But on the main repo people are dragging their heels. I’m like just pick ruff or black and do it. It’s going to take like 10 minutes. I’m not asking for us to go crazy and add automated tests right now, but can we at least get something to verify the python code is syntactically correct?

    The other day something went through code review until I looked at it and saw there was an extra (, and that shit wouldn’t even run. I’m like please please add an automated check. I’ll do it. Please.

    I think a lot of people just aren’t familiar with how other places do software. This is the same place that was ssh’ing into prod and making changes right on the machine until like this month.



  • Mostly specific to online dating, but: People who dead end a conversation. Like, their profile says they love the author NK Jemisen. I write, “oh, I love her books! Did you read The City We Became? It’s a total love letter to the city”.

    They response with, “no”.

    Friend, that’s not an effective way to play this game.

    If you are not interested in dating, just unmatch. Maybe you swiped by accident or when drunk. I don’t care. I’m not going to remember.

    If you are interested in dating, you should put some effort in. If you don’t throw the ball back, you look like you’re either uninterested or incapable. I don’t want to date someone who’s not interested, nor someone who can’t carry a conversation.

    You might be thinking, “Well they asked a yes/no question and I answered as such”. Technically true, but not productive. What do you expect them to do? Ask another first-message-tier question? This isn’t supposed to be a one sided interview like you’re applying for a job. You’re supposed to be a full participant. Ask a question (preferably related to the topic). Or, if you’re not interested anymore, unmatch.

    You might also be thinking, “well I don’t have time for a whole conversation right now”. Ok. Do you ever have time? If not, delete the app because you don’t have time to date. If you do, answer when you have time. These things are asynchronous. If you’re afraid you’re going to forget, I don’t know man write yourself a note. That’s a life management problem outside the scope of dating advice.

    This whole thing peeves me because it feels like people want “banter” and witty conversation, but they don’t want to do their half of it. They want to be passively entertained, but this isn’t some podcast you can listen to when dozing. These are (hopefully) real people looking for connection.

    My therapist told me that people have different styles of communication and that’s okay. Maybe some people would be happy where their conversations are no deeper than “Did you hear the new slothrust album?” “No”. Doesn’t seem like an effective way to get to know someone to me.



  • I’m kind of bummed no one at my job really does code reviews seriously. I don’t really get any feedback, so it’s hard to improve.

    That’s also probably why the older code is an idiosyncratic mess of mutations and "oh yeah you need this config file that’s not in source control " and “oh sorry I guess I hard coded that file path, huh?”