• View Brian DeVries's profile on LinkedIn


  • Spam Blocked

  • … 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:

    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: , , , ,

    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:

    1. 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).
    2. 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.
    3. 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: , , ,

    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: , ,

    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.

    ****.

    Read the rest of this entry »

    Topics: Happenings | No Comments »

    Tags: ,

    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: , , , , , , ,

    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:

    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: , , , , , , , ,

    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: , , , ,

    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: , ,

    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: , , , , , , , , , ,

    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? :-P

    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: , , , , ,

    « Previous Entries