The rest is handled by preferring plain text over HTML, and if some moron only sends HTML mails to carefully dissect it first. Allowing HTML mails was one of the biggest mistakes for HTML we've ever made - zero benefits with huge attack surface.
525 karma · joined January 30, 2022
The rest is handled by preferring plain text over HTML, and if some moron only sends HTML mails to carefully dissect it first. Allowing HTML mails was one of the biggest mistakes for HTML we've ever made - zero benefits with huge attack surface.
For interactive use you'd typically only use part of the domain anyway, with correctly set up search list. Also has the advantage of easily making some hosts available via IPv6 to the outside - or with split horizon DNS and a gateway host expose specific services, where inside connection directly goes to the specific host, and outside via a reverse proxy.
Overall he's just describing a typical simple internal DNS setup - from the title was expecting him to talk about how he got a stable authoritative DNS server for his public domain running at home (and how he got around the "two nameservers" requirement).
On the plus side, that made me realize that my current home connection _is_ stable enough to host one of my three authoritative DNS servers, which should save me about 7 EUR per month.
Most of my life I've been using phones with keys - the Treo/Centro series with PalmOS, then (due to working there) the Nokia N900, N9 and Jolla devices. The best ever on screen keyboard I've encountered was on the N9, followed by Jolla (unfortunately, we never implemented swype there). A had a regular Android phone for a while after that, but pretty much all Android on screen keyboards are just horrible - so I went from actively doing stuff on my phone to just reading stuff, and using it as notifier for getting my computer.
Things changed when some companies did end up doing new phones with keyboards: I had the Planet computers Gemini, followed by the Cosmo. Both had great keyboards, but a lot of other issues. Next were Unihertz Titan and Titan slim (which I'm still using) - both also nice devices, but starting to age, not really getting updates anymore, and putting something else on there is problematic due to Unihertz not releasing kernel sources.
The way I'm using my phones also changed again - I fully stopped using banking apps on the phone. The modern way is to combine an authenticator into the banking app, and treat the banking app as having built in two factor auth, which is just stupid. I can use a separate token with all of my banks - but using the smartphone app would forcefully sign me up to using them as authenticator, so I can't use them anymore.
A lot of other applications also are pretty much useless nowadays - most are just wrapped web pages anyway, and even for the ones which are not: Nothing has long living auth tokens anymore (which used to be one of the main selling points ) - and if I have to log in to not regularly used applications every time I use them it's easier and more convenient to just use the corresponding website on the computer anyway.
So we're back to just wanting a phone I can read on, and that sends me notifications - and the keyboard should allow me to even respond without taking out my computer. The main issue with the device is that I don't need Android for doing that - and with the ongoing enshitification of Android I'm not really sure anymore if it's worth the trouble of getting another device, or if I should just go towards "when I'm not on my computer I'm offline" again.
- one device died, was EOL at that point, and newer ones no longer can read the disks - stupid limits for array size. Depending on your setup adding disks can mean "copy everything off, delete arrays, and then create new ones". Also, want one 200TB array with your disks? Depending on model size you'll have to do multiple arrays instead with a bit to way lower capacity - syncing a share to another instance is broken, with pretty much no useful debug information. Already the setup is stupid (doesn't let you select which array it goes on the target machine), and then seems to change access permissions of the sync user on the target box (i.e., you can do one sync, after that you'll need to reset the access permissions). I wanted to avoid doing my own sync script, but seems I'll have to do that in the end - stupid disk compatibility warnings (which currently you can disable when you have SSH access) - wireguard only via third party addons. It's 2025. I didn't even check before if those things can do wireguard - it didn't occur to me that a device sold nowadays might not be able to do that.
While debugging I also noticed that pretty much every software component is from the stone age.
I also went through quite a bit of effort to make sure _my_ links don't break. There are a handful of tools (like a dig wrapper for DNS lookups) which still can be reached as /cgi-bin/dig.cgi, even though they haven't been a standalone CGI script for two decades now. It's still technically CGI (just running as fastcgi nowadays), and the code base is just as good as you'd expect from what started as an experiment to see how much of a text markup parser I can write using perl regexp only.
Short (and inaccurate) summary was that it'd try to use some swap even if it didn't need it yet, which made sense in the world of enough memory being too expensive, and got fixed at the cost of making the allocator way more complicated when we started having enough memory in most cases.
Nowadays typically you don't need swap unless you work on a product with some constraints, in which case you'd hand tune low memory performance anyway. Just don't buy anything with less than 32GB, and you should be good.
The Photon images provide many other benefits not previously available to users of Debian images, including:
- Drastically reduced CVE count (e.g., 100+ CVEs to in some cases 0)On the last change my bank made me call to their hotline (even though everything else is possible to be done online) to keep using a separate hardware device - which ended up being just "so, you don't want to do it on a phone?" - "yep" - "ok, should be with you in a week or so".
I nowadays consider my phones pretty much throwaway devices - I don't have full control, I can't fully trust them. Plus they could be stolen, break when I drop it into water outside, ... - so I think it's ridiculously stupid to tie anything important to a phone as main authenticator.
Overall the usefuleness of a phone has been declining steadily - the selling point of a smart phone originally was that I have an app, and because it's a reasonably trusted device it'll store credentials, and I can use the app without logging in every time. By now most of the apps are just repackaged websites, and because of that - and because they don't trust their backends - we now have quickly expiring tokens in use in the apps as well. Most of the apps I don't use every day - and over the last few months every single one wanted me to log in again next time I used it.
Adding to that the nonsense of "there's a new app available, download that first before using" which typically doesn't add anything of value to me, and we're now at a state that not only does the typical smart phone app not offer a benefit over just using a website - it now often is even worse than just using a website.
If you want to do a device, and your only chip option is Qualcomm I'd recommend not doing a device at all.
She did the challenging stuff she cares about. One aspect of nerd brain often is that you can hyperfocus on challenging stuff, but can't get the motivation to work on stuff you don't care about - and even what would be a 20 minute task can end up taking days because of that. It's great that she has the self awareness to set goals, and step away once they're done.
I didn't have that in that age - and still sometimes struggle. I was lucky enough that my employer back then recognized my issues, and paired other people with me for doing the stuff I was not interested in, and now usually manage to load those issues onto other co-workers by myself.
Once you get older it gets even more annoying - sometimes you end up solving a problem, and later on you realize (or, even worse, a friend points it out) that you've solved that already once before a decade ago _and_ published your solution back then.
Slightly amusing - you only had about 5 keyboard layouts to chose from, and one of them was Dvorak (which I'm using).
I eventually wanted to carry only one device, and went for the Treo line of phones, which I stuck to until 2010.
https://github.com/aard-fi/tumbleweed-images/tree/master/way...
I use two different setups - on some systems I only run things like browsers in conatainers, on others I also run the desktop itself in a container. Not published yet are my helper scripts, that'll need some more cleaning up.
For taxi service it indeed could make limited sense - but that alone is not a big enough market to justify the development cost. From over here in Europe it looks like US tech companies are trying to compensate for that by making the market bigger through pushing taxi rides as replacement for bus or other mass transport rides - which is a horrible idea. I'm aware that the US has a bit more messed up public transport in general as we do over here (and taxi is considered part of public transport) - but even there, the right thing would be fixing mass transport, not introducing mass single person transport in cars.
In many countries over here taxi rates set by the state for individual regions to make it a reliable part of public transport. They're taking into account the cost of running the car, and other factors - the goal is to keep it affordable during peak times, while still being profitable for companies outside of those. Quite a few people rely on taxi service for things like going to the doctor or even just to the shop. In those cases a driver is not just a cost factor, but also a vital component of the provided service by providing assistance.
If we ever get fully automated taxis over here I'd expect them to be charged at the same taxi rates - otherwise it'd incentivize taxi companies to only run the cheapest option, which might cut off some person groups from the service, which - again - is public transport, and should not be discriminatory.
The cost of building 100 Teslas for transporting the people we'd be able to stick into one bus is significantly higher than what we ever could save by not having a driver - and that's _before_ looking at the extra infrastructure cost we'll have: The 100 Teslas use way more space than a bus or a streetcar (capacity: 200-400), so needs more and wider roads, and will contribute to congestion, instead of easing it.
Self driving trams are already being tested - and are way easier to deal with than self driving cars, especially when you isolate them from the road to some extend. It won't change much in terms of personnel cost - countries which had been reducing conductors in trains ended up replacing them with security, so I'd expect we'll still have paid people in buses and trams, they'll just have a different job description now.
No connectors for disk drives - it'd emulate an IDE disk from file in your Solaris filesystem. So pretty much the VM experience, just in not bad.
VMWare was around since the late 90s - but at that time you typically had a computer with a single thread. If you were splurging, a system with two CPUs (two threads). Even a moderately load intensive VM would make working on the host system annoying.
Due to power and thermal constraints the hardware on there wasn't the fastest - but it was fast enough, and due to the absence of resource sharing (apart from disk bandwidth, which wasn't an issue) the overall experience was way better than using VMs.
I still have my final workstation around - a dual CPU Blade 2500 with 2 SunPCI 3 cards.
You can even do that, _and_ do stuff from your unholy list.
I have my org folder synced via syncthing to every device I care about. I used to do automated git commits on that folder, but eventually stopped it years ago as commit messages like "daily automated commit" are not better than regular backups.
But thanks to LLMs I went back to that - now I have a systemd timer which calls a script that calls Emacs (because I have all the LLM bindings set up in there already) with the git diff to generate a commit message. That does a pretty good job at summarising my changes.
Pretty much the only advantage is that you get access to logic available in the claude code CLI - which in large parts probably already exists in emacs or extensions. On the downside it'll bind you to claude code.
I'm generally using a generic LLM wrapper - emacs has two good ones, gptel and llm. I have both configured, as both are required by some of the extensions I'm using, but currently prefer gptel: It seems to be more advanced, especially when it comes to tool use.
Advantage of that approach is that when you're hitting a wall with one LLM being stupid with one specific issue you can just switch to a different one. Or you can use the same environment with locally hosted LLMs.
Disadvantage is that the IDE/project functionality is not tied up that nicely yet - there are a few attempts (like minuet or evedel), but nothing I really got into.
Currently I'm mostly doing a chat buffer, and the LLM has tools available to inspect and to some extend alter the current state, published here: https://github.com/aard-fi/gptel-tool-library - that works pretty well on a per file basis, and to some extend it can figure out project details, but overall it lacks project info - in part that's a context limitation thing, where that info should be provided as additional context for each instruction (which I assume the CLI is doing).
What this approach also nicely enables is fun experimentations:
- https://github.com/aard-fi/buffer-turtle implements simple turtle graphics in an emacs buffer, and has bindings for the LLM to control the turtle - https://github.com/aard-fi/arch-installer has the glue to have the LLM interact with a serial port, and some glue (like basic ANSI escape parsing) to make the result look somewhat reasonable in an emacs buffer. That allows it to do stuff like trying to install Arch linux in a VM
Both repos have links to youtube videos with some runs.
I posted a demo here a while ago where I try to have it draw turtle graphics:
https://news.ycombinator.com/item?id=44013939
Since then I've also provided enough glue that it can interact with the Arch Linux installer in a VM (or actual hardware, via serial port) - with sometimes hilarious results, but at least some LLMS do manage to install Arch with some guidance:
https://github.com/aard-fi/arch-installer
Somewhat amusingly, some LLMs have a tendency to just go on with it (even when it fails), with rare hallucinations - while other directly start lying and only pretend they logged in.