Showing posts with label Tips and Tricks. Show all posts
Showing posts with label Tips and Tricks. Show all posts

Monday, September 3, 2018

লেখক (অনুবাদক) হতে চাইলে অবশ্যই যা করতে হবে

লেখক হওয়া কি খুব সোজা? হাতে কলম আর টেবিলে সাদা কাগজ থাকলেই কি লেখা ঝরতে থাকে তরতর করে?

কিংবা ধরুন অনুবাদক হওয়া? মনিটরের একপাশে পিডিএফ, আরেকপাশে ওয়ার্ড ওপেন করে টাইপ করতে থাকলেই কি হয়ে যায় অনুবাদ?

অত্যন্ত নিষ্ঠুরের মতো বলতে হচ্ছে: না হয় না। শুধু কলম-খাতা কিংবা ওয়ার্ড ওপেন করলেই লেখা বা অনুবাদ হয়ে যায় না। অন্য আর দশটা দক্ষতার মতো লেখালেখি/অনুবাদ একটি বিশেষ দক্ষতা। একে শিখতে হয়। কলাকৌশলগুলো জানতে হয়। তারপর চর্চা করতে হয় নিয়মিত। তবেই কেউ হয়ে ওঠেন নামজাদা লেখক কীবা অনুবাদক।

কীভাবে জানবেন লেখালেখির সেসব হাঁড়ির খবর? আমার ব্যক্তিগত অভিজ্ঞতা থেকে আজ তেমনই কিছু বারুদ শেয়ার করব আপনাদের সঙ্গে। যদি আপনার মাঝে শলাকা থাকে, তা হলে জ্বলে উঠবেনই—ইন শা আল্লাহ।

▒ বারুদ ১: “মার্জিনে মন্তব্য”র, সৈয়দ শামসুল হক, অন্যপ্রকাশ

আমার স্বল্প লেখক-জীবনে যেকয়টা বই পড়ে মারাত্মকভাবে উপকার পেয়েছি তার মধ্যে এটা সবার আগে। সচেতনভাবে লেখালেখি কী জিনিস তা হাড়ে হাড়ে টের পেয়েছি এই বই পড়ে।

সৈয়দ শামসুল হকের মতো সব্যসাচী লেখক বাংলাদেশে বিরল। সাহিত্যের এমন কোনো শাখা নেই যেখানে তিনি হাত চালাননি। প্রতিটি ক্ষেত্রেই তিনি রেখে গেছেন প্রতিভার ছাপ। এই যে ছাপ রেখে যাওয়া, এটা কোনোভাবেই খেয়ালি মনের কর্ম ছিল না। তিনি ভাবতে ভাবতে লিখতেন, লিখতে লিখতে ভাবতেন। লেখালেখি সম্পর্কে তার এই ভাবনাচিন্তাগুলো এক মলাটে লিপিবদ্ধ করেছেন এ বইতে।

প্রতিটি লেখকই পাঠক, তবে আর দশটা সাধারণ পাঠকের মতো হলে তার চলবে কেন? তিনি যেকোনো লেখা পড়বেন মনোযোগী শিশুর মতো। খেয়াল করলে দেখবেন, ১/২ বছরের বাচ্চারা কী গহন মনে বড়দের—বিশেষ করে তারা বাব-মা’র—প্রতিটা কাজ হলফ করে দেখে। এরপর ঠিক বাবা-মা’র মতো না পারলেও অনুরূপ বা কাছাকাছি ঢঙে তা করার চেষ্টা করে।

একজন সুলেখক/সু-অনুবাদকের পড়ার চোখ হতে হয় ঠিক এমন। সেটা কীভাবে করতে হবে, কীভাবে ভালো লেখা পড়তে হবে, বাক্য-শব্দ নিয়ে ভাবতে হবে তার খুঁটিনাটি কতসব জিনিস যে এ বইতে আছে, না পড়লে বোঝা যাবে না। এমনকি খারাপ লেখা পড়েও যে শেখা যায় তারও উপায় বলা আছে এখানে।

কেউ নিয়মিত লিখতে চাইবেন, বা অনুবাদ করতে চাইবেন, অথচ এ বইটির অন্তত গদ্য লেখার কারুকার্য অংশটি পড়বেন না কখনো—সংলাপের ঢঙে বলতে হলে বলব, “এ হতে পারে না!”

▒ বারুদ ২: “এসো কলম মেরামত করি”, আবু তাহের মিছবাহ, দারুল কলম

আমার কেন যেন মনে হয়, সাহিত্য বলতে, বা আরও স্পষ্ট করে বললে, ইসলামি সাহিত্য বলতে আমরা হয়তো বুঝি ইসলাম নিয়ে যেকোনো লেখালেখি। মানে বাংলা ভাষায় আমরা কিছু একটা লিখলাম, বা অনুবাদ করলাম, তাতে বাংলা ভাষার রূপবৈচিত্র, অলংকার, সৌন্দর্য থাকুক কি না থাকুক, যেহেতু বাংলায় ইসলাম নিয়ে কিছু একটা লেখা হয়েছে, কাজেই এটা ইসলামি সাহিত্য হয়ে গেছে। এই ধারণা যে কী পরিমাণ ভুল তা আবু তাহের মিছবাহর এ বইটি না পড়লে কাউকে বোঝানো সম্ভব নয়।

আমাদের অনেকেই ভাস্কর্য বা মাটির তৈরি তৈজসপত্র গড়তে বা বানাতে দেখে থাকবেন। সামনসামনি না হলেও টিভি-ইন্টারনেটের কল্যাণে দেখা হয়ে থাকার কথা। কী পরিমাণ অভিনিবেশ আর যত্নের সঙ্গে এক একজন মৃৎশিল্পী যে এসব ভাঙাগড়ার কাজ করেন, তা ইতিহাসের পাতায় ঠাঁই পাওয়ার মতন। এখন সেই একই কাজ যদি কাউকে বাংলা ভাষায় লিখতে গিয়ে করতে দেখেন, কী মনে হবে তাকে? উন্মাদ? অতি খুঁতখুঁতে?

নাহ। তাহারেই আমি কইব ভাষাশিল্পী। আবু তাহের মিছবাহ আক্ষরিক অর্থেই একজন ভাষাশিল্পী।

কোন শব্দের সঙ্গে কোন শব্দ যায়, কোন শব্দ যায় না, কোন শব্দ কার শানে খাটে, কার শানে খাটে না, শব্দের ইতিবাচকতা, নেতিবাচকতা—নবিশ লেখক/অনুবাদকদের মনে যা কখনো উদয় হওয়ার দাবি রাখে না সাধারণত, এ অঙ্গনের বাইরের কারও কাছে যা মনে হতে পারে পাগলামি—সেসব বিষয় নিয়েই পৃষ্ঠার পর পৃষ্ঠা লিখে গেছেন বর্ষীয়ান এই ‘আলিম!

জি, ঠিকই পড়েছেন। তিনি একজন ‘আলিম। এবং অতি উঁচুমানের ‘আলিম। একই সাথে ভাষাশিল্পী। ‘হুজুর’দের লেখালেখি শুনলেই যে এক শ্রেণির মানুষের হলদু দাঁতগুলো কেলিয়ে ওঠে, তাদের চোখ সত্যিকার অর্থেই তিনি কপালে ওঠানোর ক্ষমতা রাখেন। মাদরাসার উঠোনে তিনি ‘আদিব হুজুর’ বা ‘সাহিত্য গুরু’ নামে পরিচিত।

শুধু শব্দই নয়, একটা লেখার প্রতিটা বাক্য ধরে ধরে কীভাবে তার সুর-সংগতি বহাল রাখতে হয়, প্রয়োজনে কেটে-ছিড়ে নতুন করে সাজাতে হয় সেই ‘অপারেশন’ দেওয়া আছে উদাহরণসহ।

আমাদের লেখালেখির অঙ্গনে এক শ্রেণির লেখক/অনুবাদক আছেন ফরমায়েশি লেখক/অনুবাদক। শুধু কাজ পেলে লেখেন, না হলে কলম ছুঁয়েও দেখেন না। অথচ মাওলানা আবু তাহের মিছবাহ রোজ নিয়ম করে দিনলিপি লেখার তাগিদ দিয়েছেন। সহজাত প্রতিভা না নিয়ে জন্মানো কেউ যদি নিজেকে সাহিত্যের মঞ্চে তুলে আনতে চান, তা হলে প্রতিদিন লেখার কোনো বিকল্প নেই। এমনসব ইত্যকার নানা কৌশলে পূর্ণ এই বইটি না পড়ে কারও লেখক/অনুবাদক হওয়ার স্বপ্ন দেখা অনুচিত বলে মনে করি।

▒ বারুদ ৩: “সাহিত্যের ক্লাস”, মুহাম্মদ যাইনুল আবিদীন, মাকতাবাতুল আখতার

শেখার যে কোনো শেষ নেই, সেই প্রবচনের সার্থক উদাহরণ এ বইটি।

লেখালেখি বিষয়ক বই কুড়োচ্ছি সেই ২০১৩ সাল থেকে। বাংলা ভাষায় এ-সংক্রান্ত যত বই আছে, সম্ভবত তার বেশিরভাগই ২০১৭ সালের মধ্যে পড়া হয়ে গিয়েছিল আমার। লেখালেখির কৌশল নিয়ে মৌলিক বা অভিনব যা কিছু আমি অন্যান্য বইতে পেয়েছি, তা ঘুরেফিরে উপরের প্রথম দুটো বইয়ের কথারই ভিন্ন ভিন্ন উপস্থাপন। কিন্তু এই ২০১৮ সালে এসে যাইনুল আবিদীনের এ বইটিতে সাহিত্যের অতি গুরুত্বপূর্ণ একটি জিনিস—অলংকার—একদমই নতুন করে জানলাম যেন। ঠিক জানলাম বললে ভুল হবে; আগেও জানতাম, কিন্তু জিনিসটা যে আসলে কী, কীভাবে এর প্রয়োগ—তা উনার আগে কারও লেখায় এত প্রখরভাবে দেখিয়ে দেয়নি কেউ। অথচ, সাহিত্যকর্মে অলংকার খুবই খুবই জরুরি জিনিস। এই অলংকারই একটি অসামান্য কর্মকে আলাদা করে গড়পড়তা কাজ থেকে। এই অলংকারের জোরেই কুরআন পৃথিবীর শ্রেষ্ঠ সাহিত্যকর্ম। অথচ, সেই কুরআনের অনুসারীদের লেখনীতে তা সুন্দরবনের বাঘ দেখার মতো বিরল।

এ বইয়ের আরেকটি মূল্যবান আলোচনা: অনুবাদ। আমাদের দেশের বেশিরভাগ অনুবাদকর্মই যে ‘বাংলা অক্ষরে লিখিত মাত্র’ সেই হাহাকার ফুটে উঠেছে যাইনুল আবিদীনের লেখায়। কিছু উপায়ও বাতলে দিয়েছেন তিনি সেই দৈন্য দশা কাটিয়ে উঠতে। যদি পারতাম, যারা প্রথমবারের মতো অনুবাদকর্ম শুরু করতে চান, তাদের কাজ শুরুর আগে আমি এ বইটা (এবং এর পরের বইটা) অবশ্যই পড়িয়ে নিতাম। এবং এ বইটা পড়ার আগে তার জন্য অনুবাদকর্মে হাত দেওয়াকে ‘হারাম’ ঘোষণা করতাম। আপনি যদি স্রেফ ফরমায়েশি অনুবাদক হোন, যদি শুধু দুটো টাকার জন্য অনুবাদকর্ম করেন তা হলে এ বই না পড়লেও চলবে। কিন্তু অনুবাদ যদি হয় আপনার শিরা-উপশিরা, তা হলে আমার মনে হয় এ বই ছাড়া আপনার অনুবাদ বাঁচবে না।

▒ বারুদ ৪: Literary Translation: A Practical Guide, Clifford E. Landers, Multilingual Matters

অনুবাদ করা নিয়ে কোনো বই যদি ‘পাঠ্যবই’ করতে হয়, তা হলে এটা সেরকম এক বই। এ বইটিও আমি খুব বেশিদিন আগে পড়িনি। তবে না পড়ে থাকলেও বইটির বেশিরভাগ নির্দেশনা আগে থেকেই অনুসরণ করতাম অনুবাদের বেলায়। শব্দে শব্দে অনুবাদ যে আসলে একটি কুসংস্কার, ওভাবে যে আদৌ অনুবাদকর্ম সুসম্পাদিত হয় না, যাইনুল আবিদীনের ভাষায় স্রেফ ‘বাংলা অক্ষরে লিখিত হয় মাত্র’, তার পক্ষে এ বইয়ের কথাগুলো আপ্তবাক্য।

বইটি আসলেই একটি প্র্যাকটিকাল গাইড। অনুবাদ করতে গিয়ে মনের ভেতর যত সংশয়, প্রশ্ন আসতে পারে তার কোনোটিই বাদ যায়নি। আগের বইয়ের বেলায় শেষের কথাগুলো এ বইয়ের বেলাতেও প্রযোজ্য।

▒ এখন জ্বলে উঠবেন কীভাবে?

শুধু খেলা দেখে কি খেলা রপ্ত করা যায়? না, যায় না। সেজন্য মাঠে নেমে খেলতে হয়। এ বইগুলো আপনাকে লেখালেখি-অনুবাদ সম্পর্কে অভিনব সব চিন্তা আর কৌশলের কথা শেখাবে। কিন্তু তা মকশো না করলে, নিয়মিত না লিখলে, অনুবাদ না করলে তা দক্ষতা হিসেবে শেকড় হয়ে মজবুত হবে না। আপনার প্রতিটি লেখা ছাপার হরফে আসতে হবে তার কোনো প্রয়োজন নেই। প্রতিটি লেখা ফেইসবুক বা অনলাইনে আসতে হবে তারও কোনো প্রয়োজন নেই। নিজের মনের আনন্দে, নিজের লেখার উন্নতির জন্য, অনুবাদের ভাষার মাধুর্য বাড়ানোর জন্য ব্যক্তিগতভাবে কাজ করুন। ছ মাস আগে যেভাবে লিখতেন, আজও যদি সেখানেই পড়ে থাকেন, তা হলে বুঝে নেবেন আপনার কোনো উন্নতি হয়নি। মন থেকে যদি উন্নতির টান না পান, যদি শুধু অর্থের কারণে লিখে যান, তা হলে একাজটি হয়তো আপনার জন্য নয়। যদি একদিন কিছু না লিখলে মন আনচান করে, যদি প্রতিদিন একই শব্দের পুনরাবৃত্তি আপনার মনকে বেচান করে, তা হলে বুঝবেন আপনার মাঝে শলাকা আছে। উপরে দেওয়া বারুদে ঘষে এখন শুধু জ্বলে ওঠার অপেক্ষা...

পুনশ্চ: লেখালেখিটাকে কি হঠাৎ করে বেশ কঠিন মনে হচ্ছে? সত্যি কথা বলতে, সৃজনশীল কোনো কাজই সহজ নয়। ভাতের মাড় গালা দেখতে যত সহজই মনে হোক, নিজে করতে গেলে বুঝবেন কত ধানে কত চাল। সেকালের রবীন্দ্রনাথ কিংবা একালের হুমায়ূন—কেউই হাসতে-খেলতে লেখক হয়ে যাননি। কিংবা অনুবাদ সাহিত্যে একজন অনীশ দাস অপু বা কবীর চৌধুরী বা শওকত হাসানেরা স্রেফ ইংরেজিটা ভালো জানার কারণে খ্যাতনামা অনুবাদক হয়ে যাননি। এদের প্রত্যেকের জীবনটাকে খতিয়ে দেখুন: অনেক অনেক অধ্যবসায় (শব্দটা যতই আপনাকে স্কুলের রচনার কথা মনে করিয়ে দিক, বাস্তব দুনিয়ায় এর বিকল্প নাই), চর্চা, পরীক্ষা-নিরীক্ষার বাধা ডিঙিয়ে একেকজন জায়গা করে নিয়েছেন বাংলা সাহিত্যে। দীনের চেতনায়, আল্লাহকে সন্তুষ্ট করার উদ্দেশ্যে আমাদের মধ্যে যদি অনুরূপ আত্ম-নিবেদন, পরিশ্রম আর জানাশেখার মানসিকতা না থাকে, তা হলে সাহিত্যের সবকিছু দুষ্টদের দখলে চলে গেল—এমন আক্ষেপ কেবল ভার্চুয়াল মনস্তাপ আর অন্যের সমালোচনা ছাড়া ভালো কিছু দেবে না।

মাসুদ শরীফ
উপ-সম্পাদক

সিয়ান পাবলিকেশন
বিশুদ্ধ জ্ঞান | বিশ্বমান

Friday, July 13, 2018

How to Start Learning Machine Learning

You can find lots of tutorials literally anywhere you look. If you have already learnt python, I would suggest you try to get acquainted with scikit-learn and keras. I gave links to a book which might be helpful; it has code examples and a bit of theory (It's also HUGE so learn only what you need). I would also suggest to learn theories in detail after you have learnt to implement simple networks.

https://sites.google.com/site/asfdgfhgjhkjgfhdgsf43/download-in-pdf-hands-on-machine-learning-with-scikit-learn-and-tensorflow-by---aurelien-geron-read-online

https://github.com/amitanalyste/aurelienGeron

* Samiul Alam

Monday, June 11, 2018

How I Started Learning Machine Learning

This is a long post where I would like to share how I started learning ML.

I first learned about machine learning from Andrew Ng's Coursera course. I did not complete the course or the assignments. Just went through the videos. The videos were short and I completed it in 2-3 weeks. I got a good overview of what ML was and where it could be applied.
Then I moved on to Michael Nielsons Deep learning booklet. Another little gem which is easy to understand and requires no prior knowledge of ML. It took me one week to finish it.

I then decide to get into some machine learning projects. I found some interesting competitions in Kaggle. In the beginning, I used Matlab but soon realized it did not have enough support in DL community and Python was more popular (and definitely more intuitive). So, I decided to learn Python. I started using a popular mobile app for learning Python. It was a good app but I found the process slow. Therefore, I started learning code straight from the Kaggle Kernels. I found some amazing people there, who wrote really good tutorials. Especially, exploratory data analysis (EDA) and beat the benchmark (BTB) notebooks from users like Anokas (he's a prodigy) and ZFTurbo were extremely useful. I tried to run their code each line at a time. Whenever I had questions regarding any functions, I read the documentation.

Fortunately, Python and Matlab have a few similarities. For Python, I had to learn how to manipulate some widely used data structure such as list, numpy array, and dictionary. I learned the data structures (series, dataframe) in the pandas library from their website (10 minutes to pandas). Also, I had to get used to the for loop implementation in Python which is quite different but extremely intuitive when you get the hang of it. Another useful concept was list comprehension. Once I got those down, all I had to do was get familiar with different libraries used in ML (e.g., keras, scikit-learn). While using the libraries, I found the tutorials in machine learning mastery website extremely useful.

To know about the current state of AI, I have subscribed to medium, a very popular blogging platform. This is an excellent source to learn about current technological advances. I get notifications through gmail and often find interesting articles to read. One of the most popular bloggers in AI, Andrej Karpathy (Tesla) writes on this platform. His blogs in github and medium are gold-mines. Another wonderful source for the advances in AI is the two-minute paper channel on Youtube. This youtuber gives a non-technical overview of recent papers. I like his enthusiasm :p

Another course that was very interesting was Jeremy Howard's Fast.AI. He takes a top-down approach where he gives an overview of all the state of the art concepts used in DL and shows how to use the tools. But the details exploration are left upon the participants. Which means you will find everything extremely difficult to comprehend in the beginning. Nevertheless, by getting exposed to the applications of such concepts you will understand what might be useful to you and you can focus on that instead of learning everything as a whole. The videos can be found on youtube. When I watched the videos (around 2017) there were seven of them, each were 2 hours long, and he was using keras. But in his updated videos he has included tons of stuff and he is probably using Pytorch.

So, that's the end of this post. I might have forgotten/never seen some great tutorials. Let me know your thoughts. Thanks for reading.

I encourage you to share the story of your journey in ML. It is great to know about people having a different approach to learning ML!

Resources:

Andrew Ng's Course:
https://www.youtube.com/watch?v=qeHZOdmJvFU&list=PLZ9qNFMHZ-A4rycgrgOYma6zxF4BZGGPW

Michael Nielson's book:
http://neuralnetworksanddeeplearning.com/

Anokas:
https://www.kaggle.com/anokas

ZFTurbo:
https://www.kaggle.com/zfturbo

10 minutes to Pandas:
https://pandas.pydata.org/pandas-docs/stable/10min.html

Machine Learning Mastery (Deep Learning part):
https://machinelearningmastery.com/category/deep-learning/

Karpathy blog:
http://karpathy.github.io/
https://medium.com/@karpathy

Two minute papers:
https://www.youtube.com/channel/UCbfYPyITQ-7l4upoX8nvctg

Jeremy Howard's fast.ai:
http://www.fast.ai/
https://www.youtube.com/user/howardjeremyp

* Tahsin Reasat

Tuesday, May 15, 2018

How to Extract Multiple Integers from a String Input with Python

"How do I extract multiple integers from a string input?" is a very common question.

The most common answer is "use map( )."

Nope. There are many ways to extract multiple integers from a string, like using map( ) or the ast module or writing your own function. If you use these methods, it's cool because all of them work.

The problem is that these are not good answers for new Python learners. Functions like map( ), filter( ) and reduce( ) belong to a different style of programming called functional programming. The ast module depends on the user to provide input in the correct format. And writing your own function is redundant because Python already has elegant, built-in solutions.

Introducing LIST COMPREHENSIONS and GENERATOR EXPRESSIONS, to those who didn't already know.

These are built-in Python tools to process items in a list/tuple/dict/set or other iterators. I won't go into details; you can read about them on the internet. Instead, I'd like to show three examples.

A list comprehension can process a string of integers and return a list of those integers.

```
>>> s = input( )
1 2 3
>>> x = [ int( i ) for i in s.split( ) ]
>>> x
[ 1, 2, 3 ]

```

A generator expression can be used to process a string of integers and get a tuple.

```
>>> s = input( )
1 2 3
>>> x = ( int( i ) for i in s.split( ) )
>>> x
( 1, 2, 3 )

```

You can also use a generator expression to assign the extracted integers to individual variables.

```
>>> s = input( )
1 2 3
>>> a, b, c = ( int( i ) for i in s.split( ) )
>>> a
1
>>> b
2
>>> c
3
>>> a + b + c
6

```

That's all. Note that these methods work for any numerical data type, not just integers.

If you're used to map( ), then by all means continue using it because it's a great tool. But please, let us not propagate the use of map( ) to new Python learners, when a simple 'for' loop is more Pythonic and can be used to do the job neatly and efficiently.

- Sharif Muhaha

Sunday, May 13, 2018

যে প্রজেক্টটা অলরেডি অনেকদূর ডেভলপ করা হয়েছে অন্য ডেভলপার দ্বারা। সেই ডেভলপারের বদলে আপনাকে দায়িত্ব দেয়া হলো।

"ধরুন, আপনাকে একটা প্রজেক্টের জন্য হায়ার করা হলো, যে প্রজেক্টটা অলরেডি অনেকদূর ডেভলপ করা হয়েছে অন্য ডেভলপার দ্বারা। সেই ডেভলপারের বদলে আপনাকে দায়িত্ব দেয়া হলো।

প্রজেক্ট এর কোডবেজ ওপেন করেই বুঝলেন অনেক কপ্লেক্স আর পেচানো হয়ে আছে এবং আগের ডেভলপার তার পার্সোনাল ফ্লেভারে ডেভলপ করেছে (কমেন্ট, ডক স্ট্রিং ইত্যাদি বলতে গেলে নেই)।

এই মুহুর্তে আপনার দায়িত্ব কি হবে?

অর্থাৎ আরেকজন ডেভলপারের কোনো লার্জ স্কেল প্রজেক্ট এ আপনাকে মডিফাই, আপডেট, বাগ ফিক্স, নতুন কিছু এড ইত্যাদি কাজ করতে দিলে আপনি কিভাবে আগাবেন?"

**কোড পড়ে বুঝতে হবে প্রথমে । এইটা চ্যালেন্জিং হবে । অন্য ডেভেলপারের জানার বা স্কিলের ঘাটতি থাকতে পারে, যেমনটা আমারও আছে, তাই তার কোড যত বেশী জাজমেন্টাল হয়ে এ্যানালাইজ করতে যাবেন, নিজের মধ্যে ততো বেশী বায়াস কাজ করবে, ভিতর থেকে একটা বাধা আসবে । জাজমেন্টাল হওয়া যাবে না ।

আগের ডেভেলপারের স্টাইলটা বোঝার চেষ্টা করতে হবে, তাহলে কোড এক্সপ্লোর করতে পরে সুবিধা হবে । মডার্ন আইডিই ব্যবহার করতে হবে যাতে দ্রুত কোড এক্সপ্লোর করা যায়, প্রয়োজন হলেই যাতে ক‌োথায় কি হচ্ছে সেটা সহজে খুজেঁ পাওয়া যায় ।

আগের ডেভেলপারের কোড এবং প্রোডাক্ট রিকয়ারমেন্ট বুঝে ফেললে কাজ করতে খুব একটা অসুবিধা হবে না ।

যদি বিজনেস ফাস্ট পেইসড হয় এবং রেগুলার আপডেট দরকার হয় তাহলে এবার আপনি নতুন ফিচার এ্যাড করুন, বাগ ফিক্স করুন, নিজের নতুন কোড যতটুকু পারা যায় স্ট্যান্ডার্ড মেইনটেইন করে লিখুন । সেই সাথে সাথে পুরানো কোড অল্প অল্প করে রিফ্যাক্টর করুন ।

আর যদি দেখেন প্রোডাক্ট মার্কেটে ভালো পজিশনে আছে, মেইনটেন্যান্স করার মত সময় হাতে আছে, তাহলে ম্যানেজমেন্ট এর সাথে কথা বলে ২-৩টা রিফ্যাক্টর স্প্রিন্ট শুরু করুন ।

বিজনেস ভ্যালু কে আমি সবসময়ই কোড কোয়ালিটির চেয়ে প্রাধান্য দিবো । বিজনেস সফল হলে পরে রিফ্যাক্টর করা যায়, পুরোটা নতুন করে রি-রাইট করার মত সময়ও বাজেট থাকে । বিজনেস ফেইল করলে হাই কোয়ালিটি কোডও কাজে আসে না ।
- Abu Ashraf Masnun

** আগের অফিসের সিনিয়র কলিগ ভাই যিনি নিউজক্রেড থেকে এসেছিলেন, উনি বলতেন - "আমরা যদি ম্যানেজমেন্ট বা বিজনেসের কথা মাথায় না রেখে শুধু কোড কোয়ালিটি নিয়ে চিন্তা করি তাহলে সেই কোড জাদুঘরে সুন্দর করে সাজিয়ে রাখা যাবে। বিজনেস হবে না"
- Hasan Abdullah

** ১/ ল্যাঙ্গুয়েজ ফ্রেইমওয়ার্ক। প্রত্যেক ল্যাঙ্গুয়েজের (ফ্রেইমওয়ার্কেরো) কিছু নিজস্ব ডিজাইন প্যাটার্ন, বেস্ট প্রাকটিস ইত্যাদি রয়েছে, যার ফলে নিজেদের অজান্তেই প্রতি ডোমেইনের প্রোগ্রামারগণ একটা কমন ধারায় প্রোগ্রামিং করে থাকেন। যদি আপনার ভাগ্য ভাল থাকে এবং আপনার আগের প্রোগ্রামাররা সাউন্ড মাইণ্ডেড হয়ে থাকেন তাহলে আপনার বুঝে উঠতে কষ্ট করা লাগবে না। যদি তারা (অথবা আপনি) পাস্তাপ্রেমী হয়ে থাকেন, তাহলে কেউই সুখী হবেন না।

২/ ইস্যু, গিট হিস্টরি, কমিট ম্যাসেজ। দেখার চেষ্টা করুন তাদের কর্মধারা সময়ের উর্ধক্রমে। যদি এইগুলি না থাকে তাহলে, আবারো, সুখী হওয়া মুস্কিল হয়ে দাঁড়াবে।

৩/ লেয়ারে ভাগ করুন, এপিআই লেয়ার, ডাটাবেজ লেয়ার, মডেল, ভিউ, কন্ট্রোলার, আসলে এই বিভক্তি আপনার প্রজেক্টের উপর। এরপর এক একটা লেয়ার ধরুন ও সাবার করুন।

৪/ কমেন্ট ও ডকুমেন্টেশান আসলে কিছুটা ওভাররেইটেড, বিশেষ করে যদি র‍্যাপিড ডেভেলপমেন্ট ফ্রেইমওয়ার্ক অথবা প্রপার আজাইল ব্যবহার করা হয়। যেমন ধরুন, রেইলস অথবা জ্যাঙ্গো কিন্তু অনেক খানি সেলফ ডকুমেন্টিং। ওটা নিয়ে ভয় না পাইলেও চলবে।

৫/ একি কথা বলা যায় ডাটাবেস ডিজাইন ডিয়ায়াগ্রাম নিয়ে, অনেক টুল দিয়ে কিন্তু আপনি নিজেই ইন্ট্রোস্পেক্ট করে বার করে আনতে পারেন ডাটা ডায়াগ্রাম।

৬/ টেস্ট কেইস থাকলে তো সোনায় সোহাগা।
- Arnab Bagchi

Thursday, December 21, 2017

ডাটা সায়েন্সের কাজ শেখার জন্য কিছু চমৎকার প্রজেক্ট আইডিয়া।

১.
আমি জানি অনেকেই ডেটা সায়েন্টিস্ট হতে চাইছেন। কিন্তু বাংলাদেশে সেভাবে এর ফিল্ড তৈরী হয়নি। তৈরী হয়নি বলে হবে না তা কিন্তু নয়। প্রস্ততি নেবার সময় এখনই।
এই নিন একটি হট আইডিয়া দিচ্ছি।
না একদম গ্রাউন্ডব্রেকিং আইডিয়া নয়।
তবে এই আইডিয়া বাস্তবায়ন করা দুরে থাক, শুধু কাগজে কলমে সমাধানের ধাপগুলোও যদি লিখে ফেলতে পারেন (যাকে বলা যাবে ফ্রেমওয়ার্ক) সেটিও গুরুত্বপূর্ণ একটি কাজ হবে।
কাজটি হলো--
একটি প্রেডিক্টিভ মডেল তৈরী করবেন যা দিয়ে আপনি প্রেডিক্ট করার চেষ্টা করবেন আপনার বন্ধু (বা অন্যকেউ) আগামী নির্বাচনে আওয়ামী লীগ সমর্থন করবে নাকি করবে না।
বন্ধুদের দিয়ে শুরু করুন। তারপর আস্তে আস্তে স্কোপ বাড়ান। তখন দেখবেন কীসের ডেটা লাগবে আর সেগুলো কীভাবে কোথায় পাওয়া যাবে। তখন ফ্রেমওয়ার্ক আপডেট করবেন।
এটি একটি বাইনারি ক্ল্যাসিফিকেশন প্রবলেম। আউটকাম ভেরিয়েবলের দুটি সম্ভাব্য ক্যাটেগরি -- হ্যাঁ বা না।
এই মডেল যদি বানাতে পারেন তাহলে আসছে নির্বাচনে বিক্রিও করতে পারবেন। টাকা পয়সার অভাব হবে না। খ্যাতিও আসবে।
ভাবছেন আপনাকে দিয়ে হবে কিনা? ছোট আকারে শুরু করেন। সেটাও সাহসে
কুলাচ্ছে না? তাহলে আর কিসের ডেটা সায়েন্টিস্ট হতে চান? বাদ দেন। 

# Enayetur Raheem

# Clue for Solving: 
The big part of being a data scientist is to know where to look for data. In some cases this dictates everything for a project. Election outcome prediction is a popular topic. It was used in US election. This project can be a good one if you want to look for behavior patterns of people(can be many) in your prediction outcomes (variables). Nawshad Farruque


Thursday, December 14, 2017

4 Types of Customers (and How to Sell to Each of Them) | Dan Lok

4 Types of Customers:

1. Cheap Customers
2. Difficult Customers
3. Sophisticated Customers- Educated, they know what they are buying.
4. Affluent Customers- They buy based on feelings.

https://www.youtube.com/watch?v=F2uj9eApGXI

Monday, November 20, 2017

Mi Router 3 Official English Firmware

অাপনি কি জানেন, Mi Router 3 এর Official English Firmware আছে? যদি না জেনে থাকেন তাহলে Post টি আপনার জন্য। Step গুলো follow করে আপনি আপনার Mi 3 Router এর interface English এ change করতে পারেন।
১. প্রথমে লিংক থেকে firmware টি download করে নিন৷
২. এরপর miwifi.com এ Router admin password দিয়ে Login করুন ৷ (Google Chrome Browser Recommended)
৩. আপাতত right button ক্লিক করে Translate to English প্রেস করে English করে নিন।
৪. Right top এ, আপনার username এর উপর ক্লিক করুন। ২য় option, মানে System Upgrade ক্লিক করুন। Backup and restore থেকে New Backup এ ক্লিক করুন। একটি system backup file download হবে।
৫. এখন Manual upgrade এ ক্লিক করুন। আপনার প্রথমেই download করা file টি Locate করে দিন। এবার, ৫ মিনিট এর মত আল্লাহ আল্লাহ করুন৷ System Upgrade/Downgrade এর সময় আপনার Router এর Led yellow হয়ে যাবে। System Upgrade/Downgrade হয়ে গেলে পুনরায় Blue হয়ে যাবে। ( Don't need to tick on erase configuration, else you have to setup the router from initial stage or restore the Backup Configuration)
৬. এবার পুনঃরায়, admin id, pass দিয়ে Login করুন এবং English এ translate করে নিন।
৭. Go to 3rd tab( Common settings) > Wifi settings. একদম নিচে Region setting থেকে 'Europe' select করুন। Router reboot/session logout করবে৷
৮. আবার পুনঃরায়, admin id, pass দিয়ে Login করুন এবং English এ translate করে নিন। Go to 3rd tab( Common settings) > System Status > Language > Select 'English' ৷ ALL Done !!!
৯. এবার time setting থেকে CST -6 Select করুন। English interface enjoy করুন৷
NB: উক্ত পদ্ধতি শুধুমাত্র Mi Router 3 এর জন্য প্রযোজ্য৷ এই কাজের সকল ঝুঁকি আপনাকে বহন করতে হবে। কোন ক্ষতির জন্য আমি, আমার এই post বা এই group দায়ি থাকবে না। সমস্যা হলে Latest firmware এ Upgrade করে, Backup করা Configuration টি restore করতে পারেন। সমস্যা হলে comment section এ comment করুন |

Tanveer Rahman Shakil
 

Saturday, September 30, 2017

লেটস এনক্রিপ্ট আর সার্টবট ব্যবহার করে এসএসএল সেটাপ করা খুবই সহজ!

লেটস এনক্রিপ্ট আর সার্টবট ব্যবহার করে এসএসএল সেটাপ করা খুবই সহজ! মুগ্ধ হয়ে গেলাম ওদের সার্ভিস দেখে । ক্লায়েন্ট কে দিয়ে অথবা নিজের পকেট থেকে একটা ওয়ান টাইম ডোনেশন এর ব্যবস্থা করতে হবে দেখি!

*Abu Ashraf Masnun

Sunday, September 10, 2017

ওজন বাড়ানোর সহজতম পদ্ধতি

ওজন বাড়ানোর সহজতম পদ্ধতি – Weight Gain Tips – Motivational Video in BANGLA


https://www.youtube.com/watch?v=gSOQQDeH4Fc

Wednesday, April 12, 2017

Sunday, January 29, 2017

ইন্ডিয়ার টেক স্টারটাপ গুলা এখন বেশির ভাগই পপুলার এপ গুলার কপি।

ইন্ডিয়ার টেক স্টারটাপ গুলা এখন বেশির ভাগই পপুলার এপ গুলার কপি।
সেদিন একটা কোম্পানি দেখলাম Intercom এর পুরা লাইনআপ মেরে দিছে, ওদের ওয়েবসাইট এর ডিজাইন সহ। ফ্লিপকার্ট ওই কোম্পানিকে কিনে নিয়েছে।

গতকাল একটা সাইট দেখলাম পুরাই Hotjar এর কপি এবং বেশ ভাল করছে।
আমার পরিচিত একজন (বিদেশি) Canva কে কপি করে নতুন সার্ভিস বাজারে নিয়ে আসছে এবং ৭ দিনে $80000 সেল করেছে।
একটা আইডিয়া বাজারে আছে মানে এই না আপনি আনতে পারবেন না।
আসল ব্যাপার হচ্ছে, আপনার এক্সিকিউশন।

* Intercom copy = http://www.nudgespot.com/
* Canva's competitor = https://www.designbold.com/
* Big guys say to do this and there is a company who just go with copy pasting and make billions of dollar: 
http://thehustle.co/rocket-internet-oliver-samwer
* Get lots of new ideas from this website:
 https://www.crunchbase.com/#/home/index

# Parvez Akther

Wednesday, August 3, 2016

সফটওয়্যার ইঞ্জিনিয়ার হতে চাইলে একজন ইউনিভার্সিটির স্টুডেন্টকে একাডেমিক পড়াশোনার পাশাপাশি কি ধরণের প্রস্তুতি নেওয়া উচিত ?

আসসালামু 'আলাইকুম, নাহমাদুহু ওয়ানুসাল্লি আলা রাসুলিহিল কারিম, আম্মা বা'দ।
Ariful Islam ভাই খুবই সুন্দর একটি উদ্যোগ নিয়েছেন, নবীন ইউনিভার্সিটি স্টুডেন্টদের একাডেমিক সময়ে কি কি প্রস্তুতি নিতে হবে যেন পড়াশোনা শেষে জব পাওয়া ও জব-এ কাজ করার সহজ হয় - এ বিষয়ে তিনি বিভিন্নজনের মতামত সংগ্রহ করছেন এবং কম্পাইল করে পরবর্তীতে কম্বাইন্ড ভার্শন বের করার কাজ করছেন। এটি নিঃসন্দেহে খুবই প্রয়োজনীয় এবং যুগোপযোগী উদ্যোগ। উনার রিকোয়েষ্ট এ আমার কিছু মতামত পেশ করছি, আশা করি কাজে লাগতে পারে। 
 
১। স্কিল ডেভেলপমেন্ট এর জন্য ইউনিভার্সিটির প্রথম ও দ্বিতীয় বছয় প্রোগ্রামিং কন্টেস্ট এ সময় দিলে ভালো হয়, তখন প্রোগ্রামিং এর প্রতি একটা টান তৈরি হবে এবং প্রব্লেম সলভিং এর মজা টা পাওয়া যাবে। একটা সমস্যা কে কিভাবে ছোট ছোট ভাগে ভেংগে সলভ করতে হয়, কোন কোন সময় কোন ধরণের এলগরিদম ব্যবহার করতে হয়, কখন কম্প্রোমাইজ করতে হয় ইত্যাদি বিষয়ে একটা ভালো ধারণা এই সময় তৈরি হয়। ইউনিভার্সিটি গুলোতে প্রায়ই সিনিয়ররা কিংবা স্যারেরা কন্টেস্ট সংক্রান্ত বুটক্যাম্প বা নিদেনপক্ষে গাইডলাইন সেশন করে থাকেন, সেগুলোতে অংশগ্রহন করা উচিত। যারা CSE/ICT এর না, তারা সাধারণত ইউনিভার্সিটি থেকে কন্টেস্ট এ অংশগ্রহণ করতে পারেন না - তাদের অনলাইন কন্টেস্ট গুলাতে সময় দিতে হবে। অনলাইন কন্টেস্ট এর জন্য কয়েকট জনপ্রিয় সাইট হলঃ topcoder, codechef, uva, hackerrank
 
২। এর পরের ২ বছরে একটা নির্দিষ্ট track (PHP/.NET/Java/Android/iOS/C) বেছে নিয়ে তার উপর স্পেশালাইজেশন তৈরি করা উচিত। এর জন্য প্রথমেই যেটা প্রয়োজন হবে সেটা হল কমপক্ষে ২-৩ টা ভালো বই কাভার টু কাভার পড়া এবং এর বিষয়গুলো আত্বস্থ করা। বইয়ের প্রতিটা কোড ব্লক, এক্সারসাইজ, প্রব্লেম সলভিং নিজ হাতে টাইপ করে করে রান করে দেখতে হবে। অনেক সময় বিরক্তি আসতে পারে, কিন্তু তারপরও এটি চালিয়ে যেতে হবে ততদিন পর্যন্ত যতদিন নিজের মনে কনফিডেন্স না আসে। অনেক সময় এরকম হতে পারে যে একটা track এ অনেকদিন সময় দেয়ার পরও হচ্ছে না, তখন অন্যান্য track নিয়ে চেষ্টা করা যেতে পারে। অনেকে চিন্তা করেন যে কোনটা দিয়ে শুরু করবেন - একটু ঢুঁ মেরে দেখুন প্রত্যেকটির সাইট ও অনলাইন ডকুমেন্টেশন এ, কাছের বড় ভাইদের জিজ্ঞেস করুন, ইন্ডাস্ট্রিতে কাজ করছে এমন কোন বন্ধু বা আত্বীয়কেও জিজ্ঞেস করে দেখতে পারেন। যেটা নিয়েই শুরু করুন না কেন, লেগে থাকতে হবে আর যথেষ্ট সময় দিলে যেকন লাইনেই ভালো করা সম্ভব।
 
৩। যখন মনে হবে যে একটা কনফিডেন্স আসছে, অনেক গুলো ছোট ছোট প্রজেক্ট হয়ে গিয়েছে আর সহজেই একটা প্রব্লেম সলভ করা যায় একটু চিন্তা করলে, তখন পার্সোনাল কিছু প্রজেক্ট তৈরিতে হাত দেয়া উচিত যেখানে এই জ্ঞান পরিপূর্ণ ভাবে কাজে লাগবে। হতে পারে একটা Small POS system / Student Management System / HR Management / URL shortener / Invoice Generator / Job site / Blog / Twitter clone / University Portal / E-commerce store etc এরকম যেকোন কিছু যা আপনার ভালো লাগে। অনলাইনে এধরণের ভালো ভালো সলিউশন গুলো থেকে ফিচার বাছাই করে সেগুলা ইম্প্লেমেন্ট করলে একটা আইডিয়া তৈরি হবে যে আসলে কি থাকে এধরণের সফটওয়্যার এ। যেমন একটা Invoice Generator বানানোর জন্য freshbooks.com, invoicemachine.com ইত্যাদি সাইট এ ফ্রি একাউন্ট করে দেখতে হবে কি কি ফিচার তারা দেয় এবং সেখান থেকে ৮/১০ টা মূল ফিচার নিয়ে নিজের একটা ভার্শন বানাতে হবে।
 
৪। একই সাথে ভালো ওপেন সোর্স প্রজেক্ট খুঁজে খুঁজে সেগুলার কোড পড়তে হবে ও ডাউনলোড করে চালিয়ে দেখতে হবে। কিছু কিছু যায়গায় মডিফাই করে দেখতে হবে কি ইম্পাক্ট হয়, কোন অংশ কিভাবে কাজ করে ইত্যাদি। একজন অভিজ্ঞ প্রোগ্রামার মাত্রই সে অন্যের লেখা প্রচুর কোড পড়ে এবং ভালো কোড দেখে নতুন নতুন জিনিস শেখে। যেমন ওপেন সোর্স Invoice Generator এর কোড হিসেবে invoiceninja.com এর কোড দেখা যেতে পারে, E-commerce store হিসেবে sylius.org এর কোড দেখা যেতে পারে।
 
৫। এরপর যদি সুযোগ থাকে তাহলে এরকম ১/২ টা প্রজেক্ট এ কন্ট্রিবিউট করতে পারলে খুব ভালো হবে। এক্ষেত্রে শুরু করতে হবে কোন বাগ সলভ / ডকুমেন্টাশন আপডেট / খুব ছোট কোন ইম্প্রুভমেন্ট ইত্যদি দিয়ে। এখানে অনেকের মধ্যে একটা হেসিটেশন কাজ করে যে "আমি করতে পারি এমন কিছু কি এখানে আছে?" / "আমার চেয়ে অনেক অনেক বড় বড় ডেভেলপার রা কাজ করছে, আমি কি পাত্তা পাবো?" ইত্যাদি - এগুলো মাথা থেকে ঝেড়ে ফেলে দিয়ে দেখতে হবে ছোট ছোট কাজ কি আছে এবং সেখান থেকে শুরু করতে হবে। গিটহাব এ এধরণের প্রজেক্ট এর কন্ট্রিবিউটর পেজ এ গেলে দেখা যাবে যে মাত্র ১টা কমিট করেছে এমন লোকও অনেক আছে। তারা যদি করতে পারে, তাহলে আমিও পারবো এমন মানসিকতা রাখতে হবে। যেমন invoicenija.com এর কন্ট্রিবিউটর পেজে দেখা যাবে যে ৮৫ জন কন্ট্রিবিউটর এর মধ্যে ২৯ জনের আছে ১টা করে কমিট, ১০ জনের আছে ২টা করে কমিট, ৭ জনের ৩টা করে কমিট, ৭ জনের ৪টা করে কমিট ইত্যাদি।
 
৬। স্কিল ডেভেলপমেন্ট এর পাশাপাশি আপডেটেড থাকার জন্য track এর রেগুলার আপডেট ফলো করতে হবে। এজন্য reddit, stackoverflow, quora, sitepoint, etc সাইটে সবসময় চোখ রাখতে হবে, পাশাপাশি নিজের track এর এগ্রেগেটেড সাইট গুলো ও ফোরাম গুলোও দেখতে হবে। যেমন PHP তে যারা কাজ করেন তারা planet-php.net, phpdeveloper.org, laravel-news.com, laracasts.com, symfony.fl ইত্যাদি সাইট এ চোখ রাখতে পারেন, অংশগ্রহণ করতে পারেন phpXperts গ্রুপ এ - http://bit.ly/phpxperts। নতুন কোন ফিচার / লাইব্রেরি / কোড স্নিপেট ভালো লাগলে ডাউনলোড করে চালিয়ে দেখতে হবে। আর এই ফিল্ডের বড় বড় অভিজ্ঞ প্রোগ্রামারদের ব্লগ এ নিয়মিত ভিজিট করতে হবে, তাদের পোষ্ট পড়তে হবে এবং তাদের চিন্তাধারা গুলো বুঝার চেষ্টা করতে হবে। দেশে কাজ করছেন এমন অভিজ্ঞ প্রোগ্রামারদেরদের সাথে যোগাযোগ রাখার চেষ্টা করা যেতে পারে, এজন্য তাদেরকে ফেসবুক/টুইটারে ফলো করতে হবে।
 
৭। এভাবে নিজের স্কিল যখন একটা পর্যায় পর্যন্ত পৌঁছে যাবে, তখন সম্ভব হলে কিছু ফ্রিল্যান্সিং কাজ করা যেতে পারে। এজন্য সরাসরি আপওয়ার্ক বা এধরণের ফ্রিল্যান্সিং সাইট থেকে বিড করে কাজ নেয়া যেতে পারে বা অন্য কোন টিম / বড় ভাইয়ের সাথে জয়েন্টলি কাজ করা যেতে পারে। উদ্দেশ্য হল হাত পাকানো - ক্লায়েন্ট এর সাথে কমিউনিকেশন, রিকোয়রমেন্ট বুঝা, এস্টিমেট করা, মাইলষ্টোন এ ভাগ করে কাজ করা, কাজের ডেলিভারি দেয়া, কমিটমেন্ট ধরে রাখা ইত্যাদি বিষয়গুলো এই ফাঁকে আয়ত্তে এসে যাবে। অনেক সময় বিভিন্ন কোম্পানী পার্ট-টাইম বা ইন্টার্নশিপ এর সুযোগ দেয়, সেরকম ম্যানেজ করতে পারলে আরো ভালো। এখানে খেয়াল রাখতে হবে যে কাজ করতে গিয়ে যেন ওভার কমিটমেন্ট না হয়ে যায় - এমন যেন না হয় যে সময় মত কাজ না দিতে পারার কারণে কিংবা লো কোয়ালিটির কাজের কারণে নিজের বা নিজের কমিউনিটির বা দেশের সুনাম নষ্ট হল। এই বিষয়ে অনেক সুন্দর সুন্দর আর্টিকেল ও গাইডলাইন অনলাইন এ পাওয়া যায় - সেগুলা পড়তে হবে এবং নিজেকে যতটা সম্ভব ডিসিপ্লিন এর মধ্যে রাখতে হবে। 
 
৮। গ্রাজুয়েশেন এর পর জব এর জন্য প্রস্তুতি হিসেবে একটা ভালো রেজুমে বানাতে হবে - এখানে হাইলাইট করতে হবে পার্সোনাল প্রজেক্ট, ওপেন সোর্স কন্ট্রিবিউশন, নিজের ব্লগ, পছন্দের সাইট/রিসোর্স এর লিঙ্ক ইত্যাদি। একটু খুঁজলেই সুন্দর সুন্দর রেজুমের ফরম্যাট পাওয়া যায় অনলাইন এ, একেবারেই না পেলে গুগল ডকস এর টেমপ্লেট থেকে বেছে নেয়া যেতে পারে। রেজুমে তে গৎবাঁধা সব টেকনোলজির নাম না দিয়ে স্পেশালাইজেশন গুলা হাইলাইট করতে হবে। ইউনিভার্সিটির প্রজেক্টওয়ার্ক গুলো যদি রেলেভেন্ট হয়, তাহলে সেগুলোর নাম দেয়ার পাশাপাশি হাল্কা বর্ণনা দেয়া যেতে পারে।
 
এভাবে প্রস্তুতি নিলে আশা করা যায় একজন নিজেকে জব ফিল্ডের জন্য তৈরি করতে পারবে। এখানে একটা কথা না বললেই নয়, সেটা হল কোন শর্টকাট উপায়ে রাতারাতি স্কিল অর্জন করার কোন উপায় নেই - সফল হতে হলে অবশ্যই সময়, মেধা ও শ্রম ব্যয় করতে হবে। কেউ যদি এরকম আশ্বাস দেয় যে একটা কোর্স করলেই চাকুরী পাওয়া যাবে, বা কয়েকটি টিউটরিয়াল পড়েই ফ্রিল্যান্সিং করে টাকা কামানো যাবে তাহলে বুঝতে হবে যে এখানে কোন ফাঁক আছে। এসব বিষয়ের দিকে না ঝুঁকে মূল লার্নিং এ সময় দিলেই সফল হওয়া যাবে।
 
সবার জন্য অনেক অনেক শুভকামনা। 
 
* Mohammad Emran Hasan

Monday, August 1, 2016

পাইথন জব পাওয়ার জন্য একজন ক্যান্ডিডেটের কি ধরনের গুনাবলী থাকা দরকার?

পাইথন জব পাওয়ার জন্য একজন ক্যান্ডিডেটের কি ধরনের গুনাবলী থাকা দরকার? এই প্রশ্নের উত্তর দিয়েছেন পেপাল এর পাইথন টীমের হেড মাহমুদ । মাহমুদ পাইকোডার্স উইকলিরও কো-অথর ।

http://sedimental.org/getting_a_python_job.html

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

# Masnun

Sunday, April 17, 2016

কোডিং শেখার জন্য সেরা ৫০ টি ওয়েব সাইট !

আমরা কোডিং শেখার জন্য অনেক কিছু ঘাটাঘাটি করি। কিন্তু কোনো কিছুই প্রাকটিস ছাড়া সম্ভব নয়। কেমন হয় যদি প্রাকটিসও হয় এবং সাথে সাথে শেখা… এরকমই ৫০ টা ওয়েব সাইট আজ আপনাদের সামনে তুলে ধরব… এই ওয়েব সাইট গুলো থেকে আপনি HTML, CSS, Javascript, SQL, XHTML, Bootstrap, C, C++, Python, Ruby, Android Development, Java এবং আরো অনেক কিছুই শিখতে পারবেন.

1.Codecademy
শেখার জন্য আমার দেখা সেরা ওয়েব সাইট হল কোড একাডেমি… এটা হল সেই স্থান যেখান থেকে একজন বিগিনারের জন্য পারফেক্ট প্লেস। শুরু থেকেই একজন মানুষ হতাশ হয়ে পরে কোথা থেকে শুরু করবে, কিভাবে করবে আরো অনেক কিছু এখান থেকে সহজে শুরু করতে পারবেন। এখান থেকে আপনি ওয়েব বেজ সব কিছুরই বেসিক খুব ভালভাবে আয়ত্ত করতে পারবেন।
http://www.codecademy.com/

2.Udacity
ইউডিএসিটি আরেকটা প্লেস যেখান থেকে সহযে শিখতে পারবেন। এখানে অধিকাংশ সময় ভিডিও টিউটোরিয়াল পাওয়া যায় সেগুলোর উপরে ২-৩ মিনিটের কুইজ থাকে আরো অনেক কিছুই। এখান থেকে আপনি Computer Science, Web Application Engineering, Software Testing, Web Development, HTML5, Python, Java, Computer Science, Algorithm এগুলোর ভাল টিউটোরিয়াল পাবেন।
https://www.udacity.com/

3.Google Android Development
এটা হচ্ছে এন্ড্রয়েড ডেভেলপমেন্ট শেখার জন্য বেস্ট। যারা এই এন্ড্রয়েড তৈরী করেছে তাদের কাছ থেকেই শেখেন। এখানে বেসিক থেকে এডভান্স পর্যন্ত সব কিছুই পাবেন। আর কিভাবে আপনার এপস প্লে স্টোরের জন্য রেডি করবেন সেটাও পাবেন।
https://developer.android.com/training/index.html

4.Google’s Python Class
গুগলের পাইথন ক্লাস বলা হয় এটাকে। এটা সম্পূর্ণ ফ্রী।
https://developers.google.com/edu/python/

5.Coursera
এখানে সম্পূর্ণ ফ্রী অনেক কোর্স পাবেন। এখানে কম্পিউটার সায়েন্সের অনেক ভাল ভাল টিউটোরিয়াল পাবেন। এখান থেকে Computer architecture, Programming languages, C++ for C programming, Algorithms, Artificial Intelligence, Cryptography…etc এই গুলো খুব ভাল ভাবে শিখতে পারবেন।
https://www.coursera.org/
Websites What You Will Learn

6.Code.org - Basics of JavaScript programming , Python, Hopscotch etc
7.W3Schools.com --HTML,CSS,Javascript, jQuery, Bootstrap
8.Thenewboston HTML5, CSS, Javascript, Java, Python, PHP, App Development, Android Development, C Programming.
http://thenewboston.org/
9.MIT OpenCourseWare Electrical engineering and computer science in MIT’s OpenCourseWare collection
http://ocw.mit.edu/…/electrical-engineering-and-computer-s…/
10.Khan Academy Everything what you here
https://www.khanacademy.org/
11.Webmonkey HTML5, Ajax, CSS, APIs, Javascript etc.
http://www.webmonkey.com/tutorials/
12.CodeAvengers HTML, CSS, Javascript, Python etc.
https://www.codeavengers.com/
13. Codeschool HTML/CSS, JavaScript, Ruby, iOS
http://www.codeschool.com/
14. TeamTreeHouse HTML/CSS, JavaScript, Ruby, iOS, Android, Python…
http://teamtreehouse.com/
15. Html5Rocks HTML5/CSS
http://www.html5rocks.com/en/
16. Sqlzoo SQL
http://sqlzoo.net/
17. EDX Computer Science, Java
https://www.edx.org/
18. TheCodePlayer HTML5, CSS3, Javascript, Jquery
http://thecodeplayer.com/
19. LearnPythonTheHardWay Python
http://learnpythonthehardway.org/
20. SkillCrush HTML/CSS, Javascript, Python …more
http://skillcrush.com/
21. TutsPlus WordPress Plugin Development, Webdesigning, Other Coding tutorials
http://tutsplus.com/
22. CodeCombat Play to learn code
http://codecombat.com/
23. DontFearTheInternet HTML/CSS
http://www.dontfeartheinternet.com/
24. LearnLayout Advanced CSS
http://learnlayout.com/
25. Atozcss CSS Screencasts
http://www.atozcss.com/
26. Dash HTML5, CSS3, Javascript
https://dash.generalassemb.ly/
27. Web Accessibility Tools and techniques for web developers
https://webaccessibility.withgoogle.com/course
28. TheHelloWorldProgram Web Development, Linux, Python
http://www.thehelloworldprogram.com/web-development/
29. PythonTutor Python
http://pythontutor.com/
30. CodeLearn Web Development
http://www.codelearn.org/
31. Rubymonk Ruby
https://rubymonk.com/
32. Stanford University Software Algorithms
http://online.stanford.edu/courses
33. NodeTuts Node JS video tutorials
http://nodetuts.com/
34. NodeSchool Web software skills
http://nodeschool.io/
35. Egghead Video training for AngularJS, React, D3, and many other essential modern web technologies
https://egghead.io/
36. Learn-Angular AngularJS
http://learn-angular.org/
37. IOS Development IOS
https://itunes.apple.com/…/developing-apps-for…/id395605774…
38. LearnJavaOnline Java
http://www.learnjavaonline.org/
39. CodingBat Java, Python
http://codingbat.com/
40. Techotopia IOS, Android
http://www.techotopia.com/
41. EssentialSQL SQL
http://www.essentialsql.com/
42. SqlBolt SQL
http://sqlbolt.com/
43. Coderdojo HTML5, CSS3, Javascript
http://coderdojo.com/
44. HackDesign Design course
http://hackdesign.org/
45. Mozilla Developer Network Mozilla Development
https://developer.mozilla.org/en-US/
46. Programming Video Tutorials C++
http://www.programmingvideotutorials.com/c…/cpp-introduction
47. National Programme on Technology Enhanced Learning Principles of Programming Languages
http://www.youtube.com/course
48. Landofcode Java, CSS, HTML, PHP and VBScript
http://landofcode.com/
49. SitePoint Reference HTML5, CSS3, Javascript
http://reference.sitepoint.com/html
50. Wikiversity PHP, C++, Python, Java… etc
http://en.wikiversity.org/wiki/School:Computer_Science

Monday, March 7, 2016

Public To Do List in Trello

এটা শিখবো, ওটা শিখবো করে শেষ পর্যন্ত কোনটাই ভালো করে শেখা হয় না । তাই একবারে একটা পাবলিক লিস্ট বানিয়ে ফেললাম ট্রেলো তে । এটা এখন ঠিক ঠাক মত ফলো করতে পারলেই হয় ।

 https://trello.com/b/thjsmhqn/to-learn
 
"Explore" - লিস্ট এ থাকবে নতুন নতুন কি কি দেখতে হবে । এই টপিকগুলা লং টার্মে শিখতে চাই । এইগুলার কোন জিনিসগুলো শেখা দরকার সেটা এখনো জানি না, তাই শুধু নাম লিখে রাখছি । পরে ঘেটে দেখতে হবে কি কি শেখা লাগবে ।

ল্যাঙ্গুয়েজ স্পেসিফিক লিস্ট গুলায় থাকবে ঐ প্লাটফর্ম সংশ্লিষ্ট কিছু টপিক । প্রত্যেকটি কার্ডে একটি করে অবজেক্টিভ থাকবে । এই অবজেক্টিভ পূরন করলে কার্ডটিকে "Completed List" এ পাঠিয়ে দেওয়া হবে । কম্প্লিট করার সপ্তাহ খানেক পরে এটাকে আর্কাইভ করা হবে ।
প্রত্যেকটি কার্ড কম্প্লিট করার পর সম্ভব হলে একটা করে ডিটেইল এ ব্লগ পোস্ট লিখবো, অথবা এখানে সামারি শেয়ার করবো ।

# Masnun