So, how many people here know F sharp program before in F sharp, not a single person, ok. So, I think and machine learning experiences like what do you know, ok you know like what kind of work you have done in logistic regression in R, here you do not have experience in machine learning or F sharp, ok. So, what we will do is for the first time first 45 minutes or so, we will give a introduction to the language and that will serve both purpose. And then later we will show some examples like what is how machine learning basically kind of very top level overview and then we can so one or two demos about a classifier and logistic regression. So, we will build a classifier to first a kind of separate tell a dog and cat apart and then we will use that same to kind of do identify people and stuff like that. So, let us start with F sharp and sit down actually. So, F sharp is a language on dot net CLR platform and it is basically there are several reasons behind it coming into picture it kind of reduces the typing a lot. If you are coming from like I hope people are here for doing Java or C sharp, ok. So, you can you will be able to relate and that at first the syntax might seem very weird, but once we go along with the flow you will find that it is easy to understand and make sense as with any language human or programming. So, it is taking too long to so, I mean it is too long. This functional approach is basically writing everything is a transformation. So, like you start with some list and then do some operations to get another list and that map reduce concept will be you know very much pre pre well and here actually. So, let us so go to new and I will start a new project for some reason it is slow ok. So, we will select visual F sharp and we will I will select something called a tutorial because that comes loaded with lot of stuffs so, that I do not have to write it myself. So, let us say I want to create a integer list. So, I will say list 1 equal to 1 2 3 4 and that is little bit weird for C sharp guys you get semicolon at the end, but here you give semicolon in between and there is no semicolon needed at the end. So, you do that and select that line and say right click and say n 2 interactive execute in interactive. So, what it says is I get a integer list so, the type is coming here as in list now if I suddenly say let array 1 I give the this kind of a bar at the end and say 1 3 4 another bar. So, that is now becoming an array so, it is an integer array so, the syntax is like that to create an integer array and if you notice that I never said it is an integer array or it is a float array or anything. So, now if I suddenly put a 3 point here I do not need to give the 0 I should probably it is giving. So, now if I say it see it is not allowing me because it is saying so, it is type check is happening and it inferred that 3.0 is a float and I am trying to put 1 and 4 who are integers inside a float array so, that is not going to happen. So, here I have to say 1.0 and 4.0 and then if I do that here it comes as a float array as expected. No, you have given a dot right so, 3.0 you said now what if you say 3.0 1 you know few you have given a dot that is a symbol of decimal so, it is a float. But others are not float how can compiler assume that you though that you have intended then to be float. Yes, exactly because I will show you an example let us say I have a divide by float condition here. So, I say let say numerator is equal to 3 and say let denominator is equal to 4.0 now in C sharp you can say let div is equal to numerator divided by denominator right it is not going to execute here because it expects both to be converted in the same type it is very strict in that. So, if I say float here sorry thank you that is all the purpose now when I first saw this kind of syntax it occurred to me why there is no bracket I mean why whether the brackets have gone. So then I took some classes and realized that the in functional programming you have to drop the most used operator. So, the most used operator is brace unless it is absolutely needed you do not give it. So, float is a function which takes numerator divided by denominator numerator not divided now if I intended this then I have to give a bracket otherwise I do not need to give it. So, that kind of awkward to see it, but it is a how it is. So, it is coming back to like our map reduced of. So, let us say I have a nums of so this also is another syntax. So, this gives me a list of 10 integers and let me so once I execute it in the interactive interactive is here. So, it is 1 to 10 it is better to have it here so I can see what is happening. Now I want my nums to be square so let tuples equal to nums list dot map so what does is do is I have a num and it is basically creating a tuple of the first element and the second element that is squared. So, I am trying to create a parabola let us say so this will be so here comes the output here. So, the tuples output is like this now I want to access the second element and I want to create a sum. So, let us say here the tuple second element is 1, 4, 9 and all I want to create the sum I want to find the sum of all the second elements. So, FST comes with two special function called FST and SND that is short for FST and first and second as in key value pairs with key and value. So, I can say tuples dot list dot sum by so sum by is basically I am trying to project a list and then doing the summation. So, I say fun I do not have to do anything I just have to say SND so what is happening is it is taking sum is equal to this. What does this mean is it will project it as the second elements are projected and then the sum is being taken. So, there are several functions if you say list dot you can see several such functions are there. So, what we heavily use in our today's talk will be map because we want to map things and we will heavily use the sum and map and basically sum by. So, I think any question at this point we will stop for a few minutes. So, as you see there are several other functions that are listed in array because now another thing I want to mention here is that since array 1 is an array I cannot have a list dot map fun t is equal to whatever t plus 2 I mean oops now why this is can you tell why this is not working array 1 is an array, but I am trying to invoke a list method on top of it. So, it is not going to work. So, I have to change it to array now this seems a little bit of weird because these are anyway collections and coming back from C sharp background everything is innumerable or I can always do something. So, I think then I there is something called sequence that will also not t plus 1 because it is a float. So, I think one point we will do so sequence will work sequence is the synonymous with innumerable. So, those matching has been done yes, so arrays as he as in the traditional case also like arrays are mostly useful when you want to get to a particular location first and good that you ask that question I was running short of ideas to show what next. So, let us say I want to access the second element so I can do that with a dot of 1 instead of a just 1 like that dot operator we will tell the so basically what it will show it will show 3, 3.0 and you can select any line and say alt enter and that will come on the interactive. So, it is basically a repel loop read evaluate and print loop. So, you get it is a exploratory pattern like you get to do something and see the outcome immediately. Now, let us talk about something something little bit more complicated and keep this here. So, let us say I want to declare a type so I have an integer array and I want to go in the future those many days say 1, 3, 4 I want to go in the future those many days and call those days day 1, day 2, day 3 like that. So, I will say type entry equals to name string semicolon float day in future float so that gives me a type. Now what I can do is I can take this array 1 and I can do an array dot map so right now if I say font t, t is nothing but an float so what I will do is I will create a symbol I will say say may be t dot 2 string I will say so I will say may be day plus t dot 2 string and then I will say sorry name equal to is not required then t this is day in future. So, now if I run this so I get this second level name record level name is not defined I did define name I did not I did not execute this statement yes. So, now it comes back here saying that name is day 1 and the value is 1 and so. So, this is very useful as you say it is a kind of projection so I have something and I want to project it to some other things it may sound very abstract but it is very important. So, let us say I have a I have a list of records that has to be normalized say you are a patient and I am a patient both of us took some tests and we you have been diagnosed with a disease and sorry may not God forbid and so whether I have that disease or not will be based on the proximity of your records and mine. So, if we plot your records in n dimension and my records in n dimension the distance between these two points will tell us how close what is my chances of getting that disease right. So, there you see this name can be the tag of the disease and the values the float list can be our this thing. So, we will use it heavily in our when you do nearest neighbor or you know classification then we will use this algorithm in this context any question so far very silent people either I am not doing well. So, what more constructs will be useful. Also a function how to call a function and how to define a function those two are very important things to know like we decide like we created like variables like this let us say we created x1 equal to 1 this is a variable we create. Now we can create a function like that we say square of x is equal to x into x and we say this is 3 may be for the sake of proving the fact then we called sqr x1 and we run 3 of them in the so at the end we see I think I should pull it down little bit. So, x is equal to 3 notice this very carefully this is very interesting to see it is showing the functions type. So, the like every variable has a type every function has a type basically that is the type of the transformation you are taking an integer and you are getting back another integer. So, that is why so the val square square is the variable that is a function which takes an integer and gives back another integer. Now let us take little bit more complicated stuff let us say we do not also we say square tuple which takes a tuple of a and b and returns a into a plus b into b. So, this takes an integer integer and the syntax would be little bit funny. So, I will write it down here and let us see whether I get it right or not it will come as int into int and return of will be int because it is basically a tuple of integer and integer and we will returning an integer. So, yeah I miss the variable names, but I got it close. So, a int and b int and int. Now, why this is important is that we can pass a function as a higher order function. So, this is a simple function both are simple functions because both of them are taking values that are actually you know default to the language variables types that are default to language. Now, if I say late complex square and that has nothing to do with complex number, but just for the sake of making it sounding it complex, we say g a b and we say g a into g b sorry equal to. So, what will be the type it will say I am getting an integer and I am applying it sorry oops. See g has been identified as a function see the power of inference of this compiler. So, it has inferred that g is a function which takes an integer and returns an integer and then basically we are actually returning a product of another integer. Now, we will call this now we will do the fun thing which is passing it the function. So, complex square now can take square and say 2 and 3, 2 and 4. So, what will be the result one second it is not happy sorry it is expecting a tuple, but I have given as not a tuple. So, I have to compile it again sorry. So, it is taking an integer and return taking an integer function and couple of integers and invoking that function on both of these integers and multiplying it back. So, the output will be see I am no look at this pattern. So, when I can say g of a I how can I say g of a can I let us say this can be very I know it may be difficult to understand. So, g I am saying g and a if g would have been some integer or float can I say like 5 if I say 5, 6 and 7 does it make any sense. But if I say some functions a square of function a square of 7 that does make sense. So, no unless it is like that is the choice that they have made to take it as integer unless you make it explicit. So, yeah so you can say that you can say here. So, you can say here you can specify the function you can say float taking and float is the return. Then you will not be able to use square because square takes an integer and returns an integer. So, you can always annotate and help the compiler saying hey this is the type I want you to use this type. Yeah as a default thing because most of the time they have seen the usage is like that. So, let us say I will keep it simple and as it was. So, the output will be how much? 2 by 2 into 2. So, that is the how to use higher order functions as a function arguments. So, you will get to see lot of these things that are you know inside the language when you see F sharp code you will see lot of such when I first saw these statements I thought what is going on no brackets nothing very complicated to understand at first. Then you will not be able to say let us say let us say we come here and we say float we make g to return a float then it will throw a compiler error. If I say that so it is now taking sorry it is now taking an integer and returning a float no it will not throw a compiler error I will have to annotate it also as a float because so it is a taking a float and a float and here I have not given any type. So, this is the integer and the float and here square is scribing it is saying I need a float. So, I that only way to do that I can say 2 dot and 4 dot then it will be sufficient then your answer will be 64 dot 0 not quite let us see expecting a float to float float to it okay let us see okay no here it is a square needs to be annotated here. So, here it is not compiling because g if you let us do the mistake one more time see see the type of this complex so square method it is expecting that g will be an integer and taking an integer and returning an integer because we have not annotated it and if that is why it is not working here. So, if we annotate it if we say okay do not worry g will be a float and returning a float and here g float to float take two floats and then return the float. So, the complex square function takes three arguments first of them returns one float given one float and then two floats then it should work 64 dots here absolutely otherwise that everything breaks yes thing that thing is important is one second. So, shall we go back I mean is this enough introduction or can we start a little bit machine learning now or you guys need a tea break or something already or you we can continue for some more time okay please please actually actually the language designer don sim tells that it is like python with the type system type system behind it but yeah the productivity that python brings you can also like that is also there but it is also heavily inspired by Haskell and OCaml and ML yeah it is descendant of SML and this is the Microsoft heavily investing in this particular platform and right now this F sharp runs on every conceivable platform that you have like you know it runs on windows of course windows all kinds of windows phones windows this your desktop you know small handheld devices then more through mono it runs on Ubuntu also I mean all platforms is covered even it runs on few cameras so you can apply like little bit of logic to design filters on photos taken and since if the size is very less footprint is less the language compiler is very you know easy to okay my answer will be biased because I am very much in for static typing because so I think static typing is the best thing because it helps you to you know it saves you from doing mistakes at the compile time so maybe you write you write you write you have a list of list in python and you put what not in that and later you realize you are kind of relying on yourself to not commit mistakes which is not good in my opinion because because after what is the use case and what is the design for yeah like I will I can know I know the answer for this use case that float and all division use case so you probably know that this land rover failed right NASA so they the cockpit system designer were using SI systems and persons on the ground they were using some another system what is that yeah foot foot and inches and centimeter and all that so there was a huge mismatch and because of that the F sharp language has a feature called units of measure so I can actually attach a unit of measure to a particular float so if I say float not float say let mileage equal to 23.2 and you can say miles I think I have to do I am not very comfortable during doing that but basically you will not be able to do calculations that results in a numeric value but so every numeric value in a scientific calculation either has a unit or does not have a unit so whenever it has a unit you have to write guiding clauses so that you actually you are not multiplying mileage with age that does not make sense so those kind of situations was the motivation for units of measure and as I said static typing also is a huge huge you know is required for tooling because why you see like visual studio provides lot of tooling because it knows lot of things about your code already because your code is statically typed I think those two I mean you can choose to be different but another motivation of the language design sorry another motivation for the simplest language design is like how how easily we can get the things done like if you see I will show you an example let us say I have two variables like a is equal to say 40 and let b is equal to 12 I want to swap them so the easiest way is to create another variable store one of these variables and do that I can write a swap method that takes m and n and returns n and m how cool is that when I saw that I thought it's super cool okay sorry I don't know python I mean they they have to write something to probably have that statically typing yeah of course and another thing is that's all the c-sharp api is written had to be compatible I mean if there is a reason for doing this also like all the c-sharp code like if I write a library in f-sharp today it has to be you know available for consumption from a c-sharp point so there you cannot have something which is drastically different it will break lot of things okay enough said let's go to this machine learning my internet is not worth it's bad don't do let's no service where is wi-fi here I never used it before this one it's already connected a few it also came I don't know what to use they'll disconnect this thing so I try to keep it very funny so all I wanted is that people take the hints not the like grads so this little bit about me and I wrote three books and I am writing a book on f-sharp and machine learning right now and I have a github account I forgot to put up it here it's the same one as the handle is same so one second my slides so today we will be talk will be I thought we will do the in talking on like these are the frameworks you can take a note of course you will this slide will be uploaded to the content so f-sharp and then we will be using accord.net and weka-sharp so weka is if you're familiar with java there's a framework called weka and so there is a port on f-sharp.net that somebody has written so that way you can communicate with weka let's call weka-sharp and math net has so you know api that is available on nougat and github and fsplot is a fantastic plotting library so what it does is it takes your tuples and all and it uses high charts and generate those high charts for you almost like you know very simple manner so these are the giants we will I thought we'll so why f-sharp I mean the last point is I think most important for me because it gets lot more than less typing and it's very active right now and you can it's open source the compiler is open source and you can propose the new features and all these things and it's ubiquitously available suddenly dotnet's ubiquitous availability it is now available on even mono and all actually give me a second my slides are all jumbled up I think this is sufficient we can do so why care about machine learning so this slide I try to put up like what I saw as like what is machine learning doing to us so it's doing lot of things you see it's doing recommendations mostly that whenever you see a video on youtube it says okay you can watch this video that's recommendations and facebook and twitter you get friend requests that okay you might follow this guy or this may be your friend you may know this person and amazon and flipkart they are doing product recommendations people who bought this also bought this and all that stuff and there is lot of effort on matching people on dating apps so you if you like this person you might like this person or those you too may be similar I mean I find that very interesting because that's pure geometry problem solving like closest point match then anomaly detection is very much useful in you know lot of situations like fraudulent you know fraud discovery and all that and classification of course it's the like you whether we are doing dealing with a spam or a ham or that email context and then we decide whether you can apply the same algorithm to find out what is the person at the door like it's like security surveillance cameras utilize same algorithms and then you can do clustering to identify business segments like automatically you can tell that okay your customers has these are the your elite set of customers these are your normal set of customers and what is there so like what may be big basket is doing right now is like a segmentation so they know what you want to buy and that's scary but here they know and so these are the motivations to learn I mean this is the right time to learn about it because once you know something you will feel that how why you are getting that recommendations and why it is happening and how it is happening here is a simple example of k nearest neighbor so there is a algorithm in machine learning this is one of the simplest algorithm so what it tells is that and it's you know even if it's very simple it is very useful so what it tells is you represent your you know subject in a vector okay and then represent other subjects in the same vector representation and if those subjects are closed in n dimensions then you have a match so I mean I will leave you to read this and if something does not make sense please tell me I'll keep it here for a minute does make sense I mean do you understand English is not my first language please forget yeah so class I was expecting that so class is the like suppose we represent a photo an image with a set of values and another image with another set same another set of values so that image is the class so if we have one dog image dogs photo and we have another dog's photo then we can say that image the class is the dog the word dog because they are both same category and if we have another cat image that's another class like a cat or in case of say cancer data we have cases with our benign cases and we have cases which are malignant cases but the tag is either b or m so that is the class or it's sometimes called as tag also okay yeah then that the maximum vote wins means that the class that has the maximum number of voting wins classification so let's say you have we are all familiar with two dimension right so you say two dimension board so if I have one one that is in the coordinate geometry on the first quadrant on the right if I say minus one minus one that is on the fourth third quadrant on the down so the distance is more if I say one zero and one one what the distance is small so one one and one zero falls in the first quadrant now if you tell take that example and say okay first quadrant is my class second quadrant is my class third quadrant is my class so if I give you another point say three four so three four is nearer to one one and one zero than two minus one minus one so three four is belonging to the first quadrant class now if you extrapolate that understanding to n dimension then you see like in n dimensions whatever point that is closest to you that makes sense right okay so what I did is I after writing this I thought I will do a highlighting of the keywords so now that same sentence but I have highlighted the keywords so what you have to do this is sort by the distance the distance is a Euclidean distance or some kind of distance measure of two points then you first take the first k points and count elements by each class and the top one swings so you say and now the same program is written in a sharp in a function so here you see it takes an list of entries it's an entry list where the entry list is nothing but a list of string and float float array tuple and we are passing a k as an integer yeah yeah yeah one second a plus I don't know okay okay we'll do the same thing in this thing only I mean it's not a very big code we can write it anyway I think I have it somewhere so I'll just copy it's from taken from my book only so I will copy can you see it now sir so this is the entry so that is the type of the entry you can see right yeah and this is the KNN you you can see right yeah so we'll copy this I mean it should be if we execute it it will make much more sense at least one example should go so this is my entry so entry is nothing but a entry is nothing but a label which is the class and values is a float array so I want to represent my subject in that float array and this is the KNN it's not distance function is not defined so that's why it was asking for it so copy this guy as distance let me make it bigger and still visible right so this is another opportunity to show that fsharp has another kind of operators I think this will be yeah so this is the power operator that other languages that we seen before does not have so what I am doing here is taking the first one that first pair second pair taking the difference we're basically calculating the Euclidean distance and all this logic here is just trying to take care of that if the values in one element array is less than the other so we'll do the calculation till they match up in length okay so now I will now I will cook up some data just for the sake of it so we'll say let first data let's okay let's data equal to we'll create say x and a float array 3.45.6 3.7 that is my first float array and then I take that one create another tuple and say this is y only thing is I will make y is much smaller so I'll say okay 0.34 0.56 0.37 and this is my list 0.37 it's there no no it's actually does not matter it's a squared Euclidean sorry okay yeah yeah okay there is a function this pow no this what we did here is we raise it to point to 2.0 instead we will just say 0.5 or there is a function called pow n p o w n so we can do that so this is my data okay and I want to train let's say this is my data and I want to train only on this 4 but I will make it little bit more data for this guy let's say x is further apart and this is further low and then so this is my data that my training data on which I will in the maybe in a matter of clarity we can say training data okay so training data is like that oh another very important thing I forgot to tell is that f sharp works on off side rules like python so off side rules is like everything has to be indented properly that's how it decides the scope okay so it's now telling me that possible indentation error so I'll probably fix it or you can leave it it's not very warning right now now I create another variable say test data which I do not know the level don't know right and I I have the I have the data for it also so I will say it is maybe 45.3 23 let's say 34.23 and maybe 65.67 so that is my data that I have so this is the tuple that I have now I want to use the KNN that I have written to determine the class of this guy so what I can say is I say KNN and I give training data okay I give the test data and I say K is an integer so I want to take the first two K no it's an entry list so it is proving I am not an entry list yeah yeah just a list yeah so now I have to either copy because it's a little bit more code to so loaded is yeah in fact we don't need entry list because I don't want to fix it right now we can change it to string float that list then some other problems is X dot level okay it will be FSTX and X dot values will be SNDX right so I take that one okay distance is not defined it is asking okay distance distance is defined this so this is defined and now I should be able to call it I say KNN no no no they are the function names so if you say FST on a tuple it gives you the first element of the tuple if you say SND of a tuple it gives you the second element but there is no THR or FOR like that because yeah so you say let classifications equals to this now if I run this hopefully it will return test data is not defined okay sorry test data is defined classification so classification is saying X2 that means that out of two nearest neighbors that it has both has the class of X so it is also X is that clear no no no see see here so I have given it's a list of string and float array pairs right and here I said don't know so give me the tag of this and I said I have four training data and out of four training data I said let's say pick the first pick the first two nearest neighbors and show me their class so if like as many more in that class it will be like that class so out of two instances two are of type X so 100% match is suggesting that it's a type of X only and you can see visually also you see the values of X are further away from 0 and so this value is also further away from 0 and that is proving the point now let's say we change it to further you know closer to 0 and we should see it's a Y so the test data is different right now what happened 0 still showing X because there is not enough training data so that's what you land up to when you don't have enough training data so let's say it's still showing X now let's increase the sorry I closed it it would run everything one more time till here list of X and 2 that's what sometimes happens when you have very less testing test data but let's see I want to run this example is it should work so I will run you through I don't want to write it again since I have written it here already so these are the two examples so in cag there is a website called caggle you are you familiar with that website caggle so if you don't go there there is a challenge to identify cats and dogs sorry so and I did that using this KNN so the images that you see are this cat 456 so there is levels leveled images and there is not level images so your task is to identify these things using the same approach so what I did is I represented the image as a histogram of color so I saw that the texture of a cat is much different than a texture of a dog so if you take a color histogram then their differences will be you know different and they should be matching so this that's what this guy is does and at the end we get this type of results so what I could not show here right now is like this type of results is like so dog four and cat one means out of five nearest neighbor four were identified as dogs four were given told as a dog and one is told as cat the ones known level was cat and four known levels was dog so that means the confidence is more that it's a dog and for the cat also that three images defined where nearest neighbor was cat and that's how nearest neighbors work I thought I can actually run this and see what happens let's see let me try to run this no no I use the entire image yes yeah it's a good idea to crop it yes all images are of different sizes and that is the reason why I had to kind of normalize the the float that arrays were of different sizes so that so what I did here is like I took the normalized value like if two are so the distance function if you take a look at the distance function so the distance function takes the length of the two values and whichever is less we go till that but I agree with you you should either be at the center because most of the time the subject of interest is at the center and sometimes the object is like the owner is holding the cat so that is very difficult to identify those are corner cases and I left it yes yes so this is a rudimentary implementation but the idea is to get the point let's see whether it runs I think it was not to be mint as a so let's see did it run on the tutorial so we get that functions covered distance this is a wrong code so we fix that so distance is okay distance covered k and n I have to do some kind of dog cat train notice that so f sharp does not allow tabs so it has to be space so okay hopefully possible in correcting intention okay yes possible because we don't want it to be this is no main here because we are doing it on the tutorial style yes okay so yeah fantastic so this loaded so the known dog loaded entries are like that known cat known entries are like that so these are represented as the float array and these numbers actually are the how many times that image appeared that color appeared in that particular image so that is the is program and then we do the loaded so this will give us the least for every so this level is basically every file name in the directory starts with either scat dot or dog dot so to pick the level I have to just take the first three simple so that's what is this doing so it is creating the training data for us so level and the values is the histogram on the image array image values actually and illegal path in character okay yeah absolutely sure okay so stop due to error what error possibility is that I am opening this or I don't think so please compile okay let's try going sometimes it happens though okay let's clear it here okay this is the reason okay let's case one okay thank you for being patient hopefully hopefully everything is right okay so till this long we have to execute reset reset interactive session okay it stopped due to error nothing to do with my code I think so one more time yeah come up interactive is doing a lot of things because there are a lot of images so it is taking quite a while late in the interest of time let's cancel it and and let's say that we were only interested because only interested in say take 500 and so you are sorting and randomly and taking the first 500 examples we might get all the 500 cats then that way the cats will be identified correctly and no dogs will identify correctly but that will cut it short and let's see that okay you're done so now it's loaded I am sorry I did a wrong thing instead of sort by I used map so everything just came as a grid so should be sort by so I was not expecting to come back so fast don't like to wait I'll make it even more simple I'll make it say let's say 10 elements first 10 not 500 because it's going to take a lot of time to load everything okay so everything is done till known cat and now let's go back to our code and so I'm changing projects here okay and so let's take an exam so loaded let's see how quickly it comes back it's now running for the first 10 should come back meanwhile while it is coming back let's see it's taking more time than I expected I think we'll have to go back to this we recorded video that I had so so here is example what what would have happened so here the this is the digit recognition so it ran against the so it comes back like that it's a nine like that so in this case it would have come back and say I think it's a dog on the think we are almost done so let's break for QA you don't need to clap but yeah I think yeah that's so that's what I could not speak because the initial time we spent on F sharp so this there is a framework called I will point you to those locations so there is a this framework called accord.net machine learning framework okay so this has you know whatever you said like logistic regression multiple logistic regression so logistic regression is basically trying to predict 0 or 1 and linear regression is trying to predict a real value when you have multiple let's say I have several parameters that determine the price of petrol and how long what will happen to petrol price like 60 days later if you want to predict you can use linear regression that is a single value you are trying to predict but then you can do lots of like petrol prices in multiple cities inside India that will be multiple linear regression because you have a set of input values that determine the cost of petrol and then you have a set of output values that will be the petrol values in the multiple cities and then there is clustering algorithms like k-means or k-nearest you know Gaussian mixed models and accord is one of the very good framework for that and yeah I have done accord used accord for linear regression and logistic regression and then you can use this one this is also very important and interesting so the original I will open both pages so WECA is a this is a University of WECA though they implemented this this is a very prevalent you know machine learning framework in Java and they have all sorts of you know things that you can imagine that you will need and WECA sharp is a F sharp wrapper on WECA so it is simple to it is simple to create so basically here you see he is creating a so he is creating a dataset out of a file and then running a j48 it is a decision tree algorithm on top and then getting the classifications so it is pretty simple looking compared to Java so he has wrapped all these things inside I also use this framework for the decision tree then another framework that is coming out of Microsoft research called infer.net infer.net is a Gaussian inference framework so that helps you to do with like and they have a component called infer.net fun so which is a functional way to represent Bernoulli's and Gaussian distributions and you can do lot of those kinds of modeling absolutely beyond the territory of this talk because so scikit-learn is a much more comprehensive if you ask me than this so these are focused on a particular accord.net is kind of scikit-learn for.net but it is not as comprehensive as scikit-learn is and R's language is not so easy to pick up so that way these things can and this does not the barrier of entry is very less for these frameworks because they are written in a language that you understand I mean we understand as .net programmers and you can actually write and code and get the feedback immediate feedback and that kind of helps to boost it yes so accord has a framework called deep learning is has support for deep learning so here you go I mean I will probably point you to that and Google will know it better than me so here is a demo also that person has given a demo like deep neural network using accord and so all sorts of things yes so that is not the not f sharp there is something called reactive extensions rx that is similar to your akka akka framework in java right so that is called reactive extensions and that is now being available for all the platforms java you know android rx android has come up and so that gives you the you know ways to orchestrate when you are getting lot of data and you can actually write your composition on those data in real time and if you are asking for like real time data inside like spark and all I do not know but yeah you can build such things and I am sure these things are being built right now somewhere but as a framework I do not know but the pieces that would be required to build such a framework is rx and of course f sharp and other this machine learning frameworks that are available accord.net is kind of state of the art right now for .net now another thing is I want to mention since you asked this that f sharp runs on cloud and there is a framework that is built called embrace okay I will point you to that so what it does is you can write your f sharp code as if you are writing it for your laptop and then you know run it on the azure platform that is connected to embrace okay so you do not like from the memory usage point and all that like developing the algorithm does not require lot of resources so once you this bias variance tradeoffs and all will help you to decide that whether you need more data or your algorithm is going wrong for some other else whether it may be it is a because you are doing wrong feature selections and that kind of you know decision that you can take with a very low end systems like a 6 GB RAM and you do not need a server class machine for that but once you decide that okay now you want to go up and launch it and you can always have the opportunity to host it on a embrace and azure and as long as you use it your volume goes and so I do not you know very you know supportive for on premise device like that does that make sense which one no f sharp is a language so it does what you tells it to do tell you to you know to do so like any other language if you ask it to store it on disk it will do that it is up to the programmer right if you want to scream it that's up to you to write it so embrace is framework scripting computing and data jobs in the cloud so there are some excellent channel line videos that you can see that feel like open your you know window for this and I like the name embrace the cloud so okay any more questions or we are done okay we are done thank you


So I was fortunate enough to receive a Churchill Fellowship in 2016. My Churchill Fellowship was on investigating best practice to prevent illness and disease in tunnel construction workers. And I'm going to go through a very high level presentation of some of the gold I found as part of that journey. But to kick it off, I thought I'd set the context. I want you to think about how much energy, effort, systems and resources we all put into preventing one fatality due to a safety incident at work each and every year. It's money well spent, it's systems and resources well spent. But how much energy, effort, systems and resources do we put into preventing fatality due to illness and disease? Because this is how many men and women by comparison will actually succumb to fatality due to that. The ratio is one to eight. So have a think about within your own organisations how much focus do you put on health in addition to safety. They're both incredibly important, however sometimes I think the balance is skewed. To put it into context in the tunnel industry, we'll plan to tunnel further in the next seven years than we have in more than the past two decades. Almost two thirds of all the tunneling in Australia occurs in Sydney and all tunneling will encounter Shale and Hawkesbury Sandstone. That sandstone and to a smaller extent Shale mainly consists of quartz and tunneling through any quartz containing rock generates a carcinogenic dust known as respirable crystalline silica. Over exposure to silica dust is known to cause an incurable disease called silicosis as well as lung cancer. And the risk of developing silicosis from exposure to silica dust at our current legal limit over a worker's working life is estimated to be anywhere from 12 to 77% of workers. However silica from freshly fractured rock is more toxic than any other type of silica dust. And during tunnel construction crystalline silica exposures have been measured to be more than 20 times that legal limit. And the common last line of defence applied to protect the health of our tunnel workers can tend to be the P2 dust mask. But to put that into perspective I thought I'd use this picture from Work Health and Safety Queensland of a five cent coin to try to show just how much that legal limit or that workplace exposure standard is for silica dust. Now this small amount of dust represents the workplace exposure standard like the daily exposure for silica dust at the moment in Australia.  It's probably a little bit more than what is shown on the screen. This is a snapshot of Australian tunneling in terms of kilometres to be tunneled over time from 95 to 2021. We're obviously in the peak of an infrastructure boom. But it presents an opportune time at this point to not only look outwards internationally but also learn from our past. And it was at this point that I thought what a great opportunity to actually go and try to get a Churchill Fellowship so that we can actually go and have a look at international best practice and see what we can be doing better in Australian tunneling. As part of the Churchill Fellowship I visited quite a number of major tunnel projects including the Thames Tideway in the UK, Crossrail, High Speed Val 2, Belkin Renovation Tunnel, Alptransit Gotthard and a number of projects in the US including the SR99 Alaska Way Viaduct which was amazing. Also visited some research institutions and some major conferences such as the World Tunnel Congress in Norway. But before I went I spent a lot of time actually looking at existing best practice frameworks for health and safety to establish eight elements for investigation. The first and the most important was leadership because I wanted to understand what impact leadership had on actually driving better health outcomes for tunnel workers at the tunnel phase per se. I wanted to look at the impacts and the importance of health and design, how well international organisations were at engagement and collaboration. I wanted to look at standards both contractual and legal standards. I wanted to look at targeted management or things that would specifically reduce silica dust exposure versus program management which is the systematic way that a health and safety system is applied. I wanted to look at training and awareness campaigns and what could we be doing better. And lastly and also most importantly sustainability. How can we make sure that any initiative we do in Australia is sustainable and actually is retained no matter who is in charge or who is delivering that tunnel project. So I'll start with leadership. I found that visible and effective leadership actually starting with the client organisation was found to be an essential part of preventing illness and disease by the time workers started on site. How many of you put that level of leadership and importance on health in the way that you do business? Because internationally it's very, very strong. Leadership at that client level was demonstrated to create more stakeholders that also began to drive health within their own organisations. And focusing on occupational health started way at the beginning in the design stage before tenders were awarded and they continued to be promoted and outlined through contractual requirements and tender evaluation. Therefore the clients made it very clear from the outset to all contractors what the standard would be. There was no surprises. Internationally I found some great examples in the UK on engagement and collaboration. I saw that groups such as the BOHS Breed Threely campaign, some initiatives through the transforming tunnel safety groups allowed multiple projects to actually come together and share knowledge so that good practices were adopted earlier than they may have been otherwise. And these industry groups both raised awareness but also drove a best practice approach beyond mere compliance. And engagement with research partners enabled a greater understanding of the magnitude of the issues leading to better control measures being implemented. In Norway for example I have a really good collaboration with local research institutions. In Thames, Tideway I have a really good partnership with Loughborough University. So it's great at Sydney Metro that we have that type of relationship with RMIT as well. Internationally I found some great examples of training and awareness campaigns. For those that haven't seen this, this is from Crossrail's Health and Safety Impact series. It's called Jenny's Story. It's a very short video that helps raise awareness of silica dust or dust exposure. And things like this highlighted that we need to be doing more than a simple poster in a crib shed sort of campaign. Not to say that they're not useful, but internationally they're doing more. I also found some great initiatives in the US. The use of helmet cam or a lapel camera linked to a real-time dust monitor which was able to help workers and occupational hygienists and health and safety professionals actually look at where peak sources of exposure were happening in the underground environment. And a really good example might be that you'll find peaks of exposure when heavy plant operators might sit down in a fabric seat for example but you wouldn't actually see that dust when you're doing your day-to-day activity. Construction and tunneling projects internationally have mandated targeted contractual requirements or referred to legal standards that are more stringent than what we have in Australia. Some countries have fantastic and very high-grade legal requirements and where they're not there, then they're countered by very detailed contractual requirements by the client to close that gap. I found internationally that ongoing independent verification of exposure controls or things that should be in place by some authority able to stop the work has demonstrated to drive compliance and further improvements and therefore lower risk of disease developments. Really good examples of that would be the UK, Switzerland and the USA. When it came to health and design, I saw that addressing health way at the beginning in the design stage resulted in many more higher order controls being able to be applied prior to construction so not leaving it to the construction teams. And if health risks weren't able to be eliminated which is pretty rare for them to be able to be in construction then there was a requirement to demonstrate internationally how those health risks would be managed all the way through the project life cycle through to ONM. So program risk management was really interesting as part of the fellowship. I found that occupational hygiene as a discipline was managed together with occupational health and well-being as a holistic approach. Appreciating that, for example, it's great to have a well-being program but what are we actually doing about preventing exposures to things that cause illness and disease? And what are we doing about that work as health from a clinical perspective? So I found it managed really well internationally. A great example is in the UK. I found that initial health risk assessments were used to drive decisions on controls, monitoring and health surveillance as is the case at Sydney Metro and health surveillance through occupational physicians complemented by competent health clinical services and a standardised approach for what is deemed fit for duty and the centralised collection of data was observed and by doing that it enables people to look at trends which then inform future interventions and policy. At the moment in Australia this area is incredibly lacking because we don't have a centralised health surveillance system so we're not able to have that sort of data. There were many control measures that were observed internationally to specifically control exposures to silica dust and I'll say that many of these are not new to Australia. I've worked on many tunneling projects where I've seen these implemented incredibly well but what tends to fail us on some of these projects is that they're not always implemented each and every time and they're not consistently applied and that really goes back to leadership and the requirement to have it in place in the first place. Internationally every tunneling project in the UK is in the process of developing some form of legacy learning website and things like that ensures that good information is captured while fantastic team members are on the project and you don't lose that good information when they go to the next tunneling project that inevitably pops up. Also the use of benchmarking tools like the occupational health maturity matrix which is a one to six scale which is used to rank contractors in terms of their maturity in their systems of managing occupational health were observed to really drive best practice and perhaps some healthy competition. So in summary what is best practice? Well I found that best practice involves leadership driven by the client but working in collaboration with a very competent contractor and complemented by a strong regulator. I found that it involves major projects engaging and collaborating throughout the supply chain also with research institutions and with other major projects. I found that health, medical surveillance and wellbeing being managed holistically is best practice and contractual requirements and tender evaluation occurring for health aspects in addition to safety is very important. There were many tools available to assess and control risk to health but best practice involves them being implemented each and every time and the use of performance metrics that really push best practice has resulted in healthy competition and a better control of health risks. And knowledge sharing is commonplace across legacy websites and industry forums such as today. So the Churchill Fellowship demonstrated some key areas of improvement for us in Australia. The first is leadership and the importance of such leadership across all operating client organizations in the importance of health in addition to safety. The second was to improve the way and the amount of collaboration and engagement we have across all our major tunneling projects. The third was to strengthen our standards as an industry both legal and contractual and to increase training and awareness around silica dust and lastly to improve our processes of health surveillance. The Churchill Fellowship report was published on the Churchill Trust website in July of last year. So a lot has happened since that time. A lot of work has been done by a health and safety regulator, SafeWork New South Wales. A lot of work has been done by many clients and fantastic tunneling contractors, many of whom are in this room and through the Australasian Tunneling Society and the formation of an air quality working group and a lot has been done at Sydney Metro to even further improve the systems that we're working on. In short, the Churchill Fellowship demonstrated some key areas for improvement and the industry has received an overwhelming response and how quick everyone's been at actually taking up some of the items that have been identified and really working to close them out and making some improvements. So I'd like to thank the Churchill Trust for sponsoring such a Churchill Fellowship because this is an important issue that affects the health of thousands of Australian workers each and every year and it's great to finally shine a light on health in addition to safety in this industry. Thank you.


Good afternoon, everyone. Thank you for coming. I am especially thankful to the broad and diverse group of Burlington community leaders Who are here today and who've come together to share their concerns about the proposed charter change before that is before voters for this town meeting day I want to start by saying this Burlingtonians rightly expect our police officers to be held to high standards This has been a core value of our community for a long time and it's very much a value on the minds of Burlingtonians today We've done much in recent years to ensure That we live up to that value and chief Murad and I the city council and the police commission have all committed to more of This hard and important work and months ahead to get this key aspect of our policing policies, right? This proposed charter change however does not get community oversight, right? The oversight structure detailed in the charter change has little to no precedent in the country It lacks basic protections to ensure the fairness. We must offer our officers to succeed at rebuilding the department and It will be needlessly and wastefully expensive draining limited resources from other social reform and public safety priorities There's lots more to say about each of those three points and we have created a memo to the city council that details with citations why What why I believe each of those those three points The final point I want to make Before hearing from a number of other partners and we're not gonna we're not gonna make you hear from everybody We are gonna hear from quite a few of the folks up here The other point I want to make is this the language before the voters is not a place to start the conversation Rather, it is binding If this language is passed by voters in March There will be no further opportunity at the local level to work on the charter change language and will advance straight to the Legislature and the governor for approval that specific language includes some Important things for Burlingtonians to be aware of it It includes creating a new control board for police oversight that would be an entirely independent department of the city That independent department would be empowered to hire staff to investigate any incident to choose It's what it wants to have jurisdiction over and to discipline BPD staff Without input from the chief or any opportunity within the city system for appeal The board will set its own budget and it's unclear what if any oversight over that budget the city council and the mayor would have Board members cannot include Anyone who has ever served in a law enforcement agency, but they do not have to live in Burlington Unlike every other commission and board that we have here in Burlington the control board members Would be appointed by a committee created by independent nonprofits Not by elected official officials that are accountable to the voters And that is just a sampling of the many concerning details of this binding proposal So now I'd like see Welcome to the podium one of our key public safety partners one of our key partners in ensuring that Burlingtonians have The proper mental health services here in Burlington one of our key treatment provider partners the Howard Center and Matthew McNeil Thank you. I'm Matthew McNer from the Howard Center As an organization we deeply appreciate that the decision on the proposed partner charter change is now in the hands of the voters I'm we encourage everyone to educate and inform themselves on both sides of the issue After our own thorough review, we do not believe that the proposed charter change is in the best interest of our city Nor the people who live here work here or visit here. Thank you. Thank you, Matthew Next I'd like to welcome another key city partner dr. Stephen Leffler of the University of Vermont Medical Center Thank you, Miro Do you via medical center strong agrees with the sentiment of Burlington residents and many in this country that police reform accountability and transparency are the utmost importance Especially as it pertains to institutional and systemic inequities This is especially true right now while we're still reeling from the murder of Tyree Nichols While the medical center in the hospital is not experts in law enforcement reform We are experts in what has been happening in our emergency department We have seen a significant significant increase in violence against the staff in our ed over the past 24 months Our staff have sustained head injuries lacerations Broken bones and in several cases facial injuries so severe. They required surgery Across our state their health care workers who've left their careers Or been permanently disabled as well to the increase in violence. We are seeing in our departments and hospitals I'm an emergency physician by training over my career. I've seen a huge increase in violence in our department And a decrease in Burlington police's ability to respond in a timely fashion We must be able to rely on our law enforcement partners to keep our staff and patients safe While we completely support accountability and transparency The proposed charter changes cause us grave concern for the safety of our staff and our patients We cannot support a charter change that would have the potential of further diminishing the Burlington police department's ability to respond to violence in our emergency department or hospital I greatly fear this measure would put our staff at further risk Because of this we ask voters of Burlington to vote no on this measure. Thank you Thank you. Dr. Loeffler We Yeah Next I don't think he's made it here yet. I know Damian Gilbert from AFSCME is attempting to get here. He had a personal conflict as well and Maybe may still be able to join us before this is done Next up. I'd like to Welcome Kathy Davis from the Lake Champlain Chamber of Commerce Kathy. Thank you. Kathy Davis with the Lake Champlain Chamber So rarely is there a day when I don't speak to somebody about public safety I hear from business owners. I hear from employees downtown I hear from visitors who are choosing Burlington. I hear from members of our nonprofit and social services community and I hear from other residents outside of Burlington that love the city as much as the rest of us We know that Improving our public safety is multifaceted, but we also know that retaining the officers We have in hiring more officers is a part of those solutions And knowing that that's part of our goals We need to avoid additional obstacles to the retention and hiring of good officers in Burlington as a result We are asking voters to vote no on question seven on the March ballot for that reason because we think it's a risky experiment And that it will serve as an impediment to high earning and retaining those who serve our community Another important part of our conversation in our mind on public safety is about building trust and We know that trust is earned and the trust goes both ways And we think that excluding anyone with law enforcement experience from this board Doesn't build the trust we need it actually breaks it Over the past couple of years our business community has proved itself to be more resilient than any of us could have imagined And we need your help now though to ensure that Burlington Remains safe for all who live here who work here and want to visit here And we do ask that residents of Burlington vote no on questions. I've been in on the March ballot. Thank you Thank you Kathy now. We'd also like to hear from Kelly Devine the executive director of the Burlington Business Association Kelly Thank you mayor Everything Kathy said plus this Our city's ability to deliver public safety safety services is a concern for everyone residents businesses people who come to work here Our community also is very concerned and I think committed to Advancing our ability to become a more equitable and just place for everyone who wants to be here the reality today is that People who work downtown and visit downtown do report being Challenged with public safety issues when visiting here or working here staff at our restaurants and stores They're being harassed. They're being threat threatened and assaulted on a weekly basis We are losing businesses like L. O. Bean who are leaving town for a variety of reasons But they always cite public safety as one of them We need to focus on rebuilding the Burlington Police Department not tearing it down We need to give more reasons for folks to come and work at the Burlington Police Department Not more reasons for them to leave We're at a critical juncture This ballot question puts our city's public safety services at great risk It is yet another risky experiment on Burlington's critical public safety services If it were to pass I think the impacts on our residents on our downtown community On the businesses who come here and the people who love this place could be immense We are absolutely supporting a no vote on question seven. Thank you so I Want to also note and thank Kyle Blake from the Burlington firefighters Association for being here It's being part of this coalition. We have a number of Past and present city counselors. We're going to hear from one of them in a moment Ben Travers and We in addition to the leaders of the business associations. I want to thank Mark who is currently the chair Mark We shared the chair of the church the marketplace currently and long time retailer on church Street for being here as well and Becky, thank you for your long commitment to the downtown and being here as well With that Ben Thank You mayor Ben Travers Ward 5 City Councilor want to echo recognition of past city counselors as well as current counselors Sarah Carpenter and Maya Brant for being here today and Agree with all the comments you've heard thus far I think the group you see here today is just a small part of a broad diverse coalition of Burlingtonians Who've expressed great concerns about the selection criteria for this board its accountability to voters the breadth of the authority It would be given the extent to which it takes away the chief's existing disciplinary authority the cost of this department and so on It is an untested Unprecedented experiment I think is the right word a couple years ago the city council Experimented by cutting the cap of officers in the Burlington Police Department. We cannot afford to experiment again with public safety I'd like to just talk a moment though about process and public engagement Burlington is a community where folks want to be heard and they want their elected officials to be responsive to that feedback I Appreciate the efforts of the folks who put this petition drive together It's not an easy feat to secure that many signatures The way this ballot measure has come forward However, does not allow for the kind of public engagement our Burlington community is used to Charter changes almost always go through a careful Deliberative process before the city council where with the course of multiple public meetings We work together to come up with a measure that hopefully has broad community support It is important for voters to understand that because this measure is coming forward by petition State law precludes the city council from making any amendments responsive to the kind of feedback and concerns you're hearing today This is not how we should be legislating and Regardless of how you feel about the content of the proposal I think the lack of public process and community engagement on this is reason enough for people to vote no on question seven I Do want to acknowledge though the city's Mission towards equity. I think we should note that today is the second day of black history month We owe it to our community to continue a discussion on police oversight and accountability A no vote is not a vote against oversight and accountability A no vote is against the experimental measure that has been forced before voters We will be introducing a resolution before the city council Asking the community to vote against this resolution But also opening an opportunity For us to continue to hear from the feedback from the community For us to continue to listen to the public And for the ordinance committee and charter change committee to act over the coming months to see if we can come to a proposal on Accountability and oversight that has the more broad support of the folks here and the rest of our community. Thank you, ma'am Thank you Ben Thank you Ben We have been joined by damien gilbert damien. We're we're glad to be able to make it and Putting measures How y'all doing today? My name is damien gilbert. I'm the president of local 1343 For AFSCME for all municipal workers in the school department I have some really major concerns on the committee that the uh progressive party is bringing forward On due process. I believe that every worker that is part of a union Has the ability to have fair due process and go to arbitration. I don't think it's wise to support This agenda for this committee based on the fact that the individuals and even the officers alone That are part of a union already have a disciplinary action process The city already has a progressive Comprehensive policy that's in place For disciplinary steps that they can easily go beyond those other than a verbal reprimand Their cba, which is pretty current probably to ours has the same disciplinary action too And it can be progressive and you can jump the steps on that as well I've read the Agenda that's been put forth for this committee and even to be the mayor himself or the city council Let alone directors. They have to be a city resident In order to be on that council any part of any other committees in this Agenda that they have there does not it has a three and a four-year term Where anybody can be appointed to it that may not have a background in human resources That would warrant any kind of disciplinary action let alone termination I am not in support for the municipality workers for AFSCME Only because of this could have a trickle effect and it could affect every union based on the language of what they have instilled for the Against the to supersede the any contract that the city has already agreed to Um, I will not be in support and I will talk to my members and make sure that they know as well Not to be important in support of ballot seven So, um, I really thank you for your time and I think every voter should really take the time to read What they put together and um, I think it's egregious And I'm here to support the other union workers to make sure that um, this doesn't go forward Thank you for your time. Thank you. Mr. Mayor. I appreciate it. Thank you Okay, um with that, I think that's uh, those are prepared remarks. You'd be happy to answer some questions if there are any Go once twice The chief has already weighed in on this and the union has as well and um from my perspective It's important for other voices to be heard in this debate as well. So I Yeah, this is as simple as that Sure, Courtney. And you know, I do want to um Just going back to your first question. I certainly they're They're additional opportunities to to speak to the chief and Union directly. Um, I think it can sound Self-serving when it's coming from from the officers. That's feedback I've heard So I thought I thought it was important that we hear today from a really broad cross section of burlingtonians and Burlington organizations The If you look at the details of this proposal, it lacks the basic protections of fairness that um, we have in our current disciplinary systems here in burlington and that um in every uh that exists in every other Uh police oversight disciplinary board that we have been able to look at and study Those protections range every from everything from how the board is constituted to ensure that there is Relevant expertise within the board members that are adjudicating a disciplinary matter There are The the words due process the requirements that there be fairness and due process is is despite recommendations from the city attorney when this uh When this language was being created a couple years ago do not do not exist there There's no basic standard there um Another um example Is just that the lack of accountability that that this board has is unlike anything else In our in our system This is instead of being again appointed by the city council and the mayor as we do with all of our other boards The way this appointment process happens is that Individuals are put on this board first the selection first the council and the mayor choose a group of nonprofits That nonprofits then gets to create a an appointment committee. The appointment committee then creates This board there is then no recall Uh provision or ability to remove members for cause. It's it's a completely unaccountable uh unaccountable board so um I think it Disciplinary matters can be uh Depending great deal on the details. They can be controversial. They can be Tough judgment calls to make and there are no protections in place in the way this charter language is written to ensure That Fairness standards are met and that you know, that's the heart of of my concern We are in a position where we have lost more than 40 of our police department We have put millions of dollars into attempting to Rebuild that department. We put great energy and effort into that and We if we are going to be successful in that effort And there's some early signs of momentum of this rebuilding effort if we are going to be able it be successful We need to ensure fairness and I just don't think that this Uh, this charge change makes any attempt to ensure that despite Uh, despite that being raised repeatedly In in past years Yeah So first of all Yes, I chief mirad the administration the city council the existing police commission are are all committed to a strong system for ensuring Accountability for our police officers and I think it's important and not be lost in this conversation that many steps have been taken since 2016 to Uh and even before uh to improve to ensure that our officers are held to a high standard to ensure accountability to name Just a few of the major examples. We were one of the first departments in new england to require every officer to wear Body camera and we have continued to refine our body camera policies including in in recent weeks We now you've seen the first of the examples of how we are We have we have added resources to be able to release body camera footage Very quickly after use of force incidents We have dramatically Expanded the the roles of the police commission to we've codified that all use of force incidents and all complaints will be reviewed by that That commission and they will have an opportunity to advise the chief before the chief renders a disciplinary decision I we are working under an executive order now that I issued in in late 2020 that um ensures that on use of force incidents use of force incidents of of significant public interest that I get to weigh in after hearing from the city attorney from the racial equity inclusion and belonging director from other key members of the administration I get to weigh in and make a recommendation to the chief I've long thought so those are just three examples of how that this system has changed recently Maybe the most important one. I haven't said yet. Let me just say is this we our officers today are bound by a new use of force policy written in 2020 that goes way beyond what the former policy did to require officers to attempt to de-escalate and Use only the force that is necessary to Deal with whatever incident they're facing that was such a strong and good policy It's become actually statewide policy in many ways now for the whole state of vermont. So many many steps have been taken In recent years. We're not done with that work. I would support going farther one thing I welcome about this vote is It has been very challenging to move forward with any possible charter change and I do think ultimately a charter change is Necessary to get the right balance that we want in this community It has been very challenging to advance that conversation with The this concept of the control board being out there gathering support From petitions. There has been there were several attempts that were made to advance a conversation about charter changes and with this hanging out there We weren't able to get anywhere with that conversation. It is true that there's also there was a Use of a a new ordinance for the police commission that would within our existing charter language Refine and detail The roles and responsibilities clear give them some additional formal authority It was actually Dan Richardson who drafted that ordinance there were Concerns that we have been unable to reach consensus on that And I do in some ways trace that back to this outstanding question about what the charter is going to say. So Um Following town meeting day if if this ballot item is rejected I think there will be a new it there'll be some clarity from that and there'll be a new ability For us to attempt to find a consensus on what further changes are needed Um At the same time I want to go back to the point I started We have already done a great deal to ensure high standards and officer accountability And I hope all brawlington voters are clear on that when they go to the ballot box I am opposed to That that charter changed as well. Uh my concern there um You know, maybe I don't feel quite as strongly because I don't think quite the same Uh The stakes are not quite as as high as they are with uh with The control board chart change where I really do feel that um our ability to Provide the public safety uh that brawlingtonians expect is is hanging in the balance on uh on on the outcome of this decision I really uh, so I have not put as much effort. You're not finding a memo from me on that today I do uh, I do I am concerned about that. I you know, I've been in this role for 11 years now We've had a number of instances where I would say usually when petitioners um Organize put in the energy to bring forward uh some kind of petition if there's a request for a ballot item That is something the city council and I take very seriously and the great majority of the time we will we will that we are we we um We'll act on that effort and and put the the item on the ballot. There have been a couple of instances where The timing the circumstances surrounding that particular issue Have meant that it it was either too late or problematic timing for for going going to the voters The couple examples of that I can give you are with city hall park We had spent a decade of work. We had spent hundreds of thousands of dollars We had gone through enormous amounts of public process Jane O'Dell and I spent much of the summer of 2018 sitting uh, I think was over at the police department Right. It was in the community room over there. Maybe it was in the Old conference room 11, but we went through tree by tree to determine which trees we remove which ones we would keep We had done an enormous amount of work. We had reached a political compromise that There was broad support for we are out to bid on trying to build renovate city hall park when the petitions came in saying Whole slow down wait. Let's wait until the voters get a chance to weigh in here I thought that was I thought it would be very problematic if the council didn't have the authority to do what they did Which is to say, you know, this this this is coming to us too late Uh, we've invested too much. We literally spent too much. We've invested too much energy and time It's time time to go forward and build and I appreciated very much the council took that action if prob zero passed They wouldn't be able to do that is my understanding of it. Um, I can give you other examples, but that that's what it comes down to You know, I I give you just one example. I mean it's it the the deficiencies That we normally see as I tried to detail before there there are many things that we typically see in required and disciplinary processes That are required that that are not here an example of that, you know, I think we think of an appeal right as a basic Due process, right? There's no provision for an appeal within the city system in In this In this language, uh, the only appeal possible is to go, you know, to to go to court to go to superior court There's even a similar provision and you know, something I heard, you know, I think Damian was I don't know, but merge your mouth by her. There's real discomfort on their synability of this board to suspend Individuals without pay for for two weeks with no opportunity to grieve to grieve that decision Just from my perspective in reviewing it and I do sit currently as the chair of the ordinance committee I think there's certain Central tenants to due process that you don't see in this measure Uh the board the proposed board has incredibly broad authority with respect to those Incidents of misconduct that they can take action on for example The board can take disciplinary action on any misconduct In an officer's private life without providing any guardrails around What is misconduct and what is the bar? Over which the board can take action Another important part to do process is that You will be heard by a neutral independent Arbiter when you go before a court you're heard before an independent neutral judge Here we have an unelected board Selected by selection criteria that we don't see for any other Board or commission in the city And as the mayor pointed out The appeal right is to the superior court There is uh no longer the kind of appellate mechanism that you see right now here So those are my concerns around due process, but I do think the concerns even go Well beyond the due process rights of folks here have laid out The breadth of the authority the selection criteria that goes into this the fact that the board unlike any other board commission The city is is not truly representative. I believe of our community. There are lots of concerns there as well Okay, um, thank you all for being here today. I thank you again to the many partners here today and We look forward to talking more with you about this and uh other Other town meeting day items over the next over the coming weeks. Thank you