Saturday, August 15, 2009

XNA 3.0

Yeah, yeah, long time no type. Got caught up with that twitter stuff, which makes it unbelievably easy to be cryptic. There's no room for parentheses or excess verbiage inside of the 160 character limit of an SMS message.

But this isn't about twitter, it's about XNA, so let's to it.

Basically have started working on a project "seriously". The alleged goal is to end up producing a game, but in reality I'm using it as a chance to apply what I've learned so far and to see how to emulate some features from other games that I might like. The upside to XNA is that it makes developing and dealing with a 3D world hellah easy from a software architecture standpoint. The downside is... the devil's always in the details.

One challenge I find myself facing is what the best way to handle something like the pulldown console in Quake3. There are a few people who have appeared to have created their own XNA classes to handle this, but they just doesn't feel Right(tm) to me, and I'll probably end up writing my own. As I've said in the past, one of the pitfalls of OO programming is that the whole "code reusability" thing doesn't apply because you find as your code develops and evolves that you didn't really understand your objects in the first place and didn't see what was going to be required.

And all that is a long way to say that, despite the awesome shortcuts XNA provides, at the end of the day you're still going to be writing your own windowing systems for the environment.

Which is what I was trying to escape from by getting into game programming to starty with. \o/

Wednesday, June 10, 2009

treasure these moments

So, it's been over a month since my last post to this blarg, and that was for a Tears for Fears video.

The only logical assumption to be made was that I soon realized just how gheyz0r that was and that I must have shortly thereafter hanged myself out of shame. I won't blame you for jumping to that conclusion and I give you points for critical thinking, but I will say I'm disappointed in you for first of all using "gay" as a pejorative and secondly for spelling it like a cracked out 13 year old counterstrike player.

Any rate, I'm currently sitting in what's basically the eye of the hurricane of a software project. It's one of those rare occasions where you not only have the ability to put something legitimately useful out into the market, but something that could shake up your little niche and set a standard for others to chase for the next couple of years. True, it's not a very sexy niche (it's not like chicks dig guys who wrote the most awesomeful debit card transaction system EVAR), but a win's a win, and things feel like they're lining up for this to be a dominating win.

Of course, the money isn't in the bank yet. We still have yet to show the stuff publicly, and there's always a chance that we're going to get dinged for something, that we solved the wrong problem, or that we're more excited about the product than we should be.

But tonight... ah, tonight the work is done, the interface looks good, the most severe bugs are squashed, testing hasn't found any new problems, and there's naught left to do but to head off to sleep with visions of what I'll do with the $74 billion we make from the product dancing through my pointed little head.

Probably buy a Dairy Queen so I can get lifetime free Blizzards whenever I want them.

Or maybe a fridge full of Hot Pockets.

Hell, I might even get both.

Sunday, April 12, 2009

nothing ever changes when you're acting your age

OK. I've long since dropped the ball on the Friday videos thing and I won't waste time apologizing for it yet again.

But here's a little bit of awesomeness in both song and cinematography that I'd completely forgotten about until imeem tossed out the band name tonight:

"Head over Heels" by Tears for Fears



This was one of the first tapes that I owned when I was a kidlet, and I used to drift off to sleep to this song and the slow mellow groove that followed it up on the way high tech Sony personal cassette player that I'd ganked from my poor father's ever-shrinking gadget collection. I recall finally catching the video on a Friday Night Videos run (not sure why MTV never really picked it up and ran with it), and it's got plenty of amusing, surreal WTF? moments even now that I watch it again decades later.

Absolute favorite part: Around 1:28, where the synth dude (dressed in biker leathers) steps up to the counter, the chick ducks, a keyboard flies down from the rafters, and he engages in a one-fingered solo performed live from The Uncanny Valley.

Monday, April 6, 2009

liquid breathing

I ended up watching some of the old Seaquest DSV episodes online via Netflix this weekend. Yeah, it's corny, but Bob Ballard showed up at the end of each show to give a 30 second "how this applies to real life ocean exploration" pitch. The man has got some interesting ideas... check out his TED talk to get an overview.

In one of these talks, he mentioned that someone had recently been down to 2200 ft (presumably he meant in submersible), and that kind of caught my attention.

Recreational divers usually call it quits around 100-130 ft because after that, oxygen actually starts to become toxic at the 80% nitrogen/almost-20 oxygen mix we breathe. Going deeper means having to use a "trimix", where a 3rd gas (apparently helium) is substituted in to reduce the oxygen to nonlethal levels. The depth record for this was set at 1100ft (330m) in 2005 by Pascal Bernabé (check out his account of the trip). The next record depth requires the use of an Atmospheric Diving System, which is basically a hardsuit... 2000 ft (609m) by a Navy diver in 2007.

It all reminded me of The Abyss and how liquid breathing had been a scifi idea for a long time. The official name is perfluorocarbon, and it turns that it does indeed work and mice have been able to breathe in it for long periods of time. The downside is that it strips out another liquid that's in your lungs and you end up basically suffocating if it's ever removed. The other problem with "The Abyss" scenario is that at high pressures, other biological process in the body start to do whacky things... protiens go nuts, tissues start ripping. Not good.

So while that might cap the ability to dive to 6000m and meet alien lifeforms, the perfluorocarbons are still medically interesting in other ways. It's got potential for use as artificial blood, accelerating flushing out of nitrogen after decompression sickness (the bends), washing out the lungs, and it's currently used in eye surgery in several different ways.

That's some interesting stuff discovered for a 10 second quip about diving records. :)

Wednesday, April 1, 2009

vmware setup

Probably worth talking about the vmware setup here, too.

First off, I'm using VMWare Player. I snagged images for Debian 5.0, Ubuntu 9.whateverthehellthey'reonnow, and Fedora 10 from ThoughtPolice. Gave each one of them static private IPs, and setup their net interfaces to use a bridge instead of NAT so I could have full network access to them directly from the Debian "ohmygodit'sstillrunningetchtesting!!!" laptop. I also setup a shared folder on the host XP machine, and have each of the images smbmounting it on boot so I can easily move files around. Currently considering setting up Active Directory on the host and mucking around with pam_ldap auth off of it, but not motivated enough to find the XP64 install cdrom at the moment. Machines are using a MySQL 5.0 server running on the XP host (and, by the way... MySQL admin on windows is an absolute pain in the butt).

The Q7760 proc seems to be handling it all in stride despite being a tad old, and 4GB mem appears to be sufficient for the Rube Goldbergesque virtual network I've created. Disk space usage has gone up, but with 1.5TB drives at $120 now, expanding that shouldn't be a problem.

Yay virtualization. :)

back to rails

So, back to rails. Got yet-another-project that seems like it should be right up rails' alley. Did a little bit of refresher reading tonight, and it seems like if I'd understood helpers, routing, and js templates better I might have avoided painting myself into a couple of corners during the last explorations in RoR-land.

Or maybe it's just because now I have a better understanding of javascript and don't regard partials as dark voodoo anymore.

Any rate, we'll see how this works out.

For the dev environment, I've decided to keep the XP64 desktop, but am currently running a series of VMware instances through Player to find a distro to work on. Will probably stick with Debian. I think I'm going to run with Netbeans as the IDE for now, but we'll see if that starts cramping my style and gets the hose or not.

bb development

So, it turns out that you have 2 choices for blackberry development: java (j2me) or javascript (Blackberry MDS).

The Java option gives you access to various features on the phone, one of the big selling points being backgrounded threads, which means you can do something similar to what the G1 does via XMPP (theoretically, I haven't dug too far into the doco yet). The MDS option basically allows you to create a browser application that relies on a web service to operate (ie, you could create a BB MDS app that basically manages an Amazon Web Services account).

Both options open up some interesting prospects for applications.

The big question now is do I want to control my cylon army from the phone through XMPP or a web service?