2016-07-23
My current set of Chrome extensions (as of July 2016)
I know, I've said bad things about Chrome extensions before. Still, I seem to have slowly accumulated a number of extensions that I use, some of which I even trust, and that means it's worth actually documenting them so I can keep track (and easily put them into a new Chrome instance someday).
Unsurprisingly, my Chrome extensions are broadly similar in spirit to my normal set of Firefox extensions. Some of these Chrome extensions date back to years ago when I made a serious attempt to set up a Chrome equivalent of my Firefox environment so I could give Chrome a fair trial.
The obvious cases:
- uBlock Origin
works just as well in Chrome as it does in Firefox, and is good for the
same things and the same reason.
- HTTPS Everywhere because I feel that this is a good idea and why not.
User interface issues:
- The bluntly named Don't Fuck With Paste
(also, and,
via)
makes it so that websites can't stop you from pasting things into
form input fields. These websites are basically wrong and they make
me very annoyed, since how I manage website passwords requires paste
to work.
(The Firefox equivalent is disabling dom.event.clipboardevents.enabled in about:config.)
- MiddleButtonScroll
makes it so that you can scroll the page around with the middle mouse
button. I'm extremely used to this behavior in Firefox, so I was happy
to be able to get it in Chrome too.
- CLEAN crxMouse Gestures
is a giant experiment that makes me nervous. There have historically
been no good, non-spyware gestures extensions for Chrome (when one
existed, it wound up corrupted). This extension at
least claims and appears to be a 'clean' (ie non-spyware) version of
the relatively good but spyware crxMouse Gestures extension. I'm not
sure if I trust it, but I really, really want mouse gestures so I'm
willing to take the chance as an experiment. If someone tells me
that it too is bad, I will be sad but not surprised.
(Adding this extension is what pushed me into writing this entry.)
Security, sort of:
- ScriptBlock
is what I'm currently using as my NoScript equivalent on Chrome.
Because my only major usage of Chrome is my hack use of incognito
mode, I don't actually get much exposure to
this extension so I don't really have any opinions on how well
it works.
- FlashBlock for Chrome is theoretically there for the same reasons that I have it in Firefox, but again in practice I mostly use Chrome in a way that deliberately disables it so I don't really have many opinions. Plus, Chrome is increasingly disabling Flash all on its own.
Things that I should probably remove:
- Stylish
is the Chrome version of the Firefox extension of the same name,
which I used to make significant use of before I sadly discovered
that it was part of my big Firefox memory leaks. In practice I don't use this in Chrome,
but it seems harmless (and at the time I initially set up Chrome many
years ago, it seemed like something I was going to want).
- Protect My Choices
seemed like a good idea at the time that I ran across it but the
more I look at it the more I'm not sure I should have this extension
sitting around doing things.
(It turns out that I only have this installed in my work Chrome, not my home Chrome. So it's going to get removed the next time I'm in the office.)
Since Chrome's incognito mode is mostly how I use Chrome, I have a number of these extensions enabled in it. Right now, the list is uBlock Origin, MiddleButtonScroll, Don't Fuck With Paste, and CLEAN crxMouse Gestures (because there isn't much point in adding a mouse gestures extension I don't entirely trust if I'm not going to use it).
In Firefox, I consider It's All Text! to be essential. Unfortunately Chrome's very different extension model means that the Chrome equivalents have always had to do terribly awkward things that made them unattractive to me.
Since incognito mode discards cookies when I close it down, I haven't tried to find any sort of cookie management extension. As usual, this might be a bit of a mistake, as I do use non-incognito Chrome just a bit and so I've probably picked up a certain amount of cookie lint in the process.
(For me, Linux Chrome is significantly faster than Linux Firefox for Flickr. Since logging in all the time is annoying, I use the regular Chrome in order to retain the necessary login cookies.)
2016-07-21
My current set of essential extensions for Firefox profiles
For reasons beyond the scope of this entry, I recently set up a new Firefox profile. As a new profile it needs to be (re) customized for my preferences, including extensions. I can't just use my regular browser's set of extensions because this profile is for staying logged in to Twitter and needs to be set up so that Twitter is usable. Also, I don't want to spend a lot of time maintaining it, because I'm only going to use it once in a while.
Since there may be more single-use profiles like this in my future, I'm writing down my current set of essential Firefox extensions for this sort of environment. They are:
- FireGestures
is just as essential here as it is in my regular browser. Its
various gestures are part of my automatic reflexes by now and
it's disconcerting to be in a browser environment that doesn't
support them.
- uBlock Origin
is a painless way to keep the tracking and advertisement and other
invasions of my privacy down to a dull roar. A great benefit is
that it basically needs no maintenance, so I can just ignore that
I have it installed.
- Self-Destructing Cookies
is a painless way to clean out the underbrush of invasive third
party cookies that I'm probably slowly
picking up every so often (partly from following the odd link
from Twitter to elsewhere). I allow Twitter's cookies to persist
so that I stay logged in, and everything else gets quietly junked.
(In general SDC is good for any low usage or specialized profile where I want to use the low friction model of cookie handling.)
Although I've considered it, I'm not currently using NoScript in this profile. In theory NoScript shouldn't be blocking anything because I only use this profile on Twitter and I'd have to whitelist Twitter's JavaScript; in practice, it's likely to need at least periodic attention to whitelist some new domain that now has JavaScript that's necessary to keep Twitter working.
(If I follow links from Twitter to other sites in this profile, I may regret this choice. But I generally don't do that, since I read Twitter almost entirely through choqok and choqok is set to open links in my regular browser session.)
A number of my regular extensions are okay here and potentially useful, but aren't compelling enough to bother installing in a new profile that I'm using this way. Part of this is that Twitter allows you to control video autoplay in your settings, so I have it turned off; if that changed, FlashStopper or some equivalent might become important.
(Things would be a bit different if you could build bundles of extensions and extension preferences that would all install together. Then I'd probably roll in more of my standard extensions, because each additional extension wouldn't be a little additional drip of hassle to get and customize.)
2016-07-13
Our central web server, Apache, and slow downloads
Recently, our monitoring system alerted us that our central web server wasn't responding. This has happened before and so I was able to immediately use our mod_status URL to see that yep, all of the workers were busy. This time around it wasn't from a popular but slow CGI or a single IP address; instead, a bunch of people were downloading PDFs of slides for a course here. Slowly, apparently (although the PDFs aren't all that big).
This time around I took the simple approach to deal with the problem; I increased the maximum number of workers by a bunch. This is obviously not an ideal solution, as we're using the prefork MPM and so more workers means more processes which means more memory used up (and potentially more thrashing in the kernel for various things). In our specific situation I figured that this would have relatively low impact, as worker processes that are just handling static file transfers to slow clients don't need many resources.
A high maximum workers setting is dangerous in general, though. With a different access pattern, the number of workers we have configured right now could easily kill the entire server (which would have a significant impact on a whole lot of people). Serving static files to a whole lot of slow clients is not a new problem (in fact it's a classic problem), but Apache has traditionally not had any clever way to handle it.
Modern versions of Apache have the event MPM, which its documentation claims is supposed to deal reasonably with this situation. We're using the prefork MPM, but I don't think we've carefully evaluated our choice here; it's just both the Ubuntu default and the historical behavior. We may want to reconsider this, as I don't think there's any reason we couldn't switch away from prefork (we don't enable PHP in the central web server).
(Per this serverfault question and answer, in the ever increasing world of HTTPS the event MPM is basically equivalent to the worker MPM. However, our central web server is still mostly HTTP, so could benefit here, and even the worker MPM is apparently better than prefork for avoiding memory load and so on.)
PS: There are potential interactions between NFS IO stalls and the choice of MPM here, but in practice in our environment any substantial NFS problem rapidly causes the web server to grind to a halt in general. If it grinds to a halt a little bit faster with the event or worker MPM than with the prefork one, this is not a big deal.