On March 30, 2020, the ACM announced that its digital library would be open access for three months. During that time, every conference paper, journal article and book chapter published by the ACM was free to the general public. They didn’t even require a login. The reason to open the digital library was a good […]
I contribute posts over at StreamsDev, which is the developer-run community for the product I do research and development for, IBM Streams. These posts all involve SPL (Streams Processing Language), the programming language for developing applications on Streams. We have an academic paper which covers the design of SPL. In brief, SPL is designed to […]
Pictured below is my grandfather’s cheat sheet for the UNIVAC I. He typed his name, George Eugene Turner, in the upper right. The copyright, in the upper left, reads 1951. (Click for a larger image.) The ghost image is the reverse side of the sheet, which is the cover to the manual. The UNIVAC I […]
A decade ago, I was a new graduate student at William and Mary taking a course called “Linux Kernel Internals.” For this course, we all presented a walk-through of a particular part of the kernel. I had the boot process, and I created the slides Booting: From Power Up to Login Prompt. The slides can […]
A fundamental tenet of modern biology is that life happened once. In principle, we can trace the lineage of everything alive today back to that occurrence. And, as a consequence, everything alive is related. We can infer how related everything is by comparing the genomes of different species. Because the genomes for humans and chimps […]
To my surprise, some programmers consider using print statements instead of debuggers as a wholly inferior means of debugging. As I view the debugging process, they are complementary techniques. But the issue is not really “print statements” versus “debuggers.” It’s traces versus snapshots. Traces provide a long term view over a small set of data, […]
A surprisingly common sentiment among some programmers is that “computer science is math.” Certainly, computer science as a rigorous discipline emerged from mathematics. Now, we consider such foundational work to be theoretical computer science. For example, Alonzo Church’s lambda calculus and Alan Turing’s Turing machine provided a theoretical foundation for computation. At the time, the […]