Hacker News Comments on
GOTO 2012 • Mythbusting Modern Hardware to Gain 'Mechanical Sympathy' • Martin Thompson
GOTO Conferences
·
Youtube
·
1
HN points
·
2
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this video.So, while I agree that too many developers don't write sql these days, my experience, is that usually the database is the bottleneck for any application I write on the web. There's a reason that there's been a trend away from doing things in the database for years, and a lot of it has to do with moore's law slowing down in the last decade. I can trivially scale out webheads to do many of the calculations that the database could be doing for me, so if I'm doing work on the database, I take a bigger and bigger risk that I'm going to need to add a read replica, and now my code is at least an order of magnitude more complex. I've supported systems where the latency of updating the read slave caused enough problems due to assumptions baked into the code, that we ended up just turning off the read replicas, and had to live with the degraded performance of the app.So I would say, that in the spirit of the article, we probably aren't writing enough SQL, there are definitely things that SQL can do that are essentially free in terms of computation/memory/network. I will warn that we should do it with eyes open, and treat the database as a scarce the resource it will likely become. And often it's important to ask, "will this query that returns the exact data I want have less load on the db than a simpler query that returns more data along with it's network load?". I've certainly had battle scars even with trivial SQL queries.
Once we were sorting 10 small results in the SQL, which led to huge load on the database, since the sort was on a TEXT blob, and even though the sort could be done in memory, MySQL required a file_sort, which meant that it had to create a temp table, which meant it had to touch the disk, which meant I/O latency, and huge application degradation. The solution ended up changing the TEXT field to a varchar(65000), but it was still a wakeup for me with just how alien and non intuitive the SQL ecosystem can be. (As a side note it led me to realize just how foreign modern computer architectures are in general compared to the CS I learned as an undergrad. I also highly recommend Martin Thompson's talk on mechanical sympathy https://www.youtube.com/watch?v=MC1EKLQ2Wmg).
1 Martin Thompson busting myths about hardware and explaining why it's important to know. Mechanical sympathy makes you better, because you know how the code actually runs on the machine and interacts with different layers of memoryhttps://www.youtube.com/watch?v=MC1EKLQ2Wmg
2 Matt Godbolt (the man behind GCC explorer) - Emulating a 6502 system in Javascript
Great talk about BBC micro and much more
https://www.youtube.com/watch?v=7WuRq-Wmw5o
3 Matt Adereth - Clojure/typing
History of keyboards and a custom keyboard written in Clojure
https://www.youtube.com/watch?v=uk3A41U0iO4
I like the 3 for their content and how each speaker presented the background and their project/hack/ideas.
Highly recommend
⬐ voltagex_Your second link reminded me of https://www.youtube.com/watch?v=nLv_INgaLq8 (which definitely builds on some of Matt's work).https://www.youtube.com/watch?v=zBkNBP00wJE - C++17 for the Commodore 64.
Probable language warnings for my other suggestions:
* Rescuing Prince of Persia from the Sands of Time https://www.youtube.com/watch?v=FnEWBtCnFs8 (was this talk ever given elsewhere?)
* And You Shall Know Me By My Trail of Documentation - https://www.youtube.com/watch?v=fEgHdHdUDaA
* The History and Evolution of Computer Viruses - https://www.youtube.com/watch?v=s2g9lgYrYJM