We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
Bitwise»Episode Guide
Packages
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
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 Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:09Recap and set the stage for the day
🗩
0:09Recap and set the stage for the day
🗩
0:09Recap and set the stage for the day
🗩
1:10Demo typeof()
🏃
1:10Demo typeof()
🏃
1:10Demo typeof()
🏃
3:01Describe the get_typeinfo() builtin function and its use cases
📖
3:01Describe the get_typeinfo() builtin function and its use cases
📖
3:01Describe the get_typeinfo() builtin function and its use cases
📖
6:56Demo the ability to dig into typeinfo
🏃
6:56Demo the ability to dig into typeinfo
🏃
6:56Demo the ability to dig into typeinfo
🏃
9:01Describe the typeinfo generation code, noting that size and alignment information is no longer output directly from our internal definitions, but via sizeof() and alignof() calls
📖
9:01Describe the typeinfo generation code, noting that size and alignment information is no longer output directly from our internal definitions, but via sizeof() and alignof() calls
📖
9:01Describe the typeinfo generation code, noting that size and alignment information is no longer output directly from our internal definitions, but via sizeof() and alignof() calls
📖
14:23Note the recent large number of bug reports / fixes
📖
14:23Note the recent large number of bug reports / fixes
📖
14:23Note the recent large number of bug reports / fixes
📖
15:05Review the new handling of @complete note for use in if and switch statements
📖
15:05Review the new handling of @complete note for use in if and switch statements
📖
15:05Review the new handling of @complete note for use in if and switch statements
📖
17:26Review the new support for # statements, and #assert specifically
📖
17:26Review the new support for # statements, and #assert specifically
📖
17:26Review the new support for # statements, and #assert specifically
📖
19:03Note the increased strictness for C11 support
📖
19:03Note the increased strictness for C11 support
📖
19:03Note the increased strictness for C11 support
📖
19:41Review the addition of alignof() and offsetof()
📖
19:41Review the addition of alignof() and offsetof()
📖
19:41Review the addition of alignof() and offsetof()
📖
20:32Review the change to make ++ / -- be exprs with C-like postfix / prefix variants
📖
20:32Review the change to make ++ / -- be exprs with C-like postfix / prefix variants
📖
20:32Review the change to make ++ / -- be exprs with C-like postfix / prefix variants
📖
22:51Review the newly unified variable declaration and initialiser statement code, and if initialisers
📖
22:51Review the newly unified variable declaration and initialiser statement code, and if initialisers
📖
22:51Review the newly unified variable declaration and initialiser statement code, and if initialisers
📖
24:37Review the fixed regression in the constant evaluator, with the introduction of the #static_assert note to catch these kinds of bugs
📖
24:37Review the fixed regression in the constant evaluator, with the introduction of the #static_assert note to catch these kinds of bugs
📖
24:37Review the fixed regression in the constant evaluator, with the introduction of the #static_assert note to catch these kinds of bugs
📖
28:08Q&A
🗩
28:08Q&A
🗩
28:08Q&A
🗩
28:48Package design
🗩
28:48Package design
🗩
28:48Package design
🗩
37:34Package path namespace, and absoluteness by default
🗩
37:34Package path namespace, and absoluteness by default
🗩
37:34Package path namespace, and absoluteness by default
🗩
41:01Create os.c as the front-end for all OS-specific stuff, and os_win32.c to contain our first platform's file enumeration code
41:01Create os.c as the front-end for all OS-specific stuff, and os_win32.c to contain our first platform's file enumeration code
41:01Create os.c as the front-end for all OS-specific stuff, and os_win32.c to contain our first platform's file enumeration code
43:10Introduce dir__set_state(), dir_find() and dir_find_next() to enumerate all files matching a given search term in a directory,1 and dir_find_free() to close that directory
43:10Introduce dir__set_state(), dir_find() and dir_find_next() to enumerate all files matching a given search term in a directory,1 and dir_find_free() to close that directory
43:10Introduce dir__set_state(), dir_find() and dir_find_next() to enumerate all files matching a given search term in a directory,1 and dir_find_free() to close that directory
1:07:23Run it to see that it just works
🏃
1:07:23Run it to see that it just works
🏃
1:07:23Run it to see that it just works
🏃
1:08:59Run it on a search term that shouldn't match anything
🏃
1:08:59Run it on a search term that shouldn't match anything
🏃
1:08:59Run it on a search term that shouldn't match anything
🏃
1:09:54Make dir_find() clear the iter
1:09:54Make dir_find() clear the iter
1:09:54Make dir_find() clear the iter
1:10:17Run it to see size and handle get fully cleared
🏃
1:10:17Run it to see size and handle get fully cleared
🏃
1:10:17Run it to see size and handle get fully cleared
🏃
1:10:45Make dir_find_test() call dir_find_free() after one iteration, and the latter to reset valid and error to false, with a few words on the relation between valid and error
1:10:45Make dir_find_test() call dir_find_free() after one iteration, and the latter to reset valid and error to false, with a few words on the relation between valid and error
1:10:45Make dir_find_test() call dir_find_free() after one iteration, and the latter to reset valid and error to false, with a few words on the relation between valid and error
1:12:06Introduce dir_find_buf() to push our file paths onto a stretchy buffer
1:12:06Introduce dir_find_buf() to push our file paths onto a stretchy buffer
1:12:06Introduce dir_find_buf() to push our file paths onto a stretchy buffer
1:14:57Step through dir_find_buf() to see that it all works
🏃
1:14:57Step through dir_find_buf() to see that it all works
🏃
1:14:57Step through dir_find_buf() to see that it all works
🏃
1:16:07Rename dir__set_state() to dir__update(), and pull dir_find_buf() out to the cross-platform os.c file
1:16:07Rename dir__set_state() to dir__update(), and pull dir_find_buf() out to the cross-platform os.c file
1:16:07Rename dir__set_state() to dir__update(), and pull dir_find_buf() out to the cross-platform os.c file
1:19:04Q&A
🗩
1:19:04Q&A
🗩
1:19:04Q&A
🗩
1:20:05nothings2 pervognsen Why make your internal API be first / next? Maybe just make a readdir abstraction that just returns a stretchy buffer of filenames
🗪
1:20:05nothings2 pervognsen Why make your internal API be first / next? Maybe just make a readdir abstraction that just returns a stretchy buffer of filenames
🗪
1:20:05nothings2 pervognsen Why make your internal API be first / next? Maybe just make a readdir abstraction that just returns a stretchy buffer of filenames
🗪
1:20:53tbodt_ So POSIX has opendir(), readdir()2 which returns the next file until you get to the end at which point it returns NULL, and closedir()
🗪
1:20:53tbodt_ So POSIX has opendir(), readdir()2 which returns the next file until you get to the end at which point it returns NULL, and closedir()
🗪
1:20:53tbodt_ So POSIX has opendir(), readdir()2 which returns the next file until you get to the end at which point it returns NULL, and closedir()
🗪
1:22:15nothings2 If you make the read-a-whole-directory the main abstraction you don't have to worry about things like 'what happens if you free in the middle'
🗪
1:22:15nothings2 If you make the read-a-whole-directory the main abstraction you don't have to worry about things like 'what happens if you free in the middle'
🗪
1:22:15nothings2 If you make the read-a-whole-directory the main abstraction you don't have to worry about things like 'what happens if you free in the middle'
🗪
1:22:36Cut over to the extra stream
🗩
1:22:36Cut over to the extra stream
🗩
1:22:36Cut over to the extra stream
🗩