Domain: cmu.edu
Stories and comments across the archive that link to cmu.edu.
Comments · 2,977
-
Re:Just exactly how does this happen.
This is x86 specific since I'm talking about the stack frame and specific registers, etc. but can be "ported" to other architectures with similar ideas
foo.c
#include <string.h>
int main(int argc, char *argv[])
{
char buf[5];
strcpy(buf, argv[1]);
return 0;
}
> make foo && ./foo AAAAAAAAAAAAAAAAAAAAAAAAAA
This is an example of a trivial buffer overflow. These types of attacks happen due to the nature of the stack. All local variables are stored on the stack - along with the saved ebp AND the return address. strcpy doesn't do any sort of bounds checking on the buffers it is copying between. In this case, buf is filled with the first 5 A's, but then the other n-5 A's must go somewhere else as well. What will happen is that eventually the saved value of ebp will be corrupted and become 0x65656565 ("AAAA") and the RETURN ADDRESS (this is the location that will be jumped to upon exiting the function) will be corrupted and become 0x65656565 ("AAAA"). If the malicious user is crafty enough in the creation of the exploit string he will specify an actual address somewhere relatively close to the current buffer and to jump to. Since that memory will have been copied by the call to strcpy, after completing this function, the program will jump to the attackers code and happily execute it. Thus allowing arbitrary code to be executed.
For a more detailed explanation of how these things work check out "Smashing the Stack for Fun and Profit" in phrack #49. Actually, reading old phracks is a good way to get an idea about lots of different issues in security :)
You can also check out these slides from an introductory systems course at Carnegie Mellon University. (OK, its a shameless plug of sorts since I'm TAing it, but they actually are pretty good slides. :-P) -
Re:Mac OS X "trojan"?
the code can't even be moved in raw binary form without destroying the resource fork
I assume that most Mac mailers observe the MacMIME spec. This makes sending forked files through email a transparent process.
(Not arguing with the rest of your post -- I think it would be a lot easier to trojan Mac users with a "Install this Cool Screensaver" thing instead of jumping through hoops with a fake MP3.) -
DirtyCam
Johnny's girlfriend looks kinda cute. I want to see the action sequences he shot in his studio.
-
DirtyCam
Johnny's girlfriend looks kinda cute. I want to see the action sequences he shot in his studio.
-
Is It An Easter Egg or A Hack?
Whatever it is, here's a hidden video
-
Give him credit...
I think he did a great job of capturing how a woman looks from the average slashdotter's point of view.
-
Hard Drives as speakers?
Check this link out
http://www.andrew.cmu.edu/~hsakr/hdspeakers/hdspea kers.htm
I saw this a while back, you gotta check out the movies clips. -
Re:Challenging this
You may have the two major parts - anti-circumvention and ISP liability limitation - of the DMCA confused or conflated when you dismiss the efficiacy of a counterclaim.
The anti-circumvention provisions are contained in Title I of the DMCA. It states, in part: "No person shall manufacture, import, offer to the public, provide, or otherwise traffic in any technology, product, service, device, component, or part thereof, that...is primarily designed or produced for the purpose of circumventing a technological measure that effectively controls access to a work protected under this title..." (17 USC 1201).
DMCA notices and counter-notices are covered by Title II. A DMCA notice must contain "Identification of the copyrighted work claimed to have been infringed, or, if multiple copyrighted works at a single online site are covered by a single notification, a representative list of such works at that site." (17 USC 512). Title II refers only to copyright infringement, which is a distinct act from trafficking in a circumvention device.
Subtle point: I don't think that you can combine the two into one. Apple doesn't allege that PlayFair infringes its copyrights - after all, Apple did not write PlayFair, nor is PlayFair a derived work of anything Apple wrote. PlayFair itself is copyrighted by its authors, not Apple. It may or may not infringe on Apple's Title I "paracopyright," but this is a separate issue from infringing on actual copyrights, and so I don't think that Title II covers it.
If the PlayFair people wanted, I think they could send a DMCA counter-notice to SourceForge indicating that they are not infringing on Apple's copyrights. -
Using the DMCA to kill reverse engineering...
"Maybe you can explain that, as I don't understand.
Certainly.
It iss an assault on freedom. I support good access control - access control that is strong enough to prevent reverse engineering. This is how security works. What I cannot support is organizations like the MPAA, RIAA and Apple using a bad law to suppress the speech of programmers. Source code is free speech! Where have you been all these years?
I am very sorry for the MPAA and Apple that they hired incompetents to write their access control mechanisms. However when you start banning speech, where does one draw the line? I'm sure we will soon have a PlayFair T-shirt at ThinkGeek, and Apple will have to start having wearers of the T-shirt arrested, much like the MPAA.
It is a very simple assault on freedom that fortuneately is illegal in the countries like Germany where reverse engineering is legal - and where this software will eventually find a home. -
Depressingly Predictable
As soon as I read the earlier
/. story about PlayFair, I went straight to SourceForge and downloaded a copy. It now sits at home in a (sadly) ever expanding directory named "samizdat", along with things like deCSS stuff, the Grey Album, and various other bits from Illegal Art. Some of those things are still available, but I have such little faith in the DCMA that I think private copies are warranted. -
Don't let them bully you.
It's unlikely that they will really sue you. Just saying a phrase doesn't constitute trademark infringement. Since you're not a commercial site, you're not really engaging in trade. The cost of suing you, given the fact that the case is hardly slam and dunk, would certainly outweigh the benefit -- especially since, if you're sued, the phrase "hard radio" will be google-immortalized to your page from all of the bad press they'll get. (The final irony!) I say, make sure you don't spend any money on it, and wait for them to at least actually sue you before you start worrying about it (this strategy worked for me). Sending threatening letters from lawyers is really cheap, and everyone who doesn't like being bullied should be working to make it more expensive.
By the way, "legal action" within 48 hours sounds an awful lot like barratry to me. -
Re:Right :
Which should be in just a few years, apparently. Google gives: Summarization at Univ. Southern California/ISI Summarization at Columbia University Narrative in Italy Narrative at Carnegie Mellon
-
Re:Not chaotic? (Yes, you can control chaos)
Chaotic systems are actually quite controlloable in a very interesting way. The key property that makes a chaotic system so unpredictable is divergence -- if two copies of the system differ by delta, that delta will grow exponentially in time (doubling according to a coefficient call the Lyapunov coefficient). Yet, the divergence is never arbitrary. Instead, the divergence in chaotic systems happen within a space called the strange attractor - the diverging trajectories stay within in the attractor zone even as the split from each other.
If you map the strange attractor and nudge the system are the right point of the cycle, you can push the system into what ever mode of behaviro you want. Although you cannot predict the longterm behavior of the chaotic system, you can perturb it periodicaly to stabiize it or rapidlly shift its behavior. Scientists are looking at how to use this chaotic control theory to control unstable systems such as ultrahigh power lasers, manuerable jet aircraft, and heart tissue.
The key controlling a chaotic system is to understand how the chaotic system diverges (the shape of the strange attractor) and use that knowledge to deftly inject perturbations at just the right moment. -
Mod Parent Down: FUCKING MORONICAn ion is an atom with charge, ie, an atom which either has more or fewer electrons than usual. Atoms are typically
.5-2.5 angstroms across; an angstrom is 10^-10 meters.An electron is less than 10^-18 m across. We're talking EIGHT ORDERS OF MAGNITUDE SMALLER. (Yes, the wave-particle duality makes size pretty difficult to measure. But c'mon, think about the relative-size issue here: what would be the point in considering an electron part of an atom if the electron were larger than the entire atom?)
What the hell are they teaching you kids in physics these days?
-
"Oh! Oh! I can do that too!"
We, of course, are working on fully automatic driving. We have both a visual road-follower and a millimeter radar.
Funny, you've been trashing Carnegie Mellon in the Grand Challenge threads, but they did visual road following back in 1995. They even drove across the country this way. MMW radar is nothing special, it's been a factory option on trucks for some time now. I'm not saying autonomous driving is easy, I'm just suggesting that you not toot your own horn so loudly for something other people have been doing for a long time. -
Carnegie Mellon AIBOs pwn this
Im actually a student at Carnegie mellon University where we have our own teams of robotic soccer players, ranging from cute little Sony Aibos dogs that pwn in international Aibo dog soccer competitions ( not kidding! )to an up and comming segway team!
check it out here -
Yup
Yup, that was pretty much my take on things (Rule 1: industry *never* asks for regulation without an ulterior motive), although I think that there's a bit more to it -- if any cronyism can be used by existing players, it might be a useful tool against challengers, forgetting about Open Source for a moment.
I'm all for the government issuing advisories, but regulation of security is not feasible. I remember reading about older military software -- the government used to try to do much more comprehensive security reviews of all kinds of software it used with tiger teams. Unfortunately, it turned out the extreme expense of this kind of thing isn't feasible in the real world, and still left holes.
If I had to give a government recommendation, it would probably be along the lines of:
* Issue advisiories. There are organizations like CERT that do this. Unbiased (not from a vendor), trustworthy information is difficult to come by.
* Issue best-practices papers. These are probably most useful to IT professionals, though it might even be a good idea to produce them for software developers. Microsoft recently collaborated with the Fed to produce a set of best security practicees documents for Windows. This is an easy thing to add to a company security policy ("[] must comply with USG Document #135F3 Best Practices"). It just tried to deal with a couple of common misconfigurations. It's *hard* to get this kind of stuff directly from a vendor (which frequently wants to hand out information that will encourage you to buy more or is more interested in putting a positive spin on their mistakes) or a consultant (who frequently wants you to buy more consulting services) or a security software (like a firewall) company, which is primarily interested in scaring companies into thinking that they need security software.
* Government certification of software intended for non-government use is a bad idea. It takes a long time, allows cronyism, can be used to attack some sections of the market (like most Open Source). It's perfectly reasonable for USG-use purchase requirements, but it's not reasonable for broader use.
* Producing a classification system *could* be very useful, where the government writes documents describing particular classes of software, but it not responsible for ensuring that a particular version of a program fits into a class of software. For example, a hypothetical class-local/1 might require that:
a) The software bounds-checks all memory accesses to data at the compiler level (free with some languages like Java, and can be done in C if necessary).
b) The software does not access the network.
c) The software does not write to any data files.
Others useful requirements for various classes of software might be: "The software does not provide privilege escalation within the UNIX operating system's privilege system (as a suid/sgid program or a daemon running as a different user does...there would be an equivalent for the Windows security system)", "All data that the software uses from the network is either exact-match checked or bounds-checked prior to use of any of that data, and a failure to pass checks results in that data not being used" (might be useful for simple network software, like clients of the daytime protocol). The government is great at writing requirements and making them publically available--let's use that. Then, if a company guarantees that they are compliant to a particular document in a contract, there is a clear point that they can be called on for non-compliance. Finally, there would be a market for software that can check software for some elements of compliance. Automated security checking is a major issue -- it's neat, it's more and more feasible (see CMU's Java proof-carrying compiler for some neat stuff. The problem is that there are currently no standards written by security folks who know what they're doing, so it's hard for businesses to ask for compliance to a particular level of security, and no tools that can certify programs to a particular level.
There are probably a lot more suggestions that the government could use, but this is a start... -
Re:I've seen some awfully impressive motion work
Jessica Hodgins has since moved to CMU and teaches a whole bunch of computer graphics/animation related courses, one of which I have actually taken and enjoyed thoroughly. Some of her more impressive projects in my opinion are her studies on brittle fracture simulation and secondary motion. For the lazy, here's a direct link to some movie clips.
-
Re:Creating crystals vs. large-scale patterns
The group I work for is concerned with this issue (creating useful architectures from basic, hard to manipulate components). It is a compilers and computer architecture research group with a nanotech habit.
The solution the group is working on is that rather than try to synthesize complex chips, as we do now, it is to make large regular reconfigurable structures. No DNA, just straight chemical self-assembly. There is a proposed design for this that we are working with companies like HP and Mitre on. The key technology bits to make it work from our side is a good system for generating circuits from code, and very fault-tolerant place and route (the assumption is 10% structural errors). -
Re:I don't.
I've never tried it, but Sphinx gets mentioned alot.
-
100-year renewals aren't so bad
Remember, scientology makes you sign a billion-year contract.
-
What's that? You want movies?
As a grad student who has their office in this building, I got more than a little kick when I saw the tech fumbling aimlessly to try and fix the thing later. He was there literally all day long and each time I walked by he was on the phone trying to get more info. Where is a good ole OS/2 ATM when you need one?
Anyway, some people on misc.market also posted some movies that you might find interesting. -
Re:Not the only problem for Diebold
Want video? (and someone mirror, fast)
-
Diebold ATMs @ CMU go crazy!
-
Re:Just enough to hold off the competitionCheck out the Link Grammar Parser. I've found it pretty good at locating erroneous phrases, but it's not perfect and doesn't have the ability to make suggestions to correct grammar. Integrating it with OOo/Neo is one of my pet projects now that it has more compatible licensing.
Getting really good grammar checking in English is difficult enough and it's a shame that other "lesser" languages like Estonian don't have tools anywhere near the caliber of those for the English language. Even if MS made all of the rules of the system are made available for folks to work within, I'd put a bet on the fact that there's some language that just can't conform to those rules. To really work with languages it may be required to extend the underlying system, not simply conform to it. Not to mention debugging such development without some type of source code/symbols/dev tools would be hell...
ed
-
Re:WTF: application/x-esm
ESM (End System Multicast) is a peer-to-peer system to deliver video of any kind (such as QuickTime) to lots of clients. The idea is to allow people to watch video while acting as both client and server, thus reducing the originator's bandwidth needs.
A friend of mine works on ESM. It was developed at CMU and has been used for many recent lectures on campus. -
Streaming Broadcast over the Internet
For all those of us who don't have access to the DARPA channel, we can stream the telecast live from here.
These are the same people who appeared in this slashdot story and seems to be different from the "live webcast" mentioned in the story which only appears to have a tracking feature. -
IP has no delivery guarantees for a reason
Gibson cast some of the blame on the packet-based nature of Internet Protocol, which was not designed for foolproof delivery of messages. The protocol cannot guarantee delivery of e-mail, for instance.
...The commander wants to be able to send a message and have it delivered, completely, accurately and on time."Uh, ever heard of the two armies problem?
-
Re:Reiser4
Currently Reiser4 isn't worth it. I tried it for a while and all I got was corruption issues (ie the journal didn't work at all, fsck on boot didn't work, I had to boot off a rescue partition to recover it). I did some testing and it turns out it's not even that fast.
Here are my tests: 2.6 Filesystem Benchmarks -
Re:Entries too complicated?
I don't think you're going to get six good laser rangefinders for $5000. I don't remember the numbers as well as I would like, but I think the current favorite rangefinders (I think the brand is SIC?) are well over $1000 each. And you will quickly exhaust your laptop's computational power just denoising the output from crappy sensors. Heck, maybe even for the best sensors.
Autonomous vehicles have already driven across the country on highways, 98.2% of the time without human intervention. The roads it drove on are (I'm guessing) likely to be much nicer than those in the desert. Furthermore there was a human available to handle the surprises. For humor value: I believe one of the self-driving vechicles from CMU has a learner's permit from the state of Pennsylvania. See No Hands Across America for more info on this project.
The hard part of any project like this is uncertainty in the environment. The road may "disappear" completly from your sensors, or you may spot multiple roads. Maybe some mica on a rock screws up your rangefinder. Maybe your vehcicle's transmission gets a little "funny" and you can't shift properly anymore (I saw such a comment attached to this article). And we aren't even talking about genuine malfunctions like a failing rangefinder or sticky throttle.
I think autonomous systems might be the best example of the best laid plans of mice and men not succeeding when the slightest thing goes wrong. In fact, Steinbeck's story seems directly analgous to the problems of self-driving vehicles.
-Paul Komarek
-
The favorite?
So how does the favored team train for a 210 mile race through the Mojave Desert?? Why, by testing it in the SNOW of course!
-
Recipe Index
I find Carnegie Mellon's Online Recipe Archive to be a wonderful resource.
-
Re:Why do we need local clients
I'm disappointed that ACAP never really seemed to go anywhere. Back when Netscape was overturning the industry with their 'open standards' approach to everything, people were talking about ACAP as 'the missing link' for completely portable client configuration for email systems.
-
Re:Find a job you love....
Or doing requirements, documentation, software quality audits, estimating, metrics, project plans, schedules, budgets, tailoring declarations, all that CMM crap
... yuck! -
Online version available
Also, since this was this guy's thesis, it's also available online
See http://www-2.cs.cmu.edu/~rwh/theses/okasaki.pdf.
I suggest you get the book, however, as it's a great read. -
SCO's Sophistry ResourcesHere's where SCO gets its logic from: How To Argue and How To Be Persuasive. I'm pretty sure they weren't reading up on Sophistry, but they might want to take a look.
All we probably need to do whenever we see SCO FUD is to have a quick look at a small selection of natural fallacies. This should clear things up quickly.
So, shall I gratuitously quote the Wookie defense, because that's probably all SCO has going for it now?"Ladies and Gentlemen of this supposed jury, this is Chewbacca. Chewbacca is a wookie, from the planet Kishik. But Chewbacca lives on the planet Endor. That does not make sense.
Why would a wookie, an 8 foot tall wookie, want to live on Endor, with a bunch of two foot tall Ewoks. That does not make sense.
But more importantly, you must ask yourself: what does this have to do with this case? Nothing. Ladies and Gentlemen of this supposed jury, it has nothing to do with this case. Look at me, I'm a lawyer, [prosecuting] a [auto company], and I'm talking about Chewbacca. I am not making any sense. None of this makes any sense.
So, when you're in that jury room debating and conjugating the Emancipation Proclamation, you must ask yourself this question: Does it make sense?
No. It does not make sense. If Chewbacca lives on Endor you must [convict]. The [prosecution] rests." -
reinventing the wheel
Not surprisingly, people have been working on this for many years. In particular, DAML is about. Sure, DAML work is being done in the framework of software agents on the web, but it's the same problem: having services that don't know about each other ahead of time figure out for themselves how to talk to each other. Furthermore, the technologies that have been developed as part of the work on the semantic web already seem considerably more sophisticated than the "Obje" framework.
-
Other types of middleware
I find their choice of RPC as the middleware layer surprising. I would imagine that a vast majority of events in a MMP game need to be passed on to a fairly large subset of players, for example, anytime someone moves, attacks, casts a spell, etc. the people visual or audio range of that player need to be informed. RPC is better suited to one-to-one interactions, not the one-to-many interactions we get in MMP games. It seems to me that a distributed publish/subscribe system like Elvin, SIENA or even Mercury (a pub/sub system specifically designed for MMP games!), or a LINDA-style shared memory system would be much more appropriate.
-
Try Panda3D
Try Panda 3D (Sourceforge Page)- it's an open source game engine originally written at Disney's VR studio for DisneyQuest and Toontown Online. We're now co-developing it with the Disney team at the Entertainment Technology Center at CMU, and use it for a lot of internal projects.
The core is written in C++, but game programming is done in Python, which initializes the engine. Exporters exist for Max & Maya. Since your stuff runs in Python, it's simple to add extra functionality. Last semester we used it for the Building Virtual Worlds Class, and were able to add things like networking, computer vision, MIDI IO, and simple show control pretty trivially. One group now is using it to do realtime interactive stuff on a dome with 5 cameras stitched together in realtime.
This semester, the project is adding in-engine video playback using Helix and integrating with the Eclipse IDE. It serves our needs pretty well. -
Try Panda3D
Try Panda 3D (Sourceforge Page)- it's an open source game engine originally written at Disney's VR studio for DisneyQuest and Toontown Online. We're now co-developing it with the Disney team at the Entertainment Technology Center at CMU, and use it for a lot of internal projects.
The core is written in C++, but game programming is done in Python, which initializes the engine. Exporters exist for Max & Maya. Since your stuff runs in Python, it's simple to add extra functionality. Last semester we used it for the Building Virtual Worlds Class, and were able to add things like networking, computer vision, MIDI IO, and simple show control pretty trivially. One group now is using it to do realtime interactive stuff on a dome with 5 cameras stitched together in realtime.
This semester, the project is adding in-engine video playback using Helix and integrating with the Eclipse IDE. It serves our needs pretty well. -
Try Panda3D
Try Panda 3D (Sourceforge Page)- it's an open source game engine originally written at Disney's VR studio for DisneyQuest and Toontown Online. We're now co-developing it with the Disney team at the Entertainment Technology Center at CMU, and use it for a lot of internal projects.
The core is written in C++, but game programming is done in Python, which initializes the engine. Exporters exist for Max & Maya. Since your stuff runs in Python, it's simple to add extra functionality. Last semester we used it for the Building Virtual Worlds Class, and were able to add things like networking, computer vision, MIDI IO, and simple show control pretty trivially. One group now is using it to do realtime interactive stuff on a dome with 5 cameras stitched together in realtime.
This semester, the project is adding in-engine video playback using Helix and integrating with the Eclipse IDE. It serves our needs pretty well. -
Try the Entertainment Technology Center at CMU
I got my undergrad from UCF in Digital Media, just down the street from FullSail - heard some questionable things as well about the place. They do have kickin' facilities, though.
I'm a grad student now at the Entertainment Technology Center at Carnegie Mellon University. The program has people going into many industries, but the majority are into video games. We have graduates at Rockstar, EA, Maxis, Angel Studios, and a number of other companies. One guy was back from his co-op at Maxis and had to excuse himself from a party because Will Wright had called him on his cell. We took a trip to EA (among other companies like Pixar, Disney, etc) last month, where the Vice President and CTO each gave presentations to our group of 30 or so.
Unlike many vocational programs, we don't actually have any courses on video game programming directly, though we do offer official courses in Maya, Building Virtual Worlds, and Game Design. The game design course mainly focuses on board, dice, and card games.
Retro gaming is a popular side hobby, with one student teaching a course in Game Development for the 8-bit NES and the X-Arcade company at residence in our building. (We've got two MAME Arcade setups in the hall)
It's not uncommon to see students parked in front of the gaming setups we have on each floor (with all the major consoles) doing "research", only to go back and discuss what they learned for a few hours with their project team.
The program is pretty demanding and tough to get in, but it's a fun place. Gaming is not an easy industry, there's a lot of late hours, especially in "crunch" mode before a game ships, but it's pretty rewarding. -
Try the Entertainment Technology Center at CMU
I got my undergrad from UCF in Digital Media, just down the street from FullSail - heard some questionable things as well about the place. They do have kickin' facilities, though.
I'm a grad student now at the Entertainment Technology Center at Carnegie Mellon University. The program has people going into many industries, but the majority are into video games. We have graduates at Rockstar, EA, Maxis, Angel Studios, and a number of other companies. One guy was back from his co-op at Maxis and had to excuse himself from a party because Will Wright had called him on his cell. We took a trip to EA (among other companies like Pixar, Disney, etc) last month, where the Vice President and CTO each gave presentations to our group of 30 or so.
Unlike many vocational programs, we don't actually have any courses on video game programming directly, though we do offer official courses in Maya, Building Virtual Worlds, and Game Design. The game design course mainly focuses on board, dice, and card games.
Retro gaming is a popular side hobby, with one student teaching a course in Game Development for the 8-bit NES and the X-Arcade company at residence in our building. (We've got two MAME Arcade setups in the hall)
It's not uncommon to see students parked in front of the gaming setups we have on each floor (with all the major consoles) doing "research", only to go back and discuss what they learned for a few hours with their project team.
The program is pretty demanding and tough to get in, but it's a fun place. Gaming is not an easy industry, there's a lot of late hours, especially in "crunch" mode before a game ships, but it's pretty rewarding. -
Try the Entertainment Technology Center at CMU
I got my undergrad from UCF in Digital Media, just down the street from FullSail - heard some questionable things as well about the place. They do have kickin' facilities, though.
I'm a grad student now at the Entertainment Technology Center at Carnegie Mellon University. The program has people going into many industries, but the majority are into video games. We have graduates at Rockstar, EA, Maxis, Angel Studios, and a number of other companies. One guy was back from his co-op at Maxis and had to excuse himself from a party because Will Wright had called him on his cell. We took a trip to EA (among other companies like Pixar, Disney, etc) last month, where the Vice President and CTO each gave presentations to our group of 30 or so.
Unlike many vocational programs, we don't actually have any courses on video game programming directly, though we do offer official courses in Maya, Building Virtual Worlds, and Game Design. The game design course mainly focuses on board, dice, and card games.
Retro gaming is a popular side hobby, with one student teaching a course in Game Development for the 8-bit NES and the X-Arcade company at residence in our building. (We've got two MAME Arcade setups in the hall)
It's not uncommon to see students parked in front of the gaming setups we have on each floor (with all the major consoles) doing "research", only to go back and discuss what they learned for a few hours with their project team.
The program is pretty demanding and tough to get in, but it's a fun place. Gaming is not an easy industry, there's a lot of late hours, especially in "crunch" mode before a game ships, but it's pretty rewarding. -
Try the Entertainment Technology Center at CMU
I got my undergrad from UCF in Digital Media, just down the street from FullSail - heard some questionable things as well about the place. They do have kickin' facilities, though.
I'm a grad student now at the Entertainment Technology Center at Carnegie Mellon University. The program has people going into many industries, but the majority are into video games. We have graduates at Rockstar, EA, Maxis, Angel Studios, and a number of other companies. One guy was back from his co-op at Maxis and had to excuse himself from a party because Will Wright had called him on his cell. We took a trip to EA (among other companies like Pixar, Disney, etc) last month, where the Vice President and CTO each gave presentations to our group of 30 or so.
Unlike many vocational programs, we don't actually have any courses on video game programming directly, though we do offer official courses in Maya, Building Virtual Worlds, and Game Design. The game design course mainly focuses on board, dice, and card games.
Retro gaming is a popular side hobby, with one student teaching a course in Game Development for the 8-bit NES and the X-Arcade company at residence in our building. (We've got two MAME Arcade setups in the hall)
It's not uncommon to see students parked in front of the gaming setups we have on each floor (with all the major consoles) doing "research", only to go back and discuss what they learned for a few hours with their project team.
The program is pretty demanding and tough to get in, but it's a fun place. Gaming is not an easy industry, there's a lot of late hours, especially in "crunch" mode before a game ships, but it's pretty rewarding. -
We've come a long way
When I was an undergrad at Carnegie Mellon in 1989, I decided it would be fun to make a game (actually a system for making platform games) as my senior project. I was really psyched about this, and figured that any professor would be honored to be my advisor on such an innovative project.
I set out looking for an advisor. I picked one of CMU's best known professors. I called his secretary, made an appointment, and described my idea. His response? "Do you know who I am? There is *no way in hell* that I am attaching my name to a video game."
Bah, his loss. I set out to find another professor to serve as advisor. I wandered around the halls until I found a professor that I had for a class once. This guy wasn't a big shot. He didn't have a secretary, and didn't have such a big office, but that was ok. I jazzed up my presentation a bit, threw in a few buzzwords of the day: "It's an 'object oriented' system for 'rapid application development' of a class of interactive entertainment, blah blah blah.
He was intrigued! "Hmm, object oriented, rapid applica... Er, wait a minute - this is a video game? No, I'm not putting my name on that."
Ok, so no cigar just yet, but I was picking up on a trend. I wandered around some more. I went deep into the lower levels of Wean Hall. I walked down a corridor carved out of solid rock - the offices here were the size of closets, and they didn't even have windows. I found someone who appeared to have just been hired, and gave my pitch, filled with as many ridiculous buzzwords as I could think up. He mulled it over "object oriented, um, rapid stuff, um, 'Oh, you mean a video game! Yeah, cool, I'll be your advisor for that!'"
So I found my advisor. He didn't get fired for putting his name of a Senior Project video game, and it came out pretty good in the end, and nobody else got embarrassed.
BUT
Looks like I was ahead of all of them! Carnegie Mellon now touts it's Entertainment Technology Center, and proudly proclaims how they're considered the Harvard of Game Development Programs, and they've even had me back to speak on a few occasions about my latest game. They've come a long way ;) -
We've come a long way
When I was an undergrad at Carnegie Mellon in 1989, I decided it would be fun to make a game (actually a system for making platform games) as my senior project. I was really psyched about this, and figured that any professor would be honored to be my advisor on such an innovative project.
I set out looking for an advisor. I picked one of CMU's best known professors. I called his secretary, made an appointment, and described my idea. His response? "Do you know who I am? There is *no way in hell* that I am attaching my name to a video game."
Bah, his loss. I set out to find another professor to serve as advisor. I wandered around the halls until I found a professor that I had for a class once. This guy wasn't a big shot. He didn't have a secretary, and didn't have such a big office, but that was ok. I jazzed up my presentation a bit, threw in a few buzzwords of the day: "It's an 'object oriented' system for 'rapid application development' of a class of interactive entertainment, blah blah blah.
He was intrigued! "Hmm, object oriented, rapid applica... Er, wait a minute - this is a video game? No, I'm not putting my name on that."
Ok, so no cigar just yet, but I was picking up on a trend. I wandered around some more. I went deep into the lower levels of Wean Hall. I walked down a corridor carved out of solid rock - the offices here were the size of closets, and they didn't even have windows. I found someone who appeared to have just been hired, and gave my pitch, filled with as many ridiculous buzzwords as I could think up. He mulled it over "object oriented, um, rapid stuff, um, 'Oh, you mean a video game! Yeah, cool, I'll be your advisor for that!'"
So I found my advisor. He didn't get fired for putting his name of a Senior Project video game, and it came out pretty good in the end, and nobody else got embarrassed.
BUT
Looks like I was ahead of all of them! Carnegie Mellon now touts it's Entertainment Technology Center, and proudly proclaims how they're considered the Harvard of Game Development Programs, and they've even had me back to speak on a few occasions about my latest game. They've come a long way ;) -
Super-resolutionI don't know firsthand about this product, but I do know something about the field.
This is almost certainly using a technique usually called called super-resolution. The basic idea is:
- Take multiple offset images with a low resolution sensor (usually a motion sweep)
- Stitch the images together
- In the overlapping areas, you can now generate the most probable underlying pixels at a higher resolution.
-
Mirror (not camera pics though)
-
High Value, Not Overkilla VIA EPIA 800V can be had for $100 now. about the only thing that can be that is an AVR kit. (which can be had for about $35 for a dev board and $10 for a cable to program it. then download a free compiler/assembler. and $30 for a book on how to program AVR. so that's $75).
Also that rentron company doesn't sell very interesting stuff.
Build your own AVR starter kit is going to be a better price than any PICbasic thing and you can program it in C, asm or basic.
Basic Stamp is extremely weak. A robot desigened around a basic stamp is going to be as primative as your first LOGO program. (Turn left here.. weee).
A VIA C3 800 board, despite being an ugly evil x86 is going to have some serious power behind it. You can then have some of the following features on your system:
- USB camera to record events
- some face tracking abilities(neat!)
- A wireless (bluetooth or 802.11b) connection between other robots for cooprative tasks(soccor match anyone?)
- Voice synthizier (just grab rsynth)
- enough RAM to do accurate mapping
- inexpensive to connect a GPS unit up to USB or serial (often these units have a built-in electronic compass as a bonus)
The processing power, expandability and cost make the x86 an ideal canidate for a robot like this. Of course a cheaper robot becomes attractive when you want to have multiple robots that communicate. Really the average budget for a hobbot robot project runs around $1000. So if you drop $700 on this chassis and a motherboard you're set. If make AVR or PIC based robots that cost $50 to build you would probably build like 4 or 5 of them and have them work together. (or worse, build 4 or 5 revision until you were satisfied with it and have three robots that don't really work very well and one good one)