Once again I tried to stay out of the heat and instead did a lot of computer work this week that is worth sharing.
- Comet Hunting
- R for Plots
- Chrony Testing
- Nagios & Ansible Work
- AWS S3 logs.
- Switching from Atom to VCode
Last weekend I went looking for Comet Neowise late Sunday night. Here in Texas it’s supposed to be easier to find in the morning then evening, but due to a heat wave the morning weather has been hazy and cloudy making trying to find it not possible. I traveled down to an open area about 30 mins after sunset and about 40 mins before the comet was due to set below the horizon. I setup my camera and tripod and waited for it to get dark, the mosquitoes were out in force, which I had forgotten about and hadn’t packed any bug spray. Even though it wasn’t dark yet, I took a few shots with the hope that once home I could play with the levels in Photoshop and see if I could see any of the comet or it’s tail, but no luck there. Finally by the time it seemed dark enough to see stars the comet was too low to the horizon. This weekend the comet is supposed to be higher in the sky which should hopefully be a little easier to see and leave enough time for the sun to set and have a darker sky.
R for Plots
There’s a couple of small projects I’ve been working on and wanted to start visualizing some data there, so I thought it would be a good opportunity to brush the dust off my R skills. To keep things nice and neat I wanted to run R inside Jupyter notebooks in a docker container, I had down this before on an older laptop. The directions were super straightforward and easy, it’s come a long way since I ran it a few years ago. For reference, the docker command was this:
docker run -d --restart always -p 8085:8888 -v /mnt/jupyter-R:/home/jovyan --name jupyter-R jupyter/r-notebook
I had to run it on port 8085 and I used a mount off my NAS (at
/mnt/jupyter-R) and mounted that to the home directory so that the data, code, and notebooks would be stored on the NAS, so I can destroy and recreate the container whenever I want without losing data.
Playing with some of the weatherstation data, here’s a snapshot of the R code for a simple plot of temperature:
I’m still running Chrony through some tests to see how stable the times are in different configurations and like the weather station data I’m using Python & R to process the data files and then plot them. I have one more configuration to run through this week and then should be wrapping up that experiment.
Nagios & Ansible Work
I’ve used Nagios as a monitoring solution for a number of years now and while there’s probably better candidates out there it’s my go to because of my experience with it and how easy it is for me to add new services, custom checks, etc. This week I started trying to clean up my instance and make sure all the appropriate hosts are added and some proper checks for the services I consider critical and would want monitored. I was also using Ansible to push out different commands and files to the multiple hosts, compared to Chef, Ansible can be so simple for these types of one-offs.
AWS S3 Logs
I had a new article up late this week, Combining AWS S3 Logs with Python, which covered some help I was doing for a friend, very pleased with how it’s been working out and it’s been running without issue in Jenkins.
Switching from Atom to VCode
This past week I also made the switch from using Atom as my default editor to Microsoft’s Visual Studio Code. I was hesitant of course but I had heard good things I figured I’d give it a shot. I’ve had a number of different go-tos over the years. I started my career and I got really good with
Emacs, I then made the switch to
vi, and my skills are great there but they’re getting there. I also used Sublime Text (and still use it), then I made the switch to Atom, and now the switch to VCode. I think each has their advantages and features that make them super easy to use, and my goal by switching is to expand out my skillset, try new things, and just not be static with my knowledge or tools. So far I like it, the features like Linting and basic error checking has made it simple to catch problems before even running my code, and the git integration is pretty cool, it shows the changes in the sidebar which when working in a group is easy to see changes and who made such changes, screenshot below.