Skip to content

Commit aaa4478

Browse files
committed
more transcript repairs
1 parent d296595 commit aaa4478

File tree

60 files changed

+107
-107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+107
-107
lines changed

transcripts/080.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090

9191
00:20:31 Yeah. And basically, you have all the basic functions, create, read, update, and delete, you can do some interesting searching, search for objects with specific parameters, you can do some quite involved searching with the API provided. But yeah, that's, I think, besides the database itself, the query language is like the second biggest hassle, the second most code and the whole project. If you have a list, you can search for an item in that list, which with specified properties, and so on. So if you want to, you can really go crazy with searching. But still, the basic API is insert, delete, and event, of course, querying an update.
9292

93-
00:21:21 Yeah, nice. And, to me, the query language looks a little bit like SQL alchemy, and that you do it sort of in a Python language, and it's translated to the query that goes down to the system, right?
93+
00:21:21 Yeah, nice. And, to me, the query language looks a little bit like SQLAlchemy, and that you do it sort of in a Python language, and it's translated to the query that goes down to the system, right?
9494

9595
00:21:32 I actually found out about the sequel alchemy project, I think I just discovered after I wrote Tony Dewey. So it happened to have a very similar query language. Yeah, he didn't take it straight from there. But it's, it is a very natural way of doing it. So
9696

transcripts/083.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
00:00:00 Have you ever searched for a Python educational video, maybe how to get started with pyramid or running queries with SQL alchemy or emler, there's a good chance you've run across pi video.org. This amazing site catalogues over 5000 Python videos from most of the recent Python conferences, among other places. Browse by speaker by topic by event and much more. This week, you'll meet Paul Logsdon, who's taken over the leadership of the project when it was in danger of going dormant. This is talk Python to me, Episode 83, recorded October 26 2016.
1+
00:00:00 Have you ever searched for a Python educational video, maybe how to get started with pyramid or running queries with SQLAlchemy or emler, there's a good chance you've run across pi video.org. This amazing site catalogues over 5000 Python videos from most of the recent Python conferences, among other places. Browse by speaker by topic by event and much more. This week, you'll meet Paul Logsdon, who's taken over the leadership of the project when it was in danger of going dormant. This is talk Python to me, Episode 83, recorded October 26 2016.
22

33
00:00:37 developer in many senses of the word because I make these applications vows and use these verbs to bake this music. I construct it line by line to think when I'm coding another software design. In both cases, it's about design patterns, anyone can get the job done. It's the execution that matters. Many interests.
44

transcripts/084.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
00:00:00 When was the last time you used a third party package in Python? Have you recently pip installed SQL alchemy, maybe you looked up the documentation on a package you found in pi pi. These two core pieces of infrastructure involved are both freely available, and open source, pip and pi pi, as well as read the docs. How are these funded? How well are they funded? It turns out that we are not doing a good job sustaining the underlying infrastructure in the Python ecosystem. This week, you'll meet four panelists for a discussion on the problem and its solutions, Donald stuff from pi pi and Pip, Eric hoelscher, co founder of read the docs, Carol Wilson, director of the Python Software Foundation, and project Jupyter core developer, and even to Alaska Director of Operations at the Python Software Foundation. This is talk Python to me, Episode 84, recorded October 31 2016. developer in many senses of the word because I make these applications vows and use these verbs to make this music constructed. To think when I'm coding another software design, in both cases, it's about design patterns, anyone can get the job done. It's
1+
00:00:00 When was the last time you used a third party package in Python? Have you recently pip installed SQLAlchemy, maybe you looked up the documentation on a package you found in pi pi. These two core pieces of infrastructure involved are both freely available, and open source, pip and pi pi, as well as read the docs. How are these funded? How well are they funded? It turns out that we are not doing a good job sustaining the underlying infrastructure in the Python ecosystem. This week, you'll meet four panelists for a discussion on the problem and its solutions, Donald stuff from pi pi and Pip, Eric hoelscher, co founder of read the docs, Carol Wilson, director of the Python Software Foundation, and project Jupyter core developer, and even to Alaska Director of Operations at the Python Software Foundation. This is talk Python to me, Episode 84, recorded October 31 2016. developer in many senses of the word because I make these applications vows and use these verbs to make this music constructed. To think when I'm coding another software design, in both cases, it's about design patterns, anyone can get the job done. It's
22

33
00:01:13 the execution that matters. Many interests.
44

transcripts/085.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202

203203
00:42:24 that's exactly really expensive. Alright, so what else? We got a few a few moments to talk about a few other things. And I know you've got a lot of interesting pieces out there. What else is going on? in physical Pip? Right? Oh, Pip. Yes. So.
204204

205-
00:42:37 So we deploy a lot of Python at Mozilla. And we used to check everything into a vendor library. You know, just to be sure no one had slipped anything under the radar, anything malicious like that. And vendor libraries are a pain to maintain, you know, you have to update the versions of things. And that creates enormous dips in your version control. And and checkouts take forever. And your checkouts are huge. And so we for a while ran an internal pi pi mirror a lot of people run their own index server and you kind of keep track of who's allowed to upload what to what to the server and then who did it last, and what versions are going to work with, with your own projects. And you have to keep an access control list and an audit trail. And that was a pain and it slowed things down. And then I thought, Well, we know we're actually having having a beer until we have these little sessions where we have a beverage of our choice and talk about something that we've been playing around with as a side project. And I needed something to talk about one day, and I thought, well, why not just hash the results of what your download from pi pi, and make sure they match some local hash that you've that you've prevented, and then go ahead and install it. And so I put this thing together as this little tool called peep for prudently examine every package. And we ended up moving the whole production lifecycle over to that for a number of years here too. And I thought, Well, okay, this is proven out. And Pete called deep into pips internal API, since I would break all the time. And it was a pain to maintain. I thought, you know what, I'm gonna lift this up into pips, if I can get people interested. And long story short, I did, people were interested. And it's in pip eight and above. So if you're out there, deploying Python and running your own index server, or keeping up to date with a vendor library, hey, consider just putting a bunch of Sha 256 hashes into your requirements file with a funny little syntax and running pip ate over it, and it'll it'll vet these things for you. I mean, it will vet them for you have to make sure that there's nothing malicious in a given version of the package, but it'll make sure that what you got that first time is the same thing you got. Yeah, once that it'll verify it can't change. And so what do you do you say like, you can't just say I depend upon SQL alchemy, you got to say I depend upon SQL alchemy, one dot o dot, whatever. And here's it's shot,
205+
00:42:37 So we deploy a lot of Python at Mozilla. And we used to check everything into a vendor library. You know, just to be sure no one had slipped anything under the radar, anything malicious like that. And vendor libraries are a pain to maintain, you know, you have to update the versions of things. And that creates enormous dips in your version control. And and checkouts take forever. And your checkouts are huge. And so we for a while ran an internal pi pi mirror a lot of people run their own index server and you kind of keep track of who's allowed to upload what to what to the server and then who did it last, and what versions are going to work with, with your own projects. And you have to keep an access control list and an audit trail. And that was a pain and it slowed things down. And then I thought, Well, we know we're actually having having a beer until we have these little sessions where we have a beverage of our choice and talk about something that we've been playing around with as a side project. And I needed something to talk about one day, and I thought, well, why not just hash the results of what your download from pi pi, and make sure they match some local hash that you've that you've prevented, and then go ahead and install it. And so I put this thing together as this little tool called peep for prudently examine every package. And we ended up moving the whole production lifecycle over to that for a number of years here too. And I thought, Well, okay, this is proven out. And Pete called deep into pips internal API, since I would break all the time. And it was a pain to maintain. I thought, you know what, I'm gonna lift this up into pips, if I can get people interested. And long story short, I did, people were interested. And it's in pip eight and above. So if you're out there, deploying Python and running your own index server, or keeping up to date with a vendor library, hey, consider just putting a bunch of Sha 256 hashes into your requirements file with a funny little syntax and running pip ate over it, and it'll it'll vet these things for you. I mean, it will vet them for you have to make sure that there's nothing malicious in a given version of the package, but it'll make sure that what you got that first time is the same thing you got. Yeah, once that it'll verify it can't change. And so what do you do you say like, you can't just say I depend upon SQLAlchemy, you got to say I depend upon SQLAlchemy, one dot o dot, whatever. And here's it's shot,
206206

207207
00:44:54 --hash equals whatever it is, right? Because obviously, if the version changes you'd imagine The code would change and the package Absolutely, I see.
208208

transcripts/087.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
00:03:02 Yeah, that's think of the times back when you had to have a leased line or back when you had BBs you had to dial up to get online. Like it's just such a different world, right. But that's really cool that you held that company like emerged out of that world,
1414

15-
00:03:17 right. So now you cannot imagine that not using it. Yeah, so and then, several years later, I started to work. For another company. It was a FinTech startup. It was a New York based company. And they outsourced the development to St. Petersburg, Russia. And this is the city where I'm originally from. And I was developing the back end in C++ and Java. And when the business took off, they decided to form a team and development team in New York. And they invited me for this role. So I moved to New York, and formed the development team there and was building software for some years there. And during that time, actually, my friend Alexander Kozlowski, he studied together in the university. And he was really, really interested in databases. And he was actually a senior lecturer. So he taught people databases, and he feel that most people actually don't get relational algebra, you know, and there should be a better way to build software. And he suggested an idea to build web framework. And I love that Yeah, because working for financial company, I saw that this very fast environment and I actually missed a tool like Delphia rabbit application development tool. And I thought that if I would have one, I would use one This car, we started to work on pornea. And it was a weekend project actually initially developed the whole framework issue. And it was a templating engine it was routing it was, or RAM. And then we found that probably we shouldn't do all those things, because it's too much. Yeah, by the time SQL SQL alchemy appeared, actually, we started the same here 2006, it was the first year when we started to work together. And actually, by that time, Alexander origa, tried to build a mapper. He tried in C++ in delfy. And Python was a choice, which he came to understanding that it should be a dynamic language.
15+
00:03:17 right. So now you cannot imagine that not using it. Yeah, so and then, several years later, I started to work. For another company. It was a FinTech startup. It was a New York based company. And they outsourced the development to St. Petersburg, Russia. And this is the city where I'm originally from. And I was developing the back end in C++ and Java. And when the business took off, they decided to form a team and development team in New York. And they invited me for this role. So I moved to New York, and formed the development team there and was building software for some years there. And during that time, actually, my friend Alexander Kozlowski, he studied together in the university. And he was really, really interested in databases. And he was actually a senior lecturer. So he taught people databases, and he feel that most people actually don't get relational algebra, you know, and there should be a better way to build software. And he suggested an idea to build web framework. And I love that Yeah, because working for financial company, I saw that this very fast environment and I actually missed a tool like Delphia rabbit application development tool. And I thought that if I would have one, I would use one This car, we started to work on pornea. And it was a weekend project actually initially developed the whole framework issue. And it was a templating engine it was routing it was, or RAM. And then we found that probably we shouldn't do all those things, because it's too much. Yeah, by the time SQL SQLAlchemy appeared, actually, we started the same here 2006, it was the first year when we started to work together. And actually, by that time, Alexander origa, tried to build a mapper. He tried in C++ in delfy. And Python was a choice, which he came to understanding that it should be a dynamic language.
1616

1717
00:05:50 Yeah, I'm sure it was much harder in C++ to pull something like this off, especially with the really rich language level query syntax, like, I'm not really sure how that works in C++,
1818

@@ -22,7 +22,7 @@
2222

2323
00:06:44 Yeah, exactly. And what you liked as well that it is so natural for someone who just starts working with Python, that you don't need to actually learn another language such as SQL.
2424

25-
00:06:58 Yeah, I think you probably could get away with just being able to read but not write SQL with Python. Yeah. Yeah. Or SQL alchemy, or some of the other ORM. Right. Like, if you can understand the debug output. You may be okay. Notice, it depends on how complex this was against. But that's, that's a cool goal anyway,
25+
00:06:58 Yeah, I think you probably could get away with just being able to read but not write SQL with Python. Yeah. Yeah. Or SQLAlchemy, or some of the other ORM. Right. Like, if you can understand the debug output. You may be okay. Notice, it depends on how complex this was against. But that's, that's a cool goal anyway,
2626

2727
00:07:18 exactly. I worked with people who actually can program different languages, but it's hard for them to understand SQL pretty well. And that's why we decided that if we could provide such a tool, it will be very helpful. And I could see how it can speed up making prototypes. And you know, when you build the prototype, you never know if it will be an application later and how to evolve.
2828

@@ -42,7 +42,7 @@
4242

4343
00:09:56 Right, and pony. It's a small horse, right? This is smart and powerful. So you believe that these features we put into our mapper? I think so too.
4444

45-
00:10:09 I think it's really, it is really nice. And I'm looking forward to using it properly on some projects now that I know a little bit more about it. So I want to ask you what's pythonic about it, but I think maybe the way to, to uncover the various pythonic elements is to actually work through an example. But before we get to that, let's let me ask you this other question. So there's these two styles or two design patterns for that typically are in play at ORM s. And that's whether or not the ORM acts as an active record, where you sort of work with individual elements. So like Ruby on Rails, or I think the Django ORM is like this. Or it's a unit of work, which is like SQL alchemy, where you create a bunch of objects and make some changes, inserts, updates, deletes, and so on. And when you're finally ready, you commit that unit of work, and it applies all of those, which style is pony?
45+
00:10:09 I think it's really, it is really nice. And I'm looking forward to using it properly on some projects now that I know a little bit more about it. So I want to ask you what's pythonic about it, but I think maybe the way to, to uncover the various pythonic elements is to actually work through an example. But before we get to that, let's let me ask you this other question. So there's these two styles or two design patterns for that typically are in play at ORM s. And that's whether or not the ORM acts as an active record, where you sort of work with individual elements. So like Ruby on Rails, or I think the Django ORM is like this. Or it's a unit of work, which is like SQLAlchemy, where you create a bunch of objects and make some changes, inserts, updates, deletes, and so on. And when you're finally ready, you commit that unit of work, and it applies all of those, which style is pony?
4646

4747
00:11:05 Yeah, absolutely. There are two basic patterns. And with Active Record, you have an object, which represents a line in the database. And the thing is that if you select the same object twice, using active record, you will have two instances of the same object in the memory. And it is a huge problem, because now you have two objects, which are actually the same. And when you start to change one object, and then change another one, you can have lost updates. And another thing that you need to always remember to call safe on each object.
4848

0 commit comments

Comments
 (0)