… WOW. Just… wow.
By contingencyplan | April 1, 2008
So I was reading VGCats, and he linked to this movie called Dead Fantasy II. So I watched it.
Good Lord in Heaven.
The vid is the animation work of Monty Oum, who took reverse engineered models from Dead or Alive and the Final Fantasy series and basically made a protracted fight sequence between them. He’s done a few other movies; I watched the following:
- Haloid: Master Chief vs. Samus, basically. I wouldn’t say I particularly liked this one. Good fight sequence, but blatant borrowing from the Matrix. I had to smack my head once (you’ll know when), and cringed (with a “for ****’s sake you’re joking”) at the ending. But interesting to watch to see his artistic progression. He gets much better, trust me.
- Dead Fantasy I: Start of apparently a long series of short movies with a basic “storyline:” friendly competition between female characters from Dead or Alive and Final Fantasy. Can’t say I recognize all of them, but it’s definitely an interesting mix. About 3 minutes of near-non-stop action. Why are they fighting? Who cares! It’s just fun to watch.
- Dead Fantasy II: Second part, about 10 minutes long now, and pure liquid awesome. A total of 7 characters now, kicking, shooting, using magic, etc. in a very nicely done constant fight scene. The characters move, react, attack, jump, etc. in a very fluid and “believable” manner - you know the way they jump off each other and hit each other mid-air is absolutely impossible, but if it could happen, this is how it’d look. Again, don’t bother trying to figure out why they’re fighting, or which side is the good one (they have good guys from both series / franchises on either side). Just watch and enjoy.
For a self-taught amateur, he’s very talented. He obviously didn’t do the models himself; rather, people have reverse-engineered the games they’re from to extract the model data. However, the animation itself - the poses, movements, interaction with the environment - are all him. I haven’t seen any reference to the programs he uses, not that it’d make any sense to me, as I definitely do not have a knack / the mind for 3D animation. He’s got several other videos he’s done; I’ll be watching those later.
Go check it out. Right now.
Me? I’m going back to bed.
Topics: Cool Stuff | No Comments »
Tags: Dead or Alive, Fights, Final Fantasy, Interesting stuff, Machinima
Starting an implementation of CFI
By contingencyplan | March 21, 2008
This semester, I’m taking a class entitled Language Based Security that describes several methods for ensuring security of programs using techniques from programming language theory. One such technique is Control Flow Integrity, which basically takes a binary and rewrites it so that the program essentially can only transfer control to valid locations. The rewriter program accomplishes this by inserting tags in front of valid jump destinations and runtime checks in front of every transfer of control that checks whether the target has the correct tag in front of it. In essence, this means that as long as the code segment is immutable during execution, it is impossible for the code to jump somewhere that it was not designed to. The idea can be extended in several ways, for instance to have checks before critical library calls (e.g., a call to “wipe_the_hard_drive()” would be caught and flagged as invalid before the program even runs. There’s several more aspects to it; read the papers in the course website for more information.
I’m leading one group with the purpose of taking those papers and creating a CFI implementation by the end of the semester. It won’t be nearly as impressive as the XFI implementation discussed, but it’ll be a start. Right now, I’m planning to do the following things:
- Implement it in Python - we need something working fast, and Python’s much easier to get something cranked out than Java or C#, in my view (religious opinion, admittedly, but it’s my project so there).
- Use Test-first Development / Design - I think it will help us develop better code up-front and minimize the amount of time at the end we’ll spend debugging and trying to get things to work. I’m not sure how well this will work, though - we have to figure out what tests to write and soforth. Any feedback would be appreciated.
- Target Linux - the quasi-de-facto standard XFI (i.e., it would be the standard if it were publically available) is Windows-specific, so it makes sense to try to blaze a bit of new ground with our implementation.
Since there’s another group doing this same project, the code and documentation won’t be made public until after the end of the semester. However, I hope to discuss different things that we find out about using the tools, and specifically how the test-driven development, goes. Wish us luck!
Topics: Programming | No Comments »
Tags: CFI, Python, Test-Driven Development, UT Dallas
Farewell
By contingencyplan | January 14, 2008
Today, we bid a fond and way-the-hell-too-soon farewell to Sahara Godiva. Sahara was the very pretty and playful black kitty with a white tuft under her chin who I adopted about a month back. So named because she came from the pet store / adoption shelter with “Sahara,” while my girlfriend suggested “Godiva” since she looked like a chocolate cat; I liked both names, so she got stuck with the concatenation (pun intended). Since the name was a mouthful, it usually got abbreviated to “Kitty Girl.”
When I brought her home, she picked out her spot on my bed almost immediately, as well as another one by the door, where she’d usually be waiting for me whenever I got home, crying at me for attention. She liked chasing the laser pointer and hunting the tassles-on-a-string thing, and was actually getting pretty good at sneaking up on it from different directions. It was good to have her around the apartment for company - someone to talk to and play with.
However, few good things are meant to last. I took Sahara to the vet today, since she had stopped eating and was having major trouble breathing. X-rays showed that her lungs were pretty much filled with some fluid; all possible causes boiled down to “Game over, Kitty lose,” with the only differences being the treatment’s cost and potential for prolonging the inevitable. So I said my goodbyes, cried, petted her non-stop, took ****** pictures with my camera phone… then had her put down. Odds are it was Feline Infectious Peritonitis (FIP), a viral infection that can’t be tested for, vaccinated against, caught early enough, or treated. It basically sneaks up and BAM. Kitty phail.
All in all, though, I enjoyed my month with her, and would do it all over again. First pet, first chance to really take care of another living being, first time really getting attached to something (I was much more attached than I thought I was), first real up-close and personal experience with death. I’m very thankful for the opportunity and time I had with her, though it was far shorter than it should have been.
RIP Kitty Girl. You’ll be loved and missed.
Topics: Happenings | No Comments »
Tags: cats, farewell, Sahara Godiva
Oh Lilith, it won’t happen again, I swear!
By contingencyplan | June 11, 2007
I knew I wouldn’t be using my computer for a while, so I figured I’d give her a well-deserved rest. So I turned Lilith (my computer’s name - bonus points to whoever gets the correct reference) off on Friday, thinking nothing of it, and went about my business.
I come back Saturday afternoon from lunch with Jarrett and Kendra. I push the power button, and the power LED flashes on, fans whir, all’s right with my computer. That lasts about a quarter of a second, after which everything DIES. I push the power button, and nothing. No fans, no lights, nothing.
****.
Topics: Happenings | No Comments »
Tags: Lilith, power supply
DCGen is an unofficially official project now
By contingencyplan | June 3, 2007
Well, I just created the Trac and SVN repositories for the DCG-based parser generator system, which I’m calling DCGen for right now.
Initially, I started the project to have a full parser generator system that would target Prolog and Python. I’m shrinking its mission for right now, though. I read a Philog-related paper earlier tonight, where Dr. Gupta (or one of his co-authors) made the comment that a good lexer system for Prolog would be a very useful in their work on parsing the Nexus format. So for now, I’m aiming to create a system that goes through a grammar definition, strips out the terminals, and generates a kickass lexer, without worrying about things like generating the parser or generating syntax trees. It won’t understand the full Prolog DCG grammar, since that would require it understanding the full Prolog grammar as well.
The next step is adding general terminals, like IDs and such, based on a semi-regex format (probably kinda like ANTLR’s). Once all that’s finished, I’ll consider working on the actual parser generator / syntax tree generator side of things. Because this was my original goal, parts of the parser target these things, but I’m just gonna ignore them until I get there. I’m also gonna make Ruby my first non-Prolog language target, since the next project we’re working on involves writing a web-based format translator, which I could see us doing using Ruby on Rails. We’ll see, though.
Let’s see how well this works.
Topics: Programming | No Comments »
Tags: ANTLR, DCGen, parsing, Philog, Prolog, Python, Ruby, Subversion
Start of summer
By contingencyplan | May 31, 2007
Wow, it’s been a LONG time since I’ve updated (over 2 months). I won’t go into everything that’s happened in those two months, except to say I have finished my first semester of grad school at UTD (all A’s, yay), found a research professor (Dr. Gopal Gupta, awesome guy), and started on my two main research projects. That, and found a good inebriation assistance group here, which is always important.
The research projects are the main reason I’m writing this: I’ve created two Trac pages for the projects, so everyone can see what I’ve been up to on them. Here they are:
- SequenceL - The language started by Dr. Daniel Cooke at Texas Tech, I’m going to be adding onto his work and taking it in a few different directions. This is the main project that I’m passionate about right now, but I since it is not an official project here, it will be the secondary one I work on.
- Philog - A project to create a Domain Specific Language to aid evolutionary biologists in researching phylogenetic trees (i.e., determining the likely evolutionary ancestry between different critters). Currently, there’s a TON of data in a bunch of different places, and the biologists have to manually convert that data between the formats of the databases and the formats of the programs. Needless to say, this is tedious and error-prone, so some biologists have to learn to code to somewhat automate the process. However, time, energy, and brainpower spent coding is wasted when compared to the time they could be spending doing actual biology work. This is the project I will be doing with Dr. Gupta for my RA work, as well as an independent study class during the summer, so this will be the main project for me, time and effort-wise.
I’m also working on a parser generator that will closely resemble the DCG format of Prolog (though it won’t match it specifically), and will output a parser in Prolog and Python. This should help make it faster to develop things in Prolog while prototyping; then, when you want better interoperability with other systems, you can switch over to Python. We’ll see how far this goes; I’ll probably make a Subversion repository and Trac system for it as well.
Additionally, I’ve set up the subdomain http://trac.ivory-tower-theorist.com for all my Trac systems. I’ll update the main page there with links to each Trac page, so you can see all the projects I’m hosting here at a glance.
Anyways, it’s late, and I need to get to bed. I’ll post more as I get more things set up on these projects. I’ll use this blog to post main updates for the projects as well, and use the Tracs as repositories for development info; I’ll probably create web pages for the projects for end-user information, when I have something that I could give to someone and call them an end-user.
Topics: Happenings, Programming | No Comments »
Tags: DCGen, Philog, Prolog, Python, SequenceL, Subversion, Texas Tech, Trac, UT Dallas
Quick interesting links
By contingencyplan | March 5, 2007
First off, we have an ad for the French version of March of the Penguins. At the end, something tells me the guy on the right is a bit more excited than his companions…
Next, we have the reason that I will get my kid DDR, or whatever the equivalent is at that point in time.
Finally, an open letter by Steve Jobs regarding DRM. I think he’s on the right track, though I agree with dx13 (from whom I got the link) that DRM still has use with rental-based models. Personally, I think attempts to fight the consumer’s greed using DRM won’t work in the long run, if for no other reason than the people cracking it are doing it for free, while the people making the DRM (and keeping the secrets, as Jobs puts it) are working for money. It costs the person cracking the system nothing (except time, which he’s willingly giving because he enjoys the challenge, or something), while it’s costing the company a lot of money every time the DRM-cracker succeeds. The cracker really has nothing to lose, while the content companies have nothing to gain besides preserving the status quo. The situation is slanted heavily against DRM. There’s other reasons why I think DRM won’t succeed, but I won’t go into those right now.
Topics: Cool Stuff | No Comments »
Tags: ads, Dance Dance Revolution, DRM, dx13, March of the Penguins
Happy National Single’s Suicide Encouragement Day!
By contingencyplan | February 15, 2007
“Random thoughts for Valentine’s day, 2004. Today is a holiday invented by greeting card companies to make people feel like crap.”
If you don’t recognize the quote, you should be made to sit down and watch to watch Eternal Sunshine of the Spotless Mind. Now. Like, stop reading this, get in the freaking car, and go rent it.
At any rate, I guess most everybody I know has been having relationship difficulties of one sort or another, so nobody gave me crap for being single. I feel deprived.
Oh well. This made my day, though.
Happy Valentine’s Day everybody!
Topics: Cool Stuff, Happenings | No Comments »
Tags: Eternal Sunshine, Perry Bible Fellowship, Valentines Day
Okay, take a deep breath…
By contingencyplan | February 11, 2007
Because this is gonna be a LONG post. Potentially, depends on when I decide to stop writing. A lot of things have happened in the past few weeks.
Read the rest of this entry »
Topics: Happenings | No Comments »
Tags: alcohol, code patterns, codegen, G33X Nexus Entertainment, Java, security, SequenceL, smoking, type theory, unit testing, UT Dallas
I’m DONE!!! For now.
By contingencyplan | December 19, 2006
Okay, so I’m now graduated with my Bachelor of Science in Computer Science, which means I officially know what I’m talking about in computers, right? Right?
Went out of town the past two days for a job interview with NetQoS. Think it went well, though I would have been more on my game (and had a much better time) if I hadn’t decided to get a sinus infection Sunday right before leaving. I think Jarrett got it right - I have a French immune system: it sees something coming and just surrenders. But I’m doing better now - sore throat is gone, and now just got a craptonne of congestion to get rid of. And pending further experiments, I’m thinking a whiskey + Sprite may be one step of a home remedy for these things. But we’ll see, since it makes zero sense (and seems foolish, an assessment I’m sure Mom and Dad would agree with).
So now, I am going to get packing in between programming runs at the SequenceL code generator and RaptorNL. Oh, and I have to call about on-campus housing for next semester at UTD, since it’s still looking like that’s where I’m headed off to.
Topics: Happenings | No Comments »
Tags: alcohol, G33X Nexus Entertainment, NetQoS, SequenceL, Texas Tech, UT Dallas
