Fun with Motion Capture

This Thursday  (Dec. 3, 1pm to 6pm)  my Gam667 class will be doing a field trip to a motion capture studio where we will look at the process of capturing real actor movements for use in games.  My class is not big so we can take a few others that have interest in this area.  If you are interested in checking out a motion capture studio and what they do, please contact me.  This is a really cool field trip so if you are available, I’d highly encourage you to join us!

blog feeds

Currently C3DL’s Development news feed is included on the Planet CDOT. Recently while looking at other people’s work on WebGL I came across the WebGL planet.  I figured, it was a good idea to have our dev news there so I asked Chris Blizzard to add us to the feed.

Chris then told me that the planet was having trouble parsing our feed and that a stray character may be to blame.  I found this odd of course because it always showed up on Planet CDOT.  However, I know that the planet software was different for the two so perhaps one was stricter than the other when it came to blog feeds.  I decided to investigate this.

I was not sure where to start as my experience with blogging software is pretty limited.  I decided to start searching for planet venus (the software used by Planet WebGL) since it was the one thing I know was different between planet CDOT (which worked) and Planet WebGL (which didn’t).   I came across a lot of articles on the 2nd planet from the sun, but much less about planet venus the blog feed tool .  I decided to try looking at it from the wordpress perspective to see what else I could find.  Eventually I stumbled upon http://feedvalidator.org/ It lets you check if anything is wrong with your blog feed.

Upon putting in the c3dl feed, I discovered that there was indeed something wrong.  It was in one of the posts which had an <a> tag that didn’t have any url (basically <a href = “”>some text </a> ) . I took it out and the validator indicated that there were no longer any errors in the feed.  Sooo lessoned learned.  Not all planets are as forgiving with their tags, check your feeds and make sure everything is good.   Hopefully this will solve the issue with Planet Venus :) .

 

Planet CDOT contributes to insomnia

Having had a fairly long day, I was thinking about going to bed “early” (before 2am) when I decided that I just should check out Planet CDOT before sleeping.  Although I don’t blog as much as I should, once in a while some things make me want to blog to put in my thoughts on the matter.  Thus, my quick 10 minute pre-bedtime blog browsing is turning into a much longer pre-bedtime blog writting session.

Dave Humphrey blogged about comments being possibly harmful today.  Well that caught my attention because I know that I am one of those teachers that thinks that code should have comments in them.  However, having read Dave’s blog, I can’t say that I disagree with him.  I too have been led astray by comments left in some source file.   Sooo… to procrastinate on going to bed I figured I’d write what I think I would prefer for comments because I think there is a time and a place for them but the comments written should be meaningful and have semantic knowledge.

My thoughts are simply as follows… I hate comments that repeat code.  This is actually something that I have observed students do and it is a pet peeve of mine.  Comments should say something that code does not or possibly cannot say.  If your code is so complex that no one can possibly understand it without a comment… perhaps it is time to consider rewriting it so that it is understandable.

For example, I ask my students to provide a data dictionary… that is variables should have comments stating what they are used for.  And once in a while I get comments like:

double weight;  //a double holding the weight

err…???? What I want to know at this point is why on earth this person is coding in english inside the comment… If I wanted to see code in English I would use COBOL  (/shudders).  Repeating your code in your comment is not useful.  A comment should provide information that cannot be gleaned from your code… for example:

double weight;  //the weight of the car in kg

I don’t need to know that its a double or that its name is weight because I’m fluent in the programming language.  it would be like saying:

/*this loop runs 10 times*/

for(int i=0;i<10;i++){…}

really? nah… it cannot be…how did I ever manage without that comment (/sarcasm)

The other situation where I think it is useful to actually have a comment is in the function description.  That is, when you code a function you should be able to state what it does (not how, just what),  what its expected return values are and what argument it expects.  While how you implement that function may change, what it does should not change nearly as readily.  Thus, the focus of your comments really should be on a very high level what (and even sometimes a short why) but forget about the how .

Anyhow… my 10 min. blog reading session is now way longer than 10 min.  Time to sleep.

Twitter – good or bad

Well, I finally succumb to peer pressure and signed up for Twitter (my id is cathyatseneca).  I had resisted joining it because I know that I’m fairly easily distracted while at the same time focusing on something that is really a distraction.

So far I have made 3 tweets (one was more like a note to myself to check out certain apps).  There was a silly comment/joke I tried to write but I ran out of characters so I didn’t bother with it.  I can see that fitting in your tweets to the given length will definitely be a challenge.  Unlike blogs where you can go on and explain your points, twitter is definitely a place where you need to say what you want to say and do it quickly.

As of day one the distractions have not been too bad but I don’t have too many people I’m following or are following me so far.  Maybe it will grow as the list grows.  For now though, its ok and I can keep up with it :)

Processing.js at FSOSS 2009

This year’s FSOSS was a bit smaller than usual which is to be expected given the state of the economy and a flu virus that seems to be jumping around like a mad grasshopper.  However there was still a quite a bit of neat stuff going on.  I didn’t get to go to as many talks as I would have liked to but I did catch Al MacDonald’s (side note, Al’s site does NOT use Flash!) talk on Processing.js.

I was really interested in it because it is similar in some ways to my own project, the Canvas 3D JS Library.  Processing.js is a language for programming graphics and animations by drawing onto the Canvas Element using the Processing Language.  I had learned a bit about Processing.js before hand but seeing Al McDonald explain it was much much better.

The neat part about Processing.js is that not only will it allow you to create stunning visual effects but being part of a web page means that you can drive the visualization with data from the web.  Al showed a demo of a search engine that visualized search results with processing code. Drawing with processing requires only that you include the Processing.js files as part of your page (similar to how c3dl works).  It does not require add-ons.

There are several students at Seneca working on adding more functions to Processing.js (it is not the complete processing language after all).  Part of this will include adding 3D functionalities to processing.js using WebGL.  As c3dl has already done a lot of work in this area, we are looking forward to working on this aspect with the Processing.js project.

One strange thought I had while attending the Processing.js talk was that for some reason it reminded me of Apple Logo (or was it Apple Turtle?).  This was the second programming language I ever learned (the first was BASIC).  It ran on my old Apple II and basically you can use it to draw pictures by giving commands to a “turtle” (think of it as a cursor that told you where the pen was). As the turtle moves, it draws a line.  You could tell it to go forward, backwards, turn a certain amount lift the pen or put it back down and a probably a whole bunch of other stuff that I cannot remember now.  It was not a fast language but it was really cool because I could visually see what my instructions were doing.  Although I had not used it in years nor was it a practical language it was part of what sparked my interest in programming when I was young.

With that in mind, I can’t help but to think how this could be a really good way to introduce to programming for students at younger grades.  It has some very unique benefits:

  • It’s seems to be a simple language to learn.
  • It’s highly visual and graphical (its not just text… /yawn /boring)
  • It’s open source (no proprietary licensing required to develop or publish with it…just a text editor and a browser)
  • It’s part of the web, you can do some really neat stuff that interacts with the web and data on the web.
  • What you do is on the web…you can do something, publish it and show off your work.

I have done workshops for high school students in past to trigger their interest in programming.  I think something like this would be far more interesting than plain old web pages.