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'
⏬