HN user

johnqian

171 karma

Building matrices.dev

I love making silky user experiences.

My personal site: johnqian.com/?ref=hn

Posts7
Comments31
View on HN

Fixed--made it generate questions in the same language as the answer! Do you find that GPT 3.5 can write in fluent Vietnamese?

Branch highlighting is on the top of our to do list, should be able to get it out soon!

Bizarre that this is the top comment on this thread right now. I agree they've done some damage, but you seem to have dismissed their justifications without any explanation. Do you really believe we should trust random tabloids just because "trust is a beautiful thing"? I was already plenty aware of fake news and p-hacking, but this article still proved useful to me by demonstrating exactly how far you can go with it and which sources to not trust.

I really like the idea of making the main input a saveable textarea that can hold multiple words rather than just one. Reminds me of Numi and Soulver, which do this for calculators (I never went back to a traditional calculator app after discovering them). I wonder if there's other apps that could be made more powerful by replacing the single-input with a textarea.

I think you defended my point for me with the glass panes example. Price is definitely a part of the optimization formula. In fact I think most trends in architecture are much easier to explain than in UI because they’re so clearly enabled by technology.

I don’t know much about brutalism, but I’m pretty sure it’s not a dominant trend. I feel most expensive new buildings are pretty and efficient in ways that weren’t feasible before. But when there’s a mainstream, there are rebels.

An interesting thought experiment is what buildings would look like if resources and labor were infinite—if we could essentially 3D print buildings. Whatever designs come out of that may be what we trend towards.

This was a really great read.

There's a few comments here saying something akin to "No, design trends are totally random, some hotshots decide they want to be different and then everyone else mindlessly follows". I got similar feedback when I wrote in an earlier HN comment my take on why flat design is popular now. I actually empathize with the sentiment because it reminds me of how I used to feel about wine tasters. To me, all wine tastes equivalently like poison. So when people express their complex, nuanced wine preferences, it's easy for me to feel like they're pulling something out of their butts, just saying what they think they're supposed to say.

If my taste in everything was similar to my taste in wine, I would probably still believe this. But I've realized that when it comes to UI/UX design, I am one of the pretentious wine tasters. And I don't feel like I'm making stuff up or mindlessly following trends. The trends genuinely make sense to me; I think they'd happen in the same order in a parallel universe. Design is an optimization problem, and sometimes new technologies or patterns of human behavior change the optimal path for a wide spectrum of products, leading to trends, or what this author calls "vibe shifts".

Of course there are mindless trend followers, just as there are people who parrot opinions on wine they didn't really form themselves. They may be the majority. But they don't disprove the existence of something real.

Whether it be healthcare, housing, or education, the government always responds to rising costs by subsidizing demand rather than helping increase supply or fix incentive structures. Really frustrating but almost inevitable because subsidizing demand is the one "solution" that sounds good to almost everyone involved. The suppliers make more money, some consumers benefit short-term, few understand that this just drives prices up further. Anyone have ideas on ways this cycle could end?

(I realize this article isn't what it seems, but I'm still taking the opportunity to discuss this issue)

This is spam-tier content. Almost nothing specific to scaling data intensive applications. You could rename the article to “how to catch the squirrel in your backyard” and it’d be just as relevant.

I wonder if the upvotes were purchased or coordinated. If actual readers upvoted this, I would love to know why.

1x Programming 4 years ago

The term "10x engineer" always leads to incongruous conversation. Everyone has a different impression of what a 10x engineer is, depending on who they've met and how much they enjoy coding. There's those who think 10x = not team player, and there's those who've met an engineer who's both extremely productive and likable. There's those who think 10x = no life inevitable burnout, and those who realize there are people who genuinely enjoy programming more than "normal" hobbies, along with people who are unusually productive but otherwise normal.

This author believes that "10x programmers care about the code. Everything else is secondary." That seems even more arbitrary than other definitions.

I say we let the term become a joke meme and nothing more.

Agreed that reading with readily-available translations is the most important method of learning, but with technology we can do better than the interlinear texts this article describes, which seems to just be foreign texts where each word has an English translation on top. I see several limitations of this approach:

- The English is hard to not see, so it's too easy to accidentally cheat and avoid practicing active recall.

- Word-for-word translations aren't effective when your current language and target language are sufficiently different.

If you're willing to read on a screen, we can instead have only the foreign text visible by default, but have translations (both word-for-word and sentence-for-sentence) readily available on click or hover. Du Chinese (no relation, just a fan) does this really well for Chinese, and I'm sure there's equivalent tools for other languages.

Still, any American-born Chinese knows that being able to understand a language doesn't mean you can speak it yourself. Du Chinese is great for reading/listening practice but I couldn't find any counterpart for writing/speaking practice. So I'm working on my own counterpart that works sort of like Du Chinese but in reverse:

- Start by showing you English sentences, of progressively increasing complexity

- Click a sentence to reveal its Chinese translation

- Hover over any word of the translation to get the word's definition and etymology

- Along with the translation, a full grammar explanation

I haven't released this side project yet but I've been using it myself, and I feel like this combined with reading practice is close to optimal learning efficiency.

This doesn't ring true to me; most people at the gyms I've been to don't talk to anyone. I think most people actually want the equipment, mainly the squat rack, bench press, and treadmills. I personally love bodyweight exercises but I still feel I'm missing something without heavyweight squats and deadlifts.

I think this is a great presentation. I've found that learning to write has largely a process of unlearning everything I was taught in secondary school. In school we were conditioned to excrete as much bullshit as we could in a fixed amount of time. Everything we learned--new vocabulary, literary techniques--we were told was for sounding more sophisticated, which we unknowingly interpreted as verbose. I even remember a loved English teacher saying "the purpose of the first sentence in a short answer is make yourself sound smarter than you are. You shouldn't answer the question until at least the second sentence." And for some reason, every argument needed 3 supporting reasons, even though in real life there's almost always just one dominant reason.

Turns out actual good writing has precisely the opposite spirit. It's about compressing ideas into their simplest forms. New words are invented to make us more concise, not less. I wish I had realized this many years ago, before writing my essays for college admission.

This appraisal of Van Eyck's painting strikes me as odd. If my mission was to paint a room as photorealistically as possible, I would certainly notice all the differences between my painting and reality, I think anyone would. What differentiates a great painter, I think, is not whether they _notice_ the details, but whether they have the skill and care to actually reproduce them all. But maybe I'm wrong? Do people here feel like they wouldn't realize why their dog fur didn't look realistic, even if they had a real dog right in front of them?

I find this hard to believe because Unity recently released a digital human demo far more realistic than this painting, yet HN attacked it for having slightly unrealistic teeth lighting.

The answer to this actually affects my work; I do UI design, and I've always assumed that when engineers implement my designs a little off, it's because they didn't think the details were important. If it's because they actually don't see the difference at all, that's an easier problem to solve.

Is this product strictly for people missing a hand? I can’t see any other market. Sure it looks and feels cooler to type with one hand, but that is not nearly enough benefit to cut your typing speed in half.

The standard coding challenge is still most of the interview, so that provides some consistency. I just want to give candidates an additional opportunity to flex, in case they feel there's an important thing that most interviews neglect. Most candidates never really thought about it, and that's totally fine, for them I just do the standard course.

As for avoiding unconscious bias, was that ever an option?

I sometimes ask candidates "what kind of interview do you feel would best bring out your strengths?" and try to adapt the interview to their response if I can. It's helpful if they want to talk about side projects or war stories, but doesn't pressure them to. I still give my coding challenge after. Wonder why no one else does this.

Another trite complaint about startups not being cool enough these days. There are plenty of interesting and well funded startups if you earnestly look for them. As for the majority that aren’t interesting to you, well, they don’t owe you entertainment.

The Utopia you describe seems to be “VCs give me unlimited money but I’m not expected to provide them any returns or listen to their suggestions, ever”. I don’t know what to say to that. It sounds like what you really want is to be rich, so you can finance your own experiments.

Like others have said, this blog post would be much more interesting if you described what experiments you'd run if you had money. I think about that myself very often.

I think a lot of commenters here would benefit from adjusting their scam-radars. The way you scam people is by offering something that sounds great and plausible, but actually isn't. Consider Theranos, Bernie Madoff, etc. Worldcoin doesn't fit the pattern at all. To almost everyone that they need to sell to, it sounds ridiculous and dystopian. If Sam wanted to scam the poor to make himself richer, why would he make it so difficult for himself? There's far easier ways to do it that would escape public scrutiny.

I don't know whether the approach will work, but we'd have a much more productive conversation if we assumed good intent.

The answers I get have taught me that most programmers don't have a basic understanding of how the internet works outside of their narrow specialty. This lack of a rudimentary mental model is one of the largest contributors to wasted time and effort in web application development.

I'm curious what specific mistakes you're thinking of that application developers make when they don't understand computer networks. In my limited experience, the rudimentary abstraction "messages are sent, they're not instant and they might not make it" has generally been sufficient, aside from DNS issues. I learned some networking in college (CS241 at UIUC) and it was really interesting, but I feel I've forgotten almost everything from lack of use. Maybe I've done terrible things as a result. I think I and many others could really benefit from a list of common pitfalls by networking newbs.

Google's search results are bad by default because they're hijacked by SEO farms. Despite this, I find that there's almost always a way for me to find what I want with Google. If I want thoughtful discussion about a topic, I'll append "from:news.ycombinator" to my search. This also often surfaces great personal blogs or old documents or other things that don't rank high in search results.

If it's not covered on HN, I'll append "from:reddit" instead (they're not always wise but as at least they're not getting paid per word written, and the upvote system gives me a sense of what real people think). If I want a broad survey of a topic, Wikipedia or some other wiki are usually great. If I want a really deep dive, I'll append "book", usually in conjunction with "from:news.ycombinator". Lastly, I sometimes add a time filter, e.g. "after:2021".

Clearly this is an awkward pattern. But it really works, and I'm having trouble thinking of something that would be meaningfully better. I suspect most people have found ways of using Google that work well enough for them. So I'm afraid Google Search will stick around for awhile.

This is an interesting/surprising reply to me, so I've spent some time thinking about it.

The problem is that design is always a compromise between discoverability and post-discovery efficiency. Consider the swipe-left-to-delete pattern. It's not discoverable, but once you've learned it, you wouldn't want it any other way. Designers sometimes compensate for the lack of discoverability by adding a slower but more discoverable way of doing the same thing, like an "Edit" button that reveals a delete button on every item. Thus making swipe-left-to-delete a non-critical feature, and a nicety for those who discover it.

Another example is clickable usernames. We have an unspoken expectation that clicking a username in any app takes you to the user's profile. This expectation is so ubiquitous that apps (like HN) don't provide any additional indication that usernames are clickable. Imagine if every username on every app was a full blown bordered, textured button. Even someone with zero design sense would feel something's off.

It simply isn't possible to maximize both discoverability and efficiency at the same time. Every feature needs to decide who it wants to cater to and who it's comfortable leaving behind.

I should have addressed the original article. As a sibling commenter mentioned, I didn't say all flat designs are good, quite the opposite. That to-do list design is very mediocre.

A desktop to-do list app that I think is super well done is Reminders on MacOS. Its basic functionality is immediately intuitive, and it gives love to power users too with its secret ability to parse natural English (e.g. "laundry at 9") for adding notification times.

I never used the podcasts app before but just gave it a try. I can't seem to reproduce what you're describing. On the top-level pages ("Listen Now" and "Browse"), only the purple play button plays the podcast for me, clicking the purple text (the duration of the podcast) does nothing, and everything else opens the detail view for the podcast. Pictures always open detail views. What version of iOS are you on? I'm on 15.3.1.

Exactly this. Design is always a compromise between discoverability and post-discovery efficiency. Programming languages are the extreme case of the latter; literally everything requires a reference, but once you’ve got the reference memorized you’re invincible.

On infinite ethics 4 years ago

This is a really interesting topic but I'm offput by the verbosity of this essay. For example:

And whatever our credences here, we should be clear-eyed about the fact that helping or harming an infinite number of people would be an extremely big deal. Saving a hundred lives, for example, is a deeply significant act. But saving a thousand lives is even more so; a million, even more so; and so on. For any finite number of lives, though, saving an infinite number would save more than that. So saving an infinite number of lives matters at least as much as saving any finite number – and very plausibly, it matters more (see Beckstead and Thomas (2021) for more).

Is it really necessary to have a whole paragraph explaining that saving infinite lives would be a big deal? I don't think a single person would believe otherwise, which means this paragraph is zero entropy. Most philosophical essays seem to have a similar issue.

This is one of my favorite things on Youtube. With off-the-cuff words alone he paints more vivid visuals than most high production value videos. I particularly like the "Magnets" bit, even though it's more controversial.