We know what you are
Recently, one of our administrative aliases got email from'no-reply@researchgate.net' that looked like this:
Dewayne Perry invited you to join their network on ResearchGate andconfirm authorship of your publications.
[...]
Software Engineering
3 Publications - 3 Citations[...]
While the department does do researchand publications in software engineering (among other fields, ofcourse), our administrative alias does not publish anything and as aresult its nonexistent publications do not have citations.
People and organizations
There are two different scenarios for replacing disks in a RAID
One possible reply to my annoyance at btrfs being limited totwo-way mirrors is to note thatbtrfs, like many RAID systems, allows you to explicitly replacedisks. While btrfs is in the process of doing this, it maintainsthree-way redundancy (as do some but not all RAID systems); onlyat the end, with the new disk fully up and running, does it dropthe old disk out of the replacement. If something goes wrong withthe new disk during this process you are presumably no
A caution about cgo's error returns for errno
Go's cgo system for calling C functionsoffers a very convenient feature. As the documentation puts it:
Any C function (even void functions) may be called in a multipleassignment context to retrieve both the return value (if any) and theC errno variable as an error [...]
Reading this, you may be tempted to write more or less standard Goerror-handling code like the following:
kcid, err := C.kstat_chain_update(t.kc)if
Tweaking code when I'm faced with the urge to replace it entirely
The one of the core parts of DWiki (the program behind all of whatyou're reading) is the code that turns DWikiText into HTML (and in manyways it is the most important component, since it's what ultimatelyrenders all my content and all the comments). I spent a significantchunk of today tweaking a test version in an attempt to improve theconversion process for a number of corner cases that I care about andwould like to make better.
There are two problems with this. The
I should have started blocking web page elements well before now
uBlock Origin hasa feature where it adds a 'Block element' option to Firefox's popuppage menu (and I think other adblockers do too). For a long time Iignored it; after all, I had already had an adblocker (several ofthem, in fact), so what need did I have for yet another way ofblocking ads, a manual one at that? Let me tell you, I was wrong.I was wrong about ignoring it, and wrong about what I should be
How NFS deals with the pending delete problem
The pending delete problem is that inUnix it's valid to unlink() a file that you (or someone) has open() . If you do this, the processes with the file open must notlose access to it but the file also needs to vanish from thefilesystem. If you ignore some issues this is easily handled in thekernel for local filesystems, but when I originally talked aboutthis , I said that Sun had had to comeup with a different solution for NFS. So let'
ZFS scrub rates, speeds, and how fast is fast
Here is a deceptively simple question: how do you know if your ZFSpool is scrubbing fast (or slow)? In fact, what does the speed ofa scrub even mean?
The speed of a scrub is reported in the OmniOS ' zpool status ' as:
scan: scrub in progress since Thu Sep 10 22:48:31 2015 3.30G scanned out of 60.1G at 33.8M/s, 0h28
Changing kernel tunables can drastically speed up ZFS scrubs
We had another case where a pool scrub wastaking a very long time this past weekend and week; on a 3 TB pool,' zpool status ' was reporting ongoing scrub rates of under 3 MB/s.This got us to go on some Internet searches for kernel tunables thatmight be able to speed this up. The results proved to be extremelyinteresting.I will cut to the punchline: with one change we got the pool scrubbingat roughly 100 Mbytes/second, which is the maximum scrub
Some notes on my experience using Go's cgo system
Cgo is the Go compilersuite's bridge to C. I recently used it to write a Go packagethat gives you access to Solaris kstat kernel statistics , so I want to write downsome notes on the whole thing before they fall out of my memory.On the whole, using cgo was a pleasant enough experience. I don'thave very much experience in FFIs so Ican't say how cgo compares to others, but cgo makes C and Go seemlike a reasonably natural fit. It often
How we disable accounts here (and why)
In my opinion, the hardest part of disabling accounts is decidingwhat 'disabled' means, which can be surprisingly complex . These days, most of the time we're disabling anaccount as a prelude to removing it entirely , whichmeans that the real purpose of disabling the account is to smoke outanything that would cause people to not want the account to be deletedafter all. Thus our goal is to make it look as much as possible as ifthe account has been deleted without actually deleting anything.
These