2018-12-31: |
Our Linux ZFS fileservers work much like to our OmniOS ones
Thinking about DWiki's Python 3 Unicode issues
|
2018-12-30: |
Our third generation ZFS fileservers and their setup
|
2018-12-28: |
An odd MIME Content-Disposition or two
|
2018-12-27: |
Having metrics has taught me I didn't really know how our systems behave
The many return values of read() (plus some other cases)
|
2018-12-26: |
The problem of screenshots when you have a HiDPI display
|
2018-12-24: |
Some notes on ZFS prefetch related stats
Plaintext parts of email are fading away (in spam and non-spam)
|
2018-12-23: |
How I wound up finding a bug in GNU Tar
|
2018-12-21: |
Moving to Fedora 29 has not been one of the smooth upgrades for me
Working around an irritating recent XTerm change in behavior
|
2018-12-20: |
FreeBSD ZFS will be changing to be based on ZFS on Linux
|
2018-12-19: |
My unusual Linux setup of an untagged network and tagged VLANs on the same interface
|
2018-12-17: |
My current trick for keeping reasonably ready virtual machine images
Exploring casual questions with our new metrics system
|
2018-12-16: |
The Go 2 Error Handling proposal will likely lead to more use of error in return types
|
2018-12-15: |
Python 3's approach to filenames and arguments is pragmatically right
|
2018-12-14: |
Link: Everything you should know about certificates and PKI but are too afraid to ask
Why our Grafana URLs always require HTTP Basic Authentication
|
2018-12-13: |
Some new-to-me features in POSIX (or Single Unix Specification) Bourne shells
|
2018-12-12: |
One situation where you absolutely can't use irate() in Prometheus
|
2018-12-10: |
Why I'm usually unnerved when modern SSDs die on us
A spate of somewhat alarming flaky SMART errors on Crucial MX500 SSDs
|
2018-12-09: |
Firefox, WebExtensions, and Content Security Policies
|
2018-12-08: |
Link: HTTPS in the real world
|
2018-12-07: |
Why we like HTTP Basic Authentication in Apache so much
Modern Bourne shell arithmetic is pretty pleasant
|
2018-12-05: |
Some basic ZFS ARC statistics and prefetching
The brute force cron-based way of flexibly timed repeated alerts
|
2018-12-03: |
Wget is not welcome here any more (sort of)
Linux disk IO stats in Prometheus
|
2018-12-02: |
Checking to see if a process is alive (on Linux)
|
2018-11-30: |
Today I (re-)learned that top 's output can be quietly system dependent
I've learned that sometimes the right way to show information is a simple one
|
2018-11-29: |
Go 2 Generics: Interfaces are not the right model for type constraints
|
2018-11-28: |
Go 2 Generics: A way to make contracts more readable for people (if not programs)
|
2018-11-26: |
(Open)SSH quiet connection disconnects in theory and in practice
|
2018-11-25: |
Firefox's middle-click behavior on HTML links on Linux
How we monitor our Prometheus setup itself
|
2018-11-23: |
Some Linux disk IO stats you can calculate from kernel information
Qualified praise for the Linux ss program
|
2018-11-21: |
Some views on more flexible (Illumos) kernel crash dumps
What I really miss when I don't have X across the network
|
2018-11-20: |
When Prometheus Alertmanager will tell you about resolved alerts
|
2018-11-18: |
Old zombie Linux distribution versions aren't really doing you any favours
Some notes about kernel crash dumps in Illumos
|
2018-11-16: |
Restisting the temptation to rely on Ubuntu for Django 1.11
Go 2 Generics: Contracts are too clever
|
2018-11-14: |
Linux iptables compared to OpenBSD PF (through a real example)
|
2018-11-13: |
Our pragmatic attachment to OpenBSD PF for our firewall needs
|
2018-11-12: |
What Python 3 versions I can use (November 2018 edition)
|
2018-11-11: |
Easy configuration for lots of Prometheus Blackbox checks
The needs of Version Control Systems conflict with capturing all metadata
OpenSSH 7.9's new key revocation support is welcome but can't be a full fix
|
2018-11-10: |
Why Prometheus turns out not be our ideal alerting system
Character by character TTY input in Unix, then and now
|
2018-11-09: |
Getting CPU utilization breakdowns efficiently in Prometheus
|
2018-11-08: |
The future of our homedir-based mail server system design
|
2018-11-07: |
What email messages to not send autoreplies to (late 2018 edition)
|
2018-11-06: |
Our self-serve system for 'vacation' autoreplies and its surprising advantage
|
2018-11-05: |
rate() versus irate() in Prometheus (and Grafana)
|
2018-11-04: |
DKIM provides sender attribution (for both spam and not necessarily spam)
My view on Debian versus Ubuntu LTS for us today
|
2018-11-02: |
Metadata that you can't commit into a VCS is a mistake (for file based websites)
|
2018-11-01: |
In Linux, hitting a strict overcommit limit doesn't trigger the OOM killer
|
2018-10-31: |
Do I feel uncertain about CentOS's future now? Yes, a bit
OpenSSH has broader key revocation than I thought
|
2018-10-29: |
Shooting myself in the foot by cargo-culting Apache configuration bits
|
2018-10-28: |
How I'm visualizing health check history in Grafana
Link: HiDPI on dual 4K monitors with Linux
The obviousness of inheritance blinded me to the right solution
|
2018-10-26: |
What 'dependency' means in Unix init systems is underspecified
|
2018-10-25: |
I should always give my Python classes a __str__ method
|
2018-10-24: |
You can sort of use zdb as a substitute for a proper ZFS fsck
|
2018-10-23: |
ZFS scrubs check (much) less than you probably think they do
|
2018-10-22: |
Some DKIM usage statistics from our recent inbound email (October 2018 edition)
Using group_* vector matching in Prometheus for database lookups
|
2018-10-21: |
Some tradeoffs of having a Certificate Authority in your model
|
2018-10-20: |
The original Unix ed(1) didn't load files being edited into memory
|
2018-10-18: |
Some things on delays and timings for Prometheus alerts
Link: Vectorized Emulation [of CPUs and virtual machines]
Why you should be willing to believe that ed(1) is a good editor
|
2018-10-17: |
When metrics disappear on updates with Prometheus Pushgateway
|
2018-10-16: |
Quickly bashing together little utilities with Python is nice
|
2018-10-15: |
The external delivery delays we see on our central mail machine
Garbage collection and the underappreciated power of good enough
|
2018-10-13: |
Getting a CPU utilization breakdown in Prometheus's query language, PromQL
How Prometheus's query steps (aka query resolution) work
|
2018-10-12: |
My unusual use for Firefox's Private Browsing mode
|
2018-10-11: |
Some notes on Prometheus's Blackbox exporter
|
2018-10-10: |
Even systemd services and dependencies are not self-documenting
|
2018-10-09: |
Something systemd is missing for diagnosing oddly slow boots
|
2018-10-07: |
It's good to check systemd for new boot-time things every so often
|
2018-10-06: |
A deep dive into the OS memory use of a simple Go program
Go basically never frees heap memory back to the operating system
|
2018-10-05: |
My non-approach to password management tools
|
2018-10-03: |
Thinking about what we want to be alerted about
|
2018-10-02: |
Thinking about what we probably want for monitoring, metrics, etc
An irritating limitation or two of addons in Firefox Quantum
|
2018-09-30: |
My Firefox addons as of Firefox '64' (the current development version)
Why updating my Fedora kernels is a complicated multi-step affair
|
2018-09-28: |
Addressable values in Go (and unaddressable ones too)
Using a very old ZFS filesystem can give you a kernel panic on Linux
|
2018-09-27: |
Learning about Go's unaddressable values and slicing
|
2018-09-25: |
A problem with unmounting FUSE mount points that are on NFS filesystems
|
2018-09-24: |
Why I don't set master passwords in programs
Walking away from Google Chrome
|
2018-09-22: |
The ed(1) command in the Single Unix Specification (and the SVID)
Some differences between various versions of ed(1)
|
2018-09-21: |
Your databases always have a schema
Why I mostly don't use ed(1) for non-interactive edits in scripts
|
2018-09-20: |
Ubuntu pretty much is the 'universe' repository for us
|
2018-09-19: |
The Extended Validation TLS certificate endgame is here (to my surprise)
|
2018-09-17: |
Python 3 supports not churning memory on IO
The importance of explicitly and clearly specifying things
|
2018-09-16: |
CPython has a fairly strongly predictable runtime, which can be handy
|
2018-09-15: |
How to use uBlock Origin to block Javascript by default
|
2018-09-14: |
How you migrate ZFS filesystems matters
|
2018-09-13: |
I don't like getters and setters and prefer direct field access
|
2018-09-12: |
A surprise discovery about procmail (and wondering about what next)
|
2018-09-11: |
The Linux kernel's internals showing through in the specifics of an NFS bug
|
2018-09-09: |
Why I don't think browsers will ever standardize how 'Reader Mode' works
Cookie management models in Firefox Quantum in practice
|
2018-09-07: |
My view of the current state of Go's dependency management (as of Go 1.11)
I've slowly been improving my web experience by trusting uMatrix more
|
2018-09-06: |
Our future IPv6 access control problems due to non-DHCP6 machines
|
2018-09-04: |
Some views on the Go 2 Error Inspection early draft proposal
ZFS quietly discards all-zero blocks, but only sometimes
|
2018-09-02: |
Link: "The History of a Security Hole" (in various *BSD kernels)
An extravagant and dense piece of malware-laden email
If one phish spam doesn't succeed, maybe another will
NFS directory reading and directory file type information
|
2018-08-31: |
Link: A deep dive into the Go memory allocator
Configurations can quietly drift away from working over time, illustrated
Making Ubuntu bug reports seems to be useless (or pointless)
|
2018-08-29: |
Our problem with (Amanda) backups of many files, especially incrementals
How I recently used vendoring in Go
|
2018-08-28: |
An illustration of why it's hard to port outside code into the Linux kernel
|
2018-08-26: |
A little bit of the one-time MacOS version still lingers in ZFS
How ZFS maintains file type information in directories
|
2018-08-25: |
The history of file type information being available in Unix directories
|
2018-08-24: |
Incremental development in Python versus actual tests
|
2018-08-23: |
It's time for me to buckle down and add tests to our Django web app
|
2018-08-22: |
Why ed(1) is not a good editor today
|
2018-08-20: |
Explicit manipulation versus indirect manipulation UIs
It's worth testing that obvious things actually do work
|
2018-08-19: |
Why I'm mostly not interest in exploring new fonts (on Unix)
|
2018-08-17: |
Some malware apparently believes in covering its bases
Some Firefox addons I'm experimenting with (as of Firefox 62 or so)
|
2018-08-16: |
It matters where (or when) your programs ask questions
|
2018-08-14: |
Go's net package doesn't have opaque errors, just undocumented ones
Our problem with HTTPS and user-created content
|
2018-08-12: |
The evolution of our account creation script
A recent spate of ZIP attachments with everything
|
2018-08-10: |
Fetching really new Fedora packages with Bodhi
The benefits of driving automation through cron
One simple general pattern for making sure things are alive
|
2018-08-08: |
Systemd's DynamicUser feature is (currently) dangerous
A timesyncd total failure and systemd's complete lack of debugability
|
2018-08-06: |
Link: Where Vim Came From
Linux's /dev/disk/by-path names for disks change over time
|
2018-08-05: |
Some more notes on Firefox 63 and perhaps later media autoplay settings
Why email is often not as good as modern communication protocols
|
2018-08-03: |
Firefox now implements its remote control partly over D-Bus
How I want to use Go's versioned modules
|
2018-08-02: |
Ubuntu 18.04's problem with Amanda's amrecover
|
2018-07-31: |
The hidden danger of using rsync to copy files instead of cp
|
2018-07-30: |
My own configuration files don't have to be dotfiles in $HOME
Being reminded that an obvious problem isn't necessarily obvious
|
2018-07-29: |
Our ZFS fileservers aren't happy when you do NFS writes to a full filesystem
|
2018-07-28: |
Word-boundary regexp searches are what I usually want
|
2018-07-27: |
Today I saw a spammer parasite itself on another spammer (probably)
|
2018-07-25: |
One advantage of Go modules will be less mess in $HOME/go/src
|
2018-07-24: |
I doubt Chrome's new 'not secure' warning about HTTP sites will change much (at least right away)
|
2018-07-23: |
Some notes on lifting Python 2 code into Python 3 code
The irritatingly many executable formats of Windows
|
2018-07-22: |
The problem with some non-HiDPI aware applications (is that they're very small)
|
2018-07-21: |
How we're handling NFS exports for our ZFS on Linux systems
|
2018-07-20: |
Linux's NFS exports permissions model compared to Illumos's
|
2018-07-19: |
Sometimes it actually is a Linux kernel bug
|
2018-07-17: |
Some things on Illumos NFS export permissions
|
2018-07-16: |
Why people are probably going to keep using today's Unixes
|
2018-07-15: |
When I'll probably be able to use Python assignment expressions
Understanding ZFS System Attributes
|
2018-07-14: |
The challenge of storing file attributes on disk
|
2018-07-13: |
ZFS on Linux's sharenfs problem (of what you can and can't put in it)
|
2018-07-11: |
You should probably write down what your math actually means
|
2018-07-10: |
Some thoughts on performance shifts in moving from an iSCSI SAN to local SSDs
Remembering that Python lists can use tuples as the sort keys
|
2018-07-08: |
TLS Certificate Authorities and 'trust'
We've decided to write our future Python tools in Python 3
|
2018-07-06: |
Having your SSH server on an alternate port provides no extra security today
I'm seeing occasional mysterious POST requests without Content-Type s
|
2018-07-04: |
How and why we sell storage to people here
The hardware and basic setup for our third generation of ZFS fileservers
|
2018-07-03: |
The history of our custom NFS mount authorization system (or some of it)
|
2018-07-01: |
Understanding the first imperative of a commercial Certificate Authority
|
2018-06-30: |
My interesting experience with rapid repeated PID rollover on Linux
|
2018-06-29: |
What 'PID rollover' is on Unix systems
How ZFS makes things like 'zfs diff ' report filenames efficiently
|
2018-06-27: |
My Ryzen-based Linux office machine appears to finally be stable
I think it's still reasonable to run personal servers on the Internet
|
2018-06-25: |
Twitter probably isn't for you or me any more
|
2018-06-24: |
What ZFS block pointers are and what's in them
A broad overview of how ZFS is structured on disk
|
2018-06-22: |
When you make changes, ZFS updates much less stuff than I thought
Running servers (and services) well is not trivial
|
2018-06-20: |
Revising my view on Python 3 for new code again: you should use it
The time to be compatible with both Python 2 and Python 3 is past
|
2018-06-18: |
Getting Xorg to let you terminate the X server with Ctrl + Alt + Backspace
|
2018-06-17: |
The history of terminating the X server with Ctrl + Alt + Backspace
A broad overview of how modern Linux systems boot
|
2018-06-16: |
The 'on premise' versus 'off premise' approach to environments
|
2018-06-15: |
Default X resources are host specific (which I forgot today)
|
2018-06-14: |
Clearing cached HTTP redirections or HSTS status in Firefox
|
2018-06-13: |
Link: A Child’s Garden of Inter-Service Authentication Schemes
Link: About the memory management in the Bourne shell
The mess Ubuntu 18.04 LTS has made of libreadline
|
2018-06-11: |
A website's design shows its actual priorities
|
2018-06-10: |
People receiving email don't feel it should be their job to stop spam
|
2018-06-09: |
What ZFS messages about 'permanent errors in <0x95>:<0x0>' mean
How to run a mail sending service that will probably never send spam
|
2018-06-08: |
Networks form through usage and must be maintained through it
|
2018-06-07: |
The history of Unix's confusing set of low-level ways to allocate memory
|
2018-06-06: |
The downsides of processing files using too large a buffer size
|
2018-06-04: |
The superficial versus deep appeal of ZFS
What I use Github for and how I feel about it
|
2018-06-03: |
Why I believe that HTTPS-only JavaScript APIs make sense
|
2018-06-02: |
Intel versus AMD for me (in 2018)
|
2018-05-31: |
What is the long term future for Extended Validation TLS certificates?
Extended Validation TLS certificates are basically invisible
|
2018-05-30: |
Taking over program names in Linux is generally hard
|
2018-05-28: |
An incomplete list of reasons why I force-quit iOS apps
|
2018-05-27: |
ZFS pushes file renamings and other metadata changes to disk quite promptly
Most modern web spiders are parasites
|
2018-05-25: |
Some notes on Go's runtime.KeepAlive() function
There's real reasons for Linux to replace ifconfig, netstat, et al
|
2018-05-24: |
Registering for things on the Internet is dangerous these days
|
2018-05-23: |
Almost no one wants to run their own infrastructure
|
2018-05-21: |
Bad versions of packages in the context of minimal version selection
|
2018-05-20: |
'Minimal version selection' accepts that semantic versioning is fallible
Modern CPU power usage varies unpredictably based on what you're doing
|
2018-05-18: |
ZFS spare-N spare vdevs in your pool are mirror vdevs
How I usually divide up NFS (operation) metrics
|
2018-05-17: |
I'm worried about Wayland but there's not much I can do about it
|
2018-05-16: |
How you run out of inodes on an extN filesystem (on Linux)
|
2018-05-15: |
I have a boring desktop and I think I'm okay with that
|
2018-05-13: |
My GDPR pessimism
|
2018-05-12: |
ZFS on Linux's development version now has much better pool recovery for damaged pools
Sorting out some of my current views on operator overloading in general
|
2018-05-11: |
Notice to web spiders: an email address in your user-agent isn't good enough
|
2018-05-10: |
Python modules use operator overloading in two different ways
|
2018-05-09: |
Yubico fails to care that people give you email addresses for specific purposes
|
2018-05-08: |
How we're going to be doing custom NFS mount authorization on Linux
|
2018-05-07: |
One reason why Python doesn't let you overload the boolean AND and OR operations
|
2018-05-06: |
Firefox turns out to need some degree of 'autoplay' support
|
2018-05-05: |
Modern Unix GUIs now need to talk to at least one C library
|
2018-05-04: |
Why you can't put zero bytes in Unix command line arguments
|
2018-05-03: |
Using grep to hunt around for null bytes in text files
|
2018-05-02: |
An interaction of low ZFS recordsize , compression, and advanced format disks
|
2018-04-30: |
You probably need to think about how to handle core dumps on modern Linux servers
Microsoft's Bingbot crawler is on a relative rampage here
|
2018-04-29: |
My new 4K HiDPI display really does make a visible difference
|
2018-04-28: |
What sorts of good email attachments our users get (April 2018 edition)
|
2018-04-27: |
Some notes on Firefox's current media autoplay settings
|
2018-04-26: |
The shifting goals of our custom NFS mount authorization system
|
2018-04-25: |
An implementation difference in NSS netgroups between Linux and Solaris
|
2018-04-24: |
What the core practical problems with HiDPI seem to be on Linux
|
2018-04-23: |
ZFS's recordsize as an honest way of keeping checksum overhead down
|
2018-04-22: |
Thinking about why ZFS only does IO in recordsize blocks, even random IO
|
2018-04-20: |
The increasingly surprising limits to the speed of our Amanda backups
Spam from Yahoo Groups has quietly disappeared
|
2018-04-18: |
The sensible way to use Bourne shell 'here documents' in pipelines
A CPU's TDP is a misleading headline number
|
2018-04-17: |
Link: Parsing: a timeline
Go and the pragmatic problems of having a Python-like with statement
|
2018-04-16: |
Some notes and issues from trying out urxvt as an xterm replacement
|
2018-04-15: |
The unfortunate configuration choice Grub2 makes in UEFI configurations
|
2018-04-13: |
For the first time, my home PC has no expansion cards
A learning experience about the performance of our IMAP server
|
2018-04-12: |
I'm hoping that RHEL 8's decision on Python 2 isn't Ubuntu 20.04's decision
|
2018-04-10: |
Our real problem with a removal of Python 2 is likely to be our users
|
2018-04-09: |
Power consumption numbers for my 2018 home and work machines
|
2018-04-08: |
The interesting question of whether Ubuntu 20.04 LTS will include Python 2
A learning experience with iOS's fingerprint recognition
|
2018-04-07: |
Some numbers for how well various compressors do with our /var/mail backup
|
2018-04-06: |
Using Go finalizers can be a better option than not using them
|
2018-04-05: |
Switching over to Firefox Quantum was relatively painless
|
2018-04-04: |
Today's learning experience is that gzip is not fast
|
2018-04-03: |
Sorting out my systemd mistake with a script-based service unit
|
2018-04-02: |
Link: Closing the Loop: The Importance of External Engagement in Computer Science Research
I've retired my filtering HTTP proxy
|
2018-03-31: |
Using a local database to get consistent device names is a bad idea
My new Linux home machine for 2018
|
2018-03-30: |
My current set of Firefox Quantum (57+) addons
Sometimes, not trying to reject some sort of spam is the right answer
|
2018-03-29: |
The problem with Linux's 'predictable network interface names'
|
2018-03-28: |
The correlation between Spamhaus Zen listings and attachment types (March 2018 edition)
|
2018-03-27: |
My uncertainties around X drivers for modern Intel integrated graphics
|
2018-03-26: |
xprt: data for NFS mounts in /proc/self/mountstats is per-fileserver, not per-mount
|
2018-03-25: |
Our revised Dovecot IMAP configuration migration plans (and processes)
|
2018-03-24: |
Our current ugly hacks to Dovecot to help mitigate our IMAP problems
|
2018-03-23: |
Some things about Dovecot, its index files, and the IMAP LIST command
|
2018-03-22: |
Why seeing what current attributes a Python object has is hard
|
2018-03-21: |
You probably don't want to run Firefox Nightly any more
|
2018-03-20: |
Python and the 'bags of unstructured data' approach
|
2018-03-19: |
Some exciting ZFS features that are in OmniOS CE's (near) future
|
2018-03-18: |
Why I use Facebook (a story of web development)
|
2018-03-17: |
Much better ZFS pool recovery is coming (in open source ZFS)
|
2018-03-16: |
Wrestling with metrics to get meaningful, useful ones
|
2018-03-14: |
What I think I want out of a hypothetical nfsiotop for Linux
Why Let's Encrypt's short certificate lifetimes are a great thing
|
2018-03-12: |
A spammer misses a glorious opportunity
Linux is good at exposing the truth of how motherboards are wired
|
2018-03-11: |
A bad web scraper operating out of OVH IP address space
|
2018-03-09: |
In Fedora, your initramfs contains a copy of your sysctl settings
Some questions I have about DDR4 RAM speed and latency in underclocked memory
|
2018-03-07: |
Some things I mean when I talk about 'forged HTTP referers'
The lie in Ubuntu source packages (and probably Debian ones as well)
|
2018-03-05: |
Getting chrony to not try to use IPv6 time sources on Fedora
|
2018-03-04: |
The value locked up in the Unix API makes it pretty durable
The practical Unix API is more than system calls (or POSIX)
|
2018-03-02: |
Frequent versus infrequent developers (in languages and so on)
A sysadmin's perspective on Go vendoring and vgo
|
2018-02-28: |
egrep's -o argument is great for extracting unusual fields
Using Python 3 for example code here on Wandering Thoughts
|
2018-02-26: |
Meltdown and Spectre have made this a bad time to get a new x86 CPU
It feels good to have a fallback option for home computing
|
2018-02-25: |
What Python does when you subclass a __slots__ class is the right answer
|
2018-02-24: |
The question of what will be sending email spam over IPv6
|
2018-02-23: |
Github and publishing Git repositories
|
2018-02-21: |
Sorting out what exec does in Bourne shell pipelines
|
2018-02-20: |
How switching to uMatrix for JavaScript blocking has improved my web experience
I've now received my first spam email over IPv6
|
2018-02-19: |
Some consumer SSDs are moving to a 4k 'advance format' physical block size
|
2018-02-18: |
Memories of MGR
|
2018-02-17: |
Using lsblk to get extremely useful information about disks
|
2018-02-16: |
How I tend to label bad hardware
|
2018-02-15: |
DTrace being GPL (and thrown into a Linux kernel) is just the start
|
2018-02-14: |
Some things about ZFS block allocation and ZFS (file) record sizes
|
2018-02-12: |
Writing my first addon for Firefox wasn't too hard or annoying
|
2018-02-11: |
Sending emails to your inbox is a dangerous default
Access control security requires the ability to do revocation
|
2018-02-10: |
The interesting error codes from Linux program segfault kernel messages
|
2018-02-09: |
My failure to migrate my workstation from MBR booting to UEFI
|
2018-02-08: |
What the Linux kernel's messages about segfaulting programs mean on 64-bit x86
|
2018-02-07: |
Consumer SSDs and their nominal physical block sizes, now and in the future
|
2018-02-05: |
I should remember that sometimes C is a perfectly good option
|
2018-02-04: |
A surprise in how ZFS grows a file's record size (at least for me)
More notes on using uMatrix in Firefox 56 (in place of NoScript)
|
2018-02-02: |
Some practical tradeoffs involved in using HTTPS instead of HTTP
X's network transparency was basically free at the time
|
2018-01-31: |
Mozilla's Looking Glass 'retrospective' is unfortunately inadequate
How the IPs sending us malware break down (January 2018 edition)
|
2018-01-30: |
Reverse engineering some settings for Google Search
|
2018-01-28: |
Adding 'view page in no style' to the WebExtensions API in Firefox Quantum
Adding 'view page in no style' to Firefox Quantum's context menu
The limitations of Firefox's Reader mode
|
2018-01-26: |
A misbehaving SMTP sender can fool me about malware volume
X's network transparency has wound up mostly being a failure
|
2018-01-24: |
What the Linux rcu_nocbs kernel argument does (and my Ryzen issues again)
Some early notes on using uMatrix to replace NoScript in Firefox 56
|
2018-01-22: |
The addons that I would likely use with Firefox Quantum (57+)
Doing something when a Cinnamon-based laptop suspends or hibernates
|
2018-01-21: |
The temptation of Firefox Quantum for me
|
2018-01-19: |
I'm one of those people who never log out from their desktop
|
2018-01-18: |
Why Go cares about the difference between unsafe.Pointer and uintptr
A recent performance surprise with X on my Fedora Linux desktop
|
2018-01-17: |
My new Ryzen desktop is causing Linux to hang (and it's frustrating)
|
2018-01-16: |
You could say that Linux is AT&T's fault
|
2018-01-15: |
Meltdown and the temptation of switching to Ryzen for my new home machine
|
2018-01-14: |
Our small tools for running commands on multiple machines
|
2018-01-13: |
Some plans for migrating my workstation from MBR booting to UEFI
|
2018-01-12: |
Open source software licenses matter
|
2018-01-10: |
Linux's glibc monoculture is not a bad thing
Glibc and the Linux API
|
2018-01-09: |
Differences between keywords and constants in Python
|
2018-01-08: |
Link: Some fascinating details of cellular data transmission
|
2018-01-07: |
The challenges of having true constants in Python
Link: The Python decorators they won't tell you about
|
2018-01-06: |
What's happening when you change True and False in Python 2
What ZFS gang blocks are and why they exist
|
2018-01-05: |
Confirming the behavior of file block sizes in ZFS
|
2018-01-04: |
The goals and problems of our Dovecot IMAP configuration migration
|
2018-01-03: |
A brief review of the Dell XPS 13 as a Fedora laptop
|
2018-01-02: |
Some notes on relative imports and vendor/ in Go
|