HNHacker News
TopNewBestAskShowJobs

asdf_snar

192 karma · joined April 24, 2020

submissionscomments
asdf_snar··on Find out if your code has made it into any academic publications
Thank you for this reply. My experience aligns with yours, and I find your conclusion (the question is not interesting) insightful. You're probably right.

I am an ex-academic that wrote useless algorithms. The implementations were mathematically correct and the algorithms did what we said they did, but the premise of the algorithm itself was flawed. To the extent that the algorithms were correct, the target problems were useless, and to the extent that the target problem was a "real-world" problem, there were a million things unrelated to the mathematics that made the contribution inconsequential.

The reason I wondered about such a study is that I know many academics who wouldn't believe the situation as dire as you describe it (though I very much agree it is <0.01% -- I just wanted to be conservative).

asdf_snar··on Find out if your code has made it into any academic publications
This is cool, but I've always wanted to know the reverse: how many arXiv papers that have an "algorithm" in them have made it into the codebase at a for-profit company? I estimate it at less than 0.1%.

Of course, no company would let you scan their codebase, but perhaps there is another way of estimating this number. I'm even willing to put out a $ bounty for a clear formulation (e.g. what constitutes an "algorithm"?) and answer to this question. I'm not sure if that sounds stupid (please raise your hand if it does!).

asdf_snar··on Ask HN: How to build a light weight personal blog?
I just wanted to give an A+ for Hugo's quickstart. This HN post was coincidentally exactly what I had been wondering about. From the wealth of replies, I narrowed down my choices to Jekyll and Hugo. Both require a little bit of work to render LaTeX, but Hugo seemed more tailored to newbies like myself.

I finally got around to trying it and used Hugo's quick-start guide: https://gohugo.io/getting-started/quick-start/. I've never been able to breeze through a quick-start so seamlessly. Everything worked as advertised and with no prior knowledge I was able to see a post on my local machine in < 2 minutes. I'm amazed that the local server command `hugo server -D` works so seamlessly.

I've yet to add LaTeX but the quickstart makes me very optimistic. Thanks again to the creators of Hugo for such a friendly quick-start.

asdf_snar··on A New Coefficient of Correlation
I once attended a summer school in Saint-Flour, France, where Sourav Chatterjee gave a masterful exposition of results on large deviations for random graphs. All chalk talk, clear presentation. My impression is he's a deep thinker. On that basis alone I give such an article much more weight than the plethora of articles that pass before the eyes; reading the masters has always been a good rule of thumb.
asdf_snar··on Tell HN: You are not alone this Christmas
I took the post as just being part of any other day, it just coincidentally happened that it's Christmas, and out of the blue after my partner of four years with whom I had planned to move across the ocean, buy a house and have kids with, broke up with me yesterday. I think you have a solid point, that there's no reason to put holidays on a pedestal. But in this case, hey, who cares -- it really helped to read everything people here had to say. Being suddenly alone and without familiar warmth makes NYC feel so desperately lonely.
asdf_snar··on Up all night with a Twitch millionaire
I also didn't get the impression at all that they're kids; quite the opposite. They have golden handcuffs, just like a lot of people in tech. The difference seems to be (and this is what I felt the article conveyed, at least to me) the grueling effect of having your life and brain on display around the clock.
asdf_snar··on The business of extracting knowledge from academic publications
First, let me recognize the openness with which you're approaching the problem, and that you've acknowledged there is a problem. My academic background is also applied math, and I believe there is a missing viewpoint that I've been struggling to articulate to colleagues for several years. I'll take your thoughts as an opportunity to try and better understand this view / feeling. If it's alright with you, I'll limit the discussion to applied math, because it's what I know best and where I think the viewpoint is most pertinent.

Full disclosure: your username is very easy to Google, and I should tell you we work on closely related topics. My opinion is shaped in part by several of the papers you've cited. I'm happy to disclose my identity and continue the conversation in private.

You wrote: "(1) Many academics aren't aware non-academics read their papers at all"

What, then, is the point of applied mathematics? Please know that I don't mean that in a dismissive way. I think there are a few reasonable answers. Chief among them is the belief that exploratory research is important in its own right and does not need to have an immediate non-academic use, as embodied by this quote of Hadamard:

“Practical application is found by not looking for it, and one can say that the whole progress of civilization rests on that principle.”

I believe the above quote as far as it concerns mathematics. But how do we get from there to the applied part? I have an internal dissonance about this that goes deeper than just semantics. Before I started my PhD, I had some vague belief that after writing up some research with an algorithm in it, you'd put it on the arxiv, and from there someone might one day need something like that, code it up, and use it. If I could put in a basic working implementation that was even better.

All the evidence I've seen so far tells me this is not so. The truth is no one is going to take the time to code up your algorithm, because no one has dozens of hours to spend understanding your paper, developing an algorithm suitable for an industrial problem, often just to get improvement on a niche subset of cases. I've been wondering how to estimate the number of algorithms described on the arxiv that are ever implemented and used in a non-academic setting -- my bet is (outside of ML), less than 1%.

I've heard many times that sophisticated higher-order methods for PDEs (finite element / volume, Galerkin, ...) are used in aeronautics, to determine the wind shape over an airplane wing. I've found out from talking to people in the industry at companies like Bombardier that for the most part they do second order finite difference like the rest of us. Why? Because you can code it up in an afternoon, whereas writing the more sophisticated methods can take weeks or months. As academics, we think that the theoretical work is the really hard part, and we neglect the human cost of writing and maintaining algorithms. We have it backwards: academics are (relatively) cheap; code (and changing code) is expensive. (Of course, I make these comments assuming a certain scale. We can come back to this.)

I think the fundamental issue is that I know few applied mathematicians who start with a problem and seek out a solution. Most often, you finish your (applied) math PhD armed with some machinery. If you want to get a professorship and you've done well, you typically turn the crank of your particular machine better and faster than most. In applied math we can say our model is motivated by some problem in the sciences/economics/whatever, but in my experience that just lets us erect a straw person (create a problem) and tear it down (solve the problem) using the machinery that only we have mastered. Just because a problem is hard doesn't make it important.

What to do, then? How do you work on "consequential" problems?

To be pithy about it, I've found it useful to think in terms of $ rather than h-index. In many cases, a consequential problem is one that, if you solve, you can monetize. You could frame this as asking what kind of mathematics could enable new technologies. In my experience it is very difficult to write down a mathematical question that, if answered, can lead to new technology. But if you manage to find such a question -- and it is possible -- it can be a goldmine.

I have more to say -- especially about how mathematicians need to get a reality check on the importance of hardware and its relevance in stochastic algorithms research -- but this is long enough as it is, and I don't want to just be a crazy person rambling in the corner. I'd be very curious to hear your thoughts.

asdf_snar··on The team that powers VLC (2019)
It might come down to difference of experiences. As soon as software bites you once, I think most people feel differently towards it. I think the reason VLC gets (and in my opinion, deserves) a lot of praise is that a large part of the user base has never felt bitten.

Personally, I have never once had trouble getting VLC to run a media file, and I can't say that for any other media player. Granted, I don't know any other media players, and I don't know if it's hard to make a good one -- but that's kind of the point. I want a limited range of features from a media player: ability to make sound really loud, adjust timing of subtitles, speed up / slow down. All of those "just work" for VLC and have very basic navigation (that's good). VLC has allowed me to be comfortably oblivious to all the codec crap I remember dealing with over a decade ago.

asdf_snar··on Einstein award going to Paul Ginsparg for creating arXiv.org
I've been using the Arxiv for 10+ years. I always thought it was just a "cool" way of spelling it, like "ArXiV" or "eXtReme". Mind blown, thanks.
asdf_snar··on A different approach to note-taking and research
Seconding these thoughts, but also I don't think they're harsh. After a minute on the site I still have no idea what makes this different from writing Markdown in Notepad. If I really need the "horizontal time" aspect I can come up with a dozen ways of automating that with my text editor of choice + a bash script.

And, ugh, with Firefox running on Ubuntu, clicking the "Changelog" fires a prompt to download a "hotkeys.mp4". What?

asdf_snar··on New and improved Linux Random Number Generator ready for testing
I have a question about the statement "you can't truly measure randomness", if it's alright (since you seem knowledgeable about this).

> For example a "random number generator" that just has a large hardcoded list of random-looking values and loops over the list may pass a test if the list is long enough that the loop can't be detected, even though the values are decidedly not random.

My understanding is that's entirely fine from a statistical point of view. One can establish properties of this sequence up to some probabilistic error, perhaps also depending on the total number of values from the list that end up being used.

Isn't this in some sense analogous to measurement error? As far as I know, nothing can be precisely "measured" either. Is there a deeper sense in which the quality of the random sequence can't be analogously assessed?

asdf_snar··on Megaprocessor – A micro-processor built large (2016)
The quality of not only the product, but the accompanying explanations is outstanding. I think it's a work of art, because not only is it visually impactful (especially at 1Hz, as in the demu), it also uses the medium to convey an idea that would be difficult to convey in any other way.

I'm interested in making (stochastic) algorithms fast, which always seems to eventually lead back to looking at code in compiler explorer. The extent of my knowledge there is basically "short assembly good, long assembly bad". But I've always lacked some "tactile" feeling (for lack of a better phrase) for what a register like "eax" or "rax" is. I hope that learning more about the megaprocessor might help get a glimpse of this.

asdf_snar··on Learn RegEx step by step, from zero to advanced
I find it hard to appreciate the need for this website. First, after scrolling down to the bottom of the page, I still couldn't see where I could "start". I clicked the only prominent button featured on the page, "Product Hunt", and that took me to a clearly unrelated website. You'd think the green words "learn, practice, test, share" would be links, but nope. So after 30+ seconds of browsing it still isn't clear to me where the product was. I gave up.

Compare that with https://regexone.com/ . No fluff. I immediately know what I'm looking at and am given a simple practice problem, with a place to type smack in the middle of the page, and a responsive green coloring when I get something right. The problems advance to exactly the kind of stuff I need, with a quick view on all the lessons on the right-hand side. I'm visiting that website for the n^th time because I need to quickly refresh my regex to accomplish a task.

asdf_snar··on Ask HN: Best Alternative to Homebrew in 2021?
I'll repeat what others have said above, but perhaps with more emphasis on the layperson's perspective.

I think I started using homebrew some 4+ years ago. I have no idea what a cask, tap, pour, or whatever is. At first things "just worked" and it was great.

Then came the couple of afternoons where I had an important project to finish, and I had to upgrade X. I think once it was matplotlib (for which I had to upgrade pip? ... I can't remember) or something silly like that. Everything broke, I had to reinstall all my python packages (that's when I moved to pyenv), and I did not finish my work on time. There was probably an easier way, but I was (am) a newb and I didn't know how.

I remember brew was one of the first command line utilities I ever used and thought, "woah, that was easy _and_ cool!", but I no longer think I am the target audience.

Someone might say the onus is on me to learn more about the tools I use, and they are probably right. I need to know my .tmux.conf or .zshrc or whatever to get the most out of those, too, and sometimes I like to dive in. For the most part, I just want to Get On With My Work and be oblivious.

If you could provide some guidance, I would genuinely be grateful. For a newbie like myself, when I see comments like "just set HOMEBREW_NO_AUTO_UPDATE=1" and then back and forth on why that does and doesn't work, I decide I don't have time for this today and cross my fingers I don't need to brew install anything in the near future. And if I do, I will probably avoid it (because it will take, I don't know, hours?).

asdf_snar··on Math Foundations from Scratch
While I agree that some amount of mathematical maturity is useful, I think it is a far reach to claim one has to know the Peano axioms in particular, at least in their set-theoretic form. I assume you don't mean knowing and using them implicitly, since you seem to be arguing for explicit mathematical training.

At the risk of being overly presumptuous, the opinion you give sounds like that of someone who does research in such an area. That's what it sounds like to me, at least, because I once argued similarly while I was working from a more mathematical side about the value of understanding things rigorously. And I would issue statements like "well, sure if you just want to put things into PyTorch, _sure_, but that's not _real_ math."

Unfortunately for us (or at least me, because why did I spend so much time learning this stuff?), many top ML or AI researchers have only a vague understanding of fundamentals, and I vehemently disagree that you need rigorous exposure to mathematics to contribute to ML or AI.

My experience is quite the opposite. Lots of people in mathematics / academia are asleep at the wheel. Well, they were at the wheel fifty years ago, and some departments have caught up, but overall mathematical rigor is not what made the field go forward. (D. Donoho's "50 years of data science" seems relevant).

If you are adamant that Peano axioms in particular are necessary, why doesn't your argument that they are necessary extend to things like the axiom of choice? You know what they say: "the axiom of choice is clearly true, the well-ordering principle is clearly false, and who knows about Zorn's lemma?" Or, if the introduction to Folland's Real Analysis is to be believed, if your research project depends on the validity of the axiom of choice -- choose another research project.

All this to say your post makes me recognize a sentiment I once had: mathematical rigor is important. That depends. I realize that more often than not I made that argument to convince myself such knowledge is relevant -- and that creates a dangerous blind spot (at least for an academic who wants to be useful to industry).

asdf_snar··on How to replace estimations and guesses with a Monte Carlo simulation
> Indeed, "estimations" might not be the best word as you're still, in some way, estimating with the Monte Carlo approach.

Not in some way -- literally. The samples are averaged, and as the number of samples goes to infinity, the average converges to some true value. In the case of one of the histograms you plot, you are averaging an indicator function .

> I thought of this differentiation because I consider the MC approach to yield a forecast, while an "estimation" is the typical term used in agile settings for "guessing how long/much work it will take.". I'll think of ways of making this distinction clearer.

It seems to me the distinction you care for is to provide not a single value ("estimate"), but a distribution of values. That's not specific to Monte Carlo.

> As for the misused mathematical terminology I guess you're referring to "confidence intervals"

That's certainly one of them. I even misunderstood what you were doing and said you don't need confidence intervals, but in the way you're using them those again can be obtained by quadrature.

My main gripe remains the language, and the presentation of the method. You could most likely obtain your results by hand, i.e. with pen and paper, and you would still get a distribution at the end of the day. The advantage of running Monte Carlo is that it simplifies this process. You could illustrate this by getting the distribution of the sum of two independent uniform random variables in two different ways: by doing a convolution, and by MC. Wow, MC was so much easier, anyone can do it, and it can handle arbitrarily complicated distributions (in principle).

asdf_snar··on How to replace estimations and guesses with a Monte Carlo simulation
I really dislike posts in this vein, because they use statements like

"This post will teach you how to replace estimations and guesses with a Monte Carlo simulation."

as though the output of a Monte Carlo simulation were not an estimate, but some higher truth. The process of simulating many different outcomes with a touch of randomness gives the layperson the impression that we are really _doing_ something, when in fact we could have obtained the exact result (no confidence intervals needed) of Monte Carlo by quadrature (although admittedly that could be tedious).

In the end, the method outlined in the link is an estimate, like any other, and is not necessarily better or worse than any other estimate. It erects a straw person and then misuses mathematical terminology throughout.

asdf_snar··on Multicomputation as a General Paradigm for Theoretical Science
I believe that he is very bright. Do you think it is possible that he has also gotten so wrapped up in his own thoughts that he can no longer distinguish "good" theory from "bad" theory? It happens to a lot of mathematicians. Michael Atiyah a while back claimed to prove the Riemann hypothesis. Even Hamilton got so wrapped up in quaternions that he spent the rest of his days obsessing over them (they are useful, especially in graphics, but did not revolutionize physics the way he thought they would).

I glance at his writings over the past few years and most often think that unless he uses his theory to solve a problem others care about, his line of research will be abandoned after he passes.

asdf_snar··on Blaze: High Performance Vector/Matrix Arithmetic Library For C++
Fair enough. Are there any notable improvements over Eigen? I couldn't see whether Blaze supports dynamic rank tensor operations (Eigen doesn't). Thanks.
asdf_snar··on On Time, Money and Health
Respectfully, it seems like you didn't take the following comment to heart.

> You sound pretentious, hence why you don't inspire VPs enough to follow your projects. For that purpose, being skilled in SWE is barely important comparing to relational skills. It's time to question yourself.

Instead you deflected, re-asserting your internal monologue of: it's not me, it's them. It doesn't matter what your backstory is if you're not likable. That isn't a judgment on your character -- you may be a wonderful person and friend. Likability is a skill that can be learned, and one that is arguably more important than any software skills you may have (as you may have implicitly observed).

asdf_snar··on MacKichan Software, maker of Scientific Word, has gone out of business
Writing math in Word has the following disadvantages:

- referencing is a nightmare (this is probably the worst aspect). \label and \ref or \eqref? No, remember the equation number, click the References tab, Cross-Reference, select "equation" from the "Reference type" dropdown list, scroll down to the equation whose number you should remember, click "Insert". Did you add remove/an equation, thereby changing all subsequent equation numbers? Let's hope "Update all fields" works on the first try (hint: it won't).

- AMS math standards, \mathbb{R}, \mathcal{R}? No, \doubleR, \scriptR.

- \bar{x}? No, \bar SPACE SPACE left-arrow x right-arrow.

- \begin{align*}? No, good luck. (Actually I haven't even figured this one out).

- Version control? No, "Track changes". Oh, you changed a subscript or superscript? Your file is corrupted and cannot be saved, Ctrl-z until you can save and hope you remember all your changes.

- Seamless math typing if you are fast and proficient at LaTeX? No, Alt+= and hold on while I catch up. Did you go too fast? Sorry, Word has stopped responding. (This is a real problem in a 50+ page Word document full of math.)

Those are just the ones off the top of my head.

+1 for TeXmacs being superior to both Word and LaTeX. After using LaTeX for years I tried TeXmacs for a week and never looked back.

asdf_snar··on TeXmacs 2.1
https://www.mathcha.io/editor is indeed much closer to TeXmacs than https://latex.codecogs.com/eqneditor/editor.php. No matter how instant the rendering is, the latter is still split-screen. It may not seem like much, but when you are knee-deep in a calculation the advantage of having a single point of focus for your eyes is huge (at least to me).
asdf_snar··on TeXmacs 2.1
Years ago I looked into both LyX and TeXmacs. I could already quickly write math in LaTeX but I wanted to work out calculations on a single screen without the code/renderer split screen setup (having the math directly visible is a game-changer for doing long calculations, by the way). TeXmacs won hands down for me. I had no problem learning the intuitive shortcuts (e.g. any letter - TAB for its Greek counterpart). If you know the LaTeX counterpart you can almost always type that in. The converter to LaTeX source is quite good. I love that the "nesting hierarchy" in a math expression is visible. For instance,

"(x^2 + 4)"

has four distinct components: the parentheses "(...)", the term "x^2" (two components, "x" and "2"), and the term "4". If you place your cursor before or after the parentheses and use SHIFT+RARROW or SHIFT+LARROW (respectively), you highlight the parentheses; if you do the same before or after the x^2 term, you highlight x^2. I find a lot of math editors (e.g., Word 2016) get this wrong because they will just highlight the parentheses or the exponent. Smart highlighting is super useful for fast manipulation of equations. Oh, and also -- if you are within a set of parentheses, you can keep hitting TAB to cycle through (), [], {}, ... . Not to mention, TeXmacs handles all the \left and \right parentheses sizing for you (the parentheses in the above example would expand if, for instance, you made 4 a fraction like 4/3 -- a quick Meta-f away)

asdf_snar··on Show HN: Monte Carlo simulation for predicting project timelines
I think I misled myself into thinking your selling point was the technology (Monte Carlo), whereas as you say there is little about that on the website. And your comments below are right: building the tool around MC affords you a lot of flexibility without having to be increasingly clever.

The only thing I would worry about then are events which have low probability but potentially very high "weight" in whatever measure of risk you are using. Sometimes the weight can be so large that your MC estimates seem to converging, and then the addition of a single trajectory completely blows up your variance. These are related to the "black swan" events people sometimes talk about. I don't think this is a problem in your model.

Thanks again for ansnwering.

asdf_snar··on Show HN: Monte Carlo simulation for predicting project timelines
It is true that there is no closed form expressions for the sum of two independent log normal distributions. However, like I said, good approximations exist. Moreover, if you were to ask me to compute some expectation E[f(X)] where X is the sum of independent one-dimensional log-normals, it seems simplest to convolve the densities and simply compute the expectation by trapezoidal integration.
asdf_snar··on Show HN: Monte Carlo simulation for predicting project timelines
As a package this seems perfectly reasonable, but I'm skeptical of the use of Monte Carlo being a technical buzzword rather than a choice made because it was the appropriate tool for the task. I wasn't able to find any technical details in the "How it works" section, but if you assume the distribution of time to complete a task is uniform on the interval [worst case, best case], then at any time point the underlying distribution seems to be a composition of sums and minima of uniform distributions. These are available in closed form. I see in another comment the distributions are assumed to be log-normal -- that's fine too, there are good approximation to these. On the website it says thousands of trajectories are generated. It seems likely that one can straightforwardly compute the result that the Monte Carlo approach would give in the limit of infinitely many generated trajectories.
asdf_snar··on Research software code is likely to remain a tangled mess
I don't disagree with you on any points. I have some academic friends who mostly do "a ton of munging and then some basic stat functions", as you say (but with less sensitive data). The problem is that their workflow is prone to human error. Even though the stat functions are simple, the proper labeling of inputs and outputs is less reliable.

I have some research published for which I wrote MATLAB code years ago. I trust the fundamental results but not the values displayed in the tables. I would have personally benefited from rudimentary version control and unit testing.

asdf_snar··on Research software code is likely to remain a tangled mess
This article seems to cover research software that even can be built. I claim the majority of _code_ written to support research articles is a collection of scripts written to produce figures to put in the paper. Even when the article is about an algorithm, the script that runs this algorithm is just good enough to produce the theoretically expected results; it is never tested, reproduced, or published, never mind being updated after publication.

While others here point out that researchers = bad programmers is a lazy excuse, I think it is important to point out just how steep the learning curve of computer environments can be for the layperson that uses Excel or MATLAB for all their computational work. It can be a huge time investment to get started with tools, such as git or Docker, that we take for granted. I think recognizing this dearth of computer skills is a first step towards training researchers to be computer-competent. Currently, I find the attitude among academics (especially theorists) to be dismissive of the importance of such competencies.

asdf_snar··on Markov Chain Monte Carlo: Burn-In Is Unnecessary
Of course, you are right. I recall Geyer at some point writing some people thought there was a difference between having a burn-in period that happened to have X_b = x_b, and simply starting with X_0 = x_b. I can't find that on this page though.
asdf_snar··on Markov Chain Monte Carlo: Burn-In Is Unnecessary
I think Geyer's point is that if you generate samples X_0, ..., X_b where b>0 is a burn-in time, and start collecting estimates at time t>b, then that's not somehow better than starting at X_b and not burning in (the two are equal in distribution).
← PreviousPage 2 of 3Next →