HN user

cullumsmith

148 karma

Unix wrangler, Gregorian chant & banjo enjoyer.

Website: https://www.sacredheartsc.com

Email/XMPP: cullum@sacredheartsc.com

Mastodon: @cullum@bsd.cafe

Posts2
Comments20
View on HN

The phenomenon of 1.2 children per family living a living a childhood of endless leisure until being thrust into the world of adult responsibility at age 18 was totally unknown to humanity until about 5 minutes ago.

Sometimes a kid has to wash dishes. Other times he has to read his kid brother a bedtime story. I promise, they'll survive. They might even be better off as adults, being well-accustomed to small acts of charity and self-denial.

Maybe counterintuitive, but I've found that having more kids actually makes some things easier.

With 4+ children, the kids almost never come to us for entertainment. They form their own little society and find tons of ways to play and interact with each other. The little ones are just as likely to ask one of their older siblings to read them a story as they are to ask a parent, for example.

Sure, things like laundry and meals always have toil that increases with family size, but kids can start helping with such things after age 7 or so.

You are correct, sssd has a ton of features (like basically replicating the entire domain locally and caching passwords so you can roam away from your corp network). If you need those things, you need sssd.

PowerDNS is an open-source DNS server that lets you store your DNS configuration in a variety of different backends, one of which is LDAP.

For each of my "domain controllers, I run: OpenLDAP, an MIT Kerberos KDC, and a PowerDNS server. The KDC and PowerDNS both get their data from LDAP on 127.0.0.1, and LDAP changes are synchronized between all the nodes.

This is convenient because you don't have to synchronize zone files on multiple hosts.

I use custom /bin/sh-based config management system, but you can probably get the gist of it here:

https://github.com/cullumsmith/infrastructure/blob/master/sc...

https://github.com/cullumsmith/infrastructure/blob/master/fi...

Nice. I run a very similar setup, but opted for a stack of OpenLDAP / MIT Kerberos / PowerDNS on my "domain controllers."

OpenLDAP does multimaster replication and is the backend for DNS records and the Kerberos database.

The hardest part was figuring out OpenLDAPs configuration syntax, especially the correct ldif incantations for things like nested group memberOf= queries, schemas, and ACLs. It's somewhat inscrutable... Nowadays an LLM could do it for you at least.

At $job we use Linux / sssd, and I always found it super bloated and rather unreliable. It's nice coming home to FreeBSD and old boring stuff like pam_krb5 and nslcd. It just works.

The "ipa" command provided by FreeIPA for managing users/groups/etc is super convenient though.

I highly recommend this approach. I run ~all of my digital footprint on FreeBSD jails. After surveying how many jail managers have come and go in the last decade, I decided to just roll my own using a single shell script called jailctl [0].

Nothing fancy, just VNET jails based on ZFS templates (vanilla FreeBSD rootfs) and epair interfaces (which I truck to various VLANs on the host's egress interface).

One pattern that I've found useful is to give each jail a persistently delegated ZFS dataset called "data." This lets me reprovision the OS image for the jail without having to backup and restore its application data (such as a Postgres DB). It also allows each jail to manage its own ZFS snapshots.

The only thing that was a bit hairy was generating unique interface names and MAC addresses for each jail's VNET interface. My first instinct was to derive the interface name from the jail name, but interface names on FreeBSD are limited to 15 characters, and occasionally I'd hit this limit.

In the end I did some dark magic using md5 sums of the jail name / host interface MAC address. Kind of ugly but I really didn't want to introduce any dependencies besides /bin/sh.

[0] https://github.com/cullumsmith/infrastructure/blob/master/fi...

I've run my own mail for 10 years (postfix/dovecot/rspamd), no issues. Reverse DNS, SPF, and DKIM records need to be in place, but that's a small lift.

Well, one time I was unable to send mail to a guy with an ancient @att.com email address from his ISP. I got a nice bounce message back with instructions to contact their sysadmins to get unblocked.

To my surprise, they unblocked the IP of my mail server in a matter of hours.

Still running everything from my basement using FreeBSD jails and shell scripts.

Sacrificing some convenience? Probably. But POSIX shell and coreutils is the last truly stable interface. After ~12 years of doing this I got sick of tool churn.

vim with zenburn theme. grep/find when I need to look for something.

I've been programming professionally for about a decade, and the basic Unix tools have always "just worked." They're available everywhere, my dotfiles are easily portable, and there's no licensing or procurement to worry about with corporate beancounters.

I'm sure I'm giving up some marginal level of efficiency, but I've watched so many fads come and go that I'm OK with the tradeoffs of "old reliable."

There is a small segment of parents who completely prevent their children from accessing these brainrot platforms. Usually these kids are in homeschool groups with other like-minded families, with no phones or screen time.

I often wonder if this cohort will be the future elite class, or if they will be so incompatible with their peers that they'll end up forming insular communities amongst themselves (like the Amish).

My family uses a self-hosted Prosody instance with the Conversations app on Android and Dino/Gajim on the desktop. It works great.

Combined with JMP.chat, we even get SMS and voice calls from the telephone network to all our different XMPP apps. Truly feels like the future.

The technology of yesteryear seems to have more staying power. The protocols churned out by my generation seem destined for either VC/advertisement capture or death by CADT [0]. Maybe with the exception of Signal (so far...)

[0] https://www.jwz.org/doc/cadt.html

For my entire life, the networking nerds have been shaming us for not using IPv6. Back when I had a NeoPet in middle school, IPv6 was was "just around the corner." I'm now raising my own children and still listening to the same IPv6 talking points.

Every company I've ever worked for has completely disabled IPv6 on the corporate network. My own ISP still doesn't offer it. Disabling it is often the quickest fix for a variety of networking issues.

At some point we must admit failure. There is no conspiracy to limit IPv6 adoption. If the technology was truly useful, you'd see far more in our profession advocate for it.