hallettj

@hallettj@leminal.space
3 Post – 66 Comments
Joined 7 months ago

Just a basic programmer living in California

When you get stuck you explain your problem to the turkey, and that helps to understand the problem better.

1 more...

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.

3 more...

And then the replies to the reporter are also AI-generated!

3 more...

I would install a systemd user service with the setting Restart=always. If your window manager is started with systemd, or defines a systemd target you can configure the waybar service to start and stop automatically with the window manager.

Is that why the characters are offended? Not because they're being told they can't elope?

1 more...

Are you saying that you don't want to write your software according to the XDG spec, or that you don't want to set the XDG env vars on your system? If it's the second that's fine - apps using XDG work just fine if you ignore it. If it's the first I'd suggest reconsidering because XDG can make things much easier for users of your software who have system setups or preferences that are different from yours; and using XDG doesn't cause problems for users who ignore it.

OP's recommendation is aimed mostly at software authors.

So yes, "XDG" stands for "Cross-Desktop Group" - but I don't agree that using the spec assumes a windowing system. The base directory spec involves checking for certain environment variables for guidance on where to put files, and falling back to certain defaults if those variables are not set. It works fine on headless systems, and on systems that are not XDG-aware (I suppose that means systems that don't set the relevant env vars).

OTOH as another commenter pointed out the base directory spec can make software work when it otherwise wouldn't on a system that doesn't have a typical home directory layout or permissions.

After seeing this comment I had to check how Disney is involved if they don't own the restaurant. The restaurant is in Disney World (specifically Disney Springs). https://www.bbc.com/news/articles/c8jl0ekjr0go

IIUC that does put the restaurant in the special tax district that gives Disney the authority of a county government. But my very cursory search seems to indicate that restaurant safety oversight is managed at the state level.

Those look nice!

Have you considered a Creative Commons license, maybe with the BY-SA (Attribution-ShareAlike) terms?

I work on a remote team with three Australians who live in three different states. I'm sure they'll appreciate this! Especially the Ausalabaman guy!

There are other galaxy clusters. Gravitational binding is not unique to the local cluster. From Wikipedia,

Notable galaxy clusters in the relatively nearby Universe include the Virgo Cluster, Fornax Cluster, Hercules Cluster, and the Coma Cluster.

The expansion of the universe is very tricky to explain. Oversimplifying can lead to an explanation that seems to be contradictory.

When niri runs applications it will now put them into transient systemd scopes. One concrete benefit is that when an application uses too much RAM and systemd-oomd kills it, niri won't go down alongside the app, so the rest of your session will stay intact.

Does Gnome do this? I've certainly had my entire session crash when a certain LSP server used up all of my memory. I appreciate this feature!

I think it's time for me to try Niri as my main WM. The main thing I want to figure out is getting XWayland going so my Wine games will work. I know there is info on this in the Niri docs, so I'll start there.

Edit: The key to getting the games working is gamescope! It runs a nested X session. Lutris does not work without X, but Bottles does and it has a handy gamescope checkbox in the bottle settings.

8 more...

Yes, I use passphrases for stuff like my password manager, my computer login, and my disk encryption. For my login (which I type a lot) it's four words; for occasional stuff like disk encryption it's six. I'm sold on the argument that a passphrase is way easier to memorize compared to a comparably-secure random password.

The number of possible passphrases is the number of words in the dictionary you use to generate passphrases raised to the power of the number of words in your passphrase (assuming a small chance of reusing the same word in a passphrase). I use this command to generate a random phrase using my stock OS word list:

grep -v '[^a-z]' $WORDLIST | shuf --random-source=/dev/urandom | head -n5 | paste -sd ' '

grep -v '[^a-z]' $WORDLIST filters out words with apostrophes or other weirdness. On my system the filtered list is 77,866 words.

For four words, 77,866 ^ 4 ≈ 3.7 × 10^19 possible passphrases.

Compare that to randomly-generated passwords. I'll assume that random lowercase & uppercase letters, numbers, and symbols add up to 46 characters. The number of combinations is 46^n where n is the length of the password. A four-word passphrase is the same order of magnitude as secure as a 12-character password, which has about 9 × 10^19 possible combinations.

I'm sure that if you make up your own passphrases instead of randomly generating them then the security is much lower.

I love these stories! There's also,

And now that I've gone searching for these I see that they've all been helpfully collected on http://beza1e1.tuxen.de/lore/index.html

3 more...

I've often thought that the people working on herpes treatments probably don't get the credit they deserve

Are there other relevant standards? The XDG base directory specification has been around for a long time, and is well established.

Maybe your comment wooshed over my head; if so I apologize.

8 more...

Well I'll throw in my endorsement for kitty. I like the ligature support, the fact that it can be configured to hide all UI, and it uses text files for configuration that I can put in my dot files repo.

There are some particular features that I use constantly:

I can yank a file path to the prompt from previous output by pressing ctrl+shift+p then f then a 1-character label. I can do the same with a git hash (or other hash) by pressing h instead of f.

I can scroll back and search previous output using only the keyboard with ctrl+shift+h which puts the terminal history in a pager.

I can get the output of only the previous command in a pager with ctrl+shift+g. Or jump to previous prompts with ctrl+shift+x and ctrl+shift+z.

I use kitty-scrollback.nvim which replaces that pager with neovim so I can use all of my editor features to search history, copy what I want, etc.

There was a post earlier today complaining about questions that aren't open-ended, and therefore don't adhere to the community rules. So here we are with a question with many possible answers (which makes it properly open-ended).

Yeah, the first thing I do when I log in is restore my Firefox session, which includes several windows with quite a lot of tabs. I also use the Auto Tab Discard extension so I can keep lots of tabs in my workspace without having all of them loaded all the time.

1 more...

This happens to be the plot of the book series, The Accidental Minecraft Family

I've been using the newer commands like switch and restore for a while. But I learned a few things here that will indeed make my work easier.

1 more...

Although the imagery is spot on the date should be more like 1200 BCE. The Trojan war was a Bronze Age affair which was a long time before the Classical Greek period, which is where 350 BCE falls.

Kitty does use GPU acceleration

Yeah, I stopped using display scaling and switched to this text scaling setting to get a similar result in a cleaner way,

$ gsettings set org.gnome.desktop.interface text-scaling-factor 1.25

The original story is from the SR-71 pilot's perspective https://www.thesr71blackbird.com/Aircraft/Stories/sr-71-blackbird-speed-check-story

I read a few articles. I think Andres Freund's announcement gave me the best context for the exploit itself. https://www.openwall.com/lists/oss-security/2024/03/29/4

The most helpful source I saw on which systems are affected was this Lemmy post, https://beehaw.org/post/12813772

As someone who is not onboard with dismantling the existing political system without a better system ready to go, I think that dual power sounds like a great idea!

Aw, thanks! That's high praise!

I'm a fan of Pitch Meeting. I feel like Honest Trailers is too mean.

7 more...

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.

That's great, but yours is not the universal experience since different tasks have different RAM requirements, even within the realm of programming. I had RAM shortages when I was running the Haskell LSP server and compiler at the same time on a largish project. Haskell's type checker does a lot more than other mainstream languages' which is how it delivers such strong correctness guarantees. You trade RAM for scrutiny. Then the LSP server has to be fast so it has to do a lot of caching, and you get an additional trade of yet more RAM for speed.

1 more...

In which case you're probably using a predefined 64-bit floating point number, which I think is accurate to 15 digits.

Probably not directly helpful, but Nix packages for Chromium and Electron apps are set up so that you can switch to native Wayland mode globally by setting an environment variable, NIXOS_OZONE_WL=1

I don't know of any global setting that isn't distro-specific.

I'm quite happy with Thunder.

Ooh - thanks for the tip!

iOS also supports third-party passkey managers so that's an alternative to Android for helping to fill gaps creating passkeys.

Seems like a matter of preference, and I see the logic in it. I'll mention that Nushell makes it easy to create custom shell functions that are invoked as sub-commands in this manner. https://www.nushell.sh/book/custom_commands.html#command-names

All I can tell you is that this is done differently for each shell. So decide whether you want completions for bash, zsh, fish, all of the above, or whatever, and look at the docs for the relevant shells.

A commit followed by a reset or commit --amend later is one more step than a worktree --add. Plus there have been lots of times when I've had some changes staged, and some unstaged debugging or experimental changes that I want to make sure not to commit, and thinking about how to pack all that away neatly so I could get back where I was seemed sufficiently obnoxious that I avoided doing whatever would have required a quick branch switch. Worktree would have let me pick up where I left off without having to think about it.