Wednesday, December 19, 2012

Frustration brought me here...

I'm freaking out right now...I shouldn't because it's completely unproductive but I decided to make my frustration productive by writing a blog about what I have done to cause myself grief.

So, I'm currently working on analyzing data for the first phase of my research - it was already a super slow process because of the volume of data we got (course assignments, mailing lists and projects that I had to analyze). Such that I could easily work from home on my own machine I installed a VM with Windows - I got Windows 8 because it's free through the school and I wanted to see how awesome it was - and installed the bare essentials. When I say bare essentials I mean Eclipse, Chrome and Notepad++ (well I guess I should have said my bare essentials..).  Once I got them installed, I decided to try analyzing my final set of projects on my VM - horrible idea. It's been working fine and then today, I get a wonderful error message concerning the memory being used - there isn't enough?! So, as I sit now I am unable to start my VM; let me tell you why this is bad...

1) I had already downloaded all 20 projects - and by downloaded I mean looked up which students could participate, went through a whole process to randomly select 20, went onto the course webpage to download all 20, and create anonymized projects in Eclipse for each.

2) I had already begun extracting data and putting together counts of everything I was finding (that file was also on my VM).

My only saving grace is that I put the detailed analysis on my Google Drive (thank you GDrive!) so I still have that - this gives me the few projects I did analyze. The issue here is that I still have to either figure out how to get my VM back up and running to get the projects and count file off my VM orrrr I will be re-downloading all the projects...which leads me to wonder whether I need to start over with a new bunch or if it's okay to keep the ones I've done and just randomly select the rest. I want to be optimistic and say I'll be able to get my VM running but I've been trying for a hot minute now with ZERO luck...so it doesn't seem promising.

So now, I am sitting here debating on whether I want to use the next few hours of productivity I think I have left in me tonight to figure out how to get this VM back up or re-downloading all these projects. It's probably to do what I know I can do rather than what I want to happen. And what makes it worse is I'm beating myself up about the fact that I put everything on my VM instead of putting it at least in a shared folder! It's one of those hard lessons learned - fortunately it's not a huge setback (although it really does suck)! Putting it up here definitely helps though - especially if I can help prevent someone else from making the same mistake on even more data!

So word to the wise, if you use a VM, make sure anything important is put into a shared folder. Don't make the same mistake I did!

Now, off I go to probably re-download and organize these projects...wish me luck!

Until next time (which will hopefully be sooner than later)...

Wednesday, October 10, 2012

Just some updates...

I'm right in the middle of working on some things (trying to feel productive for the day as I spent most of it incapacitated work wise) so I thought I would take a break and throw some updates on here while I'm thinking about it. Some of it is actually kinda exciting while some might make you think, okay Brittany you could have saved your time typing that, but sometimes it makes me feel better to get things out on here rather than bothering people (face to face) with it.

Update Number 1: Research is actually going pretty smoothly right now - the only thing left to do for the industry phase is get all the notifications together for the trial runs that we will be starting next week. I feel like I should have had this done by now but then I think about all the other things I've been working on simultaneously and the fact that it's just past midterms I feel a little better. We've already got three people officially scheduled next week and if worse comes to worse we can always start off with some of the notifications we used in the earlier trial runs until we can get more set up. I also need to do another test on our remote server with Camtasia for screen recording to make sure we're ready for remote trial runs as well. We initially tried using the free version, CamStudio, but we wound up having difficulties when we tried recording longer session (over 5-10 minutes). Being that our sessions will be at least 30 minutes, we definitely need something more reliable. One of our faculty advisors, Dr. Sarah Heckman, recommended Camtasia so here we are. If this works out and we can get some good notifications (that we can give scientific explanations for choosing) then we're cooking with hot oil and ready for the next steps! :D

Update Number 2: I am working on my NSF Fellowship application and in the process realizing that my previous essays were not too great. They weren't bad, but they definitely weren't as good as they could have been. I'm trying to get a head start on preparing them so that I can have plenty of time to proofread them (and have others look over them) before the submission deadline. I've finished my Previous Research essay and have passed it on to my advisor to proofread/give feedback. I'm not working on my Personal Statement which I plan to have done by the end of the week so I can get started on my Research Proposal and have that done by the end of next week (Oct. 22) giving me a couple weeks to finalize any thing before final submission November 13. Now the trick is to just stick to the plan...

Update Number 3 (although this should have been number 1!): I am a Godmother!! :D My cousin Andrea has been pregnant for what seems like forever and finally had her baby yesterday around 1:30 - Noah Mykel 7lbs 9oz.


This would be him and I at the hospital yesterday :)...I was so nervous to hold him I was sweating bullets (my first time holding a NEWLY new born). I had to make sure to wash my hands and everything. But he's so calm and handsome and happy and it makes me smile. I can't wait to watch him grow! :D

Update Number 4: The state fair starts tomorrow and I already have tickets! :D I would prefer to go during a weekday since it's less crowded but the beauty of already having tickets is A) I have freewill to choose whatever day I want to go, B) I won't have to wait in insane lines/pay insane prices for tickets to get into a gate, and C) did I mention they were cheaper?? Either way I'm super excited - especially since one of my old friends are trying to come down to go as well! Should be pretty awesome.

Well I guess it's back to productivity...until next time... <3

Tuesday, October 2, 2012

Time to get back at it!

Hello again - I know I said I would try to do better about updating my blog...and this is another attempt at re-starting an ongoing trend of updating my blog AT LEAST once a week. I have a few minutes right now as I just finished taking a test and am in much need a 'brain break'. What better way to have a 'brain break' than to update my blog with all the interesting things you all have missed? :)

Anywho, first order of business is to say that of course, school is back in session and BOOMING. I am taking 9 credit hours, but only 6 are actual courses (3 are research credits); Database Management Systems and Object Oriented Languages and Systems. Fortunately, despite the workload, I am enjoying my classes and the material being taught in them (and they kind of go hand in hand conceptually so it's a plus for me!). I am also (for the first time) the PI, or Principal Investigator, for a research study and am working with a new Ph.D. student (Jim Shepherd). He also got a liberal arts degree so we have become somewhat of kindred souls in our research endeavours. Being Principal Investigator basically means I'm the one responsible for orchestrating the logistics of the study; fortunately I have Jim, my co-PI, and two awesome faculty advisors (Dr. Emerson Murphy-Hill and Dr. Sarah Heckman) to work with, which makes much less stressful. I should have a link to my website somewhere on here (and if I don't I should) where the details of my previous and current research are kept - this too is slightly out of date but I'm working on it :). As papers are written and results are gathered, I will be posting study artifacts and knick knacks to my website. I will also, as I said, be attempting to keep my blog up to date with cool findings and random "brainstorming" sessions (among other cool related research stuff).

Of course school is keeping me busy, but my plan for this year is to try and change things up. I'm one of those people who always re-evaluates everything I do to see what can be made more efficient. To start, I'm on a new schedule. No more up until 3 am (well, not as often) and no more sleeping until noon. Everyday, up by 8-9 I am in bed by 10-11...notice I use time gaps - I know I'm not perfect and this is my way of giving myself "breathing room". I'm working on being consistent in how I allot my time during the day, but I already feel much more productive just because I have the day to get things done. I also figured since I have an increased workload with me also being a member/officer of WiCS (Women in Computer Science) so I should allow more time in my day for my busy schedule. Maybe it would make more sense to not do as much, but I like getting involved. I get to meet awesome people and have awesome experiences to remember and talk about. If there is one thing I would recommend, as a matter of fact, is to get involved. Find your passion (as I've found mine), because it really is the best feeling in the world, even when it gets hard (and trust me, it will get hard).

Now after that tangent, the point is, I want to be the best me I can be and there are things I definitely need to do to make that happen (working on my diet, and exercise is next -- happy body =  happy mind). Especially since I plan to do my preliminary doctoral exam at the end of the year (yikes!). I have a technical interview workshop I'm going to tonight and plenty of research work to catch up on, and of course we can't forget my coursework. It's a lot, but I love it and it's my motivation. And right now it's motivating me to end this blog entry so that I can get back to my work!

Until next time! :)

Tuesday, July 10, 2012

So this is life...

Hello again my faithful followers!

I'm trying to get better at updating this thing so bare with me...I know it's been a few weeks but in all fairness my life isn't as exciting (or frustrating) during the summer as it is during the school year. Much more time to enjoy being young and get things organized than during the school year so I'm DEFINITELY trying to take full advantage of that...especially since I know when I return to school three things will be occurring: 1) I will be in school, which means classes, which means more work; 2) I will be helping Yoonki work on his study for his Doctoral Thesis (which includes preparing a new paper and modifying the old one for submissions) and 3) I will be working on getting things rolling on my own research for my thesis/prelim exam (which also means more paper writing/conference finding). Trust me, it's not as fun as it sounds :D! I think I like the idea of getting ahead on my thesis work -- it's proving to be more difficult than I originally thought it would be! I want to come up with something really good (I hate feeling like I'm half ass-ing anything; makes me feel dirty) so I'm hoping the more papers I read (I've probably read 5 decent ones so far that I could probably use) the more concrete/developed idea I'll come up with. I just hope I'm putting myself on a good timeline - I stress pretty easily (anxiety sucks) but having some kind of plan usually helps. That is, unless things don't go according to plan which in that case I'm just one big ball of anxious stress waiting to explode. But fortunately no nuclear war yet :)

As for my internship...it's still BOSS! I've been getting to contribute more and more to the project and on top of that I'm getting compliments on my work/workmanship which definitely means a lot being that it's been a while since I've done development work. The more I'm working here the more I'm remembering why I got into computer science in the first place -- problem solving! Not just code problem solving, but overall problem solving -- what's best for the user? how can this be made better? why isn't this working? What it's not doing is helping me decide what I want to do when I'm done with school - I'm really enjoying this and wouldn't mind coding everyday for the rest of my life. However, I do miss reading/writing papers and solving problems on a larger scale - the unknown that is research. If I could have a job where I was able to code half the day and then spend the other half working on research I'm almost positive this would be the perfect job for me! I don't know if I could see myself doing one without the other (and hopefully I won't have to choose)! Fortunately, I have a couple more months at my internship and a few more years in school so there's time to make a decision; hopefully it will be an easy one. In the meantime, I'll focus on taking it a day at a time, enjoying my internship and preparing for the upcoming semester (which includes figuring out my funding - would LOVE to avoid loans at all costs, but it's not looking promising :/).

Well, I should get back to being productive (not that keeping my followers informed isn't important - but it doesn't pay :D )! Until next time... <3

Tuesday, June 26, 2012

Progress! :D

I mentioned briefly in my previous post that I was working on integrating FindBugs into our Ant build. What I didn't tell you is how much time and effort has been going into figuring out how to get it to work properly! After almost 2 weeks of work, FindBugs is finally working properly in our build (writing reports to the console/xml output file and all!)!! It may sound silly to be so excited about something so small but if any of you knew EXACTLY what I (with help from Joe Rice, the leader of my development team) went through to get this to work. Let me give you a brief overview of what I have gone through to get this wonderful plug-in integrated into our Ant build.

There's a nicely published FindBugs manual that pretty much covers (if only briefly) all you need to know about the FindBugs tool/plugin, including integrating it with Ant. Newer versions of FindBugs come out of the box with an Ant task that can be used for "easier" integration -- yeah right. Chapter 6 of the manual is dedicated to explaining how to use the FindBugs Ant task. The problem is the explanation given probably works...but on simple projects with one build file (and probably not many source/class files). Me being the novice I am, I follow the directions given to a tee....ERROR. In the meantime, I'm wondering how I just followed their exact instructions and my build is failing because of it! In doing a little more browsing (and having a brief discussion with my project leader) I found that there were a "few" things that would have to change due to the nature of our project and the way the build fileS are already set up (yes I purposefully made the s on files bold and capitalized - I want to emphasize this because it wound up playing an important part in my confusion :) ). After a valiant effort, I wind up with this output:


findbugs:
     [echo] Analyze the source code with FindBugs
 [findbugs] Executing findbugs from ant task
 [findbugs] Running FindBugs...
 [findbugs] edu.umd.cs.findbugs.NoClassesFoundToAnalyzeException: No classes found to analyze in C:\workspaces\trunkNEW\ConfigurationDashboard\target\classes_robot_src C:\workspaces\trunkNEW\ConfigurationDashboard\target\classes_robot_test C:\workspaces\trunkNEW\ConfigurationDashboard\target\classes_test C:\workspaces\trunkNEW\ConfigurationDashboard\target\classes_src *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\resources.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\rt.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\jsse.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\jce.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\charsets.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\dnsns.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\localedata.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\sunjce_provider.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\sunmscapi.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\sunpkcs11.jar *C:\Dev Tools\FindBugs\findbugs-2.0.1-rc2\lib\annotations.jar *C:\Dev Tools\FindBugs\findbugs-2.0.1-rc2\lib\jsr305.jar
 [findbugs] at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:274)
 [findbugs] at edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:369)
 [findbugs] at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1300)
 [findbugs] Java Result: 4

Now, I'm not a big stack trace person so this really isn't telling me much of anything besides that FindBugs hates me. I decided the best first step would be to figure out why it's not finding the classes I specified for it to analyze (the top 4 paths). After more investigating, I found out that I wasn't following the right conventions to feed the path into the xml document. The way the build files were setup all the paths were defined and I wrote it incorrectly. It also didn't help that I was rusty on xml (it's been a couple years). After a while, I was able to make more progress...but then uh-ohhh...


findbugs:
     [echo] Analyze the source code with FindBugs
 [findbugs] Executing findbugs from ant task
 [findbugs] Running FindBugs...
 [findbugs] edu.umd.cs.findbugs.NoClassesFoundToAnalyzeException: No classes found to analyze in *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\resources.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\rt.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\jsse.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\jce.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\charsets.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\dnsns.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\localedata.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\sunjce_provider.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\sunmscapi.jar *C:\workspaces\trunkNEW\External\Tools\Java\jdk1.6.0_23\jre\lib\ext\sunpkcs11.jar
*C:\Dev Tools\FindBugs\findbugs-2.0.1-rc2\lib\annotations.jar
*C:\Dev Tools\FindBugs\findbugs-2.0.1-rc2\lib\jsr305.jar
 [findbugs] at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:274)
 [findbugs] at edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:369)
 [findbugs] at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1300)
 [findbugs] Java Result: 4



Now I gotta figure out what this is about...why is it not finding classes in these paths?..Are they actually not there? Do I have my jar files in the wrong folders? Are some of my paths whacky that I've added/included? So many questions....so few answers. On top of all that, it was doing weird things....I would add a path to my auxClasspath thinking it would take one things away from the list and it would end up taking away something completely different. Finally, I got to the point where nothing was changing and if it did it was changing in the wrong direction. I flagged down my project leader and he decided to make an appointment on our calendars to meet for a couple hours to sit and look at what I've done and hopefully figure out what I've done wrong. After sitting down and staring at the xml for a while, we were able to make some changes that took progress is the RIGHT direction! A lot of it was manual and tedious, but at the end of the day (literally) we were able to get everything running smoothly on all projects!


Now, does anyone want to know the best part?? I'm still not done!! :) - next step, integration into our continuous integration tool, Jenkins! I'll keep updating with the juicy details! :D

Jusqu'à la prochaine fois [[Until next time in French :D ]]...

Monday, June 25, 2012

New Updates (Finally!)

Hello interwebbers!

It has been MUCH too long!! I feel like I haven't updated this thing in years....but the best part about that is now I've got lots of juicy/awesome things to share that I wouldn't have had a couple months ago :)

Let's start with where I am now...for the summer I am working at Truven Health Analytics (formerly known as Thomson Reuters) as a software developer intern. So far, I LOVE it! The best part is definitely the people I get to work with but some of the other awesome noteworthy points include:

  • They use agile processes, something I've been interested in learning more about for a LONG time (like since undergrad) so I'm getting first-hand experience in it! (A sidenote here is that my thesis may involve investigating agile processes -- this I'll talk about a little more later).
  • One of the first assignments I was given (which I've actually been able to contribute to the software since I've been here -- AWESOME) was to work on integrating FindBugs into the build process which is directly related to the research I have been working on with Yoonki (for those of you who have been following my blog you know what I'm speaking of -- any new followers I discuss my research in previous blog posts). 
  • At least once a week there is some sort of free food for breakfast and/or lunch -- who doesn't enjoy free food??
  • Although I am a software developer, I'm still getting to do researchy things (i.e. researching the options for integrating FindBugs into our process).
Although I very much enjoy doing research/writing papers (which I will discuss shortly), I am thoroughly enjoying getting back into programmer mode. I'm getting the opportunity to brush back up on my coding/java before I get started on my own thesis which will eventually lead to coding of a prototype more than likely. Oh how I've missed getting caught up in coding, interpreting stack traces and debugging :) ... It's a little more difficult because I'm working on code that's already been around/worked on but all the more the challenge :D

As far as research goes, for anyone who didn't know I went to Zurich, Switzerland about 2 weeks ago for ICSE 2012. I was invited to participate in the ACM Student Research Competition which was comprised of a first-round poster competition and a second-round oral presentation after which finalists were chosen to go to the Grand Finals. I was chosen to make it to the second round (yay!) however did not place/make it to the Grand Finals :(. Despite this, I am quite pleased with my first international conference presentation. I was even told by a few people that my poster was the best they say in the competition :). Unfortunately, my oral presentation was not as impressive but I was able to get some great feedback from judges and bystanders alike to help improve my odds in future competitions/submissions. I was also able to meet people that were interested enough to want to participate in our user study (once we actually get around to getting it started)! And of course, we can't forget the sight-seeing while in a new country! I took wonderful pictures, all of which can be found here.Overall it was a successful trip filled with networking, fun, and photos :D

On another research note, I am in the process of trying to develop my own thesis for a project. My advisor thought it might be a good idea to go ahead and start thinking about it (initially for a VL/HCC submission but I wasn't able to make that one). Being that I've always been interested in agile development, I would like it to be related to that. And of course I would like to focus on tool development since that's what I've been working on recently/the work that is done in the lab I am in. I thought I had something going, until I spoke to my advisor :). I already knew I had a lot of work ahead of me, but I wasn't able to actually put everything into perspective until I got the feedback from my advisor (where would we be without them??). Now that I have a better idea of the direction I should be going while trying to figure out 'the problem I want to solve', hopefully things will start back going in the right direction leading to a BOMB abstract/research project. 

Continuing the research discussions, Yoonki and I heard back from FSE and found out that our paper was not accepted :(. The biggest problem was (as with my presentation at ICSE) that the results seem inconclusive/incomplete or that more work needs to be done to make the actual results more clear to those reading our work. There were different pointers given from needing a larger participant pool to needing a prototype to validate the results. Although I'm still trying to get the hang of all this, I think I'm making the right kind of progress (which some progress is better than no progress at all I would imagine). I just can't wait to develop the kind of confidence my advisor has in his abilities/ideas/etc. It's a process (as is everything, right) but a process that I think will be well worth it. 

This is getting a bit long and I almost feel like I'm rambling at this point but as things progress with my internship/research I will keep you all posted. Hopefully now that school's out I can be a bit more consistent with my posts...but we'll see :)

Until next time... <3

Tuesday, January 31, 2012

This too shall pass...

Hello again to my followers...

I know it's been a while but I'm going to try and fill you in on what's been going on and what's to come for me. :)

To start, this semester is starting off pretty well. Just to recap, I'm enrolled in Research Credits (which is always awesome) with Dr. Murphy-Hill, Requirements Engineering with Dr. Annie Anton - who is pretty awesome, and Algorithms with Matthias Stallman - who is also quite awesome. Despite the fact that it looks like I may have a light course load, let's also add in the fact that Algorithms is not easy (so far, a lot of math), Dr. Anton is going to make us read and write so the course is very literature heavy, and I'm also a part-time TA/ part-time RA. How you like them apples? ;) Although it's a lot, I'm kind of loving it! :D The classes are interesting, the professors are awesome, and I'm doing things I enjoy. What more can you ask for?  - except for it to be easy of course ^.^

Anyways, things have been going pretty good so far. Submitted my first paper to the ACM Student Research Comp at ICSE 2012 so really nervous about that. I think it's going to be ok, but now I gotta work on the full paper (for this competition, it only needed to be 2) for upcoming conferences such as FSE 2012. Also research related, my partner and I (Yoonki) are working on a prototype of a static analysis tool based off our study that we've done. So far Yoonki's been working on it while I work on the paper but we're going to help each other get better at the other, so it's going to be fun :)

Being a TA isn't too bad, especially under Dr. Murphy-Hill (I call him Dr. E :D ). And the class isn't huge so the grading's not too bad either (and I heard it can get pretty bad). Classes haven't fully picked up yet, but it's definitely getting there, I can feel it.

Sorry to be short...my boyfriend got sick and ended up in the hospital with heart failure so I've been here the past few days helping him get better (and making sure they take good care of him here!). He's getting better and hopefully I'll be able to bring him home tomorrow. In the mean time, I'm praying and I ask that you do to. :)

Until next time...

Sunday, January 8, 2012

Hello 2012!!

Mood: EXCITED!! :D

Hello again!! It's been a while, but I am back to fill you in on everything that is coming up for me (and maybe a few things that have already occurred and I just feel the need to share :) ).

First off, HAPPY NEW YEAR EVERYONE!! :D I hope everyone enjoyed their holidays as much as I did and are as ready to get back on the grind as I am. I've enjoyed this "break" but it's not time to get back to work.

Just to quickly fill you in on everything, classes start back tomorrow. My schedule this semester is rather light (3 courses-one for research credits) but on top of my classes I will be a research assistant AND a teaching assistant. Which means despite the fact that I only have classes Tues and Thurs, I technically have class Mon and Wed as well since I have to TA a class those days. I'm really excited, though...this is another new experience for me and I can't wait to see what it's like on the other side of the desk for once :). I will be TAing for Dr. Murphy-Hill (my advisor) so that makes it even better.

As far as research goes, I'm thinking this semester is going to be quite lovely as well! We are beginning development of a prototype and may even be traveling again to do more interviews (which is always exciting). There isn't much to share right now besides the fact that I am working on two papers -- at the same time!! Don't get too excited....one paper was already about done when I came on board. I just got to help improve it, which is still a contribution in my book :). I'm also working on a short paper for ICSE 2012, the ACM Research Competition. It would be too awesome to get two accepted papers in the same semester (which would coincidentally be my first two accepted papers ever!).

I don't want to make this too drawn out because I'm sure I'll have more to share once the semester starts...until next time... :D