Thursday, October 8, 2015

"But what still seems paradoxical is why Cocoa programmers advocate Objective-C in the first place if such a technology was originally created to discipline and their work? There are some possible explanations. First, although object oriented programming disciplines a programmer, such discipline is seen as beneficial to the programmer to avoid bad habits, ultimately freeing the programmer from tedious debugging and allowing for more creative, artistic work to take place. Second, our examination of Alan Kay’s motivations in creating Smalltalk suggests an ideological component to advocacy of object-orientation. Kay’s project was part of a larger “personal computing” movement associated with the 1960’s counterculture and with Doug Engelbart’s human augmentation project. Through Stewart Brand’s Whole Earth Catalog, a countercultural re-appropriation of cybernetics and small-scale digital calculators as tools not for military-industrial-bureaucratic control but for personal liberation and transcendence through information mastery lived on in the personal computing movement, replacing LSD with PCs as mind expanding tools. Two key features of the Smalltalk system, the graphical user interface and object-oriented programming, both were intended to bring computing power to the masses. Seen in this light, advocacy of dynamic object-oriented programming, and Cocoa in particular, is an ideological project of conversion."
"I do not imagine a world with fewer exploitable bugs.
I imagine a world in which much less is at risk to most bugs."

-Mark Miller, on Capability based approaches to security.

Monday, September 21, 2015

I liked this paper about how CAP 'doesn't mean what you think it means'. Not that it has all sunk into my brain, enough, yet.

Wednesday, June 17, 2015

'Our neo-Piagetian perspective leads us to view the curriculum for programming as comprising two dimensions. On one dimension are the nuts and bolts of how programming languages work. That dimension is emphasised in today’s classroom. The other and more neglected dimension comprises the skills for reasoning about programs, sometimes referred to as the notional machine (du Boulay, 1989), but which we think of in neo-Piagetian terms. This dimension is often not explicitly taught, especially in the first few weeks learning to program. We believe that, with every increment along the “nuts and bolts” dimension (i.e. with every new programming construct taught), all the neo-Piagetian stages of reasoning need to be explicitly reprised.'

Wednesday, April 22, 2015

Things like MISRA C make me sad. I wish we were all using better things, be it Ada, or formal methods, or whatever.

Tuesday, April 21, 2015

Hah! My horrible (truly, truly horrible) code. I mean, the graph output was nice compared to what it replaced, but when I went to rewrite it later (a project that never got fully released, oh well) I wanted to go back in time and back-handed slap myself in the face.

https://metacpan.org/pod/Bio::GMOD::Blast::Graph

P.S. I am a little annoyed that the list could be interpreted as meaning I am not "first author" when in fact I wrote pretty much literally all the code, and was the one who had the idea for the whole project in the first place. Oh well. :-)