YamanTheMan Github

YamanTheMan Leetcode

My Calendar

LinkedIn

My resume

My Course Plan

Randy Pausch

Who is he and what was he known for?

Pausch was a CMU alumuns and was known as the co-founder of the Entertainment Technology Center. He also led a group of researchers that built a programming teaching platform called Alice.

5 points I liked in his talk:

- "Having in your head what you cost your organization an hour is really kind of a staggering thing to change your behavior".

- "Start thinking about your time and your money as if they are the same thing".

- "It's very dangerous to focus on doing things right. It's much more important to do the right things".

- "Failing to plan is planning to fail".

- "You don't find time for things you make it"

Cloud Computing Research

What is cloud computing?

Cloud computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet ("the cloud") to offer faster innovation, flexible resources, and economies of scale.

Is cloud computing a new technology per se? In other words, what are the unique technology features of cloud computing, if any?

Cloud computing is not a new technology and has many unique features: Automation and Orchestration, Cost Management, Performance Monitoring, Governance and Compliance, Security.

What are the three major cloud service models?

Infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS).

Name at least 3 real-world domains where the application of cloud computing was (or can be) very enabling and effective.

Cloud computing can be very enabling and effective when used for storage (Google Drive), communication (Zoom), and other programs like (Microsoft 365)

What is the economic/business model of cloud computing?

Economics of Cloud Computing is based on the PAY AS YOU GO method. Users/Customers must have to pay only for their way of the usage of the cloud services. It is definitely beneficial for the users.

References:

What is cloud computing? Everything you need to know about the cloud explained

Cloud Computing. What Is Cloud Computing? How the Cloud Works

What is cloud computing? A beginner’s guide

Apologies in advance or using Wikipedia.

Advantages and Disadvantages of Cloud Computing

Economics of Cloud Computing

Natural Language Processing

Name 3 applications on Natural Language Processing:

- Language translation.

- Digital phone calls.

- Data analysis.

Select three words in your language and for each word try to separate into its internal component. (e.g for English If I chose unbelievable I would break it as un-believ(e)-able)

العلوم (Al-Oloom) - و (wa) - التكنولوجيا (Al-Technologia)

Select three sentences in your native language (but please write it in the closest latin transcription). YOur sentences should be around 10 words. Translate these sentences to English). Indicate which words or small groups of words translate to which words or groups of words in Eglish translation.

أخي الصغير مزعجٌ جداً ولكن أنا أحبه

My little brother is very annoying but I love him

My little brother ---> أخي الصغير

is very annoying ---> مزعجٌ جداً

but ---> ولكن

I love him ---> أنا أحبه

________________________________________________________________________

السلام عليكم, كيف حالك يا صديقي

Peace be upon you, how are you my friend

Peace be upon you ---> السلام عليكم

how are you ---> كيف حالك

my friend ---> يا صديقي

________________________________________________________________________

في المعدة خلوة لا يملؤها إلا الحلوى

In the stomach is a void that can only be filled with sweets

In the stomach ---> في المعدة

is a void ---> خلوة

that can only be filled with sweets ---> لا يملؤها إلا الحلوى

How many interpretations are there for the following English sentence "Time flies like an arrow" Write each interpretation descriptively?

- Time goes fast, like an arrow in the air at a high speed

- Time passes fast, as fast as an arrow travels.

- Time moves fast, like a racer on a race track.

What is the most likely word that follows “The prime”?

The prime "minister"

Theory

What is a decision problem?

A decision problem is a computational problem that has only two possible outputs (yes or no) on any input.

What does it mean for a decision problem to be decidable?

A problem is decideable when it takes all values of inputs into an algorithm and solves it correctly.

What is the class P? What is the class NP?

P is set of problems that can be solved by a deterministic Turing machine in Polynomial time. NP is set of problems that can be solved by a Non-deterministic Turing Machine in Polynomial time.

What is the intuitive meaning of the “P versus NP” question?

The P versus NP problem asks whether every NP problem has a P solution, or if there exists some NP problem that can absolutely not be solved in P. It seems like it should be obvious that P does not equal NP, but it is not rigorously mathematically proven.

If you resolve the P versus NP question, how much richer will you be?

If you can prove or disprove its cryptically short equation, you'd be a million dollars richer and maybe even billions of dollars richer, depending on your scruples.

References:

P, NP, NP-Hard and NP-complete problems

If You Solve This Math Problem, You Could Steal All the Bitcoin in the World

Programming Languages

Why did we move from punch cards to programming languages? What does that tell you about the purpose of programming languages?

Punch cards are a very low level way of programming, where eaach card represents a single instruction to the computer. This is very tediuos and error-prone. Programming languages on the other hand, allow us to write code in a more human-readable way, and the computer can then translate that code into machine code. The purpose of programming languages is to write software programs and applications that perform various tasks and operations.

There are hundreds of different programming languages out there. Why do you think we need so many?

There are many different programming languages because each language has its own strengths and weaknesses. Some languages are better suited for certain tasks than others. For example, some languages are designed for web development, while others are designed for systems programming. Some languages are easy to learn, while others are more complex.

What are some drawbacks of a programming language you use? How would you like it to be different? Think of specific examples.

Java: syntax of code is very complicated and Java requires significant memory space.

Processing: Not suitable for complex applications as it is only used for visual applications and simple games.

If you were going to create a new programming language, how would you start? What do you need to define?

I would start by defining what the syntax of the language is as it is the rules of how code is written. I will define how variables are declared, how functions are defined, and how statements are structured. Then I would define the semantics of the code. After that I will develope the compiler, interpreter, and other tools that are needed to execute code written in the language.

Security

#1 Qatar National Bank Suffered Massive Breach:

What did attackers break into? How did the attackers break into it? Who was impacted? How was it investigated?

In 2016, the bank suffered from a massive data leak. Around 1,4 GB of information was posted online on the whistleblower website Cryptome. Some users tried to log in using the leaked information but the bank luckily has two-factor authentication and did not let the user in. The breach also affected some of the government representatives and media outlets. Qatar National Bank reacted rather questionably. They stated that they are not going to give a comment about social media speculation. However, they added that there was no financial damage and that they will secure their systems and contact those who were affected by the breach.

#2 Qatar Airways Suffered a Phishing Scam:

What did attackers break into? How did the attackers break into it? Who was impacted? How was it investigated?

In 2019, there was a massive phishing attack connected to the airline. It was the holiday season and users were actively searching for traveling opportunities. WhatsApp users have received a message that stated that Qatar Airways gives away free tickets for their anniversary and that users have to follow the link to claim their ticket. They had to complete the survey and send the message to other 15 WhatsApp users. The text message looked like Qatar Airways and the link seemed to be legit as well. The company had to issue a statement regarding the attacks. They asked users to not follow the link and buy tickets from their websites or travel agencies only.

References:

Top-7 Cybersecurity Breaches in Qatar

AI

How do you define AI?

Technology that performs human intelligence through machines and other computer systems.

Can you name at least three different sub-fields of AI?

Machine Learning, Neural Networks, Evolutionary Computation, Vision, Robotics, Expert Systems, Speech Processing, Natural Language Processing, and Planning.

AI has been around since about 70 years so far. Why is it booming right now?

AI has boomed recently because of it's development due to more data availability, more compute power, better algorithms.

Can you name at least three application sectors where robots are being largely employed? What are the reasons?

Manufacturing: Use robots to work 24 hours without making mistakes to be more efficient. Healthcare: Use of robot to perform surgery to reduce chance of mistakes. Agriculture: Use of robots to plant, harvest, and monitor crops. This helps farmers increase effiency and reduce labor costs.

Can you identify three major challenges for a wheeled autonomous robot performing a 24h surveillance task in a large facility? (e.g., something like Mall of Qatar)

Navigation: Autonomous robots would need to navigate through the facility without getting lost or stuck. Which can be challenging because in large faicilities such as Mall of Qatar has complex layouts. The robot would need to detect every obstacle and avoid collisions.

Power: Autonomous robots need to operate for 24 hours without running out of power. This can be challenging if robot is performing tasks that require a lot of energy such as moving heavy objects. The robot should have a reliable power source and be able to recharge itself when needed.

Security: Autonomous robots need to be secure against hackers. If robot is performing surveillance tasks, it could be targeted by hackers and they would gain access to confidential information or disrupt its operation.