I am a rower, a coder, a writer, a guitarist, and an eater of fine foods. Basically I'll try anything once, Jack of all trades master of none (yet).
I found my true love in a coffee cup, but have upgraded to iced tea.
Dr. Watson leads the User Experience Lab at NCSU.
For more information about his lab, go here.
How can we communicate categorical intersections of populations to better understand how different groups of people are related (e.g. age, gender, nationality, technology use) in a way that is easily understandable and quantifiable according to pre-existing research on perception?
Dr. Watson is using a visualization he calls ninja pie.
The question I am answering is:
What language and library best display more than two dimensions of these intersections using the ninja pie method?
I am working on a prototype for a ninja pie in JavaScript and using the d3 library.
I've done and will be doing a good deal of reading on data visualiation and human perception of space/color/shade. Additionally I am looking at forms of data visualization that currently exist that are not hierarchical. To further my understanding of the visualization I am working on.
The early part of this work consists mainly of adapting existing visualizations to a random data set I've created and figuring out how to adapt the existing methods to work for what we want.
The objective is to figure out if the new presentation is accurately understood by people who are looking at the data. Right now, as stated above, I am creating the prototype.
26 May 2015
It's 3000 miles from sunny (cold and wet) California to North Carolina. I've lived in Texas, the northeast, Oregon, and California, but this is my first time settling for any amount of time in the southeast.
When I got in, it was in the upper 80's and very, very muggy. I'm living in some on campus apartments with other REUs. The lab I'll be working in is about 2 miles away, but there are on campus busses (called the WolfLine, everything is wolf-something on campus) as well as bikes that you can rent for the summer (aptly called WolfWheels).
The REU I'll be working with is the IIM-REU, Interactive and Intelligent Media. Coming from a small women's liberal arts college, working at a huge research institution is going to be kind of crazy.
3 June 2015
This week I got my assignment and have been coding for the most part. I am working on writing a data visualization prototype for non-hierarchal populations using the d3 JavaScript library. I've worked with JavaScript a couple times before, for my Computing for Good class and for mongoDB in Intro to Databases, not to mention basic functions &c. for web design stuff. The level at which I'll be using it now is way deeper though. I'm excited to use JavaScript, it is the first weakly typed language I'll have worked in extensively. Though, I've done a fair amount of programming in Ruby. Additionally, the fact that all variables outside functions are global variables is kind of crazy.
There are 10 other IIM-REUs and 8 of us are living in the same dorm. We've made a couple outings, though never with the same sub-set. This week has been a blur of getting to know the others, making sure our apartment is furnished enough to function and getting used to having a 9-5 job.
For a while, the odds seemed kind of insurmountable, I have to learn a library, develop something that has never really been done before (so not very much existing documentation/StackOverflow help) and make a working prototype that can read data. It sounds like it's not very much on paper, but it's actually quite a bit of work. I finally made myself a Pivotal Tracker and that made life way more managable.
10 June 2015
This week I've been coding a lot, again. Most of the other REUs are either reading papers (I've only read one, for a presentation) or learning JavaScript. Since I basically already know JavaScript (don't ask me when I learned, I just picked it up over the course of the last year) I'm a bit ahead. There's been a lot of coding in my life recently.
I'm a little worried that I won't get the research part of research and that it will end up being more of a software engineering project. Today the REUs did our (what will become) weekly presentations on what we've done and a paper we've read. I haven't really been assigned individual papers so I read one on Tree-maps. Where it seems like everyone else has a research question, &c, I'm just coding.
That said where their research tends to be more qualitative, mine is a bit more theoretical and numbers based. No dealing with the IRB for me. :) While it may seem like I've hit a bit of a slump, I've also done some pretty cool coding with d3, it's unlike anything I've done before, the syntax is all method chaining, which you can't do in most strongly typed languages nor the functional languages I've dabbled in.
Also, basically the entire d3 library is based around one variable (or so it seems, of the maybe 1000/10000 lines I've read). I'm looking forward to making some more progress.
17 June 2015
This week in coding land I put a thing on a thing! Okay in all seriousness, I've been trying to represent a count variable in a JSON object as a number of little squares according to what percentage of the sum of the counts it is. Because I'm apparently a masochistic fool, I did this using d3 and HTML div tags. The worst idea.
But hey, I did it. :)
That was basically my entire week. I read a couple of papers, the more notable of which was about humans and computerized data visualization. The moral of which is that with great power comes great responsibility.
Outside of work, last weekend, my fellow dormmates and I grilled in the barbeque grills outside the dorm, it was in the upper nineties and I was cooking all afternoon, but I didn't get sunburnt! Also, grilled pineapple == success.
Also, yesterday I went with one of my roomates to get my hair cut. That was super fun and now my hair is way less shaggy, also now I can do more than just let it sit on the side of my face, I can actually style it. Hallelujiah!
Also also, it's the summer of the (women's) World Cup, and as much as we all hate FIFA, it's kind of an awesome thing to get to watch. Obviously, I'm rooting for USA--who topped the group last night! Holla! There's another REU here who is also a big soccer fan (he didn't realize I was until we were talking about fantasy football teams and I put dibs on Özil) so we've been watching a couple of the games with some of the other REUs when they drop in. Gotta say, I was dissapointed we didn't beat Sweden. So close! SO CLOSE!
25 June 2015
This week I was asail the Sea of Legacy Code. Okay, I wasn't actually reading legacy code in the traditional sense, but it is code that I've inherited. I'm still working out how to do the math to split the area of a circle into shapes according to angled inner tangents by percent of a population and then doing subsequent cuts at different angles. I know it's been done with n = 1 dimensions (democrats vs. republicans in this example), however I need to represent the data for n > 2 dimesions.
So, using the above example say we split it further to depict whether the words were used by women vs men and then by age group or ethnicity (though that gets sticky, as a half Latina, half white girl, there is no love lost between the U.S. Census' labels and attempting to put something down. I'm pretty sure I'm categorized as two half people). Splitting the data by these extra dimensions is tricky because for the convex polygons there is only one place in which a bisecting line may be draw. Finding where this line should/will go is the hard part. Do I go in with the percentage that we need and do a tree of possible places? This may have a slower run time than a magical function that does the same thing. The problem is. I don't know what the magical function is...
Some of the IIM-REUs went bowling for 2$ Tuesday which was pretty fun. I am proud to say I would have won if we were playing golf (ergo, I did the worst in my lane). I did get a couple lucky strikes. I think my problem is that I use to much radial power as opposed to horizontal power. Well I'll get better, growth mind-set!
Another side note to my research: I think I haven't disclosed my feelings on the libraries here. They are absolutely excellent! The older one is D. H. Hill and is 9 stories and huge! The newer one is Hunt library, and is gorgeous. For reference the library at Mills, while a lovely library, has >240,000 items, which I thought was a large amount until North Carolina State. Hunt has this super cool system called the bookBot which has about 2 million volumes. Hill has the majority of the remaining 2.5 million volumes that NSCU has. Hill is certainly where I get my English major nerd on, but Hunt... Hunt is glorious.
Hunt is on the NSCU Centennial Campus, which where my lab is. Engineering Building II, where I work is a little more than a quarter of a mile walk up the lawn. Hunt is crazy, because all the books are mostly in the bookbot, most of the library is study spaces and absolutely glorious chairs. There are some that are reminiscent of Dr. Evil's chairs and every once in a while, someone comes and does the little pinkie thing he does. It's great.
1 July 2015
This week I've been working on finding a way to cut the pie. The visualization requires strangely placed cuts. Because we know the angle of the cut and that the shape we will be butting is a convex shape, there are only two placesThis week I've been working on finding a way to cut the pie. The visualization requires strangely placed cuts. Because we know the angle of the cut and that the shape we will be butting is a convex shape, there are only two places to cut the shape which will satisfy the given percentage we need to represent. One of the cuts would have the data on the wrong side while the other would be the correct placement, thus there is one way to cut the shape. With this in mind though, figuring out how to cut the shape is a bit beyond my ken. My knowledge in Computer Science is mostly theory based, though I suppose I have a good deal of practical knowledge for the program. Regardless, I'm still a bit in the deep end. I am thinking we will end up doing some sort of binary search.
I realized That I had been doing a topic of the week sort of thing. So I figured I'd make it a thing with a heading.
9 July 2015
This past Saturday was the Fourth of July. While I don't really feel a huge amount of nationalistic pride for a bunch of battles that were 200+ years ago, fireworks are exciting. The REUs went into downtown Raleigh to watch the fireworks. It was a lot of fun.
This week has been pretty unproductive. Wednesday and Thursday I was working on getting the pointInPolygon algorithm working. I mostly got it going, but what I need to do now is actually figure out the algorithm for cutting the polygon. The trouble is, if I want to start at the halfway mark with a given angle, I have to find the halfway mark. This is trivial for a simple circle, but once we get into making the smaller and smaller irregular shapes, it become's non-trivial.
On Friday we are leaving to go Charleston, SC to present our research at a mini conference. We have two slides and two minutes in which to give a super fast pitch of our research. I'm looking forward to it, though in light of recent events, I'm a little worried about being in Charleston.
15 July 2015
This week has felt like it was primarily spent in Charleston, SC. We spent the weekend there, presenting to other REU students from a couple of schools nearby. It was a pretty cool city, but there is also a lot of current history that also happens to be really harrowing that has happened there.
In other news though for the next three weeks, I'll be working with another undergraduate researcher, who is from all the way in China. I'm hoping that between the two of us, we'll get the project finished by the time the summer ends. It's nice having someone to have to do code reviews with, I find that sometimes all the whiteboarding in the world doesn't replace a fellow human.
This week I've developed the first version of the cutting algorithm, it doesn't work, because it's basically straight off of my notebook, but it's on it's way to being an actual algorithm. We also met with our mentor today and realized we were going about the algorithm wrong. It was cute while it lasted, but I think the new way we are doing the algorithm will be more straightforward, if not more efficient. That said, my previous algorithm was definitely not efficient, but c'est la vie, or whatever the French say.
29 July 2015
It's 3000 miles until I'm back home in good old California. I've enjoyed my time in Raleigh, as hectic as this last week has been, but it'll be nice to be home.
The last week has been cramming in the final poster for the Summer Symposium and trying to get ready to fly out. Mostly it's been work on the poster though. Who knew posters were so hard to make!?
I am attempting to make this sound light hearted, but it's been quite stressful, we also have to basically have elevator pitches prepared too. My roomates and I have all been going over the most important things on out poster. Since Yuhao (thank some higher power for Yuhao and his 2 extra weeks after this) and I are really only making a prototype, our poster is quite bland. Hopefully all turns out well.