Computers and Society

Looking back at the semester, if anything else sticks with me it’s a better perspective of where I prefer to be in terms of technology.  I very much prefer to be somewhere on the end of producing end results.  Using a program like Alice or Scratch to produce an interactive environment, referencing rather than memorizing code to create a web page, studying how modern technological mythos affects how society looks at technology as a whole.

And yet, it’s also hammered home the importance of knowing how the technology works in order to appreciate and better work with it.  The evolution of processor chips, how registers work, and how to read binary may not be my absolute favorite subjects to learn.  But they’re all smaller pieces of a very complex whole that is computers, sitting behind a user friendly veneer.  Without knowing how the chips evolved and continue to do so, imagining where they may go seems foreign.  Without understanding registers or code, pinpointing where the problem in the hardware or software may not specify the root cause.

Overall the most appreciation I’ve probably gained for something in this course is the importance and specific nature of algorithms in computer technology.  Without them, computers would probably be nothing more than expensive numerical calculators (although in a way, with binary, they are anyway).  They certainly help to break down and better understand the different functionalities involved with computers and related systems.

As part of the online class, I do wish I had the time to come into class for the robot section of the course.  Robotics is something I have rarely had the opportunity to get my hands on in depth, and I would absolutely love to see the algorithms and mechanics come together first hand.  I’m definitely going to continue playing with the Alice program, though.  If anything else just to get more experience working with virtual environments.

Moving forward I’ll definitely be focusing on the networking, web interface, and security end of things if I can help it.  Most of the general overview subjects I already knew going into the class, although clarification on the general architecture of the net helped me.  I do wish we could have gone more into detail on the security section.  Not only on the history, which I had only an incling of from a recent segment on the Colbert Report (http://www.colbertnation.com/the-colbert-report-videos/395003/august-18-2011/kevin-mitnick) but also the details on how each threat can affect a system and how to best counter them.  Actually I’d really like at least a class on the subject of security, to get a better idea if that would be worth pursuing as a career in it’s own right.

Posted in CSIT1110 | Comments Off

Virtual Worlds

It’s pretty safe to say I’ve been exposed to virtual worlds and video games for most of my life.  From Seawolf and RatRace on an Atari to triple A titles released on the computer today, I’ve had a more than casual relationship with gaming.  While I generally hedge at claiming the title of gamer because it’s so broad a term, gaming is definitely a hobby I continue to enjoy.  For about the past six years I’ve been playing World of Warcraft (my current avatar) and I’ve stuck with that game because I enjoy the community of people I’m playing with.

When it comes to virtual worlds, I think it can be difficult to always draw a hard and fast line on the impact of virtual worlds on the real world.  Unlike television or books, or even vocal storytelling, video games ask the user to participate in the tale.  A story may branch or be linear, but the player is able to immerse themselves.

And that is where there can be a drastic difference in how people approach and see a game, the level in which they invest themselves in it.  When someone just plays a game as a temporary diversion, they’re not as likely to feel a form of investment with the game or care how well they’re doing besides at that moment.  The more invested a person becomes with a game, the more they seek to get better at it, the more that specific game or genre becomes a hobby.  Or when that investment starts to become more important than real life relationships or activities, it can be problematic.  Extra Credits has a well balanced view on both the myth of gaming addiction and how gaming compulsion can affect real life.

There’s also a closely related divide in how people see other players, and even npcs, in games.  The level of anonymity seems to make it much easier for players to suspend normal courtesies and behaviors they would otherwise have in person.  This seems mostly on the willingness or ability of each player to recognize that there are actual people behind those avatars, and the extent they’re willing to deviate from their norm (or not) when interacting with them.  Although looking at instances of road rage, or even just looking at someone as just another statistic or faceless customer, rude or outright nasty behavior through a suspension from everyday interaction isn’t exclusive to video games.

 

Extra Credits is a very interesting weekly show addressing various topics involving video games and the video game industry.  It currently airs every Wednesday on PATV.  Definitely worth a watch if you’re looking for a more thoughtful and academic, if more than a little predispositioned towards gaming, look at games.

Posted in CSIT1110 | Comments Off

Artificial Intelligence

Artificial intelligence is something I often deal with, but rarely appreciate.  Enemies getting stuck on sprites or bull-rushing in, companions doing the same, and npcs who always seem to manage to get in the way and repeat the same phrase ad nauseum.  But even outside of gaming, good AI programing can make a task much easier while poor programing can lead to frustration.

The most intriguing thing about AI to me is how incredibly complex the algorithms need to be for even something as specialized as an expert system.  Even getting the system to a point of being able to teach itself must be incredibly tedious.  And even things like context, which is very easy to take for granted, requires a huge amount of effort to establish.  It definitely gives me a new appreciation for whenever the computer whips my rear in chess on “easy.”  Maybe I should learn how to play “Go!”

Posted in CSIT1110 | Comments Off

Robotics

*Just a quick warning.  This post contains spoilers of both Mass Effect and Mass Effect 2.  If you want to play either games without plot spoilers, don’t read this post.  Unless you’re Dr. Brown, in which case I apologize for the spoilers.

 

Mass Effect is a series of scifi, third-person shooter, action role-playing games made by BioWare. Set over a hundred years in the future, relevant to current time, the primary technology in use in the game is a reflection of when “Nine years prior in 2148, scientists discovered a cache of alien technology buried under the surface of Mars” which enables   and the subsequent interaction with other alien races throughout the galaxy who have also come across this technology.

Prominent throughout the games are three variants of robots: advanced machinery, Virtual Intelligence, and Artificial Intelligence.  Advanced machinery and Virtual Intelligence are used without controversy throughout the games, although there are instances where your character deals with VIs who have gone rogue.  Most of the robotics are somewhat taken for granted in the games, fitting seamlessly into the tools and background of the game.  In contrast, AIs are considered highly controversial in the game, to the point of being banned outright by the ruling council in the game following a mass rebellion of networked AI called Geth.  The primary differentiation between VI and AI made in Mass Effect is the ability to become self-aware (source).  Besides the Geth, AI makes an appearance in Mass Effect 2 in the form of an on-board ship program called EDI and in all the games as the primary antagonists, Reapers.

Geth are an autonomous robotic race consisting of many networked programs, capable of self optimization and increasing intelligence through shared information.  As their creators tried to disable their growing intelligence, the Geth disregarded Asimov’s Three Laws in favor of self preservation.  In general, individual platforms are shown as having animal level intelligence when alone, growing in intellect as they are in proximity to others.  Only one known Geth has been shown in the games to verbally exchange with an organic being, a platform of 1,183 programs called Legion.  Geth are a representation of robotics evolving past the need for interaction with organic life.  One of the more interesting issues that arises in Mass Effect 2 is the revelation that the Geth have split into two opposing factions, disagreeing on how to interact with the Reapers.

The Reapers, or “old machines,”are essentially the galactic boogie men in Mass Effect.  Massive, squid shaped, primordial, and largely residing outside every day existence, they loosely resemble Cthulhu mythology.  In essence, they’re nightmarish puppeteers seeding civilizations with the means to ripen until ready for harvest.  Somewhat similar to the Matrix dominance of machines, only without the direct connection and the threat of absolute annihilation.  The Reapers are the representation of robotics beyond our understanding, that prey upon life.

On an ambiguously more anthropologically friendly note is EDI.  Capable of joking and understanding emotion, she is probably the AI represented that would be most likely to pass the Turing test.  Initially heavily limited in capabilities, she is later fully unshackled and integrated with the ship.  Going into Mass Effect 3, it is unclear how the integration of Reaper technology into EDI’s system will effect her place in the plot, EDI has as of yet not shown any hostile action towards the protagonist or their crew.

The view of advanced artificial intelligence is very grey to dark in Mass Effect.  While advanced robotics is largely treated as nothing more than tools, the creation of autonomous systems is at best looked upon with trepidation.  And at worst, a civilization devouring scourge.

Posted in CSIT1110 | Comments Off

Security

Computer security is something that’s been a part of my life for quite awhile now.  Playing World of Warcraft and other online games, it’s scary just how big the threat is to account security from phising emails and in-game whispers trying to pose as GMs (game admins).  It’s a huge problem in games like that.  Somtimes it even happens to the game databases and networks themselves, as was the case when the Sony network was hacked.  And that sort of stuff isn’t really limited to gaming hubs, it’s just what I’m typically hooked into and hear about.

And then there’s the political overtone that’s occurred in recent years from groups like the self described hacktivists Anonymous.  Even as they publicly try to deny political overtones, they seem to make the news quite a bit attacking high profile targets with stuff like DDOS attacks via zombie computers.  As the world adapts new technologies, so too do the hackers adopt different methods and motivations.  And more hackers enter the pool, like “script kiddies,” organized criminals, and goverments.

Posted in CSIT1110 | Comments Off

Programing

Scratch reminds me very much of a Flash editor with a more user friendly interface.  The steps can allow for something as complex or simple as you like, and keeps things very easy to manipulate.  My biggest gripes with it are how small the space is to work in, which isn’t all that big a deal as long as you’re willing to scale things, and the very limited sprite image editing tools.  Doing something as simple as flipping an image requires you to make an entirely different sprite, which again isn’t a huge deal as it doesn’t take that long.  Overall, the tools are dynamic enough to make something simple and fun while dealing with a coding language that lays out all it’s capabilities in an environment that’s conducive to experimentation.

As for Randy Pausch’s Last Lecture, I too will probably require a death bed conversion to seriously sit down and learn how to use a Mac.  In all seriousness, I really don’t want to fool with a Mac.  And Pausch, in relation to the programming lesson, does an excellent job breaking down how he accomplished his goals in a similar manner as the steps to software outlines, conceiving the dream, creating the credentials to achieve that dream, putting those credentials to work, and actually achieving that dream.  And as each of his stories show, there’s no set time for any one step and sometimes, like his football or Kirk dreams, you have to go back and modify that dream and carry the experiences you got in the mean time to carry forward.  Oh, and headfakes are a wonderful way of teaching.

Posted in CSIT1110 | Comments Off

HTML Coding 2

The number one thing I learned from this assignment is something I should have learned years ago, never put something off until the last day.  Especially when it involves software I’ve never used before and only have remote access to.

Aside from problems connecting to FileZilla, it was kind of fun making a rough web page again.  It’s easy to under-appreciate just how many different codes it takes to make a web page look decent, rather than a hasty Myspace entry.  Even something simple like this blog setup probably took a considerable amount of coding just to set up the template.

As kind of an aside, it’s a very deep and very relevant subject when it comes to data sources and reliability.  Listening to NPR today, they did a piece on the “wrestling strike” about the balance between reality and fiction in televised wrestling.  The Arab Spring, Tea Party and Occupy Wallstreet movements, Anonymous, Wikileaks, and all the other information fueled players in today’s media.  We’re undeniably in the midst of an Information age, and the information is accessible to and influenced by a much bigger populous than it’s ever been.  It’s definitely helpful to have at least a basic understanding on maintaining a database worth of information, and essential to keep a mind on where various bits of information come from.

Posted in CSIT1110, Thoughts | Comments Off

HTML Coding

The assignment this week brings back a few memories.  The last time I really worked with html coding was in high school.  Playing with check lists, entry fields, and various other codes to simulate order forms, survey lists, and that sort of stuff.  The biggest pain in the rear was, and still is, looking up and experimenting with the various font sizes, page settings, and color definitions to make you appreciate programs that do the coding and provide an interface for you.

Oddly, one of the biggest troubles I had with coding was breaking the habit of using brackets [ ] like basic forum coding, and instead using the < > symbols.  From what I’ve learned over the years and in the classes at Pellissippi so far, I certainly have a greater appreciation for how the coding works than when I was in high school.  All that work just to make a basic page.  Making a professional looking page by hand would be a big pain.

Posted in CSIT1110 | Comments Off

Some Assembly Required (Assembly Language Simulator)

The Assembly Language Simulator exercise was deceptively simple at first.  Plug in a number, and get a value.  However it took me a fair bit to figure out which values were being used for what and why.  That really got into the guts of the code.  The order that the instructions are placed on the ram affect the order the CPU computes everything at.  Any sort of error or corruption in the RAM, registers, or CU could end up with an entirely different result than intended, if you get one at all.

 

What I understand thus far is that the inputs translate what humans find as understandable information into machine code in a specific order.  That could be anything from a keyboard, mouse, monitor, cd(dvd) drive, or other media input devices.  That code is placed on the RAM, and processed by the CPU.  The CPU uses various registries to calculate and read the incoming data, which is then translated back from machine code to something understandable to the average user.

The system clock regulates the speed the processor takes in the information.  The system OS turns a large number of system processes from just numbers into more complex user interfaces as well as more complicated system instructions.  Programs all use similar lines of code to do various tasks capable of more than just numeric calculations.

Posted in CSIT1110 | Comments Off

Week 3: Building a Computer

The general idea I had approaching this was to build as relatively cheap a machine as I reasonably could.  I chose Tigerdirect as the site to “order” from because I’ve heard fairly good things about it before.  Being that I prefer to mostly reuse peripherals, this setup could come in handy if I suddenly needed to replace my current machine on a really tight budget (assuming whatever would affect my machine left my other equipment intact).  Before tax the whole setup minus OS or any software is comes to about $300.  Each part was chosen mostly on cost and compatibility with the motherboard.  The hardware is as follows:

Tower:
Cooler Master Centurion 5 – Silver ATX Mid-Tower Case with Front USB, Firewire and Audio Ports

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=1028568&CatId=1842

Power Supply:
Cooler Master Elite Series Power Supply – 460 Watts, ATX

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=5079834&sku=C283-2060

Motherboard:
MSI 785GTM-E45 Motherboard – Micro ATX, AMD 785G Chipset, Socket AM2+, 1066MHz DDR2, SATA 3.0 Gb/s, RAID, 8-Channel Audio, Gigabit LAN

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=5019773&sku=M452-6066

CPU:
AMD AD7750WCJ2BGH Athlon X2 7750 Processor – 2.70GHz, 1MB L2, 2MB L3, Dual-Core, OEM, Socket AM2+

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=6611056&sku=A79-7750

CPU Cooler:

Cooler Master DK9-7E52A-0L-GP Socket AM2/AM3 CPU Cooler – 65 Watt

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=6515155&CatId=2545

RAM:
Patriot Signature 1024MB PC5400 DDR2 667MHz Memory

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=2968498&CatId=1654

Hard Drive:
Seagate ST31000520AS Barracuda LP Hard Drive – 1TB, 5900RPM, 32MB, SATA-3G

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=4691121&sku=TSD-1000AS4

Optical Drive:
Lite-On IHDP118-04 Internal DVD Drive – DVD-ROM 18x, CD-ROM 48x, IDE (OEM)

http://www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=5077988&CatId=88

 

Putting everything together:

I would first attach the AMD2+ CPU to the motherboard, careful to match the slots up and avoid touching any of the sensitive areas.  Following that I would attach the CPU cooler.

Next I would put my RAM into the DIMM slots before installing my motherboard inside the case.

Then I would slide the hard and optical drives into the external slots and attach them from there.

Finally I would plug those components in, install the power supply, and make sure everything else is plugged in.  Because the motherboard has a preinstalled video and sound card come with the motherboard that’s a step I wouldn’t have to make in building this basic pc.

Posted in CSIT1110 | Comments Off