<commit_before>---
layout: post
title: What's Happening?
date: 2015-02-18 12:09PM
---

# TOS 7.2
Run with no flags, `diff` only shows the line(s) changed between the two files.When used with `diff` the `-u` flag provides better context on those changes. It shows the text that is the same, with the changed lines (either additions + or removals -) around it. 

# TOS 7.8
Fairly straightforward, just pipe the contents of a diff into a `.patch` file. 

# TOS 7.9
Again, easy to follow directions. It helps that I've worked with patches previously. While installing [i3wm](http://i3wm.org/) there were a few features I wanted, but were not part of the main package. These features could be obtained by installing patches for the source code. So the process is familiar to me. 

# Proofs Probable
I chose an article from *Communications of the ACM, 6/2013 Vol. 56 No. 6*. It discuses <NAME>'s and <NAME>'s efforts towards laying the foundations for modern cryptography with contributions regarding interactive and zero-knowledge proofs. 

This article drew my attention because <NAME> was a keynote speaker at [GHC 2014](http://gracehopper.org/), which I had the pleasure of attending. Her keynote is still availible for view [here](http://new.livestream.com/anitaborginstitute/events/3444251/videos/64324972) (Introduction begins at 47:35 and her talk starts at 48:50). 

She spoke of zero-knowledge proofs, giving a brief overview of what they were and how they were utilized. It was interesting because of its mathematical focus, even though a lot of the audience was confused. The only reason I understood was because I took a Cryptography course at the University of Tartu where we covered zero-knowledge proofs. 

The article outlines the efforts of Goldwasser and Micali in the field of cryptography. How they developed a formal definition of security and worked on different secure encryption methods. Their work on interactive proofs which lead to the development of zero-knowledge proofs:

>... which allow the user to convince someone else of the correctness properties of a piece of information, without actually revealing what that information is.

They also worked on the necessity of utilizing randomness in encryption, allowance for (a very small) probability of error. Their efforts laied the foundation for modern cryptography, which today, is more important than ever. 

Both Goldwasser and Micali received the ACM Turing Award:

>For transformative work that laid the complexity-theoretic foundations for the science of cryptography and in the process pioneered new methods for efficient verification of mathematical proofs in complexity theory.

# 12 Predictions for the Future of Programming
This is the same article we had to read for the previous semester, and my opinions on it have not changed too drastically. 

##Future of programming prediction No. 1: GPUs will be the next CPUs
There are certainly benefits to utilizing GPUs for processing. And if properly harnessed it's speed can be quite impressive. I still maintain that GPUs will not replace CPUs, but we will likely see more use of both, regardless of the need for actual graphical processing.

##Future of programming prediction No. 2: Databases will perform increasingly sophisticated analysis
I absolutely agree with this one. The use of buzzwords, as stated in the article, such as "Big Data" are becoming increasingly popular and for good reason. Data mining is profitable. Companies like google with countless amounts of user data at there fingertips have figured out a way to utilize and profit off of that data. Algorithms that parse through the data and development of machine learning analytics are very popular right now and we will absolutely see an increased use of this technology in the future. Not only in the tech industry, but also in the government.  

##Future of programming prediction No. 3: JavaScript for everything
I'm not sure I agree with this one. On the one hand, JavaScript is indeed becoming more popular, especially with the related increase of web-based applications and app frameworks such as ionic. On the other hand this is always subject to change, and this is a powerful and broad prediction to make. Additionally there will always be a language that becomes popular and eventually falls into disuse because of the introduction of a new or more efficient language.

There are some that would convince you that javascript is here to stay as the next big thing, especially if they're from the valley. 
<commit_msg>spelling fixes<commit_after>---
layout: post
title: What's Happening?
date: 2015-02-18 12:09PM
---

# TOS 7.2
Run with no flags, `diff` only shows the line(s) changed between the two files.When used with `diff` the `-u` flag provides better context on those changes. It shows the text that is the same, with the changed lines (either additions + or removals -) around it. 

# TOS 7.8
Fairly straightforward, just pipe the contents of a diff into a `.patch` file. 

# TOS 7.9
Again, easy to follow directions. It helps that I've worked with patches previously. While installing [i3wm](http://i3wm.org/) there were a few features I wanted, but were not part of the main package. These features could be obtained by installing patches for the source code. So the process is familiar to me. 

# Proofs Probable
I chose an article from *Communications of the ACM, 6/2013 Vol. 56 No. 6*. It discuses <NAME>'s and <NAME>'s efforts towards laying the foundations for modern cryptography with contributions regarding interactive and zero-knowledge proofs. 

This article drew my attention because <NAME> was a keynote speaker at [GHC 2014](http://gracehopper.org/), which I had the pleasure of attending. Her keynote is still available for view [here](http://new.livestream.com/anitaborginstitute/events/3444251/videos/64324972) (Introduction begins at 47:35 and her talk starts at 48:50). 

She spoke of zero-knowledge proofs, giving a brief overview of what they were and how they were utilized. It was interesting because of its mathematical focus, even though a lot of the audience was confused. The only reason I understood was because I took a Cryptography course at the University of Tartu where we covered zero-knowledge proofs. 

The article outlines the efforts of Goldwasser and Micali in the field of cryptography. How they developed a formal definition of security and worked on different secure encryption methods. Their work on interactive proofs which lead to the development of zero-knowledge proofs:

>... which allow the user to convince someone else of the correctness properties of a piece of information, without actually revealing what that information is.

They also worked on the necessity of utilizing randomness in encryption, allowance for (a very small) probability of error. Their efforts laid the foundation for modern cryptography, which today, is more important than ever. 

Both Goldwasser and Micali received the ACM Turing Award:

>For transformative work that laid the complexity-theoretic foundations for the science of cryptography and in the process pioneered new methods for efficient verification of mathematical proofs in complexity theory.

# 12 Predictions for the Future of Programming
This is the same article we had to read for the previous semester, and my opinions on it have not changed too drastically. 

##Future of programming prediction No. 1: GPUs will be the next CPUs
There are certainly benefits to utilizing GPUs for processing. And if properly harnessed it's speed can be quite impressive. I still maintain that GPUs will not replace CPUs, but we will likely see more use of both, regardless of the need for actual graphical processing.

##Future of programming prediction No. 2: Databases will perform increasingly sophisticated analysis
I absolutely agree with this one. The use of buzzwords, as stated in the article, such as "Big Data" are becoming increasingly popular and for good reason. Data mining is profitable. Companies like Google with countless amounts of user data at there fingertips have figured out a way to utilize and profit off of that data. Algorithms that parse through the data and development of machine learning analytics are very popular right now and we will absolutely see an increased use of this technology in the future. Not only in the tech industry, but also in the government.  

##Future of programming prediction No. 3: JavaScript for everything
I'm not sure I agree with this one. On the one hand, JavaScript is indeed becoming more popular, especially with the related increase of web-based applications and app frameworks such as ionic. On the other hand this is always subject to change, and this is a powerful and broad prediction to make. Additionally there will always be a language that becomes popular and eventually falls into disuse because of the introduction of a new or more efficient language.

There are some that would convince you that JavaScript is here to stay as the next big thing, especially if they're from the valley. 

{'fraction_non_alphanumeric': 0.04037061548643282, 'fraction_numerical': 0.013236267372600927, 'mean_word_length': 4.5286585365853655, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2996569', 'n_tokens_mistral': 2221, 'n_tokens_neox': 2025, 'n_words': 1401}