header image
 

I enjoyed this class.

Video games, science fiction and especially cyberpunk novels or movies, and unabashed potential of technology has driven me to the computer.  And, it became an addiction.  I feel like I probably could go into emotional withdrawal if I were cut off from my computer. I’m not linked to it, exactly, since there are plenty of non-digital activities that I enjoy.  But, this is the future.  Humans have developed tools throughout our history, it’s only natural to try to develop something as versatile and malleable as ourselves. Perhaps, not as blocky as it is now, though the potential is immense.  People are working on artificial intelligence that may match our own someday or an android that could really question our humanity, the future potential is immense.   This is without introducing the many ethical, moral, philosophical, spiritual, and physical problems that arise. For instance, should an android be considered just a tool or servant, or do we apply morality in treating it as we would another flesh and bone human? There are too many grey areas for one simple blog post to address.

Networks bring instant communications from across the globe, and this is available now. Combine that with peripherals that can read brain waves, cameras, microphones, and we could nearly open a link from one point to another irregardless of distance. That is astounding considering just a hundred years ago, the fastest a message or idea could travel was by horse or train.

Idea propagation is spreading faster and is being created faster than ever before. Databases catalog our knowledge in a centralized and open interface that allow us to manipulate our collective knowledge like never before.  Statistics can be manipulated to make it much more accurate with simulations being built on top of those findings that is helping us predict previously nearly random events such as the weather.

Virtual worlds can be used for tele-presence for conferences or meetings, entertainment and escapism, or a marketing tool. For instance, I got into playing the World of Warcraft game with a my future fiance while she lived in Indiana a the time. This gave us something we can do together while being separated by distance.

The future is open and is still being written. Though, technology and ideas pertaining to our direction are accelerating at increasing speeds.  What was considered to be a career today may be obsolete in 5 years.  Science is discovering things that we previously thought impossible. Whenever we fully develop a quantum computer, the possibilities can become endless.  The next step would be distribution.  I forget who said this, I suspect William Gibson, but “The future is here, it just isn’t evenly distributed yet.”

 

Category:  CSIT1110     

The Blue Pill

Virtual Reality hasn’t gone as mainstream as I would have thought.  Today, markets are trying to sell us on 3D TVs and monitors which would extend our media, but it’s slow going.  It’s mostly seen as a gimmick.  I think that 3D doesn’t really help in immersing yourself into the art that is being viewed.  The setting of the movie or game, the music, the acting/gameplay, cinematography, and all sorts of other tools are used to displace disbelief that adding another dimension doesn’t really help as much. When we feel immersed, we want to believe that whatever is happening on screen is happening now, that we are there watching or controlling the action. The more a media engages us, the more we lose ourselves and become integrated into that world for just a moment.  This “microcosm” that we create as we are entranced is a form of virtual reality.  A plane that we know is false, but we want to believe is true.

Computers do this well by simulating a world and giving us a function — be it a linear role or a sandbox to play around in.  MMORPGs and other virtual worlds such as Second Life let us populate a preconceived virtual reality alongside other people as avatars. “Your representation of your digital self(sic)” – Morpheus.  And, unlike the real world, you are free to choose more about your avatar and become whatever. From being a righteous paladin in the World of Warcraft to a wheeler and dealer in Second Life, the choice of the world to inhabit and the role you play is your choice. Can you see the appeal?

The communities are created, thrive, and die in these online worlds with many competing against each other for prestige, value, and all sorts of things very similar to values outside of the virtual world.  Money is traded, either in game or out of game for goods and services that creates economies from auctions to black markets. Memes originating from these virtual worlds seep into real life often. There have been events such as the Corrupted Blood plague from World of Warcraft that is still being studied as disease propagation and people’s reaction to the disease.

 

Category:  CSIT1110     

A.I.

What does it mean to be sentient? Simply, it’s awareness of an entity’s surroundings and correct application of reaction to given surroundings. It may also be the awareness of oneself. Humans are given to be self-aware of itself and exterior surroundings. Animals are aware of their surroundings, but are not generally self-aware. A few are, though, as some have passed the red mark test. Chimps, some apes, and elephants have passed the red mark test to recognize itself in a mirror as an individual. Computers are not.

There are a couple of philosophical arguments that can be applied here. One is Functionism(http://plato.stanford.edu/entries/functionalism/) which states that the make-up of the “brain” is not as important as the output it generates. Thus, if it acts intelligently, then it would classify as being intelligent.  Functionism allows the acceptance of a computer/robot/A.I. to be a genuinely aware and intelligent as compared to a human.

However, the Chinese Room(http://en.wikipedia.org/wiki/Chinese_room) argument can be used as a counterpoint that even though it may give intelligent answers, it is still dumb. The Chinese Room is essentially a black box that doesn’t know what it is processing, but is programmed with the correct answers.  This would allow for intelligence, but not awareness in the sense that it knows what it is processing as it operates.

My thoughts on the subject are more in line of Turing’s and Decartes’ idea.  If an entity can fool me into treating the entity completely as if they were human, then they can be equated similarly. A human-looking android could be built as a separate entity in a 1:1 ratio to a human. The criteria would be intelligence, awareness, and memory.  Intelligence could be trained accurately, memory is already a given with only a question as to the required size, and awareness could be faked using those two.

 

Category:  CSIT1110     

I, Robot.

This week we played around with little robots.  Most of the class used the Lego Mindstorms which seemed pretty neat.  I, however, demoed the Finch robot.  I used my burgeoning java skills in making it drive around the floor.  The progress was slow, but it slowly came to. The first day, I made it drive in a circle.  The following class I built a buggy collision detection clause into it.  I made it back up if a sensor pick up something.  However, one of the sensors is buggy, so one side won’t pick anything up.  Bother.  I would like to program a driving mechanic using the keyboard’s arrow keys, but I don’t know how to do that.  We haven’t covered events yet in my java class.  I should look this up, however.

Most of my robot knowledge comes from books that I’ve read or movies that I’ve seen.  Issac Asimov’s Robot Dreams short story book was fantastic, and so was I, Robot.  The three laws are so prevalent thanks to his invention of them, that I would suspect that they would be built into any future androids that may be built in real life.  Our fiction inf luences the scientists who discover new ideas/technologies.  It’s weird and fascinating at the same time.

I, for one, welcome our robot overlords.

 

Category:  CSIT1110     

Security

I think I have had one virus attack me.  The outbreak infected a floppy indiscreetly. Imagine my surprise after I had just recovered from a fresh format and reinstall.  I found it then and promptly fixed it.

Another time I discovered a trojan horse hiding in my windows folder as a duplicate copy of sol.exe — solitaire. It wouldn’t let me delete the file, either. Luckily, I knew which one it was, and modified the trojan horse to allow me to delete it.  I then followed up with new passwords the whole way around. Also a firewall.

I’ve had a passing interest in computer security. I did break a couple of WEP keys and did work on WPA, but no luck there.  Don’t worry, I feel that snooping through data is wrong–I just wanted the internet.

I did become a bit interested in cyphers after reading Cryptonomicon by Neal Stephenson.  In the book, part of the plot centered around a codebreaker in WW2 in Bletchly Park. Stephenson does do a good job explaining how it worked regarding the bombes and one time pads. This lead me to pick up The Code Book by Simon Singh to learn a bit more about how cyphers work.  The book turned out to be really interesting, so I passed it along to friends.

 

Category:  CSIT1110     

Programming

I made a small game in Scratch the other day.  I still need to polish it, but I’ve made progress.  The program works like this:

1) When the game starts by clicking the green flag, it starts a loop that repeats the game for so long. Thinking of changing it to stop when a timer or score reaches 60 seconds or 65 points.

2) Have the main function call a walk function to make the sprite walk back and forth across the screen.  Speed is determined by score.

3) Have another function to change direction which the walk function calls when it reaches the appropriate x-coordinate position.

4) Points are scored on clicking the sprite. Whenever points hit a 10 point marker, the difficulty is raised.  I’m considering lowering the threshold to 5 to increase difficulty overall.

I’m thinking of adding some polish to it. It depends on whether I have time to do so or not. Thoughts include introducing another sprite as a crosshair, greeting the user and explaining the game, and a background. I probably should do so, anyway.

I enjoyed myself while figuring this small game out.  I am currently learning Java this semester, and am enjoying the class immensely. I do wish that the class did progress a bit faster.  The concepts so far have come easily to me, and I’d like a bit more challenge.  Though, the professors are going to introduce objects and classes soon–probably next week.

Category:  CSIT1110     

RDBMS

Databases make the internet work.  They hold the data that is necessary to hold files and data that is retrieved and used by the web-based applications built into the web today.  The combination of client-side and server-side applications need to communicate with these databases to facilitate the entertainments being informative, social, or excessive on the Internet today. As the size of these databases and applications grow, we are being lead into Software as a Service and cloud computing services that is changing technology and our lives. The Petabyte Age is upon us.

The organization that relational databases provide reduce redundancy to only what is necessary for security and back-up plans. They reduce hassle and allow various entities to connect, update, share, and remove relevant information.  Be aware that databases hold data, but can arrange it into information that is used to further the goals of the user.

SQL seems easy to learn with it being closer to english than, say, C++, and having only a few major commands, but the logic behind each query may be difficult for some.  I did struggle a bit in my SQL class 3+ years or so ago. However, once it clicked, it did make sense.  Though, it has be quite awhile since I used it last, and I’m rusty. Though, looking on the code again has refreshed a bit of my memory. Not all of it, but it is still helpful.

Category:  CSIT1110     

HTML

I’ve been working on making a web page for a long time.  My first foray was back in the geocities days using MS Frontpage to building for me.  One day at the mall, I found an HTML tutorial book which taught me HTML 4.0. I have surprisingly kept that knowledge throughout the years and I’ve continued to use that knowledge on on-going attempts.  Though, I admit, making frames and images were both cool at the time and hard to implement.

I have since tried to apply javascript and PHP to it, but nothing really stuck.  Last year, a friend of mine and I were commissioned to build a commercial web page to front an acquaintance’s new business. We bought new books on PHP 6 and MySQL 5.  I even began learning CSS 3 to display the site.  Our new inspiration was shattered when we learned that he just wanted to use a template provided by GoDaddy. After that, our motivation died.

HTML displays the websites, but it is static.  Cascading Style Sheets do help in arranging the mark-ups without having to rely on tables.  The CSS also conveniently separates the file containing the style tags so as to be available to utilized on multiple html pages.

I used a separate CSS file to copy my styles to each page that I linked to for my site.  This way each topic could be expressed solely on its own page. I think this makes for a cleaner presentation of whichever subject is desired.

Category:  CSIT1110     

Networks and the interwebs

I accidentally forgot to write a blog for last week, so here goes.  We covered various networks their topographies and protocols.  That most of the internet and networks rest on top of the client – server model.  I first became familiar with that back in the days when I started to get into Quake multiplayer.  The verbose text from quake’s console detailed the connections between my client with whichever server I connected to along with ping times and such.  Oh, I should also mention that that’s how the game would play locally, too.  The game would make a local server running the single player mission and you’d connect to it through the loopback 127.0.0.1 method.

I’ve worked with FTP by uploading files to friends.  Of course, now it’s SFTP.  I do think SSL should have been mentioned.  Checking if a store’s checkout page’s URL starts with https is a good practice to avoid any phishing scams and other potential dangers.

Oh, and LAN parties are fun.  Nothing better to teach how to set up a quick ethernet network.

Category:  CSIT1110     

Some Assembly Required

Today we went over software by introducing Operating Systems, talked about the GUI, the future of the UI, watched a few commercials, and introduced the assembly language simulator. There wasn’t much talk about the operating systems except the architectural layer was mentioned.  That being the user interfaces with the UI which in turn communicates with the OS which translates instructions to the device drivers, kernel, or other lower peripherals.

The UI started as a text based command line.  Most modern systems have abandoned that with the exception being the various *nixes.  Touchscreen is on the rise now and is a lot more convenient than a mouse or trackpad for different scenarios.  With tablets and other similar devices, it’ll be a grand boon, but I don’t think a mouse will disappear from the desktops any time soon.  I did ind that OCZ Technology has introduced a brainwave input device for ~$100.  There’s not much that can be done outside of the “Wow!” factor, but with it being released to the open market, someone will hack away at it to produce something cool.

The Assembly scripts added or subtracted numbers together.  A couple of them called the user for numerical inputs where others took it from memory.  The third one even pulled a number from a memory address that belonged to the program instructions.  The fourth program introduced a loop with the JUMP command.  It would jump back to the second line of code and continued until the counter reached a zero value in the register.

The process worked by first writing the code into the assembler box and then assemble it which translated it into machine code.   The machine code was then loaded into memory.  We stepped through the code running it line by line, so we could observe how the CPU processed the code.  It would read a user’s input, store it either to memory or input it to a register.  If it the value was on a register, it could be processed by either addition or subtraction.  The result would be either stored back into memory for further processing or written on the screen for the user.  The JUMP command would jump back to a previous memory address contingent on there not being a nonzero value on a register.

Category:  CSIT1110