Jump to content

Newest Project I've been working on. (Javascript)

I have had one hell of a year so far, it's been insane having two jobs and going to school. I managed to get alot done on my project as a research assistant though. It's a pretty cool application that analyzes data and plays it back as a sound wave so people with visual impairments can better understand the data.

 

https://github.com/RITAccess/Glance-data-analyzer

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to post
Share on other sites

Interesting! Do you have any sort of practical applications or scenario for the program? As in did the project stem from a case where someone with an impairment did not have a way to visualise data?  

Data Scientist - MSc in Advanced CS, B.Eng in Computer Engineering

Link to post
Share on other sites

 

Interesting! Do you have any sort of practical applications or scenario for the program? As in did the project stem from a case where someone with an impairment did not have a way to visualise data?  

My boss/professor is visually impaired so she directed me to work on this. The scenario was actually from her doing research and having problems understanding some of the data because she can barely see. (Legally blind)

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to post
Share on other sites

 

My boss/professor is visually impaired so she directed me to work on this. The scenario was actually from her doing research and having problems understanding some of the data because she can barely see. (Legally blind)

Oh that is interesting! How usable is the system for larger data sets? I watched the video and it seems like the output is fairly slow and would it not be limited by short term memory for audio?

Data Scientist - MSc in Advanced CS, B.Eng in Computer Engineering

Link to post
Share on other sites

Just now, randomhkkid said:

Oh that is interesting! How usable is the system for larger data sets? I watched the video and it seems like the output is fairly slow and would it not be limited by short term memory for audio?

It scales quite well for dataset size. However, it is limited to values between 0 and 100,000. It actually changes the tempo based on how many items there area so it wouldn't take too long to play. However, there is a point at which that wouldn't be very useful.

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to post
Share on other sites

Just now, Remixt said:

It scales quite well for dataset size. However, it is limited to values between 0 and 100,000. It actually changes the tempo based on how many items there area so it wouldn't take too long to play. However, there is a point at which that wouldn't be very useful.

Ah that makes sense, do you have plans to expand the project further? 

Data Scientist - MSc in Advanced CS, B.Eng in Computer Engineering

Link to post
Share on other sites

Just now, randomhkkid said:

Ah that makes sense, do you have plans to expand the project further? 

Well that video is actually pretty outdated now. The current project has a text to speech help page and I've added color choosers instead of manual color entry. This summer I'll be moving on to a pencil code integration for the visually impaired. 

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to post
Share on other sites

Just now, Remixt said:

Well that video is actually pretty outdated now. The current project has a text to speech help page and I've added color choosers instead of manual color entry. This summer I'll be moving on to a pencil code integration for the visually impaired. 

Nice! I'm always blown away by projects in this field. What sort of degree are you undertaking?

Data Scientist - MSc in Advanced CS, B.Eng in Computer Engineering

Link to post
Share on other sites

46 minutes ago, randomhkkid said:

Nice! I'm always blown away by projects in this field. What sort of degree are you undertaking?

BS in computer science. 1 semester left!

CPU: Ryzen 5950X Ram: Corsair Vengeance 32GB DDR4 3600 CL14 | Graphics: GIGABYTE GAMING OC RTX 3090 |  Mobo: GIGABYTE B550 AORUS MASTER | Storage: SEAGATE FIRECUDA 520 2TB PSU: Be Quiet! Dark Power Pro 12 - 1500W | Monitor: Acer Predator XB271HU & LG C1

 

Link to post
Share on other sites

All  I could comment about is that ajax.php is really weird to me... and has some errors.. for example you're using basename("data-analyzer.csv")  in the code but there's no such file name because you always add some random number to the file name... and using basename makes no sense in that context if you enter a constant string in it, you use it to extract the filename out of a full path.

 

I don't like how you create php files on disk only to execute them and then delete them, there's no point to that.

There really should be no point in always recreating that php file, you could have that php file always present on this and pass some parameters to it if required.

Also probably mt_rand() should be used, and not rand() .. not everyone has the latest php 7.1 or newer installed and on older versions rand() isn't as good.

 

If you go the route of creating a php file on the disk, you could have the raw php file into a string between single quotation marks, which means you only need to escape the \ character, everything else is not escaped. And where you need to put the filename you can put something like %%FILENAME%% and simply do a  $text = str_replace ( '%FILENAME%',$filename,$text) or something like that.

 

And you could use @ in front of functions to disable error reporting, so you won't need to use ob_clean so much to clean the buffer, and you have file_put_contents() to write stuff to disk in one shot or get FALSE if there was an error ..

 

I'm sure there's even more issues with that file.

 

 

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×