Monday, November 14, 2016

Computing Science and Mathematics


Math plays a huge role in computer science. One example of this is in algorithms. Algorithms are mathematical equations for solving problems. For example the math behind encrypting. This algorithm takes a set of inputs from a user and sends a secure and encrypted version to another as explained in The 9 Algorithms That Changed The Future (chapter 4). Algorithms also determine the speed of programs and tasks that a computer tries to complete. A more optimized algorithm will result in faster operations so the creation of better algorithms is very important to computer scientists. Another connection between computer science and math is in the area of parallel computing. Parallel computing is a process that preforms multiple equations at the same (timehttps://en.wikipedia.org/wiki/Theoretical_computer_science). This process helps to increase the speed of programs and computers because the process of splitting up large equations and dividing up small equations between processors allows the processors to move on to the next task faster. But this speed also can result in some interesting bugs like the race condition that we demonstrated in scratch. A race condition is when the timing and sequence of the program causes a operation to be preformed more times than desired for example. This can result in incorrect outputs. Amazingly enough is that the maximum speed-up that a program can receive from using parallel computing is found through another formula called Amdahl's law.
Math also holds importance in quantum computation. Quantum computation is the use of computation systems to preform operations on data . These quantum computers can solve problems a lot faster than classical computers. Unfortunately quantum computing is still a relatively new field but there are a few examples of quantum algorithms that run faster than normal algorithms. One such algorithm is Simon's algorithm which uses the model of decision tree complexity. This algorithm sadly has very little in the terms of actual usefulness. The importance of math in quantum computing, parallel computing and other areas of computer science is that math provides a means to preform the needed functions and the tools to speed up the process. Another interesting connection between math and computer science is in the key people in computer science especially in the early days of computer science. Charles Babbage for example was a mathematician. He also was the inventor of the first computer. The computer was designed to help him do math, evidently pointing out that math is not only important in computer science but the reason for its creation. Math also directly links to computer science through applied mathematics. Applied mathematics is a area of mathematics that uses a system to study different components their effects and make predictions on them. Applied mathematics links up with several key computer science areas such as the training of systems in neural networks. This training is done by providing the computer with positive examples so that the computer can make guesses on what is and isn't correct (Pattern on the stone chapter 8). So this has been how math is a core part of computer science.
Works cited
"Theoretical Computer Science." Wikipedia. Wikimedia Foundation, n.d. Web. 14 Nov. 2016. <https://en.wikipedia.org/wiki/Theoretical_computer_science>.

   Hillis, W. Daniel. The Pattern on the Stone: The Simple Ideas That Make Computers Work. New York: Basic, 1998. Print.

MacCormick, John. Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers. Princeton: Princeton UP, 2012. Print.

Monday, October 31, 2016

Making Meaning: Tubes

Growing up I had always regarded the internet as something that just was. I never thought of it as having physical locations in the world. Tubes helped to further my understanding of the internet by describing the main locations of the internet and the main power brokers. But Tubes had its downsides. The book itself was pretty boring at times but it did do a decent job in teaching what the internet was. I really disliked the explanations of all the different companies buildings and setups because they were never enough for me. I had trouble visualizing what he described so I ended up looking up certain pieces like the MLX-32 for example. This search for pictures of the machines led
Image result for mlx 32

me to more information on them which was very helpful throughout reading the rest of the book.
Some of the things that I learned from this little bit of research is that these things are very expensive. The MLX-32 for example was around 164 thousand bucks. Another thing that I found amazing is the speed that it forwards data. 6.4 terabytes a second, which seems absolutely insane to me but I'm guessing that its not that much from an internet brokers perspective (http://www.brocade.com/content/dam/common/documents/content-types/datasheet/brocade-mlx-series-ds.pdf). Another thing that I found interesting was the importance of networking for networks. Blum described this process in chapter 4 of Tubes. What I found interesting was the willingness of large companies like Facebook to let networks peer with them. I guess it just makes sense from a business standpoint though. With the direct connection Facebook gets more people on their site faster and the network company makes their customers happy by providing them more speed to get them where they want to go. The term peering slut used by Blum was also pretty fun (Tubes chapter 4). Another thing that this book brought to my attention was the sort of secrecy and security that these networks had. Every time a network building was described it held a shrouded appearance. Buildings that were basically big sheds covered in cameras with unmarked doors and a lack of windows. The insides didn't seem much more appealing. Security seemed to be a constant theme in Blum's tours of the networks. Fingerprint scanners, guards, badges, and locked cages seemed to be everywhere (Tubes Chapter 4 pages 141-146). One thing that was really weird was the small amount of people that actually run the networks. When describing the network conference thing he kept saying how few people there actually was. This was very strange to me because the internet is such a big and powerful tool, I expected there to be a large amount of people working on it. Another thing that was very strange to me was the fact that almost all of the main networks I had never even heard of. Like Equinox for example. After looking up Equinox I found that they have over 145 data centers and over 180,000 cross connects. This is a lot more than I had imagined for these network companies to have.

I would recommend this book to anyone who wants to know more about the workings of the internet and its many networks. The only downsides of this book are that the reading is pretty dull at times and the descriptions never seemed to be enough. Pictures would have made this book so much better to follow and visualize. I understand why this book was chosen as a textbook its has language that is very easy to follow (almost no technical terms) and helps to demystify the internet and how it works.

Works cited
Sheet, Data. Brocade MLX Series Routers (n.d.): n. pag. Web.
Blum, Andrew. Tubes: A Journey to the Center of the Internet. New York: Ecco, 2012. Print.

Monday, October 17, 2016

The Filter Bubble

The Filter Bubble

While exploring the effects of the filter bubble I decided to compare what came up in my YouTube, Amazon, Google, Facebook, and Netflix to what came up on my Dad's. The results where strange. All of these sites seemed to cater around what we like. For example, the videos that YouTube recommended for me where all video game related. The majority of which being for League of Legends and Overwatch. Then I went to my Dads, he is not super big into video games but he recently built his own PC using YouTube for part reviews and to look at builds. This was very evident when looking at the recommended section. He was recommended videos like "RX 480 doesn't suck" and "The silver bullet PC of the month". He was also recommended Videos on sports like "Cowboys vs Packers week 6". Amazingly enough the gaming videos that seemed to be all that my YouTube consisted of where nowhere to be found on his and the PC building videos where nonexistent on mine. As I continued my search through his Amazon, Google, and Netflix this was a consistent theme. His Amazon was computer parts, because that was where he purchased his computer parts while mine was all textbooks, headphone adapters, and phone cases because that is what I purchased. What it seemed like to me was that your internet starts out as a blank slate. As you write on the slate, look up things that you like or that you find interesting, your internet picks up on it. It then adds what you looked up to a list of things that it thinks that you are going to like seeing in the future and shows you related things based on that list. As Eli Pariser put it, it creates a "personal ecosystem of information thats been catered by these algorithms" (https://en.wikipedia.org/wiki/Filter_bubble). But why does this even matter? Whats the big deal? Well, this filter bubble is a big deal because it is a fact barrier. With the algorithms set to only cater to you and your views it denies you from the truth. It puts you comfort and pleasure above knowing. The whole concept of the filter bubble also reminded me of this scene from Minority Report

I was reminded of this because it goes along with the idea of catering. But instead of basing what is shown on searches and what you watch it was instead based on your purchase history. While continuing my search I hit all of the sites that I did before but instead of using someones account and search history I went on incognito mode. This provided yet another unique result. YouTube for example provided what I see as more mainstream content. A lot of the videos where of popular music videos and presidential debates. But what I found very interesting was this.

Before you even begin to search and fill out your "list" of things that appeal to you the site starts probing you for information on your preferences. Amazon had a similar approach in the fact that it, like YouTube, displayed the popular areas. I also began to think about Tubes while researching this. I would think that since networks are connected on a need for speed if networks holding a lot of similar information where connected to increase the speed that you can receive more recommendations for like things (Tubes Chapter 3). I also thought back to chapter 5 in Pattern on the Stone, which was about algorithms. Since an algorithm is a mathematical equation that will solve a problem what is the equation for preference? And how do you decide that your equation meets every persons wants? (Pattern on the Stone Chapter 5).
Works Cited
Hillis, W. Daniel. "Chapter 5." The Pattern on the Stone: The Simple Ideas That Make Computers Work. New York: Basic, 1998. Print.
Blum, Andrew. Tubes: A Journey to the Center of the Internet. New York: Ecco, 2012. Print.
"Filter Bubble." Wikipedia. Wikimedia Foundation. Web. 17 Oct. 2016. <https://en.wikipedia.org/wiki/Filter_bubble>.

Monday, October 3, 2016

Making meaning: Pattern on the Stone

Pattern on the Stone does a great job in explaining the basic concepts of computers. It may be boring at times but this book explains complex ideas in a very simplistic manner thats easy to follow. One of the most helpful parts of the book to me was the descriptions of simple computers using sticks and string and one using water pipes. The accompanying pictures provided a good visual representation of these simple computer and greatly impacted the effectiveness of the chapters. Another example of helpful diagrams is where Hillis shows the logic behind or and and statements showing what these statements would look like if built mechanically (Pattern on the Stone chapter 1). The diagrams of what things would look like if built mechanically really helped me to better understand the concepts being presented.

One section that was very interesting to me was the section on simulated evolution. Basically this section describes the process of testing a batch of random programs to find which accomplishes the desired task the best. Then using survival of the fittest, take the best ones and combine the successful aspects of each to create a even better program. Then repeat this process until it has been optimized. After reading this section I looked up evolutionary computation and found that the selection process is not just the strong programs moving on. There are other methods that allow the weaker programs to survive and become mutated into better programs. I also learned that the search process is guided using parallel processing which was a section of the book that I found boring, but my interest in evolutionary computation got me to reread that section and helped me to better understand it (https://en.wikipedia.org/wiki/Evolutionary_computation).

Another thing that this book taught me is what a bit actually was. Previously I had only thought of bits as the 32 or 64 bits of a computer operating system. But after reading this book I learned that bits are actually "the unit of measure for information" (Pattern on the Stone chapter 6) These bits are very limited so bits are compressed to allow for more storage. That chapter also went on to talk about image segmentation and how pictures of a face for example will contain less bits than that of a pile of pebbles because the adjacent pixels are similar. It was also explained that this process can even be done for sounds and video.

The only part of this book that I disliked was the section on neural networks, This section didn't make any sense to me on my first read through it. I was never really big into science, and neural networks are based on the human brain, neurons, and their connections. So the majority of this chapter flew over my head. But I did understand the part on training a program to learn to recognize letters. It does this by receiving several inputs of the letter and then comparing the shape of the thing given to them to the curves and lines of the letters that were inputted.I understood this mainly because it somewhat reminded me of image segmentation and the process of comparing surrounding pixels.

All in all I think that this book is a great source of information for someone with a interest in computers. It does a great job at explaining so even if you have no background in computers you will still be able to understand it. I also really enjoyed Hillis including things that he had created in his life. Like the Tinker Toy computer, which played tick tack toe and never lost.


Works cited
Hillis, W. Daniel. The Pattern on the Stone: The Simple Ideas That Make Computers Work. New York: Basic, 1998.

"Evolutionary Computation." Wikipedia. Wikimedia Foundation, n.d. Web. 03 Oct. 2016. <https://en.wikipedia.org/wiki/Evolutionary_computation>.

Monday, September 19, 2016

Algorithms - Image segmentation

Image Segmentation 

Image segmentation is the process of taking groups of pixels and labeling them based on their characteristics in order to simplify the image and make it easier to analyze. This process relates alot to compression as described in Pattern on the Stone page 93. They can be labeled based on many different characteristics some of the most common being color, intensity, and texture. The result of this is several very distinct regions that differ in the designated characteristic. A more in depth definition can be found at: https://en.wikipedia.org/wiki/Image_segmentation

What is it used for?

 This process is used in several areas. Some of the more well known ones are medical imaging, object detection, and recognition. I think that the process of image segmentation will be very important in the future because of the ability to detect objects. One use that I see for image segmentation is to use in self driving cars. The university of Liège designed an algorithm that uses image segmentation to detect motion and analyze the shape of silhouettes in order to detect humans. With this the car would be able to detect pedestrians and change its driving based on that. 

How does it work?

There are a lot of different methods that can lead to image segmentation. Here are some of the ones that I found most interesting.

Region-growing method

Region growing methods works on the assumption that the pixels neighboring a pixel will most likely share traits with said pixel and therefore be labeled in the same segment and hold the similar values. This is put into practice by taking a pixel and comparing it with nearby pixels using a similarity criteria. If the criteria is met then that pixel is added to the same group as the the neighboring pixels. This relates to Pattern on the Stone on page 97, this is where Daniel Hillis explains that a picture of a face will have less information than that of pebbles on a beach because adjacent pixels are more likely to be similar.

Image result for seeded region growing method for image segmentation One region-growing method is the seeded region growing method. This method requires an input of several seeds which mark objects on the image to be segmented. The seed then becomes the start of a region. The region is grown by comparing a pixels intensity to the average intensity of the region. This process starts out with only allowing the pixels with intensity closest to the intensity of the original seed pixel in. But because pixels are compared to the average intensity of the region the standards are slowly lowered until all pixels have been assigned to a region. Because this method requires the input of seed pixels the resulting segmentation can be a bit off if the seed is poorly placed.

Neural network segmentation

 Neural network segmentation takes small areas of the image and using an artificial neural network, processes these areas and marks them based on the category set by the neural network. Artificial neural network is a network inspired by the central nervous system of animals. It is used to estimate functions based on a large selection of unknowns. This system has been used for handwriting recognition, speech recognition, and computer vision. Because this system learns from data it allows for it to complete tasks that are difficult for rule based programming.

In Conclusion

Image segmentation is a great algorithm that assists in compressing pictures as well as identifying different shapes and patterns such as finger prints and facial recognition. And I believe that this algorithm is only going to become more useful as the world becomes more automated.  

Tuesday, September 6, 2016

My Personal Biography


My Sister, Dad, Me, and Stepmom
      My name is Michael Collins. I was born in Wheat Ridge Colorado, and was raised with my brother and sister in Greeley Colorado. When I was 5 my parents got divorced, my Mom moved back to Kansas (where both of my parents were from) and my Dad stayed in the house in Greeley. My siblings and I also stayed in Greeley.After staying in Colorado for a while my Dad decided to move back to Kansas with us so that we could be closer to family. We moved to Wichita the summer after I finished 5th grade. I went to middle school at Truesdell middle school, or as I called it at the time true hell. During middle school I tried desperately to be "cool". I grew my hair out until it covered my face, wore all black everyday, and didn't try at school. As a direct result of that I failed the majority of my classes.
      This all changed when I started high school. At the beginning of my freshman year my Dad
My brother and me.
told me that for every A that I got he would give me $20, every quarter. I tried my best in school after that point ( to rake in the easy $) and received all A's that year. After that year my Dad refused to pay me for my grades anymore but I kept getting straight A's until I graduated. During my time in high school I was involved in multiple clubs and activities. My freshman year I joined JROTC and BEST Robotics. I learned how to march in JROTC and made what my team called the robot pole dancer in robotics(It was a wooden box with an arm that we got to pull itself up a pole and bring objects such as balls and boxes up with it to put in a crate on top of the pole).All throughout high school I was very interested in computer classes. By the end of high school I had taken every single computer class that my school offered.The most important one that I took was programming (which is how I discovered I wanted to major in computer science). I was also a school tech so I got to roam the school helping to fix the computers that the other students destroyed or sabotaged as well as helping teachers who know almost nothing about computers. I also created the majority of ads for the t.vs in the hallways of my school. Later in my high school years I joined NHS and became the treasurer. I also participated in Business Professionals of America, where I created a news cast and with that news cast I qualified and competed at nationals in Boston Massachusetts. I am very excited to read chapter 8, Computers that Learn and Adapt in Pattern on the stone because I want to learn how computers can adjust to different situations.
My Video for BPA State competition
     After I completed high school I got a job working at Tanganyika Wildlife Park. Its a zoo that specializes in providing more interactive experiences for customers. I worked customer service at the park. To be more specific I worked in concessions. I still work at Tanganyika as a summer job which works great with school. If interested in more info about Tanganyika you can go to /http://www.twpark.com/
   I am also very passionate about e-sports. I play ALOT of League of Legends, and I like to think that I'm pretty good. The first club that I had interest in at K-State was the e-sports club. I am really looking forward to the team tryouts so that hopefully I become their support or top laner. I play a lot of other games too, but league is the one that I have had the most fun playing. Chapter 6, Memory: Information and Secret codes in Pattern on the stone makes me think of video games because secret codes sound like cheat codes in a way so that chapter should be interesting.