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