summaryrefslogtreecommitdiff
path: root/public/posts/dijkstra-knuth
diff options
context:
space:
mode:
authormjkwiatkowski <mati.rewa@gmail.com>2026-01-28 14:30:13 +0100
committermjkwiatkowski <mati.rewa@gmail.com>2026-01-28 14:30:13 +0100
commite99bd99eeedbf38390e0d4d014c35b04a280767b (patch)
tree1c5c045f553205bb70fb50db865b3c34c61f8768 /public/posts/dijkstra-knuth
parentb56e4a6a679a3151b02749edc0028ce909037cdc (diff)
feat: added new read books
Diffstat (limited to 'public/posts/dijkstra-knuth')
-rw-r--r--public/posts/dijkstra-knuth/index.html84
1 files changed, 0 insertions, 84 deletions
diff --git a/public/posts/dijkstra-knuth/index.html b/public/posts/dijkstra-knuth/index.html
deleted file mode 100644
index f509fd1..0000000
--- a/public/posts/dijkstra-knuth/index.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png">
- <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png">
- <link rel="stylesheet" href="/css/style.css" />
- <link rel="stylesheet" href="/css/fonts.css" />
- <script async type="text/javascript" src="js/code.js"> </script>
-</head>
-
-<div class="container">
- <ul id="bar">
-
- <li>
- <a href="/">go back</a>
- </li>
- <li>|</li>
-
- <li>
- <a href="mailto:mati.rewa@gmail.com">mati.rewa@gmail.com</a>
- </li>
- <li>|</li>
- <li>
- <a href="https://git.denounce.ai/">git.denounce.ai</a>
- </li>
- <li>|</li>
- <li>
- <a href="https://ohmyghost.nl">ohmyghost.nl</a>
- </li>
- <li>|</li>
- <li>
- <a href="https://atlarge-research.com/mkwiatkowski/">research</a>
- </li>
- <li>|</li>
- <li>
- <a href="/books">book blog</a>
- </li>
-</ul>
-
-
-</div>
-</div>
-<div class="container">
- <h2>Dijkstra and Knuth</h2>
- <p>It has long lingered on my mind to reflect partially on my experience of the last 3 years, as the B.Sc. of Computer Science I have recently undertaken is soon coming to an end.
-Fortunately, this is not the end of my journey as a Computer Scientist, but there are specific things that I did not realize about Computer Science before I embarked on this endeavour, most important of which is this: Computer Science is 90% reading and understanding and 10% coding.
-I believe it to be the most important thing I have learned about the field itself in the last 3 years.
-Here is why.
-Dealing with complex problems is hard.
-Programming is all about solving complex problems, programmers live by optimizing our code the best we can, and try to find solutions to problems that we encounter while doing so.
-While it is no doubt nice to have a working code that does something cool, or a solution to a problem that meets the specification, I don&rsquo;t think that is the mindset a programmer should have &ndash; that is, at this stage, to solve a problem is not about getting to a solution <em>somehow</em>.</p>
-<p>Solving coding tasks requires time.
-This might be difficult to admit for some, as it has been for me.
-But understanding a problem requires patient reading and digesting the context, possible solutions and most importantly doubts one might have about their own solution.
-Needless to say, if you have solved a problem without asking questions about it, then it wasn&rsquo;t a difficult (by proxy important) problem to be solve in the first place.
-Reading code is hard.
-It&rsquo;s sometimes like reading an essay in a foreign language.
-Your head hurts, your eyes are getting sore, and after 6 hours of staring at the screen you conclude you don&rsquo;t understand anything anymore.
-One of my favourite quotes about computing from Temple OS creator, <a href="https://en.wikipedia.org/wiki/Terry_A._Davis">Terry Davis</a>, reflects this perfectly (it&rsquo;s too long to include here, so <a href="https://www.goodreads.com/quotes/10916333-what-s-reality-i-don-t-know-when-my-bird-was-looking">this is the link to the GoodReads quote page</a>).
-It would almost seem like this time has been wasted, since you might have not produced a line of code.
-Nevertheless, this is all there is to programming.</p>
-<p>After 3 years, it appears to me that my views about Computer Science aligns with those of Donald Knuth and Edsger Dijkstra the most.
-I had first stumbled on Donald Knuth&rsquo;s blog long ago, while exploring Jamie Zawinski&rsquo;s blog and looking for top figures in CS to study.
-On his <a href="https://www-cs-faculty.stanford.edu/~knuth/email.html">blog</a> Knuth writes: <em>What I do takes long hours of studying and uninterruptible concentration. I try to learn certain areas of computer science exhaustively; then I try to digest that knowledge into a form that is accessible to people who don&rsquo;t have time for such study.</em>
-There it is.
-Computing takes time.
-There&rsquo;s no silver bullet yet, and we as programmers have to take our time to think about problems in depth.
-There have been many comments on the peculiar style of teaching and way of being of Edsgar Dijkstra, but I believe he has made some really good points about this too.
-What describes my experience over the last 3 years well is his quote: <em>The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility[&hellip;]</em>.
-I think this the approach to take, because so often computers help us verify and point out that we indeed really don&rsquo;t know anything, we are just pretending we do.</p>
-
-</div>
-<footer style="vertical-align: bottom;">
- <div style="display: block; margin-left:auto; margin-right:auto;">
- <center>
-
- © Copyright 2024-2025 Mateusz J. Kwiatkowski. All Rights Reserved.
-
- </center>
- </div>
-</footer>
-</body>
-</html>
-