Posts

Balance Beyond the Grind: Navigating Burnout in a Busy World

 Ouff, it’s been a while since the last time I wrote anything. I will begin to say that teaching at college has been challenging, rewarding but also time-consuming. As I went into preparing a class a month away from the finish line, I realized I have been spending my weekends entirely doing research, preparing schoolwork and grading assignments; I have stopped doing the things that I enjoy doing. Which brings me to contemplate life from a different angle.  I consider myself a well-organized individual who takes pride in how I invest my time. I love to layout my week on Sundays as I try to be my most productive self; but lately I feel I have to drag my feet to find a time to do the things that I need to do. I have stopped hacking and working on my personal projects on the weekends and all for some little bit extra cash. Today’s culture asks us to be this way I blame, but I’m not sure if it is that or just me that is trying to find a culprit to my low levels of motivation. Things are goi

Securing API Endpoints: The Importance of Unpredictable IDs on Development

Image
 Over the weekend, I dedicated time to revisiting and consolidating my findings in the ongoing reconnaissance phase for an application platform. As I delved into the system's intricacies, I realized the need for a precise and robust testing instrument. In contemplating the ideal tool for the task, BurpSuite Intruder came out as the perfect instrument for the impending test on our target. The versatile capabilities of BurpSuite Intruder, known for its adeptness in performing exhaustive tests and uncovering potential vulnerabilities, align seamlessly with the demands of our recon efforts. This realization sets the stage for a comprehensive and systematic examination of the application platform, ensuring a meticulous assessment that goes beyond the surface-level insights. The Context In my current engagement with a REST API target, a critical aspect of data retrieval revolves around using unique identifiers assigned to various objects within the system. These identifiers, called IDs,

Streamlining Grading with Automation: A Cypress-Powered Solution

Image
 I have emphasized the importance of automation in my previous articles, and now, the automated grading system has finally arrived! It has been developed using the Cypress testing framework. As I have mentioned previously, the original idea was not mine. My role was to refine the product to create a more standardized project that is easy to comprehend and to implement multiple testing methods at once, instead of just one. This way, other teachers or testers can also use it. Ultimately, it's all about having fun and making the project accessible to as many people as possible. A teacher who streamlines their workflow is worth two. The Framework Cypress.io is an open-source end-to-end testing framework for web applications. Cypress is not part of Node.js itself, but it is a tool that developers can use alongside Node.js to perform automated testing of web applications. Cypress allows you to write and run tests that simulate user interactions with a web application in a real browser. I

Automation in the classroom! PART II - Marking assignments with the help of Docker containers

Image
  In part one, we explained the basic concepts and technologies used for the initial setup. This part of the article will take on the second half missing: Docker containers! Specifically, Nginx image for hosting single repos within a "Docker service." I think it is super cool, and I wonder if there is a better way. If you stumble upon this article and want to fork my repo, please do so.  I would love to see suggestions and Pull Requests for improvements. Ultimately, we would want this to ease other people's lives. Enter the friendly blue whale containers Docker containers are a lightweight and portable way to package and run applications, along with all their dependencies, in isolated environments.  Isolation:  Containers provide process and file system isolation. Each container runs as an isolated process on the host operating system, with its own file system, network stack, and resources. This isolation ensures that applications in one containe

Automation in the classroom! PART I - Basics & Set-up

Image
 Starting as a college teacher has been very rewarding. I've found students eager to learn and their "sponge-like" minds ready to take on the world. I am honored still to have been given this opportunity; I look forward to seeing how far some of them will reach and what they will achieve in their lifetimes.  I want to give a brief of what this article is about. As I progress on article writing, I will keep it simple and explain each of the little elements or bits of separate technologies on which I will be dwelling in my write-ups. Storytime As a student at the college, I had the opportunity to have a teacher/mentor. He taught me the subject that I now teach. He was the one who had the brilliant idea of implementing GitHub classroom, Cypress testing, and Docker and put it all together to make sure we students had the best learning experience and were up to date with new technologies. I now take the mantle of teaching and have the chance to collaborate with that stack and

Dark Magic & Daemon Summoning with Bash Scripting

Image
Starting teaching at college has been very rewarding; however, I still long for world domination like everyone else. I have encountered that teaching 30+ students is no easy task, and on top of that, marking? It ends up being time-consuming and a task that could be more enjoyable. But then I thought, "Hey, what about creating a script that helps me in my day-to-day life? After all, I'm a Dark Wizard with computing resources. Hell, I'll put those Daemons to work!" so I took on more digging on bash scripting! I already have basic knowledge and implement bash scripting on my RECON machine for Security Research. I will document my findings on Bash and the problems it helps me solve as I go with them. And ultimately build an army of scripts to help me achieve my goal of world domination! :) Let's dig in! Summon evil hell minions like a pro with Bash scripting! Bash scripting is an essential component of system administration, automation, and computational workflows, al

Forking and Cloning Demystified: Understanding the Key Differences.

Image
 I just recently was invited to start teaching at college on the subject of Web applications for the computer programming program at the local college. I am very excited, and I want to transfer my knowledge to others and see my students grow to become professionals in the development area. As I started revising the material I will be teaching, I encountered a series of questions that I, for whatever reason, have forgotten over time or never really got the curiosity to ask myself. I hope as I start teaching the basics of software development and applications, I also learn myself and reinforce my basic foundation knowledge. Based on this initial 'commit', I took on Source control and basic concepts. Forking and Cloning! Forking and Cloning are two distinct actions used in version control systems such as Git, which are typically hosted on platforms like GitHub, GitLab, or Bitbucket. Here's how they differ: Cloning a Repository: Cloning creates a copy of an existing repository