7/30/20 | Presentation Day!

Today we had a lecture on resumes and interviews in which I took notes so I could remember the best practices before attending/writing one. Afterwards, I started the resume. I eventually came back to the library project and decided to relook at the website. I couldn't decide whether the text was readable or not and spent another hour looking for pictures before deciding to just work on something else. I think if I do decide that it isn't readable I'll change it to a green nature background. I eventually went to watch the video on resumes to get more of an idea on how things should be worded. I found it oddly difficult to not say 'I' so much in the resume. It felt so unnatural because all our lives we've always put I, we, he, she or they before verbs. I also had to go find the old certificates I had been awarded and see what they were named and if they fit with the job that would be applied for (in this case a technical job). Whichever descriptions didn't fit in with the purpose I excluded which helped me to keep things under a page and professional. I worked on this resume a bit before practicing for my presentation over and over again. I felt myself getting excited and nervous as presentation time rolled by. I was so happy to be getting a chance to share the projects I had worked on. I'd say the presentation went pretty well, I was sad my 3D graphs didn't load during the presentation but I eventually had a chance to send them afterwards. Today was a great day and it's sad this program has to come to an end (especially for me because I need to move in to college tomorrow). I've decided to continue working on anything I may need to after I move-in to college so everything is ready to be displayed.

7/29/20 | Project Uploading

Today I got some projects up on the website and wrote descriptions for them. This was especially important because I would need to present tomorrow! After doing the belaboring work of describing each project and listing it on the website, I excitedly planned for my presentation tomorrow. I went through each of the projects I had listed, block 2 projects and block 1 projects to figure out what I should present. I struggled figuring out which ones to pick. I wanted to present something that wasn't the same for each apprentice (like the inkscape logo projects). I decided to show my present my two favorite inkscape logos, the Ernie and Aaron gimp project, the bootstrap website and the AgentCubes/Excel models of the summer modeling project we had done. I chose these 5 because they're the summer projects I believe I had the most fun doing. My favorite being the Excel Efficiency model because of how long yet rewarding it was. It made me feel so much more confident with Excel because I had learned a lot more of its capabilities. Tomorrow I will plan out exactly what I will talk about during the presentation so that I don't go blank with nervousness.

7/28/20 | Finishing the Research Library Project

I began working on the research library project today copying the content from my portfolio website to this library website. I noticed that the content adding seem to displace the container of the text I and had to figure out how to fix that for the next hour. I then decided to focus on the appearance more and change the font to something more fitting. I also changed the appearance of the portfolio page and had to temporarily take an element or two out of the navbar when it came to the project websites. By the end of the day I had it all done and put together in the way I wanted it. I debated with myself about what the purpose of the website should be. I thought it was a bit overdone to be a portfolio but I'm still not sure. I'll decided later if I actually want to use this as my main website or not.

7/27/20 | Research Library Project

I immediately began continuing on my research library project today. I made the mistake of spending most of the day looking for a good free background picture. The picture that was in there by default wasn't licensed for me to use. I backtracked it and used all kinds of reverse image searches to try and find the creator to see if it was available for public use. I could not find an owner for it at all, just several sites that had used it before. I was about to ask Ernie if I could still use the image but that is when I learned it's probably just better to be safe than sorry. I watched a youtube video on reasons I'd be able to still use the picture and learned I'd need to wait till after several years for the image to be available legally (due to the owner most likely not being around anymore). I realized there are several other great images out there to use that are free. So I dug for a similar picture with flower petals filling the background. I found one that was similar but the coloring was off so I used my new editing skills to modify the color in the way I'd like. It took forever but the end result looked great. I felt happy heading off when the day was over knowing I had gotten a great and similar picture as the background.

7/24/20 | Dice Stats DB

I spent most of today working on the dice statistics prep work that I should have done earlier. I'm kind of glad I waited to do it so I could complete it all at once. though. I started by making the forms in HTML. The two I had to add on were the shoe brand name and the form to ask how many dice the user would like to roll. I then had to add the php to collect, sanitize, process and display the data. Then lastly I had to grab the data that was stored in the MySQL database using MySQL. This was the most interesting part for me because it was interesting to learn how you can have the code do all the adding we did manually the other week. I was also really interested in the grabbing and returning process. I had never learned this before so seeing the commands that executed all of this was something new. I'm guessing this is somewhat like how logins forms are used, only more secure. After coding and debugging all of the errors I finally got the dice statistics project to work. There was still a bit of time left so I decided to get started on my research library project which I was excited for. I went to youtube and looked for a short yet highly rated video to watch. After I watched it I when to look for the Bootstap file I had awhile ago from an event I went to at Duke but never understood how to use. With the help of the video I was able to look at the code and determine what to change. I will most likely work on and finish this project on Monday.

7/23/20 | The Quality Assurance Document

Today I decided to work on the quality assurance document which took a lot longer than I had predicted. The spelling and grammars errors section took the longest because when typing I had always rushed a bit. When I reread it I missed the errors because in my head I already knew what the sentence was saying. Going away and coming back to the text made me realize how many things I either misspelled or worded oddly. After that section I moved on to click every link on each of the pages to make sure they worked. They all worked with an exception of one link. The last place where a lot of my time fell into was the HTML validation section. It took awhile to get some of the html to validate because I had to figure out which tags were causing it and if I should remove them or not. Also the HTML validation would say there was a problem elsewhere from where the actual problem is at. Eventually I pulled through it though and got through the document for the day.

7/22/20 | MySQL Syntax Guide

Originally, I was going to finish the final portfolio today but realized I was a bit behind on the Block 3 Projects and decided to do those instead. The PHP Syntax Guide took most of the day, I struggled deciding to start it first. To get myself productive and working hard I decided to strive to get one section of the syntax guide done every 25 minutes. I took a 5 minute break between each 25 minute session to prevent burnout. By the end of the day I had gotten the guide done and researched it in a way that I understood. For the rest of the day, I worked on the SQL tables and relooked at the code for the demo. I decided to take time after Shodor today to add the finishing touches onto my final portfolio.

7/21/20 | Final Portfolio Website: Finishing the Navigation Bar

Today, I got straight to work on the navigation bar. Since I hadn't made too much progress on the navigation bar yet I was starting to consider a design that was horizontal instead. Eventually, I decided to just stick to the one I had already planned for because it was what I had in the planning document already. I still couldn't figure out why things wouldn't show up on the right side so I went back to the try-it demo and tried making it right on there instead - and it worked?! Spooked at how it worked in the editor but not in my document I carefully made all the changes to my document and got the navigation to be on the right side that way. Now I had a working button pulling a navigation pane when clicked but the content still wouldn't push! I had put all of the content in the div id="main" tag that was required but still only the header would push and not the paragraphs themselves. I eventually realized that document get element by ID for Javascript would only grab one element so I created two IDs to be grabbed by two separate commands. I still had trouble getting some of the content to push and shortly realized afterwards that it was because they had been wrapped in a tag that had position: absolute; in it. After finally getting the navigation bar to work right on one page I added it to the other pages and specified which content needed to be pushed for each page. I got through about two more pages before the end of the day and decided to finish the rest tomorrow.

7/20/20 | Final Portfolio Website: CSS Matching

Over the weekend I got the text to wrap around the picture. It turned out that if I had position: absolute; listed anywhere, the affected element would ignore the text wrapping call and overlay on top of the picture. When I got that problem fixed I also noticed that some of the text was wrapping below the image and realized it was due to the width of the paragraph not being able to fit. To fix it I made the widths of the paragraphs smaller. After doing all of that, I accidentally happened to click on another page of the site and see how messed up the rest of the pages were due to the CSS changes I had made. I freaked out at first, I had already replaced my cyberduck copy of my website when getting help. Luckily, I had downloaded a copy of public_html before starting the final portfolio project and was able to dig up the CSS that was used there. I ultimately decided that since the rest of the websites didn't have a unique design like the first page, it would be better to have the CSS for all the pages on the main CSS and the CSS for the first page at the top of its html page. I spent most of the day trying to get both CSS on their correct pages. I used a text compare website to see where I had added, took out, or changed things and added those changes to the home page CSS. I had ran into a few problems like the text wrapping under the image again but used the text compare to see where the differences and resorted to deleting all of the element's properties to see where the problem was coming from. After getting all the CSS fixed up I started working on the navigation bar. I still couldn't figure out why the right pane hadn't showed up so instead I just focused on customizing the navbar the way I wanted to in the try-it demo on W3 Schools. After I did so, I made the changes on my website to see how they would look. This was where I ended for the day. I think I'll be able to finish up tomorrow.

7/17/20 | Final Portfolio Website: Rendering & Text Wrapping

Today is the last day of block 2. I decided to work on my portfolio first then switch to adding projects up on my portfolio and finishing the dynamic render project. I went back to trying to figure out how to get the text to wrap around the picture. The problem I was first having is that the text wouldn't wrap around the picture and would act as though it wasn't even there. I moved it to various places to see how things changed. The closest I got which moving the image was whenever I placed it inside tags with text then the first line of the text in that tag would avoid the image. I looked more into how to get text to wrap around the images trying things like float: left and align: right. Nothing seemed to work and placing the image within the text was still the closest I had gotten. After a while of trying and failing I decided to just work on the dynamic render page and come back to the text align when I have a good method for debugging it. I copied my php projects over to the dynamic website and made several changes such as replacing all "'s with \"'s and changing the method for the GET detection. At the very end of the day I had gotten the dynamic render project done and decided I would work on the text wrapping over the weekend.

7/16/20 | Final Portfolio Website: Finishing the Mobile View

Since mobile view went pretty good yesterday, I thought it'd go well today and decided to finish it up. I spent most of the time resizing the rest of the elements on all of the pages. After resizing I realized I also wanted some of the positioning to be different. For example on computer screens I wanted headers to be centered, but on mobile screens centered text looked a bit odd so I wanted it to start at the margin instead. I think my biggest struggle today was that I wanted the height of the paragraph to get larger as the screen got smaller because the font would get smaller, leaving empty space at the bottom of the website. I fixed this by having the height of the paragraph based off a set number minus a percentage of the viewport width or height. This allowed the difference to become greater because the number being subtracted from the set number was getting smaller. Lastly for the mobile view I was thinking about a horizontal navigation bar like the the tutorial website had, but I thought I should stick with the side navigation bar if it looks okay to keep a more uniform design. Today was quite a bit of a build and test today but I'm happy I did go ahead and try to get the mobile view for my website implemented.

7/15/20 | Final Portfolio Website: Mobile View

Today I started off by implementing the needed changes into the dynamic pages tutorial. Afterwards I followed my strategy from yesterday (of starting something new instead of continuing with yesterdays progress) and started building the mobile view of my website. Since I didn't think I would attempt this part due to time I hadn't made a diagram or planned out what it should look like. I considered having a mobile layout like the website we created following the Youtube video but I didn't want the layout to be too different from the computer view. As a result I ended up just deciding to have all the picture disappear after reaching a certain size. This made the website less crowded and overall easy to follow. While deciding what else I wanted to change about the mobile view I realized that my website had a bit of a sizing issues. I had resized the elements to get smaller has the window got smaller but some elements got excessively small and some of the text was really hard to read at a small font. I messed around with sizes for the rest of the day going back and forth between deciding on a size and testing how it looks on my various devices. I didn't finish but I did make good progress and therefore think I will be able to finish the mobile view off tomorrow.

7/14/20 | Final Portfolio Website: Navigation Bar Progress

We were mainly free today so I decided to work more on the portfolio website. I messed with text wrapping a bit but couldn't really get it to work in the behavior I liked. Rather than getting burned out easily, I decide to switch to working on the navigation bar today. I had to decide between whether I wanted my navigation bar to push my website content to the side or whether I just wanted to overlay over everything. I decided that the side bar pushing the content we be more cool and challenging and went with that option. I did some research before ultimately finding what I was looking for on - of course - W3 Schools. The code was very confusing at first. I really didn't want to use Javascript to make the navigation bar. The code that was used in the examples was very confusing with various "w3_" properties. In order to really understand it I used the try-me editor and modified the code to see how the output changed. I even tried removing the "w3_"'s from the properties but the code didn't seem to work without them. After finally feeling a bit more confident on implementing the navigation bar I used the modified code to help me create the navigation bar I had wanted. The navigation bar showed up weirdly and it wouldn't push everything to the side. Also the design didn't quite fit in with the website. The navigation bar was also on the left which wasn't how I planned it in the planning documents. I tried moving the navigation bar to the right before heading off for the day which made things completely dysfunctional, but I knew I would fix it soon.

7/13/20 | Dynamic Render and Final Portfolio

Today we learned about dynamic rendering which I honestly didn't understand at first! I ended up leaving a little early today because I didn't feel well. When I started feeling better though I got help from an apprentice and did some research to try and understand it a little bit more. From the project we put together I could tell that we were using PHP to navigate through some pages. Some pages were HTML and other pages were PHP combined with HTML. The thing I was most confused about was why we used return instead of echo, we also seemed to have returned all of the HTML so that the whole document was basically PHP. Later on I learned that we did this so that we could keep our php projects in the html containers they were supposed to be in. After getting that done I did push myself to work on the final portfolio website a bit. With the limited amount of time left before I should get to bed again, I dug for and added an image of myself on the home page. I also researched text wrapping but didn't implement it and try it out. At the end of the day I had a random image lying on my home page, but I was happy that I had at least got started.

7/10/20 | The Last PHP Project and Website Planning

Today we followed a demo and did the Dynamic Pages project. In the end, I can say I'm pretty happy we went over it, there's a few concepts I think I would have missed if I were programming it alone. It was a long tutorial but the outcome looked so great and gave me insight on how PHP could be used to create a navigation bar! I will definitely keep this in mind when creating a "hamburger" navigation bar for my website. After the demo, I decided to get a head start on my final portfolio project by relooking at the plan and figuring out more of what exactly I'll be able to do. My intentions are to implement the hamburger navigation bar as well as mobile view. Since I figured out today that images from the internet can be used, I have been considering changing my website background color to be a background image. But I'm not sure yet because I've always struggled with background images (they've always been not big enough or have came up to repeat themselves in my website). As simple as it sounds, I know picking a background image will require more time and more research (finding a good royalty free background image that matches my theme, figuring out how to tell the program how it should display for screens smaller/bigger than what I'm working off of). I think I'll have a good idea on whether I want to use a background image or not after taking a look at some of the available pictures on royalty free sites.

7/9/20 | Finishing Up PHP Projects

I knew the demo this morning would be very important so I was sure to get on the meeting early and pay very close attention. We went over $_GET and $_POST which I only merely got from my own research. After today's demo I felt much more confident about the two methods and ready to implement them into the projects I had programmed yesterday. I programmed the projects yesterday with default values. Until today, there was no user input. I got user input implemented into the coin flip, dice statistics, and dane joe. Dice statistics was again the hardest for me today because I decided to give the challenge of multiple dice a go and struggled with some errors for awhile. After I got the user input in and tested those projects I decided to give the Background Selector project a try. The reason I felt unconfident with the project is because it required the use of $_COOKIE, something I had never studied before aside from in the syntax guide. Before starting the project I decided to give the W3 Schools page on PHP Cookies one last read. After re-reading through most of it and looking at the try-it examples they had I was able to figure out how to program this project. I started off getting the select options set up and the post method. I then worked on getting the cookie to set up, store and restore. Lastly, I made the default color seashell if the post and cookie weren't set. After adding the code to change the background color and debugging some errors I tried out the page, picking a color and closing then revisiting the website to see if the value had saved - and it did! The last project I need to do is the Dynamic Pages project which we should be going over tomorrow.

7/8/20 | PHP Projects

Today we followed a demo on coin flipping where we had our program flip numerous coins. If it landed on 0 it was heads and if it landed on 1 it was tails. We then had our program calculate how many times heads had showed up and the percentage as well as how many times tails showed up and the percentage. This definitely helped me get a firmer grasp on PHP and after this tutorial I was ready to tackle Krista's PHP projects. I finished the first three before the day ended. The dice statistics project took me the most time because I was thinking of a way to generate a graph using the array data. I eventually ended up using tallies to visually show how much each sum showed up. The project that took me the least time was the background color randomly generated because I was already familiar with the random command and array assigning. The Dane Joe project was in the middle of the two projects time-wise because I had to think of ways to cut a piece of the first name and glue them to the first part of the last and vice-versa. The string commands came in handy after I researched which one did which. I stopped at the Dynamic Pages project because I think I will have a better understanding on how to do it after tomorrow's demo. For the remainder of the day I brainstormed things I would need for my final portfolio website.

7/7/20 | Understanding PHP

Today was a workday so I decided to start on the PHP half immediately. To my surprise I found quite a few of the javascript code and corresponding php code to be similar. At some point all I was changing even was addHTML to echo. I thought it was really cool how the commands were similar in that way. I did come to realize that most of the PHP commands seemed more powerful. They had extra parameters that could be added to get what you'd like. I think I also enjoy the way you can just throw a variable and tags in a string and it will know what you want. I've never seen tags implemented in this way and it's interesting. As I got down the syntax guide I got to Heredoc and Nowdoc which took me awhile to understand. I went on several websites and heard their explanation of the two terms before I got it. From what I've read, heredoc is a way to define a string over multiple lines like nowdoc. The difference between the two is that here doc will recognize tags, commands, and variables like $myFName while nowdoc won't. I wasn't able to get nowdoc working, but from the examples I can tell what was supposed to happen. The other thing I had to excessively research to understand was GET, POST and COOKIE. I've already heard of GET and POST requests and cookies but I had no idea how they could be intertwined with PHP. I looked at a few examples before getting a decent understanding and finishing the syntax guide for the day.

7/6/20 | First Day of Second Block

Today we begun the second block! For our demo we had a long tutorial on Javascript and PHP. We learned things such as creating variables, printing, concatenating, etc. I have only coded in PHP once before so I was super excited to learn it and figure out how it ties into HTML. I was surprised to learn about some of the big companies that still use it. At first I thought it was very odd because each variable had a dollar sign in front of it which made everything look more complicated. To concatenate instead of a plus sign like expected a period was used instead. Although odd-looking, I got used to it and actually came to enjoy it more than Javascript due to echo being more simple than addHTML. After we finished our tutorial we were given a programming syntax guide to complete which I strived to get the Javascript half of done. Although I struggled at some parts like switch, I kept doing research until I eventually understood. Luckily, I was able to complete all of the Javascript half so I can start on the PHP half the next day!

6/26/20 | The Last Workday: System Model

I had set out to complete my system model today. Believe it or not, this is the day I chose to use Excel for my system model. I wasn't sure at all whether to use Excel or VenSIM previously, which is why I didn't specify it in my planning document and hoped no one would notice. I did have a few skills with excel already, but not for modeling and coding (called formulas). I had to choose between figuring out VenSIM and strengthening my Excel skills. I went with the ladder and I'm happy I did. I started building my model in Excel, and I made sure to make it a little more interesting and engaging by adding various colors around the sheet. I originally didn't have any x or y coordinates for the boxes or workers. They were all supposed to be randomly generated at whatever time they needed to be randomly generated. I then realized how useless and unrealistic the model would be to people who possibly wanted to use it. There would be almost no user input! After this realization, I added x and y coordinates, but those coordinates were also randomly generated. This caused problems later on because Excel would constantly generate new values for them, not allowing you to fairly compare the differences in cost and time elapsed. Finally I set all of the x and y coordinates and remembered that any person wanting to use this model can put in their own x and y coordinates of where their workers will be located. The biggest problem I encountered today was getting the model to recognize which boxes each worker should pick up. As simple as it sounds I could not find a way to get Excel to recognize that if Worker 1 picks up two boxes, and Worker 2 pick up two boxes, Worker 1 picks up the boxes 1 and 2 while worker 2 picks up boxes 3 and 4. I eventually had to resort to displaying the walking distance of a box to a worker only if the box hadn't been picked up by any of the previous workers and was supposed to be picked up by someone. This can be found from all the crazy, long calculations at the bottom. This model took so much time, but I'm very proud of how progress has been so far. I have decided to take an extension on these projects and work on them more over the weekend.

6/25/20 | Third Workday: Gimp Projects, Website Planning, Agent Model

Today I worked on the second set of Gimp projects. I started on the rescaling logos into banners project first. I picked which logos should have background transparency and which ones shouldn't then got to resizing on Gimp. Later on would I realize that all of my logos were pink... and so is my website... I did not remember that when picking which logos to give transparency and the logos I picked did not show well on the website. I'll have fixed this problem later on by making a more wise selection of logos to give background transparency. After rescaling the logos for the first time though, I moved on to the mess with Ernie and Aaron project, my favorite project so far! I choose to edit Aaron and put him on a nature background from a picture we were provided. I selected the butterfly that was in the picture and copied the butterflies and pasted them around Aaron but then took them off because I thought Aaron might be embarrassed! Seeing the optional message of doing more than one of the mess with Ernie/Aaron projects, I decided to continue on. I remembered that I already have a lot of experience with editing pictures so I decided to give both Ernie and Aaron a modern day edit I used to make often where they have colored shadows amongst a matching gradient background. I then drew their name and wrote "from Shodor" below it and added it to the picture to create add a nice, finishing touch. I'm really happy with how it turned out and eventually moved onto the website planning afterwards. I answered the questions then made a few diagrams of what I'd like the new website to look like and included. Even though there wasn't much time left in the day before I started the AgentCubes model, I started it anyway and continued until I finished and was satisfied with how it looked. The only problem I had was that the agents seem to get off track of the scent trail. I call it a gimmick, when an agent doesn't follow the expected trail like it should. I tried increasing the diffusion divisor but it didn't quite give me the results I like. I know this is a question I'll have to ask about later.

6/24/20 | Second Workday: Inkscape Logos and Gimp Projects

Today I decided to start on my second set of logos. I needed a second set for the full name, the initials and the abstract design. I needed time to think of design ideas so, again, I played around with Inkscape tools until I thought of one. While playing around with the rectangle tool and different opacities I was able to create a cool background! I then knew I would need the rectangle tool to get my name to fit in with the design so I built my initials out of rectangles. For the next design I tried something like the rectangle design but with circles. I built my name with several little circles and adjusted each letter to make it readable. For the abstract design, I experimented with again with squares and put them in such a way where they were layered over one another. All of these designs took me far longer than expected and I actually spent all of this workday doing these projects. I realized that I'm going to need to somehow complete the models, the model website, and the website plan in two days.

6/23/20 | Our First Workday

Today was our first workday of this week! I started forgetting everything that needed to be done so I printed out a checklist and wrote a checkmark or a date next to each item. I then decided to continue working on the website tutorial. When I finished it I noticed there were a few gaps in the website. I spent at least an hour looking over the tutorial to see where I had went wrong. Later on I realized it was actually due to not having enough text, but I was able to workaround it by inserting blank characters so the website could keep its aesthetic appearance. Later on in the day I realized I had only done one instead of two designs for three of the Inkscape projects and worked on making another initial logo until the end of the day.

6/22/20 | Cosmic Turtles and Design

There was a long tutorial on creating a design we call "Cosmic Turtles" today! It was a very interesting demo that taught us the various types of selections, how to mask a selection, how to put a selection on another picture, how to modify the added selection to your liking and how to add filters to the design. After the tutorial I worked more on the website design project until the mentor meeting I had scheduled today. During the meeting I realized I had done the 7 Object Project wrong once again! I had chosen 7 words to base the design off of instead of just one! After completing other things I decided to work on redoing this project until the end of the day. I completed most of it but will have to work a few minutes after 4pm to complete it. I also plan on getting the projects assigned today done to ensure that I'll be able to truly start, work, and focus on the model all of Tuesday, Wednesday, and Thursday. Friday I plan to really pull my website together and put anything website-related where it belongs on the website.

6/20/20 | NEW: Gimp, Inkscape and Gimp Projects

Today I focused on getting the rest of the Inkscape projects done! I started off by completing the abstract project. I figured that since the majority of my website pink I should bring in pink somewhere. I decided to make the lines various shades of pink and the background a dark grey. Afterwards, I moved onto the name project. It took me awhile to brainstorm design ideas but after playing around with a few shapes I realized that I liked a blocky version of the letters combined with spirals. After creating the name I thought of which design would fit in best with the blocky look and decided to go with a city landscape. After creating the city landscape I topped off the design my adding windows to the buildings and block letters. In total this design took about 3 hours, but I'm very happy with the way it turned out! After this design I completed all of the Gimp image projects and saved the uploading for later. Lastly, I redid the 7 Object project because I forgot that the project was supposed to be a manipulation of the objects that were already created. I recreated it using the same words: cat, apple, book, jump, iPhone, rose, and math and was able to complete it and start the web design project before the end of the day!

6/19/20 | Version Planning and Inkscape

There was no demo today, so I started off the day by getting my model versions planned. I planned what I should do and when for the agent model and the system model. After I got the basics of the version planning done I moved onto starting my website favicon which I had to do research on before hand. I really liked the idea of the spiral for some reason and decided to pair it with a few things to make several versions of my favicon which I would eventually try out. After I picked out the final favicon I moved on to the initials project and fell in love with the idea of making my initials out of parts of circles! It took awhile but when I finally got it done I decided I needed a logo to top it off. I started off using a book as the logo, but when I asked an apprentice what they thought it was they mistook it for a bow! This was actually good because I realized I would rather actually have a bow, and a bow, in my opinion, fit more. After getting the bow done I moved onto the 7 object Inkscape project and represented 7 things by creating them- cat, apple, book, jump, iPhone, rose, and math. I am pretty satisfied with the work I've gotten done today and hope for more productive days like these!

6/18/20 | Version Planning and Inkscape

There was no demo today, so I started off the day by getting my model versions planned. I planned what I should do and when for the agent model and the system model. After I got the basics of the version planning done I moved onto starting my website favicon which I had to do research on before hand. I really liked the idea of the spiral for some reason and decided to pair it with a few things to make several versions of my favicon which I would eventually try out. After I picked out the final favicon I moved on to the initials project and fell in love with the idea of making my initials out of parts of circles! It took awhile but when I finally got it done I decided I needed a logo to top it off. I started off using a book as the logo, but when I asked an apprentice what they thought it was they mistook it for a bow! This was actually good because I realized I would rather actually have a bow, and a bow, in my opinion, fit more. After getting the bow done I moved onto the 7 object Inkscape project and represented 7 things by creating them- cat, apple, book, jump, iPhone, rose, and math. I am pretty satisfied with the work I've gotten done today and hope for more productive days like these!

6/17/20 | NEW: Inkscape, Final Touches on Version Planning

Our morning subject was Inkscape today! We learned all about the tools and created a starting piece for one of our projects. Although I was already familiar with a lot of the tools and concepts from using various editors such as Photoshop, I remembered that Ernie's favorite tool is the Bezier curve and straight line tool. While I'm familiar with this tool as well, the unique name caught my interest and I ended up finding ways I can make the shapes I will eventually use with it. After our lesson, I decided to continue finishing up the planning for my model. I started by thinking of the initial values I'll be using. This took a bit longer than I thought because I had to make several calculations. After making a few calculations I realized the formulas I use would eventually be needed too if I decided to make paramaters changeable and recorded the formulas too. I then moved on to creating my agent model plan by thinking of the agents, shapes, actions, etc. I'd need to use. I cheated a little by pulling up AgentCubes and looking over the options and creating a few to make some final decisions. Afterwards, I started my starting plan for the agent model and determined what should be done and when. Later on, I moved to system model planning and determined which formulas should be used, which variables should be present, and which variables will be changeable. I completed the starting plan for the system model afterwards and finished for the day moving on to citing sources and sending it off for review!

6/16/20 | More Model Planning!

We started off learning about graphics today! I was excited to learn about this topics because I'm interested in graphics. After our tutorial I immediately continued working on more of my project planning. I first started my research notes and strived for at least 5 pieces of information per 25 minutes worked. After about an hour and 30 minutes I decided I had a sufficient amount of research to continue. My next intention was to create the model's story. I reflected back on previous story models and looked at the research notes I had took before starting the story model. My intention was to keep the story clear so more information can be added if needed. I then moved on to questions I wanted my model to answer. I reflected on the goals of my model and based the questions off of those goals. Lastly, I thought deeply about each question and came up with a hypothesis for each one. The hardest one for me to answer was "which setup will be the most efficient?" It took awhile for me to answer because efficiency can be measured in so many ways. Getting a task done in the quickest amount of time may be what one calls efficiency, but getting a task done with the lowest cost may be what someone else calls efficiency. Keeping this in mind I added a hypothesis carefully and finished for the day.

6/15/20 | First Day of Summer Block

Today we were given our first summer project! Our summer project is us modeling anything we would like to. Being given such a wide range of possibilities made it hard at first to brainstorm, but after a few minutes I was able to think of a few ideas and rank them from highest to lowest by how great I think they would be as a modeling project. It came in between modeling testing scores, crime, and modeling productivity. I ended up choosing to model productivity/efficiency. Sometime around lunch and started laying out ideas for the model and writing them down. To go into detail, my intentions are for this model to simulate workers in a workplace and the increases/decreases in their productivity and efficiency. Some ideas I decided to eventually include into the model are having gradual decreases in productivity, creating obstacles in the workplace, and changeable parameters. I originally planned to use AgentCubes and Javascript for this model but eventually changed to using AgentCubes and Excel instead. My next steps are making sure all of my ideas are able to be done on either AgentCubes or Excel and finish the planning for the model.

5/2/20 | NEW: LittleFe

Today we started off by logging into LittleFe which I was having trouble logging into earlier in the week (I had been using the wrong password). We were all able to eventually get in though and test out xeyes to make sure everything was working. After that we immediately went into displaying a galaxy that had been put on our files. We were able specify things like time steps through the command we used to run it and we eventually decided to run multiple copies of it. Later on we learned a lot of commands such as echo, nano, qstat and qsub. What I found particularly interesting was that there was an error ([file].e#) and output ([file].o#) file for each job ran. Through these commands we were able to eventually learn how to distribute jobs across multiple nodes and assign a certain about of nodes and cores to a job. Due to its particularly odd name, I remembered that bbcd-snarfhosts helped us to name the numerous nodes at Shodor. We also added more time to jobs and learned how to delete jobs from the line they were in. To finish it off we talked about real life jobs that require high numbers of machines (which is where parallel computing comes in handy) and we talked about how too many machines for a job too small could make efficiency worse by requiring too much communication. This was all new information for me since I hadn't heard about parallel computing before and I truly learned a lot today!

4/25/20 | Parallel Computing

We started off today with an introduction to high performance computing. Even though it was a youtube video it was still Aaron teaching to us because Aaron had recorded the video. Throughout the day we switched between video, call and text and discussed parallel computing. My favorite part of today was trying out the models myself that made analogies to what parallel computing is (like a series worker vs a parallel worker). Through them I was able to learn parallel computing is when you have several computers simultaneously working/performing a common task in attempts to get things done in a faster or more efficient manner. Later on we did an activity where apprentices in a way modeled parallel computing by calculating information from a model with a unique ID. By doing this we were able to test out all the different percent chances on the model and generate a graph. Aaron then explained why the graph was shaped the way it was and helped explain the difference between distributed computing and parallel computing when I was confused on it. Today was an interesting day (it was our first day learning something online), I do the format in which the online lessons are set up (video, status updating, texting,calling) is beneficial.

4/18/20 | Presentation Day

Today we finally got to present our projects! To finish up last changes on the atomic movement project I got up super early. I ended up working all the way up until 9AM (the starting time for the program). We started off by arranging things on Google Meets and my computer was being extraordinarily slow so I had to join on my iPad. Once things finally loaded I was able to join on my laptop and practice screenshare when it was my turn. After we all practiced they let us finish up our work on the projects before presenting at 12pm. During this time me and Doriz added more to our website and used the remaining time to practice what we would be saying. When presentations finally started at 12pm we all listened to the different projects everyone had and how they worked which was very interesting. I was impressed cause I ended up learning a lot from the various topics everyone did. Eventually it me and my partner's turn to present and I felt like we did well. I definitely credit the practice beforehand for the confidence during the presentation. We took turns talking about various parts of the project and accurately demonstrated it. Overall, this was probably my favorite Shodor day so far. The combination of interest for the various topics and excitement to present made this day pretty exciting!

4/4/20 | Atomic Movement Workday II

Today we created A LOT of our project! We started off today by getting our atoms to move correctly. We were successfully able to program the atoms to move back and forth before 0 degrees and move freely after 0 degrees. We also added the slider so that the user was able to change the temperature the atoms react to. The hardest part of programming the model which we got to today was finding an equation for how much the atom should move. We basically set up a system where the value of the temperature scale is retrieved and modified in such a way where smaller temperatures cause the atoms to move slower and faster temperatures cause the atoms to move faster. It was difficult finding the perfect numbers because some numbers would cause the atoms to move too fast while other numbers failed to show much of a noticeable difference in atomic movement. At the end of today, we had most of the project done but wanted to make some changes to make our model more realistic like having the atoms start in a cluster (as a solid) and having them gradually spread out as the temperature gets higher. We also plan to get our website together and add the finishing touches later on in the week.

3/21/20 | Atomic Movement Workday I

Today we started our group model. Me and my partner decided to model atomic movement at different phases. I'm very excited to be modeling this because me and my partner have a lot of good ideas in mind for this model. We started by planning out our versions and eventually we programmed our atom. We also eventually got our atom to move. We have added buttons and a slider. We are debating on whether we should have a step button in our model. We know for sure that there will be a play button and a reset button. The slider is intended for changing the temperature and we plan to have some kind of indicator of which phase the user is at so they can know. We hope to discover a bit more on atomic movement at certain temperatures. We will use science and statistics to back up our creation so that is will hopefully be accurate and perhaps even useful.

3/05/20 | Numerous Particles Bouncing off Walls

I think the most impressive part of today was getting the particle to bounce off of the walls of the canvas. We also added numerous particles on to the canvas which I also found very impressive. We got our particles to bounce off of the walls by letting our code detect when a particle hits the canvas wall. In a case where the particle hits any wall (top, left, bottom, or right), the velocity will become negative (by multiplying it by -1) causing the particle to go in the opposite direction from which it came. We got numerous particles on the canvas by using a for loop to increment variable i for however many particles we wanted (in our program we made it 100). We then determined which parts of the code would need to be changed and added to the for loop (so that each particle can have its own values for things like velocity and size). I doubt I would've been able to understand how to do this reading out of a book. Aaron's teaching really helped me understand how I could add numerous similar objects without having to repeat the code. I think this feature will be most useful as me and my partner start our spring programming model!

2/15/20 | Randomly Moving Particles

Today we started off by creating variables for all of our circle parameters (ex: position, radius, start/end angle). I like this better because it makes us remember what each number does (Concept: Avoid Magic Numbers). For version 4 we dealt with a new function [Math.random()] which allows a random number to be selected for our parameters (x-position, y-position, and radius)! We also learned that Math.floor() returns the biggest integer that is less than or equal to the number that you put in (ex: 4.729 returns 4). Throughout this whole process we really made sure to apply the DRY principle (Don't Repeat Yourself). I learned most when we were trying to get our particle to not touch the canvas walls. We originally tried to stretch the range then shift it but then we would end up getting numbers that weren't in the range we wanted. To fix this, we had to stretch the range first to a number below the max and shift the range by the difference between the intended max and the number below the max. In version 5, we worked towards adding the buttons and getting the canvas to restart the way we would like it to.

2/8/20 | NEW: Javascript

Our goal this month is to accomplish a canvas with bouncing particles. Today, I coded in Javascript for the first time ever! We started off by taking notes on programming practices, tools, and concepts. We also learned about version control and planned what we wanted for each version. Throughout the day we worked in HTML to add information to our site and CSS to give the canvas for the bouncing particles a color and border. Now we are working in javascript to create the particles that will eventually move around and bounce off each other. The thing I found particularly interesting about Javascript is how Javascript can just be added in HTML anywhere. I didn't know you could specifically place Javascript in a website like the way Shodor did in an HTML website. I'm definitely more curious about the various capabilities of Javascript now. At the end of the day, we had gotten our canvas and a particle made. We ended completing version 2. We created versions in such a way where you never leave the main file. Instead, when you get done with a version you save the main file (which we call the trunk) as the version you just completed. This allows you to never have to leave the main file because all your edits take place on there. This is an easy version control method which I plan on taking advantage of in the future.

12/21/19 | Wrapping it Up

Today I finished up the website presentation for the project. I looked over the 12 questions we would need to answer for our presentation. I really aimed to make our presentation engaging to the audience. I did so by allowing someone from the audience to simulate the AgentCubes model (this person ended up being Aaron, a very awesome person!) I also started the presentation off with a question and offered the audience to guess some of my findings from doing research. The only thing I wish I could've worked more on is the Vensim system model. I believe the website also had more space for improvement but I know I will work even harder when the next project comes. Despite all of this I am proud of myself for the work I've done on AgentCubes.

12/14/19 | Agent Cubes Modeling

My main goal for the project today was to get most of the AgentCubes done. I spent a lot of time trying to get the tree to advance fires so that a healthy tree can turn into a burning tree and a burning tree can turn into a dead tree. With some help from Joel, I was able to get trees to advance using the broadcast function. I also solved another issue with the firefighters not being able to move directly to a location far in the map. I eventually decided I could either make an invisible pathway leading to the fire and have the firefighters moves on that same-color pathway or I could have the user navigate the firefighter. I did both but eventually I think I will have the user navigate the firefighter based on statistics to make it more engaging. Once I get AgentCubes completely finished at home I plan on adding the agnet and system model to the website presentation.

12/7/19 | Figuring out Our Project

Today me and my project partner brainstormed ideas for our project. We kept in mind that we would have to model and simulate that idea on VenSIM and AgentCubes. We both walked in with no ideas so we set aside sometime to brainstorm and consider some ideas. The ideas we came up with were modeling genetic traits, forest fires, police vs crime rates, war, jobs vs the economy, teachers vs education, pollution vs laws, and unemployment. We then decided to do a decision matrix and rate each idea on a scale of 1-5 considering a few factors. Those factors included time, difficulty, usefulness, and uniqueness. For example, with time we went through each idea and rated each idea from 1-5 with 1 being it will probably take a lot of time and 5 being it's probably achievable with the amount of time given. In the end, the idea of modeling forest fires and the idea of modeling police vs crime rates came up tied with the highest number, 18. Interestingly enough, according to our ratings, modeling war had the lowest number, 10. We eventually decided between modeling forest fires and modeling police vs crime rates and decided to go with forest fires. Next, we started AgentCubes because we felt more confident with it than VenSim. We created our story, noted our agents, and began. We got pretty far before we had to go. We modeled our firefighters putting out fires. We still have yet to model the dry lightning storm that starts the forest fire and the fire spreading to adjacent trees. I have decided to continue with AgentCubes and my partner has decided to work with VenSIM next meeting.

11/23/19 | NEW: AgentCubes

As we came in all of the Shodor apprentices gathered around the projector wall and we reviewed a few concepts. Some of the concepts we reviewed were preview vs view vs review, one vs two vs more than two, exist vs act vs interact, and dynamic vs visual vs interactive. I was struggling to understand exist vs act vs interact until Dr.Panoff gave us an example. As written in my notebook a single VenSIM level (like grass) is an example of simply existing. A level with arrows (like grass growing) on VenSIM is an example of acting. A level that has arrows and influences other levels and rates (like the amount of grass that grows influencing the rabbit population) is an example of interact. Later we learned abut AgentCubes! We have never used this website before so I was glad to learn about it. On AgentCubes we set up a model of sick and healthy people. We made our model so that if a healthy person is next to a sick person there is a percent chance they will turn sick. After adding agents and rules to our models we ran the model to see a visual simulation of healthy people turning into sick people. Lastly, we discussed our new project and met with our project partners to discuss ideas and plans. Today was a pretty exciting day.

11/16/19 | VenSIM Practice

Today, we did a series of mini-projects incorporating discussions and hands-on learning! We started off by giving examples of models that use have=had+change. I was especially impressed by the idea that in a way, the Fibonacci Sequence does use have=had+change. Aaron then tricked us into VenSIM by gradually asking us about VenSIM concepts. We started off by defining VenSIM levels, variables, arrows and rates. We ended by building stories and simulating in Vensim.

11/9/19 | NEW: VenSIM PLE

Today we got a ball, rope and straw. No one knew what we were supposed to do with it. Dr.Panoff led the discussion today by asking what we though of when we heard the word model. While a fashion model was the first thing that popped in my head I quickly changed my answer to CAD modeling, a form of 3D modeling I had done at my school. We discussed more types of modeling and then talked about specifically stochastic, iterative and recursive models. We even built a rabbit population model in a program called VenSim which I had never used before. I have learned a lot today and I'm excited about using this new program in the future!

10/26/19 | Numerals

After our ethics discussion today, we looked at a few logical games and discussed more computational science concepts. We tried sudoku, mastermind, and others discussing topics such as necessary vs sufficiency, familiarity, successive approximation and constraints. My favorite part of today was digging into Excel. We found that when we typed in certain calculations to excel it would gice us one value, then another value for the same calculation if parenthesis were put around everything! I learned that this was that way because Excel uses a binary chip. We preceded on today talking about numerals and truncation vs rounding vs resolution. At the end Dr.Panoff even showed us two cool card tricks. These specific tricks use numeric rules (like what can't it not be) to surprise the audience into the cardholder is magic. I am now encouraged to learn more about not just card tricks, but how those card tricks work.

10/19/19 | A Lesson on Ethics and Uncertainty

Shodor brung in a "guest speaker" who helped teach us ethics today! We used the first guest speaker as an example of what not to do and the second speaker as an example of what to do. The second speaker helped us understand by providing plenty of examples. I learned not only what ethics are and what ethics there are but also why those ethics are there. Dr.Panoff then eventually came in and taught us about uncertainty and used card tricks as examples. When I got home I followed the tutorial on Shodor Networks for my home laptop and was successfully able to connect and type this very blog entry! Looking through the schedule for Shodor I can't wait to start the HTML project and I might even begin it today.

10/12/19 | First Day

Today was my first day of this program! I am super excited to be here and learn more skills that I don't already know. Everyone here seems very friendly and I like that this program tries to teach through interactive learning. I am impressed that we are currently typing this blog in HTML and the tutorial for getting through Cyberduck was well put together.