roncli.com blog
The blog of roncli
roncli.com blog
roncli.com
blog
Profile
roncli
Houston, Texas, United States
Labels
Coding
CTG Music
Editorials
Games
Miscellaneous
Music
Servers
Silliness
Software
Sports
Trax in Space Beta
Weather
Recent Posts
WTF did Revival Productions just do?
A Tale of Two Communities
The Final Stretch
A Two Tiered, Untiered OTL
Secretly, you wish you could've done what I did
What have I done since roncli.com v2?
It's Done. It's Finally Done.
The Big Picture is Starting to Wear on Me
A Low Bang to Buck Ratio
win-acme
Archives
February 2005
March 2005
April 2005
May 2005
June 2005
July 2005
August 2005
September 2005
October 2005
November 2005
December 2005
January 2006
February 2006
March 2006
April 2006
May 2006
June 2006
July 2006
August 2006
September 2006
October 2006
November 2006
December 2006
February 2007
March 2007
April 2007
May 2007
June 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
February 2008
March 2008
April 2008
June 2008
July 2008
September 2008
December 2008
February 2009
July 2009
August 2009
September 2009
October 2009
November 2009
February 2010
March 2010
April 2010
June 2010
July 2010
August 2010
September 2010
October 2010
November 2010
December 2010
March 2011
June 2011
July 2011
August 2011
September 2011
October 2011
December 2011
January 2012
February 2012
April 2012
July 2012
November 2012
July 2013
April 2014
July 2014
August 2014
November 2014
December 2014
March 2015
April 2015
May 2015
June 2015
July 2015
September 2015
January 2016
February 2016
May 2016
July 2016
November 2016
March 2017
January 2018
May 2018
June 2018
January 2019
January 2021
February 2021
March 2021
August 2021
October 2021
December 2021
August 2022
November 2022
October 2023
February 2024
April 2024
Saturday, August 13, 2011
LibWowArmory 0.4.1 beta
Posted: 5:54:00 PM 0 comments
And now, some error handling. LibWowArmory now includes a new BlizzardAPIException class that will allow you to catch the errors thrown by the Blizzard WoW API.

Labels: , , ,

Friday, August 12, 2011
LibWowArmory 0.4 beta
Posted: 4:34:00 PM 1 comments
Well, Blizzard decided to close down the old World of Warcraft Armory at the beginning of the month. This promptly broke Six Minutes To Release, resulting in me having to code in a flurry to get a working version of LibWowArmory.

Of course, LibWowArmory is kind of a bad name for the library now. The Armory's replacement is the Blizzard WoW API. I'm going to stick with the old name just because to me it's still the Armory, just in JSON format instead of XML.

Anyway, you can get version 0.4 beta of LibWowArmory from CodePlex.

Note that the item lookup is vastly incomplete, and auction data is not downloaded yet. Those will come soon enough. Also, Blizzard is constantly developing this API, and up until recently were adding things faster than I could code them. So, this library will probably evolve pretty quickly as well.

Labels: , , ,

Friday, July 09, 2010
Revisiting LibWowArmory
Posted: 4:03:00 PM 0 comments
The biggest thing I dislike about the World of Warcraft Armory is the fact that it throttles requests to 120 a minute. Of course, I understand why it does this, as it must prevent getting hit with so many requests so fast that it essentially gets DOS'd. This means, instead of bitching about the limit, instead I need to find an elegant solution to avoid hitting the Armory more than 120 times per minute with LibWowArmory.

There are several problems that I must tackle in order to implement this. Firstly, LibWowArmory is a library, which means I can have multiple calls to the Armory coming from multiple places. For instance, my web server calls the Armory from both the website and a nightly maintenance application. I need to find a way to centralize management of the number of calls the application is taking per minute.

Second, I can't block a webpage when a call to the Armory is queued, but I can block the maintenance program. I need to develop a queuing mechanism for both scenarios. Something elegant and AJAXish for webpages, and something else for client apps.

The need for this has come up because I'm on the verge of adding GearScores to the Six Minutes To Release website, and the average character GearScore creates over 15 calls to the Armory, one for the character and one for each item. Requests absolutely have to be throttled, or I'm going to run over the 120 requests per minute fast.

I'm hoping to get this done this weekend so that I can release it along with some bug fixes that were introduced with the Visual Studio 2010 conversion. Eventually, the library will go to .NET 4.0 as well, but I'm not going to do that until all of my libraries, websites, and applications are on the same page.

Labels: , , , ,

Friday, June 18, 2010
Late night coding, how I miss thee
Posted: 3:06:00 AM 0 comments
Now playing: Muse - Uprising (Album Version) (5:06)

(Wow, haven't used that line in a while.)




"Get some sleep," said Kathy as she left for work earlier this evening.

Yeah, right. When I get on a roll, it takes a lot more than a recommendation of sleep get me to hop off.

Tonight I was determined to get back into the Six Minutes To Release project and fix it up so that it works with my changes to the LibWowArmory project. Well, that I did, and then some.

The website doesn't compile just yet, but all of the associated libraries do. Also, everything is updated for Visual Studio 2010 and the .Net Framework 3.5 except for one project, which I will tackle tomorrow. The reason the website doesn't compile is because I decided tonight to get rid of the Ajax Control Toolkit in favor of JQuery UI controls.

The reason for this is because the Ajax Control Toolkit has some kind of minification MSBuildTask. That's great for people who don't already use minification, but I've gone so far as to code my own minification (plus combination, compression, and caching) library. It annoys me that I have to install something extra just to get code to run. So, Ajax Control Toolkit is out.

The only controls I was using was a calendar and dialog popup, both of which is provided in the stock jQuery UI release. I've been wanting to get away from Microsoft's Ajax for the jQuery (even Microsoft uses jQuery) because of the ease of use of jQuery and simplistic and low bandwidth Ajax calls compared to Microsoft's chunky code. This is certainly a good first step towards that.

Yup, I'm in full code monkey mode, and far be it for sleep to interrupt me for any longer than it has to.

Labels: , , , , ,

Monday, June 14, 2010
LibWowArmory 0.3 beta
Posted: 6:17:00 PM 0 comments
Well, it took me a lot longer than planned, but Visual Studio 2010 came with so many neat features, I had to convert LibWowArmory over and use them all.

And when I'm on a roll, I can't stop. Not only did I convert the project to VS2010, I also took the time to add three brand new classes to the mix. AchievementStrings is a class that returns strings of achievements and achievement categories, and is required by the new CharacterFeed class. The CharacterFeed class returns a list of events such as achievements and achievement criteria completed, bosses killed, and loot won.

But the grand opening of ItemTooltip is the one I'm most excited about. Thanks to Lukan Schwigtenberg, I was able to integrate all of the data that makes a WoW tooltip a WoW tooltip. There is a lot of data that you can get about an item now, and it will be interesting to see if it can be put to good use.

This release completes all of the character and item data you can get from the Armory. I also plan on working on guild, arena, and auction house data in the future, although I don't know when I'll get to it.

Besides, I have a ton of other projects to upgrade. Fun times!

Labels: , , , ,

Friday, March 05, 2010
SVN turns 1000
Posted: 5:22:00 PM 0 comments
Today, I made my 1,000th commit to my SVN server. It wasn't much of a change, reversing a commit that turned debugging on for one of my websites, but it's a milestone nonetheless.

Building up to this, I did a lot of work with the applications and libraries that currently exist on the SVN. Here's a brief summary of what I've done recently:


  • LibWowArmory got an ItemTooltip class added to it, only a demo application remains before I release version 0.3.

  • Constellation and Cent both got their libraries in the /lib directory of the SVN, allowing me to develop these applications anywhere, not just at home.

  • Six Minutes To Release had a ton of work done on it, including the addition of LibMinifier, my JavaScript and CSS minification/combination/compression library. I also replaced WZ Tooltip with jQuery Tooltip, continuing my move towards jQuery on the Six Minutes website.


For now, I will continue to focus on the Six Minutes website, as there are a lot of guild issues that require me to do a lot of coding. After that, however, Gate will be the focus, as I want to get a copy of that up and running before Google shuts down Blogger FTP on May 1st. Granted, I have a backup plan if I don't succeed in that goal, but I'm hoping I can get something quick done by then.

Labels: , , , , , ,

Tuesday, September 08, 2009
LibWowArmory 0.2.1 beta
Posted: 4:35:00 PM 0 comments
Blizzard decided in the latest World of Warcraft patch to add items that are only usable by one of the factions while providing an item with exact stats but different looks to the other faction. LibWowArmory, my VB.Net Armory parser, has picked up on this, and thus version 0.2.1 is released.

Labels: , , ,

Sunday, August 30, 2009
LibWowArmory 0.2 beta
Posted: 7:22:00 PM 0 comments
I finally got around to updating LibWowArmory to include not only the latest changes to the Armory's XML data, but now it also includes information about reputation, achievements, statistics, and character calendar information.

It's taken me 8 months to go from one version to the next, and with all the bouncing around I do on projects, it's really no surprise that it takes me forever to do these kind of things. Although I do have plans to add guild and arena team information, I doubt that's going to come around for a while, unless someone offers some help with the project.

Next on the plate for me? Something to replace trac...

Labels: , , ,

Thursday, August 27, 2009
LibWowArmory coming along slowly
Posted: 4:55:00 PM 0 comments
I've been spending a lot of time with LibWowArmory lately, largely because the current version is broken due to 3.2 Armory changes. My two main goals are to finish off the character data (I have 3 tabs left), and create a demo application.

Well, today I finished the demo application with all of the existing data I have. It's basically a command line version of the Armory, a 2,339-lines-of-code monster that took way longer than I had hoped it would. Of course, that's because over half of that has to do with the Item Search feature. It's crazy because of all the filters that exist.

What irks me about that, though, is that the Armory is a version behind on some of the filters. For instance, there is no filter for Emblems of Triumph yet. Because of the erratic updating they do to their own website, I've actually been thinking of making an app that downloads some .xml data, compares versions, and alerts me when there has been changes.

There's just so much I want to do programmatically with WoW, but I just don't have time to make it all happen at once. Sometimes I wish I had help on these things, but finding interested developers that are committed to help is a problem that's tough to solve.

Labels: , , ,

Thursday, July 16, 2009
Married Life
Posted: 3:01:00 AM 1 comments
Ah, the married life.

Um, it seems to be the same as unmarried life.

Anyway, it's been far too long since I've posted here. First of all, you'll notice a new picture! This is from my wedding, and probably will be the one I use online going forward, as opposed to that silly surprise smile face from 2001. I'll likely still use my side Vegas photo occasionally, but this is going to be my common photo for the time being.

I'm still heavily addicted to World of Warcraft. Six Minutes to Release is still going strong, and I have done a lot with it since my last update. Right now I'm working on updating the broken LibWowArmory to work with all of Blizzard's latest Armory changes. Woo, this post is already linkerific.

Cent has resurfaced as a project when I discovered C++/CLI. Basically, all the calls to Crystal Space are done in C++/CLI while I do the actual game logic in Visual Basic.Net. It's not been without its difficulties, though. For instance, passing a System.String from VB.Net into C++/CLI for use as a char* parameter without causing a memory leak was interesting. I finally came up with this function:

const char* Marshalling::StringToConstCharPointer(String^ strIn) {
    marshal_context^ context = gcnew marshal_context();
    return context->marshal_as(strIn);
}


So far, I've gotten a blank screen with an FPS counter in the upper right touching 2,400 fps. I'm currently working on the static loader module that loads the images, music, and other various files needed by Crystal Space. Then I get to start working on the menu, which will be designed a heck of a lot smarter than the old one was. That is, no more 10,000 line classes.

The only thing I have yet to figure out is the new event system of Crystal Space, which is probably just for lack of trying. Right now I cannot handle keyboard, mouse, or joystick input without breaking the frame processor. If I try to handle all events, the frame event doesn't fire. If I comment out the part that handles all events, the frame event works fine. I'm sure I'll figure it out with time.

My music has, unfortunately, been put on hold. I just don't have the time nor the proper equipment to do anything with it. I've probably written half a dozen songs in my head in that time, but the overall motivation to actually do something with it is mostly gone. Hopefully next year I can get something from Open Labs and get myself out of this funk.

And finally as a footnote, I am quite into Kado Kado, a competitive mini game website. I am doing really well in Iron Chouquette, Ellon in the Dark, Opalus Factory, and for some reason Cooking Lili. I absolutely hate Cooking Lili. But I'm good at it. Bleh. But seriously, many of the games are fun, and they're coming out with more all the time. You can play five times per day for free, or if you become heavily addicted like me, you can buy the ability to play more.

Labels: , , , , , , , , , , , , ,

Friday, February 06, 2009
Deja vu
Posted: 10:44:00 AM 0 comments
Hmm. Apparently, I did post on LibWowArmory, but when I looked at my blog page the other day, it never got published. WTF?

Labels: , ,

Tuesday, February 03, 2009
LibWowArmory 0.1
Posted: 5:25:00 PM 0 comments
I totally forgot to post this. Not so long ago, I released LibWowArmory on CodePlex. It's a .NET library for interfacing with the World of Warcraft Armory.

It's not complete, but I have it looking up important stuff, like items and characters. You can also extensively search as if you were searching from the Armory itself. Well, you are searching from the Armory itself, really, using the same queries available on their website.

I want to add lots of stuff to this, such as Achievements and Arena Teams, but right now this will do, because that's all I need for the Six Minutes website. I'm hoping at some point I'll be able to revisit this library and complete it, because it's pretty nice to be able to just call this stuff from code and not have to worry about the implementation of HTTP.

Labels: , , , ,

Thursday, December 18, 2008
LibWowArmory 0.1
Posted: 1:50:00 PM 0 comments
I've finished up the first release of the .Net library I've been working on that queries the WoW Armory. You can grab LibWowArmory from Codeplex. There's still a lot of work I want to do on it, but for now it does what I need it to do, and I can go back and complete the rest of the functionality later.

Labels: , , ,