Printd: টাফ অন-সাইট কন্টেস্টে কোড প্রিন্টিং

ফুরকান সফটওয়্যারে আমরা টাফের জন্য Printd তৈরি করেছি, যাতে অন-সাইট কন্টেস্ট অংশগ্রহণকারীরা সরাসরি কন্টেস্ট UI থেকে তাদের কোডের প্রিন্টেড কপি চাইতে পারেন। দলগত কন্টেস্টে যেখানে একটি কম্পিউটার সবাই মিলে ব্যবহার করেন, সেখানে একজন প্রতিযোগী প্রিন্টের অনুরোধ পাঠিয়ে কাগজে ডিবাগ করতে পারেন এবং দলের বাকিরা নিরবচ্ছিন্নভাবে অন্য সমস্যা সমাধান করতে পারেন — প্রতিটি কম্পিউটারে আলাদাভাবে প্রিন্টার সেটআপ ছাড়াই।

Toph Printd

কেন এটি দরকার

  • নেটওয়ার্ক প্রিন্টার ইনস্টল করা এবং ক্লায়েন্ট মেশিন কনফিগার করা সময়সাপেক্ষ।
  • স্বেচ্ছাসেবীদের উপর নির্ভর করলে এই প্রক্রিয়া আরও ভঙ্গুর হয়ে পড়ে, যা অপ্রয়োজনীয় দেরি ও জটিলতার জন্ম দেয়।
  • Printd ভেন্যুর ভেতরে নির্দিষ্ট কম্পিউটারে প্রিন্টিং কেন্দ্রীভূত করে, ফলে সেটআপ সময় ও নেটওয়ার্ক সংক্রান্ত ঝামেলা কমে।

কীভাবে কাজ করে

Printd একটি স্বতন্ত্র Go বাইনারি যা GitHub থেকে ডাউনলোড করা যায় এবং Linux ও Windows উভয় প্ল্যাটাফর্মে চলে। এটি টাফের দেওয়া একটি TOML কনফিগ ফাইলের সাথে কাজ করে, যেখানে API কি, প্রিন্টার সেটিংস, রুম অ্যাসাইনমেন্ট এবং অন্যান্য রানটাইম অপশন থাকে।

Printd টাফের প্রিন্ট কিউতে নতুন অনুরোধের জন্য অপেক্ষা করে। প্রতিটি জবের জন্য এটি প্রতিযোগীর কোড স্ন্যাপশট নামিয়ে এনে পেজে সাজায় — হেডার ও ফুটারে অনুরোধকারীর হ্যান্ডেল, রুম, সিট এবং টাইমস্ট্যাম্প যুক্ত করে — এবং তারপর লোকাল অপারেটিং সিস্টেমের প্রিন্ট সাবসিস্টেমে জব পাঠায়।

একাধিক Printd ইন্সট্যান্স একই সাথে চালানো যায়, প্রতিটি নির্দিষ্ট রুমের দায়িত্ব নিয়ে। এতে লোড বিতরণ সহজ হয় এবং ডেলিভারি পরিচালনা সুশৃঙ্খল থাকে। উল্লেখ্য, টাফ কন্টেস্ট পর্যায়ে সীমা নির্ধারণ করতে পারে — যেমন প্রতি দলের সর্বোচ্চ পেজ সংখ্যা — এবং Printd জব প্রসেস করার সময় সেই সীমা কঠোরভাবে মেনে চলে।

ডিজাইনের বৈশিষ্ট্য ও সুবিধা

সফটওয়্যারটি একটি একক এক্সিকিউটেবল হিসেবে ডিজাইন করা হয়েছে, কোনো রানটাইম ডিপেন্ডেন্সি নেই, ফলে আয়োজকদের জন্য ডেপ্লয়মেন্ট অনেক সহজ। এটি হোস্ট মেশিনের বিদ্যমান প্রিন্টার সেটআপের সাথে নির্বিঘ্নে কাজ করে — প্রতিযোগীদের ল্যাপটপে নেটওয়ার্ক প্রিন্টার এক্সপোজ করার প্রয়োজন নেই।

এছাড়াও, এটি স্বয়ংক্রিয়ভাবে পেজ মেটাডেটাসহ স্ট্যাম্পড হেডার ও ফুটার যোগ করে, যা ভুল ডেলিভারি কমাতে এবং স্বেচ্ছাসেবীদের দ্রুত সঠিক জায়গায় পৌঁছে দিতে সাহায্য করে।

ব্যবহারে প্রমাণিত

গত কয়েক বছরে আয়োজকরা ৩০টিরও বেশি টাফ অন-সাইট কন্টেস্টে Printd ব্যবহার করেছেন। এটি প্রিন্টার-সংক্রান্ত ঝামেলা কমিয়েছে এবং কন্টেস্ট অভিজ্ঞতাকে আরও সুসংগত করতে সাহায্য করেছে।

Go ডেভেলপার ও কন্ট্রিবিউটরদের জন্য

কোডবেসটি Go দিয়ে তৈরি এবং ওপেন সোর্স। পোলিং ও প্রিন্টিংয়ের জন্য সহজ কনকারেন্সি এবং সহজ ক্রস-প্ল্যাটাফর্ম বিল্ড এর বৈশিষ্ট্য। কন্ট্রিবিউশন স্বাগত — বিশেষত রেন্ডারিং উন্নতির ধারণা যেমন সিনট্যাক্স হাইলাইটিং ও কমপ্যাক্ট লেআউট, পাশাপাশি মেট্রিক্স ও ডেলিভারি ওয়ার্কফ্লো।

এবং যেমন সবসময়, আয়োজক ও প্রতিযোগী উভয়ের জন্য অন-সাইট কন্টেস্ট আরও সহজ করতে আমরা মতামত ও পরামর্শ পেতে সবসময় আগ্রহী।

সোর্স কোড GitHub-এ পাওয়া যাচ্ছে