Blog
-
Nov. 5th 2011
-
Today we learned about Shodor policy and what it will be like to be in the Apprenticeship program. We also learned some terminal commands and used them to create and edit a very basic webpage. I was most excited about this because it actually involved coding and making things with your code. I also learned that eventually, we would be working to develop models and other applets that will be more functional then just a website on its own. I am looking forward to developing thess applets because they involve more problem-solving than a website does on its own.
-
Nov. 12th 2011
-
Today I learned about CSS and HTML. In HTML we learned about some basic tags and how to properly structure them we also learned how to properly structure our code so it will be neat and easy to examine for mistakes. I'm most excited about the prospect of making things look better with CSS. Although CSS doesn't really add functionality, I always feel better about something when it looks good AND works good. If something is sleek AND functional, the average person will always appreciate it more.
-
Nov. 19th 2011
-
Today I learned about science and the levels of importance. I learned that the world is full of "noise". Noise is just random observations and ideas that are formed. In order to advance to the next stage, "data", one must acknowledege the noise. To advance further, to "information", one must accept the data. To advance once more, the information must have a reason to be believed. This information then becomes knowledge. Finally, the knowledge must be verified exactly to become the pure, and simple, truth. For knowledge to reach this ultimate level of truth is very rare as it is extremely difficult to conclusively, and irrefutibly prove something as true unless the truth is stated in its definition.
-
Dec. 3rd 2011
-
Today I learned about modeling with AgentSheets. I learned that using AgentSheets is actually simpler than modeling a situation from scratch. This is because in AgentSheets, one can just click and drag conditionals and actions to create unique behaviors. I find modeling interesting in that it has so many real world applications and can be very diverse. I think one of the challenges of modeling is finding a way to represtent real life ideas in terms of code on the computer screen. Hopefully, I can learn to think differently in order to overcome this hurdle and become a good modeler. I think modeling will be very useful in my future as I want to do research in biology and much of modeling is used coinciding with biotechnology.
-
Dec. 10th 2011
-
Today I learned about more about modeling with AgentSheets and also about theoretical mathmatical models using functions. We used these functions as part of an Excel spreadsheet. I find these functions interesting because they can be very far from reality, but they represent the average extremely well. For some things, like disease modeling, these functions don't seem very useful but, for other things, these functions are the best possible representaion of reality. Disease modeling doesn't work very well with just functions because of the random nature of reality, and the perfect nature of reality. I, personally, hope we will do more complex agent modeling rather than theoretical models; this is mostly because I find functions to be a bit dull sometimes.
-
Dec. 17th 2011
-
Today I learned even more about AgentSheets modeling and modeling in general. I learned about modeling real diseases, which are far more complex than the stereotypical SIR model that is a staple of disease modeling. As a whole, I don't really enjoy using agentsheets all that much. Mostly due to the fact that its a click-and-drag programming tool Because of this, I don't really get to code anything. Also, as with other programming tools of the sort, I find it harder to use their pre-existing logic than my own to make a program. Personally, I would rather write some code myself and then use it later on in other projects because then I would know exactly how that bit of code works. For me, when all the code is hidden from view and I can't look at it, I find it hard to figure out what the code does without someone explaining every little detail.
-
Jan. 14th 2012
-
Today I learned that eventually we would be able to use another program called NetLogo for our agent modelling. I am dearly hoping that Netlogo is less of a click-and-drag type of program and more of a logic-based one. I would rather not have to deal with all the deciphering and confustion that comes with AgentSheets. So far, I have been unable to find any way of easily nesting conditionals or loops. The largest inconvenince of all however would have to be the distinct lack of OR. I am not sure if AgentSheets actually lacks OR but I will assume so because I haven't found it yet. Due to this core lacking in the underlying code of AgentSheets, it is essentially impossible to totally eliminate bias from your model because there is no way as far as I know to have conditions that are lateral to eachother within a single agent. This forces a colossal amount of bias on your model just depending on what statement you list first.
-
Jan. 21st 2012
-
Today I learned about probability and how it applies to modeling. I learned that probability is just that, probability. It is simply the chance that something happens, it isn't any sort of concrete reality. In this way, agent modeling and systems modeling are fairly equal. A perfect agent model models every possible situation, while a systems model models an average end result. The only way one becomes more advantageous over the others is if the kind of result desired is determined. If you want to know how much money your business will make in the upcoming years, then you would want a systems model; if you want to model the effects of damming a lake on the environment, you would probably want an agent model.
-
Jan. 28th 2012
-
Today I worked more on my AgentSheets model. I think I'm finally done. The model now works as it's supposed to thanks to some helpful insight. With someone to teach you exactly how every little thing in AgentSheets works, it isn't so bad. It only seems to be bad when you have absolutely no idea what you're doing. Now that this project is over, I hope that we will either learn how to use a different program for modeling and/or that we actually start using our own code from scratch instead of using pre-written logic without being able to see it.
-
Feb. 4th 2012
-
Today I learned about computer hardware. I learned the importance of knowing about the products you buy, because it is far cheaper to build a computer of your own than to buy a stock-made computer. I also had to present my project today. Kris wasn't here however, so I was forced to present it on my own. I think it went well other than the fact that I didn't have a website prepared as that was Kris' job.
-
Feb. 11th 2012
-
Today I learned about different number systems and probability. I find different number systems intriguing because they show just how arbitrary the number ten is. It seems like a very easy number to use in calclations, but thats only in decimal. In hexadecimal, ten, or A is just the same as any other digit. In hexaecimal, sixteen becomes the equivalent of ten.
-
Feb. 18th 2012
-
Today I learned about clusters and supercomputers. I am excited about this because the very definition of supercomputer means that supercomputers will always be a relevant technology as long as computers are relevant. As long as computers are interesting, supercomputers will be several times more interesting.
-
Mar. 3rd 2012
-
Today I learned about JavaScript. I find JavaScript very interesting because we get to use mostly our own logic. Of course it isn't from scratch because of all of the compilers involved, but it certainly feels thet way. I prefer JavaScript to AgentSheets because now I know exactly what I'm telling the computer to do because it is right in front of me. Even if the code isn't doing what I want it to, I still know what it's doing. With AgentSheets, if your program isn't doing what you want, then chances are, you have no idea how to fix it. At least you get errors in JavaScript.
-
Mar. 10th 2012
-
Today I learned more about JavaScript. I hope we continue to work with JavaScript in the future so I can get used to its syntax and become better at coding in it. I also learned about fractals today. Fractals are images that are recursively repeated within themselves to a certain degree. We examined the Mandelbrot and looked at a few of the many patterns located within it. We also made our own fractals but most of them turned into a big mess after we repeated them a few times.
-
Mar. 17th 2012
-
Today we worked on a random walk program. Originally, to separate frames of viewing, I was just clearing the entirety of the canvas. Later, I figured out how to selectively clear only the rectangles themselves. This approach can be more useful if you are not drawing every shape constantly in a loop. We also learned about JavaScript databases like jQuery that have more built-in functions to use with JavaScript pages.
-
Apr. 14th 2012
-
Today we got our JavaScript project. The goal of the project is basically to remake a model we did in the past. Jonathan and I chose to use the burning forest model for this purpose. So far we're doing fairly well, as we're almost done with the functionality of the model. After we finish the functioning part of the model, we'll work on the visual aspect. After the visual aspect is done, we'll probably work on additional features.
-
Apr. 21st 2012
-
Today we worked on our JavaScript model more. The model that is required is now done, but we are working on making improvments to its function. The model now displays images instead of just displaying colored squares like it used to. We are currently trying to build in more user choices that can be made as opposed to a rigid framework that allows nothing of the sort.
-
Apr. 28th 2012
-
The model is now complete. Jonathan and I presented today, so I will not be coming next saturday. I felt that the presentation went well, as we were totally prepared. Today I also helped Jonathan get our model working on his website so he would also have constant access to it.
-
Jun. 18th 2012
-
Today I finished my Deer and Lynx AgentSheets model. Making the model as fairly easy, however it is slightly biased towards certain directions. This is due to the fact that AgentSheets lacks one of the simplest boolean operators: OR. This makes it impossible to make an agent capable of moving on two different kinds of agents without bias. Frustratingly, this could easily be solved if AgentSheets had a random number generator instead of just "Move random on __". AgentSheets also lacks parallel conditionals, so to achieve the same effect, one must simply copy the same instructions over and over again.
-
Jun. 19th 2012
-
Today I worked on my Excel model. Even though it is fairly unnecessary, I am currently working on adding every pertinent variable that the user can change in my AgentSheets model to my Excel model. I added all of the named cells I'll need, but that is, by far, the easiest thing to do. The multitude of variables needed to represent a predator-prey relationship makes it very difficult to make an equation that properly accounts for all every variable and not make mistakes. Sadly, every mistake has essentially forced me to start over with my equations. Now that I am done with the basic equations though, the rest of the model should be very easy.
-
Jun. 20th 2012
-
Today I finished my Excel model. It now properly represents a biological community to the fullest extent that I can make it with my limited data. It would be very easy to just plug in this real-life data and use it to generate a new model to make it more accurate. It is hard to make a mathematical model properly represent the random chance that occurs in the environment. Due to this fact, the graph that my mathematical model generated almost had a solid block of values that the populations could fluctuate within.
-
Jun. 21st 2012
-
Today I worked on making the game snake. I learned alot of alternate javascript syntax by looking up how to do things that I didn't originally know how to do. As of now, the snake moves correctly, but the game does not end when the snake crashes into obstacles. My code is also unnecessarily hard to follow, because I have nine functions for movement. Tommorrow, I should be finished.
-
Jun. 22nd 2012
-
Today I finished snake. There are currently no special challenges except the speeding up of time, which is slightly counteracted by special squares tht slow time down. In the future, I might add things like walls to make the game more difficult, but now that the week is over, I'll actually have more projects to work on instead of just messing around with JavaScript.
-
Jun. 25th 2012
-
Today I completed Shodor's Gimp and Inkscape tutorials. I also made a logo for my website, and completed a plan for how it will look in the future. I am now working on having multiple styles depending on the screen-size of the device being used. I am also working on making my overall style cleaner and nicer-looking. Personally, I'm glad that I'm done with the majority of Gimp and Inkscape work, because I much prefer coding to fiddling with tools in a graphical manipulation program.
-
Jun. 26th 2012
-
Today I worked on updating my CSS for my website. Before, it was very unclean coding-wise. My CSS used to have separate divisions for everything that was different, but now I finally figured out that it is possible to reference a tag within a tag in CSS which has allowed me to greatly simplify what I must remember in HTMLto maintain the style of my website. Today I also updated my plan for my new website even though I am not entirely sure how I'm going to accomplish my goals.
-
Jun. 27th 2012
-
Today Ernie gave us a list of things we must have done by the end of the week. Of these things, I haven't edited Ernie's picture even once, let alone multiple times. But, today I did make more logos for myself, and I made another potential design for my website. I also worked on making my website properly scale to different window sizes.
-
Jun. 28th 2012
-
Today I made Ernie into the Joker. The picture of him he gave to the apprentices however was very odd, and thus oddly-shaped, so it was very difficult to match his face up with that of Heath Ledger. At the end I think it turned out fairly well, meaning the picture is overall fairly creepy. I definitely wouldn't want to sleep anywhere near it.
-
Jun. 29th 2012
-
Today I updated my website with all of the projects I worked on throughout the week this was fairly easy since everything was a picture. I also updated my Snake game to make it slightly better.
-
Jul. 9th 2012
-
Today we were taught the basics of PHP. PHP is very similar to Javascript; one of the only major differences in syntax is that to declare a variable, you use a "$" instead of "var". The major functional difference between the two is that the work on opposite sides of a website. PHP works on the server's side, while Javascript works on the client side. This makes PHP a far more powerful and secure language because individual users do not have access to any of the server's code.
-
Jul. 10th 2012
-
Today I finished the rest of the PHP exercises we were supposed to do. They don't look very good, but they have all of the functionality that they are supposed to have regardless of how poor the interface is. Thankfully, my task isn't to make the webpages look good.
-
Jul. 11th 2012
-
Today we learned about subversion and how Shodor uses it to maintain backed-up versions of their site at all times. Ernie told us that if Shodor wanted to, they could roll their site back about five years. Today I also learned a little about Shodor's PageRender which allows new websites to be quickly generated. It is very quick because PageRender totally separates different aspects of a website so a web developer wouldn't have to personally oversee every part of a website, only some aspects of it.
-
Jul. 12th 2012
-
Today I learned more about PageRender and SNAP2. I learned that PageRender is Shodor's framework, and SNAP2 is Shodor's content management system. After learning about the two systems, I started experimenting with PageRender to try and recreate my own website using it. This will be useful, because it will make my website far more friendly to the developer, namely me, because I'll only have to change shared elements one time.
-
Jul. 13th 2012
-
Today I learned more about how PageRender and SNAP2 work with loading in external files such as CSS and Javascript files. I worked today on adding my Javascript model to the apprenticeFun website as a test. Initially, the model didn't work because it loads in pictures to use as agents in its simulation. I didn't understand how PageRender 2 loaded in content so I use the wrong path to specify where the images were located.
-
Jul. 16th 2012
-
Today I completed my HLD for the Apprentice Portal project. After several attempts at getting the HLD approved by Ernie, I managed to do so. Once my HLD had been approved, I checked out the Apprentice Portal project from online. So far I haven't done very much to the basic folder except for setting up .htaccess and local.php5 just to get the page to work properly.
-
Jul. 17th 2012
-
Today I worked on the CSS of my Apprentice Portal site. This was very annoying because PageRender 2 makes its pages automatically conform to some stylesheet which makes redesigning the website very annoying because I have to try to find where to get rid of any unwanted features; I don't know how some features of the site were rendered in.
-
Jul. 18th 2012
-
Today I worked more on the CSS of my Apprentice Portal site. Today however, I had more success than yesterday at making things conform to my wishes. There are still some aspects that don't look exactly how I want them to, but the majority of the site looks good.
-
Jul. 19th 2012
-
Today I worked more on the CSS of my Apprentice Portal site. Today I found out how to properly include multiple background images in a single division with multiple background syntax. this has allowed me to incorporate a gradient into a repeating image so it looks as if it is one image.
-
Jul. 20th 2012
-
Today I worked on the rewrite rules for my website. I've decided to make the rewrite rules functional before I start uploading all of the content in my portfolio into Snap2. As of now, the rewrite rules are only partially functional, but that should change in the near future.
-
Jul. 23rd 2012
-
Today I greatly simplified the rewrite rules for my Apprentice Portal page. I was able to do this once I discovered how to exclude certain characters with regular expressions. This allowed me to match any string to a corresponding page but also make sure that the string doesn't end with a "/" because before I did that, my links would infinitely loop back and forth between URLs. Now all I have to do to complete my Apprentice Portal project is to finish uploading my content. This shouldn't be too bad because I already got practice doing this on the Apprentice Fun project.
-
Jul. 24th 2012
-
Today I worked on testing Shodor's interactivate mobile website in newdev. I tested Shodor's Conic Flyer applet with an iPad. The problems I encountered were fairly minor and mostly about the layout and other graphical things. Hopefully, whoever who's job it is to fix the applet doesn't have to spend a long time to fix it though.
-
Jul. 25th 2012
-
Today I worked on testing Shodor's interactivate mobile website in newdev with an iPod Touch. Testing the Conic Flyer went far worse with the iPod touch. The zoom and pan functions didn't work whatsoever because the background of the applet wouldn't register any sort of taps or touches. The background wouldn't even let me zoom the iPod's screen. I feel sorry for whoever has to debug the iPod version of the applet.
-
Jul. 26th 2012
-
Today we learned about databases and MySQL. We learned about how databases are organized and how navigate through them to gather the information we want. I would like to learn more about this in the future because with access to databases, I would be able to give my snake game a high score list amongst other things.
-
Jul. 27th 2012
-
Today I worked on testing Shodor's interactivate mobile website in newdev. I tested the FractionFour applet on iPod and I also tested the FractionQuiz applet on both iPod and iPad. Now that I'm done with my testing duties, I think I can go back to working on the apprentice portal.
-
Jul. 30th 2012
-
Today I submitted my testing work and I began to work again on my Apprentice Portal project. Today I worked on making my Javascript applets work correctly in the Apprentice Portal. The only challenging part was making the image sources work correctly. Eventually I got them all working though.
-
Jul. 31st 2012
-
Today I worked on making all of my links appropriate for being transfered to another directory. This was especially difficult to do with javascript applets and the sidebar because the javascript applets required an absolute URL and the sidebar's content was loaded in from Snap2, so it was the same on every page. I fixed these problems using Javascript's window object to get the current URL and then manipulate it to achieve the desired effect.
-
Aug. 1st 2012
-
Today I worked on detecting if a file existed or not. I did this so I could use very broad rules for loading files with out getting thousands of errors and also without making every file that matched those broad rules. With things like detecting files before loading them, loading content into a website becomes much easier.
-
Aug. 2nd 2012
-
Today I committed my Apprentice Portal project after I finished it. All in all, I think that this Apprentice Portal website looks far better than my old website. This new website is also far easier to change because the content is stored separately, and because my page only has one controller (except for the php portfolio). This makes it so I only have to change major features in one place instead of several, like in the past.
-
Aug. 3rd 2012
-
Today I modified my snake game to make another game called Walls. Now, one must collect points while also creating walls with their own movement. The players score is determined based on how many points they collect and how long they stay alive. After I was done making modifications, I also committed my new game and added it to my old website in the same manner that I added Snake.