top of page

Yik Yak Webcrawler/Data Visualization.  

This project involves mining and visualizing data from the Yik Yak application server. Yik Yak is a social medial tool where users can anonymously post and view messages with people that are in the same geographic location. 

 

I use Python to grab the 100 most recent yaks (messages) from the Yik Yak server that are centered on a given location. Then I conglomerate the data and perform simple count vectorization to produce word cloud visualization that can quickly give the user a sense of the contextual content of the yaks. I visualize the word clouds using JavaScript and D3, which show top most frequently yakked words in which the size of the word in the word cloud is encoded with it's frequency in the yak data. 

 

Since Yik Yak is anonymous, the true "atmosphere" or culture of a location can be easily discerned. For instance, around college campuses, there are frequent references to sex, drugs and cursing as yakkers have total anonymity and thus no accountability for things that they say.

Sixth Sense:

EMG Control Application for Android Devices.  

Application WebPage: http://nrw2sixthsense.webs.com/

 

What it is:

The Sixth Sense application is an app that provides hands-free control of your smart-phone allowing that allows you to send commands to your phone using EMG signals generated from eyebrow movements.  Normal blue-tooth headsets currently provide limited phone control and some cases; still require the use of hands.  This android application that I developed uses the Neurosky EEG/EMG headset to provide a completely hands-free way of controlling a smartphone using simple eye-brow movements.

 

How it works:

The Sixth Sense app utilizes an inexpensive EEG/EMG recording device from Neruosky. The Neurosky headset has a single wireless electrode that sits on the forehead and reads brain-wave and muscle movement signals. The android application software I developed, receives these signals using Bluetooth communication, stores them and then processes them to decode the intent of the wearer.  The application buffers the signal and applies real time filtering, artifact removal and feature extraction of the signal. The pre-processed signal is then sent to a simple linear classifier to detect the presence of winks and eye-brow movements that represent user intent.  These decoded intents are then used to control the device to perform common tasks such as: making phone calls, sending texts, starting apps, playing music, controlling power-point slides, etc.

 

Current Application Functionality:

 

Voice-Control

There are three control modes for this application. The first is "Voice-control" mode. This mode allows the user to initiate the voice control feature on the phone by quickly raising and lowering the eyebrow. Once the eye-brow movement is detected, the voice-control application starts and awaits a verbal command from the user.  This verbal command can be virtually anything. For example: eyebrow raise + "Call Peter" will call the contact named Peter. Eyebrow raise + "what is the weather today?" will prompt the phone to find and display the local weather. Eyebrow raise + "send text 'where are you?' to Tom" will send a text message to Tom saying 'where are you?', etc. With the EMG initiated voice-control, virtually all aspects of the phone can be controlled in a hands-free manor using the NeuroSky headset.

 

PPT-Control

This control mode will start up the power-point control app. Once synchronized with a host computer, eyebrow movements can be used to scroll through power-point slides. This allows for a very convenient control over power-point slides without having to use a keyboard or hold a remote control.

 

Music-Control

This control mode will start up the phones default music player app. All songs on the phone can be scrolled through on shuffle mode with quick eyebrow raises. This is a very helpful feature for changing songs while driving a car as it provides a safer, hands-free alternative to controlling the music player.

 

NeuroFeedBack

The Neruofeedback mode provides real-time visual feedback of the users EEG/EMG signals. The raw EEG/EMG waveform as well as common brain rhythm levels can be visualized on the screen in real time. Brain rhythms are a key indicator of current brain state of the user. They can be used to indicate the user's level of alertness, drowsiness, concentration, and anxiety for example. By using the neurofeedback feature of this app, the user can learn to train their brain-state by raising and lowering the levels of certain brain rhythms.

 

Application Screen Shots:

UNF Word Cloud

Word cloud made from yaks near the University of North Florida during finals week

 

ODU Word Cloud

Word cloud made from yaks near Old Dominion University the week before thanksgiving

 

Various engineering and computer science projects that I have done (more to come! I just haven't got around to uploading all of my projects).

LATEST PROJECTS

NeuroSky EEG/EMG Head-Sets:

bottom of page