My Journal


Week 1/2 - May 15-May 17, 2002

I set out on a sunny Wednesday afternoon for the three hour journey to Lexington, KY from Haubstadt! My mom followed with me because the majority of my stuff would not fit into my little Accord! I arrived in the beautiful town and easily found my way to the housing office at UK and due to a mixup, my apartment wasn't going to be ready until that Friday! I had a bit of a panic attack but called my cousin that happens to live here and we stayed with them for two nights and got to visit with them! On Thursday, I explored the city and was amazed by all the stuff there is to do! I also met with James and Dr. Dekhtyar, two of the people involved with The Bayesian Advisor Project! I also saw th lab I'd be working int and got my account all set up! On Friday morning, a somewhat cloudy day, Mom and I headed to my apartment, my very first one! We moved everything in and started the unpacking process - I couldn't believe the amounts of stuff that I had brought! However, once everything was in its place, the apartment seemed more like home! We then started the adventure of finding a grocery store and stocking my kitchen! It started raining right as we got to the store! None the less, we finished all of our errands, put all my groceries away, made a pot of coffee and relaxed for the rest of the evening! It had been a full day!
That weekend my mom went back home and I spent my time watching a few movies, exploring the town, reading some stuff for work, finding a church, and learning my way around the UK campus, which is about 15 times as large as UE's campus!

Week 1 - May 20-May 24, 2002

On Monday, I went to my lab, soon to be my home away from home and started reading about Bayes nets, probability theory, Markov Decision Problems, Constraint Satisfaction, and Dynamic Bayes Nets! It took a while, in fact I spent the rest of the week reading this as well as information on XML and asking questions! I met with my mentor, Dr. Judy Goldsmith on that Monday, she had been out of town to a Conditionals conference in Germany! We sat down in her office and started discussing what I would be doing and what I should get started on! She was very nice right from the start and made me feel very welcome and important to the whole project. At this point we decided that my first project would be to learn XML (instance docs and schema) and write the schema for input to POET. It would then be my job to write the Instance Document for POET in accordance with my schema! That Tuesday I met with the rest of the group - Dr. Judy Goldsmith, Dr. Alex Dekhtyar, Dr. Chris Lusena, James Royalty, Robert Holland, Derek Williams, and Whenzhong Zhao. Derek and Robert are both undergrads. James and Whenzhong are the grad students. It was easy to see that I was going to be working with a wide variety of people and knowledge. We discussed the goals of the summer while we are there...short-term: being ready for a conference at the beginning of August and the long-tern of the BAP (Bayesian Advisor Project). This week was also spent learning my way around Lexington! That weekend I went home to get some things that I had forgotten and didn't know I needed! I also had several family Memorial Day parties to go to as well!

Week 2 - May 27-May 31, 2002

Ah, the second full week! This week was spent getting down and dirty into XML instance documents and schema...I even read part of the specs...Note to anyone wanting to learn XML- the specs aren't worth it, way too dry - I recommend checking out www.w3schools.com (this has been a wonderful resource for XML). I discussed with Dr. Goldsmith and James in depth what would be necessary for input to POET's GUI (being worked on by Robert) several times and started to sit down and write the schema by the end of the week! Writing the schema was a welcome project after reading so much (it was nice to get to do any coding..which I love to do)!! We did have another group meeting this week in order to figure out who was going to do what on the project and to familiarize me with the entire BAP and not just POET. I was also given the job of reading some papers on SPUDD (Stochastic Planning Using Decision Diagrams) to start on next week. For the weekend I finally got to go see Star Wars Episode II (I am a huge Star Wars fan) and enjoy apartment life (i.e. cleaning the place...) and going home again for Sunday since it was my Grandparents 55th wedding anniversary and they really wanted all of the family to be there!

Week 3 - June 3-June 7, 2002

This week at work, I finished up the schema (at least draft one), had it looked over, fixed a few things (missing tags, misspelled words, more readable organization), and added keys and keyreferences to ensure uniqueness for input. I *started* working on the instance document for POET as well to show how the schema would work for those that didn't know. Started is the key word there - I had no idea how big it would be by the time it was finished! I also started reading about SPUDD. I met with Dr. Goldsmith on Wednesday and she gave me some background information to SPUDD and see how things were going with me and to discuss grad school. We also had a group meeting this day (which is when my schema was looked over). On Friday, we had a "Constraint Satisfaction" meeting in which the BAP group, the Computer Science Department Chair, and several grad students met to discuss if the planning side of BAP (not being coded yet, it's still being discussed on a theoretical level) could be modelled by (or mapped to) a constraint satisfaction problem. During this meeting, Dr. Goldsmith also talked more in depth about the BAP; specifically some of the AI issues involved in it.This was a very cool meeting - I must admit I didn't have any input but seeing the planning/discussing side of this research project was very cool and its always interesting when professors yell at each other (to interrupt one another) to get points across! It's also amazing to see some of the research that has been done recently in this field! It was an enlightening meeting where many issues and ideas were discussed! I left that meeting realizing just how little I really knew and how much more I wanted to know. After all the driving of the past few weeks, I had to get my car in to have to oil changed that week as well as I got to babysit for my little cousins (which was fun...I'm a big family person). I even played chess with a seven year old and got beat (he changed the rules as we played..so I don't feel as bad)! For the weekend, a friend from UE was in town so we met and went to a movie (About A Boy...I'm a big English Humor fan, Hugh Grant fan, and romantic comedy fan so it was definitely a fantastic movie) and hung out for awhile. On Saturday, I ventured out to Georgetown (about 15 minutes away) to check out some of the antique shops! It's a cute little town that looks like it came out of a movie (the one that time forgot)! I found some beautiful antique furniture that was *slightly* out of my price range but I had a great time looking! It turns out that my cousin's babysitter cancelled on them that day so I babysat again that night! I spent Sunday with my friend again and cleaning (what fun :) )!

Week 4 - June 10-June 14, 2002

For the first two days of work this week, we had an XML Parsing Workshop so that everyone would be on the same page. James, Whenzhong, and Derek gave the talks! It was very cool learning from my peers...and believe me in two days I learned a lot! I find parsing to be very cool and am very optimistic about being able to use it for my senior project at UE this year! On Monday after the seminar, the BAP group headed off to Pazzo's (local pizza place) for lunch and to discuss values and attributes that an undergraduate student could have an opinion on and archetypes outlining possible goals for optimizing one's college experience. An example attribute would be Profesor whose values could be "Goldsmith", "Dekhtyar", and "Lusena". Students could have opinions on these professors (love 'em, hate 'em, don't care). An example archetype would be "Graduate in 4 Years" or "Maximize My GPA in those 4 years". I furiously took notes at lunch trying to keep up with everyone's ideas. After lunch the BAP group came back to the lab and headed off for a meeting (we 'lovingly' call them "constraints" meetings; which are those in which we discuss ways to plan given constraints and if this is even the right approach/model). We got into some big discussions and by the end of the day I felt like I had learned more in one day than an entire semester at school! For the rest of the week, I finished typing up the instance document and deciding what really needed to be in it and what didn't. Robert and I also met to discuss if my schema would give the right information needed for his GUI - we decided it did and his code would have to have very few changes to use my schema! That was great news! I have found XML to be a very easy to use and learn tool that can be very handy for passing data around especially when the data needs to be in a set format! I started to read a little of the SPUDD paper but again that had to be put off until next week since getting the instance document done was the most important part of the week! This week I found the huge mall in town in search of Father's Day gifts! I also got a birthday present for my sister! The mall was huge (larger than anything in Evansville) and took me awhile to find anything for my dad and stepdad since I didn't know my way around. For the weekend, on Friday afternoon (after meeting with Dr. Goldsmith to go over the instance document), I rushed home for the weekend! It was my little sister's 19th birthday on Saturday and Father's Day on Sunday! It was a full weekend! I went to dinner with one side on Friday night to celebrate the birthday, made lunch on Saturday for my sister (I made the "cake" - she wanted Rice Krispie treats) but that was cut short by the call that my 86 year old grandma (mom's mom) was taken to the emergency room for heart trouble!!! She ended up getting released that Tuesday and has been put on heart medicine to regulate her and has since been fine (what a relief)! That Sunday was spent at the hospital making sure she was ok and going to the other grandparents home to celebrate Father's Day with my Dad. On Friday's meeting with Dr. Goldsmith we discussed what my next phase of the project should be. We decided that I should build an online instance document elicitor in order to alleviate anyone from having to type in tags and to ensure that the schema was properly followed! It sounded easy at the time but would soon prove not to be as easy as I originally intended!

Week 5 - June 17-June 21, 2002

On Monday of this week, I sat down to start to imagine what this online tool would require. I quickly realized I needed to brush up on my HTML and Perl so I started to read about HTML as well as planning out how the tool might look! I decided that functionality was going to be more important than the looks of the tool. Tuesday was designated a day trip for the BAP group. We headed off to the "Natural Bridge Park", it's about an hour east of Kentucky! We spent the day taking the three mile hike up to Natural Stone Bridge (which is a fairly steep incline to those of us who aren't used to it!) and had lunch overlooking the gorge below! It was a beautiful sight to see (all the trees and large lake were simply gorgeous)! I took a lot of pictures throughout the day and when I get them developed, I will post them on the site! After lunch we hiked around some smaller trails around the natural bridge. One place, called Devil's Backbone where the Needle Eye Staircase was was an awesome place to hike down but very much a pain to go back up! By the time we were ready to head back down to ground level, we all decided to take the ski lift back down! It was a much shorter trip than going up :) It was a lot of fun and gave the group a chance to get to spend time together outside of a work environment! By the time I got home, I was dirty and tired and ready for a bath! The rest of the week was spent getting back to work and creating the webpage tool! By the end of the week I had made a static model (where the number of attributes and values were set) that the user could input the information about attributes and values into. I had to start researching Perl and CGI scripting since I had only done a little of this! This is all very useful stuff, I feel, to learn and be more experienced with and it is all really interesting to see! I've decided though that I like designing web pages for functionality but not looks (I'm not very good at that (at least not yet))! Part of my time at work this week was also checking my instance document for errors (didn't have time last week since some of the ideas for what should be included kept changing). I checked for closing tags, spelling, proper descriptions of values and attributes, and syntax errors. There was more than I could have imagined but I was very glad to have checked it. I didn't validate the input schema with the instance document until the following week so I couldn't tell if there were any errors that way! One frustration of the week was realizing that I could't make a useful online tool with fixed numbers of attributes, values, and archetypes. I decided to go ahead and write the static version (fixed numbers) and once I was sure of what I was doing, going back to the code and editing it to make it more dynamic (not fixed values). I also realized I was going to have to decide how to make the tool more dynamic (more stuff to learn!). This week I had company come visit me from Thursday to Sunday! We went to the movies and say Scooby Doo (ok movie - pretty cute), had dinner out, saw the town some (and got lost in the spindle wheel streets trying to find a laundry mat), visited the fountain in the middle of downtown (really pretty, I'll try to post a picture once they're developed), and just spent time catching up!

Week 6 - June 24-June 28, 2002

At work this week, I spent my time working on the static version of my web tool. I added some CGI scripting to it to pass data to the script to create a web page to elicit archetypes. I also started working on outputting the instance document to the browser. I had to look up a lot on Perl again because I've not used it enough to be familiar with all of its syntax, symbols, and rules. Using eq instead of == has been the hardest thing for me to remember!! Many errors (and headaches) were caused because of this oversight! I found many good resources for CGI scripting and Perl by just searching on Google. I do recommend narrowing down your search to something particular that you're looking for because there are a LOT of tutorials and code to use/look at! I met with Dr. Goldsmith this week on Wednesday to look over my tool up to this point and talk about graduate school again. I discovered that I had looked at academic careers more as teaching only and she opened my eyes up to the many other things that one does at an academic institution (I've considered teaching as a possible future job)! I felt this stemmed from UE and knowing that my professors mainly teach and do very little research on the side! This made me realize that I would have to be careful where I go to grad school at and where to possibly take a job at! I would have to be aware of how strongly research was emphasized at any institution! It was a very enlightening conversation!! We also talked about how to potentially make my tool more dynamic and Dr. Goldsmith recommended asking for the maximum number of attributes, values, and archetypes that one might want to have. This turned out to be very useful information! This turned out to be an extremely good and useful meeting! One error I ran into this week was trying to figure out how to write to a file from a CGI script through the browser (it would work from the command line but not the browser) - this was very frustrating to know that my code should work right but didn't...I didn't fix this problem until Week 9, so see there for details to the problem, if you're really interested!! I also wrote several smaller instance documents for testing purposes since we would have to inputting these instance documents to the POET GUI. Overall this week, I learned a lot! For personal entertainment outside of work, I worked on my scrapbook (one of my hobbies) of my semester of studying abroad in Harlaxton College situated in Grantham, England (about 110 miles north of London)! It was a lot of fun to have those pictures out and remember what wonderful times I had. I've been working on this scrapbook since Christmas 2000 and was glad to finally get back to it (School had kept me from getting real progress done!)!! I also went home for the weekend - I had a very good friend just get out of the hospital that week (ulcers in intestines...I know, gross) whose wedding was supposed to be that weekend but had been previously cancelled (for very personal reasons) and I wanted to be there for moral support and to help his mom out with helping him to recover! I spent a lot of time watching movies and talking to him that weekend but was very glad I was there!

Week 7 - July 1-July 5, 2002

At work this week, I didn't get much done on Monday on the tool since the server that my code was on was down for most of the day! I did change the schema to add dependencies to the archetypes so that a value can depend on a different one. This would have to be added to my tool as well this week (and was)! We also had a group meeting on Monday to discuss who would do what for the next "phase" of the project. I am going to write the output schema, finish up my tool, and help parse XML instance documents for input to the GUI. I also finished up the static version of my tool (meaning that it reliably outputted instance documents. I also realized that I should not rely on user input to be correct and add some code to my tool to ensure uniqueness and proper input. I also changed the archetype page so instead of a user inputting the name of a value or attribute he or she had created previously - they just picked the value from a menu (cutting my error checking down a lot there)! After looking at some other websites and reference sites - I decided that Javascript would be the best to use for ensuring proper user input (as well as easy enough to learn)! So I started ensuring all values were unique this week. I started out with a bunch of if statements and it was too large and redundant so I went to a better approach of creating an array of all the values (once inputted) and checked them against each other in a while loop. If a name was not unique the user is prompted until they enter a name that is unique. On Wednesday night, Derek and I got together to try and figure out how to start parsing XML instance documents (like the one I wrote) and wrote a few functions that we thought might be useful, but since we hadn't talked too much to Robert, we didn't get everything done. The functions we did get working were really cool to me since I hadn't ever used JAVA (using Xerces parser) or messed with XML parsing. It was really interesting to learn (and would later prove to be very frustrating). Since this week was the Fourth of July, I didn't work very much on Thursday but did go to Dr. Goldsmith's house for a picnic! It was a lot of fun and again nice to spend time with some people I work with outside of work! I also tried tempeh (which was a first) and it was quite good! Other than that I didn't do much for the fourth! Fireworks could be seen from outside my apartment so I watched those for a bit! I went home for the weekend again, yes I spent more weekends in Indiana then Kentucky, for a family reunion! I also got to go canoeing for the first time that weekend - which was a lot of fun although it was hard to lift my arms up the next day!!

Week 8 - July 8-July 12, 2002

This week at work, I finished up my static version of the web tool. I had to learn more Javascript to make my tool more useful and to prevent bad user information. As well as ensuring uniqueness of all 'name' fields, I also had to ensure that for every name entered a description was entered as well. This lead to the issue of when to check uniqueness/descriptions being filled in, field by field or at the end. I tried both methods - really trying to make the field by field work but it caused too many inconsistencies of when prompt boxes would be used so I switched to checking at the end and found some rather good ways of ensuring uniqueness (recursive while loop) so that it didn't require a lot of if statements. I also did it this way so that switching over to a dynamic version would be much easier to do. I found this part of the tool to be very fun and interesting as well as very frustrating...Javascript does not use semicolons at the end of lines where many other languages that I had been using, do! I also had to figure out what could be passed between Perl and Javascript in my CGI scripts (arrays do not pass) which caused me to have to create arrays in my Javascript as well as in my Perl code. There was also a little trouble in passing the CGI object values into Javascript because the HTML didn't recognize the syntax of the CGI object very well. On Tuesday this week, Derek, Robert, and I met to discuss how to take an XML instance document and use it in Robert's GUI. Derek and I had written a few useful functions the previous week and showed them to Robert, explained what they did, and Robert took all of the code to try to understand and integrate it. We were supposed to hear from him in a day or two to see how it went and what more functions would need to be written. I also met with Dr. Goldsmith this week to show her my finished static version of the tool - she approved and was happy to know that I would be starting on the dynamic version at the end of the week, which I started on Friday and by the end of the day on Friday I had the input page created (with all necessary checks fore uniqueness and non-zeroness) where the user entered in the maximum possible number of values, attributes, archetypes, and archetype values. The maximum number of items was the easiest implementation to be used on many different platforms. I had been working on Netscape 4.77 up until this week where I was (very gratefully) upgraded to Netscape 6.2. By this point everything I've developed was compatible with both versions as well as current Internet Explorer versions. I stayed in Lexington for the weekend and took pictures of the campus, worked on my scrapbook, and drove around the town!

Week 9 - July 15-July 19, 2002

This week was devoted to redoing my web tool. I made it more dynamic. It required many for loops and if statements checking for names or descriptions not filled in. I created all the pages (creating attributes and values and creating archetypes and forming the instance document to agree with my input schema). I also had to redo my scripting to ensure uniqueness in names. It required some redoing of my functions. I had to pass information from CGI script to CGI script in hidden variables and couldn't pass Perl arrays so I had to break the array apart and send each value separately as hidden variables. This actually simplified my uniqueness functions. I had to also check for empty values in special cases (such as if a value is filled in and not its description and vice versa as well as if an attribute name was filled in but there was no values within it and vice versa). I used a little math in my Javascript functions to discover where attribute and value names and descriptions would be to ensure that menus were created with the correct values as well as to ensure that no archetype names were the same as those for attributes and values. I also wrote functions to update the menus so that a value couldn't depend on itself in the archetypes as well as no two values had the same dependencies with different utilities because this would be contradictory. I also got permission to write from an internet browser to my account this week so that I could finally figure out how to save someone's instance document. I did have trouble figuring this out. I double checked my open statement (only thing not working) and saw that it was correct. I emailed my brother on this and talked to him that weekend to try to figure out what was wrong. I figured out what was wrong on Monday of the next week. This week I also wrote two output schemas so that James could decide which would be most useful for output (to his visual GUI). One outlined all paths in a tree and the other detailed the tree level by level. I wrote small instance documents to demonstrate how they work and James and I decided to use the path one (assuming it would be easiest to write from the GUI and fit the easiest into what he was doing. It was a very full and productive week. I felt that I got a lot of work done this week in that I completely redid my website (reusing what code I could) and was very happy with it. I did create a list of things that I would like to do if more time would surface. This week I also started packing up a lot of stuff and moved it home on the weekend. This week I was also hit with the realization was that there was only a week left before James and Robert left for the conference and I left. Derek and I never heard from Robert (his computer wasn't working so he didn't really look at input) so that told me what I would be doing next week!

Week 10 - July 22-July 15, 2002

My final week...it's kinda sad that I'll be leaving. On Monday I figured out why I couldn't write from the browser to my account at UK...I didn't have the permissions set correctly (I was the only one that could write to the directory with the permissions that were set!) I felt a little dumb when I figured it out but was ecstatic to know that my code was correct and even better working! To my tool this week, I added code to create filenames for uniqueness purposes, ensured that the user would enter only numbers on the first page of the tool (max numbers), wrote a reset function so that all menus were reset correctly (since they were changed any time someone changed a menu value), tested my stuff (it all worked with very few changes), reworded some of the directions (and added examples to help explain what it was for), created a link to POET so people knew what it was, and spell checked everything. James and Robert had practice presentations this week. I met with Dr. Goldsmith to show her the final version of the tool and see if she knew anything about Robert. We finally got ahold of him and realized that input wasn't working. Most of the evenings this week were spent working with Derek on getting input to work for the GUI. We took Robert's code and added everything we had previously written to it, figured out what his code did, adjusted it to read information from instance documents and got the whold thing working. We were pretty proud of it and extremely, extremely frustrated by this part of the code. We kept gettin null pointer exceptions in the code because the parser would read blank characters and lines and think that they were part of the DOM tree (we used the Xerces parser which meant I learned Java this week some). We tried everything we could think of to get around this but no go...Derek finally wrote a "buffer" for the file to remove all unnecessary whitespace from the input files. It worked and I was ecstatic. XML parsing proved to be very frustrating and very interesting. Robert's code associated all strings with numbers so we had to write special code to search for index positions of the strings that we read in from the instance document. I did make some suggestions to Robert on how he could improve his implementation after the conference. This week I also wrote a new input schema that might be used later on (it allows for infinite levels of dependency in the archetypes). I also met with Dr. Goldsmith for lunch on Thursday. We had a lovely time and recapped the summer (discussed what we thought of it) and such. She left that night for the conference. I also packed up the rest of my stuff this week and moved home on Friday afternoon. It was a very hectic week but I was pleased with what was accomplished. At first James told me that my webtool wouldn't be used for the conference but Dr. Goldsmith told me that it would be (at lunch on Thursday) so everything wrapped up well. I was very happy with my experience.

Week 10 1/2 - July 29-July 31, 2002

This week has been spent unpacking and working on this website!!


~cmk