Nariman Mani's Technical Mind
July 27, 2024
Adapting to the Unexpected: A Lesson in Cybersecurity Risk Management
'No Plan Survives First Contact With the Enemy', this saying, often attributed to military strategists, perfectly encapsulates a crucial aspect of cybersecurity: even the best-laid plans must adapt to unforeseen challenges. This principle is particularly relevant in risk assessment, where flexibility and strategic decision-making are key.
click to read more ...
July 20, 2024
Are Memory Unsafe Languages on Their Way Out? A Closer Look at the July 19, 2024 CrowdStrike Outage
On July 19, 2024, a significant outage impacted CrowdStrike, a leading cybersecurity company, disrupting businesses worldwide. The incident, widely discussed in the tech community, highlighted the vulnerabilities associated with memory unsafe languages, particularly C++
click to read more ...
June 08, 2024
Mastering the Art of Code Reviews: 10 Good Coding Principles
Ever been in a code review and felt that your work truly stood out? In dev teams, the code review process is where we get to showcase our skills, learn from peers, and contribute to a collective standard of excellence. Recently, I came across this insightful infographic from ByteByteGo on '10 Good Coding Principles,' and it perfectly captures what makes our code reviews stand out.
click to read more ...
June 1, 2024
The Case for P.Eng Certification in Software Engineering: A Canadian Perspective
As a software engineer frequently asked whether pursuing the Professional Engineer (P.Eng) designation is worthwhile in our field, I have written this article to explore the relevance and benefits of P.Eng certification for software engineers in Canada. To answer this, let's start with a well-known incident in civil engineering that highlights the importance of the P.Eng designation: the Quebec Bridge Collapse. This tragic event, where engineering miscalculations led to the bridge collapsing twice and resulting in the loss of 88 lives, underscored the critical need for professional accountability and rigorous standards. I also share an incident from our field to emphasize the point. In 2012, Knight Capital Group experienced a software glitch that caused a staggering $440 million loss in just 45 minutes. The glitch was due to a faulty software deployment—something that rigorous testing and professional oversight, like what P.Eng certification emphasizes, could have potentially prevented. In this article, I explore why P.Eng certification, which is highly valued in traditional engineering fields like civil and mechanical engineering, isn't as popular among software engineers. By examining real-world incidents in both software and civil engineering, I highlight how the rigorous standards, ethical obligations, and professional accountability associated with P.Eng certification can lead to safer, more reliable software systems. The goal is to foster a deeper understanding of the value of P.Eng certification and encourage more software engineers to pursue this prestigious credential.
click to read more ...
May 25, 2024
Getting Started with JMeter: A Beginner's Guide to Performance Testing Distributed Systems
This article provides a comprehensive beginner's guide to using Apache JMeter for performance testing of distributed systems. It covers the history and significance of JMeter, outlines a sample distributed system architecture, and details step-by-step instructions for setting up and running JMeter tests. Key metrics such as response time, throughput, and resource utilization are explained, along with methods for identifying and resolving performance bottlenecks and saturated resources. Practical techniques for optimizing system performance are also discussed, making this guide an essential resource for developers and testers looking to ensure their applications can handle expected user loads efficiently.
click to read more ...