Blog Home!

I am an open-source enthusiast and have included this blog section in my portfolio to showcase my passion for Technical Writing, Blogging, Software/API documentation, and Code Documentation. Throughout my career in Software Development, I have gained extensive experience with a variety of documentation tools, including Doxygen, Sphinx, Breathe, and Swagger. If you would like to view my Software Development portfolio, please visit at shivangvijay.github.io . Additionally, during my third-year internship, I honed my skills in Technical Writing, Blogging, Article Writing, and User Guide creation [Link1,Link2]. I am eager to continue developing these skills in my future endeavors.

...
March 5, 2023

Ant Colony Optimization in Path Planning of AGVs

Ant Colony Optimization (ACO) is a metaheuristic optimization algorithm that is inspired by the foraging behavior of ants in their search for food. The algorithm is used to solve optimization problems, such as finding the shortest path between two points, minimizing the cost of a network, or maximizing the efficiency of a system.

Read more →
...
January 17, 2023

Test Driven Development (TDD) in Python

Test-Driven Development (TDD) is a software development process that involves writing tests before writing the actual code. The basic idea is to write a test for the functionality that is needed, see the test fail, then write the code to make the test pass, and finally refactor the code to make it better. In Python, you can use several frameworks for TDD, such as unittest, pytest, and doctest.

Read more →
...
November 1, 2022

Processes and Threads

A major difference between a process and a thread is that each process has its own address space, while a thread does not require a new address space to be created. All the threads in a process can access its shared memory. Threads also share other OS dependent resources such as processors, files, and network connections. As a result, the management overhead for threads is typically less than for processes. Threads, however, are not protected against each other and must carefully synchronize when accessing the shared process resources to avoid conflicts.

Read more →
...
November 3, 2022

Memory Types

This blog covers basic concepts of memory such as cache, virtual, and the structure of memory addresses.

Read more →
...
September 12, 2022

Smart Pointer in C++

Since C++11, the standard library includes smart pointers, which help to ensure that programs are free of memory leaks while also remaining exception-safe. With smart pointers, resource acquisition occurs at the same time that the object is initialized (when instantiated with make_shared or make_unique), so that all resources for the object are created and initialized in a single line of code.

Read more →
Python-Logger
...

I developed Python-Logger and created his user and code documentation using Sphinx and hosted it on Read The Docs. By integrating Jupyter notebooks into the documentation, I have provided users with a more intuitive and streamlined way of learning how to use Python-Logger. Using reStructuredText and Markdown, I was able to create documentation that is both lucid and accessible, leveraging the power of these widely used markup languages. Overall, creating robust and comprehensive documentation is a critical aspect of developing a successful software project, and my efforts to provide clear, concise, and user-friendly documentation are sure to enhance the overall user experience.