Keeping secrets as a system administrator
There are two sorts of secrets in the world: known secrets and unknownsecrets.
A known secret is something that people already know exists; forexample, your root password is a known secret. Keeping a known secretis simple: you just don't tell people your root password. You haveto guard known secrets against inadvertent disclosure (it's alwaysembarrassing to type your root password into the wrong window), butthat's mostly it.
(I am ignoring the possibility of deliberate attacks against the
Docstrings versus comments in my code
One of the great not quite arguments in the Python world is betweendocstrings and comments, specifically which one you should use inyour code. My answer is that I use both, although more comments thandocstrings, but I use them for different things.
My comments are primarily written as internal documentation; how afunction operates, why it operates that way, the high level logic andstructure of the code, and so on. Docstrings, when I write them, areexternal documentation, covering things like how to use
Tradeoffs in where you store volume management metadata
One of the divisions between different logical volume systems is whereand how they store the metadata about what logical volumes exist andwhat they're made up of. Roughly speaking there are two choices:'in-band', where you store the metadata in a reserved area of some ofthe disk space you're managing, and 'out-of-band', where you store itoutside. In-band storage is used by Linux software RAID and LVM; out ofband storage is used by Solaris
The stages of Bittorrent encryption
Recently it's been mentioned in the news that versions of BitTorrent have gotten more encryption. Because thissort of thing interests me (partly due to my long standing interest in BitTorrent), I'vedecided to summarize the various current sorts of BitTorrent encryption.
BitTorrent encryption efforts have been designed to hide BitTorrent, sothey have acted to make it less recognizable .
Traffic shapers started out recognizing (and choking) the distinctclient to client communication, so people obfuscated and encryptedit. A unique session key is arranged
An idea for a browser anti-phish feature
Here's a somewhat naive idea for a browser anti-phish feature thatmight actually work, at least until phish spammers started gettingreally creative in various ways, sparked by yesterday's entry .
First, let's start with the twin observations that the real goal ofanti-phish efforts is to avoid you entering your bank login and passwordanywhere except on your bank's site, and that people notice the presenceof things much more easily than they notice the absence of things.
(Hence, among
Why authenticated email won't stop phish spam
Every so often, people proposes some form of authenticated email as away of stopping phish spam; digital signatures, SPF, DomainKeys, youname it it's probably been put forward. Unfortunately, all of these aretackling the wrong problem and thus none of them can work even in theory(much less in practice).
The core problem of dealing with phish email is not that you need to beable to positively identify messages from your bank, which is what thevarious forms of authenticated email give you,
The easy way to keep a week's worth of something
As an example, say that you want to keep a week's worth of backups fromyour PostgreSQL database. The pg_dump command will get the dumps,but how do you handle keeping a week's worth (or only keeping a week'sworth, depending on your perspective)?
Simple: use GNU date 's ability to give you the day of the week tocycle through a set of seven backup files, one for each day. It wouldlook something like this:
DAY=$
The two sorts of (programmer) certification
When you're talking about certifying people, there are really two sortsof certification; certification of people, and certification of peopleand procedures. In yesterday's entry Iwas implicitly talking about the latter sort of certification, so todayI'm going to explain why.
First, one of the usual stated goals of programmer certificationis to move to an environment where software is more reliable andsecure, like the work that engineers produce.
At the best, certification of people is a stamp of approval that you
Why software engineering certification may not work out the way people want
Proponents of requiring programmers to be certified generally havein mind the model of engineering and an outcome much like howcertification has worked out for engineers; often this is made explicitwith labels like 'software engineering certification'. In this model,the programming world keeps evolving at almost its usual pace, much likeengineers keep building new sorts of buildings with new designs,but it does so in a (more) disciplined way so that programs don't falldown so often.
But there's another model for how
Why NFS writes to ZFS are sometimes (or often) slow
It's a relatively well known issue that writing lots of small files overNFS to a ZFS filesystem is slow, but I was surprised to discover that ithad a significant slowdown even when doing large bulk streaming writesto single files. Discovering this got me curious enough to dig intothings.
Like most recent filesystems, ZFS is a journaled, usingwhat the ZFS people call the ZIL (ZFS Intent Log) .Also like other journaled filesystems, ZFS has the fsyncproblem . So where do the syncscome from