Saturday, February 10, 2018

Teaching robots to understand their world through basic motor skills

Robots are great at doing what they’re told. But sometimes inputting that information into a system is a far more complex process than the task we’re asking them to execute. That’s part of the reason they’re best suited for simple/repetitive jobs.

A team of researchers at Brown University and MIT is working to develop a systemin which robots can plan tasks by developing abstract concepts of real-world objects and ideas based on motor skills. With this system, the robots can perform complex tasks without getting bogged down in the minutia required to complete them.
The researchers programmed a two-armed robot (Anathema Device or “Ana”) to manipulate objects in a room — opening and closing a cupboard and a cooler, flipping on a light switch and picking up a bottle. While performing the tasks, the robot was taking in its surroundings and processing information through algorithms developed by the researchers.


download


Sunday, July 2, 2017

ইন্টারনেটের গভীরতায় লুকোনো এক অজানা জগতের নাম ডিপ ওয়েব। ডিপ ওয়েব নামকরনের মূল কারণ হচ্ছে সাইবারস্পেসে এর অসীম গভীরতা যাকে মহাকাশের ব্ল্যাকহোলের সাথে তুলনা করা যায়। আন্তর্জাতিক দৈনিক “দি গার্ডিয়ান” এর মতানুসারে আপনি গুগল এর মত জায়ান্ট সার্চ ইঞ্জিন ব্যবহার করেও ইন্টারনেট জগতের মাত্র ০.০৩% শতাংশের দেখা পান, বাকিটা রয়ে যায় আপনার দৃষ্টির অন্তরালে। ঘটনাটি কিন্তু বড়ই রোমাঞ্চকর। ডিপ ওয়েব সম্পূর্ণ ভাবে অদৃশ্য এক জগত যেখানকার অভ্যন্তরে প্রবেশ করতে চাইলে আপনাকেও হয়ে যেতে হবে অদৃশ্য, যার না নাম আছে না রয়েছে ঠিকানা, যে ধরা ছোঁয়ার বাইরে এক অদৃশ্য সত্তা। এক আলাদা অস্তিত্ব যার উপস্থিতি শুধুমাত্র অনুভব করা সম্ভব তাদের পক্ষেই যারা এই জগতের অভিজ্ঞ বাসিন্দা।
কিভাবে ডিপ ওয়েবে প্রবেশ করা যায়ঃ
ডিপ ওয়েবের নিষিদ্ধ জগতে যে কেউ চাইলেই প্রবেশ করতে পারবে না। আগেই বলেছি গুগল বা ফায়ারফক্স এর মত সার্চ ইঞ্জিন এর সহায়তা নেয়া এখানে পুরো মাত্রায় হবে একটি ব্যর্থ প্রচেষ্টা। ডিপ ওয়েবে প্রবেশ করতে চাইলে জানা থাকা চাই ডিপ ওয়েব সার্চ ইঞ্জিন অথবা ডিপ ওয়েব ব্রাউজার সম্পর্কে। ডিপ ওয়েবে প্রবেশের ক্ষেত্রে সবচেয়ে জনপ্রিয় ব্রাউজার হচ্ছে ‘Tor’। ২০১৪ সালের আগস্ট মাসের একটি সমীক্ষায় দেখা যায় জনসাধারণের মাঝে Tor ব্রাউজার ব্যপক ভাবে জনপ্রিয় হয়ে উঠেছে ও তা ডাউনলোড করছে এমন মানুষের সংখ্যাও বৃদ্ধি পেয়েছে। এর কারণ হিসেবে যুক্তরাষ্ট্র ও যুক্তরাজ্যের গোয়েন্দা সংস্থাগুলোর সাধারণ জনসাধারনের উপর ও তাদের ওয়েবে আদান-প্রদান করা তথ্যের উপর মাত্রাতিরিক্ত নজরদারি করাকে দায়ী করা হয়। সে সময় গোয়েন্দা সংস্থার ব্যাক্তি স্বাধীনতার উপর হস্তক্ষেপ ও ওয়েব ট্রাফিকের উপর নজরদারি জনসাধারণকে ডিপ ওয়েব ব্যবহারের প্রতি নির্ভরশীল করে তোলে। নিজেদের গোপনীয় তথ্য সংরক্ষন খুব ভালোভাবেই করা যাচ্ছিল ডিপ ওয়েবের অদৃশ্য মায়াজাল ব্যবহার করে।
আপনি কি সার্চ করছেন, আপনার আই পি অ্যাড্রেস কি, আপনার জিও লোকেশন সবকিছুই আন্ট্রেসেবল। আপনাকে খুঁজে বের করা অসম্ভবের কাছাকাছি।প্রত্যেক মানুষের কিছু কমন সার্চ হ্যাবিট রয়েছে যা ফরেনসিক এক্সপার্ট, অথবা আইটি এক্সপার্টরা প্রোফাইলিং করতে পারে। যেভাবে গুগল বা ফেসবুক আপনার ইন্টারেস্ট বলে দেয় যা আপনার কুকি হিস্টোরিতে খুঁজে পাওয়া যায়। কিন্তু ডিপ ওয়েবে ‘Tor’ ব্রাউজার ব্যবহার করে আপনি সচরাচর কি সার্চ করেন তা নির্ধারণ করা সম্ভব নয়। তাই যারা এই ডিপ ওয়েব ও ‘Tor’ ব্রাউজার সম্পর্কে জানে তারা এটি ব্যবহার করতেই বেশি স্বাচ্ছন্দ্য বোধ করে।
মাথায় রাখুন যখন আপনি ডিপ ওয়েবে যাবেন আপনার প্রথম প্রয়োজন ‘Tor’ ব্রাউজার।
নর্মাল ব্রাউজার অ্যাড্রেস যেভাবে ব্যবহার করেন একই ভাবে ডিপ ওয়েবের ব্রাউজার অ্যাড্রেস খুঁজে বের করতে পারবেন। খালি টাইপ করতে হবে যা আপনি খুঁজছেন আর আপনার সামনে চলে আসবে অগনিত ডিপ ওয়েব সাইটস।
ডিপ ওয়েবের সকল সাইটস এর ডোমেইন .onion ডোমেইন নামে পরিচিত। অর্থাৎ ওয়েবসাইট প্রোভাইডার ও ইউজার উভয়ই নাম পরিচয়হীন, অজ্ঞাত। যাদের ট্র্যাক করা প্রায় অসম্ভব।
কিছু ডিপ ওয়েব .onion সাইটস
কিভাবে সৃষ্টি হয়েছে ডিপ ওয়েবঃ
বারে বারে অদৃশ্য জগত অদৃশ্য মানব এই সব শব্দের ব্যবহারে আপনার যদি মনে হয় ডিপ ওয়েব জগত টি বেআইনি কাজ ও অপরাধের আঁতুড় ঘর,আপনাদের ধারনাকে পুরোপুরি অস্বীকার করার কোন উপায় নেই। অপরাধ প্রবণতা ও বে- আইনি পন্যের অবাধ বিচরণ রয়েছে ডিপ ওয়েবের অন্ধকার জগতে। উদাহরণ হিসেবে চাইল্ড পর্ণ গ্রাফি ভিডিও, ড্রাগস এর ব্যবসায় এর কথা উল্লেখ করা যায়।তবে প্রযুক্তির ভালো ব্যবহার ও কিন্তু সম্ভব। সত্যি কথা বলতে কি ডিপ ওয়েব আপনার জ্ঞান ভান্ডার ও অভিজ্ঞতাকে এমন ভাবে সমৃদ্ধ করবে যার চিহ্ন আপনি পাবলিক ওয়ার্ল্ড ওয়েব এ কোন দিন ও খুঁজে পাবেন না।
চলুন তবে জানি কিসের খোঁজ পেতে পারি আমরা ডিপ ওয়েবে-
১।মেইল দিয়ে অর্ডার করুন মারিজুয়ানাঃ
গাঁজার নৌকা পাহাড়তলি যায়- এই অদ্ভুত গানটি তো শুনেছেন? ঠিক তেমনই আপনায় গাঁজার রাজ্যে স্বাগতম জানাতে পারে ডিপ ওয়েব। কোন লুকোচুরি নেই, নেই ঠাণ্ডার মাঝে ঝুঁকি নিয়ে কোন ড্রাগ ডিলারের জন্য অপেক্ষা করার ঝামেলা, নেই কোন দর কষাকষি বা নিম্নমানের আশংকা। অর্ডার করুন ঘরে বসে নিজের পছন্দমত পরিমানে নির্দিষ্ট দামে। পেয়ে যান গোল্ডেন নাগেট নামে কুখ্যাত এই মাদক,আর ভাবছেন আপনার হাতে কি করে পৌঁছাবে? পৌঁছে যাবে কোন নির্জন যায়গায় ড্রপ আউট কুরিয়ারের মাধ্যমে অথবা ডি এইচ এল এর মত কুরিয়ার সার্ভিসে( অবশ্যই ভ্যাকুয়াম সিলড প্যাকে বহু প্যাকিং এর ছদ্মবেশে)। আপনার কাছে পৌঁছে যাবে ড্রপ আউট পয়েন্টের জিপিএস লোকেশন। ভাবছেন কিভাবে পেমেন্ট করবেন ডিপ ওয়েবে? তার জন্য ব্যবহৃত হয় বিট কয়েন পলিসি।এটি একটি আনট্রেসেবল অনলাইন পেমেন্ট পদ্ধতি। কিভাবে তা থেকে ক্যাশ আউট করা হয় তার বিস্তারিত আর না বলি।(মারিজুয়ানা নিয়ে বিস্তারিত)
২। সিল্ক রোডঃ
বড় বড় অনলাইন মার্কেট আমাজন বা ই -বেয় এর সাথে তো কম বেশি আপনারা সবাই পরিচিত। ঠিক তেমনি ডিপ ওয়েব এর বিশাল অনলাইন ড্রাগ ও কেমিক্যাল মার্কেট হচ্ছে ‘সিল্ক রোড’। যে কোন কেমিক্যাল বা ড্রাগ অর্ডার করুন, পেমেন্ট করুন বিট কয়েনে, কিছুদিনের মধ্যে আপনার হাতে পৌঁছে যাবে আনট্রেসেবল প্যাকেজ। শুধু ড্রাগ বা ক্যামিকেল নয়, সিল্ক রোডে পাওয়া যায় না এমন কিছুর সম্ভবত অস্তিত্ব নেই। অদৃশ্য ক্রেতা-বিক্রেতার সবচেয়ে জনপ্রিয় মিলনস্থল হচ্ছে সিল্ক রোড। এখানে পন্য বিনিময়ের সাকসেস রেট ৯৭% শতাংশ। যে কোন জিনিস প্রাপ্তির জন্য এরা এমন একটি সিস্টেম ডেভেলপ করেছে যে তাদের বিশ্বাসযোগ্যতা অনেকটা কিংবদন্তীর রূপ ধারন করেছে। ২০১১ সালের ফেব্রুয়ারী মাসে শুরু হওয়া এই ডিপ ওয়েবসাইট আজ পর্যন্ত কোনভাবেই আইনের আওতায় অথবা নিয়ন্ত্রনাধীনে আসেনি। যেখানে একে বলা হচ্ছে ড্রাগের সবচেয়ে বড় মার্কেট।
৩। ভাড়া করতে চান খুনিঃ
ভাবছেন ভুল শুনলেন নাকি? না আপনি ঠিকই শুনেছেন। ডিপ ওয়েবে খুনিও ভাড়া করা যায়। আপনি কারো বেইমানিতে অসন্তুষ্ট। আপনার গার্ল ফ্রেন্ড বা স্ত্রীর উপর ক্ষিপ্ত, কোন সাংবাদিক অথবা ব্যবসায়িক প্রতিদ্বন্দ্বীকে নিশ্চিহ্ন করে দিতে চাইছেন। জনাব আপনি ঠিক জায়গাতেই এসেছেন যার নাম ডিপ ওয়েব সাইট। আপনার টাকা আপনাকে দেবে ক্ষমতা। শুনতে নাটকীয় বা ভয়াবহ শুনালেও এসবই সত্যি। কোন কাল্পনিক গল্পের অস্তিত্ব এখানে নেই। কন্ট্রাক্ট কিলিং এর সবচেয়ে
দামী ডিপ ওয়েবসাইটের নাম White Wolves ও C’Thulhu
৪। BUTTERY BOOTLEGGING:
BUTTERY BOOTLEGGING এমন এক অদৃশ্য মানব দ্বারা সৃষ্ট যাকে ডিপ ওয়েবে সবাই চিনে DANGLER নামে। হাস্যকর হলেও সত্যি DANGLER চুরি-ডাকাতির ব্যপারে এক অসামান্য প্রতিভা। আপনি এমন কিছু পেতে চাইছেন যা কেনা সম্ভব নয় বা সেটি পাওয়াও রীতিমত অসম্ভব ঠিক সেটি চুরি করে হোক বা ডাকাতি করে হোক আপনার হাতে পৌঁছে দিবে। তাহলে ডিপ ওয়েবে চুরি ডাকাতির ও অনেক পেজ আপনি খুঁজে পাবেন। মজার ব্যাপার হচ্ছে আপনি Dangler কে কিছু চুরি করার নির্দেশ দিয়ে পরবর্তীতে পাওনা পরিশোধ না করেন তবে সেই চুরি করা পণ্যটি তার লিস্টে দেওয়া থাকবে যেন অন্য যে কেউ সেটা নিতে পারে। এই পর্যন্ত তার চুরি করা পণ্যের লিস্ট ও তার অর্জন এর ইতিহাস দেওয়া আছে তার ডিপ ওয়েব সাইটে যা যথেষ্ট জনপ্রিয়। তবে মনে রাখবেন DANGLER কে ভাড়া করতে চাইলে যথেষ্ট পরিমান বিটকয়েন রাখতে ভুলবেন না।
৫। মানুষের উপর গবেষণাঃ
ভাবতেও শিউরে উঠতে হয় যে ডিপ ওয়েবে এমন সাইট ও রয়েছে যেখানে মানুষের উপর গবেষণার কথা বলা হয়ে থাকে। সাধারনত ছিন্নমুল মানুষের উপর এইধরনের মেডিকেল এক্সপেরিমেন্ট চালানো হয়ে থাকে। এই সকল মানুষের খোঁজ করার কেউ নেই তাই গবেষণায় এদের মৃত্যু হলেও কারো কিছুই এসে যায় না। এটি এক পারফেক্ট ক্রাইম ঠিক যেন এক পৈশাচিক
গল্প তবু বাস্তব। রাস্তা থেকে তুল আনা এসব মানুষ হয় স্যাডিজম এর শিকার। কি বলবো এদের সম্পর্কে, কি বলবো তাদের যারা এই ধরণের গবেষণায় লিপ্ত? একটি নমুনা দেখুন তাদের বিজ্ঞাপনেরঃ-
গবেষকরা যেভাবে নিজেদের পরিচয় তুলে ধরেঃ
আমরা সবাই মেডিকেল পার্সোনেল। আমাদের টিমে রয়েছে ৩ জন নার্স, ৬ জন মেডিকেল শিক্ষার্থী, ২ জন ইন্টার্ন ও ২ জন বিশেষজ্ঞ চিকিৎসক। আমরা আমাদের অবসর সময়ে গবেষণা চালাই। আমাদের টেস্ট সাবজেক্ট নির্ধারিত সেলে বন্দী অবস্থায় থাকে, প্রয়োজন অনুসারে খাবার ও পানি সরবরাহ করা হয়। পুষ্টি গুন বিচারের প্রশ্ন ওঠে না কারণ কেউই তারা বাঁচবে না। ভাবুন এই মেধাবীদের নিয়ে। আমি আর কিছু বলতে চাচ্ছি না।
তারা যেভাবে টেস্ট রেজাল্ট প্রকাশ করেঃ
এই বিতর্কিত সাইটের অস্তিত্ব নিয়ে অনেক প্রশ্ন থাকলেও বিবেক বোধ ও মনুষ্যত্ব বিহীন এদের সম্পর্কে আমি কিছু বলতে বা ভাবতে ও চাই না। এরা মূর্তিমান দুঃস্বপ্ন।
অস্ত্র কিনতে চাইছেনঃ
ডিপ ওয়েবের একটি সাইটের নাম ইউরো আর্মস যেখানে যে কোন অস্ত্রই চান না কেন খোঁজ পাবেন। অর্ডার করলে তা পৌঁছেও যাবে আপনার দরজায়। অস্ত্রের সহজ লভ্যতা কি না ঘটাতে পারে শুধু ভাবুন একবার। তবে এই সার্ভিসটি বর্তমানে শুধু ইউরোপে প্রচলিত হলেও খুশি হওয়ার কিছু নেই যুক্তরাষ্ট্রে ও
খুব সহজেই অস্ত্র পাওয়া যায়। তাই অনলাইন ভিত্তিক অস্ত্রের মার্কেট এর চাহিদা অন্তত যুক্তরাষ্ট্রে নেই।
ইউরো আর্মস এর মত সাইট অবশ্যই নিরাপত্তায় হুমকি স্বরূপ।
৭। লাগবে ক্রেডিট কার্ড ইনফরমেশনঃ
অনলাইনে কেনা কাটায় সবচেয়ে আগে প্রয়োজন পড়ে একটি ভ্যালিড ক্রেডিট কার্ড ও সোশ্যাল সিকিউরিটি নাম্বারের। ভাবুন আপনি ছুটি কাটাতে গিয়েছেন, আপনার ক্রেডিট কার্ড ব্যবহার করতে গিয়ে জানলেন আপনার কার্ডে যথেস্ট পরিমাণে ব্যালেন্স নেই। কারন অন্য কেউ আপনার কার্ড ব্যবহার
করে টাকা তুলে নিয়েছে। কার্ড ক্লোনের এই ঘটনা যেন নিত্য নৈমিত্তিক ব্যাপার।
এই ধরনের ডিপ ওয়েব সাইট যারা কার্ড ফ্রডের সাথে যুক্ত, ডিপ ওয়েবে যাদের বিশেষ সুনাম রয়েছে তেমন একটি .onion ডিপ ওয়েবসাইটের নাম আটলান্টিক কার্ডিং। তাদের প্রিমিয়াম সার্ভিসে রয়েছে ইনফিনিট কার্ড ইনফরমেশন। যত বেশি মূল্য তত বেশি বিট কয়েন। জেনারেল সার্ভিস পাবেন ৮০$ ইউএস ডলারে। আর কি লাগে?
৮। বেটিং/ ম্যাচ ফিক্সিং স্পটঃ
বাজী ধরতে চাইছেন বড় অংকের? ভাবছেন ম্যাচ ফিক্স করবেন? তার জন্যেও রয়েছে ডিপ ওয়েব সাইট।
ঘোড়া দৌড় থেকে শুরু করে যাবতীয় ম্যাচ ফিক্সিং এর জন্যে বলে গড়ে উঠেছে আলাদা আলাদা ওয়েবসাইট। কেমন করে কাজ করছে তারা তা যারা জড়িত তারাই বলতে পারবেন তবে লেনদেনের মাধ্যম আবারও সেই বিট কয়েন।
৯। লুকোনো WIKI:
এতক্ষন ডিপ ওয়েব .onion সাইটস সম্পর্কে যা বলেছি তা বিশাল আইসবার্গের ক্ষুদ্র অংশ মাত্র। গুপ্তধন তো লুকিয়ে রয়েছে Hidden Wiki তে। ডিপ ওয়েব সম্পকে জানা অজানা সব রয়েছে এই ডিপ ওয়েব পোর্টালে। উইকিপিডিয়া যদি হয় তথ্য ভাণ্ডার তবে Hidden Wiki ডিপ ওয়েবের তথ্যের মহা সমুদ্র। এতক্ষন ধরে যা বলেছি তা এই ডিপ ওয়েব পোর্টাল থেকেই সংগ্রহ করা।( বিস্তারিত)
ডিপ ওয়েবে বিচরন করা এক সাইকোর তথ্য তুলে ধরছি যার কথা Hidden Wiki তে উল্লেখিত আছে। বড়লোক এক ইউরোপীয় ডাক্তার ডিপ ওয়েবে বিজ্ঞাপন দিয়েছিলেন তিনি লাইভ সেক্স টয় বিক্রি করেন। তিনি সত্যি জ্যান্ত মানুষ বিক্রি করছিলেন।তিনি পূর্ব ইউরোপের বিভিন্ন অনাথ আশ্রম ঘুরে এতিম মেয়ে শিশুদের সংগ্রহ করে তাদের অঙ্গপ্রত্যঙ্গ কেটে ফেলতেন,তাদের দাঁত উপড়ে নিতেন, সার্জারি করে তাদের অন্ধ বোবা কালায় রূপান্তরিত করতেন, তাদের গোপনাঙ্গ কে সঙ্কুচিত করতেন এবং মানব সেক্স ডল হিসেবে বিক্রি করতেন। তাদের অঙ্গ প্রত্যঙ্গ দিয়ে লুপ তৈরি করে সো পিস হিসেবে ব্যবহার করতেন। ভেবে দেখুন আমার মনে হয় রাতের ঘুম হারাম করতে এই একটি রেফারেন্স যথেষ্ট। বিশ্বাস করুন নৃশংসতার এই ঘটনা আমি মিষ্টি ভাষায় লিখছি, আসল বিবরন আরও ভয়াবহ।
১০। বর্তমান পরিস্থিতিঃ
যদিও বলা হয়েছিলো যে ডিপ ওয়েবে সহজে কেউ ঢুকতে পারে না। তবে আইন রক্ষাকারী সংস্থা একটু হলেও ডিপ ওয়েবে নাক গলাতে সমর্থ হয়েছে যার প্রমাণ পাওয়া যায় ২০১৪ সালের আগস্টে যে সময় প্রায় ৫০% শতাংশ লুকোনো ডিপ ওয়েবসাইট অদৃশ্য হয়ে গিয়েছিলো যা ছিলো আয়ারল্যান্ড এর এক হোস্টিং অপারেশনের ফলাফল।
একই ধরণের আরেক অপারেশনে যুক্তরাষ্ট্র কর্তৃক গ্রেফতারের শিকার হয় এক আইরিশ এরিক ওয়েন মারকুইস যাকে ডিপ ওয়েব ব্যবহার করে শিশু পর্ণ ছড়ানোর অভিযোগে অভিযুক্ত করা হয়।
Reddit বলেছে মারকুইস ডিপ ওয়েবের সবচেয়ে প্রভাবশালী ব্যক্তিদের একজন যে নাকি ফ্রীডম হোস্টিং নামক ইনফ্রাস্ট্রাকচারের প্রতিষ্ঠাতা যা ডিপ ওয়েব এর অনেক .onion ওয়েবসাইটকে হোস্টিং সুবিধা দিয়েছে। এই কাজে সারা ইউরোপ জুড়ে ৫৫০টি সার্ভার ব্যবহৃত হয়েছে যা যে কাউকে ডিপ ওয়েবসাইটে স্পেস ব্যবহারের সুযোগ করে দিয়েছে।
মারকুইসের পরিবার তার গ্রেপ্তারের প্রতিবাদ জানিয়ে বলে সে তো শুধুমাত্র ওয়েব স্পেস ভাড়া দিয়েছে। কোন অপরাধ বা অবৈধ কর্মকাণ্ডে সে যুক্ত নয়।
জানা যায় এফবিআই এর টেকনিক্যাল টিম টর ওয়েবসাইট হ্যাক করে মারকুইস কে ট্র্যাক করে গ্রেপ্তার করে। এই হ্যাক এর কাজে ব্যবহৃত হয় ম্যালওয়্যার যা পিএইচপি, মাইএস্কিউএল, অ্যাপাচি দিয়ে চালানো সফটওয়্যার কে হ্যাক করতে পারে যার কারনে ফ্রীডম হোস্টিং এর সার্ভার কে হ্যাক করা সম্ভবপর হয়।
ঘটনার পিছে রটনা যাই হোক না কেন এখনো পর্যন্ত ডিপ ওয়েব অজানা রহস্য হয়েই রয়েছে যার প্রাইভেসি ও সিকিউরিটি ভাঙা এত সহজ নয়।

Saturday, October 1, 2016

Whenever I’m TA for a introductory CS class where students learn some programming language, I have trouble coming up with good exercises. Problems from Project Euler and the like are usually much too difficult for beginners, especially if they don’t have a strong background in mathematics.
This page is a collection of progressively more difficult exercises that are suitable for people who just started learning. It will be extended as I come up with new exercises. Except for the GUI questions, exercises are generally algorithmic and should be solvable without learning any libraries. The difficulty of the exercises of course somewhat depends on the programming language you use. The List exercises for example are more complicated in languages like C that don’t have build-in support for lists.
I suppose they are also useful, although much easier, whenever an experienced person wants to learn a new language.
This guide has been translated to Chinese by Fidel Yi. Simple Programming Problems in Chinese

Elementary

  1. Write a program that prints ‘Hello World’ to the screen.
  2. Write a program that asks the user for her name and greets her with her name.
  3. Modify the previous program such that only the users Alice and Bob are greeted with their names.
  4. Write a program that asks the user for a number n and prints the sum of the numbers 1 to n
  5. Modify the previous program such that only multiples of three or five are considered in the sum, e.g. 3, 5, 6, 9, 10, 12, 15 for n=17
  6. Write a program that asks the user for a number n and gives him the possibility to choose between computing the sum and computing the product of 1,…,n.
  7. Write a program that prints a multiplication table for numbers up to 12.
  8. Write a program that prints all prime numbers. (Note: if your programming language does not support arbitrary size numbers, printing all primes up to the largest number you can easily represent is fine too.)
  9. Write a guessing game where the user has to guess a secret number. After every guess the program tells the user whether their number was too large or too small. At the end the number of tries needed should be printed. I counts only as one try if they input the same number multiple times consecutively.
  10. Write a program that prints the next 20 leap years.
  11. Write a program that computes4k=1106(1)k+12k1=4(11/3+1/51/7+1/91/11).

Lists, Strings

If your language of choice doesn’t have a build in list and/or string type (e.g. you use C), these exercises should also be solvable for arrays. However, some solutions are very different between an array-based list and a pointer based list, at least if you care about the efficiency of your code. So you might want to either find a library, or investigate how to implement your own linked list if your language doesn’t have it.
  1. Write a function that returns the largest element in a list.
  2. Write function that reverses a list, preferably in place.
  3. Write a function that checks whether an element occurs in a list.
  4. Write a function that returns the elements on odd positions in a list.
  5. Write a function that computes the running total of a list.
  6. Write a function that tests whether a string is a palindrome.
  7. Write three functions that compute the sum of the numbers in a list: using a for-loop, a while-loop and recursion. (Subject to availability of these constructs in your language of choice.)
  8. Write a function on_all that applies a function to every element of a list. Use it to print the first twenty perfect squares.
  9. Write a function that concatenates two lists.
  10. Write a function that combines two lists by alternatingly taking elements, e.g. [a,b,c][1,2,3] →[a,1,b,2,c,3].
  11. Write a function that merges two sorted lists into a new list.
  12. Write a function that rotates a list by k elements. For example [1,2,3,4,5,6] rotated by two becomes[3,4,5,6,1,2]. Try solving this without creating a copy of the list. How many swap or move operations do you need?
  13. Write a function that computes the list of the first 100 Fibonacci numbers.
  14. Write a function that takes a number and returns a list of its digits.
  15. Write functions that add, subtract, and multiply two numbers in their digit-list representation (and return a new digit list). If you’re ambitious you can implement Karatsuba multiplication. Try different bases. What is the best base if you care about speed? If you couldn’t completely solve the prime number exercise above due to the lack of large numbers in your language, you can now use your own library for this task.
  16. Implement the following sorting algorithms: Selection sort, Insertion sort, Merge sort, Quick sort, Stooge Sort. Check Wikipedia for descriptions.
  17. Implement binary search.
  18. Write a function that takes a list of strings an prints them, one per line, in a rectangular frame. For example the list ["Hello", "World", "in", "a", "frame"] gets printed as:
    *********
    * Hello *
    * World *
    * in    *
    * a     *
    * frame *
    *********
  19. Write function that translates a text to Pig Latin and back. English is translated to Pig Latin by taking the first letter of every word, moving it to the end of the word and adding ‘ay’. “The quick brown fox” becomes “Hetay uickqay rownbay oxfay”.

Intermediate

  1. Write a program that outputs all possibilities to put + or - or nothing between the numbers 1,2,…,9 (in this order) such that the result is 100. For example 1 + 2 + 3 - 4 + 5 + 6 + 78 + 9 = 100.
  2. Write a program that takes the duration of a year (in fractional days) for an imaginary planet as an input and produces a leap-year rule that minimizes the difference to the planet’s solar year.
  3. Implement a data structure for graphs that allows modification (insertion, deletion). It should be possible to store values at edges and nodes. It might be easiest to use a dictionary of (node, edgelist) to do this.
  4. Write a function that generates a DOT representation of a graph.
  5. Write a program that automatically generates essays for you.
    1. Using a sample text, create a directed (multi-)graph where the words of a text are nodes and there is a directed edge between u and v if u is followed by v in your sample text. Multiple occurrences lead to multiple edges.
    2. Do a random walk on this graph: Starting from an arbitrary node choose a random successor. If no successor exists, choose another random node.
  6. Write a program that automatically converts English text to Morse code and vice versa.
  7. Write a program that finds the longest palindromic substring of a given string. Try to be as efficient as possible!
  8. Think of a good interface for a list. What operations do you typically need? You might want to investigate the list interface in your language and in some other popular languages for inspiration.
  9. Implement your list interface using a fixed chunk of memory, say an array of size 100. If the user wants to add more stuff to your list than fits in your memory you should produce some kind of error, for example you can throw an exception if your language supports that.
  10. Improve your previous implementation such that an arbitrary number of elements can be stored in your list. You can for example allocate bigger and bigger chunks of memory as your list grows, copy the old elements over and release the old storage. You should probably also release this memory eventually if your list shrinks enough not to need it anymore. Think about how much bigger the new chunk of memory should be so that your performance won’t be killed by allocations. Increasing the size by 1 element for example is a bad idea.
  11. If you chose your growth right in the previous problem, you typically won’t allocate very often. However, adding to a big list sometimes consumes considerable time. That might be problematic in some applications. Instead try allocating new chunks of memory for new items. So when your list is full and the user wants to add something, allocate a new chunk of 100 elements instead of copying all elements over to a new large chunk. Think about where to do the book-keeping about which chunks you have. Different book keeping strategies can quite dramatically change the performance characteristics of your list.
  12. Implement a binary heap. Once using a list as the base data structure and once by implementing a pointer-linked binary tree. Use it for implementing heap-sort.
  13. Implement an unbalanced binary search tree.
  14. Implement a balanced binary search tree of your choice. I like (a,b)-trees best.
  15. Compare the performance of insertion, deletion and search on your unbalanced search tree with your balanced search tree and a sorted list. Think about good input sequences. If you implemented an (a,b)-tree, think about good values of a and b.

Advanced

  1. Given two strings, write a program that efficiently finds the longest common subsequence.
  2. Given an array with numbers, write a program that efficiently answers queries of the form: “Which is the nearest larger value for the number at position i?”, where distance is the difference in array indices. For example in the array [1,4,3,2,5,7], the nearest larger value for 4 is 5. After linear time preprocessing you should be able to answer queries in constant time.
  3. Given two strings, write a program that outputs the shortest sequence of character insertions and deletions that turn one string into the other.
  4. Write a function that multiplies two matrices together. Make it as efficient as you can and compare the performance to a polished linear algebra library for your language. You might want to read about Strassen’s algorithm and the effects CPU caches have. Try out different matrix layouts and see what happens.
  5. Implement a van Emde Boas tree. Compare it with your previous search tree implementations.
  6. Given a set of d-dimensional rectangular boxes, write a program that computes the volume of their union. Start with 2D and work your way up.

Thursday, September 22, 2016

PAIDVERTS থেকে আয় করুন ডেইলি ১০ডলার...যারা সিস্টেম জানেন না তাদের জন্য পোষ্ট...।



অনলাইনে কাজ যারা সময় নিয়ে কাজ করতে পারবে তাদের জন্য এই পোষ্ট,আপনি যদি আজকে জয়েন করে আজই ১০ডলার ইনকাম করার কথা চিন্তা করেন সেটা ভুল হবে,সহজে অনলাইনে আয় করার জন্য কিছু উপায় অবলম্বন করতে হবে।নিচে বিস্তারিত আলোচনা করছি...
এটা থেকে ভালো আয় করা যায়। যা আপনার কাছে খুব ভালো লাগবে, যদি তা নিজের চোখে দেখেন। এখানে সাধারণ কিছু নিয়ম দেখলেই আয় করা অতি সহজ হয়ে যাবে আপান জন্য। তবে সব কিছু এত সহজ হলে টাকা ধরতো গাছে, তাই কিনা বলেন। তাই বলবো বেশি কিছু ভাববেন না, এখান থেকে এমন কিছু আয় করবেন যা আপনি আগে ভাবেন নি, আর তা আমি আপনাদের দেখাবো, কিভাবে অতি সহজ ভাবে এখান থেকে টাকা আয় করতে হয়।।
  • প্রথমেই আপনি সাইন আপ করুন এখান থেকে
  • এর পর উপরের Registration  ক্লিক করুন
  • জন্ম তারিখ আপনার আইডি কার্ড এ যেটা আছে সেটা দিবেন কারন টাকা তুলতে গেলে ভেরিফিকেশানে দরকার হবে।
এখানে সব কিছু সঠিক ভাবে দিয়ে Open Account এ ক্লিক করুন
এখন আপনার একাউন্ট তৈরী হয়েগেছে।নিচের ছবির মত  ডান দিকে উপরে লাল চিহ্নিত Paid Ads গুলোতে ক্লিক করলে আপনি নতুন এডস পাবেন।
তখন বামদিকের উপরে লাল চিহ্নিত বক্সে ক্লিক করুন। এরপর এমন একটি পেজ দেখতে পাবেন...

 

Paid Ads A ক্লিক করে Ads গুলো দেখবেন প্রত্তেক দিন ২-৩ বার।মনে রাখবেন BAP(Bonus add point) যত বেশী হবে paid add er value তত বাড়বে
আশা করি বুঝতে পেরেছেন এর পরেও সমস্যা থাকলে কমেন্ট প্লিজ।


আপনার এন্ড্রয়েড ফোন দিয়ে এবার আয় হবেই (Whaff Mod) কোন Hack না Auto কাজ করবে

আপনারা হয়তো এর আগেও অনেকে এন্ড্রয়েড ফোন দিয়ে টাকা আয় করার চেষ্টা করেছেন। কেও ব্যবহার করেছেন mcent বা অন্য কোন অ্যাপ। কিন্তু মনের মত কি আয় করতে পেরেছেন? আমিও mcent ব্যবহার করেছি। কিন্তু মোটেও সন্তুষ্ট হতে পারিনি। কেননা তাদের রেট খুব কম। আবার কখনও কখনও অ্যাপ শো করেনা। তাই ব্যবহার করতে আর ইচ্ছে হচ্ছিল না। তখন ভাব্লাম আমার ভাগ্যে মনে হয় টাকা আয় আর হবে। তারপর দেখলাম whaff নামের একটি অ্যাপ। প্রথমে ভাবলাম এটা মনে হয় mcent এর মতই ফালতু একটা অ্যাপ। তারপর কিছুদিন ব্যবহার করলাম। ভাল আয়ও করলাম। প্রায় ২২ ডলার। তাই আপনাদের সাথে শেয়ার করতেছি। এটি ব্যবহারে আপনি কখনও হতাশ হবেন না।
নিচে এর ফিচার গুলো উল্লেখ করলামঃ
প্লে স্টোর থেকে WHAFF এ দেয়া কোন অ্যাপ Install করলেই পবেন $0.05-$0.12 পর্যন্ত।
WHAFF দিয়ে Install করা অ্যাপটি প্রতিদিন ব্যবহার করলেই পাবেন $0.02-$0.1 পর্যন্ত। তবে একটি নির্দিষ্ট সময় দিন পর্যন্ত পাবেন।
WHAFF দিয়ে install করা অ্যাপটি uninstall না করলে প্রতিদিন পাবেন $0.01-$0.1 পরযন্ত।
প্রতিদিন WHAFF এ attendance চেক করলে পাবেন $0.01
প্লে স্টোরে WHAFF এর উপর রিভিও কররে পাবেন $0.1
গুগল প্লাসে WHAFF কে অ্যাড করলে পাবেন $0.1
এটি রেফারেলও সাপোট করে। তাই রেফারেল করেও টাকা আয় করতে পারবেন।
এটি ব্যবহার করা খুবই সহজ।
এছারাও যদি আপনি কাওকে ইনভাইট করেন তাহলে আপনি পাবেন ০.৫০ ডলার আর সেও পাবে ০.৫০ ডলার।
তো চলুন শুরু করা যাক
প্রথমে whaff অ্যাপটি আপনার মোবাইলে ডাউনলোড করে নিন
https://play.google.com/store/apps/details
তাহলে ফেসবুক লগিন উইন্ডো বের হবে সেখানে আপনার ইমেইল ও পাসওয়ার্ড দিয়ে লগিন করুন (ভয় পাবেননা এটি কোন ফিশিং অ্যাপ নয়)।
refferel ঘরে DH53096 লিখুন এবং ওকে তে ক্লিক করুন। তাহলে আপনি পাবেন ০.৫০ ডলার। এটি হচ্ছে আমার ইনভাইটেশন কোড। এই কোড লিখে ওকে করলে আপনি পাবেন ০.৫০ ডলার। যদি আপনি কোড টা না দেন তাহলে আপনি ০.৫০ ডলার পাবেন না।
আমাদের দেশের জন্য ২টা অফার আর আমেরিকা/জার্মানি তে ১০-২০ টা অফার থাকে! আর দেশেই থাকবোনা! প্লে Store থেকে Cyberghost Vpn ডাউনলোড করে নিন। ১০০% সেফ! ব্যান হবেন না! তারপর অ্যাপ টি ইন্সটল করে Select Country তে America/Germany দিয়ে Connect বাটনে সিলেক্ট করে 1 মিনিট অপেক্ষা করুন Connected দেখালে Whaff rewards ওপেন করুন আর দেখুন চমৎকার! এইভাবে কাজ করে ২০ দিনের মধ্যে ইনশাআল্লাহ্ 12$ করতে পারবেন। কখোনো প্রব্লেম দিলে Cyberghost অ্যাপ এ গিয়ে অন্য দেশ সিলেক্ট করুন।
America এর সব অফার শেষ করলে, Germany যাবেন,তাও শেষ হলে Netherlands,Romania,China তো আছেই !

Wednesday, September 21, 2016

ইন্টেল প্রতিবছর তাদের প্রোসেসর এর নতুন জেনারেশন বাজারে ছাড়ে,তাই চলুন জেনে নেই এই জেনারেশন কি :

প্রোসেসর এর ভেতর থাকে ছোট ছোট ট্রানজিস্টার এসব ট্রানজিস্টার যত ছোট হবে প্রোসেসর এর পারফর্মেন্স বা কর্মদক্ষতা তত ভালো হবে এবং পাওয়ার কনজিউম তত কম হবে।ইন্টেল প্রতি জেনারেশনে এই ট্রানজিস্টার এর সাইজ পূর্বের আরো ছোট করে।বর্তমানে সবচেয়ে ছোট ট্রানজিস্টার যেটা ইন্টেল ব্যবহার করে তার সাইজ ১৪ ন্যানোমিটার;তারপূর্বে ছিল ২০ ন্যানোমিটার, তারআগে ২৮,৩০,৪০ এভাবে বড় সাইজের ছিলো। সুতরাং জেনারেশন যত নতুন প্রোসেসর এর পারফর্মেন্সওও পূর্বের তুলনায় আরও ভালো।
সুতরাং প্রোসেসর এর ক্ষেত্রে জেনরোশন অতি গুরুত্বপূর্ণ।
এখন আসল কথায় আসা যাক:core i3/i5/i7 কম্পিউটার বা ল্যাপটপ কেনার ক্ষেত্রে আমাদের দন্দে পড়তে হয় এই প্রোসেসর গুলোর ভেতর কোনটি ভালো এই বিচার করতে গিয়ে।

Intel Core i3

এটি ইন্টেল বেসিক প্রোসেসর।ল্যাপটপ বা কম্পিউটার যেখানেই থাকুন না কেন এটি ডুয়াল কোর হিসেবে থাকে; তবে এতে একটি বিশেষ ফিচার রয়েছে যায় নাম হল Hypenthreading; এর কারনে ওপারেটিং সিস্টেম প্রোসেসর এর কোর কে ডাবল বা দ্বিগুন মনে করে,অর্থাত ডুয়াল কোরকে ওপারেটিং সিস্টেম মনে করবে চারটি কোর বা কুয়াড কোর হিসেবে।
বাজারে core i3 এর কয়েকটি মডেল রয়েছে আ মডেল ভেদে ক্লকিং(২.৪ ghz/৩.৪ ghz) ও ক্যশ মেমোরি পার্থক্য রয়েছে।
কেউ যদি সাধারন নেট ব্রাউজিং,ব্লগিং,ওয়েব ডিজাইন,ওয়ার্ড,এক্সেল,পাওয়ার পয়েন্ট বা গ্রাফিক্স কাড়ড রয়েছে টুকটাক গেমিং করতে চায় তবে core i5/i7 এ টাকা না অপচয় করে  core i3 লেটেস্ট জেনারেশন কেনা ভালো।

Intel Core i5

এটি দুটও রূপে দেখা যায়।ল্যাপটপে সাধারনত ডুয়াল কোর ভার্সনটি থাকে; যাতো Hypenthreading সুবিধা বিদ্যমান আর যার ফলে তুলনা মূলক কুয়াড কোর এর কাজই করে।আর কম্পিউটারে সাধারনত কুয়াড কোর ভার্সনটি দেখা যায় আর এতে Hypenthreading. সুবিধা থাকে না।
core i3 এর তুলনায় এর স্পীড, কর্মদক্ষতা, ক্যাশ মেমোরি,ট্রানজিস্টার সংখ্যা সবই বেশি। গেমিং, ফটোশপ,আফটার ইফেক্ট ইত্যাদি কাজের জন্য  এটি কেনা যেতে পারে।

Intel Core i7

এটি ইন্টেল এর সবচেয়ে হাইএন্ড প্রোসেসর।এটি ক্যশ মেমোরী সর্বোচ্চ ৮ এম বি পর্যন্ত আর এতে ট্রানজিস্টার সংখ্যা সবচেয়ে বেশি,এর ক্লক স্পীড অন্যান্য গুলোর থেকে ভালো।
ল্যাপটপে এর ডুয়াল কোর এবং কুয়াডকোর ভার্সন দেখা যায়,তবে ডুয়াল কোর খুব কম আল্ট্রাবুক এ দেখা যায়,আর ম্যাকবুক প্রো ইত্যাদিতে কুয়াড কোর ভার্সন পাওয়া যায়।কম্পিউটরে এর কুয়াড কোর ও ওক্টাকোর ভার্সন পাওয়া যায়।
কেবল বড় বড় গেমস খেলা বা থ্রী ডি গ্রাফিক্স,কার্টুন মেকিং, হাই এন্ড অডিও ভিডিও রেন্ডারিং ইত্যাদি কাজের জন্য এর বিকল্প নেই।
ওভারক্লকিংভালো প্রসেসর গুলোতে এ সুবিধাটি থাকে এর মাধ্যমে প্রোসেসর এর ক্লক স্পীড নিজের ইচ্ছামত বাড়িয়ে নেয়া যায়;যেমন : ৩ ghz থেকে  বাড়িয়ে ৩.৮ বা ৪ ghz করা যায়।ভালো প্রোসেসর এ এ সুবিধা পাওয়া যায়।যেসব প্রোসেসর এর মডেল নাম এর শেষে K থাকে বুঝতে হবে সে প্রোসেসর এ ওভারক্লকিং আছে,যেমন : i7 4770K।
আর ওভারক্লকিং এর জন্য প্রোসেসর এর আশেপাশে অবশ্যই পর্যাপ্ত কুলিং থাকতে হবে।
মডেল নাম থেকে জেনারেশন বোঝার নিয়ম:ধরুন কোন প্রোসেসর এর মডেল নাম core i7 4470; 4470 এর সামনের 4 মানে এটি ৪র্থ জেনারেশন; তেমনিভাবে i7 5570 মানে এটি ৫ম জেনারেশন।


Do you know the difference between a Programmer, Coder          Developer and Engineer?

Developers and Programmers
They are more experienced code-writers who are versed in at least two to three languages and write awesome, clean, error free and well-factored codes. They can apply their algorithmic knowledge to create more sophisticated levels of software coding.
Developers in some firms are sometimes referred to as the start to finish overseers of a project, who are responsible for the overall design of the application. The developer within these companies will often oversee a team of coders and programmers to ensure that the design of the application is user-friendly and a cohesive end product is created. The developer in these cases would most probably be the client’s direct point of contact and would then interface with the rest of the team to solving problem, make requested changes, and answer client questions.
Coders
Anyone who writes code is often referred to as a coder by the people outside the tech industry. However, this all-surrounding term can be considered judgemental for those who live and breathe programming every day. Coders are commonly considered the least trained or experienced level of programmers. These individuals do not have the same algorithmic knowledge as a programmer or developer, as they are often a beginner in the field, skilled in just one coding language. Coders are usually given the job of writing forthright pieces of code that can easily be delegated by the developers. As some are put-off by the title, it is sometimes used interchangeably with “Junior Programmer” or “Junior Developer.”
Engineers
The title of engineer or software engineer is normally reserved for the highest level, or most expert coders around. Engineers are well versed in three programming languages or more and use their skills to design and implement the overall architecture of the application. They modularize the final product to develop a clean interface, and then work with the programmers and developers to implement the more comprehensive features of the design.
Do you agree with the definitions above, or think otherwise, do let us know in the comments section below.