HN user

njt

109 karma
Posts2
Comments37
View on HN

I recently placed some PDF files for some nontechnical people on Dropbox. To avoid confusing them with the long complicated Dropbox URL, I even created a shortened link for them to use (think https://event.myorg.test).

Almost none of them had Dropbox accounts.

I found out later from someone that 90% of them couldn’t access the files. The link didn’t require a login but they made it look to the unsophisticated observer that you need an account to get the files. So these folks (most of them were elderly), just gave up.

I've been self-hosting my email for a little over 2 decades.

The basic setup has more or less stayed the same, but there's some more extra components around it you have to know now (spam filtering and SPF/DKIM/DMARC come readily to mind).

To quote Michael Lucas: "everything complicated about emails revolves around spam and not getting it". I highly recommend his book, "Run Your Own Mail Server".[1]

In short, hosting your own email is not that bad at all. I strongly suspect, like many other skills, since it has atrophied with the advent of the cloud and people readily giving up to the large carriers, it has gotten the reputation of being hard, or as you said, a full time job. I don't think either of those things are true.

[1] https://mwl.link/run-your-own-mail-server.html

Zojirushi water boiler

Purchased this last month and really regret not buying it years earlier (we got the 5L CV-DCC50 model).

It's amazing how we never worry about boiling water anymore (apart from large pots of water for cooking pasta or something).

Our electric water kettle sees very little use now.

Just wanted to chime in on my beancount workflow, which you may also want to check out.

I also use vim, and I use it a bit to edit my beancount files, but I mostly use fava, a most excellent web interface for beancount. In addition to having a built in editor (which does formatting and can catch errors and show you exactly where they are), it allows you to quickly add new transactions based on old ones — the dialog box allows you to choose from previously used accounts to speed up input. It’s a lifesaver. I don’t think I would have continued using beancount long term if it wasn’t for fava.

Just about the only negative thing I can say about fava is that it does formatting slightly differently from bean-format. I actually prefer it to beancount, but there are some cases where I prefer the native formatting (like when declaring/opening accounts). So for some months, I will switch from one to another. A minor nitpick, but it’s slightly annoying.

Totally agree.

I was there two weeks ago. The tour guide took us through a route that bypassed the longer lines and through some underground areas—culminating in an entrance that completely blew my mind. I never realized how huge the interior was until I stepped in and saw it firsthand. There are few things in my life that completely took my breath away, this ranks in the top 5 for sure.

On a slightly related note, Michael W. Lucas[1] is working on an upcoming book entitled "Run Your Own Mail Server", that will be published shortly (there's a Kickstarter campaign as well[2]).

I attended his tutorial and talk at BSDCan[3] this year and both were excellent. I highly recommend buying the book when it comes out (or supporting the Kickstarter), it will go through all the gory details of setting up and running a mail server, and best practices, including a ton of material on SPF/DKIM/DMARC.

(P.S. I have no affiliation with the author or the book in any way.)

[1] https://mwl.io/

[2] https://www.kickstarter.com/projects/mwlucas/run-your-own-ma...

[3] https://www.bsdcan.org/2024/

Both Subversion[1] and CVS[2] had keyword substitution, which replaced those tags with useful information like the commit id, author, date, etc.

They were very useful when you were looking at a source file, to see what version of that file you had.

Git had something similar with Git Attributes[3], but AFAIK, they were just references to blob ids, so they never really took off.

For git, I now use tags (and versioning based on tags), that more or less replaced svn/cvs keyword substitution in the git ecosystem.

[1] https://svnbook.red-bean.com/en/1.7/svn.advanced.props.speci...

[2] https://www.gnu.org/software/trans-coord/manual/cvs/html_nod...

[3] https://git-scm.com/book/en/v2/Customizing-Git-Git-Attribute...

scdoc is a great tool. It's written by Drew DeVault (sourcehut) and works great, I've used it in a couple of projects.

Here's the blog entry[1] where he talks about the rationale for writing the tool.

The page mentions that it is inspired by Markdown, but is not actually Markdown because it was designed for HTML.

I'm glad to see more projects in this space.

[1] https://drewdevault.com/2018/05/13/scdoc.html

someone complained about NTP issues with traffic passing through TATA and they were told to make their devices stratum 0 or something

Not saying your summary of that thread is wrong, I just wanted to expand a bit to maybe clarify:

    - someone posted to NANOG about issues with their (European) servers reaching 0.freebsd.pool.ntp.org
    - they noticed they were being routed through Tata (AS6453)
    - they mentioned that their other servers (e.g. in Africa) had no issues
    - they posted to NANOG to ask about this
    - they thought it was a routing or FreeBSD issue (they later posted about the issue to a FreeBSD list as well)
So AFAICT, the correct response was posted about a day and a half (~42 hours) later:
    - the NTP pool uses GeoDNS to map clients to servers
    - the OP's server IP address was incorrectly geolocated to Mauritius
    - the Mauritius zone in the pool has only one server
    - so the OP would only ever get that IP as an answer
The short-term fix was to use a different pool address (e.g. europe.pool.ntp.org), and the responder also mentioned that the NTP pool folks were working to fix the problem.

Full thread here:

    https://mailman.nanog.org/pipermail/nanog/2023-August/222706.html
Now the interesting part of that thread was that shortly after (~4 hours) the OP posted about their problem, someone replied and recommended that they setup their own GPS-based NTP network.

From there, that sub-thread was mostly about NTP attacks and GPS security and mounting receivers on top of datacenter buildings and such.

Counting up the messages (if my mail client's threading capabilities are to be trusted), of the 94 or so total messages in the thread, 79 (84%) of the messages were in that GPS-related subthread, and only 15 messages responded to the OPs issue directly.

I didn't really see this as a failing of NANOG per-se, it's just a public mailing list and some folks went on a nerd sniping tangent (cf. XKCD #356).

I've been an erstwhile FreeBSD user since v2.x (ca. December 1996), running FreeBSD on my own machines since v4.x (ca 2001), and started using it as my primary laptop/desktop daily driver since v5.3 (ca. November 2004). Prior to that, SunOS/Solaris was my drug of choice.

In the past, I would update the OS and ports religiously, sometimes rebuilding world and packages on a weekly basis. I've never once experienced any bumpiness between v5.x and v8.x (or any other version, but see my comments on v13 below). The OS has always been rock solid.

I have occasionally experienced some package issues, usually when upgrading a port that had lagging dependencies -- some packages written in PHP come readily to mind. The number of times this has happened is more than 2 and less than 6, and in each of those cases, using portdowngrade and waiting it out a few weeks did the trick.

Apart from OS-independent hardware issues, the only real FreeBSD issue that I've ever encountered was in the v12->v13 upgrade. If you were running ZFS, there was a gpart bootcode command you needed to run as part of the upgrade process, which I sometimes forgot to do, which caused the post-upgrade reboot to hang. Normally this wouldn't be a big deal, you just insert the rescue CD and run the command and be on your way 2 minutes later; but at that time I had a number of my servers running on a VPS provider that didn't allow you to mount your own ISO, so I had to wipe the machine and reinstall the OS from scratch and restore stuff from backups. I don't really count this as a FreeBSD issue per se, just an obtuse service provider. (I've since moved most of my digital properties oceans away from that company.)

Nowadays I upgrade the OS and packages far less frequently. I upgrade the OS with every minor release and also if there are any security issues that affect me. I upgrade the packages every couple of months, or if there is a bugfix that affects me, or if I need a new feature only available in a newer release.

Since I started using it, there have been a number of developments that have made my FreeBSD life so much better: cperciva's portsnap and freebsd-update, pkg-ng, and of course the biggest one: ZFS. All of these allow me to maintain and upgrade the systems very easily.

I stick with FreeBSD because of its consistency and ease of use, so I'd be curious to know what you mean by "bumpy"?

Happy user of git-bug for several years here, it’s a great tool, and the author is very receptive about bug fixes and adding new features.

Probably my favorite is the built in TUI interface, that feature rocks.

I don’t recommend it for larger projects where you have lots of committers, the in-built feature of GitHub/GitLab probably works better for those types of setups. Where I think this tool really shines, and the perfect use case for it is with the dozens (or in my case, hundreds) of little repos you have where A) either you are the only committer, or B) the project is small (for some definition of that term), or C) if you want something setup quickly to track issues/features/milestones, you can always switch to something else later.

My relatives found this out the hard way last week, they made a low-calorie cake which was sweetened with xylitol, which their dog got into -- they left it on the kitchen table for a few minutes to cool and he managed to jump on and gavone half of it before they saw him.

They had to take him to the vet where they fed him charcoal and pumped his stomach. =-/

A Dotfile History 4 years ago

I spent some time evaluating all the available dotfile managers a few months ago and settled on chezmoi: https://www.chezmoi.io/

I had initially been turned off when I first encountered it, because it seemed overkill for (what appeared to me) a simple task.

But the problem of managing a relatively small number of dotfiles across a relatively small number of machines with small differences between them and keeping them up to date proved to be MUCH more complex than I imagined. Copy things around by hand, and then later distributing them via source control got hairy very quickly.

I finally realized all those features were absolutely necessary to manage things sanely, and once I took some time to learn how to do things with chezmoi, I have never looked back.

In addition to its docs, I found the authors dotfiles repo on Github to be a great help on how to set things up: https://github.com/twpayne/dotfiles

(FWIW: I have never used NixOS/Home Manager, so I can't really speak to how it compares to chezmoi.)

Thimbleweed Park was a great game. Lots of great in-jokes, a useful help/hint system, and the classic old-school adventure game look/feel that I played as a kid and since longed for.

I’ve long awaited more stuff from Ron Gilbert since then.

Very sorry to hear of his passing. Sven Guckes was one of the kind souls on Usenet in the 90s who went out of his way to happily help people with their tech setups. I especially learned quite a lot about Vim and Zsh from him and his rc files which he made available to everyone on his webpage, long before public dotfile repositories on Github were a thing, even before most people in the Unix world knew those tools existed.

Decades later I am still professionally and personally using and benefiting from the tools and lessons he encouraged and helped everyone out with back in the day.

My only regret was that I never got a chance to meet him and thank him in person. The closest I came was at Usenix LISA '11 in Boston when I was speaking at a config management BoF: after the session I was engaged in discussion with a German chap who I later found out was from FU Berlin. It turns out he knew Sven quite well, so I gave him $20 and asked him to give it to Sven to buy some beer on me. A small gesture for the considerable help and advice he had given to people like me.

Rest in peace my friend. You made the world a better place with your kind words and deeds.

Meow Hash (2018) 5 years ago

be sure to store the hash type as well so that you can change it later if needed

Thanks for sharing this, I'd been doing this on my own for my own stuff (eg. foo.txt-xxh32-ea79e094), but it's good to know someone else has thought it through.

I ran into the problem once where someone had named some files foo-fb490c or something similar without any annotation, and when there was a problem, it took a file to figure out they were using truncated sha256 hashes.

I wrote a console based tool based on a similar idea, it shows city-based timezones: https://zeitzono.org/

Unlike hTime, Zeitzono (currently) doesn't offer any meeting suggestion times, it's up to you to figure out when to schedule. That problem turned out to be kinda hard when more than a few cities are taken into consideration, so I never really added it in. (You do get to shift the clock to find the best time though.)

All in all a nice tool. My only suggestion would be maybe to add some more cities to search. I couldn't find some that I tried. Otherwise people have to mentally shift to the closet big city/state (e.g. Gainesville, FL, US -> Orlando/Tampa/Jacksonville), which may be a problem if you are not familiar with the area.

Also, it may be nice to add some aliases (eg. Bombay for Mumbai), because some places still go by their older names and not everyone has switched to the newer official name.

Bunch of straw questions, I don't care to answer them. Answer your own pointless questions.

By "straw question", you are implying that I replaced your argument with a false one.

In the upstream comments, you agreed that PGP/GPG is broken and insecure. We have no difference of opinion there. You then stated that the reason you still continue to use it is because a) the alternatives are not getting adopted and b) are not decentralized. You also c) questioned the motives of people suggesting the alternatives, and d) stated that they have not used them in existing workflows.

All of these are things _you_ stated, I was careful to quote each point you made as I responded to them.

If I misstated your position or replaced it with a straw man, feel free to point out where I did that and I'll gladly correct myself.

these things still do not seem to get adopted

If I understand your comment correctly, the reason you are using an old, insecure, and broken tool is because the secure replacement is not as widely used?

Are you looking for some specific percentage of the population to adopt it? What is that threshold?

Signal is OK I guess, but still does not solve a lot of things a decentralized system can.

Serious question: what problem does a decentralized tool that old, insecure, and broken solve that you would use it instead of one that is secure but "centralized"?

People always join these conversations to namedrop projects to sound smart and security conscious

I can't judge other people's motivation for mentioning PGP/GPG alternatives, but the projects they mention certainly fit the criteria for being secure replacements. Are you going to disregard their answers because you have deemed their motivations unfit?

apparently not having tried to integrate them into their existing workflows.

If you could explain your specific PGP/GPG workflow, perhaps someone might be able to suggest something to replace it.

GPG exists, and no one has really proposed good solutions

[...]

if you're going to complain please work towards solving the issue

Perhaps because you are asking the wrong question: "PGP/GPG is old, broken, and insecure, what is an exact drop-in replacement that I can substitute for it?"

Instead, the question should be: "PGP/GPG is old, broken, and insecure, what is a replacement for [this specific thing I am trying to accomplish with it]?:

So what are you trying to do with GPG? Sign a package? Encrypt a file? Store a backup? Transfer a file? Send a message? There are plenty of modern, secure solutions for these.

You can check out download stats stats for Urwid on PyPI Stats [1], that should give you a decent idea of its popularity.

Also check out the list of applications built with Urwid [2]. Probably the two most popular applications that use Urwid are bpython [3] (an alternative Python REPL that is really nice), and PUDB [4] (a nice Python debugger that is reminiscent of Borland's Turbo Pascal). I use bpython all the time, it's a lifesaver, and I occasionally fire up PUDB when I am really stuck on something.

I've used Urwid in a couple of projects (most notably Zeitzono [5]), it's nice in that it's fairly high level and gives you a number of helpful widgets to work with. Starting with it from scratch is a little daunting, so you should look at existing projects to see how they are using the library. Also, I believe Urwid development has slowed down somewhat in the last few years (although other folks maybe stepping up to take over from the original author, I haven't follow up on this in a while).

Also definitely take a look at Python Prompt Toolkit [6]. They started off as library for writing line-oriented command interpreters, but now can also be used for building full screen applications. I've not yet built an application using it, but it looks really good and is actively developed. ptpython [7] is a REPL built using this library and gives bpython a run for its money.

[1] https://pypistats.org/packages/urwid

[2] https://github.com/urwid/urwid/wiki/Application-list

[3] https://bpython-interpreter.org/

[4] https://github.com/inducer/pudb

[5] https://zeitzono.org/

[6] https://github.com/prompt-toolkit/python-prompt-toolkit

[7] https://github.com/prompt-toolkit/ptpython

I have a family member that worked for Hertz during the time of this move.

After a lot of consideration and soul searching, they decided not to move down because both his family and his wife’s family were in the North East U.S. and they had small kids who wouldn’t have adjusted well to a cross-country move.

So somewhat reluctantly, he resigned his job with Hertz and stayed back while the rest of the team moved down. It was difficult for him because he had worked there for a number of years to reach the level that he was at and essentially reset when he switched jobs.

Anyway, a short time after that, he found out that everyone he worked with and had made the move to Florida had been laid off by Hertz.

He dodged a bullet on that one. I always suspected the move was a strategic-but-unethical one by Hertz to terminate a whole bunch of people without drawing too much attention to themselves. (Older employees with families typically don’t make moves like that, and you can easily get rid of the rest after.)

Vim 8.2 7 years ago

Which plugins for Python coding are universally agreed on as "must haves" Preferably just one, or two at most.

I wrote Python in Vim for about 15 years before finding python-mode[0] about 4 years ago and I now find it absolutely indispensable.

Just about the only thing that it doesn't do natively is Black[1] (think gofmt for Python) which I started using a few months ago. It's not too hard to run it occasionally on my codebase, but I hope it's added in soon.

python-mode did remove its folding capabilties some time back, but it was easy to use another plugin for that: vim-coiled-snake[2].

Apart from these two plugins, and vim-fugitive[3] for git (another one that is a must-have), I don't use anything else except for the occasional syntax coloring plugin.

[0] https://github.com/python-mode/python-mode

[1] https://black.readthedocs.io/en/stable/

[2] https://github.com/kalekundert/vim-coiled-snake

[3] https://github.com/tpope/vim-fugitive

I just upgraded my home server from 11.1 to 11.2, now I have to do it again?

You don't have to do anything. As with other software, FreeBSD supports multiple releases. 11.2 is still a supported version, and 11.x will be supported until the year 2021.

See this page for more info: https://www.freebsd.org/security/

Fortunately, upgrading FreeBSD is a lot more convenient these days than it used to be.

Agreed. freebsd-update has made life so much easier.