AI

AI is an interesting field of technology, and I find it most interesting that the goalposts are constantly shifting.  What we consider to be intelligence shifts as our technology rises to meet each new challenge. The question of what is intelligence is a facinating topic, for it falls into two broad categories, functional intelligence and sentience.

To many in the field of AI,  the primary goal of AI is to create a human-like intelligence that can interact with the world, converse, and potentially even “feel” like a human could.  The Turing Test is the most well known test to determine if such an entity is intelligent in this manner, and no machine has yet come close to truly passing.

But many AI researchers are much more pragmatic. Intelligence is simply the ability to make decisions based on situational input. In such a view, if something can perform tasks that would require intelligence from a human, then the machine is intelligent.  By this definition, computers far surpass human intelligence in many tasks, and are getting constantly closer in most other tasks.

Posted in Thoughts | Comments Off

Ogre3d (Substituting for Alice/Greenfoot)

Ogre3d is a 3d enviroment/engine written in C++ that provides a framework to place objects created in 3d modeling applications (for example Blender or Cinema 4d) to be placed in a explorable and manipulatable world.

I completed two tutorials (due to losing a flash drive I actually completed them twice).  The most difficult part, honestly, was setting up the build environment. The PSTCC computers do not have all the required programs for Ogre3d development, so we had to install an IDE and framework on our flashdrives and set all enviroment variables to point to files on the flash drive.  The problem is that the the drives do not always have the same absolute paths, appearing as e:\ on some systems d:\ or f:\ (etc.) on others.  As such I had to change many places where defaults were set to absolute paths to relative ones.

Once I made it through the ordeal of setting up the build environment (twice!) it was FAIRLY straightforward to complete the first two tutorials.  The first tutorial simply involved me putting a pre-compiled ogre’s head mesh into the world and allowing the user to move around it and view it from different angles.  Then the tutorial showed me how I can change size, location and orientation of the ogre head meshes.

The second tutorial focused on creating cameras, lights, viewports (what is seen through the camera) and shadows.  In the second tutorial I created a ninja and lit him with two different colours and intensities of light to allow him to be visible from all directions, but still cast a primary shadow.

Posted in Thoughts | Comments Off

Robots

I think I have never had so much fun in a college course as I have had with the Mindstorm robots.  Although I had wanted to do much more, with them, what I managed was wonderful!

I was NOT fond of the graphical programming enviroment, but I found NXC (Not exactly C) to be a wonderful replacement language.  I am hoping to play with these more once I can afford to have my own, and may still do a bit of a write-up of how these will be used.  Sadly, my ambitious plan to do an independent research project has pretty much fallen by the wayside now, as I struggle instead to catch up with course materials in order to pass the class.

Posted in CSIT1110 | Comments Off

“Final” Blog Post

Ugh. I really feel bad for how I have done this semester.  This class was one of the most wonderful classes I have had, and I totally did not live up to it.  I am late on multiple assignments, indeed, I just today realized that even some of the assignments, like this blog, that I had thought I was on time on, I am actually late.  I had forgotten that Sunday was the due date, not Tuesday.

FML

More generarally I reflect on this class and my thoughts are conflicted.  The educator in me loves many aspects of this class that did not appeal to me as a student.  Dr. Brown did a wonderful job of using many media formats to engage the students. This is a wonderful method of reaching out to generation Y, which I technically can claim a part of.  But I cannot help but think, when I am watching a movie, “I paid money for instruction, not to watch a movie.” In most classes where there are movies, I tend to think the movies are a way for the instructor to get away with not working.  I do not think that of Dr. Brown. I have no doubt that he views the information in these movies is important, and organized in a better way than he could have organized it to meet the same objectives. I do not find those to be poor choices of movies. (Well, with the exception of the Kurtzweil movie, but that’s just because I think the man’s a loon.) I do not think I could present the material better, but when watching a movie I am always thinking “I could be DOING something now.”  I could be using this time productively.

I think that argument would have much more weight if I actually was more productive otherwise.

Another aspect of the class that from an objective viewpoint was wonderful but did not meet my personal needs was these accursed blogs. Using these blogs is a wonderful way to keep students interested, and at the same time give them some experience using a content management system.  It should be a fun activity and be an easy way to earn a few points.

For me, it was the part of the class I dreaded most every single week.  Many weeks, I even neglected them altogether. I think much of my difficulty with these blogs is that I feel anything that I put out for public consumption must be perfect.  This reflects on me, my honor, and to some extent the honor of my teachers and family.  I hate putting up something that is unworthy, and yet have difficulty finding something that I feel worthy to put up here.  Like with the scratch project, I would have been much happier to have emailed Dr. Brown a review of the class each week.  I would have had some pressure to have reasonable document to turn in, but I would not feel the same preassure as I do here, publishing something I am required to let other students see, reguardless of wether I want them to have this information about me or not.

I really think that is my greatest objection in this class.  A student, a person, has a right to privacy. On the internet and off, we have the right to keep our opinions to ourselves, or to make them public.  A required public response makes this impossible. I would have preferred not to have my thoughts broadcast to the world, except where I choose.  I would have preferred. It would have been easy in those blogs to simply have made something up, to have posted thoughts that were not my own.  But that also feels wrong to me.  So I was left with a decision, do I expose myself unwillingly to the world, do I lie, exposing only a facade, or do I do nothing and take a lower grade.  I never made a decision on this, and in not making this decision, much of the decision was made for me. For many weeks, not making the decision caused nothing to be done, which forces a lower grade.  I am going to complete these blogs now.  They will be late.  They might not even count.  But I will complete them to show that I can.  If you are reading them though. Do not expect to know if they are me or a facade.  I still don’t know which way I will answer.  All I know, is that as soon as I know that they have been read, or know that they will not be, I will delete them from the web, and prey to what gods may here that no copy exists without my consent. Since PSTCC blog AUP reserves the right to do so. The bastards.

But enough of the negative.  This was an amazing class!  I came into it with expectations of a boring class, going over information so elementary that I would want to sleep through it.  What I found instead was a class that I wish was replicated across the world. Even the topics I was already somewhat familiar with were presented in a much more stable order, with much stronger links than i had ever seen before. I cannot count the number of people. This course alone has made me glad I am a PSTCC student. When I was a CS major at MTSU, there was no class like this one on their catalog.  There was nothing that actually explained the basics of computing to the students.  CS at MTSU was nothing but programming.  The students might get their BS degree without knowing what a motherboard was.  Without understanding how binary operates or without a clue to any of the social ramifications of technology.  When I first saw the syllabus of this class I was blown away.  From taking this class, I can tell that the quality of instructors at PSTCC is a step ahead of those I was used to at a four-year university.  I believe that the students that come out of this program will be better prepared to go out into many different directions within IT and CS.

So finaly, I want to say to Dr. Brown, who I hope is the only person to read this, even if I cannot gaurentee it:

Thank You.

Posted in CSIT1110 | Comments Off

Security

The lessons on security were some of my favorites up to that point.  Security has always been an interest of mine.  I was quite interested in the discussion of some of the roots of the Hacker culture, although I would have been happier if the discussion of “hacker vs. cracker” received a little more time.

In much of modern self-described hacker culture, the term “hacker” is still used in the old sense to mean someone who, when given a new piece of equiptment, will immediately try to push it beyond its intended limits.  These are the people who make laser printers make music, or who figure out how to overclock a video card and use it to do numeric calculations instead of rendering video.  Many will still call themselves “hackers” and will resent that word being used to describe someone who breaks computer security. The correct term for such a person, they would insist, is “cracker”.  A cracker will crack into your system and do as he or she wants, a hacker will only do so if he or she is ALSO a cracker. The self-identified hackers will insist that this is the terminology that existed from the beginning, and the media has confused the issue and that they shouldn’t call people who break into systems hackers.

The only problem is that these people are wrong.  The term hacker has been used for people who break into systems even before it was a widespread media phenomana.  Many people who break into systems will call the term hacking, and few, will call it cracking. They may subdivide the term into three, the White Hat Hacker breaks into systems only to test vulnerabilities and will immediately inform the system owner of vulnerabilities so that they can be fixed.  many White Hats feel that what they are doing is not only justifiable, they see themselves as doing good and feel that those who would press charges against a White Hat hacker are either immoral or ignorant.  Black Hat hackers, conversely, are the stereotypical mischeif making or system destroying hackers.  Black hats will go in, and trash somebody’s system.  Grey Hats sit in the middle.  They try to be careful not to do damage to the systems they attack, but they may gain personal benifits from the practice, and they rarely report to their targets their exploits or how to fix them.

Posted in CSIT1110 | Comments Off

Scratch

I loved playing with Scratch.  Scratch allows quick programs to be created rather quickly.  I love how it feels so much like Logo, but is so much more complex.  Scratch can be used to create games of varying levels of complexity.  While you might not be able to implement a quality first person shooter or MMORPG in Scratch, you can easily impliment a side scroller, platformer, puzzle game or simple RPG.  Unlike attempting to program in a lower level language, and in this context even languages like python count as low level, Scratch allows instant access to the fun parts of game makeing without first having to write code that makes the framework you will be working in. I have a young friend in Murfreesboro that I am likely to introduce to Scratch over the summer.  I have been waiting for him to get a little older so that I can start teaching him game programming, but I think I was looking in the wrong direction.  Rather than waiting for the boy to grow, I should have been looking for programming enviroments that could be used by the boy.

Posted in CSIT1110 | Comments Off

HTML

Ah, the wonders of hypertext markup language.  I can still remember the wonder of seeing my first webpages.  I can remember connecting to a shell account with a 1200 baud modem and viewing web pages in the text-only web browser called Lynx.  The information available on the Web, even then was amazing.  I rememberd how easily it was to get from one related site to another.  I remembered some of the wonderful sites I found. I remember even more clearly some of the questionable sites I found. 

Even those ancient pages I viewed, without the abiltiy to display colour, or images or rougly anything that would now be recognizable as a web page were written in HTML. As time went by I remember Spry Mosaic, the first graphical web browser I ever used.  It was amazing! The web came alive like magic.  I could now view images on pages, and I could see text in different colors and much better formatting. Mosaic led to Netscape and then to Mozilla and Firefox.  (I’m not much of a user of Chrome so I’m stopping with Firefox).  But that is the surface of my history with HTML.  The real story of HTML isn’t how I’ve viewed it, it is how I’ve manipulated it.

I was probably in the sixth grade when I first attempted to make a webpage, although I honestly do not remember doing it.  I don’t remember learnign it, although I’m fairly sure I learned it from a book, not from reading web pages as I would learn a new technology now.  There were a few web-hosting services at the time, but few were free and accessable to an elementary school student (Middle School in my town did not start until grade 7) so the web pages I created I viewed locally looking at the pages from my own hard drive, not on the web.  In hind-sight, those were some pretty useless pages.  The utility of the pages, however, was and is not what mattered.  What mattered is that I COULD do it.  What mattered is that I was making the computer do what I wanted it to do, by talking to it in a way that was just a step closer to its own language. 

I first had access to upload to a website when I took college courses at MTSU when I was a freshman in High School.  Just by taking the few courses I could take as what is now called a Dual Enrollment Student I had access to MTSU’s student services, including their technology services.  This included a Frank account.  Frank was MTSU HP-UX UNIX server.  Students had a shell account to use Pine to check email, but Frank allowed so much more.  We had a public_html directory in which we could upload our webpages.  I could make webpages and see them on the internet itself.  My URL at the time was http://www.mtsu.edu/~nond005 an address which now points to nothing.  The next year I got to design the Web Page for my High School. 

Now I am in a class, and one subject I am learning is HTML.  It is interesting to come back and see it again, like seeing again an old friend. And yet, I did not do the html project on time.  Perhaps I need to focus more on old friends, and less on worrying about new ones.

Posted in CSIT1110 | Comments Off

Mad Rush to Make up Lost Time

So, here I am near the end of the semester.  I’m doing well in all my classes, except, perhaps, CSIT1110.  It is sad, really, CSIT1110 is a class that I have greatly enjoyed, completely understood most of the material in, and been fairly well constructive in classes.  Why is it a concern for me?  I just haven’t done all the work.  I have decided to do all the work I have missed, and hope that some or all of it will still count.  I don’t know how much I’ll get done, but if I do poorly in this class, I will at least know it isn’t because I can’t do better, it is simply because I didn’t.

Posted in CSIT1110, Thoughts | Comments Off

Machine Language and Assembly

Prior to taking this class I had already played around a little with assembly language.  I had NEVER, however, used a program like ALS.  I found this absolutely fascinating, it is one thing to know, in theory, what numbers go where, it is an entirely different thing to watch it happen in real time.  Writing an endless loop of some kind for the ALS is on my todo list, just to watch the calculations happen in real time.

Posted in CSIT1110 | Comments Off

Portable enough.

So I decided to build a portable computer, at least in my head.  Some of it was pretty easy.  Some, not so much.

I started with a BeagleBoard.  If you don’t know, these, they are small AIO systems designed for integrated projects.  The stats on the BeagleBoard MX are:

  • 1 GHZ ARM CPU
  • 512 On Board LPDDR Ram (Low Profile DDR)
  • 4 On Board USB ports
  • S-Video Out
  • DVI-D out
  • Micro SD card Slot

I priced this board at $149.00

The trouble with the BeagleBoard is it is powered off of USB.  That’s right, It wants a USB connection from somewhere else to run.  No problem though! Amazon has AA USB power available for only $6!  Pop in a couple NiMH batteries, for $10.77 and you are good to go.

I got a private quote from a friend of mine who does fabrication.  He could build me a case, he thought, for about $60 to my specs.  This is high for a little plastic case, but is really good for custom prototyping.  Sadly, I cannot link to him as he isn’t really supposed to be using his company fabrication stuff for people.

So I now have a computer, but no storage.  That is easy enough, a Micro SD card with 16 GB is only 18.90.  The Beagleboard will boot off of this and use it for secondary storage.  I’m going to be running a fairly minimal Linux on this system, so 16 GB will be plenty.

I now need a video screen.  I’m not to happy with this one, as it doesn’t allow for other activities while using the computer, but I’m going with this wearable display until I find better.  For $199 this is the most expensive single part of my system.

I still need input.  I considered the Emotiv but decided to stick with something simpler.  This gyro mouse will work without a table and allow me to use my system on the go. Not a terrible price at 86.58.

Some keyboard entry will be done with the mouse via a software keyboard, but when I stop for a bit I can use this projection keyboard for $149.

Almost complete, but a system this tiny is really not useful without an internet connection, so I decided to go with virgin mobile’s 3g card. So that I can have web access anywhere I go.

Utility.  This system is very specific in its utility.  I can be anywhere, and see VGA quality web pages in total privacy.  If I find a good heads-up display headset instead it will be a very useful system, as it is, it is mostly useful for reading confidential emails or viewing porn.

Posted in CSIT1110 | Comments Off