archives

Test post

Am getting a message "terminated request because of suspicious input data" when I post. The nature of the message sounds like the site SW thinks I'm trying to spoof it somehow...the post which is failing contains nothing which resembles HTML or XML, so I'm not sure why. This is a test post to see if I can post otherwise to the forum.

It appears to work.

Edit: An email has been sent to Ehud containing the post that was rejected by the server.

Commercial Users of Functional Programming (CUFP)

(via the LtU forum)

The presentations aren't online unfortunately, but it's good to know about this meeting.

Abstraction

Just noticed that Joel of Joel on Software wrote-quoting I think- at the end of his latest blog entry: 'Google uses Baysian filtering the way Microsoft uses the IF statement'
he follows this with an example of his own citing the difference in approaches to spell-checking.
Interesting point and one I hope other readers will enjoy.
Stephen

Modular Checking for Buffer Overflows in the Large

Modular Checking for Buffer Overflows in the Large. Brian Hackett; Manuvir Das; Daniel Wang; Zhe Yang.

We describe an ongoing project, the deployment of a modular checker to statically find and prevent every buffer overflow in future versions of a Microsoft product. Lightweight annotations specify requirements for safely using each buffer, and functions are checked individually to ensure they obey these requirements and do not overflow. To date over 400,000 annotations have been added to specify buffer usage in the source code for this product, of which over 150,000 were automatically inferred, and over 3,000 potential buffer overflows have been found and fixed.

Good to know someone is doing something about buffer overflows...

Best default sequence?

Most languages have a default concrete data type for collections (arrays in C and Perl, lists in Lisp and Haskell, etc.) that get used more often then they probably should. By default, I mean languages generally have better syntax for a particular data type that gets used most often (or better pattern matching, or better names for constructors (think ":" and "[]" or "cadr") or historical reasons or predominance in tutorial material, etc.). But for new languages, what criteria should we use when choosing an appropriate default? For a new functional language, I'm thinking about using catenable deques (with O(1) append, cons, and snoc) or democratic sequences (or some other balanced tree with O(lg n) complexity for almost all operations). Is there something out there that might make for an even better default? Or are the current batch of defaults already close enough to optimal?

(And please feel free to opine about different collection defaults in imperative and logic languages as well).