Friday 29 November 2013

Almost at the End

This week was the last weeks lecture of the course. So, I will organize this last post into a recap of what was covered this week, as well as some thoughts and comments I have on the course.

This weeks lecture topic was on property. We began by discussing what some philosophies are on what constitutes the owning of property. We discussed Lockes philosophy of the natural right to property, which I must say I do kind of agree with. I believe that when people put time into the creation of an object from some otherwise "ownless" piece of the natural world, then they should be able to claim it as their own property. I do understand that this necessarily inflicts with certain laws, such a those restricting someone from cornering off a piece of land and putting some foundation in it and claiming it as their place of residence (similar to what we discussed in class), but, aside from these obvious limits I still believe Lockes argument is fairly valid.

I also enjoyed the discussion we had on copyright laws and trademarking. It is interesting that such values such as death plus fifty years can be quantified as a reasonable time to allow access to someones otherwise copyrighted material. I am really curious as to how these numbers have been calculated, because at first mentioning they seem fairly arbitrary. Furthermore, I think a natural question that arises with this law is what material is now being made accessible to the general public due to the death of a patent holder plus fifty years. It would be interesting if someone could compile a database composed of all the patents that are currently being made accessible (although I'm sure one already exists).

For the second part of the lecture, we discussed the filter function on Dr. Racket. This function is extremely utile, as if you have a huge list and wish to capture only a few items that meet a few criteria, then through the use of filter (and a proper program statement) then you may do so. We were given a few examples to work with to practice using filter and I was able to produce functioning programs for these examples. One question asked us to produce a function using filter that picks out all of the numbers from 1 to 699 that are divisible by 13. Of importance to this question, is to create a predicate statement that can tell whether a number, upon division by thirteen, produces zero as its remainder. The function looks something like this (in racket).
(define (remainder1 num) (remainder num 13))
(define (equal1 num) (= num 0))
(define (theanswer num) (equal1 (remainder1 num)))

......(filter theanswer (range 1 700 1))...which actually procudes the list of numbers from 1 to 699 that are divisible by 13 (after defining what theanswer is).

Finally, just a couple of comments on the course. I found the course very interesting and I really appreciated the marking scheme! I believe Dr. Racket was fairly easy to use and the video lecture series was extraordinarily helpful in allowing me to understand and use the program. I would suggest taking this course to anyone who is interested in the world of computers, including those who are interested in the history of the computer (as well as issues like privacy and property that necessarily coincide with the use of computers) as well as those who have never had any experience programming before.



Concerning Privacy in Networked Computers

This post will be focused on the issue of privacy in a networked computer. I will try to structure this blog into two central ideas, the first discussing what constitutes a violation of privacy in a networked computer, and why someone might want to violate someones privacy, and the second discussing what would be deemed justifiable in terms of violating someones privacy on a networked computer.

So, I full-heartedly believe that what people say in public should be open to scrutinization. However, what many people, including myself, are naive about is that when on a networked computer, almost everything that you do is available to the public, and thus available to scrutiny. For example, all the rediculous photos and posts one has on Facebook are very easily viewed by many people, including possible employers. Some technologies can even hack into someones site and retrieve posts, photos and other such materials that a person thought was made private on something like their Facebook page. It is acts like this, whereby the purposeful gathering of private information that was made otherwise protected by an individual is retrieved that constitutes, atleast in my mind, a violation of privacy.

Many violations of privacy are conducted by advertising companies, or other such luctratively-motivated companies, in the hopes of prying information from a person to perhaps offer products to the person or create products that garner to an individuals needs or wants. The act of profiting from someones personal information, is a main driver of why someone would want to violate another individuals privacy.

There are many cases in which a violation of privacy, as I define above, exist and justifiably exist. For example, if someone is doing illicit and illegal things on the internet, then their privacy, if violated, can be justified. For example, if someone is false advertising products on the web, generating otherwise illegal amounts of money for themselves, then, if need be, technologies such as ip trackers used to find this individual (conducted only by those with jurisdiction to do so) should be allowed, although it necessarily violates someones privacy rights such as keeping their place of residence free from ip tracking.

All in all, I have only listed some of my feelings and ideas concerning privacy and computers in a network, and I realize that none of the above is absolute, but I do believe that atleast some of my points have justifications behind them!

Sunday 24 November 2013

CSC Week 11

The first part of this weeks lecture was concerned with privacy. It was a rather eye opening lecture for a person who is completely oblivious to the plethora of avenues technology and computers present when it comes to unveiling private and personal matters. Furthermore, I enjoyed the discussion concerning what exactly constitutes a violation of privacy, and in what situations someone can logically and reasonably justify breaching someones private information. It is critically important to note that the big-bang in social media (that has only recently occurred) has opened many routes for one to unknowingly share information, via computers, that may be accessed by such a vast audience. Furthermore, so many sites require personal information in exchange for membership which can be accessed by individuals in attempts to violate a persons private matters. Hence, one should always be careful with disseminating their private information, and one should always consider routes that would keep their private information private.

During the second part of the lecture we had a chance to explore a slightly chllenging recursive program. The program is as follows:
flatten : list -> list
(define (flatten L)
(cond
[(cons? L) (apply append (map flatten L))]
[else (list L)])))
This recursive function produces a pretty elegant method for collapsing a list composed of several lists into just a single lists composed of all the elements of the lists inside the overall list (what a tongue twister of a sentence). These types of programs are fairly easy to visualize as long as you start with the initial value (in this case a list that actually is not a list) and using this value to progressively solve further values. I find it helpful to apply the function to every element in (L) as it can help one deduce what recursive value such an element has.

Wednesday 13 November 2013

Another Week

Another enjoyable week of class for me. Again, we discussed recursion and created some recursive programs on Dr Racket that produced some wonderfully complex images, also, we discussed computer networking.

For the recursion section, we began with a look at Sierpinskis triangle. We were able to model this triangular construction with Dr Racket which was pretty cool. I found it pretty easy to visualize atleast the first couple of "recursions" of the function, however, it did get very hard to mentally model anything past 6 or 7 recursions. I also found the link to Vi Harts video on the Scary Sierpinski Triangle to be quite entertaining, and I definitely recommend watching it to anyone reading this, as well as any of her other videos (especially the ones on the golden ratio!)

For the networking section, we began with a look at some of the earlier models for computer networks like the star arrangement. I found this model to be fairly odd, because such a pertinent problem exists, whereby if the main hub fails, then the entire system is effectively shut down. We then moved into the "network of networks" or the modern internet. We examined how messages can be sent from one individual to another in a place as far away as Australia, and who might control or be in charge of this massive network (i.e governments, corporations, etc).

Finally, the quiz this week, as expected, was on recursions, and specifically Koch recursion. The questions asked to model a couple of recursions of a simple program that continuously overlayed images of circles atop circles. It was fairly simple.

Wednesday 6 November 2013

What a week...

So, things this past week or two have been getting quite difficult. Not with regards to this course in particular, but more of an amalagamate of all my other courses.

Regardless, this week in csc104 was probably the most interesting. I really like the idea of recursion, and how a program can have a definition inside its own definition. I find that this method is quite useful, and gets around many of the tedious things that can be quite frustrating when creating images composed of several images. Furthermore, I really enjoy the math behind recursive function/equations. There are many cool insights that can be made from mathematical/computational ideas regarding recursion, such as recursive relationships to fractals and to methods of arithmetic calculation.

P.S that spiral we generated in class was pretty cool!

Thursday 24 October 2013

FIRST SLOG!!! How it all began.....

An appropriate introduction to this blog, I believe, would be to discuss my motivations for taking this course, followed by how I am enjoying it now thats its more than half done.

To begin discussing  how it is I ended up taking this course, brings me to a discussion of mathematics. The world of mathematics has always fascinated me. Although my passion for the subject came rather late in my academic life (nearing the end of highschool) I have since been very captivated by the natural beauty of the subject. 

Although I have taken several courses in the field throughout my university career (now 3 years in) my mathematical brain is still very underdeveloped, but throughout my studies it is the continuous collisions I have with crazy problems, and unbelievable proofs completed by some really brilliant people that inspire me to learn more. 

To progress with this passion of mine, I realized that a working knowledge of computing, from its history to basic programming is definitely required. As such, during course selections this year, I decided on taking this course, which, by its description, seems to address both the history and basic computing knowledge i lack!

Now that this course is more than half done, I believe it has really lived up to its description. I am especially enthused by this weeks lecture on the mechanics behind memory storage. It inspired me to go on a wikipedia tyrade; from researching the evolution of the compact disk to quantum entaglement and its use in the development of quantum computer! Although the programming portion seems pretty primitive, I think the idea of recursion and modelling systems such as the epidemiology project seem quite interesting!

Anyways, I think this has been a pretty good first blog entry. So I'll end here!

P.S To anyone reading this, theres a cool portion of the movie I Am which discusses some interesting aspects of quantum entaglement from a very non scientific point of view, you might want to check it out!