Just a basic programmer living in California

  • 3 Posts
  • 82 Comments
Joined 9 months ago
cake
Cake day: February 23rd, 2024

help-circle



  • I lived in Grenada for a couple of years. It’s a chill, safe place. I had my family there and we always felt safe, as long as we kept an eye out for speeding buses when crossing the street. It certainly checks the boxes you specified. Night life is limited. I’m planning to go back for a vacation in February.

    As I recall there is a time of year that gets very windy. I think that’s in winter, but my memory is fuzzy. The internet says February is the windiest, and that matches some of my memories. In any case it’s always warm. I wouldn’t worry about rain. That’s tapered off by December. If it does rain it’s a warm rain, and it’s likely to come in short showers so I don’t think you’d be stuck inside all day.

    If you want to be in walking distance to amenities I’d recommend staying near Grand Anse. You can also get public buses there. (They are actually vans.) There are resorts close to the airport, but in those places you’d be dependent on taxis to get away from the resort - which might be fine if you want to be somewhere quieter.



  • When I researched this previously I concluded that there are two very good options for regular backups: Borg and Restic. These are especially efficient at backing up a diff of what has changed since the last backup. So you get snapshots of your filesystem state at each backup point without using a huge amount of space. You can mount any snapshot as a virtual directory. After the initial backup, incremental backups take a minute or two.

    I use Borg, and I back up to cloud storage on Borgbase. I use Vorta as a GUI for Borg. I have Vorta start automatically when I start my window manager, and I have it set up for daily backups. I set up the same thing on my kid’s computer.

    I back up my home directory. I have some excluded directories like ~/.cache, and Steam’s data directory. I use Baobab to find large directories that I don’t want backed up.

    I use the “exclude caches” option in the Borg “create archive” settings. That automatically excludes Rust target/ directories because they follow the Cache Directory Tagging Specification. Not all programming languages’ tooling follows that spec so I also use directory name pattern excludes. For example I have an exclude pattern for .*/node_modules/.*

    I use NixOS, and I keep my system config in a git repo so I don’t need backups for anything outside my home directory.






  • Probably not very similar, but Git Butler is very interesting. It adds its own layer of management so that you can have multiple branches “applied” to your working tree simultaneously. It’s helpful when you have multiple changes that should go into different branches, and some that shouldn’t be committed - it has a system of lanes that help keep track of all that. Or you can test how changes from two branches interact.

    Last time I used it, maybe 6 months ago, it was rough around the edges so I didn’t stick with it. But they’ve done lots of work since then so I’m thinking of giving it another go. It is (last I checked) an all-in tool. When you’re using Butler on a project you probably won’t be able to use other git tools.


  • I think it depends. Lua is great for scripting - like when X happens do Y. I agree that makes sense for a case like Home Assistant. Sometimes you really want the result to be a data structure, not an interactive program, in which case I think more sophisticated configuration (as opposed to scripting) languages might be better.




  • hallettj@leminal.spacetoProgramming@programming.devWhy YAML sucks?
    link
    fedilink
    English
    arrow-up
    13
    ·
    edit-2
    2 months ago

    I agree - YAML is not suitable for complex cases that people use it in, like Terraform and Home Assistant. My pet peeve is a YAML config in a situation that really calls for more abstraction, like functions and variables. I’d like to see more use of the class of configuration languages that support that stuff, like Dhall, Cue, and Nickel.

    There is another gotcha which is that YAML has more room for ambiguity than, say, JSON. YAML has a lot of ways to say true and false, and it’s implicit quoting is a bit complex. So some values that you expect to be strings might be interpreted as something els.






  • I used to organize a meetup for Javascript programmers. It was more about sharing information than about debate, but I think there might be overlap with what you want. The format was a regular meeting schedule once a month where 2-3 people would give presentations to show off what they’ve been working on, teach how to use a new framework, or whatever they were interested in. So in a way it has handing out information from on high, but I think because we had different people each meeting sharing their perspective there was a good element of exchange of ideas between peers.

    Now it turns out that people need lots of leadership energy to create room for exchange of ideas. At the beginning I’d get about 6 people at each meeting, few of whom volunteered to step up in front of the group. So what I did was to show up every month, and talked about whatever topic I could come up with. At most of the meetings it was just me talking. When I did get other people to present it was through prodding and hassling. But people were interested enough in the material, and found enough value in just being in the same room with other people with similar interests that people kept coming back. It stayed small like that, growing slowly for maybe 2 years. But then we hit a critical point where there were enough people coming, and people were inspired enough that suddenly we were getting 30-50 people each month, and I had no problem finding volunteers to present. And it wasn’t the same volunteers either - we had a good rotation of different people interested in sharing their ideas. That continued for another 6 years before I moved and passed organizer responsibility over to the next generation.

    My point is that a club like this needs a lot of energy and attention. It’s going to grow slowly. But it will grow if you keep at it, and put in the work. We reached that point where the group became sort of self sufficient in that I didn’t need to be the one making presentations anymore, and I didn’t need to actively seek out volunteers to present. But I still had to put in the work to make sure we had the meeting space available every month, show up to let people in, work out the meeting schedule, get food. Anything like this will die if there isn’t someone holding it together through force of will. But it’s worth it! It was a great experience!

    I know you said you want your club to self-manage. But people need structure. If you ask people to show up and have stimulating discussion they’re going stand around awkwardly not knowing what to talk about. Something like a presentation followed by discussion gives structure that helps people to open up, and explore their own thoughts. Or since you want multiple perspectives maybe a debate or a panel format would work better for you. Get 2 or more volunteers to talk about a specific topic. I highly recommend lining up panelists ahead of time - you’ll have a rough time getting volunteers on the spot. If you prep your debaters ahead of time by asking them to present different views they might be less likely to simply agree with each other. Once your scheduled panelists get ideas flowing it will be easier to encourage attendees to step up to speak. You might have a debate or panel followed by open discussion, or rotating panel seats that people can step up to and leave as they feel inspired. But again, based on my experience I suggest being ready to be the one person standing up and debating yourself for maybe many meetings before the club finds a self-organizing energy.