Okay so I just have to share some awesomeness.
Dragon Age: Origins is one of the best role playing games I've played in a long time. The twists, pace; it all is so very interesting. It's kept me on the edge of my seat and I've actually sat there jaw dropped enjoying the emotions and story unfold.
Uncharted 2 is another fantastic cinematic story telling adventure that I love as much or even more than the original. It has a lot of the same creative story writing the previous title I mentioned above but it sets in the current time and world. I love the humor.
Finally and definitely not the least, DJ Hero is effing amazing. Take out the guitars and enter a turntable styled controller. I was a little skeptical at first but after playing a few rounds it's turned out to be an awesome journey into musical nostalgia and sexy rhythms.
With every one of these titles I am barely into them and hope there will be sequels. I felt like we're actually back to a time when there is some good story telling and exciting things to experience in game.
I've been switching off game mode and back into creative music recording mode with the completion of my most recent game Borderlands. I agree with Play magazine's assessment. It's a cross between Half-Life 2 and Fallout 3 taking on the cartoon approach and injecting a good amount of humor. I liked the game all the way through except the ending which I felt was massively under explained and felt rushed through. "You won. You may quit when ready." comes to mind.
I also bought an additional Wii-mote and the New Super Mario Brothers game. It is a fantastic ride into memory lane. Again, the Play magazine review nailed it. It doesn't add anything leaps and bounds new and multi-player gets to be crazy at higher levels... but... I question the writers of that mag's game n00bness. Part of the fun in multi-player is how ridiculous and fun it is to try and get 4 people to go in the same direction without killing one another. It's been fun to play with the kids and it's brought the whole family together and for that the $50 or so was worth it.
Finally, I got my hands on Left 4 Dead 2 and to put it simply: awesome. They successfully taken what made the first game a hit and expanded it. More weapons to choose from, more interesting scenarios, and great sound. They bring back all the original monsters (although the "tank" still reigns supreme) and add some new twists. The difficulty in some areas seems a little off but I am happy to get a challenge. It seems the trend lately has been to make games enjoyable over challenging.
I am looking forward to getting my hands on Dragon Age: Origins, Call of Duty: Modern Warfare 2, Bayonetta, The Saboteur, Uncharted 2: Among Thieves, Final Fantasy XIII, Forza 3, Valkyria Chronicles, Gran Tourismo 5, Dante's Inferno, DiRT 2, Wet, Diablo III, MagnaCarta 2, Resident Evil 5; just to name a few. Doesn't help that my Xbox 360 has officially died. I guess I'm not too sad. I needed an excuse to get an Elite. But still, $300. Sad panda.
I'd like to play this a bit but as I poise to post about Crystal and my collaboration, I know I am running low on time.
I am sipping on a mocha right now which I paid $3.65. It's so expensive I won't be doing it often but it's a nice treat. I used to get hot chocolates because I hate the taste of coffee but recently I hate some of that Kirkland Signature stuff at Nate's and it's bearable. A mocha is like a hot chocolate with the benefits of coffee with half the nasty taste of regular coffee. I am not sure why I hate the taste of coffee so much but here's to getting over that.
*sip*
I have been playing a couple games recently. The first is Hearts of Iron III. This game, now that patch 1.2 is out, is quite simply awesome. I have been playing as the Italians on my commute home from work and have really enjoyed because able to replay history during World War II as a nation which I traditionally do not play. I admit I have it set to easy right now but we'll see how it goes. My conquest of Yugoslavia has just begun!
Okay, so maybe I am a day or two late... but the sequel to one of my favorite games of all time has been released. I am probably going to pick it up on Steam although I'd prefer disc copies. I downloaded the demo and have found an amazing installment of the series.
The learning curve is steeper then ever. The demo seems a little off base, though; it starts in 1939 and you can play one of the 4 major European powers. What's odd is the placement of troops makes for some interesting game play. As Germany, for example, you start with the bulk of your forces on the Polish frontier and the Northern half of Alsace-Lorraine. You should, as the German player, move forces West from the Polish frontier, rearrange your forces on the Western frontier, and execute a successful campaign in Poland. All quite daunting while you are trying to to learn a brand new game. The tech tree is rich and interesting. The optional AI control, though a little retarded at times, does a good job getting you what you need.
I was up late Saturday night starting the demo several times and then a few hours Sunday until I was able to finish the demo which abruptly end, I believe, on December 31st, 1939. I bet most of my gripes will be solved if I had started in 1936. Since this is a game and developr I really enjoy, I will gladly pay the asking price of $39.99.
I love playing a good game or two but I've been suffering a gaming slump for a long time now. The Sims 3 has been a fairly interesting and new experience. It's a little disappointing in that we are all used to seeing gobs of items for us to buy and now it's like they started over. The game, 10 or so expansions, and micro transactions will surely make this the cash cow EA hopes and needs it to be.
I am happy to share that I've been getting into Tomb Raider: Underworld for the PS3. It seems to have gotten a lower score and faster price drop than other titles but this is actually a fun game.
We drove up to Bremerton to get our oil changed only to find out that our maintenance had expired. Apparently it was only valid until 60K miles. I was a little miffed that they couldn't tell me that over the phone. Secondly, they tried to guilt me into spending $411 to have our 75K service done on the Honda. This includes an oil change, tire rotation, cabin and air filter changes, transmission fluid flush, and a rear differential fluid flush. No thanks. I figure I can do it all myself for about a quarter to a third of the cost. The only part I am unsure of is the fluid flushes.
We also had to get our tires replaced. The OEM ones were bald and starting to show the metal. I chose Discount Tire and went with the Yokohama tires. They have a 60K warranty. I went with the replacement insurance. All said and done it came to $142 a tire. I figure my Mustang tires will be more expensive; around the $200/tire range.
I've had some good exposure to the factory design pattern lately thanks to a co-worker who came by, looked over a block of if-else statements, and threw my mind for a loop. The end result is much cleaner and clearer code. I've also been reading a couple design pattern books.
Today I've done a quiet launch of the Guild Wars (GW) Ladder API as a beta. Below is the usage comment generated by the class that, well, is the API.
============================================================================== GW LADDER API BETA Example: http://www.guildwars.com/competitive/ladder/?format=xml&ladder=guild Argument/Options: format - xml, json, php-serial ladder - guild, hero limit - 1-1000 (guild ladder), 1-1080 (hero ladder) offset - 0-1000 ", 0-1080 " name - string 1-50 chars column - column name (see example output for names) order - asc or desc callback - string 1-40 chars (JSON only) Errors will return in requested format output. Ladders update HOURLY: please limit your calls accordingly. NOTE: API is subject to change without notice. Currently available as BETA. For questions, issues, etc. please contact support regarding "GW LADDER API". ==============================================================================
It's not a very complex piece of code but I wanted to make sure that it complied with best practices in API design, flexibility, security, scalability, and RESTfulness. I think as people discover it and start using it I'll get a better feel for how its being used. Right now folks scrape our ladders parsing HTML from our ladder pages. Yuck! I'm using distributed caching (memcached) to store results and some throttling to ease the load in case load gets out of hand.
Another couple changes I've been making while working on new or refactoring old code is to avoid nesting 'if' blocks, avoid 'else' blocks, limiting myself to one evaluation per 'if', and put 'return' or 'break' code near the top of what I am doing. It has been interesting getting used to it.
PHP:
for(;;) { | |
if(condition === false) { | |
break; | |
} | |
| |
if(something == 'yes sir!') { | |
break; | |
} | |
| |
$this->executeTheFunction(); | |
} |
I'd prefer to use something like a function and then multiple returns but the theory is essentially the same. This makes code block easier to decipher. Couple some logging into this and debugging just got easier.
Recently I fell in the middle of a religious debate surrounding stored procedures (SP) and parameterized queries. I find that although there are a lot of textbook reasonings behind using stored procedures I find no compelling reason to add another layer of code maintenance in the development stack. All the seemingly overwhelming benefits of doing SPs dematerialize once you realize you can accomplish the same with parameterized queries.
However, I see clear benefits to using SPs to encapsulate components used cross stack like web and application development. Or perhaps between multiple web applications. At that point, however, wouldn't one rather employ the benefits of a service? And if you go the service route you are back at point one: why add another layer to maintain. I am by no means an expert on this topic but I have been very curious to find the facts. I just find that using SPs is a pain in the rear.
After cancelling my DI.FM subscription I've been actually able to locate a few great streaming radio stations. M2 and FG Underground out of Paris to name a couple. I'm diggin' the Electro-House sound. Here's After Hours (Original Mix) by Mellefresh & Deadmau5:
Crystal and I have been enjoying playing Aion an upcoming game from NCSoft that's already made a huge splash in Asia. It's a fun MMO that looks sexy and is interesting to play. We haven't gotten very far but its fantastic to finally play characters in a game I'd want to be.
Other then that, I'm playing EVE but as I'm shifting to music production again so I'm sort of not all that interested in spending my limited free time playing. But dudes, I am totally having an AMAZING amount of fun playing Metal Gear Solid 4. What a great title. There are a bunch of cut scenes and sometimes it is noticeable but it doesn't matter. It hasn't been since Ace Combat a few months ago that I've been excited to continue playing a game.
Short story: Deadline is approaching and I am losing sleep. I have a small web application going out to replace an existing one and it is running horribly slow in Internet Explorer (IE). It runs fine in terms of speed and performance in all other major browsers. I've used logging, disabled code, disabled CSS, disabled Flash components. I even made the core functionality for the feature drag and drop implementation ugly boxes. Nothing. Check the following line of code. It's completely innocent and always returns a value. Let's assume it's '70'.
Code:
var rows = document.getElementById("totalNodes").value; |
A couple lines later I add it to 1 and I get 71. The problem is that instead of building 71 objects with YUI's DDLinst function I have now built 701. String concatenation: bend over and crash IE for ignoring that little detail Mr. developer man.
Code:
var rows = parseInt(document.getElementById("totalNodes").value, 10); |
So anyway, that takes care of that problem. Parse it as an integer base 10 and it's solved. But wow, what a challenge finding it. I feel a little embarrassed for being had by a simple thing like getting a string out of a variable but that's another little thing that is fixed and solved and I'm happy.
A lot of folks might complain about IE for this (this being IE not gracefully allowing stuff to happen like all the other browsers) but in the end if it weren't for IE being picky I'd probably have never found and fixed this huge memory/processor gobbling leak. Sure, IE continues to disregard well known CSS standards. It keeps us developers on our toes.
Jerry got into EVE and I'm full bore into it as well. It's a fantastic game for geeks and although it can be referred to as "spreadsheet in space" I think over the last 4 years it has significantly improved. Crystal is playing Aion via the developer beta and she's been really thrilled with it. I've been watching her and I am impressed as well.
Also, out of curiosity, Blizzard launched their new Battle.Net design, EULA, and features. I think it is quite obvious they are going to contend with Valve's Steam and other digital publishing mediums. Why shouldn't they: they have the cash for sure. I think we'll see more of these studio publishing paradigms crop up and eventually settle to a core group.
We finally opened an account with Sound Credit Union and have steadily been changing over our mailing address with our various creditors and utilities. We still have a couple stacks of boxes in our office room but the rest of the house is pretty much settled in. We definitely need to get some shelving or get rid of a few extras but nothing crazy. My biggest hurdle is coming home and after playing with the kids and eating, plopping in front of the computer.
Something now from the hard dance genre, How Hard Do You Fuck? (Original Mix) by Dr. Willis:
Speaking of computers... I have been playing a wee bit of Navy Field and have finally gotten to a place where I could buy the Heavy Cruiser Moltke. It has been difficult to play. Up until now the reload speeds of my guns have been fairly fast. Now there is a considerable gap in between shots. This means that I have to stay back, choose my shots carefully, and keep moving away.
I finally went and worked out last night. That was amazing. I used the elliptical machine for 20 minutes and then I did some weights for 10 minutes. I know it's not a lot but I am trying to take some baby steps. Another thing is that I started to work on my music too. I've been waiting to do this kind of stuff until after the kids go to bed which gives me about an hour every night to myself and/or with Crystal.
At work I've been working on consolidating several virtual machines into one running VMWare's ESXi. To accomplish this I had to use virtual hosts and some nifty Apache prepending of some PHP code to change the includes directory path. With that the web development server box will become a preview machine, a host for various company wide projects, and a web database server. Next I created a VMWare Player instance to run on my local box with a Samba share enabled to which I will sync my Perforce repository to. The next step will be to integrate a deployment scheme using something like Capistrano. I created a pretty neat deployment script at my previous employer so it is good to move in a direction that employs rollbacks and a build type deployment.
I'm also checking out Symfony and PEAR since it's clear to me now that I need to use things like that (frameworks/libraries) rather than trying to reinvent the wheel with every new thing I write. It's a total duh moment for me but I think developers need to get to this place where key concepts are solidly understood before using things like this. The biggest complaint I have is that here we are doing all this bad ass shit only to eventually (90% sure) be using C#/ASP.NET. Not that those aren't completely awesome and I am unstoppably willing to learn something new but I hesitate on whether or not they are the best choice given the popularity of LAMP based system for lots of major projects. In our interviews I have gathered that C#/ASP.NET developers seem to lack a broader understanding of underlying architecture and have a general lack of desire to develop independent projects both for web and otherwise. This isn't a generalization but an observation I have made with the small sampling of people we've interviewed.
This last weekend the family went to the Seattle Science Center. It was a lot of fun and the place was a lot bigger than I imagined. We started in the dinosaur section which terrified Henry. After we took a break to play with the over sized chess pieces the bug exhibit was a hit. I think Henry was the loudest kid there pointing at each and every pinned specimen and shouting "BUG"!
It was our second choice, actually. We initially wanted to take the kids to the zoo but weather decided otherwise. I haven't been there for a long time. Some of the stuff was interesting.
After that we stopped and got groceries just in time for Jerry and Jeanine to come over for dinner and discussion. It was nice to have people over. I have gone through more of my boxes and expect for a couple stacks in the house most of our stuff is unpacked.
Here is a track by Electrixx titled Tokyo Rush (Original Mix):
The fella from church was able to get my tire fixed which is wonderful. I put the wheel on and took my car for a spin. It feels really good when things are in good order. In a couple weeks (read: next paycheck) I will be getting my wheels aligned. I'd like to also install my sub-woofers into my car. It's been more than five years since those babies have played sound. I really wish my car had Internet so I can stream my tunes to the car. I have found satellite radio severely lacking in both quality and selection.
I admit that driving again has me a little stressed at times. Riding the bus and ferry systems has shielded me from "road politics". I suppose one has to deal with politics wherever there are other people. So far I have found that I get to work in about 45 minutes if I drive to Seattle and take I-90 to Bellevue. I-405 is its usual cluster fuck 4 out of 5 weekdays in the mornings. Driving home after six has been fine.
Oh! Navy Field has quasi announced a sequel Navy Field 2. It will be at least another year before it is released but I am very happy the company has decided to continue developing the series. I just upgraded my ship to the next light cruiser called the "M Project". It has less armor but an extra turret spot compared to its predecessor: the Königsberg.
I have gotten sucked into playing Navy Field again. I think I mentioned it a while back but I am now working hard to buy my first light cruiser (CL). I like that the game is free to play supported by micro transactions. The option to pay to play is there but I don't need to spend it. Anyway, I have been leveling my crew and slowly getting ready to eventually change to a manual aiming system. It's not practical for the run and gun tactics of destroyers but once I've got a CL, it'll be harder to speed away from battleships at 38 knots. I really hope they continue updating and adding more to this game. And now for this week's guilty pleasure: Britney Spears' "Gimme More" remixed by Paul Oakenfold.
I also have been playing Warhammer Online. It's been interesting but the graphics and art of the game has been extremely disappointing. I understand the mechanics and game play are important but I guess I am just spoiled in expecting things from games that are sexy and well polished. That being said, the rest of the game seems fairly solid. There are 40 levels to max out to and the stories and quests are all interesting. I have a feeling, though, that it might not be for the casual gamer I am.
I have found a reason to buy a Nintendo DS: Panzer Tactics. I have actually been lamenting the death of arm chair general type games. The drive to the more popular RTS type strategy gaming has unfortunately dried up funding for games that I cherished in the day like Panzer General. Otherwise, it's been a gaming lull for me so I am going to be recycling old stuff and actually start working on what I want to do with my music.
We got home late last night so I will be picking up the couch today. I am excited.