Autoplay
Autocomplete
HTML5
Flash
Player
Speed
Previous Lecture
Complete and continue
Premium Membership
Orientation
1. DO THIS FIRST
2. Accountability meetings
3. Good updates/Bad updates (4:50)
Preparing your mind
1. On reading
2. What can we learn from novelists?
3. A novelist takes on programming
4. A programmer takes on novels
5. Difficulty is blinding
6. The relationship between reading and writing
Reading (or how to methodically rip apart a codebase)
1. Initial reading (required, do not skip)
2. jQuery is irrelevant (7:32)
3. The steps (76:34)
4. Event listeners, toggle, delete, filter (71:15)
5. edit, editKeyup, update (53:13)
6. Rendering with templates (42:15)
7. localStorage, init (33:39)
Reading exercises
1. Starters
2. Change method to functions
3. Remove jQuery
4. Remove and rewrite methods
Testing (how to write code that makes sure your code works)
1. What is testing? (17:05)
2. forEach, first steps (20:24)
3. forEach, callback arguments (13:49)
4. forEach, optional this (29:09)
5. filter (51:39)
6. map (44:34)
7. reduce, first steps (19:40)
8. reduce, deciphering docs (48:00)
9. reduce, finishing up (103:25)
SimpleTest (extending and improving existing code)
1. Error handling, setTimeout (30:46)
2. Constructors, console.log output (58:17)
3. Where we are now (33:44)
Testing exercises
1. Recreating array methods
AccountingJS (escape from tutorial land)
1. Introduction to the library (16:26)
2. Approaching docs like a pro (32:46)
3. What are IIFEs? (26:55)
4. IIFEs and sharing data (16:05)
5. Scopes, locals, closures, globals (17:08)
6. librarySystem (44:18)
7. noConflict (30:58)
8. Prototypes, an introduction (15:49)
9. Prototypes and constructors (23:01)
10. isString, !!, and String.prototype (29:26)
11. Remaining internal helper methods (31:38)
12. checkCurrencyFormat (29:53)
13. toFixed and rounding issues (42:19)
14. formatMoney and style (21:53)
15. Recursion, what is it? (38:58)
16. Recursing through the DOM (33:10)
17. Recursively mapping arrays (49:25)
18. Regular expressions, first look (47:25)
19. Regular expression capture groups (23:18)
20. Lookaheads and backreferences (19:31)
21. formatNumber (34:44)
22. unformat, new RegExp (22:33)
23. When Googling goes nowhere (19:27)
24. formatColumn (30:12)
25. Thinking recursively (23:06)
26. Broken tests (42:21)
27. Retrospective (59:33)
Beasts (problems)
1. Before you start
2. Improving runWithDebugger
3. A render that doesn't lie
4. librarySystem with dependencies
5. Creating libraries out of order
6. isPrototypeOf
7. A twist on accounting.toFixed
8. Nested todos
Underscore (staying calm when there's more code than you can read)
1. How I see the world (8:46)
2. How the average person thinks (6:58)
3. Don't read every line of code (7:13)
4. What is Underscore? (7:41)
5. Two minute setup (1:45)
6. Before you start (13:47)
7. Remember main.js? (13:23)
8. main.js event listeners (16:14)
9. Strategically setting breakpoints (26:07)
Release information
Open source (getting work experience)
Introduction
Required reading
The tutorial
Getting the debugger to work (1:59)
Why do open source? (32:04)
Criteria for choosing a project (21:42)
Better and meh ways to find a project (7:37)
Should I open an issue? (17:15)
More coming soon
Daily meetings archive
2018-12-28 addEventListener and useCapture (91:51)
2018-12-29 We all share our event bubbling diagrams (48:20)
2019-01-02 _.each documentation (35:24)
2019-01-03 _.each source (21:34)
2019-01-08 Underscore's isArrayLike (38:08)
2019-01-14 (45:16)
2019-01-19 (39:35)
2019-01-22 (21:23)
2019-01-25 (41:51)
2019-02-01 (8:35)
2019-02-11 (24:10)
2019-02-12 (57:54)
2019-02-13 (50:07)
2019-02-14 (49:35)
2019-02-22 (20:14)
2019-03-07 _.keys (27:07)
2019-03-19 Underscore issues, prs, etc (34:02)
2019-03-20 Underscore closed issues (26:52)
2019-03-22 Disabling:enabling all column breakpoints (Miriam) (40:23)
2019-03-25 (38:15)
2019-03-27 (36:13)
2019-04-01 (31:44)
2019-04-02 (33:42)
2019-04-03 (43:03)
2019-04-04 Underscore's first commit (24:02)
2019-04-05 (41:53)
2019-04-08 (51:25)
2019-04-09 (41:09)
2019-04-11 (39:25)
2019-04-15 (31:13)
2019-04-16 (37:41)
2019-04-17 (53:42)
2019-04-18 (24:24)
2019-04-19 (25:48)
2019-04-22 (33:06)
2019-04-23 (43:47)
2019-04-25 (53:18)
2019-04-29 (36:51)
2019-04-30 (43:46)
2019-05-01 (42:18)
2019-05-02 (45:20)
2019-05-03 (35:32)
2019-05-06 (52:56)
2019-05-07 (22:43)
2019-05-08 (29:49)
2019-05-09 (37:37)
2019-05-10 (36:26)
2019-05-13 (25:33)
2019-05-14 (39:45)
2019-05-17 (18:47)
2019-05-20 Regex II (36:38)
2019-05-21 (51:12)
2019-05-24 (4:46)
2019-05-27 (35:53)
2019-05-28 (29:15)
2019-05-30 (26:14)
2019-05-31 (45:57)
2019-06-03 (35:05)
2019-06-05 (24:47)
2019-06-10 (28:49)
2019-06-25 (39:57)
2019-06-26 (40:00)
2019-06-28 (42:53)
2019-07-01 (54:07)
2019-07-05 (35:32)
2019-07-09 The debugger game on _.template (53:38)
2019-07-10 The annoyances of method chaining in _.template (26:44)
2019-07-11 Client/server model in Firefox's debugger, part 1 (Jaril Valenciano) (22:39)
2019-07-12 Client/server model in Firefox's debugger, part 2 (Jaril Valenciano) (34:48)
2019-07-15 Stepping through two examples with _.template (40:18)
2019-07-19 Starting a simple server (Jaril Valenciano) (31:22)
2019-07-22 Syntax highlighting bug part 1 (Janelle de Ment) (46:08)
2019-07-23 Syntax highlighting bug part 1 (Janelle de Ment) (38:54)
2019-07-24 Student story (Anthony Xie) (58:24)
2019-07-25 (31:07)
2019-07-26 (26:32)
2019-07-29 (28:47)
2019-07-30 (40:20)
2019-07-31 (37:09)
2019-08-01 (38:04)
2019-08-05 Getting the debugger to work on server code (13:48)
2019-08-06 (37:09)
2019-08-08 listenInCluster part 1 (Jaril Valenciano) (20:30)
2019-08-09 listenInCluster part 2 (Jaril Valenciano) (28:54)
2019-08-13 Recursing one level into _.isEqual (45:00)
2019-08-14 setupListenHandle (Jaril Valenciano) (40:27)
2019-08-15 server.on (Jaril Valenciano) (37:31)
2019-08-16 copyWithin, part 1 (Jake Ryan) (60:36)
2019-08-16 copyWithin, part 2 (Jake Ryan) (51:26)
2019-08-20 Recursing two levels into _.isEqual (39:29)
2019-08-22 copyWithin, part 3 (Jake Ryan) (32:26)
2019-08-23 Jaril's job search part 1, intro (29:53)
2019-08-27 copyWithin, refactoring, part 4 (Jake Ryan) (38:24)
2019-08-28 copyWithin, part 5 (Jake Ryan) (39:54)
2019-08-29 copyWithin, start parameter, part 6 (Jake Ryan) (26:24)
2019-08-30 Jaril's job search part 2, more AngelList stuff (23:38)
2019-09-02 copyWithin, part 6 (Jake Ryan) (35:13)
2019-09-03 Jaril's job search part 3, last few comments on AngelList and Linkedin (26:12)
2019-09-04 Getting started with Firefox, part 1 (Luke Swiderski) (37:15)
2019-09-05 copyWithin, part 7 (Jake Ryan) (42:58)
2019-09-06 Jaril's job search part 4, non-technical questions (51:49)
2019-09-09 copyWithin, part 8, arrays with 3 elements (Jake Ryan) (40:51)
2019-09-10 Jaril's job search part 5, scheduling phone screens (17:07)
2019-09-13 Jaril's job search part 6, Tradewing questions (31:54)
2019-09-17 Jaril's job search part 7, screencast and behavioral questions (24:09)
2019-09-18 copyWithin, part 9, tables (Jake Ryan) (53:44)
2019-09-19 copyWithin, part 10 (Jake Ryan) (30:49)
2019-09-20 copyWithin, part 11 , end parameter (Jake Ryan) (35:51)
2019-09-23 _.sortBy (35:48)
2019-09-25 copyWithin, part 12, more on end (Jake Ryan) (25:18)
2019-09-24 Jaril's job search part 8, Evernote behavioral questions (46:09)
2019-09-26 Firefox updates from the group (41:59)
2019-09-27 Jaril's job search part 9 (32:37)
2019-09-30 Getting started with Firefox, part 2 (Luke Swiderski) (17:37)
2019-10-01 Jaril's job search part 10, Around Zoom call (31:25)
2019-10-01 Getting started with Firefox, part 3 (Luke Swiderski) (7:26)
2019-10-02 copyWithin, part 12, drawings (Jake Ryan) (30:44)
2019-10-02 Getting started with FireFox, part 4 (Luke Swiderski) + thoughts from the group about working on Firefox (10:21)
2019-10-04 Resume review (Miriam Budayr) (40:20)
2019-10-07 _.sortedIndex part 1 (Gordon Zhu) (18:47)
2019-10-08 Jaril's job search part 11, Around ideal answers (43:02)
2019-10-09 Getting started with FireFox, part 5 (Luke Swiderski) (54:06)
2019-10-10 Getting started with FireFox, part 6 (Luke Swiderski) (39:39)
2019-10-11 Around ideal answers (Jaril Valenciano) and second resume review (Miriam Budayr) (47:41)
2019-10-14 Getting started with FireFox, part 7, bootstrapping Mozilla Central (Luke Swiderski) (21:19)
2019-10-16 Getting started with FireFox, part 8, Setting up arcanist and moz-phab (Luke Swiderski) (45:17)
2019-10-17 Underscore sortedIndex (22:34)
2019-10-18 Reviewing Miriam Budayr's revised resume (32:54)
2019-10-21 Getting started with FireFox, part 9, practice patch (Luke Swiderski) (35:17)
2019-10-22 Jaril Valenciano job search update - new phone screen, chat with former student (15:36)
2019-10-23 Getting started with FireFox, First visible change (Luke Swiderski) (39:44)
2019-10-24 Getting started with Firefox, running the debugger on the debugger (Luke Swiderski) (12:03)
2019-10-24 Debugger token highlighting bug (Janelle de Ment) (39:49)
2019-10-25 More resume revisions (Miriam Budayr) (26:38)
2019-10-28 Getting started with FireFox, reviewing an old pull request (Luke Swiderski) (49:27)
2019-10-29 Conversation with Ori Pleban, developer and Dev Bootcamp grad (25:38)
2019-10-31 Debugger token highlighting bug, part 2 (Janelle de Ment) (34:37)
2019-11-04 Getting started with FireFox, problem with replicating old pull requests (Luke Swiderski) (33:38)
2019-11-05 Firefox, rewinding to different points in time (Luke Swiderski) (28:01)
2019-11-06 Review ideal answer #3 from Around, Beeble notes (Jaril Valenciano) (46:41)
2019-11-07 Beeble and MixMax interview notes (Jaril Valenciano) (43:46)
2019-11-08 Miriam Budayr, practice questions from Around (62:13)
2019-11-21 Firefox, reviewing an old pull request (Luke Swiderski) (13:20)
2019-11-22 Debugger token highlighting bug, part 3 (Janelle de Ment) (28:46)
2019-11-27 A tricky case of `this` (Anthony Xie) (33:53)
2019-10-09 Getting started with FireFox, part 5 (Luke Swiderski)
Lecture content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock