Two challenges of incremental backups
Roughly speaking, there are two sorts of backups that you can make, full backups and incremental backups . At the abstract level,full backups are pretty simple; you save everything that you find.Incremental backups are more complicated because they save only thethings that changed since whatever they're relative to. People wantincremental backups despite the extra complexity because they savea lot of space compared to backing up everything all the time.
There are two general challenges that make incremental backups morecomplicated than full backups. The first
Understanding the limitation of 'do in new frame/window' in GNU Emacs
GNU Emacs has a core model for how it operates, and some of itsweird seeming limitations are easier to understand if you internalizethat model. One of them is what you have to do in GNU Emacs to getthe perfectly sensible operation of 'do Yesterday I wrote about the problem of giving feed readers errormessages that people will actually see ,because you can't just give them HTML text; in practice you haveto wrap your HTML text up in a stub, single-entry syndication feed(and then serve it with a HTTP 200 success code). In many situationsyou're going to want to do this by replying to the initial feedrequest with a HTTP 302 temporary redirection that winds up on your stub syndication feed (instead Suppose, not hypothetically, that there are some feed readers (orat least things fetching your syndication feeds) that are misbehavingor blocked for one reason or another. You could just serve thesefeed readers HTTP 403 errors and stop there, but you'd like to be more friendly. Forregular web browsers, you can either serve a custom HTTP error pagethat explains the situation or answer with a HTTP 302 temporaryredirection toa regular HTML page with the explanation. Often the HTTP 30 Today I ran across another article that talked in passing about"retained mode" versus "immediate mode" GUI toolkits ( this one , via ), andgave some code samples. As usual when I read about immediate mode GUIs and see source code, I had a pause of confusion because thecode didn't feel right. That's because I keep confusing "immediatemode" as used here with a much older approach, which I will call repaint mode for lack of a better description. A modern immediate For reasons outside of the scope of this entry, I want to test howvarious systemd memory resource limits work and interact with each other (which means that I'm reallydigging into cgroup v2 memory controls ).When I started trying to do this, it turned out that I had no goodtest program (or programs), although I had some ones that gave mepartial answers. There are two complexities in memory usage testing programs in acgroups environment. First, you may be able to allocate more Your software is blocked from fetching my syndication feeds because it is using a User-Agent header in its HTTP requests that claims it is a too-old browser. Your software has been redirected to this special single-entry feed so that you can hopefully find out about this and ideally remedy it. Please see my general web page on too-old browser User-Agents . The original Bill Joy vi famously only had a single level of undo(which is part of what makes it a product of its time ). The 'u' command either undid your latestchange or it redid the change, undo'ing your undo. When POSIX andthe Single Unix Specification wrote vi into the standard, theyrequired this behavior; the vi specification requires 'u' to work the same as it does in ex , whereit is specified as: Reverse the changes made by the last command that I've been logging in to Unix machines for what is now quite a longtime. When I started, it was traditional for your login process tobe noisy. The login process itself would tell you last login detailsand the 'message of the day' ('motd'), and people often made theirshell.profile or .login report more things, so you could see things like: Baptiste Mispelon asked aninteresting Python quiz ( via ,via @glyph ): Can someone explain this #Python import behavior? a.py contains `A = 1; from b import *` Can you guess and explain what happens when you run `python c.py`? I encourage you to guess
Sometimes giving syndication feed readers good errors is a mistake
The problem of delivering errors to syndication feed readers
The (very) old "repaint mode" GUI approach
Testing Linux memory limits is a bit of a pain
Your feed reader User-Agent is a too-old browser
Undo in Vi and its successors, and my views on the mess
Moving to make many of my SSH logins not report things on login
Last login: Tue Feb 10 22:16:14 2026 from 1
A fun Python puzzle with circular imports
I'm in a directory with 3 files:
b.py contains `from a import *; A += 1`
c.py contains `from a import A; print(A)` Menu