Blog 5 — CS 371g Summer 2021

What did you do this past week?

I got a partner to work on Project 3 for this class. We are still working on the project and just made some tests and started writing code to make the tests pass. For the other class, I have another group, and, in that group, we are working on the final project for that class. The class ends this upcoming week. Luckily, the final is in class, so I get Friday off.

What’s in your way?

This week, my partner and I will need to complete the programming project for this week, and I will likely be getting a new partner for the next project. In my other class, we will be finishing the class with a project presentation and a noncumulative final exam.

What will you do next week?

I will be doing a presentation on a mockup project for eliminating bias in data sets with my group in the ethics course. There is a small connection to this course since that course involves no code, but there is a demonstration of how the solution we provide will work. I will be presenting that solution, and I decided to use gitlab to hold the demonstration files. For this class, I will of course be working on the project due on Tuesday.

If you read it, what did you think of the Paper #5: Continuous Integration?

The Continuous Integration paper made me see connections to the gitlab website that we are using to keep repositories. I also saw that the paper was written in 2006, which showed me that the concept of continuous integration is not new. Right now, the way I’ve been using continuous integration in gitlab is not very helpful since tests are developed before code and then the CI pipeline attempts to test broken code and always fails until the code is implemented. But when seen in the light of making a program faster, it seems much more useful.

What was your experience of lambdas, capture by value, and capture by reference? (this question will vary, week to week)

Lambda functions seemed like an easy way to put simple code into a function to be passed to a function. However, I understand that more complex code should be put into its own function and may be even split into multiple functions.

Capturing by value and capturing by reference seemed like another moment that showed that doing things by reference is usually preferable when given the option. Additionally, learning about them helped me understand what the [] was for when using lambda functions.

What was your experience of function objects, iterator traits, and iterator tags? (this question will vary, week to week)

Function objects and the use of them seems like an interesting way to pass functions to other functions. It adds to the possible ways to pass functions to other functions to simplify code.

I am still a bit confused about iterator traits and iterator tags, but the concept as a whole is something that I find very useful. Many times I have had a task where I need to make multiple functions that do the same thing in different ways, thus creating the need to make different function names for each of them. I think that these pieces of code will help with making calling simpler.

What made you happy this week?

My cousin came over to my house to visit. It has been a few months since he last visited. He happens to be a CS graduate, but he has more knowledge in Java than other languages.

What’s your pick-of-the-week or tip-of-the-week?

I figured out how to change the way the backlight works on my keyboard. My keyboard is a Corsair K63 keyboard, and, because it is a Corsair brand keyboard, it uses the iCUE software to change the settings of the keyboard. The most interesting thing is that the changes to the keyboard remain even if the keyboard is used with a system that does not have iCUE software. The reason this matters to me is that I use two computers, one with Linux and one with Windows. Linux does not support iCUE, so it was cool to me that the changes remained. Also, the setting I am using is a ripple effect, where the keyboard lights up around a key that is pressed and ripples across the keyboard. It has saved a lot of battery life this way.