Software Sessions cover image

Software Sessions

Latest episodes

undefined
Mar 25, 2020 • 55min

Async Programming and TCP Sockets in C# with Stephen Cleary

Stephen Cleary is the author of the Concurrency in C# Cookbook and a Microsoft MVP. He has also written many blog posts on asynchronous programming.We discuss:Why he calls manual thread creation legacy codeUsing Async/Await and the Task Parallel Library instead of ThreadsAPIs to avoid when writing concurrent applicationsWhy you shouldn't write TCP SocketsContinuously reading from a socket to detect errorsBuilding state machines to manage socket connectionsRelated Links:@aSteveClearyGetting Started with Async/AwaitTCP/IP SocketsThere is no ThreadConcurrency in C# CookbookMusic by Crystal Cola:Intro: 12:30 AMOutro: Orion
undefined
Mar 11, 2020 • 1h 13min

How I write backends with Federico Pereiro

Federico has been writing backends for web applications since 2012 and is the co-founder and chef of alto;code. He wrote a post on GitHub named "How I write backends" that summarizes his process. We discuss: His current stackRedis as a primary data storeReducing the number of layers in your softwareHow duplicating input validation makes code harder to understandIntegration tests over unit testsMinimizing dependenciesWhy you should never normalize alerts Federico Pereiro Personal SiteHow I write backendsOur companyac;pic, our pictures applicationac;tools, our backend services Related LinksFred Brooks & The Mythical Man Month (conceptual integrity)Steve Yegge - Code's worst enemySteve Yegge - Platforms rant (no backdoors, all services talking through the wire as if they were external actors)Book of Hook - Suffer no jankinessTaiichi Ohno & the Toyota Production SystemAuto-activation in software
undefined
Feb 26, 2020 • 53min

From agency to startup with Noah Labhart

Noah is the CTO and cofounder of Veryable, an on-demand marketplace for manufacturing, logistics, and warehousing labor. He's also the host of the Code Story podcast where tech leaders reflect on the path they took to create their products.We talk about:Leaving the corporate worldHow poor estimation and scoping nearly sunk his agency Why bad software is worse than no softwareHiring for an agency vs a startupValidating ideas and finding your first customersNoah LabhartPersonal SiteLinkedInOther LinksCode Story (Noah's podcast)Veryable (Current startup)Touchtap (Mobile app agency being wound down)Alcon (Previous employer)Dev Mountain Bootcamp (Bootcamp that Noah hired from)Music by Crystal Cola
undefined
Feb 12, 2020 • 1h 15min

The good parts of AWS with Daniel Vassallo

Daniel is the co-author of the book "The Good Parts of AWS" and previously worked at AWS on the CloudWatch team. He left last year after over 8 years at Amazon to work on his own projects.He's currently working on an end-to-end encrypted user database SaaS called Userbase. Daniel is also openly sharing his experiences building an audience, writing a book, and building Userbase on twitter.We talk about:Why AWS has so many servicesHis default AWS stack and how he chose it (Dynamo, SQS, S3 and EC2)Why he uses EC2 over ECS or EBSWhy services like RDS and ElastiCache aren't in his bookThe difference between SQS and KinesisWhy AWS will probably never build a Heroku-like serviceThe future of AWSDaniel VassalloPersonal Site@dvassalloOther LinksThe Good Parts of AWSUserbaseOnly Intrinsic Motivation Lasts
undefined
Jan 29, 2020 • 1h

A decade long retrospective with Ben Orenstein

Ben is the CEO of Tuple, a pair programming application for remote developers.He currently co-hosts The Art of Product with Derrick Reimer.We talk about:His first crazy programming jobWhy you should speak at conferencesThe trade-offs of remote workWhy great coworkers should be the #1 priority for new developersHow these are "the good old days" of TupleBen's favorite smash bros character...and much more!Ben OrensteinPersonal Site@r00kPodcastsThe Art of ProductGiant Robots (Ben hosted this podcast until episode 240)Other LinksTuple (Remote pair programming application)Refactoring Rails (Ben's video course) How to talk to developers (Fantastic talk for anyone giving presentations)Upcase (Rails, vim, and tmux video tutorials)
undefined
Jan 15, 2020 • 1h 34min

Bringing GeoCities Back with Kyle Drake

Kyle is the creator of Neocities a free web hosting site that encourages people to build creative personal websites in the spirit of GeoCities. He's currently working on restorativland where people interested in the history of the web can discover websites originally hosted at places like GeoCities and Myspace Music.Kyle DrakePersonal Site@kyledrakeProjectsNeocitiesrestorativlandOther LinksYahoo! Geocities - WikipediaWhat is BGP?What is Anycast?Vultr (Neocities hosting provider)Timestamps[00:00:50] What GeoCities was[00:06:45] Why the old web failed[00:15:06] Reasons to create Neocities[00:21:04] Fighting phishing, spam, and DMCA takedowns[00:27:17] Purchasing an IPv4 address block and building an Anycast CDN[00:43:28] Why create your own CDN? (Takedown requests come directly to you, reduced chances of hosting provider shutting you down)[00:51:09] The costs of running a CDN ($130 a month)[01:07:11] Restorativland (Curating and archiving old internet communities)[01:11:53] The staying power of HTML vs modern apps (You can still open sites from the 90s)[01:14:21] Categorizing old webpages and the problems with current recommendation algorithmsMusic in this episode is VHS s k y l i n e by Crystal Cola.
undefined
Jan 1, 2020 • 60min

Rebuilding Fathom Analytics on Serverless Infrastructure with Jack Ellis

Jack Ellis Personal Site@JackEllis Fathom Analytics Fathom Analytics (SAAS version, Affiliate link with $10 discount)Fathom Lite (Open-source, original Golang version)We rebuilt Fathom Analytics from the ground up and moved to Laravel VaporHow we built a GDPR compliant website analytics platform without using cookies Laravel Laravel (PHP web framework)Laravel Vapor (Serverless provisioning and deployment tool) Hosting Providers Digital Ocean (Host for Open-source version)Heroku (Host for 1st rewrite)AWS (Host for 2nd rewrite) AWS Services Used ElastiCache (Redis)Elastic Load Balancing (Handles web requests and triggers Lambda functions)Relational Database Service (MySQL)Simple Queue Service (Message Queue)Lambda (Run functions without managing a server) Other Links Things you should never do (Post Jack mentions on never rewriting software) Timestamps [00:00:58] What's Fathom Analytics and how is it different from Google Analytics?[00:03:35] When was the project started?[00:06:00] Limiting what we know about our users[00:08:11] Tracking unique page views without cookies[00:11:50] The original Open Source Golang version of Fathom[00:14:06] The case for rewriting Fathom[00:17:46] The process of rewriting Fathom[00:20:49] Migrating from individual SQLite instances to multitenant MySQL[00:24:10] Working with DNS Caching, running the old and new application simultaneously while migrating[00:26:40] Moving from Digital Ocean, to Heroku, to AWS (using Laravel Vapor)[00:34:07] What's Laravel Vapor? (Provisioning and deployment tool for AWS serverless offerings)[00:37:06] Comparing how Fathom used Heroku vs AWS (Heroku Redis -> ElasticCache + SQS, Web/Worker Dynos -> SQS + Lambda functions)[00:40:25] Moving from Heroku Web/Worker dynos to Lambda functions[00:42:25] Using Elastic Load Balancer instead of API Gateway[00:44:01] Tracking load, downtime, maintaining availability[00:51:22] Walkthrough of what happens when a user visits a site running Fathom[00:52:50] Dealing with the AWS lambda cold start problem[00:54:04] Why serverless was a good fit and when to use it Theme music is 12:30 AM by Crystal Cola.
undefined
Dec 19, 2019 • 54min

Creating Static Sites in Rust with Vincent Prouillet

Vincent is the creator of Zola (Formerly Gutenburg), a Static Site Generator built with Rust and Tera, a Jinja2-like template engine.If you create a site with Zola, Vincent would appreciate you adding your site to the EXAMPLES file in the repository.You can also take a look at the source for this website which is currently built with Zola.Vincent ProuilletPersonal Site@20100ProuilletZolaZola WebsiteZola ForumTools/Crates used by Zolapulldown-cmark (Markdown)syntec (Syntax highlighting using Sublime Text definitions)rayon (Parallel computation)heaptrack (Memory Profiler)Static Site HostsGithub PagesNetlifyCrates for Web ApplicationsjsonwebtokenBcryptValidatorCompiled Template EnginesaskamamaudhorrowshowRuntime Template EnginesTera (Jinja2-like HTML template engine)ramhornsrust-mustacheStatic Site GeneratorsHugoJekyllPelicanOther linksForestry (WYSIWYG CMS for Static Sites)Keyword Arguments RFCkickstart (Scaffolding tool)Timestamps [00:00:19] What's a static site generator? [00:03:12] How easy is it to build and edit a site? [00:07:18] Why create a new static site generator? [00:11:55] The Tera template engine and Vincent's experience building it [00:17:13] Creating filters and tests to use with Tera [00:23:49] What's a taxonomy? [00:25:08] Mapping content to URLs [00:30:13] The experience of being an open source maintainer [00:33:17] Rust crates and features used by Zola [00:36:17] How the Rust ecosystem ensured fast performance [00:39:55] Is Rust ready for web applications? [00:42:45] What applications are best suited to Rust now? [00:46:10] Issues or things you wish existed in Rust? [00:50:28] Helping out with Zola
undefined
Dec 7, 2019 • 47min

Load Balancing and HAProxy with Daniel Corbett

Daniel is the Director of Product at HAProxy Technologies.This episode originally aired on Software Engineering Radio.Theme music is 12:30 AM by Crystal Cola.LinksHAProxy Community EditionHAProxy Technologies Blog@danielcorbett_KeepalivedLinux Virtual ServerNginxEnvoyTimestamps and Transcript are coming soon.
undefined
Nov 21, 2019 • 41min

Choosing the Right Job with Cassidy Williams

Cassidy is a developer and instructor at React Training and the Director of Outreach at cKeys, a Seattle based organization that promotes learning electronics through mechanical keyboards. She previously worked at Amazon, CodePen, L4 Digital, Clarifai, and Venmo. However, she's probably best known for promoting diversity in tech, creating cool mechanical keyboards, and making memes.CassidyPersonal Website@cassidooCurrent WorkReact TrainingcKeysKeyboardsFollow your dreams (literally): How I designed and launched the Official Scrabble KeyboardAstrolokeys (Collaboration with Amy Wibowo)Notes AppBearResources for new conference speakers@CallbackWomenYou've got this!Theme music is 12:30 AM by Crystal Cola.Timestamps[00:36] Organizing and completing side projects[05:08] Choosing and quitting jobs[09:03] Joining React Training[12:31] Why Amazon was a poor fit and figuring out what's important[17:46] Leaving a company with a smooth transition[20:38] Sharing knowledge with your team[22:39] Working at an agency and asking the right questions[29:56] Teaching and learning React[38:29] How to start teaching and conference speaking

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode