Tuesday, June 29, 2010

WinDirStat - Cool Free Tool

WinDirStat is a great way to see what files are on your computer and how much memory they are using. After analyzing your drive, it produces a cool, interactive treemap like this:

Monday, June 28, 2010

Newbie Dev's Take a Hit with ArcGIS VBA Deprecation

This was not the first warning that VBA is going the way of the dinosaur. I stopped any new development with it months ago after hearing the it was not going to last.

While I'm excited about the new arcpy module and nifty add-in framework, I'm a bit sad to see an old friend leave. VBA is where I began my journey in programming and I believe it has played a similar introductory role to many others. It was so nice to have a development environment baked right into ArcGIS Desktop so that within seconds you could be writing and debugging code. While I eventually transitioned into the more robust Visual Studio world, VBA was a great bridge.

Now I'm worried that people who dabble in VBA will be much less likely to open Visual Studio Express. And while the new python API looks really good for map automation and geoprocessing, it doesn't look like it has any UI capability. I hope that this doesn't discourage the use of custom code in the future.

Tuesday, June 22, 2010

One Var To Rule Them All

As I was watching a great Tech Session video from ESRI's last Developer Summit on the JavaScript API, I was introduced to the concept of global variables being evil. Further research confirmed that I needed to alter my coding patterns a little bit. Since then I have tried to keep global variables to a minimum. If I do need them I have started storing them within a single variable like this:
// global variable var g = {}; g.baseURL = "http://gis.sandy.utah.gov/ArcGIS/rest/services/"; g.googleBaseURL = g.baseURL + "Public_Works/Google_Basemap/MapServer"; g.bwURL = g.baseURL + "Public_Works/BulkWasteAreas/MapServer"; g.vectorQueryURL = g.baseURL + "Public_Works/Vector_Basemap/MapServer/6"; g.locatorURL = g.baseURL + "Sandy_Address_Locator/GeocodeServer"; g.fldBW_DATE = "BW_DATE"; g.fldAREA_NUM = "AREA_NUM";

This has kept my code a little cleaner and has made it far easier to find the evil things during run-time with FireBug. My latest project with bulk waste data was my first attempt at global variable redemption.

Monday, June 21, 2010

Easy there boy...

This was some much needed antidote for the rush-to-upgrade poison that courses through my veins. "Potentially corrupting data" was enough to give me the shivers. I can still upgrade my desktop though, right?

I [heart] ArcGIS API for JavaScript

Did you all notice which ArcGIS Server API ESRI chose to use on their fancy, new website? No third-party plugins required.

Have you also noticed that the AGRC seems to be focusing on this API as well? I was talking with Bert Granberg and he used the phrase, "pure web".

I'm not saying that Flash and Silverlight are going away, but I just keep seeing more and more of the JavaScript API. With the recent backing of HTML5 by all of the industry's major players (even Adobe), I think that a "pure web" solution is going to continue to be a great choice in the future.

What do you all think? Who else is there in the region that's working with this API? We need to start a support group. ;)