Stream: interviews

Topic: 656: Python documentary companion pod


view this post on Zulip Logbot (Aug 27 2025 at 18:32):

Our friends at Cult.Repo launch their epic Python documentary on August 28th, 2025! To celebrate, we sat down with Travis Oliphant –creator of NumPy, SciPy, and more– to get his perspective on how Python took over the software world.

Stick around for the twist ending! We set aside Python and dissect Travis' big idea to make open source projects financially sustainable through direct investment. :link: https://changelog.fm/656

Ch Start Title Runs
01 00:00 This week on The Changelog 01:05
02 01:05 Sponsor: Depot 02:12
03 03:17 Start the show! 01:12
04 04:28 Python dramas 01:56
05 06:24 Python as ecosystem 02:36
06 09:00 Come for the language... 02:46
07 11:46 Dongle gate 01:06
08 12:52 Coming to Python 09:42
09 22:35 The SciKits emerge 03:00
10 25:35 Key language features 02:19
11 27:53 How features get in 02:16
12 30:09 NumPy's story 02:30
13 32:39 Why not Ruby? 05:22
14 38:01 Early adopters 03:27
15 41:28 Sponsor: Auth0 01:29
16 42:56 Someone had to do NumPy 01:26
17 44:22 NumPy's success 01:05
18 45:27 Based on a true story 01:00
19 46:27 Python in industry 02:02
20 48:29 Goldman Sachs messed up 02:29
21 50:58 The pain of closed source 02:02
22 53:00 Community demand 03:56
23 56:56 Google Borg / K8s 00:52
24 57:47 Corporate constraints 03:10
25 1:00:58 Open source as resumé 03:15
26 1:04:12 Thoughts on Mojo 09:58
27 1:14:11 FairOSS 08:35
28 1:22:46 Incentives 02:05
29 1:24:51 Are you doing this? 00:36
30 1:25:27 Impedance mismatch? 01:12
31 1:26:39 Imagine it running 01:53
32 1:28:32 Selling the idea 03:45
33 1:32:17 Scrutinizing FairOSS 04:32
34 1:36:49 Clear next steps 01:41
35 1:38:31 Public benefit corps 03:26
36 1:41:57 Drumming up interest 01:32
37 1:43:29 Raising the stakes 02:14
38 1:45:43 tea.xyz 01:07
39 1:46:50 Adam shares Adam shares an idea 01:25
40 1:48:15 Adam shares another idea 04:08
41 1:52:23 Wrapping up 00:15
42 1:52:38 Closing thoughts 01:40

view this post on Zulip Tim Uckun (Aug 30 2025 at 04:31):

Great episode. He mentioned Julia just once but I think you guys should interview somebody from the Julia team. Julia is rapidly taking over python's place in scientific computing especially amongst the graduate students.

As for his idea of funding OS software I remain highly pessimistic. His vision requires an incredible amount of coordination and good will amongst tens of thousands of people most of whom are primarily driven by the profit motive.

I think I have an idea of how we could fund OSS and it's much simpler. Make a packaging system that requires payment (something like npm, rubygems etc). People can host their projects on the system and if you want to pull something you get charged every time you pull it. You get charged for every dep you pull down so if my code costs X and I have a depdency that costs Y you get charged X+Y. The package manager calculates the total cost so you can look at it before you decide to use it. All payments are automatic via blockchain premined currency.

Easy, simple, automatic.

view this post on Zulip Lars Ellingsen (Aug 31 2025 at 17:34):

Starting the documentary. Just noticed the pod is longer than it :sweat_smile:

view this post on Zulip Ron Waldon-Howe (Aug 31 2025 at 21:54):

I avoid Python as a personal choice (why significant whitespace!? why!?), but I will definitely watch the documentary

view this post on Zulip Lars Ellingsen (Aug 31 2025 at 22:19):

I started using it a lot a couple years ago... I wasn't a fan at first but I like it more and more. My main complaint is that it's not strongly typed, but that's a personal preference :smile:

view this post on Zulip Don MacKinnon (Aug 31 2025 at 22:53):

I occasionally have to dabble in python but I'm not a fan of it at all. The whole whitespace forms the semantic structure part of it I find frustrating as well as the dynamic typing and poor performance. I can understand why the data science people like it's ergonomics but coming from a computer science background I don't enjoy it.

view this post on Zulip Daniel Buckmaster (Aug 31 2025 at 23:31):

@Lars Ellingsen I think Python is one of the best examples of a strongly typed language! Here's an example:

>>> 'hi' + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

And here's weakly-typed Javascript:

> 'hi' + 1
'hi1'

view this post on Zulip Lars Ellingsen (Aug 31 2025 at 23:41):

Daniel Buckmaster said:

Lars Ellingsen I think Python is one of the best examples of a strongly typed language! Here's an example:

>>> 'hi' + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str

And here's weakly-typed Javascript:

> 'hi' + 1
'hi1'

This is nitpicky but that JS example is type coercion - not strongly vs. weakly typed. You can change a variable in Python to be any other type at any time (technically "dynamically" typed I think, but basically the same)

In practical terms, my main issue with this is that the 'hi' + 1 example you used doesn't cause a compile-time warning, but only occurs at run-time

view this post on Zulip Lars Ellingsen (Aug 31 2025 at 23:43):

A strongly typed language like Java or C# wouldn't even let you compile that example. I love getting errors as early as possible :smile:

view this post on Zulip Tim Uckun (Sep 01 2025 at 03:57):

Both Python and Ruby have introduced gradual typing into the language but it hasn't caught on. Mostly because people who are attracted to the language chose it because they didn't have to worry about types.

view this post on Zulip Ron Waldon-Howe (Sep 01 2025 at 04:40):

I just came back from RustForge ( https://rustforgeconf.com/ ) and there was some discussion about whether learning Rust as your first programming language is harder or easier, and whether static types (or the lack of automatic type coercion) facilitates learning or hinders it
A claim was made that it's actually confusing for new programmers to have a variable that can be a Boolean or a number of a string or a dictionary, that early on folks tend to find that more confusing than the alternative

view this post on Zulip Daniel Buckmaster (Sep 01 2025 at 05:14):

@Lars Ellingsen these terms aren't well defined I agree, but I think what you're really talking about is definitely static/dynamic typing. For anything that happens at compile time versus runtime, that refers to "static" analysis.

Strong/weak is a separate axis and while opinions differ, things like implicit coercion can make a type system weaker. E.g. Python performs fewer implicit conversions than JS, making it stronger. Rust and Go perform fewer implicit conversions (e.g. between number types) than C, making them stronger even though all 3 are statically typed.

view this post on Zulip Lars Ellingsen (Sep 01 2025 at 14:01):

Daniel Buckmaster said:

Lars Ellingsen these terms aren't well defined I agree, but I think what you're really talking about is definitely static/dynamic typing. For anything that happens at compile time versus runtime, that refers to "static" analysis.

Strong/weak is a separate axis and while opinions differ, things like implicit coercion can make a type system weaker. E.g. Python performs fewer implicit conversions than JS, making it stronger. Rust and Go perform fewer implicit conversions (e.g. between number types) than C, making them stronger even though all 3 are statically typed.

Ah TIL! Yeah I think you're totally right, apparently I (and the devs I work with) have been misusing the term. Thanks for the clarification :smile:

And definitely what I'm after is static analysis. I've been bitten so many times in production by things that feel like they should have been caught by a compiler or some other tool. We've started using Mypy in strict mode but even that only gets us so far

In any case, though, I enjoyed this episode. Very interesting idea about funding OSS

view this post on Zulip Don MacKinnon (Sep 01 2025 at 19:26):

I'm curious how the companion pod came to be, I saw that CultRepo made a mention of it so I'm assuming its an official collaboration. Will there be more for other docs down the road as well? Excited for the upcoming Vite doc.

view this post on Zulip Tim Uckun (Sep 01 2025 at 21:35):

I remember reading an essay by Paul Graham where he talked about programming as painting. At first you start by sketching with a pencil where you can quickly try out your ideas, erase your mistakes etc and then eventually you use paint to make your work more permanent.

That's why I think languages should have strong type inference or optional typing. You shouldn't have to worry about typing things until you need to. This is why I enjoyed playing with Crystal so much. It has very strong type inference and also a really good type system.

As a side note. I think at a minimum every language should have every type in postgres including nullable types. Eventually I will be pushing things into and out of postgres so I want a strong match. I also want structs with syntax similar to postgres tables including specifying defaults, constraints etc. Alas I haven't found anything like that.

view this post on Zulip Jerod Santo (Sep 01 2025 at 22:13):

@Don MacKinnon yup! We’re doing a Vite collab too

view this post on Zulip Don MacKinnon (Sep 01 2025 at 22:16):

Awesome!

view this post on Zulip Lars Ellingsen (Sep 01 2025 at 22:49):

That's rad :smile: the doc and pod were both great!


Last updated: Oct 15 2025 at 11:36 UTC