Programmimg pearls

  title={Programmimg pearls},
  author={Jon Louis Bentley},
  journal={Communications of The ACM},
  • J. Bentley
  • Published 1 September 1985
  • Education
  • Communications of The ACM
Every now and then, programmers have to convert units of time. If a program processes 100 records per second, for instance, how long will it take to process one million records? Dividing shows that the task takes 10,000 seconds, and there are 3600 seconds per hour, so the answer is about three hours. But how many seconds are there in a year? If I tell you there are 3.155 X 107, you won't even try to remember it. On the other hand, who could forget that, to within half a percent, rule is usually… 
Hodge Laplacians on graphs
This is an elementary introduction to the Hodge Laplacian on a graph, a higher-order generalization of the graph LaPLacian, requiring only knowledge of linear algebra and graph theory.
Design Process
Molstack—Interactive visualization tool for presentation, interpretation, and validation of macromolecules and electron density maps
Molstack, a web‐based interactive publishing platform for structural data, allows users to present density maps and structural models by displaying a collection of maps and models, including different interpretation of one's own data, re‐refinements, and corrections of existing structures.
Is 100% Test Coverage a Reasonable Requirement? Lessons Learned from a Space Software Project
This paper interviews industrial developers who ran a project that had the sole goal of achieving 100% unit test coverage in a spaceflight software and distill lessons learned with which they hope to support other developers and decision makers when considering a 100% test coverage requirement.
States and Complexity
This work will show that states and the design entropy model can also be used to get complexity in other fields under control.
Perceptual and context aware interfaces on mobile devices
This dissertation explores how emerging sensors on a mobile phone, such as the built-in camera, the microphone, the touch sensor and the GPS module can be leveraged to make everyday interactions easier and more efficient and introduces a context-aware system named GLAZE (Generalized Location Aware ModelZ for End-users).
Rigorous Object-Oriented Analysis
Rapid prototyping can be used to check the conformance of the specification against the requirements and to detect inconsistencies, omissions or ambiguities so that feedback can be given to the requirements capture process.
Automating relational operations on data structures
The testing of compilers that produce Lisp code for iteration, and for adding and deleting tuples of composite relations, is reviewed and an approach to having compilers do most of the implementation detail work in programming that divides a program into two parts is described.
Teaching COBOL in computer information systems programs
  • Y. Uckan
  • Computer Science
    ACM SIGCSE Bull.
  • 1986
It is the conviction that COBOL should be taught in CIS programs as a file processing language, using a data structures approach, as suggested by the ACM's IS2 component.