TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Donald Knuth on work habits, problem solving, and happiness (2020)

634 pointsby Thursday24almost 3 years ago

22 comments

jmcphersalmost 3 years ago
&gt; My mother is amazing to watch because she doesn&#x27;t do anything efficiently, really: She puts about three times as much energy as necessary into everything she does. But she never spends any time wondering what to do next or how to optimize anything; she just keeps working. Her strategy, slightly simplified, is, &quot;See something that needs to be done and do it.&quot; All day long. And at the end of the day, she&#x27;s accomplished a huge amount.<p>This strategy is remarkably powerful and I&#x27;ve used it to great effect in my career. Committing yourself to pushing forward every single day, even if just a little bit, and always just peeling off one single thing you can do next (even if it&#x27;s tiny yet takes you all day) has a dizzying compounding effect.
评论 #31488660 未加载
评论 #31486249 未加载
评论 #31487699 未加载
评论 #31488405 未加载
评论 #31488239 未加载
评论 #31487508 未加载
评论 #31486585 未加载
评论 #31487648 未加载
评论 #31494231 未加载
评论 #31487748 未加载
bigcat12345678almost 3 years ago
&gt; Recently, I came across a few old and new interviews of Donald Knuth<p>I have developed the conclusion that reading digestive summary from original source materials is ultimately ineffective for me at this stage of the life.<p>Unfortunately, the author did not provide links to these interviews.<p>For anyone who is writing a summary from other source material, please do provide references. That&#x27;s one of the things I learned churning out low quality academic papers in PhD study.
评论 #31483485 未加载
评论 #31483698 未加载
评论 #31483248 未加载
elwellalmost 3 years ago
&gt; ...it turns up in Philippians 3:16, where the writer says that:<p>&gt; &quot;You don&#x27;t race to get to the goal; the process of racing itself, of keeping the pace, is the real goal. When I go on vacation, I like to enjoy the drive.&quot;<p>&gt; In Christian churches I am least impressed by a sermon that talks about how marvelous heaven is going to be at the end. To me that&#x27;s not the message of Christianity. The message is about how to live now, not that we should live in some particular way because there&#x27;s going to be pie in the sky some day. The end means almost nothing to me. I am glad it&#x27;s there, but I don&#x27;t see it as much of a motivating force, if any. I mean, it&#x27;s the journey that&#x27;s important.<p>---<p>This is Philippians 3:16: &quot;Only let us live up to what we have already attained.&quot;<p>It&#x27;s hard for me to connect that to the paraphrase given above. Furthermore, the previous few verses (12-14) of that same chapter seem to be more goal-oriented, than process-oriented:<p>&quot;Not that I have already obtained all this, or have already arrived at my goal, but I press on to take hold of that for which Christ Jesus took hold of me. Brothers and sisters, I do not consider myself yet to have taken hold of it. But one thing I do: Forgetting what is behind and straining toward what is ahead, I press on toward the goal to win the prize for which God has called me heavenward in Christ Jesus.&quot;<p>Also see 1 Corinthians 15:19:<p>&quot;If only for this life we have hope in Christ, we are of all people most to be pitied.&quot;
评论 #31487234 未加载
bowsamicalmost 3 years ago
&gt; One day, when I realized how hard it was to find any reason for my current unhappiness, I thought, &quot;Wait a minute. I bet this unhappiness is really something chemical, not actually caused by circumstances.*&quot; I began to speculate that my body was programmed to be unhappy a certain percentage of the time, and that hormones or something were the real reason behind moments of mild depression.&quot;<p>This is exactly what happens to me with my dysthymia. The intensely heavy body feeling (medical term: &quot;psychomotor retardation&quot;) and low energy aren&#x27;t really problems in themselves, it&#x27;s when I &quot;buy into them&quot; that it really goes downhill. The problem is that it does kinda suck and makes it hard to concentrate and do things.<p>Unfortunately my mood has been generally very low since about age 9 to 11 unfortunately, and I&#x27;m 27 now. I don&#x27;t see much value in life or in others or relationships (even though I am married!). So that combined with the physical symptoms makes it a difficult and slow life.
评论 #31485767 未加载
评论 #31482826 未加载
评论 #31483714 未加载
kromemalmost 3 years ago
His &quot;0.8 is enough&quot; idea is close to an observation I made a few years ago, that the Dunning-Kreuger effect seems to reflect an ideal breakpoint for social stratification.<p>People low on the curve drift towards evaluating themselves at ~0.75 (round to Knuth&#x27;s 0.8), and those above that marker drift towards it as well.<p>So when we are actually around the 80th percentile of anything, we&#x27;re in the sweet spot everyone else&#x27;s self-image trends towards.<p>It makes sense too - we&#x27;re very social beings, and being an outlier is inherently isolating.<p>To Knuth&#x27;s example - if he were 100% happy all the time, that could actually cause more social integration issues than being mostly happy (80%). For example, &quot;Congrats on the funeral, it looks awesome!&quot;<p>Typically, good enough is perfect.
hintymadalmost 3 years ago
I still read TAOCP, particularly vol 4, for fun from time to time, but I have to admit that the days are long gone when an ordinary engineer needs to study algorithms in depth. The vast number of libraries and services are good enough that most people just need to know a few terms to function adequately for their jobs. I guess it&#x27;s a good thing as it shows how robust the software abstractions are, in contrast to mathematics. It&#x27;s just that I feel quite nostalgic about the countless days I spent understanding, proving, and implementing fundamental algorithms and data structures.
评论 #31483609 未加载
评论 #31484229 未加载
评论 #31488459 未加载
评论 #31484606 未加载
评论 #31484453 未加载
skadamatalmost 3 years ago
One of my favorite facts about Knuth is how rarely he checks email!<p><a href="https:&#x2F;&#x2F;www.calnewport.com&#x2F;blog&#x2F;2008&#x2F;07&#x2F;17&#x2F;bonus-post-how-the-worlds-most-famous-computer-scientist-checks-e-mail-only-once-every-three-months&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.calnewport.com&#x2F;blog&#x2F;2008&#x2F;07&#x2F;17&#x2F;bonus-post-how-th...</a>
评论 #31484240 未加载
评论 #31483887 未加载
评论 #31486085 未加载
SoftTalkeralmost 3 years ago
<i>Every day I look at the things that I&#x27;m ready to do, and choose the one that I like the least, the one that&#x27;s least fun — the task that I would most like to procrastinate from doing, but for which I have no good reason for procrastination.</i><p>I&#x27;m not sure I&#x27;ve seen this approach to combating procrastination before. I can see how it might work: once you&#x27;ve completed the thing you least wanted to do, you might feel relief that the distasteful task is done and you can then dive into other stuff without that nagging you in the back of your mind.<p>I think I will give this a try...
评论 #31486039 未加载
评论 #31486706 未加载
评论 #31486568 未加载
FrankyHollywoodalmost 3 years ago
&gt; &quot;The best test of when I&#x27;m about ready to solve a problem is whether or not I can think about it sensibly while swimming&quot;<p>My personal variant is &quot;when I don&#x27;t have problems to solve while I&#x27;m cycling it&#x27;s time to look for a new job&quot; :)
mooneateralmost 3 years ago
&gt; they haven’t learned the fundamental ideas of algebra<p>I&#x27;d very much love to know exactly what Knuth considers the &quot;fundamental ideas of algebra&quot;!
评论 #31483309 未加载
评论 #31483391 未加载
评论 #31482908 未加载
mooneateralmost 3 years ago
&gt; trying to work the concepts out in my own mind and to anticipate what the authors are going to say before turning each page. I usually fail to guess what the next page holds, but the fact that I&#x27;ve tried and failed makes me more ready to understand why the authors chose the paths that they did<p>TIL Donald Knuth operates a bit like GPT-3 but for research paper narrative.
评论 #31483096 未加载
paulpauperalmost 3 years ago
This guys name shows up on almost every important combinatorics result . amazing how much he has done
评论 #31483504 未加载
Thermosettyalmost 3 years ago
&gt; I try to do a good job at whatever I&#x27;m doing, because it&#x27;s more fun to do a good job than not.<p>Yes it&#x27;s &quot;fun&quot; and I&#x27;ll add that it&#x27;s a great primer for the more significant tasks.
JoshColealmost 3 years ago
&gt; it&#x27;s selfish to keep beautiful discoveries a secret.<p>I found a beautiful thing recently and planned to do a write-up on it eventually, but I know I might get distracted. So I&#x27;ll share the beauty here since I don&#x27;t want to be selfish!<p>In K means clustering you know you&#x27;ve stabilized if centers t = centers (t-1). Stabilization has occurred because no clusters were reassigned during the lloyd iteration. People already know this. In many implementations of k means clustering you&#x27;ll find this check in the body of the loop as a special case which means the loop should end. You can&#x27;t have this as the condition of the while loop because you don&#x27;t yet have a centers t-1 on your first loop. Actually you can by supposing a hypothetical all nil cluster definition prior to initialization, but people don&#x27;t tend to do that. That failure to do that is ugly in the same way that Linus refers to code which uses special casing as being ugly. It doesn&#x27;t apply the same procedure to every iteration. They should do that and it would make the code more beautiful. However, that is not my discovery, but just a preference for beauty and consistency.<p>What I noticed is that the equality check is actually giving you a bitset that tells you whether any of the centers was changed. This is a more general idea than just telling you that you can stop because you are done. It is telling you &#x2F;why&#x2F; you aren&#x27;t done. It is also deeply informative about the problem you are solving in a way that helps the computation to be done more efficiently. I want to show it being deeply informative. So I&#x27;ll touch on that briefly and then we can revisit the simplicity.<p>Clusters being reassigned tells you the general location that have the potential to need future reassignment. For example, in the range of 1 to a 1,000,000 on a 1d line if a cluster at 10 moves, but there is a cluster at 500, then you know you don&#x27;t need to look at reassignment for any cluster above 500. I mean this in two sense. One is that nothing in clusters past the 500 can change. So you don&#x27;t need to look at them. The other is that clusters past the 500 cluster can&#x27;t even be nearer. So you don&#x27;t have to find the pairwise distance to them. In the assignment stage of the lloyd iteration you don&#x27;t even need to look at everything above 500. So you not only reduce the amount you need to look at in the N dataset items. You also reduce the number of k clusters centers you need to compare them to. In the 1 to 1,000,000 domain example for stuff below 500 that is probably going to be more than 99% of your data that you can skip and the vast majority of clusters that you don&#x27;t even to need to check distance for.<p>Returning to the simplicity discussion it means you can write the loop without the special casing. Instead of a break when stabilization has occurred you have a selection criteria function which tells you the selection criteria for that step of the lloyd iteration. Obviously at the initialization stage we went from no definitions to k definitions. So the selection criteria function is well defined even for the very first iteration on an intuitive level.<p>Why do I find this beautiful? Well, we can not only eliminate the special casing, which is beautiful on its own, but we can rephrase each iteration in terms of a selection criteria generated by that equality check! We are never special casing; the reason we stopped was always because the selection criteria was the empty set. We just didn&#x27;t think of it that way, because we didn&#x27;t phrase the update step in terms of the generation of a selection criteria for updates.<p>And when you do, suddenly it becomes obvious how to do certain parallelizations because your selection strategy tells you where to kick off another refinement iteration. And &#x2F;locality&#x2F; in a dimensional space is determining where the updates get passed. I have this strange feeling that if we just keep pulling on this idea that we&#x27;ll be able to eliminate the need for loops that await all cluster updates and instead express the computation in a massively parallel way that ends up taking advantage of the topological structure of the problem: I mean, clearly if you have two clusters that moved one at 5 and another at at 900900 you don&#x27;t &#x2F;need&#x2F; to wait for 5 to finish its refinement to know that it &#x2F;isn&#x27;t&#x2F; going to impact the next step for refinement at 900900, because there are so many clusters between them. So you should be able to proceed as if 5 cluster movement has no impact on 900900 cluster movement. Only if they drift closer and the topology differs do you have to backtrack, but since we already need to pass these updates through the topological structure we have a fairly straightforward way of declaring when it is appropriate to backtrack. This phrasing is really stupid for the toy problems that people solve in classrooms and when trying to understand things because of the overhead of keeping track of the work and the wasted work, but I have a feeling that it might be practical. In real massive problems you already have to pay the cost of keeping the work because stuff fails and you need to retry and in particular the geometric probability distrubition of failure is high enough that we just have to assume that stuff fails in these massive cases. So the added cost of keeping the work around during the computation isn&#x27;t as extreme a barrier. It&#x27;s basically optimistic massively parallelized clustering, but with a resolution protocol for how to handle two optimistic clustering runs which collide with each other, because the natural problem of scale forces redundancy on us effectively making the choice to be redundant free rather than expensive wasted work.<p>Maybe nothing will come of these thoughts, but I found the first thought pretty and it provoked the second line of reasoning, which I found interesting. I&#x27;m working on a k-means clustering system that incorporates the good ideas from several k means research papers and I plan to explore these ideas in my implementation, but in the spirit of not hiding beautiful things, I hope you enjoy.<p>Also, as an aside, these aren&#x27;t completely new ideas. People have noticed that you can use the triangle inequality to speed up computation for a while and shown it to speed up computations. It&#x27;s more of an observation of the way the looping structure can be seen in a non-special cased way, how that suggests ways to improve performance, and how it lends itself better to alternative control flow structures.<p>&gt; it&#x27;s selfish to keep beautiful discoveries a secret.<p>It would be really fun to read what others found beautiful that they&#x27;ve never heard someone else mention.
评论 #31485544 未加载
DeathArrowalmost 3 years ago
Learning that Knuth also has a mathematical background, I wonder what founders and great contributors to Computer Science don&#x27;t have a mathematical background.
syndacksalmost 3 years ago
A lot of drivel here from old Knuth “Be original” “Happiness is not constant” “Find solutions to problems” “Humanize the thing to figure it out” Am I missing something here with ole Knuth?
uwagaralmost 3 years ago
damn, is he not dead yet?
beebmamalmost 3 years ago
&gt;In Christian churches I am least impressed by a sermon that talks about how marvelous heaven is going to be at the end. To me that&#x27;s not the message of Christianity. The message is about how to live now, not that we should live in some particular way because there&#x27;s going to be pie in the sky some day. The end means almost nothing to me. I am glad it&#x27;s there, but I don&#x27;t see it as much of a motivating force, if any. I mean, it&#x27;s the journey that&#x27;s important.<p>I find this quite sad. In the US, I have never known a kind Christianity that espoused these ideas. The end, either heaven or hell (or purgatory), is everything to Christianity in the US, in my experience. Perhaps it used to be different here.
评论 #31482666 未加载
评论 #31483448 未加载
评论 #31482624 未加载
评论 #31482670 未加载
评论 #31487453 未加载
评论 #31485788 未加载
评论 #31488561 未加载
评论 #31488085 未加载
评论 #31482603 未加载
zeropalmost 3 years ago
I admire Donald Knuth for his contribution on algorithms and CS stuff. He is one of greatest computer scientist of our time. But would his every advice outside CS fields will be great? I am not sure about this.
评论 #31483004 未加载
评论 #31483110 未加载
评论 #31483752 未加载
评论 #31483680 未加载
评论 #31483389 未加载
underdeserveralmost 3 years ago
(2020)
nnoitraalmost 3 years ago
&gt;That&#x27;s quite different from a bachelor&#x27;s degree or a master&#x27;s degree; those degrees are awarded for a mastery of existing knowledge<p>I didn&#x27;t know a BsC was a sign of mastery of a field.
评论 #31482907 未加载
hn-22almost 3 years ago
Knuth is a failed Mathematician. He basically couldn&#x27;t solve the problem Manin gave him so he escaped to a beach. I don&#x27;t think his guidance matters that much. I&#x27;ll listen to him only when he has the solution.
评论 #31487783 未加载