Threads for timh

    1. 2

      Starting my vacation, hopefully I manage to put away the computer for this weekend to focus on friends and family :)

    2. 11 if I can find the time!

      Also reading up on JavaScript sandboxing (e.g. V8 isolates) — so let me know if you have some good resources on sandboxing :)

      1. 2

        Thanks for sharing LangJam, never heard of it before! Might have to give it a try in the near future.

    3. 2

      Drafting a new blogpost about chosing a platform to deploy static websites. Been thinking about it a lot lately, should I use simple git-hooks, GitHub Actions, GitLab Pipelines, simple scp/rsync routines.

      1. 1

        If it’s completely static, GitHub pages make this very easy. You can either use their hosted Jekyll install and just push, or you can set up a GitHub action that pushes the output of merges to the main branch to a specific branch that contains the web site.

      2. 1

        I vote scp/rsync.

    4. 1


      • Working with form validation in Vue 3.
      • Meeting with a new client for their new website for travel and event booking.
      • Joining a designsprint to learn more about UX.


      Converting the last of my Jekyll-websites to Zola. (I really enjoy the single binary life)

    5. 26

      You should really include adding push URLs to a repo’s default remote:

      The best backups are the ones that happen automatically in the future.

      Add one for GitHub, one for, and one for a local NAS or ssh server. Now, whenever you push, you have two remote services and a local service storing it. The local NAS can be a single raspberry pi with the default 8GB SD card for most people.

      1. 3

        This is a good solution, but on the one repo I used it with I switched to a different setup. I now use a local gitea to pull from and push that same repo to GitHub, with my origin only pushing to

        I’ve been meaning to give this a try, just haven’t found the time yet:

      2. 3

        That is actually very cool. I had no idea! I will update the article ASAP to include this :)

      3. 1

        I was not aware of this, thanks!

        I’ve been using multiple remotes for my repos and I setup a git alias in my .gitconfig for pusing to all remotes at once;

        pa = !git remote | xargs -L1 git push # Push to all remotes

        Maybe it’s time to start using pushurl.

        1. 2

          Why do you need xargs here at all? Just add more remote urls to the same remote name and then git push remote –all. Programmers seem to love to overcomplicate this stuff with layers that aren’t needed.

          git remote set-url –add remote some/url

          Also setup backups, this remote nonsense won’t do jack for not yet committed stashes or changes.

          1. 1

            That’s what’s in the link. I should have done a tldr in my comment…

          2. 1

            Hehe, that’s what I meant by

            Maybe it’s time to start using pushurl.

            I’m in the process of starting to use this style instead :)

    6. 2

      Spending my vacation days configuring my home network with a Wireguard VPN. I had setup my home network with just simple port-forwarding, which has not been ideal in terms of security, having my public IP exposed with a handful of open ports. Now that’s about to change.

      Hopefully I also get a chance to continue my Ansible playbooks as well. Really blown away how great Ansible is!

    7. 2

      I’m glad that some of these tips have now been automated, in most cases. For example

      • #3; this is usually handeled by the IDE/editor
      • #4; this can be handeled by Prettier or some other CI and/or compiling tools. Which makes it easier for the maintainer to process PRs.
      • #5; on GitHub and many other git-repo hosting providers they provide automatic builds CI/CD pipelines which also can build when a PR is submitted.
      • #6; the same as #5 really, in the same procedure you can also see if all tests ran successfully.

      As for the last 4 tips, they are really quite useful. I know a lot of people, myself included, could create a lot more tests and probably document our reasoning quite a bit more.

      Modern development flows have come a long way in the recent years and I’m all for it!

      Sidenote: I really love that the author has replied to a comment made not so long ago with the excellent advice from Kent Beck;

      For each desired change, make the change easy, then make the easy change.

    8. 3

      It would be amazing if they added a proper conversation view! Although a pretty nice update.

    9. 1

      Have you tested the extension on M1 Mac’s? (Might just be the case of the App Store version) I have enabled all of the redirects and it does not work,,, nor Only one that works is Twitter. Opened an issue.

    10. 1

      Something like this could be incorporated into mostly everything, couldn’t it? But then again it could have a negative effect, for example if numpy were to use such a license, it could halt further development because some of the users/companies that use it also contribute with bugfixes and more features. If they cannot use it, they would most likely not contribute any code.

      And also, isn’t this a bit too much:

      aid in the exploration …

      I know geologists need to look for fossil fuels in order to see how the bedrock is being formed and kept together etc. So that might be something to look into, nevertheless this looks interesting! :)

    11. 1

      I really hope that they can keep their name regardless of the current “vote for a new name” thing going on. They’ve been going strong for a few years, and I believe most privacy consisous people know about them by now and are visting their site frequently to see if there are anything new to learn more about.

    12. 10

      FWIW, I’ve personally enjoyed email hosting by Migadu.

      1. 1

        Same here. Switched after self-hosting mail for a couple years. Can absolutely recommend Migadu.

      2. 1

        I’m the author of the post. I hadn’t heard of Migadu before, but it almost looks like it would work. The only issue is their Micro plan ($19/year) only allows 200 inbound emails per day. I guess that may not be an issue most of the time, but there are days where I receive more than 200 emails. The inability to control how much inbound email you are receiving makes me hesitant to use such a service.

        1. 3

          I also use migadu for a family account. The thing I really like about it is that you can add as many accounts as you like for your domain: this@my.domain, that@my.domain, theother@my.domain, it’s so nice.

          But yes, the 200-in limit has been my concern too. I subscribe to a few mailing lists and have a worry that one day some big heated mailing list conversation will put me over. This FAQ answer suggests they are lenient and that emails won’t actually be lost (assuming senders follow correct email practices!), but my tentative plan has been to wait and see if I ever get a warning email, and upgrade to the next tier if it becomes an issue. It hasn’t so far, after a year or so.

          1. 3

            For what it’s worth, it’s not a hard limit. They won’t block the 201st email — if it’s a recurring thing, they’ll ask you to upgrade. This is mentioned in their docs, somewhere. cc @jeremyevans

            1. 1

              I checked and it is in their documentation. So maybe that would have been a simpler option. I might have switched to Migadu instead of using a VM if I had known about it first. I think the only issue is the next level up from the $19/year plan is the $90/year plan, which is a pretty significant jump. But for someone who isn’t likely to go over their limits, Migadu looks like a really nice option.

            2. 1

              It’s mentioned in the FAQ answer I linked to

              1. 1

                Ah, didn’t notice you’d done that.

          2. 1

            Re: using multiple addresses at the same domain:

            Which email client(s) do you use? Last time I checked, Thunderbird doesn’t put design thought toward this use case. As such it is clunky to use for sending emails from different addresses.

            I’m on Evolution now, but always looking for better options.

            1. 2

              I primarily use mutt, which I have configured with 4 different email accounts: 1 work, 1 gmail, 2 migadu. So I don’t actually send from different addresses exactly (although I think that is easy to do in mutt), but have commands which switch me completely to a different account and inbox.

              But what I meant about migadu is not that they give you multiple email addresses to send to and from within your domain, but that they let you add as many accounts as you like within that domain. So my daughters get their own email addresses and passwords and can sign into them on whatever mail client they like. And I can give these out to as many of my family as I like (the domain is a play on our surname), as long as I don’t hit the 200/20 limit.

        2. 2

          Thanks for posting your setup. I’ve been sniffing at things adjacent to this for a while, looking at some other providers for SMTP. mailroute was the one that had looked most promising, but their definition of a “user” would have had me paying heavily for all the aliases I use, so I had not made the jump yet. Tuffmail’s EOL is going to force my hand.

          Right now, I’m deciding between Migadu and a setup similar to what you’ve done. I had almost given up on the self hosted setup. Sendgrid could work for me, though. My only heartburn about it is, if they decide to kill off their free plan, it’s a huge jump up to $15/mo while I work out an alternative. Where I’d be flirting with the 200 in/day limit on Migadu, the jump up to the next tier isn’t as nasty if I need to do that.

          1. 2

            Really sad to hear about Tuffmail. They were truly the best option.

    13. 2

      I know this is intended for non-technical users, but for technical users I think such a feature should be client-side rather than another layer in the email process. Especially since that probably breaks encryption and/or sender verification. (…if you even care about such things when handing out your email to marketers.)

      1. 2

        Agreed. Also, non-technical users would have to trust DDG to not read/parse the emails anymore than that they remove the tracking which can be achieved by disabling remote content when looking at the email.