Posts

Showing posts from October, 2023

The Structure of a Program: Explore Time and Space Solutions When Analyzing Algorithms Programmatically and Mathematically

Image
When addressing a sorting problem programmatically, one must analyze the code to analyze the time and space complexity of the algorithm used. This can be very confusing when learning how to perform code analysis because sometimes the time and space complexity differ from what is listed for the algorithm. Referring directly to the code makes the problem easier to analyze because the code explicitly defines the logic necessary to accomplish a solution. When approaching this problem mathematically, a mathematician could use hashing, a sum formula, or an XOR operation. After solving for x, the mathematician might then check the time and space complexity for the method used. In this scenario, hashing produces an O(N) space complexity and XOR operations produce an O(1) space complexity.  To solve this problem quickly, we can put the array elements in order to see which number is missing as we iterate through the numbers in the array. Clearly, the number 6 is missing. We can write each nu...

The Evolution of Operating Systems: Managing and Organizing Complex Computer Functionality

Operating systems play an influential role in computer interactions. Simple computer interface interactions, such as displaying icons on a desktop, providing folders to store files, and enabling an easy-to-use start menu to navigate systems, all run on the user interface created by the operating system. The operating system loads and runs user software, such as the web browser, a favorite game, or word processors. Without an operating system, users would lose the ability to switch between programs and run multiple programs at once. The operating system allows these seamless operations to exist by ensuring the CPU, memory, and storage efficiently run processes and effectively store data on the hard drive. The operating system decides which users access the computer system and facilitates organized file management to allow users to focus on the task at hand instead of backend processes. Background Information Early batch processing systems emerged in the late 1940s and used punched ca...

Safeguarding the Circle of Trust: The Urgency of Cybersecurity in a Data-Driven World

Malicious attackers leverage vulnerabilities and exploit critical assets through misconfiguration, unpatched systems, insecure protocols, and destructive social engineering attacks. Organizations suffer considerable financial, legal, and reputational damages when bad actors gain unauthorized access to sensitive, personally identifying, financial, health information, and trade secrets. Ginni Rometty, the CEO of IBM, highlights the widespread effect of security threats against modern corporate infrastructures: “Data is the phenomenon of our time. It is the world’s new natural resource. It is the new basis of competitive advantage, and it is transforming every profession and industry. If all of this is true — even inevitable — then cyber crime, by definition, is the greatest threat to every profession, every industry, every company in the world” (Morgan, 2020). She suggests that as data becomes increasingly vital to every aspect of our lives and businesses, the risk posed by cybercrime gr...

Cloud Computing Contract Negotiation: How Mapping Business Requirements and Implementing SLA Monitoring Provides Companies a Safe Place to Fall

  Reliability and performance metrics guide cloud providers and organizations in communicating expectations in their business relationships. While metrics fail to safeguard performance in the cloud, organizations gauge their responses according to the performance the cloud provider defines in the SLA. Organizations hold the responsibility to monitor cloud metrics and adjust software solutions according to the unique implementation of cloud services. Unmet business requirements should be addressed with new solutions that ensure business continuity, data resilience, and quality performance for consumers.  Business requirements, stakeholders, and security teams must be considered when forming cloud agreements. Organizations that leave quality assurance to cloud providers risk harmful security breaches.  While organizations should monitor cloud relationships, the SLA serves as an entry point for analysis rather than an actual agreement with a cloud provider. By establishing s...

Researching Metasploit Framework: A Comparison with Kali Linux for Internal Testing

Metasploit and Kali Linux provide powerful options when performing internal testing, each with its own unique strengths. Metasploit provides an extensive collection of exploits, payloads, and post-exploitation modules that allow penetration testers to quickly test for known vulnerabilities. On the other hand, Kali Linux provides a broader toolkit with customizability to employ specialized tools and techniques beyond exploitation analysis. Organizations seeking penetration testing often identify an area for analysis.  Considering the scope of various tools allows a penetration tester to adapt to different testing environments. Experimenting with various tools and deciding which tool works best for you holds value; however, one must recognize that the tool you choose is dependent on the company you contract with and the job at hand. Organizations often specify the tools they permit you to use when interacting with their systems in writing. Compliance requirements often shape vulnerab...

Successful DevOps Operations: The Importance of Logging and Application Monitoring in DevOps Pipelines

  DevOps metrics provide powerful insights when facing unexpected issues in the pipeline. Visibility in the continuous delivery process allows DevOps professionals to troubleshoot issues effectively. For example, application metadata at the beginning of a project provides important contextual information regarding compatible software solutions. At the beginning of a project, when software engineers publish code to a version control system, application metadata should be included to ensure effective feature development. Code commit times assist DevOps professionals in discovering where an error took place, especially if the error exists in the code itself. During the build phase, build times allow DevOps engineers to assess performance bottlenecks that cause delays in the pipeline by adequately assessing where the problem begins. Similarly, detailed tests during the test phase allow DevOps engineers to apply test-related solutions as solutions to problems. By reviewing test logs, De...