Sat 17 November 2018
Mon 05 November 2018
Fri 02 November 2018
Recognize this pattern:
- Set a goal
- Work towards the goal
- Evaluate progress:
- If it didn't get closer to the goal, try a different approach.
- If it got closer to the goal, try improving it.
That seems reasonable, right? It accomplishes what you wanted to do, possibly in a naive manner.
Okay, let's look at the serious problems:
Mon 22 October 2018
Several people have asked me recently what hardware I would buy today for use as a home firewall.
- Partaker N3050 B5
- N3050 CPU
- no RAM (1 slot DDR3L up to 8GB)
- no SSD (room for mSATA + 2.5" SATA disk)
- 2 x gigE + wifi 802.11 b/g/n
- 2GB DDR3L RAM
- 2GB RAM
- Kingston 120GB mSATA SSD
- 120GB mSATA SSD
for a total of $176, including shipping. Links were accurate as of October 22, 2018.
This gets you a tiny box, similar in size to random commercial house router/firewall/wifi access points, which can run a standard Linux operating system with a complex firewall running at 1 Gb/s in and out, more RAM than strictly necessary, and an SSD which is both very large (and therefore can last a very long time) and boot the system quickly enough that you can do a reboot without losing TCP sessions.
I would also recommend a medium-sized USB thumb drive to set up as an emergency booting and backup device. Call it another $15 or so.
Sat 20 October 2018
Thu 18 October 2018
In the distant past, the functions of author, editor and page designer were separated. The author wrote things; the editor fixed errors (both objectively and subjectively) and selected choice bits to highlight; the page designer made things look the way they should. The editorial intermediary didn't consult the author much …
Wed 10 October 2018
All email disclaimers are utterly useless -- except, possibly, one that a lawyer sends you that, on that particular message, reminds you that you are not in a privileged relationship.
Here's the proof:
This message (including any attachment(s) hereto) is confidential and may also be privileged. It is intended solely …
Fri 21 September 2018
One problem: we have built an immense network of supercomputers that is essentially a Commons. An abuse of this Commons that would be ridiculously unprofitable if it had to be carried out by humans -- say, an expected return of one one-hundredth cent per attempt -- is highly attractive to unscrupulous actors …
Tue 28 August 2018
Sun 19 August 2018
"Move fast and break stuff" is a decent philosophy if and only if the consequences of breaking stuff are survivable.
If breaking stuff means that your website looks weird, that's survivable.
If breaking stuff means that performance sucks for a while, that's survivable.
If breaking stuff causes unavailability during a …
Sun 19 August 2018
Sat 04 August 2018
Sun 29 July 2018
The Amazon Kindle Fire HD10 (2017) is the high-end tablet of their line. The hardware is mediocre and the software is quite bad. I do not recommend you purchase this or any other Fire tablet... unless you have some very specific requirements.
Let's consider the negatives, first.
Bootloader is locked …
Thu 26 July 2018
Thu 26 July 2018
Way back in 2014, I wrote about my two stage mail filter system. At the time, I had to use a helper program called
deliver-to-maildir in order to get my read messages correctly delivered as seen, rather than new.
In the intervening time, Sam Varshavchik, the primary programmer of Courier and maildrop, made some improvements. The really useful one is this:
if (/^To:.*email@example.com/:h) to "| /usr/local/bin/deliver-to-maildir seen $HOME/Maildir/.school/"
can now be handled like this:
FLAGS="S" if (/^To:.*firstname.lastname@example.org/:h) to $HOME/Maildir/.school/
Much cleaner, and you can either set FLAGS once at the top of your mailfilter or inside a scope just before your