কীভাবে কাজ করে : ফ্ল্যাশকার্ড
আপনার ঝালিয়ে নেওয়ার সময়সূচি আপনার নিজের ফাইলেই বাস করে, আমাদের কোনো ডেটাবেসে নয়: আপনি সেটি রাখেন, ঝালিয়ে নেন, আবার বের করে নেন। কোনো অ্যাকাউন্ট নেই, কোনো চাঁদা নেই, আর পরিষেবাটি বন্ধ হয়ে গেলেও ফিরিয়ে নেওয়ার কিছু নেই, কারণ কোনো পরিষেবাই নেই।
ফ্ল্যাশকার্ডের অ্যাপগুলি একটি অ্যাকাউন্ট চায়, আপনার সেটগুলি নিজেদের সার্ভারে রেখে দেয়, আর যেদিন তারা বন্ধ হয়ে যায় বা তাদের ব্যবসার ধরন বদলায় সেদিন আপনি সবই হারান। অথচ কার্ডের একটি সেট মানে দুই কলামের একটি ফাইল, আর ব্যবধান পুনরাবৃত্তির একটি পদ্ধতি পাঁচ লাইন নিয়মেই ধরে যায়। এর কোনোটিরই কোনো সার্ভার লাগে না।
এখানে সেটটি এমন একটি ফাইল যা আপনি রাখেন আর যা আপনার কাছেই থেকে যায়। আপনি ট্যাবের ভিতরেই ঝালিয়ে নেন; শেষে সরঞ্জামটি আপনাকে এমন একটি ফাইল ফিরিয়ে দেয় যাতে আপনার কার্ডগুলি আছে আর প্রতিটি কার্ড কোন তারিখে আবার দেখতে হবে তাও আছে। এই ফাইলটিই আপনার অগ্রগতি বয়ে চলে: আমরা তার বিন্দুমাত্র চিহ্নও রাখি না, কোনো সার্ভারেও নয়, এমনকি আপনার ব্রাউজারের মেমরিতেও নয়।
এর একটি ফল আছে যা সঙ্গে সঙ্গেই বলে দেওয়া দরকার, কারণ পরে জানলে সেটি সরঞ্জামটির বিরুদ্ধেই যায়: ক্লাসের শেষে আপনি যদি ফাইলটি আবার বের করে না নেন, তবে আপনার অগ্রগতি হারিয়ে যায়। প্রতিশ্রুতিটির দাম ঠিক এটাই, আর আপনার ডিভাইসে চুপিচুপি একটি ডেটাবেস বসিয়ে দেওয়ার চেয়ে কথাটা লিখে রাখাই আমরা ভালো মনে করি।
কীভাবে কাজ করে
- দুই কলামের একটি ফাইল তৈরি করুন, আগে প্রশ্ন তারপর উত্তর, কোনো স্প্রেডশিট থেকে CSV-তে বা JSON-এ। সেটি রাখুন।
- ঝালিয়ে নিন: প্রশ্নটি দেখা যায়, আপনি কার্ডটি উল্টে দেন, আপনি বলেন আপনি জানতেন কি না। প্রতিটি উত্তর কার্ডটিকে একটি বাক্সে সরিয়ে দেয়, আর বাক্সটিই পরের তারিখটি ঠিক করে।
- শেষে সেটটি বের করে নিন। প্রাপ্ত ফাইলটিতে আপনার কার্ডগুলি তাদের বাক্স আর তাদের ঝালিয়ে নেওয়ার তারিখসহ থাকে: পরের বার আপনি এটিই আবার রাখবেন।
গৃহীত ফরম্যাট
দুটি কলামই যথেষ্ট: প্রশ্ন, তারপর উত্তর। ফাইলটিতে যদি এর উপরে একটি “boite” কলাম আর একটি “revoir” কলাম থাকে, সেগুলিও পড়া হয়: এভাবেই আগে ঝালিয়ে নেওয়া একটি সেট যেখানে থেমেছিল সেখান থেকেই আবার শুরু করে। CSV-র বিভাজকটি মেপে নেওয়া হয়, আন্দাজ করা হয় না।
কলামে সাজানো একটি সেট
কমা, সেমিকোলন, ট্যাব আর খাড়া দাগের মধ্য থেকে বিভাজক মেপে নেওয়া হয়। উদ্ধৃতিচিহ্নে ঘেরা ঘর, জোড়া উদ্ধৃতিচিহ্ন আর ঘরের ভিতরের লাইন বদল সবই সামলানো হয়: তাই একটি কার্ডে বিরামচিহ্নসহ গোটা একটি বাক্যও থাকতে পারে।
JSON-এ একটি সেট
অবজেক্টের একটি অ্যারে। চেনা চাবিগুলি হল question আর reponse (অথবা recto আর verso, অথবা front আর back), আর সময়সূচির জন্য boite আর revoir। অন্য যেকোনো চাবি বের করে নেওয়ার সময় যেমন আছে তেমনই রেখে দেওয়া হয়: সরঞ্জামটি যা বোঝে না তা ফেলে দেয় না।
সাদামাটা লেখায় একটি সেট
লাইনপ্রতি একটি কার্ড, প্রশ্ন আর উত্তর একটি ট্যাব দিয়ে আলাদা করা। হাতে বানানোর পক্ষে এটিই সবচেয়ে সহজ ফরম্যাট, আর কোনো স্প্রেডশিট থেকে কপি করলে এটিই তৈরি হয়।
এর সীমা
সেটের 5 মেগাবাইট
পাঁচ মেগাবাইট লেখা মানে কয়েক দশ হাজার কার্ড, অর্থাৎ একজন মানুষ যত ঝালিয়ে নেয় তার ঢের বেশি। সীমাটি একটি ফোনের মেমরি বাঁচায়, আর ট্যাব জমিয়ে দেওয়ার বদলে সরঞ্জামটি কথাটা বলে দেয়।
কিছুই জমা রাখা হয় না: অগ্রগতি আপনার বের করে নেওয়া ফাইলেই বাস করে
এই সাইটের নিয়ম আপনার তথ্য আপনার ডিভাইসে লেখা নিষেধ করে, এমনকি ব্রাউজারের স্থানীয় জায়গাতেও, কারণ স্থানীয় একটি জায়গা আপনার অজান্তেই পড়া যায়, ব্যাকআপে যায় আর অন্য ডিভাইসের সঙ্গে মিলিয়ে নেওয়া হয়। ফলটি স্পষ্ট: ফাইলটি বের করে না নিয়ে ট্যাবটি বন্ধ করলে সেই ক্লাসটি হারিয়ে যায়। এটি একটি সীমা, এটি সত্যিকারের, আর সঙ্গে যে নিশ্চয়তাটি আসে তার দামও আছে: আপনি কী জানেন আর কী জানেন না, তার কোনো তালিকা কোথাওই নেই।
পদ্ধতিটি বাক্সের একটি ব্যবস্থা, নিজে থেকে মানিয়ে নেওয়া কোনো অ্যালগরিদম নয়
পাঁচটি বাক্স, ঠিক উত্তর দিলে এক বাক্স উপরে ওঠা, ভুল উত্তর দিলে প্রথম বাক্সে ফিরে আসা, আর বাক্সটিই ব্যবধানটি ঠিক করে দেয়। এটি Sebastian Leitner-কে দেওয়া শেখার বাক্সের কাঠামোটিই, একটি ফাইলে সরিয়ে আনা; আমরা তাঁর বইটি পড়িনি, সেটি অবাধে পাওয়া যায় না, তাই তাঁর সংখ্যাগুলির উল্লেখ না করেই আমরা নীতিটির বর্ণনা দিই। আমরা SM-2-ও ব্যবহার করি না, FSRS-ও নয়, আর দুটিই সত্যিকারের আর দিব্যি ব্যবহারযোগ্য অ্যালগরিদম: প্রথমটি তার লেখকই প্রকাশ করেছেন আর স্বত্বের উল্লেখ দিলে সেটি ব্যবহার করা যায়, দ্বিতীয়টি মুক্ত লাইসেন্সে। আমরা এমন একটি নিয়ম বেছে নিয়েছি যা এক বাক্যেই ধরে যায়, কারণ যে নিয়ম পড়া যায় সেই নিয়ম যাচাইও করা যায়।
1, 3, 7, 16 আর 35 দিনের ব্যবধানগুলি আমাদেরই পছন্দ, আর সেগুলি কোনো প্রকাশনা থেকে আসেনি
এটি গুরুত্বপূর্ণ, কারণ এই পাঁচটি সংখ্যা সব জায়গায় ঘুরে বেড়ায় আর ভুল করেই চেনা সফটওয়্যারগুলির ঘাড়ে চাপানো হয়: SM-2 অ্যালগরিদমটি তার লেখক যেমন সত্যিই প্রকাশ করেছেন তাতে 1 দিন, তারপর 6 দিন, তারপর কার্ড ধরে ধরে গুণ করা একটি ব্যবধান, যার সঙ্গে বাঁধা একটি তালিকার কোনো সম্পর্কই নেই। তাই আমরা সেগুলি কারও ঘাড়েই চাপাই না। অন্যদিকে ব্যবধানের প্রভাবটি শক্তভাবেই প্রতিষ্ঠিত: Cepeda আর তাঁর সহকর্মীদের 2006 সালের বড় সংকলনটি 839টি মাপ আর 317টি পরীক্ষা একসঙ্গে জড়ো করে (আমরা কেবল তার সারসংক্ষেপটিই পড়েছি, পুরো প্রবন্ধটি অবাধে খোলে না)। আর সেই একই দল 2008 সালে এমন একটি ফল প্রকাশ করেছেন যা কোনো সেরা মান প্রতিশ্রুতি দেওয়া নিষেধ করে দেয়: আদর্শ ব্যবধানটি পরীক্ষার আগের সময়ের উপরে নির্ভর করে, কয়েক সপ্তাহ হলে সেই সময়ের প্রায় পাঁচ ভাগের এক ভাগ আর এক বছর হলে কুড়ি ভাগের এক ভাগ। ওই প্রবন্ধটি কিনতে হয় আর আমরা সেটি পড়িনি: আমরা কেবল তার সারসংক্ষেপেরই উল্লেখ করি, তাই আমাদের ব্যবধানগুলি সেরা বলে দাবিও করি না। সেগুলি যুক্তিসঙ্গত, সেগুলি দেখানো হয়, আর বের করে নেওয়া ফাইলটি আপনাকে হাতে সেগুলি শুধরে নিতে দেয়।
শুধু লেখা, ছবি বা শব্দ নয়
ছবিওয়ালা একটি কার্ডের জন্য একটি আর্কাইভের ফরম্যাট, মিডিয়া দেখানোর ব্যবস্থা আর জোড়া ফাইলের সামলানো লাগত, অর্থাৎ অন্য একটি সরঞ্জাম। দুই কলাম লেখাতেই শব্দভান্ডার, সংজ্ঞা, তারিখ, সূত্র আর ক্রিয়ার রূপ ঢেকে যায়, আর কার্ডে মানুষ মূলত এগুলিই ঝালিয়ে নেয়।
খুব চালু একটি স্প্রেডশিট অক্ষরগুলি বেঁকে দেখাতে পারে
কিছু স্প্রেডশিট একটি CSV তখনই ঠিকঠাক খোলে যখন সেটি বাইটের ক্রমের একটি চিহ্ন দিয়ে শুরু হয়, আর অন্যেরা ঠিক তার কারণেই ব্যর্থ হয়। আমরা এখানে সেটি বসাই না, যাতে ফাইলটি এই সরঞ্জামে কোনো চমক ছাড়াই আবার রাখা যায়। আপনার স্প্রেডশিট যদি ভাঙা অক্ষর দেখায়, তবে লেখার কোণের “CSV থেকে JSON, আর উল্টোটাও” সরঞ্জামটি ওই চিহ্নটি তার ব্যাখ্যাসহ দেয়।
এই সরঞ্জাম নিয়ে প্রশ্ন
আমার সেটটি কি কোথাও পাঠানো হয়?
না। F12 বোতাম দিয়ে ইন্সপেক্টর খুলুন, “Network” ট্যাব, তালিকাটি খালি করুন, তারপর আপনার সেটটি রেখে ঝালিয়ে নিন: কিছুই বাইরে যায় না। সংযোগ কেটে দিয়ে আবার করুন, সরঞ্জামটি তবুও চলে। এই সাইটের সব পাতাতেই যাচাইটি একই, আর প্রতিটি প্রকাশের আগে একটি যন্ত্রও সেটি আবার করে দেখে।
আমার অগ্রগতি ব্রাউজারে রেখে দেন না কেন?
কারণ এই সাইটের নিয়ম হল আপনার স্পষ্ট একটি কাজ ছাড়া আপনার কাছে কিছুই না লেখা, আর ব্রাউজারের স্থানীয় জমার জায়গাটি মানুষ যেমন ভাবে তেমন নিরপেক্ষ কোনো জায়গা নয়: একই ঠিকানা থেকে পরিবেশন করা যেকোনো স্ক্রিপ্টই সেটি পড়তে পারে, সেটি প্রোফাইলের ব্যাকআপে চলে যায়, আর কখনও কখনও এক ডিভাইস থেকে আরেক ডিভাইসে মিলিয়ে নেওয়া হয়। আপনি কী জানেন আর কী জানেন না তার একটি তালিকা আপনার সম্পর্কেই একটি তথ্য। আপনি যেখানে খুশি রাখতে পারেন এমন একটি ফাইল বেশি সৎ, আর তার একটি সুবিধাও আছে: সেটি ব্যাকআপে রাখা যায়, পেনড্রাইভে কপি করা যায় আর স্প্রেডশিটে খোলাও যায়।
স্প্রেডশিট থেকে একটি সেট কীভাবে বানাব?
প্রথম কলামে আপনার প্রশ্নগুলি রাখুন, দ্বিতীয় কলামে উত্তরগুলি, তারপর CSV-তে সংরক্ষণ করুন। এটুকুই: শিরোনাম দেওয়া বাধ্যতামূলক নয়, আর আপনার স্প্রেডশিট যে বিভাজকটি ব্যবহার করেছে সেটি পড়ার সময় মেপে নেওয়া হয়, আপনি যে অঞ্চলেই থাকুন। আপনি দুটি কলাম কপি করে একটি লেখার ফাইলে বসিয়েও দিতে পারেন: সেগুলিকে আলাদা করা ট্যাবটি চেনা হয়।
যে কার্ডটি আমি আগে থেকেই জানতাম, তাতে ভুল উত্তর দিলে কী হয়?
সেটি প্রথম বাক্সে ফিরে যায়, তাই পরের দিনই আবার আসে। এটি কড়া, আর বাক্সের ব্যবস্থার নিয়মটাই এই: যে কার্ডটি আয়ত্তে এসেছে বলে ভাবা হয়েছিল আর যেটি আটকে গেল, সেটি আয়ত্তে আসেনি। নামিয়ে দেওয়াটা বড্ড কড়া মনে হলে বের করে নেওয়া ফাইলটিতে বাক্সের নম্বরটি খোলা অবস্থাতেই আছে, আর কোনো স্প্রেডশিটে হাতে সেটি শুধরে নিতে আপনাকে কিছুই আটকায় না।
এটি কি “সত্যিকারের” ব্যবধান পুনরাবৃত্তি?
কথাটির কড়া অর্থে এটি ব্যবধান পুনরাবৃত্তিই: ঝালিয়ে নেওয়াগুলির মধ্যে ব্যবধান আছে, আর সাফল্যের সঙ্গে সঙ্গে ব্যবধানটি বাড়ে। এটি এমন কোনো নিজে থেকে মানিয়ে নেওয়া অ্যালগরিদম নয় যা কার্ড ধরে ধরে ভুলে যাওয়ার সম্ভাবনা আন্দাজ করে, যেমনটা বিশেষায়িত সফটওয়্যারগুলি করে। যে অ্যালগরিদমের সংজ্ঞাটি আমরা হুবহু মানব না তার নাম বলার চেয়ে এমন একটি সরল নিয়ম ঘোষণা করাই আমরা ভালো মনে করি যা আপনি পড়তে আর যাচাই করতে পারেন। শব্দভান্ডার বা তারিখের ক্ষেত্রে ফলের তফাত সামান্য; বছরের পর বছর ধরে প্রতিদিন হাজার হাজার কার্ড ঝালিয়ে নিলে একটি বিশেষায়িত সফটওয়্যার ভালো করবে, আর কথাটা বলে দেওয়াই উচিত।
যেসব কার্ডের সময় এখনও হয়নি, সেগুলি কি ঝালিয়ে নিতে পারি?
হ্যাঁ: সেটাই স্বাভাবিক মোড, যা গোটা সেটটিই নেয়। “কেবল যেগুলি আজ দেখার” মোডটি কেবল আগে ঝালিয়ে নেওয়া একটি সেটেই মানে রাখে, যেহেতু সেটিই তারিখ বয়ে চলে। আগে ঝালিয়ে নিলে কিছুই নষ্ট হয় না, তবে পদ্ধতিটির আসল কথাই তো অপেক্ষা করা: বড্ড তাড়াতাড়ি দেখা একটি কার্ডে সময় যায় অথচ স্মৃতির কোনো উন্নতি হয় না।
আমার কার্ডে ছবি থাকলে?
এই সরঞ্জামটি সেগুলি নেয় না, আর একটি সেট তৈরি করার আগেই কথাটা জানা ভালো। ছবিওয়ালা একটি কার্ডের জন্য এমন একটি আর্কাইভের ফরম্যাট লাগে যা লেখার পাশাপাশি ছবিগুলিও বয়ে নিয়ে যায়, সঙ্গে মিডিয়া দেখানোর ব্যবস্থা আর জোড়া ফাইলের সামলানো: সেটি অন্য একটি সরঞ্জাম, এটির কোনো বিকল্প নয়। লেখাতেই শব্দভান্ডার, সংজ্ঞা, তারিখ, সূত্র আর ক্রিয়ার রূপ ঢেকে যায়, আর সত্যিই ব্যবহার হওয়া ফ্ল্যাশকার্ডে মূলত এগুলিই থাকে।
আপনার ঝালিয়ে নেওয়ার সময়সূচি আপনার নিজের ফাইলেই বাস করে, আমাদের কোনো ডেটাবেসে নয়: আপনি সেটি রাখেন, ঝালিয়ে নেন, আবার বের করে নেন। কোনো অ্যাকাউন্ট নেই, কোনো চাঁদা নেই, আর পরিষেবাটি বন্ধ হয়ে গেলেও ফিরিয়ে নেওয়ার কিছু নেই, কারণ কোনো পরিষেবাই নেই।
যাচাই করুনপ্রমাণ, ধাপে ধাপেনেটওয়ার্ক ইন্সপেক্টর দিয়ে যাচাই, প্রতিটি ধাপ আলাদা করে বলা, সঙ্গে স্ক্রিনশট।
কোণক্লাসঘরের কোণযাঁরা পড়ান তাঁদের জন্য: কাজের চক্রসহ একটি টাইমার, এমন একটি লটারি যা ঠকায় না, PDF-এ অনুশীলন পত্র, আর এমন ফ্ল্যাশকার্ড যার সময়সূচি আপনার নিজের ফাইলেই থেকে যায়।