Logs
In this class, you are going to maintain a log. The log will serve a couple of purposes
- it will serve as a record of your learning progress throughout the course
- it will be a a growing reference of things that you have learned
- it will be a place where you can spitball ideas and document different directions you have taken
- it will be a place where you can maintain a record of what you are working on and what you have to do
- it will be a place where I can check in on your progress
- it will be a place where we can do quick post-class check-ins
To start your log,
Create the git repository by accepting the assignment from GitHub Classroom. This will create a new repository with the log skeleton.
Clone the repository to you computer with
git clone
(get the name of the repository from GitHub). See the git basics guide if you are new to this
Course Objectives
The first thing you should fill out in the log is the Course Objectives page (course-objectives.md
). This will serve as a sort of contract with yourself about what you are going to put into this class and help to provide context for yourself when it is time to evaluate your work at the end.
This can change as time goes by. I will ask that if you do make alterations that you just put in a date stamp and then your additions rather than removing anything (git will maintain a dated changelog regardless, but keeping it all in the file at once will make it more available).
TODO list
I have given you a file called TODO.md
. I have prefilled this with some of the assignments in the class. The actual count for each type of assignment fluctuate – the list is merely a starting place. I have provided you with an example of what un-started tasks, started task, and complete tasks should look like. When you complete a task, add the date of completion to the end. I would like you to keep these lists up to date. It will be the primary way I have of quickly assessing your current progress, so make sure you remember to mark deliverables that you have started and completed. You are welcome (and encouraged) to add more items to these lists and to break out subtasks. The more use you make of this, the more use it will be to you (and me).
Example: - [ ] item has not been started - [ ] item is a sub task - [-] item is started, but is not complete - [X] item is complete (2025-09-05)
Logs
Maintaining daily logs is an important tool in my productivity arsenal that I would like you to adopt. These do not need to be long, nor do they need to truly be “daily”. I use mine to write down things that I have done, stray bits of code or references that I have found, ideas to follow up later, questions I have, and musing about things that aren’t working and why that might be. I frequently find myself thinking “I know I had a similar problem before, how did I deal with it”, and I can flip back through the log to see what I did last time. It also helps me context switch. I have to switch between classes and my various other projects, and reading over the last entry is a great way to jump my brain back into the right mode. It is a practice that is even helpful if you don’t go back to re-read what you wrote. Just writing down your problems and what you have been trying to do to address them can help your brain come up with solutions.
I would like these to be kept in files that are named in the format YYYY-MM-DD.md
. I’ve provided a script that you can run to generate these files (python make-entry.py
), but you can just make them yourself as well. Do make sure that you create a new one every day you sit down and do work – don’t add to old days. This will give you a very tangible sense of the amount of work you are doing.
Here is an example of what this might look like from my nudibranch project:
# Blender
I had a crash and I had to restart Blender. Everything is looking really strange now. I forgot I changed the rendering settings earlier. Make sure we are using the eevee renderer. I should write a function that sets the environment up consistently so I don't keep forgetting this.
# Reaction diffusion
[Gierer-Meinhardt](https://visualpde.com/mathematical-biology/gierer-meinhardt.html) model so I could experiment with the parameters. My model is not responding the same way to the example values. I can get the same effects, but with different values. It will take some experimentation to figure out good ranges for the values. Adding random noise makes it lean towards dots. Removing it makes it lean towards contour lines. With no randomness, the settings that create dots have dots that follow the contour lines. I also found that I only need to add randomness into one of the two fields.
I wrote a new version of the
This gives me a little confidence that I can stick with the GM model. Figuring out good boundaries on those parameters will be key for mapping this to my data. That really needs to be the next thing I tackle.
Another example
# Assignment 2
`while (x !== 3)` wasn't working. It took an embarrassing amount of debugging before I remembered that these numbers are floats and that precision might be a problem.
I just finished assignment 2. It took me forever to figure out why
I'm still not sure why I had to make a copy of the array. I should ask about that, but I understand the spread operator so much more now.
Logistics
Markdown
You can just write straight plaintext in your log entries. However, Markdown is a nice way to give your text a little formatting. A couple of minutes is enough to learn some Markdown basics.
Git
Using git repositories hosted on GitHub makes it easy for you and I to share your log. When you have made changes, make sure that you commit your files and push them. I will also be contributing to your log so make sure you are also regularly pulling changes back down again.