Posts by cks@mastodon.social
(DIR) Post #B8AeEC1mi2M0DhnjRw by cks@mastodon.social
0 likes, 0 repeats
Today's mystery: on exactly one system (with shared NFS home directories), logins take 3+ seconds to start because '/usr/lib/systemd/systemd --user' sits on its hands between running systemd-xdg-autostart-generator and running the next step of a remarkably opaque login process.I don't even know where to start and I only got this far with a hacked version of the great extrace¹ that also reports a process start time number.¹ https://github.com/leahneukirchen/extrace (seriously, sysadmins, get a copy today)
(DIR) Post #B8C3Xk7Et48DSLjOSm by cks@mastodon.social
0 likes, 0 repeats
@JdeBP @wolf480pl Unfortunately I'm not sure how to monitor D-Bus here, especially if it's a session D-Bus. There doesn't seem to be anything getting logged (either system-wide or in the user journal).
(DIR) Post #B8C3XkZxAJ6GtPAKDg by cks@mastodon.social
0 likes, 0 repeats
@JdeBP @wolf480pl I implicitly left out a detail: this only happens when 'systemd --user' is starting up. If you already have a session (eg through another login), everything is fast. Unfortunately this means that when the problem happens, there is no user session D-Bus bus at the start for dbus-monitor to monitor.(I'm not sure the session D-Bus has been created when the stall happens.)
(DIR) Post #B8GwTqzzCdmsz2ttOC by cks@mastodon.social
0 likes, 0 repeats
Lazily going out without bothering to braid my hair is a useful reminder of why I bother to braid my hair. Everything went everywhere. On the positive side, it's now very air dried after washing it earlier today, and going outside was undoubtedly good for me.(I'm not out biking this weekend for reasons of heat plus the bike club's Saturday and Sunday rides not being among my favorites, to put it one way.)
(DIR) Post #B8GwTrFEHxyrkK249I by cks@mastodon.social
1 likes, 0 repeats
To clarify: when I went out, I had my hair in a ponytail, so it was somewhat under control. Completely loose, my hair is uncontrollable even inside, so I have it in a ponytail or braid almost all the time.(Aided by the ponytail being the starting point of the braid, because I'm not braiding my hair with it starting completely loose, that would probably be a disaster with my dexterity. I'd have to braid much more than usual with my hands completely behind my head and uh no.)
(DIR) Post #B8MlwEzTmDvKznvMES by cks@mastodon.social
0 likes, 0 repeats
@mos_8502 Unfortunately, as you know, the C Standards Committee.(There are some good people on it but they also face a lot of constraints and etc etc. At least it's apparently not as bad as the C++ one.)
(DIR) Post #B8OlBv8HfH82P1sJf6 by cks@mastodon.social
0 likes, 0 repeats
Ubuntu: you can totally continue to use GNU Coreutils in 26.04 LTS.Also Ubuntu: build-essential depends on the new Rust coreutils.Yeah, that's not "you can totally continue to use GNU Coreutils", although it sure is tempting to build my own build-essential package with a different dependency.
(DIR) Post #B8OlBvKKwSln0PVwRs by cks@mastodon.social
1 likes, 0 repeats
Am I bloody-minded enough to build a local build-essential package for Ubuntu 26.04 LTS purely so we can use GNU Coreutils? Yes, yes I am, it turns out.I have strong language for Ubuntu here.
(DIR) Post #B8QpHOc0HE8LPbYviK by cks@mastodon.social
1 likes, 0 repeats
University: We want to be a great employer and recruit great staff.Also university: our official position is that there's no limit on how hot and/or smoky your workplace can be before you can give up and/or we have to provide protective equipment like masks.Get a union, people. It's good for you.
(DIR) Post #B8XVkGAw5JbifS6hxQ by cks@mastodon.social
0 likes, 0 repeats
@ariadne @ska I should have mentioned: 26.04 has no /var/run/utmp, and the 26.04 'who' doesn't use it or a variant for the information (well, it tries, but it fails with ENOENT). Instead it seems to look around in systemd stuff and magically extract the information, even though logind/loginctl is all <shrug emoji> about it.
(DIR) Post #B8XWX1bj2KFZfwtHua by cks@mastodon.social
0 likes, 0 repeats
@ariadne @ska The Rust version does it too but we manually switched to GNU Coreutils (with some pain) for reasons. Coreutils appears to fall back to using systemd sd_* session stuff (so a library API) to create an emulated utmp if there is no real one.(Why the sd_* library stuff returns better information than logind/loginctl does is an interesting question. Part of it may be that the who code tries hard to guess based on eg /dev/pts timestamps if the API fails to have information.)
(DIR) Post #B8Y5XyKGDheOBOuPDM by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl All of that appears to be in place, and certainly SSH logins get registered (with the correct session leader PID). They just don't have the TTY information (on a stock server install).
(DIR) Post #B94NPlFaga1cpQRdvk by cks@mastodon.social
0 likes, 0 repeats
@clerie Possibly it's a non-default setting in older versions? I have both Nightly and current mainline available and it only just started happening in my Nightly, so maybe they made it a default now.
(DIR) Post #B9NI2rAysxY1Ur0bRI by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl It's a lot of work to build something Grafana-like. People are actually trying because of the various actions of Grafana the company¹, but it's clearly not going very fast. I hope they'll get there someday since I no longer trust the company, but.¹ eg https://github.com/perses/perses (there's https://github.com/credativ/plutono but it's not trying to be an alternative in a strong sense).
(DIR) Post #B9NJ0v7BN1FF5Ts9XU by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl I think it's hard to do substantially better than Grafana in terms of load. You have to render the graphs client-side in order to enable various features (eg, turning on and off specific lines on a graph), so you're pushing data points to clients, and if you want real-time updates that has to be done outside the initial HTML, and etc.
(DIR) Post #B9NJacOOSOwDRhwe6i by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl I believe canvas elements are pretty much how Grafana does all its graphs, although I haven't actually looked at the DOM. Maybe you could turn the points and etc into SVGs on the fly or something.
(DIR) Post #B9NKXYfPx3hMye0pwe by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl My wild-ass guess is that the cost of materializing the definition from JSON is paid only in the initial setup, where presumably it builds a HTML DOM and populates it with all the data and hooks. From there I'd guess that updates are about as efficient as you'd get from materializing the HTML on the server and sending it.(Grafana does have further inefficiencies, like issuing queries from the browser through the server. But I suspect they're not *major*.)
(DIR) Post #B9NKxMlQpTCXad8ESG by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl I think that would be pretty challenging. The browser's HTML DOM rendering is doing a lot of heavy lifting for Grafana dashboards in the face of things like variable sized browser windows and resizing the browser. If WASM takes all of that over, it's all on WASM; you're basically running a display server plus an app in WASM. I'm not convinced this would have better performance than HTML DOM + JS that's mostly sitting there outside of updates.
(DIR) Post #B9NSQpM8IrnaLLIGwK by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl I do wish there was a Grafana-like thing where I could write out my dashboards in some sort of plain text (Grafana's JSON provisioning is lol). And who knows, I could be wrong about the WASM stuff, I've been massively wrong in the past.(It certainly would be nifty to take all of the statically defined calculations and merging and sorting for each panel and pre-compile them to a WASM thing, that is possibly expensive.)
(DIR) Post #B9hmnYoLTu1Q9ADtGi by cks@mastodon.social
0 likes, 0 repeats
@wolf480pl My view is that gdb has a command line, among other programs, and they're not exclusive to shells. Vi ex mode is more or less a command line, etc etc.To me a command line is roughly "to do things you type words and they only take effect when you hit CR".