Thursday, December 3, 2009

Electronic Voting

Before viewing the film "Hacking Democracy" I was clueless to the extent of distrust the American public should hold for our voting system. Upon reading Robert F. Kennedy Jr.'s article "Will The Next Election Be Hacked?" from Rolling Stone I was further frightened by the substantial claims made. Diebold voting machines are unreliable in many ways. A test done in "Hacking Democracy" showed that even when Diebold machines haven't been tampered with they are still faulty. Which is particularly scary since in the states of Georgia and Maryland, "The company [was given] complete authorization to put together ballots, program the machines and train poll workers across the state - all without any official supervision"(Rolling Stone). Not only do Deibold's products often have break downs and malfunctions, but the company has repeatedly conducted illegal acts, installing new patches and/or memory cards into machines without the approval or knowledge of the state. It was only after an election that Georgia government officials became aware and then provided a "punch list" of problems with Diebold's product that they wanted fixed. There is no documentation on what actions Diebold then took. But it was common knowledge throughout the company that during the 2004 presidential primaries there was an uncertified, illegally installed software present in the machines used. Many studies have been conducted by reliable, intelligent, authorized personnel that prove that, "With electronic machines, you can commit wholesale fraud with a single alteration of software"(Rolling Stone). These alterations have been found to take less than a minute to complete, yet can spread to all of the other machines being used when only placed in one. The machines have the capability to be programmed to automatically give one candidate a certain percentage of votes. There have been cases where voters will make their selection and it will automatically be switched to the other option, in front of their very own eyes. To give specific proof, Rolling Stone states, "In heavily Democratic areas of Youngstown, nearly 100 voters pushed "Kerry" and watched "Bush" light up. At least twenty machines had to be recalibrated in the middle of the voting process for flipping Kerry votes to Bush. Similar "vote hopping" was reported by voters in other states." I could go on explaining more examples and problems I have recently learned of, but I think you get the point. We cannot and should not trust electronic voting, Diebold products in particular. If I were in charge of monitoring the elections in California I would remove all electronic voting machines. I would have each individual cast their vote on a paper ballot, a scantron (what they use for standardized tests) type of idea. These paper ballots would then be scanned through a machine that would tabulate the results. Which would then be compared to the human count of the ballots. This would be time consuming and tedious but it would ensure that the results would be accurate. And really, what's more important, speedy results with incorrect answers or an elongated process that provides an accurate outcome?

Thursday, November 19, 2009

Intellectual Property

I am proud to proclaim that I have never illegally downloaded music or plagiarized. But I am not someone who is necessarily against pirating music. I am simply lazy and have my dads credit card hooked up to my itunes. So I am fortune to simply be able to click the buy button as I please and begin downloading the purchase of my choice, whether it be music, a movie, or a TV show. Not everyone is as lucky as me. So I don't judge or relegate when someone utilizes file sharing. In particular when it is a major label artist, because although they are loosing profit, don't they make enough of one from people like me anyways? I think so. Why make someone who's already rich richer when the majority of people that are pirating are in debt college students? RIAA themselves claim that, "college students are some of the most avid music fans." If they had to purchase all of their tunes, they wouldn't have a large selection, if one at all. Along with that when you buy a song on itunes you only get to hear 30 seconds of it, so spending either 99 cents or for the more popular artists $1.29, can be risky business. So some folks will illegally download and then if it's a good jam they'll purchase it, which I think is acceptable. I do think it's a little callous to pirate the music of a struggling independent artist. Because they are working hard to do what they love and provide entertainment for you. Since their not a major label artist, they most likely won't charge as much and all the money goes directly into their pocket, or whoever they are in debt to. So if you're a fan, it's only right to show your support and pay, if you don't, there's a good chance the production will stop. When it comes to something like downloading a copy of a song you've already purchased, I think you have every right to illegally download it. You've already made your donation and shown your appreciation and desire to listen. Unlike shoplifting a CD from a store, which is not acceptable. In this situation not only are you taking away from the artist and their record label, but the store as well. Especially now that CD's are outdated, the stores are fighting to stay afloat, so it is just wrong. If you want a CD and don't want to buy it, download it offline and then make it into a CD. This way you can also share with friends. Or if a friend has a CD you want, it's totally cool to copy it and then continue the movement and hand it over to another bud to enjoy. A similar approach to this is making your music available online to a couple of friends, this is quick, easy, and harmless. On the other hand, making your music selection publicly available online, is not such a great idea. Mostly because you can get into massive amount of trouble and it is going to people you don't even know or care about. So it's pointless. Mixed CD's are fun and practical. Personally, I'm not a fan of listening to one artists work over and over again, I like variety. So by creating mix's you not only get a selection of different artists but can share them with friends. Selling them is immoral, especially if you didn't purchase the music to begin with. It's fine to share and download for free if it's only for enjoyment. But when it gets to the extreme of selling to others, its just not morally right. This whole scene of file sharing isn't my forte of expertise, since I don't even do it. But I definitely have my opinions about it.

Monday, October 26, 2009

Python Output

1)
a. 12
b. 42
c. 0
d. it adds a to itself b times

2)
a. 5
b. 4
c. 7
d. it divides a by b

3)
a. strange: a = 6
b. weird: a = 8 b = 4
strange: a = 12
c. strange: a = 4
reallyWeird: a = 8 b = 4
strange: a = 12
d. downrightOdd: a = 3
strange: a = 3
reallyWeird: a = 6 b = 3
strange: a = 9

4)
a. 1
b. 3

Monday, October 5, 2009

Math

1. Convert the following binary numbers to both hexadecimal (base-16) and decimal (base-10)

So in starting to try to figure out how to solve these problems I have come to the conclusion that these numbers which I am going to convert to the hexadecimal (base-16) and decimal (base-10) are currently base-2. This is because base-2 only uses the digits 0 and 1. Base-2 is what computers use. Each base-2 digit is a bit. There are 4 bits for each hexadecimal.

a. 1011

for base-16:
the numbers you refer to are 8, 4, 2, 1
so there is one 8. one 2. one 1.
1 * 16^3 + 0 * 16^2 + 1 * 16^1 + 1 * 16^0
=
8+2+1=
11=B with a base of 16

for base-10:
the numbers you refer to are 8, 4, 2, 1
so there is one 8. one 2. one 1.
1 * 10^3 + 0 * 10^2 + 1 * 10^1 + 1 * 10^0
=
8+2+1=
11 with a base of 10

b. 10101

for base-16:
there are more than 4 1 and 0 digits so it needs to be broken up into pairs of 4
0001 0101
the numbers you refer to are 128, 64, 32, 16, 8, 4, 2, 1
there is one 16. one 4. one 1.
0 * 16^7 + 0 * 16^6 + 0 * 16^5 + 1 * 16^4 + 0 * 16^3 + 1 * 16^2 + 0 * 16^1 + 1 * 16^0
=
16+4+1=
21=6F with a base of 16

for base-10:
the numbers you refer to are 16, 8, 4, 2, 1
there is one 16. one 4. one 1.
1 * 10^4 + 0 * 10^3 + 1 * 10^2 + 0 * 10^1 + 1* 10^0
=
16+4+1=
21 with a base of 10

c. 10010110

for base-16:
again, it needs to be broken up into 4s
1001 0110
the numbers you refer to are 128, 64, 32, 16, 8, 4, 2, 1
there is one 128. one 16. one 4. one 2.
1 * 16^7 + 0 * 16^6 + 0 * 16^5 + 1 * 16^4 + 0 * 16^3 + 1 * 16^2 + 1 * 16^1 + 0 * 16^0
=
128+16+4+2=
150=FFFFFFFFFF with a base of 16

for base-10:
the numbers you refer to are 128, 64, 32, 16, 8, 4, 2, 1
there is one 128. one 16. one 4. one 2.
1 * 10^7 + 0 * 10^6 + 0 * 10^5 + 1 * 10^4 + 0 * 10^3 + 1 * 10^2 + 1 * 10^1 + 0 * 10^0
=
128+16+4+2=
150 with a base of 10

d. 1111111

for base-16:
broken up into 4s
0111 1111
the numbers you refer to are 128, 64, 32, 16, 8, 4, 2, 1
there is one 64. one 32. one 16. one 8. one 4. one 2. one 1.
0 * 16^7 + 1 * 16^6 + 1 * 16^5 + 1 * 16^4 + 1 * 16^3 + 1 * 16^2 + 1 * 16^1 + 1 * 16^0
=
64+32+16+8+4+2+1=
127=7FFFFFFFF with a base of 16

for base-10:
the numbers you refer to are 64, 32, 16, 8, 4, 2, 1
there is one 64. one 32. one 16. one 8. one 4. one 2. one 1.
1 * 10^6 + 1 * 10^5 + 1 * 10^4 + 1 * 10^3 + 1 * 10^2 + 1 * 10^ 1 + 1 * 10^0
=
64+32+16+8+4+2+1=
127 with a base of 10

2. Convert the following decimal numbers to both binary (base-2) and hexadecimal (base-16)
a. 8

for base-2:
the numbers you refer to are 8, 4, 2, 1
there is one 8.
1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 0 * 2^0
=
1000

for base-16:
because the letters are only used for numbers 10-15, there are no letters or changes
simply=8 with a base of 16

b. 63

for base-2:
the numbers you refer to are 32, 16, 8, 4, 2, 1
there is one 32. one 16. one 8. one 4. one 2. one 1.
1 * 2^5 + 1 * 2^4 + 1 * 2^3 + 1 * 2^2 + 1 * 2^1 + 1 * 2^0
=
32+16+8+4+2+1=
111111

for base-16:
only conversion is to add letters
F stands for 15
15 goes into 63 4 times with a remainder of 3
the hexadecimal of 63 = 3FFFF with a base of 16

c. 113

for base-2:
the numbers you refer to are 64, 32, 16, 8, 4, 2, 1
there is one 64. one 32. one 16. one 1.
1 * 2^6 + 1 * 2^5 + 1 * 2^4 + 0 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^0
=
64+32+16+1=
1110001

for base-16:
F stands for 15
15 goes into 113 7 times with a remainder of 8
the hexadecimal of 113 = 8FFFFFFF with a base of 16

d. 97

for base-2:
the numbers you refer to are 64, 32, 16, 8, 4, 2, 1
there is one 64. one 32. one 1.
1 * 2^6 + 1 * 2^5 + 0 * 2^4 + 0 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^0
=
64+32+1=
1100001

for base-16:
F stands for 15
15 goes into 97 6 times with a remainder of 7
the hexadecimal of 97 = 7FFFFFF with a base of 16

3. Suppose that we want to download a 200 MB file. How long will it take each of the following connections?

a. A modem that can download at 56 kilobits/second

For every 1 megabyte there are 1024 kilobytes
200 * 1024 = 204.800 kilobytes
The time it takes to download is in kilobits, so the kilobytes need to be converted to kilobits by mutliplying by 8
204.800 * 8 = 1,638.400 kilobits
Then to find the exact time the modem will take to download, the total number of kilobits the file is needs to be divided by the number of kilobits that download per second
1,638.400 / 56 = 29.2571429
So it will take the modem 29.2571429 seconds to download the 200 megabyte file

b. A DSL connection that can download at 5 Megabits/second

The 200 MB (which I believe stands for megabytes) file needs to be converted into megabits For Every 1 megabyte there are 8 megabits
200 * 8 = 1600 megabits
For every 200 megabytes there are 1600 megabits
The total number of megabits the file is (1600) needs to be divided by the amount of megabits the DSL can download per second (5)
1600 / 5 = 320
So it will take the DSL 320 seconds to download the 200 megabyte file

c. A high-speed connection that can download 10 Megabits/second

The 200 MB file needs to be converted into megabits, because that is how this high-speed connection translates its downloads
For every 1 megabyte there are 8 megabits
200 * 8 = 1600
For every 200 megabytes there are 1600 megabits
Now the number of megabits the file is (1600) simply needs to be divided by the amount of megabits that the high speed connection can download per second (10)
1600 / 10 = 160
It will take the high speed connection 160 seconds to download the 200 megabyte file

4. If we have an Internet connection that can upload 3 Megabits/second, and an MP3 is 60 Megabytes, how many MP3s can we upload in an hour? In a month (given a reliable connection)?

Since the MP3 is in megabytes and the Internet connection uploads with megabits, the MP3 needs to be converted into megabits
For every 1 megabyte there are 8 megabits
60 * 8 = 480
For every 60 megabytes there are 480 megabits
To find the amount of time it takes the Internet to upload one MP3, divide the number of megabits 1 MP3 is (480) by the number of megabits the Internet can upload per second (3)
480 / 3 = 160
It takes the Internet 160 seconds or 2 minutes and 40 seconds to upload 1 MP3
To find how many MP3s can upload in an hour:
Find the total seconds in an hour, there are 60 seconds in 1 minute, and 60 minutes in 1 hour
60 * 60 = 3600 seconds in an hour
With the Internet uploading 1 MP3 in 160 seconds, the total number of seconds in an hour (3600) needs to be divided by the amount of time each MP3 takes to upload (160)
3600 / 160 = 22.5
The Internet can upload 22 and half, really 22 MP3s every hour
To find how many MP3s can upload in a month:
Basing the month off one consisting of 28 days, there are 672 hours in that month
Since the Internet uploads 22 MP3s in 1 hour, the number of hours in a month (672) needs to be multiplied by the number of MP3s uploaded in 1 hour (22)
672 * 22 = 14,784
The Internet can upload 14,784 MP3s in a month (given a reliable connection)

Sunday, September 27, 2009

Net Neutrality

Net Neutrality is a big topic of debate right now. From my readings, it seems that this is due to a split on support and rejection of it. Right now there is Net Neutrality, meaning all information flowing through the Internet is to be treated equally. But as the Internet has become grander there is debate on whether or not to place more regulations and costs on it. Some groups favor Net Neutrality, like Common Cause and Free press. Their stance, along with all the others who support Net Neutrality is that, if regulated, sites will be able to limit content to paid customers. There will be less freedom of expression on the Internet, which would be a huge loss. And there will simply be less use of the Internet period; due to forced payments and a cost to have a speedy connection, people won't want to use it as much. Then there's some people like Scott Cleland, founder and president of Precursor LLC and chairman of NetCometition.org, along with J.S. Macleod, principal vice president and CTO of Bechtel Engineering and Technology, who feel the opposite. Their opinion, along with the rest of the people against Net Neutrality, believe regulation will help stop countless illegal activities on the net. For instance, financial fraud, identity theft, credit card theft, and more, which they believe to be possible through the lack of control of the Internet. Although there are some laws about child pornography, they feel that is not enough. This group sees regulation and charge for the Internet as a way for the business to bring in a greater profit, one which they feel is deserved. In my opinion, there should not be any more regulation put on the Internet. Part of its beauty is that it is free in cost and spirit. To me, there are no legitimate reasons for why it should be regulated, there have not been enough issues to spark a true need for change. And it is simply amazing that it is free to all and open to constant change.

Wednesday, September 9, 2009

Cloud Computing

Cloud computing is the new "it thing" on the internet. I have done a lot of reading up on it, yet still feel I do not fully understand the concept. For it is a strange one, and I am not the best with computers, especially computer lingo. From all my reading up on and analysis of cloud computing I have come to the conclusion that it is where you connect your computer to a giant powerful server or "cloud" such as amazon, google, or facebook, which does all the computing. That allows you to have high end computing power from any speed machine where the speed of calculations is merely based on the connection speed to the cloud. So for example, if you connect your laptop to a "cloud", no matter how low end and slow your laptop, the only thing that matters is your internet speed because it is connecting to a super computer where all the software is loaded off-site. Cloud computing is great for ordinary users in that you can access these sites from any computer and get onto your name/account, as if you were at home/on your own computer. So it makes the internet more accessible and travel friendly. The downside for the ordinary users is that these sites have the ability to blow up huge and become monopolies. In my opinion, the upside is greater than the down. As for start up companies, the upside is that if you make your site under the cloud people will be able to access it from anywhere, allowing them to use it more and you get more traffic. But then again, to get this benefit you have to be under the cloud and compete with the other sites under the cloud, which is a very difficult feat when just starting up. The social dangers of cloud computing or of everyones documents being on the same super computer and being able to simply access them from everywhere, is that people all over the world are becoming more and more technologically advanced; so soon enough people will easily be able to hack onto others' accounts and get their documents. This could cause a huge issue. There are very important and secretive materials on the world wide web, this accesability may bring about major problems.

Tuesday, September 1, 2009

Computing Robots and the Web

Welcome! I am Shannon Corcoran. I am a freshman at the University of San Francisco. I am making this blog for my Computing Robots and the Web course. Enjoy!