Our pragmatic approach to updating machines to match our baseline
A commentator on my entry on our approach to configuration management asked a good question:
the one thing that is problematic, is development of the "goldinstalation standatd". when i make some changes, sometimes it's morework to get all the older machines to the new standard state. Do yousolve this some way, or the machines are singletons even in the time?
Our answer is that we're pragmatic about this and as a result it dependson why we're changing the baseline installation.
connect() plus write() versus sendto() for UDP sockets
The README that I wrote for my Go version of netcat contains a little aside about the 'listen on a UDP socket' mode of eachprogram:
This is how 'nc -lu' behaves for one connection, but the mechanicsare different. nc connect()s its UDP socket and then write()s to it;call leaves its UDP socket unconnected and uses sendto(). [...]
(It turns out that what netcat does is version dependent.)
So, does this make
The limitations of not actually knowing a language
As a sysadmin I've developed over the years a decent facility in whatI've been known to call 'chainsaw coding', which is where you go into a codebase with no knowledge of the code and possibly only a vagueknowledge of the language, and chainsaw in a change that actually works.I actually know C, which means that I can get quite far with chainsawcoding in any number of related languages; I can sort of read Java and C++ is usually close enough to C
How much of our incoming email is checked at SMTP DATA time
One of our anti-spam steps is to check somemessages for signs of spam at SMTP DATA time. To qualify for checking,a message must have only (accepted) RCPT TO s of people who've optedin to enough checking to make this worthwhile. I have previouslydone figures on how many recipients each average inbound email has , but I haven't looked directly at how much ofa workout this DATA time check is getting.
Over the past 30 days we've accepted 487
What I want from a future version of NFS
Years ago I wrote about my then desires for a better versionof NFS here and here . Since then I've revisedmy opinions somewhat and today (prompted by a comment here ) I want to talk about it again.
We have two use cases, which for convenience I will call 'NFS v3'and 'Samba'. The NFS v3 use case is traditional Unix filesystemactivity between trusted machines, where it is an important featurethat the servers trust the client machines to properly identifyusers (because
Balancing Illumos against ZFS on Linux
Every so often I poke at some aspect of our fileserver replacementproject (where we need to replace our current Solaris 10 Update 8servers with something modern enough to handle 4Ksector disks ), but at the moment things are movingslowly. One reason for this slowness is that I hope that things will getclearer as time goes on.
Currently I'm looking at Illumos and ZFS on Linux. With Illumos, Ibrought up most of our environment on an OmniOS VM and it all worked(including some
How to get your syndication feed fetcher at least temporarily banned here
In the spirit of a previous series ,here's how to get me to at least temporarily ban a syndication feedfetcher that appears potentially legitimate. This is not somethingthat I like to do because it potentially cuts off people who actuallywant to read Wandering Thoughts , but this case is so badand so potentially questionable that I'm doing it at least temporarily.
So here's the procedure:
- Make a lot of requests for the same feed. For example, request themain feed here once every ten
'Human error' is not a root cause of problems
Whenever something bad happens, like people changing files that arecontrolled by an automated system and then having their modificationsoverwritten , it is tempting to blame theperson, to say 'the root cause of this incident is human error'. This isboth wrong and a mistake. What we call 'human error' is basically alwaysreally a failure of process or the surrounding environment, in at leastthree different ways.
First (and famously) the person who committed the error may have beenworking in an environment and with
Automatedly overwriting changed files is not a feature
A commentator on an earlier entry wrote in(small) part, about the advantages of automated configuration managementsystems:
2) Enforced Consistency and Change Management: With every box pickingstuff up from chef on a scheduled basis, changes to importantfunctions are automatically set back to what they should be, ratherthan someones fiddle or tweak. [...]
I've seen this view expressed in any number of places, to the pointwhere it seems to be common wisdom in some sections of the sysadminworld.
A Django application design puzzle about modularity
As I mentioned in passing yesterday ,we need a web-based email settings control panel for our users,something that allows them to set various options for their accountin more user-friendly ways than editing their .forward files orlogging in to our Unix machines to run scripts. The natural way forme to put this together is to use Django, since I've been happy withour other Django-based web application.
But this now leaves me with a design puzzle. We'd really like this