1. What did you do this past week?

This past week I worked on the Darwin assignment. Getting the simplest solution ended up taking quite a bit longer than I had initially anticipated though in the end I was pretty happy with the results. I also finished my Network Security and Privacy ROP lab fairly early last week which was really nice.

2. What’s in your way?

At the moment getting the rest of Darwin done, other than that not much aside from waiting for the next labs for my CS classes and figuring out what classes to take next semester.

3. What will you do next week?

Next week I will work on finishing Darwin and prepare for the upcoming labs for my other classes. I will also get back to working on a personal project I have been taking a break from.

4. If you read it, what did you think of The Interface Segregation Principle?

I thought it was an excellent paper with a lot of interesting insight into good Object Oriented Design patterns and excellent discussion of some common problems that can arise when designing Object Oriented software systems.

5. What was your experience of continuing to implement std::vector?

It has been very interesting learning about how to implement some of the basic parts of std::vector and Dr. Downing’s explanations have helped make a lot of the reasons for some of the design choices clear.

6. What made you happy this week?

Getting back to being able work on my personal project and catching up with some of my friends over Zoom made me happy this week. Also learning something new about C++ in the way of Boost serialization made me happy this week as well as some progress I made on a library I am collaborating with a few others on.

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

Numba is an open source JIT compiler that translates a subset of Python and NumPy code into fast machine code. It is a very useful tool for performance oriented applications that also want to retain the quick development times that Python offers. It really is an amazing tool that has the ability to convert many Python programs into machine code using LLVM. I had the opportunity to use this at a past internship and the performance benefits are very pronounced with 500x improvement on CPU workloads and a almost 7300x improvement when parallelizing the application in question on a GPU. So certainly a tool worth checking out.

--

--