Software Sessions cover logo
RSS Feed Apple Podcasts Overcast Castro Pocket Casts
English
Non-explicit
transistor.fm
5.00 stars
1:03:54

Software Sessions

by Jeremy Jung

Practical conversations about software development.

Copyright: © 2022 Jeremy Jung

Episodes

Building Indie Hackers with Courtland Allen

1h 10m · Published 23 Apr 05:00

Courtland Allen is the founder of Indie Hackers, a community for people who want to start bootstrapped and profitable businesses. It was acquired by Stripe in 2017.

We discuss:

  • Why a SPA was the wrong choice
  • Caching strategies
  • Using firebase and algolia
  • Fighting spam
  • Why he hasn't hired another engineer
  • Focusing on the right problems
  • Being a part of Stripe

Related Links:

  • Indie Hackers
  • @csallen
  • Stripe
  • How to Build a Life You Love by Quitting Everything Else with Lynne Tye of Key Values (One of Courtland's favorite podcast episodes)
  • Ember (SPA framework)
  • Ember fastboot (Server Side Rendering)
  • Firebase (Authentication provider and NoSQL database)
  • Algolia (Provides search for posts)
  • Render (Web Host)
  • Dribbble (Site to find design inspiration)
  • Egghead (Developer video courses, got started selling zip files of videos to mailing lists)
  • Balsamiq (Wireframing tool, added inspirational quotes to their loading screen so that people wouldn't complain about loading time)
  • Dan Luu (Popular tech blog with no styling)

Music by Crystal Cola: Orion

Visit the Software Sessions website for a full transcript of the episode.

League of Legends Gameplay Engineering with Iris Zhang

53m · Published 09 Apr 00:00

Iris Zhang is a gameplay engineer at Riot Games on the League of Legends Champions Engineering team. She previously worked on backend services at Microsoft.

We discuss:

  • Working at Microsoft and Riot Games
  • Finding a role and team that fits you
  • Backend services vs gameplay engineering
  • Building features, testing, and debugging gameplay
  • Using internal tools to create game logic

Related Links:

  • Personal Site
  • @riotnyanbun
  • Clean Code (Book used by Microsoft team)
  • Spring Framework (Java web framework used by League of Legends)
  • Chef (Deployment tool used at Riot)
  • Hazelcast (Cache that Riot Games switched to)
  • What it's like to work on League of Legends
  • Sylas (Champion that can steal ultimates)
  • Clash (Public facing mode worked on by backend team)

Music by Crystal Cola: 12:30 AM / Orion

Async Programming and TCP Sockets in C# with Stephen Cleary

55m · Published 25 Mar 05:00

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 code
  • Using Async/Await and the Task Parallel Library instead of Threads
  • APIs to avoid when writing concurrent applications
  • Why you shouldn't write TCP Sockets
  • Continuously reading from a socket to detect errors
  • Building state machines to manage socket connections

Related Links:

  • @aSteveCleary
  • Getting Started with Async/Await
  • TCP/IP Sockets
  • There is no Thread
  • Concurrency in C# Cookbook

Music by Crystal Cola:

  • Intro: 12:30 AM
  • Outro: Orion


How I write backends with Federico Pereiro

1h 13m · Published 11 Mar 05:00

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 stack
  • Redis as a primary data store
  • Reducing the number of layers in your software
  • How duplicating input validation makes code harder to understand
  • Integration tests over unit tests
  • Minimizing dependencies
  • Why you should never normalize alerts

Federico Pereiro

  • Personal Site
  • How I write backends
  • Our company
  • ac;pic, our pictures application
  • ac;tools, our backend services

Related Links
Fred Brooks & The Mythical Man Month (conceptual integrity)
Steve Yegge - Code's worst enemy
Steve Yegge - Platforms rant (no backdoors, all services talking through the wire as if they were external actors)
Book of Hook - Suffer no jankiness
Taiichi Ohno & the Toyota Production System
Auto-activation in software

From agency to startup with Noah Labhart

53m · Published 26 Feb 05:00

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 world
  • How poor estimation and scoping nearly sunk his agency
  • Why bad software is worse than no software
  • Hiring for an agency vs a startup
  • Validating ideas and finding your first customers


Noah Labhart

  • Personal Site
  • LinkedIn

Other Links

  • Code 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

The good parts of AWS with Daniel Vassallo

1h 14m · Published 12 Feb 07:00

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 services
  • His default AWS stack and how he chose it (Dynamo, SQS, S3 and EC2)
  • Why he uses EC2 over ECS or EBS
  • Why services like RDS and ElastiCache aren't in his book
  • The difference between SQS and Kinesis
  • Why AWS will probably never build a Heroku-like service
  • The future of AWS


Daniel Vassallo

  • Personal Site
  • @dvassallo


Other Links

  • The Good Parts of AWS
  • Userbase
  • Only Intrinsic Motivation Lasts

A decade long retrospective with Ben Orenstein

1h 0m · Published 29 Jan 07:00

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 job
  • Why you should speak at conferences
  • The trade-offs of remote work
  • Why great coworkers should be the #1 priority for new developers
  • How these are "the good old days" of Tuple
  • Ben's favorite smash bros character
  • ...and much more!

Ben Orenstein

  • Personal Site
  • @r00k


Podcasts

  • The Art of Product
  • Giant Robots (Ben hosted this podcast until episode 240)


Other Links

  • Tuple (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)

Bringing GeoCities Back with Kyle Drake

1h 33m · Published 15 Jan 06:00

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 Drake

  • Personal Site
  • @kyledrake


Projects

  • Neocities
  • restorativland


Other Links

  • Yahoo! Geocities - Wikipedia
  • What 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 algorithms

Music in this episode is VHS s k y l i n e by Crystal Cola.

Rebuilding Fathom Analytics on Serverless Infrastructure with Jack Ellis

59m · Published 01 Jan 20:00

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 Vapor
  • How 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.

Creating Static Sites in Rust with Vincent Prouillet

53m · Published 19 Dec 05:00

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 Prouillet

  • Personal Site
  • @20100Prouillet

Zola

  • Zola Website
  • Zola Forum


Tools/Crates used by Zola

  • pulldown-cmark (Markdown)
  • syntec (Syntax highlighting using Sublime Text definitions)
  • rayon (Parallel computation)
  • heaptrack (Memory Profiler)


Static Site Hosts

  • Github Pages
  • Netlify


Crates for Web Applications

  • jsonwebtoken
  • Bcrypt
  • Validator


Compiled Template Engines

  • askama
  • maud
  • horrowshow


Runtime Template Engines

  • Tera (Jinja2-like HTML template engine)
  • ramhorns
  • rust-mustache


Static Site Generators

  • Hugo
  • Jekyll
  • Pelican

Other links

  • Forestry (WYSIWYG CMS for Static Sites)
  • Keyword Arguments RFC
  • kickstart (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

Software Sessions has 58 episodes in total of non- explicit content. Total playtime is 61:46:50. The language of the podcast is English. This podcast has been added on November 25th 2022. It might contain more episodes than the ones shown here. It was last updated on May 31st, 2024 12:43.

Similar Podcasts

Every Podcast » Podcasts » Software Sessions