August 2021 Check-in

A synopsis of things that interested me this month

Posted by Asa Hess-Matsumoto on Friday, August 13, 2021
Last Modified on Wednesday, September 1, 2021

This week the following subjects caught my attention:

1. Competitive Programming

This was an entirely new event that I just incidentally stumbled upon. In looking to bolster my programming expertise, I learned of competitive programming. In a nutshell, these events pose LeetCode-like data structures & algorithms (DSA) questions; programmers are awarded points based on how quickly they can draft code to answer the requirements.

I dipped my toes in the water with the CodeChef platform, but I know of several others worth checking out, including:

  • TopCoder
  • CoderByte
  • Project Euler
  • HackerRank
  • Exercism.io

One thing I learned real quick was that if was not sufficient to simply code a working solution; to compete, your code has to be optimized to run quickly as well. In my case since I was working with python3, I learned how it would be more efficient to substitute functions like print() with sys.stdout.write().

2. Coding Portfolio

I kept working on a basic MatPlotLib project I call Launchcheck. This program works by having a client/server setup; the server periodically queries the orbital TLE data available from Celestrak, storing them in a data structure for the client to quickly retrieve data.

The client-side program allows a user to query if a launch from an arbitrary location at an arbitrary date/time in the future results in any near-misses with passing space debris. As a software engineering exercise, I was more concerned with getting the program up and running and less about its actual practical application; therefore, I didn’t concern myself with plotting the telemetry of launches or accounting for data accuracy.

Having wrapped this up, I think I’d like to follow this up with something similar - perhaps tracking near misses for the ISS. But I’d like to tie it in with a web application rather than a simple command line interface program.

3. Grad School resumed

I had hoped going into this Semester I’d be able to tackle the most difficult course that I am mandated to take for my program (presumably): Graduate Algorithms. Unfortunately, I came to discover that most students in my program don’t end up getting the opportunity to take the course until near graduation (if not the very last class). This is due to how impacted the course is.

Instead, I’m taking High Performance Computer Architectures, which continues to build upon my Graduate Introduction to Operating Systems coursework.

It’s too early in the program to tell yet how this program is going to shake out, but most reviews indicate that it was worthwhile doing.

4. Airgeddon

In alignment with some responsibilities at work, I revisited some WiFi-based attacks. This included some tools such as aircrack-ng and Airgeddon. The latter has shown to be a wonderful suite of tools useful for attacking Wireless networks. I’m particularly taken with the Evil Twin attacks, which were startlingly easy to deploy.

I’ll be looking at some other WiFi-based attacks in the near future.

5. LinkedIn Learning

In the same vein as developing my coding skills, I’ve been recently working through some LinkedIn Learning modules made free through my employer.

I was interested in learning how to develop and deploy a web application using python; this meant working through Flask and MongoDB, which are the common technologies employed for such a task.