The Python language tutorial is a gem

One of the things that my recent experience learning JavaScript has made me realize(or at least reminded me) is that the Python language tutorial is a gem. Specifically it's clearlya gem starting at section 3, An Informal Introduction to Python .

What the tutorial excels at is getting someone who already knowsprogramming up to speed in Python very fast. It doesn't try to teach youeverything (although it covers quite a lot) and it assumes that you canpick things up on the fly (eg


ZFS and various sorts of read errors

After I wrote about our experience of transient checksum errors in ZFS here , a commentator wrote (quoting me):

Our experience so far is that checksum errors are always transientand don't reappear after scrubs, so for us they've been a sign of(presumed) software weirdness instead of slowly failing disk drives.

Or there was some bit rot and it was fixed by copying good data fromanother mirrored drive (or re-creating it via RAIDZ) and replacing thebad data. Isn't that


The case of the Twitter spam I don't understand

It's probably not news to anyone on Twitter that Twitter has spammers(every popular service has spammers, it's a rule of nature). In factTwitter has several forms of spam, mostly revolving around drawing yourattention with @-mentions. Much of what these spammers are up to ispretty immediately obvious and thus uninteresting, which is the state ofaffairs I'm used to. With pretty much all forms of spam on all services,it's almost always pretty obvious what the spammer is


When we replace disks in our ZFS fileserver environment

Recently, someone came here (well, here ) as the result of a Google search for [zfschksum non zero when to replace disk]. As it happens this is an issuethat we've faced repeatedly so I can give you our answer. I don't claimthat it's the right one but it's mostly worked for us.

First off, we have yet to replace a disk due to ZFS checksum errors. Ourexperience so far is that checksum errors are always transient and don


Models of providing computing access in a university department

Suppose that you are a university department, such as the Departmentof Computer Science . You need to provideaccess to computing services (and perhaps computing services themselves)to your members, especially to graduate students. Or to put itpragmatically, when a new graduate student shows up how do they get onyour network and get access to whatever general services you offer?

(These days the question to ask is 'where do they get whatever machinethey use to connect to the network?')

There's at least


Universities and their non-employees

In an ordinary conventional company, everyone there matters to thecompany (at least in theory) and if someone can't do their work it'sa real problem; the company is losing money for every minute they sitidle. At a minimum the company is losing their salary, and generallyit will be losing more than that in forgone profit (because, again intheory, everyone is making some sort of contribution to the company'sbottom line or they wouldn't be there).

(In


My perspective on the 'Bring Your Own Device' controversy

My understand, garnered mostly from Twitter , is that there is an increasingcontroversy about what is being called BYOD; people bringing in theirown computers and other devices instead of using IT-issued stuff. As ithappens I have a skewed perspective on this issue, because our academicenvironment here is heavily BYOD atmultiple levels. For us, supporting BYOD to some level is routine andin fact actively required because of how computing is provided (and notprovided) to people here.

(I say we have multi-


I may be wrong about my simple answer being the right one

In a recent entry I wrote about how I hadmisinterpreted an error message from bash about a script failing,and I also mentioned in passing that if I had paid attention tothe structure of the error message I would have known that I waswrong. I take that back. Detailed investigation has now left me moreconfused than I was before and less confidant of what exactly myco-worker's problem was (and absolutely sure that paying attention tothe structure of the error message does not really help).


Bash's superintelligent errors about exec failures

Let's take a closer look at bash's error message from yesterday , because if you pay close attentionsomething really interesting is going on. Here's the error messageagain:

bash: /tmp/exmpl: /bin/shx: bad interpreter: No such file or directory

On first blush, if you don't think about it too much, this looksperfectly sensible: bash is reporting that when it tried to exec() the /tmp/exmpl , the kernel told it that there


Sometimes the simple answers are the right ones (a lesson from bash)

A co-worker recently had a cronjob report the following error message,which he asked us for help with:

bash: /a/local/script: /bin/sh: bad interpreter: No such file ordirectory

At the time that this happened, other messages got logged suggestingthat the machine was also apparently under memory pressure.

When I saw this, my mind immediately jumped to ELF interpreters , better known as the dynamic loader. I promptlysuggested that maybe the kernel wasn't able to load the