Firefox's WebRender has mixed results for me on Linux
I wrote last week about how WebRender introduced bad jank in myLinux Firefox under some circumstances .However, it turns out that WebRender for me has mixed results evenoutside of that issue, as I reported on Twitter :
[...] In the bad news, the WebRender Firefox is clearly lessresponsive on CSS hovers on golangnews.com than the regular one.
(The specific issue I see is that if I wave the mouse up and downthe page, the hover highlight can visibly lag behind the mouseposition
My views on when you should use the official upstream versions of software
Yesterday I wrote about how sometimes it's best to use the upstreamversions , with the story of Prometheus hereas the example for why you can be pushed into this despite whatI've said about the problems inherent in this .But I didn't write anything about when you should do this versuswhen you should stick with whatever someone else is providing foryou (usually your operating system distribution). There's nocompletely definite answer, partly because everyone's situation isa bit different, but
What containers do and don't help you with
In a comment on my entry on when to use upstream versions ofsoftware , Albert suggested thatcontainers can be used to solve the problems of using upstreamversions and when you haveto do this anyway :
A lot of those issues become non-issues if you run the apps incontainers (for example Grafana).
Unfortunately this is not the case, because of what containersdo and don't help you with.
What containers do is that they isolate the host and the containerfrom each other and make the connection
Sometimes it's best to use the official upstream versions of software
In yesterday's entry I mentioned that Ikeep track of the official Prometheus releases. In a comment, Sean Conner asked how this goes along with my views on the problems inherentin building your own copies of software packages ,most of which are about using your own versions, not just thespecifics of compiling them. There is a story there, but the shortversion is that sometimes it's better to use the official upstreamversions of software packages (and often to keep up to date onthem).
Github based projects have RSS syndication feeds for their releases
Today I discovered that Prometheus had made two bug-fixing pointreleases without sending email to their regular announcement list,which meant that we were still running 2.22.0 instead of the current2.22.2. The bug fixes in 2.22.1 and 2.22.2 fortunately don't look too important to us, but it's still a bitdisconcerting to discover we're out of date.
As it happens, if I want to I can
Apple Silicon Macs versus ARM PCs
In a comment on my entry on how I don't expect to have an ARM-basedPC any time soon , Jonathan said:
My big takeaway from the latest release of Apple laptops is that thesenew laptops aren't necessarily ARM laptops. [...]
When a person gets an Apple Silicon Mac, they are not getting an ARMcomputer. They are getting an Apple computer.
As it happens, I mostly agree with this view of the new Applemachines (and it got some good responses
Firefox on Linux has not worked well with WebRender for me so far
A while back I wrote about my confusion over Firefox's hardwareaccelerated video on Linux ; as partof that confusion, I attempted to turn on all of the preferencesand options necessary to make hardware accelerated video work. Partof the requirements is (or was) forcing on WebRender ( also ),which is in large part about having the GPU do a lot more web pagerendering than it does in Firefox today. Even after I seemed to notget hardware accelerated video, I left WebRender turned on in the
Grafana and the case of the infinite serial number
One of our more peculiar Grafana dashboardsexists to show more or less point in time SMART data for the diskdrives on a given server (or some of them). We capture this informationin Prometheus for various reasons, and since we have it in Prometheus we want to look at it in a more convenientway than direct PromQL queries. Also, this lets us easily look at the differences in SMARTmetrics between two periods (not all of which are meaningful, ofcourse). One of the bits of '
POSIX write() is not atomic in the way that you might like
I was recently reading Evan Jones' Durability: Linux File APIs . In this quitegood article, I believe that Jones makes a misstep about what you canassume about write() (both in POSIX and in practice). I'll startwith a quote from the article:
The write system call is defined in the IEEE POSIX standard as attempting to write data to afile descriptor. After it successfully returns, reads are required toreturn the bytes that were written, even when read or written by otherprocesses
Unix doesn't normally do short write()s to files and no one expects it to
A famous issue in handling network IO on Unix is that write() may notsend all of your data; you will try to write() 16 KB of data, andthe result will tell you that you only actually wrote 4 KB. Failure tohandle this case leads to mysteriously lost data, where your sendingprogram thinks it sent all 16 KB but of course the receiver only saw 4KB. It's very common for people writing network IO libraries on Unix toprovide a 'WriteAll'