Mārtiņš Možeiko
?
?
W, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Keyboard Navigation
Global Keys
[, < / ], > Jump to previous / next episodeW, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)
Menu toggling
q Quotes r References f Filter y Link c CreditsIn-Menu and Index Controls
a
w
s
s
d
h
j
k
l
←
↑
↓
↓
→
Esc Close menu / unfocus timestamp
Quotes and References Menus and Index
Enter Jump to timestampQuotes, References and Credits Menus
o Open URL (in new tab)Filter Menu
x, Space Toggle category and focus nextX, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus
Filter and Link Menus
z Toggle filter / linking modeCredits Menu
Enter Open URL (in new tab)⏫
Previous: ‘Ryan Fleury’
⏫
0:00: Hello, internet
0:00: Hello, internet
0:00: Hello, internet
0:36Testimonials for Mārtiņš
🎬
0:36Testimonials for Mārtiņš
🎬
0:36Testimonials for Mārtiņš
🎬
1:07: Return to audibly evangelise Chocolate Wine
1:07: Return to audibly evangelise Chocolate Wine
1:07: Return to audibly evangelise Chocolate Wine
1:43: Promote the Conference
1:43: Promote the Conference
1:43: Promote the Conference
2:59: Welcome Mārtiņš Možeiko
2:59: Welcome Mārtiņš Možeiko
2:59: Welcome Mārtiņš Možeiko
3:17: Testing
3:17: Testing
3:17: Testing
3:29: Thank you for joining the show
3:29: Thank you for joining the show
3:29: Thank you for joining the show
3:33: Happy to join you
3:33: Happy to join you
3:33: Happy to join you
3:37: What are you drinking?
3:37: What are you drinking?
3:37: What are you drinking?
3:39: Water
3:39: Water
3:39: Water
3:41: No sweet Chocolate Wine?
3:41: No sweet Chocolate Wine?
3:41: No sweet Chocolate Wine?
3:45: Not today
3:45: Not today
3:45: Not today
3:48: Yes, chat, he has a voice
3:48: Yes, chat, he has a voice
3:48: Yes, chat, he has a voice
3:56: You can find me, see me and hear me already1
3:56: You can find me, see me and hear me already1
3:56: You can find me, see me and hear me already1
4:14: Should I be evangelising Vulkan?2
4:14: Should I be evangelising Vulkan?2
4:14: Should I be evangelising Vulkan?2
4:58: Vulkan is as high-level as other graphics APIs
4:58: Vulkan is as high-level as other graphics APIs
4:58: Vulkan is as high-level as other graphics APIs
5:57: Updating uniforms in Vulkan, addressing memory feels low-level
5:57: Updating uniforms in Vulkan, addressing memory feels low-level
5:57: Updating uniforms in Vulkan, addressing memory feels low-level
6:23: Vulkan's unnecessary control over memory, in most cases
6:23: Vulkan's unnecessary control over memory, in most cases
6:23: Vulkan's unnecessary control over memory, in most cases
7:33: What graphics API would you recommend for a cross-platform game?
7:33: What graphics API would you recommend for a cross-platform game?
7:33: What graphics API would you recommend for a cross-platform game?
7:55: Recommend Direct3D 11 on Windows and OpenGL on Linux
7:55: Recommend Direct3D 11 on Windows and OpenGL on Linux
7:55: Recommend Direct3D 11 on Windows and OpenGL on Linux
8:22: Making the choice of graphics API not matter, by abstracting API calls
8:22: Making the choice of graphics API not matter, by abstracting API calls
8:22: Making the choice of graphics API not matter, by abstracting API calls
9:06: Moving from Vulkan to Sokol for Terminal Click
9:06: Moving from Vulkan to Sokol for Terminal Click
9:06: Moving from Vulkan to Sokol for Terminal Click
10:03: Use whatever is easiest to start
10:03: Use whatever is easiest to start
10:03: Use whatever is easiest to start
10:30: How did you start helping people, and why do you do it?
10:30: How did you start helping people, and why do you do it?
10:30: How did you start helping people, and why do you do it?
12:21: The fun of helping people
12:21: The fun of helping people
12:21: The fun of helping people
13:15: So it's something you just enjoy?
13:15: So it's something you just enjoy?
13:15: So it's something you just enjoy?
13:24: Participating on various forums, including Stack Overflow3
13:24: Participating on various forums, including Stack Overflow3
13:24: Participating on various forums, including Stack Overflow3
13:44: You were trying to find an answer to a question that you yourself answered on Stack Overflow?
13:44: You were trying to find an answer to a question that you yourself answered on Stack Overflow?
13:44: You were trying to find an answer to a question that you yourself answered on Stack Overflow?
14:01: Finding ones own answers and being surprised
14:01: Finding ones own answers and being surprised
14:01: Finding ones own answers and being surprised
14:10: How do you find the time?
14:10: How do you find the time?
14:10: How do you find the time?
14:32: Whiling away the time while Unreal Engine compiles
14:32: Whiling away the time while Unreal Engine compiles
14:32: Whiling away the time while Unreal Engine compiles
14:42: Talking about programming during breaks
14:42: Talking about programming during breaks
14:42: Talking about programming during breaks
14:56: So it's whenever you have a minute?
14:56: So it's whenever you have a minute?
14:56: So it's whenever you have a minute?
14:59: Staving off boredom by answering programming questions
14:59: Staving off boredom by answering programming questions
14:59: Staving off boredom by answering programming questions
15:13: Idling and wasting a lot of time on Reddit, YouTube, etc.
15:13: Idling and wasting a lot of time on Reddit, YouTube, etc.
15:13: Idling and wasting a lot of time on Reddit, YouTube, etc.
15:22: Replacing Reddit and YouTube usage with programming help
15:22: Replacing Reddit and YouTube usage with programming help
15:22: Replacing Reddit and YouTube usage with programming help
15:26: That's a very smart way to replace it
15:26: That's a very smart way to replace it
15:26: That's a very smart way to replace it
15:29: Learning by helping
15:29: Learning by helping
15:29: Learning by helping
16:01: Quote from Mārtiņš on pretending to be a CPU4
16:01: Quote from Mārtiņš on pretending to be a CPU4
16:01: Quote from Mārtiņš on pretending to be a CPU4
16:54: This is how you approach figuring out stuff
16:54: This is how you approach figuring out stuff
16:54: This is how you approach figuring out stuff
17:07: What does it mean to pretend to be a CPU?
17:07: What does it mean to pretend to be a CPU?
17:07: What does it mean to pretend to be a CPU?
17:10: Mentally simulating the program behaviour
17:10: Mentally simulating the program behaviour
17:10: Mentally simulating the program behaviour
18:02: Looking at and really understanding what the instructions are doing
18:02: Looking at and really understanding what the instructions are doing
18:02: Looking at and really understanding what the instructions are doing
18:39: How did you learn x86?
18:39: How did you learn x86?
18:39: How did you learn x86?
18:48: Gradually learning x86 through curiosity
18:48: Gradually learning x86 through curiosity
18:48: Gradually learning x86 through curiosity
20:16: Gradually learning x86 through curiosity (cont.)
20:16: Gradually learning x86 through curiosity (cont.)
20:16: Gradually learning x86 through curiosity (cont.)
20:45: It's just a long process of curiosity and figuring things out?
20:45: It's just a long process of curiosity and figuring things out?
20:45: It's just a long process of curiosity and figuring things out?
21:04: Curiosity through playing games
21:04: Curiosity through playing games
21:04: Curiosity through playing games
21:56: Reinforce the replacement of idle time with time spent learning and answering questions for people
21:56: Reinforce the replacement of idle time with time spent learning and answering questions for people
21:56: Reinforce the replacement of idle time with time spent learning and answering questions for people
22:25: Pre-internet lack of interest in non-technical content
22:25: Pre-internet lack of interest in non-technical content
22:25: Pre-internet lack of interest in non-technical content
23:04: Do you prefer to fix existing code, rather than reinvent the wheel?
23:04: Do you prefer to fix existing code, rather than reinvent the wheel?
23:04: Do you prefer to fix existing code, rather than reinvent the wheel?
24:28: Writing from scratch as a means of understanding, but appreciating the sheer complexity and general use of software
24:28: Writing from scratch as a means of understanding, but appreciating the sheer complexity and general use of software
24:28: Writing from scratch as a means of understanding, but appreciating the sheer complexity and general use of software
27:06: Do you go through the trouble of contributing to existing projects?
27:06: Do you go through the trouble of contributing to existing projects?
27:06: Do you go through the trouble of contributing to existing projects?
27:52: Adding multisampling to glfw, and submitting improvements to Clang
27:52: Adding multisampling to glfw, and submitting improvements to Clang
27:52: Adding multisampling to glfw, and submitting improvements to Clang
29:02: Figuring out a build system once
29:02: Figuring out a build system once
29:02: Figuring out a build system once
29:43: Why use old software?
29:43: Why use old software?
29:43: Why use old software?
30:41: Caring about the functionality of software, not its age, e.g. Far Manager5
30:41: Caring about the functionality of software, not its age, e.g. Far Manager5
30:41: Caring about the functionality of software, not its age, e.g. Far Manager5
33:34: What editor do you use to write C++?
33:34: What editor do you use to write C++?
33:34: What editor do you use to write C++?
33:49: Programming 50/50 between Visual Studio and Far Manager
33:49: Programming 50/50 between Visual Studio and Far Manager
33:49: Programming 50/50 between Visual Studio and Far Manager
34:19: Would you switch to my aesthetically pleasing terminal?
34:19: Would you switch to my aesthetically pleasing terminal?
34:19: Would you switch to my aesthetically pleasing terminal?
34:38: Needing a 2D grid of text and efficient editing, not graphical nonsense
34:38: Needing a 2D grid of text and efficient editing, not graphical nonsense
34:38: Needing a 2D grid of text and efficient editing, not graphical nonsense
35:25: The sheer functionality of Far Manager
35:25: The sheer functionality of Far Manager
35:25: The sheer functionality of Far Manager
36:41: And muscle memory plays a part in efficiency?
36:41: And muscle memory plays a part in efficiency?
36:41: And muscle memory plays a part in efficiency?
36:50: Building up 20 years of muscle memory
36:50: Building up 20 years of muscle memory
36:50: Building up 20 years of muscle memory
37:01: So aesthetic features are not core to your workflow?
37:01: So aesthetic features are not core to your workflow?
37:01: So aesthetic features are not core to your workflow?
37:31: Adding value in the Far Manager codebase
37:31: Adding value in the Far Manager codebase
37:31: Adding value in the Far Manager codebase
37:57: What's your take on project ownership?
37:57: What's your take on project ownership?
37:57: What's your take on project ownership?
38:19: Contributing to and part-owning existing software
38:19: Contributing to and part-owning existing software
38:19: Contributing to and part-owning existing software
39:45: Heartbreak at the desire for total ownership being a phase
39:45: Heartbreak at the desire for total ownership being a phase
39:45: Heartbreak at the desire for total ownership being a phase
40:09: Learning aside, utility is best built into existing software
40:09: Learning aside, utility is best built into existing software
40:09: Learning aside, utility is best built into existing software
41:49: What's your programming and professional history?
41:49: What's your programming and professional history?
41:49: What's your programming and professional history?
42:27: Starting programming in the 90s on a BASIC interpreter
42:27: Starting programming in the 90s on a BASIC interpreter
42:27: Starting programming in the 90s on a BASIC interpreter
44:27: First job working on Lotus Notes6 then landing a C++ role in 2005 without knowing the language
44:27: First job working on Lotus Notes6 then landing a C++ role in 2005 without knowing the language
44:27: First job working on Lotus Notes6 then landing a C++ role in 2005 without knowing the language
45:26: 2005: Cryptography-related tooling working on APIs and build systems in C++
45:26: 2005: Cryptography-related tooling working on APIs and build systems in C++
45:26: 2005: Cryptography-related tooling working on APIs and build systems in C++
46:27: 2012: Bigger enterprise companies
46:27: 2012: Bigger enterprise companies
46:27: 2012: Bigger enterprise companies
48:18: 2020: RAD Game Tools
48:18: 2020: RAD Game Tools
48:18: 2020: RAD Game Tools
48:45: Increasing technicality yields increasing ownership
48:45: Increasing technicality yields increasing ownership
48:45: Increasing technicality yields increasing ownership
48:59: Being a professional figurer out of problems
48:59: Being a professional figurer out of problems
48:59: Being a professional figurer out of problems
49:33: 5-minute break
49:33: 5-minute break
49:33: 5-minute break
50:12: Q&A
50:12: Q&A
50:12: Q&A
50:50: Learning by helping
50:50: Learning by helping
50:50: Learning by helping
51:35: Needing 5 minutes memory refreshing time
51:35: Needing 5 minutes memory refreshing time
51:35: Needing 5 minutes memory refreshing time
52:27: I am up-to-date on Handmade Hero, watching on 2x speed
52:27: I am up-to-date on Handmade Hero, watching on 2x speed
52:27: I am up-to-date on Handmade Hero, watching on 2x speed
53:13: Learning from books, e.g. Wirth's "Algorithms + Data Structures = Programs"7 in Russian translation
53:13: Learning from books, e.g. Wirth's "Algorithms + Data Structures = Programs"7 in Russian translation
53:13: Learning from books, e.g. Wirth's "Algorithms + Data Structures = Programs"7 in Russian translation
56:03: Incrementally approximating a solution to the Thirty-Million Line Problem9
56:03: Incrementally approximating a solution to the Thirty-Million Line Problem9
56:03: Incrementally approximating a solution to the Thirty-Million Line Problem9
57:26: Being shy about writing in English
57:26: Being shy about writing in English
57:26: Being shy about writing in English
59:15: Being a systems-level programmer
59:15: Being a systems-level programmer
59:15: Being a systems-level programmer
1:00:40: Addressing the question of why a codebase got to the point of not being worth trying to fix
1:00:40: Addressing the question of why a codebase got to the point of not being worth trying to fix
1:00:40: Addressing the question of why a codebase got to the point of not being worth trying to fix
1:02:39: Software ideas in the Handmade Network GitHub wishlist10,11,12
1:02:39: Software ideas in the Handmade Network GitHub wishlist10,11,12
1:02:39: Software ideas in the Handmade Network GitHub wishlist10,11,12
1:03:04: Dream for privacy-respecting alternatives to web-based applications
1:03:04: Dream for privacy-respecting alternatives to web-based applications
1:03:04: Dream for privacy-respecting alternatives to web-based applications
1:04:18: Ownership over personal data
1:04:18: Ownership over personal data
1:04:18: Ownership over personal data
1:05:12: Desiring the option to self-host software
1:05:12: Desiring the option to self-host software
1:05:12: Desiring the option to self-host software
1:05:37: Is the ability to export your data enough, while a company retains ownership of it?
1:05:37: Is the ability to export your data enough, while a company retains ownership of it?
1:05:37: Is the ability to export your data enough, while a company retains ownership of it?
1:05:51: Wanting (at least the option) to control the server
1:05:51: Wanting (at least the option) to control the server
1:05:51: Wanting (at least the option) to control the server
1:06:12: Ideally a self-hosted server to which a website may connect?
1:06:12: Ideally a self-hosted server to which a website may connect?
1:06:12: Ideally a self-hosted server to which a website may connect?
1:06:25: Standard Notes exemplifies this idea of flexible self-hosting13
1:06:25: Standard Notes exemplifies this idea of flexible self-hosting13
1:06:25: Standard Notes exemplifies this idea of flexible self-hosting13
1:07:40: Not caring about new languages
1:07:40: Not caring about new languages
1:07:40: Not caring about new languages
1:09:45: Wanting to get better at deciding what to make
1:09:45: Wanting to get better at deciding what to make
1:09:45: Wanting to get better at deciding what to make
1:10:52: Have you shipped any (personal) software?
1:10:52: Have you shipped any (personal) software?
1:10:52: Have you shipped any (personal) software?
1:10:59: Plug wcap14
1:10:59: Plug wcap14
1:10:59: Plug wcap14
1:11:48: What else?
1:11:48: What else?
1:11:48: What else?
1:11:54: Plug CxxProfiler16
1:11:54: Plug CxxProfiler16
1:11:54: Plug CxxProfiler16
1:13:02: We talked about Far Manager's codebase showing its age
1:13:02: We talked about Far Manager's codebase showing its age
1:13:02: We talked about Far Manager's codebase showing its age
1:13:11: CxxProfiler's profiling scheme is the problem, not the codebase's age
1:13:11: CxxProfiler's profiling scheme is the problem, not the codebase's age
1:13:11: CxxProfiler's profiling scheme is the problem, not the codebase's age
1:13:53: Plug Twitch Notify18
1:13:53: Plug Twitch Notify18
1:13:53: Plug Twitch Notify18
1:14:32: There is something nice about writing a quick thing
1:14:32: There is something nice about writing a quick thing
1:14:32: There is something nice about writing a quick thing
1:14:38: Evolving Twitch Notify19 to use WebSockets
1:14:38: Evolving Twitch Notify19 to use WebSockets
1:14:38: Evolving Twitch Notify19 to use WebSockets
1:15:46: Thank you
1:15:46: Thank you
1:15:46: Thank you
1:17:09: You're welcome
1:17:09: You're welcome
1:17:09: You're welcome
1:17:23: Closing thoughts
1:17:23: Closing thoughts
1:17:23: Closing thoughts
⏬
Next: ‘Ink & Switch’
⏬