I am Nouha Tiyal
Randy Pausch's assignment
The main points of the lecture:
Set goals;
Ways Not to waste time;
Ways to Deal with boss /advisor;
Delegate to others;
Get rid of Stress and procrastination.
Time and money:
Time and money are the same thing.
How much does your time cost?
You can’t get your time back but you can get your money back.
The time famine:
The problem is systemic we can’t change it overnight, we have to slowly change the way we do things.
80/20:
Doing the right things not the things right.
20% decides of the 80%, so make concessions by choosing not to do something not valuable/important.
Planning:
Do the plan then change it.
Make a to do list and break things in small things,but always do the ugliest thing first.
Covey’s four-quadrant todo:
Daily habits to create and save time:
Clean your desk.
Only touch the paper/email once.
Create a File system and make your office comfortable for you and bearable for others.
Learn how to say no.
Find your productive time lapse.
Reduce interruptions.
Monitor your time, make a time journal, keep track of where your time goes.
Collaborate to not waste time.
Doing things in the last minute is too much expensive: it causes stress and much more effort.
Make up fake deadlines and stick to them.
Identify why you are not comfortable doing the thing you procrastinate.
And ASK FOR HELP.
Delegate but do the ugliest thing yourself.
Technology can make your life harder.Hence only use the technology that helps you.
Research updates
NPvsN problems
A decision problem is a yes-or-no question on specified sets of inputs.
A decision problem is called decidable if there is a decision procedure; otherwise, it is called undecidable.
And a decision procedure (or decision algorithm) of a given decision problem is an effective procedure that determines the answer of the decision problem for every value of the parameters in the decision problem.
A complexity class is the set of all of the computational problems which can be solved using a certain amount of a certain computational resource.
The complexity class P (quickly solvable) is the set of decision problems that can be solved by a (deterministic) Turing machine in polynomial time. This class corresponds to an intuitive idea of the problems which can be effectively solved in the worst cases.
A Turing machine has potentially infinite workspace so that it can process arbitrarily large inputs, e.g., multiply two huge numbers, but it can only read or write a bounded amount of information, i.e., one symbol, per step.
The complexity class NP (quickly checkable) is the set of decision problems solvable in polynomial time by a non-deterministic Turing machine.
A non-deterministic Turing machine is a theoretical model of computation. It is used in thought experiments to examine the abilities and limitations of computers.
P⊆NP⊆PSPACE⊆EXPTIME
The P versus NP problem is a major unsolved problem in computer science. It asks whether every problem whose solution can be quickly verified (technically, verified in polynomial time) can also be solved quickly (again, in polynomial time).
https://www.youtube.com/watch?v=YX40hbAHx3s
It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute, each of which carries a US$1,000,000 prize for the first correct solution.
The first workable prototype of the Internet came in the late 1960s with the creation of ARPANET, or the Advanced Research Projects Agency Network.
Sources:
https://en.wikipedia.org/
https://plato.stanford.edu/entries/computability/
https://www.newworldencyclopedia.org/entry/Decision_problem
https://www.history.com/news/who-invented-the-internet
Security
Reports have recently surfaced about an attack targetting thousands of iPhone users, potentially specifically targetting Uighur Muslims. Read 3-5 articles about the attacks and try to find answers to the following questions:
1. Who discovered the attack? How long has it been going on?
Google's Threat Analysis Group (TAG) discovered the hacked websites. On the one hand, Google implies that the attack lasted 2 years, on the other, Apple affirms that it only lasted 2 months.
Sources: https://www.schneier.com/blog/archives/2019/09/massive_iphone_.html
https://www.technologyreview.com/f/614277/apple-says-chinas-uighur-muslims-were-targeted-in-iphone-hacking-campaign/
2. Who orchestrated the attacks? How do we know?
“Many researchers assumed the attack was a state-backed campaign, since the value on the open market of one “no-click jailbreak” – a vulnerability that can take control of a phone without user interaction – is more than $1m (£830,000).” Declared the guardian.
https://www.theguardian.com/world/2019/sep/02/uighurs-china-target-two-year-ios-malware-attack-reports.
3. What did the attack allow the attackers to do to a victim's phone?
The attack is called “a watering hole” attack, it allows the hacker to compromise sites their targets are likely to go to rather than seek them out directly. Hence the attackers would spy on the phone and have access to the user’s data (pictures, messages, encrypted files and applications…).
https://edition-m.cnn.com/2019/09/04/politics/china-uyghur-hack/index.html?r=https%3A%2F%2Fwww.google.com%2F
4. On a technical level, what did the attack do? How did it do it?
“As the attacks siphoned off people's personal information, they were sending that data without encryption, which meant that anyone on the same Wi-Fi network could also see all of the stolen content. The malware was wiped if people rebooted their iPhones, but would return if they visited one of the hacked sites again. Hackers could also cause more damage with stolen passwords and private messages it obtained.”
https://www.cnet.com/news/google-says-iphone-security-flaws-let-websites-hack-them-for-years/
5. Why were the security flaws not patched earlier?
“IOS doesn't allow for malware scans and is considered very secure, and it's possible that contributed to the hack being hidden for so long.”
https://www.cnet.com/news/google-says-iphone-security-flaws-let-websites-hack-them-for-years/
Additional resources:
https://edition.cnn.com/2019/09/04/politics/china-uyghur-hack/index.html
https://www.telegraph.co.uk/technology/2019/07/30/googles-researchers-report-serious-flaws-ios-devices/
https://resources.infosecinstitute.com/understanding-ios-security-part-1/#gref
Cloud Computing
1) What is a cloud computing?
"Cloud computing is the delivery of different services through the Internet. These resources include tools and applications like data storage, servers, databases, networking, and software."
Frankenfield, Jake. “How Cloud Computing Works.” Investopedia, https://www.investopedia.com/terms/c/cloud-computing.asp. Accessed 17 Sept. 2019.
2) Is cloud computing a new technology? In other words, what is unique about cloud computing?
Cloud computing, as defined by the National Institute of Standards and Technology, is a model for enabling “… convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” NIST is implying the economies of scale that go with cloud computing when it refers to a pool of configurable computing resources.
Frankenfield, Jake. “How Cloud Computing Works.” Investopedia, https://www.investopedia.com/terms/c/cloud-computing.asp. Accessed 17 Sept. 2019.
Griffith, By Eric, et al. “What Is Cloud Computing?” PCMAG, https://www.pcmag.com/article/256563/what-is-cloud-computing. Accessed 17 Sept. 2019.
Jackson, Kevin L. “The Economic Benefit of Cloud Computing.” Forbes, https://www.forbes.com/sites/kevinjackson/2011/09/17/the-economic-benefit-of-cloud-computing/. Accessed 17 Sept. 2019.
3) What are the three major cloud service models, and which service model would you use to run your simple python programs?
"There is an entirely different "cloud" when it comes to business. Some businesses choose to implement Software-as-a-Service (SaaS), where the business subscribes to an application it accesses over the Internet. (Think Salesforce.com.) There's also Platform-as-a-Service (PaaS), where a business can create its own custom applications for use by all in the company. And don't forget the mighty Infrastructure-as-a-Service (IaaS), where players like Amazon, Microsoft, Google, and Rackspace provide a backbone that can be "rented out" by other companies. (For example, Netflix provides services to you because it's a customer of the cloud services at Amazon.)"
Frankenfield, Jake. “How Cloud Computing Works.” Investopedia, https://www.investopedia.com/terms/c/cloud-computing.asp. Accessed 17 Sept. 2019.
Griffith, By Eric, et al. “What Is Cloud Computing?” PCMAG, https://www.pcmag.com/article/256563/what-is-cloud-computing. Accessed 17 Sept. 2019.
4) What is the economic/business model of cloud computing?
The economic/business model of cloud computing include : Software as a Service, SaaS, Platform as a Service, PaaS, Infrastructure as a Service, IaaS.
Cloud Computing Business Models - SaaS, PaaS, IaaS - Media, Telecoms, IT, Entertainment - Turkey. http://www.mondaq.com/turkey/x/405076/IT+internet/Cloud+Computing+Business+Models+SaaS+PaaS+IaaS. Accessed 17 Sept. 2019.
Frankenfield, Jake. “How Cloud Computing Works.” Investopedia, https://www.investopedia.com/terms/c/cloud-computing.asp. Accessed 17 Sept. 2019.
Griffith, By Eric, et al. “What Is Cloud Computing?” PCMAG, https://www.pcmag.com/article/256563/what-is-cloud-computing. Accessed 17 Sept. 2019.
Jackson, Kevin L. “The Economic Benefit of Cloud Computing.” Forbes, https://www.forbes.com/sites/kevinjackson/2011/09/17/the-economic-benefit-of-cloud-computing/. Accessed 17 Sept. 2019.
Prof. Giselle Programming Languages Talk
What are programming languages for?
"A programming language is a computer language engineered to create a standard form of commands. These commands can be interpreted into a code understood by a machine. Programs are created through programming languages to control the behavior and output of a machine through accurate algorithms, similar to the human communication process."
https://www.techopedia.com/definition/24815/programming-language.
How do we translate solutions to computer programs?
We use programming languages.
What are the limitations?
There are six important variables in any decision to use a computer for translation: speed, subject matter, desired level of accuracy, consistency of translation, volume, and expense,. These six determinants can in some cases be merged harmoniously together in a single task, but they will at least as frequently tend to clash.
http://www.seasite.niu.edu/trans/articles/Limitations%20of%20Computers%20as%20Translation%20ToolsSource.htm.
How many languages are there?
There are over 500 languages out there, maybe more.
http://www.digibarn.com/collections/posters/tongues/ComputerLanguagesChart.png.
What does this number tell you ?
It shows the expononential increase of reliance on computers.
https://en.wikipedia.org/wiki/Category:Programming_languages.
Further resources:
https://www.youtube.com/watch?v=iH4JJuoHQHc.
https://www.computerscience.org/resources/computer-programming-languages/.
Resume
High school: Groupe Pedagogique Alpha.
University: Carnegie Mellon University in Qatar.
Work experience : none.
Languages with proficiency: English, French, Arabic.
Nationality: Moroccan.
Current country : Qatar.
Email : ntiyal@andrew.cmu.edu.
Phone : +97470167837.
Major : Computer science.
Clubs: TBP, Basketball, MUN, Doha Debate.