id: readme
aliases: []
tags: []
area: ""
project: ""
Eduuh's Byte Safari
This repository is designed to store my public notes and related source code together.
Objective
- Knowledge Repository: Functions as an Obsidian vault, storing notes in Markdown format for easy organization and reference.
- Learning Hub: A space for continuous growth, focusing on Data Structures & Algorithms (DSA), frameworks, and Neovim configuration.
1. Data Structures & Algorithms (DSA)
Goals
- Unified Solution Format: Build each solution in one file, with reusable test cases that work across different programming languages.
- Language Diversity: Solve problems in various languages to improve proficiency in different syntax's and paradigms.
- Repository Growth: Expand the repository as new concepts and solutions are learned.
- Fast Debugging: Leverage Neovim DAP (Debug Adapter Protocol) for efficient debugging.
Future DSA Enhancements
- Automated Question Downloads: Integrate tools to download questions from platforms like LeetCode, Codeforces, or other online judges, and automate solution submissions.
- Competitive Programming Bootstrap: Set up a development environment for competitive programming with quick-start templates.
- Interactive Challenges: Incorporate tools like embedded code-runners on my
blog, visualization tools.
2. Framework Exploration (Any Language)
Core Principles
- Sandbox for Ideas: Provide an isolated environment to experiment with ideas and frameworks without waiting for lengthy build times.
- Cross-Language Testing: Experiment with various frameworks across different programming languages.
Future Additions
- Template Generator: Create a script or tool to generate boilerplate code for common frameworks, facilitating rapid experimentation.
- Framework Comparison: Set up benchmarks to evaluate different frameworks based on performance, ease of use, and scalability.
3. Neovim Configuration Testing
Purpose
- Stability and Reliability: Dedicated to testing and maintaining the stability of my Neovim configuration by experimenting with plugins, themes, and settings.
Testing Approach
- Isolated Config Environment: Test new configurations or plugins in an isolated environment to avoid breaking the main setup.
- Performance Monitoring: Regularly check the performance of the setup to ensure it remains lightweight and efficient.
- Version Control: Use version control to track changes in configuration, ensuring compatibility and easy upgrades.
4. Competitive Programming Roadmap
Immediate Goals
- Regular DSA Practice: Tackle DSA problems regularly to build proficiency in both theory and implementation.
- Solution Review: Continuously review and optimize existing solutions for better coding practices and efficiency.
Mid-Term Goals
- Multi-Language Proficiency: Solve problems in at least three different languages to enhance problem-solving flexibility.
- Contest Participation: Actively participate in platforms like LeetCode, Codeforces, and AtCoder using the setup.
Long-Term Goals
- Automated Workflow: Establish an automated workflow for downloading problems, solving them locally, and submitting solutions directly via CLI.
5. Ideas for Growth
- Versioned Solutions: Maintain different versions of DSA solutions to compare approaches and performance.
- Comprehensive Documentation: Develop thorough documentation to make the repository a useful reference for future use.
- Modular Learning: Organize solutions into categories based on topics such as sorting, graphs, dynamic programming, and more.
- Code Challenges: Set up daily or weekly coding challenges to maintain consistency in learning and problem-solving.
Related Repos
- nvim Configuration
- HomeLab
- dotfiles - Base Configuration