@hallettj@beehaw.org avatar

hallettj

@hallettj@beehaw.org

Programmer in NYC

This profile is from a federated server and may be incomplete. Browse more on the original instance.

hallettj ,
@hallettj@beehaw.org avatar

I thought the changeling that shared Odo's look chose it to make Odo feel like he belonged. And her disdain for solids might have made her not want to look too much like them.

The only other changelings I remember from DS9 were,

::: spoiler other changelings
The other changeling sent into the galaxy alone like Odo who had more detailed hair and features, and the espionage agent Sisko talked to in Paradise Lost who did a convincing imitation of O'Brien.
:::

hallettj ,
@hallettj@beehaw.org avatar

Somehow I'm very familiar with the first line, but none of the other lyrics. TIL!

hallettj ,
@hallettj@beehaw.org avatar

I want to make a small correction - this is not true:

iirc I had to reboot every time for it to be applied while with Arch you can just install something and run it immediately.

nixos-rebuild behaves like most package managers: it makes new packages available immediately, and restarts relevant systemd services. Like other distros you have to reboot to run a new kernel.

And cleaning up Steam games is as issue with most distros too. But I kinda see your point.

Btw Nix (both NixOS and the Nix package manager running in other distros) has this feature where you can run packages without “installing” them if you just want to run them once:


<span style="color:#323232;">$ nix shell nixpkgs#package-name
</span>

That puts you in a shell with one or more packages temporarily installed. The packages are downloaded to /nix/store/ as usual, but will get garbage-collected sometime after you close the shell.

hallettj ,
@hallettj@beehaw.org avatar

As a Nix fanboy I would write a Nix expression that downloads the AppImage, and also writes the desktop file with the appropriate path written into it via string interpolation. That can be done either through a NixOS configuration, or in any Linux distro using Home Manager.

hallettj ,
@hallettj@beehaw.org avatar

I use that r function regularly to go to the git project root. But I call it gtop. I mostly use that and zoxide to get around.

hallettj ,
@hallettj@beehaw.org avatar

Try sudo apt update before running the install command. The ISO might not be preloaded with a full package index, or it might be out of date.

If that doesn’t work take a look at /etc/apt/sources.list to see if maybe the ISO uses some minimal repo that doesn’t have the full set of packages.

hallettj ,
@hallettj@beehaw.org avatar

I think NixOS is awesome, but it certainly doesn’t offer “access to (basically) all Linux-capable software, no matter from what repo.” - at least not natively.

I don’t quite agree with this. In NixOS you can write custom expressions that fetch software from any source, and stitch them into your configuration as first-class packages. So you do get access to all Linux-capable software natively, but not necessarily easily. (There is a learning curve to packaging stuff yourself.)

I use this process to bring nightly releases of neovim and nushell into my reproducible config. Ok, I do use flakes that other people published for building those projects, which is a bit like installing from a community PPA. But when I wanted to install Niri, a very new window manager I wrote the package and NixOS module expressions all by myself!

hallettj ,
@hallettj@beehaw.org avatar

It’s because new phones are too big! I’m planning to take my reasonably-sized phone to the grave!

hallettj ,
@hallettj@beehaw.org avatar

I recommend Borg with a CLI frontend like Borgmatic. It’s efficient for running frequent backups, storing only changes since the last backup. It gives you snapshots of each backup. You can mount any snapshot using a virtual filesystem without having to copy everything over.

[Thread, post or comment was deleted by the author]

  • Loading...
  • hallettj ,
    @hallettj@beehaw.org avatar

    There are specs for that!

    For system-wide installation the Filesystem Hierarchy Standard essentially says:

    • put it in /usr/local/bin/ if you want to drop a script somewhere
    • or put it in /usr/bin/

    Both should be in the default $PATH for most systems.

    For single-user installs the XDG Base Directory Specification says,

    User-specific executable files may be stored in $HOME/.local/bin. Distributions should ensure this directory shows up in the UNIX $PATH environment variable, at an appropriate place.

    Those locations will work in 99% of cases.

    Nothing will work for every case because Linux systems are many and varied. For example I’m on NixOS which doesn’t adhere to that particular provision of XDG, and doesn’t adhere to any of FHS.

    hallettj ,
    @hallettj@beehaw.org avatar

    Yeah, with those options it’s easier to back up your whole home directory, and then daily backups only take a minute or so and a small amount of additional space to back up what’s changed since the day before.

    Cross platform terminal emulator?

    Is Termius the only cross platform emulator that includes Android as one of the platforms? It is quite good, in my limited experience, but too expensive for a hobbiest. I like that I can use my Linux desktop, MacOS laptop, and Android tablet/phone and the UX is the same across them all. The sync (trial for free, then charge) is...

    hallettj ,
    @hallettj@beehaw.org avatar

    I’m seeing some hints that Wezterm can be built for Android. But l haven’t found specific instructions, and I don’t think it has a feature to sync hosts and keys.

    The sooner Android accepts RCS is dead, the sooner we can choose the next messaging platform that matters (www.androidpolice.com)

    I’m just sitting here frustrated because I’m wanting my family to move away from messaging me over SMS (they mainly use iOS), but they refuse to download any extra apps. But Google’s RCS really doesn’t look like a solution either since it mainly just seems to be a way of enforcing Android as an ecosystem, and they...

    hallettj ,
    @hallettj@beehaw.org avatar

    Huh, I hadn’t heard about any of this. I guess that’s because I use Google Voice, and none of the features going into the Messages app have made it over to the Voice app.

    hallettj ,
    @hallettj@beehaw.org avatar

    No, but I’ve now heard it recommended enough times that I think I’ll check it out. It looks like it’s a free download for the Switch. Are there micro transactions, or subscriptions, or some such thing?

    hallettj ,
    @hallettj@beehaw.org avatar

    It looks like it’s made by the same team that made Journey

    What software and organization systems are you using for your PKMS?

    I’m not using any particular organization strategy like Zettelkasten or PARA or anything. I am using Obsidian for most things, but my to-dos are in Apple Reminders and there are some scattered pieces of information in Google Docs and Notion that I still have yet to migrate to Obsidian.

    hallettj ,
    @hallettj@beehaw.org avatar

    I also use Obsidian, and I use Todoist. I use lots of daily notes when I want to jot things down. Facts and ideas go into basically a Zettelkasten system. I also keep a GTD-style directory structure for reference material - stuff like tax forms, info for kids’ schools, etc. I make a lot of use of the Folder Note plugin for that.

    For todos I use a GTD system with action priorities. So I have lots of projects which mostly have one or two actions each. I mix some ideas from GTD, and from one of my wife’s favorite books, How to Get Control of Your Time and Your Life by Alan Lakein. I have a view that collects all actions in one place, but only shows actions that are prioritized, and aren’t due yet, and aren’t labeled as blocked.

    For a while I used Obsidian for todos using the Dataview plugin to collect, sort, and filter todos. I used the Quickadd plugin to capture todos. What I liked about that system was it made reviews easy: I had a document with headings for each project with next actions for each. The reason I switched is that I wasn’t looking at my next actions list often enough, and I didn’t have a way to show notifications when something should be done at a specific time. Even when I thought about checking my todos, and I had a home screen shortcut to my next actions document, opening Obsidian on Android is slow enough to add friction. Todoist helps with a home screen widget, notifications, and by opening faster.

    hallettj ,
    @hallettj@beehaw.org avatar

    I’ve seen NixPak which I think would be just what you want, except that it’s for Nix instead of Gentoo. But Nix has the same features that you say you like in Gentoo.

    hallettj ,
    @hallettj@beehaw.org avatar

    But Flatpak has its fancy “portals” to connect each app with the specific resource it needs which you don’t get with Docker.

    Also if the goal is to limit access of apps you don’t want to fully trust, I think Docker doesn’t have the appropriate security properties. Here’s a quote from the readme for Bubblewrap (the sandboxing tool that Flatpak and Nixpak use),

    Many container runtime tools like systemd-nspawn, docker, etc. focus on providing infrastructure for system administrators and orchestration tools (e.g. Kubernetes) to run containers.

    These tools are not suitable to give to unprivileged users, because it is trivial to turn such access into a fully privileged root shell on the host.

    Debian 12 not booting, but OS intact (lemmy.blahaj.zone)

    So I want to install Debian 12 on my machine, and the installer just -kind of- worked. I couldn’t use the live USB with all the cool UI stuff, I had to use the normal installer without the whole DE. But that worked. I have Debian 12 now on my SSD. I can even access it through the “rescue mode” using the Debian USB as shown...

    hallettj ,
    @hallettj@beehaw.org avatar

    This might be fixable by reinstalling the bootloader. On boot the motherboard firmware is supposed to locate and execute the bootloader on the SSD. The error here looks like it’s coming from the firmware having failed to do that for some reason.

    Since you can get into rescue mode these instructions should work: wiki.debian.org/GrubEFIReinstall

    That’s always the first thing I try in this kind of situation.

    Maybe there could be an issue with secure boot. But I’m not sure if that’s something people need to worry about these days. wiki.debian.org/SecureBoot

    There could be some sort of problem on the firmware side. HP has steps for troubleshooting this error here: support.hp.com/us-en/…/ish_3053911-2842957-16

    hallettj ,
    @hallettj@beehaw.org avatar

    I’ve been saying this for years! If properties of a shape cannot be expressed with finite precision then how can that shape exist in a universe with clunky restrictions like the planck length?

    hallettj ,
    @hallettj@beehaw.org avatar

    I think data configuration is fine until you get to a point where you need functions. This is one of my pet peeves: data configuration formats that get creative to work around the format limitation when they should switch to scripting. My example is Home Assistant.

    Home Assistant is a home/smart device automation server. It uses Yaml for automation scripts. But you often need functions. So they use jinja2 templates to emulate functions in Yaml. Then you have to manage copying variable values to make them available in the runtime context who where jinja2 templates are evaluated. There is no static validation for templates. And it takes a lot of detective work to figure out what variables and helpers are available. It’s very frustrating. I really wish Home Assistant would use a type-checked scripting language instead. And it’s not the only system out there that uses Yaml with string templates!

    hallettj ,
    @hallettj@beehaw.org avatar

    Oh yeah, and with Ansible there is an alternative to point to, Nix, which does configuration better IMO using a scripting language. It’s still not typed so editor LSP support is limited. At least with NixOS modules and with Home Manager modules runtime validation is pretty good.

    hallettj ,
    @hallettj@beehaw.org avatar

    Hmm; I’m using this astronaut breakfast wallpaper and it gives me three non-blue pallettes. But there is some pink. Screenshot of wallpaper settings with some generated Material You color pallettes.

    hallettj ,
    @hallettj@beehaw.org avatar

    My main game continues to be Overwatch.

    I’ve also been playing some Diablo IV. I’ve been taking my time - there is a lot to enjoy in that game. I just teamed up with my brother to finish the last act of the main story.

    Why Roman concrete is still stronger than RAAC (and other modern concretes) (www.chemistryworld.com)

    The concrete dome of the Pantheon in Rome remains stable enough for visitors to walk beneath, and some Roman harbours have underwater concrete elements that have not been repaired for two millennia – even though they are in regions often shaken by earthquakes....

    hallettj ,
    @hallettj@beehaw.org avatar

    I remember finding this Practical Engineering video on Roman concrete to be informative: youtu.be/qL0BB2PRY7k?si=5exDGyEK_LTfGNOy

    Veritasium also has a chapter on ancient concrete in this video: youtu.be/rWVAzS5duAs?si=EJ8rPDTPHlq90kgW

    My memory is fuzzy, but I think some of the details are:

    • We know how to make Roman concrete, but it’s not necessarily the best choice, and it might be more expensive than is appropriate for a given project.
    • Ancient structures don’t have rebar, so they don’t degrade due to rust causing expansion. But rebar is so useful that it’s often a worthwhile trade-off.

    Definitely see the other comments here about survivorship bias, and higher demands on modern structures.

    Help me find my tiling workflow?

    I’m using a PaperWM which is a scrolling window manager extension for Gnome, and I love it! But it’s an extensive extension which means it is sometimes brittle. I’ve thought it would be nice to find a window manager that is natively designed with a workflow that I like. There don’t seem to be any actively-maintained...

    hallettj OP ,
    @hallettj@beehaw.org avatar

    Nice, thanks for the heads-up!

    hallettj OP ,
    @hallettj@beehaw.org avatar

    Yeah, I saw a HN post on that right after I posted this! I’ll definitely check it out. Thanks!

    hallettj ,
    @hallettj@beehaw.org avatar

    Yes, I met someone who was allergic to basically everything, and said she had good results with hookworms

    VENMusica , to linux
    @VENMusica@mastodon.social avatar

    @linux any global mesh networks that could replace ISP's?

    hallettj ,
    @hallettj@beehaw.org avatar

    I remember reading about a “guerilla wifi” mesh network in NYC, and I did a bit of research on connecting to that several years ago. It turned out I was too far away from Manhattan to be in range. But also from what I read a series of small-scale peer-to-peer connections don’t give you the low-latency or throughput of a good backbone.

    hallettj ,
    @hallettj@beehaw.org avatar

    Actually I’d like to add a note about how much I appreciate infrastructure. It would be great if we could all equally own and control the Internet. But when you get down to it, societies pooling their efforts can do things that small, independent groups can’t, such as building tier 1 network backbones.

    Looking at it another way, if you did have a global mesh network it would be made up of electronics that take tremendous systems of supply chains and factories to build and distribute. That’s sort of the same idea: large-scale infrastructure that small groups can’t pull off.

    If I had my way I would keep the large-scale networks, but change the governance model to shift the primary organizational motivation from profit to human wellbeing.

    hallettj ,
    @hallettj@beehaw.org avatar

    Could this have happened if https://nixos.org/manual/nixos/stable/options#opt-users.mutableUsers was set to false? I see a warning in the manual saying in that case users and groups will be replaced on system activation.

    hallettj ,
    @hallettj@beehaw.org avatar

    The NixOS ideal is that every detail of the system is configured through Nix expressions so that the system is completely reproducible. But in practice there are some details you might want to configure directly.

    With users.mutableUsers = false you are in the “ideal” declarative mode where users and groups are supposed to be fully represented in configuration.nix including passwords (or hashed passwords). In this mode the Nix config overrides everything in /etc/passwd. If the Nix config doesn’t specify passwords I think the default is to leave the account without a password, disabling login for that account.

    With users.mutableUsers = true NixOS respects changes to user and group accounts made outside of configuration.nix. Accounts configured through Nix will be added to /etc/password if they aren’t already there. But NixOS won’t remove accounts, and won’t modify or unset passwords. In this mode the default of leaving the password unset makes sense because you’re expected to set a password by running passwd. This is the typical choice because there are security problems with putting passwords in configuration.nix.

    You can set passwords in the Nix config using the password, passwordFile, hashedPassword, or initialPassword options. If mutableUsers is true these options only set the password the first time the user account is created. I checked to see if there are any options that implicitly disable mutable users, but I didn’t find any.

    hallettj ,
    @hallettj@beehaw.org avatar

    I second kitty. I switched from urxvt to konsole to get support for ligatures. Then I switched to kitty because it also has ligatures, it’s faster than konsole, and it’s easier to configure with version-controlled files.

    I don’t do very much customization: font, line spacing, color scheme, and a couple of custom key bindings.

    How many of you are still working full-time remote and how is it going? If not, why not? Was the decision made by you to go back to the office or did your employer decide for you? (kbin.social)

    I am still working full-time remote. There are definitely some social aspects of going to the office I miss, but I really don't miss the commute or the shitty office politics. Overall I feel I am still more productive from home and happier overall.

    hallettj ,
    @hallettj@beehaw.org avatar

    I’m fully remote, in software development. It’s very helpful for me to be able to pick up my kids from school, and get back to work while they do homework. I used to have an elaborate system orchestrating pick-up and transportation to a daycare service.

    Lots of small software companies have taken a remote-by-default approach the last few years. That means job openings are often not limited by geography. I’m working for a company that doesn’t have an office on my side of the continent. For companies that means they can throw a wide net to pick up people with very specific skills.

    I think the downside is that mentorship becomes difficult. An all-remote company I worked for before the shutdown said they found it only works well for senior-level engineers or above. I learned a lot of what I know from the guy who used to sit next to me at my first job. I’m not sure if there’s a good replacement for that for new devs. There is still collaboration in my current job, but it’s limited by the friction of video calls, and timezone mismatches.

    hallettj ,
    @hallettj@beehaw.org avatar

    Maybe because it's in early access. You can't search for it either - you have to get to it from the play store link in the project readme

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • tech
  • drbboard
  • updates
  • testing
  • til
  • bitcoincash
  • programming
  • Sacramento
  • All magazines