I now focus on DevOps/Infrastructure automation - see my AWS/Terraform projects.
A personal commitment to code for 500 days, six days a week (Monday through Saturday), while observing the Sabbath rest on Sundays.
The 6/7 Coding Challenge is a structured approach to mastering software engineering through consistent practice while respecting the importance of regular rest. The "6/7" represents coding for six days each week while resting on the seventh (Sabbath).
You're currently in: Phase 1: Day 1
# Clone the repository
git clone https://github.com/yourusername/6-7-coding-challenge.git
cd 6-7-coding-challenge
# Install the Ruby-based setup script
mkdir -p ~/bin
cp scripts/cc-installer.rb ~/bin/
chmod +x ~/bin/cc-installer.rb
# Run the installer
ruby ~/bin/cc-installer.rb
# Source your .zshrc or restart your terminal
source ~/.zshrc
# Start your first day
ccstart
After installation, these commands will be available:
Command | Description |
---|---|
ccstart |
Start the day's coding session in tmux |
cclog |
Record your progress in the weekly log |
ccpush |
Commit changes and increment the day counter |
ccstatus |
Show your overall challenge progress |
ccconfig |
View or modify your configuration |
ccupdate |
Update scripts to the latest version |
ccbackup |
Backup logs and configuration |
ccrestore |
Restore logs from a backup |
ccuninstall |
Remove scripts and configuration |
The 6/7 Coding Challenge includes several powerful features to enhance your learning journey:
Maintain your progress across different computers or through system changes:
- Local Backup: Save logs to a timestamped directory in your home folder
- Git Repository: Create special branches for logs in your repository
- Custom Location: Specify any directory for your backup
- Simple Restore: Easily restore from any backup source with
ccrestore
# Create a backup of your logs
ccbackup
# Restore from a previous backup
ccrestore
Adapt your challenge structure without losing past progress:
- Interactive Configuration: Update phases with guided prompts
- Customizable Structure: Modify phase names, directories, and durations
- Safe Updates: Change your challenge structure without losing logs
# Update configuration interactively
ccconfig --interactive
# Update specific phase information
ccconfig --set "challenge.phases.1.name=New Phase Name"
Never lose track of your progress, even if you forget to log:
- Log Previous Days: Add entries for days you've completed but forgotten to log
- Chronological Ordering: Automatically places entries in the correct sequence
- Duplicate Handling: Smart replacement of existing entries
# Log the current day (standard usage)
cclog
# Log a specific previous day
cclog 5 # Logs day 5 retroactively
Start each day with well-structured project templates:
- Phase-Specific Templates: Tailored for different technologies
- Consistent Structure: Maintain a uniform approach across your challenge
- Customizable: Adapt templates to your specific needs
- Start your day: Run
ccstart
to set up your environment - Write code: Work on your daily project
- Document: Fill in your README.md with goals and reflections
- Log progress: Run
cclog
to update your weekly log - Commit: Run
ccpush
to commit changes and increment day counter
The challenge is highly customizable. Here are some examples of how you might structure it:
A simple 500-day coding journey:
- Phase 1: Coding Challenge - 500 days of consistent practice
A comprehensive programming language journey:
-
Phase 1: Backend Fundamentals (100 days)
- Building server-side applications and mastering core language concepts
-
Phase 2: Data Science & Analysis (100 days)
- Working with data processing, visualization, and analysis tools
-
Phase 3: Frontend Development (100 days)
- Creating responsive user interfaces and interactive experiences
-
Phase 4: Full-Stack Projects (100 days)
- Integrating backend and frontend in complete applications
-
Phase 5: Specialization (100 days)
- Focusing on a specific area like ML, mobile development, or cloud
A focused project creation journey:
-
Phase 1: Learning Fundamentals (100 days)
- Mastering core technologies and concepts
-
Phase 2: Building Projects (200 days)
- Creating 10 complete projects of increasing complexity
-
Phase 3: Advanced Specialization (200 days)
- Focusing on large-scale applications in your desired specialty
For more detailed information, check out these guides:
- Getting Started: Complete setup instructions
- About the Challenge: Philosophy and motivation
- Customization Guide: How to tailor the challenge to your needs
- Project Templates: Templates for each phase
- Documentation Index: All available documentation
This challenge follows several key principles:
- Mastery over Surface Knowledge: Focus on deep understanding
- Consistency over Intensity: Regular, moderate practice
- Application over Theory: Hands-on projects
- Documentation over Silent Progress: Regular reflection
- Structure over Randomness: Organized approach
- Rest as Essential: Recognition that regular rest enhances productivity
This project was developed with assistance from Anthropic's Claude AI assistant, which helped with:
- Documentation writing and organization
- Code structure suggestions
- Troubleshooting and debugging assistance
Claude was used as a development aid while all final implementation decisions and code review were performed by the original creator.
This project is licensed under the MIT License - see the LICENSE.txt file for details.
This is a personal development and learning project. The code is provided as-is, with no guarantees or warranties. By using this codebase, you agree to use it at your own risk.