Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book

#440: Can't Register for VibeCon

Published Tue, Jul 15, 2025, recorded Tue, Jul 15, 2025
0:00
00:25:20
Watch this episode on YouTube
Play on YouTube
Watch the live stream replay

About the show

Sponsored by PropelAuth: pythonbytes.fm/propelauth77

Connect with the hosts

Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.

Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.

Brian #1: Switching to direnv, Starship, and uv

  • Last week I mentioned that I’m ready to try direnv again, but secretly, I still had some worries about the process. Thankfully, Trey has a tutorial to walk me past the troublesome parts.

  • direnv - an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory.

  • Switching from virtualenvwrapper to direnv, Starship, and uv

    - Trey Hunner**

    • Trey has solved a bunch of the problems I had when I tried direnv before

      • Show the virtual environment name in the prompt

      • Place new virtual environments in local .venv instead of in .direnv/python3.12

      • Silence all of the “loading”, “unloading” statements every time you enter a directory

      • Have a script called

        venv
        

        to create an environment, activate it, create a

        .envrc
        

        file

        • I’m more used to a create script, so I’ll stick with that name and Trey’s contents
      • A

        workon
        

        script to be able to switch around to different projects.

        • This is a carry over from “virtualenvwrapper’, but seems cool. I’ll take it.
      • Adding

        uv
        

        to the mix for creating virtual environments.

        • Interestingly including --seed which, for one, installs pip in the new environment. (Some tools need it, even if you don’t)
    • Starship

      • Trey also has some setup for Starship. But I’ll get through the above first, then MAYBE try Starship again.
      • Some motivation
        • Trey’s setup is pretty simple. Maybe I was trying to get too fancy before
        • Starship config in toml files that can be loaded with direnv and be different for different projects. Neato
        • Also, Trey mentions his dotfiles repo. This is a cool idea that I’ve been meaning to do for a long time.
  • See also:

Michael #2: rqlite - Distributed SQLite DB

  • via themlu, thanks!
  • rqlite is a lightweight, user-friendly, distributed relational database built on SQLite.
  • Built on SQLite, the world’s most popular database
  • Supports full-text search, Vector Search, and JSON documents
  • Access controls and encryption for secure deployments

Michael #3: A Python dict that can report which keys you did not use

  • by Peter Bengtsson
  • Very cool for testing that a dictionary has been used as expected (e.g. all data has been sent out via an API or report).
  • Note: It does NOT track d.get(), but it’s easy to just add it to the class in the post.
  • Maybe someone should polish it up and put it on pypi (that person is not me :) ).

Brian #4: Some Markdown Stuff

  • Textual 4.0.0

    adds Markdown.append which can be used to efficiently stream markdown content

    • The reason for the major bump is due to an interface change to Widget.anchor
    • Refreshing to see a symantic change cause a major version bump.
  • html-to-markdown

    • Converts html to markdown

    • A complete rewrite fork of markdownify

    • Lots of fun features like “streaming support”
      • Curious if it can stream to Textual’s Markdown.append method. hmmm.

Joke: Vibecon is hard to attend

Episode Transcript

Collapse transcript

00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly

00:04 to your earbuds. This is episode 440, recorded July 15th, 2025. I am Michael Kennedy.

00:11 And I am Brian Okken.

00:12 And this episode is brought to you by Propel Auth. I'm going to tell you more about them later, but

00:19 make Auth easy for your app and don't spend time on things that are not your core

00:24 value proposition. Get Auth by your apps with them. Links to the top of your podcast player show notes.

00:29 if you want to connect with us brian i don't even know where people should connect with us anymore

00:34 we're on mastodon we're on blue sky we're here on youtube people can comment on the youtube channel

00:41 on the youtube video that actually is a place that a lot of the feedback happens so any of those

00:45 places and if you want to be part of the live show pythonbytes.fm live usually mondays at 10 a.m

00:52 Today, we're 25 hours later, I guess.

00:56 I don't know.

00:57 Tuesday, because sometimes life intervenes, but generally Monday at 10 a.m.

01:02 And if you want a really nice summary and a little bit of extra information around the

01:07 episode, not just a rehash of the show notes, but something different, be sure to sign up

01:13 for the Friends of the Show.

01:14 Just visit pythonbytes.fm, newsletter button right in the front.

01:17 Enter your email.

01:18 We'll treat it kindly.

01:19 We won't share it or sell it.

01:21 But we will send you cool stuff.

01:24 Brian puts together for you.

01:25 Speaking of cool things, Brian, let's switch over to you and see what we're talking about.

01:29 Okay.

01:30 Well, I want to, let's see.

01:32 First, I want to add something to the screen.

01:34 How do I do?

01:36 There we go.

01:37 I want to bring up a rehash an old episode.

01:40 So in episode 438, so just a couple episodes ago, one of the things we talked about was I talked about Durinv.

01:50 Where was that at?

01:51 there's a lot of stuff on the show notes. Anyway, my CLI world from Frank Wiles. And one of the

01:57 things was during and, and so I've been thinking about it also while we're here, I'll

02:01 just go ahead and show people that, you can see the stuff, cool stuff like my book, your course

02:07 and, where do people subscribe again? people subscribe right at the top. Oh,

02:13 be part of the live show and scroll down and there's, newsletter right there.

02:17 Anyway, so I wanted to talk about the dir env a little bit again, and I think I may have said what it's not before.

02:27 So dir env is just a tool.

02:31 It says unclutter your.profile.

02:33 And the main thing people use it for is these.envrc files or optionally.env files that basically use that to load up environmental variables when you go into a directory.

02:47 That's really mostly it.

02:49 But in Python world, we use that also to do other work.

02:54 I guess everybody else uses it to do other work as well.

02:57 But one of the things we do is invoke virtual environments when you go in.

03:01 And that's really what I'll be using it for.

03:05 So I really want to talk about, where is this?

03:09 Trey Hunters.

03:11 There it is.

03:13 Trey Hunter's blog post called, and this is an older one from, oh, not too old, last year,

03:18 switching from virtual inv wrapper to Durinv, Starship, and uv. Well, I don't really care about

03:24 the from virtual inv wrapper because I didn't use it before. So I'm thinking this is just switching

03:30 to Durinv and uv. And when reading this, and I can't remember who brought this up, but when

03:39 reading this, it brings up a lot of the things that I didn't like about DuraEnv the first time I

03:44 tried it. And Trey fixes all of those things. So let's look at a few of the things that he fixes.

03:50 So he does talk about making it work with ZShell. I've made it work with Bash as well. So it works

03:56 fine with most of the, at least all the Linux type shells that I've used. So the first off,

04:03 the default doesn't show you the virtual environment prompt because DuraEnv doesn't

04:08 allow you to modify the shell prompt.

04:10 So how do you get around that?

04:13 And there's just a short script that Trey wrote to put in your zshellrc or in your bashrc

04:21 file.

04:22 And then now your prompt is back where it shows your virtual environment.

04:25 So that's cool.

04:26 Also, apparently the default is to put the virtual environments replaced in a different

04:32 directory, like a.durinv Python 312.

04:35 And that's not, I mean, I don't know about most people, but at least me, I've always just stuck my virtual environment

04:42 right in the project directory that I'm working on.

04:44 So he has some switches for that.

04:47 Also, Durinv, when you enter and exit, it is very verbose about telling you that it's loading stuff.

04:53 You can turn that off, shows you how to turn that off.

04:56 And then that's just the Durinv setup.

05:01 And he's with virtual environments, but he's set it up with uv next.

05:08 So after that, it's uv and showing how to use all of this with uv.

05:13 The thing that I think is kind of one of the things I wanted to point out

05:16 that's pretty cool that I don't know if we've talked about is when you're creating a virtual environment with uv,

05:21 you don't get pip with it because you're going to use uv pip install instead of pip install.

05:29 However, some tools, some extra tools need it to be there for some reason.

05:34 And so you can say --seed, which it probably does other stuff too, but it adds

05:39 pip to your virtual environment.

05:41 So it'd be kind of cool if it just said --pip or something.

05:44 Seed works.

05:45 You just have to know that.

05:46 Anyway, that's as far as I'm going to get so far.

05:50 He's also talking about Starship.

05:51 And I guess I think I will follow the Starship tutorial too, because one of the things I like

05:57 is he is, he likes, he teaches people a lot.

06:00 So he doesn't want his shell prompt to be too crazy.

06:07 And so he's going to have a fairly boring Starship configuration.

06:13 And I'm glad because I'd like to see how to do it boring first and then look at his other stuff.

06:18 Yeah, those things can be overwhelming.

06:20 But I really like having some of these things, like a prompt that shows you which virtual environment is active,

06:26 which version of Python you're using.

06:28 It's really neat.

06:29 Yeah.

06:30 Yeah, anyway, so if you've tried Durinvib before and it sort of annoyed you,

06:34 maybe this tutorial might be for you.

06:37 It might be for me as well.

06:38 I haven't, I'm not entirely sure.

06:40 I recently updated, I used all my zshell plus warp, which warp is a super cool terminal thing.

06:48 And for some reason, things weren't working quite the way that I was expecting.

06:52 And with some of my Python virtual environment stuff installed versus system Python,

06:58 That was really, it was odd.

06:59 I think I was running pytest from the wrong place or something like that.

07:02 And it was driving me nuts.

07:03 And I didn't realize, I don't know, I think I had pytest extensions installed into,

07:08 plugins installed into a different place than I was trying to run it from.

07:12 And that was the challenge.

07:13 But I recently added to my profile, this thing will automatically activate

07:18 virtual environments if you go into a place that's got somewhere in the directory tree

07:22 of virtual environment.

07:23 And if you CD out of it, it'll automatically deactivate it, which is pretty dirty and V,

07:28 But I ended up doing that just with like a simple bash function.

07:31 Cool.

07:32 So anyway, I, however you go about it, I totally, totally recommend it because I

07:36 can see here exactly all the git status, all the, you know, the branch, everything.

07:41 It's great.

07:42 That's not what I want to talk about.

07:43 That was just a fun little follow up.

07:44 what I want to talk about something from them Lou and they say, Hey there,

07:50 here's a cool topic for Python.

07:52 So we've all heard of SQLite and almost all of us have SQLite installed knowingly or unknowingly because Python itself ships with SQLite.

08:02 It builds itself as the world's most popular database.

08:05 I think Excel might be the world's most popular database, but you know, pretty close, right?

08:09 Yeah.

08:10 They can, they're definitely Titans, but the story you're told is I'm using SQLite for development or like a local storage, like a local settings

08:21 file for an app, but it's not appropriate for production.

08:24 This thing I'm about to talk about called RQL Lite instead of SQL Lite is pretty neat.

08:31 And that's what Demi recommended, distributed SQL Lite.

08:35 Written and go, but who cares?

08:36 You can use it however you want, right?

08:38 So come down here and let me open up their main website here.

08:44 So rqlite.io.

08:46 And if you go over here, you can see that it's got a couple of things.

08:49 Vault tolerance, high availability, SQL Lite.

08:52 How crazy is that?

08:53 So basically what it is, is it's a data access layer on top of SQLite, but it also sets up

09:00 distributed, a distributed version of SQLite with replication.

09:05 Oh, wow.

09:06 Isn't that crazy?

09:07 Yeah, that's awesome.

09:09 Yeah, I think it's super cool.

09:11 So yeah, replacing Postgres with RQLite has simplified the software we ship to customers,

09:17 says Mark Campbell.

09:18 Yeah, so you come in there and see some of the things it does.

09:20 deploy in seconds, nothing complex to run. And then it gives you basically an HTTP API to talk

09:27 to the database because it might live somewhere else in a cluster, right? But that really routes

09:32 just internally to SQLite and it integrates with Docker Kubernetes super easily. Full text search,

09:37 vector search, JSON documents, lots of different things. So if you up here to, I think getting

09:44 started, you got quick start. Yeah. It talks about you just, there's different ways you can install it.

09:49 You could brew install the thing, or this is the way I've been doing all of my database servers

09:55 lately, all my server type things, you know, Nginx, MongoDB, et cetera, Postgres is to just run a

10:03 local version using Docker. So I don't have to install it or have it mess with my machine. So

10:07 instead of brew install, I would just Docker run this thing and give it a volume and it's good to

10:12 go, right? Persistent volume. So you don't lose the data. And then you just talk to it a lot like

10:16 SQLite, but you can create a cluster of them, which is what's wild. And in the example they show,

10:23 it's like, look, this is all local hosts, but you probably would set them up to be running

10:27 in different places, which is, it's pretty wild. So you also have got like all the rules around

10:35 eventual versus strong consistency and everything you do with clusters. So they've got a nice little

10:39 write-up on trade-offs you can make for like reliability, performance, staleness, et cetera,

10:44 client libraries, Python ones, IRQL, RQ Lite, and so on.

10:50 One for SQLAlchemy.

10:51 Yeah, a lot of neat stuff here.

10:52 If you're looking for a distributed database and you're using SQL Lite, I think people should look at this.

10:59 And thanks to them, Lou, for sending this in.

11:02 Actually, a hook into the SQLAlchemy to RQ Lite is pretty cool.

11:07 Yeah, it's pretty neat.

11:09 Yeah, you got read-only nodes and all sorts of different things about how you can set up the clusters.

11:13 You don't have to do clusters, by the way, if you want to just run a single instance of it,

11:17 it says plenty of people do that.

11:19 But if you want to have like the fault tolerance, high availability, then, you know, set up a cluster.

11:23 Cool. Neat.

11:25 Do you know what else is awesome?

11:26 I would guess that it's our sponsor.

11:28 Yes. PropelAuth.

11:29 This episode is sponsored by PropelAuth.

11:32 PropelAuth is the easiest way to turn authentication into your advantage.

11:36 For B2B SaaS companies, great authentication is non-negotiable, but it can often be a hassle.

11:41 With PropelAuth, it's more than just functional.

11:43 it's powerful. PropelAuth comes with tools like managed UIs, enterprise SSO, robust user management

11:50 features, and actionable insights. As your product grows, PropelAuth adapts with it, supporting more

11:56 advanced authentication features. And the best part, PropelAuth has native support for major

12:02 Python libraries like FastAPI, Flask, and Django. You can easily integrate them into your product.

12:07 When auth is effortless, your team can focus on scaling, not troubleshooting. That means more

12:12 releases, happier customers, and more growth for your business. Check them out to get started today.

12:17 The link is in your podcast player show notes. It's a clickable chapter URL as you're hearing

12:23 this segment, and it's at the top of the episode page at pythonbytes.fm. Thank you to PropelAuth

12:28 for supporting Python Bytes. Yes, definitely. Thank you. Thank you. Now, Brian, I feel like I've

12:34 snuck this one out from under you, this next one I want to talk about. Okay. We have a Python

12:40 dictionary that can report which keys you used and which ones you did not use.

12:45 Why do I feel like I got this from you?

12:47 This is like perfect for testing.

12:50 Okay.

12:51 So imagine I'm working with an API or some kind of data reporting library and you send it some

12:58 kind of dictionary, right?

13:00 And you want to make sure, like, I want to make sure that it uses these three important pieces

13:04 of information that are contained in the dictionary.

13:07 and if you run your code run either through a test or however you want to but probably through a test

13:12 then you could ask which keys were used and which ones were not used and if one you're like nope

13:17 it's really important that they take this piece of information into account and you see that it's not

13:21 used well that's a pretty big hint that something's going on and you might say like we'll just mock it

13:27 out and we can check but it's not that the function is called it's that the function is called with a

13:33 certain combination of different parameters over time, which I think is where it gets tricky,

13:39 right? It's not like get item was called or get is called. It's that get was called with these

13:44 seven values, but not this eighth value, right? And that's kind of like where I think this has,

13:48 at least as far as I know, kind of a unique idea. Yeah, that's pretty neat. Now, what I'm pointing

13:54 at is this blog post by Peter Bankson, and it's very nice, but it's also very short. And it's not

14:02 like exactly a python package you just uv pip install and then run with it instead it's more of

14:08 just a simple little dictionary that people wrote and then you can just access like what keys were

14:14 accessed which keys were not accessed and it's got some sweet uh step operations for that right like

14:21 the difference of a set and so on yeah so you might want to you might want to extend this a

14:25 little bit right like copy this in for example one of the things they note um and there's some nice

14:30 comment the comment conversation at the bottom one of the things missing is this works for square

14:34 bracket access which calls dunder get item but not dot get access but you know what if you look at

14:41 the way that get item is implemented and you rewrite the one that does get i'll tell you what

14:46 it's like three lines of code and it's super easy right like there's it basically just captures a key

14:51 that was used into a set and then delegates to the underlying dictionary implementation so there's

14:57 not a lot going on there.

14:58 Right.

14:59 So you can add that out.

15:00 Another thing that's nice is, there was a conversation about what would this

15:03 look like if it was a typed tracking dictionary?

15:07 And so, someone in the comments provided a, a typed version with multiple generics.

15:13 How about that?

15:14 Okay.

15:14 Yeah, sure.

15:15 Yeah.

15:16 Yeah.

15:16 So I think, you would definitely want to add the dot get function to this, but

15:21 like I said, just, it's like three lines of Python and it's not hard.

15:24 So check that out.

15:25 But yeah, I think this is a neat idea.

15:28 If you're looking to test how a dictionary is being used on a key by key basis.

15:33 Yeah, it seems like it's ripe for a small tracking dictionary package.

15:38 Yeah, exactly.

15:39 I think this is going to be like a sweet kernel of an idea for somebody who wants to put something on PyPI.

15:44 And I put this in the show notes.

15:46 Maybe someone wants to polish it up and put it on PyPI.

15:48 That person is not me.

15:52 Yeah, yeah.

15:53 Or me, that person is Brian.

15:55 Exactly. I don't, but maybe someone else does.

15:58 Yeah. Okay.

15:59 Well, we are streaming this episode, and I would also like to talk about streaming Markdown.

16:08 It's a transition there. Yeah.

16:10 Anyway, so Will McGugan reported a few days ago that the textual that he and his team are working.

16:19 I guess I'm not sure if there's a team there anymore.

16:21 But anyway, textual has a new version out.

16:25 4.0.0. So what's the, what's the big change? The big change is a markdown append. So this is kind

16:31 of a neat thing. I thought it was cool to have, to be able to see if we can get this to run.

16:37 The gist of it is that you've got a markdown. You can report to a markdown widget that as you append

16:43 to it, it just keeps going. So you can in real time, add stuff to it and it just sort of scrolls

16:49 down. Anyway, that's the big thing. Maybe you don't care about this, but I brought this up.

16:58 That's like all of our topics, but I brought this up because I really like the thing that he did

17:03 in bumping the major version. So he says why, the reason for the major version bump is because

17:10 while he was implementing this, there was a different, another part of the interface,

17:14 widget anchor that already existed and that has changed semantics.

17:19 So he, and it works better also, but the semantics changed, changed, caused the major version bump.

17:26 I wish more people did this.

17:28 I think that a lot of people only change the major version if they change the

17:33 actual signature, the API signature.

17:38 And I think that behavior changes are completely, They're even more important to change the version

17:44 because it's going to sort of run fine.

17:47 It's just going to do something different.

17:48 And that's something you really want to point out to users.

17:52 So applaud him for doing that.

17:54 Yeah, Brian, I remember when I first learned C++ and I had some, for me at the time, complicated program.

18:00 I was so proud of myself when I got it to compile.

18:03 Yeah.

18:03 Then its behavior.

18:05 I had to figure out all the bugs.

18:06 And this is kind of like that, right?

18:07 It's like it technically still has the same API signature, But it's down to the harder things to detect that are breaking changes, right?

18:16 Which is semantics and behavior.

18:18 Yeah.

18:18 And that's the real one that gets you is if it seems like it runs fine right away,

18:24 but there's a major version bump, you got to check a look at your test to make sure that.

18:28 And probably it's just that you're not using WidgetHanker.

18:31 And if you're not using it, you don't have to worry about it.

18:34 But anyway, so there's that.

18:35 And I was like, what can we stream with this?

18:38 What would I want to stream into Markdown?

18:40 Well, I've got another project that I wanted to highlight called HTML to Markdown.

18:47 So this is a HTML converter that apparently there was another tool, which I think I ran

18:53 across before called Markdownify that converts webpages or HTML stuff to Markdown.

19:01 And to be able to, so I thought, and one of the features of it, okay, so they completely

19:07 rewrote the fork.

19:09 But why?

19:10 There's a bunch of extra features like HTML5 support, type safety, metadata extraction.

19:17 And look at this, streaming support, memory efficient processing for large documents with progress callbacks.

19:23 I'm curious if you could take a web scraper or something or somehow take something that's streaming HTML

19:31 or use this to grab something large and have it reported to a textual widget.

19:39 That'd be kind of fun.

19:40 so that's very fun yeah nice i can also see if you are doing some kind of chat chat bot or llm type

19:48 of thing on the textual side yeah and you wanted to output the responses in markdown like that's a

19:54 real common yeah even exchange for even brings that up uh like the efficiently stream markdown

20:00 content like you might get from an llm like you might yeah okay yeah makes a lot of sense so cool

20:07 all right hey i want to jump back to your first item real quick okay did you give this article a

20:12 shout out as well because i know that you were thinking about it oh yeah i just didn't highlight

20:17 it so i didn't bring it up yet so yeah there's yeah you want to talk about it yeah sure i don't

20:22 know a whole lot about but it's very neat so um mario python by night also did uh it's the terminal

20:26 bootstrapping starship just during v and uv and talks about how you can sort of get things set up

20:32 with that as well so just it's already in the show notes just one more thing to throw out there

20:37 Yeah, and so that's what's causing me to say, maybe I should take another look at Durinv and Starship

20:44 because other people that I admire are using it.

20:47 So yeah, maybe it's worth looking at.

20:51 Not like me, who just vibed my way to a turn it on, turn it off automatically sort of bash function.

20:58 Yeah.

20:59 You ready?

20:59 Yeah, actually, you got any extras before we jump to the vibe?

21:03 Well, the only extra I wanted to bring up is the reason why I'm wearing an annoyingly bright T-shirt today.

21:12 Usually I do a darker color because it shows up better on the better.

21:16 But this is my Oregon Country Fair shirt that I got last Friday.

21:19 So I'm going to stand up so that you guys can see it.

21:22 And it's a lovely Oregon Country Fair shirt.

21:24 It was a blast.

21:26 But I'm definitely feeling my age a little bit.

21:28 But we got there, it's 11 to 7, and we got there right before 11 to get a decent parking spot.

21:36 But usually we get there earlier to get a decent parking spot.

21:40 A lot of people, it was pretty hot this weekend.

21:44 So it's till 7 o'clock, but like, I don't know, like 3 or 4 o'clock, we were like, I think we're fried enough.

21:51 Let's go home.

21:53 It has been very warm and very sunny in the Pacific Northwest.

21:57 Contrary to what people think about the rain and the clouds.

22:00 Yeah, no, I think there's other parts of the country getting more rain than us right now.

22:05 Oh, indeed.

22:06 All right.

22:07 You ready for the joke?

22:08 Yes.

22:09 Okay.

22:09 So let me set the stage.

22:11 I know many of you out there already know this.

22:13 We've had several jokes.

22:14 So if you've been progressing along the joke timeline with us, you will know what vibe coding

22:20 is.

22:20 Just for the folks who don't though, vibe coding is when you go to an agentic programming model

22:25 like cursor windsurf juni for the jetbrains idees that kind of thing and you just just tell it what

22:33 to do you don't need to touch the keyboard you use text to speech you just like build me this app

22:38 now i do it this way now make it that and the joke is that it comes up with a bunch of mistakes

22:44 or it works on your machine but you're not enough of a programmer to actually know okay that like

22:50 this might work here, but it's not really going to work. So that's the joke. And the joke is,

22:55 switch back, there's an announcement for this new conference. Very exciting.

22:59 VibeCon. Introducing VibeCon, the world's largest vibe coding conference. Make sure you register

23:05 today. HTTP 127.0.0.1 colon 8080 slash register. It says VibeCoding is hard to attend. VibeCon

23:13 is hard to attend. That's already funny. This is on Reddit, but if you scroll down into the comments,

23:19 So good.

23:20 Someone's just a sequel and backslash and vibe.html.

23:23 Someone's no, no, that's wrong.

23:24 File colon triple slash C colon forward slash and vibe.html.

23:29 What boomer posted this?

23:30 Modern vibe coders gather up at HEP bracket colon colon one.

23:35 You know, the IPv6.

23:38 That's funny.

23:38 Oh my goodness.

23:39 This is sweet, isn't it?

23:41 Can someone give me the prompt to generate the registration form so I can sign up?

23:48 That's funny.

23:49 Yeah, somebody said tried to register and they took a screenshot that local, the page, you know, connection refuses.

23:55 Oh my God.

23:56 Tried to register for ViveCon.

23:58 I guess my vibes weren't local enough.

24:00 Yeah, that's funny.

24:01 Yeah.

24:02 Okay, so let's say I'm dense.

24:04 Why is, what is that URL, that 127.001?

24:08 If you're doing web development locally, that's where it will run.

24:12 Okay.

24:13 I don't know what server typically picks 8080.

24:16 Maybe this is Node.js.

24:17 probably it is because like flask is 5 000 um some of them are 8 000 yeah so but it's definitely like

24:24 if you ran it locally you said build me this thing it would work perfectly locally because this is

24:30 like the dev address but obviously it's listening on the local loopback not it's not a real server

24:34 i love it yeah yeah i haven't done a lot of vibe vibing lately but yeah no definitely uh vibe con

24:43 is definitely hard hard to uh to attend and pat on the honest says they run a lot of local apis on

24:49 8080 like internal all right well fun as always yes thanks for being here brian thanks everyone's

24:56 listening and if you're not subscribed to the podcast please click follow or the subscribe for

25:02 free whatever your podcast app button says to you know keep getting automatic downloads to our free

25:07 podcast and if you're not subscribed on youtube you want to get notified you want to catch the

25:13 things and all the stuff we're doing here go over there and subscribe as well thanks and bye all


Want to go deeper? Check our projects




Subscribe to Python Bytes