“Go works fine” ha ha. The story of go on FreeBSD/aarch64 is a long one, I did some work in 2018, but quickly ragequit because the Go assembler is a deeply cursed abomination (and it has to be used because of Go’s decision to use raw syscalls instead of libc – even on an OS where raw syscalls are, though technically stable, not declared public!) Then multiple people eventually picked it up and managed to finish it.
Rust, meanwhile, exposed some deficiencies in rtld back in 2018 but never needed anything special. And yeah, no official binaries for (non-mainstream OS)&&(non-x86 ISA) on rustup, but pkg install rust is usually good enough, and is well maintained these days.
Oh, right, there’s been a gap in aarch64 official package builds due to problems with old ThunderX machines. Thankfully new Ampere machines have been donated to the FreeBSD Foundation and installed into build farms :)
FreeBSD is great! I haven’t booted my NUC with FreeBSD installed for a few months now, but back then it was a daily driver for most tasks.
I really agree with this:
FreeBSD has excellent documentation. The people on the documentation team really care about making the handbook useful. I wish it went into more detail about best practices for making your own services (I had to crib from some other service files as well as googling for a minimal template), but overall it gives you enough information to get off the ground.
Also, was watching Hackers (1995) last night and the “Devil Book” one Zero Cool mentions reminded me I need to switch that NUC back on.
Just wanted to add some bits, that might not be clear and hopefully are interesting.
doas is not related to the FreeBSD project, sudo works just fine. doas also exists for Linux. They both actually come from people active in the OpenBSD community.
Regarding the adduser and system users. Usually those are done none-interactively using pw and often people create some custom ports/packages so user creation is done part of that process. Depending on the type of daemon running, it’s actually pretty common to use the nobody, if no file system access is required.
There are pre-built rust binaries, but only for x86_64. Also it’s very uncommon to use pre-built images, rather than FreeBSD ports/packages. One strength of FreeBSD I’d say is the ports collection, easily rivaling big Linux Distributions (such as RedHat or Ubuntu). So installing any programming language environment, be it if you wanna do Go, Rust, Lua, Crystal, C#, etc. is actually rather trivial.
Manually modifying /etc/rc.conf is not strictly necessary. There is sysrc to add/modify single lines and usually there is a <servicename>_flags to append additional flags. On some services there is nice service specific convenience flags as well reaching from specifying listen addresses, to scaling instances, enabling individual jails and if you use the ipfw firewall even specifying whole templates or individual ports to be opened. Depending on the software one uses the rc.conf might contain all configuration, which can make maintenance very easy.
I think that it is fair to say that outside of x86_64 FreeBSD is probably not the best of choices though.
`pkg` is a very minimal looking package manager. It doesn’t have very many frills and it is integrated into the system pretty darn well
Not quite sure what you mean by this. pacman and dnf and apt don’t really do anything that pkg doesn’t. pkg is if anything bloated compared to the other package managers I mentioned. It even supports plugins!
I was with you with pacman and dnf, but … apt/apt-get/dpkg do a lot of things (hello dpkg-reconfigure!).
If you want to talk about svelte, apk (alpine) is probably a better comparison.
Hooks are there now (called triggers).
For alternatives we talked about them recently with bapt@ and we think that we have found a simple yet effective way to implement them.
For GPG stuff no one is working on that afaik so feel free :)
The most overlooked features in pkg is, to my mind pkg audit (replacing the old portaudit). I miss it on every other system: a command that tells me if there are any CVEs in my installed packages.
All of the *BSDs’ have a long and interesting history. For some, they retain the original Unix principles (for e.g., “do one thing and do it well”). If you liked FreeBSD’s handbook, you’ll be amazed at OpenBSD’s man pages. Good luck in your explorations!
If pictures of a cartoon shark bother you, I do not think it would be a good idea for you to read my content. I do not force you to read it. I have been working on making the stylesheets better though.
I would also suggest reflecting on the particular aspects that bother you about someone who got their professional start from the furry community using furry art to help convert parts of their message that they give out for free.
This topic has been done to death on the site already.
The idea that writing about technical topics needs to look mature and professional is a fundamentally immature one - one that most frequently reflects an insecurity about ones own maturity. Enjoy things and let others do the same.
That’s funny, while I understand your perspective, I personally have quite the opposite opinion.
In this ocean of SEO-ed tech blogs (most of them being on Medium), I find Christine’s blog’s visual identity quite refreshing and giving more of an “Indie” feel.
… goes largely without comment (except perhaps amusement) because, well, that’s how Torvalds is.
To be clear, I don’t have a problem with either cartoon animals or Torvalds flipping the bird at Nvidia. I’ll take either of those, any time of day, over a Medium ‘blog’ post that’s been edited by a PR department and spammed around LinkedIn and Twitter.
“Go works fine” ha ha. The story of go on FreeBSD/aarch64 is a long one, I did some work in 2018, but quickly ragequit because the Go assembler is a deeply cursed abomination (and it has to be used because of Go’s decision to use raw syscalls instead of libc – even on an OS where raw syscalls are, though technically stable, not declared public!) Then multiple people eventually picked it up and managed to finish it.
Rust, meanwhile, exposed some deficiencies in rtld back in 2018 but never needed anything special. And yeah, no official binaries for (non-mainstream OS)&&(non-x86 ISA) on rustup, but
pkg install rust
is usually good enough, and is well maintained these days.Oh, right, there’s been a gap in aarch64 official package builds due to problems with old ThunderX machines. Thankfully new Ampere machines have been donated to the FreeBSD Foundation and installed into build farms :)
To clarify, this is the case for ARM but a normal rustup install works fine on amd64. It is a shame how limited Rust’s tier 1 support is though.
I more mean “go works fine” as in “I can take this random program that uses only the standard library and it’ll work”.
FreeBSD is great! I haven’t booted my NUC with FreeBSD installed for a few months now, but back then it was a daily driver for most tasks.
I really agree with this:
Also, was watching Hackers (1995) last night and the “Devil Book” one Zero Cool mentions reminded me I need to switch that NUC back on.
Another great article! Love reading your blog.
Just wanted to add some bits, that might not be clear and hopefully are interesting.
doas
is not related to the FreeBSD project,sudo
works just fine.doas
also exists for Linux. They both actually come from people active in the OpenBSD community.Regarding the
adduser
and system users. Usually those are done none-interactively using pw and often people create some custom ports/packages so user creation is done part of that process. Depending on the type of daemon running, it’s actually pretty common to use the nobody, if no file system access is required.There are pre-built rust binaries, but only for x86_64. Also it’s very uncommon to use pre-built images, rather than FreeBSD ports/packages. One strength of FreeBSD I’d say is the ports collection, easily rivaling big Linux Distributions (such as RedHat or Ubuntu). So installing any programming language environment, be it if you wanna do Go, Rust, Lua, Crystal, C#, etc. is actually rather trivial.
Manually modifying /etc/rc.conf is not strictly necessary. There is sysrc to add/modify single lines and usually there is a
<servicename>_flags
to append additional flags. On some services there is nice service specific convenience flags as well reaching from specifying listen addresses, to scaling instances, enabling individual jails and if you use the ipfw firewall even specifying whole templates or individual ports to be opened. Depending on the software one uses the rc.conf might contain all configuration, which can make maintenance very easy.I think that it is fair to say that outside of x86_64 FreeBSD is probably not the best of choices though.
Not quite sure what you mean by this. pacman and dnf and apt don’t really do anything that pkg doesn’t. pkg is if anything bloated compared to the other package managers I mentioned. It even supports plugins!
I was with you with pacman and dnf, but … apt/apt-get/dpkg do a lot of things (hello
dpkg-reconfigure
!).If you want to talk about svelte, apk (alpine) is probably a better comparison.
Well, pkg doesn’t have hooks, alternatives, GPG keyring stuff…
Hooks are there now (called triggers). For alternatives we talked about them recently with bapt@ and we think that we have found a simple yet effective way to implement them. For GPG stuff no one is working on that afaik so feel free :)
The most overlooked features in pkg is, to my mind
pkg audit
(replacing the old portaudit). I miss it on every other system: a command that tells me if there are any CVEs in my installed packages.vulnix offers this for Nix/NixOS:
https://pypi.org/project/vulnix/
On Debian, install
devscripts
package and runrc-alert
.I didn’t say the GPG stuff is a good thing :D
All of the *BSDs’ have a long and interesting history. For some, they retain the original Unix principles (for e.g., “do one thing and do it well”). If you liked FreeBSD’s handbook, you’ll be amazed at OpenBSD’s man pages. Good luck in your explorations!
[Comment removed by author]
If pictures of a cartoon shark bother you, I do not think it would be a good idea for you to read my content. I do not force you to read it. I have been working on making the stylesheets better though.
I would also suggest reflecting on the particular aspects that bother you about someone who got their professional start from the furry community using furry art to help convert parts of their message that they give out for free.
This topic has been done to death on the site already.
The idea that writing about technical topics needs to look mature and professional is a fundamentally immature one - one that most frequently reflects an insecurity about ones own maturity. Enjoy things and let others do the same.
Or a slightly more sinister variant - the idea that “professional” means “looks, speaks, writes, and acts like us.”
Talking about immaturity…
Talking about immaturity…this is recursive. Great. You’ll make us run out of stack frames.
That’s funny, while I understand your perspective, I personally have quite the opposite opinion.
In this ocean of SEO-ed tech blogs (most of them being on Medium), I find Christine’s blog’s visual identity quite refreshing and giving more of an “Indie” feel.
I guess everybody has different tastes :) .
Jenna Jacobs, in the Ballroom.
Also, I’ve seen this double standard a lot in tech: “You shouldn’t put $PURPORTEDLY_CHILDISH_THING on your website! It’s unprofessional!” while …
https://am21.mediaite.com/tms/cnt/uploads/2012/06/torvalds_finger.jpg
… goes largely without comment (except perhaps amusement) because, well, that’s how Torvalds is.
To be clear, I don’t have a problem with either cartoon animals or Torvalds flipping the bird at Nvidia. I’ll take either of those, any time of day, over a Medium ‘blog’ post that’s been edited by a PR department and spammed around LinkedIn and Twitter.