Monday, September 28, 2015

4 - Computer Systems in Daily Life (XBOX)

“In 1998, four engineers from Microsoft's DirectX team, Kevin Bachus, Seamus Blackley, Ted Hase and DirectX team leader Otto Berkes, disassembled some Dell laptop computers to construct a prototype Microsoft Windows-based video game console.” This “Windows-based console” was the Xbox.

Released in November of 2001 in North America (also released in Japan on February 22nd and Australia and Europe on March 14th of 2002), the Xbox was Microsoft’s Golden Ticket into the commerce of gaming consoles. It directly competed with Sony to this day, starting with the Playstation 2. It also contended with the Dreamcast and the Gamecube. What gave it an advantage over the other consoles was online broadband connectivity using Ethernet. Players were able to download content and play with others (as well as communicate with them in real time).

Personally, I am an Xbox gamer. I have played on the original xbox since its release. It’s what truly got me into gaming, besides the Gamecube. I was a young gamer, and I dove headfirst into multiplayer. I played classics such as Halo, Battlefield, and Star Wars: Knights of the Old Republic. These games guided me through life, especially KOTOR. But I digress…we’re here to discuss the computer systems of this electronic computational apparatus of yore.

In the quote that introduced this blog post, it stated that the four engineers of Microsoft’s DirectX team took apart Dell laptop computers and built the Original Xbox. To clarify, DirectX is “a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms.” It’s where Microsoft keeps what runs their stuff. And interestingly enough, the X in ‘DirectX’ is where the name of the Xbox came from. Originally, it was to be called the “DirectX Box,” but Xbox was more popular in focus groups and polls. And I, personally, am very glad that it was called the Xbox. It would have been shortened soon enough if it hadn’t. Again, I digress…


This device pretty much brought on widespread gaming. Over the years, the Xbox has seen software and hardware upgrades. The original Xbox was part of the sixth generation of gaming. Now we are in the eighth generation with the Xbox One, which severely fell behind under Sony’s PS4 and Wii U. What happens when too much changes too quickly? People get angry and stay with the older system or switch to the competition. And it saddens me to hear that Xbox 360 (7th generation) will be weeded out by 2016, and I (along with every other xbox gamer) will be forced to make the transition to Xbox One.

"Xbox (console)." Wikipedia. Wikimedia Foundation, n.d. Web. 28 Sept. 2015. <https://en.wikipedia.org/wiki/Xbox_(console)>.
"DirectX." Wikipedia. Wikimedia Foundation, n.d. Web. 28 Sept. 2015. <https://en.wikipedia.org/wiki/DirectX>.

Monday, September 21, 2015

3 - Algorithms in Everyday Human Life

An algorithm is a self-contained step-by-step set of operations that perform calculation, data processing and reasoning. Algorithms are prevalent in computer science and mathematics, but are also important in psychology and used in everyday human thinking. Every day, we wake up and carry out our routine, which may vary because we are all different from one another. Here is a breakdown of my cleaning routine:

A. Shower
    1. Turn on music.    2. Enter shower naked and rinse with warm or hot water.    3. Apply shampoo/conditioner to hair and body wash to body.    4. Rinse off cleaning product with warm or hot water.    5. Repeat 2-3 until clean.    6. Exit shower and dry with towel.    7. Turn off music.    B. Brush teeth.    1. Wash off toothbrush bristles.    2. Apply toothpaste to brush.    3. Brush teeth in a circular motion.        a. Brush lower row of teeth; front, top, and back and left to right.        b. Brush upper row of teeth; front, top, and back and left to right.    4. Spit out toothpaste/saliva.    5. Brush tongue.        a. If gag reflex is strong, take care in brushing deeper back.    6. Spit again and wash out mouth with water.    7. Wash off toothbrush.    8. Sip a small amount of mouthwash (DO NOT SWALLOW).    9. Swish mouthwash around in mouth for 10 seconds.    10. Gargle with mouthwash for another 10 seconds, slowly going deeper to rinse throat.    11. Spit out mouthwash.    C. Apply deodorant.    1. Take deodorant stick in right hand.    2. Remove top of deodorant stick.    3. Raise left arm and apply deodorant to left armpit.    4. Lower arm and switch the deodorant off to the other hand.    5. Repeat step 3 with other arm.    D. Get dressed.    1. Put on underwear.    2. Put on pants/shorts.    3. Put on undershirt and tuck into pants/shorts.    4. Put on shirt (only tuck in outer shirt when wearing Wildcat polo and Khakis or other formal wear).    5. Put on socks and shoes.    6. Spray body spray onto self and inside shirt.    7. Look in the mirror to make sure everything looks good.


Algorithms in human beings are different from computers. My everyday routine varies in several different variables, such as time and amount of shampoo or toothpaste used. I don't take a shower for exactly 4 minutes each and every day, even though I have been able to every now and then. A computer would very much be able to compute and carry out this algorithm, with some minor tweaking in the specifics. Since we are human beings, we cannot do something perfect or exactly the same each and every time. That is where a computer comes in; being able to take the steps and parameters of those steps and completing them in time every time is what they do.

There are variables that we sometimes cannot account for, at least easily. What would the computer program do once there isn't any shampoo? Or conditioner? That would involve countless variables and "If Statements" to be able to run the algorithm smoothly and have little error. As humans, we can think much faster and account for these variables as they come in a timely and efficient manner.

"Algorithm." Wikipedia. Wikimedia Foundation, 17 Sept. 2015. Web. 21 Sept. 2015. <https://en.wikipedia.org/wiki/Algorithm>.

Monday, September 14, 2015

2 - Historical Figure in Computing: Konrad Zuse

For this blog post, I was to research a noteworthy figure in the history of computing. We listened to a lecture about several individuals who invented/innovated computational machines, both electronic and mechanical. It would have been too much work to find information on Charles Babbage that wasn't covered in my Intro to Computer Science class, and nearly not as fun as looking up someone obscure who didn't get a lot of validation.

Born in 1910 in Berlin, Germany, Konrad Zuse was a pioneer in computer programming. He worked for the Henschel Aircraft Company after graduating from the Technische Hochschule Berlin-Charlottenburg in 1935. According to the Computer History Museum, he "spent his weekends building a computer (the ZI) in his parents' living room. He completed the ZI, for which instructions were punched on used movie film, in 1938."


Here is a photo of the Zuse Z1 in its residential setting

As amazing as this invention is, as well as its successors (the Z2, Z3 and Z4), neither Zuse, nor his creations, were given the recognition that they deserved until after he died in 1995. All but the Z4 were destroyed by Allied bombings during WWII. He sold the Z4 to the Swiss Federal Institute of Technology. According to Heinz Rutishauser, one of the founders of ALGOL"The very first attempt to devise an algorithmic language was undertaken in 1948 by K. Zuse. His notation was quite general, but the proposal never attained the consideration it deserved."

Further, he was added to their Hall of Fellows in 1999 "for his invention of the first program-controlled, electromechanical, digital computer and the first high-level programming language, "Plankalkul."" Plankalkul, meaning "formal system for planning," was designed between 1943 and 1945 for engineering purposes. Here is an example of a linear code written in Plankalkul:
P1 max3 (V0[:8.0],V1[:8.0],V2[:8.0]) → R0[:8.0]
max(V0[:8.0],V1[:8.0]) → Z1[:8.0]
max(Z1[:8.0],V2[:8.0]) → R0[:8.0]
END
P2 max (V0[:8.0],V1[:8.0]) → R0[:8.0]
V0[:8.0] → Z1[:8.0]
(Z1[:8.0] < V1[:8.0]) → V1[:8.0] → Z1[:8.0]
Z1[:8.0] → R0[:8.0]
END