Users circumvent control

People don’t want to be disciplined and structured when writing programs. They are ingenious in finding ways to circumvent any kind of externally imposed control.”*

While the above quote was written for people who were writing macros in spreadsheets instead of writing code, the highlighted part of the quote can equally be applied to any userbase that is required to follow a security policy. Because first and foremost users want to get their job done (even if they believe that part of their job is playing Solitaire).


[*] – When is a picture a program?

[†] – And one could add that this article predicts the emergence of the species of key punchers who thought they were programmers because they wrote lines in Visual Basic. For the article continues: “No sooner had we invented structured programming and software engineering than someone countered with the invention of spreadsheets. Spreadsheet users were not programmers, and what these users were doing was not programming. So naturally the rules didn’t apply to them- right?”

Practical Reusable Unix Software

(I think I bought mine sometime in 1997. The price tag says £26.50 which means that I had UrBaN buy it for me.)

Το βιβλίο γράφτηκε το 1995 και είναι ενδεικτικό των εργαλείων, αλλά και της φιλοσοφίας που επικρατούσε στην AT&T Research εκείνη την εποχή. Χάρη σε αυτό έμαθα για το graphviz (που με βοήθησε να φτιάξω ένα από τους πρώτους χάρτες του 6BONE αλλά και του irc.gr), το UWIN (οπότε και κατάφερα ένα από τα πρώτα native ports του netcat), τη vmalloc (που πάντα ήταν χρήσιμη όταν κάποιο πρόγραμμα είχε προβλήματα memory allocation – π.χ. το CLP(R) με κάποιες GLIBC της εποχής). Το σημαντικότερο όμως που μπορεί να προσφέρει αυτό το βιβλίο ακόμα και σήμερα, 14 χρόνια μετά και με μερικά από τα εργαλεία που παρουσιάζει όχι και τόσο χρήσιμα, είναι ο τρόπος σκέψης: ορισμός προβλήματος, προσέγγιση, αρχιτεκτονική και λύση. Και αυτά in a system administrator’s way.

Το βιβλίο είναι διαθέσιμο σε μορφή PDF και το software που περιγράφει (αλλά και άλλο νεώτερο) βρίσκεται στο http://www.research.att.com/sw/tools

[via]

The Gosling Tarpit

I think Panagiotis is going to love this:

“because the Java programming language and Java Virtual Machine are (surprise!) so tightlyCoupled, new language designers are compelled to make their languages such that they use only those features they can implement efficiently on the JVM. For example, implementations of Scheme for the JVM either lack call/cc or have a very slow and slightly buggy implementation of it. We call this the Gosling Tarpit.”

From Phosphorous, The Popular Lisp.

[via]

new toy

Last week, after doing a lot of searching about a commercial Prolog implementation, I decided to go along and purchase WIN-PROLOG from LPA. On Tuesday the CD-ROM was delivered to my mailbox and I had the chance of trying out some stuff to get accustomed to the environment. Pretty impressive documentation, even if you have never written a line of Prolog before! It reminds me of the days that I was reading the DEC manuals.

crypt(3) archaeology

There seems to be a bug biting crypt(3) on Lenny amd64. On such platforms when using crypt(3) with the traditional DES scheme you get a segmentation fault. You do not get this when using the Modular Crypt Format ($digit$ password hash style). Fortunately, for the problem I was facing, I located and used the crypt(3) implementation from the Seventh Edition Unix. It is available from The Unix Heritage Society thanks to Henry Spencer.

Programming Languages: An Interpreter-Based Approach

Sam Kamin authored Programming Languages: An Interpreter-Based Approach in 1990. This excellent book, which shows how to implement Lisp, APL, Scheme, SASL, CLU, Smalltalk, and Prolog in Pascal, is out of print and you can only buy it from places like AbeBooks.com. But good news seem to be on the way, as Sam Kamin writes:

I occasionally am asked whether I intend to update this book. In fact, Norman Ramsey has expanded the book into a new edition, which should be published fairly soon. In the meantime, he has provided the pdf to some people

I can’t wait!