intro
Published: 2023-09-09 00:58:00



Hello, I'm Sufiyan Mustafa. I'm really excited to be a part of this open source development course. I've always been passionate about technology and the collaborative nature of open source projects has always intrigued me. I believe it's a powerful way to contribute to the community while honing my coding skills.

Why I'm Taking This Course:

I'm taking this course because I want to delve deeper into the world of open source development. I believe it's not just a way to enhance technical proficiency, but also an opportunity to work on meaningful projects with a community of like-minded individuals. Additionally, open source development aligns perfectly with my aspiration to build a career in software engineering.

What Attracted Me to Open Source:

The idea of contributing to projects that have a broader impact on the community is what initially drew me towards open source. The transparency, collaborative spirit, and the opportunity to learn from experienced developers are aspects I find truly captivating. I'm eager to be a part of a community that's not only dedicated to creating exceptional software but also fostering a culture of knowledge sharing.

Goals for This Term:

This term, I hope to gain a comprehensive understanding of open source development practices. I aim to actively participate in projects, learn from my peers, and make meaningful contributions to the community. Specifically, I'm interested in projects related to java and c++.

Kinds of Projects I Want to Work On:

I'm particularly interested in projects related to coding in javascript and c++. For instance, I'm keen on contributing to web development projects that utilize c++. Additionally, I'm also intrigued by projects focusing on cybersecurity and AI. This diversity in projects will not only help me diversify my skill set but also allow me to explore different facets of open source development.

GITHUB REPO I CHOSE:
https://github.com/gabime/spdlog spdlog is a logging library for C++. It is designed to be very fast and efficient. It provides both header-only and compiled versions for easy integration into your projects. The library is known for its speed, which is demonstrated by the benchmarks provided in the repository.

Why choose spdlog?
Speed and Efficiency: spdlog is optimized for performance. It provides various logging options, including asynchronous logging, to minimize any impact on the performance of your application.

Ease of Integration: You can choose to use the header-only version by copying the include folder into your build tree. Alternatively, you can use the compiled version for faster compile times.

Cross-Platform Support: spdlog supports a wide range of platforms, including Linux, FreeBSD, OpenBSD, Solaris, AIX, Windows, macOS, and Android.

Feature-Rich Formatting: It uses the excellent fmt library for feature-rich formatting options.

Flexibility: spdlog supports various log targets, including rotating log files, daily log files, console logging (with color support), syslog, Windows event log, and more.

Customizability: You can easily extend spdlog with custom log targets or create your own formatting options.

Runtime and Compile-Time Log Level Modification: You can modify log levels at both runtime and compile time, allowing for flexibility in debugging.

Backtrace Support: It provides the ability to store debug messages in a ring buffer for later retrieval, which can be useful for debugging in specific scenarios.

Usage Samples: The repository provides comprehensive usage samples and examples for various logging scenarios, making it easy to get started.

Benchmarks: The repository includes benchmarks that demonstrate the performance of spdlog in various scenarios, showing its efficiency.

Support for User-Defined Types and Flags: spdlog allows you to define custom formatters for user-defined types and custom flags in log patterns.

Support for Android: It includes support for logging to Android's logcat.