I hope you enjoyed the cheesecake and put you to sleep. I'm a back-end engineer at Heroku. And I'm talking about how you can add knobs, buttons and switches to your application to make it alter its behavior when things go wrong. We've all seen applications that can keel right over when a single unimportant service is down. So let's not have that be you. They're airplanes from the flight deck and I have fond memories of Captain Kirk yelling every week to divert power to the shields. This talk is about what kinds of levers you should have for operating your application when the going gets tough. I want you to feel like when you're on call you have that level of control over your application. So this means that this talk is about application resilience but it's only one part of the topic. This is what I call the just right talk for the, well not just right fires, but it is not about the baby fires. These are your casual everyday failures. No one action that you take on behalf of a customer has a 100% chance of succeeding. Maybe they provided bad data. Maybe there's some conflicting state whether that's between you and another service or between two other dependent services. Maybe that customer has found a particular race condition or you've hit a network blip. Whatever the reason that request and many others like it may not succeed but those are not what I'm talking about today. So this talk assumes that you have functionality for retrying requests, unwinding multi-step actions when you hit a snag six steps in. I've talked about those strategies at a previous Rails Conf and I want to highlight them because they will probably give you more bang for your buck depending on where you're at. I'm also not talking about disaster recovery scenarios. Those business ending terrible horrific catastrophic events, something like I am sorry, your database is gone, all backups have been lost and aliens have abducted all of US East. Good luck. So while this is the just right talk, it may be more useful for you at this moment to work on failures that are happening quietly right now or to plan for the ones that you hope will never happen but might end your business. And while this is the just right talk, the entire talk may not be just right for you. I've been lucky enough to work at companies that care deeply about providing a great, reliable and resilient customer experience but how we provided those services to customers reflects what we value. When you have to make a difficult choice about what you choose to do under bad situation or under bad circumstances, that choice is very particular to the size of application, your customer base and your product. So you may end up asking your product people, even your business owners, what do you want me to do in this situation? So what am I talking about? I'm talking about strategies that can help you shed load, fail gracefully, protect struggling services and we'll talk about these seven tools that will help you do that. I'll go into some implementation details for each and then I'll give you some buyer beware warnings at the end. So let's jump right in. The first tool I wanna talk about is maintenance mode. Going into maintenance is your hard nope, your fail whale. It should have a clear consistent message with a link to your status page. And most importantly, it should be really easy to switch on. At Heroku, we have this implemented as an environment variable. The key thing here is that it's one button you can press and not a series of levers and dials. You should not have to follow a very long playbook in order to get this working for you. The next one I wanna talk about is read-only mode. So most pieces of software affect, they exist to affect some sort of change in another system. I'm guessing for most of us, since it is RailsConf, that work that our application performs is to alter a relational database. But it could be any series of things. Think about what your application does for users. Whether that's store data in database, transform files, upload them into a file store or for us, if Raghu launched containers on EC2 instances. Once you have an idea of what your application is modifying, think about what you can do if you can't modify that. What questions can you answer? Some of you may be operating a very narrowly scoped service and the answer may be nothing and that's fine. This is not the tool for you. But if you're at the classic Rails blog size, maybe larger, this can be very useful. Most people probably just want to read your blog. They don't want to alter it. They're not publishing. And then for my job currently, the primary application I work on has a variety of disparate services. So we need finer grain tools. So this is not quite the tool for us but it's a good first step. Again, the way we would probably implement this is through an environment variable. And that's mostly just because it would have similarity to the maintenance mode. But consider what tool you want to use and use it consistently. Next, feature flags. So feature flags can be used for more than just new features. They can allow you to provide a controlled experience when part of your app isn't working. So imagine what if billing or selling new things was a new feature flag for you? There are different levels of feature flags that we find useful. First is the individual feature flag. This probably isn't very helpful for you during an incident. Hopefully your incidents aren't called just for one user. There's the global level application-wide. So as I mentioned, what if billing globally was a feature? For us that might be also like freezing modifications to all the containers we're running for customers. But what we really find useful is the group level. So at Heroku, we run user's applications on our platform. So for us, the most relevant groups are usually groups of applications running in a particular region. They might also be groups of applications written in Go or Ruby. You'll want to think about what groupings are meaningful for your business because it really ends up being a combination of what you want to control and who your users really are. So the way we implement this is we have a class that can answer these questions about current application state. This could be a normal active record model talking to a relational database. For us, that is currently what this particular class does talk to. It does talk to our database. But that's not necessarily the right choice for you. This model could be backed by talking to Redis. It could be talking to an in-memory cache. Of course, an in-memory cache would mean that for each different web process, it would have different application state which might be more complicated than you want. One of the most interesting options I could think of was curling a file named billing enabled in a particular S3 bucket. If that is what you need to do in order to make sure that this check doesn't fail when the thing you're trying to handle the failure of also fails. Sorry, too many failures in that sentence. But you would want to choose something that is going to be able to answer the question of am I down if the thing you're trying to control is also down. For groups, so the previous one we looked at was billing enabled. And this right now would be looking at the setting for billing for REU customers. So for groups, I really recommend having one switch for an entire group. It may seem silly to have these strings, just tons of them. And this may not be your experience, but at 2 a.m. we find that strings really are easier to copy and paste rather than trying to instantiate an application setting model for billing and then say that it's for the U.S. group and then toggle the enabled flag. Just a string works a little bit better for us. And really gives us more confidence that when we ask what the currents say the application is, we know exactly what we're getting. Next I want to talk about rate limits. So rate limits protect you from disrespectful and malicious traffic, but they can also help you shed load. So if you need to drop half of your traffic to stay up you should drop half your traffic. Your customers that respectful traffic they may have to try two or three times to get a particular request through. But if they keep trying they'll be able to do what they need to do. We see this strategy from AWS all the time. When we understand that we are in that state that they are rejecting a fair number of requests because they are under some sort of load we start behaving in a way that is helpful to them and to us. We stop sending excess traffic and we start repeating our single most important request to them. And then our second most important request eventually gets through. Eventually that most important request to them will be accepted by them. And during that period we won't have been sending them tons and tons of traffic. Rate limits can also help you protect access to your application from other parts of the business that rely on you. Oftentimes the single application that a user sees is actually a mesh of a sort of different services all acting together to create a single user experience. And while perhaps you can, I mean you absolutely can make that internal system function when other parts of it are down it can be easier to just really try to protect that preferred traffic in addition to the strategies here which will help you stay up even if parts do go down. So if you can prefer your internal traffic it can help continue to present that unified front to customers and keep you looking up for longer. So we implement rate limits as a combination of two different kinds of levers. Single default and many modifiers for user accounts. And we find that this gives us the flexibility to provide certain users the rate limits that they need while at the same time retaining a single control for how much traffic we are able to handle at any one point. So where we start is again an application setting. This is a global default of a rate limit. Here we're saying it's 100 requests per minute. Hopefully we can handle more than that but let's just say that for easy math. And we have our customer here. Our customer starts with a modifier of one. And what this means is that to determine the customer's rate limit we will multiply the default 100 by their modifier of one. Which results in a rate limit as you might expect. Yep. Sorry, there we go. Of 100 requests per minute. Now let's say this customer writes in and says, hey, I really have these legitimate reasons that I need twice as much traffic. We say great. We'll bump you up to two. To a modifier of two, which means at the end of the day they get a rate limit of 200 requests per minute. Sometime later we end up under a lot of load and we're not able to keep up. And we make the tough choice to say, hey, we need to cut our traffic. And so we cut the default rate by half. So this used to be 100, we're now at 50. But what this means is that all of our customers, all of our accounts actually, including the preferred internal accounts can in one setting be cut in half. So our customer here is back at 50% of her rate limit, 100 requests per minute. But that's still a little bit above or significantly above the default. So it allows us to rapidly cut traffic coming in without having to run a script over every single user to adjust their rate limit. I should mention that depending on your application, you may want to consider doing cost-based rate limiting. That may be a far better choice instead of doing request-based rate limiting. So in cost-based rate limiting, you're going to charge a user a number of tokens depending on the length of their request so that they can't call your really slow endpoints as frequently as your blazing fast endpoints. This is helpful if you're doing request-based rate limiting and then you drop your users to maybe 50% of normal traffic but they're still hitting that one horribly unperformant reporting endpoint because it's the end of the month and everybody needs their stuff. You could still be under excess load and you might want to consider cost-based limits if you have a lot of reporting endpoints that really tax your application at particular times. Finally, it may seem counter-intuitive but the more complex the algorithm for rate limiting, the worse off you will be for denial of service tax. The more computation time it takes for you to say that you can't process a request, the worse off you are when you're dealing with a flood of requests. This is no reason to not implement some complex rate limiting if you need it but it is a reason to make sure you have other layers in place to handle distributed denial of service attacks and honestly even the denial of service attacks that happened by mistake when someone just makes a, deploys a bug and you're getting hit over and over again. Next, stopping non-critical work. So let's say you're hitting limits on your database, maxing out your compute, hitting the limits of some other dependent service. You should be able to stop any reports, any cleaners, any jobs that are making this worse that don't have to happen in the next hour or may don't have to happen in the next four hours. You should be able to just turn them off. So how do we do this? So like application setting, we have report setting as a model here. Similarly, it takes a string and what we do is we make sure that every report, every job checks to make sure that it is enabled before it runs. So let's look at a quick code example. So let's say we have a monthly user report and that responds to a run method and it's gonna do something. Who knows what it does but it has a decent chance of being very intensive. All right, so before we do any work, we're gonna check to make sure that we're enabled. For our monthly user report, we're going to implement a method called enabled. We're going to check report setting and see if this particular report is enabled at this time. But let's make this a little more general. So let's make your monthly user report inherit from report. And then let's say monthly user report is really just responsible for building itself. It doesn't know much else. It's not really gonna be responsible for knowing where it's gonna run, whether it should run, it just can build its report.  So it knows how to respond to run and it can figure out if its child class is enabled. So it's really useful for reports and jobs. Having this just standard means that anytime a user creates a new job, it is by default able to be enabled or disabled with one change. Two, in our case, the database, but Redis, that S3 bucket, whatever you wanna do. So next, known unknown. So I am confident that all of you have never shipped non-performant code, ever. But I definitely have. The SQL that you're shipping, they don't know how it will perform for your biggest customers. That you might wanna have it under control if it does go haywire. We've plenty of new features that go out that we think are fine. We've done as much testing as we think is reasonable, but there's still the hair on the back of your neck. So if you're scared of it, put a flag around it. If it's a new feature, we'll put it in a feature flag. It's pretty straightforward and we covered that a little bit already. But if it's a refactor, we usually have anything scary go out within GitHub's scientist gem. So using scientists allows us to gradually roll out changes, refactors, but it also allows us to enable or disable the experimental code immediately if we see any problems. And the great thing is because it's so fast to disable, we can do it even before we're 100% confident that this is what's causing issues. And the beautiful thing about having so many things configurable is if you have a little bit of doubt, you can just turn it off. And we find that eliminating those rabbit holes, things that might take one person an hour during an incident to look into to prove that that's not it, is really helpful. We all have biases that, you know, I know that person's code, that's not gonna be preferred. Like that has to be it. Well, maybe it's just that a change went out right at the time that you saw the issue. Being able to turn suspect things off is a really great tool to moving you closer to the real problem faster. Finally, I wanna talk about circuit breakers. So circuit breakers allow you to be nice to the services that you depend on. They allow you to be a good neighbor. They allow you to not break them. And they allow you to not swamp those services as they're just recovering. So circuit breakers typically are responsive shutoffs. So responsive shutoffs, look at all the calls you're making to a particular service. And they can be configured to look at particular metrics. So whether that is the number of timeouts over the course of five minutes or maybe it's a 50% error rate over 10 minutes. Whatever you've configured them to look for, responsive shutoffs can automatically kick in and back off any calls to those services. That gives those dependent services or services you're depending on time to recover, but it also frees up your web processes to not spend the time calling down to a service that is most likely failing. Responsive shutoffs work far faster than any monitoring service. They can go through paging your on-call person, getting them awake, getting them on their computer, and then having them look up the right playbook and then take action. So the hope is that by the time you page in the on-call person, the responsive shutoff has already kicked in and you're in a better failure mode. But you can also use circuit breakers in a hard or a manual shutoff. So this would help you specifically keep traffic away from a struggling service. In some cases, you might want to allow high latency. Let's say, maybe you have a 29-second request to a service every once in a while. You don't want that kind of request to trip the circuit breaker, but that does mean that if that service is in a high latency state where it's taking 29 seconds to respond to every single one of your requests, that means you're probably grinding to a halt since your web workers are going to be tied up, trying to resolve those downstream calls on behalf of your customers and not servicing the massive backlog of requests that you have coming in. So in that case, while you wouldn't want a circuit breaker to automatically trip, you may want to manually turn it off. The other nice thing, or the other use for these manual shutoffs is a misbehaving service. This is usually for internal services where engineers can be a little more honest with each other. If you have an internal service that's responding 204 and you know it's just dropping requests on the floor, a 503 error can actually be better for your customers than allowing those two services to drift out of state or telling your customers that something's gonna happen and it never does. So these would work in a similar way that our monthly billing report worked. In the same way that monthly billing report inherited from a report class, our billing service client would inherit from a client class that would set up by default circuit breakers for any of its children and would keep track of those individual circuits, again backed by anything you want, whether that is in memory state, shared cash, data store. There are a number of good circuit breaker gems out there that you can just include and will have support for this. And so I won't get into implementation too much just because please go read their readme's, they're lovely. With all these approaches, I would highly recommend writing tools to manage these circuit breakers that do not assume a developer typing into a production console as I have here. A case in point, how many of your on-call engineers know and remember enough about electrical engineering at 2 a.m. to confidently remember whether open means sending requests or not? If you watch me giving this talk at RubyConf Australia, these will be flipped because I did not remember. So in this case, a circuit being open would mean that communication to the service is closed. So I would highly recommend writing a tool that allows your on-call engineers to see whether service is off and turn it off or on or some other vocabulary that is universal and hard to misconstrue, hopefully not at 2 a.m. but if needed at 2 a.m. All right, so I wanna talk a little bit about implementation. With all these buttons and switches, you really want to consider carefully how you form them and where you store their state. You have a number of options, some of which I've listed here, you can store them in a relational database, a data caching layer, in environment variables, you can even have them in your code as a last resort if you think that a way to control for failure is a deploy, then absolutely, have a place in your code that it has a comment that says, hey, change this line and then push it out to production as quickly as you can. For us, we're a deployment platform running on a deployment platform, so usually that option is not available to us. But it gets at this point of consider whether flipping a switch would require access to a component that could be down in a way that you would want to use the switch to control. So it doesn't require access to a running production server and what happens if you can't communicate to the running production server? How might you change the behavior of your application if you can't deploy changes? If you have immutable infrastructure that might mean environment variables are totally out of the question for handling certain failure cases. One of the reasons why we rely so heavily on databases for storing our application state is because we have high confidence that our wonderful Postgres team, thank you, Gabe, will be able to get us access to the database in order to manually run SQL statements to flip certain bits. And in many cases, that would be how, instead of the lovely Ruby code, in many cases our failure states would end up being us running SQL in order to flip a switch to allow our running, still running, but behaving poorly application to discover those changes. So a final note is to really consider how much work it would take to figure out if a switch is flipped or not. Because in general, the fancier and more sophisticated your switch is, the more likely it is to become part of the problem or to confuse your engineers such that it is eventually the entire problem.  First is about visibility. So you remember this picture? Yeah, so we've built a lot of knobs and switches in this talk, but you haven't actually seen a dashboard. That's because you'll need to build one, whether it has a lot of pretty graphics or just command line output. Having something that can pull the different places where you're storing the state for your buttons and switches and combining it into one comprehensible place is really important for incident operations. Clearly understandable is not a bar that we meet at the moment, but we can discover the state of every single switch, even if it's just, it's way too much output, but we're working on that. Next, does it actually work? How many of you have tested your smoke detectors in the last month? Excellent, all right, congrats, game. You may end up being surprised at your dependencies, and more interestingly, you may actually be surprised at the dependencies that your dependencies have, especially if you're working with vendors, they might be running on the same infrastructure that you are. So if it's a critical switch, perform game days. You really don't have the confidence to know that it will work until you've really tried it. Of course, with that mention of vendors, like you can try to turn off certain things, but if you don't have complete confidence about what other people's work is built on, it can be really hard to kind of tease out what exactly you need to turn off in order to simulate a complete outage of a particular component. So this leads me to my next and final point. Really trading knowledge for control here. The more configurable you make your application at runtime, the less confident you can be that it will work in predictable ways. Have you tested for this user when flagged into three things, flagged out of two, and with a service shut off? I'm guessing not, and if you did test that, I'm questioning the size of your test suite. And more than just unit tests, keeping production staging and development environments in the same state has been a problem for many of the teams that I've worked on and I don't know of a good solution. And yet while you are trading knowledge for control, I'd still take this deal any day. I'd rather have control over my app to mitigate issues than to know confidently the exact and particular way that my app is down and have no way to do anything about it. So that, thank you. I hope that this has given you some ideas about ways you can make your application a little bit more resilient to the fires you inevitably will see. I do work at Heroku, we have two lovely other speakers. Stella starts tomorrow morning, right after the keynote, followed up by Gabe. So if you wanna learn about using Kafka in Rails or Postgres 10 is gonna make your live awesome, please check us out there and obviously come by our booth which opens tomorrow as well. So thank you and I am happy to take questions for seven-ish minutes or have y'all disbursed. Yes, yep, yep, yep. So the question is, when do we start thinking about adding in a new knob or switch? I, usually after an incident. Some of them are longer term, more thoughtful things, but yeah, at this point most of the new ones or something went wrong and we didn't have the ability to control it so we don't wanna have that happen again. Yep, how do we train new developers? I think that ties in to how do we onboard people into on-call. So we rely on a couple things, first of all, shadowing. We really do try to get people comfortable with the idea of being on-call by having them shadow on-call engineers during the day. So they're not getting any pages but they're in there, they're seeing the person's screen. We do have documentation but honestly that's like one of, if you're in a really tired state, the likelihood that you are going to think, oh, let me read through these 50 pages of documentation is next to nothing. So we really want to get people to the point that they know what they're searching for through our docs and through, I mean hopefully with a playbook, it's a little bit more directed, you know which ones you're looking for. But again, if you're in a kind of an information discovery phase during the incident process, we're probably like four or five hours in. So yeah, lots of shadowing, encouragement to read the docs and then a strong reliance on telling people they really should just page someone. As the secondary for a new person going on primary, I am more than happy to be woken up. It's just it needs to happen every once in a while and I want them to feel supported. So making sure that they are totally okay regardless of the hour and that I am relatively chipper when I am in fact paged in is really important to us. So yeah, no magical system to it but just making sure people feel confident and aware of things. Where do we store state? Okay, so as I mentioned, we primarily store state in Postgres for us and also in Redis because again, we have confidence that our data team is, just because of our infrastructure is relatively separate enough that if something catastrophic has happened to us, most likely they're gonna be able to get us in. All right, well I see people queuing at the back for the next talk so thank you very much everyone. Yeah.


Good morning 4-H'ers and families. My name is Tanya Kirkland. I am the 4-H Foundation Regional Extension Agent for Henry County. Today we're going to talk about ground water, the water cycle, and make a water cycle bracelet. Thank you for watching and I hope you enjoy. Pick up your bracelet string, tie two knots, two inches from the end to keep your beads from sliding off and making your water cycle bracelet. The first bead you'll pick up is the blue bead. The blue bead represents precipitation. Precipitation is water released from the clouds in the form of rain, freezing rain, sleet, snow, or hail. It is a primary connection in the water cycle that provides for the delivery of atmospheric water to the earth. Most precipitation falls as rain. Second, you'll pick up the black bead. The black bead represents infiltration or hydrology. Infiltration is a process by which water on the ground surface enters the soil. Anywhere in the world, a portion of the water that falls as rain or snow infiltrates into the subsurface soil and rock. Third, you'll pick up the green bead. The green bead represents transpiration. Transpiration is the process where plants absorb water through the roots and then gives off water vapor through pores and their leaves. Some of this water is returned to the air by transpiration. Fourth is the white bead. The white bead represents condensation. Condensation is a process by which water vapor in the air is changed into liquid water. Condensation is crucial to the water cycle because it is responsible for the formation of clouds. Condensation is the opposite of evaporation. Your last bead is the red bead. Red bead represents evaporation. Evaporation is the process by which water changes from a liquid to a gas or vapor. Evaporation is the primary pathway that water moves from the liquid state back into the water cycle as atmospheric water vapor. Next, you'll put on the fish. After the fish is put on, you will redo the water cycle beads. Then you'll tie two knots, two inches from the other end, and then wrap the bracelet around your arm and there you have a completed water cycle bracelet.


So, in the last two lectures of this course we will prove Reson's Metrization Theorem. So, this theorem tells us that if you put certain conditions on a topological space x then in the topology it actually comes from it. So, first we begin with some pre luminaries. So, lemma let x be a metric space and define a function d prime. So, we want to change the metric on x as follows by d prime of x comma y is equal to minimum of d of x comma y comma 1. So, here d is the metric is the metric on x. So, then d prime is a metric on x and induces the same topology as d. So, let us prove this. So, the check that d prime is a metric. So, is a metric is left as an exercise.   And since open balls of this type form a basis for the topology on x this implies that both generate the same topology. So, I mean d prime is a metric. So, it generates a topology and d is a metric. So, it generates a topology. So, a basis for the topology generated by d is given by open balls of this type and a basis for the topology generated by d prime is given by open balls of this type when r is strictly resummon. So, therefore, both these are the same and therefore, the topology is the same. So, this proves. So, let us take the real line with the standard metric and we apply this construction to this and apply the above.  Now, we will use this metric d prime. So, we will use this to define a metric on r n or index by natural numbers. So, this is the countable product. So, let me write it as x n where each x n is equal to r with the standard topology and this product has the product topology as always. So, we define the following metric. So, define d of x comma y. So, for we take two vectors x and y in this r n and we define this d as supremum among all natural numbers d prime x n comma y n divided by n. So, this supremum obviously exists because each of these d primes is less than equal to 1. So, lemma first we need to show that this actually defines a metric on r n. The function defines a metric clearly this holds this is the second condition for defining metric. This obviously holds this clear from the definition and suppose if x is equal to y then obviously, the d of x comma y is 0 and conversely if this is 0 then this implies that the supremum d prime x n comma y n by n is equal to 0. So, this implies that each of these is less than equal to 0, but that implies that d prime x n comma y n is equal to 0 which implies that x n is equal to this implies. So, we only left to prove the triangle inequality. So, this condition also holds. So, let us prove the triangle inequality. So, let we take three points. So, then we have d prime since d prime is a metric we have the usual triangle inequality and which is divided by n. So, now using supremum of a i plus b i is less than equal to supremum of a i plus supremum of b i. So, using this relation we get. So, when we take supremum over here we get d of x comma y is less than equal to d of x comma z plus d of. So, this implies that d defines it and the main theorem we will prove in this lecture is the following. This is the first step towards proving Ulysses-Meterization Theorem. So, the metric d. So, we have defined a metric on R n. So, this induces a topology on the other hand R n also has the product topology and the content of this theorem is that both these topologies are the same induces the product topology. So, let us prove this theorem. So, let us first show every open set in the product topology is open in the metric topology. So, in order to do this first consider sets of the following sets. So, let we take any point in R space R n define this set to be those y in R n such that sign for j line. So, it is easily checked sets of this type form a basis for the product topology. So, we will show that these sets are also open in the metric topology. So, let y be a point in this set. So, choose some delta positive and which is less than epsilon by k. So, that this ball around y j this is a real number of delta radius delta is contained the ball around x j of radius epsilon. So, this should happen for j line between y and k. So, in other words we have x j here. So, for each coordinate j this is this has length epsilon R y j is a point over here. For each coordinate for each j lying between 1 and k that is because y is over here. So, choose a delta which lies between 0 and epsilon k if we use delta very small then the delta neighborhood for all these y j's will completely lie inside this epsilon neighborhood of x j. So, we claim that the ball in the metric topology of radius delta around y is completely contained inside this set. So, let us check this claim. So, suppose z is a point in this part. So, this implies that supremum. So, this implies that d of. So, let us first write d of y comma z is strictly less than delta, but d recall this was the supremum d prime z n divided by n. So, in particular this implies that d prime by n z n by n is strictly less than delta for all n and in particular also for j for j lying between 1 and k.  So, this is the definition of this open set u. So, let us look at this definition. So, this happens for z j. So, this implies that this ball d y comma delta is contained in k epsilon. So, we have this open set we have this basic open set u x bar or rather we have this set yeah u x bar k epsilon we chose a point y bar over here and there is an open neighborhood in the metric topology which is which contains this y and it is completely contained inside this set. So, we can cover this u x bar by open sets of this type and that will show that this u x bar k epsilon is also open in the metric topology right. So, this implies that u x bar k epsilon is open in the metric topology. Now, let us prove the converse yeah. So, now we show that any basic open set v d x epsilon is open in the product topology. So, what we will do is so, we will show that there is a set. So, let me replace this by y we will show that there is a set u x k delta such that k delta is contained in. So, let us try to see why it is sufficient to prove this claim. So, let us start. So, our aim is to show that this open set y epsilon this set is open in the product topology right. So, we can do that if given any point x bar in the set we can find a set u which is open in the product topology and completely contained inside this part. If we can do that then we can cover this we can do that for every x in the set and we can take the union of those. So, that it will show that this b d y epsilon that is open in the product topology. Now, in order to show in order to show this that given any point x there is a open set in the product topology which is completely contained inside this ball. Note that for this x there is an epsilon prime ball right this is b d x comma epsilon prime right which is completely contained inside this larger set. And therefore, we will show that there is a set of the type this type u x bar k delta which is contained in this smaller epsilon this epsilon prime ball right. So, that will prove the assertion. So, let us begin with the proof. So, choose k such that choose k large such that 1 upon k is strictly less than epsilon right. So, then we claim that u x k epsilon by 2 is completely contained inside b d x bar comma epsilon. So, let us prove this. So, if z is a point in this set epsilon by 2 and what this implies is that d prime x j comma z j is strictly less than epsilon by 2 for all j line between 1 and k right. So, this implies that d prime x j comma z j by j is strictly less than 1 upon j epsilon by 2 which is less than equal to epsilon by 2 for all j line between 1 and k. Now, on the other hand if j is strictly greater than k then d prime x j comma z j by j is less than equal to 1 upon j which is because d prime is bounded by 1 this less than 1 upon k which is strictly less than epsilon right. So, therefore, when we take supremum over j d prime x j comma z j by j this is equal to the distance of x bar from z bar this is less than equal to epsilon by 2 which is strictly less than epsilon right. So, this implies. So, we started with this z and we showed that the distance of z from x in the metric topology is less than epsilon. So, which implies that u x comma k comma epsilon by 2 is contained in E. So, this proves that. So, thus we have proved this claim over here. So, we have proved this claim. So, this proves that both the topologies this proves that the metric topology and the product topology. So, this completes the proof here. So, we will end this lecture here.


We're on the air once again with another edition of Patience on the News, still doing Zoom, works pretty well, hope it works well for everybody at home. Again, I'm Harold Patience. I've been hosting this show for I think 14 years. We've had maybe 125 or so different guests and shows and it's always very interesting and something very much different tonight. We don't have a politician. We don't have a news maker, we have a news reporter and I'm happy to welcome to the show Marion McHugh who is the owner of the Portland Phoenix. There was another Portland Phoenix years ago but now we have a Phoenix, a reborn Phoenix that came into existence last year. Marion is a veteran of the news business and among the other things was a long time editor and owner of the forecaster, which a lot of people are familiar with and they're gonna be very familiar with the Phoenix that we're gonna discuss. Welcome Marion. Thank you so much, Harold. So Marion, you've been in the newspaper, we're gonna get to the Phoenix but you've been in the newspaper business a long time and tell me how you got into it. Were you a journalism major? Well, you know, Harold, I always just loved the newspaper business. When I was in high school, when I was in college, out in the Midwest, the first thing I did almost was go down to the office of the daily cardinal which is the University of Wisconsin because I wanted to join the newspaper. I just love to find out what's going on in the world. I'm kind of endlessly curious. So I got into the business and I've just always been interested in it and then eventually came back to Maine through after various experiences in New York on magazines and whatnot and got involved with the forecaster. So I'm very interested in local news and I think local news is where the Phoenix is really going to take off right now. So... Well, we're gonna talk a lot about that.  Right.  Exactly, exactly right. Well, that's great and we're glad you're home. Now, let's talk... We're gonna talk about journalism generally and about the Phoenix, but why don't you just tell us a little bit about the Phoenix? Some people remember when we had, as many several New England cities had, including Boston, a Phoenix newspaper which was a so-called alternative newspaper, a weekly free newspaper. And then it went out of business and you, among other things, owned and ran the forecaster for a long time. It was very successful. Then you sold it to the Lewiston Sun Journal and now you're back in business and with a new newspaper, which is the New Phoenix. And tell us why, what you thought was missing? What you thought you could do with the New Phoenix? Well, I guess you could conclude from that. I just can't stay out of the newspaper business, which I think would be fair enough. I think the old Phoenix is the Phoenix in Boston. It was the time of the rebellion and the Vietnam War and those papers were very much a part of that time. And then, as you said, the Phoenix had various iterations and then the Phoenix that was most recently in Portland was part of that group. Although I don't think Steve Mindick, the original founder, I'm not sure he was very closely involved with that. It was owned by someone else. And then it went out of business in February 2019 and they just weren't, I think, hitting their mark in terms of the news they were providing. And I felt with my longtime business partner, Karen Wood, that this was perhaps an opportunity to bring the paper back, but in a very different form that was more geared towards real local news and not filtering local news or news stories through a prism of ideology, but following what were the interesting stories and stories that aren't gonna be told by the monopoly media, main today media. And we thought we could do that, but we wanted to keep the strong things for which the Phoenix was famous, the arts coverage. We have a lot of the best Phoenix writers from Sam Feifel and Megan Grumbling and others. And Ed Beam, also one of the premier arts writers in Maine, still doing strong arts coverage, which was a strong carryover, but we also wanted to have a strong comment and opinion section, but segregated more onto opinion pages and not necessarily influencing the news coverage that we were trying to provide, which would focus on things in Portland and in this general area locally that other papers weren't covering. So for example, we have a daily newspaper for a long time. It seems to me, and much of this reflects the changes in the field of journalism over the past several years with the digital editions and so forth, but they've all had some financial difficulty that the regional dailies have. And a lot of it, it seems to me, a lot of people still read the daily newspapers and communities our size, basically for three things, sports, they get the local sports, and particularly not during the COVID period, but particularly when we're not shut down, high school sports are very big with these regional dailies. Obituaries, obituaries are very big attraction to the regional dailies and crime. A lot of crime, obits and sports. So you're not trying to duplicate that, is that right? No, not at this point. We're very limited as a startup. In terms of our personnel, I've got two reporters and a lot of freelance help. So we're not doing that, but you're certainly right on the mark. I mean, I can't see us doing sports but some of the stronger new weeklies that have started like seven days over in Vermont, which is in Burlington, which is kind of a model for us, very successful. They're doing obituaries, so eventually. But right now we're trying to use our resources to cover, to really cover the local news and provide coverage that the press herald that those papers are not gonna provide because they're essentially all one paper now. The forecaster isn't separate. Forecaster stories and sun journal stories will all appear in the press herald. So there's not a distinction. It's all one thing and we're trying to be independent and do our own independent newspaper. Well, you said a different form local news. You're trying to give people the local news and you said not through the prism of ideology. Can you talk a little bit about that? Well, I think sometimes in some papers and maybe somewhat the previous Phoenix, a news story would be printed and it would sort of assume that you would try to tell you how to think about the story or assume that you had the same point of view about the story. I mean, I think we wanna do analysis, we wanna do interpretation. But I'm just sort of, as I said, I've sort of this old fashioned, I've been in the news business a long time and I'm used to just putting news out there because I think what people really want is information and they wanna know what's going on but you're absolutely right. They pick up papers for those reasons that you mentioned, obituaries and sports among other things, it's true. But we wanna give people, we have the freedom maybe to focus that the Press Herald has to cast a very wide net and even though they have a tremendous amount of resources they're covering a lot of bases and we try to stay local and cover some stories that they're not getting to. We were the only paper, the first paper to be really covering the Police Citizen Review Subcommittee which is now the focus of a lot of discussion and issues on whether to what extent there's gonna be civilian oversight of the police department and checking on those things that maybe aren't getting covered in the daily. So how do you, you're the editor. So I know what editors do. I used to work for the Portland Press Herald at one time for a very short time when I was in between the US Navy and law school but I know the editors thinking about ideas saying to reporters, look, we gotta find out about this. I'm curious about this or whatever. So you do that. And you read the local newspaper trying to figure out what they're covering and then you what, you just have ideas about things that you folks should cover? Yes, and I'm very fortunate that I also have a very skilled managing editor, Mo Melsack who's working with us who also has a lot of experience at the forecaster and also many other papers. And he comes up with a lot of ideas also. So, and we get ideas from our whole staff. I mean, the salespeople may be out on the trail and they say, look, look what's happening down here. There's a lot going on at Thompson's Point. What should we do with that? And ideas can come from everywhere. I try to think of a few, but you're right. I am reading the Portland paper very, very faithfully. And Bangor too, because Bangor, of course, is also in this market in its own way. So it's kind of an interesting. It is in the market, isn't it? And actually, when you think about it, the Boston Globe is, but not with local news. I mean, you're not gonna find out much about Maine or obituaries or whatever, by reading the Globe. But you're right about the Bangor dailies. So as you look ahead and you now have this new enterprise and you think about looking down the road, the newspaper business and how it has been changing. Do you think about how it might change some more and how that affects what you're doing? Well, if I could really give a good answer to that, I think I might go into the consulting business or something that's very hard to see. But I guess I've had the belief that even as things, as information and news migrates to online, which, that there's still a role for the newspaper as, for reading in the newspaper. We have a very good online website, but I know we were talking about this the other day, but I think for a lot of people and for presenting advertising, I think a newspaper that you can pick up free is a good way to fulfill the needs of the advertiser. And I guess it's sort of back to the future or something that I think that we may go back to some of those things. I mean, things have definitely changed and shifted, but I'm not sure. I mean, I think online, for me, when I read a story, it's easier for me maybe just the way my reading works to really grasp the story and read it more fully if I'm reading in a paper format. Most for many people and younger people, that's not true, which is why it's really important that we've also promoted our online site because we have to do both those things. So you have to mix both those things, but I'm really not smart enough to know where it's all going, but we know that people will always need news. You know that if you're neighbor in your example, if Mr. Jones did pass away and if we were still in the age of having funerals, you'd wanna know where to go and how to pay your respects. You should wanna know where the council meeting is and what they're considering. And most of that is local. I think most of that is really local.  And what about state issues? Things that might be happening in Augusta? Well, we do also try and pay attention for that. And this is where we, I'm happy to link ourselves also. And if we have a model at all, it was the main times. Although we're not a statewide paper and financially, I think that wouldn't work as well. We do have Doug Rooks, who is a former editor of the main times, who is happily doing a lot of freelance stories for us, trying to pay attention to the state house, and especially how that will affect people in our area. So we've got some pretty good, he's working on a big freelance story now that will be out next week, not this week, that we're looking forward to. Because we don't wanna ignore that, definitely. And again, as always, you're trying to find it. Nitch, if you, one thing you like to write a story that the daily newspaper has missed or hasn't had the resources to cover. And sometimes you can find, I suppose, a story in the local newspaper that's kind of superficial, and you can decide if we're gonna dig into this a little. Do you ever do that? See something that they cover and say, let's get into this a little and see what we can reveal. Yeah. So, all right, so you're creating and have created, and you've done it before, a newspaper full of news that people in this region would be interested in knowing about, basically. I hope so. So, how do you distribute it? I mean, you can produce a paper, but the key is getting it into the hands of readers. So, tell me about that, that intrigues me a little. Tell me about how this newspaper gets distributed. I see, you might put it in a newsstand, I work at One City Center, so it might turn up in the news center there, but in the little newsstand, but how do you get it out to a lot of people? Well, we work with a, this is where there is a bit of a symbiosis or something with the folks at Maine Today Media. They run the operation, essentially, that distributes a lot of the free weeklies because they have the forecaster now, and also other weeklies, so we actually pay them to distribute our paper. And the biggest, we're getting rid of, in the Forest Avenue, Hanna-Fords, which is one of our big distribution points, we can't even keep them on the stands, we're getting rid of a lot of them, but it has been a challenge, of course, with this pandemic because a lot of some places don't really want us anymore in their stores, and of course, people for a long time, it's changed a bit now, weren't going to the stores as much and might not see us, but I think that's changed a bit. So we do rely on, we work with them, and we're appreciative that the Maine Today Media that we're using their distribution, so. So for the first time in your long journalism career, you're learning how to put out a newspaper during a pandemic, very good information to have. You're learning a lot. Yeah, it's, you worry most about your people because we weren't in the office at the beginning and now we're in the office somewhat, and it's a worry that any of your folks are gonna come down with it, or that we're doing, and that's a worry. The covering Zoom meetings, I don't know how many meetings you're watching of your local council or anything these days, but the Zoom formats and dealing with the Zoom formats are challenging for our reporters like Colin and Elizabeth. I hope, I think they're gonna have a great temptation in these small towns and in Portland to stay with the Zoom formats because I think it might be much easier for them. I kind of hope they don't, but we'll see. Obviously they have to now, but it is challenging, and the world, we started, we undertook this in April of 2019, and we had our actual launch in November of 2019, and when you think back, the world was so much different. We couldn't have contemplated this, but we don't have a choice, we just wanna continue. We don't have a choice, but to continue really, and we're, I agree, and we talked a little before. I think things are gonna come back, it may take till summer and fall, but I think things are going to come back pretty well in this calendar year, so it gives me, I happen to be an optimist by nature, but it gives me perhaps reason for optimism. So in the past, Marion, a lot of these, almost every alternative, so-called alternative newspaper from back in the 70s and 80s and 90s did have an ideological prism. You mentioned the phrase, ideological prism. Almost everyone did, and still, I don't know, is The Ballard still a competitor of yours? Yeah, it's become the mainer, it's run by Chris Busby still, but yeah, they do a lot of online stuff, and he publishes every month, I believe, yeah. I think he does a pretty good job. I've read some of this stuff, but they have an ideological prism, I think. And I'm not asking you to comment, I'm just telling you what I think. So do you think that it's somewhat unique for, well, you're a weekly, there are a lot of weeklies around, not to have an ideological prism, not to see things through an ideological prism, not to have that kind of a bias. The forecaster seems to be never had a bias of that kind, political bias. Right, and it became successful. I certainly wanna do editorials, and we have commentators that are commenting from a pretty uniform left of center perspective, which I'm certainly comfortable with. I just don't want news stories to be written to reflect what the writer thinks should promote his or her ideology, I think. Peter Cox in his book about the main times writes a lot about training the reporters who were trying to, and that was certainly a paper that you might characterize as having an ideological perspective. Certainly liberal, but mainly mostly environmental. Training reporters who felt that their perspective and their take on the issue or the story was so important that it was, it got ahead of the facts. And Peter Cox writes about trying to train the reporters not to do that and simply to be fair. I mean, any reporter has ideology, has perspective, has opinion, there's nothing, objectivity is really not a, is a bygone standard, I think. But you do have to be fair and you do have to be honest and your relationship with your readers has to be telling them the truth and not what you think will lead them in the direction of a certain ideology or point of view. Well, that's, did you major in journalism at the University of Wisconsin? No. Yeah, that's all right, that's fine.  Well, even as a sub-adult, I really, when I started out, as I mentioned, I went out down to the daily Cardinal, which was, and this was Madison, a very radical campus starting in 1970. And believe me, it was a radical paper and it was all, it was certainly a very strong anti-war focus and all that, and you know, it was still, and that's where I really felt like I got a lot of training. And then I went after Madison, I worked on a magazine in New York, which was also a very left of center enterprise. It was a collective called Seven Days. And one of the people on the collective was Dave Dellinger. Oh, okay, yeah. All right, so yeah, the real McCoy, yeah. So I do come from that, I just wanna respect the reader and give them information. So the reason I asked you about your background in journalism is we seem to be in a different place. I'm older than you and I've been around a long time. I've been kind of in and out on the fringes of journalism for a very long time. It is very difficult to be fair and honest and people seem to be more passionate now about politics and political events. Then they have been probably since the days of the Civil War, since the mid 19th century. It has happened before. It's happened at the beginning of the 19th century. It happened at the time of the Civil War. It's happened in various epochs of American history. But now we're dealing with social media and what Kellyanne Conway called alternative facts. So you talked about facts, you wanna bring people facts and there are a whole lot of people, hopefully not your readers, but a whole lot of people in this country who say there's no such thing as a fact. Now I'm a lawyer, I deal in evidence, but there's a whole lot of people.  There's a whole lot of people that don't think there's such a thing as a fact and so there's some people that might say, hmm, Marion is real optimist. She wants her reporters to deal with the facts. Facts, what are those? You wanna comment on that? Well, that's tricky, you're absolutely right. This is a very tough, polarized environment and I don't know. People are selecting their own facts as Moynihan warned that you couldn't do. So I don't know, I think we just have to hope that the news media who exist and become respected and continue, something like the Washington Post papers that you can really admire. Hold their ground and still are able to publish because the information that they've just published, especially in the last couple of days, running, airing a tape of Trump's lecture to the Secretary of State down in Georgia. I mean, that role of the Fourth Estate is so important and we can't lose that. And we're a long way from getting to that point here at the Phoenix, but we do need to still aspire to that. We can't give up to the role of social media, but you're absolutely right.  But there's so much stuff out there that's really not helpful that it's really, it is unfortunate. And so I hope we move away from that, but I'm not smart enough to see how it's gonna happen or what the impact will be. As I said, I tend to be an optimist and I only know how to do what I'm doing here because it's all, it's the only journalism experience I've had. So, but the change in the world, when you look back, even at TV programs or things going on in the 90s and what that world was like sort of before the hit of social media, it's really quite striking how much the world has changed. So, when you think about stories that you think would be of interest to your readers, you know, the obvious is they are always, well, what's happening in city government? What are they doing? What are they trying to do? Cause everybody, it affects everybody so they're interested in it. But what about people? So we read about people, I read about people in the Portland Press Herald and I wanna know more about them. And so do you do any pieces about people telling us here's what makes this person tick? This is an interesting, this person is saying something interesting. Yeah, absolutely. And you mentioned earlier an example we wrote about the new chairman of the chairperson chair of the school committee in Portland and interviewed her to get her thoughts and aspirations because she had had a pretty high political profile when she took on that job, unlike probably previous super intent, I'm sorry, chairs of the school committee. So we did write about her and that's a good example but we need to do more about that. We need to be thinking of those people who are interesting in doing things and finding them. I mean, it's really in the last four or five months things, it's just been a very quiet time. People are hunkered down, they're doing their job, they're staying at home, it's been a hard time to, it's just, I don't know, maybe the story ideas and finding people to write about, maybe it's been a little harder but among the many things we need to do to improve, I think that's really a good example is writing about people because people are always interesting to read about which is why obituaries are interesting, reading about people and people's lives. It's, I read that piece in your newspaper about the chairman of the school committee. I found it very interesting because everybody comes as advertised and that woman who I do not know, she and her husband came a few years ago and I'm a former politician so I kind of noticed them and they were noticeable and I had a bias. I happen to be a Democrat and I'm sure they are too and they would review themselves as quote progressives. I don't view myself as anything and I'm not tea party, I'm not socialist, I don't, you can't give me a name. So I just part of a very broad political party but I read that piece about her and it eliminated most of my biases. First of all, she's a very well educated woman and clearly a very articulate woman. Third, I had noticed her husband more than her but she said she should not be viewed to the prism of her former husband and that helped me to understand her a little bit. So that kind of story I think is very valuable. It was very valuable to me and I'm sure there are many things I don't agree with her on but having the opportunity to read a newspaper story that tells me something about her and I think is very, very helpful, helpful to all of us, frankly. So the other thing that I was wondering about in terms of the newspaper business and your end of the newspaper business is how do you avoid doing people pigeonholing you, say, look, I know some people that are very conservative. I happen to know them. I know one guy who's extremely conservative. I correspond him with them from time to time. Very smart guy and one of the better writers that I've run across. And he actually occasionally puts his far right screeds in the press hero and he's good and he's smart. And as we're talking, I wonder I wonder whether he would read your newspaper or whether he'd say, oh, no, it's just lefty propaganda because I think he thinks most newspapers are lefty propaganda. I don't think he thinks that in any newspapers that are not propaganda, maybe things break apart is not propaganda, I don't know. But what I'm saying, give me a reason why you should read your newspaper. Well, I- That's a good question, isn't it? It's a very good- You stunk honey. Again, we're just, and I, you know, the Phoenix as it exists now, I hope in a year when we're two years in, we'll have a lot more, we'll be providing a lot more than we've been able to do now but I would hope that he'd be interested in finding in the local coverage. We're gonna be expanding our local coverage in certain ways that are still in the works and that I don't know if he's interested in the arts. I certainly hope that the opinion page, even though our present writers, I don't, I'm not sure you can, they probably lean sort of left of center, but maybe there's a dialogue that he could engage there. But that's a very challenging question, Harold. Yeah, no, it- I would hope that he could. Well, so do I, but you have to somehow demonstrate to him that you can do a story that is not one that just appeals to one group of people, you know, that, you know, I was thinking about this the other day, have you interested in what you think?  We read a lot about, I read in your newspaper, a piece which talked about the cruise ships, I think I wrote it down actually, the cruise ships development, you know, developers coming into Portland, the building, here it is, the building boom, this is what your reporters wrote this piece, and the building boom, the problem of homelessness and the impact of the cruise industry. Now, I knew that was in the first paragraph. I knew what this story was gonna be about when I read it. And this guy says, these are the problems. And I agree, you know, I think the problem of homelessness though is not a problem that is just a local problem. Homelessness, you can leave that on. Sorry, I'm sorry it's flickering, but. That's all right, that's all right. But the problem of homelessness affects every city the size of Portland or larger in America. And there are no new ideas on homelessness. There are a lot of failed ideas, but it is a fact, I just, look, I have a first cousin, my mother's sister's son, who's homeless, I know all about it. And it's a very, very tough problem, but it's not just a local problem, but it's important to be concerned about it. Impact of the cruise ships and the building boom. So this reminds me that there are people, many of whom probably read your newspaper, who think that this is terrible what's happening in Portland, the building boom. Cause they weren't here in all the years you and I were here, where there was no building boom. When I came back to Portland in the late 1960s, nothing had happened in Portland since the Civil War. It just was a moribund place. Would you dare do a story? I'm not suggesting you do it, but this is a way of continuing this dialogue with you about the need, somebody making a speech about the need for capital in every community, money to invest, capital. That's where it all comes from. I don't want to sound like one of those right wing Republicans, because I don't agree how they use this, but capital is important. And would we see it in an alternative newspaper? As somebody says, you know, here's somebody who wants to invest in Portland. You can debate about whether it's gonna look nice or not look nice. I don't know either like the way it looks or whatever, but how does it hurt other than, you know, it's bad planning. That's the question, whether you can write something in your newspaper about that. Not suggesting you do, but whether you can, whether there's room. I would hope that if the, you know, if that, you know, I'm not an expert on this, Harold, so I can't really talk about the issues of capital and coming in, but I would hope that we'd be open to, you know, a newspaper and this, it should surprise you sometimes with something different or some new idea that maybe you're not expecting from a traditional liberal paper. So if it was a, you know, a more conservative idea that looked at another aspect of the problem and the role of capital and the need for the housing, you're right, homelessness is a, it's the, and housing are just the huge, huge issues right now and absolutely have to be tackled. And, but I would hope we could always, if the facts led us in that direction, we'd be open to looking at ways of to review the story that would be, you know, unusual and perhaps surprising, so. Yeah, I think it just, for instance, people don't, some people don't appreciate the fact that every affordable housing project, every low income project requires private capital, mostly from away, often, maybe not mostly, but often people who don't even live here, investing in affordable housing or low income housing, and we don't see any of that in the press ever and reporters don't think that way. So I think there is a possibility, we're getting a little off here, but another piece that I thought was very interesting in your newspaper that is a reason for people to read your newspaper. You had an interesting piece about greater Portland governments planning for rising sea levels, perhaps the greatest long-term problem our community faces since we're on the sea, on the ocean, the greatest. And it's not very topical, I mean, people don't write about it very much, but you did, and I was interested in that, I said, dude, that's something I wanna read. And you wanna comment on that? Well, absolutely, and I was, I really suggested that to our reporter because I'm just amazed driving around here, driving in on Baxter Boulevard every day, I keep watching for the moment at which the water is gonna rise, rising over my trip, which is not far away. I mean, it's so clear and imminent and it's very hard. We made a good try there, but we're really gonna have to continue this because this is a big issue that we need to grapple with. And the cities of Portland and South Portland are working on this, but it's just key, obviously, to what's gonna, to our future here. And it's so hard to grasp, I think, for all of us living our day-to-day lives in the present. I mean, we're all talking about global warming, of course, and environmental issues, but our specific vulnerability here in Portland is very, and in this whole area, is obviously very pronounced. And so I think we're, I'm glad you liked that story, but we need to do more of that, absolutely. Yeah, I mean, I think it's very interesting stuff. And I was intrigued when you said your model, you'd like to be more like the main times than one of these alternative, more radical newspapers. You'd like to be more like the main times, which emphasized environmental things. So that article that I read in your paper was the kind of article that would appear in the main times. Well, I, yeah, I would, I mean, the main times at the beginning did an awful lot of great stuff. And knowing John Cole as I did, I mean, his writing and the thing about John Cole, I mean, he certainly was a liberal, but he could also surprise you, you know, with a different point of view and something, you know, he was just thoughtful in his columns. But yes, we would love to be writing about, you know, the issues, especially environmental issues, which really were the hallmark of main times. But we need to combine that with our, you know, our focus on local issue, you know, here in Greater Portland. One of the reasons that John Cole was such a good writer and editor and the main times was looked at as mainstream. And I don't, today a lot of people think, no, mainstream is terrible. People in the far left, people in the far right, mainstream is bad. But mainstream means that you appeal to a wide swath of people, a very broad spectrum of people in your newspaper, your product has appeal for that wide spectrum. John Cole was able to do that. I knew John Cole, well, one of the reasons that John Cole in main times could do that is John Cole maintained relationships with people. You said he was a liberal guy, he was, but he had many close relationships and friendships with people who were not liberals. They are the opposite, but they liked him and they trusted him and they confided in him and they told him things. So he's a very good one. Tamulate, I have to tell you a little story, trying to learn more about your paper, but I have to divert a little. One time I was driving with John Cole and we were, it was late in the afternoon, 435 o'clock and we were near Millbridge, Maine. In Millbridge was a state senator, Hollis Wyman, a very right wing guy. And Hollis Wyman was like the feudal king, the blueberry king of Washington County. And John said to me, when we get up here to Millbridge, I'll show you where to go. We'll just go to Hollis's house, he'll give us supper. We didn't call him or anything. I drove, he told me how to get there, drove up to Hollis, Senator Hollis Wyman, the very powerful Republican Senator's house. And John went up, rang the doorbell that Hollis came to the door and he touched, come in, got me to come in. We had lobster and blueberry pie. He loved John Cole. And John Cole and he didn't share a single political opinion. But that's how Cole wrote, ran that show. And he had his tentacles out to everybody. So that's my comment on that. Great story. That's a great story, very much how he was. And you have a lot of contacts too. You know a lot of people, don't you? You ran that forecaster for a long time. Yeah, well, I know a few.  And yeah, I like, we have contacts that will help. I have contacts that will help. Yeah, and it gives you ideas for stories. I mean, your whole experience and editors experience, it gives them ideas for stories. And your experience is that you grew up here. This was your town. You know it very well. And so I think your newspaper is gonna do quite well and now I'm getting hooked on it. So, and as you say, it will grow, right? I mean, it'll grow organically. You'll be doing different things two years from now that you're doing now. Yes, no, we have to, we've made a good start. I'm really proud of this group and my team and what we've done, but we wanna get a lot better and keep going and but put out a better product. I mean, there's no point in, we've got it. You just can't get up and do the same thing all the time. We wanna figure out how to provide better coverage and do the kind of stories that you're commenting on because we need to do more of those. And as we don't always have them, it's hard to get them every week, but we've got to find them and explore those stories. So, are you still, you and Karen Wood still associated in the journalism business? Yes, she's my business partner here and co-owner and she handles the publishing side, you know, more of the business side than... Yeah, and she and you were together at the forecaster too, right? Yeah. Well, there may be people on shoot, there are a lot of people that know Karen as well as you. So that would be of interest to our listeners and a lot of people that know Karen's husband, Godfrey Wood, who for a very long time ran the Greater Portland Chamber of Commerce and also owned the hockey teams or was one of the owners of the hockey team. So, they're very well known and I think that's important to keep in mind and I think that's important in the community that some of the writers that write for you have great appeal for, even though some of them are older, have great appeal for younger readers and activists, social activists in Portland. And at the same time, you and Karen have great connections to, I don't wanna spoil your reputation with some of those younger readers, but you have great connections to the Greater Portland Establishment, another bad word, establishment, but I'm sorry to accuse you of that, but it's true. So, there is this broad aspect to what you're doing in your experience. Well, yeah, I mean, it does help to have some experience. One of the toughest things I think for Karen especially is that normally in this time in starting any new business, she'd be doing a lot of networking, a lot of chamber events, a lot of, because she does know a lot of people, as you say, she'd be meeting people and telling us, telling people about the Phoenix and our product and that just hasn't happened since November, well, since March, but we really haven't done that since for many months. And that's slowed our expansion into the community of that. Well, so you have a long list of post-pademic objectives. Absolutely. We need to be better and do certain stories. I have some specific ideas. And, but generally, and this is why I'm so grateful to you, Harold, for having me on your program. We need, people need to get to know us and we need to find ways for people to find us and know who we are and pick us up at the newsstand. That's happening. People do know us, but as a new publication, especially in this time of COVID, it does take a while for people to figure out who you are and decide they're gonna come back and pick up another copy or actually website. Yeah, no, that leads me to the two questions or you can comment. We just have a few minutes left here, but I want you to tell our listeners two things. Give me the both questions and you can answer them in whatever order you want. Why is it important for me, the viewer, to get to know your newspaper and to begin reading it and seeing things in it that they will not see in other local newspapers and where do I get it? How can I make it easy for me? Tell me where to get it and tell me why I should get it. Well, the second part is, of course, the easiest. The website is theportlandphoenix.me is the website that a lot of people are going to and our reports and our analytics on people going to the website are really growing very, very well. And other than that, it's really the best place is the stores, the big stores. Shop, you know, Hannaford Shaw's, those places where you can routinely find it. And I know that's challenging again now because people aren't going into stores so much and that's a little bit challenging. Well, tell me about it. I go once in a while and there's a lot of people in there, but all right, what is the website address? Portlandphoenix.me Portlandphoenix.me, pretty simple. Yeah. Pretty simple. And now the other question, which I want you to convince these folks watching this, look them straight in the eye and say, here's why you need to read my newspaper. Well, that's absolutely great question. You need to read our newspaper because we're gonna have very intensive coverage of local government in this area, in Greater Portland, especially Portland. We cover committees and things going on that the other paper does not cover. We have arts coverage. We really feel strongly that our coverage of fine arts and theater is important and that you should pick us up for that reason and that we have a forum for opinions and commentary that's really open and attractive to people and interesting commentators from various backgrounds. But that is, you constantly, you're asking the question that is perhaps, you left the hardest question for last, Harold. I did that because you were just getting warmed up. And I figured, now she's warmed up. I'll throw this one at her. And it's not, somebody would say it's a softball. It's not really a softball because you know what you wanna do and you know what your objectives are and you're trying to match that with your audience. I guess I'm hoping to provide a truly independent option for people when we're living in a media age where in terms of newspapers in this area, there's just one publishing company, Maine Today Media, essentially, based in this area and they've taken, they're covering so much of Maine that we wanna do something that's independent. And I guess that's really the main part that we wanna provide an independent alternative that's independent but not necessarily driven by, I've never wanted and I never wanted on the forecaster and this is perhaps why it did stay successful. I wasn't putting my own ideology first and saying this is Marion's newspaper and we're all gonna read about what Marion thinks. And I don't think that's of much interest. I wanna, I'm really interested in what's out there and what's going on. That's what's drawn me into this business. So I wanna tell people what's going on in the world around them and especially at this time, Portland is gonna go through a great deal in the next year. It's gonna, how it recovers, how this city and this greater Portland area recovers from COVID and what changes and probably permanent changes there are gonna be in the business atmosphere of Portland and also there are some governmental changes like the Charter Commission. Portland is gonna be looking at recasting potentially its government and there's a lot of trends in terms of younger people coming in to Portland and really asking for certain, pushing certain issues like the minimum wage and a Charter Commission, which is really gonna change, I think, the face of Portland and we wanna be there writing about it. When you do that and you like some of these younger people, you write about what are these younger people want and the changes they want, do me a favor because you'll have an opportunity to explain something. I never understood it. What does defund the police mean? No one's ever explained that. No newspaper's ever explained it. Does it mean get rid of the police? No more appropriations for police and we'll just do it the way it was done in the Wild West. When you do that, but look, we've run out of time here and this has been really interesting for me and I hope interesting for our viewers, many of whom will go online and read your newspaper when we end, as we end. I give you a little bit of advice. The other important thing is to get leaders, community leaders, statewide leaders, talking about mentioning your newspaper and I can tell you, based on 50 years of experience, the only way you will get them to pay attention to your paper is to put their name in your newspaper, mention them. All right, well, look, Marion, it's been a pleasure and very interesting to me. Thank you very much for coming on. Thank you, Harold, this has been great fun and I really appreciate the opportunity to be on your program, this has been great, thank you. Thanks a lot.


Hello, everyone. I'm Caroline Weiss. I'm an AI and ML engineer at GSK.ai. And I present a project that I've worked on during my PhD at ETH Zurich in Carson-Borgwards Group. And that project is clinical antimicrobial resistance prediction. And more specifically, I will introduce a data set that we created specifically for this purpose, which we call DREAMS, the database for antimicrobial resistance prediction based on mildly 12 MS. This talk is aimed at researchers working on the application of phenotype prediction algorithms, especially if you're working on vector represented data and data collected across different domains, if that is of interest to you. But this talk should also be for you if you're interested in early antimicrobial resistance prediction in general or study clinical mildly 12 MS. So I want to know about its applications. So in this talk, I will introduce the application of our prediction, the threat and treatment of antimicrobial resistance first. Secondly, I will introduce the data set. And thirdly, I will introduce some results that we've been able to achieve on antimicrobial resistance prediction. Antimicrobial resistance has been recognized as a major epidemiological threat for decades, and it was named one of the top 10 public health threats to humanity by the WHO in 2019. In a report on antimicrobial resistance issued by the UK government, it was estimated that the antimicrobial resistance was responsible for 700,000 deaths per year worldwide in 2016. It was estimated the number could rise up to 10 million a year in 2015. So research to optimize the treatment of infections and the usage of antimicrobial drugs is highly important. I will quickly introduce the main data type investigate throughout this project and that is Malditov mass spectrum. Malditov MS stands for matrix assisted laser desorption and ionization time of flight mass spectrometry. The base for mental workflow of Malditov MS is illustrated here in this image. A single bacterial colony is picked from a Petri dish culture, and that colony is then applied onto a target plate and the matrix solution is added. The lasers then apply to the sample which produces charged fragments, and these fragments are then accelerated in the electromagnetic field of the time of flight analyzer. Small molecules will arrive earlier at the detector than larger molecules and the result is a mass spectrum that maps the intensities of particles measured at each mass to charge ratio. This is what a typical Malditov mass spectrum looks like with measured intensity drawn against the mass to charge ratio. What we see in the spectrum is an overview of the proteins in the cell, which are mainly ribosomal proteins, and the peak profile is highly characteristic for the species of the microbe measured. Our research into Malditov mass spectra are motivated by one single question. In terms of data learning, can we extract more information out of the spectra than just the species, and the phenotype that we are specifically interested in is antimicrobial resistance. To see how this could be useful in the clinic, we quickly look at this illustration of how the mass spectra are integrated in the clinical treatment workflow. We have a collection of the specimen from the patient, which is then analyzed by Malditov MS to determine the species of the infection. In the culturing period, the phenotypic resistance is determined and based on that information, the antimicrobial therapy is set. So if we were able to predict the resistance level at the time of Malditov MS, a machine learning guided treatment decision could be made at an earlier time point. This reduced time until the resistance informed treatment decision is made can have a large impact on the course of the infection and prevent using ineffective antimicrobial drugs. So with that foundation, we move into the second part of the talk, which introduces a new data set collected specifically for this purpose. We curated a data set tailored for Malditov MS based antimicrobial resistance prediction, which are several orders of magnitude larger than any previous data set. We labeled this data set dreams, the database of resistance information on antimicrobials at Malditov mass spectra. This combines data from four different medical institutions in Switzerland, which are labeled dreams A to dreams D. And the main and largest data set is dreams A, which was collected at the University Hospital of Basel. All of dreams contains clinical routine data, which is important as we are aiming for a clinically applied predictor in the end. And therefore it was important to train and predict with real world routine spectra. So look at Malditov data from a machine learning point of view and how the spectra are represented the spectra are made up of tuples of intensity and master charge pairs, and the number of pairs making up one specific spectra is variable. The spectra are pre-processed with an established pre-processing protocol. And so in order to obtain fixed length vectors for machine learning algorithms, the measurement pairs are binned by adding up all points within a certain bin range. And we use the bin size of three dot. These graphs illustrate the effect of the binning from pre-processed spectrum to bin future vector. Further, we are defining a binary classification scenario for resistance, both the resistant and intermediate resistance categories are in the positive class. And the susceptible resistance category is in the negative class. And next we look at some results that are based on dreams. So in order to establish a machine learning baseline on dreams, we applied three machine learning models for inter-microbial resistance prediction. For this analysis, we focus on data from the largest side to dreams A. Based on results that are included in the paper that's based on, but omitted in this talk, we decided to use species stratified data sets and predict a single antibiotic phenotype at the time. So the species antibiotic pairs are septrics on resistance in E. coli and in Klebselapia pneumoniae and oxosilin resistance in Stavaurios. The species were selected on cleaning for relevance and antibiotics by how important they are to combat infections involving the species. We applied three models logistic regression, like EBM and MLP. And you can see the best performing curves are two times like EBM and MLP ones. We reached decent performances, for example, in our work of 0.8 for oxosilin prediction in Stavaurios. So in the next part, we move on quite a bit from the previous part and looking into developing new methods that leverage certain properties of mildly to a mass spectra. For this we developed a new kernel specifically designed to fit the properties of mildly to a mass spectra, which we named PyG, the PyG information kernel. There have been two spectra as an S prime with master charge values XI and XI prime and intensities lambda I and lambda I prime the closed form approximation for the inner product takes this form. Every peak in S is compared to every peak in S prime, and the peak intensities are multiplied weighted by this exponential and added up. The further away the two peaks are from one another in on the x axis the lower the weight is. I want to point out some properties of this kernel that are specifically important when working with mildly to mass spectra for prediction. The similarities calculate directly on the peaks which are defined through the master charge and intensity value. So the bending step described earlier is not necessary with this kernel, even more uses a more accurate representation as the x values are not altered through the bending step. Second, the kernel is capable of assessing interactions between the peaks, which is important as I mentioned that the same biological fragments can be detected in different locations along the x axis. Additionally, for our kernel solely a single parameter needs to be optimized T, which controls the degree of smoothing in the kernel. And finally you compare, we combine our PI kernel with the Gaussian process to obtain our model which is GB PI. And I hope this gives you some idea how mildly to have can be used for machine learning prediction. Other areas of application for which dreams could be perfectly suited are any other work continuing with antimicrobial resistance prediction. Also work in the field of the domain adaptation and that batch effect normalization, or learning unified representations of spectra from different sides. So this of course is not exhaustive. So all code from all experiments can contain in pi the packages that are made publicly available and dreams itself is publicly available and ready for download at the dry data repository. So those are some of the questions I want to reach out here my contacts and I want to conclude my talk by acknowledging all the people that were involved in this project, which were above all Carson and Adrian but also bassia and Alina Max and Catherine. And thank you for taking the time to watch this video.


YouTube has two speeds. Absolute approval and absolute criticism. It's appropriate that they've gone from the five-star system to a simple thumbs up or thumbs down. I mirrored a promo for the Magic Sandwich show where the topic was the death by beating of the young girl Lydia Schatz, killed by her parents Kevin and Elizabeth. The title for that show was Pearls Before Swine, a reference to Matthew 7.6 from the Sermon on the Mount. Don't give that which is holy to the dogs, neither throw your pearls before the pigs, lest perhaps they trample them under their feet and turn and tear you to pieces. I'll leave a link to the mirrored video below. The original author was DPR Jones, but it's been on my channel for weeks. DPR Jones took his copy down shortly after the show as part of the regular processing of promos. Many people have asked me to retract the video and apologize publicly to the parties they feel I have wronged, namely Jack, a.k.a. together for peace and peace in Christ alone. I'm always open to valid criticisms and welcome any responses to this video, video for more in comments. I try to read all comments as time allows and respond to valid concerns, questions and criticism. I've reviewed DPR Jones' video several times now, as well as the full videos the clips were taken from. And while I don't necessarily agree with the stylistic or editorial choices, I don't think the video is dishonest, and my only complaint would be that it didn't include some key content that framed why these clips were included. This really is much more about the people, the parents, and to me not really so much about the Bible and God and Christianity. And I hope that people can see, you know, I understand why people like to do these sorts of things, this whole sort of correlation-causation idea that people have in their mind, but hopefully we can be a little bit more critical and reasoned as we think through some of these very emotional issues. And address, begin to think about some of the foundational issues and ask ourselves as a society, do we envision, do we find situations in which physical discipline can be deemed appropriate? When the MSS put together a promo, we typically pick a relevant topic and relate it back to something going on in YouTube. In this case, the Christian response to a tragedy of religiously motivated child abuse that ended in the death of a little girl. When Christians on YouTube are confronted with something done not just by Christians, but according to Scripture, they're put in a difficult spot. Their commitment to scriptural truth, their belief in a benign deity, and their modern ethical sensibilities are in conflict.  No true Scotsman, for example. No true Christian would harm their child because Jesus didn't. Or those people were crazy because Christianity is all about love. I don't see how they could have the love of God in them to do that. Jesus never beat children. There are a lot of Scriptures, by the way, that do talk about beating a child that's in Proverbs, not in the New Testament, in the Old Testament.    I believe he's going too far to tell people to beat their children to that extent. Proverbs 26-3, a whip for the horse, a bridle for the donkey, and a rod for the back of fools. There are plenty of ways to avoid the rather unpleasant truth that the Bible contains much that is to be condemned. I think that's what DPR Jones was trying to highlight. The mismatch between the type of vacillating response and the magnitude and motivation of the crown. Apologetics ring very hollow when stacked against the death of a young girl at the hands of her parents. Parents who thought they were following God's law. Whom shall we blame? The parents who were too credible? The book author who took scripture too literally. The entire Christian faith that centers too much on the morality written in an old book. The actual discussion during the show centered on research showing a strong correlation between biblical literalism and corporal punishment and the link between corporal punishment and child aggression, mental disorder, and eventual maladjustment. The Bible, like most holy books, can be used to support virtually any perspective. That's its great danger. It is a loaded weapon of justification for any atrocity. Throughout history the Bible has been used to validate one opinion or another. To quote Steven Weinberg, With or without religion good people can behave well and bad people can do evil. But for good people to do evil that takes religion. Am I saying that all religious people beat their children? Of course not. Am I saying that Jack in Peace and Christ alone are in favor of beating their children? Of course not. Am I saying that scriptural adherence causes some child abuse? Absolutely, yes. It also causes religious medical neglect, emotional and mental abuse of children. That's what Christians have a very hard time admitting to themselves and others. They are conflicted between what they know is right and defending a book they value very highly. It's cognitive dissonance and it's painful to experience.  I am not an anti-theist. In my experience religious belief isn't something you can consciously choose. I think it should be a personal private matter for adults to decide for themselves. When children are involved the parents or guardians have to make smart choices for them. When those parents or guardians fail in that basic duty then it remains for our social institutions, activists and advocacy groups to speak out for those who cannot speak for themselves. If Jack has been misrepresented, if anyone was honestly misled to believe that Jack approved of scripturally motivated child abuse from the clip, I apologize for the harm done. Ditto for Peace in Christ alone. If the comments included were somehow out of context from their actual purpose, I would offer a retraction. However if the only objection is the editorial choice to juxtapose scenes of a Christian equivocating about condemning the underlying motivations of the parents, which was explicitly that they felt it was their scriptural duty, with the human impact of the tragedy, the beaten and bruised little girl. I don't think it's appropriate for me to apologize. I stand behind the sentiment. Lastly, is it wrong to lump spanking and beating into one large category? I don't think it is. Beating is one of those terms never used by the people doing it. The other guy beats his kids. You just give them a reminder, swat or slap or clip around the ear, or something to get their attention. It's just one of those psychological phenomena. Everyone always sees themselves as wise and restrained, right up until the police show up. The easiest way is not to start, not to allow the small amount of violence, or rely on your own self-control when you're angry, tired or emotional. The best research shows that hitting your kids mostly tells them that hitting is how the strong control the weak. Kids follow the example set by adults. It's very tempting to use the old mantra of, when I was a kid, my dad gave me a couple of spankings and I turned out alright. But the rational community is better than such sloppy thinking. We know that data is not the plural of anecdote. If you spank your kids, consider stopping. I'll cite some nice articles that suggest it's linked to child aggression and behavioral maladjustment. You might look into some really reputable parenting sites like the American Academy of Pediatrics, or parenting.org, or talk to a certified professional counselor or pediatrician. What you shouldn't do when you're looking for parenting advice is to rely on religious texts or supernatural voices in your head. Being a parent isn't easy. It's the most important job you'll ever have. Thanks for watching.