கைவிடப்பட்ட ஒவ்வொரு ரெபாசிட்டரியும் ஒரு காலத்தில் அதிகாலை 2 மணி ஆவேசமாக இருந்திருக்கும். அந்தத் தாளம் உங்களுக்குத் தெரியும். நள்ளிரவோடு அந்த யோசனை மின்னலெனத் தோன்றும். உங்கள் காபி ஆவதற்கு முன்பே நீங்கள் அந்த ரெபாசிட்டரியின் அடித்தளத்தை அமைப்பீர்கள். ஒரு விஷயத்தை இறுதியாகக் கண்டுபிடித்துவிட்டோம் என்ற வெறித்தனமான ஆற்றலுடன் பதினொரு நாட்களுக்குத் தொடர்ந்து கோட் (code) புஷ் செய்வீர்கள். பிறகு அந்தத் தொடர்ச்சி நின்றுவிடும். அல்லது ஏதோ ஒரு தொழில்நுட்பக் கோளாறு ஏற்படும். அல்லது ஒரு சாதாரண செவ்வாய்க்கிழமை மாலையில் நீங்கள் அந்த கோடைத் திறக்கும்போது, அந்த ஆர்வத்தின் நூல் அறுந்து போயிருக்கும்.
பெரும்பாலான டெவலப்பர்கள் இந்தத் தடையை சுமப்பதேண்டுமே. இது ஒருவித வருத்தம் அல்ல, மாறாக "அப்படிச் செய்திருந்தால் என்ன ஆகியிருக்கும்?" என்ற அமைதியான ஒரு பட்டியல் போன்றது. உங்கள் GitHub ப்ரொஃபைல் நல்ல எண்ணங்களின் ஆவணக்காப்பகமாக மாறிவிடும். Side Project Cemetery உருவாக்கியவர் இந்தச் சிக்கலை நேரடியாக எதிர்கொள்ளும் ஒன்றை உருவாக்கியுள்ளார். அவரது கருவி உங்கள் பொதுவான ப்ரொஃபைலை ஒரு நிலவொளி வீசும் மயானமாக மாற்றுகிறது; அங்கு ஒவ்வொரு பழைய ரெபாசிட்டரிக்கும் ஒரு கல்லறைத் கல், ஒரு இறப்புத் தேதி மற்றும் அவ்வப்போது ஒரு நகைச்சுவை வரிகள் இருக்கும்.
மயானம் வளர்கிறது
பக்காவாகத் திட்டமிடப்படாத Side projects சாதாரண காரணங்களுக்காகவே இறந்துவிடுகின்றன. நீங்கள் ஒரு புதிய framework-ஐக் கற்க விரும்பினீர்கள், அதனால் ஒரு CLI கருவியை உருவாக்கினீர்கள். ஒரு spreadsheet-ஐத் தானியக்கமாக்க விரும்பினீர்கள், அதனால் ஒரு Python wrapper எழுதினீர்கள். அந்த முன்மாதிரி (prototype) உங்கள் சிக்கலைத் தீர்க்கும் அளவுக்கு நன்றாகவே இருந்தது, அவ்வளவுதான் அது முடிந்துவிட்டது. அங்கு காத்திருக்கும் பயனரோ, நீங்கள் முடிக்க வேண்டும் என்று கட்டாயப்படுத்தும் காலக்கெடுவோ அல்லது நிலைமையை அறியக் கேட்கும் மேலாளரோ யாரும் இல்லை. வெளிப்புற அழுத்தம் இல்லாதபோது, ஊக்கம் மட்டுமே முழுப் பொறுப்பையும் சுமக்க வேண்டும். ஊக்கம் குறையும்போது, அந்தத் திட்டம் அப்படியே உறைந்துவிடுகிறது.
ஒரு சாதாரண டெவலப்பரின் GitHub பக்கத்தைப் பார்த்தால், அந்தப் பாணியையே நீங்கள் காண்பீர்கள். ஒரு ரெபாசிட்டரிக்கு துருப்பிடித்த நிறத்தில் இருக்கும் contribution graph. “TODO: write tests.” என்று முடிவடையும் ஒரு README. ஆறு மாதங்களுக்கு முன்பே சரிவில் விழுவது போன்ற ஒரு commit history. இந்த ரெபாசிட்டரிகளை நாம் சங்கடமான நினைவுகளாகக் கருதுகிறோம். முடிக்கப்படாத கோட் என்பது மறைக்கப்பட வேண்டிய ஒன்று என்பது போல, அவற்றை நாம் வேகமாகத் தள்ளிவிடுகிறோம். Side Project Cemetery இதற்கு நேர்மாறான நிலைப்பாட்டை எடுக்கிறது. அது சொல்கிறது: அவற்றை முறையாகப் புதைக்கவும். அவற்றை அங்கீகரிக்கவும். பிறகு, நீங்கள் விரும்பினால், ஒன்றைத் மீண்டும் உயிர்ப்பிக்கவும்.
மயானம் எவ்வாறு செயல்படுகிறது
இதன் இடைமுகம் (interface) மிகவும் எளிமையானது. நீங்கள் எந்தவொரு GitHub பயனர் பெயரைத் தட்டச்சு செய்யலாம். அந்த ஆப் GitHub REST API-ஐக் கேட்டு, அனைத்து பொதுவான ரெபாசிட்டரிகளையும் எடுத்து, கடந்த நூற்றுஎண்பது நாட்களாக எந்தப் பதிவும் (push) இல்லாதவற்றை வடிகட்டுகிறது. ஒவ்வொரு முடிவும் ஒரு கல்லறையாக மாறுகிறது. நீங்கள் அதன் உருவாக்கப்பட்ட ஆண்டு, இறப்பு ஆண்டு மற்றும் அந்த ரெபாசிட்டரியின் விவரங்களிலிருந்து உருவாக்கப்பட்ட ஒரு இரங்கல் செய்தியைக் காணலாம்.
சில இரங்கல் செய்திகள் மென்மையாக இருக்கும்:
- JavaScript-இல் எழுதப்பட்டது. callback exhaustion-ஆல் இறந்தது.
மற்றவை வரலாற்றை இன்னும் நகைச்சுவையாகக் கூறும்:
- இறந்துவிடவில்லை. 2025 முதல் தீவிரமாக நிறுத்தி வைக்கப்பட்டுள்ளது.
உங்களுக்கு இன்னும் கூடுதல் சுவாரஸ்யம் வேண்டுமென்றால், விருப்பத்தேர்வாக Gemini integration-ஐப் பயன்படுத்தலாம். அந்த AI, ரெபாசிட்டரியின் மொழி மற்றும் சூழலைப் படித்து, வெறும் வார்ப்புருவாக (template) இல்லாமல், அந்தத் திட்டத்திற்கே உரிய தனித்துவமான இரங்கல் செய்திகளைத் தயாரிக்கும். மேலும், ElevenLabs integration மூலம் அந்த இரங்கல் உரையைச் சத்தமாக வாசிக்க முடியும். இது ஒரு வெறும் விளையாட்டு போலத் தோன்றலாம், ஆனால் உங்கள் கைவிடப்பட்ட API wrapper-ஐ ஒரு சோகமான கதைசொல்லியின் குரலில் கேட்கும்போது அதன் உணர்வு புரியும். அந்தத் தருணத்தில், அந்த அபத்தம் உங்கள் குற்ற உணர்வை உடைத்துவிடும்; உண்மையில் அந்தத் திட்டத்தை புதைத்து வைத்திருந்தது அந்த குற்ற உணர்வுதான்.
Rekindle: மன அழுத்தத்திற்கு எதிரான ஒரு பொத்தான்
மயானம் என்பது பாதி விஷயம் மட்டுமே. உண்மையான அம்சம் ஒவ்வொரு கல்லறைத் கல்லுக்கு அடியிலும் மறைந்துள்ளது: அதுதான் Rekindle பொத்தான். அதை அழுத்தினால், அந்த ஆப் உங்கள் README-ஐப் படிக்கும். திட்டத்தின் நோக்கம் குறித்து நீங்கள் எழுதியவற்றைப் பகுப்பாய்வு செய்து, தற்போதுள்ள கோடுடன் ஒப்பிட்டு, நீங்கள் ஏன் அதைத் தொடங்கினீர்கள் என்பதை நினைவூட்டும் ஒரு சிறிய அறிமுகத்தை எழுதும். பிறகு, இன்று இரவே நீங்கள் செய்யக்கூடிய ஒரு சிறிய, உறுதியான செயலோடு அது முடிவடையும். அது ஒரு நீண்ட திட்ட வரைபடம் (roadmap) அல்ல, அல்லது ஒரு பெரிய மாற்றத் திட்டம் (refactor plan) அல்ல. ஒரே ஒரு வேலை. ஐந்து நிமிட வேலை.
இது முக்கியமானது, ஏனென்றால் ஒரு பழைய திட்டத்திற்குத் திரும்புவதில் கடினமான பகுதி கோட் எழுதுவது அல்ல. நீங்கள் எங்கே விட்டீர்கள் என்பதை நினைவுகூர்வதும், நிறுத்தியதற்காக உங்களை நீங்களே மன்னிப்பதும் தான். நீண்ட காலத்திற்கு முன்பு நிறுத்தப்பட்ட ஒரு திட்டம் மிகப்பெரியதாகத் தோன்றும். அதன் கட்டமைப்பை (architecture) மீண்டும் புரிந்துகொள்ளவே மூன்று மணி நேரம் தேவைப்படும் என்று நீங்கள் நினைப்பீர்கள். Rekindle பொத்தான் அந்தத் தயக்கத்தை ஒரு சிறிய 'todo' ஆக மாற்றுகிறது. உங்கள் அடுத்த commit ஐந்து நிமிடத் தொலைவில் இருப்பது போன்ற உணர்வை ஏற்படுத்துவதே இதன் நோக்கம்; ஏனெனில் ஒருமுறை வரலாற்றில் ஒரு சிறிய மாற்றம் (diff) வந்துவிட்டால், அந்த வேகம் மீண்டும் திரும்பத் தொடங்கும்.
ஏன் இந்தத் தொழில்நுட்பக் கட்டமைப்பை இவ்வளவு எளிமையாக வைத்திருக்க வேண்டும்
தொழில்நுட்ப ரீதியாக, இந்தத் திட்டம் தான் சொல்வதையே செய்கிறது. இது vanilla HTML, CSS, மற்றும் JavaScript கொண்டு உருவாக்கப்பட்டுள்ளது. இது GitHub REST API-ஐப் பயன்படுத்துகிறது. இதில் பராமரிக்க வேண்டிய சர்வர்கள் இல்லை, build steps இல்லை, அல்லது ஒவ்வொரு மாதமும் மாறும் புதிய framework-கள் இல்லை. நீங்கள் இதை GitHub Pages-இல் ஹோஸ்ட் செய்துவிட்டுவிட்டுப் போய்விடலாம்.
அந்த எளிமை (minimalism) ஒரு அம்சம், அது சோம்பேறித்தனம் அல்ல. பழைய கோடை உயிர்ப்பிக்கும் ஒரு கருவி, தானாகவே பலவீனமான dependency tree-யைச் சார்ந்திருக்கக் கூடாது. ஒருவேளை Side Project Cemetery-ன் உருவாக்குநர் ஆறு மாதங்களுக்குப் பின் கைவிட்டாலும், அந்த மயானம் அதன் சொந்த மயானத்திலேயே மற்றொரு குடியிருப்பாளராக மாறாது. கோட் எளிதில் புரியக்கூடியதாக இருக்கும். புதுப்பிக்க வேண்டிய webpack configs இல்லை, patch செய்ய வேண்டிய Docker images இல்லை. கருவிகளின் பயன்பாட்டில் கட்டுப்பாடு இருக்க வேண்டும் என்பதற்கான ஒரு அமைதியான வாதமே இது: சில நேரங்களில் ஒரு static site மற்றும் ஒரு API key போதுமானது.
அந்தப் பொத்தான் உண்மையில் எப்போது வேலை செய்கிறது
உருவாக்குபவர், தனது முடங்கிய திட்டங்கள் மேம்படுத்தும் போது தங்களை அழைப்பதாக ஒப்புக்கொள்கிறார். குறிப்பாக ஒன்று, மிகுந்த ஆர்வத்தில் ஒரே இரவில் எழுதப்பட்டு, பின்னர் மறக்கப்பட்ட ஒரு வெறித்தனமான முயற்சியாக இருந்தது. அவர் அதில் 'Rekindle' பொத்தானைப் பயன்படுத்தினார். அந்த ஆப் README-ஐப் படித்து, அதன் கருப்பொருளை நினைவில் கொண்டு, அதை முடிப்பதற்கான ஒரு உண்மையான பணியை மீண்டும் வழங்கியது. அது வேலை செய்தது. அதே வாரத்தில் அவர் அந்த விடுபட்ட பகுதியை முடித்து வெளியிட்டார்.
இதுவே இந்த கருவியின் முக்கிய வாதம். ஆர்வம் இறந்துவிடுவதில்லை; அது ஒரு சிறு உறக்கத்திற்குச் செல்கிறது. கைவிடப்பட்ட பெரும்பாலான களஞ்சியங்கள் (repositories) பொறியியல் தோல்விகள் அல்ல. அவை சூழல் சார்ந்த (context) தோல்விகள். அந்தத் தொடர்ச்சி உங்கள் மனதில் மட்டுமே இருந்ததால் நீங்கள் அதைத் தவறவிட்டீர்கள், மேலும் உங்கள் மனம் மற்ற விஷயங்களுக்குத் திசைமாறிவிட்டது. Side Project Cemetery அந்தச் சூழலை வெளிப்படுத்துகிறது. நீங்கள் உங்கள் கடந்த காலத் தேவைகளை மீண்டும் ஆரம்பத்திலிருந்து உருவாக்கத் தேவையில்லை என்பதற்காக, இது README-ஐப் படிக்கிறது.
உண்மையான அளவுகோல் நீங்கள் எத்தனை களஞ்சியங்களை மீண்டும் உயிர்ப்பிக்கிறீர்கள் என்பது அல்ல. எத்தனை களஞ்சியங்களைப் பற்றி நீங்கள் சங்கடமாக உணருவதை நிறுத்துகிறீர்கள் என்பதே ஆகும். நீங்கள் தயாராகும் வரை, அந்தத் திட்டங்கள் ஓய்வெடுக்க இந்தச் சுடுகாடு ஒரு இடமளிக்கிறது. நீங்கள் தயாரானதும், அது உங்களுக்கு ஒரு மண்வெட்டியையும் ஒரு சிறிய அறிவுரையையும் வழங்குகிறது: இங்கிருந்து தொடங்குங்கள்.
உங்கள் யோசனைகள் புதைந்து கிடப்பதைத் தடுத்து நிறுத்துங்கள்.
https://pyaroslav.github.io/side-project-cemetery/ என்ற முகவரியில் இந்தச் சுடுகாட்டிற்குச் செல்லுங்கள், மேலும் Dev.to தளத்தில் முழுமையான உருவாக்கக் கதையை இங்கே படிக்கவும்.
