Hudson's Website

Projects From Summer 2020

Last Day of Shodor


Today was my last day of the Shodor Apprenticeship Program. I spent the morning finishing projects, and after lunch, I presented my projects. This went way better than I was expecting. I was dreading presenting, but ended up not having any problems at all. I felt that my presentation went really well and it made me a lot more confident in my ability to speak in front of people. I will really miss being a Shodor Apprentice.

Agent Model Finished!


Today I worked extensively on my modeling project. I added some finishing touches to my system model, then went on to work on my agent model. My agent model turned out to be way more interesting than I expected. I figured out that trees cannot sustain themselves on just rain water. Not satisfied, I created a second model to see how much water would be needed to sustain a forest. I came up with 250 gallons of water per week!

Tying Up Loose Ends


Today I added some final polishes to my inkscape projects. I cropped the images to the right size, and added them to my website. I added a description to each project and styled it nicely. I also revised my project plan to reflect the new direction that I am heading. This went really well, and I think my modeles will be more helpful than ever.



Today I worked extensively with inkscape. I got alot done, and finished almost all of my inkscape projects. It was quite fun, once I really understood how to do everything in Inkscape, I was able to be really creative and make what I wanted. My favorite thing that I made was my favicon. It is a rocket; it turned out really well, and I like how I shaded the fire coming out of the engine. I also worked a bit on my agent model, but it kept crashing for some reason. So I couldn't get really far.

Working On The Modeling Project


Today, I spent the bulk of my day working on my modeling project. It went really well, and I almost finished my system model. I also got a good bit done on my agent model, but may have hit a roadblock. I have decided to change my modeling project slightly; instead of modeling both pollution and water usage, I will just focus on modeling how trees react to drought in their environments.

Scalable Website From Scratch


Today I built a responsive, scalable website using just HTML and CSS. This was really fun and cool because I have already built a scalable website using bootstrap, and it was interesting setting the differences. I also watched the project presentations today. They were really cool, and I was amazed by the variety of all the projects and how pisces of code were implemented.

A Refresher in Vensim


I spent all of today working on my modeling project. The first half of today I was not super productive. I was very rusty with vensim so I was just trying to figure out what to do. Lucky Ernie came to my rescue and refreshed my memory on how to work with vensim. He also helped me think through a robust foundation for my model. I spent the second half of today working on my agent model. This went A lot better, and I got a lot more done.

Trees and Turtles


Today I worked extensively with Gimp and my model. In gimp, I learned how to select specific objects with the fuzzy select tool. Using this tool, I photoshopped a herd of turtles into a nebula. This project was quite fun, and I look forward to making more things with Gimp.

I spent the rest of today working on my model. I was trying to figure out a way to use the trend of how trees use water through their growing season. This did not go well. I soon realized that I was way, way over complicating it. This model’s purpose is to visualize a complicated topic to the user, not perfectly model it to the point where the user needs a biology degree to understand it.

Gimp and Inkscape


Today I worked with the graphic design tools Gimp and Inkscape. Gimp is a photo editing software. Although I have worked with it a bit before shodor, all of the material was new. I like gimp quite a lot; It is fun messing around with different pictures and making your one thing. I am completely new to inkscape, so it was fun learning something new. Personally I prefer Gimp, probably because I have used it more and feel much more comfortable with it.

Trees and Pollution


Today was my first day of block 4. I spent the first half of today reaching for my modeling project. The topic I was researching was how trees are affected by pollution. It was really cool reading the scientific studies. What surprised me the most was the amount of water trees use. I know that the process of photosynthesis required a lot of water, but I didn't realise that in the summer, many trees can use over a tonne of water in a single day!

End of block 3


Today was great. In the morning I finished all of my projects with time to spair. I feel that this block I managed my time really well, and I am really happy with how all my projects turned out. In the afternoon, we watched some people present their projects. It was really cool and inspiring to see what people have donel; it made me really excited for block 4.

Polishing my Website and Sharonda’s Project


I got a ton done today. For the first three quarters of the day, I went through, implemented my new styling to all my projects and checked for bugs, spelling issues, and anything else that wasn't supposed to be there for the quality assurance document. This was really fun and I felt really predictive. Although there are still some parts of my website that I need to look over, I got a bulk of the hard work done. I spent the third quarter of today watching Sharonda’s project. I really liked her website. The idea of having a picture as the background is really cool.

Dice Database


Today, I finished My dice database project. It was mostly finished, but I still needed to display the old data back to the user. This took way way longer than I anticipated. I expected it to take the first half of the day tops, but it ended up taking the whole day. This was mostly because I forgot about the demo where we did this before, and did it a completely different way, which didn't work for my application. Although today was not necessarily as productive as I hoped, I learned a valuable lesson: look back to old projects to get inspiration for new projects.

Resume writing and New Website Implementation


I spent the first half of today learning about resume writing. This was incredibly informative and fun. I spent the second half of today implementing my new Website. My new website turned out great. I really love how it looks on both pc and mobile.

New Website Almost Finished


Today I worked extensively on my new website. I added almost all my blog posts, I added all my projects, and I added my about page. This went quite well. Besides having trouble with chrome cashing past versions of my css, I had no problems. Tomorrow, I should be able to clean up any remaining bugs and then post my new website to the public!!!

Friday At Last


Today we finished up our integration of php and sql. The website was fully functional, and sent all of its data back to the database. Then we got to do the same thing, except with different variables. This was really fun and intuitive, and I feel that I really grasped the concept. Today really felt like a friday, I struggled to stay focused on the project at hand, and ended up not getting anywhere near as much done as i would like. Although this week was fun, I am really glad it is friday.

Website Coming Together and Intro Into Using Php for Databases


I spent the first part of today plugging away at my website. I made it look a lot better on my phone, while also getting the button filter to work. Cyberduck finally stopped working, refusing to upload files, or allowing me to switch text editors. I changed to FileZilla, which besides its gimmicks is super intuitive, showing me the whole file structure of both my server space, and my pc. After lunch, we began lining a website with our mySQL database. This was not terribly difficult, but tricky. Although I wasn't able to get through it without errors, I think I understand the concept of how it works, and I look forward to tomorrow where we get to work more with PHP and SQL.

Success With Bootstrap!!


I devoted all of today to working on my new website and learning about Bootstrap. I was super successful, and after some trial and error I stumbled upon a layout that I think looks really good. Then, I began adding all the other parts of my website. I came up with a way to filter my blog posts into which season they were written in using a switch case in php, and I was just about to get a nice styling for some buttons, when cyberduck gave out. Luckly, it was already 4:30, so I was able to just go to other things, but Cyberduck is still not working.

Dive Into SQL and Intro to Bootstrap


We started today off by planning for our new database. Ernie used pencil and paper while we directd him what to do. Then we built about 60% of the database together, breaking and giving us the opportunity to test out our skills ourselves finishing the last 40%. Once I finished, I did what was left of my Sql Syntax guide. Finally, I began researching bootstrap. I was really overwhelmed, not even knowing what to download, but after watching and reading lots of resources, I settled on working with Bootstrap 4 and going with the tutorial that w3 schools provided. Although I still am a little overwhelmed by Bootstrap, I think I know enough to keep on moving.

Intro into SQL


Today we were introduced to SQL and datasheets. SQL is a programming language that is used for dealing with data from datasheets. I found it surprisingly intuitive, with the most trouble I had being constantly typing PHP instead of SQL. I really look forward to learning more SQL, it seems super useful and powerful, and I can think of a lot of interesting and fun applications for it.

End of My First Block of the Summer Apprenticeship Program


Today was just a work day to get everything finished. I was really glad it was friday because I was beginning to feel kind of burnt out. Luckly, I only had two projects left to finish, unfortunately, they both took way longer than I had anticipated. I really rushed with my dynamic web page demo and therefore made some mistakes and oversights which made debugging the css take way longer than it should have. I was also super rusty with css which only made everything take longer. Finally, with Ernie’s help I was able to fix almost everything, and make the website usable. My seccon project was my programming concepts Syntax Guide; it just took a while, I don't even know why. Luckly, I should be able to finish the last two projects in about an hour and a half, so I am not too worried.

Everything is Coming Together


Today we had a work day. I finished all but two of my projects, both of which will take minimal work to complete. I spent the majority of my day working on my Programming Concepts Syntax guide, which is taking longer than I would like it to. I also finished thinking out and planning my new website which I am very excited about.

Wrapping up loose ends


I spent today finishing the projects that I had started. First, I finished all of Krista’s projects by adding finishing html touches and css, then I went through the rest of my code, finished it, and made it presentable. I really felt the 80 20 rule. Fixing wired bugs and making everything look good took so long! But all in all, today was really productive and successful.



Today we had a work day. I worked on a project which was a website which employed cookies to remember user inputs. This project went really well, although researching cookies took way longer than I expected. Cookies seem really cool, and they have a lot of potential to make my work even better. I hope to learn more about them in the future. An unexpected consequence of reaching and working cookies all day though, is now I really want to eat cookies.

Technical Difficulties and Renderable Web Pages


Today was a textbook Monday. In the morning I woke up, had breakfast, got on my computer only to find a forced windows update and a network connection failure because of this, I was 15 minutes late for this morning’s meeting. Petition for windows to have a live kernel? Today we talked about rendered web pages. With a rendered web page, all the HTML is “rendered” in with PHP. Because I missed the intro to today's lesson, I was rather confused for a majority of the first half of the day, but during lunch, I did some reading, and watching up of what rendered web pages are, and those cleared up many of my questions. Still, it wasn't until about the final hour and a half that I felt really in my groove.

Dynamic Web Pages


Today we learned how to make dynamic web pages. We also were given a ton of time to work on our projects. I finished a lot of projects, and learned a lot. Although I am very thankful it is friday, I am excited for monday too.

HTML Forms


Today was great. We learned about forms and how to use them. An HTML form is how you send data back to your code to collect data from the user. Forms are useful to ask the user how many times to do something, or to personalize the web page.

I got so much done; I completed my coin flip model, went as far as I could on my hex code model, and got lile 90% of the way on my dice roll model. I am excited to work even more on the models.



Today was the day that I felt in the grove. Yesterday and the day before that I felt a little out of and rusty with javaScript, but today I finally felt good. I got a lot of work done. In the morning we were able to really work with PHP by making a coin flip model. I got like ¾ of the way through my programming syntax guide, and got a god handle of how PHP works. Finally, I got a really good vision of how I want my website to look.

Work day!


Today we had a work day. I was able to devote all my time to working on projects. The two projects that I worked on were my programming concepts syntax guide, and planning out the final phase of my website. I spent all of the first half of the day working on the programming concepts syntax guide. The programming syntax hutde was wired. I knew what modesty of the things ment in c and arduino, but they were just different enough in JavaScript that I had to go through and read their proper syntax was. I found that this soon became a little pedantic and boring but I kept working through it. After lunch, to give myself a break, I began to brainstorm what I wanted my new website to look like and function. I read a few articles on good web design practices and got a few ideas.

Into to PHP and JavaScript review


Today was my first day of the summer portion of shodor; it was really fun. We started by going through a programming concepts syntax gurde to refresh ourselves. I found this a good refresher to javaScript because I have been using a lot of Ardueno, and they are very different languages. After lunch we got introduced to PHP. My first impressions of PHP were good, and I found it to very seamlessly integrate with HTML. I am really excited to work more with PHP.

Projects From Spring 2020

Final Meeting of the Spring Semester


Today we had our final meeting of the spring semester. Even though this was our last day, we covered a lot of ground. We ran programs on LittleFe, and even wrote a bit of code! My favorite part though was using a command line for navigation. I found it really cool how I could do everything simply from a keyboard, and really want to learn more about how to navigate a command line.

parelel computing


Today we started our block in parallel computing. We learned about the strengths of parallel computers as well as their different applications. I was really fascinated by how many applications there were for parallel computers and how superior they are to serial computers. I really liked how well today’s session worked on a virtual setting and am really looking forward to meeting again next week.

Group Project Presentations


Today we presented our projects. My partner and I were able to finish the model and the website time to see what other people have done. There were many really interesting models. I was blown away by the variety of models people chose to do and was pleasantly surprised about how well the presentations went virtually.

Group Project Week 2


Today my partner and I worked on finishing our project. We got pretty far. We both took turns coding, brainstorming, and working on the website. Communication we really hard; which made taking turns programming extremely difficult. Luckily, we were able to overcome this and get a lot done.

Begining of Group Projects


Today we worked on our group projects remotely. My partner and I talked through google hangouts and used a program called glitch to code. This method of working remotely worked a lot better than I expected.

The project that we chose was modeling the human immune system. The model consisted of particles bouncing around a canvas, when certain particles interacted with each other, different things would happen. The model consisted of JavaScript, HTML, and CSS. Working with these programming languages was a lot harder than previous projects, but not impossible. I look forward to working on it again with my partner.

End of Programing Concepts


Today we wrapped up our block in programming concepts and transitioned to group projects. While wrapping up programing concepts we learned about loops, and if statements. I am really excited to learn about loops because before this I knew little about how to use them and I had no idea when I should use a for loop or use a setInterval.

We began to transition to group projects. For this project, myz partner and I will build a model of something using the template that we made during our programming concepts block.

Programming Concepts Week Two


Today we continued our journey learning programming concepts. We worked extensively with functions and how they work in JavaScript. Javascript is a lot more intuitive than I expected, and I feel confident in my ability to work with it.

I really appreciate how we are learning all of these concepts generally, and not just for JavaScript or Python. At home, I am working on a project that requires C programming, and all of the concepts have transferred, just with different syntax.

I am excited to learn even more about programming languages and am looking forward to the group projects.

Introductory to Programing Concepts


Today, we started our journey into programming concepts. Instead of specializing in one specific programming language, we will set a solid foundation from which we can learn any other programming languages. We will learn many of these concepts in JavaScript because it is powerful, relatively easy to learn, and it integrates well with HTML and CSS. Today we really fun, I really enjoyed learning JavaScriptand am looking forward to becoming more proficient with programming.

Projects From Fall 2019

Group Project Presentations


Today, we all presented the projects that we had been working on over the past few weeks. The presentations were really interesting. I thought it was cool to see how so many people took the same idea and executed it in so many ways. My presentation did not go as well as I had hoped; I got really nervous and skipped many points and all around talked way too fast. I look forward to having another chance to work on a group project. It was super fun using the information that we have learned from past workshops on a final project.

Group Project Week Two


During my second week, I worked on refining my model. Although all of the stories that I had written and put into Agent Cubes online, there was still a lot to do. I had to do a lot of balancing because the sharks kept killing all the minnows within the first few seconds of the model running. This was really hard; I had no idea how to make the sharks die. Also, I needed to add real data into my model which was really hard because the model just didn’t work. It was really really hard figuring out how to make my model both accurate and balanced. I finally came to the realization that it would work if I had a world with an 8800 cube area; containing about 500 krill, 500 minnows, and 200 sharks just to start off of. Needless to say, I was asking too much of my mac; after two crashes where I had to restart chrome, I tried a smaller model. Unfortunately, a smaller world didn’t work in the start, either the sharks or the minnows would die out because there was no room for their numbers to grow, and the krill would overtake everything in the end.

Finally, I decided to delete the krill; they added one more layer of complexity, that neither I nor the computer could handle. The model worked a lot better when I removed the krill, and after only about 20 minutes of balancing, it worked. It took a lot longer optimizing the model and making it work all the time, but when I got it to work, it worked really well.

Most of this project was pretty easy, bit parts of it were really hard. I didn’t entirely know the capabilities of Agent Cubes online, so that made making the model considerably harder. For the most part, this was really fun and I look forward to doing another group project.

Group Project Week One


Today we worked on our group projects. My partner and I worked on creating a predator-prey model with Agent Cubes online. We decided to make this model about sharks and minnows. We began by writing a simple story to base the model off of. The story was: sharks and minnows live in a pond. When the sharks encounter the minnows, the minnows disappear. This was a very simple model that we were quickly able to put into Agent Cubes Online.

We then wrote three more stories, each getting more complicated. The stories were: sharks and minnows live in a pond. When the sharks encounter the minnows, the minnows disappear. Randomly, when two minnows encounter each other, another minnow is created. Randomly, when two sharks encounter each other, another shark is created.

Sharks and minnows live in a sea. When the sharks encounter the minnows, the minnows disappear. According to a birth fraction, when two minnows encounter each other, another minnow is created. According to another birth fraction, when two sharks encounter each other, another shark is created. The minnow birth fraction is slidable with a slide bar, whereas the shark birth fraction is directly reliant on the number of minnows that are being consumed. Also, a counter is added.

Sharks, minnows, and krill live in a sea. When the sharks encounter the minnows, the minnows disappear. When a minnow encounters krill, the krill disappears. According to a birth fraction, when two minnows encounter each other, another minnow is created. According to another birth fraction, when two sharks encounter each other, another shark is created. The minnow birth fraction is relevant to how many krill are being consumed. The shark birth fraction is directly reliant on the number of minnows that are being consumed.

We finished the third story right as it was time to leave. Currently, our model is working great; the only problem is that both the sharks and the krill tend to take over exponentially. We need to add a lifetime for all the animals.

I really enjoyed working on this project; it was a lot of fun being able to work with your own ideas. I look forward to having more time to work with my partner next week.

Agent Cubes online


Today we learned how to work with Agent Cubes online. Dr. Panoff started the day by reviewing what we have talked about already and then previewing what we will talk about over the next few weeks. This lecture was really interesting and I really enjoyed it. We talked about how we could make a more complicated model in Vensim PLE using multiple level boxes. We then talked about how important it was to make all of our work dynamic, visual, and interactive.

We moved on to a different type of modeling called agent modeling. We learned how to use a program to make these models called Agent Cubes online. Agent Cubes online is a very graphical modeling tool that was originally developed for elementary students to make games on. Our first project was an infection model. There was one sick person, and a handful of healthy people; when they touched a healthy person, the healthy person became sick. Both the healthy and sick people were represented by different colored squares that move around a grid. We were then able to insert a rudimentary graph and doctors that healed the sick people. We made it so that we could move the doctors around with our arrow keys, making the model into a little game.

This was a great introduction to Agent Cubes online. As of now, I am not a huge fan of Agent Cubes online. I feel that more can be learned from looking at a Vensim diagram than an Agent Cubes module. Also looking at a bunch of little spots moving made me seasick after a while. I really enjoy hearing Dr. Panoff talk, he seems like a very knowledgeable person, and I look forward to getting to know him better.

Rabbits and fermium


Today we worked on modeling with Vensim PLE. We went way more in-depth this time. We started out conceptualizing our modules on paper, then we moved them on to VensIm PLE. This gave me a deeper understanding of how Vensim PLE worked. We first mapped how the population of Durham would grow linearly, 20 people a day. Then we worked with modeling a system of something decreasing; the temperature of a room decreasing by 2 degrees every hour. Next, we worked with a more complicated model of fermium decaying. The fermium decayed at a rate of 20% so in order for Vensim to calculate how much fermium deteriorated, it had the know the whole amount of fermium. The simulation became harder and came to resemble the model that we had done earlier with rabbits.

Now we were armed with the skills necessary for tackling a more complicated model. To better understand the rabbit population growth, we made a second model from a different perspective instead of giving our model competition, we gave it a carrying capacity. When the population nears the capacity, it begins to decline. When this simulation was finished, we saw an interesting correlation between the model with the competition restraint and the model with the carrying capacity restraint. The sum of the frequency of competition and the carrying capacity always equaled 1 when the population trajectory was the same.

This was a great way to learn Vensim PLE. I was given my own time to figure out many of the things myself. Last class, we set a firm foundation, and this class we built from there. I feel very capable working with Vensim PLE now.

Introduction to Modeling and Semantics


Dr. Panoff introduced us to the concept of modeling by giving us two different objects: a ball, and a straw. Then we had to give examples of what we could model with our hands, the straw, and the ball. We could use these objects to model almost anything.

To introduce us to modeling, we wrote a program in Microsoft excel. This program modeled how heat is dissipated in a poorly insulated room. This project was really interesting and surprisingly simple.

As an introduction to semantics, we looked at this really simple problem: HAVE=HAD+CHANGE. What we have now is what we had plus what changed. This is a really interesting statement that can be applied to many things. We applied the statement HAVE=HAD+CHANGE to a problem depicting the population growth of rabbits. ΔR/ΔT=B*R; change in rabbit population over a rabbit’s gestation period equals the total number of rabbits times birth fraction. With normal settings, computers do not like to do these problems because the problems change depending on the answer. In order to do this problem in Microsoft Excel, we had to change some settings to trick the computer into thinking it was doing a normal problem. This was not a realistic model of how rabbit population works though; in reality, there is something eating the rabbits, and some rabbits die of starvation.

We then modified the problem to be this: ΔR/ ΔT=(B*R-C*(R*(R-1)/2))*ΔT. This problem had the simple growth equation but also had an equation that removes one rabbit when two rabbits meet. How often something happens is C in the equation.

We looked at this same model in multiple pieces of software. We looked at a more in-depth model of the rabbit population with graphs and sliders. Then we drew this same equation in sim PLE. In conclusion, this was a great learning experience and a helpful introduction to modeling.



Today we talked about numerics. We looked at how computers register numbers. Computers register numbers very differently than we do. Even calculators do not register numbers the same way that humans register them. Most computers can only register fractions that are the negative exponent of 2. This causes some problems. To highlight this, Dr. Panoff had us write down some simple equations in Microsoft Excel. The first problem that we did was 3/6-1/6-1/6; the answer we got was 0, as expected. Next, we wrote a simple program to tell Microsoft Excel not to lie to us. To our surprise, Microsoft excel told us the difference of 3/6-1/6/-1/6 was greater than zero. To investigate more, we wrote ⅙ and made Microsoft Excel turn it into a decimal. It appeared that Microsoft Excel had rounded 1/6 up. If this was the case though, the answer to the problem 3/6-1/6-1/6 would have been negative. The computer could register 3/6 as 1/2, but had to approximate the actual decimal equivalent of 1/6. This means that the computer said it rounded up, but in truth, it just truncated the decimal for 1/6.

Still suspicious that we had not found everything we decided to check how well Microsoft Excell could handle whole numbers. For the first problem, we subtracted Advagadro’s number by one. The answer was 6.022e+23. Next we tried multiplying Avogadro's number by 10 then 100 then 1000. The Microsoft Excell still gave us Avogadro's number unchanged until we subtracted a hundred million from Avogadro's number. This is called resolution. Many computer programs will ignore small numbers when they are being added or subtracted to really big numbers.

Office Ethics and How you Know


Saturday was fun. We talked about office ethics. The speaker, Rob, was very entertaining and kept my attention on what would otherwise be a boring subject. Ron seems like a really interesting person, and I look forward to getting to know him.

Dr. Panoff's lecture was really cool and interesting. The lecture was about how you know things and the actual definitions of words that seem like their definitions are synonymous. To demonstrate that there is inherent uncertainty on the internet, Dr. Panoff asked us to find 3 arbitrary facts and write them on an excel document. The first fact was the current population of D.C. The second fact was the mass of Pluto. The third fact was the boiling point of radium. Dr. Panoff told us to search either the internet or the library at Shodor for the answers to the questions. Everybody searched the internet for the answers to the questions. I expected the question about the population of D.C. and the mass of Pluto to differ because there are multiple ways the measure both population and the weight of planets. Surprisingly, all of the answers differed greatly. The answers to the boiling point of radium differed by 50%!

My First Day at Shodor


I really enjoyed my first day at the Shodor Aparenticeship Program. The Shodor Aprentice Program seems like it will be a lot of work, but very fun and rewarding. I am looking forward to makeing more friends within the program.

My first day was hard in a good way. I thought that what Dr. Panoff said about the scientific method was realy interesting. Working through Cyberduck and setting up my blog was fun, but I realized that I need to get faster at typing. I have learned so much about HTML just by writing this blog!