Monday, February 21, 2011

Parallel Computing


A few years ago I never understood what the hype about Google was all about. My parents, both software engineers, told me that I would be set for life if I could land a job with Google. The pay was good and so was the company’s environment. But to me Google seemed boring. Their website was plain compared to others and I didn’t really understand what Google did. I just used it to get to websites it was never my final destination. I thought to myself, what would I do at Google? I mean someone searches for something and Google finds it. Right? So it seems like there is nothing else to do. All I’d be left with would be grunt work nothing creative.
As I matured more, I quickly learned that I’d taken Google for granted. Sure, Google is most well known for its search engine and what it does exactly what it sounds like, searches for websites matching the search query. But this seemingly simple task is actually complicated. Google has to sift through the two hundred fifty million websites currently on the web and rank them by relevance all in a few tenths of a second. And it goes through thirty four thousand searches of these searches every second.  That’s not all that Google does it. It owns the mobile operating system Android, YouTube, and the blogging site, Blogger.
I came to appreciate Google more after taking my first Computer Science course, CS 61A, here at Berkeley. In that class we learned the programming language Scheme. Scheme has little use outside of the classroom and many people find it to be esoteric. Unlike many of my classmates I liked Scheme. It was simple and concise. Things that would take me ten or twenty lines of code in another language could be done in three or four in Scheme. Scheme is also not widely used because it is functional programming language and most of the “real” programming languages are imperative. I became somewhat disappointed to learn that I would probably end up programming in another language, maybe Java, instead of the elegant Scheme. That was until I learned about parallelism and the uses functional programming languages in this aspect.
Parallelism is splitting a large problem into smaller ones and computing them simultaneously. It turns out that Google uses parallelism extensively for efficiency. Instead of having one machine doing all of the work, the work is divided and done simultaneously by several machines. At first I didn’t quite understand the point of doing this. Why not just have one really fast computer instead of several slower ones? The answer is heat dissipation. For processors to go faster, the amount of transistors on each chip has to increase. The higher transistor density, the hotter the chip gets. Processors reached the limit on temperatures. Any higher temperatures and the processor will literally melt itself. That is the reason why almost all computers nowadays have multiple processors. The way of the future will be multiprocessor. That is the only way for computers to go faster without frying themselves. It is only a matter of time before everything electronic goes multiprocessor and functional programming becomes the “real” way to program.

Sunday, February 13, 2011

Cell phones: Cure or a disease?

            Over the past few decades cell phones entered every aspect of life. Everyone now has cell phones. Your eight-year-old neighbor has one and so do your eighty-year-old grandparents. Cell phones have definitely made communicating easier.  I can’t even remember of a time when cell phones didn’t exist. Whenever I needed to talk to someone I would just call him/her. More recently, phones have added more communication capabilities.  Texting has become an affordable and effective way to talk to a friend. Unlimited texting is cheaper than unlimited minutes and texting allows you to respond whenever you have the time. The most recent addition is affordable mobile Internet. Phones with Internet capabilities are gradually becoming commonplace. I’d say that one in three of my friends have an iPhone or an Android smart phone.  Not only can you call or text your friends all the time, but you can post on their walls or tweet to them from anywhere.
            The question now is what can’t cell phones do.  After all they allow people to be interconnected all the time. What cell phones can’t do is replace face to face talking. Although cell phones make it easier to connect to people, the quality of the communication is definitely worse. We’ve all had the friend who is constantly texting. You can’t have a five-minute conversation without him/her pulling out a cell phone. Is it too much to ask for the person to say, “Excuse me”?  When you are eating dinner with a group of friends you are almost guaranteed to have someone texting.
             The increased functionality in cell phones has decreased the amount of time people spend physically interacting with one another. Cell phones are becoming more interesting than other people. I’ve seen a group of five or six people completely silent intent on their cell phones. Average people just can’t compete with the seemingly infinite information now available on a phone.
            Cell phones breed a new generation of people without the attention span to maintain a conversation.  They need the constantly flashing lights and colors to keep them looking. Little kids grow up with cell phones. In the airport, I saw a girl, not more than four years old, asking her dad to see his iPhone and then crying when he refused because he was currently using it. Parents give their kids cell phones at younger and younger ages. I remember when it was rare for a ten year old to have a cell phone. Now I think it is the other way around. My eight-year-old neighbor for example got a new iPhone for Christmas. That is her third phone (she received her first one when she was six).
            Cell phones are a great way for people to communicate, but they are overused. A main cause of the problem is the portability of cell phones. People can take cell phones everywhere they go and they do.
            

Sunday, February 6, 2011

What now Gladwell?

This past week the turmoil an Egypt captured the attention of the world. An entire nation, tired of the status quo, united itself against an unpopular and corrupt government. How could a country with over eighty million inhabitants come together so quickly? Twitter and the Internet. Contrary to what Gladwell claimed in his article, "Small Change," a revolution did occur because of Twitter. 
Although Gladwell’s main idea was incorrect, not all of what he argued was completely untrue. For people to go and attempt something like a revolution, they have to be surrounded by the people they love. That is the only way they would be willing to sacrifice so much and put their lives at risk. He was also correct when he assumed that connections between most people in Twitter are relatively weak. People can't have meaningful relationships with hundreds of people, most of which they haven’t personally met. Where Gladwell was wrong was assuming that all relationships on Twitter are weak. People who are close still follow each other on Twitter and tweets became an effective way to organize people. Gladwell also did not understand the increase in communications that came with tweets.
Gladwell also underestimated the power of weak connections between many people. Twitter allowed the small isolated groups throughout Egypt to communicate and create a widespread protest. Alone people would not have had the courage to go against the government. Twitter allowed people to see that other people shared the same views toward the corrupt government. This widespread consensus gave the protests more legitimacy.
The power of Twitter and the Internet is further exemplified by the actions that the current president, Hosni Mubarak, took. Egypt was traditionally more liberal than most Middle Eastern countries when it came to the Internet. In the midst of the revolts, the government was quick to initially shut down Twitter and eventually all Internet access on January 27th. The drastic and unusual actions the Egyptian government proves that Twitter and the Internet were the driving force in the protest.
Egypt’s turmoil also gave insight to the Internet’s role throughout the world. The censorship in Egypt brought help from around the world. Volunteers helped by making dial-up lines after the government cut phone lines. Even large companies like Google and Twitter teamed up to help in Egypt. Together the two companies made it possible to send tweets through phone. Average Internet users helped the protests by continuing to circulate videos and photos of injustices when the people in Egypt could not. The international on-line community is truly committed to giving everyone access to the Internet.
         The actions in Egypt should make us think how easily the Internet can be taken away from us. The Egyptian government was able to cut all Internet access in less than a day. Here in the United States there has been the idea of an “Internet kill switch” bill in the Senate that would centralize control over Internet networks. This would make it even easier to “turn off” the Internet. Without the Internet, how could a nation so dependent on it for communication fight against a tyrannical government?

Sunday, January 30, 2011

How Much is Facebook to Blame?

Over the past couple of years, people blame social networks for leaks of their privacy. On January 17, 2011, Fox News published an article on its website, www.foxnews.com, about Facebook sharing user information with third parties. The article exposed a change in Facebook's permission and privacy settings allowing third parties access to your home address and phone number via standard permission dialogue.
Although I see how people can be outraged at having their information handed out, whose fault was it? Facebook didn't force people to post all of their private information on the Internet. Not only that, but since when has exposing so much information on the Internet become acceptable? When I was little kid, still starting to use the Internet, everyone constantly bombarded me with the dangers of the Internet. My mother told me to never use my name. In school, not only did I learn not to talk to strangers in real life, but also on the Internet.
Gradually, these strict rules wore off. When I entered the fifth grade I made my first email account. There my name was a mandatory field. I thought to myself, “There must be millions of people named Pedro on the web. What can anyone do with that information?" And so I entered my first name and to my relief I wasn't kidnapped the next day. Slowly I released more and more information. Everyone has an AIM account, I won't put my name on my screen name, that makes it ok, right? A friend emailed me asking me my phone number. Well... I can't say no, how would that make me look? Ooo!! Skype looks fun. But everyone uses his/her name as the username...
Now Facebook comes along. I don't even think twice when I enter my name and email address. Not long, anyone can see my picture and who my friends are, not to mention all the information my friends have posted of me. Things I have no control over. I still haven't put my address or phone number on Facebook, but who knows what will happen in the next few years. Over time I think people have become more and more desensitized to sharing private information.
People need to step back and see how much information they have released to Facebook. Sure, the only people who can see this information are your "friends." How well do you know those 300+ friends? Facebook makes sharing information too easy and impersonal. If people had to stand up in front of all their Facebook friends and physically speak, I am sure they would be much more reluctant to release so much information.
Okay, maybe not everyone on the Internet is as naïve as a five year old and shouldn’t have the same restraints. People should realize that what they put online isn’t completely confidential. They should stop acting like five-year-old, take responsibility, and not blame Facebook.