Category Archives: Uncategorized

Determining Authenticity of Video Evidence in the Age of Artificial Intelligence and in the wake of Deepfake videos

Deepfake videos utilize artificial intelligence and machine learning algorithms to superimpose the faces of famous people, or even ordinary folks, onto the bodies of other people in different videos. Deepfake videos appear very realistic because machine learning allows the algorithm to continuously improve the image. This technology is often used in a sinister way to incriminate people in pornographic videos or to generate visual ‘evidence’ of events that never actually happened. The open-source artificial intelligence tool, TenserFlow, has been misused as a tool for creating Deepfake videos as the program relies on machine learning and image processing.

“Deepfake technology does its own google image search and scours through social media and can, by itself, replace faces in videos.  The program improves itself independently through machine learning.  Using this tech, anyone can create fake videos including pornographic videos of just about anyone.  Also, Deepfakes can be spread rapidly considering how quickly media is consumed and reproduced online. There is another technology that lies in this same vein, such as tech that can automatically alter images, and tech that can recreate voices.  The implications of this are that we may be looking at a future where people can create photos, videos, and audio of someone doing things they never did and saying things they never said.”

Development of crafty fake videos techniques influences jurisdictive decisions in courts as well. Videos and images have been strong evidence to prove eyewitnesses, but now it came to the situation that the validity of videos and images may be skeptical. Rather, videos might need to be proved by eyewitnesses. Another problem is that, yet, there are not many experts who know well about artificial intelligence and are capable of distinguishing fake videos from the real videos.

While it is only a matter of time before fake videos keep improving their performance, research in this field is sparse and so too are the necessary tools that could help stop the perpetuation of deep fake videos. Researchers have begun to make algorithms that can make these deep fake videos more easily identified but this same technology can also further advance the creation of these videos.

 

Sean Lee: Third paragraph, editing, and posting

Zaria: First paragraph

Gray: Second paragraph

TJ: Fourth paragraph

ProPublica the Criminal Justice System

Northpointe’s algorithm takes real people, with complex identities and lives, and reduces them to abstract equations. The job of a judge is to listen to the evidence presented by the defence and the prosecution, consider the whole picture, and issue a decision based on the available facts and the the law. When something like a mandatory minimum is introduced into the legal system, it takes part of the process of thinking and adjudication away from the judicial process. It is certainly true that the biases and prejudices of our greater american public are already reflected in our judges. When Northpointe’s algorithm, however, is used in matters of jurisprudence to influence bond and sentencing two things are occurring. First, we are relying on computers and programs to do our thinking for us and pretending that a number can accurately represent the complexities of a human life. Second, we are obscuring the biased process which gives a false notion of objectivity.

 

I wonder how ethicists, sociologists, lawmakers, and community members were consulted to determine what questions should be asked and how they should be weighted? Even seemingly innocuous questions such as where someone lives are tied up in issues of racial and economic segregation in America.

 

Complexity and Quantum Computing (Blog)

In class, we discussed the Computability capabilities of modern computers. Although they are exponentially more efficient than their 40-year old counterparts, computers still struggle what can be computable. One way to approach this issue is to improve the amount of steps that an algorithm takes to sort or search through a list. For example, a linear search requires an n amount of steps to achieve while a binary search requires a log2n steps. With lists containing thousands of elements, binary search makes the difference between ten steps to thousands of steps for linear search. Apart from the efficiency of an algorithm, there is also another component that saves time and money: circuits. Seven decades ago, computers consisted of moving parts, such as vacuum tubes, to calculate mathematical functions. It all changed once transistors were used to compute. Unlike physical components that turn on and off, transistors are small, efficient, and do not generate as much heat. Compared to the 1980’s, a problem that required months to solve is now solvable in minutes. This revolutionary discovery sparked the birth of the Digital Age. This is an improvement, but is there an even faster method of computing? With  the help of physicist and their knowledge of Quantum Mechanics, computers can work at unbelievable speeds using Quantum Computing.

In Quantum Computing (closely linked to quantum mechanics), quantum bits (or ‘qubits’) can simultaneously hold values of 1, 0, or both, rather than being set to 1 or 0 as traditional electronic bits are. This way, one qubits can hold the same information as 3 bits. As good as it sounds, quantum computing is still in its infancy since Quantum Computers are large machines that are somewhat unreliable and not yet very powerful. Regardless of the current struggles for these computers, large technology companies, such as Google and Nasa, are experimenting and building the first quantum computers. For example, Google strives for the future of computing and proclaims that their “D-Wave 2X quantum computing machine has been figuring out algorithms at 100,000,000 times the speed that a traditional computer chip can”. Although the product is not available to the public, such efforts are a great step forward for the future of computing.

So, if Quantum Computers are still in their infancy, then why should we care so much about them? In the best scenario, they have the potential to blow right through obstacles that limit the power of classical computers, solving problems in seconds that would take a classical computer the entire life of the Universe just to attempt to solve, like encryption, optimization, and other similar tasks. They are powerful, but things can go wrong if they are used for unethical reason such as online theft and security breaching. In the Digital Age, it is crucial to promote the application of Quantum Computers along with their ethical implications. Without the proper education, Quantum Computing can be a step forward for scientific research or a step backwards for the world economy.

Overlooked weaknesses of the Internet and SNS

Social network services (SNS) such as Facebook and Twitter have a huge impact on society. SNS influenced politics, economics and our daily lives in every world. There are some countries in Europe that succeeded democratizing and SNS helped the processes. In Moldova, it cannot be denied that SNS helped to gather the crowd and fueled the flames of protests. More than 900,000 people gathered through a Twitter hashtag, but as soon as the government blocked the internet, they lost what to do and the will to fight. Two issues arose in my after reading the article.

First, should the government censure any stuff in SNS? I think there need to be some regulations to prevent sexual abuse, violence and any inhumane discriminations. However, the problem is that once the public gives the government a power to control the internet and SNS, they can do something other than what they were supposed to do in specific occasions like political protests.

Secondly, I realized that people have been overlooked the blind spot of the internet and SNS. What happens if we don’t have access to them and if this is intentional by some parties? This sounds unlikely, but it is a point to think about. People hugely rely on computers, internets and SNS, and they are definitely helpful. But at the same time, we need to know that they also have some limits. They are not something operated automatically, but instead, they are controlled and managed by someone with intentions. In the article we read, Moldovans did not know how to keep protests when the internet was blocked.

Merge vs. Quicksort (Blog)

In class today, we covered the current Complexity and Computability for Computers.These concepts are essential to Computer Science because the process of writing algorithms is not limited to writing correct syntax. In fact, that is the first step for programmers. Once the programmer understands the syntax for a language, he or she must then research how much money and time an algorithm requires because every additional bit costs a lot for storage. These questions are not covered in introductory programming, but they make the difference between writing a program to count apples to finding the fastest route between points. Although Graph Theory solves this problem, there is plenty of real life applications, from walking between classes in college to how Google Maps gives you the fastest route to your destination. So, how is one algorithm better than the other? Well, one algorithm is considered better if it takes less steps to complete.

In the context of our class, we covered two sorting algorithms: Insertion and Merge. Insertion takes n^2 number of steps to complete while Merge takes n*log2n steps to complete, n being the size of the list. Through these examples, it is clear that Merge sorting is better than Insertion. However, is it the best? Well, not really. At the end of the day though, whatever the best sorting algorithm really is depends on the input (and who you ask). There is an algorithm known as Quicksort which can take less steps than Merge steps. The time complexity of Quicksort is O(n log n) in the best case, O(n log n) in the average case, and O(n^2) in the worst case. Let’s discover how they compare:

Like Merge sort, quick sort works like a recursive procedure (a function that calls itself). The key to understanding this algorithm is to think of it as a pivot. Without going into too much detail, this is how it works: the goal is to rearrange the array such that all all elements less than the pivot are to its left, and all elements greater than the pivot are to its right. Sounds simple, but how to do it will take me pages. Regardless, the important distinction is storage. Why quicksort is better than mergesort ? Quick sort is an in-place sorting algorithm. In-place sorting means no additional storage space is needed to perform sorting. Merge sort requires a temporary array to merge the sorted arrays and hence it is not in-place giving Quick sort the advantage of space. Like I mentioned before, more storage equals more money. So, in terms of price and speed, Quicksort outperforms Merge Sort.

That was a lot of information, so what’s the importance? Well, the problem lies when programmers that are only taught syntax never consider storage cost and processing power. Unless we do something about it, potentially billions of dollars are at stake for storing the large quantities of information from the Digital Age. To further the conservation, here are some additional questions to build upon: can we build faster and cheaper sorting algorithms? If so, how? Is there ethical implications of storing and sorting so much information at a faster rate? How can we assure that all programmers understand the implications of writing code?

Blog Post 3 (2/27/19)-Gabriel Garcia

Within Python, the program’s main function is its the ability towards identification and commands. The Python file, in layman’s terms, has two main parts, the coding identification, and the running program.

WIthin the coding and identification of the Python file, one must be clear and follow the necessary rules of code so that the system may be able to identify the commands instructed by the written program. In order for the program module to work, the student has to clarify what is to be included in their module, such as if they’re writing a sentence, they must identify the different sections as placeholders for what is to be written in by the computer’s command. Second, a student must identify what is to be inserted for these actions, whether a specific word or number, this is necessary for the program to work.

Finally, the student must then run the module and utilize the actions originally programmed within the first part, which allows for the program to run effieicently if all is done right.

Coding Education is Necessary, but How?

The importance of coding education has been mentioned in the last decades. I heard that learning at least one computer language is helpful no matter what major I am in college. I also read an article that the future industry will be divided into those who have A.I., and those who don’t have A.I.

Two articles about coding education in public schools well reflected these social atmospheres. Coding education led by major companies like Facebook and Google is fostered in primary and secondary education. Parents already know that learning computer programming is the key to the future, and their children should learn it to prevent from falling behind.

I believe these trends are meaningful in that coding education allows computer and programming to be the shared legacy of all people. However, as discussed in the class, the distinction between coding and programming is definite and educators are necessary to more focus on programming. Coding is more close to mechanical technique, and programming is an understanding of how coding computer language works. Richtel wrote in the New York Times that “it is not clear that teaching basic computer science in grade school will (…) foster broader creativity and logical thinking.” To promote more constructive coding education, students need to be exposed to the fundamental mechanism of coding lied upon software and applications. This is similar to the emphasis on critical thinking and debating than just mechanically solving many numbers of problems in mathematics.

Blog Post 2 (2/13/19)-Image Representation-Gabriel Garcia

Within the study of Image Representation, it was demonstrated just how the concept works. In the set-up labs within the class, it was first started through explaining the concept of positive and negative integers used in order to represent the limit of an image. This is due to the limits of a 16-bit integer in how it is able to carry out an image.

Furthermore, in the case of distinction, there are forms of GIFs and the JPEG images. JPEG is the most common form of images, which are also used for digital cameras. They are adjustable through their compression and their sizing, in which either one can be correlated through commands upon the commands through a menu. GIFs, however, are different, as they cannot be changed on the basis of lossless compression mode, in which it cannot be changed in size, but this allows for smaller storage space.

In this matter, the lab shows the different forms of image file storage in which it demonstrates its variants in image storage and how it follows through so, as well as how much has an effect on Images and their properties of representation and storage.

Coding Education

<Reading, Writing, Arithmetic, and Lately, Coding>

Coding education became nationally prevalent in public schools and the grade to learn coding gets lower as times goes. Most of the parents wanted their children to be prepared for the future, and do not fall back. Some schools were teaching coding as after-school programs, some other schools were taking coding as regulatory courses and it was a major requirement for graduation. While some experts expected a positive effect of being exposed to computer science from early ages, some educators concerned that few big companies were taking too much role in coding education.
In the course of action over the years that computers have evolved in use and influence, so has their role for within society. In the time, as with its main method of use, coding. In the time of computers becoming a part of everyday lives, children are more often than not influence to learn more about them through the education system, so as to follow through with early development. However, with all other things, there is a debate on just how much influence should activities that involve a computer should be within their growing lives, without being unhealthy. Opinions vary on such, but in the end, the influence computers will have on people’s lives will not stop.

 

The second reading we did was the transcript of a speech given by President Obama in a weekly address. He framed coding as a skill that was necessary for the future, one that should be taught in every school. He announced pushes by his administration to fund computer science programs in elementary and high schools. The funding would go towards resources for the actual classes along with teacher training. He promoted state and local initiatives that would accompany federal promotion of computer science. President Obama presented coding as a fundamental skill for a changing economy.
Obama’s Computer Science for All initiative acknowledges that learning how to write code is necessary for the digital economy, and seeks to make it accessible to students of all ages. It builds a national coalition in an attempt to rectify disparities. By using Queens and New Orleans as examples, Obama’s choice of words indicates a desire to make these skills attainable for minority communities which have been traditionally left behind, shooting for an equal playing field.

Gabriel -> Second paragraph of the first article
Sean ->First paragraph of the first article & editing and posting
Georgia ->First paragraph of the second article
Charles -> Second paragraph of the second article

Blog Post(1/30/19)-Linux Terminal-Gabriel Garcia

Reviewing back on one of the Linux Terminal,  I notice that through such, there is the matter of how computing is sustained. As with the multiple experiments an procedures, it demonstrates the complexity of computer programming. While it initially appeared to be a standard rule guideline, it was for this reason that the standard coding was introduced.

Through this, the coding introduced the step by step process in order to give us a sense of its workings. Computers, while highly advanced technology for this age, have always relied on coding as its main form of distinguishing commands, such as the simple form of addition and subtraction to correlate such. In such, however, the binary code used requires rules of addition and subtraction, as well as multiplication and subtraction in order to be fully capable to run a computer. All this is to ensure precise commands to any computer so that it is functional to it’s highest ability.