Monday, April 12 2010 8:00-8:30 I talked with Denny about the code we had already created and tried to get a sense for what we should work on next. We looked at what some of the other groups had done for the predicates and rules and decided that the work I did over spring break wasn't actually that usefull. 8:30-9:00 Nathan joined Denny and I so the three of us moved to another room to get some white board space and quite. Looked at the code nathan had produce and checked out some of the code that Jeffery had commited to the repository. We then talked about how we might be able to contribute something to the project as a whole and decided that since none of the other groups were making a GUI we might as well start building one. 9:00-9:30 Read about TKinter and played around with the programs that I wrote for the lab. All four of us started discussing what geometry manager we would use to build the GUI and denny drew a rudimentary GUI on the board which we discussed at length. 9:30-10:45 Nathan and I started working on packing frames within frames and resizing the windows so that they would fit together. While we got the outer frame working Denny built a menu frame and Jeffery worked on the grid frame. Tuesday, April 13 2010 8-9pm Worked with Nathan to try and get the four different frames to fit correctly inside of the root frame. It was tricky getting them to expand and fill the frame correctly but we managed. We also figured out how to import the frame denny created yesterday and get it to pack correctly into the outer frame. 9-9:30pm Talked with Denny for a little bit about how the side tool bar should look and operate. Also, researched about doing tabs on a widget in tkinter. Finally, we all tried to work together for a few minutes to fix Jeffery's scroll bar issues, but to no avail. Thursday, April 15 2010 8-8:30am Found a program that uses tabs to flip between frames packed into another frame. It could be useful later for the tool bar layout so I may try to implement it. 8:30-9:30am Built the a simple tools bar for selecting the types of species you would like to place in the grid. Got stuck using the configure option for buttons and decided that it is definitely broken. 9:30-10am Decided to try and get all of the frames working together instead of working on the tabbing mechanism. Got three of the four working together. Doesn't look so hot yet... 10-10:30 Almost have this tabs thing figured out but i'm not certain it will actually be that useful for the project. 10:30-11 Got the tabber working, but i'm not going to add it to the outter frame just yet. *********************************new week, new group***************************** Sunday, April 17 2010 1-1:30pm Met with new group members. Denny and I caught Josh and Nora up to speed on what we had managed to accomplish on the GUI already. We talked a little bit about the work we felt still needed to be done and what was important. We then parceled up the work and decided when we would meet again to try and fit it all together. 1:30-2pm Worked on the cell_grid file and read up on how the grid geometry manager works. Started altering the code so that it will construct grids of the given dimensions instead of taking arrays as it's parameters. Monday, April 18 2010 9-9:30pm After a lot of tinkering and rewriting of the cell_grid code I managed to get a method that took parameters for width and height and created a grid of clickable buttons. 9:30-10pm Had to rewrite most of the code that jeffery wrote becuase it used a different style than the code we wrote for the other frames and I couldn't get it to work with those frames. 10-11:30 Spent a lot of time reading about tool bars and how they are implemented with grid. Had tremendous problems trying to use grid and pack with the same frame. My python interpreter kept crashing and that meant I had to ssh into the mathLan and start all over. Finally, I got the scroll bars to work but they still don't play nicely with the grid. Tuesday, April 20 2010 7-7:30pm Josh, Nora, and I discussed what we had gotten done over the last few days and where we are stuck on the GUI. We also made plans of what we will continue to work on during the next few days. 7:30-8pm Jordan overheard our groups conversation and initiated a discussion with me about the interaction of local world and gui. This was really constructive and helped me get a sense of what methods GUI could call from local world and what methds GUI should implement for local world to use. 8:30-9 Tried to get the scrollbars to work but to no avail. I can't seem to figure out why they aren't working and every time I run them in the interpreter they crash my entire terminal and I'm forced to ssh again. Moving on to something else... 9-9:30 Splicing my Grid work into what has been done with the GraphicsUI file. This is really starting to look like a mess. 9:30-9:45 Josh copy and pasted all of the code from all of the files that GraphicsUI was importing so my Grid file stopped working... I have it working again however. 9:45-10 Read up on event handlers and buttons so that I can make the cells change colors when they are clicked on. 10-10:45 Wrote event handlers and created an instance variable that keeps track of the previously clicked button's color. This way, we should be able to set the buttons in the grid to the color of the previously clicked button's color. Wednesday April 21 2010 2:15-3pm I just got the button handlers for changing the grid colors after clicking on one of the species buttons! awesome. 6-7pm Worked on changing how the buttons in the grid are stored so that we can pass the exact cordinates to local world when the user changes the species at a point in the grid. 7-7:30 Changed GraphicsUI so that now when someone clicks on a grid space it will set the creature in local world. Had some troubles dealing with conflict resolution when I commit my files. I'll just talk to my group in class about conflicts. Thursday April 22 2010 9:30-10am Wrote the updateBoard method for the graphicsUI file. This should just call getCreature on a specific board location in local world. I'm still not sure what the getCreature method is supposed to return but right now the GUI expects it to return the string name for a color. ********************************new week, new group****************************** Sunday April 25 2010 2pm-2:30pm Met up with Ravi during his TC shift and he gave me a quick explanation of the state of the network code. From this meeting it is clear that I will need to do some reading on the different utilities they have employed. Tueday April 27 2010 8:30-9pm looked through the code for the networks but wasn't really understanding a lot of it. Also read through the use cases that previous memembers of the network group wrote. I found the use cases to be very informative and useful. 9-9:15pm Looked through the wiki and updated my page. 9:15-9:30pm Nathan found me in the lab and we talked for awhile about the network code. He explained a few things to me but we are both pretty unsure of where we can start working on this part of the project. 9:30-10pm Nathan and I tinkered around with creating clients and servers just to test if we could create a connection. We got the client to connect but the server is not echoing the text that we send it. Sadly, it seems this problem will have to wait until we can talk more about it with Ravi tomorrow. 10-10:30pm Read up on pickle just to figure out how it worked. Also reviewed the sockets outline and read a few other resources online. 10:30-11pm Nathan and I had a little pow wow over the clients.py. We figured out most of the code and nathan managed to get the echo string to work. We have some questions for Ravi but this is a good start. Wednesday April 28 2010 1-1:30pm Looked through the chat file that terrian made. It doesn't seem to work consistently but it's a start. Also started looking through the server logic file. This seems like a place that I could potentially contribute something to the group. 1:30-2pm Had some trouble getting my client/server connection up and running and then realized that i needed to change the echo method in the worldserver. 2-3pm Several of the methods don't seem to be sending "changes" to the board in the manner that we specified in class. I'm changing some of the methods so that they will send a list of "changes" which should actually just be a list of Instructions for the coordinates that change. I'm not sure how to test whether this implementation is working so I'm leaving it uncomitted. 3:15-4 Wrote a potential initialize method for the serverLogic. I'm really not sure if this is what the network team had in mind for this method since there aren't any comments/explanation. 8-9pm Our entire group met and discussed changes that had been made to the network. We decided as a group what we would attempt to accomplish and got a run down from Ravi about how world listener and world should apply to server, client, and gui. 9-10pm Nathan and I made dummyWorld and dummyWorldListener to test the server/client code. 10-10:30pm Our entire group got together to try to create tests for the work we'd managed to accomplish. We also had a few conversations with Alex about how the model group was implementing species. ********************************new week, new group****************************** Thursday April 29, 2010 7-8pm After hearing some of the problems the present GUI group was having using the code that was written when I was on the team, I made a new grid builder so that they can just pack it into the new game play frame they are working on. This one actually keeps track of the position of the button in the grid Sunday May 2, 2010 2-3pm Met with my new group. Spent the first 15 minutes discussing some of the network code. We then decided that we would try to get the tests that were not functioning to work. We ran into a lot of trouble trying to pickle enums but ravi came up with a solution for us. The test still isn't working as expected. The enumerated type Direction is now a module containing seperate direction classes instead of nested classes. 3-3:15pm Tried to get the tests working but we're stuck. I'll return to this problem later. Monday May 3, 2010 8:30-9:15pm Met briefly with the GUI group to try and get the grid code packed into their board frame. Tuesday May 4, 2010 6:45-7pm Spent some time dealing with conflicts when from earlier that I kept postponing 7-7:30pm Jeffery, nora and i spent some time looking through the code and trying to figure out why our tests don't work. 7:30-8:30pm Jeffery and I worked to go through the model code to change how the direction enum is working. Now, direction no longer contains nested classes so it is a pickle-able object. 8:30-9:30pm Worked with nathan and jeffery to change several of the handlers in the worldserver. This resulted in working tests. we also wrote a new rejection handler. 9:30-9:45pm Our group spent some time figuring out what we still need to accomplish with our last few hours. We also divided up some of the work up so that jeffery can work seperately from us Miercoles Cinco de Mayo, 2010 7-7:15pm Spent some time familiarizing my self with the changes jeffery made last night/today. 7:15-8pm Tinkered around with the tests some more. Tried to add messages that the clients send to their hosts but the write method is giving me some weird errors. 8-8:30pm worked with nora on the tests for awhile but didn't really get anywhere. decided that a break was necessary 8:30-9pm Wrote the disconnecthandler but i can't figure out how to test it. 9-10:30pm figured out the tests with jeffery and nathan. Jeff and i worked getting lists sending but we are getting some weird errors about lists not being callable. we aren't sure what this means. ++++++++++++++++++++++++++++++++++++new week, new group++++++++++++++++++++++++++ Monday May 10, 2010 7-7:30pm Watched Arron and Jordan work on debugging some code. Learned a little more about how the tests are written and how the scrollbars/zoom works. 8-8:45pm talked with Aaron about how save and load should work. We also discussed the menu that should pop up when the save button is clicked. 8:45-10pm created a button in the board screan that calls the save menu. also created a save menu with an entry field and two options, save and cancel. Right now those two buttons both simply destroy the parent. 10-10:30pm Got the menu reading the the entry field. Still getting some weird error message when it closes the frame using cancel or save Tuesday May 11, 2010 2-3pm (THIS WAS DURING CLASS) Built a load menu that pops up to allow someone to load a file. 7-7:15pm Wasted time dealing with code that other people broke. 7:15-7:30pm Surprised that more of the code is magically broken and the tests didn't work. Who keeps checking in broken code? (thanks to Jordan the GUI test works again) 7:30-7:45pm Messed arround with error messages for the load and save functions 7:45-8pms Jeff showed up and we discussed some of the things ravi 8-9 Jeff and I smashed our heads against a computer to try and figure out why we can't pickle the local world. We aren't making progress solving this problem. 9-9:15 Jeff and I talked some more about the code but didn't feel like we were getting anywhere so we decided to postpone anymore discussion until we could meet with our groupmates tomorrow. 9-11 Aaron managed to get the world and species database pickleable but then we had to work our way through the code for 2 hours to get the loading to work. 11-11:30 Played with some network games. Kinda fun actually.