My Blog

Blog

August 3, 2012.

Today was my last day as an apprentice at shodor. Most of the day I continued to work on a few parts of my portal project that could have been improved and recommitted them. Other than that I was helping others with their php or portal projects. While I was on reception in the afternoon, I worked on my application for an internship with Shodor.

August 2, 2012.

Today I continued helping others with their php and portal projects. I also worked on getting rid of the red border that appeared above and below my content. After staring at the different divs and tables associated with the main content well for a while, I gave in and asked Krista, who found the problem in about ten seconds. I was also finally able to fix the css for my final javascript project so that the results table didn't slip down underneath the canvas when the window width became smaller than the two of them combined. To do this, I had to put a div around my canvas, put a div called container around the div with the canvas and the div with the results table, and give it a minimum width that was wide enough to fit both. Then I had to create an empty div below both of them and in my css, set clear to both so that it would automatically position itself below both of the divs above it. This made the form with all the buttons appear in the correct place.

August 1, 2012.

Today I decided I needed something to keep me occupied, so I tasked myself with improving my php calendar. The one I'd had previously worked with "any" year, but because it did not take into account the switch between the Julian and Gregorain calendars in 1752, and the resulting 11 days lost in September of that year, it was not entirely accurate. At first I tried using two math equations to express the number of elapsed days since the year 1 so that I could get the proper starting day for the year, however, while it worked well with just the original, Julian, system, merging the two after 1752 was proving challenging, so I resorted to using a for loop in place of the equation. If inspiration strikes me, I plan on going back to change that.

As for the missing 11 days in September, 1752, the best solution I could think of was to create an set of if else statements. If the calendar was set to that date, then it would print the numbers 2, 3, and 14+ instead of all of them. I could have simply put an if statement to do the same thing inside the for loop creating the regular calendar and save myself several duplicated lines of code, but I figured that the computer would have to work harder checking an if statement every time it went through the for loop than it would just doing it once.

July 31, 2012.

Today I added some style to my apprentice portal website because Jenna was complaining that it was too plain. Wasn't sure what I should add though, so I just changed some of the background colors and text colors. I also added to the descriptions in my portfolio and updated it so it fit the apprentice portal website. I'm pretty sure that I'm ready to upload the final version to subversion, with the exception of my xml file for my xml blog which is kept in my content folder with the php file that creates the xml blog. That will have to be updated after the last entry.

July 30, 2012.

Today was the start second week of the third block for the summer session, my last week here. Started off by finishing up the testing I was doing friday and continuing to help people with their apprentice portal projects. Krista was back today, so I was also able to ask her why I couldn't seem to get the rewrite rules working. She was just as confused as I was at first. We think the problem was that (.*) which refers to any character, was also including the / in the url, which caused a bunch of problems.

July 27, 2012.

Today we continued working on our apprentice portal projects. Since I was finished with mine, I spent the day helping other people, working on changing my php calendar to work with any year, and testing javascript applets.

July 26, 2012.

Today the apprentices were given a lesson on databases by former intern Monte. We learned how databases worked, about attributes (which can be thought of columns on a spreadsheet) and tuples (which can be thought of as rows), and how to diagram them. After the introduction, we were given an intro to databases and mysql by using a database that Monte had set up. Our challenge was to use the database to answer questions, such as how much profit did a store make.

July 25, 2012.

Today the Apprentices continued working on their php and Portal projects. I was in the forensics workshop for most of the morning, documenting. After that, I helped several people with their Portal projects. Most of the questions centered around loading content off of Snap2. At the end of the day, I got around to asking Ernie about the rewrite rules and why I couldn't seem to get it my website working with the ones that Krista had already written. His answer ended up being, let's wait for Krista to come back next week.

July 24, 2012.

Today we continued working on our Apprentice Portal project. I finished mine with the exception that I need to ask Krista about how she set up the rewrite rules for the url. I thought I understood it, but for some reason can not seem to get it working. I also spent most of the day helping other people their php projects of their Apprentice Portal project. Most were having problems including other php or javascript files on their website.

July 23, 2012

Today was the start of block three. I was able to finish my Apprentice Portal project (importing everything from my old website into snap2 so that I can use it on the Apprentice Portal website). The work didn't take as long as I'd expected, however the xml blog gave my problems again. The problem turned out to be that I was using the wrong path for the file. But that was fixed eventually.

July 20, 2012

Today was the last day of the workshops! I made it through alive. Think it helped that Jenna separated all the noisy kids today. That made things much more manageable. Also got more of my javascript set up on my apprentice portal project.

July 19, 2012

Today was the fourth day of the programming and html workshops shodor is holding this week. While I still helped with both, I was able to get more of my apprentice portal project done. I don't think it will take me very long to finish, if I can find the time to actually sit down and work on it!

July 18, 2012

Today I continued helping with the two workshops shodor is holding this week. Both kept me busy through out the day. The web design workshop is both energetic and extremely noisy. However, they're still managing to learn, which is good.

July 17, 2012

Today I documented the intro to programming workshop in the morning and helped out with the intro to html/css workshop in the afternoon. Both kept me busy through out the day, and I did not have time to finish any other work, with the exception of this blog. Hopefully I will have some time tomorrow to continue working on the Apprentice Portal project.

July 16, 2012.

Today I helped document the Intro to programming concepts workshop with Jenna. That part of the day went pretty well. Most of the workshop students didn't need too much help. After the workshop, I returned to working on the Apprentice Portal project and HLD. I didn't get as far as I could have because I was also helping several people with php. However, I should be able to finish my HLD tomorrow and implement the rest of the php by the end of the week, if I work slowly. Sooner if now.

July 13, 2012.

Today we continued working on our php and newdev projects. Since I was already finished with all of my php, I started working on the apprenticeFun website in newdev that we were introduced to. I successfully imported all of my javascript files and pictures from my old website. I am now working on importing the newer php files into the new website.

July 12, 2012.

Today we were introduced to pagerender and snap2, which shodor uses to create and manage websites easily. We were also given the option of editing the websites that were created for us a couple days ago using this so that we could gain experience in using them. After that, we continued to work on our php projects. I redid my xml blog so that it uses rss like Krista's example. Other than that, I helped several others out with various php projects, including the "Dane Joe" name switcher. Several people had problems switching the first two letters around. Mainly they simply didn't know where to start.

July 11, 2012.

Today we learned how to use Subversion (svn) with terminal along with creating a newdev folder in our public_html. Afterwards, we continued working on our php. I finished the projects that we got and started work on improving them. I got my dice roller to work with not only a variable number of rolls but also 1-6 dice. I also made the calendar print each month in 2012.

July 10, 2012.

Today we continued working on our php projects. I got almost all of them done (they may be seen on my portfolio). I also spent quite a while helping other people such as Caroline and Marc with their dice projects. I also helped a couple people with their random hexadecimal color projects and the internal style sheets used to implement them.

July 9, 2012.

Today was the first day of the second summer block at Shodor. We started the day by learning php, and the differences between php and javascript, which we already know. At the end of the day, we spent several hours working on dice rollers like the ones we've already made in javascript. I might have been done sooner, but was asked for help by several people. It was much easier to debug php that it was javascript because php will create a big orange box with the error and line number on the web page when it occurs.

June 29, 2012.

Today was the last day of our graphics unit. Most of the day I worked on making a final web design. I used The Elder Scrolls V: Skyrim as the theme for the design. Near the end of the day, I created an html demo for the site, a picture of which and the link to can be found on my portfolio. I also helped a couple people with their css media queries. Also volunteered for some extra ODAA, stripping wires for Rob. Jenna helped me with it before kicking me out to go help someone that needed it.

June 28, 2012.

Today we continued working on our graphics. i made another design for my website, this time using a brushed steel background. This one I mostly made in inkscape, as opposed to gimp, but used gimp to create the background for my name. I was also able to create another picture using Ernie, I call it the Statue of Ernie. I am also playing around with making Ernie the man on the moon, but I'm having trouble replicating the texture of the moon to put on his face.

During the middle of the day, I was also asked to do another project by Ernie. He needed someone to review a website about a workshop that was about to go up to make sure there were no errors, ie: the links worked, there were no problems with any of the html/css, and all the grammer and spelling was correct. I spent about half an hour doing that after lunch.

June 27, 2012.

Today was the third day of our graphics unit. Spent most of the day looking at a css tutorial for reordering elements based on the window size and then implementing it. I also worked on a separate design for my website, though I'm still not sure how I'm going to do with the rest of it. I also helped a couple other people with their css and putting their designs on their websites. Also started thinking of a new way to change Ernie's picture.

June 26, 2012.

Today we continued working on our graphics. I think I am mostly done with my website, with maybe a few things I can change. I would like to be able to implement cookies so that I can keep the chosen css while navigating through each page. At the end of the day, I also accepted Ernie's challenge to photoshop his picture. I made him the grim reaper for fun. Not my best work, but not too bad. See it on my portfolio.

June 25, 2012.

Today was the second week of the first summer block. Our project for this week is to design our website using inkscape and gimp. Not exactly crazy about this project, I've never been interested in visual arts, but hoping I can at least come up with something cohesive. I've chosen music as my general theme, and so far have a banner with the 1812 overture and a violin, and a cascading sheet of music going down the side. I still need to decide what I want to do with the navigation bar, content box, and footer.

June 22, 2012.

Today we finished working on our predator-prey models. I didn't do much with mine, but helped other people fix problems with theirs. I also started working on my (optional) excel model, though I didn't finish. After lunch we watched a few people present their projects.

June 21, 2012.

Today was the fourth day of working on our predator-prey models and also Ernie's birthday. I was able to finish my model today, adding the ability for deer to seek out grass and a few other things. I also helped more people set up the "scent" for their models so that the lynx could follow the deer. I also solved a myriad of other problems for other people.

Near the end of the day, I began working on an HLD for an Excel model. I also started creating the formulas I would need in the excel model to relate each population to the others. Not sure I will finish and be happy that it mimics my AgentSheets model as closely as possible by tomorrow, but I'm going to try and get as much done as possible.

June 20, 2012.

Today was the third day of our project. Over the course of the day I was able to mostly finish my AgentSheets model. The one thing I would like to add is have the deer move towards grass, instead of randomly, something fairly easy. I also helped several people set up a "scent" so that their lynx were able to follow their deer.

June 19, 2012.

Today we continued working on our first summer project. During the day I was able to get most of the AgentSheets model working, including the baby deer and the lynx. One of the biggest problems I had was getting the grass to spread to squares next to it. This problem originated because the grass lies under the transparent background layer that the animals move on. I ended up solving this by having each background agent check to see if it was over a patch of live grass. If it was, a variable called live grass was set to 1. The dead grass could then use this variable to see if they were next to a patch of live grass and determine if the live grass would spread.

June 18, 2012.

Today was the first day of the first summer block. We were asked to start working on an AgentSheets predator-prey model using deer and lynx. Both deer and lynx are supposed to reproduce, while the lynx eat the deer and the deer eat grass. The grass is also supposed to grow back. We started the day by completing a high level design document (HLD) for the project. This turned out to be a lengthy process, as one of the questions on the incomplete HLD we received asked us to write out how we would make each agent do each behavior, step by step.

During the day, I was able to start setting up my AgentSheets model and configuring the deer. The hardest part of this was getting the deer to move on top of all types of ground (ground with dead grass and living grass) without problems. I and a couple other people spent about half an hour trying to figure out the best way to do this, as we all had the same problem! After that, I got the deer working so they would eat when they were hungry, reproduce when they were full (as per the HLD), and die when they were old. For this, I assumed that each iteration was roughly one week and calculated the number of iterations a deer could live through. In this model, deer's offspring will follow an adult.

May 5, 2012.

Today was an extention day for the spring session. Ernie asked me to come in to work on my project and help. During the course of the day I was able to add a text box to change the number of sick and healthy people in my model. I also added a way to change the infection chance. However, because of the way the model works, the infection chance must be low (1-2) to see a difference.

April 28, 2012.

Today was the last day for working on our javascript projects before we present. Marc and I decided that we needed to have a way to collect data. We ended up doing this by creating a separate div with a table inside. We then researched the document.getElementById("ID").innerHTML property to add to the table while the model was running. The results are now up on my portfolio.

April 21, 2012.

Today we continued working on our javascript projects. Our challenge for the day from Ernie was to get our people in our infection model to move smoothly. We decided to do this by having people have a high chance of continuing to follow their current path instead of moving purely randomly. We ran into several bugs while doing this, one of which Aaron could not figure out. When we asked Ernie, he fixed the problem by using the >= conditional. None of us could figure out why this worked when > and == both did not work. We eventually started the project over, and did not run into another problem.

April 14, 2012.

Today we started working on our JavaScript projects. Marc and I decided we would make a disease model using JavaScript and set to work building a canvas based model based on previous work we had done using the canvas.

March 17, 2012.

Today we continued working with javascript in html. We started off working with our dice models from last week. After that we moved into being introduced to objects and creating arrays of objects. We were also introduced to the canvas in HTML5. We will be using the canvas to make three boxes move around the canvas randomly, starting with the starter code we were given. A challenge for us was to keep the boxes inside the canvas, which was solved with a couple conditionals.

March 10, 2012.

Today we worked more with javascript. We created a calendar using for loops, and created a way to get random numbers to simulate dice rolls. We were then asked to output the sum of the rolls in dot format. Ex: 2 = .. After programming, we had a lesson on fractals, which was highly informative.

March 3, 2012.

Today we were introduced to the simple concepts of computer programming through javascript. We started off by looking at some simple math operations that could be done, and using variables. We also used for loops, and arrays. While looking at some of the javascript, I also figured out how to encorporate an html table into the output.

Feb 18, 2012.

Today we had lessons involving supercomputers, clusters, and parallelism. During the class, taught by Aaron Weeden, we discussed HPC (High Performance Computing, Moore's law, GFLOPs, etc. During the cluster section of our lesson we discussed benifits as well as limitations. Some of the terms that came up were Race Condition, Communication Overhead, Deadlock, Livelock, Domain Decomposition, Functional Decomposition, and Pipeline. Arron demonstraited several of these concepts with simplified physical examples, such as having two people act as processors and draw an image on the whiteboard while "sharing" rescources. After lunch we used BCCD and the four computers at each desk to create our own clusters.

Feb 11, 2012.

Today started with a lesson on DNS, DHCP, and other networking ideas. We covered binary, hexadecimal, subnet masks, ip addresses, etc. We also learned how to convert from binary to hexadecimal and back. We also did more with the command line. After lunch, we worked more with probability. We also made a model in excel to show how a cat falls from a building.

Feb 4, 2012.

Today's lessons included they physical compontents of computers, CPU, graphics card, etc. Unfortunately there was not a lot of time for the lesson and we missed out on a great deal, though I am taking a computer engineering class and already know a fair amount. We were also asked to pick out parts for our "dream" computer. I chose parts for a higher end gaming computer totaling $3399. Afterwards, we did more with terminal and command line. After lunch we watched presentations by the groups that did not go last week.

Jan 28, 2012.

Today we started off working on our projects so that we can present them later. My group was mostly finished already, we just needed to add a pulse train to our vensim model, which turned out to be fairly easy. Afterwards, I spent time helping other people with their websites and AgentSheets projects. After lunch my group practiced and then presented our project.

Jan 21, 2012.

Today was mainly a workday. My group worked more on our model, specifically we started work on our VensimPLE version of our Cops and Robbers model and made a website to put the AgentSheets model on. At the end of the day we had a lesson on probability which I found to be a highly informative lesson, even though it was partially review for me.

Jan 14, 2012.

Jan 14th was a workday. Our assignment for today, and the rest of January, was to work with a group to create a model in both AgentSheets and Excel. Our choice of model was between they hydrologic cycle and Cops and Robbers. My group chose to do Cops and Roobers. At the end of the day we had most of our AgentSheets model completed, and had started working on how to implement the excel model, which we will start next week.

Dec. 17, 2011.

Today was a fairly exciting day. We started off reviewing what we had learned in the past couple days and then launched directly into building our own models from scratch. Mark and I worked together to model the spread of Ebola through a population in a closed system. It has some flaws in the way it represents Ebola, which would need to be fixed in order to acurately represent an outbreak. However, learning to create a working model, including plotting and recording data, was very informative and a great learning experience.

Dec. 10, 2011

We started out today working on altering AgentSheets epidemic models and collecting data in order to observe how the alterations affected the model. My group introduced a couple new things: first, when people are sick they act as a "good citizen" and move away from other, healty, people, second, doctors working in the field find and treat sick people, possibly curing them. These two things slightly reduced the extent of the epidemic and slightly raised the percent of trials that were failures. After this we worked with using equations to represent what is heppening in our AgentSheets model. Then we put those equatiions into excel with the original start numbers and let it run for the same number of steps as an AgentSheets model that we imported into the same excel sheet. After having them side by side, we graphed the data to compare.

Dec. 3, 2011.

Today we worked with Jeff doing models on AgentSheets. During the course of the day we looked at working with AgentSheets, how a model is set up, and changing various conditions in AgentSheets that would affect how the model works. It mostly felt like a review day in school, but everything we covered was important. Probably the most important lesson was how to insure that the samples and the sample sizes you've taken are good enough for you to be confident that you know what is happening.

Nov. 19, 2011.

Today started out with us listening to Dr. Panoff about the processes of science. We listened to him talk about the origins of the word science, as well as about expactations, observations, and reflections. After he had taked for a while he demonstraited several situations where the power of observation may not be as strong as many think it would be. After that we had our ethics class when we listened to Mr. Broadnax discuss proper office ethics and were then assigned homework to be turned in before our next class by email to him and our mentors.

Nov. 12, 2011.

Today was a work day for us. Started out with a sheet for a website that we are supposed to make. Following the tutorials was not very hard. Mostly just looking at what was written and mimicking it. In my opinion the hardest part was writing about myself for the webpage. I’ve never cared to talk about myself that much, but there it is. I currently only have the blog and main page done. I will go back and create a portfolio page soon, then change the colours to my liking.

Nov. 5, 2011.

Today was the first day of the Shodor apprenticeship program. We started off by listening to Dr. Panoff talk about Shodor. Specifically how for many math related web searches Shodor consistently comes out on top of. After that we did the paperwork. Which was… something. Mind numbing may be a good phrase. But we got through it. Did all the picture stuff as well. After lunch we began our work on the command line using terminal. During the session we learned how to log into our accounts through there. We also worked with basic commands such as ls and cd. Including those, we worked with vim to create a very basic web page at http://shodor.org/~”yourusername”, which has now been expanded.