CS 371p Week 3(Jan 31–Feb 6)

Gacuneo
3 min readFeb 7, 2022

--

  1. What did you do this past week?

This past week I used the snow days to catch up on schoolwork. On Friday I went with some friends to a restaurant called Julie’s Noodles, near Burnet and US-183; they had very delicious hand-pulled noodles. My roommates and I also started the HBO series Chernobyl, obviously about the Ukrainian nuclear meltdown in 1986, a show which I have already seen but am very willing to re-watch. Overall, this week was satisfying and productive.

2. What’s in your way?

Right now, I am getting more and more anxious about my plans for the future. Most people around me seem to have job offers, and because I oscillated back and forth between getting a job in the programming industry and attending law school, I did not secure one. I now have decided to get a job in programming for at least a couple of years and see where it takes me, and although it is certainly not too late to secure a job, I am still nervous about the whole upcoming process.

3. What will you do next week?

This upcoming week will largely consist of schoolwork. I will continue to tackle the daily onslaught of article reading and question answering in my business Chinese class, wrap up the project for this class, sign up for the “community engagement” assignments in my government class, and get started on the first project for my computer networks class. I will also drill on Leetcode for an hour or so every day.

4. What did you think of Paper #3: Continuous Integration?

I thought it was a very informative paper that all prospective programmers should read. It is a very crucial and fundamental part of the job that should be instilled in programmers as early as possible in their professional life. It was also useful to read a paper that was approximately 15 years because it firstly shows the evolution of tools over time and secondly shows programmers that this has been a staple of industry software development for a long time.

5. What was your experience of UnitTests, Coverage, and IsPrime?

UnitTests and Coverage are also crucial tools for any programmer. It must be drilled into people, such that it becomes second nature, that frequent testing that covers all parts of your code is and always will be part of the programming process. Writing code and building it without error messages is simply not sufficient.

Regarding isPrime, I did learn something new. For some reason, I was under the misapprehension that the most efficient way to determine isPrime for a number was solving for all possible factors of n from a range of 3 to (n/2) + 1. I certainly now understand why the √n + 1 is acceptable and even desirable. A quick Google search of the comparative computational expense of division and square root operations seems to indicate they are nearly identical in latency and throughput, so division by 2 would probably never be used over the square root in this algorithm.

6. What made you happy this week?

This past week I successfully made the quiche I talked about in my last post. I made the crust by hand the night before using a French technique called pâte brisée. The next day I pre-baked the crust, made the egg base with equal parts milk and heavy cream, and filled it with bacon bits, caramelized leeks, asparagus, spinach, and gruyere cheese. It turned out very nicely and I got many compliments from my roommates. It could use some improvement in a couple of areas (I used too much spinach), but overall I think this was the best dish I have ever made, and I will definitely make it again in the future.

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

I noticed merging code was briefly discussed in the paper on continuous integration. A tool that I have used before that helped me greatly with merge conflicts was Tortoise Git. It has a simple UI and makes it easy to find the conflicts between local and remote code. Its biggest downside is that it’s only available to Windows users. I don’t know what the best similar Macintosh utility is but I am sure a Google search could yield an answer.

--

--