What creates inheritance?
It all started with an @eevee tweet :
people who love inheritance: please tell me what problems it hassolved for you that you don't think could be solved otherwise
My answer was code reuse, but that started me down the road of wondering whatthe boundaries are of what people will call 'inheritance', at leastas far as code reuse goes.
These days, clearly the center of the 'inheritance' circle isstraight up traditional subclassing in languages like Python.But let's take a whole
The latest xterm versions mangle $SHELL in annoying ways
As of patch #301 (andwith changes since then), the canonical version of xterm has someunfortunate behavior changes surrounding the $SHELL environmentvariable and how xterm interacts with it. The full details arein the xterm manpage in the OPTIONS section, but the summary is that xterm now clearsor changes $SHELL if the $SHELL value is not in /etc/shells ,and sometimes even if it is. As far as I can tell, the decisiontree goes like this:
- if
xtermis
My view of the difference between 'pets' and 'cattle'
A few weeks ago I wrote about how all of our important machinesare pets . When I did that I did not stronglydefine how I view the difference between pets and cattle, partlybecause I thought it was obvious. Subsequent commentary in variousplaces showed me that I was wrong about this, so now I'm going tonail things down.
To me the core distinction is not in whether you hand-build machinesor have them automatically configured. Obviously when you have alarge herd of cattle you cannot hand
Sometimes why we have singleton machines is that failover is hard
One of our single points of failure around here is that we have anynumber of singleton machines that provide important service, forexample DHCP for some of our most important user networks. We buildsuch machines with amenities like mirrored system disks and we canput together a new instance in an hour or so ( most of which justgoes to copying things to the local disk ),but that still means some amount of downtime in the event of a totalfailure. So why don't we build redundant systems for these
Email from generic word domains is usually advance fee fraud spam
One of the patterns I've observed in the email sent to my sinkholeSMTP server is what I'll call the 'generic word domain' one. Prettymuch any email that is from an address at any generic word domain(such as 'accountant.com', 'client.com', 'online.com', or 'lawyer.com')is an advance fee fraud spam. It isn't sent from or associated withthe actual servers involved in the domain (if there'
What limits how fast we can install machines
Every so often I read about people talking about how fast they canget new machines installed and operational, generally in the contextof how some system management framework or another accelerates thewhole process. This has always kind of amused me, not because ourinstall process is particularly fast but insteadbecause of why it's not so fast:
The limit on how fast we install machines is how fast they canunpack packages to the local disk .
That's what takes almost all of the time; fetching (from a
My Linux container temptation: running other Linuxes
We use a very important piece of (commercial) software that is onlysupported on Ubuntu 10.04 and RHEL/CentOS 6, not anything later(and it definitely doesn't work on Ubuntu 12.04, we've tried that).It's currently on a 10.04 machine but 10.04 is going to go out ofsupport quite soon. The obvious alternative is to build a RHEL 6machine, except I don't really like
My current issues with systemd's networkd in Fedora 21
On the whole I'm happy with my switch to systemd-networkd , whichI made for reasons covered here ; my networkingworks and my workstation boots faster. But right now there are somedownsides and limitations to networkd, and in the interests of equaltime for the not so great bits I feel like running down them today.I covered some initial issues in my detailed setup entry ; the largest one is that there is no syntaxchecker for the networkd configuration files and networkd itselfdoesn't report anything to
How we do and document machine builds
I've written before about our general Ubuntu install system and I've mentioned beforethat we have documented build procedures but we don't reallyautomate them . But I've never discussedhow we do reproducible builds and so on. Basically we do themby hand, but we do them systematically.
Our Ubuntu login and compute servers are essentially entirely builtthrough our standard install system .For everything else, the first step is a base install with the samesystem. As part of this base install we make
In shell programming, I should be more willing to write custom tools
One of the very strong temptations in Unix shell programming is touse and abuse existing programs in order to get things done, ratherthan going to the hassle of writing your own custom tool to do justwhat you want. I don't want to say that this is wrong, exactly, butit does have its limits; in a variant of the general shellprogramming Turing tar pit , you can spenda lot of time banging your head against those limits or you canjust write something that is specific to your