HomeVideos

Distributed databases with Peter Mattis

Now Playing

Distributed databases with Peter Mattis

Transcript

10275 segments

0:00

আমি গুগলের

0:00

ল্যারি এবং

0:00

সের্গেই-এর

0:01

সাথে কথা বলছি।

0:01

কোনোভাবে,

0:02

তাদের একজন

0:02

আমাকে গুগলে

0:02

ইন্টারভিউ

0:03

দিতে আসার জন্য

0:03

ফোন করে। আর

0:04

গুগলের বয়স

0:04

তখন মাত্র ৩ বছর

0:05

। ৩ বছর বয়স, আর

0:06

আমি না বলে

0:06

দিয়েছিলাম।

0:07

আপনি তা করেননি

0:07

। আমি বরাবরই

0:08

একজন খুব কর্মঠ

0:09

কোডার ছিলাম।

0:09

আমি আমার

0:10

গিটহাবের

0:10

কাজগুলো দেখি।

0:11

সেরা

0:11

বছরগুলোতে,

0:11

হয়তো এক বছরে

0:12

১,০০,০০০ লাইন

0:12

কোড লিখতাম।

0:13

এআই আসার আগের

0:14

যুগ, তাই না? এটা

0:15

সেই সময় যখন

0:15

আপনি এই

0:15

কাজগুলো হাতে-

0:16

কলমে করতেন।

0:16

আমি যখন সেদিকে

0:17

তাকাই, তখন মনে

0:17

হয় যেন একবারে

0:18

মাথায় রাখার

0:18

মতো একটা

0:19

সর্বোচ্চ সীমা

0:19

আছে। আমরা

0:20

ইরেজার কোডিং

0:20

ক্লাসগুলো

0:21

করেছিলাম। ওটা

0:21

ছিল এক ধরনের

0:22

বড় অগ্রগতি।

0:23

আপনার কাছে

0:23

ডেটার নয়টি

0:23

খণ্ড আছে,

0:24

কিন্তু

0:24

সেগুলোর

0:24

যেকোনো পাঁচটি

0:25

খণ্ড ব্যবহার

0:25

করে ডেটাটিকে

0:26

পুনর্গঠন করা

0:26

যায়। এর মানে

0:27

হলো, আপনি

0:27

যেকোনো চারটি

0:28

কপি হারিয়ে

0:28

ফেললেও আপনার

0:29

ডেটা পুনর্গঠন

0:29

করতে পারবেন।

0:30

>> এআই আসার আগের

0:31

চার বছর আগের

0:31

তুলনায় আজকের

0:32

দিনে ভালো

0:33

সফটওয়্যার

0:33

ইঞ্জিনিয়ারিং

0:34

কেমন হওয়া

0:34

উচিত বলে আপনি

0:35

মনে করেন?

0:36

>> আমার মনে হয়,

0:36

উচ্চাকাঙ্ক্ষা

0:37

বাড়াতে হবে।

0:41

>> তিনি কলেজে

0:41

থাকাকালীন GIMP

0:42

ইমেজ এডিটর

0:43

তৈরি করেছিলেন,

0:43

Gmail-এর পেছনের

0:44

মূল স্টোরেজ

0:45

সিস্টেমটি

0:45

ডিজাইন

0:46

করেছিলেন এবং

0:46

আরও অনেক বড়,

0:47

জটিল ও বহুল

0:47

ব্যবহৃত

0:48

সিস্টেম তৈরি

0:49

করেছেন। ইনি

0:49

হলেন পিটার

0:50

ম্যাটিস, ককরোচ

0:51

ল্যাবস-এর সহ-

0:51

প্রতিষ্ঠাতা

0:52

এবং সিটিও।

0:52

আমাদের কথা

0:53

বলার জন্য বসার

0:54

আগে পিটার

0:54

আমাকে

0:54

বলেছিলেন, "গত

0:55

৩০ বছর ধরে আমি

0:55

সবসময়ই একজন

0:56

প্রচুর কোডার

0:57

ছিলাম, কিন্তু

0:57

আমার বর্তমান

0:58

কাজের

0:58

পরিমাণটা একটু

0:59

বেশিই। আর এটা

0:59

কোনো

1:00

লোকদেখানো

1:00

বাজে কোড নয়,

1:01

বরং শক্তিশালী

1:01

কোডিং মডেলের

1:02

সাথে কাজ করার

1:03

সুবাদে

1:03

ডাটাবেস-

1:03

উপযোগী, উচ্চ-

1:04

মানের এবং উচ্চ-

1:05

পারফরম্যান্সের

1:05

কোড।" আজ আমরা

1:06

আলোচনা করব

1:07

ডাটাবেস তৈরির

1:07

ক্ষেত্রে বি-

1:08

ট্রি (B-tree) কেন এত

1:09

গুরুত্বপূর্ণ,

1:09

এবং কেন পিটার

1:10

তার কর্মজীবন

1:11

জুড়ে বারবার

1:11

এই ডেটা

1:12

স্ট্রাকচারটি

1:12

ব্যবহার

1:13

করেছেন।

1:13

কীভাবে তিনি

1:14

এআই (AI) আসার আগে

1:15

প্রতি বছর

1:15

১,০০,০০০ লাইন

1:16

প্রোডাকশন কোড

1:17

লিখতেন, ২০২২

1:17

থেকে ২০২৪

1:18

সালের মধ্যে

1:18

কোডিং বন্ধ করে

1:19

দিয়েছিলেন

1:20

এবং কেন তিনি

1:20

এখন আবার ফিরে

1:21

এসেছেন। কেন

1:22

তিনি মনে করেন

1:22

যে এআই

1:23

এজেন্টরা

1:23

টেস্টিংয়ের

1:23

ব্যাপারে অলস,

1:24

এবং কীভাবে এর

1:25

সমাধান দেখতে

1:25

যতটা কঠিন মনে

1:26

হয়, তার চেয়ে

1:26

অনেক সহজ, এবং

1:27

আরও অনেক কিছু।

1:28

আপনি যদি

1:28

ডিস্ট্রিবিউটেড

1:29

ডেটাবেস,

1:29

ডিস্ট্রিবিউটেড

1:30

স্টোরেজ

1:30

সিস্টেম, অথবা

1:31

পিটার কীভাবে

1:32

এআই ব্যবহার

1:32

করে অসাধারণ

1:33

উচ্চ-মানের এবং

1:33

প্রোডাকশন-

1:34

রেডি কোড তৈরি

1:34

করেন তা জানতে

1:35

আগ্রহী হন,

1:36

তাহলে এই

1:36

পর্বটি আপনার

1:37

জন্য। এই

1:37

পর্বটি

1:37

উপস্থাপন করছে

1:38

টার্বো বাফার,

1:39

যা অবজেক্ট

1:39

স্টোরেজের উপর

1:40

ভিত্তি করে

1:40

নির্মিত একটি

1:41

অবিশ্বাস্যভাবে

1:41

স্কেলেবল,

1:42

দ্রুত এবং

1:42

সাশ্রয়ী

1:43

হাইব্রিড

1:43

সার্চ ইঞ্জিন।

1:44

এর

1:44

ইঞ্জিনিয়ারিং

1:45

টিমটির সাথে

1:45

সময় কাটানোর

1:46

পর আমি তাদের

1:46

বেশ পছন্দ করতে

1:47

শুরু করেছি।

1:47

টার্বো

1:48

বাফারের

1:48

ইঞ্জিনিয়ারিং

1:49

টিম সত্যিই

1:49

অসাধারণ কিছু

1:50

একটা করছে।

1:50

তারা সার্চকে

1:51

আরও দ্রুত,

1:51

সাশ্রয়ী এবং

1:52

স্কেলে আরও

1:52

নির্ভরযোগ্য

1:53

করার জন্য

1:53

তাদের স্টোরেজ

1:54

আর্কিটেকচারকে

1:54

একেবারে গোড়া

1:55

থেকে সম্পূর্ণ

1:55

নতুনভাবে

1:56

ডিজাইন করছে।

1:56

আপনি যদি

1:57

টার্বো

1:57

বাফারকে

1:57

অনুসরণ করেন,

1:58

তাহলে আপনি

1:58

জানেন যে তাদের

1:59

প্রাথমিক

1:59

সাফল্যের একটি

2:00

বিশাল অংশ ছিল

2:00

তাদের স্টোরেজ

2:01

আর্কিটেকচার।

2:02

একটি সফল

2:02

আর্কিটেকচারকে

2:03

নতুন করে

2:03

ডিজাইন করা

2:04

একটি বড়

2:04

ব্যাপার।

2:05

আপনার কোয়েরি

2:05

প্ল্যান ইউনিট

2:06

টেস্ট পাস করা

2:07

এক জিনিস, আর

2:07

প্রোডাকশনে

2:08

সঠিকতা ও

2:08

নির্ভরযোগ্যতা

2:09

বজায় রেখে

2:09

প্রতিটি

2:10

কোয়েরি

2:10

প্ল্যানকে

2:10

পারফরম্যান্সের

2:11

দিক থেকে সমান

2:12

বা তার চেয়ে

2:12

ভালো পর্যায়ে

2:13

নিয়ে আসা

2:13

সম্পূর্ণ

2:14

ভিন্ন জিনিস।

2:15

মজার ব্যাপার

2:15

হলো, টার্বো

2:16

বাফার পুরো

2:16

প্রক্রিয়াটির

2:17

ডকুমেন্টেশন

2:18

তৈরি করছে।

2:18

তাদের নতুন

2:19

স্টোরেজ

2:19

আর্কিটেকচার,

2:20

যেটিকে তারা টি

2:20

পাফ ভি ৩ (T Puff V3)

2:21

বলছে, তার জন্য

2:22

বেশ কঠিন

2:22

সিস্টেমস

2:22

ইঞ্জিনিয়ারিংয়ের

2:23

প্রয়োজন এবং

2:24

তারা এটি সবার

2:24

সামনেই তৈরি

2:25

করছে, আর

2:25

প্রকাশের সাথে

2:26

সাথে ডিজাইনের

2:26

সিদ্ধান্ত এবং

2:27

বেঞ্চমার্কের

2:28

ফলাফলও শেয়ার

2:28

করছে। তারা

2:29

তাদের এই

2:29

যাত্রার একটি

2:30

কাজের লগ রাখছে

2:31

এবং প্রথম

2:31

পোস্টটি আজই

2:32

প্রকাশিত

2:32

হয়েছে।

2:32

turbobuffer.com/v3- এ তাদের

2:34

অনুসরণ করুন।

2:36

হ্যাঁ,

2:36

ঠিকানাটি হলো

2:38

turbobuffer.com/v3। পিটার,

2:39

পডকাস্টে

2:39

আপনাকে স্বাগত

2:40

।

2:40

>> ওহ, আমি এখানে

2:41

আসতে পেরে খুশি

2:42

। এটা দারুণ

2:43

ব্যাপার।

2:43

>> আমি জানতে চাই,

2:44

আপনি মূলত

2:44

কীভাবে

2:45

প্রযুক্তির

2:45

জগতে এলেন? কখন

2:46

আপনার মনে হলো

2:47

যে কম্পিউটার

2:48

একটি

2:48

আকর্ষণীয়

2:48

বিষয়?

2:49

>> আমি এটা

2:49

প্রাথমিক

2:50

বিদ্যালয় বা

2:50

উচ্চ

2:50

বিদ্যালয়েই

2:51

বুঝতে

2:51

পেরেছিলাম।

2:52

অন্য অনেকের

2:52

মতোই,

2:53

সফটওয়্যার

2:53

ইঞ্জিনিয়ার

2:54

হিসেবে আমার

2:54

জন্য গেমিং ছিল

2:55

অনেকটা

2:55

প্রবেশদ্বারের

2:56

মতো। আমার মনে

2:57

আছে, শুরুর দিকে

2:57

আমার মা কোনো এক

2:58

সময় আইবিএম-এ

2:59

প্রোগ্রামিং

2:59

করতেন। তিনি

3:00

ঠিক কী করতেন তা

3:01

আমি

3:01

নিশ্চিতভাবে

3:01

জানি না, কিন্তু

3:02

আমাদের

3:02

বাড়িতে

3:03

সবসময় অ্যাপল

3:03

টু প্লাস,

3:03

অ্যাপল টু জিএস-

3:04

এর মতো

3:04

কম্পিউটার

3:05

থাকত। আমি সেই

3:05

যুগ থেকেই

3:06

এসেছি, উম, এবং

3:06

তার পরের সময়

3:07

থেকেই। আর

3:08

জানেন, আমি

3:08

বইয়ের দোকানে

3:09

যেতাম, বেসিক (BASIC

3:09

) এর উপর কোনো বই

3:10

বা ম্যাগাজিন

3:10

খুঁজে বের

3:11

করতাম,

3:11

প্রোগ্রাম

3:11

টাইপ করতাম, কী

3:12

হচ্ছে তার কোনো

3:13

ধারণাই ছিল না,

3:13

কিন্তু বুঝতেই

3:14

পারছেন, আমি যেন

3:14

এতে আসক্ত হয়ে

3:15

পড়েছিলাম।

3:15

যেমন, এই

3:16

কম্পিউটারগুলোতে

3:17

জিনিসপত্র

3:17

ঢুকিয়ে দিলেই

3:18

দারুণ সব জিনিস

3:18

তৈরি করা যায়।

3:19

তারপর আমি

3:20

কলেজে গেলাম

3:20

এবং ভাবলাম,

3:21

কম্পিউটারে তো

3:21

কোনো টাকা নেই।

3:22

আমি এ সম্পর্কে

3:23

কিছুই জানতাম

3:24

না। আমি

3:24

মেকানিক্যাল

3:24

ইঞ্জিনিয়ার

3:25

হিসেবে শুরু

3:25

করেছিলাম।

3:26

বাবার পদাঙ্ক

3:26

অনুসরণ করে।

3:27

>> ওহ, আপনি

3:27

মেকানিক্যাল

3:28

ইঞ্জিনিয়ারিং

3:28

আপনার

3:29

বিশেষায়িত

3:29

বিষয় হিসেবে

3:29

শুরু করেছিলেন?

3:30

>> হ্যাঁ, আমার

3:31

প্রধান বিষয়

3:31

হিসেবে, হ্যাঁ।

3:32

আমি সেখানে

3:32

গেলাম এবং আমার

3:33

মনে হলো, আমি এর

3:34

আগেও

3:34

কম্পিউটারের

3:34

কিছু কাজ করেছি

3:35

। এটা করাটা

3:35

একটা চরম

3:36

বোকামির কাজ

3:36

ছিল, কিন্তু

3:37

প্রথম

3:37

সেমিস্টারে

3:37

আমি

3:37

মেকানিক্যাল

3:38

ইঞ্জিনিয়ারিংয়ের

3:39

হোমওয়ার্কগুলো

3:39

করছিলাম এবং

3:40

সেগুলো ছিল

3:40

ভয়ংকর রকমের

3:41

কঠিন, যেমন একটা

3:41

সমস্যার জন্য

3:42

ছয় পৃষ্ঠা। আর

3:42

আমি ঠিক সেই

3:43

সময়েই একটা

3:44

সিএস (CS) কোর্স

3:45

নিয়েছিলাম

3:45

এবং সেটা ছিল

3:46

খুবই সহজ। আর

3:47

বাকি সবাই তাতে

3:48

ফেল করছিল। আমি

3:48

ভাবলাম, আমার

3:49

মাথায় সমস্যা

3:50

আছে। আমি ভুল

3:50

ক্ষেত্রে

3:51

এসেছি। আমাকে

3:51

বিষয়টা

3:52

বদলাতে দিন।

3:52

>> আর তারপর আপনি

3:53

বদলালেন।

3:54

>> তারপর আমি

3:54

বদলালাম, হ্যাঁ

3:55

।

3:55

>> কলেজে

3:55

থাকাকালীন

3:56

আপনার তৈরি করা

3:56

প্রথম

3:57

সফটওয়্যার

3:57

কোনটি ছিল?

3:58

নিশ্চয়ই

3:58

কলেজেই হবে,

3:59

যেটা দেখে

3:59

আপনার মনে

3:59

হয়েছিল, 'ঠিক

4:00

আছে, এই

4:00

সফটওয়্যারটা

4:01

নিয়ে আমি

4:01

গর্বিত, এটা

4:02

একটা সম্পূর্ণ

4:02

সফটওয়্যার।'

4:03

>> মানে, কলেজে

4:04

আমার রুমমেটের

4:04

সাথে মিলে আমি

4:05

যে বড় কাজটা

4:06

করেছিলাম,

4:06

আমাদের একটা

4:07

কোর্স ছিল, কী

4:07

যেন নামটা?

4:08

কম্পাইলার্স

4:09

কোর্স? আমার এখন

4:10

আর ঠিক মনে নেই,

4:10

এটা প্রায় ৩০

4:11

বছর আগের কথা,

4:11

আর আমরা

4:12

কোর্সটা করতে

4:12

করতে একঘেয়ে

4:13

হয়ে

4:13

গিয়েছিলাম।

4:14

তাই, আমরা

4:14

পাশাপাশি মজার

4:15

কিছু একটা করতে

4:16

চেয়েছিলাম।

4:16

আমি হাইস্কুলে

4:17

আমার সিনিয়র

4:17

জুনিয়র

4:18

সিনিয়র

4:18

ইয়ারে

4:18

জার্নালিজম

4:19

পড়েছিলাম এবং

4:19

কম্পিউটার

4:20

গ্রাফিক্স

4:20

কীভাবে করতে

4:20

হয় সে

4:21

সম্পর্কে আমার

4:21

ধারণা ছিল আর

4:22

আমি অ্যাডোবি

4:22

ফটোশপের মতো

4:23

কিছু একটা করতে

4:23

চেয়েছিলাম।

4:24

তাই, আমরা এটা

4:24

নিয়ে

4:25

নাড়াচাড়া

4:25

শুরু করি এবং GIMP

4:26

নামে এই

4:27

প্রোগ্রামটি

4:27

তৈরি করি, যেটা

4:28

অনেকেই চেনে।

4:29

আর GIMP-এর

4:29

পাশাপাশি আমি GTK

4:30

গ্রাফিক্স

4:31

লাইব্রেরিরও

4:32

অনেক কাজ করেছি

4:33

। তারপর থেকে

4:34

এটি

4:34

ব্যাপকভাবে

4:35

বিকশিত হয়েছে

4:35

। এটা বেশ মজার,

4:36

কারণ কলেজের পর

4:37

আমি এটা থেকে

4:38

কিছুটা সরে

4:39

এসেছিলাম।

4:39

কলেজ থেকে

4:40

বেরোনোর পর

4:40

প্রথম বছরের পর

4:41

আমি খুব বেশি

4:42

জড়িত ছিলাম না,

4:42

কিন্তু লোকজন

4:43

আমাকে এখনও

4:44

চেনে এবং এটি

4:44

আমার

4:44

কর্মজীবনে আরও

4:45

কিছু

4:45

আকর্ষণীয়

4:46

ঘটনার জন্ম

4:46

দিয়েছে।

4:47

>> আর এটা ছিল GIMP

4:47

শুরু করার মতো,

4:48

অনেকটা এমন যে

4:49

আপনি বলছেন, ঠিক

4:50

আছে, আমি

4:50

ফটোশপের মতো

4:51

কিছু একটা করতে

4:51

চাই, এটা আর

4:52

কতটা কঠিন হতে

4:53

পারে? আর তারপর

4:53

আপনি...এটা

4:54

কলেজে যা

4:55

শিখেছেন তার

4:55

মাধ্যমে হয়নি,

4:56

তাই না? এটা ছিল

4:57

অনেকটা

5:00

গ্রাফিক্যাল

5:00

ইঞ্জিন তৈরি

5:01

করা, রেন্ডারিং,

5:02

ড্রয়িং, ডেটা

5:03

স্ট্রাকচার, এই

5:03

সব কিছু নিজে

5:04

থেকে বের করা,

5:05

তাই না?

5:05

>> এই সব। সবকিছু

5:06

বের করে

5:07

ফেলেছিলাম।

5:07

আমার মনে আছে,

5:08

তখন আমি কিছু

5:08

পেপার দেখার

5:09

চেষ্টা

5:09

করছিলাম। আমার

5:10

রুমমেটও পেপার

5:11

দেখছিল। আমরা

5:11

সবকিছু বোঝার

5:12

চেষ্টা

5:12

করছিলাম। আর

5:13

এটা এমন একটা

5:14

জিনিস, যা শুরু

5:14

করার জন্য

5:15

আপনাকে কিছুটা

5:15

অনভিজ্ঞ হতে

5:16

হবে, কারণ আপনি

5:16

যদি জানতেন এটা

5:17

কতটা কঠিন হবে,

5:18

তাহলে আপনি

5:18

কখনোই এটা শুরু

5:19

করতেন না। তাই,

5:19

আমার মনে হয়,

5:20

আপনার মধ্যে এই

5:20

স্তরের

5:21

মানসিকতা

5:21

থাকতে হবে যে,

5:22

আপনি যদি

5:22

পরিশ্রমের

5:22

ব্যাপারে খুব

5:23

বেশি সচেতন হন,

5:23

তাহলে আপনি

5:24

কখনোই এতে

5:24

জড়াতে পারবেন

5:25

না। কিন্তু

5:25

তারপর যখন আপনি

5:26

কাজটা শুরু

5:26

করেন, তখন এটা

5:27

কেবল বাড়তেই

5:27

থাকে। এটা আরও

5:28

অনেক দূর

5:28

এগিয়ে যায়

5:29

এবং এক

5:29

পর্যায়ে আপনি

5:30

ভাবেন, বাহ, এটা

5:31

তো সত্যিই

5:31

অসাধারণ।

5:32

কিন্তু GIMP-এর

5:32

উপর আমাদের

5:33

কাজের সাথে

5:34

জড়িত একটা

5:34

মজার ছোট ঘটনা

5:35

আছে, যেটা

5:35

কিছুটা পরিচিত

5:36

। আমার মনে হয়

5:37

আমরা এটা নিয়ে

5:38

আগেও কথা বলেছি

5:38

। কিন্তু

5:39

ব্যাপারটা বেশ

5:39

আকর্ষণীয়, যখন

5:40

আমরা এমন একটা

5:40

পর্যায়ে

5:41

পৌঁছেছিলাম

5:41

যেখানে আমরা

5:42

ভাবছিলাম,

5:42

আমাদের এটা

5:43

জনসাধারণের

5:43

জন্য প্রকাশ

5:44

করা উচিত। আর

5:44

তখন নিউজগ্রুপ

5:45

ছিল যেখানে

5:45

লোকেরা

5:46

বিভিন্ন জিনিস

5:46

পোস্ট করত,

5:47

গ্রাফিক্সের

5:48

উপরও একটা ছিল,

5:48

এবং আমার মনে

5:49

আছে, GIMP-এর প্রথম

5:50

সংস্করণ

5:50

প্রকাশ করার

5:51

মাত্র কয়েক

5:51

সপ্তাহ আগে,

5:52

অন্য একজন

5:52

সেখানে এসে বলল,

5:53

"আমি এই

5:53

গ্রাফিক্স

5:54

প্রোগ্রামটি

5:55

নিয়ে কাজ করছি

5:55

।" এবং এটি GIMP-এর

5:56

সবকিছুই করত,

5:57

একেবারে

5:57

প্রতিটি কাজ,

5:58

এবং তার চেয়েও

5:59

বেশি কিছু। আর

6:00

আমরা ভাবলাম, "

6:00

ওহ, এটা তো বাজে

6:01

ব্যাপার। মনে

6:02

হয় আমরা এটা

6:02

নিয়েই কাজ

6:03

চালিয়ে যাব।

6:03

কাজটা মজাদার

6:04

ছিল।" এবং তারপর

6:05

আমরা GIMP প্রকাশ

6:06

করলাম, সেই অন্য

6:07

লোকটির কাছ

6:07

থেকে আর কোনো

6:08

খবর পাইনি। আর

6:08

আমি এটা থেকে

6:09

একটা ছোট

6:09

শিক্ষা পেলাম।

6:10

আপনার আইডিয়া

6:11

নিয়ে সবসময়ই

6:11

অন্য কেউ কাজ

6:12

করবে। তারা আগে

6:13

থেকে ঘোষণা করে

6:13

দিলেও আপনি

6:14

নিরুৎসাহিত

6:14

হতে পারেন না।

6:15

এর থেকে কিছুই

6:15

হয় না। আর এই

6:16

ধরনের কিছু

6:17

জিনিসের

6:17

পেছনের

6:17

মার্কেটিং-এ

6:18

আপনি যা শুনতে

6:18

পারেন, তার

6:19

অনেকটা এরকম যে,

6:19

‘মানে, আমি জানি

6:20

না আমরা তার

6:20

কৃতিত্ব কেড়ে

6:21

নিয়েছি কি না।

6:21

’ আমি নিজেও

6:22

নিশ্চিত নই কী

6:23

হয়েছিল। কী

6:23

ঘটেছিল তা আমি

6:24

কখনও খুঁজে বের

6:25

করিনি, কিন্তু

6:25

এর মধ্যে একটা

6:26

আসল শিক্ষা আছে

6:27

।

6:27

>> সুতরাং, এমন

6:27

একটা সম্ভাব্য

6:28

ভবিষ্যৎ আছে

6:29

যেখানে আপনি

6:29

কারও কাছ থেকে

6:30

এই ঘোষণাটি

6:30

পড়লেন যে, “আমি

6:31

এই পুরো

6:31

জিনিসটা তৈরি

6:32

করতে যাচ্ছি।”

6:33

আর আপনি ভাবলেন,

6:33

‘উম, এটা তো

6:34

অন্য কেউ করে

6:34

ফেলেছে,’ এবং

6:35

আপনি ফিরে

6:35

গিয়ে অন্য

6:36

কিছু করতে

6:36

লাগলেন, আর GIMP-এর

6:37

মতো কিছু আর

6:38

ঘটলই না। ঠিক

6:38

তাই।

6:39

>> ওয়াও।

6:39

>> হ্যাঁ।

6:40

>> আমার মনে হয়,

6:40

বিশেষ করে

6:41

আজকের

6:41

স্টার্টআপগুলোর

6:42

যুগে,

6:42

ব্যাপারটা এমন

6:43

যে, ‘নিজের

6:43

কাজটা করো,

6:44

অন্ততপক্ষে

6:45

সেটা সবার

6:45

সামনে তুলে ধরো,

6:46

’ তাই না?

6:46

>> আমি লোকেদের যে

6:47

পরামর্শ দিই তা

6:48

হলো, আপনার

6:48

হয়তো একটি

6:48

অনন্য ধারণা

6:49

থাকতে পারে,

6:49

কিন্তু খুব

6:50

সম্ভবত

6:50

পৃথিবীতে এমন

6:51

ডজনখানেক লোক

6:51

আছে যাদের

6:51

মাথায় একই

6:52

ধারণা এসেছে।

6:53

এবং তাদের

6:53

মধ্যে হয়তো দু-

6:53

একজন এটি নিয়ে

6:54

কাজ করছে,

6:54

কিন্তু অনেকেই

6:55

এটি নিয়ে কাজই

6:56

করে না। তারা

6:56

তাদের ধারণাটি

6:57

নিয়ে যা কিছু

6:57

শুরু করতে পারে

6:58

না, তাই করে।

6:59

সুতরাং, আপনি

6:59

যদি শোনেন যে

7:00

অন্য কেউ আপনার

7:00

একই ধারণা

7:01

নিয়ে কাজ করছে,

7:01

তাহলে আমি

7:02

মোটেও চিন্তিত

7:02

হব না। সম্ভবত

7:03

এটাই সত্যি।

7:04

জানেন, আমার

7:05

বর্তমান

7:05

কোম্পানিতে

7:05

আমরা কিছু

7:06

দারুণ জিনিস

7:06

নিয়ে কাজ করছি

7:07

। আমি আপনাকে

7:07

নিশ্চয়তা

7:08

দিচ্ছি যে

7:08

সেখানে

7:08

অন্যান্য

7:08

প্রতিযোগীরাও

7:09

একই জিনিস

7:09

নিয়ে কাজ করছে

7:09

। এবং শুধু জেনে

7:10

রাখুন যে এটি

7:11

একটি

7:11

প্রতিযোগিতা।

7:11

আপনাকে এর এই

7:12

দিকটি উপভোগ

7:13

করতে হবে, ভয়

7:13

পেলে চলবে না।

7:14

>> আর GIMP-এর ফলে কী

7:15

কী মজার জিনিস

7:16

হয়েছিল? আসলে,

7:17

>> আমি গ্রাফিক্স

7:18

নিয়ে কিছুটা

7:18

ক্লান্ত হয়ে

7:19

পড়েছিলাম।

7:19

একারণেই

7:20

কলেজের পর আমি

7:20

এটি থেকে সরে

7:21

এসেছিলাম। আমি

7:22

স্টোরেজ

7:22

সিস্টেমের

7:23

জগতে প্রবেশ

7:24

করি এবং

7:24

বিভিন্ন

7:24

জায়গায় কাজ

7:25

করি। আমি প্রথম

7:26

দিকের একটি

7:26

সার্চ ইঞ্জিন,

7:27

থিঙ্ক টু মি-তে

7:28

কাজ করেছি, এবং

7:28

তারপর অন্য

7:29

একটি

7:29

স্টার্টআপে

7:30

চলে যাই। সেই

7:31

সময়ে, আমার

7:31

প্রথম

7:32

স্টার্টআপে

7:32

কাজ করার সময়,

7:33

গুগলের ল্যারি

7:34

এবং সের্গেই-এর

7:35

সাথে আমার

7:35

পরিচয় হয়। তো,

7:36

দেখা গেল যে

7:37

ল্যারি, আমার

7:37

মনে হয় হয়তো

7:38

সের্গেই, আমি

7:39

ঠিক নিশ্চিত নই,

7:39

গুগলের লোগোর

7:40

একদম প্রথম

7:41

সংস্করণটি

7:41

জিম্প (GIMP)-এ তৈরি

7:42

করা হয়েছিল।

7:43

সুতরাং তারা

7:43

আমাদের চিনত।

7:44

কোনোভাবে

7:44

তাদের মধ্যে

7:45

একজন আমাকে

7:46

খুঁজে বের করে

7:46

গুগলে

7:46

ইন্টারভিউ

7:47

দিতে আসতে বলে।

7:48

আমি ২০০১ সালে

7:48

গিয়েছিলাম।

7:49

আর তখন

7:50

>> গুগলের বয়স

7:51

ছিল মাত্র ৩ বছর

7:52

।

7:52

>> হ্যাঁ, ৩ বছর।

7:53

আর আমি না

7:54

বলেছিলাম।

7:54

>> আপনি বলেননি।

7:55

>> আমি না

7:56

বলেছিলাম।

7:56

হ্যাঁ, না, আমার

7:57

মনে তখন এই

7:58

হিসাবটা

7:58

চলেছিল। আমি

7:59

ভাবছিলাম, গুগল

7:59

তো মাউন্টেন

8:00

ভিউতে। আমি তখন

8:01

সান

8:01

ফ্রান্সিসকোতে

8:01

থাকতাম এবং

8:02

যাতায়াতের

8:02

ঝক্কি পোহাতে

8:03

চাইনি। তাই আমি

8:04

অন্য একটি

8:04

স্টার্টআপে এক

8:05

বছর কাজ করি। আর

8:06

সেই চাকরিটার

8:06

এক বছর পর আমি

8:07

দেখলাম যে ওটা

8:07

নিয়ে তেমন

8:07

কিছু হচ্ছে না,

8:08

তাই ওরা আমাকে

8:08

আবার ফোন করে

8:09

বলল, "আচ্ছা,

8:09

তুমি কি আবার

8:10

ইন্টারভিউ

8:10

দিতে চাও?" আমি

8:11

বললাম, "অবশ্যই।

8:12

" ওরা বলল, "আগের

8:12

মতো স্টক অপশন

8:13

আমরা তোমাকে আর

8:14

দিতে পারব না।"

8:14

আমি বললাম, "ঠিক

8:15

আছে।" আমার মনে

8:16

নেই ওটা কী ছিল।

8:17

প্রথমবার ওরা

8:17

আমাকে কী অফার

8:18

করেছিল, সেটাও

8:18

আমার এখনও মনে

8:19

নেই। কিন্তু

8:19

আমি যদি

8:19

প্রথমবারই ওটা

8:20

নিতাম, তাহলে

8:20

সম্ভবত আরও

8:21

অনেক বেশি টাকা

8:21

আয় করতে

8:21

পারতাম। তবে

8:22

আমি ভালোই

8:22

করেছিলাম। আমি

8:23

অভিযোগ করছি না,

8:24

কিন্তু এটা সেই

8:24

ধরনের একটা

8:25

ব্যাপার...হ্যাঁ

8:25

। এখন যখন আমি

8:26

সেটার কথা ভাবি,

8:26

আমার মনে হয়,

8:27

ওহ, এর থেকে

8:27

অনেক ভালো কিছু

8:28

হয়েছে। একটা

8:29

সময় রেড হ্যাট

8:29

যখন পাবলিক

8:30

লিমিটেড

8:30

কোম্পানি

8:30

হচ্ছিল, তখন

8:31

তারা তাদের

8:31

আইপিও-র সময়

8:31

অনেককে বন্ধু

8:32

এবং পরিবারের

8:32

জন্য স্টক অফার

8:33

করেছিল।

8:33

আমাদেরও বন্ধু

8:34

স্টক অফার করা

8:34

হয়েছিল, আমি তা

8:35

থেকে অল্প কিছু

8:35

টাকা আয়

8:36

করেছিলাম, খুব

8:36

বেশি না, কিন্তু

8:37

এটা ছিল কলেজ

8:37

শেষ করার ঠিক

8:38

পরের ঘটনা। সেই

8:38

সময়ে এটা আসলে

8:39

বেশ

8:39

তাৎপর্যপূর্ণ

8:40

ছিল, বুঝলেন। তো

8:41

, আমি বলতে

8:41

চাচ্ছি যে এর

8:42

থেকে বেশ কিছু

8:42

ভালো জিনিস

8:43

বেরিয়ে এসেছে

8:43

।

8:44

>> আর আমিও GIMP

8:44

ব্যবহার করতাম,

8:45

মানে, আমি যখন

8:45

খুঁজছিলাম, তখন

8:46

ভাবলাম, 'ওহ,

8:47

আমার ফটোশপ

8:47

কেনার

8:48

সামর্থ্য নেই',

8:48

আর এই যে GIMP, এবং

8:49

এটা দিয়ে অনেক

8:50

কিছু করা যেত।

8:51

তাই আমি

8:51

নিশ্চিত যে

8:51

আপনার মতো আরও

8:52

অনেকেই আছেন

8:53

যারা এই

8:53

জিনিসটা

8:53

ব্যবহার করতে

8:54

পেরে

8:54

ইতিবাচকভাবে

8:55

প্রভাবিত

8:55

হয়েছেন। আর এর

8:56

সবচেয়ে ভালো

8:57

দিকটা হলো, যেটা

8:57

আমার সত্যিই

8:58

ভালো লেগেছিল,

8:58

তা হলো এটা

8:59

বিনামূল্যে

8:59

পাওয়া যেত,

9:00

কিন্তু আমি

9:01

কারও কাছ থেকে

9:01

কোনো

9:01

সফটওয়্যার

9:02

চুরি করছিলাম

9:02

না। বুঝতে

9:03

পারছেন আমি কী

9:04

বলতে চাইছি? এটা

9:05

সেই সময়ের কথা

9:05

যখন ফ্রি

9:06

সফটওয়্যার

9:07

আজকের মতো এতটা

9:07

প্রচলিত ছিল না

9:08

। ফ্রি এবং ওপেন

9:09

সোর্স আজকের

9:10

মতো এতটা

9:10

মূলধারার

9:11

বিষয় ছিল না।

9:11

>> হ্যাঁ, হ্যাঁ।

9:12

আর তারপর

9:13

আরেকটা দারুণ

9:13

ব্যাপার যা আমি

9:14

অনেকের কাছ

9:14

থেকে শুনেছি,

9:14

কারণ আমি যখনই

9:15

এটার কথা বলি,

9:15

মানুষ বলে, 'ওহ,

9:16

আমি এটা

9:16

ব্যবহার করেছি

9:17

।' আবার কিছু

9:17

লোক, মানে

9:18

সফটওয়্যার

9:18

ইঞ্জিনিয়াররা

9:19

বলে, 'আমি আপনার

9:19

কোড দেখে

9:19

প্রোগ্রামিং

9:20

শিখেছি।' আর আমি

9:21

তখন শুধু ভাবি, '

9:21

ওয়াও।' ওই

9:22

কোডটা আমি ৩০

9:22

বছর আগে

9:23

লিখেছিলাম এবং

9:23

তখন আমি এখনকার

9:24

মতো এত ভালো

9:24

সফটওয়্যার

9:25

ইঞ্জিনিয়ার

9:25

ছিলাম না।

9:26

>> আর তারপর আপনি

9:26

দ্বিতীয়বার

9:27

গুগলে যোগ

9:27

দিলেন। আপনি

9:28

হ্যাঁ বললেন।

9:29

কী নিয়ে কাজ

9:30

শুরু করেছিলেন?

9:31

>> হ্যাঁ, হ্যাঁ।

9:32

আমি যখন সেখানে

9:33

গেলাম, তারা বলল

9:34

, "দেখুন, এটা ছিল

9:34

একেবারে শুরুর

9:35

দিন, ২০০২ সাল।"

9:36

দিনটা ছিল ১ লা

9:37

এপ্রিল, একটা

9:38

শুভ দিন। আপনি

9:39

শুরু করলেন...

9:40

>> হ্যাঁ, ১ লা

9:41

এপ্রিল, ২০০২।

9:43

আমি সেখানে

9:44

গেলাম এবং তারা

9:45

বলল, হ্যাঁ,

9:45

আমরা আসলে গুগল

9:46

ইমেল তৈরি করতে

9:47

যাচ্ছি। তখন এর

9:48

নাম জিমেইল ছিল

9:49

না।

9:50

অভ্যন্তরীণভাবে

9:50

এর একটি কোডনেম

9:51

ছিল, যার নাম

9:52

ছিল ক্যারিবু।

9:52

>> ক্যারিবু।

9:53

>> হ্যাঁ। আমি

9:54

সেখানে গিয়ে

9:54

এটার ওপর কাজ

9:55

শুরু করলাম, এবং

9:56

আমাকে মূলত

9:56

ব্যাক-এন্ড

9:57

থ্রেডিং, মেসেজ

9:58

স্টোরেজ এবং

9:58

ইনডেক্সিং

9:59

সিস্টেম নিয়ে

9:59

কাজ করার

10:00

দায়িত্ব

10:00

দেওয়া

10:01

হয়েছিল। আর

10:02

প্রথম দেড় বছর

10:03

আমি বেশ

10:04

কঠোরভাবে

10:04

সেটার ওপর কাজ

10:05

করেছি। আসলে,

10:06

এটা চালু হতে

10:07

প্রায় ৩ বছর

10:08

লেগেছিল, যেটা

10:09

আসলে হয়েছিল

10:10

২০০৪ সালের ১ লা

10:11

এপ্রিল। আর

10:11

আপনার কি এটা

10:12

মনে আছে? এটাকে

10:13

একটা এপ্রিল

10:14

ফুল'স জোক

10:14

হিসেবে ধরা

10:15

হয়েছিল।

10:16

>> হ্যাঁ, আমার মনে

10:17

আছে। তো, আমি

10:17

ভুল হলে শুধরে

10:18

দেবেন, কিন্তু

10:19

লঞ্চের সময়

10:20

বলা হয়েছিল যে

10:21

জিমেইলে ১ জিবি

10:21

স্টোরেজ বা

10:22

ওইরকম কিছু

10:23

একটা থাকবে,

10:23

অথবা অসীম

10:24

স্টোরেজ। আমি ১

10:25

জিবি বলতে যা

10:26

বুঝিয়েছিলাম,

10:27

ঠিক তা নয়,

10:28

কিন্তু তখন

10:28

বেশিরভাগ ইমেল

10:29

প্রোভাইডার

10:30

বিনামূল্যে

10:30

প্রায় ১০ এমবি

10:31

স্টোরেজ দিত।

10:32

আর তারপর আপনি

10:33

হয়তো ৫০ এমবি

10:34

বা ১০০ এমবি-র

10:34

জন্য টাকা দিতে

10:35

পারতেন, কিন্তু

10:36

সেটা অনেক

10:37

ব্যয়বহুল ছিল

10:37

। এই লঞ্চটাকে

10:38

একটা এপ্রিল

10:39

ফুল'স জোকের মতো

10:40

মনে হয়েছিল,

10:40

কারণ কে-ই বা

10:41

আপনাকে ২০ থেকে

10:42

৫০ গুণ বা ১০০

10:43

গুণ বেশি

10:43

স্টোরেজসহ

10:44

একটি

10:44

বিনামূল্যের

10:45

ইমেল পরিষেবা

10:46

দিতে পারে?

10:46

>> আমরা

10:46

অভ্যন্তরীণভাবে

10:47

এটা নিয়ে

10:48

আলোচনা

10:48

করছিলাম। এটা

10:48

ইন্ডাস্ট্রির

10:49

জন্য এক ধরনের

10:50

চমকপ্রদ

10:50

প্রচারণার মতো

10:51

ছিল। হ্যাঁ,

10:51

আমার মনে হয়

10:52

হটমেইল বা

10:52

ইয়াহু মেইলের

10:53

জন্য আসলে ৪

10:54

এমবি ছিল। আর

10:54

তারপর এই

10:55

ব্যাপারটা ছিল

10:56

। এবং শুধু তাই

10:56

নয়, আমাদের আরও

10:57

অনেক বেশি

10:58

স্টোরেজ ছিল,

10:58

কিন্তু সেটা

10:59

খুব দ্রুত

10:59

ইনডেক্স হয়ে

11:00

যেত। তাই, আপনি

11:01

একটা সার্চ করে

11:02

প্রায় সঙ্গে

11:02

সঙ্গেই ফলাফল

11:03

পেয়ে যেতেন।

11:04

>> কিন্তু আপনি কি

11:05

>> আমাকে

11:05

অভ্যন্তরীণভাবে

11:06

বলতে পারেন, যখন

11:07

প্রজেক্টটা

11:07

শুরু হয়েছিল,

11:08

ঠিক আছে, আমরা

11:08

গুগলের জন্য

11:09

ইমেইল তৈরি করব,

11:10

তখন আপনি এবং

11:10

আপনার টিম

11:11

কীভাবে এই

11:11

সিদ্ধান্তে

11:12

পৌঁছালেন যে,

11:12

ঠিক আছে, আমরা

11:13

এই বিশাল

11:13

স্টোরেজ দেব

11:14

এবং এটা দ্রুত

11:15

করব? কারণ এটা

11:15

এমন একটা

11:16

সময়ের কথা, যদি

11:16

আপনি আমাদের

11:17

একটু পেছনে

11:17

নিয়ে যান,

11:18

কিন্তু আমার

11:18

যতদূর মনে পড়ে,

11:19

হার্ড ড্রাইভ

11:19

তখনও দামী ছিল।

11:20

সেগুলো

11:20

তুলনামূলকভাবে

11:21

ধীরগতির ছিল।

11:22

আমরা HDD-এর কথা

11:23

বলছি। আমার

11:24

যতদূর মনে পড়ে,

11:25

আমরা SSD-এর কথা

11:25

বলছি না।

11:26

কিন্তু আপনি কি

11:27

আমাদের সেই

11:27

সময়ে ফিরিয়ে

11:28

নিয়ে যেতে

11:29

পারেন, তখন

11:29

পরিস্থিতি

11:30

কেমন ছিল,

11:30

সীমাবদ্ধতাগুলো

11:31

কী ছিল, এবং

11:31

তারপর আপনারা

11:32

কীভাবে

11:32

উদ্ভাবন করে

11:33

এমন কিছু

11:34

করেছিলেন যা

11:34

আগে কখনও করা

11:35

হয়নি?

11:35

>> হ্যাঁ, হ্যাঁ।

11:36

তো, সেই সময়ে

11:37

গুগলের

11:37

অভ্যন্তরীণভাবে

11:38

GFS, অর্থাৎ গুগল

11:38

ফাইল সিস্টেম

11:39

নামে একটি

11:39

বিশাল

11:40

ডিস্ট্রিবিউটেড

11:40

ফাইল সিস্টেম

11:41

ছিল। হ্যাঁ। আর

11:42

আমরা মূলত

11:42

সংখ্যাগুলো

11:43

দেখছিলাম আর

11:43

ভাবছিলাম, "

11:44

হ্যাঁ, আমরা মনে

11:44

করি এর উপর

11:45

ভিত্তি করে

11:45

আমরা কিছু একটা

11:46

তৈরি করতে পারব

11:46

। সার্চ এবং

11:47

রিট্রিভাল

11:47

কীভাবে করতে

11:48

হয় সে

11:48

সম্পর্কে

11:49

তাদের অনেক

11:49

জ্ঞান আছে।" শেষ

11:50

পর্যন্ত যা হলো

11:51

তা হলো, সার্চ

11:51

রিট্রিভালের

11:52

জন্য তাদের যে

11:52

বিদ্যমান

11:52

সিস্টেমগুলো

11:53

ছিল, সেগুলোর

11:53

উপর ভিত্তি করে

11:54

তারা

11:54

প্রোটোটাইপ

11:54

তৈরি করা শুরু

11:55

করে এবং তারপর

11:55

সেটা সম্পূর্ণ

11:56

নতুন করে লেখা

11:56

হয়। আসলে আমি

11:57

এই কাজেই যুক্ত

11:57

হয়েছিলাম,

11:57

কারণ আমি যখন

11:58

সেখানে যাই, তখন

11:58

ইতিমধ্যেই

11:59

একটি

11:59

প্রোটোটাইপ

11:59

ছিল এবং তারপর

12:00

সেটা সম্পূর্ণ

12:00

নতুন করে লেখা

12:01

হয়। তো, আমি

12:01

থ্রেডিং-এর

12:02

দিকে ছিলাম।

12:03

আমরা একেবারে

12:03

শুরু থেকেই

12:04

মেসেজ থ্রেডিং

12:04

রাখার

12:05

সিদ্ধান্ত

12:05

নিয়েছিলাম, যা

12:06

একদিক থেকে বেশ

12:06

উদ্ভাবনীও ছিল

12:07

। সেই সময়ে

12:07

ইমেল সিস্টেমে

12:08

এটা প্রচলিত

12:09

ছিল না। আর

12:10

>> থ্রেডিং-এর

12:10

জন্য মেসেজ

12:11

থ্রেডের

12:11

প্রয়োজন হতো,

12:12

যার জন্য আমার

12:13

ধারণা

12:13

অনুযায়ী

12:13

ব্যাকএন্ডে

12:14

ডেটা

12:14

স্ট্রাকচার,

12:15

স্টোরেজ এবং

12:16

রিড

12:16

ইনটেনসিটির

12:16

মতো বিষয়গুলো

12:17

বের করার দরকার

12:18

পড়ত।

12:18

>> হ্যাঁ, এর মধ্যে

12:19

কিছু বি-ট্রিও

12:20

জড়িত ছিল।

12:21

আমার মনে হয়,

12:21

এটা সম্ভবত

12:22

দ্বিতীয়বার

12:22

ছিল যখন আমি বি-

12:23

ট্রি (B-tree)

12:23

প্রয়োগ

12:23

করেছিলাম এবং

12:24

আমার ধারণা আমি

12:25

এ পর্যন্ত

12:25

প্রায় এক ডজন

12:26

বার এটি

12:26

প্রয়োগ করেছি

12:26

।

12:27

>> ইমেইল থ্রেডের

12:27

সাথে বি-ট্রি-র

12:28

সম্পর্ক কী?

12:29

আসলে,

12:29

ব্যাপারটা হলো,

12:31

>> সেখানে একটি

12:31

স্টোরেজ থাকতে

12:32

হয় যেখানে

12:32

একটি থ্রেড

12:33

আইডি থাকে, একটি

12:33

মেসেজ এলে

12:34

আপনাকে সেটি

12:34

খুঁজে দেখতে

12:35

হয়। এটি

12:35

থ্রেডের সাথে

12:36

সাবজেক্ট বা

12:37

মেসেজ আইডি

12:37

মেলানোর জন্য

12:38

সার্চ ইনডেক্স

12:39

ব্যবহার করত।

12:39

বি-ট্রি-তে আরও

12:40

কিছু কাজও হতো,

12:41

কারণ আমরা

12:41

থ্রেডের অপঠিত

12:42

মেসেজের

12:42

সংখ্যা এবং এই

12:43

জাতীয়

12:43

বিষয়গুলোর

12:44

হিসাব রাখতাম।

12:45

তো, জানেন, এখন

12:45

আমার সব

12:46

খুঁটিনাটি

12:46

মনেও নেই। এটা

12:47

অনেক পুরোনো

12:48

ইতিহাস। এটা

12:48

২০০৪ সালের কথা

12:49

। আমরা এখন কোন

12:50

সালে আছি? ২০২৬

12:51

সালে? ২২ বছর

12:52

আগের কথা। তাই,

12:53

এটা আমার

12:53

স্মৃতি থেকে

12:53

প্রায় মুছেই

12:54

গেছে, কিন্তু

12:54

সেখানে অবশ্যই

12:55

বি-ট্রি ছিল।

12:55

সেখানে

12:56

ইনভার্টেড

12:56

ইনডেক্সেরও

12:57

ব্যবহার হতো।

12:57

এই সমস্ত কোড

12:58

এরপর থেকে

12:58

সম্পূর্ণ নতুন

12:59

করে লেখা

12:59

হয়েছে।

13:00

>> টিমের মধ্যে

13:00

বিনামূল্যে

13:01

ইমেইল পরিষেবা

13:02

দেওয়ার

13:02

অর্থনৈতিক

13:02

দিকটা কেমন ছিল?

13:03

আপনারা

13:04

নিশ্চয়ই এর

13:04

অর্থনৈতিক

13:05

দিকটা খতিয়ে

13:05

দেখেছেন। আমি

13:06

নিশ্চিত,

13:07

আপনারা এর জন্য

13:08

ভর্তুকি

13:08

দেওয়ার কিছু

13:09

হিসাব

13:09

কষেছিলেন, যাতে

13:10

খুব বড় কোনো

13:11

লোকসান না হয়?

13:12

>> হ্যাঁ, হ্যাঁ।

13:13

হ্যাঁ, হ্যাঁ।

13:13

মানে, আমরা তখন

13:14

বিভিন্ন

13:15

আইডিয়া নিয়ে

13:15

আলোচনা

13:16

করছিলাম এবং এক

13:17

পর্যায়ে একটা

13:17

আইডিয়া উঠে

13:18

আসে, "আরে, আমরা

13:19

হয়তো এতে

13:19

বিজ্ঞাপন দিতে

13:20

পারি।" আর এটা

13:21

ছিল একটা

13:21

অদ্ভুত

13:22

ব্যাপার। আমি

13:23

এর সাথে জড়িত

13:23

ছিলাম না। ইনি

13:24

হলেন পল বুখাইট,

13:25

যিনি পরে

13:26

ফ্রেন্ডফিড

13:26

এবং ফেসবুকে

13:27

কিছু দারুণ কাজ

13:28

করেন এবং আমার

13:28

মনে হয়, এক

13:29

পর্যায়ে

13:29

ওয়াই

13:30

কম্বিনেটরের

13:30

সাথে

13:31

পার্টনারশিপে

13:31

যুক্ত হন।

13:32

কিন্তু একদিন

13:33

রাতে তিনি

13:33

বললেন, "না, আমার

13:34

মনে হয় আমি

13:35

আমাদের

13:35

বিদ্যমান

13:35

বিজ্ঞাপন

13:36

সংক্রান্ত

13:36

কিছু ফিচার এর

13:37

মধ্যে

13:37

অন্তর্ভুক্ত

13:38

করে দিতে পারি,"

13:39

আর এটা

13:39

অভাবনীয়

13:39

সাফল্য পায়।

13:40

আর সেখান থেকেই

13:41

একটা বিশাল

13:42

ব্যবসা গড়ে

13:42

উঠেছিল, যা এক

13:43

কথায়

13:43

অবিশ্বাস্য।

13:44

তো, আমার মনে

13:44

হয়, এমন অনেক

13:45

কিছুই আছে যা

13:45

নিয়ে আপনার

13:46

একটা ধারণা

13:46

থাকে যে কী করা

13:47

যেতে পারে, যেমন

13:48

, "ওহ, আমাদের মনে

13:48

হচ্ছে এর জন্য

13:49

প্রতি

13:49

ব্যবহারকারীর

13:50

পেছনে বছরে

13:50

কয়েক ডলার খরচ

13:51

হবে। আমরা এটা

13:52

থেকে কীভাবে

13:52

আয় করতে পারি?"

13:53

আর আমরা এর জন্য

13:54

টাকা নিতে

13:55

চাইনি। অবশেষে,

13:55

তারা এর জন্য

13:56

টাকা নেওয়া

13:56

শুরু করে, কারণ

13:57

গুগল

13:57

ওয়ার্কস্পেসের

13:57

মতো বিষয়গুলো

13:58

তো ছিলই, কিন্তু

13:58

সেই সময়ে

13:59

ব্যাপারটা ছিল

13:59

অনেকটা এরকম, "

14:00

আহ, আমরা কি এটা

14:00

বিনামূল্যে

14:01

করতে পারি? ওহ,

14:01

মনে হচ্ছে এটা

14:02

লাভজনক হতে

14:03

পারে।" আর এর

14:04

জন্য কিছুটা

14:05

ঝুঁকি নিতে

14:05

হয়েছিল।

14:06

>> আর আপনার কি এর

14:07

উদ্বোধনের কথা

14:08

মনে আছে? আমি এই

14:08

কারণে

14:09

জিজ্ঞাসা করছি

14:09

কারণ আমার মনে

14:10

আছে যে এটি একটি

14:10

আমন্ত্রণ-

14:11

ভিত্তিক

14:11

ব্যবস্থা ছিল।

14:12

অর্থাৎ, সবাই

14:13

এতে যোগ দিতে

14:13

পারত না। আর আমি

14:14

ধরে নিচ্ছি যে

14:15

এটা

14:15

প্রত্যাশিত

14:16

চাহিদা

14:16

নিয়ন্ত্রণের

14:17

জন্যই করা

14:17

হয়েছিল, কারণ

14:18

আপনি এমন কিছু

14:19

বিনামূল্যে

14:19

দিচ্ছিলেন যা

14:20

আগে টাকার

14:20

বিনিময়ে

14:21

পাওয়া যেত এবং

14:21

এটা বেশ স্পষ্ট

14:22

ছিল যে এর

14:22

ব্যাপক চাহিদা

14:23

থাকবে। আপনি

14:24

এটা নিয়ে

14:24

কীভাবে

14:25

ভেবেছিলেন,

14:25

চাহিদা

14:26

পর্যবেক্ষণ

14:27

করেছিলেন, এবং

14:27

কতজনকে যুক্ত

14:28

করবেন তা ঠিক

14:29

করেছিলেন?

14:30

>> সত্যি বলতে, এটা

14:30

একটা দলগত

14:31

প্রচেষ্টা।

14:32

যদিও আমি এর

14:32

সাথে জড়িত

14:33

ছিলাম না। মানে,

14:34

আমার মনে আছে যে

14:34

কাজের চাপ

14:35

নিয়ে আমি

14:35

চিন্তিত ছিলাম,

14:36

আর তখনই একজন এই

14:37

ধারণা নিয়ে

14:37

আসে যে, "আরে,

14:38

আমাদের একটা

14:38

ইনভাইট-

14:38

ভিত্তিক

14:39

সিস্টেম করা

14:39

উচিত।" আর এটাও

14:40

যেন দ্বৈত

14:40

ভূমিকা পালন

14:41

করেছিল। তাই,

14:42

এটা একদিকে

14:42

যেমন ব্যবসার

14:43

প্রসারকে

14:43

কিছুটা সীমিত

14:43

করেছিল, তেমনই

14:44

অন্যদিকে এক

14:44

ধরনের

14:45

উত্তেজনাও

14:45

তৈরি করেছিল। "

14:46

ওহ, আমাকে একটা

14:46

জিমেইল ইনভাইট

14:47

এনে দিতে

14:47

পারবেন?"

14:47

>> হ্যাঁ।

14:48

>> আমার মনে আছে,

14:48

তখন লোকজন

14:49

আমাকে জিজ্ঞেস

14:49

করত আর আমি

14:50

বলতাম, "হ্যাঁ,

14:50

আপনি যতগুলো

14:50

চান, আমি আপনাকে

14:51

ততগুলোই

14:51

জিমেইল ইনভাইট

14:52

এনে দিতে পারব।"

14:53

>> আর তারপর,

14:53

সিস্টেমটা

14:54

তৈরি করার পর,

14:54

আপনি কোথায়

14:55

চলে গেলেন?

14:56

আপনার পরবর্তী

14:56

প্রজেক্ট কী

14:57

ছিল? বিল্ড

14:58

সিস্টেমটা কী

14:58

ছিল?

14:59

>> আচ্ছা, বিল্ড

14:59

সিস্টেম তো

15:00

ছিলই। মানে, ওটা

15:01

আমার মাথায়

15:01

একরকম মডেল করা

15:02

ছিল, কারণ আমি

15:02

জিমেইলের কাজ

15:03

করার পাশাপাশি

15:03

পার্ট-টাইম

15:04

হিসেবে ওটাও

15:04

করছিলাম। একটা

15:05

সময়, গুগলের

15:06

আসলে একটা বড়

15:07

মনো রিপো ছিল।

15:07

আমার মনে হয়

15:08

তাদের কাছে

15:08

এখনও মোনো রিপো

15:09

আছে।

15:09

>> হ্যাঁ, মোনো

15:10

রিপো আছে।

15:11

>> আর তারা গুগল ১

15:11

রিপো দিয়ে

15:12

শুরু করেছিল।

15:12

সেটা আমার আসার

15:13

আগের কথা।

15:14

তারপর তারা

15:14

গুগল ২-তে চলে

15:15

যায়। আমি যখন

15:16

গুগলে আসি, তখন

15:16

ওটাই ছিল। আর এক

15:17

পর্যায়ে আমরা

15:18

গুগল ২-এর কিছু

15:19

সমস্যা দেখতে

15:19

পাই। আর গুগল ২

15:20

ছিল একটা একক,

15:21

বিশাল মেকফাইল

15:22

। আমার মনে হয়,

15:23

এটার কিছু সাব-

15:23

মেকফাইলও ছিল,

15:24

কিন্তু এটা ছিল

15:25

বিশাল আর জটিল

15:25

একটা মেকফাইল।

15:26

তখন একজন আমার

15:27

কাছে এসে বলল,

15:27

আমার মনে হয়

15:28

আমরা কিছু একটা

15:29

করতে পারি।

15:29

বিল্ড

15:29

সিস্টেমের

15:30

প্রতি আমার

15:30

কিছুটা আগ্রহ

15:31

ছিল। আর আমি,

15:32

বলতে গেলে, গুগল

15:32

৩-এর ভিত্তিটা

15:33

তৈরি করে

15:34

দিয়েছিলাম।

15:34

এর সাথে অনেক

15:35

লোক জড়িত ছিল।

15:36

আমি গুগল ৩-এর

15:37

প্রাথমিক

15:37

কাজগুলো

15:38

করছিলাম। আর

15:38

গুগল ৩-এর

15:39

প্রাথমিক

15:40

ধারণাটা ছিল

15:40

এরকম যে,

15:41

মেকফাইল

15:41

লেখাটা বেশ

15:42

ঝামেলার। আমরা

15:43

বিল্ড ফাইল

15:43

নামের একটা

15:44

জিনিস চালু

15:45

করলাম। আর আমি

15:45

এটাকে পাইথন

15:46

ভাষার একটা

15:46

সরলীকৃত

15:47

সংস্করণ

15:47

হিসেবে তৈরি

15:48

করার

15:48

সিদ্ধান্ত

15:48

নিলাম, কিন্তু

15:49

সেই সময়েও এটা

15:50

পাইথনই ছিল।

15:50

এবং শেষে G config যা

15:51

তৈরি করত তা ছিল

15:52

একটি বিশাল মেক

15:52

ফাইল, কিন্তু

15:53

এমন একটি ফাইল

15:54

যা আপনাকে

15:54

লিখতে হতো না।

15:55

সময়ের সাথে

15:56

সাথে, এটি

15:56

বিকশিত হয়েছে

15:57

।

15:57

অভ্যন্তরীণভাবে

15:58

এটি ব্লেজ (Blaze)

15:59

হয়ে গেল। আরও

16:00

কিছু সিস্টেম

16:00

আছে। এখনও

16:01

সেখানে কিছু

16:01

জিনিসপত্র আছে

16:02

। আমি জানিও না

16:03

এটা কতটা জটিল

16:03

হয়েছে। আমি

16:04

অনেক, অনেক দিন

16:04

ধরে এটা দেখিনি

16:05

। তারপর

16:05

বাহ্যিকভাবে

16:06

এটি বেজেল (Bazel)

16:06

হয়ে গেল। এটি

16:07

বাক (Buck) হয়ে গেল

16:08

। আরও কিছু আছে,

16:09

জানেন, লোকেরা

16:09

ফেসবুকে গেল

16:10

এবং তারা পছন্দ

16:11

করল, গুগলে এটা

16:11

দারুণ ছিল। মেক

16:12

>> ফাইল বা মেক কেন

16:13

ঠিকমতো কাজ করত

16:14

না তার কারণ কী

16:15

ছিল? আমরা কি

16:16

বিল্ড

16:16

পারফরম্যান্স

16:17

নিয়ে কথা বলছি?

16:18

আমরা কি

16:19

রক্ষণাবেক্ষণযোগ্যতা

16:20

বা পঠনযোগ্যতা

16:21

নিয়ে কথা বলছি?

16:22

>> হ্যাঁ। তো, আমার

16:23

মনে হয় মেক

16:23

নিজে

16:24

ডিপেন্ডেন্সি

16:24

ঘোষণা করার

16:25

ক্ষেত্রে ঠিক

16:26

আছে, কিন্তু এটি

16:27

কিছুটা

16:27

অ্যাসেম্বলি

16:28

ল্যাঙ্গুয়েজের

16:29

মতো। এবং আপনি

16:29

আপনার সমস্ত

16:30

ডিপেন্ডেন্সি

16:30

অ্যাসেম্বলি

16:31

ল্যাঙ্গুয়েজে

16:32

লিখতে চাইতেন

16:32

না। এবং আপনি

16:33

যদি না জানতেন

16:33

যে আপনি কী

16:34

করছেন, তাহলে

16:34

ভুল করা এবং

16:35

ডিপেন্ডেন্সি

16:36

বাদ পড়ে

16:36

যাওয়া সহজ ছিল

16:37

। আর তাই, বিল্ড

16:37

ফাইলগুলোর

16:38

পেছনের

16:38

ভাবনাটা ছিল

16:39

অনেকটা এরকম যে,

16:39

এই

16:39

ডিপেন্ডেন্সিগুলোকে

16:40

আরও উচ্চ স্তরে

16:41

এবং আরও

16:41

পরিচ্ছন্ন

16:42

শব্দার্থের

16:42

সাথে প্রকাশ

16:43

করতে হবে। এর

16:43

মানে হলো, আমরা

16:44

এর সাথেই আছি।

16:45

এবং সেখান থেকে,

16:46

আপনি

16:46

অ্যাসেম্বলি

16:46

ল্যাঙ্গুয়েজে

16:47

কম্পাইল করতে

16:48

পারেন। এবং

16:48

তারপর অবশেষে,

16:49

লোকেরা ভাবল, ওহ

16:49

, আমাদের ওটাতে

16:50

কম্পাইল করার

16:51

দরকার নেই।

16:51

আমরা সরাসরি

16:52

ডিপেন্ডেন্সি

16:52

আপডেট ইঞ্জিন

16:53

ইমপ্লিমেন্ট

16:54

করতে পারি। আর

16:54

তখনই

16:54

পারফরম্যান্সের

16:55

উন্নতি সম্ভব

16:56

হয়েছিল।

16:56

>> তো, আমি যখন

16:57

গুগলে 'স্কেল'

16:58

নিয়ে খুঁজি,

16:59

তখন দেখি যে যখন

17:00

আপনার একটি বড়

17:00

রিপো থাকে,

17:01

সাধারণভাবে

17:02

আমার যা ধারণা,

17:03

তা হলো বড়

17:03

কোডবেসের জন্য

17:04

Bazel এবং Buck এত

17:05

জনপ্রিয়

17:05

হওয়ার কারণ

17:06

হলো এটি আপনার

17:07

বিল্ড

17:07

পারফরম্যান্স

17:08

উন্নত করতে

17:09

সাহায্য করতে

17:10

পারে। এটি

17:10

আপনাকে

17:11

ক্যাশিং থেকে

17:11

শুরু করে

17:12

স্মার্ট ক্যাশ

17:13

জেনারেশন,

17:13

এমনকি সরাসরি

17:14

পারফরম্যান্স

17:15

পর্যন্ত অনেক

17:15

বেশি বিকল্প

17:16

দেয়।

17:16

>> হ্যাঁ, ঠিক তাই।

17:18

হ্যাঁ।

17:18

>> তো, আপনি শুধু

17:19

একটু

17:19

ঘাঁটাঘাঁটি

17:20

করলেন এবং

17:20

ভাবলেন, ঠিক আছে

17:21

, আমি এই বিল্ড

17:21

ফাইলটি তৈরি

17:22

করব, সেটা করলেন

17:23

, আর লোকেরা

17:23

সেটা গ্রহণ করল

17:24

। কিন্তু, আপনার

17:25

পরবর্তী

17:25

প্রধান লক্ষ্য

17:26

কী ছিল?

17:26

>> আচ্ছা, আমি আগেই

17:27

জিএফএস (GFS),

17:27

অর্থাৎ গুগল

17:28

ফাইল

17:28

সিস্টেমের কথা

17:29

উল্লেখ করেছি,

17:29

এবং এক

17:30

পর্যায়ে আমরা

17:30

বুঝতে পারলাম

17:31

যে জিএফএস-এ

17:31

কিছু

17:32

সীমাবদ্ধতা,

17:32

বিশেষ করে

17:33

স্কেলেবিলিটির

17:33

বাধা ছিল।

17:34

যেহেতু আমি

17:34

জিমেইলের

17:35

স্টোরেজ

17:35

সিস্টেম নিয়ে

17:36

কাজ করছিলাম,

17:36

আমি আসলে অন্য

17:37

একটি স্টোরেজ

17:37

সিস্টেম

17:38

নিয়েও কিছুটা

17:38

ঘাঁটাঘাঁটি

17:39

করেছিলাম, মানে

17:39

এক ধরনের

17:40

গবেষণামূলক

17:40

কাজ যা আর

17:40

এগোয়নি।

17:41

কিন্তু যেহেতু

17:42

আমরা ওটা নিয়ে

17:42

কাজ করছিলাম,

17:43

তাই জিএফএস-এর

17:44

উত্তরসূরি

17:44

কলোসাস (Colossus)-এর

17:45

প্রতিষ্ঠাতা

17:46

দলে যোগ

17:46

দেওয়ার জন্য

17:47

আমন্ত্রণ পাই।

17:48

আর আমি যতদূর

17:48

জানি, কলোসাস

17:49

এখনও আছে।

17:50

গুগলে এটি

17:51

একাধিকবার

17:51

পরিবর্তিত

17:52

হয়েছে, কিন্তু

17:53

এটি দ্বিতীয়

17:53

প্রজন্মের

17:54

ডিস্ট্রিবিউটেড

17:55

ফাইল সিস্টেম।

17:56

>> তো, কলোসাস কী?

17:57

>> হ্যাঁ। আমি যখন

17:58

ডিস্ট্রিবিউটেড

17:59

ফাইল

17:59

সিস্টেমের কথা

17:59

বলি, বাইরে থেকে

18:00

আপনার হয়তো এস

18:01

৩ (S3)-এর মতো

18:01

কিছুর কথা মনে

18:02

হতে পারে। এটি

18:02

এক ধরনের ব্লব

18:03

স্টোরেজ, এস ৩-

18:04

এর মতোই এর একটি

18:04

ফ্ল্যাট

18:05

নেমস্পেস ছিল,

18:05

নাম দেওয়া হতো,

18:06

এবং সেখানে

18:06

একটি ছোটখাটো

18:07

স্তরবিন্যাস

18:08

ছিল, কিন্তু তা

18:08

খুবই সীমিত।

18:09

কিন্তু এটা POSIX

18:10

ফাইল

18:10

সিস্টেমের মতো

18:11

নয়। তাই, এতে

18:12

সম্পূর্ণ

18:12

ডিরেক্টরি

18:12

হায়ারার্কি

18:13

নেই, এমনকি

18:13

সম্পূর্ণ

18:14

পারমিশন

18:14

সিস্টেমও নেই।

18:15

এর অনেক কিছুই

18:15

পরে যোগ করা

18:16

হয়েছে।

18:16

কিন্তু,

18:17

ফাইলগুলো

18:17

আপনার লোকাল

18:18

মেশিনে

18:18

সংরক্ষিত থাকে

18:19

না। সেখানে

18:19

একটি ফ্লিট বা

18:20

এক ধরনের

18:20

সার্ভিস আছে,

18:21

যেখানে সমস্ত

18:22

ফাইল থাকে।

18:22

তারা ফাইলগুলো

18:23

হার্ড ড্রাইভ

18:23

বা এখনকার SSD-তে

18:24

লিখে রাখে, এবং

18:25

আপনার

18:25

ক্লায়েন্ট তা

18:26

অ্যাক্সেস

18:26

করতে পারে। আর

18:27

পুরোটাই

18:27

রেপ্লিকেট করা

18:28

থাকে, তাই কোনো

18:28

ক্র্যাশ বা

18:29

অন্য কিছু হলেও

18:29

আপনার ডেটা

18:30

হারানোর ভয়

18:30

থাকে না। আমি

18:31

জানি না কখন,

18:32

কিন্তু কোনো এক

18:32

সময়ে S3-তে

18:33

ইরেজার কোডিং

18:33

যুক্ত হয়, আমরা

18:34

Colossus-এ ইরেজার

18:35

কোডিং

18:35

করেছিলাম। এটা

18:36

একটা বড় ধরনের

18:36

অগ্রগতি ছিল।

18:37

>> কোন কোডিং?

18:38

>> হা। আমরা রিড-

18:39

সলোমন ব্যবহার

18:40

করতাম। তো, যারা

18:41

ইরেজার কোডিং-

18:41

এর সাথে পরিচিত

18:42

নন, তাদের জন্য

18:43

বলছি, আপনারা

18:44

হয়তো ভাবতে

18:44

পারেন যে, আমি

18:45

রেপ্লিকা

18:45

রাখতে চাই, এবং

18:46

হার্ড ডিস্কে RAID

18:47

নামে একটি

18:47

জিনিস আছে,

18:48

যেখানে আসলে

18:48

আমার সম্পূর্ণ

18:49

রেপ্লিকা

18:50

রাখার

18:50

প্রয়োজন নেই।

18:51

আমি আসলে, ধরুন, A

18:51

-এর সাথে A এবং B

18:52

যোগ করে,

18:53

সেগুলোকে

18:53

একসাথে XOR করতে

18:54

পারি, এবং এর

18:54

ফলে আপনি এই

18:55

ধরনের তৃতীয়

18:56

একটি সংস্করণ

18:56

পেতে পারেন।

18:57

এবং এর আরও অনেক

18:58

জটিল সংস্করণ

18:59

রয়েছে। রিড-

18:59

সলোমন অনেকটা

19:00

এরকম, আমার মনে

19:00

হয় এখন এর

19:01

চেয়েও ভালো

19:01

কোড আছে, কিন্তু

19:02

এটা করার জন্য

19:02

এটি অন্যতম

19:03

একটি পরিচিত

19:03

উপায়। অন্যতম

19:04

একটি

19:04

>> পরিচিত উপায়,

19:05

হ্যাঁ।

19:06

>> হ্যাঁ। এবং

19:06

আমাদের

19:06

অভ্যন্তরীণভাবে

19:07

একরকম

19:07

পথপ্রদর্শক

19:08

হতে হয়েছিল যে,

19:08

ওহ, আমরা কীভাবে

19:09

এটিকে একটি

19:09

ডিস্ট্রিবিউটেড

19:10

ফাইল সিস্টেমে

19:10

কার্যকর করব?

19:11

>> আপনারা কি

19:11

ল্যাটেন্সির

19:12

উপর মনোযোগ

19:12

দিয়েছিলেন,

19:13

নাকি আরও

19:13

দক্ষতার সাথে

19:14

ডেটা সংরক্ষণ

19:14

করার উপর?

19:15

>> এটা মূলত আরও

19:15

দক্ষতার সাথে

19:16

ডেটা সংরক্ষণ

19:17

করার বিষয়। তো,

19:18

GFS-এ খরচের

19:18

তারতম্য হয়,

19:19

যেখানে আপনি

19:19

আপনার ডেটার

19:20

দুটি বা একটি

19:21

কপি সংরক্ষণ না

19:22

করে তিনটি কপি,

19:22

অর্থাৎ

19:23

ট্রিপ্লিকেশন,

19:23

সংরক্ষণ করছেন,

19:24

যার ফলে তিনগুণ

19:25

বেশি স্টোরেজ

19:26

ব্যবহৃত হবে।

19:27

আর রিড-সলোমন (

19:27

Reed-Solomon) ব্যবহার

19:28

করে আপনি এই খরচ

19:29

অনেকটাই

19:29

কমিয়ে আনতে

19:30

পারেন। রিড-

19:30

সলোমন-এর জন্য

19:31

আমরা ঠিক কী

19:31

ব্যবহার

19:32

করেছিলাম তা

19:32

আমার এই

19:33

মুহূর্তে মনে

19:33

নেই, তবে আমার

19:34

মনে হয় এটা

19:34

মূলত ২x-এর মতো

19:35

ছিল। কিন্তু এর

19:36

সাথে আপনি

19:36

রিডানডেন্সিও (

19:37

redundancy) পাচ্ছেন।

19:38

সুতরাং, এর আকার

19:39

ছোট এবং

19:40

রিডানডেন্সিও

19:40

বেশি।

19:41

>> আর তাই, আমার

19:41

মনে হয়,

19:42

সহজভাবে বলতে

19:42

গেলে, আপনি যদি

19:43

বলেন, 'ঠিক আছে,

19:44

আমি আমার ডেটা

19:44

তিনটি

19:45

জায়গায়

19:45

রেপ্লিকেট

19:45

করতে চাই',

19:46

তাহলে আপনি

19:46

তিনটি নোড,

19:47

অর্থাৎ তিনটি

19:48

ফিজিক্যাল

19:48

মেশিন নেবেন

19:49

এবং বলবেন, 'কপি

19:49

এক, কপি এক, কপি

19:50

এক'। আমার ডেটা

19:51

তিনটি

19:51

জায়গায় আছে।

19:52

চমৎকার। যদি

19:53

একটি নষ্ট হয়ে

19:54

যায়, আমার কাছে

19:54

তখনও দুটি

19:55

থাকবে, দারুণ।

19:56

এবং তারপর আপনি

19:56

বলছেন যে,

19:57

এখানকার

19:57

অ্যালগরিদমটা

19:58

হলো, আপনি

19:58

তিনগুণ ডেটা না

19:59

নিয়ে বরং

19:59

দ্বিগুণ ডেটা

19:59

নিতে পারেন,

20:00

সেটাকে

20:00

স্মার্টভাবে

20:01

বিভিন্ন

20:01

মেশিনের মধ্যে

20:02

ভাগ করে দিতে

20:02

পারেন, অথবা

20:03

আপনি এর পরিমাণ

20:03

আরও কমাতে

20:04

পারেন; এবং

20:04

তারপরেও এমন

20:05

একটা ব্যাপার

20:05

থাকবে যে, ধরুন,

20:06

এর মধ্যে একটা

20:06

বিস্ফোরিত হলো,

20:07

কিন্তু আমার সব

20:08

ডেটা ঠিকই

20:08

থাকবে, কারণ এটা

20:09

অর্ধেক হয়ে

20:09

গেছে। এটা

20:10

>> একদম ঠিক। এবং

20:11

ধরুন, আপনি যদি

20:12

বিষয়টাকে

20:12

উচ্চস্তরে

20:13

বুঝতে চান,

20:14

তাহলে এর একটা

20:14

মানসিক মডেল

20:15

হলো, আপনি হয়তো

20:16

বলতে চাইবেন যে,

20:17

আমি এই ডেটার

20:17

আটটি রেপ্লিকা

20:18

রাখতে চাই।

20:19

অথবা আমার ঠিক

20:20

মনে পড়ছে না, S3

20:21

হয়তো নয়টি

20:21

ব্যবহার করে।

20:22

তারা আসলে এই

20:23

বিষয়ে

20:23

প্রকাশ্যে

20:24

কথাও বলেছে।

20:24

আপনার কাছে

20:25

ডেটার নয়টি

20:25

খণ্ড থাকবে,

20:26

কিন্তু সেই

20:26

খণ্ডগুলোর

20:27

যেকোনো পাঁচটি

20:27

ব্যবহার করে

20:28

ডেটাটিকে

20:28

পুনর্গঠন করা

20:29

যাবে। এর মানে

20:30

হলো, আপনি

20:30

যেকোনো চারটি

20:31

কপি হারালেও

20:31

আপনার ডেটা

20:32

পুনর্গঠন করতে

20:33

পারবেন। উম, আর

20:33

প্রায়শই

20:34

ব্যাপারটা

20:35

অনেকটা এরকম যে,

20:35

প্রথম পাঁচটি

20:36

অংশ হুবহু একই

20:37

রকম হয়, আর

20:37

বাকি চারটি হয়

20:38

এক ধরনের

20:39

প্যারিটি অংশ।

20:39

আমি কিছু

20:40

খুঁটিনাটি

20:40

বিষয় মনে

20:41

রাখতে ভুলে

20:41

গেছি, কিন্তু

20:42

ব্যাপারটা

20:42

অনেকটা এইরকমই

20:43

।

20:43

>> কিন্তু যখন

20:44

আপনি একটি

20:44

অ্যালগরিদম

20:45

তৈরি করেন, তখন

20:45

আপনি প্রমাণ

20:46

করতে পারেন যে

20:47

এই

20:47

অ্যালগরিদমটি

20:47

কাজ করবে, তাই

20:48

না? আমি জানি

20:49

সফটওয়্যার

20:49

ইঞ্জিনিয়ারিংয়ে

20:50

গণিত এবং

20:51

অ্যালগরিদম

20:51

এখন কিছুটা

20:52

সেকেলে, কিন্তু

20:52

এই ক্ষেত্রে

20:53

এটা সত্যিই

20:53

গুরুত্বপূর্ণ,

20:54

কারণ একবার

20:55

আপনি প্রমাণ

20:55

করতে পারলে যে

20:56

এই

20:56

অ্যালগরিদমটি

20:57

কাজ করে, এটি

20:57

কাজ করবেই।

20:58

>> এটা কাজ করবেই।

20:59

আর, জানেন, এর

21:00

পেছনের গণিতটা

21:01

অনেকটা

21:01

গ্যালোয়া

21:02

ফিল্ডস ওভার

21:03

জিএফ ২ (Galous fields over

21:04

GF2)-এর মতো, এই

21:04

ধরনের কিছু

21:05

একটা। আমি এর

21:06

পেছনের পুরো

21:07

গণিতটা কখনোই

21:08

ঠিক বুঝিনি।

21:08

কলেজে আরও বেশি

21:09

গণিত না করার

21:10

জন্য আমার

21:10

সবসময় আফসোস

21:11

হয়, কিন্তু

21:11

সেটার কোনো

21:12

দরকারও ছিল না।

21:12

রিডিং এবং

21:13

সোয়ারিং এই

21:13

পদ্ধতির

21:14

উন্নতি করেছিল,

21:14

তাই না? আমার

21:15

মনে হয় এটা

21:15

১৯৭০-এর দশকের

21:16

ঘটনা, যা

21:16

কমিউনিকেশন

21:17

নেটওয়ার্কের

21:17

সাথে

21:18

সম্পর্কিত ছিল

21:18

। সুতরাং, আপনি

21:19

শুধু সেটা নেন

21:20

এবং সেই

21:21

দক্ষতাকে কাজে

21:22

লাগান, কিন্তু

21:22

সেটার

21:22

সদ্ব্যবহার

21:23

করে স্টোরেজ

21:23

সিস্টেমে

21:24

এটিকে কার্যকর

21:25

করার জন্য এর

21:25

পেছনের সমস্ত

21:26

ইঞ্জিনিয়ারিং

21:26

করতে হয়।

21:27

>> আর তারপর

21:27

কলোসাসের মতো

21:28

একটি

21:28

ডিস্ট্রিবিউটেড

21:29

স্টোরেজ

21:29

সিস্টেম তৈরি

21:30

করার সময়,

21:31

ডেটাকে একটি

21:31

স্থিতিস্থাপক

21:32

কিন্তু

21:32

কার্যকর

21:33

উপায়ে

21:33

সংরক্ষণ করার

21:34

বাইরেও আর কী কী

21:35

বিষয় ছিল? আর

21:36

কী কী সমস্যা

21:36

ছিল যা আপনাকে

21:37

সমাধান করতে

21:38

হয়েছিল? আমি

21:39

সম্ভবত

21:40

শার্ডিং এবং রি-

21:41

শার্ডিং বা

21:42

মেটাডেটার মতো

21:43

গুরুত্বপূর্ণ

21:43

বিষয়গুলোর

21:44

কথা ভাবছি।

21:46

>> বিশেষ করে গুগল

21:46

যে স্কেলে কাজ

21:47

করতে চেয়েছিল,

21:48

GFS-এর এক ধরনের

21:49

স্কেলেবিলিটির

21:50

সীমাবদ্ধতা

21:50

ছিল। আমার মনে

21:51

হয়, একটি GFS

21:52

ক্লাস্টারে এক

21:53

হাজার মেশিন

21:53

থাকতে পারত এবং

21:54

এটি...যা শুনতে

21:55

অনেক বড় মনে

21:55

হলেও, আজকের

21:56

দিনে এটি

21:56

হাস্যকরভাবে

21:57

ছোট, তাই না?

21:58

২০০৪ সালের

21:58

জন্য এটি অনেক

21:59

বড় শোনায়। আর

22:01

তারপর গুগল বলল,

22:01

"না, আমাদের

22:02

১০,০০০ মেশিন

22:03

পর্যন্ত স্কেল

22:03

করার ক্ষমতা

22:04

দরকার ছিল।" এবং

22:05

কিছু

22:05

প্রতিবন্ধকতা

22:06

ছিল। একটি

22:07

জিএফএস

22:07

মাস্টার ছিল,

22:07

একটিমাত্র নোড,

22:08

এবং এটি কিছুটা

22:09

প্রতিবন্ধকতা

22:09

তৈরি করছিল।

22:10

আমরা ভাবলাম, "

22:10

আহ, সমস্ত

22:10

অবজেক্টের

22:11

মেটাডেটা

22:11

সংরক্ষণের

22:12

জন্য আমাদের

22:12

একটি

22:12

ডিস্ট্রিবিউটেড

22:13

মাস্টার

22:13

প্রয়োজন।" আর

22:14

সেই সময়ে

22:14

গুগলের কাছে

22:15

বিগটেবল (Bigtable)

22:16

নামে একটি

22:16

সিস্টেম ছিল।

22:17

আর তাই, কলোসাস (

22:18

Colossus) তার

22:18

মেটাডেটা

22:19

বিগটেবলের

22:20

ভেতরে সংরক্ষণ

22:21

করত। আর একটা

22:22

বিষয় যা নিয়ে

22:22

আমি কিছুটা

22:23

গর্বিত এবং

22:24

কিছুটা

22:24

বিব্রতও, তা হলো

22:25

—এটা আমার

22:25

নেওয়া একটা

22:26

ডিজাইন

22:26

সিদ্ধান্ত ছিল

22:27

যা আমি

22:27

নিয়েছিলাম

22:28

কিন্তু পরে

22:28

সফলও

22:29

হয়েছিলাম, আর

22:29

তা হলো আমরা

22:30

কলোসাসের

22:30

মেটাডেটার

22:31

জন্য বিগটেবল

22:32

ব্যবহার করতে

22:32

চেয়েছিলাম।

22:33

>> আর যারা

22:33

ডিস্ট্রিবিউটেড

22:34

সিস্টেম

22:35

সম্পর্কে ততটা

22:35

জানেন না, তাদের

22:36

জন্য বলি, একটি

22:37

ডিস্ট্রিবিউটেড

22:38

ফাইল সিস্টেমে

22:38

মেটাডেটা কী?

22:39

>> হ্যাঁ, এটা হলো

22:40

ফাইলগুলোর নাম

22:41

এবং প্রতিটি

22:41

ফাইলকে

22:42

কয়েকটি খণ্ডে (

22:42

chunk) ভাগ করা হয়।

22:43

আর সেগুলো কী

22:44

ছিল? ৬৪

22:45

মেগাবাইটের

22:45

খণ্ড। এবং

22:46

তারপর প্রতিটি

22:46

ফাইলের জন্য

22:47

খণ্ডগুলোর

22:47

একটি তালিকা

22:48

থাকতে হতো।

22:48

হ্যাঁ। এবং

22:49

তারপর আপনাকে

22:49

পর্যায়ক্রমে,

22:50

মাস্টারকে এটি

22:51

স্ক্যান করতে

22:52

হবে এবং

22:52

মেরামতের কাজ

22:53

করতে হবে। এবং

22:54

জানেন, কিন্তু

22:55

এর মধ্যে আরও

22:55

মেটাডেটা আছে,

22:56

তবে সংক্ষেপে

22:57

এটাই। তাই, আমরা

22:58

চেয়েছিলাম

22:59

কলোসাসের

22:59

মেটাডেটা

23:00

সংরক্ষণের

23:00

জন্য

23:01

বিগটেবলের মতো

23:02

একটি স্কেলেবল

23:02

সার্ভিস থাকুক

23:03

। জিএফএস-এর

23:04

সবচেয়ে বড়

23:04

ব্যবহারকারী

23:05

হলো বিগটেবল,

23:05

তাই আমরা

23:06

চেয়েছিলাম

23:06

বিগটেবল

23:07

কলোসাসের উপরে

23:07

কাজ করুক।

23:08

>> তো, আপনি

23:08

ব্যাপারটা

23:09

বুঝতে পারছেন,

23:09

ভেন

23:09

ডায়াগ্রামটা

23:10

দেখুন, বুঝলেন?

23:10

হ্যাঁ, আচ্ছা,

23:11

>> এখানে একটা

23:12

বুটস্ট্র্যাপিংয়ের

23:12

ব্যাপার আছে,

23:13

তাই না?

23:13

>> বুটস্ট্র্যাপিং

23:14

, হ্যাঁ।

23:14

>> তো, ওহ, হ্যাঁ।

23:16

>> হ্যাঁ।

23:16

>> কোনটা চালু হয়?

23:17

যেমন, আপনাকে

23:18

কোথাও কিছু মক

23:19

করতে হবে, তাই

23:20

না?

23:20

>> হ্যাঁ, না। মানে

23:21

, সেই সময়ে এটা

23:22

আসলে যেভাবে

23:22

কাজ করত এবং

23:23

তারা পরে এটা

23:23

বদলে দিয়েছে,

23:24

কারণ এটাই ছিল

23:25

শুরু করার এবং

23:25

আপনার যা আছে তা

23:26

কাজে লাগানোর

23:27

উপায়, এবং

23:27

অবশেষে আপনি

23:28

এটা থেকে

23:28

মুক্তি পান,

23:29

কিন্তু

23:29

বিগটেবলের

23:30

একটা ভিত্তি

23:30

ছিল যা

23:31

কলোসাসকে

23:31

ব্যবহার করত না

23:32

। একদিকে আছে

23:32

বিগটেবল

23:33

ব্যবহার করা

23:33

কলোসাস, এবং

23:34

অন্যদিকে আছে

23:35

কলোসাসের উপরে

23:35

থাকা সাধারণ

23:36

বিগটেবল।

23:36

>> আমি সেটার কথাই

23:37

বলছি।

23:38

>> আর এটা বছরের পর

23:38

বছর ধরে কাজ

23:39

করেছে, তাই আমি

23:39

জানিও না তারা

23:40

কখন এটা বাদ

23:40

দিয়েছে। তারা

23:41

কোনো এক সময়ে

23:42

এটা বাদ

23:42

দিয়েছে,

23:43

>> কিন্তু আমার

23:43

মনে হয়, এটা

23:44

শুনে মনে হয় যে

23:45

আপনি এমন হ্যাক

23:45

তৈরি করতে

23:46

পারেন যা

23:46

অনেকদিন ধরে

23:47

চলে, এটা জেনে

23:48

যে সেগুলো

23:48

হ্যাক, এবং

23:49

সেগুলো আপনাকে

23:49

কাজ শুরু করতে

23:50

সাহায্য করে,

23:51

তাই না?

23:51

>> কারণ যদি

23:52

আমাদের শুরু

23:52

থেকেই ওই ধরনের

23:53

বিগটেবল

23:53

লেয়ার

23:54

প্রয়োগ করতে

23:55

হতো, তাহলে

23:55

কলোসাস তৈরি

23:56

করতে যে সময়

23:56

লেগেছিল, তা

23:57

কেবল

23:57

বিলম্বিতই হতো

23:58

।

23:59

>> কলোসাসের মতো

23:59

একটি সিস্টেম

24:00

সম্পর্কে যে

24:01

জিনিসটি আমাকে

24:02

অবাক করে তা হলো

24:02

, এটি উচ্চ

24:03

থ্রুপুট, উচ্চ

24:04

প্রাপ্যতা এবং

24:04

কম লেটেন্সির

24:05

প্রতিশ্রুতি

24:06

দেয়—এটা

24:06

গুগলের

24:07

অভ্যন্তরীণ

24:07

বিষয় ছিল—

24:08

কিন্তু এমনকি

24:09

বাইরের

24:09

ডিস্ট্রিবিউটেড

24:10

ফাইল

24:10

সিস্টেমগুলোও

24:11

উচ্চ থ্রুপুট,

24:12

উচ্চ

24:12

প্রাপ্যতা এবং

24:13

কম লেটেন্সির

24:13

প্রতিশ্রুতি

24:14

দেয়। আর আমার

24:15

কাছে এটা

24:15

সবসময়ই একটু

24:16

পরস্পরবিরোধী

24:17

মনে হয়, যেমন,

24:17

আমার মনে হয়,

24:18

একটি

24:18

ডিস্ট্রিবিউটেড

24:19

ফাইল সিস্টেম

24:20

তৈরি করা বেশ

24:21

সহজ। আমার

24:21

সীমিত জ্ঞান

24:22

দিয়ে, আমি

24:22

সম্ভবত এমন

24:23

কিছু করতে

24:23

পারতাম যেখানে

24:24

আমার হয় উচ্চ

24:24

থ্রুপুট থাকবে

24:25

কিন্তু উচ্চ

24:25

ল্যাটেন্সি

24:26

থাকবে, কারণ

24:26

যখনই আমি কিছু

24:27

লিখি, আমি তা

24:28

সমস্ত

24:28

রেপ্লিকাতে

24:28

লিখে দিই। আপনি

24:29

ইতিমধ্যেই এটি

24:30

করার একটি

24:31

কৌশলের কথা

24:31

উল্লেখ করেছেন,

24:32

কিন্তু আপনি

24:33

কীভাবে

24:33

সামঞ্জস্য

24:34

করেন, কীভাবে

24:34

আপনি উচ্চ

24:35

থ্রুপুট থাকা

24:36

সত্ত্বেও কম

24:36

ল্যাটেন্সি

24:37

পাবেন, যখন ফাইল

24:38

সিস্টেমে

24:39

রেপ্লিকেশনও

24:39

চলছে?

24:40

>> মানে, এই

24:40

ডিস্ট্রিবিউটেড

24:41

ফাইল

24:41

সিস্টেমগুলোর

24:42

ল্যাটেন্সি

24:43

খুব কম নয়।

24:43

বিশেষ করে যখন

24:44

এগুলো হার্ড

24:45

ডিস্কে চলে, যা

24:46

সেই সময়ে

24:46

কলোসাস করত, যা

24:47

এস ৩ করে, তখন

24:48

আপনি আসলে

24:49

ল্যাটেন্সিটা

24:49

টের পান। তো,

24:50

যেমন S3 একটি হাই-

24:51

পারফরম্যান্স

24:52

সিস্টেম, তেমনই

24:52

গুগলের

24:53

প্রতিযোগী GCS, যা

24:53

কলোসাসের উপর

24:54

ভিত্তি করে

24:55

তৈরি, সেটির

24:55

পারফরম্যান্স

24:56

অবিশ্বাস্য

24:57

থ্রুপুট দেয়,

24:57

কিন্তু

24:58

প্রথমবার ডেটা

24:58

পড়ার

24:59

ক্ষেত্রে এর

24:59

ল্যাটেন্সি

25:00

প্রায় ২০ থেকে

25:01

৩০

25:01

মিলিসেকেন্ড

25:01

এবং এটি আপনার

25:02

হার্ড ডিস্কের

25:03

ল্যাটেন্সির

25:03

উপর নির্ভরশীল

25:04

। যদি আপনি এটি

25:05

SSD-তে ব্যবহার

25:06

করেন, তাহলে

25:06

ল্যাটেন্সি

25:07

কমে SSD-এর

25:07

কাছাকাছি চলে

25:08

আসে, কিন্তু

25:09

একেবারে

25:09

অত্যাধুনিক SSD-

25:10

এর

25:10

ল্যাটেন্সির

25:10

মতো হয় না। এটা

25:11

আমাদের

25:12

ইন্ডাস্ট্রিতে

25:12

ঘটে চলা এক

25:13

অদ্ভুত

25:13

ব্যাপার, কারণ

25:14

হার্ডওয়্যারগুলো

25:15

দিন দিন আরও

25:15

দ্রুত হয়ে

25:16

উঠছে। আজকাল

25:16

হার্ড ড্রাইভ

25:17

থেকে ডেটা

25:17

পড়তে হয়তো ৫

25:18

থেকে ১০

25:18

মিলিসেকেন্ড

25:19

সময় লাগে (মানে

25:19

, আমি হার্ড

25:20

ড্রাইভ কখনো

25:20

ব্যবহারই করি

25:21

না)। কিন্তু NVMe-

25:22

এর মাধ্যমে SSD

25:23

থেকে ডেটা

25:23

পড়তে লাগে ৫০

25:24

মাইক্রোসেকেন্ড

25:25

, ৫০

25:25

মাইক্রোসেকেন্ড

25:26

। অর্থাৎ, ১

25:27

মিলিসেকেন্ডে

25:28

১,০০০

25:28

মাইক্রোসেকেন্ড

25:29

থাকে। সুতরাং,

25:30

আমরা এখানে

25:31

বিশাল এক

25:31

পার্থক্যের

25:32

কথা বলছি।

25:33

>> আচ্ছা, এখন এমন

25:33

কিছু

25:34

স্টার্টআপ বা

25:34

ইনফ্রাস্ট্রাকচার

25:35

কোম্পানি আছে

25:35

যারা এই

25:36

সুযোগটা নিতে

25:36

শুরু করেছে যে

25:37

তারা একটি NVMe

25:37

লেয়ার

25:38

ব্যবহার করতে

25:38

পারে এবং এর

25:39

মাধ্যমে তারা

25:39

বিভিন্ন

25:39

জিনিসকে উন্নত

25:40

করতে পারে, তা

25:40

ভবিষ্যদ্বাণীমূলকভাবে

25:41

হোক বা না হোক।

25:42

কিন্তু, আপনি

25:43

যেমনটা বললেন,

25:43

যখন বাস্তব

25:44

পরিস্থিতি

25:44

বদলে যায়, তখন

25:45

তার উপরে এমন

25:45

সিস্টেম তৈরি

25:46

করা যায় যা এই

25:47

পরিবর্তনের

25:47

সুবিধা নিতে

25:48

পারবে।

25:48

>> হ্যাঁ, একদম ঠিক

25:49

। আর ব্যাপারটা

25:50

এমন নয় যে SSD-এর

25:51

কারণে

25:51

ডিস্কগুলো

25:52

অনেক দ্রুত

25:52

হয়েছে, বরং

25:53

নেটওয়ার্কগুলো

25:53

অনেক দ্রুত

25:54

হয়েছে। গুগল

25:55

বা অ্যামাজন

25:55

সেন্টারে

25:56

ইন্ট্রা-জোন

25:57

ল্যাটেন্সি যে

25:58

কতটা দ্রুত, তা

25:58

ভাবলে অবাক হতে

25:59

হয়। আগে এমনটা

26:00

ছিল না, কিন্তু

26:01

যখন আমরা

26:01

কলোসাস তৈরি

26:02

করছিলাম, আমার

26:02

ঠিক মনে নেই

26:03

সংখ্যাগুলো কী

26:04

ছিল, কিন্তু

26:04

একটি

26:04

নেটওয়ার্ক

26:05

রাউন্ড-ট্রিপ

26:05

করতে

26:06

মিলিসেকেন্ড

26:06

সময় লাগত, আর

26:07

এখন একটি জোনের

26:08

মধ্যে তা কমে

26:08

১০০

26:08

মাইক্রোসেকেন্ডে

26:09

নেমে এসেছে।

26:10

আমি যখন এই

26:10

জিনিসগুলো

26:11

দেখি, তখন অবাক

26:11

হয়ে যাই,

26:12

হার্ডওয়্যারের

26:13

লোকেরা সত্যিই

26:13

খুব ভালো কাজ

26:14

করেছে।

26:14

>> হ্যাঁ, মাঝে

26:15

মাঝে আমার মনে

26:16

হয় আমাদের

26:16

সফটওয়্যার

26:17

আরও অনেক বেশি

26:17

দ্রুতগতির

26:18

হওয়া উচিত, এবং

26:18

কিছু

26:19

দ্রুতগতির

26:19

সফটওয়্যার

26:20

আছেও বটে। মাঝে

26:20

মাঝে আমার

26:21

প্রায়ই মনে

26:21

হয়, আমরা কি এই

26:22

সমস্ত

26:22

অ্যাবস্ট্রাকশন

26:23

নিয়ে

26:23

অতিরিক্ত

26:24

আত্মতুষ্ট

26:24

হয়ে পড়ছি,

26:25

নাকি এই সাধারণ

26:26

হিসাবটাও করছি

26:26

না। সাইমন

26:27

এরিকসন এবং

26:27

টার্বো বাফার

26:28

এই সাধারণ

26:29

হিসাবের কথা

26:29

বলেন, যেখানে

26:30

আপনি ভাবেন, "

26:31

আচ্ছা, এই হলো

26:31

হার্ডওয়্যারের

26:32

তাত্ত্বিক

26:33

সীমাবদ্ধতা;

26:33

এসএসডি থেকে

26:34

ডেটা পড়তে

26:34

হয়তো ৩০

26:35

মাইক্রো

26:35

মাইক্রোসেকেন্ড

26:36

সময় লাগবে, এবং

26:37

তারপর, আমি

26:38

কীভাবে এমন

26:38

একটি সিস্টেম

26:39

তৈরি করতে পারি

26:40

যা এর যতটা

26:40

সম্ভব

26:40

কাছাকাছি হবে,"

26:41

এর উল্টোটা না

26:42

করে, যেখানে বলা

26:43

হয়, "ঠিক আছে,

26:43

একজন মানুষ

26:44

হয়তো ২০ মিলি

26:45

বা ১০০

26:45

মিলিসেকেন্ড

26:46

সময়টা খেয়াল

26:46

করবে, চলো আমরা

26:47

সেটা মাথায়

26:48

রেখেই

26:48

সিস্টেমটা

26:49

তৈরি করি।"

26:49

>> হ্যাঁ হ্যাঁ।

26:50

এবং কখনও কখনও

26:50

যখন আপনি কোনো

26:51

কিছুর

26:51

আর্কিটেকচার

26:52

তৈরি করেন, তখন

26:52

আপনাকে

26:53

মানুষের

26:53

উপলব্ধিযোগ্য

26:53

ল্যাটেন্সিগুলো

26:54

নিয়ে ভাবতে

26:55

হয়, কিন্তু

26:55

প্রায়শই যখন

26:56

আপনি স্টোরেজ

26:56

সিস্টেম

26:56

লেয়ার নিয়ে

26:57

কাজ করেন, জানেন

26:58

তো, আমি সাইমনকে

26:58

টার্বো বাফারে

26:59

কাজ করতে দেখি,

26:59

তারা সেখানে

27:00

দারুণ কাজ করছে

27:00

। আপনাকে

27:01

মেশিনের স্কেল

27:02

এবং মেশিনের

27:02

গতি নিয়ে

27:03

ভাবতে হয়, যা

27:03

মানুষের

27:04

উপলব্ধির

27:04

চেয়ে অনেক

27:05

বেশি দ্রুত।

27:06

যেমন একজন

27:06

মানুষ হয়তো

27:07

১০০

27:07

মিলিসেকেন্ডের

27:07

বিলম্ব সহ্য

27:08

করতে পারে, অথবা

27:09

আপনি যদি কোনো

27:09

গেম খেলেন,

27:10

আপনার হয়তো

27:10

প্রতি ৪

27:11

মিলিসেকেন্ডে

27:12

ফ্রেম রেট

27:12

প্রয়োজন হতে

27:13

পারে, কিন্তু

27:13

মেশিন তার

27:14

চেয়ে অনেক

27:14

অনেক দ্রুত গতি

27:15

চায়। সাইমন

27:16

বলে, "ন্যাপকিন

27:17

ম্যাথ"। আমি

27:17

এটাকে আলোর

27:18

গতির সংখ্যা

27:19

বলি এবং

27:19

>> কখনও কখনও এটা

27:20

আক্ষরিক

27:21

অর্থেই আলোর

27:21

গতি যা আপনাকে

27:22

>> জোনগুলোর

27:23

মধ্যে ক্রস-জোন

27:23

ল্যাটেন্সি,

27:24

ক্রস-রিজিওন

27:25

ল্যাটেন্সি,

27:25

ফাইবারের

27:26

মাধ্যমে আলোর

27:26

গতির সমান।

27:27

আপনি কি একটা

27:27

অদ্ভুত তথ্য

27:28

শুনতে চান?

27:29

>> আমি অদ্ভুত

27:29

তথ্য শুনতে

27:30

ভালোবাসি।

27:31

>> সারা বিশ্বে

27:31

ডেটার প্যাকেট

27:32

পাঠানোর

27:32

দ্রুততম উপায়

27:33

হলো এটিকে

27:34

মহাকাশে

27:34

পাঠানো।

27:35

>> এর কারণ কি এই

27:36

যে

27:36

শূন্যস্থানে

27:37

আলোর গতি বেশি?

27:38

>> বেশ খানিকটা

27:39

বেশি।

27:39

>> অথবা, এটা তো

27:40

পুরোপুরি

27:41

শূন্যস্থান

27:41

নয়।

27:42

>> কোনোভাবেই না।

27:43

>> হ্যাঁ। তাহলে

27:43

আপনি আরও বেশি

27:44

দূরত্ব

27:44

অতিক্রম করতে

27:45

পারবেন। হ্যাঁ

27:46

।

27:46

>> আসলে, আমি মনে

27:46

করি এটা করার

27:47

উপায় হলো আপনি

27:47

এটিকে সোজা

27:48

উপরের দিকে

27:48

পাঠাবেন। এবং

27:49

তারপর আপনি

27:49

এটিকে সোজা

27:50

উপরের দিকে

27:50

পাঠাবেন,

27:50

স্টারলিংকের

27:51

মধ্যে এটিকে

27:51

বাউন্স করাবেন,

27:52

এবং অন্য পাশ

27:52

দিয়ে নিচে

27:52

পাঠাবেন।

27:53

সুতরাং আপনি

27:53

এটিকে

27:54

বায়ুমণ্ডল

27:54

থেকে যত দ্রুত

27:55

সম্ভব বের করে

27:55

আনতে চান।

27:56

>> কিন্তু এখন যদি

27:56

আমরা ধরে নিই যে

27:57

এটি শুধুমাত্র

27:57

আলোর গতিতে চলে,

27:58

তাহলে এখানে এক

27:59

ধরনের ডিজিটাল

27:59

রূপান্তর ঘটবে

28:00

। সুতরাং, সেই

28:01

সিস্টেমটির

28:01

এটি

28:01

প্রক্রিয়া

28:02

করতে এবং

28:02

সম্পন্ন করতে

28:03

কত সময় লাগে তা

28:04

আপনাকে গণনা

28:04

করতে হবে; এবং

28:05

কিন্তু আপনি

28:05

বলছেন যে, যদি

28:06

আপনি এটি খুব

28:07

ভালোভাবে করেন,

28:07

তবে এটি একটি

28:08

অপটিক্যাল

28:09

কেবলের

28:09

মাধ্যমে

28:09

পাঠানোর

28:10

চেয়েও দ্রুত

28:10

হবে, এবং একটি

28:11

অপটিক্যাল

28:11

কেবল আলোর গতি

28:12

কমিয়ে দেয়,

28:13

তাই না?

28:13

>> হ্যাঁ, আলোর গতি

28:14

শুধুমাত্র

28:15

শূন্যস্থানেই

28:15

আলোর গতি এবং

28:16

অন্য সব

28:17

মাধ্যমে এটি

28:17

ধীর।

28:18

>> আমি হেজ ফান্ড

28:18

ইন্ডাস্ট্রি

28:19

নিয়ে

28:19

গভীরভাবে

28:19

গবেষণা

28:20

করেছিলাম এবং

28:20

তারা আমাকে ঠিক

28:21

কী তা বলেনি,

28:21

তারা বলেছে যে

28:22

তারা

28:22

স্যাটেলাইট

28:23

এবং

28:23

মাইক্রোওয়েভ

28:23

ব্যবহার করে,

28:24

এবং এই

28:24

জিনিসগুলোর

28:25

কিছু তারা

28:25

আপনাকে বলবে না

28:26

কারণ, জানেন তো,

28:26

এটা তাদের

28:27

নিজস্ব

28:27

ব্যাপার।

28:27

কিন্তু আমার

28:28

সন্দেহ ছিল যে

28:29

তারা হয়তো আরও

28:30

দ্রুত কোনো

28:30

উপায় খুঁজে

28:31

পেয়েছে, এবং

28:31

আমি মনে করি এটি

28:32

মোটামুটি

28:33

সুপরিচিত।

28:33

কিন্তু এর

28:34

বিস্তারিত

28:34

বিবরণে তারা

28:35

যাবে না কারণ,

28:36

আবারও বলছি, সেই

28:36

একই ব্যাপার,

28:37

কিন্তু, হ্যাঁ,

28:38

তো, তো।

28:38

>> ওরা সম্ভবত

28:39

জিনিসপত্র

28:39

বাউন্স

28:40

করাচ্ছে।

28:40

হ্যাঁ। হ্যাঁ।

28:41

তো, হাই

28:41

ফ্রিকোয়েন্সি

28:42

ট্রেডিং-এ ওরা

28:43

যে কাজগুলো করে

28:44

তার মধ্যে একটা

28:44

হলো, নিউ ইয়র্ক

28:45

আর শিকাগোর

28:46

মধ্যে

28:46

দূরত্বটা আসলে

28:47

মহাকাশে

28:47

পাঠানোর মতো

28:48

যথেষ্ট নয়।

28:48

তাই, ওরা সেখানে

28:49

মাইক্রোওয়েভ

28:50

বিম ব্যবহার

28:50

করছিল।

28:51

>> হ্যাঁ।

28:51

>> কিন্তু, মানে,

28:52

আপনি যদি

28:52

সত্যিই আরও

28:53

দ্রুত হতে চান,

28:53

তাহলে তাদের

28:54

মধ্যে একটা

28:54

ভ্যাকুয়াম

28:55

টিউব তৈরি করে

28:55

পাঠাতে হবে...

28:56

হয়তো ওরা

28:56

সেটাই করছে।

28:57

>> হয়তো ওরা ওটা

28:57

করছে।

28:58

>> হ্যাঁ। কিন্তু,

28:59

মানে, আজকালকার

28:59

পারফরম্যান্সের

29:00

ব্যাপারে যে

29:01

জিনিসটা আমার

29:01

কাছে দারুণ মনে

29:02

হয় তা হলো,

29:03

পারফরম্যান্সের

29:04

ক্ষেত্রে

29:04

আপনাকে এতগুলো

29:05

স্তরের দিকে

29:05

মনোযোগ দিতে

29:06

হয় যে, এই

29:06

গোলকধাঁধাটা

29:07

অনেক গভীরে চলে

29:08

যায়। আপনি

29:08

প্রায়

29:09

নিশ্চিতভাবেই

29:09

মাল্টি-

29:10

থ্রেডেড

29:10

সিস্টেমে কাজ

29:11

করছেন, তাই না?

29:11

আর আপনি ভাবছেন,

29:12

"ওহ, আমার একটা

29:12

মাল্টি-

29:13

থ্রেডেড

29:13

প্রোগ্রাম

29:13

দরকার। আমার

29:14

সেখানে

29:14

সিনক্রোনাইজেশন

29:15

থাকতে হবে।"

29:16

আচ্ছা, আপনি যদি

29:17

সিনক্রোনাইজেশন

29:17

এড়িয়ে চলেন,

29:18

তাহলেই সেরা

29:18

পারফরম্যান্স

29:19

পাবেন। এর একটি

29:19

অংশ হলো লক-ফ্রি

29:20

প্রোগ্রামিং,

29:20

আবার অন্য

29:21

অংশটি হলো

29:21

এমনভাবে

29:21

ব্যবস্থা করা

29:22

যাতে আপনার

29:22

একেবারেই লকের

29:22

প্রয়োজন না

29:23

হয়। আপনাকে

29:23

আপনার প্রসেসর

29:24

ক্যাশ

29:24

সম্পর্কে

29:25

সচেতন থাকতে

29:25

হবে। সিপিইউ-এর

29:26

উপরে ক্যাশের

29:27

একটি সম্পূর্ণ

29:27

সেটআপ রয়েছে।

29:28

যেমন, আপনি

29:29

রেজিস্টারগুলোকে

29:29

ক্যাশ হিসেবে

29:30

ভাবতে পারেন।

29:31

এবং আপনার L1, L2, L3,

29:32

এমনকি আপনার

29:33

মেমরি এবং

29:33

ডিস্ক পর্যন্ত

29:34

রয়েছে।

29:35

আপনাকে এই

29:36

সমস্ত স্তরের

29:36

দিকে মনোযোগ

29:37

দিতে হবে। এবং

29:38

যদি আপনি তা

29:38

করেন, আপনার

29:39

পারফরম্যান্স

29:40

অনেক ভালো হবে।

29:41

আর যদি আপনি এটি

29:41

উপেক্ষা করেন

29:42

এবং ভাবেন, "ওহ,

29:43

আমি ক্যাশ

29:43

অ্যাক্সেস

29:44

নিয়ে চিন্তা

29:45

করছি না। আমি সব

29:45

জায়গা থেকে

29:46

ডেটা

29:47

অ্যাক্সেস

29:47

করছি।" তাহলে

29:48

আপনার

29:48

প্রোগ্রাম

29:49

অনেক, অনেক

29:49

ধীরগতির হয়ে

29:50

যাবে। এবং কিছু

29:51

লোক এই বিষয়ে

29:52

প্রচুর মনোযোগ

29:52

দেয়। হাই-

29:53

ফ্রিকোয়েন্সি

29:54

ট্রেডিং, মানে,

29:54

তারা এটা

29:55

সারাদিন ধরে

29:55

করে। এবং আরও

29:56

অনেক জায়গায়,

29:57

যেমন, কেউ এই

29:58

বিষয়ে মনোযোগ

29:58

দেয় না। এবং এর

29:59

ফলে

30:00

হার্ডওয়্যার

30:00

বা

30:00

সফটওয়্যারের

30:01

পারফরম্যান্সের

30:02

ধীরে ধীরে

30:03

অবনতি ঘটে।

30:03

>> আমি লো-লেভেল

30:04

বিষয়গুলো

30:04

নিয়ে আরেকটু

30:05

কথা বলতে

30:06

চেয়েছিলাম,

30:06

তবে আলোর গতি

30:07

নিয়ে নয়, বরং

30:08

লো-লেভেল ডেটা

30:08

স্ট্রাকচার

30:09

এবং

30:09

প্রোগ্রামিং

30:10

ল্যাঙ্গুয়েজের

30:11

ফিচারগুলো

30:11

নিয়ে। আপনি

30:12

স্ট্যান্ডার্ড

30:13

লাইব্রেরিতে

30:13

কিছু অবদান

30:14

রেখেছেন, তাই না

30:15

?

30:15

>> আমি দু-একটা

30:15

করেছি। উম, ঠিক

30:16

স্ট্যান্ডার্ড

30:17

লাইব্রেরি নয়

30:18

। তো, মানে, আমি

30:19

বরাবরই ডেটা

30:19

স্ট্রাকচারের

30:20

প্রতি মুগ্ধ।

30:21

এটা এক কথায়

30:22

অসাধারণ। মানে,

30:23

আমি

30:23

সাধারণভাবে

30:23

অ্যালগরিদমগুলোকেই

30:24

পছন্দ করি।

30:25

যেমন ধরুন

30:25

সর্টিং

30:25

অ্যালগরিদমগুলো

30:26

। ওগুলো এক

30:27

কথায় অসাধারণ

30:28

। আপনি সম্ভবত

30:28

ইনসারশন সর্ট

30:29

এবং এই ধরনের

30:29

সবকিছু

30:30

ব্যাখ্যা করতে

30:30

পারবেন। আপনি

30:31

কি

30:31

>> কুইক সর্টও

30:32

ব্যাখ্যা করতে

30:32

পারবেন?

30:33

>> কুইক সর্ট একটু

30:34

কঠিন।

30:34

>> আমি জানি। আমি

30:35

জানি। এটাই তো

30:36

ব্যাপার।

30:36

>> হ্যাঁ। আর

30:37

তারপর আপনি...

30:37

>> না, না, কিন্তু

30:38

এটা একটা

30:38

স্মার্ট

30:38

অ্যালগরিদম।

30:39

>> হ্যাঁ। আর

30:40

তারপর আপনি এমন

30:40

একটা পর্যায়ে

30:41

পৌঁছান, যেখানে

30:41

মনে হয়, "ওহ,

30:42

দাঁড়ান।

30:42

সত্যিই খুব

30:43

বুদ্ধিমান কেউ

30:43

এটা তৈরি করেছে

30:44

।" তো, গুগলে কাজ

30:45

করার সময়

30:46

একসময় আমি যে

30:46

কাজগুলো করতাম,

30:47

তার মধ্যে একটা

30:48

ছিল এমন যে,

30:48

আমার এক

30:49

সহকর্মী আমার

30:50

কাছে এসে বললেন,

30:50

"জানেন? আমরা সব

30:51

জায়গায় STL

30:52

ম্যাপ

30:52

স্ট্রাকচার

30:53

ব্যবহার করছি।

30:54

আর এই STL ম্যাপ

30:54

স্ট্রাকচারটা

30:55

হলো একটা

30:56

ব্যালেন্সড

30:56

বাইনারি ট্রি।

30:57

আমার ঠিক মনে

30:57

পড়ছে না এটা

30:58

রেড-ব্ল্যাক

30:58

ট্রি ছিল, নাকি

30:59

কম্পিউটার

30:59

সায়েন্সের

31:00

ছাত্ররা যেসব

31:00

ব্যালেন্সিং

31:01

অ্যালগরিদম

31:01

ব্যবহার করে,

31:02

সেরকম অন্য

31:02

কোনো

31:03

অ্যালগরিদম

31:03

ছিল।" তিনি আমার

31:04

কাছে এসে বললেন,

31:04

"আমার মনে হয়

31:05

আমরা এর চেয়ে

31:05

ভালো কিছু করতে

31:06

পারি, কারণ

31:06

এখানে আসলে

31:07

একটা ক্যাশ

31:07

সমস্যা আছে।

31:08

প্রত্যেকবার

31:08

প্রতিটি নোড

31:09

পার হওয়ার

31:10

সময় আপনি একটি

31:10

ভিন্ন ক্যাশ

31:11

লাইন অতিক্রম

31:11

করছেন।" তিনি

31:12

এটা করার জন্য

31:13

অন্য কিছু, যেমন

31:13

একটি স্কিপ

31:14

লিস্ট ব্যবহার

31:15

করার কথা

31:15

ভাবছিলেন, যেটা

31:16

কিনা আরেকটি

31:16

অসাধারণ ডেটা

31:17

স্ট্রাকচার

31:17

এবং সবারই

31:18

একবার দেখা

31:18

উচিত। কিন্তু

31:19

এক পর্যায়ে

31:20

আমার মনে হলো, "

31:20

আসলে, এটাকে বরং

31:21

একটা বি-ট্রি-র

31:22

মতো লাগছে।"

31:22

যেহেতু আমি এর

31:23

আগেও কয়েকবার

31:24

বি-ট্রি

31:24

ইমপ্লিমেন্ট

31:25

করেছি, তাই আমি

31:25

বের করে

31:26

ফেলেছিলাম

31:26

কীভাবে এমন

31:27

একটি বি-ট্রি

31:28

তৈরি করা যায়

31:28

যা STL ম্যাপের

31:29

প্রায় সমস্ত

31:30

সিম্যান্টিকস

31:30

বাস্তবায়ন

31:31

করতে পারে। এটা

31:32

পুরোপুরি

31:32

নিখুঁতভাবে

31:33

কাজটা করতে

31:33

পারছিল না, এবং

31:34

এর কারণ হলো,

31:34

যখন আপনি একটি

31:35

বি-ট্রি নোডে

31:36

ডেটা ঢোকান, তখন

31:36

আপনাকে

31:37

জিনিসপত্র

31:37

এদিক-ওদিক

31:38

সরাতে হয়, তাই

31:38

আপনি

31:38

পয়েন্টার

31:39

স্ট্যাবিলিটি

31:40

পান না। এটা বেশ

31:40

মৌলিক একটা

31:41

বিষয়, কিন্তু

31:42

যদি আপনার

31:42

ব্যবহারের

31:42

ক্ষেত্রে এর

31:43

প্রয়োজন না-ও

31:44

হয়, আপনি আসলে

31:44

এর মধ্যে আরও

31:45

বেশি ডেটা

31:45

রাখতে পারবেন।

31:46

তো, বি-ট্রি-র

31:47

ব্যাপারটা,

31:47

এটাকে খুব

31:48

সহজভাবে

31:48

বর্ণনা করার

31:49

উপায় হলো, ধরুন

31:49

আপনার কাছে

31:50

মাত্র আটটি

31:50

আইটেমের একটি

31:51

ছোট তালিকা আছে,

31:52

এবং আপনি যদি

31:52

সাজানো ক্রমে

31:53

দ্রুত

31:53

অ্যাক্সেস

31:54

করতে চান, তাহলে

31:54

সেটা সংরক্ষণ

31:55

করার সেরা

31:55

উপায় হলো

31:56

আইটেমগুলোকে

31:57

সর্ট করা, তাই

31:57

না? আক্ষরিক

31:58

অর্থে, আপনার

31:58

কাছে কোনো ট্রি-

31:59

ই নেই। হ্যাঁ।

32:00

আটটি আইটেমের

32:01

জন্য,

32:01

>> এটাকে শুধু

32:01

একটা সাধারণ

32:02

তালিকায়

32:02

রাখুন।

32:02

>> একদম শুধু একটা

32:03

অ্যারে,

32:03

অ্যারেটা সর্ট

32:04

করুন, এবং তারপর

32:04

আপনি এর উপর

32:05

একটি লিনিয়ার

32:05

স্ক্যান করতে

32:06

পারেন, অথবা

32:06

একটি বাইনারি

32:06

সার্চ করতে

32:07

পারেন। এবং

32:07

প্রায়শই একটি

32:08

লিনিয়ার

32:08

স্ক্যান

32:08

দ্রুততর হয়।

32:09

এবং তারপর আপনি

32:09

যখন এটা নিয়ে

32:10

ভাবেন, তখন আমার

32:10

মনে হয়, "আচ্ছা,

32:11

আমি যদি আটটির

32:11

বেশি আইটেম

32:12

সংরক্ষণ করতে

32:12

চাই, তাহলে আমি

32:13

শুধু একটি নোড

32:13

রাখতে পারি

32:14

যাতে আটটি

32:14

আইটেম থাকবে,

32:14

এবং তারপর আমার

32:15

আরেকটি নোড

32:15

থাকবে, এবং

32:16

তারপর একটি

32:16

প্যারেন্ট নোড

32:17

থাকবে যা

32:17

সেগুলোকে

32:17

একসাথে

32:18

সংযুক্ত করবে।"

32:18

এবং এটা মূলত,

32:19

আপনি জানেন,

32:19

আপনি এটিকে নিচ

32:20

থেকে উপরে তৈরি

32:20

করার কথা ভাবেন

32:21

। আপনি আটটি

32:22

আইটেম সহ মাত্র

32:22

একটি নোড দিয়ে

32:23

শুরু করেন। ওহ,

32:24

আমাকে নবম

32:24

জিনিসটি

32:25

ঢোকাতে হবে, আমি

32:26

এটিকে দুটি

32:26

খণ্ডে ভাগ করব।

32:27

এবং দুটি

32:28

খণ্ডের মধ্যে,

32:28

একটিতে চারটি

32:29

থাকবে,

32:29

অন্যটিতে

32:29

পাঁচটি থাকবে,

32:30

তারপর আপনার

32:30

একটি

32:30

প্যারেন্ট নোড

32:31

থাকবে যা

32:31

সেগুলোকে

32:31

নির্দেশ করবে।

32:32

এবং তারপর আপনি

32:33

এর উপর

32:33

রিকার্সন

32:34

করবেন।

32:34

সংক্ষেপে এটাই

32:35

বি-ট্রি

32:35

অ্যালগরিদম।

32:36

সবাই যান এবং

32:36

এটি

32:37

ইমপ্লিমেন্ট

32:37

করুন। আসলে, এখন

32:38

আর কারোরই এটি

32:39

ইমপ্লিমেন্ট

32:39

করা উচিত নয়

32:40

কারণ আজকাল

32:40

আমাদের কাছে

32:41

এটি

32:41

ইমপ্লিমেন্ট

32:42

করার জন্য অন্য

32:42

কিছু আছে, যেমন

32:43

সমস্ত

32:43

অপটিমাইজেশন,

32:44

কারণ একটি বি-

32:45

ট্রিতে প্রচুর

32:45

অপটিমাইজেশন

32:46

করা যায়।

32:46

>> কিন্তু আমি

32:47

শুধু এই বিষয়ে

32:48

ফিরে যেতে চাই

32:48

যে ম্যাপের

32:49

জন্য আগে থেকেই

32:50

একটি

32:50

ইমপ্লিমেন্টেশন

32:51

ছিল। এবং তারপর

32:52

আপনার সহকর্মী

32:52

কোডটি দেখে

32:53

বললেন, "আমার

32:54

মনে হয় আমরা

32:55

আরও ভালো করতে

32:56

পারি।" আমি যা

32:56

বুঝতে চাই তা

32:57

হলো, আমার মতে,

32:58

এমন একজন

32:58

ব্যক্তি

32:59

হিসেবে যিনি এই

33:00

লাইব্রেরি বা

33:00

ডেটা

33:01

স্ট্রাকচারগুলো

33:02

কীভাবে তৈরি

33:02

হয় তার সাথে

33:03

জড়িত নন, আমি

33:04

সবসময় ভেবেছি,

33:05

এবং আবারও বলছি,

33:06

এটা হয়তো আমার

33:06

সরল বিশ্বাস,

33:07

কিন্তু সত্যিই

33:08

বুদ্ধিমান

33:09

লোকেরা যখন

33:09

বসেন, তারা

33:10

অত্যাধুনিক

33:11

প্রযুক্তি

33:11

দেখেন, তারা এটি

33:12

প্রয়োগ করেন,

33:13

এবং এটি আরও

33:13

দ্রুত হওয়ার

33:14

কোনো উপায় নেই

33:15

। সত্যি বলতে,

33:16

অতীতে আমার

33:16

সাথে এই নিয়ে

33:17

তর্কও হয়েছে

33:18

যে, "ওহ, চলো আরও

33:19

দ্রুত একটি

33:19

সর্টিং

33:20

সিস্টেম লিখি।"

33:21

যেন এটাই

33:21

সবচেয়ে দ্রুত

33:22

। কিন্তু আপনি

33:23

যদি আমাদের

33:24

একটু দেখাতে

33:25

পারতেন যে, আপনি

33:26

নিজে এর ভেতরে

33:27

থেকে কীভাবে

33:28

এটি কাজ করে এবং

33:29

কীভাবে আপনার ও

33:30

আপনার

33:30

সহকর্মীর মতো

33:31

অন্যরাও বলতে

33:32

পারে, "ওহ, আমরা

33:33

যদি অন্য কিছু

33:34

চেষ্টা করি?"

33:35

>> তো, আমার যতদূর

33:36

মনে পড়ে, তিনি

33:37

এই ধরনের একটি

33:38

বড়

33:38

অভ্যন্তরীণ

33:39

সিস্টেম নিয়ে

33:39

কাজ করছিলেন।

33:40

আমার মনে হয়

33:41

ওটার নাম ছিল

33:42

গাইয়া (Gaia),

33:42

যেটাতে আসলে

33:43

ম্যাপিং-এর

33:43

কাজটা করা ছিল।

33:44

যেমন, আপনি লগ

33:45

ইন করতেন, আপনার

33:45

ইউজার আইডি

33:46

থাকত, এবং

33:46

আপনাকে সেটা

33:47

খুঁজে বের করতে

33:48

হতো। আর তারা

33:49

ইউজার আইডি,

33:49

ইমেল থেকে শুরু

33:50

করে

33:51

ব্যবহারকারীর

33:52

মেটাডেটা

33:52

পর্যন্ত

33:53

সবকিছু একটা STL

33:54

ম্যাপে

33:54

সংরক্ষণ করত।

33:55

আর আপনি খেয়াল

33:56

করতেন, "এখানে

33:56

তো অনেক মেমোরি

33:57

ব্যবহৃত হচ্ছে

33:58

।" আর এটা

33:58

প্রোফাইলে

33:59

দেখা যেত। তখন

33:59

আমরা ভাবলাম, "

34:00

আচ্ছা, এর চেয়ে

34:01

ভালো করার জন্য

34:01

আমরা কী করতে

34:02

পারি?" আর

34:02

এভাবেই এর

34:02

সূত্রপাত

34:03

হয়েছিল। আর

34:04

জানেন, তিনি এটা

34:04

নিয়ে কাজ

34:05

করছিলেন এবং

34:05

আমার সাথেই কাজ

34:06

করছিলেন। আমরা

34:07

এই সমস্যাটা

34:07

নিয়ে ভাবতে

34:08

শুরু করলাম।

34:09

যেমন, "ওহ, আমরা

34:09

কি এর চেয়ে

34:10

ভালো কিছু করতে

34:11

পারি?" আর এটা

34:11

এখনকার মতো

34:12

গুগলের মতো নয়,

34:12

যেখানে তাদের

34:13

নিজস্ব

34:13

লাইব্রেরি

34:14

নিয়ে কাজ করার

34:14

জন্য একটা পুরো

34:15

টিম আছে।

34:16

তখনকার

34:16

ব্যাপারটা ছিল

34:17

অনেকটা এরকম যে,

34:17

সবাই নিজের

34:18

নিজের

34:18

সিস্টেমে কাজ

34:19

করত এবং একটি

34:19

শেয়ার করা

34:20

ডেটাবেসে

34:21

অবদান রাখত।

34:21

>> কিন্তু কিন্তু

34:22

কিন্তু আমার

34:22

মনে হয়,

34:22

ব্যাপারটা

34:23

আবার সেই আগের

34:23

কথাতেই ফিরে

34:24

যায়, যেমনটা

34:24

আপনি একটু আগে

34:25

বলছিলেন—

34:25

লেয়ারগুলো

34:25

ছাড়াই এগিয়ে

34:26

যাওয়া, এবং

34:26

কোনো কিছু

34:27

ঠিকঠাক না

34:27

লাগলে তা বোঝার

34:27

চেষ্টা করা।

34:28

যেমন, হঠাৎ করে

34:28

মনে হওয়া, "ওহ,

34:29

মেমোরি

34:29

ব্যবহারের

34:30

পরিমাণটা তো

34:30

অনেক বেড়ে

34:31

গেছে।" মানে,

34:32

শুধু প্রশ্ন

34:32

করা যে, এটা কেন

34:33

হচ্ছে? এবং যদি

34:34

আপনি এটা বলতে

34:35

পারেন বা বলতে

34:35

স্বচ্ছন্দ বোধ

34:36

করেন যে, "ওহ,

34:36

আমরা কি এ

34:37

ব্যাপারে কিছু

34:37

করতে পারি?", তাই

34:38

না?

34:38

>> এবং তিনি প্রথম

34:39

দিকে যে

34:39

বিষয়গুলো

34:40

লক্ষ্য

34:40

করেছিলেন, আমার

34:41

মনে হয় তার

34:41

মধ্যে একটি ছিল

34:42

যে, এটি ছিল

34:43

একটি ইন্টিজার

34:43

আইডি থেকে অন্য

34:44

কিছুর একটি

34:45

ম্যাপ। এবং

34:45

ধরুন, আপনি যদি

34:46

একটি রেড-

34:46

ব্ল্যাক ট্রি

34:47

দেখেন, প্রতিটি

34:48

নোডে আপনার

34:48

একটি ভ্যালু

34:49

থাকে যা আপনি

34:49

ম্যাপে স্টোর

34:50

করছেন, এবং

34:50

তারপর দুটি

34:51

পয়েন্টার

34:51

থাকে। আপনার

34:52

হয়তো একটি

34:52

ইন্টিজার আইডি

34:53

থাকতে পারে যা ৮

34:54

-বাইটের মতো,

34:54

এবং তারপর দুটি

34:55

পয়েন্টার।

34:55

>> তাই না? এবং

34:56

আপনি যখন এটি

34:57

দেখেন, তখন

34:57

আপনার মনে হয়, "

34:58

ওহ, এতে তো অনেক

34:58

বেশি ওভারহেড

34:59

মনে হচ্ছে।" আর

34:59

আপনি বলতে

35:00

পারেন যে,

35:01

>> বি-ট্রি-এর

35:01

স্পেশিয়াল

35:02

লোকালিটি আসলে

35:03

অনেক ভালো, এবং

35:03

সে কারণেই এটি

35:04

দ্রুততর ছিল।

35:05

কিন্তু একই

35:06

সাথে এটি

35:06

আকারেও ছোট ছিল,

35:07

কারণ এতে কম

35:08

পয়েন্টার

35:08

জড়িত ছিল।

35:09

>> আপনি গো (Go)-তেও

35:10

অবদান রেখেছেন,

35:11

তাই না?

35:11

>> হ্যাঁ। আচ্ছা,

35:12

সেটা পরে এসেছে

35:13

।

35:13

>> হ্যাঁ, হ্যাঁ,

35:13

এটা অনেক পরে

35:14

এসেছে, কিন্তু

35:14

আমরা কি সে

35:15

বিষয়ে কথা

35:15

বলতে পারি?

35:16

>> হ্যাঁ। ঠিক আছে,

35:16

এই অন্য

35:17

বিষয়গুলোর

35:17

মধ্যে একটা হলো,

35:18

যখন নতুন ডেটা

35:19

স্ট্রাকচার,

35:20

যেমন হ্যাশ

35:20

টেবিল নিয়ে

35:21

গবেষণাপত্র

35:21

বের হয়, আমি

35:22

সেদিকে মনোযোগ

35:23

দিই। কলেজে

35:23

ডেটা

35:24

স্ট্রাকচারের

35:24

প্রথম দিকের

35:25

বিষয়গুলোর

35:26

মধ্যে হ্যাশ

35:26

টেবিল অন্যতম।

35:27

যেমন, আমি

35:28

কীভাবে কী-

35:28

গুলোকে

35:28

ভ্যালুর সাথে

35:29

ম্যাপ করব

35:30

যেখানে ক্রম

35:30

গুরুত্বপূর্ণ

35:31

নয়। তখনই

35:32

হ্যাশ টেবিলের

35:32

প্রয়োজন হয়।

35:33

আর এটা করার

35:33

জন্য একেবারে

35:34

প্রথম দিকের

35:34

কিছু উপায় ছিল

35:34

। আমি

35:35

একাধিকবার

35:35

হ্যাশ টেবিল

35:35

ইমপ্লিমেন্ট

35:36

করেছি।

35:36

ব্যাপারটা

35:37

অনেকটা এরকম যে,

35:37

আপনি আপনার কী (

35:38

key) নেন, যেটা

35:38

একটা স্ট্রিং

35:39

হতে পারে, এবং

35:39

সেটাকে একটা

35:40

ফাংশনের মধ্যে

35:40

দিয়ে চালান, আর

35:41

ফাংশনটা একটা

35:41

ইন্টিজার (integer)

35:42

আউটপুট দেয়,

35:43

এবং তারপর আপনি

35:43

সেটাকে

35:43

বাকেটের (buckets)

35:44

একটা অ্যারেতে

35:44

ম্যাপ করেন, এবং

35:45

যদি একাধিক

35:46

জিনিস একই

35:46

বাকেটে ম্যাপ

35:46

করা থাকে, তাহলে

35:47

আপনার একটা

35:48

লিঙ্কড লিস্ট (

35:48

linked list) থাকতে হবে

35:49

।

35:49

>> আপনার একটা

35:49

লিঙ্কড লিস্ট

35:50

আছে, হ্যাঁ। এটা

35:50

হলো একটা সরল

35:51

ইমপ্লিমেন্টেশন

35:52

(naive implementation), তাই

35:52

না?

35:53

>> সরল

35:53

ইমপ্লিমেন্টেশন

35:53

। বেশ ঘন ঘন

35:54

ব্যবহৃত হয়।

35:55

এবং সময়ের

35:55

সাথে সাথে,

35:56

মানুষ হ্যাশ

35:56

টেবিল (hash table)

35:56

করার আরও অনেক

35:57

ভালো উপায়

35:58

আবিষ্কার

35:58

করেছে। এমন

35:59

একটা পদ্ধতি

35:59

আছে যেটাকে বলা

36:00

হয় হ্যাশের

36:01

চেইনিং (chaining),

36:01

আরেকটা কৌশল

36:02

আছে যাকে বলা

36:02

হয় ওপেন

36:03

অ্যাড্রেসিং (open

36:03

addresses), যেখানে

36:04

আসলে একটা

36:04

লিঙ্কড লিস্ট

36:05

না রেখে, আপনি

36:06

শুধু এটাকে

36:06

আবার হ্যাশ

36:07

করেন এবং

36:07

এগিয়ে যান,

36:07

অথবা পরবর্তী

36:08

বাকেটগুলোতে

36:09

গিয়ে খুঁজে

36:09

বের করেন যে

36:10

আপনার কোথায়

36:10

থাকা উচিত। এবং

36:11

আমার মনে আছে এই

36:12

নতুন কৌশলটা

36:12

সম্পর্কে

36:13

পড়ার কথা। এটা

36:14

গুগলের কিছু

36:14

লোকের কাছ থেকে

36:15

এসেছিল। আমার

36:16

বিশ্বাস এটা

36:16

তাদের সুইস

36:17

অফিস থেকে

36:17

এসেছিল, কারণ

36:18

এটাকে সুইস

36:18

টেবিল (Swiss tables)

36:19

বলা হতো।

36:19

>> হ্যাঁ, হ্যাঁ।

36:20

আমার বিশ্বাস

36:21

নামটা ওখান

36:21

থেকেই এসেছে।

36:22

>> হ্যাঁ, হ্যাঁ।

36:23

আমার মনে হয়,

36:23

নামকরণটা ওখান

36:24

থেকেই এসেছে।

36:25

আমি এ ব্যাপারে

36:25

নিশ্চিত নই, তবে

36:26

আমার মনে আছে

36:26

আমি এটা নিয়ে

36:27

পড়েছিলাম।

36:27

এরপর আমি বেশ

36:28

কিছুদিন ধরে Go

36:29

নিয়ে কাজ

36:29

করছিলাম, এবং Go-

36:30

তে একটি বিল্ট-

36:31

ইন ম্যাপ

36:31

স্ট্রাকচার

36:32

আছে। এটি একটি

36:33

হ্যাশ টেবিল,

36:34

এবং এটি একটি

36:34

অত্যন্ত

36:35

অপটিমাইজড

36:35

হ্যাশ টেবিল,

36:36

কারণ Go টিম,

36:37

অর্থাৎ Go

36:37

রানটাইম টিম,

36:38

খুবই দক্ষ। এবং

36:39

বিভিন্ন

36:40

ব্যক্তি Go-এর

36:40

জন্য একটি সুইস

36:41

টেবিল

36:41

ইমপ্লিমেন্টেশন

36:42

তৈরি করার

36:43

চেষ্টা করেছেন

36:44

। আমি সেগুলোর

36:44

কয়েকটি

36:45

পরীক্ষা করে

36:45

দেখেছি এবং

36:46

আমার মনে

36:46

হয়েছে, সুইস

36:47

টেবিল যা করে তা

36:47

বেশ আকর্ষণীয়

36:48

। আমি একটু পরেই

36:49

ব্যাখ্যা করব

36:49

এটি কীভাবে কাজ

36:50

করে, কিন্তু আমি

36:51

যখন এটি দেখলাম,

36:51

তখন মনে হলো,

36:52

রানটাইমের

36:52

পারফরম্যান্সকে

36:53

হারানো সত্যিই

36:54

কঠিন।

36:54

রানটাইমটি

36:55

সত্যিই খুব

36:55

ভালো ছিল। আমি

36:56

জানতাম যে আমি

36:57

বেশ কিছুদিন

36:58

ধরে এটি নিয়ে

36:59

কাজ করতে চাই,

37:00

এবং অবশেষে

37:00

আমাকে একটি

37:01

ব্যবসায়িক

37:02

সফরে ভারতে,

37:02

ব্যাঙ্গালোরে

37:03

যেতে হয়েছিল।

37:04

আর তাই আমি একটি

37:05

দীর্ঘ সফরে

37:06

ছিলাম।

37:07

>> হ্যাঁ।

37:07

>> এটা সবসময়

37:08

এভাবেই শুরু

37:08

হয়।

37:09

>> আর আমি ভাবলাম,

37:09

আমি এটাকে আরও

37:10

উন্নত করার

37:11

চেষ্টা করব।

37:11

আমি এটাকে

37:12

যথেষ্ট উন্নত

37:12

করতে

37:13

পেরেছিলাম, যার

37:13

ফলে কিছু

37:14

বেঞ্চমার্ক

37:14

আরও দ্রুত

37:14

হয়েছিল।

37:15

>> ওয়াও।

37:15

>> আর তখন আমি

37:16

ভাবলাম, এটা

37:16

একজন

37:16

ইঞ্জিনিয়ারের

37:17

জন্য অনেকটা

37:18

ক্যাটনিপের

37:18

মতো, যে আমি কি

37:18

সবকিছু আরও

37:19

দ্রুত করতে

37:19

পারব, আমি কি

37:20

বাকি সবকিছু

37:20

বের করতে পারব,

37:21

বুঝলেন।

37:21

রানটাইম টিমের

37:22

কাছ থেকে কিছু

37:23

সাহায্য পেলাম

37:23

। Go ইস্যু

37:24

ট্র্যাকারে

37:24

একটি ইস্যু আছে,

37:25

যেখানে

37:25

অন্যরাও এটা

37:26

করার চেষ্টা

37:27

করছিল, কারণ

37:27

অনেকে

37:27

প্রস্তাব

37:28

দিয়েছিল, "চলুন

37:29

সুইস টেবিল

37:29

ব্যবহার করা

37:30

যাক," এবং Go

37:30

টিমের লোকেরা

37:31

বলছিল, "আসলে,

37:32

আমরা সব

37:32

খুঁটিনাটি

37:32

জানি না, আমাদের

37:33

এটা-সেটা দেখতে

37:34

হবে।" সেখানে

37:35

কিছু ধারণা ছিল

37:35

যা সেগুলোকে

37:36

একত্রিত

37:36

করেছিল, এবং এমন

37:37

এক পর্যায়ে

37:37

পৌঁছেছিল

37:38

যেখানে আমার

37:38

কাছে একটি

37:39

সম্পূর্ণ

37:39

ইমপ্লিমেন্টেশন

37:40

ছিল যা

37:40

বেশিরভাগ

37:41

বেঞ্চমার্কে

37:41

দ্রুততর ছিল,

37:42

সবগুলোতে নয়,

37:43

তবে বেশিরভাগে

37:43

। এবং তারপর Go

37:44

টিমের লোকেরা

37:45

অবশেষে এটি

37:45

গ্রহণ করে এবং

37:46

এটিকে

37:46

চূড়ান্ত

37:46

পর্যায়ে

37:47

নিয়ে যায়।

37:47

>> আর তারপর, আপনি,

37:48

মানে, আপনিই তো

37:49

এই ধারণাটা

37:49

নিয়ে

37:49

এসেছিলেন, আপনি

37:50

এমন একটা

37:50

পর্যায়ে

37:51

পৌঁছেছিলেন

37:51

যেখানে আপনি

37:52

এমন একটা

37:52

ইমপ্লিমেন্টেশন

37:53

দেখাতে সক্ষম

37:54

হয়েছিলেন যা

37:54

দেখিয়েছিল যে

37:55

কিছু

37:55

বেঞ্চমার্ক

37:55

কতটা দ্রুত ছিল,

37:56

এবং তারপর আপনি

37:57

গো (Go) টিমের

37:57

কিছু লোকের

37:58

সাথেও কাজ করা

37:58

শুরু করেছিলেন

37:59

।

37:59

>> আসলে, আমি ঠিক

38:00

তেমনটা করিনি,

38:00

আমি এমন একটা

38:01

ইমপ্লিমেন্টেশন

38:01

তৈরি করেছিলাম

38:02

যেটা আমরা শেষ

38:03

পর্যন্ত আমার

38:03

কোম্পানিতে

38:04

ব্যবহার করেছি

38:04

। এটা আমাদের

38:05

ব্যবহারের

38:05

ক্ষেত্রের

38:06

জন্য ভালো ছিল,

38:06

কিন্তু এটাকে

38:07

রানটাইমে

38:07

যুক্ত করাটা

38:08

সম্পূর্ণ অন্য

38:08

একটা

38:09

পর্যায়ের

38:09

ব্যাপার।

38:10

>> কিন্তু তারপর

38:10

আপনি দেখালেন,

38:11

এই যে এই

38:11

ইমপ্লিমেন্টেশনটা

38:12

, এবং তারপর

38:13

তারা সেই

38:13

অনুপ্রেরণা আর

38:14

ধারণাগুলো

38:15

নিয়ে বলল, "

38:15

>> বাহ, এটা তো

38:16

দারুণ, আমরা

38:16

এটাকে আরও

38:17

দ্রুত করতে চাই

38:18

।" তারা সবসময়

38:19

রানটাইমকে আরও

38:19

দ্রুত করার

38:20

উপায় খোঁজে,

38:20

এবং তারা বলল, "

38:21

ওহ,

38:21

>> দাঁড়ান।" আর

38:22

তারপর, আপনি এই

38:23

অবদানটা

38:24

রেখেছিলেন

38:24

গুগল ছাড়ার

38:25

অনেক বছর পর,

38:25

তাই না? তাহলে

38:26

এটা বাইরের

38:26

পক্ষ থেকে করা

38:27

হয়েছিল।

38:27

>> এটা বাইরের

38:28

পক্ষ থেকে করা।

38:29

>> এটা অসাধারণ।

38:30

>> হ্যাঁ, এবং

38:30

অন্যরাও বাইরে

38:31

থেকে বিভিন্ন

38:31

জিনিস অবদান

38:32

রাখে। জানেন,

38:32

আমাদের আরেকজন

38:33

সহকর্মী ছিলেন,

38:33

তিনি CRC-এর একটি

38:34

ইমপ্লিমেন্টেশনে

38:35

অবদান

38:35

রেখেছিলেন,

38:35

মানে CRC-এর জন্য

38:36

কিছু জিনিস

38:36

অ্যাডাপ্ট

38:37

করেছিলেন?

38:37

>> যেমন

38:38

>> সাইক্লিক

38:39

রিডানডেন্সি

38:39

চেকসাম।

38:40

>> হুম।

38:40

>> হ্যাঁ, ইন্টেল

38:41

কিছু পেপার

38:41

প্রকাশ করেছিল

38:42

যে কীভাবে

38:42

অ্যাসেম্বলিতে

38:43

খুব দ্রুত CRC করা

38:44

যায় এবং তিনি

38:44

সেটির একটি

38:45

ইমপ্লিমেন্টেশনে

38:45

অবদান

38:46

রেখেছিলেন।

38:46

আপনি এই ধরনের

38:47

অনেক জিনিস

38:47

দেখতে পাবেন

38:48

যেখানে, লোকেরা

38:49

বাইরে থেকে

38:49

অবদান রাখছে।

38:50

এটা খুব বেশি

38:51

নয়, মানে আমি

38:51

আসলে পুরো

38:52

বিস্তারিত

38:52

জানি না, কিন্তু

38:53

জানেন, লোকেরা

38:54

নিয়মিত এই

38:54

জিনিসগুলিতে

38:55

অবদান রাখছে।

38:56

>> পিটার এইমাত্র

38:56

বর্ণনা করলেন

38:57

কীভাবে সুইস

38:57

টেবিলের কাজটি

38:58

একত্রিত

38:58

হয়েছিল, গো

38:59

ট্র্যাকারের

38:59

একটি ইস্যু

39:00

ট্র্যাকার

39:00

ব্যবহার করে

39:01

যেখানে

39:01

বিভিন্ন

39:01

ব্যক্তি কাজে

39:02

অবদান

39:02

রেখেছিলেন এবং

39:03

তারপরে গো টিম

39:03

এই সবকিছুকে

39:04

চূড়ান্ত

39:04

পর্যায়ে

39:05

নিয়ে

39:05

গিয়েছিল।

39:05

এখানেই আমাকে

39:06

আমাদের সিজন

39:07

স্পনসর

39:07

লিনিয়ারের

39:08

কথা উল্লেখ

39:08

করতে হবে, যা

39:09

মানুষ এবং

39:09

এজেন্ট উভয়ের

39:10

মধ্যে কাজ

39:10

সমন্বয় করার

39:11

একটি জায়গা।

39:12

এজেন্টদের

39:12

সাথে আমাদের

39:13

বেশিরভাগ

39:13

যেভাবে কাজ করে

39:14

সে সম্পর্কে

39:14

আমি একটি জিনিস

39:15

লক্ষ্য করেছি

39:16

যে এটি মূলত একক

39:16

খেলোয়াড়ের

39:17

কাজ। আপনি একটি

39:18

টার্মিনাল UI

39:18

খোলেন, একটি

39:19

এজেন্টের সাথে

39:20

আলোচনা করেন

39:20

এবং এটি

39:21

সাধারণত একটি PR

39:21

তৈরি করে।

39:22

কিন্তু আপনার

39:23

দলের বাকি

39:23

সদস্যরা সেই

39:23

চ্যাটে কী

39:24

ঘটেছে সে

39:24

সম্পর্কে

39:25

কিছুই জানতে

39:25

পারে না, যদি না

39:26

আপনি তাদের

39:26

বলেন বা পুরো

39:27

হিস্ট্রি কপি

39:27

করেন। আর যখন

39:28

দলের সবাই

39:28

এভাবে কাজ করে,

39:29

তখন এমন অনেক

39:30

কাজ হয় যা দলের

39:31

বাকিদের চোখে

39:31

পড়ে না।

39:32

লিনিয়ারের

39:32

মতে, এজেন্টের

39:33

কাজ হওয়া উচিত

39:34

দলগত কাজ। আজও,

39:35

দলগুলো করণীয়

39:36

কাজ নির্ধারণ

39:36

করতে লিনিয়ার

39:37

ব্যবহার করে।

39:38

এখন, লিনিয়ার

39:38

একটি কোডিং

39:39

এজেন্টের কাছে

39:40

কোনো ইস্যু

39:40

অর্পণ করতে

39:41

পারে। এই

39:41

এজেন্টটি হতে

39:42

পারে কোডেক্স

39:42

বা কার্সরের

39:43

মতো কোনো এআই

39:43

এজেন্ট, যার

39:44

সাথে লিনিয়ার

39:44

ইন্টিগ্রেট

39:45

করে, অথবা

39:45

লিনিয়ারের

39:46

নিজস্ব এজেন্ট,

39:46

বা একটি কাস্টম

39:47

এজেন্ট।

39:47

যেভাবেই হোক,

39:48

যিনি কাজটি

39:48

অর্পণ করছেন,

39:49

সেই

39:49

ইঞ্জিনিয়ারই

39:50

ফলাফলের জন্য

39:50

দায়ী থাকেন।

39:51

লিনিয়ারের

39:51

কাজের যে

39:52

বিষয়টি আমার

39:52

সবচেয়ে বেশি

39:53

ভালো লাগে তা

39:53

হলো, কাজটি

39:54

দৃশ্যমান থাকে

39:54

। আপনার

39:55

সতীর্থরা

39:55

এজেন্টের সেশন

39:56

অনুসরণ করতে

39:56

পারে, তার তৈরি

39:57

করা পিআর (PR)

39:57

দেখতে পারে এবং

39:58

রিভিউতে যোগ

39:58

দিতে পারে।

39:59

এজেন্টের

39:59

মাধ্যমে আমরা

40:00

একক

40:00

খেলোয়াড়ের

40:01

কাজ থেকে বহু

40:01

খেলোয়াড়ের

40:02

ইঞ্জিনিয়ারিং

40:02

কাজে চলে এসেছি

40:03

। ওহ, আর

40:03

লিনিয়ারের

40:04

আরেকটি বিষয়

40:04

যা আমার ভালো

40:05

লাগে, তা হলো

40:05

খরচের উপর এর

40:06

মনোযোগ।

40:06

লিনিয়ার

40:07

এজেন্টের অটো

40:07

রাউটিং এমন

40:08

একটি মডেল বেছে

40:09

নেয় যা কাজটি

40:09

করার জন্য

40:10

সবচেয়ে

40:10

উপযুক্ত।

40:10

টিমগুলো

40:11

ব্যবহার

40:11

নিরীক্ষা করতে

40:12

এবং সীমা

40:12

নির্ধারণ করতে

40:13

পারে, ব্যবহার

40:13

ট্র্যাক করতে

40:14

পারে, যাতে খরচ

40:14

নিয়ন্ত্রণের

40:15

বাইরে চলে না

40:15

গিয়েই আপনি

40:16

সক্ষম এজেন্ট

40:16

ব্যবহার করতে

40:17

পারেন।

40:17

linear.app/pragmatic- এ যোগ

40:19

দিন। পিটার এর

40:20

আগেও গাইয়া (Gaia)-

40:21

র কথা উল্লেখ

40:21

করেছিলেন, যা

40:22

হলো গুগলের

40:22

অভ্যন্তরীণ

40:23

সিস্টেম যা

40:23

লগইনগুলোকে

40:24

ব্যবহারকারীদের

40:24

সাথে ম্যাপ করে

40:25

। এটা

40:25

আশ্চর্যজনক

40:26

নয় যে গুগল এই

40:26

সিস্টেমটি সহ

40:27

সমস্ত সিস্টেম

40:27

কাস্টমভাবে

40:28

তৈরি করেছে,

40:28

কিন্তু আমাদের

40:29

বেশিরভাগই

40:29

আমাদের

40:29

অভ্যন্তরীণ

40:30

গাইয়া তৈরি

40:30

করব না। এটি

40:31

আমাদের সিজন

40:31

স্পনসর,

40:32

ওয়ার্কওএস (WorkOS)

40:32

-এর প্রসঙ্গে

40:33

নিয়ে আসে।

40:34

আপনি

40:34

ওয়ার্কওএস-কে

40:34

আমাদের মতো

40:35

সাধারণ

40:35

মানুষের জন্য

40:35

গাইয়া-র মতো

40:36

কিছু একটা

40:36

ভাবতে পারেন।

40:37

এমন

40:37

আইডেন্টিটি

40:37

ইনফ্রাস্ট্রাকচার

40:38

যা অন্যথায়

40:38

আপনাকে নিজেই

40:39

তৈরি করতে

40:39

কয়েক

40:39

ত্রৈমাসিক

40:40

সময় ব্যয়

40:40

করতে হতো।

40:41

ওয়ার্কওএস-এ

40:41

রয়েছে

40:42

সিঙ্গেল সাইন-

40:42

অন, এসসিআইএম (SCIM)

40:43

ডিরেক্টরি

40:43

সিঙ্ক, অডিট লগ,

40:44

রোল-ভিত্তিক

40:44

অ্যাক্সেস

40:45

কন্ট্রোল—মূলত

40:46

একটি বড়

40:46

গ্রাহকের

40:46

নিরাপত্তা দল

40:47

যা যা চায়, তার

40:48

সবকিছুই

40:48

কয়েকটি

40:48

পরিষ্কার

40:49

এপিআই (API)

40:49

হিসেবে সরবরাহ

40:50

করা হয়।

40:50

এভাবেই

40:51

কোম্পানিগুলো

40:51

তাদের নিজস্ব

40:52

অভ্যন্তরীণ

40:52

আইডেন্টিটি

40:53

প্ল্যাটফর্ম

40:53

তৈরি না করেই ‘

40:54

আমাদের একটি

40:54

লগইন আছে’ থেকে

40:55

‘আমরা ফরচুন

40:55

৫০০’

40:56

কোম্পানির

40:56

কাছে বিক্রি

40:57

করতে সক্ষম হই।

40:57

এবং

40:57

ওয়ার্কওএস

40:58

ইতিমধ্যেই

40:58

অভিন্ন

40:59

অনুমোদন

40:59

সমস্যার

40:59

পরবর্তী

41:00

সংস্করণের

41:00

জন্য কাজ করছে।

41:01

তাদের নতুনতম

41:02

পণ্য হলো

41:02

এয়ারলক (Airlock), যা

41:03

এআই (AI)

41:04

এজেন্টদের

41:04

জন্য অনুমোদন

41:05

স্তর। একবার

41:06

ভেবে দেখুন, যখন

41:06

আপনি কোনো

41:07

এজেন্টকে

41:07

আমাদের

41:08

পাইপলাইনে

41:08

থাকা বিক্রির

41:09

সুযোগগুলো

41:09

গুছিয়ে ফেলার

41:10

মতো কোনো কাজ

41:10

দেন, তখন কী হয়

41:11

। আপনি

41:11

নিশ্চয়ই

41:12

চাইবেন না যে এই

41:13

টুলটির কাছে যা

41:13

খুশি তাই মুছে

41:14

ফেলার স্থায়ী

41:15

অনুমতি থাকুক।

41:16

এয়ারলক আপনার

41:17

এজেন্ট এবং

41:17

তাদের কল করা

41:18

টুলগুলোর মাঝে

41:19

অবস্থান করে।

41:20

এটি এজেন্টের

41:20

উদ্দেশ্য এবং

41:21

আপনার নিয়ম

41:21

অনুযায়ী

41:22

প্রতিটি

41:22

অনুরোধ

41:22

মূল্যায়ন করে,

41:23

এবং তারপর

41:24

সেটিকে

41:24

অনুমোদন দেয়,

41:25

প্রত্যাখ্যান

41:25

করে, অথবা

41:26

অনুমোদনের

41:26

জন্য কোনো

41:27

মানুষের কাছে

41:27

পাঠিয়ে দেয়।

41:28

আপনি নীতিগুলো

41:29

সহজ ভাষায়

41:29

লিখে দেন,

41:30

এজেন্ট কখনোই

41:30

আপনার

41:31

ক্রেডেনশিয়াল

41:32

দেখতে পায় না,

41:32

এবং প্রতিটি কল

41:33

ও তার

41:33

সিদ্ধান্ত লগ

41:34

করা থাকে। এটি

41:35

ক্লড কোড এবং

41:36

কোডেক্সের মতো

41:36

কোডিং এজেন্ট

41:37

এবং এমসিপি

41:38

গেটওয়ের সাথে

41:38

কাজ করে।

41:39

সুতরাং, আপনি

41:40

যদি এজেন্টদের

41:41

অতিরিক্ত

41:41

অনুমতি না

41:42

দিয়ে

41:42

প্রোডাকশনে

41:43

আসল কাজ করানোর

41:44

উপায় খুঁজে

41:44

থাকেন, তাহলে

41:45

workos.com/airlock- এ

41:46

ওয়ার্কওএস

41:46

এয়ারলকটি

41:47

দেখতে পারেন।

41:48

আর এই প্রসঙ্গে,

41:49

চলুন পিটারের

41:49

কথায় ফিরে যাই

41:50

এবং কলোসাস

41:51

তৈরির পর তিনি

41:52

কেন গুগল

41:52

ছেড়েছিলেন।

41:53

আপনি গুগলে

41:54

ছিলেন, আপনি

41:54

কলোসাস

41:55

ডিস্ট্রিবিউটেড

41:56

ফাইল সিস্টেম

41:56

তৈরি করছেন,

41:57

সত্যি বলতে, এই

41:58

মুহূর্তে আপনি

41:59

সম্ভবত

41:59

পৃথিবীর

41:59

সবচেয়ে বড়

42:00

সিস্টেমটিতে

42:01

কাজ করছেন।

42:02

আপনি চাকরি

42:02

ছাড়ার কথা

42:03

ভাবেনই বা কেন?

42:04

>> হ্যাঁ, হ্যাঁ।

42:05

আচ্ছা,

42:05

কলোসাসের পর,

42:06

আমি কিছুদিনের

42:06

জন্য গুগল গগলস

42:07

নামের অন্য

42:08

একটা

42:08

প্রজেক্টে হাত

42:09

দিয়েছিলাম।

42:09

কাঁচের

42:10

ছিদ্রগুলোর

42:11

কথা মনে আছে?

42:11

হ্যাঁ। যাইহোক,

42:13

>> ধারণাটা

42:13

বারবার ফিরে

42:14

আসছিল, তাই এটা

42:14

তখনও বিদ্যমান

42:15

ছিল। মনে হচ্ছে

42:16

গুগল একটু

42:17

অগ্রগামী ছিল।

42:17

আর জানেন, আমার

42:18

মনে হয় এটা

42:18

সময়ের চেয়ে

42:19

এগিয়ে থাকা

42:20

একটা

42:20

প্রযুক্তি ছিল

42:20

। আমার মনে হয়

42:21

না সেই সময়ে

42:22

এটা করার জন্য

42:22

প্রস্তুত ছিল।

42:23

মনে হচ্ছে

42:24

চশমাটা তৈরি

42:24

করা আসলে বেশ

42:25

কঠিন। জানেন,

42:26

আমরা যে

42:26

অ্যান্ড্রয়েড

42:27

ফোনগুলোতে এটা

42:28

চালানোর

42:28

চেষ্টা

42:28

করছিলাম,

42:29

সেগুলো যথেষ্ট

42:29

শক্তিশালী ছিল

42:30

না। আর তারপর,

42:31

জানেন, আমার

42:32

মধ্যে এক ধরনের

42:32

ভবঘুরেপনা

42:33

জন্মাল, জানেন,

42:34

আমি কি গুগলে

42:34

আটকে থাকব?(এটা

42:35

বলাটা অদ্ভুত,

42:36

কিন্তু জানেন,

42:37

অন্য কিছু

42:37

মানুষও এটা

42:38

অনুভব করে)।

42:39

অন্য একটা

42:39

স্টার্টআপে

42:40

নিজের ভাগ্য

42:40

পরীক্ষা করতে

42:41

বেরিয়ে

42:41

পড়লাম। সেটা

42:42

সফল হয়নি।

42:43

স্কয়ার

42:43

আমাদের

42:43

অধিগ্রহণ করে

42:44

নেয়। তো,

42:45

>> হ্যাঁ, আমি এক

42:45

মুহূর্তের

42:46

জন্য থামতে চাই

42:47

। তো, এই

42:47

কোম্পানিটার

42:48

নাম কী ছিল?

42:49

>> আমরা যে

42:49

কোম্পানিটা

42:50

প্রতিষ্ঠা

42:50

করেছিলাম তার

42:50

নাম ছিল

42:51

ভিউফাইন্ডার।

42:51

>> ভিউফাইন্ডার,

42:52

হ্যাঁ।

42:52

>> হ্যাঁ, এটা

42:53

মোবাইল ফটো

42:53

শেয়ারিং

42:54

স্পেসে ছিল, যা

42:54

আপনার পরিচিত

42:55

মনে হতে পারে।

42:56

এটা

42:56

ইনস্টাগ্রামের

42:56

মতো। এটা

42:57

স্ন্যাপচ্যাটের

42:58

মতো।

42:58

>> ২০১২ সালে।

42:59

>> হ্যাঁ।

43:00

>> ঠিক

43:00

ইনস্টাগ্রামের

43:00

মতোই এবং আমরা

43:01

আরও বেশি করে

43:01

এগিয়ে

43:01

যাচ্ছিলাম।

43:02

>> হ্যাঁ, হ্যাঁ।

43:02

না, আমরা ঠিক

43:03

সেই জায়গাতেই

43:03

ছিলাম, কিন্তু

43:04

আমাদের কাছে

43:04

বাজারে

43:05

প্রবেশের সঠিক

43:05

কৌশল ছিল না,

43:05

যেমন—কীভাবে

43:06

ব্যবহারকারীদের

43:06

আকর্ষণ করা

43:07

যায়? কীভাবে

43:07

ভাইরাল গ্রোথ

43:08

পাওয়া যায়, এই

43:09

ধরনের

43:09

বিষয়গুলো।

43:09

>> কারণ বাইরে

43:10

থেকে, আমি যা

43:11

পড়েছি, যা

43:11

দেখেছি, মানে

43:12

গল্পটা শুনে

43:12

আমার শুধু মনে

43:13

হয়েছে, ওহ,

43:14

মানে, আপনি একটা

43:15

স্টার্টআপ সহ-

43:15

প্রতিষ্ঠা

43:16

করেছেন। সেটা

43:17

স্কয়ার কিনে

43:17

নিয়েছে।

43:18

বাহ্‌! মনে

43:19

হচ্ছে আপনার

43:20

আরও বড়

43:20

উচ্চাকাঙ্ক্ষা

43:21

ছিল এবং এটা

43:22

একটা ভালো ফল,

43:23

কিন্তু

43:23

স্বপ্নটা তো

43:24

নয়, তাই না?

43:25

>> না, এটা মোটেও

43:25

স্বপ্ন ছিল না।

43:26

তো, আমি যে

43:27

শব্দটি

43:27

ব্যবহার করেছি

43:28

তা হলো ‘

43:29

অধিগ্রহণ’। তো,

43:30

কখনও কখনও একটি

43:30

কোম্পানি

43:31

তাদের আইপি,

43:31

তাদের পণ্য,

43:32

তাদের ব্যবসার

43:33

জন্য অধিগ্রহণ

43:33

বা কিনে নেওয়া

43:34

হয়, আবার কখনও

43:35

কখনও তারা শুধু

43:35

প্রতিভার জন্য,

43:36

কর্মীদের জন্য

43:37

কিনে নেওয়া

43:37

হয়। আর আমরা

43:38

শুধু প্রতিভার

43:38

জন্যই কিনে

43:39

নেওয়া

43:39

হয়েছিলাম।

43:40

তারা আইপি (IP)

43:40

অধিগ্রহণ

43:41

করেছিল, কিন্তু

43:41

আমার মনে হয় না

43:42

স্কয়ার (Square)

43:42

এটা নিয়ে কিছু

43:43

করেছিল। এটা

43:44

এমন কোনো

43:44

জায়গা ছিল না

43:44

যেখানে তারা

43:45

কাজ করছিল।

43:45

কিন্তু আমরা এক

43:46

ধরনের

43:46

শক্তিশালী

43:46

টেকনিক্যাল

43:47

টিম তৈরি

43:47

করেছিলাম এবং

43:47

সেই কাজের

43:47

জন্যই আমাদের

43:48

নিয়োগ দেওয়া

43:48

হয়েছিল। আর

43:49

জানেন, আমার

43:49

বিস্তারিত মনে

43:50

নেই। আমরা অল্প

43:51

কিছু টাকা

43:52

তুলেছিলাম।

43:52

আমরা আমাদের

43:53

বিনিয়োগকারীদের

43:54

টাকা ফেরত দিতে

43:54

পেরেছিলাম।

43:55

হয়তো তাদের

43:56

কিছুটা লোকসান

43:57

হয়েছিল,

43:57

কিন্তু আসলে

44:00

তারা তাদের

44:01

টাকা ফেরতই

44:01

পেয়েছিল।

44:03

একজন

44:03

প্রতিষ্ঠাতা

44:04

হিসেবে,

44:04

বিনিয়োগকারীরা

44:05

বড় মাপের লোক।

44:06

তারা টাকা

44:07

হারাতে

44:07

অভ্যস্ত,

44:07

কিন্তু আপনি

44:08

যদি তাদের অনেক

44:08

টাকা লোকসান

44:09

করান, তাহলে

44:09

আপনার খারাপ

44:10

লাগবেই। তাই,

44:10

তাদের টাকা

44:11

ফেরত দিতে

44:12

পারলে আপনার

44:12

কিছুটা ভালো

44:13

লাগবে।

44:13

>> হ্যাঁ। হ্যাঁ।

44:14

আর তারপর আপনি

44:15

যে কোম্পানি

44:15

আপনাকে

44:15

অধিগ্রহণ

44:16

করেছিল, অর্থাৎ

44:16

স্কয়ার-এ,

44:16

সেখানে

44:17

কিছুদিন কাজ

44:17

করেছিলেন, এবং

44:18

তারপর আবার সেই

44:18

জায়গাটার

44:19

জন্য আপনার

44:19

মনটা ছটফট করতে

44:19

শুরু করেছিল।

44:20

>> হ্যাঁ, হ্যাঁ।

44:21

হ্যাঁ, কারণ

44:21

আমরা এই

44:22

ডিস্ট্রিবিউটেড

44:23

ফাইল সিস্টেম

44:23

এবং স্টোরেজ

44:24

সিস্টেমগুলো

44:25

নিয়ে কাজ করে

44:25

আসছি, যেমন

44:26

কলোসাস।

44:26

কলোসাসের একটি

44:27

সহযোগী

44:28

প্রজেক্ট হলো

44:28

স্প্যানার।

44:31

>> স্প্যানার

44:32

কলোসাস থেকে

44:33

কীভাবে আলাদা?

44:34

>> স্প্যানার

44:34

মূলত একটি

44:35

ডিস্ট্রিবিউটেড

44:36

ডেটাবেস।

44:37

কলোসাস একটি

44:38

ডিস্ট্রিবিউটেড

44:39

স্টোরেজ

44:39

সিস্টেম। আমি

44:40

যেভাবে একটি

44:40

ডিস্ট্রিবিউটেড

44:41

স্টোরেজ

44:41

সিস্টেম এবং

44:42

একটি

44:42

ডিস্ট্রিবিউটেড

44:43

ডেটাবেসের

44:43

মধ্যে

44:43

পার্থক্য

44:44

নিয়ে ভাবি,

44:44

আপনি হয়তো

44:44

ভাববেন, "ওহ,

44:45

দুটোই তো ডেটা

44:45

স্টোর করছে।"

44:46

>> আমিও এটাই

44:46

জিজ্ঞেস করতে

44:47

যাচ্ছিলাম,

44:47

কারণ একটি

44:48

ডিস্ট্রিবিউটেড

44:48

ডেটাবেসও কোনো

44:49

এক পর্যায়ে

44:49

একটি স্টোরেজ

44:50

সিস্টেম হয়ে

44:51

উঠবে।

44:51

>> ঠিক, ঠিক।

44:52

>> তাহলে

44:52

পার্থক্যটা কী?

44:53

>> হ্যাঁ। তো,

44:54

কলোসাস মূলত

44:54

বড় ফাইল, বিশেষ

44:55

করে বড়

44:55

অ্যাপেন্ড-

44:56

অনলি

44:56

ফাইলগুলোকে

44:56

টার্গেট করত।

44:57

এগুলো

44:58

>> শুধু

44:58

অ্যাপেন্ড-

44:58

অনলি, আপডেট করা

44:59

যায় না, হ্যাঁ।

45:00

>> হ্যাঁ। বড়

45:00

অ্যাপেন্ড-

45:01

অনলি ফাইল, যেমন

45:02

৬৪ মেগাবাইট,

45:03

এমনকি

45:03

গিগাবাইট

45:04

পর্যন্ত

45:04

আকারের।

45:05

কিন্তু, যদি

45:06

আপনার

45:06

ডাটাবেসে আপনি

45:07

অল্প পরিমাণে

45:08

ডেটা সংরক্ষণ

45:08

করতে চান, যেমন

45:09

ধরুন, আপনি যদি

45:10

SQL বা রিলেশনাল

45:11

ডেটা ব্যবহার

45:12

করেন, তাহলে

45:12

আপনার এমন একটি

45:13

টেবিল থাকতে

45:14

পারে যেখানে

45:15

বিলিয়ন

45:15

বিলিয়ন সারি (row

45:16

) আছে। সেই

45:16

সারিগুলো

45:17

কলামে বিভক্ত

45:18

থাকে এবং

45:18

কলামগুলো টাইপ

45:19

করা থাকে।

45:20

সেক্ষেত্রে

45:20

একটি

45:20

ডাটাবেসের

45:21

জন্য

45:21

ইঞ্জিনিয়ারিং

45:22

চ্যালেঞ্জের

45:22

প্রকৃতি একটি

45:23

ডিস্ট্রিবিউটেড

45:24

স্টোরেজ

45:24

সিস্টেমের

45:24

চেয়ে

45:25

সম্পূর্ণ

45:25

ভিন্ন হয়। এবং

45:26

সাধারণত,

45:26

ডাটাবেসগুলো

45:27

কোনো না কোনো

45:27

ডিস্ট্রিবিউটেড

45:28

স্টোরেজ

45:29

সিস্টেমের

45:29

উপরেই

45:29

ইমপ্লিমেন্ট

45:30

করা হয়। আর

45:31

এটাই ছিল

45:31

সম্পর্ক।

45:32

সুতরাং,

45:32

স্প্যানার (Spanner)

45:33

কলোসাস (Colossus)-এর

45:34

উপরে

45:34

ইমপ্লিমেন্ট

45:35

করা হয়েছিল।

45:35

এবং

45:36

স্প্যানারের

45:36

কিছু ডিজাইন

45:37

সিদ্ধান্ত

45:38

সরাসরি

45:38

কলোসাসের

45:38

ফাইলগুলোর '

45:39

অ্যাপেন্ড-

45:40

অনলি'(append-only)

45:40

বৈশিষ্ট্য

45:41

থেকে উদ্ভূত

45:42

হয়েছিল। আপনি

45:42

কোনো ফাইলকে

45:43

তার জায়গায় (in

45:44

place) আপডেট করতে

45:44

পারবেন না, তাই

45:45

আপনাকে আপনার

45:45

ডাটাবেসে

45:46

ফাইলগুলোকে

45:46

অপরিবর্তনীয় (

45:47

immutable) করতে হবে,

45:47

এবং এখানেই লগ-

45:48

স্ট্রাকচার্ড

45:49

মার্জ ট্রি (

45:49

log-structured merge trees)-এর

45:50

মতো বিষয়গুলো

45:50

কাজে আসে। আর

45:51

এগুলো গুগলে

45:52

উদ্ভাবিত

45:52

হয়নি, কিন্তু

45:53

গুগলই

45:53

লেভেলডিবি (LevelDB)-

45:53

এর মাধ্যমে

45:54

এগুলোকে

45:54

জনপ্রিয় করে

45:55

তোলে, যা

45:55

বিগটেবিল (BigTable)

45:56

এবং স্প্যানার (

45:56

Spanner)-এর কাজ থেকে

45:57

উদ্ভূত

45:57

হয়েছিল।

45:58

সেটিই পরে

45:58

রকসডিবি (RocksDB)-তে

45:59

পরিণত হয়ে

46:00

জনপ্রিয়তা

46:00

পায়। আমি

46:01

পরবর্তীতে এই

46:01

জিনিসগুলোর

46:01

মধ্যে একটিকে

46:02

পুনরায়

46:02

বাস্তবায়ন

46:03

করি এবং এটাই

46:03

আমরা ককরোচ

46:04

ল্যাবস (Cockroach Labs)-এ

46:04

ব্যবহার করি।

46:05

এর নাম পেবল (Pebble)

46:06

। তাই, আমি এর

46:07

অভ্যন্তরীণ

46:07

কার্যপ্রণালীর

46:08

সাথে খুব

46:08

পরিচিত।

46:08

কিন্তু, এটি

46:09

মূলত এই ধারণার

46:09

উপর ভিত্তি করে

46:10

তৈরি যে ডেটা এক

46:11

প্রকার

46:11

অপরিবর্তনীয়

46:12

ফাইলে

46:12

সংরক্ষিত থাকে

46:12

।

46:13

>> তো, আপনি ককরোচ

46:13

ল্যাবস

46:14

প্রতিষ্ঠা

46:14

করার

46:14

সিদ্ধান্ত

46:15

কীভাবে নিলেন?

46:16

>> আমরা যখন

46:16

স্কোয়ারে (Square)

46:17

কাজ করছিলাম,

46:17

তখন আমার সহ-

46:18

প্রতিষ্ঠাতা

46:19

এবং আমি—আসলে

46:19

আমরা তিনজনই

46:20

স্কোয়ারে

46:20

ছিলাম এবং

46:21

তাদের মধ্যে

46:21

একজন,

46:22

স্পেন্সার, যার

46:22

কথা আমি আগেই

46:23

উল্লেখ করেছি,

46:24

সে জিম্প (GIMP)-এ

46:24

কাজ করছিল। সে

46:25

আমার কলেজের

46:26

রুমমেট।

46:27

>> এবং সে গুগলেও

46:28

ছিল।

46:29

>> আরেকজন, বেন

46:29

ডার্নেল, যিনিও

46:30

গুগলে ছিলেন,

46:31

তিনি

46:31

ভিউফাইন্ডারে (

46:32

Viewfinder) আমাদের

46:32

সাথে যোগ দেন

46:33

এবং পরে

46:34

স্কোয়ারে চলে

46:34

যান। আমরা, মানে

46:35

, একটা প্রজেক্ট

46:36

করার জন্য

46:37

এমনিতেই

46:37

ভাবছিলাম, আর

46:38

আমাদের কাছে

46:39

ভিউফাইন্ডারের

46:40

জন্য একটা

46:41

ডিজাইন ছিল।

46:42

আমরা

46:42

ভিউফাইন্ডার

46:43

তৈরি করার জন্য

46:44

একটা ডেটাবেস

46:45

খুঁজছিলাম।

46:46

বাজারে যা কিছু

46:47

ছিল, সেগুলো

46:47

আমাদের তেমন

46:48

পছন্দ হয়নি।

46:48

গুগলের ভেতরের

46:49

প্রযুক্তিগুলো

46:50

আরও ভালো মনে

46:50

হয়েছিল।

46:51

আমাদের কাছে

46:51

বিগটেবিল,

46:51

স্প্যানার এবং

46:52

আরও অনেক কিছু

46:53

ছিল। আমরা যখন

46:53

খুঁজছিলাম, তখন

46:54

দেখলাম এইচবেস (

46:55

HBase) আছে, কিন্তু

46:55

আমি তাতে

46:56

পুরোপুরি

46:56

সন্তুষ্ট

46:56

ছিলাম না।

46:57

রিয়াক (Riak) এবং

46:58

আরও কিছু

46:59

সিস্টেম ছিল।

47:00

এক পর্যায়ে

47:00

আমরা

47:02

ককরোচডিবি (

47:02

CockroachDB)-র

47:03

প্রাথমিক

47:03

ডিজাইনটা তৈরি

47:04

করে ফেলি। তখন

47:05

আমি বললাম, না,

47:05

না, বন্ধুরা,

47:06

আমরা একটা

47:06

মোবাইল ফটো

47:07

শেয়ারিং সাইট

47:07

তৈরি করছি।

47:08

আমাদের একটা

47:08

ডিস্ট্রিবিউটেড

47:09

ডেটাবেস তৈরি

47:10

করা উচিত নয়।

47:10

তাই আমরা

47:11

বিষয়টা আপাতত

47:11

স্থগিত রাখি।

47:12

আমার মনে হয়,

47:13

এটা একদম সঠিক

47:13

সিদ্ধান্ত ছিল,

47:14

যদিও

47:14

পরিস্থিতি

47:14

যেভাবে

47:14

গড়িয়েছে,

47:15

তাতে হয়তো

47:15

আমাদের মোবাইল

47:16

ফটো শেয়ারিং

47:16

সাইট তৈরির

47:16

পরিকল্পনা

47:17

থেকে সরে আসাই

47:17

উচিত ছিল। এবং

47:18

তারপর আমরা

47:18

স্কোয়ারে

47:19

গেলাম এবং ডেটা

47:19

স্টোরেজ

47:19

সিস্টেম নিয়ে

47:20

তারা যে

47:20

সমস্যাগুলোর

47:20

সম্মুখীন

47:21

হচ্ছিল, আমরাও

47:21

একই ধরনের কিছু

47:21

সমস্যা দেখতে

47:22

পেলাম এবং

47:22

স্পেন্সার

47:22

খুবই বোঝানোর

47:23

ক্ষমতা

47:23

সম্পন্ন ছিলেন

47:23

। তিনি

47:24

ম্যানেজমেন্টের

47:24

কয়েকজনকে

47:25

বোঝালেন যে, "

47:25

আরে, আপনারা কি

47:26

এটাতে পার্ট-

47:26

টাইম কাজ করে

47:27

দেখতে পারেন যে

47:27

এই ডিজাইনের

47:28

পেছনে কোনো

47:28

সম্ভাবনা আছে

47:29

কি না?" এবং

47:29

তারপর তিনি

47:30

একরকম জোর করেই

47:31

বেন আর আমাকে

47:31

এতে যুক্ত

47:32

করলেন, এবং

47:32

অবশেষে বাইরে

47:33

থেকে মনোযোগ

47:33

পেতে শুরু

47:34

করলাম আর আমরা

47:34

বললাম, "আরে,

47:35

আমরা কি এটাকে

47:35

একটা আলাদা

47:36

কোম্পানিতে

47:37

পরিণত করতে

47:37

পারি?" এবং শেষ

47:38

পর্যন্ত সেটাই

47:39

হয়েছিল। তো,

47:40

>> আপনারা একটা

47:41

কোম্পানি শুরু

47:42

করেছিলেন,

47:42

কিন্তু আমি

47:43

যতদূর জানি

47:44

আপনারা শুরুতে

47:45

ভিসি ফান্ডিং

47:46

নেননি, তাই না?

47:47

>> ভিউফাইন্ডারের

47:47

ক্ষেত্রেও

47:48

ব্যাপারটা তাই

47:49

ছিল। আমরা এটা

47:49

ভিন্নভাবে

47:50

করেছিলাম।

47:51

ভিউফাইন্ডারে

47:51

আমরা একরকম

47:52

ভিসি-র টাকা

47:52

এড়িয়ে

47:53

গিয়েছিলাম।

47:53

এবং জানেন, এখন

47:54

পেছন ফিরে

47:55

তাকালে আমি

47:55

সেটা করার

47:56

পরামর্শ দেব না

47:56

। কিন্তু,

47:57

>> আপনি পরামর্শ

47:58

দেবেন না...

47:58

>> হ্যাঁ, আমি ভিসি

47:59

-র টাকা নেওয়ার

48:00

পরামর্শ দেব।

48:01

কারণ আমার

48:01

অভিজ্ঞতা বলে,

48:01

ভিসি-রা খুবই,

48:02

খুবই

48:02

বুদ্ধিমান এবং

48:03

তারা আপনাকে

48:03

অনেক

48:03

চ্যালেঞ্জ

48:04

মোকাবিলা করতে

48:04

সাহায্য করতে

48:05

পারে। জানেন,

48:05

আমার মনে হয়

48:06

মাঝে মাঝে এমন

48:06

একটা ধারণা

48:07

থাকে যে, ভিসি-

48:07

রা আপনাকে

48:08

বিভিন্ন

48:08

ক্ষেত্রে ঠেলে

48:08

দেবে এবং হয়তো

48:09

তাদের মধ্যে

48:09

কিছু খারাপ

48:10

লোকও আছে যারা

48:10

সত্যিই তা করে।

48:11

আমি যাদের সাথে

48:12

কাজ করার

48:12

অভিজ্ঞতা

48:13

অর্জন করেছি,

48:13

সেই ভিসি-রা

48:14

আমার দেখা

48:14

সবচেয়ে

48:15

বিচক্ষণ

48:15

মানুষদের

48:16

মধ্যে অন্যতম।

48:16

>> আর তাই, আপনার

48:17

টিমে অনেকটা

48:18

অতিরিক্ত একজন

48:19

সাহায্যকারী

48:20

থাকে। তারা

48:21

>> আপনাকে

48:21

পরামর্শ দেয়,

48:21

দিকনির্দেশনা

48:22

দেয়, তারা কী

48:22

দেখছে তা

48:23

আপনাকে জানায়

48:23

। বাজারে তারা

48:24

যা দেখছে,

48:24

পরিস্থিতি কোন

48:24

দিকে যাচ্ছে, সে

48:25

অনুযায়ী তারা

48:25

আপনাকে

48:26

পরামর্শ দেয়।

48:26

>> একজন

48:26

প্রতিষ্ঠাতার

48:27

জন্য, বিশেষ করে

48:27

একজন

48:28

টেকনিক্যাল

48:28

প্রতিষ্ঠাতার

48:28

জন্য, এটা মাঝে

48:29

মাঝে খুব কঠিন

48:29

হয়ে যায়, তাই

48:30

না? কারণ আপনি

48:30

তো শুধু

48:30

ইঞ্জিনিয়ারিং

48:31

অংশের দিকেই

48:31

মনোযোগ

48:31

দিচ্ছেন।

48:32

>> হ্যাঁ, হ্যাঁ।

48:33

না, আমরা আসলে

48:33

ককরোচ

48:34

ল্যাবসের জন্য

48:34

সাথে সাথেই

48:35

টাকা

48:35

নিয়েছিলাম।

48:36

মানে, আমরা

48:36

বেরোনোর

48:37

প্রায় সাথে

48:37

সাথেই বে

48:38

এরিয়াতে একটা

48:38

ছোট রোড শো

48:39

করেছিলাম এবং

48:39

কিছু আগ্রহ

48:40

পেয়েছিলাম আর

48:41

সাথে সাথেই

48:41

একজন

48:41

বিনিয়োগকারী

48:42

পেয়ে

48:42

গিয়েছিলাম।

48:43

>> তবে নামটা

48:44

নিয়ে আপনাকে

48:44

একটা প্রশ্ন

48:45

করতেই হয়।

48:46

>> হ্যাঁ।

48:46

>> ককরোচ নামটি

48:47

কীভাবে এলো?

48:48

>> হ্যাঁ, মানে,

48:49

আমরা GIMP-এর নাম

48:50

দিয়েছিলাম।

48:51

>> হ্যাঁ।

48:52

>> ওটা আমারই

48:53

দেওয়া। GIMP-এর

48:54

গল্প। আমি তখন

48:55

কলেজে পড়তাম

48:55

আর ভাবছিলাম, এই

48:56

নতুন ইমেজ

48:56

ম্যানিপুলেশন

48:57

প্রোগ্রামটার

48:57

কী নাম দেওয়া

48:58

যায়। আমার মনে

48:58

হয়, আমরা

48:59

প্রথমে ইমেজ

48:59

ম্যানিপুলেশন

48:59

প্রোগ্রাম

49:00

নামটাই

49:00

ভাবছিলাম।

49:00

তারপর আমি

49:01

ভাবলাম, ওহ, GIMP তো

49:02

খুবই

49:02

স্বাভাবিক। আর

49:03

নামটা থেকে গেল

49:04

। একটা সময়,

49:04

আমরা এই নতুন

49:05

ডেটাবেসটা

49:05

নিয়ে কাজ শুরু

49:06

করেছি। আপনি

49:06

জিনিসগুলোর

49:07

একটা নাম দিতে

49:07

চাইবেন। আপনি

49:08

শুধু বলতে

49:08

পারেন না যে, ওহ,

49:09

আমরা এই

49:09

ডিস্ট্রিবিউটেড

49:10

ডেটাবেস নিয়ে

49:10

কাজ করছি।

49:10

আপনার একটা নাম

49:11

দরকার। আর

49:12

স্পনসর বললেন,

49:13

ওহ, ককরোচ ডিবি।

49:14

যেন তেলাপোকা

49:14

অজেয়। আমি চাই

49:15

এই জিনিসগুলো,

49:16

এই ডেটাবেসটা

49:17

যেন অজেয় হয়,

49:17

বুঝলেন। আর

49:18

তেলাপোকা

49:19

পারমাণবিক

49:19

মহাপ্রলয়

49:20

থেকেও বেঁচে

49:20

যাবে। তো, ওখান

49:21

থেকেই এর

49:22

উৎপত্তি আর

49:22

নামটা থেকে গেল

49:23

।

49:23

>> হ্যাঁ, যেখানে

49:24

আমাদের

49:24

অনেকগুলো নোড

49:25

ডাউন হয়ে যায়,

49:26

সেখানেও এটা

49:26

চালু থাকবে।

49:27

>> হ্যাঁ, হ্যাঁ।

49:28

আর জানেন, ককরোচ

49:28

ডিবি নিয়ে আজ

49:29

আমরা এই

49:29

পর্যায়েই আছি

49:30

। এটা এমন একটা

49:31

বিষয় যা আমি

49:31

উল্লেখ করি।

49:32

আমি ভাবি,

49:32

আরেব্বাহ, এটা

49:33

তো দারুণ। আপনি

49:34

একটা নোড বন্ধ

49:34

করে দিলেন, আমরা

49:35

গত বছর একটা

49:35

পুরো

49:35

ক্যাম্পেইন

49:36

করেছিলাম, যেটা

49:36

আসলে এমন একটা

49:37

বিষয় প্রমাণ

49:37

করার জন্য যা

49:38

আগে থেকেই

49:38

বিদ্যমান ছিল।

49:38

ক্যাম্পেইনটা

49:39

ছিল

49:39

প্রতিকূলতার

49:40

মধ্যেও

49:40

পারফরম্যান্স

49:40

নিয়ে। কিন্তু

49:41

ঠিক যেমন আপনি

49:41

এটার ওপর একটা

49:42

ওয়ার্কলোড

49:42

চালাতে পারেন,

49:43

আপনি একটা নোড

49:43

বন্ধ করে দিতে

49:43

পারেন, এমনকি

49:44

কখনও কখনও একটা

49:44

পুরো রিজিয়নও

49:45

বন্ধ করে দিতে

49:45

পারেন, এবং

49:46

সিস্টেমটা

49:46

চলতেই থাকে। আর

49:47

এই ধরনের

49:47

গল্পগুলোই

49:48

আমরা

49:48

মার্কেটিং-এর

49:48

দিক থেকে করেছি

49:49

। কিন্তু আমরা

49:50

আমাদের

49:50

গ্রাহকদের কাছ

49:51

থেকেও এটা শুনি

49:51

। তাদের ডেটা

49:52

সেন্টারে আগুন

49:53

লেগেছে এবং

49:53

অন্য সব ডেটা

49:54

সিস্টেম ডাউন

49:54

হয়ে গেছে,

49:55

কিন্তু ককরোচ

49:55

ডিবি চলতে

49:56

থেকেছে। আমি

49:56

ভাবি, এটা তো

49:57

দারুণ।

49:58

>> আপনারা যখন

49:59

শুরু করেছিলেন,

50:00

তখন কোন

50:00

কোম্পানি বা

50:01

স্টার্টআপগুলো

50:02

ককরোচ ডিবি

50:02

ব্যবহার করতে

50:03

চেয়েছিল? আর

50:04

তারপর থেকে এটা

50:05

কীভাবে বদলে

50:06

গেছে? কারণ,

50:07

ধরুন, আমি একটা

50:08

স্টার্টআপ

50:09

শুরু করছি। এটা

50:10

একটা ছোট

50:11

স্টার্টআপ।

50:11

আমার একটা

50:12

ডেটাবেস লাগবে

50:13

এবং আমি

50:13

সাধারণত

50:13

পোস্টগ্রেস (

50:14

Postgres) বেছে নেব,

50:15

তাই না? কারণ

50:15

এটা

50:16

বিনামূল্যে

50:16

পাওয়া যায়,

50:17

সবাই এটা

50:17

ব্যবহার করে।

50:18

আমি এটা নোডে (Node)

50:19

চালাচ্ছি।

50:20

আপনি কোন কোন

50:20

ক্ষেত্রে

50:21

দেখেছেন যে

50:21

সাধারণ

50:22

প্রযুক্তি

50:22

সংস্থাগুলো

50:23

ভাবছে, 'নোডে

50:24

চালানোটা আমার

50:24

জন্য যথেষ্ট

50:25

নয়', কারণ হয়

50:26

নোডটি ডাউন

50:27

হয়ে যেতে পারে

50:27

অথবা আমি এর

50:28

থেকে বড় হয়ে

50:29

যাচ্ছি। তারা

50:30

ঠিক কোন

50:30

জিনিসটার থেকে

50:31

বড় হয়ে

50:31

গিয়েছিল? আমি

50:32

বোঝার চেষ্টা

50:33

করছি যে, কোন

50:33

কোন ক্ষেত্রে

50:34

সংস্থাগুলো

50:35

নিজেদেরকে

50:35

বলেছে, 'আমাদের

50:36

ডিস্ট্রিবিউটেড

50:37

কিছু একটা

50:38

দরকার'—হ্যাঁ,

50:38

একটা

50:39

ডেটাবেসের

50:39

ক্ষেত্রে।

50:40

হ্যাঁ।

50:40

>> মানে, প্রায়শই

50:41

আমরা দেখি

50:42

সংস্থাগুলো

50:43

কোনো

50:43

বিপর্যয়ের পর

50:44

আমাদের ফোন করে

50:45

।

50:45

>> যেমন, একটা নোড

50:46

নষ্ট হয়ে গেল

50:47

বা একটা হার্ড

50:48

ড্রাইভ ফেইল

50:48

করল, এই ধরনের

50:49

ঘটনা।

50:50

>> হ্যাঁ, বুঝতেই

50:50

পারছেন, আমরা

50:51

ঠিক

50:51

অ্যাম্বুলেন্স

50:52

চেজারদের মতো

50:52

নই, কিন্তু যদি

50:53

কোনো

50:53

কোম্পানির বড়

50:54

ধরনের বিদ্যুৎ

50:55

বিভ্রাট দেখি,

50:55

তখন আমরা মাঝে

50:56

মাঝে তাদের

50:57

পরিষেবা বন্ধ

50:57

করার চেষ্টা

50:58

করি। আবার,

50:59

তারাও আমাদের

50:59

ফোন করে বলে যে,

51:00

একটা খুব বড়

51:01

ব্যাংক এখন

51:02

আমাদের গ্রাহক

51:03

। আমার মনে হয়

51:04

না আমি তাদের

51:04

নাম বলতে পারব,

51:05

কিন্তু আপনারা

51:05

গিয়ে পড়ে

51:06

দেখতে পারেন।

51:06

আবহাওয়া জনিত

51:07

কারণে তাদের

51:08

খুব গুরুতর

51:08

বিদ্যুৎ

51:09

বিভ্রাট

51:09

হয়েছিল। আর

51:10

তার পরে,

51:11

>> সম্ভবত কোনো

51:12

অঞ্চল, ডেটাবেস,

51:12

নেটওয়ার্কিং

51:13

ক্যাবল বা

51:14

গাছের ডাল কোনো

51:15

কিছুর ওপর পড়ে

51:15

পুরো অঞ্চলটাই

51:16

অচল হয়ে গেছে।

51:17

পুরো

51:17

অঞ্চলজুড়ে

51:18

>> বিদ্যুৎ চলে

51:19

গেছে। আর সিইও-র

51:20

পক্ষ থেকে একটা

51:21

নির্দেশ আসে।

51:22

তিনি বলেন, না,

51:22

আমাদের এই

51:23

পরিস্থিতি

51:23

সামলে টিকে

51:24

থাকতে হবে। আর

51:25

সেই নির্দেশটা

51:25

একেবারে শেষ

51:26

পর্যন্ত ঠেলে

51:26

দেওয়া হয়।

51:27

এবং আপনি এটা

51:27

অন্যান্য

51:28

জায়গাতেও

51:28

দেখতে পাবেন,

51:29

যেমন, আমাদের

51:29

প্রথম দিকের

51:30

একজন গ্রাহক AWS-এ

51:31

কাজ করছিলেন

51:31

এবং তারা অরোরা

51:32

ইনস্ট্যান্স

51:32

চালানোর

51:33

সর্বোচ্চ

51:33

আকারে পৌঁছে

51:34

গিয়েছিলেন।

51:34

এবং তখন

51:35

সাধারণত যা ঘটে

51:36

তা হলো, আপনাকে

51:36

আপনার ডেটাবেস

51:37

শার্ড করতে হয়

51:38

। জানেন, এটা

51:39

খুবই প্রচলিত

51:40

একটি পদ্ধতি।

51:41

আপনি আপনার

51:41

সিঙ্গেল-নোড

51:42

ডেটাবেস নিয়ে

51:43

১০ বা ২০ বা ১০০

51:44

টি শার্ড তৈরি

51:44

করেন। এবং

51:45

গুগলও কিছু

51:46

সময়ের জন্য

51:46

এটাই ব্যবহার

51:47

করেছিল এবং এটি

51:48

অ্যাপ্লিকেশন

51:48

ডেভেলপারের

51:49

উপর একটি বড়

51:50

বোঝা। এবং আমরা

51:50

সবসময় এটাকে

51:51

এভাবে বলি যে,

51:51

সেই মুহূর্তে

51:52

অ্যাপ্লিকেশন

51:52

ডেভেলপার একজন

51:53

ডেটাবেস

51:53

ডেভেলপার হয়ে

51:54

উঠছেন এবং তারা

51:54

কাজটি

51:54

ভালোভাবে

51:55

করছেন না, যেমন,

51:55

তারা

51:55

ডিস্ট্রিবিউটেড

51:56

ট্রানজ্যাকশন,

51:57

তাদের ইনডেক্স

51:57

এবং অন্যান্য

51:58

বিষয়গুলো

51:58

প্রয়োগ করার

51:59

চেষ্টা করছেন।

51:59

আমরা অনুভব

52:00

করেছি যে এর

52:00

দায়ভার

52:01

ডেটাবেস

52:01

ডেভেলপারের

52:02

উপরই থাকা উচিত

52:02

।

52:02

>> আমরা কি

52:03

অটোমেটিক

52:03

শার্ডিং নিয়ে

52:04

কথা বলতে পারি?

52:05

আমার মনে হয়

52:05

এটা ধরে নেওয়া

52:06

নিরাপদ যে

52:07

আমাদের

52:07

বেশিরভাগই

52:07

জানবে শার্ডিং

52:08

কী...কিন্তু

52:09

আসলে, চলুন

52:09

ম্যানুয়াল

52:10

শার্ডিং থেকে

52:10

শুরু করা যাক

52:11

এবং তারপর

52:12

কীভাবে আপনি

52:12

অটোমেটিক

52:13

শার্ডিং

52:13

প্রয়োগ করতে

52:14

পারেন, এবং যদি

52:14

আপনি আমাদের

52:15

এমন কিছু কৌশল

52:16

বলতে পারেন যা

52:16

ককরোচডিবি-র

52:17

মতো একটি

52:17

ডেটাবেস আপনার

52:18

উপর থেকে সেই

52:19

চাপটা কমানোর

52:20

জন্য করতে পারে

52:20

।

52:20

>> হ্যাঁ, হ্যাঁ।

52:21

তো আমার মনে হয়

52:22

শার্ডিং-এর

52:23

একদম প্রাথমিক

52:23

রূপটা অনেকটা

52:24

হ্যাশ টেবিলের

52:25

মতো। ধরা যাক,

52:25

আপনার কাছে

52:26

একটি

52:26

নির্দিষ্ট

52:27

সংখ্যক শার্ড

52:27

আছে। যেমন ধরুন

52:28

আপনার কাছে

52:29

মাত্র ১০০ টি

52:29

শার্ড আছে।

52:30

আপনার ডেটা

52:30

মডেলটি হলো

52:31

একজন

52:31

ব্যবহারকারী

52:32

এবং তার সাথে

52:32

অনেক ডেটা

52:33

যুক্ত আছে।

52:33

আপনি শুধু সেই

52:34

ব্যবহারকারীকে

52:35

নেন এবং বলেন যে

52:36

, ওহ, সে একটি

52:36

শার্ডে ম্যাপ

52:37

হবে এবং, আপনি

52:37

মোটামুটি সমান

52:38

বন্টন পাওয়ার

52:39

জন্য হ্যাশ

52:40

ফাংশনের উপর

52:40

নির্ভর করেন।

52:41

এটার সমস্যাটা

52:42

হলো, একটা

52:42

পর্যায়ে

52:43

আপনার কোনো

52:43

একটা শার্ড

52:44

পূর্ণ হয়ে

52:44

যাবে এবং

52:45

আপনাকে আবার

52:45

শার্ড করতে হবে,

52:46

আর এটা খুবই

52:47

কষ্টসাধ্য

52:47

একটা কাজ।

52:48

>> আর তারপর আবার

52:48

শার্ড করার সহজ

52:49

উপায় হলো, ধরুন

52:50

এটা একটা হার্ড

52:51

ড্রাইভের মতো,

52:51

যেখানে

52:52

প্রতিটি নোডে

52:52

ইউজার ডেটা

52:53

লেখা হয়, সেটা

52:53

পূর্ণ হয়ে গেল

52:54

এবং আপনি

52:55

ভাবলেন, আচ্ছা,

52:55

এখন আমাকে এটা

52:56

কোনোভাবে ভাগ

52:57

করতে হবে।

52:57

আমাকে এটা

52:58

সরাতে হবে।

52:58

আমাকে এটা

52:59

রিম্যাপ করতে

53:00

হবে। আমাকে

53:00

আমার মেটাডেটা

53:01

নতুন করে

53:01

সাজাতে হবে, যা

53:02

জানে এই ডেটা

53:02

কোথায় থাকে, এই

53:03

ধরনের জিনিস।

53:04

>> এটা নির্ভর করে

53:04

আপনি ইউজার

53:05

আইডি বা আপনার

53:05

শার্ড কী যা-ই

53:06

হোক না কেন, তা

53:06

থেকে শার্ড

53:07

পর্যন্ত ঠিক

53:07

কীভাবে

53:08

ম্যাপিং করছেন

53:08

তার উপর।

53:09

আপনাকে হয়তো

53:09

সবগুলোই

53:10

রিম্যাপ করতে

53:10

হতে পারে, তাই

53:11

না? এটা খুবই

53:11

সাধারণ একটা

53:12

ব্যাপার।

53:12

হ্যাঁ,

53:13

>> একদম ঠিক। মানে,

53:14

>> এটা হ্যাশ

53:15

টেবিলের

53:15

ক্ষেত্রেও ঘটে,

53:15

যেখানে

53:16

প্রায়শই

53:16

হ্যাশ টেবিলের

53:17

আকার বাড়ানোর

53:17

জন্য আপনাকে

53:18

মূলত একটি নতুন

53:18

হ্যাশ টেবিল

53:19

তৈরি করতে হয়,

53:19

আকার দ্বিগুণ

53:20

করতে হয় এবং

53:20

সমস্ত ডেটা কপি

53:21

করে দিতে হয়।

53:21

এখন, এটা অনেকটা

53:22

একদম প্রাথমিক

53:23

ও সহজ একটা

53:24

উপায় এবং এর

53:24

সাথে বিভিন্ন

53:25

স্তরের জটিলতা

53:26

যোগ করা যায়।

53:27

এর মধ্যে

53:27

একটিকে বলা হয়

53:28

কনসিস্টেন্ট

53:29

হ্যাশিং। এবং

53:30

এটা করার জন্য

53:30

বিভিন্ন কৌশল

53:31

রয়েছে। এগুলো

53:32

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

53:33

তা বেশ

53:33

আকর্ষণীয়।

53:34

কিন্তু

53:34

কনসিস্টেন্ট

53:35

হ্যাশিং-এ, আপনি

53:35

একটি অতিরিক্ত

53:36

নোড যোগ করতে

53:37

পারেন এবং তখন

53:37

এটি প্রতিটি

53:38

শার্ড থেকে

53:38

ডেটার একটি

53:38

ভগ্নাংশ

53:39

সেখানে

53:39

স্থানান্তর

53:40

করে। এটা করার

53:40

জন্য বিভিন্ন

53:41

সিস্টেম

53:41

রয়েছে। আমার

53:42

বিশ্বাস, এটা

53:43

ক্যাসান্ড্রার

53:44

মতো একটি

53:44

পদ্ধতি।

53:45

ককরোচডিবি

53:45

যেভাবে কাজ করে

53:46

তা বিগ টেবিল,

53:47

স্প্যানার বা

53:47

এইচবেসের মতো,

53:48

যেখানে সরাসরি

53:49

হ্যাশিং করার

53:49

পরিবর্তে, আমরা

53:50

একটি

53:50

সিস্টেমের

53:51

সমস্ত কী-কে

53:51

একটি বড়

53:52

অবিচ্ছিন্ন কী

53:53

স্পেস হিসেবে

53:53

কল্পনা করি এবং

53:54

যেকোনো

53:55

সিস্টেমের

53:55

ক্ষেত্রেই এটা

53:56

সত্যি। এরপর

53:58

আমরা সেই

53:59

স্পেসের

53:59

অবিচ্ছিন্ন

54:00

স্প্যানগুলোকে

54:00

পার্টিশন করি।

54:01

এবং তারপরে

54:02

আপনাকে সেই

54:02

সংলগ্ন

54:03

স্প্যানগুলোর

54:03

উপরে একটি

54:04

ইনডেক্স তৈরি

54:04

করতে হবে এবং

54:05

আমি এইমাত্র যা

54:06

বর্ণনা করলাম

54:06

তা আসলে

54:07

অনেকটাই একটি

54:07

বি-ট্রি (B-tree)-এর

54:08

মতো শোনাচ্ছে।

54:09

তো, উপরে এই

54:10

ধরনের একটি

54:10

ইনডেক্স থাকে

54:11

যা আপনাকে

54:12

ম্যাপ করে, যেমন

54:13

ধরুন, আমার এই

54:14

রেঞ্জটি দরকার,

54:15

এটি কোন নোডে

54:15

আছে? এবং এটি

54:16

কিছুটা বি-ট্রি-

54:17

এর মতো, জানেন,

54:17

যদি আপনি একটু

54:18

চোখ কুঁচকে

54:18

তাকান, মানে

54:19

আমার মনে হয়

54:19

আপনি চোখ

54:20

কুঁচকে তাকালে

54:20

সবকিছুকেই হয়

54:21

বি-ট্রি অথবা

54:21

হ্যাশ টেবিল

54:22

এবং সেই

54:22

ইনডেক্স

54:23

কাঠামো বলে মনে

54:23

হবে।

54:24

>> কিন্তু এখন এটা

54:24

প্রায়

54:25

বোধগম্য হতে

54:25

শুরু করেছে

54:26

কারণ আমার মনে

54:26

আছে, আমি যখন বি-

54:27

ট্রি নিয়ে

54:27

উইকিপিডিয়ার

54:28

আর্টিকেলটি

54:29

পড়েছিলাম,

54:29

সেখানে বলা ছিল

54:30

যে এটি একটি

54:30

ডেটা

54:31

স্ট্রাকচার যা

54:31

ডেটাবেসে

54:32

প্রায়শই

54:32

ব্যবহৃত হয়।

54:33

এখন আমার এটা

54:33

মনে পড়ছে কারণ

54:34

আমি এটা নিয়ে

54:35

খুব বেশি

54:35

ভাবিনি। আমি

54:36

এমন কেউ নই যে

54:37

ডেটাবেস তৈরি

54:37

করে, কিন্তু এখন

54:38

যেহেতু আমরা

54:39

কথা বলছি, আমরা

54:39

স্বাভাবিকভাবেই

54:40

বারবার বি-ট্রি-

54:41

এর প্রসঙ্গ

54:41

টেনে আনছি।

54:42

>> এবং ডেটাবেসে

54:43

এর আরেকটি

54:43

ব্যবহার দেখা

54:44

যায়। এটি মূলত

54:45

ডিস্ট্রিবিউটেড

54:46

ডেটাবেসে

54:46

ব্যবহৃত হয়

54:47

এবং কেউই এটিকে

54:47

বি-ট্রি বলে না।

54:48

আমি মাঝে মাঝে

54:49

একটু মনোযোগ

54:50

দিয়ে দেখি এবং

54:50

আমার মনে হয়

54:51

এটি আসলে এক

54:51

ধরনের বি-ট্রি।

54:52

কিন্তু

54:53

ডেটাবেসে এর

54:53

আরেকটি

54:54

ব্যবহার হলো

54:54

ইনডেক্সের

54:55

জন্য। যেমন,

54:56

আপনার যদি একটি

54:57

টেবিল থাকে এবং

54:57

আপনার ইমেল

54:58

অ্যাড্রেসের

54:58

উপর একটি

54:59

ইনডেক্স থাকে

55:00

এবং আপনি সেই

55:00

ইমেল

55:00

অ্যাড্রেসগুলো

55:01

ক্রমানুসারে

55:02

দেখতে চান,

55:02

তাহলে

55:03

ডেটাবেসের

55:03

ভেতরে এটি একটি

55:04

বি-ট্রি। আর

55:05

যেকোনো ধরনের

55:05

ইনডেক্সই

55:06

সাধারণত

55:06

সর্টেড অর্ডার

55:07

প্রদান করে।

55:08

হ্যাশিং

55:09

ইনডেক্সও আছে,

55:09

কিন্তু

55:10

বেশিরভাগ সময়

55:10

এটি একটি বি-

55:11

ট্রি ইনডেক্স

55:12

হয় এবং

55:12

ডেটাবেসে

55:12

এগুলো

55:13

সর্বত্রই

55:13

বিদ্যমান।

55:14

আসলে ‘দ্য

55:14

ইউবিকুইটাস বি-

55:15

ট্রি’ নামে

55:16

একটি

55:16

গবেষণাপত্রও

55:17

আছে এবং আমি

55:17

মূলত এটি

55:18

শনাক্ত করেছি।

55:18

আমার মনে হয়

55:19

গবেষণাপত্রটি

55:20

৮০-এর দশকে লেখা

55:20

হয়েছিল এবং

55:21

আজও এগুলো

55:21

সর্বত্রই

55:22

ব্যবহৃত হয়।

55:22

এগুলো সিঙ্গেল

55:23

নোড ডেটাবেসের

55:24

ভিত্তি এবং আমি

55:24

যতগুলো ডেটা

55:25

সিস্টেমে কাজ

55:26

করেছি, তার

55:26

প্রায়

55:27

সবকটিতেই কোনো

55:27

না কোনো সময়ে

55:28

বি-ট্রি (B-tree) ছিল

55:29

।

55:29

>> আমি স্ট্রং

55:29

কনসিস্টেন্সি (

55:30

strong consistency)

55:31

সম্পর্কে

55:31

জানতে চাই।

55:32

ককরোচডিবি (

55:33

CockroachDB) স্ট্রং

55:33

কনসিস্টেন্সি

55:34

প্রদান করে।

55:35

এখন, যারা

55:36

ডিস্ট্রিবিউটেড

55:36

সিস্টেমে

55:37

কিছুটা নতুন,

55:38

তাদের জন্য

55:38

আমরা কি

55:38

কনসিস্টেন্সি

55:39

মডেলগুলো

55:40

নিয়ে কথা বলতে

55:40

পারি এবং তারপর

55:41

স্ট্রং

55:41

কনসিস্টেন্সি

55:42

কেন

55:42

গুরুত্বপূর্ণ

55:43

ও কেন এটি

55:44

বাস্তবায়ন

55:44

করা কঠিন?

55:45

>> তো, এই

55:45

বিষয়টিকে

55:45

দেখার একাধিক

55:46

উপায় আছে,

55:46

কিন্তু আপনি

55:47

যদি ডেটাবেস

55:47

ব্যবহার করে

55:48

থাকেন, তাহলে

55:49

সম্ভবত

55:49

ট্রানজ্যাকশন (

55:50

transactions) এর কথা

55:50

শুনেছেন।

55:51

ট্রানজ্যাকশন

55:51

হলো

55:51

অ্যাটমিকভাবে (

55:52

atomically) অনেকগুলো

55:53

পরিবর্তন (mutations)

55:53

করার একটি

55:54

উপায়। সুতরাং,

55:54

ডেটাবেস

55:55

অ্যাটোমিসিসিটি

55:56

(atomicity),

55:56

কনসিস্টেন্সি (

55:57

consistency), আইসোলেশন

55:58

(isolation),

55:58

ডিউরেবিলিটি (

55:59

durability) নিয়ে

55:59

আলোচনা করে।

56:00

ডিউরেবিলিটি

56:01

বিষয়টি খুবই

56:01

সহজ। যেমন, আমি

56:02

যখন ডেটাবেসে

56:02

কিছু লিখি, তখন

56:03

তা টেকসইভাবে

56:03

লেখা হতে হবে।

56:04

ফলে, যদি কিছু

56:05

ক্র্যাশ করে,

56:05

তবে তা আবার

56:05

আগের অবস্থায়

56:06

ফিরে আসে।

56:07

অ্যাটোমিসিসিটি

56:07

বলতে বোঝায়,

56:08

আমি যদি

56:08

অনেকগুলো

56:09

পরিবর্তন করতে

56:09

চাই, আমি চাই

56:10

সেগুলো যেন একই

56:10

সময়ে কমিট (commit)

56:11

বা অ্যাবোর্ট (

56:12

abort) হয়ে যায়।

56:12

এখন, আমি কোনো

56:13

ধরনের আংশিক

56:14

অপারেশন করতে

56:14

চাই না। আর এটা

56:15

কেন

56:16

গুরুত্বপূর্ণ?

56:16

অ্যাটোমিসিসিটি

56:17

কেন

56:17

গুরুত্বপূর্ণ?

56:18

আসলে,

56:19

অ্যাটোমিসিসিটিই

56:19

আপনাকে এমন

56:20

একটি পর্যায়ে

56:20

নিয়ে যায়

56:21

যেখানে একটি

56:22

অ্যাপ্লিকেশন

56:22

হিসেবে আমি

56:23

অনেকগুলো

56:23

অপারেশন করতে

56:24

পারি এবং যদি

56:24

কোনো ত্রুটি

56:25

ঘটে, তবে সবকিছু

56:26

রোলব্যাক হয়ে

56:26

যায় এবং এটি

56:27

কাজ করার জন্য

56:27

অনেক সহজ একটি

56:28

ডেভেলপমেন্ট

56:29

মডেল। আর তারপর

56:30

আছে

56:30

কনসিসটেন্সি

56:30

এবং আইসোলেশন,

56:31

যেগুলো কিছুটা

56:32

গুলিয়ে যায়।

56:33

আইসোলেশন বলতে

56:33

ট্রানজ্যাকশনগুলোর

56:34

মধ্যেকার

56:35

বিচ্ছিন্নতাকে

56:35

বোঝানো হচ্ছে।

56:36

আমি একবারে

56:37

শুধু একটি

56:37

ট্রানজ্যাকশন

56:38

চালাতে চাই না।

56:38

সেটা করা তো সহজ

56:39

, তাই না? আমি

56:40

অনেকগুলো

56:40

সমান্তরালে

56:41

চালাতে চাই।

56:42

>> ওহ, হ্যাঁ।

56:42

>> এবং এমনভাবে

56:43

করতে চাই যাতে

56:44

যখন সেগুলো

56:44

সমান্তরালে

56:45

চলবে, তখন

56:45

সেগুলো যতটা

56:45

সম্ভব

56:46

কনকারেন্টলি

56:46

চলে। কিন্তু,

56:47

আপনি চাইবেন যে

56:48

যখন সেগুলো

56:48

যতটা সম্ভব

56:49

কনকারেন্টলি

56:50

চলবে, তখন যেন

56:50

সেগুলোর মধ্যে

56:51

একটি সিরিয়াল

56:52

ক্রম থাকে।

56:53

সুতরাং, এটাই

56:53

হলো পুরো কৌশল,

56:54

আর আইসোলেশনের

56:55

জন্য যেটিকে

56:55

গোল্ড

56:56

স্ট্যান্ডার্ড

56:56

বলা হয়, তাকে

56:57

লিনিয়ারিজেবিলিটি

56:58

বলা হয়। ওটা

56:59

নিয়ে চিন্তা

56:59

করবেন না। এর

57:00

থেকে এক ধাপ

57:00

নিচে একটি

57:01

পদ্ধতি আছে,

57:01

যাকে বলা হয়

57:02

সিরিয়ালাইজেবিলিটি

57:03

(serializability)। এর

57:03

আক্ষরিক অর্থ

57:04

হলো আপনার

57:04

লেনদেনগুলোর

57:05

একটি ক্রমিক

57:05

বিন্যাস থাকা,

57:06

কিন্তু আপনাকে

57:07

এটি এমনভাবে

57:07

তৈরি করতে হবে

57:08

যাতে সবকিছু

57:09

যতটা সম্ভব

57:09

সমান্তরালভাবে

57:10

(concurrently) করা যায়

57:11

। আর এই

57:11

সিরিয়ালাইজেবিলিটির

57:12

সুবিধা হলো, এটি

57:13

অ্যাপ্লিকেশন

57:14

প্রোগ্রামের

57:15

জন্য একটি খুব

57:15

সহজ মডেল।

57:16

তাদের

57:16

প্রোগ্রামে

57:17

অদ্ভুত ধরনের

57:18

ত্রুটি ঘটা

57:18

নিয়ে চিন্তা

57:19

করতে হয় না। যে

57:20

ধরনের

57:20

ত্রুটিগুলো

57:21

ঘটতে পারে, তার

57:22

একটি চিরাচরিত

57:23

উদাহরণ হলো

57:23

একটি ব্যাংক,

57:24

তাই না? যেখানে

57:25

আমি হয়তো কোনো

57:26

অপারেশনের

57:27

মাধ্যমে জানতে

57:27

চাইব যে, আমার

57:28

ব্যাংক

57:29

অ্যাকাউন্টে

57:29

অন্য কোথাও

57:30

পাঠানোর জন্য

57:31

১০০ ডলার আছে কি

57:32

না। কিন্তু

57:32

আপনি হয়তো এমন

57:33

নিম্ন

57:33

আইসোলেশন

57:34

লেভেলের

57:34

ব্যবস্থা করতে

57:35

পারেন যে, আপনি

57:36

ওই ১০০ ডলার

57:37

দুবার বিয়োগ

57:37

করে ফেলতে

57:38

পারেন। আর এটা

57:39

তো খারাপ, তাই

57:40

না? আমরা আমাদের

57:41

ব্যাংক

57:41

অ্যাকাউন্টের

57:42

সঠিক হিসাব

57:43

রাখতে চাই।

57:43

অথবা, আমাদের

57:44

শপিং কার্টের

57:45

হিসাবও রাখতে

57:46

চাই। এর

57:46

ব্যবহারের

57:47

ক্ষেত্রগুলো

57:48

যেন অফুরন্ত।

57:49

আর আপনি যদি এটা

57:49

ভুল করেন, তাহলে

57:50

খুব মারাত্মক

57:51

বাগ তৈরি হবে।

57:52

>> কিন্তু এখন, উইক

57:53

কনসিস্টেন্সি

57:54

এবং স্ট্রং

57:54

কনসিস্টেন্সির

57:55

কথায় ফিরে আসা

57:56

যাক।

57:56

>> লিনিয়ারিজেবিলিটি

57:57

বা

57:57

সিরিয়ালিজেবিলিটির

57:58

চেয়ে কম

57:58

কিছুকে এক

57:59

ধরনের উইক

57:59

কনসিস্টেন্সি

58:00

হিসেবে

58:00

বিবেচনা করা

58:01

যেতে পারে,

58:01

কিন্তু

58:01

এছাড়াও

58:02

স্ট্রং

58:02

কনসিস্টেন্সি

58:03

এবং

58:03

ইভেনচুয়াল

58:03

কনসিস্টেন্সিও

58:04

আছে। তো,

58:05

ইভেনচুয়াল

58:05

কনসিস্টেন্সি

58:06

হলো এমন যে,

58:07

কখনও কখনও আমি

58:07

একটি অপারেশন

58:08

করতে পারি এবং

58:09

হয়তো সাথে

58:09

সাথেই সব আপডেট

58:10

দেখতে পাব না।

58:11

>> রিড রেজাল্টে

58:12

যে সবসময়

58:12

বর্তমান

58:13

আপডেটটি

58:13

থাকবেই, এমনটা

58:14

নয়।

58:14

>> কিন্তু সেগুলো

58:15

কোনো এক সময়ে

58:16

ফিরে আসবে, মানে

58:16

, আমি এর একটি

58:17

অংশ লিখেছি এবং

58:17

বাকিটা কোনো এক

58:18

সময়ে দেখা

58:19

যাবে। আর

58:19

প্রায়শই যখন

58:20

সবচেয়ে

58:21

>> সহজ উপায় হলো

58:21

আপনার ক্রেডিট

58:22

কার্ডের

58:22

ব্যালেন্স

58:23

দেখা, তাই না?

58:23

>> হ্যাঁ, হ্যাঁ।

58:24

হ্যাঁ, এবং

58:25

এভাবে করাটা

58:26

দ্রুততর।

58:26

সিস্টেম থেকে

58:27

যে

58:27

পারফরম্যান্স

58:27

পাওয়া যায়,

58:28

সেই হিসেবে এটি

58:28

দ্রুততর।

58:29

কিন্তু আবারও

58:30

বলছি,

58:30

>> অ্যাপ্লিকেশনটির

58:31

জন্য এটি

58:31

সামলানো একটু

58:32

কঠিন।

58:32

>> ডিস্ট্রিবিউটেড

58:33

ডেটাবেস বা যে

58:33

ডেটাবেসগুলোতে

58:34

কোনো ধরনের

58:34

রেপ্লিকেশন

58:35

থাকে, সেখানে এই

58:35

সমস্যাটি

58:36

প্রায়ই দেখা

58:36

যায়। যেমন, আমি

58:37

প্রাইমারি

58:37

রেপ্লিকাতে

58:38

ডেটা লিখলাম

58:38

এবং তারপর

58:39

সেকেন্ডারি

58:39

রেপ্লিকা থেকে

58:39

পড়লাম, কিন্তু

58:40

ডেটাটি তখনও

58:40

সেখানে

58:41

পৌঁছায়নি।

58:41

>> এটাই হলো

58:42

ইভেনচুয়াল

58:42

কনসিস্টেন্সি।

58:43

>> হ্যাঁ, এটাই

58:43

ইভেনচুয়াল

58:44

কনসিস্টেন্সি

58:44

এবং আপনি

58:45

প্রায়শই এর

58:45

একটি বিকল্প পথ

58:46

খুঁজে নিতে

58:46

পারেন, কিন্তু

58:47

এটি

58:47

অ্যাপ্লিকেশন

58:47

ডেভেলপারের

58:48

উপর একটি বড়

58:48

বোঝা চাপিয়ে

58:49

দেয়, কারণ

58:49

আপনাকে এই

58:50

বিষয়টির দিকে

58:50

মনোযোগ দিতে

58:51

হয়।

58:51

>> অন্যদিকে,

58:52

ককরোচডিবি-তে (

58:52

CockroachDB) রয়েছে

58:53

স্ট্রং

58:53

কনসিস্টেন্সি,

58:54

যার মানে হলো,

58:55

আপনি যখন

58:56

ডেটাবেসে ডেটা

58:56

লিখছেন বা

58:57

পড়ছেন, ঠিক

58:58

তখনই আপনি লেখা

58:59

ডেটাটি ফেরত

58:59

পেয়ে যান।

59:00

>> আপনি লেখা

59:00

ডেটাটিই ফেরত

59:01

পান, মানে, আপনি

59:02

যা লিখেছেন ঠিক

59:03

তাই পড়ছেন।

59:03

আপনি যে নোডে

59:04

ডেটা লিখেছেন,

59:05

সেখান থেকেই

59:05

আবার পড়ছেন কি

59:06

না, তাতে কিছু

59:06

যায় আসে না।

59:07

আপনি যদি অন্য

59:07

কোনো নোড থেকেও

59:08

ডেটা পড়েন,

59:08

তাহলেও আপনি

59:09

এইমাত্র লেখা

59:09

ডেটাটিই পাবেন

59:10

। এর

59:11

>> যৌক্তিক

59:11

অসুবিধা কি এই

59:12

নয় যে আপনার

59:12

ল্যাটেন্সি

59:13

বেড়ে যাবে?

59:14

কারণ স্ট্রং

59:15

কনসিস্টেন্সি

59:16

প্রয়োগ করতে

59:16

হলে, সহজ

59:17

পদ্ধতিতে বলতে

59:18

গেলে, আপনাকে সব

59:19

রেপ্লিকাতেই

59:19

ডেটা লিখতে হবে,

59:20

তাই না?

59:21

>> হ্যাঁ।

59:21

>> আপনি CockroachDB-এর

59:22

ভেতরে কী করছেন?

59:23

>> আচ্ছা, আমরা সব

59:24

রেপ্লিকাগুলোতে

59:25

লিখছি, তাই।

59:26

হ্যাঁ,

59:26

>> হ্যাঁ,

59:27

>> হ্যাঁ। তাহলে,

59:27

আপনি এটা দ্রুত

59:28

করছেন।

59:29

>> আপনি এটা দ্রুত

59:29

করছিলেন। আপনি

59:30

এটাকে দক্ষ করে

59:31

তুলছেন। আমার

59:32

মনে হয়,

59:32

সফটওয়্যার

59:33

ইন্ডাস্ট্রির

59:33

যে জিনিসটা

59:34

আমাকে সবসময়

59:34

মুগ্ধ করে, তা

59:35

হলো: আমরা

59:35

ক্রমাগত আরও

59:36

বেশি উন্নত

59:36

হওয়ার উপায়

59:37

খুঁজে চলেছি,

59:38

যাতে

59:38

অ্যাপ্লিকেশন

59:39

লেখা সহজ হয়,

59:39

কিন্তু সেটা

59:40

খুব উচ্চ

59:40

পারফরম্যান্সের

59:41

সাথে করা যায়।

59:42

এবং বছরের পর

59:42

বছর ধরে আমরা এই

59:43

বিষয়ে খুব খুব

59:44

দক্ষ হয়ে

59:44

উঠেছি। আর আমি

59:45

এই ক্ষেত্রটি

59:46

সম্পর্কে জানি,

59:47

অর্থাৎ

59:47

ডেটাবেস। এটা

59:48

সব জায়গায়

59:48

ঘটছে। যেমন,

59:49

গ্রাফিক্স

59:50

কতটা দ্রুত

59:50

হয়েছে তা দেখে

59:51

আমি মুগ্ধ। আমি

59:52

যখন এই

59:52

ইন্ডাস্ট্রিতে

59:53

প্রবেশ করি, তখন

59:53

আক্ষরিক

59:54

অর্থেই

59:54

প্রতিটি

59:54

পিক্সেল

59:55

আলাদাভাবে

59:55

লিখতে হতো। আর

59:56

এখন আপনার কাছে

59:57

এমন জিপিইউ আছে

59:57

যা প্রতি

59:57

সেকেন্ডে

59:58

বিলিয়ন

59:58

বিলিয়ন

59:58

ট্রায়াঙ্গেল

59:59

তৈরি করছে।

59:59

বর্তমান

60:00

সংখ্যা যাই হোক

60:01

না কেন। আর আমি

60:01

এটা দেখে

60:02

রীতিমতো অবাক

60:02

যে কম্পিউটার

60:03

সায়েন্সের

60:03

প্রতিটি

60:04

ক্ষেত্রে, আপনি

60:04

যেদিকেই তাকান

60:05

না কেন, কতটা

60:05

আধুনিকতা চলে

60:06

এসেছে।

60:06

>> CockroachDB নিয়ে আমি

60:07

আরও একটি জিনিস

60:08

জিজ্ঞাসা করতে

60:09

চাই, তা হলো Raft

60:09

consensus। Raft consensus

60:10

জিনিসটা কী?

60:12

>> হ্যাঁ। মানে,

60:12

কনসেনসাস

60:13

প্রোটোকলের

60:13

কথা বলছি, আসল

60:14

কনসেনসাস

60:15

প্রোটোকলটির

60:15

নাম ছিল Paxos এবং

60:16

এটি

60:16

বাস্তবায়ন

60:17

করা বেশ কঠিন

60:17

ছিল। Raft-কে আপনি

60:18

Paxos-এর একটি

60:19

ভ্যারিয়েন্ট

60:20

হিসেবে ভাবতে

60:20

পারেন। এটি ছিল

60:21

Paxos-এর একটি

60:22

বিকল্পের মতো,

60:23

কিন্তু আজ আমার

60:24

মনে হচ্ছে, এর

60:25

>> কনসেনসাস

60:25

অ্যালগরিদমটি

60:26

হলো, আপনার কাছে

60:27

তিন থেকে আরও

60:28

অনেক বেশি

60:28

সংখ্যক নোড

60:29

থাকবে এবং

60:29

তারপর আপনি

60:30

কীভাবে

60:30

তাদেরকে কোন

60:31

বিষয়ে একমত

60:31

করাবেন?

60:32

সাধারণত তারা

60:33

কোন বিষয়ে

60:33

একমত হয়?

60:34

>> হ্যাঁ, হ্যাঁ।

60:35

তো আপনারা একমত

60:35

হবেন যে রাইটটি

60:36

সম্পন্ন

60:36

হয়েছে। তো,

60:37

কনসেনসাস

60:37

নিয়ে ভাবার

60:38

উপায়টা হলো,

60:38

আপনি হয়তো

60:39

ভাবছেন আমি

60:39

ডেটা

60:40

রেপ্লিকেট

60:40

করতে চাই এবং

60:41

আমি এটি একটি

60:41

প্রাইমারিতে

60:42

লিখব এবং একটি

60:42

সেকেন্ডারিতেও

60:43

লিখব। কিন্তু

60:44

যখন আপনার কাছে

60:45

মাত্র দুটি

60:45

রেপ্লিকা থাকে,

60:46

তখন আপনি আসলে

60:46

কনসেনসাস পেতে

60:47

পারেন না। আর

60:48

কনসেনসাস না

60:48

থাকার কারণ হলো,

60:49

যদি কোনো

60:49

ক্র্যাশ হয়

60:50

এবং আমি

60:50

সেকেন্ডারিতে

60:51

থাকি, তাহলে আমি

60:52

কীভাবে জানব যে

60:52

প্রাইমারিতে

60:53

কিছু লেখা

60:53

হয়েছিল? আমি

60:54

প্রাইমারিতে

60:55

থাকলে, আমি

60:55

কীভাবে জানব যে

60:56

এটি

60:56

সেকেন্ডারিতে

60:57

লেখা হয়েছিল,

60:57

তাই না? আর আপনি

60:58

সবসময় এই

60:58

ধরনের এক

60:59

বিভ্রান্তিকর

61:00

পরিস্থিতিতে

61:00

পড়বেন, যেখানে

61:01

আপনাকে হয়

61:01

কিছুটা রোল

61:02

ব্যাক করতে হবে

61:03

অথবা কিছু ডেটা

61:03

হারাতে হবে। আর

61:04

কনসেনসাসের

61:05

জন্য অন্তত

61:05

তিনটি

61:05

রেপ্লিকা

61:06

প্রয়োজন, তবে

61:06

আপনি তিনটির

61:07

বেশি

61:07

রেপ্লিকার

61:08

মধ্যেও

61:08

কনসেনসাস

61:09

রাখতে পারেন।

61:09

আর কনসেনসাসের

61:10

মূল ধারণাটি

61:11

হলো: আমি তিনটি

61:12

জায়গায় লিখব,

61:12

এবং সাধারণত

61:13

আপনি যখন রিড

61:14

করেন, তখন

61:14

একাধিক জায়গা

61:15

থেকে পড়েন না।

61:16

কিন্তু যদি

61:17

কোনো ক্র্যাশ

61:17

হয়, আমাকে

61:18

রিকভারি করতে

61:19

হবে। তখন আমি

61:19

রিড করতে পারি,

61:20

ওহ, আমি তিনটির

61:21

মধ্যে যেকোনো

61:21

দুটি থেকে

61:22

পড়তে পারি, এবং

61:23

আমি জানি যে আগে

61:23

কী ঘটেছিল তা

61:24

আমি

61:24

মোটামুটিভাবে

61:25

নির্ধারণ করতে

61:26

পারব। আর

61:26

সাধারণত

61:27

রিকভারির

61:27

সময়েই আপনি এই

61:28

কনসেনসাস

61:29

রিডটি করে

61:29

থাকেন। সুতরাং,

61:30

রিড অপারেশন

61:31

সাধারণত শুধু

61:31

একটি রেপ্লিকা

61:32

থেকেই হয়।

61:33

আপনাকে তিনটি

61:33

রেপ্লিকাতেই

61:34

রাইট করতে হয়

61:35

এবং কোনো

61:35

ক্র্যাশ বা

61:36

ফেইলারের সময়

61:36

কনসেনসাস রিড

61:37

অপারেশনটি

61:38

সম্পন্ন হয়।

61:38

>> আর CockroachDB-এর

61:39

ভেতরে,

61:39

কনসেনসাসের

61:40

জন্য আপনি

61:41

কয়টি

61:41

রেপ্লিকা বেছে

61:42

নেন?

61:42

>> এটি সাধারণত

61:43

তিনটি হয়।

61:44

কিছু সিস্টেম

61:44

টেবিলের জন্য

61:45

এটি পাঁচটিও

61:45

হতে পারে এবং

61:46

গ্রাহকদেরও

61:46

এটি

61:46

নিয়ন্ত্রণ

61:47

করার ক্ষমতা

61:47

থাকে। ডাটাবেস

61:48

লেভেলে, আপনি

61:49

পাঁচটি বা

61:49

সাতটি

61:49

রেপ্লিকাতে

61:50

রাইট করতে

61:50

পারেন। পাঁচটি

61:51

রেপ্লিকা

61:51

ব্যবহার করার

61:52

কারণ হলো, আপনি

61:52

যদি ডেটার

61:53

স্থায়িত্ব

61:53

নিয়ে সত্যিই

61:54

চিন্তিত হন, তবে

61:54

আপনি এটি

61:55

ব্যবহার করতে

61:55

পারেন। কিন্তু

61:56

এতে একটি

61:56

স্লোডাউন বা

61:56

গতি কমে

61:57

যাওয়ার

61:57

ব্যাপার আছে,

61:57

কারণ আপনি যত

61:58

বেশি ডেটাতে

61:58

রাইট করবেন, তত

61:59

বেশি স্টোরেজ

61:59

স্পেসের

61:59

প্রয়োজন হবে।

62:00

>> আর আমরা এখানে

62:00

নোডগুলোর

62:01

কারণে হওয়া

62:01

স্লোডাউনের

62:02

কথা বলছি,

62:02

কিন্তু যদি

62:03

রেপ্লিকাগুলো

62:03

বিভিন্ন

62:04

রিজিয়নের

62:04

মধ্যে থাকে,

62:05

তাহলে

62:05

ভূমিকম্প বা

62:05

বিদ্যুৎ

62:06

বিভ্রাটের মতো

62:06

দুর্যোগের

62:07

জন্য আপনার

62:07

অনেক বেশি

62:08

রেসিলিয়েন্স

62:08

বা প্রতিরোধ

62:09

ক্ষমতা থাকবে,

62:09

কিন্তু এর ফলে

62:10

অতিরিক্ত

62:10

ল্যাটেন্সিও

62:11

দেখা দেবে। এটা

62:11

তো আলোর গতির

62:12

সাধারণ নিয়ম,

62:13

তাই না?

62:13

>> আলোর গতির

62:14

ল্যাটেন্সি,

62:15

তাই তো? আর এটা,

62:16

জানেনই তো,

62:16

কয়েক দশ, বা

62:17

কয়েকশ

62:17

মিলিসেকেন্ড,

62:18

এমনকি তারও

62:18

বেশি হতে পারে

62:19

যদি আপনি

62:20

বিশ্বজুড়ে

62:20

কাজ করেন।

62:21

সুতরাং, আপনার

62:22

কোয়েরিগুলো

62:22

কীভাবে

62:23

আর্কিটেক্ট

62:23

করবেন, সেই

62:24

বিষয়ে আপনাকে

62:24

খুব সতর্ক

62:25

থাকতে হবে।

62:26

ডিস্ট্রিবিউটেড

62:26

ডেটাবেসগুলোর

62:27

ক্ষেত্রে একটা

62:28

সাধারণ সত্য

62:28

হলো, আপনি

62:28

বারবার ডেটা

62:29

আদান-প্রদান

62:30

করতে চাইবেন না

62:30

। আপনি চাইবেন

62:31

আপনার সমস্ত

62:31

রিড অপারেশন

62:32

একটি

62:32

প্যারালাল রিড

62:33

সেটের মাধ্যমে

62:34

করতে, সেগুলো

62:34

ফেরত পেতে,

62:35

তারপর রাইট

62:35

অপারেশন করতে,

62:36

তাই না? কিন্তু

62:37

আপনি যদি

62:37

সিরিয়াল

62:37

অপারেশন করেন,

62:38

যেখানে আমি

62:38

একটি রো রিড করি

62:39

, একটি রো রাইট

62:39

করি, আবার একটি

62:40

রো রিড করি,

62:40

আবার একটি রো

62:41

রাইট করি, তাহলে

62:41

ল্যাটেন্সিগুলো

62:42

কেবল বাড়তেই

62:42

থাকে।

62:43

>> আমরা

62:43

ককরোচডিবি

62:43

প্রতিষ্ঠা

62:44

নিয়ে কথা

62:44

বলেছি, কিন্তু

62:45

কোম্পানিটি

62:45

কীভাবে বাড়ছে

62:46

এবং আপনারা আজ

62:46

কোথায় আছেন?

62:47

>> হ্যাঁ, হ্যাঁ।

62:48

মানে, আমরা মিশন

62:49

ক্রিটিক্যাল

62:49

অ্যাপ্লিকেশনগুলোতে

62:50

ব্যবহৃত হচ্ছি

62:51

। এটাই আমাদের

62:52

মূল কাজ।

62:52

>> যাইহোক, আপনি কি

62:53

মিশন

62:53

ক্রিটিক্যাল

62:53

বিষয়টি নিয়ে

62:54

আরেকটু

62:54

বিস্তারিত

62:54

বলতে পারেন,

62:55

কারণ এটা

62:55

অনেকটা...

62:55

>> হ্যাঁ।

62:56

>> আপনি যদি এমন

62:56

কোনো

62:57

ইন্ডাস্ট্রিতে

62:57

না থাকেন

62:58

যেখানে এর অর্থ

62:58

কী তা আপনি

62:59

জানেন, তবে

62:59

বাইরে থেকে

63:00

কোনটি মিশন

63:00

ক্রিটিক্যাল

63:01

তা নির্দিষ্ট

63:01

করে বলা কঠিন

63:02

মনে হতে পারে।

63:03

আমার SaaS, যা

63:03

বিজ্ঞাপন

63:04

দেখানোর মতো

63:04

কাজ করে, তা কি

63:05

মিশন

63:05

ক্রিটিক্যাল?

63:06

সম্ভবত না।

63:07

>> হ্যাঁ। তাই,

63:07

আমার মতে মিশন

63:08

ক্রিটিক্যাল

63:09

হলো সেই ধরনের

63:09

অ্যাপ্লিকেশন,

63:10

যেগুলোকে অন্য

63:11

পরিভাষায়

63:11

টিয়ার জিরো

63:12

অ্যাপ্লিকেশন

63:12

বলা হয়।

63:13

যেগুলো একটি

63:13

কোম্পানি

63:14

চালানোর

63:14

ক্ষেত্রে

63:15

একেবারে মূল

63:15

ভিত্তি বা

63:16

ক্রাউন

63:16

জুয়েলের মতো,

63:17

যেমন, একটি

63:17

ট্রেডিং

63:18

সিস্টেম।

63:18

আপনার ট্রেডিং

63:19

সিস্টেম ডাউন

63:20

হতে পারে না।

63:20

যদি ট্রেডিং

63:21

সিস্টেম ডাউন

63:21

হয়ে যায়, তবে

63:22

এটি সেই

63:22

ফার্মের জন্য

63:23

একটি গুরুতর

63:23

সমস্যা হয়ে

63:23

দাঁড়ায় যারা

63:24

ট্রেডিং

63:24

সিস্টেমটি

63:25

চালাচ্ছে।

63:25

যেমন, ব্যাংকিং

63:26

সিস্টেম।

63:27

কিন্তু

63:27

এছাড়াও, যেমন,

63:28

আমরা DoorDash-এর

63:29

সাথে কাজ করি,

63:30

তাই না? কিছু

63:31

লোক হয়তো মনে

63:31

করতে পারে যে

63:32

আপনার বুরিটো

63:33

ডেলিভারি করা

63:33

একটি মিশন-

63:34

ক্রিটিক্যাল

63:34

সিস্টেম। DoorDash-

63:35

এর জন্য তো

63:36

অবশ্যই, তাই না?

63:37

যদি সেটি ডাউন

63:38

হয়ে যায়, তবে

63:38

তা সমস্যাজনক।

63:39

আমরা শপিং

63:40

কার্ট চালাই,

63:41

মানে এই ধরনের

63:41

অন্যান্য

63:42

জিনিস চালাই।

63:43

ব্যাপারটা এমন

63:43

যে, যদি শপিং

63:44

কার্ট বন্ধ

63:44

হয়ে যায়,

63:45

তাহলে সেই

63:45

কোম্পানি

63:46

প্রতি ঘন্টায়

63:47

লক্ষ লক্ষ ডলার

63:47

লোকসান করবে।

63:48

সুতরাং, এটাই

63:49

হলো সেই গুরুতর

63:49

বিষয় যা নিয়ে

63:50

আপনাকে ভাবতে

63:51

হবে।

63:51

>> হ্যাঁ, আমি মনে

63:52

করি অবশ্যই

63:52

তাদের লোকসান

63:53

হচ্ছে, কিন্তু

63:53

এটা এমন একটা

63:54

সময় যখন তাদের

63:55

গ্রাহকরাও

63:55

এটাকে জলের

63:56

কলের মতো

63:56

স্বাভাবিকভাবে

63:57

চলতে দেখতে

63:57

অভ্যস্ত। আর

63:58

যখন এটা ঠিকমতো

63:58

চলে না, তখন

63:59

ব্যাপারটা ঠিক

63:59

আপনার

63:59

ইউটিলিটি

64:00

পরিষেবা নষ্ট

64:00

হয়ে যাওয়ার

64:01

মতোই, তাই না?

64:01

আপনার জল বা

64:02

বিদ্যুৎ চলে

64:02

গেলে আপনি

64:03

হয়তো টিকে

64:03

যাবেন, কিন্তু

64:04

যা আশা

64:04

করেছিলেন তা

64:04

হবে না।

64:05

>> হ্যাঁ, হ্যাঁ,

64:06

হ্যাঁ। আর সবাই

64:07

ভাবতে থাকে, এ

64:07

কী, এ কী, আমরা

64:08

কোন যুগে বাস

64:09

করছি যে

64:09

বিদ্যুৎ চলে

64:10

যায়? গুগলে

64:10

আমাদের মাথায়

64:11

এটা এমনভাবে

64:12

গেঁথে দেওয়া

64:12

হয়েছিল যে,

64:13

জিমেইল বন্ধ

64:13

হতে পারে না।

64:14

মানুষ এর ওপর

64:15

নির্ভর করে।

64:16

সার্চ বন্ধ হতে

64:17

পারে না, তাই না?

64:18

যদি এটা

64:18

বেশিক্ষণ বন্ধ

64:19

থাকে, মানুষ

64:20

অন্য সিস্টেমে

64:20

চলে যাবে। উম,

64:21

আর ব্যাপারটা

64:22

এমন নয় যে,

64:22

কিছু দিক থেকে

64:23

সার্চ ততটা

64:23

জরুরি নয়,

64:24

কিন্তু আরে

64:24

দাঁড়ান,

64:25

প্রত্যেকটা

64:25

সার্চের

64:26

পেছনেই

64:26

বিজ্ঞাপনের

64:26

টাকা থাকে, এবং

64:27

আপনি আসলে আয়ে

64:28

এর প্রভাবটা

64:28

লক্ষ্য করতে

64:29

পারবেন। আর এটা

64:30

শুধু আয়ের

64:30

সামান্য

64:31

প্রভাবই নয়,

64:31

সুনামেরও

64:32

ক্ষতি হয়।

64:33

মানে, আমার মনে

64:33

হয় এটাই

64:34

কোম্পানিগুলোকে

64:34

সবচেয়ে বেশি

64:35

বিষিয়ে তোলে,

64:36

যেমন ধরুন,

64:36

আপনার ব্যাংক

64:37

যদি বেশ

64:37

কিছুদিন ধরে

64:38

বন্ধ থাকে,

64:38

তাহলে সুনামের

64:39

যে ক্ষতি হবে তা

64:40

ভয়াবহ। আর,

64:41

জানেন তো, আমরা

64:41

প্রায়ই বলি, ওহ

64:42

, তাহলে তো

64:42

দিদিমা তার

64:43

ভাড়া দিতে

64:43

পারবেন না এবং

64:44

তাকে উচ্ছেদ

64:44

করা হবে।

64:45

আপনাকে এই

64:45

দায়িত্বটা

64:46

সত্যিই খুব, খুব

64:46

গুরুত্ব

64:47

সহকারে নিতে

64:47

হবে।

64:47

>> না, কিন্তু

64:48

জিমেইলও যে

64:49

অত্যন্ত জরুরি,

64:49

সেটাও একটা

64:50

বিষয়। এখানে

64:51

আসার পথেই, আমরা

64:51

পরে নম্বর

64:52

বিনিময়

64:52

করেছিলাম,

64:53

কিন্তু আমরা

64:53

ইমেইলের

64:53

মাধ্যমে

64:54

যোগাযোগ

64:54

করছিলাম। যেমন,

64:55

ওহ, আমি আপনাকে

64:56

বলছিলাম যে

64:57

আপনি এখানে

64:57

আছেন। আমি

64:58

ইমেইল

64:58

করেছিলাম, এবং

64:59

আমি এক

64:59

মুহূর্তের

65:00

জন্যও ভাবিনি

65:00

যে এটা বন্ধ

65:01

হয়ে যেতে পারে

65:01

। আর আমার মনে

65:02

হয় আমরা ৩০

65:03

সেকেন্ডের

65:03

মধ্যেই সাড়া

65:04

দিচ্ছিলাম, তাই

65:05

না? আর আমি জানি

65:06

যে এটা আছে।

65:06

যেমন, আমি আলাদা

65:07

কোনো

65:08

যোগাযোগের

65:08

লাইন খোলার

65:09

ঝামেলায়

65:10

যাইনি, তাই।

65:11

>> হ্যাঁ, হ্যাঁ।

65:12

হ্যাঁ,

65:12

ব্যাপারটা হলো

65:12

যখন

65:13

ব্যবহারকারীদের

65:13

সাথে আপনার এই

65:14

ধরনের

65:14

বিশ্বাসের

65:15

সম্পর্ক তৈরি

65:15

হয়, তখন আপনাকে

65:16

তা বজায় রাখতে

65:16

হবে এবং এতে

65:17

বিনিয়োগ করতে

65:17

হবে। কিন্তু, এর

65:18

ফলে

65:18

ব্যবহারকারীর

65:19

জন্যও এক ধরনের

65:19

স্বাধীনতা

65:20

তৈরি হয়,

65:20

যেখানে আপনাকে

65:20

ভাবতেই হয় না

65:21

যে, 'আমাকে এটা

65:21

নিয়ে চিন্তা

65:22

করতে হবে না।

65:22

এটা এমনিতেই

65:24

কাজ করবে।' আর

65:25

কোম্পানির কথা

65:25

বলতে গেলে,

65:26

আপনাদের

65:26

মোটামুটি কতজন

65:27

ইঞ্জিনিয়ার

65:28

আছে?

65:28

>> আমাদের প্রায়

65:29

১০০ জন আছে।

65:30

>> আমি আসলে

65:30

ইঞ্জিনিয়ারের

65:31

সঠিক সংখ্যাটা

65:32

জানি না, ১১০ জন,

65:33

তবে সব মিলিয়ে

65:34

R&D-তে ১৫০ জন

65:35

থাকতে পারে।

65:35

শুধু

65:36

ইঞ্জিনিয়ার

65:36

ছাড়াও আরও

65:37

অনেকে আছেন,

65:37

যেমন আমি

65:37

স্পষ্টতই একজন

65:38

ইঞ্জিনিয়ারিং

65:39

ম্যানেজার।

65:39

তারাও

65:39

ইঞ্জিনিয়ার।

65:40

আর তারপর, আমরা

65:41

তো ক্রমাগত

65:42

উন্নতি করছি।

65:43

একটি

65:43

ডিস্ট্রিবিউটেড

65:43

ডেটাবেস তৈরি

65:44

করতে বেশ

65:44

কিছুটা সময়

65:45

লাগে। এটা

65:45

দুর্বল

65:45

চিত্তের

65:46

মানুষের কাজ

65:46

নয়। তো, আমাদের

65:47

কয়েক বছর

65:48

লেগেছিল।

65:49

>> কয়েকবার।

65:49

হ্যাঁ।

65:50

>> আমি একটি

65:50

ডিস্ট্রিবিউটেড

65:51

স্টোরেজ

65:51

সিস্টেম এবং

65:51

একটি

65:52

ডিস্ট্রিবিউটেড

65:52

ডেটাবেস তৈরি

65:53

করেছি। এটা

65:53

দুর্বল

65:53

চিত্তের

65:54

মানুষের কাজ

65:54

নয়, তাই না?

65:55

সুতরাং, একটি

65:56

নির্দিষ্ট

65:56

স্তরের

65:56

স্থিতিশীলতায়

65:57

পৌঁছানো, তারপর

65:58

সেই

65:58

স্থিতিশীলতার

65:58

স্তর ছাড়িয়ে

65:59

আরও উন্নত

66:00

মানের কাজ করা,

66:00

সমস্ত বাগ দূর

66:01

করা, এবং তারপর

66:01

ক্রমাগত

66:02

উদ্ভাবন করে

66:02

সিস্টেমে আরও

66:03

পারফরম্যান্স

66:04

যোগ করা,

66:04

এন্টারপ্রাইজগুলোর

66:05

মধ্যে আরও

66:05

ভালোভাবে

66:06

ইন্টিগ্রেট

66:06

করার জন্য নতুন

66:07

নতুন

66:07

ফাংশনালিটি

66:08

যুক্ত করার মতো

66:08

অনেক কাজ করতে

66:09

হয়। আমাদের

66:09

আয় বছরের পর

66:10

বছর ধরে

66:11

স্থিরভাবে

66:11

বাড়ছে এবং এখন

66:12

এটি এমন একটি

66:13

জায়গায় এসে

66:13

দাঁড়িয়েছে

66:14

যেখানে আমরা

66:15

ভবিষ্যতের

66:15

সাফল্যের পথও

66:16

দেখতে পাচ্ছি।

66:17

>> আর আমি আপনাকে

66:18

আপনার কোডিং

66:18

অভ্যাস

66:19

সম্পর্কে

66:19

জিজ্ঞাসা করতে

66:20

চাই। তো, যখন

66:21

আপনি

66:21

কোম্পানিটি সহ-

66:22

প্রতিষ্ঠা

66:23

করেছিলেন,

66:23

প্রথম কয়েক

66:24

বছরে আপনি কতটা

66:25

কোড লিখেছিলেন?

66:26

>> আমি অনেক

66:26

লিখেছিলাম।

66:27

আমি বরাবরই

66:28

একজন খুব

66:28

প্রলিফিক

66:29

কোডার। শুরুর

66:30

দিকে আমি অনেক

66:31

কোড লিখেছিলাম

66:31

। আর শুরুর

66:32

দিনগুলোতে,

66:33

মানে, আমি আর

66:35

বেন স্পেন্সার

66:36

ছিলাম

66:36

টেকনিক্যাল কো-

66:37

ফাউন্ডার। আর

66:38

আমরা

66:38

ইতিমধ্যেই

66:38

অনেক কোড লিখে

66:39

ফেলেছিলাম এবং

66:39

আমিও তার

66:40

ব্যতিক্রম

66:40

ছিলাম না।

66:43

কিন্তু, জানেন,

66:44

আমি যদি আমার

66:45

গিটহাবের

66:45

কাজের দিকে

66:46

ফিরে তাকাই,

66:46

তাহলে দেখব যে

66:47

সেরা

66:47

বছরগুলোতে

66:48

বছরে হয়তো

66:48

১,০০,০০০ লাইন

66:49

কোড লিখেছি, যা

66:50

অনেক। হ্যাঁ।

66:51

হ্যাঁ। তো,

66:51

>> আমরা সবাই তখন

66:53

>> প্রি-এআই যুগের

66:53

কথা বলছি।

66:54

>> প্রি-এআই, তাই

66:55

না? এটা সেই

66:56

সময় যখন এই

66:56

কাজগুলো হাতে-

66:57

কলমে করতে হতো,

66:57

তাই তো? একটা

66:58

সময় আমরা RocksDB

66:59

নামের একটা

66:59

সিস্টেম

67:00

ব্যবহার করা

67:00

শুরু করি, যেটা

67:01

একটা LSM (লাইনস

67:01

সিস্টেম)। একটা

67:02

সময়, আমার মনে

67:03

হয় সেটা ২০১৯

67:04

সালের দিকে,

67:04

আমরা এটার কিছু

67:05

সীমাবদ্ধতার

67:06

সম্মুখীন হই।

67:07

আমি ঠিক করি যে,

67:08

আমরা এটা নতুন

67:09

করে লিখব। আর

67:09

এটা লেখার মূল

67:10

কারণ ছিল

67:11

প্রায় ৪০, ৫০

67:12

হাজার লাইনের

67:13

কোড। আর তারপর

67:14

আরও কিছু লোক

67:14

এগিয়ে এসে

67:15

সাহায্য করেছে,

67:15

এবং আপনি যখন

67:16

সেই কাজের

67:16

পরিমাণটা

67:17

দেখেন, তখন আমার

67:18

শুধু মনে হয়, "

67:18

বাপরে, এত কিছু

67:19

মাথায় রাখা তো

67:19

অনেক কঠিন ছিল।"

67:20

অনেক। শুধু

67:21

টাইপ করাই অনেক

67:22

বড় একটা কাজ।

67:23

জানেন, ১,০০,০০০

67:24

লাইন কোড।

67:24

ইন্ডাস্ট্রিতে

67:25

গড়পড়তা যেটা

67:26

বলা হয়, তা হলো

67:27

একজন

67:27

ইঞ্জিনিয়ার

67:27

মাসে ৩,০০০ লাইন

67:28

কোড লেখেন। আর

67:29

আপনি যদি এটাকে

67:30

গুণ করেন, তাহলে

67:31

বছরে হয়তো

67:31

৩৬,০০০ লাইন।

67:32

এটা ভালো, তাই

67:33

না? সুতরাং,

67:34

আমরা অনেক কাজ

67:35

করছি। জানেন,

67:36

আমি যখন এটা

67:36

দেখি, তখন মনে

67:37

হয় যেন একবারে

67:38

মাথায় রাখার

67:39

মতো একটা

67:39

সর্বোচ্চ সীমা

67:40

আছে। আমি যখন

67:40

প্রথম এই

67:41

ইন্ডাস্ট্রিতে

67:41

এসেছিলাম, তখন

67:42

থেকে টুলসগুলো

67:43

অনেক উন্নত

67:43

হয়েছে। আমরা

67:44

আরও ভালো

67:44

ডিবাগিং কৌশল,

67:45

আরও ভালো

67:45

টেস্টিং কৌশল

67:46

পেয়েছি,

67:46

কিন্তু এখনও

67:47

বেশ

67:47

উল্লেখযোগ্য

67:48

পার্থক্য

67:48

রয়েছে।

67:48

>> আর আপনি শুরু

67:49

থেকেই সিটিও

67:50

ছিলেন, সহ-

67:50

প্রতিষ্ঠাতা

67:51

সিটিও, কিন্তু

67:52

২০২২ সালের

67:53

দিকে এমন একটা

67:53

সময় এসেছিল

67:54

যখন আপনি

67:54

কিছুটা কম

67:55

হস্তক্ষেপ

67:56

করার

67:56

সিদ্ধান্ত

67:57

নিয়েছিলেন,

67:57

তাই না?

67:58

>> হ্যাঁ, হ্যাঁ।

67:59

>> আপনি কি আমাকে

67:59

সে সম্পর্কে

68:00

বলতে পারেন?

68:00

>> মানে,

68:01

ইঞ্জিনিয়ারিং

68:01

লিডারদের জন্য

68:02

সাধারণ

68:02

নিয়মটা হলো,

68:03

আপনার নিজের

68:04

একটা টিম থাকতে

68:04

হবে, আপনাকে

68:05

আপনার টিমকে

68:05

পরিচালনা করতে

68:06

হবে। আর আমাদের

68:07

একজন ভিপি অফ

68:07

ইঞ্জিনিয়ারিং

68:08

ছিলেন, কিন্তু

68:09

আমি এমন একটা

68:09

পর্যায়ে

68:09

পৌঁছে

68:10

যাচ্ছিলাম যে,

68:10

আচ্ছা, আমার

68:11

কোডিং করার দিন

68:11

কি শেষ হয়ে

68:12

গেছে, মানে, আমি

68:12

সরাসরি

68:13

ঊর্ধ্বতন

68:13

কর্তৃপক্ষের

68:14

কাছ থেকে এই

68:14

পরামর্শটা

68:15

পেয়েছিলাম।

68:15

এবং জানেন, আমি

68:16

দীর্ঘ সময় ধরে

68:16

এই পরামর্শটা

68:17

পাচ্ছিলাম এবং

68:18

আমি এর

68:18

বিরোধিতা

68:18

করেছিলাম,

68:19

কিন্তু একটা

68:19

সময়ে আমি মেনে

68:20

নিয়েছিলাম।

68:21

এবং আমার মনে

68:21

হয় পরামর্শটা

68:22

সঠিক ছিল। আমি

68:23

বলছি না যে

68:24

পরামর্শটা তখন

68:24

ভুল ছিল, কিন্তু

68:25

২০২২ থেকে ২০২৪

68:26

সালের মধ্যে

68:27

এমন একটা সময়

68:28

ছিল যখন আমার

68:28

কাজের পরিমাণ

68:29

কমে গিয়েছিল।

68:30

আমার মনে হয়

68:31

আমি ওই সময়ে

68:32

সুইস টেবিলের

68:32

কাজটা

68:32

করেছিলাম,

68:33

কিন্তু আমি

68:34

>> ব্যবসার মূল

68:34

অংশে তেমন কিছু

68:35

করছিলাম না।

68:36

>> হ্যাঁ, ব্যবসার

68:37

মূল অংশে। আমি

68:38

সেখানে গিয়ে

68:39

কিছু কাজ করতাম,

68:40

কিন্তু

68:40

সারাদিন

68:41

মিটিংয়ে

68:41

থাকলে কোডিং

68:42

করাটা সত্যিই

68:43

খুব কঠিন। এবং

68:44

আমার মনে হয়

68:44

এটাই মূল

68:45

দ্বন্দ্ব।

68:46

আপনার মনে হয়

68:47

যে,

68:47

>> আপনি

68:47

মিটিংয়ের

68:48

বোঝা,

68:48

সমন্বয়ের

68:49

বোঝা এবং সেইসব

68:50

>> কাজগুলো নিজের

68:51

কাঁধে তুলে

68:51

নিয়েছেন যা

68:52

আমার করার কথা

68:53

ছিল। সঠিকভাবে

68:53

বলতে গেলে, আগে

68:54

আপনি আপনার

68:55

মস্তিষ্কের

68:55

বেশিরভাগ অংশ

68:56

কোডের পেছনে

68:56

ব্যয় করতেন, আর

68:57

এখন আপনি কোডের

68:57

ঊর্ধ্বে থাকা

68:58

ব্যবসা,

68:58

ইঞ্জিনিয়ারিং

68:59

, গ্রাহক বা এই

69:00

জাতীয়

69:00

অন্যান্য

69:00

বিষয় নিয়ে

69:01

ভাবছেন। এর

69:02

সাথে

69:02

>> একজন

69:02

এক্সিকিউটিভের

69:03

দায়িত্বও

69:03

পালন করতে

69:04

হচ্ছে, বুঝতেই

69:04

পারছেন। তাই,

69:05

একই সাথে এই সব

69:05

দায়িত্ব পালন

69:06

করা খুবই কঠিন।

69:07

আর এরপর আমি

69:08

আবার এই কাজে

69:08

ফিরে আসি কারণ

69:09

এআই (AI) এর

69:09

আবির্ভাব ঘটতে

69:10

শুরু করে।

69:11

>> তো, আপনি কখন

69:11

এআই ব্যবহার

69:12

করা শুরু করলেন,

69:13

কখন থেকে

69:13

কোডিংয়ের

69:14

ক্ষেত্রে

69:14

এটিকে দরকারি

69:15

বলে মনে হতে

69:16

লাগল?

69:16

>> হ্যাঁ,

69:16

ব্যাপারটা বেশ

69:17

মজার ছিল, কারণ,

69:18

আপনি জানেন,

69:18

অটোকমপ্লিটের

69:19

উন্নত

69:19

সংস্করণগুলোর

69:20

মতো এর

69:21

প্রাথমিক

69:21

সংস্করণগুলো

69:22

যখন এলো,

69:22

>> আমরা গিটহাব

69:23

কপাইলট, কার্সর

69:24

বা এর প্রথম

69:24

দিকের

69:25

সংস্করণগুলোর

69:25

কথা বলছি।

69:26

>> ওটার সাথেই

69:27

আমার প্রথম

69:27

পরিচয় হয়।

69:28

আমরা তখন

69:28

কার্সর নিয়ে

69:29

কিছুটা কাজ

69:29

করেছিলাম,

69:30

কিন্তু ওগুলো

69:30

সবই ছিল এক

69:31

ধরনের উন্নত

69:31

অটোকমপ্লিট।

69:32

এটা বেশ অদ্ভুত

69:33

ছিল যে আপনি

69:33

কিছু একটা টাইপ

69:34

করা শুরু করলেই

69:34

ফাংশনের বাকি

69:35

অংশটা পূরণ

69:35

হয়ে যেত। আপনি

69:36

সেটার দিকে

69:37

তাকিয়ে

69:37

ভাবতেন, আরে,

69:38

এটা তো ঠিকই

69:38

লিখেছি।

69:39

ব্যাপারটা

69:39

অদ্ভুত, তাই না?

69:40

আর, জানেন, আমরা

69:41

আমাদের

69:41

ইঞ্জিনিয়ারদের

69:42

এটা ব্যবহার

69:43

করতে উৎসাহিত

69:43

করার চেষ্টা

69:44

করছিলাম, এবং

69:44

একটা পর্যায়ে,

69:45

আমার ঠিক মনে

69:46

নেই এটা আমার

69:46

আইডিয়া ছিল

69:47

নাকি আমার সহ-

69:47

প্রতিষ্ঠাতার

69:48

বা অন্য কারো,

69:49

এবং মূলত,

69:50

মানুষকে এটা

69:51

কীভাবে

69:51

ব্যবহার করতে

69:52

হবে সে

69:52

সম্পর্কে

69:52

ভালোভাবে পথ

69:53

দেখাতে হলে,

69:53

আপনাকে নিজেই

69:54

একজন

69:54

ব্যবহারকারী

69:54

হতে হবে। জানেন,

69:55

আমার মনে হয়

69:55

এটা

69:55

সাধারণভাবে

69:56

ইঞ্জিনিয়ারিং

69:56

ম্যানেজমেন্টের

69:57

ক্ষেত্রেও

69:57

সত্যি। যেমন,

69:58

আপনি যদি

69:58

ইঞ্জিনিয়ারদের

69:59

পরিচালনা করতে

69:59

চান, তাহলে

69:59

আপনাকে জানতে

70:00

হবে কীভাবে

70:00

একজন

70:00

ইঞ্জিনিয়ার

70:01

হতে হয়। আপনি

70:01

যদি একজন ভালো

70:02

ইঞ্জিনিয়ার

70:02

হতে না জানেন,

70:03

তাহলে অন্য

70:03

ইঞ্জিনিয়ারদের

70:04

পরিচালনা করা

70:04

সত্যিই খুব

70:05

কঠিন।

70:05

>> আমার মনে হয়,

70:06

অন্ততপক্ষে

70:06

তাদের সাথে

70:07

মানিয়ে নিতেই

70:08

আপনার কষ্ট হবে

70:09

।

70:09

>> একদম। একদম।

70:10

তাই, আমি একরকম

70:11

দায়িত্বটা

70:12

নিজের কাঁধে

70:12

তুলে নিলাম,

70:13

যেমন, না, মানে

70:13

এটা খুব

70:14

তাড়াতাড়িই

70:14

স্পষ্ট হয়ে

70:15

গিয়েছিল যে

70:16

এটা সম্ভবত

70:16

কোনো দিকে যাবে,

70:17

কিন্তু এটা ঠিক

70:17

পরিষ্কার ছিল

70:18

না যে কতদূর, কত

70:19

দ্রুত যাবে। আর

70:20

আপনি যখন এটা

70:20

নিয়ে

70:21

ঘাঁটাঘাঁটি

70:21

শুরু করলেন, আমি

70:22

ভাবলাম, ওহ,

70:22

আচ্ছা। কিন্তু

70:23

এটা যথেষ্ট

70:24

ভালো নয়। এটা...

70:25

পুরোপুরি

70:25

যথেষ্ট ভালো না,

70:26

কিন্তু কী আর

70:26

করা, কোডিংয়ে

70:27

আবার ফেরা যাক।

70:28

খুব দ্রুতই,

70:28

আপনি প্রাণের

70:29

স্পন্দন দেখতে

70:30

শুরু করলেন,

70:31

যেমন ধরুন, ওপাস

70:31

মডেলগুলো আসতে

70:32

শুরু করল।

70:33

প্রথমে সনেট,

70:34

তারপর ওপাস, আর

70:35

আপনি এগুলো

70:36

দেখে ভাবলেন, ওহ

70:37

, ওয়াও, আচ্ছা।

70:38

বেশ, এগুলো

70:39

দিয়ে তো অনেক

70:40

কিছুই করা যায়,

70:41

কিন্তু কোডটা

70:41

তখনও খুব একটা

70:42

ভালো না।

70:43

কিন্তু তারপর

70:44

এটা ছিল

70:44

ক্রমাগত

70:45

উন্নতির এক

70:46

ধারাবাহিকতা,

70:46

আর আমি সনেট

70:47

দিয়ে অনেক কাজ

70:48

করতে শুরু

70:49

করেছিলাম এবং

70:50

তারপর ওপাস

70:50

ব্যবহার করতে

70:51

শুরু করি। আর

70:52

জানেন, অন্য

70:53

সবার মতো আমারও

70:54

সেই একই

70:55

মুহূর্ত

70:55

এসেছিল, আর এটা

70:56

ছিল গত বছর, গত...

70:57

>> হ্যাঁ, যখন

70:58

>> নভেম্বর,

70:59

ডিসেম্বর,

70:59

শীতের ছুটি

71:00

চলছিল, তাই না?

71:01

>> হ্যাঁ,

71:01

থ্যাঙ্কসগিভিংয়ের

71:02

সময় ছিল। আমার

71:03

পরিষ্কার মনে

71:04

আছে কারণ,

71:04

>> আপনি তো আরাম

71:05

করছিলেন না,

71:05

আপনি কোডিং

71:06

করছিলেন, তাই না

71:07

? আপনি এজেন্টের

71:08

কাজ করছিলেন।

71:08

>> আমিও অন্য সবার

71:09

মতোই এজেন্টের

71:10

কাজ করছিলাম।

71:11

কিন্তু হ্যাঁ,

71:11

আমার এমন একটা

71:12

কাজ ছিল যা আমি

71:13

অনেকদিন ধরে

71:13

করতে

71:14

চেয়েছিলাম।

71:14

ককরোচডিবি (

71:15

CockroachDB)-র উপর, আমি

71:16

আসলে

71:16

ককরোচডিবি-র

71:17

বিভিন্ন

71:17

কনফিগারেশন

71:18

পরীক্ষা করতে

71:18

চেয়েছিলাম,

71:19

যেমন—বিভিন্ন

71:20

ভার্টিকাল

71:21

স্কেলিং জুড়ে:

71:21

যেমন একটি নোডে

71:22

কয়টি সিপিইউ

71:23

আছে, কয়টি

71:23

স্টোর বা ডিস্ক

71:24

আছে, সিস্টেমে

71:25

কয়টি নোড আছে,

71:26

এবং এই বিশাল

71:26

ম্যাট্রিক্স

71:27

জুড়ে পরীক্ষা

71:28

করতে

71:28

চেয়েছিলাম।

71:29

এটা এমন একটা

71:30

কাজ ছিল যার

71:30

অগ্রাধিকার

71:31

আমি কখনোই

71:31

ঠিকমতো ঠিক

71:31

করতে পারিনি,

71:32

কারণ এটাকে

71:32

কখনোই খুব

71:33

জরুরি বলে মনে

71:33

হয়নি, কিন্তু

71:34

আমার সবসময়

71:35

একটা

71:35

স্বতঃস্ফূর্ত

71:35

ধারণা ছিল যে এর

71:36

মধ্যে কিছু

71:36

একটা আছে। আর

71:37

তারপর প্রায় ৪

71:38

দিনের মধ্যে,

71:39

কোডটা যেন

71:40

আপনাআপনি তৈরি

71:41

হয়ে গেল যখন

71:41

আমি ওপাস ৪৭ (Opus 47)

71:42

ব্যবহার

71:43

করছিলাম, নাকি

71:44

৪৫? সংখ্যাটা যা

71:45

-ই হোক না কেন।

71:46

আমার যতদূর মনে

71:47

পড়ে, আমি বেশ

71:48

দ্রুত টাইপ

71:49

করতে পারি। আর

71:50

আমার শুধু মনে

71:50

আছে যে আমার এমন

71:51

একটা অনুভূতি

71:52

হচ্ছিল, যেন

71:53

কোডটা আমার

71:53

চোখের সামনেই

71:54

তৈরি হয়ে

71:55

যাচ্ছে। আপনি

71:56

এই জিনিসগুলো

71:56

চাইতেন। আমি

71:57

আসলে টাইপ করার

71:58

অভ্যাসটা

71:58

ছেড়ে

71:59

দিয়েছিলাম।

71:59

আপনি শুধু

72:00

চাইতেন। কোনো

72:01

কিছুর জন্য, তা

72:02

বাস্তবে রূপ

72:02

নেয়। আচ্ছা,

72:03

আপনি যদি কখনো

72:04

ওই ধরনের কোনো

72:05

সিনেমা দেখে

72:06

থাকেন, যেখানে

72:07

একজন

72:07

সফটওয়্যার

72:08

ইঞ্জিনিয়ার

72:08

কিবোর্ডের

72:09

সামনে এসে টাইপ

72:09

করা শুরু করে

72:10

এবং স্ক্রিনে

72:10

তা দেখানো হয়,

72:11

মনে হয় যেন

72:11

টাইপ করার গতি

72:12

মানুষের

72:12

স্বাভাবিক

72:12

গতির চেয়ে

72:13

অনেক বেশি। আর

72:14

তারপর

72:14

ব্যাপারটা ছিল

72:15

ঠিক সেরকম, তাই

72:15

না? আমার

72:16

>> মনে হয়, একজন

72:17

সফটওয়্যার

72:17

ইঞ্জিনিয়ার

72:18

ভাবত, আমরা

72:19

এগুলো দেখে

72:19

হাসতাম। আমার

72:20

এখনও 'সোর্ডফিশ'

72:21

সিনেমার কথা

72:22

মনে আছে, যখন

72:23

তারা

72:23

জিনিসগুলো

72:24

চলতে বা কোড

72:24

ভেসে উঠতে

72:25

দেখাত, জানেন?

72:26

আপনি দেখতেন যে

72:27

লোকটি টাইপ

72:27

করছে এবং তারপর

72:28

সেটা একটা বড়

72:29

লাইন হয়ে যেত,

72:29

আর একজন

72:30

সফটওয়্যার

72:30

ইঞ্জিনিয়ার

72:31

ভাবত, আমরা

72:31

হাসছি কারণ

72:32

ব্যাপারটা

72:32

আসলে সেরকম নয়,

72:33

কিন্তু ওই

72:34

ইফেক্টটা

72:34

সত্যিই

72:34

অসাধারণ, তাই না

72:35

?

72:35

>> হ্যাঁ, হ্যাঁ।

72:36

কিন্তু দেখুন,

72:37

এটা ওই

72:37

ইফেক্টের

72:38

চেয়েও ভালো,

72:39

তাই না?

72:39

>> কারণ এবার এটা

72:40

সত্যিই কাজ করে

72:41

।

72:41

>> আর

72:41

তুলনামূলকভাবে

72:42

এটা এতটাই ধীর

72:42

যে, তা তার

72:43

চেয়েও দ্রুত

72:43

বাস্তবে রূপ

72:44

নেয়। মানে,

72:45

আপনি আক্ষরিক

72:45

অর্থেই বলতে

72:46

পারেন, আমরা তো

72:46

কথাই বলছিলাম...

72:47

বি-ট্রি নিয়ে

72:48

অনেক কিছু জানি

72:48

। আমি গত মাসে

72:49

আরেকটি বি-ট্রি

72:50

ইমপ্লিমেন্ট

72:50

করেছি।

72:51

>> হ্যাঁ, এবং

72:52

প্রায় ১০,০০০

72:52

লাইনের

72:53

অত্যন্ত

72:53

অপটিমাইজড

72:54

রাস্ট (Rust) কোড

72:54

ইমপ্লিমেন্ট

72:55

করতে প্রায় ৩০

72:56

মিনিট সময়

72:57

লেগেছে। মানে,

72:58

এটা ভাবলে মাথা

72:58

ঘুরে যায়।

72:59

মানে, আমাদের

73:00

পরে ১০,০০০ লাইন

73:01

কোডটা দেখা

73:02

উচিত। এটা একটা

73:03

অবিশ্বাস্য

73:03

পরিমাণ। আপনি

73:04

শারীরিকভাবে

73:04

এত দ্রুত টাইপ

73:05

করতে পারবেন না

73:06

।

73:06

>> আপনি কোডিংয়ে

73:07

ফিরে আসতে শুরু

73:07

করেছেন। আমরা

73:08

কি ভাইব কোডিং

73:09

বা

73:09

প্রোটোটাইপিংয়ের

73:10

কথা বলছি, নাকি

73:11

আপনি

73:12

ককরোচডিবি-তে (

73:12

CockroachDB) যা করছেন

73:13

তার সমমানের,

73:14

প্রোডাকশন-

73:15

রেডি কোড

73:15

কন্ট্রিবিউট

73:16

করা শুরু

73:17

করেছেন?

73:17

>> আচ্ছা, এটা শুরু

73:18

হয়েছিল একটা

73:19

টুল দিয়ে, যেটা

73:20

ছিল এক ধরনের

73:20

বেঞ্চমার্কিং

73:21

টুল যা একটি

73:22

ম্যাট্রিক্স

73:22

পরীক্ষা করত।

73:23

আমি সিটিও (CTO)।

73:25

আমাদের একটি

73:26

সিটিও অফিস আছে

73:27

। সিটিও অফিসের

73:28

মূল উদ্দেশ্য

73:29

হলো উদ্ভাবন

73:29

করা। এবং আমি

73:30

এমন জায়গা

73:31

খুঁজছিলাম

73:31

যেখানে আমরা

73:32

উদ্ভাবন করতে

73:33

পারি। এবং যে

73:34

বিষয়গুলোতে

73:34

আমরা উদ্ভাবন

73:35

করতে

73:35

চেয়েছিলাম

73:36

তার মধ্যে একটি

73:37

ছিল, আরও ভালো...

73:38

ককরোচডিবি

73:39

ক্লাস্টারের

73:39

অটো-স্কেলিং।

73:40

আর জানুয়ারির

73:41

দিকে, আমি এমন

73:42

একটা কিছু

73:43

আবিষ্কার করি

73:43

যাকে আপনি

73:44

গবেষণামূলক

73:45

যুগান্তকারী

73:46

সাফল্য বলতে

73:46

পারেন। এটা

73:47

সম্ভব হয়েছিল

73:48

কারণ আমি এই

73:48

ক্ষেত্রটিতে

73:48

কেবল

73:49

হাতড়াচ্ছিলাম

73:49

এবং মডেলগুলো

73:50

নিয়ে কাজ করে

73:50

তা বোঝার

73:51

চেষ্টা

73:51

করছিলাম। আর

73:52

তারা শুধু

73:52

কোডিংয়েই

73:52

দক্ষ নয়, তারা

73:53

আপনাকে

73:53

ডিজাইনের

73:53

ধারণাগুলো

73:54

অন্বেষণ করতে

73:54

সাহায্য করতেও

73:55

পারদর্শী। এবং

73:55

আমার মনে হয়

73:56

এটাই সবচেয়ে

73:56

আকর্ষণীয়

73:57

বিষয়, যেখানে

73:57

আপনাকে এই

73:57

মানসিকতা থেকে

73:58

বেরিয়ে আসতে

73:58

হবে যে, "আমি ঠিক

73:59

জানি আমি কী

73:59

তৈরি করতে

74:00

যাচ্ছি।" বরং

74:00

ভাবতে হবে, "আরে,

74:01

আমাদের এই

74:01

সমস্যাটা আছে।

74:02

এটা নিয়ে

74:02

আলোচনা করুন।

74:03

আমার সাথে

74:04

অংশীদার হোন।"

74:05

>> হুম।

74:05

>> আর এটা

74:06

>> একটা স্পারিং

74:06

পার্টনার হতে

74:07

যাচ্ছে।

74:07

>> পার্টনার।

74:08

জানেন, একটা

74:08

পরামর্শ আছে যা

74:09

আপনি হয়তো

74:09

শুনে থাকবেন যে,

74:10

যদি আপনি কোনো

74:10

সমস্যায় আটকে

74:11

যান, তাহলে

74:12

আপনার উচিত '

74:12

ইয়েলো ডাক'

74:13

হয়ে যাওয়া। '

74:13

>> রাবার ডাক' হয়ে

74:14

যাওয়া। '

74:14

>> রাবার ডাক' হয়ে

74:15

যাওয়া। উম,

74:15

আমার মনে হয়

74:16

আমি এটাকে '

74:16

ইয়েলো ডাক'

74:17

হিসেবেই

74:17

শুনেছি, জানেন।

74:18

শুধু কোনো

74:18

কিছুর সাথে কথা

74:19

বলুন। সেটার

74:19

উত্তর

74:19

দেওয়ারও

74:20

আপনার

74:20

প্রয়োজন নেই।

74:21

কিন্তু এখন

74:21

আপনি এই

74:21

সিস্টেমের

74:22

সাথে, এই

74:22

বুদ্ধিমত্তার

74:23

সাথে কথা বলতে

74:23

পারবেন এবং এটি

74:24

আপনাকে

74:24

বিভিন্ন তথ্য

74:24

ফিরিয়ে দেবে।

74:25

আর এটা সবসময়

74:26

সঠিক হয় না।

74:27

মানে, আজও এটাই

74:28

সত্যি। এই

74:28

মডেলগুলো

74:29

অসাধারণ। ফেবল

74:30

অসাধারণ।

74:31

অ্যাস্ট্রা

74:31

অসাধারণ। আর

74:32

এগুলো সবসময়

74:33

সঠিক হয় না,

74:34

কিন্তু তারা

74:34

যেন এত কিছু

74:35

জানে। এটা

74:36

একেবারে

74:36

বিশ্বকোষীয়।

74:37

আর আপনি খুব খুব

74:38

দ্রুত বিভিন্ন

74:39

ধারণা যাচাই

74:39

করতে পারবেন।

74:40

এবং তারপর বলতে

74:41

পারবেন, "আচ্ছা,

74:41

আচ্ছা, এটা আমার

74:42

কাছে ঠিক মনে

74:42

হচ্ছে না।" আর

74:43

তখন এটা বলবে, "

74:44

ওহ, হ্যাঁ, আপনি

74:44

একদম ঠিক

74:45

বলেছেন।" জানেন,

74:45

আমি এই অসুস্থ

74:46

জাঁকজমকটা

74:47

ঘৃণা করি। এটা

74:48

আমাকে শেষ করে

74:48

দেয়। অথবা

74:49

আপনি ঠিকই

74:50

করেছেন, আপনি

74:51

ঠিকই করেছেন।

74:51

এটা একটা নতুন

74:52

পর্ব। হ্যাঁ,

74:53

এবং তারপরেও এত

74:54

দ্রুত উন্নতি

74:55

করতে সক্ষম

74:56

হয়েছে। এবং

74:57

আমি এটাকে

74:57

একেবারে

74:58

অবিশ্বাস্য

74:59

মনে করি। এত

75:00

দ্রুত শুধু

75:00

কিছু পার্শ্ব

75:01

কাজ, কিছু টুলস

75:02

তৈরি করা থেকে

75:03

সরে এসে, গত ৮

75:08

মাসে, অর্থাৎ

75:08

জানুয়ারি

75:09

থেকে, আমরা একটি

75:10

নতুন লঞ্চের

75:11

দিকে এগিয়ে

75:12

যাচ্ছি। এবং এর

75:14

বেশিরভাগই

75:14

তৈরি করেছে

75:15

জেন্টলি

75:15

পাওয়ারড

75:16

ইঞ্জিনিয়াররা

75:17

এবং এখন পুরো

75:18

কোম্পানিই এর

75:18

সাথে যুক্ত

75:19

হয়েছে, যেখানে

75:20

আমার মনে হয়

75:21

প্রায় ১০০%

75:21

ইঞ্জিনিয়ারই

75:22

কমবেশি এটি

75:23

ব্যবহার করছে।

75:24

এবং প্রচুর কোড

75:25

তৈরি হচ্ছে এবং

75:26

আমার মনে হয়

75:26

এটি খুব উচ্চ-

75:27

মানের কোড। এই

75:28

মডেলগুলো ততটা

75:29

নির্ভুলভাবে

75:29

পরীক্ষা করা

75:30

হচ্ছে না। তারা

75:31

পারফরম্যান্সের

75:32

দিকে যথেষ্ট

75:32

মনোযোগ দেয় না

75:33

। কিন্তু আপনি

75:34

যদি তাদের পথ

75:35

দেখাতে পারেন।

75:36

সঠিক উপায় হলো,

75:36

এবং আমি মনে করি

75:37

যারা আগে

75:37

ম্যানেজমেন্টের

75:38

কাজ করেছেন

75:38

তাদের জন্য এতে

75:39

একটি বিশাল

75:40

সুবিধা রয়েছে

75:40

। এটা অনেকটা

75:41

মানুষের

75:41

ম্যানেজার

75:42

হওয়ার মতো,

75:42

যেখানে আপনি

75:43

একটি বড় দলের

75:43

ম্যানেজার,

75:44

আপনি কোডের

75:44

প্রতিটি লাইন

75:45

দেখছেন না,

75:46

কিন্তু আপনি

75:46

অবশ্যই

75:46

সিস্টেমটির

75:47

আর্কিটেকচার

75:48

তৈরিতে

75:48

সাহায্য করছেন

75:49

। আমি মনে করি

75:49

এখানে একটি খুব

75:50

জোরালো

75:51

সাদৃশ্য

75:51

রয়েছে। আমি

75:52

>> একজন

75:52

ইঞ্জিনিয়ারিং

75:53

ম্যানেজার

75:54

ছিলাম। আমার

75:55

মতে, এই

75:55

এজেন্টদের

75:56

সাথে কাজ করা

75:57

ম্যানেজমেন্টের

75:58

মতো নয়, কারণ

75:58

ম্যানেজমেন্টে

75:59

অনেক বেশি

76:00

মানবিক বিষয়

76:00

থাকে। যেমন,

76:01

একজন

76:01

ম্যানেজার

76:02

হিসেবে আমি যখন

76:03

এই বিষয়গুলোর

76:03

কথা ভাবি, তখন

76:04

আমি মানুষের

76:05

দিকটা, মানুষের

76:05

মধ্যেকার

76:06

দ্বন্দ্ব,

76:06

পারফরম্যান্স

76:07

রিভিউ, মিটিং

76:08

ইত্যাদি অনেক

76:08

কিছুর

76:09

সম্মুখীন

76:09

হয়েছি।

76:09

কিন্তু আপনার

76:10

কাছে এর কিছুই

76:11

নেই। আপনার

76:11

কাছে

76:12

অর্কেস্ট্রেশন

76:13

আছে। যেমন, আমি

76:13

আবারও বলছি, এটা

76:14

অনেকটা আমার

76:15

ম্যানেজমেন্টের

76:16

একটি খুব সরল

76:16

পদ্ধতির মতো,

76:17

যেখানে তারা

76:18

বাধা দেয় না।

76:19

তারা কাজ শুরু

76:19

করে দেয়। কখনও

76:20

কখনও তারা

76:21

অবিশ্বস্ত হয়,

76:21

কিন্তু আমি

76:22

অর্কেস্ট্রেশন

76:23

শব্দটি একটু

76:23

বেশি ব্যবহার

76:24

করতে পছন্দ করি

76:24

কারণ আমার মনে

76:25

হয়

76:25

ম্যানেজমেন্ট

76:26

আরও অনেক বেশি

76:27

জড়িত। যেমন

76:27

আমি মনে করি এটা

76:28

ব্যাপারটা

76:28

অনেকটা এরকম যে,

76:28

একজন টেক লিডের

76:29

কোনো

76:29

ম্যানেজমেন্টের

76:30

দায়িত্ব নেই,

76:30

কিন্তু তার

76:31

অধীনে একদল

76:31

ইন্টার্ন আছে,

76:31

এবং তাদের

76:32

পারফরম্যান্স

76:32

বা অন্য কোনো

76:33

কিছু নিয়ে

76:33

তাকে মাথা

76:33

ঘামাতে হয় না।

76:34

মানে,

76:34

ব্যাপারটা

76:35

অনেকটা সেরকমই,

76:35

যদি আপনি বোঝেন

76:36

আমি কী বলতে

76:37

চাইছি।

76:37

>> হ্যাঁ, আমি একমত

76:38

। আমি এটাকে "

76:39

ইঞ্জিনিয়ারিং

76:40

ম্যানেজার" বলে

76:40

ব্যবহার করতাম,

76:41

কিন্তু আসল

76:42

ব্যাপারটা হলো

76:42

৩০ বা ৪০ জনের

76:43

কোনো

76:43

প্রতিষ্ঠানের

76:44

টেক লিড হওয়া,

76:45

বুঝলেন? অথবা

76:45

এমন একজন

76:46

আর্কিটেক্ট

76:46

হওয়া, যার জন্য

76:47

আর্কিটেক্ট

76:48

শব্দটা আমার

76:48

কাছে একটু

76:49

অপছন্দের মনে

76:50

হয়। কিন্তু

76:52

আপনি যদি এমন

76:53

একজন

76:53

আর্কিটেক্ট হন

76:53

যিনি মাঠ

76:54

পর্যায়েও কাজ

76:54

করেন, একজন হাতে

76:55

-কলমে কাজ করা

76:55

আর্কিটেক্ট,

76:56

এবং আপনার কোনো

76:56

ম্যানেজমেন্টের

76:57

ঝামেলা নেই, যা

76:57

একাধারে

76:57

আশীর্বাদ এবং

76:58

অভিশাপ, কিন্তু

76:58

এটা বেশ

76:59

অসাধারণ যে

76:59

আপনি এই

76:59

জিনিসগুলো

77:00

দ্রুত শুরু

77:00

করতে পারেন।

77:01

যদি তারা কোনো

77:01

ভুল করে, আপনি

77:02

তাদের ঠিক না

77:03

করা পর্যন্ত

77:03

শুধরে দিতে

77:04

পারেন। আমরা

77:04

মানবিক দিক

77:05

থেকে সবসময়ই

77:06

এটা করতে

77:06

পেরেছি, এবং আমি

77:07

এখন এটা আরও

77:07

দ্রুত করতে

77:08

পারি। আমার মনে

77:08

হয়, এর

77:09

চূড়ান্ত ফল

77:09

হলো, আপনাকে

77:10

আপনার সব কাজ

77:10

নিয়ে আরও বেশি

77:11

উচ্চাকাঙ্ক্ষী

77:12

হতে হবে। করতে

77:12

হবে। আপনি আরও

77:13

বেশি, উচ্চতর

77:14

পারফরম্যান্স,

77:15

উচ্চতর গুণমান

77:15

এবং আরও

77:16

সুরক্ষিত

77:16

জিনিস তৈরি

77:17

করতে পারবেন।

77:18

তাই, আমাদের

77:18

উচ্চাকাঙ্ক্ষা

77:19

বাড়াতে হবে।

77:20

>> আপনি এটাও

77:20

উল্লেখ করেছেন

77:21

যে, এআই-এর সাথে

77:22

আপনারা যেমন

77:22

নতুন নতুন

77:23

জিনিস তৈরি

77:24

করছেন, তেমনি

77:24

ককরোচডিবি (

77:25

CockroachDB)-এর

77:25

মাধ্যমেও

77:26

আপনারা এখন এমন

77:26

কিছু তৈরি

77:27

করছেন যা এআই-এর

77:28

সাথেও

77:28

সম্পর্কিত।

77:29

আপনি কি এ

77:29

বিষয়ে কথা

77:30

বলতে পারেন?

77:30

>> হ্যাঁ, হ্যাঁ।

77:31

আমরা একাধিক

77:32

জিনিস তৈরি

77:32

করছি। মানে, এআই

77:33

-ই ভবিষ্যৎ।

77:34

>> এটা এখানে

77:35

স্থায়ীভাবে

77:35

থাকবে। আমি মনে

77:36

করি এটা

77:37

নিশ্চিত।

77:37

>> হ্যাঁ। মানে,

77:38

আমাদের একটা

77:39

থিসিস হলো, যা

77:40

খুব একটা

77:40

অবাস্তব নয়,

77:41

ভবিষ্যতে

77:41

প্রতিটি

77:42

অ্যাপ্লিকেশন

77:43

এআই দ্বারা

77:44

লেখা হবে। আমার

77:45

মনে হয়, কিছু

77:45

বিশেষ ধরনের

77:46

সফটওয়্যার,

77:47

মানে হাতে তৈরি

77:47

সফটওয়্যার

77:48

থাকবে। আমরা

77:49

দেখব যে সেগুলো

77:50

টিকে থাকবে, ঠিক

77:51

যেমন মানুষ

77:51

এখনও

77:52

অ্যাসেম্বলি

77:52

কোড লেখে, তাই

77:53

না? কিন্তু

77:54

সেগুলোর আকার

77:55

ছোট হতে থাকবে।

77:57

সুতরাং,

77:57

অসীমতটীয়ভাবে

77:58

প্রায় ১০০%

77:59

সফটওয়্যার

77:59

এআই দ্বারা

78:00

তৈরি হবে, তাই

78:01

না?

78:01

>> হ্যাঁ। এটা

78:02

কঠিন। এটা বলা

78:03

কঠিন যে, মানুষ

78:03

কখন এজেন্ট

78:04

হিসেবে কাজ

78:04

করবে, অর্থাৎ এর

78:05

পেছনের

78:05

চালিকাশক্তি ও

78:06

রূপকল্প

78:07

সরবরাহ করবে।

78:07

আমার মনে হয়,

78:08

এই অবস্থা আরও

78:09

অনেক বছর টিকে

78:10

থাকতে পারে।

78:10

কিন্তু আমার

78:11

ধারণা, কোড মূলত

78:12

এআই-ই লিখবে।

78:14

এবং আমার মনে

78:15

হয়, আমরা

78:15

অ্যাপ্লিকেশনের

78:16

এক বিস্ফোরণ

78:17

দেখতে পাব।

78:18

আমরা ককরোচ

78:18

ল্যাবসের

78:19

ভেতরে এবং

78:19

অন্যান্য

78:20

জায়গাতেও এটা

78:21

দেখছি। এই

78:21

বছরের শুরুতে,

78:22

আমরা একটি

78:22

অভ্যন্তরীণ

78:23

প্ল্যাটফর্ম

78:24

চালু করেছিলাম

78:24

যেখানে নন-

78:25

ইঞ্জিনিয়াররা

78:25

ছোট ছোট

78:26

অ্যাপ্লিকেশন

78:27

লিখতে পারতেন।

78:27

মানে, আপনি

78:28

অন্যান্য

78:28

কোম্পানিতেও

78:29

এমনটা শুনছেন।

78:30

আমরাও একই কাজ

78:31

করেছি। এবং

78:32

মাত্র কয়েক

78:32

মাসের মধ্যে,

78:33

৫০০ থেকে ১০০০

78:34

অ্যাপ্লিকেশন

78:35

তৈরি হয়েছে।

78:36

>> নন-

78:36

ইঞ্জিনিয়ারদের

78:37

দ্বারা। মূলত

78:38

নন-

78:38

ইঞ্জিনিয়ারদের

78:39

দ্বারাই। এবং

78:40

আমার কাছে এটা

78:41

অসাধারণ

78:41

লেগেছে।

78:42

আমাদের এইচআর

78:42

টিম এই ছোট ছোট

78:43

অ্যাপ্লিকেশনগুলো

78:44

তৈরি করছে। আমি

78:44

সবসময় এই

78:45

কাজটি করার

78:45

স্বপ্ন দেখেছি

78:46

এবং এগুলো কখনও

78:47

জরিপ ছিল না।

78:47

আমি সব জায়গার

78:48

সিএফওদের কথা

78:48

শুনি এবং

78:49

আমাদের সিএফও-ও

78:49

তাই বলেন। এর

78:50

ব্যতিক্রম নয়,

78:50

তারা এমন

78:51

ড্যাশবোর্ড

78:51

তৈরি করছে যা

78:52

তারা আগে কখনো

78:52

তৈরি করতে পারত

78:53

না। এবং আমি মনে

78:53

করি এটা খুবই

78:54

ক্ষমতায়নকারী

78:55

। আমি বিবাহিত।

78:56

আমার একজন

78:56

স্ত্রী আছে।

78:57

তার

78:57

সফটওয়্যার

78:58

প্রয়োজন। সে

78:58

নিজে সেই

78:59

সফটওয়্যার

78:59

তৈরি করতে পারে

79:00

না এবং আমি আসলে

79:00

তাকে

79:00

সফটওয়্যার

79:01

তৈরিতে কখনো

79:01

সাহায্য করিনি,

79:02

যা আমার নিজের

79:02

ব্যর্থতা,

79:03

কিন্তু আমি মনে

79:03

করি ভবিষ্যতে

79:04

এমন একটা

79:04

পৃথিবী আসবে

79:05

যেখানে সেও

79:05

অন্যদের মতো

79:06

তাদের জন্য

79:06

কাস্টম

79:06

সফটওয়্যার

79:07

তৈরি করিয়ে

79:07

নিতে পারবে।

79:08

এবং আপনি আরও

79:09

দেখবেন যে

79:10

প্রতিটি

79:10

কোম্পানি আরও

79:11

উন্নত

79:11

অ্যাপ্লিকেশন

79:12

এবং উচ্চ মানের

79:13

সিস্টেম তৈরি

79:14

করছে।

79:15

>> আজ, আপনার

79:16

স্ট্যাক কী?

79:16

হার্ডওয়্যার,

79:17

মডেলের দিক

79:18

থেকে আপনি কী

79:19

নিয়ে কাজ করেন,

79:19

আপনি কীভাবে

79:20

এজেন্ট চালান?

79:21

এটা কি একটি

79:22

এজেন্ট? নাকি

79:22

একাধিক? আপনি

79:23

কোন ধরনের

79:24

টার্মিনাল

79:24

ব্যবহার করেন?

79:25

>> হ্যাঁ, হ্যাঁ।

79:26

সময়ের সাথে

79:26

সাথে এর

79:27

বিবর্তন ঘটেছে

79:27

। তো, জানেন,

79:28

যেমন আমি যখন

79:29

আবার এআই-এর

79:29

জিনিস নিয়ে

79:30

কাজ শুরু করি,

79:30

তখন ছিল গিটহাব

79:31

কপাইলট। আমি

79:32

প্রায় ২০

79:32

বছরের বেশি

79:33

সময় ধরে

79:33

ইম্যাক্স

79:33

ব্যবহারকারী

79:34

ছিলাম। ভিএস

79:35

কোডের জন্য এটা

79:35

অভদ্রতা। সে সব

79:37

এখন চলে গেছে।

79:38

এক পর্যায়ে

79:38

আমি ক্লড কোড (

79:39

Claude Code) ব্যবহার

79:40

করা শুরু করি।

79:41

যে কারণেই হোক,

79:41

আমি

79:42

টার্মিনালে

79:42

ক্লড কোড

79:43

ব্যবহার করা

79:43

শুরু করেছিলাম

79:44

। ইদানীং আমি

79:45

দুটোর মিশ্রণ

79:45

ব্যবহার করি।

79:46

তো, আমি আমার

79:47

বর্তমান

79:47

সেটআপটা

79:48

বর্ণনা করছি।

79:48

আমি ক্লড

79:49

ডেস্কটপ অ্যাপ

79:49

ব্যবহার করি,

79:50

ক্লড ডেস্কটপ

79:50

অ্যাপের

79:51

মাধ্যমেই ক্লড

79:51

কোড ব্যবহার

79:52

করি। এটা

79:52

অসাধারণ।

79:53

অ্যানথ্রোপিক (

79:54

Anthropic) খুব ভালো

79:54

কাজ করেছে। আমি

79:55

মাঝে মাঝে

79:56

কোডেক্স (Codex)

79:56

ডেস্কটপ

79:57

অ্যাপও

79:57

ব্যবহার করি,

79:58

যাতে আমাদের

79:58

কিছু অত্যন্ত

79:59

গুরুত্বপূর্ণ

80:00

কাজের জন্য

80:00

আমার কাছে একটি

80:01

বিকল্প মডেল

80:02

থাকে। আমি মাঝে

80:03

মাঝে সেরা

80:03

মডেলগুলোর

80:04

মধ্যে একটি

80:04

বেছে নিই।

80:05

প্রায়শই আমি

80:05

সেরা মডেলটি

80:06

ব্যবহার করি,

80:06

যেমন ফেবল (Fable),

80:07

আমি সম্প্রতি

80:08

এটি ব্যবহার

80:08

করা শুরু করেছি

80:09

। কখনও কখনও

80:09

অ্যাস্ট্রা (Astra)

80:10

ব্যবহার করি।

80:11

কখনও অন্যগুলো

80:12

। কিন্তু ধরুন,

80:12

একজন একটি

80:13

ডিজাইন তৈরি

80:14

করল, আর অন্যজন

80:14

বলল, "আমার

80:15

সহকর্মী এটা

80:15

তৈরি করেছে।

80:16

তুমি কি এটা

80:17

একটু তছনছ করে

80:17

অ্যাডভার্সারিয়াল

80:18

রিভিউ করতে

80:19

পারবে?" আর এটা

80:20

সবসময় নিখুঁত

80:20

হয় না, তাই না?

80:21

কিন্তু আমার

80:22

মনে হয় এর

80:22

উপযোগিতা আছে,

80:23

বিশেষ করে

80:23

অত্যন্ত

80:23

গুরুত্বপূর্ণ

80:24

কোনো কিছুর

80:25

জন্য। আমরা খুব

80:25

শীঘ্রই একটি

80:26

লঞ্চের দিকে

80:26

এগোচ্ছি এবং

80:27

একরকম শেষ

80:27

মুহূর্তের

80:27

দিকে

80:28

তাড়াহুড়ো

80:28

করছি। আমি

80:29

টিমের লোকজনকে

80:29

বলছি, বিশেষ করে

80:30

আমাদের খুব

80:30

সিনিয়রদের,

80:31

আপনাদের এখনই

80:32

সেরা মডেলটি

80:32

ব্যবহার করা

80:33

উচিত। হ্যাঁ।

80:33

এটা করাটা

80:34

লাভজনক। আমি

80:35

সাধারণত সেরা

80:36

মডেলটিই

80:36

ব্যবহার করি।

80:37

আর এর একটা কারণ

80:38

হলো, আমি আসলে

80:38

জানি না যে আমি

80:39

এর থেকে অনেক

80:39

বেশি

80:40

ইন্টেলিজেন্স

80:40

পাচ্ছি কি না,

80:41

কিন্তু আমি

80:41

প্রতিটি

80:42

ক্ষেত্রে

80:42

আলাদাভাবে

80:43

সিদ্ধান্ত

80:43

নেওয়ার

80:43

মানসিক চাপ

80:44

নিতে চাই না।

80:45

>> হ্যাঁ।

80:45

>> আমি কি সনেট

80:46

ব্যবহার করব?

80:46

আমি কি ওপাস

80:47

ব্যবহার করব?

80:48

আমি কি ফেবল

80:48

ব্যবহার করব?

80:49

আমি কি সোলার

80:50

অ্যাস্ট্রা

80:50

ব্যবহার করব? আর

80:51

আমার মনে হয়,

80:52

হয়তো যদি আমার

80:52

সত্যিই গতির

80:53

প্রয়োজন হয়,

80:54

তাহলে আমি সেই

80:54

সিদ্ধান্ত নেব

80:55

। কিন্তু

80:55

প্রায়শই, আমি

80:56

সমান্তরালভাবে

80:57

কাজ করি। তো,

80:58

আপনি জিজ্ঞেস

80:58

করছেন আমি

80:59

কয়টা এজেন্ট

81:00

চালু করছি?

81:00

আচ্ছা, এটা

81:01

নির্ভর করে।

81:02

যেমন, প্রায়শই

81:03

এমন হয় যে আপনি

81:03

একটি

81:04

নির্দিষ্ট

81:04

সংখ্যক সেশন

81:05

ব্যবহার করছেন

81:06

। আমি দেখি যে

81:07

আমার মানসিক

81:07

চাপ একই সাথে

81:08

প্রায় পাঁচ

81:09

থেকে দশটি সেশন

81:10

পর্যন্ত থাকে।

81:10

কিন্তু কখনও

81:11

কখনও সেই

81:12

সেশনগুলোতে

81:12

অনেক সাব-

81:13

এজেন্ট

81:13

বিভিন্ন কাজ

81:14

করে।

81:14

>> হ্যাঁ।

81:14

>> এবং

81:15

>> সেগুলো দীর্ঘ

81:16

সময় ধরে চলে।

81:17

>> হ্যাঁ, এটা

81:17

নির্ভর করে আমি

81:18

কী করছি তার উপর

81:19

।

81:19

>> হ্যাঁ।

81:19

>> এখানে আসার

81:20

সময়, ট্রেনে

81:20

থাকাকালীন, আমি

81:21

সামান্য

81:21

গবেষণার জন্য

81:22

কিছু একটা চালু

81:22

করেছিলাম, এবং

81:23

সেটায় সম্ভবত

81:23

মাত্র তিনটি

81:24

সাব-এজেন্ট

81:24

ব্যবহার করা

81:25

হয়েছিল। অন্য

81:25

সময়ে, ২০ টি

81:26

সাব-এজেন্টও

81:27

থাকতে পারে,

81:27

জানেন তো,

81:28

অ্যানথ্রোপিকের

81:29

ডাইনামিক

81:29

ওয়ার্কফ্লো

81:30

আছে। কোডেক্স

81:31

জিনিসটার নাম

81:31

কী তা আমার মনে

81:32

নেই, কিন্তু

81:33

তাদের কাছে

81:33

এজেন্টদের

81:34

গ্রাফ তৈরি

81:34

করার এবং

81:35

সেগুলোকে

81:35

চালানোর

81:36

বিভিন্ন উপায়

81:36

আছে। মানে, আমার

81:37

মনে হয় কখনও

81:38

কখনও আমি

81:38

সম্ভবত ১০০ টি

81:39

সাব-এজেন্ট

81:39

ব্যবহার করি,

81:40

আবার কখনও

81:40

মাত্র পাঁচটি।

81:41

এটা নির্ভর করে

81:42

কী ঘটছে তার উপর

81:43

। এবং কখনও কখনও

81:43

আমি এই এজেন্ট

81:44

সংক্রান্ত

81:45

কোনো কাজই করি

81:45

না কারণ আমি

81:46

অন্য কিছু

81:46

নিয়ে ভাবি।

81:47

>> আপনি তো ২০ বছর

81:47

ধরে ইম্যাক্স

81:48

ব্যবহার

81:48

করেছেন,

81:49

টার্মিনাল

81:49

ব্যবহার করতেন,

81:50

তাই না? বা বলা

81:51

ভালো,

81:51

ইম্যাক্সই।

81:52

কিন্তু আপনি

81:53

এজেন্টসহ

81:53

গ্রাফিক্যাল

81:54

ইন্টারফেসে

81:55

কেন চলে এলেন?

81:55

অনেকেই তো এখনও

81:56

টার্মিনাল

81:57

ইউআই ব্যবহার

81:58

করে।

81:58

>> হ্যাঁ, হ্যাঁ।

81:59

আসলে, আমি

82:00

ইম্যাক্স থেকে

82:00

ভিএস কোডে চলে

82:01

আসি। আমার এক

82:02

সহকর্মী বলল, "

82:03

এই আইডিইগুলো

82:04

তো খুব ভালো।

82:04

তোমার এগুলো

82:05

ব্যবহার করে

82:06

দেখা উচিত।" আমি

82:06

বললাম, "

82:07

ইম্যাক্স তো

82:07

একটা আইডিই।"

82:08

তারপর আমি অন্য

82:08

দিকে গেলাম এবং

82:09

আমার মনে হলো, "

82:09

এর কিছু জিনিস

82:10

অনেক বেশি

82:10

সাবলীল।" আর,

82:11

ইম্যাক্স

82:11

ক্রমাগত

82:12

এগিয়ে যাচ্ছে

82:12

। সবসময়ই মনে

82:13

হয় এটা ছয় মাস

82:14

থেকে এক বছর

82:15

পিছিয়ে আছে।

82:15

আর যখনই ওদের

82:16

নতুন ভার্সন

82:17

আসত, আমার

82:17

সেটআপটা ভেঙে

82:18

পড়ত, আর আমি

82:18

এতে ক্লান্ত

82:19

হয়ে

82:19

পড়েছিলাম।

82:20

তাই, আমি ভিএস

82:21

কোডে চলে গেলাম,

82:21

কিন্তু তারপর

82:22

দেখলাম, ভিএস

82:23

কোডে আমার

82:23

অনেকগুলো

82:24

টার্মিনাল

82:24

খোলা থাকত।

82:25

আমার সেটআপটা

82:26

সবসময় ভিএস

82:26

কোডের ট্যাবে

82:27

টার্মিনালের

82:28

মতো থাকত,

82:28

ট্যাবের মধ্যে

82:29

প্রায় আটটা

82:29

টার্মিনাল

82:30

খোলা থাকত আর

82:30

তারপর সেগুলো

82:31

জায়গা দখল করে

82:32

নিত। আগে

82:32

টার্মিনালে

82:33

শুধু ক্লড কোডই

82:34

চলত।

82:34

>> হ্যাঁ, হ্যাঁ।

82:35

>> হ্যাঁ। আর

82:35

তারপর, জানেন,

82:36

সম্প্রতি কোনো

82:36

এক সময়, ধরুন

82:37

ছয় সপ্তাহ আগে,

82:38

আমার এক

82:38

সহকর্মী বলল, "

82:38

তুমি কি

82:39

সম্প্রতি ক্লড

82:39

ডেস্কটপ

82:40

অ্যাপটা

82:40

ব্যবহার করে

82:40

দেখেছ? এটা

82:41

সত্যিই খুব

82:42

ভালো।" আমি

82:42

বললাম, "হ্যাঁ,

82:43

না, না, আমি খুব,

82:44

আমি খুব খুশি।"

82:44

আর আমি ওটাতে

82:45

চলে গেলাম এবং

82:46

প্রথমে একটু

82:46

অদ্ভুত লাগছিল,

82:47

তারপর হঠাৎ

82:47

আমার মনে হলো, "

82:48

বাপরে, এটা তো

82:48

দারুণ।"

82:49

>> আপনি

82:49

এজেন্টদের

82:49

আরেকটু

82:50

ভালোভাবে

82:50

পরিচালনা করতে

82:51

পারবেন,

82:51

সেশনগুলো আরও

82:52

সহজ হবে।

82:52

>> হ্যাঁ,

82:53

সেশনগুলো

82:53

পাশেই আছে,

82:54

বুঝলেন তো, এবং

82:55

এগুলো অনেকটা

82:56

ট্যাবের মতো।

82:57

আর এটা

82:57

অ্যানথ্রোপিকের

82:58

করা পুরো

82:59

ইন্টিগ্রেশনকে

82:59

একত্রিত করবে

83:00

এবং ওপেন এআইও

83:01

এখন একই কাজ

83:01

করছে। আর

83:02

যাইহোক, আমি

83:03

কার্সর,

83:03

ফ্যাক্টরি এবং

83:04

কগনিশনকে ছোট

83:04

করে দেখছি না,

83:05

তারা সবাই একই

83:06

জিনিস নিয়ে

83:07

কাজ করছে। এই

83:07

সিস্টেমগুলো

83:08

এখন কত দ্রুত

83:09

উদ্ভাবন করছে

83:09

এবং বিকশিত

83:10

হচ্ছে তা

83:10

অবিশ্বাস্য।

83:11

আপনার কী মনে

83:12

হয়, এআই আসার

83:12

আগের ৪ বছর আগের

83:13

তুলনায় আজকের

83:14

দিনে ভালো

83:14

সফটওয়্যার

83:15

ইঞ্জিনিয়ারিং

83:16

কেমন দেখতে? এটা

83:17

কি বদলে গেছে?

83:18

ভালোর কি কোনো

83:18

পরিবর্তন

83:19

হয়েছে নাকি

83:19

তেমন কোনো

83:20

পরিবর্তন

83:20

হয়নি? হ্যাঁ।

83:21

আমার মনে হয়

83:22

উচ্চাকাঙ্ক্ষা

83:23

বাড়াতে হবে,

83:23

বুঝলেন তো? আমার

83:24

মনে হয় গুণমান

83:25

আরও উন্নত হতে

83:26

হবে, নিরাপত্তা

83:26

আরও বাড়াতে

83:27

হবে। আপনি

83:28

গুণমানের কথা

83:28

উল্লেখ করায়

83:29

আমি খুশি। আমরা

83:30

কি

83:30

>> এটা নিয়ে কথা

83:31

বলতে পারি, কারণ

83:32

আমি পুরো

83:32

ইন্ডাস্ট্রিতেই

83:33

গুণমানের পতন

83:34

দেখছি, যার জন্য

83:35

পুরোপুরি এআই-

83:35

কে দায়ী করা

83:36

যায় না, কিন্তু

83:37

প্রায়শই এর

83:37

জন্য এআই-ই

83:38

দায়ী। লোকেরা

83:39

কেবল আরও বেশি

83:40

বেশি কোড তৈরি

83:41

করে চলেছে এবং

83:42

এখানে-সেখানে

83:42

ছোটখাটো

83:43

রিগ্রেশনের

83:44

দিকে মনোযোগ

83:44

দিচ্ছে না।

83:45

আবার, ধরুন আপনি

83:47

একটি ডেটাবেস

83:48

তৈরি করছেন,

83:49

>> হ্যাঁ, হ্যাঁ।

83:49

>> আপনি কি কোনো

83:50

কোয়ালিটি

83:50

রিগ্রেশন

83:51

লক্ষ্য করেছেন

83:51

বা সে সম্পর্কে

83:52

কোনো ফিডব্যাক

83:53

পেয়েছেন? অথবা

83:54

যদি না পেয়ে

83:54

থাকেন, তাহলে

83:55

কেন? কারণ এটা

83:56

তো খুবই সাধারণ

83:57

একটা বিষয়,

83:58

যেমন আমরা

83:58

পদার্থবিজ্ঞানের

83:59

সূত্র নিয়ে

84:00

কথা বলি, এটা

84:01

একটা

84:01

পর্যবেক্ষণযোগ্য

84:02

বিষয় যে যখন

84:03

আপনার আউটপুট

84:04

বাড়তে শুরু

84:04

করে, আপনি আপনার

84:05

ডেপ্লয়মেন্ট

84:06

ফ্রিকোয়েন্সি

84:07

বাড়ান, তখন

84:08

প্রায়শই,

84:08

সবসময় না,

84:09

কিন্তু

84:09

প্রায়শই

84:10

আপনার আরও বেশি

84:11

রিগ্রেশন এবং

84:12

আরও বেশি বাগ

84:12

দেখা দেয়।

84:13

>> আপনি যদি একটি

84:14

নির্দিষ্ট

84:14

সংখ্যক লাইন

84:14

কোড তৈরি করেন,

84:15

তাহলে সম্ভবত

84:15

প্রতি লাইন

84:16

কোডে একটি

84:16

নির্দিষ্ট

84:17

সংখ্যক

84:17

ডিফেক্ট থাকবে

84:18

। এবং এখন আপনি

84:18

আরও বেশি লাইন

84:19

কোড তৈরি করতে

84:19

পারেন, তাই

84:20

সম্ভবত আপনার

84:20

আরও বেশি

84:21

ডিফেক্ট থাকবে,

84:21

তাই না? কিন্তু

84:22

যে বিষয়টি এর

84:23

বিরুদ্ধে যায়

84:23

তা হলো, আপনি এই

84:24

এজেন্টদের

84:25

বলতে পারেন যে,

84:25

আপনাকে এই

84:26

বিষয়ে তাদের

84:27

বেশ কঠোরভাবে

84:27

নিয়ন্ত্রণ

84:28

করতে হবে। আমি

84:28

আশা করি মডেল

84:29

প্রোভাইডাররা

84:30

এই বিষয়টি

84:31

শুনছেন।

84:31

আপনাকে তাদের

84:32

বেশ কঠোরভাবে

84:33

নিয়ন্ত্রণ

84:33

করতে হবে। তারা

84:34

এই বিষয়ে

84:34

কিছুটা অলস

84:35

হয়ে পড়ে।

84:36

টেস্টিংয়ের

84:36

দিকটা। এবং

84:37

আপনাকে

84:37

নিশ্চিত করতে

84:38

হবে যে

84:38

পরীক্ষাগুলো

84:38

যেন ব্যাপক হয়,

84:39

কিন্তু সেই

84:39

সাথে তারা যেন

84:40

সমস্ত

84:40

প্রযুক্তিগত

84:41

টেস্টিং কৌশলও

84:41

ব্যবহার করে।

84:42

এবং অনেক

84:42

টেস্টিং কৌশল

84:43

রয়েছে।

84:43

কীভাবে

84:44

ভালোভাবে

84:44

টেস্টিং করতে

84:45

হয় সে

84:45

সম্পর্কে

84:45

আমাদের অনেক

84:46

জ্ঞান আছে। এবং

84:47

জানেন কি?

84:47

এজেন্টরা অলস।

84:49

মানুষও কিছুটা

84:50

অলস। তাই,

84:50

মানুষকে তাদের

84:51

টেস্টিংয়ের

84:51

ব্যাপারে

84:52

সত্যিই খুব

84:52

শৃঙ্খলাপরায়ণ

84:53

করে তোলাটাও

84:53

বেশ

84:53

চ্যালেঞ্জিং।

84:54

আমার মনে হয়,

84:54

এজেন্টদের

84:55

ক্ষেত্রে এটা

84:55

আসলে সহজ। আপনি

84:56

জানেন, আপনি এটা

84:57

তাদের মধ্যে

84:57

গেঁথে দিতে

84:57

পারেন। আপনি

84:58

তাদের

84:58

প্রস্তুত করে

84:59

দিতে পারেন।

84:59

আপনাকে তাদের

85:00

নির্দেশনা

85:00

দিতে হবে।

85:00

প্রপার্টি-

85:01

বেসড টেস্টিং

85:01

ব্যবহার করুন।

85:02

মেটামরফিক

85:02

টেস্টিং

85:03

ব্যবহার করুন।

85:03

এই ধরনের উন্নত

85:04

টেস্টিং

85:04

কৌশলগুলো

85:05

ব্যবহার করুন।

85:05

ডিটারমিনিস্টিক

85:06

সিমুলেশন

85:07

টেস্টিং।

85:07

জানেন, এমন অনেক

85:08

কৌশল আছে যা

85:09

আপনি ব্যবহার

85:09

করতে পারেন। আর

85:10

মানুষেরা

85:11

সবসময় এমন যে,

85:12

আমি নিজেই অলস।

85:13

আমি

85:13

টেস্টিংয়ের

85:13

ব্যাপারে

85:14

শৃঙ্খলাপরায়ণ

85:14

হতে বেশ ভালোই

85:15

পারি। একটা

85:15

পর্যায়ে আপনি

85:16

ভাবেন, ঠিক আছে,

85:17

যথেষ্ট হয়েছে

85:17

। এবার আমাদের

85:18

শিপ করতে হবে।

85:19

এবং এখন আপনি

85:20

আরেকটু কঠোর

85:21

এবং দৃঢ় হতে

85:21

পারেন। আমার

85:22

মনে হয়,

85:23

নিরাপত্তার

85:23

ক্ষেত্রেও একই

85:24

কথা প্রযোজ্য।

85:25

পারফরম্যান্সের

85:26

দিকটা। মানে,

85:26

ককরোচে আমরা

85:27

ইন্ডাস্ট্রিতে

85:28

বরাবরই

85:28

সিকিউরিটি

85:29

কোডিং

85:29

প্র্যাকটিস

85:30

সম্পর্কে জানি

85:31

।

85:31

>> হ্যাঁ।

85:31

>> আপনি আক্ষরিক

85:32

অর্থেই

85:32

প্রতিটি

85:33

কমিটের

85:33

প্রতিটি কোড

85:34

লাইন একজন

85:34

সিকিউরিটি

85:35

এক্সপার্টকে

85:35

দিয়ে রিভিউ

85:36

করাতে পারেন,

85:36

যিনি

85:37

>> একজন এজেন্ট বা

85:38

একাধিক

85:38

এজেন্টের

85:39

মাধ্যমে একটি

85:39

প্রতিকূল

85:40

নিরাপত্তা

85:40

পর্যালোচনার

85:41

মতো কাজ করেন।

85:42

তাই

85:43

>> না? আর জানেন,

85:43

আমরা এখন

85:44

ইন্ডাস্ট্রিতে

85:45

হ্যাকিং,

85:45

সিকিউরিটি লিক

85:46

এবং এই জাতীয়

85:46

বিষয় নিয়ে

85:47

একটি কঠিন

85:47

সময়ের মধ্যে

85:48

দিয়ে যাচ্ছি।

85:49

সফটওয়্যারে

85:49

সীমিত সংখ্যক

85:50

বাগ থাকতে পারে

85:51

। মানে, আমরা

85:52

সিকিউরিটি এবং

85:52

কোয়ালিটির

85:53

দিক থেকে

85:54

সেগুলোকে ঠিক

85:54

করে ফেলি। আর

85:55

যখন আমি

85:55

কোয়ালিটির

85:56

কথা বলি, তখন

85:57

আমি বাগের কথা

85:57

বলি, কিন্তু এর

85:58

মধ্যে ছোটখাটো

85:59

জিনিসও থাকে।

86:00

যেমন, ওহ, ওই

86:00

ইউএক্স

86:01

এলিমেন্টটা

86:02

ভুল। আর এখন এর

86:03

কোনো অজুহাত

86:03

চলে না। এটা ঠিক

86:05

করা খুবই সহজ।

86:06

আর আমরা এটাও

86:07

দেখতে শুরু

86:07

করেছি যে,

86:08

ডিজাইনাররা

86:09

ফিগমা ব্যবহার

86:09

করছে। আমার মনে

86:10

হয়, এটা এখন

86:11

অতীত হয়ে

86:11

যাওয়া উচিত,

86:12

তাই না? এখন,

86:13

আমাদের

86:13

ডিজাইনার

86:14

সরাসরি HTML, CSS এবং

86:15

JavaScript নিয়ে কাজ

86:16

করেন। এবং মাঝে

86:17

মাঝে তিনি পুল

86:18

রিকোয়েস্ট,

86:19

মানে PRs, তৈরিও

86:20

করেন, যেটা তিনি

86:21

খুব পছন্দ করেন

86:21

। আমরা সবাই এটা

86:22

পছন্দ করি।

86:23

সবাই এতে খুশি।

86:24

এখানে

86:25

ওয়াটারফল

86:25

হ্যান্ডঅফের

86:25

মতো কোনো

86:26

ব্যাপার নেই।

86:26

তিনি

86:27

>> প্রোডাকশন

86:28

কোডবেসের জন্য

86:28

পুল

86:28

রিকোয়েস্ট

86:29

তৈরি করছেন।

86:30

>> হ্যাঁ। হ্যাঁ।

86:31

আর জানেন, এটা UX

86:31

সাইডের কাজ, কোর

86:32

ডেটাবেসের নয়

86:33

।

86:33

>> অবশ্যই, কিন্তু

86:34

এটাই সেই

86:34

জায়গা যেটা

86:35

তিনি নিজের

86:35

নিয়ন্ত্রণে

86:35

রেখেছেন, তাই না

86:36

?

86:36

>> হ্যাঁ, হ্যাঁ।

86:37

ঠিক আছে। মানে,

86:38

তিনি এটা খুব

86:38

পছন্দ করেন।

86:39

সবাই এটা পছন্দ

86:40

করে। মানে, এর

86:40

কোনো খারাপ দিক

86:41

নেই।

86:41

>> এটা নতুন কিছু

86:42

নয়।

86:42

>> হ্যাঁ।

86:43

>> অবশ্যই।

86:43

>> হ্যাঁ, হ্যাঁ।

86:44

>> কোড রিভিউ

86:45

সম্পর্কে কী

86:45

বলবেন? কোড

86:46

রিভিউ নিয়ে

86:46

আপনার মতামত কী?

86:47

আমার মনে হয়

86:48

এটা বেশ

86:48

বিতর্কিত হতে

86:49

শুরু করেছে।

86:49

যেমন, এটা কি

86:50

থাকবে নাকি

86:50

থাকবে না? কারণ

86:51

এটা এমন একটা

86:52

পদ্ধতি যা অনেক

86:52

দিন ধরেই চলে

86:53

আসছে। যেমন

86:53

ধরুন, আপনি

86:54

গুগলে কাজ

86:55

করেছেন। গুগল

86:55

কোড রিভিউর

86:56

ব্যাপারে খুবই

86:57

সচেতন। আমি

86:57

যতদূর জানি,

86:58

তারা দুই ধরনের

86:59

কোড রিভিউ

86:59

ব্যবহার করত,

87:00

তাই না? মূল

87:00

বিশেষজ্ঞ

87:01

পর্যালোচনা,

87:01

এবং তারপর ভাষা

87:02

বিশেষজ্ঞ

87:03

পর্যালোচনাও

87:03

আছে। তো আপনি

87:04

সেটার মধ্যে

87:04

দিয়ে গেছেন।

87:05

আপনি এটা নিয়ে

87:06

কী ভাবতেন, এবং

87:07

এখন কী ভাবছেন?

87:08

>> আমি একসময় C ++

87:09

কোডিং-এর প্রথম

87:10

দিকের

87:10

সদস্যদের একজন

87:11

ছিলাম।

87:12

>> আমি আপনাকে

87:13

জিজ্ঞেস করছি,

87:13

ঠিক আছে, আপনার

87:14

জোরালো মতামত

87:15

থাকবে। বলুন।

87:16

>> হ্যাঁ, হ্যাঁ।

87:17

মানে, আমি মনে

87:18

করি AI-এর যুগের

87:19

আগে কোড রিভিউ

87:19

বেশ জরুরি ছিল,

87:20

কিন্তু এখন

87:21

আমরা এমন এক

87:22

পর্যায়ে

87:22

পৌঁছেছি

87:23

যেখানে আমি কোড

87:24

রিভিউ করছি এবং

87:25

দেখছি। আমি

87:26

এখনও এজেন্টের

87:27

তৈরি করা

87:27

বেশিরভাগ কোডই

87:28

দেখি, এবং

87:28

তারপরেও মনে

87:29

হয় যেন আপনি

87:30

এটাকে একই

87:30

স্তরের

87:31

সূক্ষ্মভাবে

87:31

পরীক্ষা করছেন

87:32

না, তাই না? আর

87:33

এটা সবসময়ই

87:34

এমন ছিল। আপনি

87:35

যদি একজন

87:35

জুনিয়র

87:35

ইঞ্জিনিয়ারের

87:36

কাছ থেকে একটি

87:36

পুল

87:36

রিকোয়েস্ট

87:36

পান, তবে আপনার

87:37

সবচেয়ে

87:37

সিনিয়র

87:37

ইঞ্জিনিয়ারের

87:38

কাছ থেকে

87:38

পাওয়ার চেয়ে

87:38

আপনাকে এটি আরও

87:39

বেশি

87:39

সূক্ষ্মভাবে

87:39

পরীক্ষা করতে

87:40

হবে। এবং আপনি

87:40

যেকোনো টেক লিড,

87:41

যেকোনো

87:41

ইঞ্জিনিয়ারিং

87:42

ম্যানেজার,

87:42

যেকোনো

87:42

সফটওয়্যার

87:43

ইঞ্জিনিয়ারকে

87:43

জিজ্ঞেস করুন,

87:44

তারা বলবে,

87:44

হ্যাঁ, হ্যাঁ।

87:45

জুনিয়র

87:45

ইঞ্জিনিয়ার

87:46

বা কোডবেসে

87:46

নতুন কেউ, আপনি

87:47

জানেন, আপনাকে

87:48

আরও বেশি

87:48

খুঁটিয়ে

87:49

দেখতে হবে। আর

87:49

আমি যা দেখছি তা

87:50

হলো, এজেন্টরা

87:50

আরও ভালো হচ্ছে,

87:51

আপনাকে ক্রমশ

87:52

কম খুঁটিয়ে

87:52

দেখতে হচ্ছে।

87:53

তবুও আপনাকে

87:53

কিছু কিছু

87:54

বিষয় এখনও

87:54

খুঁটিয়ে

87:55

দেখতে হবে।

87:55

যেমনটা আমি

87:56

বললাম,

87:56

ব্যাপারটা এমন

87:57

যে টেস্টিং

87:57

অসম্পূর্ণ

87:58

থাকবে। আর

87:58

হয়তো তারা

87:59

সিকিউরিটির

87:59

নিয়মগুলো

87:59

অনুসরণ করেনি।

88:00

হয়তো,

88:01

পারফরম্যান্সে

88:01

কোনো অবনতি

88:02

হয়েছিল। আর

88:03

আমার মনে হয়,

88:03

সিস্টেমের ওপর

88:04

এক ধরনের

88:05

সীমাবদ্ধতা

88:05

নিশ্চিত করা

88:06

হয়েছে, যাতে

88:07

তাদের পক্ষে

88:07

ভুল কিছু করা

88:08

কঠিন হয়। আমার

88:09

সন্দেহ হয় যে,

88:10

আমি জানি না এটা

88:11

এই বছর হবে নাকি

88:12

পরের বছর, আমরা

88:13

হয়তো কোডকে

88:13

সেভাবে দেখা

88:14

বন্ধ করে দেব

88:15

যেভাবে আমরা

88:16

এখন আর

88:16

অ্যাসেম্বলি

88:17

দেখি না।

88:17

>> হ্যাঁ।

88:18

>> যেমন, আমরা

88:19

>> কম্পাইলারের

88:19

ওপর ভরসা করি যে

88:20

এটি বেশ ভালো

88:21

অ্যাসেম্বলি

88:21

তৈরি করবে।

88:22

>> আমরা

88:22

কম্পাইলারের

88:23

ওপর ভরসা করি যে

88:23

এটি ভালো

88:23

অ্যাসেম্বলি

88:24

তৈরি করবে।

88:25

>> যদি না আপনি সেই

88:25

ধরনের মানুষ হন

88:26

যাদের জন্য এটা

88:27

সত্যিই

88:27

গুরুত্বপূর্ণ,

88:28

আপনি হয়তো

88:28

একজন গেম

88:29

ডেভেলপার বা

88:29

অন্য কেউ এবং

88:30

আপনি দেখুন,

88:31

কিন্তু এই

88:31

ধরনের লোকের

88:32

সংখ্যা দিন দিন

88:32

কমে আসছে।

88:33

>> হ্যাঁ। এবং

88:34

তারপরেও, আমার

88:35

মনে হয় আমরা

88:36

যেদিকে এগোব তা

88:37

হলো, মানুষকে

88:37

কেন

88:38

অ্যাসেম্বলি

88:39

দেখতে হবে? এআই-

88:40

এরই তো

88:40

অ্যাসেম্বলি

88:41

দেখা উচিত।

88:42

যেমন, আমি এখন

88:42

এমন একটা কাজ

88:43

করছি যেখানে

88:44

আমি এমন একটা

88:44

অ্যাবস্ট্রাকশন

88:45

চাই যার কোনো

88:46

ওভারহেড থাকবে

88:47

না, এমন একটা

88:47

কাজের জন্য যা

88:48

টেস্ট টাইমে

88:49

করা হবে এবং

88:49

প্রোডাকশনে

88:50

গেলে কম্পাইল

88:51

হয়ে যাবে।

88:51

তারা আমার জন্য

88:52

একটা ছোট

88:52

সিস্টেম তৈরি

88:53

করে দেবে

88:53

যেখানে এটি

88:54

ডিকম্পাইল করা

88:55

কোড দেখবে এটা

88:55

যাচাই করার

88:56

জন্য যে সেখানে

88:56

মাত্র কয়েকটি

88:57

আসল

88:57

ইনস্ট্রাকশন

88:58

বসানো হয়েছে।

88:59

আমি হয়তো

88:59

কখনোই ওটা

88:59

বসাতাম না,

89:00

কিন্তু এখন এর

89:00

একটা গার্ডরেল

89:01

আছে যে যখনই এটি

89:02

কিছু পরিবর্তন

89:02

করবে, এটি যাচাই

89:03

করতে পারবে যে

89:04

কোনো রিগ্রেশন

89:04

হচ্ছে না। এবং

89:05

আমার মনে হয়

89:05

আপনি এই ধরনের

89:06

জিনিস আরও বেশি

89:06

দেখতে পাবেন

89:07

যেখানে আপনি এক

89:07

ধরনের

89:08

গার্ডরেল

89:08

বসিয়ে

89:08

দিচ্ছেন। আমার

89:09

মনে হয় মডেল

89:10

এটা পছন্দ করে

89:10

কারণ এটি সেই

89:11

গার্ডরেলের

89:11

মধ্যে থেকেই

89:12

কাজ করতে পারে।

89:13

>> এখন, প্রায় ২০

89:14

বছরেরও বেশি

89:15

সময় ধরে, আপনি

89:16

এত কোড লিখেছেন

89:17

। আমি নিশ্চিত

89:18

আপনি তখন কাজের

89:19

মধ্যে ডুবে

89:19

ছিলেন। আপনার

89:20

কি সেই সময়ের

89:21

কথা মনে আছে? আর

89:22

আপনি তো প্রচুর

89:22

প্রোডাকশন-

89:23

রেডি কোড

89:24

লিখেছেন। এখন

89:24

যেহেতু আপনি

89:25

এআই (AI) দিয়ে

89:26

কোডিং করছেন,

89:27

আপনি কি সেই '

89:28

জোন'-এ ঢুকে যান?

89:29

>> হ্যাঁ। অবশ্যই

89:30

।

89:30

>> আর সেই 'জোন'টা

89:31

কেমন? এটা কি

89:32

একই রকম? নাকি

89:33

আলাদা?

89:34

>> এটা

89:34

নিশ্চিতভাবেই

89:35

কিছুটা আলাদা

89:36

মনে হয়। এটা

89:36

হয়তো কিছুটা

89:37

কম তীব্র,

89:38

কিন্তু আপনাকে

89:38

মানসিকভাবে

89:39

আরও অনেক কিছু

89:40

সামলাতে হয়।

89:41

>> আচ্ছা, আপনি কি

89:41

আমাকে বর্ণনা

89:42

করতে পারবেন যে

89:42

এই মুহূর্তে

89:43

যখন আপনি' জোন '-এ

89:44

থাকেন, তখন ঠিক

89:44

কী অবস্থা হয়?

89:45

>> হ্যাঁ। আসলে,

89:46

আমি এমন সব

89:46

আইডিয়া নিয়ে

89:47

ভাবি যেগুলো

89:48

নিয়ে পরীক্ষা-

89:48

নিরীক্ষা করতে

89:49

সাধারণত আমার

89:50

এক সপ্তাহ লেগে

89:51

যেত। আর আমি এই

89:51

ধরনের একাধিক

89:52

পরীক্ষার কথা

89:53

ভাবি এবং

89:53

সবগুলো একসাথে

89:54

চালিয়ে দিই।

89:55

আর তারপর আমি

89:56

পর্যালোচনা

89:56

করতে থাকি যে,

89:57

যখন ওগুলো শেষ

89:58

হচ্ছে, তখন আর

89:59

কী করা উচিত।

89:59

কখনও কখনও আমি

90:00

পর্যালোচনা

90:00

করতে থাকি যখন

90:01

তারা আমাকে

90:01

কাজের

90:01

অগ্রগতির

90:02

আপডেট দেয়,

90:02

যেমন, "ওহ, এই

90:03

জিনিসটা আসছে।

90:03

আমরা এই

90:04

জিনিসগুলো

90:04

দেখছি।" আর আমি

90:05

ভাবি, "আচ্ছা,

90:06

এটা তো ঠিক মনে

90:06

হচ্ছে না।

90:07

আচ্ছা, এটা কেমন

90:08

হয়?" নাকি আমরা

90:09

এটা ঠিকভাবে

90:09

করছি? হতে পারে

90:10

আমার কাছে

90:10

ডিজাইন ছিল এবং

90:11

ডিজাইনটা

90:11

পুরোপুরি

90:12

নিখুঁতভাবে

90:12

প্রয়োগ করা

90:13

হচ্ছে না।

90:13

কিন্তু আমার

90:14

কেমন যেন একটা

90:14

অনুভূতি হচ্ছে

90:15

যে, আমি কলেজের

90:16

অধ্যাপক ছিলাম

90:16

না, কিন্তু যদি

90:17

আমি একজন

90:18

অধ্যাপক হতাম

90:18

এবং আমার

90:19

একঝাঁক গবেষণা

90:19

সহকারী থাকত, আর

90:20

তারা সবাই

90:21

নিজেদের কাজে

90:21

চলে যেত, আর এখন

90:22

কাজগুলো ফিরে

90:23

আসছে। খুব

90:23

দ্রুত ফিরে

90:24

আসছে।

90:24

>> সত্যিই খুব

90:25

দ্রুত। আপনাকে

90:26

মাস বা সপ্তাহ

90:26

ধরে অপেক্ষা

90:26

করতে হচ্ছে না।

90:27

>> আমি মাস বা

90:27

সপ্তাহ ধরে

90:28

অপেক্ষা করছি

90:28

না। আর তারপর

90:29

আমি বারবার

90:29

চেষ্টা করছি।

90:30

আমি ভাবছি, ওহ,

90:30

ওটা ব্যর্থ

90:31

হয়েছে। ঠিক

90:31

আছে, ছেড়ে দিতে

90:32

হবে। আর এটাই

90:33

হলো আমার তৈরি

90:34

করা

90:34

সফটওয়্যারের

90:35

প্রকৃতি। আমার

90:36

মনে হয়,

90:36

অন্যান্য

90:36

ক্ষেত্রে আপনি

90:37

খুব দ্রুত একটা

90:38

ওয়েবসাইট বা

90:38

এমন কিছু তৈরি

90:39

করে ফেলতে

90:39

পারেন, যেটা

90:40

এতটা চুলচেরা

90:41

বিশ্লেষণের

90:41

মধ্যে দিয়ে

90:42

যায় না।

90:42

কিন্তু আমি এই

90:43

বিষয়ে কথা

90:44

বলার সময় আমার

90:44

কাছে অনেকগুলো

90:45

উপমা আছে।

90:46

>> চলুন উপমা

90:46

নিয়ে কথা বলা

90:47

যাক। কৃত্রিম

90:48

বুদ্ধিমত্তা (AI)

90:49

ব্যবহার করার

90:50

বিষয়ে আপনার

90:51

কাছে কী কী উপমা

90:52

আছে? আমি

90:55

>> গত বছরের শেষের

90:55

দিকে এবং এই বছর

90:56

দুটো উপমার

90:57

পক্ষে কথা

90:57

বলছিলাম,

90:58

যেগুলো হলো—AI

90:58

আমাদের দিকে

90:59

আসছে। এটা

91:00

এখানে, তাই না?

91:01

আর এটা অনেকটা

91:01

এরকম যে, আপনি

91:02

সফটওয়্যার

91:02

তৈরি করছেন,

91:03

আপনি রাস্তা

91:03

দিয়ে হেঁটে

91:04

যাচ্ছেন। আর

91:04

মাঝে মাঝে, কেউ

91:05

আপনাকে পাশ

91:06

কাটিয়ে চলে

91:06

যাবে। তারা

91:07

দৌড়াচ্ছে।

91:07

তাদের একটি

91:08

দক্ষ গেট এবং

91:08

আরও অনেক কিছু

91:09

আছে। কিন্তু

91:10

প্রত্যেকেই

91:10

তার নিজের

91:11

গতিতে চলছে। আর

91:12

এই সক্রিয়

91:12

কোডিং

91:12

এজেন্টগুলো

91:13

এলো এবং

91:13

ব্যাপারটা ছিল

91:14

অনেকটা এরকম যে,

91:15

আপনার পাশে

91:15

একটি গাড়ি এসে

91:16

থামল। আপনি

91:17

গাড়িতে উঠলেন,

91:17

আপনি গাড়ি

91:18

চালাতে জানেন

91:18

না, আপনি

91:18

কন্ট্রোলগুলো

91:19

বোঝেন না,

91:19

কিন্তু আপনাকে

91:20

গাড়িতে উঠতেই

91:20

হবে এবং আপনি

91:21

গ্যাস পেডালে

91:21

চাপ দেওয়ার

91:22

জন্য লড়াই

91:22

শুরু করলেন আর

91:22

গাড়িটা ছুটে

91:23

গিয়ে একটা

91:23

গাছে ধাক্কা

91:24

খেল। কিন্তু

91:24

আপনাকে গাড়ি

91:25

চালানো শিখতে

91:26

হবে, তাই না?

91:26

আমার মনে হয়,

91:27

এই সমস্ত কোডিং

91:28

টুল ব্যবহার

91:29

করাটা এমনি

91:29

এমনি হয়ে যায়

91:30

না। এটা অনেকটা

91:31

গাড়ি চালানো

91:32

শেখার মতো।

91:32

আমার মনে হয়

91:33

আমরা এখন এফ-

91:33

ওয়ান (F1)

91:34

ড্রাইভারদের

91:34

যুগে আছি,

91:35

অর্থাৎ যারা

91:35

সত্যিই দক্ষ,

91:36

তারা এই

91:36

সিস্টেমগুলোকে

91:37

তাদের চেয়ে

91:38

অনেক বেশি

91:38

কঠিনভাবে, অনেক

91:39

দ্রুত চালাতে

91:40

পারে, যারা কেবল

91:41

এগুলো ব্যবহার

91:41

শুরু করছে।

91:42

আপনি যদি কখনও

91:42

কোনো এজেন্টিক

91:43

কোডিং টুল

91:43

ব্যবহার না করে

91:44

থাকেন, তাহলে

91:45

এমন একজনের

91:45

সাথে বিশাল

91:45

পার্থক্য

91:46

দেখতে পাবেন

91:46

যিনি এতে

91:47

সত্যিই

91:47

বিশেষজ্ঞ,

91:47

জানেন কোথায়

91:48

সমস্যা হচ্ছে

91:48

এবং সেদিকে

91:49

মনোযোগ দিতে

91:49

পারেন, আর এমন

91:50

একজনের সাথে

91:50

যিনি এইমাত্র

91:51

প্রথমবার এটি

91:51

ব্যবহার শুরু

91:52

করেছেন।

91:52

>> আমি একটা উপমা

91:53

শুনেছি, আমরা

91:54

একসময় '১০ গুণ

91:55

দক্ষ

91:55

ইঞ্জিনিয়ার'(10x

91:56

engineer) নিয়ে কথা

91:57

বলতাম, আপনার

91:57

মনে আছে? এটা

91:58

নিয়ে অনেক দিন

91:59

ধরে বিতর্ক ছিল,

91:59

এটা কি সত্যি

92:00

নাকি সত্যি নয়?

92:01

কিন্তু এখন আমি

92:02

'১০০ গুণ দক্ষ

92:02

ইঞ্জিনিয়ার'(100x

92:03

engineer) এর কথা

92:04

শুনছি।

92:04

>> হ্যাঁ। তাহলে

92:05

>> আপনি বলছেন যে

92:06

আপনি এমন কিছু

92:07

লোককে দেখছেন

92:07

যারা হয়তো '১০০

92:08

গুণ দক্ষ

92:08

ইঞ্জিনিয়ার'

92:09

শব্দটি

92:09

ব্যবহার না করে,

92:10

বরং একজন এফ-

92:11

ওয়ান (F1)

92:11

ড্রাইভারের

92:12

মতো, যিনি এতে

92:12

সত্যিই খুব

92:13

ভালো। আপনি এমন

92:14

একজন

92:14

ব্যক্তিকে

92:15

কীভাবে বর্ণনা

92:15

করবেন যাকে

92:16

আপনি দেখেছেন?

92:17

এটা কি শুধু

92:17

ইঞ্জিনিয়ারিংয়ের

92:18

মজবুত মৌলিক

92:19

বিষয়গুলো

92:19

শেখার মতো, আর

92:20

তারা এই

92:20

টুলগুলো

92:21

ব্যবহার করতে

92:21

শুরু করেছে,

92:22

নাকি

92:22

ব্যাপারটা

92:23

অন্যরকম?

92:23

>> হ্যাঁ, হ্যাঁ।

92:24

মানে, এটা

92:25

অনেকটা এমন যে,

92:25

যারা আগে থেকেই

92:26

ভালো

92:26

সফটওয়্যার

92:27

ইঞ্জিনিয়ার,

92:28

তাদের জন্য এটা

92:29

একটা

92:29

দিকনির্দেশনামূলক

92:30

বিষয়। মানে,

92:31

আমি মাঝে মাঝে

92:31

ভাবি যে,

92:32

সফটওয়্যার

92:32

ইঞ্জিনিয়ারিংয়ে

92:33

সবাই দক্ষতার

92:34

একটা

92:34

নির্দিষ্ট

92:34

পরিসরের মধ্যে

92:35

থাকে, আর এটা

92:36

যেন সেই

92:36

সীমারেখাটাকে

92:37

টেনে আরও

92:37

বিস্তৃত করে

92:38

দিচ্ছে, যা

92:38

পুরোপুরি

92:39

সত্যি নয়।

92:39

জানেন, আমার মনে

92:40

হয় এটা

92:40

অন্যদের চেয়ে

92:41

কিছু মানুষকে

92:41

বেশি সাহায্য

92:42

করেছে, কিন্তু

92:42

মনে হয় যেন এটা

92:43

শুধু

92:43

বিষয়টাকে

92:43

প্রসারিত

92:44

করেছে। ফলে,

92:44

আপনার আগের

92:45

দক্ষতা এখন

92:46

বহুগুণে বেড়ে

92:46

গেছে।

92:47

>> আমি এটা জানতে

92:48

সবসময় আগ্রহী,

92:49

যেমন বরিস

92:49

চের্নি, টিবোর

92:50

সান্তা (

92:51

ওপেনএআই-এর),

92:52

তারা দুজনেই

92:53

সত্যিই খুব

92:53

ভালো

92:54

সফটওয়্যার

92:54

ইঞ্জিনিয়ার

92:55

ছিলেন। বরিস

92:56

প্রথম দিকের

92:57

টাইপস্ক্রিপ্ট

92:57

বইগুলোর একটি

92:58

লিখেছিলেন।

92:58

ও'রাইলি থেকে

92:59

প্রকাশিত

92:59

প্রথম

93:00

টাইপস্ক্রিপ্ট

93:00

বইটি। তিনি

93:01

কিছু বিশাল

93:01

সিস্টেম তৈরি

93:02

করেছিলেন। একই

93:03

কথা টিবোরের

93:03

ক্ষেত্রেও

93:04

প্রযোজ্য, যিনি

93:04

এটি তৈরি

93:04

করেছিলেন এবং

93:05

এখন আপনি

93:05

দেখছেন যে, ওহ,

93:06

এই লোকেরা যারা

93:06

এই সমস্ত টুল

93:07

তৈরি করছে এবং

93:07

উদ্ভাবন করছে,

93:08

তারা আগে থেকেই

93:08

খুব ভালো ছিল।

93:09

>> হ্যাঁ, হ্যাঁ।

93:10

আচ্ছা, মানে,

93:11

এআই (AI)-এর মতো

93:11

অনুভূতি

93:12

সম্পর্কে

93:12

আপনাকে

93:12

দেওয়ার জন্য

93:13

আমার কাছে আরও

93:14

দুটি উপমা আছে।

93:15

আপনি

93:15

নিঃসন্দেহে

93:15

পেয়ার

93:16

প্রোগ্রামিং (pair

93:16

programming) শব্দটি

93:17

শুনেছেন।

93:17

>> হ্যাঁ, পেয়ার

93:18

প্রোগ্রামিং।

93:19

>> হ্যাঁ, পেয়ার

93:19

প্রোগ্রামিং।

93:20

জানেন, পেয়ার

93:21

প্রোগ্রামিং-

93:21

এর পেছনের

93:22

ধারণাটি হলো,

93:22

একটি কিবোর্ড,

93:23

একটি মনিটর এবং

93:24

দুজন

93:24

ইঞ্জিনিয়ার

93:25

একসাথে কাজ

93:25

করলে ভালো হয়।

93:26

একজন কিবোর্ডে

93:27

এবং অন্যজন তার

93:28

পাশে বসে

93:28

কাঁধের ওপর

93:29

দিয়ে দেখে

93:29

নির্দেশনা

93:30

দেয়। এবং আমি

93:31

মনে করি, এই

93:31

অনুভূতির একটি

93:32

দিক আছে যেখানে

93:33

আমি

93:33

চ্যাটজিপিটি (

93:33

ChatGPT)-কে দিয়ে এর

93:34

একটি ছোট ছবি

93:35

তৈরি করিয়েছি,

93:36

যেখানে

93:36

অ্যান্ড্রয়েডটি

93:37

কম্পিউটারে

93:37

টাইপ করছে এবং

93:38

আপনি শুধু

93:39

নির্দেশ

93:39

দিচ্ছেন।

93:40

কিন্তু এক বছর

93:40

আগে হয়তো

93:41

অনুভূতিটা

93:41

এমনই ছিল। আমার

93:42

মনে হয় এখন

93:43

অনুভূতিটা

93:44

একটু ভিন্ন।

93:44

আমি সম্প্রতি

93:45

যে কথাটা বলতে

93:46

শুরু করেছি তা

93:46

হলো, আমার মনে

93:47

হয় যে ডোমেইন

93:48

বিশেষজ্ঞরা,

93:48

অর্থাৎ যারা

93:49

আগে খুব

93:49

শক্তিশালী

93:50

ছিলেন, তারা এখন

93:50

ব্যাপকভাবে

93:51

প্রসারিত

93:51

হয়েছেন। আপনি

93:52

কি এই সব

93:53

গাণিতিক জিনিস,

93:53

যেমন এই সব

93:54

অদ্ভুত

93:54

প্রমাণগুলো

93:55

দেখেছেন?

93:55

>> আচ্ছা, আমি

93:56

এগুলো করি না,

93:56

কিন্তু আমি

93:57

>> এগুলো বুঝিও না

93:58

।

93:58

>> হ্যাঁ। হ্যাঁ।

93:59

>> তো, আমি আপনাকে

94:00

বলেছিলাম যে

94:00

আমি গণিতে খুব

94:01

একটা ভালো

94:01

ছিলাম না।

94:02

জানেন,

94:02

ব্যাপারটা এমন

94:03

যে আমি কলেজের

94:03

প্রথম বর্ষেই

94:04

পড়া ছেড়ে

94:04

দিয়েছিলাম,

94:05

তাই না? কিন্তু,

94:06

জানেন, আমি এই

94:07

অগ্রগতিগুলো

94:07

একরকম দেখতেই

94:08

থাকতাম। আর,

94:09

জানেন, টেরেন্স

94:09

টাও, তিনি

94:10

সম্ভবত

94:10

সবচেয়ে

94:11

বিখ্যাত জীবিত

94:11

গণিতবিদ, জানেন,

94:12

একজন সুপার

94:13

জিনিয়াস।

94:13

তিনি আসলে এই

94:14

সেশনটি পোস্ট

94:14

করেছিলেন।

94:15

সম্প্রতি একটি

94:16

যুগান্তকারী

94:16

আবিষ্কার

94:16

হয়েছিল, বা

94:17

আমার মনে হয়

94:17

এটাকে

94:17

জ্যাকোবিয়ান

94:18

কনজেকচার বলা

94:18

হয়। আমি এর

94:19

অর্থও জানি না।

94:20

কিন্তু, তিনি এই

94:20

চ্যাটজিপিটি (

94:21

ChatGPT) সেশনটি

94:21

পোস্ট

94:21

করেছিলেন

94:22

যেখানে তিনি

94:22

একটি

94:22

বুদ্ধিমত্তার

94:23

সাথে

94:23

আলাপচারিতা

94:23

করছেন, আমার মনে

94:24

হয় ওটা

94:24

চ্যাটজিপিটি-ই

94:25

ছিল এবং আপনি

94:25

তাকে এই

94:25

বুদ্ধিমত্তার

94:26

সাথে

94:26

আলাপচারিতা

94:26

করতে দেখতে

94:27

পাবেন। আর,

94:27

ব্যাপারটা ছিল

94:28

অবিশ্বাস্য,

94:29

কারণ সে এটার

94:29

সাথে একজন

94:30

সমকক্ষ

94:30

সহকর্মী

94:31

হিসেবে কথা

94:31

বলছিল এবং এটিও

94:32

সাড়া দিচ্ছিল

94:33

। সত্যি বলতে,

94:33

দেখে মনে

94:34

হচ্ছিল আমি

94:34

সবাইকে এটা

94:35

খুঁজে দেখতে

94:35

উৎসাহিত করব।

94:36

এটাকে প্রায়

94:37

একটা বিদেশি

94:37

ভাষার মতো মনে

94:38

হচ্ছিল। মনে

94:39

হচ্ছিল যেন সে

94:39

যে সিস্টেমের

94:40

সাথে কাজ করছে,

94:41

তার মাধ্যমে

94:41

তার বিশেষ

94:42

জ্ঞান বহুগুণে

94:42

বেড়ে যাচ্ছে।

94:43

আর, আপনি দেখতে

94:44

পাবেন সে

94:44

কীভাবে খুব

94:45

দ্রুত বিভিন্ন

94:46

ধারণা শিখছে

94:46

এবং অন্বেষণ

94:47

করছে। এখন, এআই

94:48

গণিত নিয়ে

94:49

অনেক বিতর্ক

94:50

আছে, কিন্তু

94:51

আমার মনে যে

94:51

উপমাটা আসে তা

94:52

হলো, বিশেষ

94:53

ক্ষেত্রের

94:54

বিশেষজ্ঞরা

94:55

তাদের নিজ নিজ

94:56

ক্ষেত্রে

94:56

অনেকটা

94:57

জাদুকরের মতো।

94:58

যেমন, মাটির

94:59

জাদুকর, জলের

95:00

জাদুকর

95:01

ইত্যাদি। আর,

95:02

যদি আপনি জাদুর

95:03

মন্ত্র, সঠিক

95:03

শব্দ, সঠিক ক্রম

95:04

জানেন, তবে আপনি

95:05

সত্যিই

95:06

জাদুকরী কিছু

95:07

একটা পাবেন। আর

95:08

যদি না জানেন,

95:08

তবে আপনি কেবল

95:09

কিছু ঝলমলে

95:10

জিনিস পাবেন

95:10

যার পেছনে কোনো

95:11

ভিত্তি নেই।

95:12

যেমন, আপনি

95:12

সম্ভবত

95:12

ডিস্ট্রিবিউটেড

95:13

ডেটাবেস

95:13

সম্পর্কে খুব

95:14

বেশি কিছু

95:15

জানেন না। আপনি

95:15

যদি Fable বা Astra-কে

95:16

বলেন, "আমার

95:16

জন্য CockroachDB-এর

95:17

মতো একটি

95:17

ডিস্ট্রিবিউটেড

95:18

ডেটাবেস তৈরি

95:19

করো", তাহলে

95:19

আপনি হয়তো

95:20

কিছু একটা

95:20

পাবেন, কিন্তু

95:21

সেটার ভেতরটা

95:21

আসলে ফাঁপা হবে

95:22

। কিন্তু, আপনি

95:23

যদি ডেটাবেসে

95:23

একজন বিশেষজ্ঞ

95:24

হন এবং এটিকে

95:24

একটি

95:24

ডিস্ট্রিবিউটেড

95:25

ডেটাবেস তৈরি

95:25

করতে বলেন,

95:25

তাহলে আপনি

95:26

ডিস্ট্রিবিউটেড

95:26

ডেটাবেস

95:27

সম্পর্কে

95:27

জানার মতো

95:27

সমস্ত

95:27

বিষয়গুলো

95:28

উল্লেখ করতে

95:28

পারবেন। যেমন—

95:29

এই বিষয়গুলো

95:29

নিয়ে আপনাকে

95:30

ভাবতে হবে,

95:30

স্টোরেজ

95:30

লেয়ার,

95:31

নেটওয়ার্কিং

95:31

লেয়ার। এখানে

95:32

বিভিন্ন ডেটা

95:32

স্ট্রাকচার,

95:33

ভেতরের

95:33

রানটাইম। আপনি

95:34

আসলে এর থেকে

95:35

খুব, খুব দ্রুতই

95:36

বেশ জাদুকরী

95:37

কিছু একটা পেতে

95:37

পারেন।

95:40

>> তো, মধ্যম থেকে

95:41

উচ্চ-স্তরের

95:42

সেইসব

95:43

ইঞ্জিনিয়ারদের

95:44

জন্য আপনার

95:45

পরামর্শ কী হবে,

95:46

যারা এই AI-এর

95:46

যুগে কোডিং

95:47

শিখে

95:47

শক্তিশালী

95:48

ইঞ্জিনিয়ার

95:49

হতে চান?

95:53

>> আচ্ছা, প্রথমত,

95:54

আপনার হাতের

95:54

কাছেই সবচেয়ে

95:55

অসাধারণ একজন

95:56

শিক্ষক

95:57

প্রস্তুত আছেন

95:58

। আর আমি বলতে

95:59

চাচ্ছি, আমার

95:59

পুরো

96:00

ক্যারিয়ার

96:00

জুড়ে আমি যে

96:01

কাজটা সবসময়

96:02

করতাম, যদিও এখন

96:03

আমি সেটা করা

96:03

প্রায় বন্ধ

96:04

করে দিয়েছি,

96:05

কিন্তু এর

96:05

কারণটা খুব

96:06

শীঘ্রই স্পষ্ট

96:07

হয়ে যাবে, আর

96:08

তা হলো আমি

96:08

সবসময়

96:09

অন্যদের কোড

96:09

দেখতাম। তো, আমি

96:10

শুরুর দিকে

96:11

গুগলে ছিলাম।

96:12

আপনারা হয়তো

96:13

জেফ ডিনের নাম

96:14

শুনেছেন। জেফ

96:15

ডিন একজন

96:15

অসাধারণ কোডার

96:16

ছিলেন। তার

96:17

সহকর্মী,

96:17

সঞ্জয়

96:18

ঘেমাওয়াতও

96:18

একজন

96:18

অবিশ্বাস্য

96:19

কোডার ছিলেন।

96:20

আর, আমি তাদের

96:21

পুল

96:21

রিকোয়েস্টগুলো

96:22

দেখতাম। আমি

96:22

তাদের

96:23

পরিবর্তনগুলো

96:23

দেখতাম। গুগলে

96:24

এটাকে পুল

96:24

রিকোয়েস্ট

96:25

বলা হতো না। এর

96:25

একটা ভিন্ন নাম

96:26

আছে। কিন্তু,

96:27

আমি আমার সিএল (CL

96:28

) দেখতাম,

96:28

>> তাই না?

96:29

>> হ্যাঁ। সিএল।

96:30

এটা একটা পি ৪ (P4),

96:31

এটা একটা ভিন্ন

96:31

ভার্সন

96:32

কন্ট্রোল

96:32

সিস্টেম।

96:33

কিন্তু, আমি

96:33

তাদের

96:34

পরিবর্তনগুলো

96:34

দেখতাম আর

96:34

ভাবতাম, "ওরা যা

96:35

করেছে তা

96:35

কীভাবে করেছে,

96:36

তাই না?" আমি

96:36

তাদের কোড

96:37

দেখতাম। ওহ্‌

96:38

মাই গড,

96:38

সঞ্জয়ের কোড

96:38

সত্যিই সবসময়

96:39

খুব চমৎকার,

96:39

জানেন।

96:40

জেফেরটা হাই-

96:40

পারফরম্যান্স।

96:41

সে এটা কীভাবে

96:42

করছে, বুঝলেন?

96:43

মানে, সে কীভাবে

96:44

কাজটা করছে? এর

96:44

কিছু কিছু

96:45

বিষয় এমন যে

96:45

আপনি

96:46

স্বাভাবিকভাবেই

96:46

শিখে ফেলেন।

96:47

কিন্তু এখন,

96:47

আপনি শুধু

96:48

স্বাভাবিকভাবেই

96:48

শিখে ফেলবেন না,

96:49

বরং আপনি

96:49

আক্ষরিক

96:50

অর্থেই, মানে,

96:50

আমি উৎসাহিত

96:51

করব যদি আপনি

96:51

একজন জুনিয়র

96:52

ইঞ্জিনিয়ার

96:52

হন এবং জানেন যে

96:53

আশেপাশে একজন

96:53

সিনিয়র

96:54

ইঞ্জিনিয়ার

96:54

আছেন, তাহলে

96:55

আপনি তাকে

96:55

জিজ্ঞেস করতে

96:56

পারেন যে তারা

96:56

যা করছে তা

96:57

কীভাবে করছে।

96:57

কিন্তু আপনি

96:58

এআই-কে বলতে

96:58

পারেন তারা যা

96:59

করেছে তা

96:59

ব্যবচ্ছেদ করে

97:00

আপনাকে

97:00

ব্যাখ্যা করতে,

97:01

এবং বিভিন্ন

97:01

ভিন্ন ভিন্ন

97:02

স্তরে

97:02

ব্যাখ্যা করতে

97:03

। যেমন, "এই

97:04

কোডটা কীভাবে

97:04

কাজ করে? এটা কী

97:05

করছে? আমাকে

97:06

একটা

97:06

ডায়াগ্রাম

97:07

দাও। আমাকে

97:07

এমনভাবে

97:07

ব্যাখ্যা করো

97:08

যেন আমার বয়স

97:08

পাঁচ। আমাকে

97:09

এমনভাবে

97:09

ব্যাখ্যা করো

97:09

যেন আমার বয়স

97:10

দশ। আমাকে

97:10

ফরাসি ভাষায়

97:11

ব্যাখ্যা করো।"

97:12

আপনার যা খুশি।

97:13

মানে,

97:13

মৌলিকভাবে,

97:14

কিছুটা হলেও,

97:14

এআই হলো একটি

97:15

অনুবাদ যন্ত্র

97:16

। সুতরাং, এটি

97:17

যে ভাষাতেই

97:17

থাকুক না কেন,

97:18

তা থেকে অনুবাদ

97:19

করুন এবং

97:20

যতক্ষণ না এটি

97:20

বুঝতে পারছেন,

97:21

ততক্ষণ প্রশ্ন

97:22

করতে থাকুন, এতে

97:23

আপনার বোঝার

97:23

ক্ষমতা বাড়বে

97:24

।

97:24

>> আপনি বলছিলেন

97:25

কীভাবে ডোমেইন

97:25

বিশেষজ্ঞদের

97:26

গুরুত্ব অনেক

97:27

বেড়ে যায়।

97:27

আমার মনে হয়,

97:28

একজন

97:28

সফটওয়্যার

97:28

ইঞ্জিনিয়ার

97:29

হিসেবে একটি

97:29

কৌশল হলো,

97:30

অবশ্যই একজন

97:30

সেরা

97:30

সফটওয়্যার

97:31

ইঞ্জিনিয়ার

97:31

হয়ে ওঠা এবং

97:32

এটিকে একটি টুল

97:32

হিসেবে

97:32

ব্যবহার করা।

97:33

আপনি অনেক

97:33

দ্রুত কাজ করতে

97:34

পারবেন। আপনি

97:35

ডিস্ট্রিবিউটেড

97:36

সিস্টেমগুলো

97:36

ভালোভাবে

97:37

বুঝতে পারবেন।

97:37

যেমন, আমি মোটেও

97:38

ডিস্ট্রিবিউটেড

97:39

ডেটাবেস

97:40

বিশেষজ্ঞ নই,

97:40

কিন্তু আমি

97:41

কিছু জিনিস আগে

97:42

থেকে বোঝার

97:42

জন্য AI ব্যবহার

97:43

করি, যা খুব

97:44

সহায়ক ছিল।

97:45

এবং আগে এটা

97:45

বুঝতে আমার

97:46

অনেক বেশি সময়

97:46

লাগত। সুতরাং,

97:47

আমি এটা

97:48

ব্যবহার করতে

97:48

পারি।

97:49

>> কিন্তু, আমি

97:49

ভাবছি এর অন্য

97:49

কোনো দিক আছে

97:50

কিনা, যেমন একজন

97:50

সফটওয়্যার

97:51

ইঞ্জিনিয়ার

97:51

হিসেবে আপনি

97:51

যেখানেই কাজ

97:52

করছেন, সেখানে

97:52

আরও বেশি

97:52

ডোমেইন

97:53

বিশেষজ্ঞ

97:53

হওয়ার জন্য

97:53

এটি ব্যবহার

97:54

করতে পারেন।

97:54

যদি এটি একটি

97:55

পেমেন্ট

97:55

কোম্পানি হয়,

97:55

মানে, পেমেন্ট

97:56

সম্পর্কে

97:56

জানার জন্যও

97:57

এটি ব্যবহার

97:57

করুন। সুতরাং,

97:58

আপনি ব্যবসাকে

97:58

সাহায্য করতে

97:59

পারবেন, আপনি

97:59

আপনার টিমকে

98:00

সাহায্য করতে

98:00

পারবেন, এবং

98:01

সত্যি বলতে,

98:01

আপনি আরও বেশি

98:02

শিখবেন, তাই না?

98:02

>> হ্যাঁ। হ্যাঁ।

98:03

আমার মনে হয়,

98:04

আমি সবাইকে

98:04

উৎসাহিত করব যে

98:05

আপনাদের মধ্যে

98:06

কিছুটা কৌতূহল

98:06

থাকা উচিত, তাই

98:07

না? আপনি যে

98:07

ক্ষেত্রে কাজ

98:08

করছেন, শুধু

98:08

সেটার মধ্যেই

98:09

নিজেকে আবদ্ধ

98:10

রাখবেন না। এর

98:10

বাইরেও

98:11

অন্বেষণ করুন,

98:12

বুঝলেন? আমি

98:12

জিমেইল নিয়ে

98:13

কাজ করছিলাম,

98:13

কিন্তু গুগলের

98:14

মূল সার্চ

98:14

ইঞ্জিন কীভাবে

98:15

কাজ করে তা দেখে

98:16

আমি মুগ্ধ

98:16

হয়েছিলাম।

98:17

আমি বিগটেবলের

98:17

অভ্যন্তরীণ

98:18

কার্যপ্রণালী

98:18

দেখেও মুগ্ধ

98:19

হয়েছিলাম,

98:19

যদিও আমি

98:20

সরাসরি

98:20

বিগটেবল নিয়ে

98:20

কাজ করছিলাম না

98:21

। শুধু অন্বেষণ

98:22

করা, এই

98:22

জিনিসগুলো

98:23

দেখা। আর সেটা

98:24

অনেক সহজ ছিল,

98:24

কারণ সেখানে

98:25

ব্যাখ্যা করার

98:26

জন্য একটি

98:26

অত্যন্ত উন্নত

98:27

ও ধৈর্যশীল

98:28

বুদ্ধিমত্তা

98:28

রয়েছে, যেমন—

98:29

আপনার কী মনে

98:30

হয়, এটা কেন

98:30

এভাবে করা

98:31

হয়েছে? এবং

98:31

তারপর, একবার

98:32

আপনি বিশেষজ্ঞ

98:32

হয়ে গেলে, আপনি

98:33

পুরোপুরি বলতে

98:34

পারবেন, 'আমি

98:34

দেখেছি এটা

98:34

এভাবে করা

98:35

হয়েছে। আমরা

98:35

এটা পরিবর্তন

98:36

করছি না কেন?

98:37

এটা কি সহায়ক

98:38

হবে?' আর জানেন,

98:39

এভাবেই আপনি

98:39

শুধু শেখা থেকে

98:40

বাস্তবে অবদান

98:41

রাখার দিকে

98:41

এগিয়ে যান।

98:42

আমার মনে হয়,

98:42

এটা করার জন্য

98:43

প্রত্যেকের

98:43

ব্যক্তিগত

98:44

উদ্যোগ থাকা

98:44

উচিত। জানেন,

98:45

আপনি যদি শুধু

98:45

বসে থেকে

98:46

অপেক্ষা করেন

98:46

যে কেউ আপনাকে

98:47

এটা কীভাবে

98:47

করতে হয় তা

98:47

শিখিয়ে দেবে,

98:48

তাহলে এই

98:48

মুহূর্তে এটা

98:49

সত্যিই খুব

98:49

কঠিন হবে। কারণ

98:50

যে কেউ যদি এসে AI

98:50

কীভাবে

98:51

ব্যবহার করতে

98:51

হয় বা কীভাবে

98:52

আরও ভালো

98:52

সফটওয়্যার

98:53

ইঞ্জিনিয়ার

98:53

হতে হয় তা

98:54

ব্যাখ্যা করে,

98:54

তাহলে তাদের

98:55

জ্ঞান তো

98:55

সেকেলে হয়ে

98:56

যাবে, তাই না?

98:56

আপনাকে শুধু

98:57

নিজে থেকেই এই

98:58

টুলগুলো সব

98:58

সময় ব্যবহার

98:59

করতে হবে এবং

99:00

শেখার জন্য

99:00

এগুলোকে কাজে

99:01

লাগাতে হবে।

99:02

আমার মনে হয়,

99:02

আমি সম্ভবত গত

99:03

এক বছরে তার

99:04

আগের পাঁচ

99:05

বছরের মোট

99:05

সময়ের চেয়েও

99:06

বেশি শিখেছি, যা

99:07

বেশ অদ্ভুত।

99:08

>> আপনার

99:09

কর্মজীবনের

99:09

গতিপথ এবং

99:10

>> আপনি যে

99:11

পরিবেশে কাজ

99:11

করছিলেন, তা

99:12

বিবেচনা করলে,

99:13

তাই না?

99:13

>> মানে, যারা এই

99:14

ইন্ডাস্ট্রিতে

99:14

বেশ কিছুদিন

99:15

ধরে আছে, তাদের

99:15

সবার মতোই আমিও

99:16

একজন

99:16

নিশ্চিতভাবে

99:17

ভালো কোডার।

99:17

আমি যখন প্রথম

99:18

এই

99:18

ইন্ডাস্ট্রিতে

99:18

আসি, তার চেয়ে

99:19

১০ বছর আগে আমি

99:19

আরও ভালো কোডার

99:20

ছিলাম।

99:20

ব্যাপারটা এমন

99:21

যে, আমি প্রতি

99:21

দশকে ফিরে

99:22

তাকালে বুঝতে

99:22

পারি যে আমি

99:23

অনেক ভালো

99:23

হয়েছি। আর

99:24

আমার মনে হয়,

99:24

এই গত এক বছরে

99:25

আমি আরও অনেক

99:26

ভালো হয়েছি।

99:26

>> আর এটাও একটা

99:27

কারণ ছিল যার

99:28

জন্য আমি আপনার

99:28

সাথে কথা বলতে

99:29

খুব আগ্রহী

99:29

ছিলাম, কারণ যখন

99:30

আমাদের মধ্যে

99:31

মেসেজ আদান-

99:31

প্রদান শুরু

99:32

হয়, আমি যখন

99:32

আপনাকে

99:33

জিজ্ঞেস

99:33

করেছিলাম, "আরে,

99:34

কেমন চলছে?", তার

99:34

জবাবে আপনি

99:35

আমাকে প্রথম যে

99:35

উত্তরটা

99:36

দিয়েছিলেন, তা

99:36

হলো...আপনি

99:37

বলেছিলেন, "আপনি

99:37

বিশ্বাস করবেন

99:38

না, কিন্তু আমার

99:39

কোডিং আউটপুট

99:39

অসাধারণ এবং

99:40

এটি উচ্চ মানের,

99:40

এমনকি ডাটাবেস

99:41

কোয়ালিটির

99:41

মতো।" আর এই

99:42

জিনিসগুলো আমি

99:43

সাধারণত দেখি

99:43

না। আমি

99:44

সাধারণত দেখি

99:45

যে, আমি হয়তো

99:45

বেশি কোড তৈরি

99:46

করছি না, কিন্তু

99:47

সেটা খুবই বাজে

99:47

। কিন্তু আবারও

99:48

বলছি, আমার কাছে

99:49

এটা এক ধরনের

99:50

অনুপ্রেরণা।

99:50

দেখুন, একজন

99:51

সফটওয়্যার

99:51

ইঞ্জিনিয়ার

99:52

হিসেবে নিজেকে

99:52

আরও উন্নত করতে

99:53

আপনি এই

99:53

টুলগুলো

99:53

ব্যবহার করতে

99:54

পারেন। আপনি তো

99:55

একটা উদাহরণ,

99:55

তাই না? আশা করি,

99:56

এমন আরও অনেকেই

99:57

আছেন।

99:58

>> হ্যাঁ, হ্যাঁ।

99:58

না, এবং ককরোচ

99:59

ল্যাবসে আমি

100:00

একা নই, আমাদের

100:00

এখানে আরও

100:01

অনেকেই এটা

100:01

করছেন। আমার

100:02

কাছে এটা খুবই

100:03

উত্তেজনাপূর্ণ

100:04

মনে হয়, জানেন,

100:04

এখন কিছুটা

100:05

ক্লান্তিকর

100:05

হলেও বেশ

100:06

রোমাঞ্চকর।

100:06

আমি

100:07

সফটওয়্যার

100:07

ইঞ্জিনিয়ারিংয়ে

100:08

এসেছিলাম কারণ

100:08

আমি জিনিস তৈরি

100:09

করতে ভালোবাসি

100:10

এবং আমি দ্রুত

100:10

জিনিস তৈরি

100:11

করতে পারি।

100:11

জানেন, অতীতে যে

100:12

বিষয়গুলোতে

100:13

হয়তো আপোস

100:13

করতে হতো, এখন

100:14

আপনি সেই

100:14

আপোসগুলো বাদ

100:15

দিতে পারেন।

100:15

মানে, আপনি

100:16

এখনকার

100:16

সফটওয়্যারের

100:17

ইউজার

100:17

এক্সপেরিয়েন্সের

100:18

(UX) ক্ষেত্রেও

100:18

এটা দেখতে

100:18

পাবেন। আমার

100:19

মনে হয় ইউএক্স

100:20

(UX) অনেক উন্নত।

100:21

আপনি ওয়েব

100:21

অ্যানিমেশন

100:21

এবং এই জাতীয়

100:22

সব চমৎকার

100:22

জিনিস দেখতে

100:23

পান। এটা তো

100:23

কেবল

100:23

উপরিভাগের

100:24

বিষয়। এর

100:25

পরিধি এর

100:25

চেয়েও অনেক,

100:26

অনেক গভীরে

100:26

বিস্তৃত।

100:27

>> পিটার, এটা

100:27

অসাধারণ ছিল। ধ-

100:28

পডকাস্টে আসার

100:29

জন্য ধন্যবাদ।

100:29

>> হ্যাঁ, এটা

100:30

চমৎকার। আমাকে

100:31

আমন্ত্রণ

100:31

জানানোর জন্য

100:32

ধন্যবাদ।

100:32

>> পিটারের সাথে

100:33

কথা বলতে আমি যে

100:33

কারণে আগ্রহী

100:34

ছিলাম, তার একটি

100:34

কারণ হলো, তিনি

100:35

এআই (AI)-এর আগে

100:35

থেকেই একজন

100:36

অত্যন্ত

100:36

পরিচিত এবং

100:36

কর্মঠ

100:37

ইঞ্জিনিয়ার

100:37

ছিলেন, যিনি

100:37

প্রোডাকশনে

100:38

থাকা সবচেয়ে

100:38

স্থিতিশীল

100:39

কিছু

100:39

ডিস্ট্রিবিউটেড

100:39

সিস্টেম তৈরি

100:40

করেছেন। ককরোচ

100:41

ডিবি (Cockroach DB) তার

100:41

স্থিতিশীলতার

100:42

জন্য পরিচিত

100:42

এবং এর একটি

100:43

বিশেষত্ব হলো,

100:43

কয়েকটি নোড

100:44

নষ্ট হয়ে

100:44

গেলেও

100:44

ডেটাবেসটি

100:45

কোনো ডেটা নষ্ট

100:45

না হয়েই কাজ

100:46

করতে থাকে।

100:46

মূলত, তেলাপোকা

100:47

দূর করা যতটা

100:48

কঠিন, একে দূর

100:48

করাও ততটাই

100:49

কঠিন, আর

100:49

একারণেই এর এমন

100:50

নামকরণ।

100:51

আমাদের

100:51

আলোচনার একটি

100:51

আকর্ষণীয় অংশ

100:52

ছিল কীভাবে

100:52

পিটার প্রচলিত

100:53

কোডিং

100:53

লাইব্রেরির

100:54

চেয়েও বেশি

100:54

কার্যকর ডেটা

100:55

স্ট্রাকচার

100:55

তৈরি করেছিলেন

100:56

। এর জন্য তাকে

100:56

এবং তার

100:57

সহকর্মীদের

100:57

ধন্যবাদ, যারা

100:58

লাইব্রেরির

100:58

ধীরগতির

100:58

অংশগুলোর দিকে

100:59

মনোযোগ

100:59

দিয়েছিলেন।

101:00

তিনি এটি

101:00

করেছিলেন সি ++

101:01

এসটিএল ম্যাপ (C

101:02

++ STL map) এবং গো (Go)-

101:03

তে সুইস টেবিল (

101:04

Swiss table)

101:04

ইমপ্লিমেন্টেশনের

101:05

জন্য। আমার

101:06

কাছে এই দুটি

101:06

ঘটনাই একটি

101:07

ভালো

101:07

অনুস্মারক বলে

101:07

মনে হয়েছে যে,

101:08

আপনি বিদ্যমান

101:08

লাইব্রেরি বা

101:09

এমনকি

101:09

ভাষাটিকেও

101:09

উন্নত করতে

101:10

পারেন, বিশেষ

101:10

করে যদি আপনি

101:10

পরিমাপ করেন যে

101:11

কোন অংশগুলো

101:11

ধীরগতির মনে

101:12

হচ্ছে। এই

101:12

কথোপকথনের

101:13

আরেকটি অংশ যা

101:13

আমার ভালো

101:14

লেগেছে, তা হলো

101:15

পিটার যেভাবে

101:15

একটি বৃত্ত

101:16

সম্পূর্ণ

101:16

করেছেন। একজন

101:17

অত্যন্ত কর্মঠ

101:18

ইঞ্জিনিয়ার

101:19

এবং সিটিও (CTO)

101:19

হিসেবে তিনি

101:20

বছরে ১,০০,০০০

101:21

লাইন কোড

101:21

লিখতেন। ২০২২

101:22

থেকে ২০২৪

101:23

সালের মধ্যে

101:23

ইঞ্জিনিয়ারদের

101:24

কোচিং করানোর

101:25

লক্ষ্যে তিনি

101:26

কোড লেখা বন্ধ

101:26

করেননি। এবং

101:27

তারপর তিনি

101:28

আবার কোড করা

101:28

শুরু করেন, কারণ

101:29

এআই (AI) টুলস

101:29

ব্যবহার করে

101:30

তিনি তার

101:30

ইঞ্জিনিয়ারদের

101:31

আরও ভালোভাবে

101:31

কোচিং করাতে

101:32

চেয়েছিলেন,

101:32

কিন্তু নিজে

101:33

টুলসগুলো

101:33

ব্যবহার না

101:34

করলে তা করা

101:34

কঠিন। এবং এখন

101:35

তিনি নিজেকে

101:36

অত্যন্ত কর্মঠ

101:37

হিসেবে দেখতে

101:37

পান। এবং এবার

101:38

তার চারপাশের

101:39

দলটিও কর্মঠ।

101:40

এবং আমরা পাঁচ

101:41

কোয়ার্টার

101:41

সফটওয়্যারের

101:42

কথা বলছি না,

101:43

বরং ডেটাবেস-

101:43

উপযোগী, উচ্চ-

101:44

মানের কোড তৈরি

101:45

করে

101:45

প্রোডাকশনে

101:46

কমিট করার কথা

101:46

বলছি। পিটার

101:47

নিশ্চিত যে এআই

101:48

বিদ্যমান

101:48

দক্ষতাকে আরও

101:49

বাড়িয়ে তোলে,

101:50

এবং সম্ভবত এই

101:50

কারণেই তিনি গত

101:51

এক বছরে এআই

101:52

নিয়ে কাজ করতে

101:52

গিয়ে তার আগের

101:53

পাঁচ বছরের মোট

101:54

জ্ঞানের

101:54

চেয়েও বেশি

101:55

শিখেছেন। এবং

101:56

আমি এটিকে একটি

101:56

মূল্যবান

101:57

অনুস্মারক

101:57

হিসেবে দেখি যে

101:58

সফটওয়্যার

101:58

ইঞ্জিনিয়ারিংয়ে

101:59

শেখা এবং গভীর

102:00

দক্ষতা তৈরি

102:00

করা অত্যন্ত

102:01

মূল্যবান। এবং

102:02

পরিশেষে, আমি

102:02

পিটারের এই

102:03

কথাটির

102:04

প্রশংসা করি যে

102:04

তিনি শুধু

102:05

উত্তেজিতই নন,

102:06

বরং ক্লান্তও।

102:07

শেখার অনেক

102:08

কিছু আছে,

102:08

কিন্তু এটা

102:09

ক্লান্তিকর।

102:10

আর সে বা আমার

102:10

পরিচিত কেউই এর

102:11

থেকে মুক্ত নয়

102:12

। তাই, এআই

102:13

নিয়ে যা কিছু

102:14

ঘটছে তাতে

102:14

আপনিও যদি

102:15

ক্লান্ত হয়ে

102:16

থাকেন, তবে জেনে

102:17

রাখুন যে আপনি

102:17

একা নন। গুগলের

102:18

ইঞ্জিনিয়ারিং

102:19

সংস্কৃতি এবং

102:19

ডিস্ট্রিবিউটেড

102:20

সিস্টেমের উপর

102:20

প্র্যাগম্যাটিক

102:21

ইঞ্জিনিয়ারের

102:22

আরও গভীর

102:22

আলোচনার জন্য

102:22

শো নোটস দেখুন।

102:23

এই পর্বটি যদি

102:23

আপনার ভালো

102:24

লেগে থাকে, তবে

102:24

অনুগ্রহ করে

102:25

আপনার পডকাস্ট

102:25

প্লেয়ারে

102:26

সাবস্ক্রাইব

102:26

করে নিন। আর

102:27

আপনি যদি একটি

102:27

রেটিং দেন, তার

102:28

জন্য বিশেষ

102:28

ধন্যবাদ।

102:29

ধন্যবাদ, এবং

102:30

পরের পর্বে

102:30

আবার দেখা হবে।

Interactive Summary

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

Suggested questions

3 ready-made prompts