CYSE 368

Reflective Journal Entry 1

For the first week of my internship at General Engineering starting January 13th, I was tasked to write a python program on a Raspberry Pi5 that are connected to the shop floor buzzers. These alarms are in place to notify the employees when it is time to start their shift, break time, the start and end of lunch, as well as the time for shift change. To accomplish this task, I looked back at my notes from the CYSE 250 basic cyber programming and network class along with combining my own research over the internet. For the program I needed to have 15 separate alarms as well as an LCD screen showing the current time and date.


When I started the task on day one, I had no experience with programming the general-purpose input/output (GPIO) pins, so I made sample programs to understand how it worked together. The first step was learning the GPIO pin’s locations and how to wire the bread board to the Raspberry pi by completing the circuit. To better understand how the Raspberry pi and the components work together using a breadboard I used the website “Tinkercad.com” to learn how to flow the current to not damage the led bulb or the Raspberry pi itself. Tinkercad also shows different ways you can write out your python code with coding blocks that will allow you to plug and play different blocks of python code while also showing the code script on the side. Tinkercad’s website also taught me the importance of the resistors as well explaining what the different resistors were and shows how they affected by the different resistors being the brightness levels of the LED light or the tone of the buzzers. After completing different programs such as making a buzzers alarm turn on then off after four seconds. The first challenge of this task was learning that libraries are needed to download to the Raspberry pi to make the program= work such as Python SIMBUS for example.
On the second day of my internship, I started building on my buzzer program adding more alarms that will trigger the buzzer at certain times and started reading how to connect the LCD to the Raspberry pi. To do this I had to go into the Raspberry pi settings located under the Raspberry pi Configuration section and enable I2C. After I completed this I had to “install a program called I2C-tools which tells what the I2C address of the LCD is when it is connected to the Pi, enter in the terminal sudo apt-get install i2c-tools” (Campbell, S. 2021). When the I2C tools are downloaded, reboot the Raspberry pi and type “i2cdetect -y 1 this will pull up table of addresses for each I2C device connected to the pi” (Campbell, S. 2021). If you have only one device wired into the Raspberry pi the number inside the table is your address. Programming the LCD screen was a challenge learning where to position the address to get the Raspberry pi communicating with the LCD. After successfully writing the timeclock program I tried merging the programs together. This resulted in a program that would only run the timeclock program and not the alarms because of the while True section in the timeclock program. After doing some research I realized I needed to add the threading command which synchronizes the programs to work at the same time instead of in a line.


This task was very important because I got to see different commands through python, and it required me to keep trying and researching different techniques and libraries such as the threading command to make the programs work together as shown below. While working on the python program I was also tasked to troubleshoot physical network connections to gain extra practice to remember the “B connection standard”. This practice also showed me how to go through the progressions of solving connection issues as they arise.

On Monday 1/20/25 I was tasked to set up a group policy for the shop floor PCs to reflect our company logo set as the desktop wallpaper. This was my first time enforcing a Group Policy Object (GPO), so my supervisor Brandon Turner walked me through each step. Then I recreated the group policy by myself to make sure I understood the steps. To do so you must copy the image to a shared file location, open group policy management, create and edit the GPO, then point the GPO towards the right computer objects, and make sure the computer objects have sufficient rights to access the file. The challenges I faced in creating the GPO was making sure the permissions were set in place correctly allowing the computer objects within the shop floor organizational unit to be able to access the image file used for the desktop wallpaper.
After my first 50 hours in my internship, I have learned a lot of troubleshooting skills with python programs and troubleshooting networking problems throughout the company as they arise. The largest takeaway from this week is attention to detail is crucial when it comes to the IT networking and the cybersecurity field. In this field it is important to take a small step back and remember your training from your supervisors as well as what you have learned from school to solve the tasks at hand.

Reflection Journal Entry 2

This week I configured three layer-2 HP Aruba InstantOn 1930 switches to replace the cisco switches our company currently uses at a different plant. The reason we decided to upgrade switches is because we can have the same like models at all locations for simplicity in our IT network infrastructure.
Starting this task was a challenge because this was the first time I configured a switch from scratch. My supervisor coached me through the steps of the process. The first step is to plug in the switch to the computer then change the computer’s IP address to match the default subnet on the switch. Next you put in place the new username and password. Then you will change the management VLAN to its respected VLAN. This is a crucial step because if you do not configure it correctly you will have to reset the switch and start the process over again. After you change the management VLAN and log back into the switch add your VLANS and configure the ports. Attention to detail along with saving the changes you make to your running configuration up to your startup configuration is important for the switch to maintain changes across reboots.
The main challenge in this task was understanding the different verbiage between Cisco switches and HP such as what is native or allowed for cisco versus tagged and untagged for HP Aruba switches for your VLANs. The other challenge on this task is understanding how the InstantOn interface works compared to the command line used to configure switches.
After I configured the switches, I was able to install the switches in their respective locations along with running new ethernet cables to complete the upgrade of the network hardware in our new facility. The challenges with this task are to plan accordingly so there is no waste of material and to make sure the ethernet cable does not become damaged by a crane or other moving parts on the production floor. To accomplish this task, I had to measure the distance between the switches to account for the cable material needed and determine the need for any POE injectors that could be needed to boost signal.
On 1/23/25 there was a PC on the shop floor that was not able to open any applications such as google chrome. This problem would not let our employee clock into work on this PC. To begin troubleshooting I opened the task manager to check the CPU and memory of the PC. After further investigation I removed the PC from the domain and reinstalled windows. After successfully removing the PC, reinstalling windows and adding it back to the domain through a local admin, the PC began to operate effectively.
These 50 hours of my internship my troubleshooting skills have grown because of the first 50 hours of the internship. I also learned how to configure layer two switches and the differences between Cisco and HP Aruba switches. This week’s takeaway is the importance of planning ahead before running ethernet cables to minimize wasted material. I am excited to
further my knowledge of configuring switches and running ethernet cables.

Reflection Paper 3

For this reflection I conducted an interview with my supervisor Brandon Turner Network administrator at General Engineering Co on 2/24/2025. I chose to interview Brandon because he is knowledgeable on networking, firewalls, security frameworks, and much more. Brandon has been a great mentor and helped me learn different networking skills with this internship by showing multiple ways to approach different troubleshooting problems, as well as how to configure switches from the ground up.
This internship has been beneficial to the start of my future career as a cybersecurity professional.


How did you get into the IT field also how did you gain the position you currently hold?
• From an early age I was interested in computers and troubleshooting when I accidentally navigated to the registry keys of my parent’s new computer. When doing so I had to fix the registry keys for my parents to be able to use the computer. This was what started my love for computers and when my former employer had an opening for an IT help desk position I got my start in the IT field. This position gave me the experience needed for the job I hold today.


What would be the most important skill or skills needed to become a Network Administrator?
• Understanding the ins and outs of basic networking, and subnetting is critical in order to become a Network Administrator.


What are the different soft skills that you believe are the most important to become a network administrator?
• Planning, patience, social skills, and troubleshooting with an open mind are the most important skills to become a network administrator because if you cannot talk to the client in a respectful and helpful way, they will be hesitant to seek help from you moving forward. Which could result in mission critical issues staying unresolved in the company.


What are the different technical skills you have found that are the most important as a network administrator?
• Reading Wireshark, understanding command line interface, understanding protocols, wireless networking skills, implementing redundancy for backup solutions, and networking security for protection of the company assets as well as the employee’s private information.


What do you believe is the best path with entry level jobs to become a network administrator?
• IT help desk as well as internships before are the most important jobs to apply for. Because they will give you the hands-on experience in the field and increase your knowledge needed for a network administrator position.

Python Programs


First buzzer program
From gpiozero import Buzzer
From time import sleep
Buzzer = Buzzer (18) #this indicates that you are receiving power through GPIO18
buzzer.on()
sleep(1)
buzzer.off()


Timeclock program
import time
from LCD import LCD
from time import sleep, mktime
from datetime import datetime
lcd = LCD(2, 0x27, True) #This is the LCD address
dti = mktime(datetime.now().timetuple())
while True:
ndti = mktime(datetime.now().timetuple())
if dti < ndti:
dti = ndti
lcd.clear()
lcd.message(“General Engineering”, 1) #This line puts the company name on the first line of the lcd
lcd.message(datetime.now().strftime(‘%b %d %H:%M:%S\n’), 2)
sleep(1)
else:
sleep(.1)

Shop Floor Buzzers

import time
import threading
from datetime import datetime, timedelta
from gpiozero import Buzzer
from time import sleep
buzzer = Buzzer (18)
now = datetime.now ()
dt = now.strftime(“%m/%d/%Y %H:%M:%S”)
class Alarm:
                def __init__(self, alarm_time: str, message: str):
                      self.alarm_time = alarm_time

                      self.message = message
def set_alarm(self):
      alarm_hour, alarm_minute = map(int, self.alarm_time.split(‘:’))
      now = datetime.now()
      alarm_datetime = now.replace(hour=alarm_hour, minute=alarm_minute, second=0,
      microsecond=0)
      if alarm_datetime < now:
          alarm_datetime += timedelta(days=1)
      wait_time = (alarm_datetime – now).total_seconds()
      time.sleep(wait_time)
     
      buzzer.on()
      sleep(.5) #when placed on the floor set to (10)
      buzzer.off()


class AlarmClock:
                def __init__(self):
                     self.alarms = []
def add_alarm(self, alarm_time: str, message: str):
                new_alarm = Alarm(alarm_time, message)
                self.alarms.append(new_alarm)
def start_alarms(self):
                for alarm in self.alarms:
                     alarm_thread = threading.Thread(target=alarm.set_alarm)
                     alarm_thread.start()
if __name__ == “__main__”:
                my_alarm_clock = AlarmClock()
                # 15 separate alarms with different times and messages
                my_alarm_clock.add_alarm(“7:00”, “1st shift clock in”)
                my_alarm_clock.add_alarm(“9:30”, “Break Time”)
                my_alarm_clock.add_alarm(“9:43”, “Three minutes until End Break”)
                my_alarm_clock.add_alarm(“9:45”, “End Break”)
                my_alarm_clock.add_alarm(“12:00”, “Start Lunch”)
                my_alarm_clock.add_alarm(“12:27”, “Three minutes until End Lunch”)
                my_alarm_clock.add_alarm(“12:30”, “End Lunch”)
                my_alarm_clock.add_alarm(“15:27”, “Three minute warning”)
                my_alarm_clock.add_alarm(“15:30”, “End 1st Shift, Start 2nd Shift”)
                my_alarm_clock.add_alarm(“18:30”, “Break Time”)
                my_alarm_clock.add_alarm(“18:45”, “Break Time”)
                my_alarm_clock.add_alarm(“21:30”, “Start Lunch”)
                my_alarm_clock.add_alarm(“21:57”, “Three minutes until End Lunch”)
                my_alarm_clock.add_alarm(“22:00”, “End Lunch”)
                my_alarm_clock.add_alarm(“2:00”, “End 2nd Shift”)                 my_alarm_clock.start_alarms()

Final Internship Paper

When I started my internship at General Engineering, I was excited to jump in and use the skills that I have gained throughout my time at Old Dominion University. When I started the internship, I realized very quickly that I had a long way to go to begin my career in cybersecurity. The first day I sat down with my supervisors and discussed what my main learning objectives were for me as well as what learning objectives I needed to succeed at General Engineering.
The learning objectives I originally had for the internship are to learn more about python programming, learning troubleshooting techniques as well as how to troubleshoot computer issues, build on my networking skills, and conduct an entry level white box penetration test. The learning objectives I needed to learn to succeed for the internship were learn how to configure a layer two and layer three switch being either Cisco or HP Aruba, learn how to apply group policies and apply them for example a common wallpaper for shop floor PCs of the company logo for uniformity, how to help set up a battery back up to replace an older one at one of our plants, write a python program to have an alarm alert the employees at the respective time at the start break lunch and end of shift, and learning networking skills to strengthen security with General Engineering.
I decided to work for General Engineering for my internship because I would have the
opportunity to gain experience with a lot more skills such as networking, troubleshooting,
security, electrical circuits, and penetration testing. For the simple fact of knowledge is
everything, the more you can learn the more prepared you will be if a cyberattack were to take
place. I believe that General Engineering has better prepared me for my cybersecurity career and
has also helped me with school by explaining it in a separate way. For that I am grateful for the
opportunity they have given me at General Engineering.

General Engineering Company started in 1945 is a manufacturer of hydraulic cylinders where they custom engineer and manufacture the individual components of a hydraulic cylinder, assemble it, and ship it to the customer all in house. General Engineering designs and custom-building hydraulic cylinders for companies such as Liebherr, Caterpillar, Sandvik, and many more. Over the years General Engineering has expanded from Abingdon Virginia to Glade Virginia, Beckley West Virginia, and Delta Colorado. While General Engineering does most of their major work for the coal mines, they have the ability to complete custom work for everyone because of the state-of-the-art machines such as the water jet, burn table, Integrex, CNC lathes, and manual engine lathes. General Engineering manufactures every unit to ISO 9001:2008 standards.

On my first day at General Engineering while conducting the tour I was shocked to see all the manual as well as CNC machines working together to maximize productivity. It was also intriguing how they can be so precise to a half of a thousandth of an inch accuracy through attention to detail. While doing the initial walkthrough Brandon showed me where everything was located on the server rack as well as where the switches were at all locations to become familiar with where everything was located. After my initial walkthrough I was tasked with creating a building layout on Visio for safety showing where the fire hydrants and eye washing stations were in relation to the machines. This was a big help because it gave me experience with Visio and I got to see where everything was located. After I finished the layout on Visio, I started learning how to configure a layer two cisco switch. This was a shock to me because I have never configured a switch from the ground up. This was important because for your first time you configure a switch you will eventually mess up. So luckily, we had a spare switch I was able to learn on then wipe to restart again for practice.

The management environment of General Engineering’s IT department consists of David Blevins, who is the head of IT, and Brandon Turner who is the network administrator. Between the two of them they are tasked to make sure the IT network is up and running between four locations. The main location is in Abingdon, the extended location is in Glade VA, the second main location is in Beaver WV, and finally a location in Delta Co. David and Brandon does an excellent job working together providing IT support for all our locations. For this to happen they rely on effective communication and teamwork to ensure the daily tasks are conducted effectively to maintain steady operations in the office and on the shop floor at all four locations.
Brandon and David were a major help throughout my internship because they would help me when I needed help or had any questions I could ask at any time. I agreed with their leadership style because they trusted me increasingly with every task, I completed which allowed me to fix computer issues by myself on the shop floor, increasing my confidence moving forward. Brandon also would take the time to ask if I knew about a topic and if I either did not know what it was or had no experience with it, he would walk me through it showing it step by step. So, I could understand it and the purpose of it.
Without the hands-on experience, I learned from Brandon I would be behind in networking applications. He showed me how he learned from working at the help desk position at Universal Fibers in Abingdon VA that way I could see multiple ways to solve the networking problem. The knowledge I learned from Brandon will help me in my future career because of this internship. Brandon and I also worked very well together in regards of planning the best route for running the ethernet cables, and he would let me take the lead on configuring switches to make sure I understood how to follow the correct steps to not start over or lock myself out of the switch.

During my internship at General Engineering my work duties consisted primarily of python programming and networking troubleshooting. At the beginning of my internship, it consisted mainly of shadowing Brandon Turner as he guided me through where everything was and so I could learn troubleshooting skills from him as they came up. After two weeks of shadowing, I began my python program on a raspberry PI 5. To complete this task, I had to learn how to wire up the buzzer and the lcd screen to the raspberry PI as well as write the program to alert the buzzer at the allotted time. This task was challenging because I have never tried anything like this before. In order to figure out how to wire the Raspberry PI through the GPIO Pins I used Tinkercad to help me with the process of wiring up the LCD screen and the speakers. After learning how to wire up circuits on the Raspberry PI I began to focus on writing the program for the shop floor buzzers. Finally, after trial and error researching more information online, I successfully wrote my first large scale program and then wrote the timeclock program. While writing I exercised my multitasking abilities with other projects such as configuring new switches and making building layout drawings for the company on Microsoft Visio. The building layouts consisted of showing where the safety equipment such as the eye washing stations, emergency exits, first aid kits, and fire extinguishers. Other tasks included setting up a Group Policy for all the shop floor PCs, making them have the same desktop wallpaper. I was tasked with this for two reasons one to make it look better on the shop floor, and for me to gain experience in setting up group policies when needed. After I successfully established the wallpaper group policy, we created another to automatically open google chrome when the PC reboots at 4 o’clock in the morning so employees can clock into work when they arrive. This was an important policy to establish because it creates a smooth process for our employees to clock in and begin work.

Old Dominion University’s curriculum has prepared me for the internship by providing a solid foundation to build on the classes that helped me the most for my current internship were basic cyber programming and network, Linux system for cybersecurity, and intro networking and security. These three classes helped the most because they gave me firsthand experience in programming and networking in Cisco and ethernet cable terminations.
Without the basic cyber programming and networking class I would have had zero experience with python programming. After the class I began to quickly remember the basics of python programming. For the time clock program, I had to use an infinite loop using a while True to keep the time clock running while checking every second to keep the correct time displayed on the LCD. The Linux system for cybersecurity class was extremely helpful because the Raspberry PI runs on a Linux operating system. Without the class I would not have solved the alarm clock program problem. To fix the problem I set up a crontab to restart the program every day at 6 o’clock in the morning. Before the crontab was set up I would have to manually restart the program to alert the employees when shift time starts and ends. The windows class also was very important for my internship because it gave me in depth knowledge of the
Windows Operating system that I did not know before, so Brandon did not have to teach me all of the basics on windows just a more in depth on parts I did not fully know.
The networking classes I had taken at Old Dominion University helped me because when I came into the internship, because I already knew the difference with the A standard and B standard for ethernet terminations as well as where to place switches and routers in the network scheme. As I progressed further through the internship, I realized how the classes at Old Dominion prepared me for the internship as well as my future career. Which will give me an advantage when I put in more applications in the future.

The process of the goals I put in place for myself during this internship was great. I was able to achieve all my goals even with some minor setbacks through trial and error. When learning anything new it takes time to develop your skills along with it, especially when it comes to programming. I was happy to say after trial and errors with the python code I was able to successfully write the python script and wire the buzzers correctly. Other tasks I was excited to get hands on training with is Active Directory users and computers, PowerShell, DHCP, and
configuring layer 2 and 3 switches.
When I started configuring a switch for the first time it was a layer 2 Cisco switch, I was lost. After some time and practice I was able to move through the switch with the help of the “?” command. Then after my third switch I had to configure I was able to move through with muscle memory. Until I configured an HP Aruba instant ion switch with the web interface made life much easier. I was proud of myself because before school and the internship I had no idea what a switch was. The only knowledge I had was to unplug the modem and plug it back in after 10 seconds to fix the network connection.
Another goal I was excited to accomplish was being able to attempt a penetration test on the CNC machines in the shop at work where we had a penetration test done two years prior to my internship. So, after talking to Brandon we decided to use the knowledge from school to try to access the CNC machines from an outside of the network PC as well as a separate inside the network PC. We were happy to see the security measures we put in place after the results of the Penetration test were successful to prevent people with unauthorized access, accessing the CNC machines. This was my first attempt at a penetration test while being small scale it was a fun task, and I was glad to see I was not able to access it.

The final goal I had in place for the internship was to learn networking skills. This was important for me because I believe to be good at cybersecurity. You need to know the networking components to be able to see if there is any malware or individuals that do not need to be there. Brandon showed me the importance of shutting down ports on switches that are not being used so someone could not plug into it and go. As well as learning to run ethernet lines this was a fun task because it required a lot of planning ahead. Especially on the shop floor because of moving machines and cranes. If a crane were to get snagged on an ethernet cable it would rip the switch off the wall injuring someone and taking the network down for some employees.
Next is the most motivating aspects of this internship were when it finally all came together after numerous attempts with the python program and active directory. I became more motivated with every task because I could tell I was getting better, becoming more proficient, and efficient. This was motivating because every time there was a problem with a shop floor PC I was not as scared to explore the reason it would be messed up. This made me more confident in my schoolwork and my internship training.
I am a personal believer that failure at first is the best motivational tool there is for the simple fact that it makes you focus on where you went wrong so you will not make that mistake again. Failure will also eventually boost your confidence when you look at how you grew from your previous failure. It is just a matter of perspective. I fell on my face when making group policies at first but after persevering a little I was able to make it work. The most motivating part of the internship was when I successfully wrote the python programs and wired it up to the buzzers because that was the main goal of the internship and was needed to be completed. The reason I was more excited about this project is because it was my first IT related project, and I was able to complete it by doing my own research as well as trial and error.

Following the positive aspects of the internship it is important to talk about how I persevered through the failures of the internship. As covered earlier, I am a firm believer that failure will make you better, especially in the IT field. For the simple fact of you get to see why it is important to follow the steps with attention to detail every keystroke plays an important part when coding and position is everything.
Another struggle I had was assigning permissions for active directory. This is a hiccup for a lot of people, and it is easy to overlook to get it right. When assigning permissions, for example employee’s folders in active directory, you want to make it secure so not everyone can\ look through different employee’s folders but not lock the employee out of folders they need to access. Permissions are also important with group policies because when I was trying to make a universal background for all the shop floor pcs. I forgot to place the background in a folder all the locked down shop floor pcs were able to access and pull the background from. Instead at first, I accidentally put the photo on my computers desktop, so all the shop floor pcs were trying to map to my computer to find the correct photo I put into the group policy. This was not a good move because the shop floors were not able to access my computer, so the desktops never changed. Finally, I realized where I was messing up and placed the photo in a shared drive and the wallpaper was updated on the shop floor pcs after rebooting.
When first configuring the switch, I was afraid I was going to make a mistake and lock myself out of the switch. After doing so I realized the more you focus on failing you will make mistakes and if you make a mistake, you can always wipe the switch and restart, which is the best way to learn. For the first part of my internship, I was given a spare switch and Brandon told me to try to break it so I could learn what not to do. The important take away is to learn from your failures instead of being afraid of them.

The most challenging aspects of this internship were learning about the raspberry PI with the breadboard, active directory, configuring layer two and layer three switches. It was not that these specific tasks were just so challenging these tasks just took a little more time and practice to remember all the correct steps.
For the Raspberry PI five project the first PI messed up because I forgot to place a resistor when wiring the led bulb up for my first circuit. This is why I began practicing on Tinkercad’s website to get more practice on how to correctly wire up circuits so this problem would not happen again. After some trial and error along with trying out different ideas to fit everything in the lock box I found the best way to wire the raspberry PI to the existing buzzers. Which starts with the second most challenging aspect was the GPIO Pins for the Raspberry PI only produces 3.3 volts which was not enough power to activate the buzzer needing twenty-four volts of dc current. For this part of the project, I worked with the head of maintenance at General Engineering to solve this problem. After looking at different relays and doing research we finally found one that is adjustable to make enough power to activate the buzzers. This was the final piece I needed to complete my python programming task for my internship.
The second most challenging aspect of the internship was troubleshooting techniques. I learned when it comes to troubleshooting especially when the person having the problem does not know how to communicate what is going on is to relax and not over think it. The first thing to do is check if the PC is connected to the internet and work forward from there. While doing so remember not to jump around, just move through the steps, it could be as easy as someone accidentally overlooking something. It is important to show the person and communicate with them how you are fixing the problem instead of just fixing the problem and walking away

Finally, throughout my time at General Engineering I am grateful for them allowing me to conduct my internship with them. The internship was greatly beneficial to me because I was able to gain hands on experience with networking and python programming. The best way to learn, especially in the IT field, is to fail and then learn from your mistakes. Trial and error along with good practice will help you out more than anything. Throughout this internship I have continued to become more knowledgeable everyday as well as teach Brandon new tips and tricks I have learned from school. The internship aided me with school because in my ethical hacking class I had direct experience with NMAP commands and became more familiar with Linux. My time at General Engineering will help me with my future career because of the time I spent learning how to be more comfortable with networking. It is important to remember in cybersecurity to keep a network safe and secure. You must know the network inside and out preventing unauthorized users from gaining access. I am beyond grateful for my time at General Engineering and the knowledge that was passed down to me by Brandon and David.