Stack Storage and Garbage Collection
Recently, I ran across Mike Vanier’s page containing his opinions on Scalable Computer Programming Languages. I agree almost entirely with his list: garbage collection no pointers or pointer arithmetic a foreign function interface to the C language static type checking…
Scaling Automated CS Education
The success of Salman Kahn’s Academy and other instances of disruptive education, have started me thinking about how computer science education might scale. Let’s first analyze how Kahn is organizing the learning experience. First: Have a huge collection of videos….
Keyboard Kraziness
Again, I spent far too much time looking at different keyboards. This time around, however, I can see that some people are progressing toward my latest ideal: The multi-touch surface with re-configurable keys. Mostly, I want to record all the…
Measuring Effectiveness of a Domain Specific Language
Also, at CGO I met Hassan Chafi, who is working on a graph-based Domain Specific Language. Even though I never seem to find time that I can explicitly devote to studying them, DSL’s are, to me, an compulsively fascinating topic….
Express yourself: to the compiler and to your fellow developer.
The keynote speaker at CGO 2012 (Chris Lattner, LLVM) put some crazy thoughts into my head. Want compiler to know about: memory disjointness aliasing Usage of data structures (array of struct vs struct of arrays) whether arithmetic is done on…
Thoughts on Hugo’s Thought Experiment
Dear Hugo Salinas Price, In your article, Second Thoughts on the ‘Thought Experiment, you raised a sequence of 5 items which together form an objection which led you to believe that the Thought Experiment had to “go back to the…
Information Uncertainty Principle
Through Denning’s Presentation Great Principles of Computing I heard of this fascinating tale regarding Buridan’s ass. It refers to a hypothetical situation wherein an ass is placed precisely midway between a stack of hay and a pail of water. Since…
Segregate Third-Party JS Libraries
Typically, web authors simply load whatever library they’d like to use with full trust. In JS, such loading amounts essentially to a #include. I’m flabbergasted that this practice remains normal. It could be paranoia, but even without invoking all the…
Grading
Ugh. I spent too much time today and yesterday doing grading. I shouldn’t be this slow at it. Here’s the general process: Look at 5–10 submissions and note what are the most common errors. From this, a rubric can be…