HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Jonathan Blow "Making Game Programming Less Terrible" Talk at Reboot Develop 2017

Daniel Bross · Youtube · 71 HN points · 4 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Daniel Bross's video "Jonathan Blow "Making Game Programming Less Terrible" Talk at Reboot Develop 2017".
Youtube Summary
Jonathan Blow's talk from Reboot Develop 2017.
Recorded 4/20/2017 from the Twitch stream.
I do not own this video.

The sound comes in after the 1 minute mark. The stream had some problems at the beginning.
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Jul 13, 2019 · 2 points, 0 comments · submitted by anaphor
You don't know what you're talking about. Chris spotted the developer's unfamiliarity with the web and he was right.

  200ms: http handshake done. let's download this HTML page
  207ms: ok the page is downloaded. let's see what it's all about
  213ms: better look ahead and queue up all the files this page needs. it's a CSS file, a JS file and a bunch of PNGs
  214ms: parses 9 lines. stops parsing.

  217ms: CSS starts downloading!
  220ms: JS starts downloading!
  221ms: one of the PNGs starts downloading!

  nothing happens

  384ms: CSS is done downloading :)
  389ms: CSS is done parsing :)
  405ms: the first PNG is done downloading :)
At this point, I have loaded the all the HTML, CSS and even an image but not a single pixel will be drawn until the JS is done downloading and running. The problem here is not JavaScript, but render-blocking tags. This should be relevant: https://stackoverflow.com/questions/4396849/does-the-script-...

Why can't the website just load everything and then, only after showing you the contents of the page, run the necessary JavaScript? Probably because the developer never even thought about all of this. I don't blame him. He's not walking around saying his website is fine handcrafted HTML free of bloat or fluff. He's just making a website about his book.

As a sidenote, you believing that this is a website that "loads extremely quickly" reminds me of Jonathan Blows's "there's generalized insanity about software and people often don't know what makes programs slow" ( https://www.youtube.com/watch?v=gWv_vUgbmug )

tscs37
I think it's less of an unfamiliarity and more of an outdated development practise. Plus, completing the entire page in under 750ms (measured in Firefox) is still faster than some other pages out there (reddit: 4s, HN: 1.2s, etc)

I would personally say the website has it's charm, even if it's a bit dated in design.

muthdra
Oh no, I don't have anything against the website. It worked 100% of the times I tried in less than one second and it responds well to every lighthouse audit for performance except render-blocking tags. Also the books look amazing.

But the point was all about the look of the site and the defense was that it should behave like an old-time simple barebones website because it looks like one. This is not true.

This website waits to parse a JavaScript file that adds like 5 lines to the bottom of the page. It looks and behaves... unconventionally.

This is of no use for me unfortunately. I don't miss OO syntax from C at all. OO by default leads to badly architected software, as learned emprically from many projects. I'm perfectly happy with the minimal OO support that C brings - Just pass an explicit "vtable" (struct of function pointers) in the few cases where it makes sense.

Instead of OO I would like to know if we can do something about the (mostly compile performance) problem that importing external interfaces is done by including text files, and that compilation means writing intermediate results to disk.

Also there might or might not be a nice solution for better compile time code generation (just for the rare things where it's really useful, like support for type-generic value printing when debugging).

Jonathan Blow has made some really impressive advancements with his Jai language (his own language) compiler https://www.youtube.com/watch?v=gWv_vUgbmug. Compiling a game engine and a little game (50K lines of code I think) in less than a second. Whether his ideas work out well in the end or just work for himself remains to be shown, but it's very interesting to watch the video in any case.

spease
Has there been any external verification of Jai?
jstimpfle
How do you mean? The compiler is not released yet, but he has done many streams working on the compiler and on the game engine (both written in that language) and answering questions. You can find them all on youtube.
also Jai: https://www.youtube.com/watch?v=gWv_vUgbmug
_pmf_
I have hopes that Jai will be at a very nice local optimum regarding performance and productivity, but I think just like in C++, safety is not a major design goal (you need to be unsafe if working with memory mapped structs).
Rusky
> you need to be unsafe if working with memory mapped structs

Perhaps when defining their address and layout, or if they are a hardware structure that affects memory like a page table or TLB or a DMA controller, but beyond that, why? Or is that just the main use case you're describing?

Jun 22, 2017 · 2 points, 0 comments · submitted by SaltyMaia
May 25, 2017 · 5 points, 0 comments · submitted by dsego
For anyone who hasn't yet seen it, check out Jonathan Blow's Jai language, it is fantastic!

https://www.youtube.com/watch?v=gWv_vUgbmug

papaf
That's cool. Is there somewhere I can download the language to play with?
wulfklaue
No ...
May 08, 2017 · 36 points, 1 comments · submitted by kzrdude
Pica_soO
Fascinating to see a language that supports DOD as a paradigm.
Apr 27, 2017 · 9 points, 0 comments · submitted by petercooper
Apr 22, 2017 · 4 points, 0 comments · submitted by waivek
Apr 21, 2017 · 11 points, 1 comments · submitted by elisee
mcbits
Any time someone complains about software startup times, I'm reminded of Blender, which starts in a fraction of a second on my old 1st-generation i5 with a cold cache. That should be the baseline: If a program is less complex than Blender, there is no excuse for taking more than 1 second to launch.
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.