Scott Schneider

Computer Science, computers and science

The ACM Digital Library Should Remain Open

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 […]

Streams Posts

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 […]

My Grandfather and the UNIVAC

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 […]

The Linux Boot Process of 2004

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 […]

Phylobinary Trees

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 […]

Traces vs. Snapshots: Print Statements and Debuggers

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, […]

Computer Science is Not Math

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 […]