You'll smash it. Good morning, everybody. Can you guys hear me OK? Cool. Wait for this. Such cool. That's a title slide. Thank you so much for the introduction. Yeah, my name is Christy. Just like she said, I am the business and marketing side of Caldera Labs. We make Caldera forms, which is a form building plugin for WordPress. Yes, I am from Lima. I live in New York. I'm very far from home. So it's really exciting to be here. And yeah, you can't find me at at ccchirinos on your social media platform of your choice. Twitter, Facebook, Instagram, LinkedIn. I like to talk to people. I do this for the social media followers. So yeah, let's get started because I have a lot of content I want to share with you. And I want to lay out a foundation for what we're talking about. I talked to a lot of people yesterday. And they're like, yeah, if I enter forecasting, I'm really excited. And I was like, oh, that's so great. What do you want to know about so I can make sure I answer your questions? And they're like, I don't know whatever you want to tell us. And to me, that's exactly an answer of, I don't know. I just think it's probably a good idea. And so I'm going to assume that many people in the room that are here for the content are here because you find yourself in that situation, which is common. When it comes to WordPress products, the norm tends to be that we're self-started companies. So what I mean by that is that we invest our own money, or our own time, which is money, into our products, right?  That's the norm that I've seen. People who have agencies and they start to get into products, that is, in fact, the origin story of caldera forms as well. And caldera forms continues to be a self-funded product. So this is the norm, which means that at least at the very beginning, most of you who have a product, your financial strategy is cash accounting. So what that means is you have a bank account. Hopefully you set up a bank account for your business. And you get the money, and then you pay for your business expenses out of that account. And that's it. That's the end of your strategy, which is a great strategy, because it is low cost, because it is simple, because you know how well your business is doing, because you look at your balance in your bank account and you say, do I have money or do I not have money? So that's really good. When you get started, that's why we always say set up a bank account for your business, because it'll give you the ability to engage in this very simple financial management strategy, which is, do I have any money? But presumably, you're here because you want to get a little bit more sophisticated than that. You want to deal with larger amounts of money, and that means more questions about your money. So a little bit more sophistication. It's sort of that financial modeling, but I don't really know whatever you want to tell me. And so that's when we get into this concept, because there are more questions, right? Cash accounting has a lot of drawbacks. The main one being, and I'm sure that if you are a freelancer, you've been in this problem, right, where your cash accounting won't really account for the fact that you sold a project, but the client hasn't paid you. So your account says that you are about to go out of business, but you're not. You have an incoming payment, right? You have what we call an account receivable. And so that's when we start talking about a cruel accounting, right? And so that's just a word for we think that we've earned the money when we've been told we earned the money, right? So we have the cash, but we also have the accounts receivable, which is the cash we're waiting on, right? And we also have the value of the things that we could do in case we needed more cash. And so this system starts to get a little bit more sophisticated and a little bit more complicated. Like I said, the reason, presumably, that most of you aren't doing this and aren't keeping complicated books is because it's expensive, right? And so that is where the idea of financial forecasting comes in. You are probably doing a, where is it? I'm missing a slide. Sorry. So you are doing what we would call a cost-benefit analysis.  And it's going to come with these drawbacks because you don't need a financial model to know that if you spent seven hours of your week taking care of your, well, that's a lot, but taking care of your books, then that is seven hours that you could otherwise be spending on more profitable activities no model needed, such as selling, such as talking to your customers and learning more about what they want, such as answering the questions and support tickets of your existing customers. So that's why you're not engaging in this, and that is at the core of financial forecasting. So financial forecasting is this idea that we start to think about what's coming in the future to make decisions about whether something is worth it or not. So you're already doing it, right? If you're engaging in some sort of smaller accrual accounting, right, like maybe it's not incredibly complicated, but you are doing some degree of it so that you have better planning, especially for that situation where you have clients that don't pay you and then you have to think about the money that's coming, the money that's here and the money that's going. That's at the core of what this talk is about. It's getting a little bit more sophisticated and using math and using the numbers that we have in our account to make those kinds of decisions about what we should be doing to move on to the next stage as opposed to just going on our hunches. So it gets about making decisions, prioritizing tasks, assessing performance and evaluating businesses. So a very important thing to keep in mind is that all of these forecasts have diminishing marginal returns. So what that means is I could spend the next four weeks of my life building the perfect model that accounts for every single thing I've learned over the past three years about how product businesses make money, account for trends in the season, account for trends in the market, account for the way that things grow, account for the rate of growth of different kinds of plugins. But I'm gonna hit a point where the amount of time that I spend doing this, getting it perfect, just isn't worth it. It's not gonna be worth any kind of use. And so when we move on, when I talk to a lot of especially newer people, they're like, how can I get a little bit more sophisticated about my business processes? And I say, well, what are you doing in sales? Because chances are that when we look at your cost-benefit function that whatever else you're talking about doing doesn't have as much of a return as you just talking to customers and trying to get them to buy your thing and trying to get them to explain to you why they're not buying your thing. And that idea is what we call the return on investment. If I was to build a mathematical model behind that question, I would say, well, how much is my time worth, right? Whether you wanna calculate that as your hourly rate minus the expenses that your freelance practice would have, right? Like if you were consulting minus what you would spend, then that might be your cost of time or it might be, I know that if I spend this amount of hours in X activity, then why will happen? And when we calculate that function, it turns out that we always wanna make a decision that costs us less money than it makes us. Otherwise, we're making bad decisions and that is a fundamental aspect of what we're doing. The other thing to keep in mind with this concept is the time value of money. So it's this idea that money in the future is worth a lot more, excuse me, that it's worth less than money today. So when you have your client, they don't pay you. That promised $10,000 is worth a lot less to you than having $10,000 in your bank account right now.  What are you gonna say? And so when we think about future decisions, when we think about whether we're going to calculate, okay, how much time would it take me to build a perfect forecast versus what kinds of gains would I see from building the perfect forecast? I wanna make sure that I consider that the right now, the present is a lot more valuable than whatever's gonna happen in the future. And so we think about that when we make these decisions. Having $10,000 right now and then saying, oh, well, you know, but if I invest money now in five years, I might have $10,000. That's not a great decision because money right now is worth a lot more than money later. That's not breaking even, that's losing. And that is the idea of your discounted cash flow, right? So we'll be throwing around that word and that word means that when we start transitioning into these more sophisticated approaches to planning our finances and trying to grow our business, we wanna make sure that we're always considering that whatever amount of money I put into something, whether that's building the model or the thing that the model is actually analyzing, which may be a new product that you want to build, a new feature that you want to build, is actually worth the time that you're going to be spending doing. So we'll get into a little bit of the concepts behind how we would build a forecast in the context of WordPress products. The first thing to consider is that we have internal and external factors and then we also have internal and external reasons. So we actually have four things in internal and external. So your internal and external factors are your considerations for what you think is going to happen in the future based on your own product and based on what has happened outside of your product. So an external factor might be something like looking at products like yours and seeing how they do, looking at the market research that is available online on what web development agencies and freelancers make and trying to make a reasonable decision based on their income of what you could charge for a product depending on how important it is to market. And then you have internal factors when it comes to trying to make these better guesses about the future. So if you're going from this cash accounting start point, that's your internal factors. Being able to look at your bank statements, being able to look at what has happened, the way that we explain this is an internal factor is something that wouldn't exist if the product that we're thinking about didn't exist. And then you have internal and external reasons. And so we can have internal reasons to engage in building financial forecasts, right? We can have identified a planning problem. For example, with caldera forms, we found it worthwhile to create a module to predict the intervals at which we're going to need more support help. That was reasonable because otherwise people would... Support tickets would increase to a point where it got managed out of control and that would make customers unhappy. So that sort of effort was worth engaging in some sort of internal model building so that I can make better decisions for the business. When we talk about external reasons to do it, we're talking about other people want to see your forecast. So like I said, in WordPress, we don't see this often. I can count on my fingers a number of WordPress product companies that have taken out investments, have taken out loans. And if you're not aware of this, that's a really interesting thing about our industry is that many, many, many of the very successful products built themselves from the ground up, which I think is nice. But when we have external reasons, that means that someone else wants to see what you think is going to happen in your business. And these four corners of financial forecasting are important in thinking about why you're doing what you need to be doing. So we'll talk about the methods. Last time I gave this talk, they told me that this section was a little bit scary. Don't be scared. I'll be here if anything goes over your head and they'll also be available online. And also, you can Google this, right? Like your developers, you Google things when you don't know how to do them. Like you can totally Google any of this and it's all on the internet and you can just copy and paste it. It works the exact same way. So when it comes to building models, try and make better decisions. We have qualitative and quantitative concepts. So when it comes to qualitative, we're talking about the personal research, right? So it's last math phase. We're talking about talking to people. How much would you pay for this? We're talking about asking questions of our competitors. Something that I've found to be very true of WordPress products specifically is that your competitors will be more than willing to share their keys of success with you. Everybody seems to have a strategy that incorporates thinking that there is a pie for all of us to share. And I've had lots of success going up to people to do exactly what we do and saying, what do you think I should do? And they give good advice, market research. And then you have what people think of with financial forecasting, which is this quantitative aspect of it. And that's the part that really gets juicy, which is how do we take the numbers that we've collected through doing business to build things that will give us decisions based on statistics and mathematics. And so out of those, we have two things, right? Like one of them is we have the time series. So we have this idea of thinking about what has happened in the past and extrapolating into the future. And then we have the causal qualitative methods, which is a method of thinking about if this happens, then this will happen mathematically. And the very first thing that we do when we think about qualitative methods that have to do with time series is rule of thumb. So if my business made $5,000, I keep wanting to say dollars and I know that I should say dinars or euros, I'm sorry. My most basic and most unsophisticated method of building a forecast would be to say if I've made $5,000 last month, I'm going to make $5,000 this month. If I've made $5,000 last month and I've made $4,500 the month prior, perhaps this month, I will make $5,500, rule of thumb. And after we move past that, because that has some limitations, we think about smoothing. So like if you've ever seen like those graphs where they have like all the dots of the different things that have happened each month and then we draw a line among them, that's what smoothing is because we're able to sort of see the pattern behind the individual data points of what you're trying to look at. So when we have that, we use a calculation called a simple moving average. So I said this example about the month prior and then the month current. And if we want to get a little bit more advanced about that, we would say, well, what has happened in the last three months? So for example, say that I have this August, September and October thing and this is the amount of money that I made and I'm trying to, for whatever reason, make a determination about how much money I'm going to make in November. I would take the three months and I would divide between them to create my forecast. So I'm saying, well, you know, based on what I have made, based on the average of what I have earned in revenue in August, September and October, this is what I think I would make in November. But then the simple moving average is this concept that when you want to apply that idea to December, you would drop off the last month because you're engaging in a three month simple moving average, so it moves. So then this go around, I want to make this sort of assessment for December and November ended and I have figures on what actually happened. So I actually exceeded my expectations, which means that I would let go of August and I would take a look at September, October and November and take the average of those numbers to come up with the December forecast. That's a simple moving average. And naturally the example is that this can be done over any determinate period of time. You can do this with any chunks of three months. You can do this with any chunks of 12 months and so on and so forth, depending on the kind of choice that you're trying to make based on quarter, based on the financial year. So the simple moving average is a great way to get started with this calculation of how much money I might make versus how much money I might spend to make decisions, but it has a huge limitation, which is what if you have something totally unexpected happen? In that case, pretend that you did something really right and your sales five X in one month. And so if you had your simple moving average, that prediction would be very far off from what actually happened and that's when you have something called the exponential moving average, which accounts for that sort of potential situation. In this situation, we do a calculation that looks like that. There's a calculator on the internet. Like you don't have to do this. Like exponential moving average calculator. And this will create that smooth curve over what you're doing. So then in this case, I might say, well, you know, there's like a little bit of room for error and that gives me a number that's a little bit closer. You're still exceeding your expectations by a lot. That's what we would call an outlier, but it gives me a curve that has more room for error. And then when November, when December rolls around and I want to make the prediction for December, it actually puts a lot more weight in what happened recently, which tends to be true, especially with a new product and a new business. You telling yourself that what happened in three months ago is just as important as what happened in one month ago tends to be false. And so the exponential moving average is a formula that you can use to make that very simple calculation that you're probably doing in your head because you're telling yourself, well, if I'm making $100, like maybe next month I can make $200 and that would be great. You're telling yourself these things already, then you want to move on and use a little bit more sophisticated function that tells you or tells the numbers that the most recent month is more important than the month three months ago. And then you have this idea of decomposition. So decomposition is a look at potential trends. I mentioned this earlier. I said we could build a perfect revenue forecasting model for WordPress products, we could. And we would account for what we know of the industry, what we know of the internet in general, what we know of GDPs, what we know of all these things. And we would also account for this idea of what happens throughout the year. Some things that I've noticed with caldera forms that are probably going to be true for you if you are running or launching a WordPress product are that we are dead in the summer, people go on vacation. We don't have this idea in the United States, like vacation isn't a thing.  It's like, all the Germans are on vacation. It's very real. In the US we also have Black Friday and now that's a global phenomenon. We see ourselves pike up on Black Friday and we've talked to other WordPress products and doing Black Friday sales tends to be very beneficial for them because the entire world is paying attention to consumer electronics and so as a side effect they're paying attention to WordPress products. And knowing about these patterns is financial forecasting because this is how I know today in June that in November we're going to run a Black Friday campaign. We're low on time so let's skip over this. And then we have the idea of regression analysis. So this is sort of like complicated but not that scary idea behind putting numbers behind cause and effect relationships. So the most basic linear regression looks like that which if you like math, you know that one, right? That's like the line that goes like this or the line that goes like that which means if X happens then Y might happen. And in this case, we break that down into what you want to know where we're starting, how much something matters and how sure you are about how something may happen. So this would be a good, well used in trying to predict the effect of a certain action you might be taking. So for example, the average time of response of a support ticket. That is a model that we've built and we have seen the effect on not necessarily sales but on the customer satisfaction marker. I'm sure you've received an email that says like, how helpful was this answer? Good, not good, right? And so you've clicked on it every once in a while and so we look at that metric to see how people are feeling and we have seen a very related relationship with how long or short that average response time is to how many people click the thing and they click it with good. I'm going to also skip over this because we're running a little bit low on time. It's not that important. It's an idea that you could calculate your return on investment on word camps using a financial model. So this is something people ask me a lot. Like, does caldera firms really get a large return on investment on attending and sponsoring word camps? And I say, I don't know, but we could find out because we could find out how many people I speak to as a non-exact, right? Cost-benefit analysis function of what kind of effect I have at a word camp and I could look at a determinant period of time of sales to try and determine an effect. And then you have the idea of multiple regression. We're not going to go into this example because we don't use it in my examples but it's this idea that when you build a very complicated model, you can account for all of the possible things that may happen. So that's my big overarching example, right? It's like the perfect revenue model for a WordPress product. I would think about the country where it's being developed. I would think about the business model and the average cost of a purchase. I would think about all of these different factors that have to do with the product and then to build that model, we would simply put it all in a multiple regression. So what that number would look like, it would be where we're starting, right? So maybe like what amount of money we invested or what amount of money we are already making, right? And then I would put weights to each potential issue behind that model, right? So for example, I would think that if your median cost of your pricing tiers is $50, then that's going to go in there somewhere, right? And we would take all of those things and we can have an unlimited number of things that eventually build that model into like one of those scary things that you saw in math class that looked like this, right? So let's talk about what we would do with these sort of forecasts and practical ways in which we could use them. It's a simple process, right? Identifying the problem, identifying the relevant variables, deciding how to collect data, making the assumptions, choosing a method, and then verify. I showed you an example of this, the most simple ones are the revenue, right? The problem being I wanna know how much money I'm gonna make next month. Yeah, that's a common one. And so we think about what relevant pieces of information we would take into account to make that assessment, right? So the most common one is past revenue, right? But there are other things. Page visits, right? We're taking a close look at our conversion rate and identifying those things that might affect the thing you're trying to answer is called identifying your relevant variables. How do you collect your data, right? What tools do you have in place? How reliable are them? And making the assumptions. For example, when I said the example about work camps, that's a really rough model, but it's really hard to quantify this and it's not worth it to me to really try and quantify it that much. I'm just giving back to the community, I'm just here. So making an assumption that using the main variable as the number of people I talk to is probably gonna have an accuracy of close to nothing, but we're trying to build a model. And those are when we make assumptions, choosing methods and then engaging in that mathematical process that we saw. So a couple of examples, the first one I wanted to share with you, oh no, there was a cute emoji there, but we had to download the slides. How much support do we need for an increase in sales? This is a really good one that we did because we wanted to see if we could be proactive about the support text that we would need. We didn't like getting into this place where our mechanism for discovering that we needed to hire more support was that our customers were mad at us. That's terrible, that's a terrible way to run a business. And so that's exactly how we applied these concepts. We identified the problem and we identified the relevant number of variables. I could look at the number of sales per month to anticipate how many new support tickets I would get. I could also look at the number of tickets the last month and the month before and see the pattern of change over the number of support tickets. I would decide how to collect my data, so in this case, we're users of easy digital downloads and help scouts, so I have my data there and I decided that that would be okay. An alternative decision could have been that I want to make a very exact model and I want to engage in additional data collection strategies, but that wasn't worth it to me. My time was better spent actually talking to customers and continuing to make sales, but we needed to put in just the right amount of investment into this model to prevent the system that we had, which was that we would hire support tech when we were like, oh my God, all of our customers are so mad at us because we don't have enough support. Make assumptions, I just told you my assumption. I could, I'm going to have a model with moderate accuracy. And so, if we sold 10 licenses, we had 10 new support tickets. If we sold 20, we had 12, sure. An assumption is that we could have 11 support tickets per every 20 new sales. It's not gonna be true every single time, but we can pretend that it is for the effort of this model. If HelpScout says that we spent an average of 15 minutes on each ticket, we have way reduced this by now. I'm really proud of this. Then, let's make a conservative assumption and what that means is we always want to overestimate costs and underestimate income. So let's make a conservative assumption that is gonna take us way longer. We chose a method that fit, which in this case, we chose a simple moving average to work through the problem and understand that the past told us that we would need to hire a support tech every additional minutes of tech time. So this is how these problems start to work and how they become an effort in your WordPress product. And now the last example is sort of this idea of a three-year forecast. Now, we're done. Thank you, let's give Christy a round of applause. Thank you so much, Christy. So stay on stage and we'll do some questions. Cool. So how are we doing for time? I think we've time for questions. It's always nice to finish off with some questions. I got, so I hope I can got some time to sneak something as well. So where are our beautiful mic runners? One, two. Do we have some questions? Right in the middle there and then we will go to the gentleman in the pink at the back. So sorry, just before we get into questions, can I please, please, please encourage you wonderful audience to ask questions and not get too into comments? Hello, hello. Is the microphone working? Hi. Thank you for a great presentation, I really enjoyed it. I would like to ask you how do all these forecasts like in your business, do you use an app or just put it in Google Sheets or how does it work? You just put the numbers every month to the Google Sheet and you see the graphs or what do you use for that? Thank you. We use Google Sheets. And again, that's actually an important question, right? Because naturally in my past work and my education I could use Stata for this, I could use SPSS for this but why would I do that, right? We're running a plug-in business and this idea of the cos-benefit analysis is something I really wanna drill home because people think like, oh my God, I should be doing this and I'm like, should you? And if you should, if the answer is yes, do you need to take the most simple approach possible to get to your goal to get to the next place? So we use Google Sheets and it works great. The support example and any kind of year-to-year financial forecasts, spreadsheets, Excel, they're awesome. Fantastic. So the gentleman at the back there in the pink. Hi, it's a really good talk. I hope we can have more of those next year. All of these examples, right, give you a point estimate and if I can give you a short example, like let's say we started a Christmas shop, right? All of our products are Christmas related and we started a shop in November, right? We're gonna have like maybe 1K sales in November but then in December we have 10K, right? So what did I tell my CEO, right? Next month we're gonna have 20K, right? But probably in January, not really, right? So we can go with the confidence intervals but then I can tell my CEO, well, next month we can, we probably gonna go bankrupt or we gonna double our sales, right?  That to me is also a question of cost-benefit analysis. If your example is exactly about the numbers that you used which were 10K in December but then, you know, 1K in November, I would question why your company is spending limited resources on trying to make predictions for January when you can reasonably assume it's going to be less than 10,000 and more than 1,000. If you were talking about $10 billion, that's a different story. And my idea then would be that you want to build a considerable forecast about what your organizational priorities are that accounts for calculation error and holds a strategy for the company to keep moving forward if you don't make the expected sales, if you don't make enough to cover your costs. With that said, if you are a $10 billion a month company, you probably have access to capital, you probably have cash reserves, you probably have a lot of those other things where this sort of like month to month consideration of revenue isn't so important. So to answer the question in the context of $10,000, I would tell the CEO, we're going to make less than $10,000. What have you made in November? What have you made in the month before? And how do those patterns look? Has there been an upward trend in the past numbers? I would say that if the trend looked like a line that then spikes up, then it's going to go down, but not as much, right? So like if the spike had it happen, it would probably look like that. And I would think about it in those terms and then run a exponential smoothing average, which is a calculator you can find on Google. Question answered. Happy? Yeah, great, cool. More questions, please. We have a few more minutes. I think we could take one or two. It is hard to see you anymore. Oh, good, all right. I can sneak my questions in. All right, so I wanted to ask you, Christy, do you have a different process for producing information for internal or external consumption? Because you mentioned at the beginning of your talk that the drivers for doing this might be internal or external. So I wondered if you did something different for either. That's a really good question. So right now we don't, that's something that I'm working on, because certainly when you're talking about external consumption, this idea of like, this is good enough, isn't really appropriate. And so setting up systems to actually have accurate, average order value calculations, to have accurate conversion rate calculations is important. So your e-commerce system goes a long way or a short way in calculating accurate data. Using an e-commerce system that is tailored towards this kind of sophisticated analysis is a nice idea. We are struggling with that in WordPress, but there are a lot of people that are making a lot of really good headways into making that happen. When it comes to internal decision making, again, I focus on the ticket price. If I am thinking about a project that has a small impact on my business, I'm going to assume that, eh, good enough is good enough. I'm going to do like a simple rule of thumb thing, especially if I'm talking about a smaller or a larger amount. If I'm talking about something very fundamental, right? So we're talking about do we want to release a new add-on and a new integration is going to cost this amount of money we can expect to get our return on the investment here. How much is the time of the existing team? That's going to be a bit more of an exact calculation, but I have all of that data within my existing systems. I know how much I pay people, right? So that number isn't going to be debated. I know how much my integrations in the past have made thanks to my e-commerce system. So that's not really going to be too up in the air and I can build those models in that way, but certainly the general rule is that you want to increase the sophistication when you are pushing out the information. Cool, awesome, thank you. All right, well, I think we'll leave it there. Thank you everybody for coming along. So Christy, you're going to make yourself available at the Happiness Bar. Yes, so if you have any other questions or you just want to talk or talk about WordPress or money or WordPress money, I am, again, on social media, I'm at Ceci Chirinos on all the platforms. You can go to KoderaForms and talk to me that way. You can go to my website and talk to me that way. I'll be at the Happiness Bar and I'll also be running around. So yeah, thank you so much for your attention and I hope you learned something new. Thank you. Thanks, Christy.


Hi, okay. You can hear me, right? Okay. Yeah, my name is Ethan I'm mostly a Python n programmer and I have about a week of experience with puppeteer So obviously I'm the most qualified person to give this talk Let me get this going Who has heard of puppy who knows what puppeteer is Excellent, okay, so most people don't let me exit Who's heard of Selenium? Oh, more people. Okay. Okay. Yeah, okay. So let me get started general introduction to puppeteer puppeteer is Is Google's web driver?  Just listen to me first Yeah, so basically as I mentioned, I'm mostly a Python programmer and in Python land That's this thing called Selenium, which is I think one of the most popular web drivers around and it's been I think the most dominant web driver for the last couple years Yeah, and I've used it before it is very troublesome to set up Um, you have to install lots of things and you have to link lots of things and there's lots of Things that always break when you try using it and so I had a new project where I needed to do some web scripting and I heard of this thing called puppeteer, which is like supposed to be magical and people are raving about it online So I wanted to try it out Let me give you a general introduction to what it does right, so, um Yeah, so, um, why you'd want to use puppeteer before that So selenium is kind of like a cross browser solution If you need to test for example, if you're doing unit testing in the browser and you need to test across across firefox And as well as chrome and all the other browsers then selenium is the right Um library for you. It's right solution for you. Uh puppeteer is google's library. It only works as chrome or chromium either one Um, it can do most of the things that selenium can do Um, it's actually quite powerful. I'll cover some of the things it can do in a bit. Um But yeah, um, it's not quite the right solution for you if you're looking for a cross browser solution All right, um Yeah, and the reason mostly I went with puppeteer is it's really simple to set up. It's literally just npm install puppeteer It comes with its own bundled chromium So you don't have to like have chrome installed or you don't you don't need to link any Libraries like every when you just do npm. So it comes with a little bundled chromium chromium is The open source version of chrome Yep And yeah, okay And let me show you what I've been doing. So basically for a project at work. I need I'm exploring some commodities data. So I need to scrape uh commodities news sites So I'm scraping like fairly large volumes of uh data and I've been trying to use puppeteer um It works fairly well. Let me go through bits of code. Um I can give me a second. Okay. So before going Yeah, so my my rough project structure is basically the idea was um for every site I need to scrape I'll write this little site config thing which is Um, which is basically what changes between the different sites Uh, but the general code um Is is actually really simple. Um Let me go through that. Um Yeah, so for example, um, basically what I'm doing is I'm going through I'm going to All the different sites. I am getting the the title who the author is when it was posted what the text of um This is uh, what the what the main body of this article is and I'm saving it a database Like 90% of my code is saving things the databases or Like there's only like a couple of lines of puppeteer honestly, uh, and let me show you, uh that bit. Um, so I start off with Um Yeah, so launch puppeteer launch basically launches a chrome a chrome browser. You can launch it. Uh, if you notice, I have this headless falls or true um, so headless So you can launch it in either headless So headless mode mode means there's no GUI. There's no actual browser that pops up. Um It just runs in the background. You never you don't actually see it But everything else should behave as per normal.  You can uh, move to headless. Yeah, so The code is literally, uh, launch puppeteer launch puppeteer gives you a browser instance. Um You wait for a new page You go to a new page. Um, for me, I'm looping over a whole bunch of pages Uh, you do new page and uh, let me show you the actual getting stuff out from page so Just a little bit chrome to evaluate. Um This bit, uh, took me a while to get took me a while to understand. Uh, so there's two kind of Things going on. There is the Uh, process that's running puppeteer and separately there is a sandbox. Um, thing that's running inside your chrome um Browser so everything inside evaluate actually runs in it's the equivalent of opening up your console and typing some code there So you can do things like document query selector or whatever standard Um Like javascript stuff, you know, how to interact with a website you can put inside your evaluate block and basically that's what is running in the context of the Um Of the browser so you don't actually need to learn anything new if you if you know how to Select a title like if you know how to open the console and select the title Uh, then you can use puppeteer because it's the same thing. It's literally the running just, um, all this chrome Block is doing is it's running, uh, that bit of code in the context of the browser and then returning a response. Um One issue I had was You can actually pass in, um Something from outside into Into the context of the browser, but it serializes that object So like if you try to pass in something with like functions or functions Just kind of disappear. It doesn't see realize properly. So that's an issue. Um, that's So, um, was that clear? Do you do you get what I mean? Like so, um, if you notice evaluate I'm passing in this selector Uh, um, selector is something I'm trying to pass in from outside into the context of the browser But if that object that I'm passing in has any functions, it doesn't get serialized It just disappears and you get like undefined inside. Yeah um Yeah, and so It basically in summary if you're trying to do like Some kind of browser automation, but it is really easy to use the I didn't find the documentation that easy to follow I think they need to do a bit of work on Um, the documentation still um other than that it's been quite good I still can't get around captures, but I can't get around captures with anything. So that doesn't help um The other issues I've faced are Headless and non-headless should give you the same results all the time But I sometimes get different results and I don't know why so if anyone knows why that would be great. Um and Yeah, so I'm only using it for data scraping but you can use it like we can use it like Like mocha.js for like unit testing or whatever There's other things things you can use and you can use it for things like filling up forms Like you it gives you all the normal things you can do in browser Like you can type you can select uh input and then you can like page dot type Or you can page dot click or you can um like focus events or you can Listen to events like you can wait for something to happen and you can act on it. So it's a fairly full feature. Um Browser automation tool it also lets you do things like take screenshots and create pdfs out of entire pages So like if you want to do like Um testing like you've made a change. It's the output of my website the same as before that kind of thing You can do that as well Yeah, any questions What's up, sorry, um the question was do you get rate limited or blocked? Um, I haven't as of yet um The the sites that use um like captures and stuff I just get stuck right at the beginning, but the sites that don't implement it usually like if defines you just like I'm not I'm probably doing it most like a request a second. So it's not like huge volume What's up wait? I tried that but um, generally if I hit a capture and I try to manually fill it up I still can't get through I just get stuck in the capital for forever for some reason. Um, also I have a lot of colleagues who are Also scraping at the same time. So I think it just detects that my entire network has a lot of shit going on And like I'm getting like generally like even if I'm like just in a browser and going somewhere Sometimes it gives me captures without when I normally wouldn't Be getting those yes to So I should instead of like opening a brand new chromium browser. I should like use an existing chrome browser Okay. Yeah, I'll try that. Yeah Yeah I have no idea like no one said anything. So I haven't I haven't anything um, but I mean There was this whole court case about like if if data is publicly available It should be fine. Just great. Right. Like there was this thing that happened with uh, and then I'm not sure. Yeah Well out of my area expertise. Yeah A what? Oh, no, I have not tried that. Um That will no no anyone have any experience with But I I there's nothing much to say about We're using j s mostly pure j s as few libraries as we can We use a service who provides us I don't remember because we we tested a lot of different ones. We Oh, no, wait, it's not no Sorry on that on that topic like while I was looking this up. I found this api which, um It's for solving captures. It's literally real people Solving captures for you or like we use that. Yeah, like on like in real time like they have like I'm not sure how many people they have but they give you like they can solve your capture within a certain amount of time and they have like a page with photos of all their workers and like And like and like how these people are from that world countries that make about 200 usd A week which is like more or month which is more than Like they would usually make something like that but I was like, okay, that's dodgy, but I'm not sure but okay So use that if you if you need a capture solving service I'll find it for you. I'm not sure So since we've gone into captures, but what happens when you get those like I'm not a robot prompts from google like how would that service solve it so I think you That's a good question like it hmm It might be that you need some kind of virtual Like chrome browser that you both share and they interact with it part of the time like instead of having a browser on your own machine, could you open it on like a Like a remote desktop somewhere something like that. I'm not really sure how that'll work. That's a good question I don't know like my impression of the I'm not a robot captures I may be wrong Is that maybe they look at your mouse movement and kind of see that your mouse movement is pretty slow and Inaccurate and they decide you're a human so I Briefly look this up and it seems to be a lot more than that like especially for things like chrome like they do even seem to look at your Like browsing history and what you've been doing before like if you spend the last Three hours browsing memes and like this is a person just let him through but if yeah, that kind of thing also seems to be the case It's not just mouse movement. There seems to be a lot of things I've encountered this type of capture mostly on chinese websites where it's a slider Is are those captures? Automatically solvable sorry so Sometimes it's like an image But they do it as a jigsaw puzzle piece and then you have to slide the piece from left to the the empty slot And that's like so there's a simpler version is just dragging the slider from left to right completely That's the simpler version. I've seen the jigsaw puzzle version But it only comes out on chinese websites. I think lazata uses that as well though lazata. Singapore. I've seen in lazata. Singapore Like I get it quite often that of that type of capture. Is it Can you can we solve it automatically or it really is requires human intervention anybody? I have no experience with that. I've only been using google's recapture Yeah, so it is like the jigsaw puzzle style where the distance is not fixed then how But you have to stop at the spot wall ah So it can you imagine it's like an image then there's a hole in the middle But the hole is not by the same place all the time there to drag the piece until you fit the hole So basically what you must do is you basically build another human that has the ai to go and do all these Things Any other questions? I had some questions I had four questions What what were they Not there remember So like I saw in the code you have chrome dot evaluate and then you pass in a function with a Select the argument, but I didn't understand how Oh, okay. Okay. Okay. So you pass in the argument at the end. Okay Over regular um, selenium It's really easy to set up like like I selenium is really troublesome. Okay. I haven't used it I haven't used it in about three years, but the last time I used selenium like it was like it was it I never it was it wasn't as easy as just installing it Then you had to install the the driver and then you had to link them and then I'm not sure whether It maybe it's gotten a lot easier now. I haven't touched it in Yeah, like I actually most recently set up selenium on my new computer And then especially if you only need chrome You just need to brew install chrome driver And then if you use it with python, it just hooks up like like that. That's it I then just need to pip install whatever is necessary selenium. Yeah, so it's gotten better. I assume it's been a while Yeah, so I I went down this route because I mean I had just been hearing a lot about How good it is and I wanted to try it out and it's it's okay. It's pretty good. Yeah cool


Okay, so let's talk a little more about the liquid-vapor equilibrium for a mixture of two substances in a slightly different way. So what we've seen so far is for a non-ideal solution, we've defined this quantity called the activity, which is the partial pressure of some substance over the liquid divided by the vapor pressure, the pressure it would have if it were a pure solvent. And if the solution's ideal, that ratio is going to be equal to the mole fraction of that particular solvent or component of the solution. But if it's not ideal, then we use the activity. And activity may or may not be the same as the mole fraction. So if I rearrange this and say we can predict the, if we know the activity, we can predict the partial pressure of A above a mixture as the activity times the vapor pressure. What we know is that the activity, even if A is a solvent and it's nearly pure solution and I've only dissolved a little bit of something else in there, the activity of A is always going to be less than one. For a pure solution, the activity is one. So what activity means is how active the solvent is relative to the pure solvent. So the activity is going to be less than one if the solution is not pure solvent. So if this number is less than one, the partial pressure is going to be less than the vapor pressure. So we can think about that as the vapor pressure has always been lowered. The partial pressure is always lower than the vapor pressure. So we can think of the vapor pressure of the solution as having been lowered relative to the pure solvent. So in fact, often rather than talking about what is the actual partial pressure above that solution, often what we talk about instead is by how much has the vapor pressure been lowered. So we can define that change in the partial pressure to be what it would have been for the pure solvent minus that slightly lower value for this particular solution. So that's our definition of a new quantity, the vapor pressure lowering, the amount by which the vapor pressure has been lowered. But since we know what the partial pressure is, I can write activity times vapor pressure. So that this works out to be one minus the activity times the vapor pressure. So far, so good. That's the amount by which the vapor pressure is lowered. And dilute solution meaning I don't have very much of the solute. I have nearly 100% of the solvent. The activity is going to be close to one and this difference is going to be pretty small. In fact, in that solution that's dilute in the solute relatively concentrated nearly pure in the solvent, that solution will be close to ideal. If we assume that's an ideal solution because it's near pure solvent, then I can write that as one minus mole fraction because in an ideal solution activity and mole fraction are the same thing. But then one minus mole fraction of A, one minus the fraction of the solution that's solvent, that's just going to be the fraction of the solution that's solute. So let me go ahead and rewrite that up here so we can talk about it a little bit. What we've discovered is the vapor pressure lowering in an ideal solution is the concentration of the solute as a mole fraction multiplied by the vapor pressure of the solvent. So there's a couple of interesting things to point out about that equation. That's our equation for vapor pressure lowering. If we want to know, for example, let's say at room temperature, the vapor pressure of water is 24 Torr. If I mix in 1 mole, 1.01 mole fraction of some solute.  So I've lowered the vapor pressure by 1% of the 24 Torr. So notice what that means is these two different terms, the amount of this vapor pressure lowering is proportional to the concentration of the solute. In other words, the amount of the solute that I've dissolved in the solution. Notice that I don't have to know what the solute is. It could have been 1% mole fraction sucrose. It could have been 1% mole fraction ethanol. It could have been 1% mole fraction anything. It doesn't matter what the identity of B is, it just matters how much of it there is. So that vapor pressure lowering depends on the amount or the concentration of the solute, but not what the solvent solute is. On the other hand over here, it does depend on the identity of the solvent. The vapor pressure of water is 24 Torr. The vapor pressure of acetone or ethanol or some other volatile salt event is a different value. So it depends on, it does depend on the identity, the chemical identity of the solvent, because each solvent has a different vapor pressure from others. So that general pattern of some property depending on how much solute I dissolve in a solution and what the chemical character of the solvent that I dissolve it in, that's a pretty common pattern that we'll see over and over. And properties that have this type of behavior we're going to call colligative properties. And we'll see a number of examples of those, many of which you may have heard of before. Freezing point depression, boiling point elevation, osmotic pressure, vapor pressure lowering. Those other three that I just named, we'll talk about in other videos coming up, but they're all examples of these colligative properties that have the same property where it only matters how much solute I dissolve, not with the chemical content of that solute is.


Part 1 Chapter 29 of Anna Karenina, read for LibriVox.org by Kirsten Ferreri. Come, it's all over and thank God was the first thought that came to Anna Akadyevna, when she had said goodbye for the last time to her brother, who had stood blocking the entrance to the carriage till the third bell rang. She sat down on her lounge beside Anushka, and looked about her in the twilight of the sleeping carriage. Thank God! Tomorrow I shall see Seryozha at Alexei Alexandrovich, and my life will go on in the old way, all nice and as usual. Still in the same anxious frame of mind as she had been all that day, Anna took pleasure in arranging herself for the journey with great care.  An invalid lady had already laid down to sleep. Two other ladies began talking to Anna. And a stout elderly lady tucked up her feet, and made observations about the heating of the train. Anna answered a few words, but not foreseeing any entertainment from the conversation. She asked Anushka to get a lamp, hooked it on to the arm of her seat, and took from her bag a paper knife and an English novel. At first her reading made no progress. The fuss and bustle were disturbing, then when the train had started she could not help listening to the noises, then the snow beating on the left window and sticking to the pane, and the sight of the muffled guard passing by, covered with snow on one side, and the conversations about the terrible snowstorm raging outside distracted her attention. Further on it was continually the same, again and again, the same shaking and rattling, the same snow on the window, and the same rapid transitions from steam heat to cold and back again to heat, the same passing glimpses of the same figures in the twilight, and the same voices, and Anna began to read and to understand what she read. Anushka was already dozing, the red bag on her lap clutched by her broad hands and gloves, of which one was torn. Anna Arkadyevna read and understood, but it was distasteful to her to read—that is, to follow the reflection of other people's lives. She had too great a desire to live herself. If she read that the heroine of the novel was nursing a sick man, she longed to move with noiseless steps about the room of a sick man. If she read of a member of parliament making a speech, she longed to be delivering the speech. If she read of how Lady Mary had ridden after the hounds, and had provoked her sister-in-law and had surprised everyone by her boldness, she too wished to be doing the same. But there is no chance of doing anything, and twisting the smooth paper-knife in her little hands, she forced herself to read. The hero of the novel was already almost reaching his English happiness, a baronetcy and an estate, and Anna was feeling a desire to go with him to the estate, when she suddenly felt that he ought to be ashamed, and that she was ashamed of the same thing. But what had he to be ashamed of? What have I to be ashamed of? She asked herself, in injured surprise. She laid down the book and sank against the back of the chair, tightly gripping the paper-cutter in both hands. There was nothing. She went over all her Moscow recollections. All were good, pleasant. She remembered the ball, remembered Ronsky and his face of slavish adoration, remembered all her conduct with him. There was nothing shameful. But for all that, at the same point in her memories, the feeling of shame was intensified, as though some inner voice just at the point where she thought of Ronsky were saying to her, warm, very warm, hot. Well, what is it, she said to herself, resolutely, shifting her seat in the lounge? What does it mean? Am I afraid to look it straight in the face? Why, what is it? Can it be that between me and this officer boy there exist, or can exist, any other relations, and such, as are common with every acquaintance? She laughed contemptuously and took up her book again, but now she was definitely unable to follow what she read. She passed the paper-knife over the window-pane, then laid its smooth cool surface to her cheek, and almost laughed aloud at the feeling of delight that all at once without cause came over her. She felt as though her nerves were strings being strained together, tighter and tighter on some kind of screwing peg. She felt her eyes opening wider and wider, her fingers and toes twitching nervously, pressing within, oppressing her breathing, while all shapes and sounds seemed in the uncertain half-light to strike her with unaccustomed vividness. Moments of doubt were continually coming upon her, when she was uncertain whether the train were going forwards or backwards, or were standing still altogether, whether it were Anushka at her side or a stranger. What's that on the arm of the chair, a fur cloak or some beast? And what am I myself, myself or some other woman? She was afraid of giving way to this delirium, but something drew her towards it, and she could yield to it or resist it at will. She got up to rouse herself and slipped off her plaid in the cape of her warm dress. For a moment she regained her self-possession, and realized that the thin peasant who had come in wearing a long overcoat with buttons missing from it was the stove-heater, that he was looking at the thermometer, that it was the wind and snow bursting in after him at the door, but then everything grew blurred again. That peasant with the long waist seemed to be gnawing something on the wall. The old lady began stretching her legs the whole length of the carriage and filling it with a black cloud. Then there was a fearful shrieking and banging as though someone were being torn to pieces. Then a blinding dazzle of red fire before her eyes and a wall seemed to rise up and hide everything. Anna felt so she was sinking down. But it was not terrible, but delightful. The voice of a man muffled up and covered with snow shouted something in her ear. She got up and pulled herself together. She realized that they had reached a station, and that this was the guard. She asked Anushka to hand her the cape she had taken off at her shawl, put them on, and move towards the door. Do you wish to get out? Asked Anushka. Yes, I want a little air, it's very hot in here. And she opened the door. The driving snow and the wind rushed to meet her and struggled with her over the door. But she enjoyed the struggle. She opened the door and went out. The wind seemed as though lying in wait for her. With gleeful whistle it tried to snatch her up and bear her off, but she clung to the cold door-post, and holding her skirt, got down onto the platform and under the shelter of the carriages. The wind had been powerful on the steps, but on the platform, under the lee of the carriages, there was a lull. With enjoyment she drew deep breaths of the frozen snowy air, and standing near the carriage looked about the platform and the lighted station. The raging tempest rushed whistling between the wheels of carriages about the scaffolding and round the corner of the station. The carriages, posts, people, everything that was to be seen was covered with snow on one side, and was getting more and more thickly covered. For a moment there would come a lull in the storm, but then it would swoop down again with such onslaughts that it seemed impossible to stand against it. Meanwhile men ran to and fro talking merrily together, their steps crackling on the platform as they continually opened and closed the big doors. The bent shadow of a man glided by at her feet, and she heard sounds of a hammer upon iron. Hand over that telegram came an angry voice out of the stormy darkness on the other side. This way, number twenty-eight, several different voices shouted again, and muffled figures ran by covered with snow. Two gentlemen with lighted cigarettes passed by her. She drew one more deep breath of the fresh air, and had just put her hand out of her muff to take hold of the door-post and get back into the carriage when another man in a military overcoat, quite close beside her, stepped between her and the flickering light of the lamppost. She looked round, and the same instant recognized Brunsky's face. Putting his hand to the peak of his cap he bowed to her and asked, was there anything she wanted? Could he be of any service to her? She gazed rather a long while at him without answering, and in spite of the shadow in which he was standing, she saw or fancied she saw, both the expression of his face and his eyes. It was again that expression of reverential ecstasy which had so worked upon her the day before. More than once she had told herself during the past few days, and again only a few moments before, that Brunsky was for her only one of the hundreds of young men, for ever exactly the same, that are met everywhere, that she would never allow herself to bestow a thought upon him. But now, at the first instant of meeting him, she was seized by a feeling of joyful pride. She had no need to ask why he had come. She knew as certainly as if he had told her, that he was here to be where she was. I didn't know you were going. What are you coming for? she said, letting fall the hand with which she had grasped the door-post, an irrepressible delight and eagerness shown in her face. What am I coming for? he repeated, looking straight into her eyes. You know that I have come to be where you are, he said. I can't help it. At that moment, the wind, as it were, surmounting all obstacles, set the snow flying from the carriage-roofs, and clanked some sheet of iron it had torn off, while the horse whistle of the engine roared in front, plaintively and gloomily. All the awfulness of the storm seemed to her more splendid now. He had said what her soul longed to hear. Though she feared it with her reason, she made no answer, and in her face he saw conflict. Forgive me if you dislike what I said, he said humbly. He had spoken courteously, deferentially yet so firmly, so stubbornly, that for a long while she could make no answer. It's wrong what you say, and I beg you, if you're a good man, to forget what you've said, as I forget it, she said at last. Not one word, nor one gesture of yours, shall I, could I, ever forget. Enough! Enough! she cried, trying assiduously to give a stern expression to her face into which she was gazing greedily, and clutching at the cold door-post she clambered up the steps and got rapidly into the corridor of the carriage. But in the little corridor she paused, going over in her imagination what had happened. Though she could not recall her own words or his, she realized instinctively that the momentary conversation had brought them fearfully closer, and she was panic-stricken and blissful at it. After standing still a few seconds, she went into the carriage and sat down in her place. The overstrained condition which had tormented her before did not only come back but was intensified, and reached such a pitch that she was afraid every minute that something would snap within her from the excessive tension. She did not sleep all night, but in that nervous tension, and in the visions that filled her imagination, there was nothing disagreeable or gloomy. On the contrary, there was something blissful, glowing and exhilarating. Towards morning Anna sank into a dose, sitting in her place, and when she waked it was daylight, and the train was near Petersburg. At once thoughts of home, of husband and of son, and the details of that day and the following came upon her. At Petersburg, as soon as the train stopped and she got out the first person that attracted her attention, was her husband. Oh, Mercy, why do his ears look like that? She thought, looking at his frigid and imposing figure, and especially the ears that struck her at the moment, as propping up the brim of his round hat. Catching sight of her he came to meet her. His lips falling into their epitual sarcastic smile, and his big tired eyes looking straight at her. An unpleasant sensation gripped at her heart when she met his obstinate and weary glance, as though she had expected to see him different. She was especially struck by that feeling of dissatisfaction with herself that she experienced on meeting him. That feeling was an intimate, familiar feeling, like a consciousness of hypocrisy which she experienced in her relations with her husband, but hitherto she had not taken note of the feeling. Now she was clearly and painfully aware of it. Yes, as you see, your tender spouse, as devoted as the first year after marriage, burned with impatience to see you, he said, in his deliberate, high-pitched voice, and in that tone which he almost always took at her, a tone of jeering at anyone who should say in earnest what he said. Is Sir Yosha quite well? she asked. And this is all the reward, said he, for my ardour. He's quite well. End of Chapter 30. This recording is in the public domain. Part I, Chapter 31 of Anna Karenina. Read for LibriVox.org by Kirsten Ferrari. Fransky had not even tried to sleep all that night. He sat in his arm-chair, looking straight out before him or scanning the people who got in and out. If he had indeed on previous occasions struck and impressed people who did not know him by his air of unhesitating composure, he seemed now more haughty and self-possessed than ever. He looked at people as if they were things. A nervous young man, a cleric and a law court sitting opposite him, hated him for that look. The young man asked him for a light and entered into a conversation with him and even pushed against him to make him feel that he was not a thing but a person. But Fransky gazed at him exactly as he did at the lamp, and the young man made a rye face, feeling that he was losing his self-possession under the oppression of this refusal to recognize him as a person. Fransky saw nothing and no one. He felt himself a king, not because he believed that he had made an impression on Anna, he did not yet believe that, but because the impression she had made on him gave him happiness and pride. What would come of it all he did not know, he did not even think. He felt that all his forces, his or two dissipated, wasted, were centered on one thing, and bent with fearful energy on one blissful goal, and he was happy at it. He knew only that he had told her the truth, that he had come where she was, that all the happiness of his life, the only meaning in life for him, now lay in hearing and seeing her. And when he got out of the carriage at Bolagova to get some seltzer water, and caught sight of Anna, involuntarily his first word had told her just what he thought, and he was glad he had told her it, that she knew it now and was thinking of it. He did not sleep all night. When he was back in the carriage he kept unceasingly going over every position in which he had seen her, every word she had uttered, and before his fancy making his heart faint with emotion floated pictures of a possible future. When he got out of the train at Petersburg he felt after his sleepless night, as keen and fresh as after a cold bath. He paused near his compartment, waiting for her to get out. Once more he said to himself, smiling unconsciously, once more I shall see her walk, her face. She will say something, turn her head, glance, smile maybe. But before he got sight of her he saw her husband, whom the station master was deferentially escorting through the crowd. Ah, yes, the husband. Only now for the first time did Vronsky clearly realize the fact that there was a person attached to her, a husband.  Seeing Alexei Alexandrovich with his Petersburg face and severely self-confident figure, in his round hat with his rather prominent spine, he believed in him and was aware of a disagreeable sensation, such as a man might feel tortured by thirst, who, unreaching a spring, should find a dog, a sheep, or a pig, who is drunk of it and muddied the water. Alexei Alexandrovich's manner of walking, with a swing of the hips and flat feet, particularly annoyed Vronsky, he could recognize in no one but himself an indubitable right to love her. But she was still the same, and the sight of her affected him the same way, physically reviving him, stirring him and filling his soul with rapture. He told his German valet who ran up to him from the second class to take his things and go on, and he himself went up to her. He saw the first meeting between the husband and wife and noted with a lover's insight the signs of slight reserve with which she spoke to her husband. No, she does not love him and cannot love him. He decided to himself. At the moment when he was approaching Anna Arkadyevna he noticed, too, with joy that she was conscious of his being near, and looked round, and seeing him, turned again to her husband. You passed a good night, he asked, bowing to her and her husband together, and leaving it up to Alexei Alexandrovich to accept the bow on his own account, and to recognize it or not as he might see fit. Thank you, very good, she answered. Her face looked weary, and there was not that play of eagerness in it, peeping out in her smile and her eyes, but for a single instant as she glanced at him there was a flash of something in her eyes, and although the flash died away at once he was happy for that moment. She glanced at her husband to find out whether he knew Fronsky. Alexei Alexandrovich looked at Fronsky with displeasure, vaguely recalling who this was. Fronsky's composure and self-confidence here struck like a sigh against a stone upon the cold self-confidence of Alexei Alexandrovich. Count Fronsky said, Anna. Ah, we are acquainted, I believe, said Alexei Alexandrovich, indifferently, giving his hand. You set off with the mother and you returned with the son, he said, articulating each syllable as though each were a separate favour he was bestowing. You're back from leave, I suppose, he said, and without waiting for a reply he turned to his wife in his jesting tone. Well, were great many tears shed at Moscow at parting. By addressing his wife like this he gave Fronsky to understand that he wished to be left alone, and turning slightly towards him he touched his hat, but Fronsky turned to Anna Arkadyevna. I hope I may have the honour of calling on you, he said. Alexei Alexandrovich glensed with his weary eyes at Fronsky. Delighted, he said coldly, on Monday's work home. Most fortunate, he said to his wife, demissing Fronsky altogether, that I should have just half an hour to meet you so I can prove my devotion. He went on in the same jesting tone. You lay too much stress on your devotion for me to value it much, she responded in the same jesting tone, involuntarily listening to the sound of Fronsky's steps behind them. But what has it to do with me, she said to herself? And she began asking her, husband, how Seryosha had gone on without her. Oh, capitally! Mariette says he's been very good. And I must disappoint you, but he has not missed you as your husband has. But once more, merci, my dear, for giving me a day. Our dear Samovar will be delighted. He used to call the Countess Lydia Ivanovna, well known in society, a Samovar, because she was always bubbling over with excitement. She's been continually asking after you. And do you know, if I may venture to advise you, you should go and see her today. You know how she takes everything to heart. Just now, with all her own cares, she's very anxious about the Blonskys being brought together. The Countess Lydia Ivanovna was a friend of her husbands, and the center of that one of the coteries of the Petersburg world with which Anna was through her husband in the closest relations. But you know I wrote to her. Still to want to hear details, go and see her, if you're not too tired, my dear. Well, Condrati will take you in the carriage, while I go to my committee. I shall not be alone at dinner again." Alexei Alexandrovich went on, no longer in a sarcastic tone. You wouldn't believe how I've missed. And with a long pressure of her hand and a meaning smile, he put her in her carriage. CHAPTER XXXII Anna at home was her son. He dashed down the stairs to her in spite of the governess's call, and with desperate joy shrieked, Mother, mother! Running up to her he hung on her neck. I told you it was mother, he shouted to the governess, I knew. And her son, like her husband, aroused in Anna a feeling akin to disappointment. She had imagined him better than he was in reality. She had to let herself drop down to the reality to enjoy him as he really was. But even as he was, he was charming, with his fair curls, his blue eyes, and his plump graceful little legs, and tightly pulled up stockings. Anna experienced almost physical pleasure in the sensation of his nearness, and his caresses, and moral soothing when she met his simple confiding and loving glance, and heard his naive questions. Anna took out the presents Dolly's children had sent him, and told her son what sort of a little girl was Tanya and Musko, and how Tanya could read and even taught the other children. Why, am I not so nice as she asked, Sarayosha? To me you're nicer than anyone in the world. I know that, said Sarayosha, smiling. Anna had not had time to drink her coffee when the Countess Lydia Ivanovna was announced. The Countess Lydia Ivanovna was a tall, stout woman with an unhealthily sallow face, and splendid, pensive black eyes. Anna liked her, but today she seemed to be seeing her for the first time with all her defects. Well, my dear, so you took the olive branch, inquired Countess Lydia Ivanovna, as soon as she came into the room. Yes, it's all over, but it was all much less serious than we had supposed, answered Anna. My bell sure is in general too hasty. But Countess Lydia Ivanovna, though she was interested in everything that did not concern her, had a habit of never listening to what interested her. She interrupted Anna. Yes, there's plenty of sorrow and evil in the world. I'm so worried to-day. Oh, why? asked Anna, suppressing a smile. I'm beginning to be weary of fruitlessly championing the truth, and sometimes I'm quite unhinged by it. The society of the little sisters—this was a religiously patriotic philanthropic institution—was going splendidly. But with these gentlemen it's impossible to do anything, added Countess Lydia Ivanovna, in a tone of ironical submission to destiny. They pounced on the idea, and distorted, and then worked it out so petally, and unworthily. Two or three people, your husband among them, understand all the importance of the thing, but the others simply drag it down. Yesterday Pravdeen wrote to me—Pravdeen was a well-known pen slavest abroad—and Countess Lydia Ivanovna described the purport of his letter. Then the Countess told her of more disagreements and intrigues against the work of the unification of the churches, and departed in haste, as she had that day to be at the meeting of some society and also at the Slavonic committee. It was all the same before, of course, but why was it I didn't notice it before? Anna asked herself. Or has she been very much irritated to-day? It's really ludicrous. Her object is doing good. She's a Christian, yet she's always angry, and she always has enemies, and always enemies in the name of Christianity and doing good. After Countess Lydia Ivanovna another friend came—the wife of the chief secretary, who told her all the news of the town. At three o'clock she too went away, promising to come to dinner. Alexei Alexandrovich was at the ministry. Anna, left alone, spent the time till dinner in assisting at her son's dinner. He dined apart from his parents, and in putting her things in order, and in reading and answering the notes and letters which had accumulated on her table. The feeling of causeless shame, which she had felt on the journey, and her excitement, too, had completely vanished. In the habitual conditions of her life she felt again resolute and irreproachable. She recalled with wonder her state of mind on the previous day. What was it? Nothing. Fransky said something silly, which it was easy to put a stop to, and I answered as I ought to have done. To speak of it to my husband would be unnecessary and out of the question. To speak of it would be to attach importance to what has no importance. She remembered how she had told her husband of what was almost a declaration made her at Petersburg by a young man—one of her husband's subordinates. And how Alexei Alexandrovich had answered that every woman living in the world was exposed to such incidents. But that he had the fullest confidence in her tact, and could never lower her and himself by jealousy. So then there's no reason to speak of it. And indeed, thank God there is nothing to speak of. She told herself. End of CHAPTER XXXII Alexei Alexandrovich came back from the meeting of the ministers at four o'clock, but as often happened he had not time to come into her. He went into his study to see the people waiting for him with petitions, and to sign some papers brought him by his chief secretary. At dinnertime there were always a few people dining with the Karenins. There arrived an old lady, a cousin of Alexei Alexandrovich, the chief secretary of the department, and his wife, and a young man who had been recommended to Alexei Alexandrovich for the service. Anna went into the drawing-room to receive these guests. Precisely at five o'clock, before the bronze Peter the first clock had struck the fifth stroke, Alexei Alexandrovich came in, wearing a white tie and evening coat with two stars as he had to go out directly after dinner. Every minute of Alexei Alexandrovich's life was portioned out and occupied, and to make time to get through all that lay before him every day, he adhered to the strictest punctuality. Unhasting and unresting was his motto. He came into the dining-hall, greeted everyone, and hurriedly sat down smiling to his wife. Yes, my solitude is over. You wouldn't believe how uncomfortable." He laid stress on the word uncomfortable. It is to dine alone. At dinner he talked a little to his wife about Moscow matters, and with a sarcastic smile asked her after Stepan Arkadievich, but the conversation was, for the most part, general, dealing with Petersburg official and public news. After dinner he spent half an hour with his guests, and again with a smile pressed his wife's hand, withdrew, and drove off to the council. Anna did not go out that evening, either to the Princess Betsy Stervetskaya, who, hearing of her return, had invited her, nor to the theatre where she had a box for that evening. She did not go out principally because the dress that she had reckoned upon was not ready. All together, Anna, unturning, after the departure of her guests to the consideration of her attire, was very much annoyed. She was generally a mistress of the art of dressing well without great expense, and before leaving Moscow she had given her dressmaker three dresses to transform. The dresses had to be altered so that they could not be recognized, and they ought to have been ready three days before. It appeared that two dresses had not been done at all, while the other one had not been altered as Anna had intended. The dressmaker came to explain, declaring that it would be better, as she had done it, and Anna was so furious that she felt ashamed when she thought of it afterwards. To regain her serenity completely she went into the nursery, and spent the whole evening with her son, put him to bed herself, signed him with the cross, and tucked him up. She was glad she had not gone out anywhere, and had spent the evening so well. She felt so light-hearted and serene. She saw so clearly that all that had seemed to her so important on her railway journey was only one of the common trivial incidents of fashionable life, and that she had no reason to feel ashamed before anyone else or before herself. Anna sat down at the hearth with an English novel and waited for her husband. Exactly at half-past nine she heard his ring, and he came into the room. Here you are at last, she observed, holding out her hand to kiss. He kissed her hand and sat down beside her. All together then I see their visit was a success, he said to her. Oh, yes, she said, and she began telling him about everything from the beginning—her journey with Countess Franscaya, her arrival, the accident at the station—then she described the pity she had felt first for her brother and afterwards for Dolly. I imagine one cannot exonerate such a man from blame, though he is your brother, said Alexei Alexandrovich severely. Anna smiled. She knew that he said that simply to show that family considerations could not prevent him from expressing his genuine opinion. She knew that characteristic in her husband, and liked it. I'm glad it has all ended so satisfactorily, and that you are back again. He went on. Come, what did they say about the new act I've got passed in the Council? Anna had heard nothing of this act, and she felt conscious stricken at having been able so readily to forget what was to him of such importance. Here on the other hand it has made a great sensation, he said, with a complacent smile. She saw that Alexei Alexandrovich wanted to tell her something pleasant to him about it, and she brought him by questions to telling it. With the same complacent smile he told her of the ovations he had received in consequence of the act he had passed. I was very, very glad. It shows that at last a reasonable and steady view of the matter is becoming prevalent among us. Having drunk his second cup of tea with cream and bread, Alexei Alexandrovich got up and was going toward his study. You've not been anywhere this evening? You've been dull, I expect, he said. Oh, no, she answered, getting up after him and accompanying him across the room to his study. What are you reading now? She asked. Just now I'm reading Duc de Lyu, Poissy d'Enferres. He answered. A very remarkable book. Anna smiled, as people smile at the weaknesses of those they love, and putting her hand under his she escorted him to the door of the study. She knew his habit that had grown into necessity of reading in the evening. She knew, too, that in spite of his official duties, which swallowed up almost the whole of his time, he considered it his duty to keep up with everything of note that appeared in the intellectual world. She knew, too, that he was really interested in books dealing with politics, philosophy, and theology, that art was utterly foreign to his nature, but in spite of this, or rather in consequence of it, Alexei Alexandrovich never passed over anything in the world of art, but made it his duty to read everything. She knew that in politics, in philosophy, in theology, Alexei Alexandrovich often had doubts and made investigations. But on questions of art and poetry, and above all of music, of which he was totally devoid of understanding, he had the most distinct and decided opinions. He was fond of talking about Shakespeare, Ravel, Beethoven, of the significance of new schools of poetry and music, all of which were classified by him with very conspicuous consistency. "'Well, God be with you,' she said, at the door of the study, where a shaded candle and a decanter of water were already put by his armchair. "'And I'll write to Moscow.' He pressed her hand and again kissed it. "'All the same he's a good man, truthful, good-hearted, and remarkable in his own line,' Anna said to herself, going back to her room, as though she were defending him to someone who had attacked him and said that one could not love him. But why is it his ears stick out so strangely? Or has he had his hair cut?' Precisely at twelve o'clock, when Anna was still sitting at her writing-table, finishing a letter to Dolly, she heard the sound of measured steps in slippers, and Alexei Aleksandrovich freshly washed and combed with a book under his arm came into her. "'It's time, it's time,' said he with a meaning smile, and he went into their bedroom.' "'And what right had he to look at him like that?' thought Anna, recalling Vronsky's glance at Alexei Aleksandrovich. Undressing, she went into their bedroom.  On the contrary, now the fire seemed quenched in her, hidden somewhere far away." CHAPTER XXXIV of Anna Karenina, read for LibriVox.org by Kirsten Ferreri. When Vronsky went to Moscow from Petersburg he had left his large set of rooms in Morskaya to his friend and famous comrade Petritsky. Petritsky was a young lieutenant, not particularly well connected and not merely not wealthy but always hopelessly in debt. Towards evening he was always drunk, and he had often been locked up after all sorts of ludicrous and disgraceful scandals, but he was a favorite both of his comrades and his superior officers. On arriving at twelve o'clock from the station at his flat, Vronsky saw at the outer door a hired carriage familiar to him. While still outside his own door as he rang he heard masculine laughter, the lisp of a feminine voice, and Petritsky's voice. That's one of the villains. Don't let him in." Vronsky told the servant not to announce him, and slipped quietly into the first room. Baroness Shilton, a friend of Petritsky's, with a rosy little face and flaxen hair, resplendent in a lilac satin gown and filling the whole room like a canary with her perigian chatter, sat at the round table making coffee. Petritsky in his overcoat and the cavalry captain Khamarovsky in full uniform probably just come from duty were sitting each side of her. Bravo, Vronsky, shouted Petritsky, jumping up, scraping his chair. Our host himself, Baroness, some coffee from him out of the new coffee-pot. Why, we didn't expect you. Hope you're satisfied with the ornament of your study, he said, indicating the Baroness. You know each other, of course."  "'What next? I'm an old friend.' "'Your home after a journey,' said the Baroness. "'So I'm flying. Oh, I'll be off this minute if I'm in the way.' "'Your home wherever you are, Baroness,' said Vronsky. "'How do you do, Khamarovsky?' he added, coldly shaking hands with Khamarovsky. "'There, you never know how to say such pretty things,' said the Baroness, turning to Petritsky. "'No, what's that for? After dinner I say things quite as good.' "'After dinner there's no credit in them.  "'Pierre, give me the coffee,' she said, addressing Petritsky, whom she called Pierre as a contraction of his surname, making no secret of her relations with him. "'I'll put it in. "'You'll spoil it?' "'No, I won't spoil it.' "'Well, and your wife,' said the Baroness suddenly, interrupting Vronsky's conversation with his comrade, "'we've been marrying you here. Have you brought your wife?' "'No, Baroness, I was born a Bohemian and a Bohemian I shall die.' "'So much the better. So much the better. Shake hands on it.' And the Baroness, detaining Vronsky, began telling him with many jokes about her last new plans of life, asking his advice. He persists in refusing to give me a divorce. Well, what am I to do?' He was her husband. Now I want to begin a suit against him. What do you advise? Kamarovsky, look after the coffee. It's boiling over. You see, I'm engrossed with business. I want a lawsuit, because I must have my property. Do you understand the folly of it? That on the pretext of my being unfaithful to him, she said contemptuously, he wants to get the benefit of my fortune?' He heard with pleasure this light-hearted prattle of a pretty woman, agreed with her, gave her half-joking counsel, and altogether dropped at once into the tone habitual to him in talking to such women. In his Petersburg world all people were divided into utterly opposed classes.  That a girl should be innocent, a woman modest, and a man manly, self-controlled, and strong. One ought to bring up one's children, earn one's bread, and pay one's debts. And various similar absurdities. This was the class of old-fashioned and ridiculous people. But there was another class of people, the real people. To this class they all belonged.  For the first moment only, Voronsky was startled after the impression of a quite different world that he had brought with him from Moscow. But immediately as, the slipping his feet into old slippers, he dropped back into the light-hearted, pleasant world he had always lived in. The coffee was never really made, but spluttered over everyone and boiled away, doing just what was required of it, that is providing much cause for much noise and laughter, and spoiling a costly rug and the Baroness's gown. Well now, good-bye, or you'll never get watched, and I shall have on my conscience the worst sin a gentleman can commit, so you would advise a knife to his throat. To be sure, and manage that your hand may not be far from his lips, he'll kiss your hand and all will end satisfactorily," answered Voronsky. So at the Francaise, and with a rustle of her skirts, she vanished. Kamrovsky got up, too, and Voronsky, not waiting for him to go, shook hands, and went off to his dressing-room. While he was washing, Patritsky described to him in brief outlines his position, as far as it had changed since Voronsky had left Petersburg. No money at all. His father said he wouldn't give him any and pay his debts. Taylor was trying to get him locked up, and another fellow, too, was threatening to get him locked up. The Colonel of the Regiment had announced that if these scandals did not cease, he would have to leave. As for the Baroness, he was sick to death of her, especially since she'd taken to offering continually to lend him money. But he had found a girl—he'd show her to Voronsky—a marvel, exquisite, in the strict Oriental style—genre of the slave Rebecca, don't you know? He'd had a row, too, with Berkeshov, and was going to send seconds to him, but of course it would come to nothing. All together everything was supremely amusing and jolly. And not letting his comrade enter into further details of his position, Patritsky proceeded to tell him all the interesting news. As he listened to Patritsky's familiar stories and the familiar setting of the rooms he had spent the last three years in, Voronsky felt a delightful sense of coming back to the careless Petersburg life that he was used to. Impossible he cried, letting down the pedestal of the washing-basin in which he had been sowsing his healthy red neck. Impossible he cried, at the news that Laura had flung over Fertinkov and had made up to meleaf.  Well, and how's Bazulikov? Oh, there's a tale about Bazulikov, simply lovely, cried Patritsky. You know his weakness for balls, and he never misses a single court ball. He went to a big ball in a new helmet. Have you seen the new helmet? It's very nice, lighter. Well, so he's standing. No, I say it, do listen. I am listening, answered Voronsky, rubbing himself with a rough towel. Up comes Grand Duchess, with some ambassador or other, and as ill luck would have it, she begins talking to him about the new helmets. The Grand Duchess positively wants to show the new helmet to the ambassador. They say our friend's standing there. Patritsky mimicked how he was standing with the helmet. The Grand Duchess asked him to give her the helmet. He doesn't give it to her. What do you think of that? Well, everyone's winking at him, nodding, frowning. Give it to her. Do. He doesn't give it to her. He's mute as a fish. Only picture it. Well, the—what's his name? Whatever he was—tries to take the helmet from him. He won't give it up. He bows it from him and hands it to the Grand Duchess. Here Your Highness says he is the new helmet. She turned the helmet the other side up and—just picture it—plop went a pair and sweet-meats out of it—two pounds of sweet-meats—he'd been storing them up, the darling. Fronsky burst into roars of laughter, and long afterwards, when he was talking of other things, he broke out into his healthy laugh, showing his strong, close rows of teeth when he thought of the helmet. Having heard all the news, Fronsky, with the assistance of his valet, got into his uniform and went off to report himself. He intended, when he had done that, to drive to his brothers and to Betsy's and to pay several visits, with a view to beginning to go into that society where he might meet Madame Karenina. As he always did in Petersburg, he left home not meaning to return till late at night. End of CHAPTER XXXIV. This recording is in the public domain.