Keeping your past checklists doesn't help unless you can find them again
I mentioned recently thatthe one remaining filesystem we need to migrate from our remainingOmniOS fileserver to our Linuxfileservers is our centraladministrative filesystem . This filesystemis a challenge to move because everything depends on it and a numberof systems are tangled into it (for example, our fileservers all rsync a partial copy from its master fileserver, which means thatthey need to know and agree which is the master fileserver and themaster fileserver had better not try to replicate a copy fromitself). With so many things depending on
Go recognizes and specially compiles some but not all infinite loops
A while back, for my own reasons , Iwrote an ' eatcpu ' program to simply eat some number of CPUs worthof CPU time (by default, all of the CPUs on the machine). I wroteit in Go, because I wanted a straightforward program and life istoo short to deal with threading in C. The code that uses CPU issimply:
func spinner() { var i int for { i++ }}At the time I described this as asimple integer CPU soaker,
Our current approach for updating things like build instructions
At work here , we have a strongculture of documenting everything we do in email, in something thatwe call 'worklogs' . Worklog messages aresent to everyone in my group, and they are also stored in private,searchable web archive. We also have systematic build instructionsfor our systems , and unsurprisingly they arealso worklog messages. However, they are unusual worklog messages,because they are not only what was done but also what you shoulddo to recreate the system. This means that when we modify a
Hardware Security Modules are just boxes running opaque and probably flawed software
The news of the time interval is that researchers discovered aremote unauthenticated attack giving full, persistent control overa HSM ( via ). When I read the details, Iwas not at all surprised to read that one critical issue was thatthe internal HSM code implementing the PKCS#11 commands had exploitablebuffer overflows, because sooner or later everyone seems to havecode problems with PKCS#11 (I believe it's been a source of issuesfor Unix TLS/SSL libraries, especially OpenSSL).
(
Feed readers and their interpretation of the Atom 'title' element
My entry yesterday had the title of The HTML Once, several years ago, I wrote some Go code that needed tomanipulate a shared data structure. At this time I had written andread less Go code than I have now, and so I started out by tryingto use channels and goroutines for this. There would be one goroutinethat directly manipulated the data structure; everyone else wouldask it to do things over channels. Very rapidly this failed and Iwound up using mutexes. (The pattern I tried is what I have since seen called a monitorgoroutine These days I don't do too much with HTML, so every so often I windup in a situation where I have to reach back and reconstruct thingsthat once were entirely well known to me. Today, I wound up talkingwith someone about the The simple version is that Last Friday, my co-workers migrated the last filesystem from ourHD-based OmniOS fileservers to one of ournew Linux fileservers . With this,the only OmniOS fileserver left in production is serving a singlefilesystem, our central administrative filesystem , which is extremely involvedto move because everything uses it all the time and knows where itis (and of course it's where our NFS automounter replacement lives, along with its datafiles). Moving that filesystem is going to take a bunch of planningand a significant In Prometheus , active alerts are exposedthrough two metrics, the reasonably documented I was recently reading At least one Vim trick you might not know ( via ).In passing, the article divides Vim users (and its tips) into purists , who deliberately use Vim with minimal configuration, and exobrains , who "stuff Vim full of plugins, functions, and homebrewmappings". All of this is to say that currently, as a Vim user Iam a non-exobrain; I use Vim with minimal customization (althoughnot none). This is not because I am a deliberate purist element doesn'tdo very much , which as you'll notice has a HTMLelement named in plain text in the title. In the wake of posting theentry, I had a couple of people tell me that their feed reader didn'trender the title of my entry correctly, generally silently omitting the'
' (there was a comment on the entry and a report on Twitter ). Ironically,this is also what happened
Go channels work best for unidirectional communication, not things with replies
The HTML <pre> element doesn't do very much
element and what you could andcouldn't safely put in it, and it took some time to remember mostof the details.
doesn't escape markup, it onlychanges formatting , although many
Almost all of our OmniOS machines are now out of production
Exploring the start time of Prometheus alerts via ALERTS_FOR_STATE
ALERTS and theunder-documented new metric ALERTS_FOR_STATE . Both metrics haveall of the labels of the alert (although not its annotations), andalso an ' alertname ' label; the ALERTS metric also has anadditional ' alertstate ' metric. The value of the ALERTS metricis always '1', while the value of ALERTS_FOR_STATE is the Unixtimestamp of when the alert rule expression started being true;
I haven't customized my Vim setup and I'm not sure I should try to (yet)
Menu