

Software Sessions
Jeremy Jung
Practical conversations about software development.
Episodes
Mentioned books

Sep 27, 2019 • 1h 2min
How to Teach Programming with Felienne
Felienne is an associate professor at Leiden University who brings a unique perspective on programming education backed by scientific research. She also runs the Programming Education Research Lab (PERL) in order to study the best ways to teach programming.Keynote at Strange LoopHow to Teach Programming (and other things?)Related Research PapersHow is Programming Taught at Code ClubsThe Effect of Reading Code Aloud on Comprehension: An Empirical Study with School StudentsCode PhonologyWhy Minimal Guidance During Instruction Does Not WorkCognitive Architecture and Instructional Design: 20 Years LaterPapers by Brianna MorrisonFelienneBlogTwitterPublicationsSoftware Engineering Radio PodcastBonusSt. Louis City MuseumTimestamps00:56 - Spreadsheets as programming04:57 - When do you build software vs use what's already there?10:14 - Direct instruction vs independent learning20:28 - How should you start teaching kids?24:39 - Is teaching kids different than older students?30:15 - Using rote memorization and saying code out loud35:15 - What is the role of Computer Science education?40:42 - Teaching IDEs, Git, Debugging, and Code Review45:43 - Problems with teaching Open Source49:12 - Incorporating live coding into university lectures56:18 - Podcasting and conference speaking

Sep 16, 2019 • 1h 12min
How HTTP Works with Julia Evans
Julia Evans is best known for her zines and blog posts that break down technical topics in a friendly way. She has written educational material on everything from Linux system calls to working with managers.She joins us to talk about what she learned while writing her latest zine: HTTP: Learn your browser's language.Timestamps:0:50 - Why write a zine about HTTP?1:21 - What's a header that could break your site?2:50 - What does HTTP look like?5:58 - What headers are most important?8:39 - Response Codes12:26 - Authentication14:57 - Cookies18:37 - Using browser development tools19:46 - Caching and CDNs25:46 - Referrer Header and Hotlinking images27:34 - Resuming file downloads 30:00 - URLs32:11 - Why webpages show different languages34:34 - Same Origin Policy / CORS43:42 - Compression / GZIP45:58 - Intermediate Programming Education49:35 - Picking topics for blogs and zines57:10 - Picking an audience to write to59:54 - Types of educational material (zines, books)64:03 - Why Julia likes the zine format65:53 - Working on education full timeLinks:HTTP: Learn your browser's languageJulia's blogJulia's twitterWizard ZinesMozilla Developer Networknetcat

Sep 13, 2019 • 1h 2min
Rust in Production with Armin Ronacher
Topics:Deciding when to use RustConcurrency in RustWhen to create a separate serviceIntroducing Rust at SentryChallenges of writing Python modules in RustCreating Symbolicator, a Rust web service that processes debug filesUsing Actix to create SymbolicatorWhy Rust doesn't need a Django or Rails equivalentConcerns about the stability of the Rust ecosystem and the lack of shared solutionsWhat's missing in the Rust ecosystemWhy developers need better debugging toolsIf you're interested in helping Armin build an open source debugging community, reach out to him via e-mail or twitter.This episode is part of the Rustacean Station feed. Check it out if you're interested in Rust podcasts.Links:Armin's TwitterArmin's BlogSentryActixRocketBuilding Sentry: SymbolicatorSymbolicatorSemaphoreMilksnakeWasmerExistential TypesTokio TowerRFC to add Backtraces to standard errorFutureErlangShow timestamps:0:37 - What got you interested in Rust?2:19 - Abstraction with good performance in Rust vs Python4:11 - Rust doesn't need asynchronous code5:31 - Building thread safe applications6:26 - What excited you about using Rust?8:20 - Sentry11:02 - Introducing Rust to Sentry13:10 - Anything easier to write in Rust vs Python?16:14 - Writing extensions vs writing services19:22 - Flow of sending a minidump to Symbolicator21:56 - Symbolicator makes sense as a service23:26 - Building a better debugging world24:33 - More things symbolicator does25:27 - What's Milksnake28:04 - Other ways to embed Rust in Python30:08 - Why use Actix for Symbolicator?34:44 - Is it too early to write web applications?37:30 - What would you do differently in hindsight?42:20 - Don't want a Django or Rails43:58 - When to write a web application?47:34 - What do you wish existed in Rust?49:57 - Game backends51:44 - Anything else?53:26 - Why companies aren't using Rust for web development54:23 - Why async/await is not the only blocker for web development56:43 - Resources for web development in Rust58:24 - Wrap Up


