So Stefan is basically from Munich and he's running his own software consulting company named Stefan Barisch Software Consulting. He'll be talking about golden master testing in Python and he has interest in text processing and machine learning with respect to text. Apart from that, he's quite inclined towards automation and GUI programming and he has spent a lot of time during his BST on automation testing. So thanks a lot, Brian. Sorry, Stefan for joining. Yeah, over to you. Yeah, you're very much welcome. So it's been a long conference so far. So I'll try to keep things very, very simple. We are essentially talking about rubber ducks and well, how you would test rubber ducks and other things with Python. So to provide some background, did a lot of testing in my past, actually what brought me into programming a couple of years ago. And yeah, since then I thought about different ways to test and how to make testing easier to do well with Python and with some other technologies. And well, before we get started, let's have some background and what's golden master testing. Let's imagine it's the summumments that you have a summer job and you work for somebody who produces rubber ducks, a lot of nice little rubber ducks. Now let's also assume that you're not a rubber duck expert. So you don't really know what a good rubber duck should look like, how much it should weight. And well, honestly, you don't really have the time to learn all these aspects of rubber ducks. But in your job, you should do some quality control. So you should be able to decide is this a good duck or a bad duck. So you come up with a following approach. You ask the person that you work for just to, well, be available. And every time that you see a duck, it looks kind of particular. So like this red guy here, you ask them, is it really a good rubber duck should that work? And if he says, yes, well, then you continue with the production. Maybe even you remember, okay, that's a good duck. That's what a good black duck is supposed to look like. Now, we are not only testing rubber ducks. We are testing programs, but you can go to a similar situation. You might imagine that you have an old, well-established system. And thus this system produces some kind of output. It might be an image, it might be text, it might be a webpage. And you don't really know what this data is supposed to look like. So you have a rough overview. It should obviously not be, well, totally defective, but you don't know the details. And you ultimately ask the computer to do the same stuff that you did earlier with the rubber ducks. So you say, okay, computer, please compare the output of my current run with all the previous runs. And if you see something that's different, then please notify me and I'll have a look. But maybe whatever now happens is the new normal, the new standard, and we'll just continue with production. Okay, so bringing this back from our ducks to my computer-like things. This could mean, for example, if you look at the website, if you look at the website here on the left, there are a lot of little document, well, little elements that might, may have changed, may not have changed. It might be a log file. So maybe you monitor the behavior of your old system with a log file. And you want to know, does things change? And those things get slightly more interesting. Of course, you would need to make a decision. What do I actually look at? In an example of the log file, do I only look for the presence of some log messages, or do I want to make sure that certain errors are not there? Do I compare execution times? So what you really want to do is, take an established known good output, compare it with the current results of your execution, and then write a program that compares some part of the past execution with the current execution. And if this is not the same, well, notify you. And ultimately, that's all that is to this talk. So we will just go through some more further examples, provide some details, and show you extremely simple implementation houses can work in Python. So I think it's not even on GitHub yet. I think it's 100 lines. Okay, I hope that's interesting. So when would you use this? Maybe you have a legacy system and don't really know the outputs we talked about this. Maybe you have an extremely large system of data. So you want to compare, let's say, well, a large data set, and you don't really want to write many, many small assert statements, but just want to compare the output. Or maybe you must just do some small changes and ought to make sure that there are also just some small changes in the output. Yeah, and this is all the process we have to implement for this. So we have a program and we run our program and capture the output. Now we have some files or maybe some data set entries that show us this is how things normally look, what they should look like. Then we change our program and then we run it again and capture the output again. Now, if nothing has changed, so we can assume that if we catch enough output, that the program is still correct. So if you do some calculations on a data set and have maybe some two Excel files and compare, well, the results in Excel file one from one, one from the unmodified programs are the same as an Excel file two from the modified program, but everything's the same, then it's good. Now, it gets slightly more interesting if you ask yourself what we like when things are different. This brings us into the, well, why these kinds of tests are actually known under different names. So what I call a gold master test for activation tests because the execution without characterizes the run. They're called approval tests. It's the assumption there that you'll have to approve changes quite often because they're quite often, well, that's our program changes, changes also the output. Or you could call them snapshot tests because especially in web programming, the JavaScript world, you basically take a snapshot of your web page compared with another snapshot and compare whether things still are still correct. So you might find this with, well, under different names. Now, the most simple way to implement this is just to say, okay, I capture all the output, whatever it is, compared to all the new output and if there's something different, I'll have to look. But this can be quite tedious. So imagine you have a program that produces, let's say a couple of megabytes of output and log data, a log file or you have a large website that you generate with some jungle templates. You don't really want to say, okay, something's different, how do I find this? So you need to do, you need to look at some implementation decisions. If you follow this execution flow, we, first of all, we want to introduce this in our usual test framework. So we want to have some things that we can insert in a certain statement. And we want to check if data already exists. If no data exists for this test, then we just capture whatever we want to produce. If we want already have data, then we have to compare it. Then we'll have to create something that our computer can help us or that Python can help us to compare. So essentially we want to diff some part of the output. And when we do this, we can run our test. We have now a slightly smaller part of information that we need to look at. And we can hopefully look at the diff result and approve or reject the test results. That's an essential part. The first part is a search check data will trigger whenever there is a change in the part of the output that you specified. And the approval process, that's you where you say, okay, that looks different than the last time, but it's still okay. Well, and in order to keep this manageable, we'll have to make some design decisions. We cannot in good conscience say that we just capture everything.  Do we look at our project, our program state? So maybe we just use an automated debugging and capture whatever the internal data structures of our programs are like. Do we look at a log data? Do we look at a textual output and Excel file, et cetera? So what can we look at from our programs that would tell us whatever we're interested in? Then the next question is, how many tests do we actually want? If we have just one important output, let's say just one Excel file, might be tempting to say, okay, we just compare everything. As soon as the one cell in this Excel file is changed, we want to review it. Or we could say we break it down. We make, let's say 10 tests and each looks at a one specific part of the output. So maybe at a different worksheet. Or if you have an image, maybe you say only look at this particular area of the image because that's where we maybe in a graph print out some of the relevant information and the rest is just, well, more for interest. We have to decide how do we actually store whatever information we're interested in? Because at some later point, we want to be able to go back and look at this information. But first of all, have our computer compare and tell us what's different, what has changed. And we want to also be able to look at it ourselves and say, is this the change that we really find relevant? And well, to make finding the differences easier, we also have to decide on how do we actually div that? If mentioned that you, let's say have a Python program and you write out some the internal state to disk. So you could use pickle, you could use JSON, you could probably and write it out as a, well, purely textual presentation. You could write something yourself. And depending on what you choose, you have more or less readable data and you have different data volumes that you would need to look at. Well, and finally, whenever you do something like that, there's always something in your data that you're most likely want to ignore. Let's say you have a run that you do every day and you create a log file. And this log file most likely includes the current date and time. If you just did a comparison with the date and time, then you would have a change in almost every line for almost every run, every day. So it would be, well, you would say that everything has changed. So whenever you design such a system, you would need to decide which of the data that I want to use for my comparison. Do I want to throw away? Do I want to ignore or do I want to simplify? The same with floating part numbers. If you have floating part numbers, maybe you don't really need all the digits, but maybe you just take the first, let's say three digits after the point and move from there. And, well, these are all things that you can decide for your little program. So what do I want to test? What it is that I'm really interested in? How do I want to represent it so it can easily compare it and see whether it's still what I expect? And what are the things that will change with everyone, even if the program itself hasn't really changed? Yeah, and what I did for this talk is I went for an extremely simple approach. The reason being is that while you have some libraries that can do that for you, what I found that these libraries can only provide so much in terms of workflow. So they help you to integrate your tests with a pie test or with other unit test frameworks. But all these decisions that we saw before are decisions that you won't have to make for your program. So the libraries, for me at least, didn't add too much. On the other hand, Python provides us with a lot of interesting little modules and what building features will it that make it quite easy to take a piece of data, transform it in such a way that only the relevant parts remain and later on compare with something different. And yet for my little test case, I just went with basic JSON format. I went for JSON pickle, so I can pickle an internal data state as a JSON file. But well, if you wanted to do something different for an image, you have pillow for data frames, you can either compare them at Excel then you have even an external diff tools for Excel or you could also write them out as JSON. That's one of the things that is, well, we're Python and build master testing work quite well together because in other programming languages, you would either have to implement everything yourself or you would have a harder time to represent internal state in its own difficult format. To a certain degree, we talked about that. So what do we want to ignore? In essence, everything that will change even if you didn't change the programs that you want to test. So everything's changed the same anyways. There is no reason to keep this data in. On the other hand, if you have a log file and you want to compare execution times, so don't really care whether it's executed on a Friday or on a Wednesday, but you wanted to know from the time that this particular program part started to the end of this run, it shouldn't be more than two minutes, then you, well, would need to look, take this log file and transform it so that you have the difference in time while you ignore the total time. And we already went for that. Most likely you would start with just one large test or a couple of large tests and then realize as you execute them that you have to approve too much at once. It shows you too much data and then you break it down into many smaller tests. Yeah. And, well, once you have your data, you won't probably want to start, meaning that, well, first of all, you have to be able to compare it to the next run, but in some cases, you might even be interested to see how it changed over time. So you don't even compare the latest with the previous results, but you go back some time just to avoid that you have some drift in your data. It could be interesting, for example, if you don't really program the system for one specific output, but if you train some kind of model and want to look into drift in the model. Okay, now we go for extremely simple implementation. It's that we keep things extremely simple here. So I just use JSON pickle to have a more or less human readable, but also machine friendly format. You could use X and I, you could use a custom text format, but for most of the things that I worked with, JSON is usually something that is easy to get and good enough to compare. I just went for standard unified diff. We'll see this in an entire example, but it just allows you to see how did my object change. And what I did here was just, I write some JSON files somewhere in my data dictionary. So close to my program code and I just keep two version, the QN version and the latest version. And I just write four operations. First is a check operation called check operation as you will see with the name. And it just tells you, this is my data. This is the name. Please compare it to the previous one or if you don't know it, store it. You have a list operation that is usually something that you would run from a command line that just shows you what the human status of all these code master tests are. So it's currently a conflict between two different versions or do the versions, other versions equal. And finally, for your approval process, you have the review and approve steps. Review just shows you what is different between the current and the last result. And approve just tells, okay, I know that this latest version is different, but that's okay. Just save it as it is and consider the new changed version, the new, well, code master. So the version that you test again. I went extremely simple here. So I just have a simple Python class just for testing purposes and well, some different data types in there. And for the store example, we'll just use two different instances of the data. So we create just one class instance with all the default data here. And then we just change it a little bit. So we remove one entry here and we change some data here. So what we can do here is that we don't really have to filter and ignore anything. You could always say that when you prepared the expert that you take your export JSON and just remove some of the keys, but for simplicity's sakes, he would just look at everything. And this is what a standard run would look like. So I just have one little class and this class just stores where it should keep the queue and golden masters. So all the data that we're working from. And then in order to run or to use golden master tests, assuming that we don't have any data previously saved, we just take our test data or test class and provide a name and say check. The first time we say check, we just save the data. So as you'll see later, we just create a JSON version and write out this JSON version. And since there's nothing to check, this would be a success. Now the next time we run the same thing with the same test data and with the same name, it, the assert statement will still be true because the data hasn't changed. Now normally you wouldn't run those just after another, but you would say this is my test one in between these. Okay, thank you. This is my last one. This is my next one. Nothing has changed. Okay. Now if we have some change data, then the same thing will happen. But now the assert statement will fail. Okay. So I know that my results have changed and I have to approve the results, different code master. What I can then do is just list the differences and see, okay, test one, everything's okay. Test two, there's difference. So I'll ask them, okay, please help me to review test two. So what is different here? And if I'm convinced that the result is still correct, I would just run the approval. Well, and from a user perspective, it could look like this. So you list the results and you see, okay, name one, everything's okay. Name two, there's a difference and the difference is apparently here. If I review name two, I just get the unified diff format. So that's the, well, standard lip library, it gives me and I see some value here has changed. So you see here it's 2.80, it's 2.3. And we have different entries in our array. And if I say, okay, that's still okay. That's basically what I expected. I did make some changes. Then you can approve it. Okay. Now quick run over the pattern implementation. I think it's hundred or 80 lines. Extremely. Well, it wasn't much work. And I guess what I mostly want to show you with this is how many of the required parts are already part of the parking ecosystem. So you can just take your object. Is that say Jason Pickle, please provide me with a text representation. And then we just check whether we have already saved something with the same name. If we have, we just compare it with the previous version. And if it is the same as well, if it is the same, then everything's good and check returns true. If not, we return false. And we save both versions. That enables us to later list which of our tests were different and which of us, which of our tests was the same. So, yes, I guess I'll keep it extremely short on the slide because it's really not so interesting code. You just should remember it's basically 10 lines or less. And then you have we view and we view you just loaded the two different files again, prepare diff and print up the different some nice format. So here it's Jason, but you could also take two image files and just use pillow to say, okay, these pictures changed. Or you could use open pixel and load to Excel files, or it could already be to log files that you have pre-processed with some regular expressions. It's more the idea that counts and releases implementation. And finally, your proof and proof just means, okay, take the new file, move it over the old file, and the whole process starts in you. There are some existing libraries. If you're interested to see how other people implemented this, which is mostly interesting if you wanted to have a really good integration into, for example, pie test or as unit test frameworks. Look at these. This one is, well, let's say the from a live from a code writing perspective, I like it more. It's easier to handle. This one is interesting because it is the Python implementation of approval tests, which was originally written in C plus plus. So it's an interesting different take on how approval tests can work in different languages. And we've already reached the end. Why would you be interested in golden master tests, approval tests, snapshot tests, however you want to call it. Whenever you don't really want to write assert statements by hand. So if you have a complex object, you don't want to test a lot of data at once and assert that every property is the same, but you want to test a lot of data at once. And your idea is that it won't change too much between ones. So, so when you do that, you just capture whatever is relevant, filter out everything that you don't need and compare the two versions with each other. And yeah, when you do this the right way, we take some fine tuning, you will end up in a situation where the computer does most of the work for you and you just have to look at some results and decide whether it's still correct. So it's basically a good combination of machine and your work. Why should you do it in Python? Well, because Python has so many modules that can help you to filter out data into different formats, to filter out data that you don't need to look at different output in so many different formats that it makes it extremely easy to run these tests. So I would even say, even if you work in C++ or another language for your main implementation, it might be worse if you want to have some Python scripts just to run these specific tests. Because, well, it's basic data modeling and this is what I would say is one of the things where Python is really good. Okay. And that was it. So in the future, if you look at a large log file and say, okay, I don't know whether this is correct. You might just start to say, okay, what changes would I look at? What's really the interesting part? Maybe you let's start, I compare everything and then I select a certain part and then I automate the comparison process when this particular relevant part starts. Well, yeah, that's it. It's a simple idea. It gets even simpler with Python. Yeah, we have a couple of questions. The first one is from Andy. It's, do you have any external tools to recommend? Are you asked? So, yeah, so let me tell one more. It's the same form Andy. So something to use without editing the code. The code. Yes. So the assumption is that your production code should not be changed and you want to compare the results. Well, you don't have to do the filtering in your production code. So let's, let's take an example, take a log file. You could say I have run as part of my test preparation. I just break the log files into different segments and filter all the data. The result of those is what is finally saved and compared. And for external tools, there are many different diff tools. So I'm on the mega loose and use a kaleidoscope, which is basically just a three way diff that can also compare images. And since most of the forms that I would work with are somewhat textual, it works quite well. So it can compare pretty pretty Jason for example. I guess that Excel, for example, does have some kind of diff functionality. So you could use that. But I think ultimately the idea would be to combine some preprocessing. That's a filtering. And maybe some external tools or, well, if it is as simple as here, just print it out. It depends on how large your test is. And if you, if you put one use two megabytes of output and you don't want to change your code, I would still preprocess it. So you could look maybe at 10 little files and the initial approval test, the automatic path sees that something has changed already guides you to the changed interesting segment. So Andy has a follow up question on the same. He's saying whether this use, whether like if replacing the Apollo version with Python script. Will that fit in that use case also if we just change the, or replace the CEO of all version with the Python script. The Apollo version of, of the, of the program. Of the product of the system on the test of the production system. I suppose. Yeah, why not? It depends on how much data you need to process. So to give a counter example, if you will see program is some kind of video editing software and you have gigabytes of data that you have to test in something resembling real time, then probably you would need something that is extremely optimal or quite optimized and maybe you could invite a simple Python script. But if it is something where, well, that can normally process and Python, I would use it in pipe. Of course it depends. If you have everything as usual, if your whole organization only know C++ or C and use the only Python program or sale, then you probably wouldn't want to do it all in pattern because your colleagues couldn't work with it. Yeah, it's, that's why there was this slide with the design decision. It depends extremely on what you want to do, what output you have. So, for example, if you had video, I'm just thinking aloud, you could say, okay, I'm only look at every fifties frame and I want to see if there are large differences between what I would expect. So if I would usually expect somebody in front of a background like you with a European background and says something completely black, just a black frame, this is something that you would need to review. It's a thing. It's a tool. You'll have to apply it. That answers the question. We have last question from Christof. Yeah, you were to say something. Yeah, so if we want to get more specific, maybe we can do it afterwards in the chat. So I'm quite curious what the scenario is. Yeah, so one question is there, like, is this valid for database tables also? And if so, are there any frameworks to do so? I'm not aware of any predefined framework. I'm pretty certain that you can do database diffs. I would be extremely surprised if this wasn't a thing given, well, how central databases are. I guess what I would do just for me to keep the number of external libraries and external tools down is say what I'm primarily interested in and print that out. So if I have a standard test run that creates a customer, does some transactions and then writes it out, then I would look at these customer records only, even if I have some couple of hundred thousand other records in there just for load testing purposes or to provide some background. So the filtering part and the selection part, what is the change that I would expect? What do I want to look at? Well, that's something that is extremely application-specific. And, well, to come back to the original launch, I would just try to get it into some kind of difficult text format, also because I can then stir it and get some other format and look at changes over time, but it almost depends. So if you're talking about terabytes of data, that wouldn't work. All right. Thanks a lot for joining. People, please join in talk, test, writing, write themselves. Brian Breakout Channel for any further questions if you have. Thanks a lot, Stephen, for joining. Welcome. Have a good, the women of the conference. Thank you.


Daniel Muika is an anthropology graduate currently working with the University of Nairobi as a research assistant in one of the university's projects. So, hit my life growing up, a very, very humble boy, a boy who's always been top in the class. Ya, I have almost been top in my class all the way from nursery to primary to secondary in campus as well. I really, really learn a lot from the people who are around me. So, personally I think my passion for volunteering and my needs from my mother.  So she's a counseller. So as part of being a counseller she has done a couple of community projects and she has been a community health volunteer. So I grew up seeing my mum doing a lot of community volunteering, seeing people who are sick, especially patients who are HIV positive and cancer patients. So just being there for them, giving them counselling and ya, just taking care of themselves, especially psychological needs, really, really gaslighted me towards volunteering and seeing this as something that I can actually take up and gain inspiration from. I'm currently a research assistant at the University of Nairobi in one of its projects called the TMC project, Tools for Integrated Management of Childhood Illnesses. Ya and I'm very, very passionate about volunteering, very passionate about humanity and charity. So anthropology being the study of humanity, the holistic study of humanity, I wanted to understand more about people's way of life, what influences their decisions, is it their culture, is it their socialization. So basically how people interact and how people behave and how culture acts as a, how culture informs people's way of living. The course is really, really interesting. It is very holistic. So you get to understand different aspects of human life, the biological aspects, the physical aspects, the cultural aspects, the social aspects, the linguistic aspects and also the applied nature especially when it comes to day-to-day living. So in connection to my anthropology career, I am a qualitative research assistant. So the methods of research I use are the qualitative methods. So basically what we do is we are in a research study whereby we are trying to understand childhood illnesses and how to mitigate them, especially for children under five years old. So a key focus is on three counties, Kakamega, Kitui and Wasengishu. So there are some tools that have been introduced in the facility and we are trying to see if these tools are used and used in the right way and even the health providers being taken care for training on how to use the tools. We need to mitigate these infections, these diseases or more needs to be done. So in partnership with the county governments, these county governments in MMOH, we are able to inform on the intervention that is placed in these counties. My former lecturers who happen to be some of our research leads, they really provide mentorship to us, especially considering I am a really fresh graduate. I really need these skills in research, these skills in field work and having opportunity to research assist in a project this big has really given me the guiding step stones towards a successful career in anthropology. Since he loves volunteering, he has participated in a number of programs including Heroes for Change, a volunteer program in Kenya that provides a platform for college students to effect change. So I was in Heroes for Change in the second cohort, not the first cohort. So while I was in school right here at the University of Nairobi, I saw posters, Heroes Wanted, Heroes Wanted. If you want to be a hero, send your details to this, this, this, this, then you apply. So I sent my details and I applied and after a short while I received a call, I had a telephone interview whereby they asked me about the program and my passion towards the program. First they started asking about my main interest towards charity and that was a bit easy for me because I was really really passionate about charity. Visiting children's homes, doing community cleanups and I'm very passionate about charity. But now they ask me about charity and now they ask me what I know about the program. So luckily I had done a bit of research to know about the program considering that it was the first cohort. So I had seen what the first cohort had done so it had interested me in wanting to do what they would do. And then you see in the poster it was a picture of some superhero. So I really wanted to be a superhero. Not only in my small own way, I know I can be a hero because what's the definition of a hero? A hero is someone who saves lives. So I want to save lives as much as I'm not going to be having the Superman outfit but I'll be able to help a life or two. So what Heroes for Change does, it empires you with the skills and the knowledge. Then you in your free time do get to reach out to the community. So in my case I was in the school of five programs so I would use to reach out to primary schools and go there ask for appointments with the head teacher. Sometimes you'd get rejections whereby they're like oh you know we're too busy to even have time for you to talk to us. We don't even hear in what you have to say but for some they're very welcoming and you'd go there ask for an opportunity and talk to kids. So for my program specifically what was million hand washing as a hygiene practice and I was able to reach out to schools within my area because what Heroes for Change does it actually allows us to reach the schools within your reach because it's purely volunteering. So reaching to schools within your reach is easier because you're able to cut down on the cost and you also feel better when you impact the society first and then as you grow your reach. So onto my second point which was on time so time is of essence so a lot of essence when it comes to setting the bar for yourself as well as building yourself to be a greater person in this life. So personally I believe education is the passport to the future simply because the immense opportunities that education can unlock for you it unlocks your mind, it unlocks opportunities not only in employment but also networking and interactions. Also education kinda sets you apart as a human being because you're able to see the world in a different view. You're able to learn about how other people think what informs their thinking how other people interact and what you need to do to be in association with a specific people a specific organization a specific group. The programs for a number of students participate and the winners were awarded at the end. The feeling was really really amazing especially in the first day now after I've been selected and then I got the email that you know what you've been selected and you've been put in this program so we are now called for an induction so in the induction I met so many young people who view life differently who are doing different things who have other organizations they are running and me am with them sharing the same table sharing the same ideas you know working together with like minded young people was quite a thing and specifically on this platform the Heroes for Change platform whereby you've been trying to understand people like I said I'm coming from Gando which is an area right hand agority agority south others coming from Kajole others coming from other different parts of the city and then now sharing the different challenges we share as Nairobi residents as well and what role we as young people have to play in making the same same same neighborhoods are better place so Heroes for Change had the school of 5 which was mainly for hand washing teaching school going children on the importance of hand washing and the right way of washing their hands and that's what program I was in so there's also the super school of 5 which now other than hand washing it included also face washing whereby you'd also have to reach to communities and teach them how to wash their hands as well and now how to wash their face especially now to reduce diseases such as trakoma there was a brush brush program which is just a program for teaching kids how to brush their teeth under hand washing there's one which you're supposed to go to teach mums expected mums and new net mums on the importance of hand washing especially before handling children so yeah other than those 4 programs there were other programs whereby we'd have global days such as the global hand washing day in the world oral health day whereby we do country-wide activations with other heroes and other organizations which are taking part in the campaign we were close to 500 so we were 100 in Nairobi we were 100 in Kisumu 100 in Nakuru 100 in Eldoret so let me just say around between 400 to 500 heroes so it wasn't a competition but especially for Nairobi heroes it turned out to be close to a competition because the moment you go to a school and then you accepted and then you go to another school and then you accepted so you see they are tracking also the reach so it was sort of like a positive competition especially for some of my colleagues so coincidentally I was I was second simply because the impact is being measured we had numbers that everybody has reached so I was second the top had 34,000 and something just slightly above me and then there was a third and then there was a fourth so the four of us coincidentally used to do activations together so we met up in one of the activations so I remember the first time when I was reaching out to schools so I went to a school and the hero was here yesterday then I went to another school and the hero was here yesterday then another time so I need to know who is this one who is going to the same schools are planning on visiting to teach their hand washing so we partnered with her and we started doing activations together then after that we met another one who was doing the same same so we ended up forming a group of four other than the other heroes to do activations together painful also there are schools I know the person doesn't know and that's how I got to reach to other schools within Nairobi not only within my district area but other districts because we are all coming from different areas so it wasn't a competition but the process of getting the numbers, the activations becomes a positive condition because everybody wants to be a top hero so the top heroes were supposed to be rewarded with internships once they available because heroes change also has partners so if an opportunity would arise in one of the partners for heroes for change then the top heroes would be considered first in such opportunities but other than that the top heroes also taken through mentorships whereby we are able to talk to some of the people who are above us who are before us rather in the public cohort one and maybe they have gotten employment into companies such as Unilever so they be able to talk to us and give us hope and encourage us to be the best in whatever we are doing Daniel is currently part of the advisory team in heroes for change through which he continues to give back to the community so first because I was in the cohort 2 which was done part of heroes for change but not actively because I'm not in one of the cohorts but I'm part of the advisory team was also part of the webinar organization team so when the 2020 when covid was quite an issue here in Kenya we started via some of the heroes within the organization decided to start up a webinar program through the heroes for change whereby we talk to young people organize webinars whereby we talk to young people about social mental health about opportunities that are there you know talent social entrepreneurship so yeah we'd talk about that in the webinars and that's part of I felt like that's actually a growth for me rather than doing the physical volunteering whereby you reaching the community directly was able to reach out to the community now specifically to other young people like me especially to issues affecting as young people so after living heroes for change I volunteered in a couple of other projects so I volunteered in the Kenya Model United Nations but that one was it was mainly about MUN Model United Nations Rules of Procedure so I've gone to high school I've taught kids how now on the UN Rules of Procedure that was a bit directed towards diplomacy because that's also an area of interest I have I volunteered for Uwumbusi Africa especially in a cleaning of Ololuwa Forest those are mainly short short based volunteering programs whereby I hear they are calling for volunteers I show up, I help and I feel enlightened I feel I've changed society in one way or the other the whole point of volunteering is you offering yourself towards a good cause so most of the time you're not being remirated sometimes you might be facilitated sometimes no but even if you're not facilitated then you're chipping from your savings or you're chipping from whatever amount you have you actually feel fulfilled because you know this money went into a good cause so also as a result of my volunteering and heroes for change and other now I have done I applied for the international volunteer forum which was held in Sochi, Russia in 2019 December so I managed to go and I was among the few Kenyans who represented Kenya in the global forum so there I met other volunteers some people who are doing sports volunteering others are doing different volunteering in different countries, different setups different cultural setups and it's so nice sharing you are a volunteer in my own space somebody is in a different space but the end goal is one making the world a better place he there for plans to revisit some of the schools he visited during his participation in heroes for change and give back in the best way he can so we've learnt how heroes for change works especially when it comes to mentoring young people even right now, me and some of my friends ones who are in the heroes for change program the top 4 who I was saying so we really share a lot in common so we recently met and we were like ok so we are done with heroes for change but we feel like we really need to do more for the community why not start something even if we are not going to have the big the name even if it's the 4 of us at least we have a couple of networks within Nairobi we can go to the schools talk to now the young children Israeli adolescents and even sometimes offer career guidance because you see everybody has an ambition everybody has a goal of where they want to see themselves in the future but if you don't have somebody to guide you and tell you that even if you choose this path you know you are going to be happy and you are going to feel glad about yourself so we are planning on not quite setting another program but sort of like revisiting some of the schools we did while doing the program and talk to the young people especially now the ones who are about to live the primary schools heading into secondary try to motivate them inspire them and give them a bit of a glimpse of how life out here is you know and lead to them the pathways if you take this path it leads you somewhere so give them the options help them make proper decisions and informed decisions in terms of their life the future is very bright simply because you always have to be positive the moment you add a bit of negative to your thinking we can only but think and foresee the future we don't have a hand in whatever future lays ahead of us but the moment you think about the future in your positive the future is definitely going to be bright so if you set the right foundation right now we are sure that the future is going to be bright on his list of gratitude is a number of people and in conclusion Muika's advice is for all to practice good deeds always we need to be so so aware of the seeds we sow illimbegumbegutuna panda katikamaisha ya other people let it not be a seed of hatred wa tikuwe imbegua prosperity a seed of love we are all one people diversified in culture united by one flag one color we are all of the black race let me say that but no anyway we have one people here in Kenya so and we needed by the one purpose by one language one flag and one goal purpose which is to unite and swangeza kanyambele


Crocodile tears over Navalny while ignoring Assange. Notes from the edge of the narrative matrix. The entire Western political media class are currently rending their garments about the prison death of Russian opposition leader Alexei Navalny, and are being joined by the propaganda-addled citizenry of the Western Empire. Meanwhile, Julian Assange's last-ditch effort to appeal against extradition to the United States is coming up in a few days with a tiny fraction of the attention. I really could not have a lower opinion of people who would rather talk about Navalny's persecution in a faraway country that has nothing to do with them than Julian Assange being persecuted at the hands of their own government.  Oh yeah, you're so brave, self-righteously shaking your fist at some country on the other side of the planet which has zero power over your own country, while refusing to oppose the power structure you actually live under as it slowly kills a journalist for exposing its war crimes. Groveling power-worshipping bootlicker. Absolutely sickening.  Whenever I see people screaming about the persecution of journalists and political prisoners in other countries when they themselves live in a nation whose government is persecuting Julian Assange, I can't help but think of Matthew 7-4-5. How can you say to your brother, let me take the speck out of your eye, when all the time there is a plank in your own eye?  First take the plank out of your own eye and then you will see clearly to remove the speck from your brother's eye. What could be Assange's final appeal effort against US extradition happens February 20th and 21st in London. Free Julian Assange. Egypt has reportedly begun constructing a walled camp in the Sinai Desert just south of the Gaza border in order to absorb Palestinians who get pushed out by the Israeli assault on Gaza. A major capitulation to a plan Israel has been pushing since the early days of the onslaught. It sure is a crazy coincidence how every single step of Israel's response to October 7th has looked exactly the same as it would look if Israel was just carrying out agendas it's wanted to carry out for many years. The Australian government is pushing through new authoritarian laws as someone leaked the contents of a WhatsApp group wherein Zionists plotted to ruin the lives of pro-Palestine voices which is now being falsely framed as a Hitlerite Jew list. My favorite Israel apologist line is the one where they imply you must be an anti-Semite because you've been uniquely focused on Israel's crimes these last four months as though Israel's assault on Gaza isn't self-evidently the worst thing happening in the world right now. The active genocide in Gaza is a much, much, much more urgent and immediate concern than anti-Semitism and should be treated as such. This is self-evident and shouldn't be controversial to say. I used to follow a lot of teachers who talked about enlightenment and spiritual practice and it's insane how many of them have had nothing to say about Gaza or are outright siding with Israel. It's like, what the hell was the point of all the inner work if it leads you to tacitly or explicitly endorsing an active genocide? What good are all your insights and realizations if all they do is make you feel nice inside and don't translate to any positive effects on the world outside your own skull?  If your spirituality doesn't lead to positive changes in yourself and your surroundings it's just glorified masturbation.


Hello everyone, Basel Trapper. This is the 9 a.m. Tiger Financial News Network, a market update. And we're looking at on the 16th of March, Wednesday, and FedSpeak Day, gotta be careful about that. We're looking at the Dow futures up 309 points, nice move, but to really establish some kind of a more, not a short term, but kind of short term to not even intermediate term, but even just a two week rally, a one and a half week rally, we need to see the Dow itself closing one or two days above 34,069, the 200-period moving average, preferably 34,150. That's gonna take a lot of work to do. We'll see how that works out. You're looking at the, I'm looking at the e-mini continuous contract up 42 at 42.96. It needs to get above the 200-period moving average of 43.61 and holds above that for a couple of days to say, ah, now there's a longer term rally, meaning maybe a week and a half or two. Looking at the NQ, the NQ is the NDX100 e-mini Nasdaq continuous contract. We're looking at it up 194 at 36,630,644. The resistance at 14,000 is very strong going to 14,000. I don't know what it's gonna take, but it needs at least to get there and all of them, of course, have to hold the support from yesterday. The IWM, which is the Russell 2000, the small caps is doing quite nicely. It's just stuck in a range and the range gets smaller and smaller. It's at 197.65, up $1.87, of course, it's nine o'clock. Who knows what's gonna be at three o'clock this afternoon after FedSpeak. But we're all looking at gold, which has come back a little bit, but it is down eight at 1921. It needs to hold 1900, closes under 1900, says, just for now, gold is not in play, but I think it will be back in play in a little while. Looking at Crude Oil, Crude Oil itself is up 2.22 at 98.67. This is a good balance, but it has had a spectacular break in an Eiffel Tower, straight up, straight down pattern from the 130.50 high of the seventh. And we're looking at it now at 98.77. The real issue, and I spent some time in my show that was prerecorded this morning, eight o'clock to nine o'clock. It'll be replayed at 10 Eastern Times today. It's at 131. Bond, the TLT has done all the work for the Fed already. It's already seen rates very much higher. All they have to do is formalize it. I have a wonderful day.


Mr. Utterson visits his good friend, Mr. Lanyon. They have a conversation about Mr. Hyde. Afterwards, Utterson goes home and goes to bed. He has these dreams, terrible dreams, about a man who tramples another person. Are you curious? Go ahead, read.


If I'd like to first start by sending my thoughts and prayers to a lot of people down in South Louisiana that were affected by Hurricane Ida over this past weekend, my wife's from down there, a lot of close family friends who have lost everything and are starting over. Heart pours out to them. I got to spend a little bit of time down in that region when I was coaching at Nickel State and just so many great people that I got to meet and reached out to all of them, everybody's safe, but just a lot of rebuilding that's going to have to take place for a long period of time. Tough couple of days here for us. It's always that way as you transition from training camp preseason over into the regular season, making the roster cuts, but still got some work to do as some players that will come off of the COVID IR. But we're at where we're at and excited to watch these guys compete this fall. With that, I will take some questions. Did you feel like there's some more here in the background? Did you feel like the players on the COVID list maybe give you a little bit of advantage that you can sort of be patient with some guys? Yeah, I don't know if there's really any advantage to the COVID list.  It's the way it's the structure that it's set up. But like I said, we've still got some work to do here over the next couple days. There's got to start to come off of that. You've got to make corresponding moves. We're still working through that, talking through that. But it was a really, really competitive camp. And we'll continue to work through that. I see the big move out of your releases, Fitzpatrick. Your fourth-round pick, you moved up to get him. What went wrong? How did it get to him not being on the roster at this point? Yeah, I mean, I don't know that anything went wrong, T. It's some players, it takes some longer to transition to the pro game. We've seen that before with a lot of our guys. Jerry McNichols was a draft pick. And he's bounced around with several teams and been on practice quads. He's been on our practice squad. He kind of carved out a nice little role for himself here now. Tierra Tartt, Derek Roberson, Logan Woods. I mean, there's a lot of guys that have started there, have continued to work and build and try to improve their skill set, which is what we expect to desk. And I challenged him to come in every single day, work to be better. He knows what the expectation level is. I know the capabilities that he's capable of. And the only one that can change that is him. So we're excited to keep working with him on the practice squad. Specifically, John, where specifically did he come up short relative to what you thought you were getting? I mean, I think there's a lot of areas. He's diligent. He's a hard worker. He's a great guy. There's so much. It's a new playbook, knowing where to line up. How do I execute this? Where do I fit on this run blocking scheme? How am I supposed to run this route? There's a lot of details. He's got the skill set. It's the details and the improvement. He's just got to continue to focus on day in and day out. With the back-of-quarterback situation, guys, where you from at Barclay today? What stands out about Logan Woods side and how has he been able to maintain his hold on this job? Yeah, it was a really close battle. When we made the move early in camp with Deshaun Kaiser and then brought Matt in, I thought it made the position extremely competitive. I thought both of them battled every single day here in camp. And in the pre-season games, I thought Logan played well in the first one. I thought Matt played really well in the second one. And I thought Logan kind of took the range there in the third one. They're both extremely diligent. They're both going to help us this season. Matt Barclay is signing back to our practice squad. Hashtag breaking. So excited to keep working with those guys. It's good to have a veteran guy like Matt here. You're working with us. And he and I talked. And you never know when that opportunity is going to come, to be up on the active roster, to play in the game. This is a long season. It's a tough game.  And to use Barclay as a quarantine guy, will you keep him separate from the team? We'll talk through all that, Dave. Yeah, we're still working through kind of how we're going to set that structurally up. But excited to have him back and continue to work with him. Pretty thank group. Decisions changed with the vaccination. Last year, you had the long onboarding process for new guys this year. If there are facts, you don't have to go through all that. Say that again, Lou, sorry. With the VACs, does that change anything whereas you don't have the onboarding process that you would have had with guys last year? Well, it changes the onboarding process. Yeah, I mean, if they're vaccinated and they meet, they fall under the testing or whatever, they can enter straight away. You don't have to quarantine them and wait. So whatever that testing cadence is and that onboarding process is, that's what we'll follow. Because I don't want to say short term IR today, speak to your health, or does it speak to the freedom you have with the roster right now given the COVID situation? Probably the latter, Paul, probably the latter. We're still working through, like I said earlier, some of the roster things about how we're going to treat some of those guys, how long some of these bumps and bruises are going to take. I think the rule that passed that the return to play the short term IR is beneficial for all clubs so that you have access to all your players. I want to say for me, Mackay, Sergeant, to earn himself the spot on the initial 53 and how much did injuries and maybe Jeremy going on the COVID list kind of complicate that position for you? I saw a guy who we handed and we handed him the ball. He was decisive as a runner. He hit the hole. He tried to run through contact when somebody tried to tackle him. If we scored a touchdown and he was in there, he went and lined up on the kickoff team, ran through whoever was trying to block him and tried to smoke the guy with a ball. So I think when you have that approach to your position, to the game of football, it's certainly made my decision and Mike's decision a lot easier to keep a guy like that around. Pretty big, yeah. I'm a lot of defensive backs on the initial roster, 13. A lot of them are our safeties, just kind of what went into that decision to keeping so many of those guys at that position.  But I mean, all those guys earned the right to be here. They all have different roles. Some of them are more special teams. Some of them are more defensive players. But we're still looking at the roster as a whole and trying to decide numerically how many we need to keep at this position or that position. In anticipation for how we're going to attack the fall with respect to guys that are going to come off COVID here at some point. You guys haven't always had a real big depth at wide receiver. How difficult was this year's group to make those decisions? A lot of arguments for a lot of guys, I guess. Yeah, it was not a fun thing to work through. But it was something that I'm proud that we had to work through that and trying to make some hard decisions. I'm excited that Mason Kenzie's back.  And he's grateful for the opportunity. But all of those guys, we were fortunate to have some depth there at that position. And we're going to need guys at some point. Like I said, it's the same thing when we're talking about the quarterback position. You're going to need guys to step up at some point. Fortunately for us, we've got some depth there and can lean on those guys. Any idea in terms of how long Marcus Johnson and Josh Reynolds will be before they're up to 100% anyway? Yeah, I haven't met with Todd yet. We had some of those guys in today still working through treatment plans and anticipation of when they're going to be back out here. But both of those guys have certainly had really good camps and excited to work with them. What is it for Levin to come in here? He's got some experience here that he can just kind of slide right in and pick up where he left off when he left. It saved us a flight, that's for sure. Because when I called him and asked him, how do we need you in New York where to get you down? I said, no, I'm in Nashville. I was like, OK, well, we'll just gas up the tank and drive over. But no, he knows the system. Obviously, we drafted him here. He'd been on the roster a little bit. And when I went back and watched through the preseason games, he was a guy that played both guard spots. He played center. He played a lot of snaps. I thought they were really, really competitive snaps when he was in there. He stylistically, he plays the way we play. And from a scheme standpoint, he knows the scheme. He knows Keith. And it was good to get him back to provide some depth in there for us. John, the Falcons owner said yesterday that Julio Jones not practicing over years was kind of a sticking point with the coaches in front office there. Are you concerned at all about that long term with him here?  He's in here early. He's working to make sure he's ready to go. He did some stuff yesterday, you know, and we'll kind of see how it goes the rest of the week. And I'm excited to watch him out there on Sundays. One decision it looks like you guys maybe went with kind of an upside and potential with Roberson over a vet like Simon. Is that accurate? Is that basically what it come down to? Yeah, you know, I thought that, you know, Roby has, he was kind of up and down last year for us. But I thought he really did an outstanding job of in the off season, dedicating himself to improving. It certainly showed in practices, showed up in the games. I thought he was executing the games and the stunts and some of the stuff that we ran technique-wise, what we asked of him much better. And thought that he earned the spot. Thought he earned the spot. What would you say has changed for Thierre Tarkin? Last year at this time, he was one of the guys probably like sweating about making a roster. Now here he is, a possible starter. Great off season for Thierre, you know, continues to work on consistency. He's a big, strong man that has length, that has power to create knockback at the point of attack. And, you know, he's got some power to push the pocket on the pass as a rusher in there. Really did a great job of dedicating himself, I'd say much like Roby in the off season program, to changing his body. I told him, you know, I poked him in the shoulder and I said, you've got bumps where you're supposed to have bumps now. I'm not hitting bone, I'm hitting meat. So he did a really good job of working out and changing his body, you know, getting it ready for the NFL season. Started to become clear that Daquan Jones would be back to deserve a conversation where he came to. I know this is an opportunity. What do I need to do? Yeah, I think these guys kind of see that. You know, he's got a great relationship with Big T, Coach Williams, our D-line coach. And, you know, T's pretty frank with those guys. He's pretty upfront and honest with what the expectation level is. And I know Tiair took that to heart. He's got a great relationship with him and challenged him. You know, challenged him to step his game up because we all saw the ability. It was about Tiair dedicating himself, which he has. And I'm proud of him. It was another one that I think was on the practice squad or, you know, he was cut last year. He kind of bounced around for us. And now he's going to play a lot of meaningful snaps for us. I told us lately about the drastic difference in culture from when he got here to what you guys have now, if you were kind of to classify what you and Mike have been able to do in that department, how would you do it? Yeah, I mean, I think we treat these guys, you know, the way that they treat the team and they respect the team and we respect them. We work hard. We push each other. The players push each other. They enjoy coming to work every single day. And you can have honest and frank conversations. We hold each other accountable.  They're about working hard. They're about committing themselves to a team effort. And they enjoy coming to practice. I mean, that was one of the things that Mackay said after the Falcons game. He put his arm around me. He's like, I can't. Can we practice tomorrow? I'm ready to go. I'm like, Mackay, you got to get a day off, buddy. This ain't Iowa. I don't know what Kirk was doing. That's the type of guys that we have in the locker room. Guys that love ball and want to come to work every single day and commit themselves to helping their teammates win. How much did it do for your peace of mind and maybe everybody's in the building to make the decision at kicker relatively early the way you did? Yeah, I think Sam, you know, he's done a great job. He's kicked before in the league. So to be able to add him and him come to a new environment, assimilate himself to the way we do things, formed a great bond with Brad and Morgan, the timing and the snack because all that stuff is important and where does he want the ball plays? How does he want it tilted? All of that stuff plays into the kicker. And he's done a great job. They got on the same page quickly. He's been really good for us. And I'm excited to see him kick it through those yellow things this fall. Hopefully the P.A.T.'s. Sorry, you're surprised Dylan hasn't been able to get in the mix at right tackling at this point. Where do you see his future? Yeah, he's another, I mean, he's a guy that, you know, it's a smaller school in North Dakota State. I think they won 48 national championships in a row or something like that. But, you know, they didn't play last year and he played one game and then he played in the senior bowl. So he kind of missed a year of football a little bit. He's gotten better. He's gotten better with his hands. He's got to learn to continue to use his length and lean on his technique. You know, that's the big thing with offensive line play. It's about the technique that Keith and Sully, that those guys work day in and day out when you get yourself into, I would say, a precarious position as an offensive lineman. The defensive linemen in this league aren't the ones that you played against in college. And you can't get away with just trying to manhandle or maul somebody because you're bigger and stronger than them. These guys that you're going against are the same size and bigger, if not stronger than you are. So you've got to focus on that technique. And, you know, for offensive line play, that's, we teach things a certain way and it's learning a new skill set. You know, it's, I don't know how to write calligraphy, but I would imagine it would be like, you know, you're writing in cursive and then you got to try to write calligraphy and it's different. There's some things that are similar, but he's focusing on those details, those technique things. He's getting better every single day. He stays out here after practice and works on his, you know, his stances and his punches and all that stuff. So I'm excited about the upside of it.  I think the cool thing about him is that he can play several spots. You know, I think he can play guard and he can play tackle. There's some players that when we evaluate him and that's one of the things we said in the evaluation is, he's a player who can play a couple of different positions and that's valuable in the NFL. Sometimes they're only a guard or they're only a tackle and it's kind of hard. It's hard for those guys to stick if they're not the top backup or the starter. So his versatility is, it's certainly going to pay off for him and for us. First Caleb in terms of readiness, I don't remember, I mean, you guys talked about the back but I don't remember you talking about knocking or rust off and him not playing last year and not being in the position for a long time. Yeah, I think Paul, he's another one that's steadily gotten better. He broke up a pass yesterday in practice. It's his technique too, it's understanding leverage. It's understanding where your help at. Help is if you've got safety help or if you've got people inside of you, you can push those routes in there to your inside, help coverage-wise and kind of peel off. Learning those things, learning the techniques that we teach, he's steadily gotten better in my eyes from a movement standpoint, from a technique standpoint, practice after practice. After an off-season where you had the reduced salary cap, all that, how confident are you with it the roster you put together now is improved from the team that lost at Baltimore? I mean, I think everybody's optimistic.  We're all ultimately going for the same goal. Our short-term goal is to get ready for Arizona and we're gonna take it week by week. That's what we believe in. When you start looking too far ahead at the ultimate goal, there's some things along the way, some hurdles along the way that can trip you up. So I mean, it's a week to week league. That's how we've always approached it is focusing on our opponent, which right now it's Arizona. Get ready for those guys and trying to start the season off right. Snuck one in there, Jim. How good to get Mike back and you feel like you and him and maybe the staff made the best of what was a tough situation? We tried. I'm tired of blowing the whistle, Jim. But it's good to have him back. I mean, he's such a great leader on the practice field. The players respect him. He's got a wealth of knowledge about the game of football in all three phases. He's a teacher. He works to inspire guys to go out every single day and improve. So to have him back leading the football team, he had a grin on his face this morning as he was parking his truck and walking in.


How's it going everyone Caleb here with late in sports cards next tonight? We have the 2021-22 Panini impeccable basketball three box case break number 49 pick your team style This is a pick your team style break. So I'm gonna read you off the teams that you do have in the break Thank you for joining Bozaya be with the nuggets and clippers braiding K calves and thunder Brian K magic Brian W Heat CWM with the Rockets I got Eric C Raptors Harper B Hornets and Grizzlies James B Mavericks Jeff L Lakers Kenneth G Celtics We got man Y with the jazz Matthew W Nets Matthew X Timberwolves and Kings Nicolay N with the Bulls Roger H Bucks Roger G Wizards Ryan L Sons Steve H Piston Steven G Blazers Tox C is the 76ers Trey H Hawks tongue P Nix you fee z with the Pacers Human Z Pelicans Unchin S spurs and you to see with the Warriors. Thank you all so much Let's get it going Yeah, I mean F1 sells well in general, but anytime you're gonna get portraits and Any like numbered or anything like that that is gonna be correct. Yep All right, let's get to it Thank you again Here we go Good luck everyone basketball time F1 is crazy popular right now. I would say it's still really popular right now It was crazy popular like two to three months ago, especially I would say it's still really popular though. Yep, oh Man, it was super popular like two or three months ago when there was that big race in Miami The first US race really brought some hype. Oh, yeah, here we go Good luck on impeccable No war tiered random teams is up next. All right fantastic. We have a bar card Seem to not get those too often empty Never impeccable hears you break and they're like, no, right that will be saved until the end guys Open that last the break here. Isn't there one in Vegas now to driving down the strip? Really? I do not know So 49 clay Thompson if that's true, that's sick to 75 Deandre Aiton I really don't know on that Kawhi Leonard to 99 Clippers We got Jason Richardson warriors impeccable victory. That's to 99 Warriors Jason Richardson this year next year. That's awesome Rockets here elegance rookie patch on a graph to 25.  Yeah, we got a retention It is Elegance rookie Jersey auto Scotty Barnes boom Congrats Raptors great card for you We pull a Scotty every time man. Just love it though Love it. I think he is gonna be fantastic Congrats there Raptors or rookie autos in one box That's pretty solid. Yeah You can still see Davion Mitchell getting some time of energy Developing a bit. All right, there's gonna be a silver metal card and box is empty. Let's do that metal card first here Imagine That's how fast Sam drives home. He said Charles Barkley for the Sixers To 75 that's crazy Man that is sick though wild That is pretty sick. All right base cards to 75 Julius Randall and numbered to 35 Carmelo Anthony got base here for the Warriors staff Curry to 99 redemption behind it is Nemis Keita impeccable impression signatures King that's only double check. Yeah, I'll double check it still just to be sure I did not remember that one Peckable basketball checklists Gonna give that a look quick came we'll get right to the next card It's a Q you why is it not popping up on there? Come on. Pull it. It's one seconds. I don't know why I didn't pop up on group break. I think it is Kings You're right. Yes, I can't impress Yes, yes, thanks appreciate Don't know why I wasn't pulling it Kings.  That's gonna be a silver card Like I said nothing against Still a very very respectful player empty Let's get it going everyone. Good luck One of 49 Kade Conningham nice There you go pistons Congrats on the Kade It's all messed up, but that's just the cover of the card. You need to worry you can peel that off All right, here we go. Good luck everyone and thank you as always For joining a PYT of impeccable tonight Here we go Terry Rogier to 35 and Bradley Biel to 75 yeah Jason Tatum there to 99 Celtics Packable autographs extravagance to 99 Jay Sean Tate We've got a Charles Bassie autograph 16 of 99 rookie patch auto there elegance rookie patch auto 76ers for the spurs gonna be autograph impeccable victory nine of 35 Tony Parker Nice Very cool Tony Parker there nice one and then last up for the Nuggets patch autograph tough 49 Nicola Jokic boom Nice ending there congrats Nuggets on the patch auto absolute beast Jokic that'll get magged up for you Nuggets and the only thing that does remain is the bar card Good luck all Nice one Nuggets The bar card Detroit Pistons Ben Wallace Numbered one of ten on the Troy or one Shroy ounce fine silver nice That is sick Ben Wallace there one of ten Pistons there you go. All right, so let's do a recap guys once again.  Jason Richardson Scotty Barnes Elegance rookie Jersey autograph card 104 and a Nicola Jokic patch auto to 49 Thanks again everyone for joining really to appreciate. We've gotten a war tiered random teams coming up next this evening


Just about a month away from the start of high school sports fall season, two teams to keep an eye on, Bemidji Boys and Girls Soccer. Of course, the boys coming off a state tournament appearance a year ago. What have they been up to this summer? Well, it's been all about club soccer, anywhere from 15 to 20 extra games played that is ending soon. A great opportunity, though, to gain some experience and work on some skills. The interesting part, varsity head coach Rick Taur and Logan Larson flip-flap rules, boys and girls in each season. That's right, it has paid off for the program. Kind of a unique opportunity, a real eye-opening experience, because you do have to change some of your methodology, some of your language in terms of your voice and how you ask for certain things to happen on a practice field. We've had a really good summer. We grew, which, of course, you always like to see your club getting more participants, more kids playing, which is great. Our kids did very well at the number of tournaments. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.


Good evening. I'm Bob Baldacci, and welcome to Baldacci on Business. Hopefully, you, our audience, has had a chance to see our shows from last season, and each month we would feature a main entrepreneur who will come here and make their pitch before our very esteemed panel of experts. And we continue that tradition with our new season, which we're launching tonight with Christopher Lalliman from Auburn, USM graduate. But before Chris, we introduce you and your business concept. I would like to introduce our panel. So, on my immediate left is Mr. Hugh Stevens, who's the director of the Knowledge Transfer Alliance at the University of Maine. Hugh, you've seen him on our other shows. He is an entrepreneur in his own right, owned and operated at his own business, a suit manufacturer in New York, and brings a lot to the table as an individual and on behalf of the University of Maine. And to Hugh's immediate left is the very well-known, very good friend, Mr. F. Lee Bailey, who has given so much of his time and talents to the state, to businesses and nonprofits, and has taken time every month to be here as part of this panel. So, Lee, thank you very much for all you do and have done. Don Gooding, who is the executive director of the Maine Center for Entrepreneurial Development, which runs the Top Gun Program. Don is also a very active investor, is vice chair of the Maine Angels, and has a phenomenal background in the technology space. Happy fair to say, Don, and is not afraid to write out a check, as I've seen many times. And finally, our good friend, Alexander Hamilton Spaulding. Sorry, but he is a direct descendant. He is a direct descendant of the first secretary of the Treasury, Alexander Hamilton. But seriously, Sandy, as I like to call him, and as friends and family call him, is a good friend, is a principal with C Glass Capital, is an advisor to many Maine businesses, former president and CEO, CEO of Hinckley Yacht Company, and currently running a yacht service called Barton and Gray. Is that correct? Barton and Gray Mariners Club. And Sandy had suggested, and I think it's a great idea, we kind of have the entrepreneur on one side and our panel on the other. And I want to just encourage you, the audience, to listen to what's being said, listen to what's being presented, and to become part of this process, to feel free to contact the entrepreneur. If you have an interest in helping him in any way, open up new markets, or even write a check. So in no way do we want to limit this to our esteemed panel, but we want to open it up to you as well. So you'll have contact information for our entrepreneur, for Christopher, and feel free to contact him. And again, this show will be aired continuously through the month, is uploaded on YouTube, and it's just a great resource. We've had people contact or sign up or register on YouTube for any number of shows that we've been running. So again, Christopher, thank you for your willingness to make your pitch to our panel. So have at it, and have fun. Go ahead. A little background about myself. I recently graduated from Don's Top Gun Program, and this is not my first foray into the entrepreneurial space. Back in 2010, my former business partner of mine and I launched dealsandme.com, which was like Groupon. If you have heard of Groupon, it was Groupon before they came to Maine, and then we partnered with Maine Today Media, who ultimately ended up buying our company and our technology. So I had my first exit from a technology company at 25, which was pretty exciting. So with that said, today I'm going to talk to you about myfilter.com. I want to talk about the product, then I want to talk about what is so great about it and what differentiates us from our competition, where we are, and then what we need to get to where we want to be. So myfilter.com is a discovery platform for the best blog posts recommended to you based on your personal interests and preferences. So what does that exactly mean, and what's the problem that we're trying to solve? Well, right now there are about 200 million blogs on the internet, and every month about 10 billion blog pages get viewed. So that is a lot. That is information overload. But it also means that there are 200 million people writing, some of them are probably writing great content, and some of them are probably writing content you would be interested in. But with 200 million of them and 10 billion pages being viewed, it means it's also probably impossible for you to find that information that's really relevant to you. So that's the problem that we're trying to solve. We want to bring the content creators together with the content consumers. We're focusing in on blogs because we see that as being the future of media and content production, creation. The shift has been made from traditional editorialized content to more homegrown, local, or expertise-driven content creation. So what myfilter does, and this is an example, though you can't really see that well, my guest. Our viewers can, I'm sure. Perfect. So this is a picture right here.  So what I did is I went on to myfilter. I created a filter. This is what we call them. Think of these filters as stations on Pandora. If you've ever gone to pandora.com, you type in an artist's name and then they recommend music to you. I typed in some things called micro brews, craft beer movement, main beers. So I was interested specifically in micro brews and I was interested even more specifically in main beers. So I did this on our system and results came back and you might not be able to see it, but there are blog posts of reviews of Sebego's beers. There's a blog post up there for main craft beer events. There's another blog post for a Black Bear Growler review. You can't do this anywhere on the internet. You could search for, you know, main craft beer events or you could search specifically for Sebego brewing, but you could never create this dynamic list of things that you would likely be interested in based on the things that you typed in. The beauty of the product is even after you create the filter, it loads in real time dynamically based on your interactions. So as you click on different things, we recommend new posts to you. As new things get posted onto the internet, they get shown to you in your filter. So it's real time, it's dynamic and it's personalized. So that's the basic form of the product. The reason that this is what we consider very impressive and, you know, going to change the future, if you will, is there are two ways you can really consume blog content right now. There's traditional RSS, which is real simple syndication. It's been around since the 90s and it has not improved since the 90s. It's the same thing. You have to know who you want to follow. So if you like to read the Wall Street Journal, you can go there, you can sign up for their RSS and you will get every post that they publish, which is a lot. So you'll get overwhelmed almost certainly. More often than not, people who use RSS, unless they are real news hounds, stop using it because you get 100, 200 new posts every day and you just can't keep up with that. We're too busy. So the other camp are aggregators. So this would be like Business Insider, Tech Crunch, Huffington Post is actually a blog aggregator. And so they take content within an area and they try to editorialize it. They try to become a publication within themselves.  For instance, Tech Crunch is a tech blog that many people in my space read, but there's a new post every 30 minutes. You just can't keep up with that. So we call these 20th century technologies for 21st century problem. We're the solution. We are taking social curation. So we recommend only the posts that are highly regarded by everybody else. If a post gets a lot of thumbs down, we don't show it anymore. It's not good. If it gets a lot of thumbs up, it's probably pretty good. So social curation, you don't have to know the blogger because we just recommend it to you. Our algorithm picks individual posts from individual blogs and it shows it to you based on many weighted characteristics. So you don't have to know the blogger. It's socially curated and it's specific to your interests. So you don't get overwhelmed with content. So we're hitting a lot of these really important pain points that readers of blog content have. So that's the product. Where are we? After we graduated from Top Gun, we launched our public beta. So when I say we, I apologize, there's a team of three of us that have been doing this. We're doing it full-time? Part-time. Okay. We launched our public beta and it went really well. We had this great strategy that we developed at Top Gun. We rolled it out. We had about 600 people sign up in the first week which was really exciting and we had zero budget. So that was really cool. Since then, so that was in May, we have added about 600 more users. Again, with no budget. So this is one of the things that I want to talk to you about and where I'm looking for some advice and help. What we have done is we have this user base, but our product is inherently not viral. So what does that mean? It means Facebook is only good because lots of people use Facebook. If one person used Facebook, it would not be popular. Our site can be used with only one person. One person can find it very useful. But that doesn't mean they're going to tell other people about it. So it's not viral. So we're working on a lot of new things to help increase the viral coefficient and get that network effect that startups really like. One of those things we did we just launched last week is an email. This technology is actually really impressive and we're considering even just licensing this technology. Is the email sends top five blog posts. Really email is nothing new. We probably all get them. We're going to do two a week. We don't want to overwhelm people. But each email is specific to the user. So Bob's five blog posts are going to differ from Hughes. It's going to differ from Lee's, differ from Don's and Sandy's. When the user clicks on the blog posts, we track that. We alter the recommendations both on the desktop and on the future email. So this is really sophisticated and we think that this is going to help grow the site quite a bit. We did a beta email last week. We saw a 600% increase in engagement. Engagement being measured as posts clicked. So with a subset of users, we saw a massive engagement increase. So we're really excited to slowly roll this out to all of our users. That's just part of the puzzle. The reason I'm here today, so the product where we are, why am I here today, is I need help in digital marketing because we need to find better ways to get more users faster. We really want that hockey stick growth. So I'm hoping for either media contacts, press contacts, or just digital media marketing experts. And the next phase is our mobile app. Mobile apps offer a really great opportunity for fast user acquisition. Our site is responsive. It's totally mobile friendly. You can go on your phone right now and use it. But a mobile app puts your app in one location. Everybody who wants to download an app has to go to the app store. So with the right budget, you can promote yourself and you can get 10, 20, 30,000 downloads a week, which really drives that user acquisition, which then will allow us to test our revenue model. Can't test our revenue model until we have a core base of users. So we're looking to raise $75,000 to build that app with some local vendors here in Portland. We can do it ourselves, but we want people who have expertise in this who do this day in and day out and there's some really good vendors here in Portland that do that. We want to build that app and then we want to test our revenue model. We think by the end of Q1 in 2014, we can have between 50,000 and 75,000 users if we can get our app into the marketplace by December. So that is where we are. Great job. Thank you. I have tons of questions, but again, I want to defer to the panel here. Have at it. Mr. Bailey. If you attain your objective and get 75,000 users, how does that translate into income? So our site, there are several models. There are about 7 million bloggers who make some income from blogging. They don't make a lot, but they make some. Somewhere in the range of $8,000 a year varies. There are about a half a million who make over $250,000 a year. These are professional bloggers. That's 7 million all want to get into that half a million group. Our site recommends blog posts to people. Bloggers make money from traffic. So we have opportunities for sponsored posts, sponsored bloggers in general, and a lot of ways to sell tools to bloggers at low costs, but they're not going to pay for them unless they see an increase in traffic. So we need the users to justify the expense that we would be charging. Sandy. I really understood the metaphor of Pandora. You've got a filter that can grab these blog posts for my interest, but is the technology proprietary? Is there something about it that would prevent someone else from addressing the same problem that you've identified? It isn't. We discussed this early on for a while. I met with some people here in Portland who had a music recommendation service with an IP patented protected algorithm, but the algorithm doesn't much matter unless you have traction. It doesn't matter what kind of protection you have unless you have traction. Traction is what we've discussed with all the experts, the best form of protection. So somebody could come and do this. In fact, a lot of people copied Pandora even though their human genome project was in fact patented. So it's not high on our list of things to do just yet. Can you just, somebody who is low tech oriented but open to high tech ideas, describe to me the revenue stream. Very simply, so somebody like me could understand it. We're going to sell tools for bloggers to help monetize their blog. We're going to do that by sending traffic, helping them increase their traffic. And then charging them? Is that the idea? Charge the bloggers. So one of the really cool things that we have is when you create a filter we return a subset of responses, things that we think you're interested in. And so if you're on Twitter, you can promote a tweet and that will go to, you know you can be really specific or Facebook, you can promote your Facebook post. Similar to that, you can pay us to put one of your blog posts at the top of this recommendation. But the reason it's really great is it's not spamming to the user because it was going to be recommended organically. It just may have been recommended somewhere in that list. Now we're going to put you to the top. So it's somebody who is interested in what you're looking at, of what you're creating. Somebody who wants to click on it, but now it's at the top and it's highlighted. So it's the same sponsored post model that many social networks have, except we think that it's even higher value because it will always be in front of somebody who has an implied interest in what you're doing. Does that have layered costs? Yeah. If I want to drive stronger, it's a higher ticket cost. Again, I'm simple. Yeah, exactly. But to the user, it's a free app? Yes. We're doing the email and we think that that can be based on that high engagement right off the bat. We think that there could be an opportunity to say, well, we're going to send this out twice a week as it is, but if you want to have a daily email or set it to a schedule, then that's $1.99 a month or something. We're not really sure, but if it helps save time and it's high quality, we think there might be an opportunity somewhere in there. Yes. Let's say I run a blog where I report the current status of all ongoing murder cases in the United States. The evidence came in that day where the case is positioned. And I come to you and say I want you to increase my traffic. I get paid somehow by the hits. How do you do that? Yeah. So there are a few ways. The biggest is the sponsored posts. We will put you in our database and say anyone who searches crime, murder, legal cases, anybody who is looking for information like that, you will show up as a recommendation right at the top. So we can't force them to click, but we can help just like any other and it's advertising. You would be paying to advertise but you're advertising to somebody who has said I am interested in this content. And what do I have to pay you to get this benefit? As yet undetermined amount of money. It will be cost per impression. So it will be, we'll look at the models anywhere between a dollar to three dollars per thousand impressions. Per thousand impressions. Yeah. Have you looked at all in terms of the virality side of things how you might be able to leverage Facebook when people for example give a thumbs up on an article or any other methods to really get some virality out there? Yep. So we're in a unique position. Some of the popular apps that you're probably from, you may be familiar with. There's Facebook, excuse me, Flipboard. Flipboard and Pulse. Pulse was bought by LinkedIn for 90 million dollars. Flipboard has got roughly a billion dollar valuation. These are self-contained sites. They actually take the content from whatever source and they put it in their own site and they, they don't say it's theirs, they say it's from the New York Times, but it's in their platform. We, to make money, because none of these sites make money, none of those apps make money, we send people off of our site onto the bloggers page specifically. We have a, what's called an iPhone, we have a header.  The problem with Facebook is say you like it and it says Don Gooden, like this post by Mark's sister or CTO and anyone in the Top Gun program might be like I'm interested in that. They click on it. They go to the bloggers page. They don't come to our site. So how do they give up the thumbs up so you understand to increase that in your overall system? In other words, in order for an article to go up or down, the reader has to give it an up or down, right? Do I understand that correctly? Yes, that has a lot of weight. If you click on things, the article has a name that gets weighted too. But yes, what you're saying is correct. Yeah. So couldn't that trigger a Facebook post somehow? Right. And so you can do that. And we actually have that functionality. Got it. Okay. It just, it doesn't drive people to sign up. It just drives traffic. Traffic is great, but signups are what? Sandy, you got a question? Are you looking for other revenue source ideas? Always. As somebody who has a way of giving them a mail, I'll take it. It seems that a lot of news organizations are trying to drive content to their subscribers and being able to search the whole worldwide web for content that's hot, happening in bloggers. I mean, that must be really challenging. If your algorithm is that good that it can search the world of bloggers, what's happening now, I would think these news organizations might want to subscribe. That is. It's a subscription service. Perfectly. For content that they're showing on their program. So there's TV or their own websites.  I mean, what kind of backup do you have behind the technology, Christopher? The thing is, it's very automated. We don't like to do manual work. So everything that happens is done automatically. If I went on vacation for two months, the site would work fine. The recommendations would go out as with the emails. Scalability comes into hardware costs. The cost that it takes to compute a recommendation is fairly substantial. Every blog post that we record, it costs about a half a cent. So there is hosting costs to keeping, parsing, and recording that data. But it's no different than other scalability issues. It's just, we need more server. So how comprehensive is the algorithm or the computers to get all, you know, how many blog sites are you getting? The 200 million, you know, daily blogs. How many are you sourcing or reviewing? So that's a great question. I didn't mention it in my pitch. I apologize. We only have five minutes left and I want to come up with some summary here in a way we want to go. Okay, I'll be super quick then. Go right ahead. We only recommend blog posts from bloggers who have been voted in by our user base. So we went out, we grabbed the 50 biggest ones within certain fields, because those are popular for a reason. After that, I don't know who makes, who writes a good yacht blog. But you do. So you can tell the system our users voted in if they think it is a high quality blog. So that system is also automated. And that's how we get our blogs. Right now I think we have 1600 blogs that we recommend from. Okay. So there's two filters. There's one for me as a user and there's one for you creating. You can't get in unless you get voted in. So it's socially curated. So it's only, we only recommend high quality content. This is the goal. At the outset you laid out your background and presented your business concept. You also laid out for the panel and for our viewers what you're looking for in order to move this to the next level. Yes. Restate that. And I'd like some feedback from the panel as well. Okay. And for those of you out there, you've got us contact information. Feel free to connect directly with Christopher as well. Go ahead. We need media and press contacts if we could access some of the, ironically the larger tech blogs which are, their doors are being beat down every second of every day. Digital marketing experts. There are many in Portland, but they are all very, very busy trying to put bread on the table. And so it's hard to get their attention unless you are willing and able to pay them the money that you have, that they require. We are a bootstrapped organization so that's challenging. The third thing is about $75,000 for our mobile app development and then promoting of that mobile app. All right. Any feedback from the panel? Is that a low ball number? Is that the real number? $75,000 right? Or is that... Are you ready to write a check? No. I just need to know because I might know somebody that does. Yeah. All right. We figured it would be about $50,000 and things always cost more and take longer. Of course. So I just rounded up to $75,000. Thank you. Lee, comments, suggestions? I think it's an interesting idea simply because we are becoming overwhelmed and undated and suffocated. Yeah. We are becoming more content and if someone will help you pick out the good stuff, I would think the public would go for it. I would agree. And, Don? So I think you should talk to Shannon Kinney at Dream Local because she's partnering with newspapers all across the country. So she partners with BDN here and a lot of other newspapers across the country. So she'd be, I think, extremely helpful. I can also connect you to the new VP marketing today, Media. She came up from Massachusetts, opened some innovative ideas so she might be good contact for you. Great. Don, thank you very much. Don, before we turn it over to Sandy as a member of the Maine Angels and I am as well, but do you feel that he is ready to go to the Maine Angels and make a pitch? No. Okay. Well, then explain why. I think you need to get traction. It's the chicken and egg kind of thing. I think you're still at the point where you may find an individual investor or two who is willing to take the flyer, but I think as an angel group you have to have a little bit more traction in order to be able to get the group's attention. Sandy, we just have a minute and a half left, but go right ahead. I can fill that up. I know, but trust. First of all, I just want to say how impressed I am with your delivery and obviously you're a very intelligent young man and... Cummati graduate from USM. Excellent presentation. I have really no idea where this could be financially successful yet, but obviously you have the energy and enthusiasm to probably pull it off. I don't know if you've considered crowdfunding sources. This could be something where you throw it out there and you become a subscriber or you get a t-shirt. I don't know. I mean, it's the level, 50,000 to 75,000 that crowdfunding sources do use. I've started on part of a new company called Launch Angels, which is aggregating crowdfunding deals. We'll just fall into something. Happy to talk to you about that. Guys, I think we're at the end of the show, believe it or not. It just went like that. But thank you all very, very much. Thank you, Christopher. It's been a great show and you did a great job. Thank you. Good. Thank you very much. So, congrats. And I think your comments and suggestions were all very good. You think this has some legs?