 This is not in production yet, finding all sorts of little bugs as well, so please do let me know if you see any, for example, in the ECG game, this thing, the menu will work on desktop but on a mobile phone it does not work. I'm not sure what's up because it does work in any other tool. I'm not sure what the difference there is. Something is on, it would not give any error messages because that's not an actual error and it was quite embarrassing because someone actually found it out, found out that that button doesn't work. I'm not sure why they thought that button was important, but I mean, I guess it is, everything is important, anyway, whatever. Right, just let's jump into it. So first thing first, we have this semi-blog, whatever we call it, probably not long enough for a blog, but this was generated over several hours, prompting GPT-4, the image, which is not bad, was generated with deadly three, and this is some thoughts on the impedance and the EEG and the fact and the unknown reason behind it's even being called impedance to begin with, because it's not just resistance, it's not even resistance, it's an approximation of resistance, so it should be called probably something else. This one obviously will need, it's already on the page, there is a link on the front page, these tools and things, eventually we want to turn everything in here into an application, a web application, but remember that the project is called chaos for a good reason. Need this bit from signal-each equality, so obviously not taking it from cardio-quest because that thing doesn't work on a mobile, so it might be something wrong with that code, probably will not take it from the main page as well. Yeah, let's take it from, not a new page that we haven't been testing for a while, of course this will not work because it's a flask application, and it will work from here. How narrow this page has to be, let's just double check this too, this page is working fine. I assume it's something in the CSS. If anyone knows how to fix this, please do let me know. Okay, image-compress-wavelet, let's take it from image-compress-wavelet, template's HTML, it's the HTML of the blog, so in the body we need this header including the JavaScript, and that's when it's something in there should have looked like that. Right, we also need to apply this style, they are essentially two styles, CSS, a page is being applied, no, no, no, no, no, no, no, no. Okay, this is really stuffed up, the text and everything, the text would be in the wrong color, whoops, can I comment, the problem with CSS is that if you already have comments and nothing will work, well actually we don't need this additional CSS, right, just use the image could be minimized, this image could be autoscaled or something, let's bring it back, not this one, in the same folder, image can get rid of that, can get rid of this, should be actually the minimum size of it, it's kind of obvious that a mean doesn't work with percentages, a 300 pixel, the molex is 600, 500, so what if I make max 80 mean 50% of that, what if I don't? Right, that's good enough, and we have the, whoops, it's working okay, right, done this, yeah, we have the disclaimer, can close that, we have the link to it, it's kind of separate issue, that we can deploy everything, okay, this fingers crossed, everything will disappear for a second, by the way we now do the redirect from www, which no one uses, but just in case, there could be some older links that have it, right, this is coming from the, right, so this is the new blog, check it out, might be running ads on it later, just to test some stuff, memory there should be ads on here, but now they are delayed by 10, 10, 20 seconds or so, yeah, so once you use the tool for more than I think 10 seconds, you get an ad, sorry for that, I have to get reimbursed for the electricity cost, I think the same thing for this tool, yeah, the ads are now, they will be delayed, so up here, a bit later, I don't know if it's better or worse, let me know what you think, and the main, still working on this one, whatever changes we made, but again, and this button is funny, it works in the regular page, but doesn't, on the MOBA, this one, yeah, this one works, okay, so I don't know what's up, suspects did check the CSS, don't know, you should do it, so I don't know, actually what that might be weird, so we can close that, and we can close this, right, let's get into our last complication, a closeover sec, minimize this, okay, so this is a EEG spectrum 60 channel, it's EEG, then we do the denoise, it should be kind of similar, a similar function, sure why I'm getting Federation University advertisement, no, it's good that I get any universities more than welcome, more than happy to place ads on the side as well, if anyone's interested, I mean, this ad is targeted at me, essentially, so I'm not sure why I'm even seeing it, right, let's start a new GPT, so we're using four default version, we're not using advanced data analysis because it's executing stuff on the open AI server, we don't want that, okay, we have the spectrum, we have this info, that code already, going, don't want to deploy yet, and that's the actual application, let's run it, see what we get, I do not getting any errors here, I'm getting any there, yes, eventually it's not, it didn't work, EEG, JS, let's just start dropping in stuff, blah, blah, that's okay, it's okay, HTML, now we're having this error in EEG line 64, event listener input, don't think we even have 64 or 18, it doesn't have any properties, so can you help us with the business script, I have to find the element, there's no file scroller, where is my file scroller, in HTML, we are missing a file scroller, we also need this style, close this HTML, pretty sure I asked it, what did I do, I asked it, asked it already multiple times to edit controls, select channel, let's pop it there at the bottom, now we have the fast growing, we have the data, we have the raw EEG straight away, we have some EEG values, it's the mobile version, mobile version doesn't fit the whole screen, if you have any ideas as to how to make it better, please do let me know, but currently we'll just be testing on, and we want to load something as soon as the page loads, this doesn't work, okay the page scroller is not actually scrolling the file, sorry it should be a file scroller, a file scroller, let's see a file scroller, so hopefully soon it will appear on the website, if you haven't checked it out already, please do so, any feedback is more than welcome, play, pause, this doesn't even look like a button, okay first of all should we get rid of all this era, it's called monitoring, debugging stuff, so we can get rid of some print statements, so at least comment them out, yeah definitely can comment that out, so let's do this again here, all right that should be, and then JavaScript should have some what's called, that play button now, console log, that one, yeah we only have the one comment this out, so on the console it should be nice and clear, control f5 to, oh it's still getting an error, there is 69 in chavascript, play speed input, speed input is missing isn't it, wait what did it say about chavascript in the file scroller, we have file scroller was was unintentional, was not needed, phage dollar right there, oh okay, no I do need it, change function, yeah in html should have the speed play button, yeah should be somewhere next to play button, playback speed, still not playing anything, at least I'm not getting any errors, get 200 response from this server which is good, obviously we'll need some re-shuffling about we do it straight away, let's go into this up prompt, normally we call it prompt text file, but the filter order might be, it's happening there, scroll through the file, okay couple of things in more prompt, so scroll through the file does not, it's not updating the charts, that's right, let's at some later stage we should start using copilot more, so yeah the idea is that yeah it's pretty good at generating template that actually works in html, might wait, okay so there's a bunch of things that we need to do there, should we do them now, oh sort the frequency spectrum, it's not displaying properly, for instance the spectrum is not working properly, should be showing the frequency bands, the frequency spectrum should have frequency as the x axis which it does, it's going all the way up to 200 which makes kind of sense, should be 250, what about linear log, right that actually works, I should have a whole spectrum selected, yeah this is a bit weird, the power numbers are extremely large, a window size seem to work okay, we also should write what is working, channel selection, well first of fact write the training working pretty well, it says centering the signal around zero and write log linear, all right it's actually working pretty well, I get, yeah the filter order was too high before, so it's essentially filtering everything out, when you go log scale, yeah the filter is a bit odd, that's the whole spectrum, so that's the whole spectrum that's more a larger window, that's actually a seizure there, so yeah the scroll, scroll doesn't work, I have to fix that, but essentially the, yeah the purple line there is the whole spectrum, yeah we have to limit this at a lower frequency going up to like 50, 50 hertz or so, because that's most of EG stuff, linear log works okay, yeah so when you go in linear it should limit the frequency access, the x-axis to go up to 50 hertz, that should be better in log, well same thing, we can limit that at about 100 or so, so we see more difference in there, and the window size is limiting us at 60 seconds top, but we should be still able to scroll through the file, right so the problem before was that the filter order was too high, this specific filter just the way it works, a play button, yeah play button doesn't work as well, it's kind of obvious because scrolling doesn't work, and make sure frequency scale is changing, it's changing the x-axis, no the x-axis shouldn't be changing, it should be time obviously currently it's data points, the number of data points I think, no it could be actually time, because yeah that that's a very long file, and we're skipping in the file to this particular second that has, yeah that's right, that's the beginning of it, so this is seconds actually, it's just a very long long time file, so we have 400, it's actually 399 whatever 0.99 whatever, doesn't matter, 400 should be good enough for our purposes, purposes, and then this is the start time just because that's where the first seizure starts in that file, I think that file has more seizures than that so we can, now I don't want to overload the server, so it's only displaying whatever up to 60 seconds of data, but then we should be able to scroll through whatever currently being loaded, such a window size, yeah this is sending something, let me clear that terminal, yeah it's sending stuff in, but it's not, it's taking channel one, here we can change channels, this is that same seizure in another channel, here we have 16 of them, so actually we need to add, we can just add all of them, add all of our channels, oh come on, don't do it, land by a lot, surely ShGPD can do a better work, let's see, I'm going to do it manually, right that's right, that's how we do it, github copilot is doing things line by line, this is how it's done, it's actually did all of them, save there, so we should have fresh, yep we have, because the first eight channels, yeah there are 16 channels including zero, so the first eight are on the left side of the head and the second eight are on the right, now this filter order in our html filter order, this default value should be around two for it to work better, a whole spectrum, well the whole spectrum is essentially just the sum of you know all parts, hi-channel eight has this funny, funny business, so this is not published yet, hopefully I'm publishing it today, the whole data viewer is available already in production, yeah this needs improvement, it actually should not be loading like that, it's actually in the scene doing something with the CSS changing colors and things, this is how I wanted it to be to load, yeah that's the channel eight has this funny deep, it's a flatlining clipping signal, I don't know if it's a motion artifact or something, yeah it's that red line there, this one you can group a line by line, it's side by side, so left and right separately, yeah so it's just the viewer and this thing would be, now should be called different name, it's actually add the description to this, right so now load channel, load channel whatever six, linear log, log scale, whole spectrum, yes no, yeah most of what you can see is in delta and there's a bugger all in the other bands, but once seizure comes in you should see more of the other bands going through, yeah so you saw the elevation in theta, so higher frequency, so again this would be whoop, so let's make it log scale frequency, scale option, log should be the default value, log fault, doesn't want to do it, yeah GitHub co-pilot thing, isn't it even, yeah it is running I can see it's doing something, but it's not actually the GitHub co-pilot, can you be at least as good as GPT, well you can try the 3.5 I'm sure it will be able to to do it, but that's how it's done, but show why it's not generating anything and now when we reload page, yeah log is default, so again if it's like linear hit f5 it will add default to log which is better, I want the scroller to work, so we had a prompt for it, I think we already actually edited it before, we just chose to ignore it, yeah let's go back here so we like fork the chat, it's not, no I mean it is present, let's double check, pre-show it's there in the html, yeah it is there, file scroller, what step, yeah I want this step to be, yeah probably want this step to be like 100, let's start with 10 max, why, okay it uses to scroll through the an hour of data, is it, how much data are we loading, we're loading 100 seconds, well we could have could scroll through an hour, modify fetch that render function to scroll through the play button, okay so why don't you actually do this and time it's a scale, why is this different and why are we not taking it from the from the html, that's what this get element does, parse in integer, converting this into integer, so we just do it in the file scroller event, a bit confused, so having trouble with this not fitting into the whole window, this is by the way seizure onset, this is because I can't scroll, it would just add stuff up, and yes I suspect that the theta increase is because of those higher frequency components, the actual spiking during seizure, so if it's now at reaching what's the around 600, as you reduce, as you have less of a seizure, it's going down to like below 200, is it 50 hertz, there should not be 50 hertz in this data by the way, it should be super clean data, because it's recorded straight from the surface of the brain, it's an implant, and hopefully if all these inputs are actually working, don't scroll through the data file scroll, you will need to make adjustments to both the front and the javascript, that's okay, can we read each other, I don't like that response, to integrate the scroll functionality effectively, you will need to modify both the above and the same, a file scroller, use the value, include additional parameters in API request, again that makes sense, starting time based on the scroll position here, that makes a better sense, so fetch data and render, yeah calculate the rest parameters, we need to add start time, okay fetch the data, set the fetch logic, fetch data, okay whatever, now back and modifying the get data in item, in get data, time from the request, okay, already have window size, okay let's pop this in there, just so we have some sort of order, skip rows, calculate the number, to have it already, do I need to change the name or keep the data, okay we're ready, that's the problem, okay so it's a real long file, this should be the default start time duration, but then do we read, we will end up having the read CSV wise, bring the CSV file, we can be inefficient, load the entire data once, slice the memory data based on start time, so what we want to do, yeah we're having the same problem with this file here, because this is not the whole file, instead of repeatedly reading reading the data at once at the start of your flask creation stone memory, it is too large, the data set is too large, you need different strategy, use a database instead of flat like file, yeah don't want to change the file format, not yet, yeah preprocessing CSV into smaller chunks, saving chunks in as a separate file, client style, down sampling, never heard of, can give me more info on the first option, right so instead suggesting to insert the whole file into a table and then connect to the sq lite database and insert the data, I feel like I don't want to do it for now, just because it's working already, but we loaded a database could be nice or later, we did load 100 seconds of data and only displaying 10 seconds by default, we would like to scroll through the 100 seconds at this stage, simply modify the front end logic, it should be as simple as your, so okay let's leave that, make sure it's still running, you can also select a different channel by default, yes 7 has more detail in it to begin with, let's make it 7, we make NL7 default loading the page, it just doesn't want to do this, I show even 3.5 can do it, github copilot cannot, so we're just doing this, check, yep 7 is default, yeah copilot, copilot is gonna hopeless, make this scroller work, page and render function, start time, new parameter, why keep repeating everything I say, a URL, this should be the same, I'm not sure why you're matching it to me, then in flask which is the python script, get data, we extract, yeah do we need to multiply it by no, what sampling rate is 4, sampling rate is already defined as it's definitely not to 50, it's 400, that's correct it's king, start index and index, yes you don't really need the brackets, chgpt and extract segment, but segment is not being used, how do I use segment, so currently we're returning response data, we need to change the response data, okay get data, okay that's the same, fsfs, segment is dead, vg data, still want to use the window size, alright window size was used there, so if I get rid of that channel, yeah we do have channel ready to integer, it's actually not bad, co-pilot, detrain if necessary, response data we have raw signal and here we need a deadline, vg data to list is the same, type scatter, response data, see start time, it's not changing the plot, prepare, let's clear this for a sec, okay we're getting this big fat error, clear again, just click on it once, getting it 500, control shift c, can you explain this error to us, yeah this is, get all mixed up with that