A surprise to watch out for with Go's expvar package (in expvar.Var)
The standard expvar package isa handy thing for easily exposing counters, values, and so on in away that can be queried from outside your running program. As youmight expect, it ultimately works through an interface type, expvar.Var . This interfaceis very simple:
type Var interface { String() string}If you see this definition, your eyes may light up with familiarity(as mine did), because this is exactly the extremely standard fmt.Stringer interface,where everything that has a .
My initial experience of using NSD as a simple authoritative DNS server
I've been running djb's tinydns for a long time, but for a while I've been planning to replace it someday. Thedirect reason for replacing tinydns is that I want support for IPv6,for new DNS record types, and for best practices things like ratelimiting; the indirect reason is that all of djb's software hasbeen abandoned and on the Internet, unmaintained software rots . When I found myself adding an AAAArecord using raw bytes, my irritation started rising slowly andeventually
My view of Debian's behavior on package upgrades with new dependencies
In the primary Reddit discussion of my entry about actually learning apt and dpkg , yentity asked an entirely sensible question :
Why is this [apt-get's
--with-new-pkgs] not enabled by default indebian / ubuntu ?
The ultimate answer here is 'because Debian has made a philosophicalchoice'. Specifically, Debian has decided that no matter what theperson building the new version of a Debian package wants or feelsis necessary, an ' apt-get upgrade ' will never add additionalpackages
I've now used Python's argparse module and I like it
The argparse module is the Python 2.7+ replacement for the old optparse module, whichitself was basically an extension of the basic getopt module . A number of yearsago, when I could barely start using argparse ,I took a look at argparse's documentation and wound up with rathernegative feelings about it . Having now written aprogram or two that uses argparse, I'm going to take those old viewsback.
I don't yet have any opinion on argparse as more than an optparse replacement
An awkward confession and what we should do about it
I have an awkward confession.
At this point, we have been runningUbuntu machines for at least nine years or so, starting with Ubuntu6.06 and moving forward from there. In all of that time, one of thethings I haven't done (and I don't think we've done generally) isreally dive in and learn about Debian packaging and package management.Oh sure, we can fiddle around with apt-get and a number of othersuperficial things, we've
Why I don't think upgrading servers would save us much power
In a comment on this entry , BenCotton noted:
The other consideration for upgrading low-utilization servers ispower (and thus cooling) efficiency. [...]
Although I haven't gone out and metered this with our current serverfleet, my impression is that we wouldn't save very much here, ifanything. Of course my impression may be wrong, so it's time to goexploring.
Almost all of our potentially upgradeable servers are basic entrylevel 1U servers (all except
The limits of open source with Illumos and OmniOS
I go back and forth on how optimistic I feel about OmniOS and Illumosas a whole. During the up moods, I remember how our fileservers are problem free these days; during the downmoods, I remember our outstanding problems. This is an entry writtenfrom a down mood perspective.
At this point we have several outstanding problems with OmniOS andIllumos as a whole, such as our ixgbe 10G Ethernet issues and the kernel holding memory .These issues have been officially known for some time, but theyremain
The sensible update for my vintage 2011 home machine
As it happens, I think that there is a sensible, boring answer towhat I should do about my current home computer ,one that bypasses all of my concerns over a potential replacementmachine. It's just an answer I've been somewhat reluctant to do,partly because it's nowhere near as interesting as putting togethera new machine and partly because it's going to require some awkwardgyrations.
What I should really do is get a pair of 500 GB SSDs and use themto
There's a relationship between server utilization and server lifetime
In yesterday's entry on how old our servers are ,I said that one reason we can keep servers for so long is that ourCPU needs are modest, so old servers are perfectly fine. There isanother way to put this, namely that almost all of our servers havelow CPU utilization. It is this low CPU utilization that makes itpractical and even sensible to keep using old, slow servers.Similarly, almost all of our servers have low RAM utilization, lowdisk IO utilization, and so on
Wayland and graphics card uncertainty
Yesterday I wrote about several points of general technology churnthat make me reluctant to think about a new PC . But as it happens there's anadditional Linux specific issue that I worry about, and that's Wayland . Moreexactly, it's what Wayland is likely to require from graphics cards.
I use a very old fashioned X based environment , which means that all I need is oldfashioned basic X. I think I run some things that like to see OpenGL,but probably not very many of