Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Jim Silly-Balls posted:

does this thread have an opinion on UnRaid? I want to pool up a bunch of disks with a dell raid card and not paying for a windows server license would be nice.

ZFS but amateur and without the good parts, is my impression. And marketed at "hardcore gamers" according to their website, so that disqualifies that trash immediately.

Ditch the card unless it can run as a dumb HBA. Sun had a burning hatred for raid cards and they were absolutely correct.

There are two modern file systems, btrfs and zfs. If you want raid, you either do mdraid+btrfs (because btrfs has a terrible raid implementation) or zfs. Zfs is the only file system I trust and is by far the most pleasant to actually deal with.

If you just want a NAS and not deal with the internal crap, I hear freenas is still okay.

Adbot
ADBOT LOVES YOU

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
We have ~0.5PB on ZFS and I use it at home in a simple mirror. The weird Windows people get access to hourly snapshots via the "previous versions" tab and the Linux people know how to copy from the snapdir. Not having to go to backup because some numpty unlinked a TB of research data is its own reward.

Also, not having to deal with btrfs caveats is nice. ZFS's caveats are much more interesting and fun, but at least they don't eat your data.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Using ceph… on top of zfs. :hmmyes:

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Using a NAS is boring. Where's your sense for adventure? :colbert:

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
You bring dishonour to your ancestors.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Every time I have to compile qtwebkit, I cry.

That's all.

//edit:

Somehow, qtwebengine manages to be worse, though

Antigravitas fucked around with this message at 19:16 on Feb 27, 2020

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
qtwebkit takes a very long time to compile. 15 minutes on an 8 core Ryzen on a ramdisk.

qtwebengine uses BOTH make (qt) and ninja (chromium). The project is so large that the insane C header crap makes it unbelievably slow. They added the "jumbo build" option that concatenates all the headers, but each build thread then takes >2GB of private memory. So with 16 threads you need at least 32GB RAM because ninja defaults to using all threads and ignores makeopts. At least an hour of compile time. And it keeps. growing.

Building chromium is just insane, utterly insane, in every way.

The only thing that's more insane to compile is freetype with harfbuzz support, where you have to compile freetype without harfbuzz support, then harfbuzz, then recompile freetype with harfbuzz support, because freetype is a build dependency of harfbuzz. :suicide:

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
What I'm trying to say is, all C++ programmers should be sectioned.

Also, hug your distro maintainers. They need one.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Ninja is being called by qtwebengine's qmake. I never really looked much deeper into the makefile because that way lies madness and I am not strong enough to do that right now. I just want a qtwebengine… :smith:

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
I sometimes dip into other languages but honestly, Python is really nice to come home to. Dealing with venvs is garbage, but most of what I write is covered by the stdlib and what OS doesn't have requests or flask in its distro packages? So what if it's not the newest, I just make sure that my stuff works on Debian stable, deal with it.

Another upside: no makefile / automake / meson / ninja / cargo / …

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

ratbert90 posted:

venv when containers exist????

That's a venv but also for C programs. venvs are bad.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
I have written beautiful code once. It's perfect, handles all exceptions properly, is easy to read, has very little indentation, does one thing and it does it well, is documented with help output and all. It covers a lot of edge cases without becoming complex and it uses no confusing language features.

It serves as great contrast to everything else. I read it sometimes and weep in despair.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Soricidus posted:

which programming languages support zalgo variable names? just curious

>>> i̢n͡ͅv͍̯o̤̭k̟͞e̗͞ = "yospos"
>>> print(i̢n͡ͅv͍̯o̤̭k̟͞e̗͞)
yospos

Too much Zalgo breaks python:

>>> Yͨ̅O̤ͤS͊̀P̓̇Oͬ̈S̈́̂ = "bithc"
File "<stdin>", line 1
Yͨ̅O̤ͤS͊̀P̓̇Oͬ̈S̈́̂ = "bithc"
^
SyntaxError: invalid character in identifier

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
That "distroless" container thing looks like an extremely convoluted way of circling back to the equivalent of a service launched via a normal systemd unit file with cgroup isolation and ephemeral uid/gid.

At that point you can just throw away the entire container thing and build a deb package of the application and wow! it's so much simpler!

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
I primarily take offence with the practice of bundling 350MB of random garbage into a tarball along with your 500 loc Flask application. And then writing another gigantic pile of code because someone came to the realisation that this is a stupid thing to do, like that's a revelation. It's extremely javascriptian.

Btw., podman can't come to Debian 11 fast enough, jfc.

spankmeister posted:

Fedora is bad now

Weird, have they forgotten that ed is the standard editor?

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
I'm sorry, why are we using editors that aren't standard? ed is the standard editor for a reason. Whenever I open nano I get confused by its weird interface (What's an ^ anyway?). Look at how consistent and clear ed is:
pre:
ag@209:~# ed
yospos
?
^C
?
^C
?
^C
?
help
?
?
?
quit
?
Killed

xtal posted:

I must be super lucky because I've used btrfs as root for like 8 years, when the Arch wiki page for it had a huge warning banner at the top, and still haven't had any problems. I think I even converted it from ext4 in-place to begin with.

I wouldn't use it for a new system but that's because I've learned about ZFS.

btrfs is fine in single-disk scenarios. It's when you get to Real Work applications where it really shows its deficiencies. ZFS makes handling huge storage machines a breeze and easy to service, with nice and friendly messages and documentation. I wouldn't trust btrfs with our current storage needs where we regularly add entire chassis filled with spinning rust just to feed the ever growing needs of nearline storage.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Last Chance posted:

is this a joke I'm missing?

:cmon:

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
The best vi thing I ever learned is ci.

ci" deletes everything between the next set of ", places the cursor there, and switches to insert mode.

It works with a lot of common characters, ( [ ' etc.

Other than that, only s/// syntax and ranges are useful day-to-day.

I don't even use hjkl, like a rube.

Also, if you use ed, you wouldn't have to think about those things.

?

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

starbucks hermit posted:

https://access.redhat.com/blogs/766093/posts/3557091

"For example, if the Apache HTTP Server is compromised, an attacker cannot use that process to read files in user home directories by default, unless a specific SELinux policy rule was added or configured to allow such access."

That's a terrible example, $HOME is chmod 0600, I don't keep my home on a webserver, and the web application's home is really not interesting.

Also, was it SeLinux or Apparmor developers that created the following scenario?

Bob: You should enable our security thing and you are bad if you don't!
Alice: Okay, I'm enabling your security thing, but the tooling is terrible and now my application fails with cryptic error messages.
Bob: You can put our amazing security thing into complain mode and see in the logs what is failing!
Alice: I did but it still keeps failing and there's nothing in the logs.
Bob, the loving imbecile: Oh yeah, some actions are so sensitive we just block them and don't log even in complain mode!
Alice: … … …

And that's how Alice disabled the thing entirely and Bob was found strung up by his own intestines.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

starbucks hermit posted:

Did you know that the apache web server runs as root? Because it does! The initial process is root, which spawns workers. Did you know that root can do a lot of superuser things??? Like read user directories?

Mine doesn't. Also, maybe one shouldn't be doing unsafe things instead of trying to paper over bad design with another complex system. If you have to bind to 80/443, perhaps use capabilities like a normal person?

starbucks hermit posted:

Before you poo poo on these things, you should probably have a modicum of knowledge about them first.

I know enough about Selinux that I encountered the non-logged denials…and to discover that the tooling is garbage. I've written policies myself, and the entire process is terrible, ill thought out, and the documentation assumes everything does trivial things and that developers know the access they need (lmao on that one). If you don't know in advance what the thing does, you'll be chasing hard to debug failures in prod. Apparmor is extremely similar in its terribleness, but at least distro defaults are usually reasonable.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
That thing threatens to collect my dirty bits. :ohdear:

I don't feel qualified to review the code, but posting code for upstreaming without being able to demonstrate a clear advantage over the old approach is chancy. The numbers shown for a typical VM indicate a slowdown, so you'd have to provide a way to switch between approaches depending on which would be faster and that's a :can: that has led to rejections in the past.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:


I've snuck it into the ansible role common to every single linux computer in our org.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Cowsay can be templated pretty easily. I've used it on login nodes to wall at people. But sl holds a special place in my heart.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

sb hermit posted:

using Gentoo to learn linux is like jumping in the deep end from a fifty foot diving board though

wading in from the shallow end is using Ubuntu

or you can use chromebook and stay in the jacuzzi

how far can this metaphor go

Ph'nglui mglw'nafh Linux from Scratch R'lyeh wgah'nagl fhtagn.

Quite far, actually.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Using Mint is dumb though. Everything I've seen from that distro is amateur-hour bullshit. It's also downstream of Ubuntu, which is downstream of Debian, so you get some serious distro centipede bullshit on top.

OpenSuse, Fedora, mayyybe Ubuntu if you have a desktop and don't want to deal with dumb stuff all the time. Debian if you want dependable two years of peace and quiet between upheaval, Gentoo if you are a mad person.

code:
ag@rizensun ~ $ uname -r
5.11.0-gentoo-x86_64
:v:

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
I, for one, appreciate Debian's contribution in the fight against spectrum pollution.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Antigravitas posted:

OpenSuse, Fedora, mayyybe Ubuntu

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
I admit my opinion of arch the distro is forever tainted by the people who use arch.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Gentoo legit has some pretty cool tooling. I maintain an overlay with software that isn't in the main repository and writing ebuilds is much easier than writing deb or rpm packages. If you're involved in the low-level guts of the Linux ecosystem it's good.

If you are not: Don't even think about using Gentoo.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Don't forget budget. Redundancy costs money. Sometimes you just don't have the money. Sometimes redundancy is just not economical. Sometimes you could architect redundancy but it complicates operations. "Yes, we could use glusterfs everywhere, but are we confident we can recover glusterfs if it dies and the gluster guru is on vacation/got hit by a bus?" is a real concern.

Often you can take the hit of going down unscheduled once a decade but interrupting service when you need to patch right now isn't a good option.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Never work at a university then.

Pro: Some seriously cool poo poo, some of our stuff is currently in a container on a boat in the arctic circle. A real container, not some cgrouped chroot.
Neg: People tell you to re-architect your "app" in node.js on aws. We also have ssh bastion hosts that let you connect to multi-million euro equipment via rsh…

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Soricidus posted:

zero uptime is where it’s at

There's medication for that.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
How can you do right when all the tools are wrong?

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Now delete something with a newline in its filename.

My favourite teaching moment is asking someone to delete all dotfiles in a directory. (But making sure they don't have anything irreplaceable in harm's way)

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Careful though, a Linux source tree can get pretty large after building. 5GB for 5.11. Probably a good idea to use gentoo-kernel-bin anyway.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Writing my "stdio.h considered harmful" blog post now.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

It's honestly sad at this point. I'd love to have "ZFS, but in-tree", but btrfs is just treading water. It has all these bizarre caveats and options and footguns. ZFS isn't exactly trivial, but at least its footguns are well understood and far less severe.

And also, and I know this is somewhat petty, ZFS has friendlier messages when something goes wrong.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
I don't mean more useful, though that is also the case. I mean that they are written in large, friendly letters.

A zfs status with a pool that has a missing drive produces this:

quote:

state: DEGRADED
status: One or more devices are faulted in response to persistent errors. Sufficient replicas exist for the pool to continue functioning in a degraded state.
action: Replace the faulted device, or use 'zpool clear' to mark the device repaired.
[*snip pool geometry*]

It doesn't really tell me more than the more austere btrfs messages, but it feels reassuring. "Don't worry", ZFS says, "I got this".

(ZFS is also better in every area I care about but that's beside the point :v:)

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Be glad that drive poo poo the bed before you had any effort and data invested.

However, a drive making GBS threads that many errors could also be a bad connection. If it's socketed, it may be worth taking it out and putting it in again. Just be gentle doing it, especially if it's your first time handling it.

That is, if the lunatics at Dell consider this user serviceable. If not, don't touch it.

e: I've never looked at mine.

quote:

Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning : 0
temperature : 35 C
available_spare : 100%
available_spare_threshold : 10%
percentage_used : 4%
endurance group critical warning summary: 0
data_units_read : 73.967.354
data_units_written : 34.796.952
host_read_commands : 1.106.126.826
host_write_commands : 355.401.557
controller_busy_time : 2.857
power_cycles : 1.720
power_on_hours : 3.551
unsafe_shutdowns : 247
media_errors : 0
num_err_log_entries : 870
Warning Temperature Time : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1 : 35 C
Temperature Sensor 2 : 41 C
Thermal Management T1 Trans Count : 0
Thermal Management T2 Trans Count : 0
Thermal Management T1 Total Time : 0
Thermal Management T2 Total Time : 0

drat, that thing may last me a long time with my use…

Antigravitas fucked around with this message at 17:09 on Mar 8, 2021

Adbot
ADBOT LOVES YOU

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
Actually, it just occurred to me that a smart error wouldn't be a connection issue, or rather the connection would be the solder. So disregard what I wrote, my brain has turned to mush from work…

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply