HNHacker News
TopNewBestAskShowJobs

finaard

525 karma · joined January 30, 2022

submissionscomments
finaard··on We all dodged a bullet
Most mail providers have something like plus addressing. Properly used that already eliminates a lot of phishing attempts: If I get a mail I need to reset something for foobar, but it is not addressed to me-foobar (or me+foobar) I already know it is fraudulent. That covers roughly 99% of phishing attempts for me.

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.

finaard··on My Own DNS Server at Home – Part 1: IPv4
Why not a subdomain under one of the public domains he already has?

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.

finaard··on My phone is an ereader now
I'm currently also considering if I should go to that, or not.

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.

finaard··on The Synology End Game
At a customer I ended up having to help one department running two Synology boxes as a side project. I came in with low expectations, and still was thoroughly disappointed.

- 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.

finaard··on Nginx-CGI brings support for CGI to Nginx and angie
Unfortunately most of the people out there don't care about that - majority of the links I've set on my site over the decades are dead nowadays. If I ever get bored I'll write a script that'll check if there's an archive copy, and link to that.

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.

finaard··on A deep dive into Debian 13 /tmp: What's new, and what to do if you don't like it
Pretty much all the guidelines about swap partitions out there reference old allocator behaviour from way over a decade ago - where you'd indeed typically run into weird issues without having a swap partition, even if you had enough RAM.

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.

finaard··on TuneD is a system tuning service for Linux
Thanks, that comment saved me from spending time looking at it.
finaard··on The Deletion of Docker.io/Bitnami
According to the article the current situation already is a bit of a clusterfuck:

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)
finaard··on Uncomfortable Questions About Android Developer Verification
It is quite possible that you still may be able to obtain it by annoying them - in some cases provisions related to supporting disabled peoples can prevent them from fully getting rid of it.

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.

finaard··on Dissecting the Apple M1 GPU, the end
As somebody that has worked in a company that did Qualcomm devices in the past - Qualcomm just cares about money grabbing, and is not any less hostile to developers than Apple.

If you want to do a device, and your only chip option is Qualcomm I'd recommend not doing a device at all.

finaard··on Dissecting the Apple M1 GPU, the end
Take into account that she's focusing on the 3D stack, not the overall hardware. Even with hardware differences there's a good chance it's not different enough to make it an interesting new challenge.
finaard··on Dissecting the Apple M1 GPU, the end
There isn't really anything left to do for her - everything missing (including work on the newer graphics chips) can be somewhat easily done by less talented people, building on her work.

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.

finaard··on Building the mouse Logitech won't make
> I mean, in my life i probably spent hundreds of hours writing code and hacking things together - forcing them to work - for tasks that turned out to be...already solved, I just couldn't find it...it was under the sun all along.

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.

finaard··on My original Palm IIIx
I had the Vx with foldable keyboard dock. That keyboard was way better than a lot of notebook keyboard nowadays.

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.

finaard··on I run a full Linux desktop in Docker just because I can
I've been running stuff in LXC for ages (and before that, custom chroots). A while ago I made the switch to Wayland - and now started moving things over to podman, which has the added benefit of being able to share the stuff easily:

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.

finaard··on Emacs as your video-trimming tool
Nice, I was just about to do something like that as I didn't find anything ready last week when I got annoyed yet again when trimming a video.
finaard··on The End of Tesla?
The person before was explicitly referring to mass transit.

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.

finaard··on Office on HP-UX and Unix
99 still counts as late 90s. I only remember that I was playing with it before 2000.
finaard··on The End of Tesla?
The driver cost - outside of Taxi services - are pretty much irrelevant. On the extreme end you're looking at long distance trains with about 1000 passengers - but even for a standard bus with 70-200 people capacity you're splitting that cost over so many passengers that it doesn't really matter.

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.

finaard··on Office on HP-UX and Unix
For Sun workstations there were the great SunPCI cards - a full x86 computer in the form of a PCI-X card. You had some USB and a VGA port if you wanted to hook up an external display, but more often you'd use the video redirection and have it displayed in a window on your desktop.

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.

finaard··on Claude says “You're absolutely right!” about everything
As a German not working in Germany - I often get the feedback that the initial contact with me is rather off-putting, but over time people start appreciating my directness.
finaard··on The History of Windows XP
Funny thing is that NT originally had video drivers in user space exactly for security/stability reasons, but moved it into kernel space with NT4 for performance reasons.
finaard··on I tried every todo app and ended up with a .txt file
> I would encourage everyone to try out emacs with org-mode.

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.

finaard··on Efrit: A native elisp coding agent running in Emacs
My guess is that you're not in a project when you're opening claude? Easiest way for it to detect a project would be having a file or dired buffer open in something managed by git.
finaard··on Man-eating' screw worm turns hospital into horror show
Hey, I think I've seen that movie.
finaard··on Flipper Zero dark web firmware bypasses rolling code security
Unfortunately that video is lots of talking and little substance, so it's hard to properly evaluate it. From the little info shown there it just looks like a nice repackaging of the old rolling flaws (https://github.com/jamisonderek/flipper-zero-tutorials/tree/...)
finaard··on SUSE Donates USD 11,500 to the Perl and Raku Foundation
OBS (the build system running build.opensuse.org) has quite a bit of perl at its core.
finaard··on Claude Code IDE integration for Emacs
This is true - and a reason I'm not sure about this package. I'll still try it, but I don't think it's the right way forward.

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.

finaard··on Dotfiles feel too personal to share
That's why you don't use vim, but Emacs with tramp.
finaard··on Things that helped me get out of the AI 10x engineer imposter syndrome
Personally I find MCP a bit limiting - I'm using Emacs bindings, and then provide LLMs elisp functions to call.

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.

← PreviousPage 4 of 6Next →