Jump to content

  • Log In with Google      Sign In   
  • Create Account

Robot Ninja

Member Since 01 Jul 2011
Offline Last Active Jul 07 2014 04:54 PM

Topics I've Started

OMS CS degree - viable option?

29 May 2013 - 10:42 PM

I just received an interesting email from Udacity announcing an online Master's degree program hosted by Georgia Tech. Since my degree is not in Computer Science I have considered pursuing an MS in the field to supplement my education and be able to put the words "MS in Computer Science" in my resume. I will have to look into the program further to see if I can pursue this part-time, but I wanted to get your impressions on this new program. Udacity is a fantastic site to learn programming and computer science theory, and Georgia Tech itself is a great school, but there's still the fact that this is an online program that I fear may have future employers confused. Do you believe paying more tuition and attending a program on campus is still the undoubtedly better option? Here's the a link to the announcement: http://www.omscs.gatech.edu/.

Best time to commit changes to repo...and branching?

26 April 2013 - 03:22 PM

Since I've been working on a fairly large scale project of my own (2D level editor using XNA/Monogame), I've been using version control much more so than in the past, namely Git. I usually commit both when I feel like I've made major progress (several hours of work) in my code and when the code compiles. This doesn't appear to be the best practice, and I wanted to get some opinions of when it is best to commit to the repository. When do you usually commit?


Also if I'm just working off of a personal repo, what situations call for branching code? So far the only situation I could think of is when I want to try an alternative implementation in my project, and don't want to mess up already functioning systems. I would like to learn more "best practices" when it comes to utilizing version control. I would love to hear any advice. It's a bonus if someone is able to share Git-specific techniques. biggrin.png

SIGGRAPH and Student Volunteering

02 February 2013 - 01:08 PM

I'm applying to become a student volunteer at SIGGRAPH this year, and I'm super excited about it. For those that have attended SIGGRAPH before, do you guys have any pointers on how to get the best experience possible at the conference? What should I bring/not bring, what events should I really keep an eye out for, etc.? Also to anyone that has been a student volunteer before, what should I expect? smile.png


Specifically, I'm wondering whether I should apply to volunteer in areas of the conference that I'm interested in, or if I should do the opposite. To clarify, logic tells me that I that it might be a better idea to spend my volunteering hours during events that I'm not quite as interested in, because then I can go see presentations, exhibits, etc. that are more appealing to me later. On the other hand, I don't know if SIGGRAPH is instead organized such that similar events (e.g. tech talks) are spread out across the week. If that's the case, then it I wouldn't feel as disappointed if I only missed out on some of them.

Trouble interpreting a custom language.

16 December 2012 - 02:48 PM

This problem has been driving me insane. I am trying to figure out how to interpret a simple, custom language. Basically I need to feed a text file that has the code, and then tokenize and execute the code accordingly. Here are the rules of the language:
  • START and FINISH blocks define different levels of scope.
  • COM represents single line comments.
  • VAR indicates a variable declaration (i.e. VAR myVariable). Variables and their values are stored in a hash table.
  • PRINT Prints to the console either the value of a variable (e.g. PRINT myVariable) or the result of an expression (e.g. PRINT myVariable + 25).
  • Expressions are limited unary and binary arithmetic, and values are integers.
  • All tokens are separated by a space or newline.
  • Operators include:
  • Assignment " = " (e.g. myVariable = 15)
  • Increment " ++ " (e.g. myVariable ++)
  • Decrement " -- " (e.g. myVariable --)
  • Addition " + "
  • Subtraction " - "
  • Multiplication " *"
  • Division " / "
  • Modulo " % "
  • Power/Exponent " ^ "
I'm having trouble figuring out how I should handle tokens that operate in different ordering, like PRINT myVar vs. thirdVar = firstVar * secondVar (where the operators lie between the operands). Lately I've been trying to recursively execute a function (returns an int) that does a different operation depending on the token that is extracted, but I run into some problems of tracking what the operand was preceding an multiplication operator.

I also had the idea of pushing tokens that I extract onto 2 separate stacks - one for keywords/operators and the other for variable and literal values. Then after tokenizing the line of code, the program would continuously pop a keyword/operator off the stack and execute an "if" block that matched that token. I can't exactly remember what problems I encountered with this approach, because I obviously didn't use it.

Is there a better way to structure the interpreter, assuming that I cannot use 3rd-party libraries like boost? This problem has been plaguing me for the past 2 days... Posted Image

Force return-by-reference function to make a copy?

15 December 2012 - 03:37 PM

Hey GameDev,

I'm in sort of a weird spot with my linked list class as part of a larger assignment. For my node class, my GetData function returns by reference. The template functions look like this:
// Node's GetData functions.
const T& GetData const { return m_data; }
T& GetData { return m_data; }
It seemed like a good idea for the Delete function in my linked list to return the node's data back to the user after deletion. However I'm not sure if it's even possible to return the data after, since my node's getter functions are returning by reference. Can you force a return-by-value from a return-by-reference function? Is there a better solution to this? Thanks.