HNHacker News
TopNewBestAskShowJobs

psYchotic

76 karma · joined February 28, 2019

meet.hn/city/nl-Arnhem

Interests: Programming, DevOps

---

submissionscomments
psYchotic··on Finding a bug in Dummit and Foote's Abstract Algebra
That helps. Thank you!

I was trying to come up with something to explain why I couldn't see it myself: every element of an empty set of integers is both even and odd. This feels counterintuitive to me, until I flip it around into a question: what is the set of all integers that are both even and odd?

psYchotic··on Finding a bug in Dummit and Foote's Abstract Algebra
Help me out, I feel dumb.

The first criterion for a function is stated as:

> The first item in each pair comes from A.

The counter-evidence for the proposition says:

> Let A = {}, and B = {1}. Let f: A -> B = {}

How does this f satisfy the first criterion, if A is uninhabited? It feels like this function can't be invoked. Am I thinking too much in terms of types here?

psYchotic··on DskDitto: Ultra-fast, parallel duplicate-file detector
I'm not sure exactly how it compares, but a similar tool you can use that also does phashes of images/videos to find potential duplicate media files is czkawka [0].

[0]: https://github.com/qarmin/czkawka

psYchotic··on Weave: Merging based on language structure and not lines
Without having looked into how Weave works, it sounds similar to Mergiraf: https://mergiraf.org/
psYchotic··on Who Invented Backpropagation?
I found this,maybe it helps: https://gwern.net/doc/ai/nn/1986-rumelhart-2.pdf
psYchotic··on Rest Easy
xh is Nice: https://github.com/ducaale/xh

There's also curlie: https://github.com/rs/curlie

psYchotic··on Take a look at Traefik, even if you don't use containers
> ae is closest to y, or hi. So Tryfik, is my guess, otherwise is Trayfik. If it's European fik, might be feek. *Just taking a guess here.

I wondered how to pronounce Traefik myself, so I started googling, and came across this: https://traefik.io/blog/how-to-pronounce-traefik-d06696a3f02...

Tldr: just pronounce as you would "traffic".

psYchotic··on Take a look at Traefik, even if you don't use containers
Hmm, I'll have to take a better look at my setup then, because it's a daily occurrence for me. Either I'm "holding it wrong" (which is admittedly possible, perhaps even likely given the comments here), or I have a ticket to open soon-ish.
psYchotic··on Take a look at Traefik, even if you don't use containers
I'm considering moving reverse proxying to Traefik for my self-hosted stuff. Unlike the article's author, I'm running containerized workloads with Docker Compose, and currently using Caddy with the excellent caddy-docker-proxy plugin. What that gets me, currently:

- Reverse proxying, with Docker labels for configuration. New workloads are picked up automatically (but I do need to attach workloads to Caddy's network bridge).

- TLS certificates

- Automatic DNS configuration (using yet another plugin, caddy-dynamicdns), so I don't have to worry too much about losing access to my stuff if my ISP decides to hand me a different IP address (which hasn't happened yet)

There are a few things I'm currently not entirely happy about my setup:

- Any new/restarting workload makes Caddy restart entirely, resulting in loss of access to my stuff (temporarily). Caddy doesn't hand off existing connections to a new instance, unfortunately.

- Using wildcard certs isn't as simple as it could/should be. As I don't want every workload to be advertised to the world through certificate transparency logs, I use wildcard certs, and that means I currently can't use simple Caddy file syntax I otherwise would with a cert per hostname. This is something I know is being worked on in Caddy, but still.

Anyway, I've used Traefik in k8s environments before, and it's been fairly pleasant, so I think I'll give it a go for my personal stuff too!

PS: Don't let this comment discourage you trying Caddy, it's actually really good!

psYchotic··on The web just gets better with Interop 2024
Not to detract from your argument (which I agree with), but SVG _can_ technically solve that problem using CSS. Here's a link that demonstrates this: https://tympanus.net/codrops/2014/08/19/making-svgs-responsi...
psYchotic··on Financial situation of the Matrix.org Foundation
I have nothing interesting to contribute here, but I want to express my thanks to alohapersona3 for trying to hold the Matrix Foundation accountable!
psYchotic··on Java JEP 461: Stream Gatherers
The author of the JEP, Viktor Klang, held a nice talk about this at Devoxx. If you're interested, you can watch the talk here: https://www.youtube.com/watch?v=8fMFa6OqlY8
psYchotic··on We built the fastest CI and it failed
Isn't ArgoCD more of a GitOps tool? The pretty UI is mostly secondary to its main purpose for me, which is to keep the declarative "truth" in source control, and have ArgoCD be the control loop that keeps the cluster in sync with that truth. Accidentally nuked namespace? No worries, ArgoCD's (or whatever alternative, like flux) got your back!
psYchotic··on Paul Graham on Conversations with Tyler
Is this discontent coming from the embedded player on the linked page? Because yes, that's a Spotify player, but in case you missed it: there are three links at the top of the page, for Google, Apple and Spotify. And if it's an old school RSS feed you want, here you go: https://cowenconvos.libsyn.com/rss
psYchotic··on The $5 Plan
You should look at Hetzner [0]. They offer unmetered bandwidth on their dedicated servers with a 1Gbps uplink (I personally run a Tor relay on one averaging a sustained 15+Mbps over the past year), idem for their "Storage Share" offering, and 20TB/month at 1Gbps on their cloud VMs.

I'm not affiliated with them, just a happy customer.

[0] https://www.hetzner.com/

psYchotic··on NXP has messed up their password form validation
> - the password box truncates passwords silently

PayPal does this, which means I lost the ability to use PayPal for a few days because my password manager generated something longer than the 16(!) or so characters PayPal accepts. If you're going to implement a form to set or change a password, you should probably let it accept a length greater than whatever you're going to store and validate it client side (and in the backend for those who have javascript disabled, though you should validate in the backend anyway).

psYchotic··on So you've installed `fzf` – now what?
Oh, it's nice you fixed it, thanks! And don't worry, I updated atuin, as it's in my distro's repository (which is why I wasn't worried about disabling the update check).
psYchotic··on So you've installed `fzf` – now what?
I also had a rather noticeable delay when launching atuin. As it turns out, this was because it checked for an update every time it launched! You can disable that update check: add a ` update_check = false` to your `~/.config/atuin/config.toml` [1]. That made the delay pretty much disappear for me.

[1]: https://atuin.sh/docs/config/#update_check

psYchotic··on For many widows, the hardest part is mealtime (2019)
> If I'm trying to relate to something a relative stranger is telling me, I'll use one of the later versions unless I want to drop the (often unknown what to do with) bomb that I experienced such-and-such with my dead wife, too. Many people don't know how to handle that.

Asking as someone that wants someone such as yourself, a total stranger, to feel like they can share however much they need if it helps in any way: how _should_ I handle that?

It kinda pains me to hear you basically explain how you have to consider another person's feelings when you are in pain. I can't imagine even having that capability myself, were I walking in your shoes.

psYchotic··on MagicDNS is generally available
If a certificate has been issued for a domain, and that domain doesn't show up in the certificate transparency logs, that's not something I'd cheer for: that issuer could just as well hand out certificates for your domain to others without you ever knowing about it.

Conversely, if a domain shows up in the CT logs, then there have been certificates issued for those domains, even if there exists a wildcard certificate that is valid for that domain. If that happens, check your settings, because there's probably something requesting certificates you're not aware of.

psYchotic··on The Thorny Problem of Keeping the Internet's Time
Or, ironically, the podcast of the guy he responded to, adamgordonbell: https://corecursive.com/

It's a podcast I've really been enjoying for a few years now. It used to be a little more technical (as the name, corecursive, kinda implies), but found a niche in interviewing people more about the people than the tech they're knowledgeable about, which is also very pleasant. Anyway, I encourage you to listen to both an early and a recent episode to find out if you like it.

psYchotic··on Soft deletion probably isn't worth it
It appears that there's been an attempt at standardizing temporal features in SQL in the SQL:2011 standard: https://en.wikipedia.org/wiki/SQL:2011
psYchotic··on Do not combine footers and infinite scrolling
You probably misunderstood: gp won't make mistakes in a medical field because he's not a medical professional, so he won't do anything in the medical field.

The same sometimes applies to designers and developers: if developers don't design, then of course they won't make bad designs.

The gist of it all is: don't ridicule people for mistakes, even if they're in their supposed field of expertise. Just let them know they've made a mistake if you see one.

psYchotic··on Start Self Hosting
My hosting stack seems to be similar to yours. In addition to the services themselves, I run a watchtower container to check for new images for me, which then notifies me through yet another selfhosted solution: gotify. I have watchtower setup not to automatically recreate the containers (I've been bitten by postgres updates a few times too many).

Speaking of Wireguard: I've been looking for a web-based management interface to define Wireguard networks with (using the server it runs on as a sort of central "hun"), but haven't yet found anything I really like and/or found simple enough to use. What does your Wireguard setup look like?

Watchtower: https://github.com/containrrr/watchtower Gotify: https://github.com/gotify/server

psYchotic··on Android 12 forces you to choose a default browser unless you disable Chrome
Invidious is fairly easy to self-host, see https://docs.invidious.io/Installation/#docker-compose-metho...

I don't believe it's very resource intensive (though the recommendation is at least 3GB of RAM), so you may be able to run it on localhost on your laptop, or you could run it on some cheap VPS.

psYchotic··on Strangest Sorting Algorithms
Can't the same be said about the algorithm to generate the Collatz sequence for any given number? By that definition, I shouldn't be calling that an algorithm.
psYchotic··on Log4jscanner
May I suggest you look into grype[0], or some other similar tool? It can be used to scan images for vulnerabilities. You'll probably find a bunch of vulnerabilities that aren't likely to actually affect you, but still, at least you'll know they're in the images you're running. And maybe you'll start using things like docker-slim[1] on your own images to get rid of those vulnerabilities you do find.

[0]: https://github.com/anchore/grype

[1]: https://github.com/docker-slim/docker-slim

psYchotic··on Pg_tmp – Run tests on an isolated, temporary PostgreSQL database
Deferred constraints can be awesome, but as you point out, they can be a massive blind spot in tests that rely on transactions to keep the database clean.

However, I've had success with using the `SET CONSTRAINTS ALL IMMEDIATE`[0] statement prior to rolling back the transaction.

[0]: https://www.postgresql.org/docs/current/sql-set-constraints....

psYchotic··on Show HN: Ht – HTTPie Clone in Rust
For any Arch user running into this thread, wanting to install this: the project went through a rename (to xh), and a package has been added to the Arch "community" repo.

So all you need to install this now is:

    pacman -Syu xh
psYchotic··on The values of Emacs, the Neovim revolution, and the VSCode gorilla
This may have been semirecently been added to git, but look into [0]: git add -i It launches a fairly simple interactive text UI that allows you to select files to stage, and it allows one to "patch" into the staging area, which works by showing you a bunch of hunks, asking for each if you want to stage it (or you can even edit a hunk in your $EDITOR).

I'm sure it's not nearly as nice as Magit's UI, but I've been a happy user of this feature for a while.

[0]: https://git-scm.com/book/en/v2/Git-Tools-Interactive-Staging

Page 1 of 2Next →