HNHacker News
TopNewBestAskShowJobs

ad8e

932 karma · joined February 18, 2021

Kevin Yin
submissionscomments
ad8e··on Ask HN: Who wants to be hired? (April 2023)

  Location: Los Angeles
  Remote: Yes, remote only
  Willing to relocate: No
  Technologies: C++, LLVM
  Résumé/CV/Email: [edit: removed afterwards because of receiving spam emails]
PhD in mathematics, 10+ years of C++. Skills in audio, game monetization, behavioral psychology, economics of systems, signal processing. Research in a wide diversity of fields (reverb, ranking systems, Béziers, voting systems, etc). Hobbies: organizational design, game design, UI/UX, performance marketing, market design
ad8e··on Ask HN: Why are bookmarks second class citizens in browsers?
In Firefox, bookmark manager in a tab: chrome://browser/content/places/places.xhtml

"You can encounter issues when you want to create a new folder, moving a bookmark to another folder may not work as well."

ad8e··on Terminal Latency (2017)
On a non-VRR display, I believe it's nicer to have a momentary tearline near the top of the screen than a momentary frame skip. The stutter is more noticeable than the tearline. (Some feature of how GPUs work means that tearlines landing exactly at vsync are mysteriously delayed half a frame. Maybe someone else knows why, since I don't and neither do the people I talked to.)
ad8e··on Terminal Latency (2017)
> Delay rendering until just before VSync: If you get it slightly wrong and your frame takes slightly more time to render than you thought, your frame may not be done in time for VSync. Then it will have to wait a whole extra frame and the previous frame will be displayed twice, causing a hitch in any animations.

According to docs, there are extensions WGL_EXT_swap_control_tear/GLX_EXT_swap_control_tear [0], that cause late frames to tear instead of wait a full frame. They don't work on my machine (my Intel HD 4000 reports that it is supported and then silently fails), but this should be the ideal swap mechanism.

[0]: https://registry.khronos.org/OpenGL/extensions/EXT/GLX_EXT_s...

ad8e··on Google Timer is gone
This timer works well on Firefox. It has no issues with network unreliability or time changes.
ad8e··on Google Timer is gone
This is an unacceptable timer.

It loads an mp3 and js file when the timer completes. If the internet is not reliable at that moment, the timer will silently fail.

Positive: at least it will still ring if the timer skips over the exact second, such as with a date change or momentary stutter. Many online timers have this problem.

Prefer the Brave timer linked in a down-tree comment.

ad8e··on Carbon’s most exciting feature is its calling convention
Carbon doesn't do the next logical optimization, and only converts a const& parameter to a value. If a function has parameter "const struct_with_two_floats&", and reads it, calls puts(), then reads it again, Carbon will not be willing to optimize out the "redundant" read.

It seems odd to break with C++ semantics for small parameters only; I'd expect it to either break for all parameters or no parameters.

EDIT: looks like Carbon is not doing this optimization for small values either. Its docs on parameters say, "This binding will be implemented using a pointer, unless it is legal to copy and copying is cheaper". And the OP link says, "the compiler is allowed to convert that to a T [copy] under the as-if rule." That seems like no extra optimization is enabled other than changing the function calling convention. And the "as-if" rule would require looking at the function body to check if the value could be changed (by things like puts()). I hope my understanding is wrong because this does not make sense. The word "legal" is ambiguous, so hopefully they mean something else!

ad8e··on No evidence for nudging after adjusting for publication bias
One interpretation is that it is very hard to extract value from the nudge literature. When reading research articles, one must estimate and adjust for biases. This adjustment shifts the p-values by unclear amounts. So a positive result may just be a fluke.

As for your own AB tests, you have seen the processes that go into them and do not need to adjust for unknown biases. So when they demonstrate a nudge effect, you can believe it.

ad8e··on Supply chain issues are killing synth companies
Recent developments are often interesting, and that means the information comes from research articles.

You don't want to read research articles; they are long, difficult, and usually misleading. Books and surveys are easier. You can evaluate the quality of a book by checking the citations: "is this book citing recent articles?" For example, I read a chapter of "An Introduction to the Psychology of Hearing" and found it to be useful. I haven't seen a sufficient diversity of books to give an accurate recommendation, however. There may be better books. They'll generally look scientific and dry. For example, "This Is Your Brain on Music", a pop-sci book, will not be useful.

Surveys are where an active researcher talks about what everyone else is doing in the field, and what the important developments are perceived to be.

Experimentation: keep a global goal in mind, such as: "I want to classify all possible timbres and put them on a manifold", or "I want to understand the full mechanics of how a human turns tones into perception". Then you can try synthesizing sounds in pursuit of this goal. Right away, you will find all kinds of strange nonlinearities, and that simple models work poorly. For example, if you hold down sine tones at 400 Hz and 600 Hz, then play an 800 Hz tone, you'll note that sometimes the 800 Hz tone has an attack and sometimes doesn't; this will lead to learning about transients, place vs periodicity, FFR, ITD, and phase sensitivity of the ear. You'll also notice that there is a "click" at the beginning of each note, which will then lead you to discover gammatones, derivatives, and envelopes. This method works because whether your predictions succeed or fail, you are either learning something cool (a mistake in a model) or building something awesome (a great theory).

ad8e··on Supply chain issues are killing synth companies
My opinion is that someone who is comfortable with graduate level signal theory can reach synth mastery in one year. The physics and math are shallow and can be picked up quickly. The psychoacoustics takes more time for experimentation and reading research papers.

Whereas, audio professionals who avoid mathematics because it looks hard, like complex analysis, do not ever reach an acceptable level.

ad8e··on Master’s Degree in Computer Science
Andrew Gelman's blog has a discussion of Columbia cheating on its numbers reported to US News, which had a huge impact on its ranking. I don't know how far it extends to its Master's CS program specifically, but I feel that Columbia's ranking should be discounted entirely. This is quite unfortunate, as it has a distinguished faculty who take no part in this evil.

Link: https://statmodeling.stat.columbia.edu/2022/04/24/more-news-...

ad8e··on Endemic Pathogens Are Making You Crazy and Then Killing You
At least the title, "Endemic Pathogens Are Making You Crazy And Then Killing You", can be accepted as a default prior, rather than an extraordinary claim. Many diseases are both prevalent and not under heavy study. Funding and interest in studying a disease is partially caused by individuals being able to link the disease to a symptom, and this is hard without data. (You rolled a 4, but is the die biased toward 4? It's impossible to tell from a single roll.) When these diseases are occasionally looked into, such as with hookworm and toxoplasmosis, the track record finds harms at an alarming rate, so we should expect the remaining diseases, which are not yet looked into, to have similar rates of danger.

Thus, without making assertions on the article's individual claims, the general thrust is broadly true. The reason people hold the "these diseases are generally harmless" prior is likely from another prior, "if X disease were so harmful, doctors would be studying it", and that unfortunately does not match current practice.

Covid-19 provides an example of how hard it is to link symptoms. We know now that anosmia is solidly connected to Covid-19, but this was not known for a while. The CDC only listed three official symptoms six months after the outbreak [0], reflecting the understanding at the time. Doctors talked about their patients and found commonalities; this bubbled anecdotes into attention. So even with intense and joint attention by the world, with a clear and reliable symptom, the symptom can evade notice for a while. When nobody's attention is on a disease, and the symptoms are chronic, the symptoms become invisible.

Caveat: this is not my field, and I do not study it. An epidemiologist could likely present a more accurate picture.

[0] https://web.archive.org/web/20200415000910/https://www.cdc.g...

ad8e··on Best Font for Online Reading: No Single Answer
As everything you've written is in good faith and aspiring to contribute, I too am willing to respond in this cooperative manner to you.

Your changed metaphor is fine. However, the origin of the method to produce 35% was already faulty, so the increased accuracy by repeating this experiment 352 times does not help, since it is repeating a faulty experiment.

To make this intuitive, imagine having 1000 dice, each rolled only once. Now the highest roll will be 6 and the lowest roll will be 1, because you've rolled so many dice that you are sure to hit every number. Thus, the highest is 500% higher than the lowest. If we repeat this 352 times, the average over all participants will still be 500%. However, it is not an indication that we have biased dice.

ad8e··on Best Font for Online Reading: No Single Answer
I object strongly to your comment. I find every part of it to be absurd.

> Reading and learning from imperfection is the defintion of 'reading and learning', because there's nothing else to read.

> If I listened to HN comments, very little research would have value, very little information would be worth reading. The top comment is almost always of this nature; it's depressing to me that it still happens; we all should be very familiar by now with social media and these patterns, yet we keep following them.

Just as "laymen blanket dismissing productive scientists" is a tired and sad trend, so too is this - because now there is a delicious and ironic reversal. I am the productive scientist here, whose day job involves extracting the useful content from scientific articles by analyzing their methods and results. When I read, it is my pride to be able to determine when the imperfections of an article destroy its content, or if these imperfections can be worked around and to what degree. Like other academics who can do the same, I believe this is a skill that requires training and intelligence, and its outcome is to make subjects understandable that would otherwise be a maze of bad results. People like me are confident at playing the Many Labs replication guessing game. I read useful articles every day, and the original article is not one of those; it falls squarely in the "awful" bucket. I am not the uninformed layman making pithy snarks which have no specific relevance to the situation at hand - criticisms with general applicability, copied from elsewhere.

You are. You are the layman complaining about what the actual scientists do and how they advance the field. Even your comment complaining about this trend is reflected adroitly upon yourself, in a very ironic manner. Notice how my original comment uses deep field-specific knowledge of fonts, science, and statistics to make my point, while you only use broad strokes about social media trends, as you lack such knowledge. In fact, this remarkable and joyous irony about a person complaining about uninformed criticism, while making exactly that uninformed criticism himself, was what led me to make this comment, as otherwise I would not have bothered to respond.

> > I have only skimmed it [the OP].

> Maybe that should be at the top of the comment. Imagine an OP which presented a detailed analysis and then, at the bottom, said 'I only skimmed the thing I analyzed' - imagine what the top comment would say.

My comment was based on the parts I read, and it still stands correctly - unless you have something meaningful to say? For example, if you believe yourself to also possess the skill to analyze articles and extract their value, it's open to you to do a complementary analysis. So far, you have not even addressed any of the points, only pushed some dismissals which are themselves easily dismissed: a programmer can contribute to the Linux kernel without having read every line.

In fact, I looked up the original article's author, and his affiliation is not only with Adobe. He is also a PhD candidate at Brown University, under advisor Jeff Huang. This makes my opinion far more negative, but not of the PhD candidate, who only has my sympathy. Rather, his advisor bears the blame here, as the advisor has the responsibility to control ethics and give guidance on the unfamiliar. PhD students depend on their advisors to know the way forward, especially on statistics and scientific culture, which they cannot navigate the conventions of on their own. Jeff's behavior here evokes complex emotions in me, related to the ethics of science and responsibility, leading to this conclusion: Brown University should no longer allow Jeff Huang to advise students, and Jeff Huang's articles should be either ignored, or looked over by data thugs if their results need to be relied on. Or, if Jeff's incursion into experimental science is him trying something unfamiliar, then perhaps he too is a victim of his own ignorance and bears no ethical blame or responsibility, but he should stay away until he learns better.

ad8e··on Best Font for Online Reading: No Single Answer
Big warning: their summary is "Among high-legibility fonts, a study found 35% difference in reading speeds between the best and the worst."

This is completely wrong and comes from an abuse of statistics. See the original research at https://dl.acm.org/doi/10.1145/3502222#d1e6428

An understandable explanation: imagine having 5 dice. You roll each die 4 times, then compare the highest sum to the lowest sum. Then you report that the highest die rolls 35% higher than the lowest. This is what the authors did, with each die being a font. But the experiment does not actually show evidence of any difference. If you rolled 500 dice, this method could claim that the highest dice are 200% higher than the lowest, even though all dice are still equal.

The original authors seem aware of this shortcoming, but did it anyway: "we are somewhat stretching the applicability of a Cohen’s d analysis for this data". This is likely because they did not know of a better method. But it is wrong to be pushing this analysis. The main author is from industry, so perhaps he was unaware that this effect can be corrected for, or that this type of misleading claim is malpractice. But someone in the chain of publishing - the journal editors, the reviewers, the large author list, or Jakob Nielsen who is promoting this - should have caught this. It is their main result!

In the absence of legitimate statistics, the article's circumstances point to a failure to detect measurable differences between fonts. There are two ways fonts may be better than each other:

1. across the population, so that one font is better for everyone

2. personalized, so that different fonts are better for different people

The first case should be easily detectable, and the second case should see some correlation between preference and speed because of a familiarity bias (https://dl.acm.org/doi/10.1145/3502222#d1e7351). These are the Bayesian expectations I walked in with. Neither of these appear supported by the article, although I have only skimmed it.

To be clear, the experiment does not give evidence that fonts perform equally either. It looks more likely that the experiment design failed.

ad8e··on Facebook internal memo on Jan 6, with comments from employees
Source: https://gizmodo.com/facebook-papers-donald-trump-2020-electi...
ad8e··on MIT-0 License
0BSD has the slight advantage of Google placing it on their pre-approved licenses list, which means Google can use a 0BSD project but not an MIT-0 project: https://opensource.google/documentation/reference/thirdparty...
ad8e··on The first RISC-V portable computer is now available
The key positions are also different from a normal keyboard: all rows are shifted by 1/4, whereas a QWERTY keyboard has 1/2 shifts between rows 1-Q and A-Z, and 1/4 between Q-A.

From a psychological UX perspective, I'd prefer 1/2 shifts between all the rows, creating a hex grid.

Ortho is also logical and justifiable, although its packing is worse than hex.

But if convention is to be broken, it should not be the 1/4 that this product has chosen, which offers no benefit and creates an unfamiliarity cost. Better to stick with the standard key positions than this.

ad8e··on Open-Sourcing our Firmware
The scrambling is easy to see once you know it's happening: press k and l simultaneously on your Thinkpad keyboard. It'll always come out "lk" unless you deliberately separate them.

Testing was done [0], but it's not written in an easy-to-understand way. As a summary, Thinkpad keys are scrambled within 15-23 ms. Usually, humans ascribe scrambled letters to their own mistakes, but this time it's the keyboard's fault. Lenovo continues to ignore the issue.

One very stupid solution for your password is to change its letters to go from right to left. That way the scrambling will become anti-scrambling and you can type your password even faster than on a normal keyboard!

[0]: https://github.com/ad8e/input-polling-test

ad8e··on Open-Sourcing our Firmware
I checked the keyboard debouncing logic [0] and it was fine. Some keyboards from other manufacturers, notably Lenovo Thinkpads, have absurd debouncing algorithms that scramble keys or add delays, so it's good to see Framework has a correct solution.

[0]: https://github.com/FrameworkComputer/EmbeddedController/blob...

ad8e··on Evergrande teeters on edge of default as $148M payment falls due
> Exactly what time the grace period expires on Wednesday is unclear, but the two sources with knowledge of the matter said some bondholders had not been paid by the end of the Asian business day.

It's ambiguous, but the title is a fair conclusion.

ad8e··on YouTube makes dislike count private
True, but the original title makes it much harder to understand what the story might be before clicking through. No doubt Google deliberately chose the title to do this, and this corporate strategy does successfully manipulate HN's title policy. HN rules try to keep the title honest, but it is counterproductive when the original title is dishonest.
ad8e··on Taking notes in mathematics lectures using LaTeX and Vim (2019)
I typed notes throughout my undergrad, and it worked poorly. Everything in math is slow to type and fast to handwrite: subscripts, exponents, arrows, matrices, Greek letters, labels, diagrams, integrals, fractions. My shorthand omitted all latex conventions (A_0 became A0, arrows became ->), but it wasn't enough.

For non-math classes, typing notes worked well.

ad8e··on Show HN: Low-latency jamming over the internet
Here's probably the answer: https://opus-codec.org/docs/opus_api-1.2/group__opus__decode...

"Lost packets can be replaced with loss concealment by calling the decoder with a null pointer and zero length for the missing packet."

ad8e··on Show HN: Low-latency jamming over the internet
I googled "opus packet loss" and found https://www.asterisk.org/asterisk-opus-packet-loss-fec/, which says "an Opus encoder can embed redundant data about the preceding packet in-band in the current packet". That method would cause 1 packet of delay. Are you using something different, or avoiding the delay through another method like tiny packets?
ad8e··on Curiosity Is Better Than Being Smart?
I hadn't considered defining curiosity before. I looked up curiosity on wikipedia but didn't see an answer that I liked. A simple definition is that curiosity for something comes from the desire for a better mental model of that thing.

From my perspective in psychology and anthropology, evolution provides a better definition. The desire for a mental model is created mostly by the nature/nurture split in gene-culture coevolution, in which information is expensive when stored in DNA and cheap when stored in culture, hence creating a generic need for information intake, and thus a generic emotion to drive that need. "Curiosity" can then be defined as that emotion.

The circumstances which prompt that desire are determined by what "fun" is. Defining "fun" has a short and universal answer with a severe discursion into a long heuristics-and-biases approach. Judging fun requires the mind to make evaluations which are inherently difficult for System 1 to approximate, so behavior in practice very poorly approximates the short-form answer, especially as videogames explore its boundaries past what evolution is able to capably fit.

Both "curiosity" and "fun" have the problem that they are only linguistic concepts which converge as approximations to what people feel. These feelings have an unambiguous origin through evolution, which is the best way to create a description free of "common knowledge" (which relies on shared understanding to cover up vagueness). Even though the underlying definition is clear and consistent, people's usage is not so clear or consistent, and some tolerance for linguistic fuzziness is needed.

There are a few adjacent emotions which don't cleave in canonical ways, so the definition is also not canonical. I picked the emotion for mental modeling because that seems to be the origin of humans' approximate definition, and hence will best align with what people refer to in normal conversation. But you could also pick the exact concept that this emotion tries to approximate, and that would be an equally valid definition, just different. Or you could talk about information instead of modeling, but I won't.

Defining things through evolution may not be useful for laymen, because it's hard to tie evolution to behavior. But at least the definition can guide understanding even if the details are impossible to figure out. And this way, I get to sidestep your 4 questions by embedding them in the heuristics and biases that inevitably stem from an evolutionary approach.

ad8e··on The Science of the Benefits of Religion
I read the paper, and agree with your impression of its quality. With training, it is possible to navigate a shaky field like social psychology, so I'll provide my estimates here.

The paper was written in 2013, so it's not pre-registered.

The sample size of 39 is suspicious given its date. People became upset about junk papers two years before, so the authors should have known better. However, I would hesitate to draw conclusions about the integrity of the paper's authors, because each participant was paid $60, which makes expanding the sample size somewhat expensive.

The authors declared no conflicting interests, but I looked up the first author and he has major conflicts of interest.

The last author, DeSteno, is ranked very poorly at https://replicationindex.com/2021/01/19/personalized-p-value....

Combining these factors, I'd adjust the p-value from .02 to .45, if it were a pre-registered paper which you have pre-committed to read. This paper is worthless.

ad8e··on Jennifer Scheurle steps down as IGDA group chair amid abuse allegations
https://www.nme.com/news/gaming-news/igda-group-chair-steps-... is a better source, also with a better title: "IGDA group chair steps down over allegations of abuse".
ad8e··on A Big Study About Honesty Turns Out to Be Based on Fake Data
Another instance of suspicious behavior from Ariely: he has an experiment which shows that most people cheat a little, and very few cheat a lot. The experimental method involves prying off the teeth of shredders with a screwdriver. However, others could not replicate this method.

http://fraudbytes.blogspot.com/2021/08/top-honesty-researche...

Someone has claimed that getting a shredder from Home Depot is suspicious [1], but I found it perfectly innocuous. Googling for "home depot shredder" brings up several options.

[1] Aaron Charlton's response at https://twitter.com/sTeamTraen/status/1428275153155264520

ad8e··on SEC charges Netflix insider trading ring

  We are perhaps the only public company that shares financial results internally in the weeks before the quarter is closed. We announce these numbers at a quarterly business review meeting with our top seven hundred or so managers. The financial world sees this as reckless. But the information has never been leaked. When it does one day leak (I imagine it will), we won’t overreact. We’ll just deal with that one case and continue with transparency.
The CEO of Netflix says this in Ch 5 of his book No Rules Rules. The leak is a predictable result and will happen again. He believes the tradeoff in openness is worth it. If this $3 million is the only incident, maybe he is right.
← PreviousPage 2 of 3Next →