Blog

  • Web: what is head-of-line blocking?

    Reading about internet protocols, one might encounter the term “head-of-line blocking.” What does it mean, and why is it important?

    The following is by my understanding.

    Head-of-line blocking is the idea that until one resource is fully received, the next one in the pipe has to wait.

    The http1.1, protocol, the main internet protocol from 1997 to around 2015, was susceptible to head-of-line blocking. Then, with http2, multiplexing was introduced, meaning that over the same connection, several lines of communication could occur at once. This reduced head-of-line blocking, but didn’t eliminate it. The reason is that although separate files that will make up a page can load in parallel, the whole page still has to load, eventually, before the next task in the pipe can start. Therefore, the slowest resource that loads in parallel can eventually stall the connection from being available for its next task. (This may be a bit simplified, but conceptually is what can happen.)

    The http3 protocol uses totally different ways to send information, and is more or less immune to head-of-line blocking.

    As of June 1, 2026, http1.1 and the older http1.0 make up about 28 percent of internet traffic, http2, about 51 percent, and http3, 21 percent.

    There is much more to discuss about internet protocols.

    Source:

    developer.mozilla.org: Evolution of HTTP

    developer.mozilla.org: Head-of-line blocking

    technologychecker.io: “We analyzed HTTP protocol adoption in 2026….”

    -js

  • Linux: grep, part0

    The grep command is a Linux shell one for finding strings.

    The following is by my understanding.

    The grep command is used to find a string and will print out each line that contains it.

    grep “log” a-file.txt

    will print, to terminal, each line from a-file.txt that contains the string “log”.

    grep log a-file.txt

    seems to work the same as if “log” is in quotes.

    The grep command can be used with regular expressions. For example,

    grep -E gre”e|a”t a-file.txt

    will find “great” or “greet” in a-file.txt. The -E switch means you don’t need to escape the | operator.

    Source:

    linux.die.net

    -JS

  • Web: browsers: how to find memory usage by tab in Firefox

    Especially on a light-resource system, one might want to discover which tab(s) are using a lot of juice.

    The following is how I see it.

    Right now I’m using what I’d call a Linux crunch box. It’s a computer from around 2017 that can’t run Windows 10 or 11 but can run Linux – specifically, Lubuntu.

    With my Windows PC, I commonly have 50 tabs open, sometimes on three different browsers(!), so 150 tabs total. [I am trying to cut down, though.] However, this low-resource crunchbox, whose distro included Firefox (as Linux commonly does, it seems), can’t run more than ten tabs without getting boggy. It depends on the tabs (the sites on the tabs), of course, but when I get to around ten tabs, I follow the “open one then close one” rule.

    That said, there are some sites that simply use a lot of computing power, likely because of ads. If I go to one of those sites, this PC’s fan ramps up. I either have to wait until I’m on the Windows PC to visit them, or else close more tabs in Firefox – maybe down to three or four – before visiting one of those high-resource sites.

    Some browsers, when you mouse over a tab, it shows that tab’s memory usage. What about Firefox?

    To find per-tab memory usage on Firebox, one goes into the application menu (top right, the three horizontal lines), then into More Tools, then Task Manager. You’ll see:)

    Source:

    support.mozilla.org

    -JS

  • Electronic lifestyle: forgotten username, part 2

    Sometimes, the username is the hard part to remember.

    The following is by my understanding.

    I mention in my post from June 13, 2026, a situation where I knew the password but not the original email (username) I’d signed up from. I had to go looking, but eventually discovered it.

    One thing I didn’t mention is that I quickly found recent communication from that service on a different email account. However, I couldn’t log in using that email.

    The interesting point is that sometimes one might change their email with a service, so then communication happens with the new email. However, the log in, aka username, doesn’t necessarily change; it might still be the original email the client signed up from.

    Therefore, changing the email to a more convenient one may make it more likely that, one day, one won’t recall how to log in.

    -JS

  • WordPress: what is a theme?

    We often hear about themes in WordPress. What is a WordPress theme?

    The following is by my understanding.

    The first theme I used in WordPress might have been Twenty Twelve, which is the year I started with WordPress. It came with the installation. I was doing everything myself, even back then, but didn’t know, at first, that I could have used a different theme.

    Especially in classic themes – which all WordPress themes were until sometime in 2021 – a theme was a uniform way the various parts of a WordPress site would present to the visitor. The theme came with preset fonts, colors, spacing, and pre-sized, pre-positioned boxes for photos. One could change these, to some extent, but generally speaking, the idea was that if you changed something in one place you’d change it pretty much everywhere.

    As time went on I realized I could either customize the theme I had, or change to a different theme. I eventually did both. If I changed to a new theme, I would usually strip out some of the bells and whistles a theme might provide, since I wanted my presentation to be pretty plain. I did change the background color and a few other things.

    Themes are downloadable; my impression is that there are thousands of them, both free and paid. Many have a free level, then a paid level.

    Block themes came out, it seems, in around 2021. With a block theme, the user can build each entry from blocks, so it invites more variety among posts and pages. Moreover, there is less need for coding – some would say none at all.

    So, in WordPress, a theme isn’t about content, but rather presentation. It’s a set of colors and fonts together with spacing conventions. One can change one’s theme spontaneously, just by downloading a new one and activating it. Or, for more granular changes, one can customize certain attributes of a classic theme. With a block theme, change is easy to make pretty much anywhere the reader will see.

    This WordPress installation’s present theme is the default, Twenty Twenty-Five. It’s a block theme.

    Source:

    developer.wordpress.org: What Is a Theme?

    -JS

  • Linux terminal commands: showing non-match

    Sometimes you want to weed out the “cannots.”

    The following is as I recall it.

    Yesterday I was in a server file system using the Linux terminal. I wanted to know about the folders the terminal could access, not the ones it couldn’t. Yet, there were more it couldn’t.

    I pipelined the command into grep:

    command | grep -v “cannot”

    but it was still showing the “cannot” lines.

    I learned from another source that the reason is grep only works on standard output, file handle 1 in the terminal, whereas “cannot” typically will come from standard error, file handle 2.

    When I tried

    command 2>&1 | grep -v cannot

    I got what I was hoping for. Apparently 2>&1 feeds standard error into standard output, so grep can work on it.

    Interesting, eh?

    Source:

    stackoverflow.com

    man7.org

    -JS

  • Document types, formats: file size, part 0

    Looking at relative file sizes for the same content.

    The following is by my understanding.

    One issue that’s long interested me is file size. I opened a plain-text document, then typed Hello world! and saved it. Next, I did the same for a Word (docx) document. Then, I also saved the docx as a pdf in Word. Finally, I compressed both the docx and the pdf to respective zip files.

    Here are the relevant file sizes:

    • .txt file: 12 bytes
    • .docx file: 13 kilobytes
    • .pdf file: 71.9 kilobytes
    • compressed .docx file: 10.4 kilobytes
    • compressed .pdf file: 60.6 kilobytes

    Today I looked into the .docx format specifically, why it might be so much bigger than its plain-text version.

    It turns out that the .docx format consists of numerous .xml files that describe said document. Said files, one might suspect, amount to overhead of about 13 kilobytes.

    Interesting, eh?

    Source:

    agiledocumentation.co.uk

    -JS

  • Web: is my site on a LiteSpeed server? (Finding out from Firefox)

    Being on a LiteSpeed server, you can possibly use the LiteSpeed Cache.

    The following is by my understanding.

    Once a site gets busy, for instance a WordPress site, a cache can make the difference between the site being slow versus normal.

    On my oldest WordPress site, which went up in 2012, I have always used LiteSpeed Cache, except for a couple of interruptions during updates. When I had to run the site without it, I really noticed how much slower it loaded. On that site, LiteSpeed Cache is the only plugin I use. (See my post from June 5, 2026 for some background thoughts about plugins.)

    So, LiteSpeed Cache is a plugin that I like. However, as I understand, in order to use the LiteSpeed cache, one needs to be hosted on a LiteSpeed server. (Perhaps that’s a slight oversimplification, but likely good enough for a starter’s perspective.) How does one discover if they are?

    Here’s how I did so on Firefox:

    1. On a page from the site, right-click on a non-active part. From the drop-down, click Inspect.
    2. On the new pane that appears, find Network and click on it.
    3. Reload the page. A bunch of resources will be listed as they load.
    4. Click on any of the resources. A new pane will appear; on it, find Headers and click it.
    5. Underneath the Headers title, find Response Headers and scroll down. An entry like server: LiteSpeed indicates that, indeed, the site is on a LiteSpeed server.

    There are many potential directions to follow from this post. One motivation for finding if one’s on the LiteSpeed server is to discover whether using the LiteSpeed Cache is a possibility, perhaps even as a plugin if the site is WordPress.

    For follow-up I intend to mention corresponding directions relevant to Chrome and related browsers.

    Source:

    docs.litespeedtech.com

    w3.org

    -JS

  • LibreOffice Calc: circular reference

    A formula in which the answer depends on itself is called recursive in computer science. Some spreadsheets call it a circular reference.

    The following is my understanding.

    Let’s imagine the following case: tax is assessed as 35 percent of an earner’s after-tax income. Such a calculation is a circular reference: tax=0.35*(Income-tax).

    LibreOffice Calc allows such a calculation. However, circular reference needs to be enabled. Under Tools->Options->Calculate, check a box Iterations. I set the Minimum change to 0.001, then clicked OK.

    Next, I went to cell a1 and typed 75000, then to c1 and typed =0.35*(a1-c1). The answer appeared in c1: 19444.44.

    In that case, 19444.44 should be 35 percent of (75000-19444.44). Well, 75000-19444.44=55555.56, and 35 percent of 55555.56 seems to be 19444.44. Apparently, LibreOffice Calc delivered:)

    Source:

    software.codidact.com

    -JS