Note for USERS: @Reach me via [email protected] if you are interested in contributing to this repository.
Tools to develop a good software: A dynamic, multidisciplinary team with experience in both software development and problem solving. The main benefits of teamwork include brainstorming for ideas, personal and professional support, code review, and knowledge sharing and transferrring.
OS for scientific computing purpose: Linux
Tools to store your user id and password: KeePass
Tools to store data (Example: databases, email, file and .. etc.) : data store
Tools that offers version control for the source code or mainting source codes : GITLAB - Cheat sheet, GITHUB - Cheat sheet
Tools that offers version control for the Binaries or Executables : JFrog Artifactory
Tools to quickly build, test, deploy and run applications: Docker
Tools to scale up/down applications: Kubernetes
Tools to developing, scheduling, and monitoring batch-oriented workflows : Apache Airflow
Tools for autonomous building, testing, deploying, CI/CD: Jenkins
Gnuplot templates to create high quality graphics and graphs: xy plots, Mutliple xy plots, histogram
Tools to format the source code: Black, flake8 for Python, Pylint for Python, shfmt for shell script, autopep8, Scalafmt for Scala
Tools to find the unused source code : Vulture, Pyflakes, Pylint
Tools to make good poster and nice graphical images: scribus, GIMP
Tools to format (add, insert, remove and rotate, split, merge or zip) pdf files: pdftools
Tools to maintian databases : SQL, Python Pandas
Tools to convert programming languages : jiphy
Read Parquet data : parquet-tools
Read Json data : Python Pandas
Note Different types of data format used in software development: JSON (stores simple data structures), Parquet (designed for efficient data storage and retrieval). For big data, processing parquet data will be faster.