David Richardson
Paul Wells
Max Parmer
1:00pm
2:30
4:00pm
fight with java
make some graphics
5:30pm ish
randy drops off irc... never to be seen again
created client side component ala urchin.js
created server side recording component
grabbed some preexisting logs and ran some quick aggregation to provide a rough outline for visualization data
9:00pm
11:00pm
1:30am
2:00am or so
finished the ai script to train suggest system... tweaked, refined, etc...
created some scripts to dump aggregated and filtered log information via csv to the java applet
drank all the yerba mate ever...
6:30am
7:30am
making some breakfast
documenting code
10:30am
Our application will visualize the relationships on blogging communities. It will create a series of tubes connecting blog users based on the number of visits to that blog by other visitors in the same community.
We will be using sample data from our personal blogging community (http://elowel.org) but the application itself would be a server side script and client-side javascript installed by the owner of the blogging community that would begin tracking relationships based on new data from the moment it was installed.
–Recommendations and Social Networking in Java, Javascript, PHP and MySQL
On the server side pureWitchcraft provides a framework for viewership data collection and recording from a remote server. Given this traffic data a learning script based on principles of regression analysis and singular value decomposition is used to create parameters for predicting pages that a user might like to visit given past viewing patterns as they relate to other recorded traffic in the community.
On the clientside pureWitchcraft leverages the data aggregated server side and the results of the AI calculations to visualize perceived social networks and usage statistics as a series of tubes connecting the various members of the participating communities. These visualizations come in the form of interconnected nodes representing either visits between users or pages that the AI thinks a given user is likely to enjoy.
Collector.js and tester.html: A script to be placed on a user’s page, this script sends the username/uid of the page owner and the username/uid of the page viewer back to the server through a hidden iframe via GET. Tester.html is a sample of how this script embeds, including vital variable definition. The variable defined here are cookieName (the name of the cookie to access), viewerRegexp/pageRegexp (the regular expressions to extract the uid from a page (page uid) and the uid from the set cookie (viewer’s uid), blogName exists so that multiple sites can store their data in a single table safely and storePhpURI which is the full address of store.php to refer back to.
Store.php: Recieves data from collector.js and writes it to the database, if the appropriate tables do not exist it creates them.
Csv2.php: Aggregates the appropriate data from MySQL and outputs it as CSV so the socket can remain only accessible by localhost and java applet’s do not touch the database directly. Most importantly it determines connections in a social network and represents the bi-directionality of the connection as true of false (jim visits bob’s page frequently, but bob does not visit jim’s page frequently so the row is “jim,bob,false” if bob reciprocated it would be “jim,bob,true”).
Svd.php: Reads usage data from a database and uses it in a training loop which seeks to isolate attributes of the pages and preferences relating to those attributes given patterns observed in the visits. Attributes are abstract concepts but they can be thought of as things like “emones”, “upbeatness”, “gramar”, etc... The training loop attempts to match attributes to users and pages by incrementally adjusting the properties of individual attributes one at a time in order to closer match known patterns in the data. The trends observed are then stored in the database and can be used later to guess unkown values and make suggestions to the user regarding pages they might enjoy reading.
Suggest.php: Matches a given user with the most compatible pages based on the data generated by svd.php and outputs it in CSV format.
Tubism.class: Shows the interconnectedness (by tubes) between a given user and their reading habits.
Suggest.class: Shows suggestions for a given user.
pureWitchcraft.zip pureWitchcraft.tar.gz (few examples of canvas implementations and a bug fix or two)
EC2 Server: None assigned. (Click here to request a server instance).
S3 Bucket: Not assigned. (Click here to request a bucket).
Back to the main Teams page.