HNHacker News
TopNewBestAskShowJobs

mcncm

22 karma · joined July 14, 2019

submissionscomments
mcncm··on Emacs org-mode examples and cookbook (2017)
Despite being a plain-text format, it can be made very human-readable with minimal configuration. If you want to auto-export to your preferred format on save, say, and view it live in a parallel window, you can accomplish that with a single line of Emacs Lisp. This is what Emacs is all about: if you can do anything with a tiny little elisp function, there isn't exactly a clear bulleted list of what the "features" of an application are. Some people really like that.
mcncm··on Coq 8.13
Aha, good luck then! I really enjoyed that class, even after things got derailed by Covid. It was like a little problem-solving adventure every week. Still wish there were more Coq in the real world!
mcncm··on Coq 8.13
Any chance you took FRAP last spring? Hi, maybe-classmate :)
mcncm··on Learn Quantum Computation
As a matter of fact, we published just this year on a novel algorithm using just two qubits! The trick is that this algorithm is in some sense "generic" over arbitrary data structures, so we were able to claim victory by tackling the simplest possible case. It was still a challenge in practice, since it required a lot of sneaky tricks and record (to our knowledge) two-qubit gate fidelities.

We're also working with larger devices, but I'm not sure if I'm supposed to comment on those right now :)

mcncm··on Learn Quantum Computation
I work in a QC lab, and here's my perspective. There is one pretty good reason for executing programs on real hardware: because we're still pre-error-correction, errors are rampant, but they are hard to model correctly. After all, if you could model them, you could simulate quantum mechanics, and then... why were you building the thing? So, simulators have to make some strong assumptions. Running programs on real devices can teach us more about the physics of those devices and about how compile programs for them.

There's one other really good reason: it's fun!

mcncm··on Calculus for Beginners and Artists (2003)
I guess... Well, maybe I'm misunderstanding what you're saying, but I just want to be clear that you know that the branch of math most people call "calculus" is almost completely unrelated to the branches of math called "lambda calculus", and "typed lambda calculus." The former, which this link is about, has very little to do with language design. In fact, there are all different kinds of math called "X calculus" and "calculus of Y", each of which has nothing to do with the other.

Just "calculus" is short for "differential and integral calculus," which is about the local behavior of functions and the measure of objects in continuous spaces. Many people study this in high school (and earlier), since it's the underlying mathematical technology for much of the physical sciences. "Lambda calculus" is a logical system for manipulating symbols representing functions, and is indeed equivalent to Turing's symbol-manipulation system. So they both have to do with functions, but that's about where the similarity ends!

I hope I'm not coming off as brusque or anything, I just don't want you to spend loads of time on something that isn't what you think it is! That said, lots of programmers are surprisingly weak in (differential/integral) calculus, and could use a good dose of it anyway :)

mcncm··on Calculus for Beginners and Artists (2003)
Just out of curiosity, why do you need to know differential calculus to write a compiler, and what does it have to do with lambda calculus? Learning it is a great thing to do, and it will certainly help you in other ways. But that kind of programming usually has little in common with the "mathematical analysis" kind of calculus (unless you're specifically interested in differentiable programming, which is actually kind of big these days). Anyway, happy studies!