MIT has an awesome open (e.g. free) set of courses online. Some of these courses include videos of actual course teachings! This is simply amazing and I’ve spend the last few days listening to as many lectures as I can, even if I think I know the material.

The only issue is that the videos are in Real Video format (RV40/44) denoted by the file extension *.rm. The only known way to watch these types of videos to most people is by using Real Player. Since no one actually wants to use/install Real Player what are our choices?

The solution for Linux users are many as there are binary packages all over to obtain/play the *.rm format. For windows users there is only one other option Real Alternative.

However it has one pitfall, it can’t play videos over RSTP. So we are left trying to obtain the full *.rm file (not the RSTP description). However MIT stores these files in some other place that isn’t easily discernible. Never fear though, All Streaming Media has a description of where the real *.rm files are and I wrote a GreaseMonkey script to automatically find and fix all the URLs on the MIT OCW website.

1) Use FireFox
2) Install GreaseMonkey
3) Install this GreaseMonkey script
4) Install Real Alternative
5) Profit!

Special thanks to All Streaming Media!!

  • Reddit
  • del.icio.us
  • Google
  • StumbleUpon
  • Technorati
  • Digg

This post is mainly so I don’t ever lose this information and I have it in a safe place that I can get to from anywhere. Bit manipulation makes me feel like some kind of wizard in a tower when I use it. It conjures images of me as an old man with a giant white bear and crinkly little eyes pouring over giant arcane books of information.

In truth most programmers know that bit manipulation more akin to a peasant flipping some switches. Even so, having those switches flipped at the right moment sure is useful. This was taken orginally in part from http://realtimecollisiondetection.net/blog/?p=78

Identity Example Identity and explanation
x 00101100 x, the original value
~x 11010011 ~x, complement of x
-x 11010100 -x = ~x+1, negation of x (this you MUST know about 2’s-complement arithmetic!)
x & -x 00000100 x & -x, extract lowest bit set
x | -x 11111100 x | -x, mask for bits above (AND including) lowest bit set
x ^ -x 11111000 x ^ -x, mask for bits above (NOT including) lowest bit set
x & (x - 1) 00101000 x & (x - 1), strip off lowest bit set
x | (x - 1) 00101111 x | (x - 1), fill in all bits below lowest bit set
x ^ (x - 1) 00000111 x ^ (x - 1) = ~x ^ -x, mask for bits below (AND including) lowest bit set
~x & (x - 1) 00000011 ~x & (x - 1) = ~(x | -x) = (x & -x) - 1, mask for bits below (NOT including) lowest bit set
x | (x + 1) 00101101 x | (x + 1), fills in lowest zero bit
x / (x & -x) 00001011 x / (x & -x), shift number right so lowest bit set ends up at bit 0
  • Reddit
  • del.icio.us
  • Google
  • StumbleUpon
  • Technorati
  • Digg

I had a conversation with Joe one morning while responding to an article that I found via Reddit.com via instant messenger. I was showing him my response to the article to see what he thought of my response. As always I made a spelling/grammar error and Joe helped by pointing it out.

Andrew Martinez: The article points out a good topic of conversation, but it does short-side a larger topic at hand (How to get a development job). I say take the article for what its worth and give the author a little slack for stepping on toes and writing from a narrow slant.

People who explode on the social seen of developers are just like any other spotlighted people: It sure is easy to focus on them because they are the people making noise. The issue is that we can not all be in the spotlight. There just isn’t enough fame.
Andrew Martinez: to: http://hedgehoglab.com/comments/postfree/
Joe Bauser broken link
Andrew Martinez: damnit
Andrew Martinez: copied the wrong tab’s url
Andrew Martinez: http://hedgehoglab.com/about/blog/2008/03/17/why-good-developers-dont-need-resume/
Joe Bauser also I think you meant “social scene”
Andrew Martinez: damnit
Andrew Martinez: wtf
Andrew Martinez: word!!!!!!!!!!! [As in MS Word]
Joe Bauser I mis write that one all the time
Joe Bauser so I’ve come to notice it
Andrew Martinez: maybe they will fix it
Andrew Martinez: =(
Andrew Martinez: god damnit joe
Andrew Martinez: why can’t i just type things
Andrew Martinez: and have the right words in place
Andrew Martinez: =\
Joe Bauser are you familiar with the term “Dead Reckoning Vector”?
Andrew Martinez: no matter how hard I try
Andrew Martinez: i always
Andrew Martinez: miss something
Andrew Martinez: no, googling
Joe Bauser it’s unrelated
Joe Bauser I’d never heard of it
Joe Bauser it’s apparently a very popular method for storing/sending player positions across a distributed multiplayer game
Andrew Martinez: wtf
Andrew Martinez: how does this have to do w/ me asking why i can’t write the right words?
Joe Bauser I always wondered how it was done… now I have the proper noun for the process
Andrew Martinez: >_<
Joe Bauser Because sometimes it’s difficult to right the write words.
Andrew Martinez: you hijacked
Andrew Martinez: my rant
Andrew Martinez: ……..omg
Andrew Martinez: owned….w/ the answer to my question
Andrew Martinez: god damnit.
Joe Bauser lol

  • Reddit
  • del.icio.us
  • Google
  • StumbleUpon
  • Technorati
  • Digg