Top all-time · #8734
Scott Schneider
Personal blog · scott-a-s.com · on HN as scott_sprogrammingsystems
Scott Schneider's personal blog at scott-a-s.com covers programming and systems. Since 2012, 9 different Hacker News readers have linked it 64 times, most often “Computer Science is Not Math”. The last post was in 2020, but the archive is still widely read.
Too few sampled comments (4) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for essays on computing education and computer science, such as an argument against having students use Eclipse and a piece saying CS is not math. Also cited: a phylobinary-tree post on code history.
Summarised by Claude from a sample of 4 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Computer Science is Not Math2 people · 7 mentions · first linked 2012-05-04
- Traces vs. Snapshots: Print Statements and Debuggers (2012)2 people · 5 mentions · first linked 2012-09-10
- Low-Synchronization, Mostly Lock-Free, Elastic Scheduling for Streaming Runtime [pdf]2 people · 4 mentions · first linked 2020-08-07
- Traces vs. Snapshots: Print Statements and Debuggers2 people · 3 mentions · first linked 2019-05-03
- /cs-is-not-math/2 people · 2 mentions · first linked 2018-11-30
- Phylobinary Trees2 people · 2 mentions · first linked 2013-11-18
What Hacker News says?
You might enjoy a paper I’m a coauthor on which combines finger trees with B-trees to build a data structure for optimal updates to sliding windows: Optimal and General Out-of-Order Sliding-Window Aggregation, https://www.scott-a-s.com/files/vldb2019_fiba.pdf Slides from the conference talk: https://www.scott-a-s.com/files/vldb2019_fiba_slides.pdf
Comment linking /files/vldb2019_fiba_slides.pdf
on “Ask HN: What are some cool but obscure data structures you know about?”Submitted Computer Science is Not Math as a story · 36 points
HN discussionMy response to that: https://www.scott-a-s.com/cs-is-not-math/
Comment linking /cs-is-not-math/
on “Google Tried to Patent My Work After a Job Interview”Submitted Phylobinary Trees as a story · 26 points
HN discussionThe programming model here is very similar to that of the language I work on, Streams Processing Language, normally just called SPL. A paper we have submitted on the language itself: http://www.scott-a-s.com/files/ibm_tr_2014.pdf Our domain is online stream processing for, generally, the big data space. I do think, however, that describing computations in this manner gives enormous flexibility to runtime systems to…
Comment linking /files/ibm_tr_2014.pdf
on “TensorFlow: open-source library for machine intelligence”Submitted Traces vs. Snapshots: Print Statements and Debuggers as a story · 17 points
HN discussionI have co-authored a paper where we cited the solution in a StackOverflow post. See reference 1: https://www.scott-a-s.com/files/debs2017_daba.pdf I noticed that in a paper written by different authors, rather than citing the StackOverflow post when discussing that solution, cited our paper above.
Comment linking /files/debs2017_daba.pdf
on “Nobody knows how to cite 4chan mathematicians who solved an interesting problem”Submitted The ACM Digital Library Should Remain Open as a story · 6 points
HN discussionConsider that in 1955 (the year I chose above), Fortran was still two years in the future. At this point in time, people were still wrapping their heads around the concept of a library of pre-existing routines that new programs could call. Compilers for algebraic languages pre-Fortran was even called "automatic programming" at the time. Also keep in mind that although the mid '50s was when software and computer scie…
Comment linking /grandfather-univac/
on “Carnegie Mellon Launches Undergraduate Degree in Artificial Intelligence”Submitted My Grandfather and the UNIVAC as a story · 5 points
HN discussionI don't consider myself anti-intellectual, and I wrote a blog post on my claim that computer science is not math: http://www.scott-a-s.com/cs-is-not-math/ We discussed it a few years ago: https://news.ycombinator.com/item?id=3928276
Comment linking /cs-is-not-math/
on “Software Engineering ≠ Computer Science (2009)”Submitted Traces vs. Snapshots: Print Statements and Debuggers (2012) as a story · 5 points
HN discussionIn my experience, once you get up to the 100s of threads potentially touching global structures, locks impeded scalability significantly. Even if each of those threads is modifying the global data. The key is to design your algorithms around the kind of structures that are amenable to lock free algorithms. (The experience I'm referring to: http://www.scott-a-s.com/files/pldi2017_lf_elastic_schedulin... )
Comment linking /files/pldi2017_lf_elastic_scheduling.pdf
on “What every systems programmer should know about lockless concurrency [pdf]”Submitted Traces vs. Snapshots: Print Statements and Debuggers as a story · 2 points
HN discussionIf anyone is curious what it looked like in 2004: http://www.scott-a-s.com/the-linux-boot-process-of-2004/
Comment linking /the-linux-boot-process-of-2004/
on “How modern Linux systems boot”Submitted Phylobinary Trees as a story · 2 points
HN discussionI designed and implemented a mostly lock-free dynamic thread scheduler for streaming runtimes, and I learned some similar lessons: avoid global data and amortize the necessary synchronization that you have to do. One of the main peculiarities of a streaming context is that work-stealing is counter-productive. In a streaming context, it's more like cutting in when the work would be done anyway. It's better to go find…
Comment linking /files/pldi2017_lf_elastic_scheduling.pdf
on “Resource efficient Thread Pools with Zig”Submitted Low-Synchronization, Mostly Lock-Free, Elastic Scheduling for Streaming Runtime [pdf] as a story · 1 points
HN discussion> ... it insulates the student from the javac command line program, and the command line environment itself Such a misguided article. The Java language has (quite literally) nothing to do with `javac`. In fact, there's a lot of other compilers out there. Taking a Java class should not focus on the intricacies and weirdness of Java compiler command line interfaces. It seems pretty amateurish to argue in favor of it.…
Comment linking /cs-is-not-math/
on “Don't Make Students Use Eclipse”Submitted The Linux Boot Process of 2004 as a story · 1 points
HN discussionI wrote a paper on pretty much that problem: "Evaluation of Streaming Aggregation on Parallel Hardware Architectures", https://www.scott-a-s.com/files/debs2010.pdf Conclusion in brief: in order to "win" when trying to use an off-board accelerator, you need to look at each byte transferred more than once. If you only look at a byte once to compute your result, then it's going to be faster to just do the computation o…
Comment linking /files/debs2010.pdf
on “One SQL to Rule Them All: Management of Streams and Tables”Submitted Traces vs. Snapshots: Print Statements and Debuggers as a story · 1 points
HN discussionYou may find my work from grad school useful, which was a lock-free memory allocator. The paper [1] and source code [2] are easily available. [1] Scalable Locality-Conscious Multithreaded Memory Allocation, https://www.scott-a-s.com/files/ismm06.pdf [2] https://github.com/scotts/streamflow/
Comment linking /files/ismm06.pdf
on “ARM and Lock-Free Programming”My position on "computer science is math": http://www.scott-a-s.com/cs-is-not-math/ HN discussion: https://news.ycombinator.com/item?id=3928276
Comment linking /cs-is-not-math/
on “Drop millions of allocations by using a linked list”Reminds me of this: http://www.scott-a-s.com/cs-is-not-math/
Comment linking /cs-is-not-math/
on “Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"”I agree with his main point, that we should have an entirely separate "software engineering" major which would stress the process of software development and prepare students for being professional software developers. Then, computer science programs would mainly be for students who wanted to do research in computer science - much like the difference between various engineering disciplines and physics. But he comes…
Comment linking /cs-is-not-math/
on “Let's Not Call It "Computer Science" If We Really Mean "Computer Programming"”I wrote an essay about this very thing: http://www.scott-a-s.com/traces-vs-snapshots/
Comment linking /traces-vs-snapshots/
on “Debugging Python Like a Boss”I was tickled to see that the multicore memory allocator they're implementing is based on the multithreaded memory allocator I worked on in grad school ( http://www.scott-a-s.com/files/ismm06.pdf; https://github.com/scotts/streamflow/ ).
Comment linking /files/ismm06.pdf;
on “State of Multicore OCaml [pdf]”Actually, thread-local pools predates tcmalloc by quite a few years. Cribbing from the related work section from a paper I'm a co-author on from 2006 ( http://www.scott-a-s.com/files/ismm06.pdf ): "Streamflow uses segregated object allocation in thread-private heaps, as in several other thread-safe allocators including Hoard [3], Maged Michael’s lock-free memory allocator [18], Tcmalloc from Google’s performance too…
Comment linking /files/ismm06.pdf
on “How to allocate memory”Yes, agreed completely. I had a similar experience in a streaming context, and wrote a paper about it: http://www.scott-a-s.com/files/debs2010.pdf
Comment linking /files/debs2010.pdf
on “Ask HN: Best place to learn GPU programing?”