Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
qsantos
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
61.
▲
by
qsantos
3y ago
Interesting, I have never really looked into this kind of calculation. Thanks for the links!
62.
▲
by
qsantos
3y ago
The point is that dynamic programming builds on various abstract concepts that many college students only understand to a level deep enough to pass exams. Making the connection with caching, which is a mostly-unrelated, and much more concre
63.
▲
by
qsantos
3y ago
I agree with that article that recursion is better introduced with relevant data structures than with Fibonacci. And I agree that Fibonacci is also too simple to explain dynamic programming, which is why I showed how it works with edit dist
64.
▲
by
qsantos
3y ago
Please, take the perspective of an average computer science student, who might have had some interest in computers, but maybe did not look too deep in the theory. In the past few years, they just had to learn graphs, automata and Turing mac
65.
▲
by
qsantos
3y ago
But how to you systematically deduce the tail recursion version? I feel like, in this case, the recursivity in definition of Fibonacci and the recursivity in the tail recursion is just a coincidence, with the second just being a contrived w
66.
▲
by
qsantos
3y ago
Thanks for the details. To add to this discussion, I have a script to see the progression over the days. Looking at the last two columns, you can see how brutal 2023 was compared to 2022. Especially in the beginning. The first few days, mos
67.
▲
by
qsantos
3y ago
The issue I have with not connecting dynamic programming with caching is that it becomes an exercise in cleverness, and many people just give up. It was pretty fun in school, but if I need colleagues to ramp up on it, I need a more effectiv
68.
▲
by
qsantos
3y ago
I think the point of GP is that saying it's basically “smart caching”, or “filling the cache in the correct order” helps connect with a concept many people are already very familiar with, which grounds the concept immediately. In contr
69.
▲
by
qsantos
3y ago
I have listed a few in the article. It's pretty common to see them in lectures and practical exercices. - longest common subsequence - longest common substring - line warp - subset sum - partition - knapsack You can also have a look at
70.
▲
by
qsantos
3y ago
Did you encounter practical problems where genetic algorithms work well? So far, the only serious usage I did was for CodinGame's Mars Lander optimization problem (and it works pretty well there!).
71.
▲
by
qsantos
3y ago
Ah yes, but I use Rust, I cannot go back up a tree (-:
72.
▲
by
qsantos
3y ago
Do you mean tree rebalancing algorithms? I have to agree with this. AVL tree insertion is fine enough, but it gets hairy when you get to deletion. And Red-Black trees…
73.
▲
by
qsantos
3y ago
I totally agree in that I use the same mental model. But, if you look at it as “the shortest path must be the shortest path through one of its neighbors”, it can actually be classified as a dynamic programming algorithm! https://
74.
▲
by
qsantos
3y ago
Thanks! I should have planned better for that before posting.
75.
▲
by
qsantos
3y ago
It _is_ a funny quote. But I would still point out that this is the exact reason “dynamic” does not help if you do not know about the history. Since it can be applied to anything, it does not help you trim down what it can refer to.
76.
▲
by
qsantos
3y ago
From my own experience, being taught dynamic programming straight way makes it more of a puzzle. By going through the steps and explaining _why_ we are using a table, and connecting the concept to caching, I feel like it makes much more sen
77.
▲
by
qsantos
3y ago
Absolutely. I did not bother so far, since I was mostly writing for myself. But I should have before posting here; I know what the hug of death means!
78.
▲
by
qsantos
3y ago
Sorry about that. It looks like the MySQL database did not like the sudden influx of traffic. It's back up!
79.
▲
Dynamic programming is not black magic
(qsantos.fr)
468 points
by
qsantos
3y ago
|
202 comments
80.
▲
Writing Python inside your Rust code – Part 1
(blog.m-ou.se)
3 points
by
qsantos
3y ago
|
0 comments
81.
▲
Of Rats and Ratchets
(matklad.github.io)
2 points
by
qsantos
3y ago
|
0 comments
82.
▲
A List of Predictions Made in 1924 About 2024
(threadreaderapp.com)
1 points
by
qsantos
3y ago
|
1 comments
83.
▲
Arc<str> vs. String, is Arc<str> faster?
(blocklisted.github.io)
39 points
by
qsantos
3y ago
|
8 comments
84.
▲
Avatar.png
(tuckersiemens.com)
2 points
by
qsantos
3y ago
|
0 comments
85.
▲
The Most Common Rust Compiler Errors as Encountered in RustRover: Part 2
(blog.jetbrains.com)
1 points
by
qsantos
3y ago
|
0 comments
86.
▲
Adopting Rust: the missing playbook for managers and CTOs
(mainmatter.com)
2 points
by
qsantos
3y ago
|
0 comments
87.
▲
Rust Is Beyond Object-Oriented, Part 3: Inheritance
(thecodedmessage.com)
1 points
by
qsantos
3y ago
|
0 comments
88.
▲
I Use Declarative Macros in Rust
(flinect.com)
2 points
by
qsantos
3y ago
|
0 comments
89.
▲
Speedrunning College: Four Years Later, a Conclusion
(tracingwoodgrains.substack.com)
2 points
by
qsantos
3y ago
|
1 comments
90.
▲
In defense of complicated programming languages
(viralinstruction.com)
2 points
by
qsantos
3y ago
|
1 comments
More ›