Thursday, June 30, 2005
Google Earth <-> Google Maps

Well that didn't take long. Strolling through the comments here, I noticed Philippe Gouillou has released a simple site to take googlemaps urls and convert them to kml, and vice versa. Very cool.. Time to stroll through all of the google site seeing sites again with google earth open.



Using ruby to test your asp.net

Scott Hanselman posts on what looks like a great solution for web testing. Using ruby, the magical dynamic language that reads like you think, and watir, an open source web testing framework, Scott has created a pretty simple way to test your web sites from nunit. Anything that makes testing simpler get an A in my book, and using Ruby only gives it bonus points.



Continuous Integration != agile

Why is it everytime I hear someone talk about Continuous Integration, the word agile is usually right before or after it. I understand that the concept of CI came out of the agile methodologies, but in my opinion the two are definitely not tightly coupled as some may assert.

I see CI as a means of closing the feedback loop between the coders and the code (hmm that sounds agile). We as developers get immediate feedback on our commit, long before we forget what we just did. Powerful. For example, I add new code that depends on this shiny new open source dll, but forget to commit the dll. Within minutes the other developers are laughing and pointing at me singing Aaron broke the build. After putting my quarter in the swear jar, I can quickly fix the issue while it's still fresh. Sound agile? Sure. But in the end that commit could be part of a huge waterfall project just destined to fail, but still the feedback loop between the coders and the code is tight. There's value in that no matter your methodology, or absence there of.

Is it that everyone wants to be agile? I know I would like to work in an agile environment, and to some degree we are, but in the end we are closer to a traditional hunt, gather, and analyze shop. Yet there is still value both in our reliable builds, and the continuous integration that tests them.

/rant.. CI, although important to agile shops, can have a ton of value no matter how you develop. So don't just pass by it if you don't think your "agile", or have a nice set of unit tests to get feedback on.. (although unit tests aren't really tightly coupled to agile either ;)



 Wednesday, June 29, 2005
Did I leave that on the stack or in the heap?

Jon Skeet has written a short, excellent paper describing value and reference types, as well as how they relate to the stack and the heap. Not that this isn't covered in many places, but this article is probably one of the clearest I have read, as well as providing real world examples. A good refresher for any .net developer..

via Rob Chartier



Google earth

Pretty much like keyhole. Pretty much free. Pretty much kicks ass. Go get it.

Seems it supports a couple of file formats for location saving. Google has published these "tours" which seem to be a binary format, then you can also save xml formatted files directly out of the app. I'm sure sites like these will start distributing kmz (binary) and kml (markup) files soon. Oh I can't wait for the hacks to begin.

via Jeremey Wright



 Tuesday, June 28, 2005
WS-I Sample app from the Patterns and Practices group

Looks like the Patterns and Practices group has released a complete WS-I basic sample application. This app uses Enterprise Lib, as well as WSE to demonstrate how to build a complete end to end application. I'm really anxious to dive into the architecture, and see how the prescribed architecture looks. Hopefully it's close to how we are designing our web services ;)

Via The .net Guy





 Thursday, June 23, 2005
Am I the only one still using my teched bag?

I really like that little free bag. It's larger then my old laptop bag, and lighter. It doesn't offer as much protection as my port bag did, but its certainly ample. I hate the advertising on the strap, but can live with the teched badge. Am I the only one geeky enough to carry around the teched bag as a perm laptop bag?



 Monday, June 20, 2005
Random stuff

Couple things going on.. I'm sure everyone has seen Monad beta 1 has been released. Those that don't know, Monad is this way cool shell that MS has been working on that could replace cmd.exe. Monad was slated for the longhorn timeframe. Now it seems it's going to be part of winfx, which might have a different delivery schedule, but might not, but I digress. Either way, beta1 is now available, and I've installed it. I haven't done a whole lot with it yet, but hopefully will. I sat through a (very packed) demo at teched, and was of course blown away. Even the slashdotters are throwing Monad praise.

Scott Hanselman has updated his list of ultimate tools, and it's quite an update. 2005 brings lots of new products and categories to the list, but one stuck out more then others to me. del.icio.us. I'm a big fan of del.icio.us, and it's great to see an industry icon like Hanselman use, and promote it. I've definitely added a livebookmark to his del.icio.us feed, as well as a few others I like to catch up on every so often.

If you have an xbox, and haven't gotten san andreas yet, go now. Now. Just walk out of work, and go. You may get fired, but thats ok, once you get San Andreas, you really won't need anything else. It's like crack. I spent way to much time this weekend trying to break into one of the next cities. So much, that I didn't even type word one in my teched recap ;) Soon.. soon....



 Friday, June 17, 2005
Where's Aaron?

I hope everyone was able to keep up with my flurry of teched posts. In fact, you may have been wondering if I got eaten by Shamu or something. Well, one thing that I grossly underestimated was the time I actually had at teched. Being in the convention center from 7:30 to 10-11 every night doesn't leave alot of time, so I didn't really get a chance to blog.

I have been slowly putting my notes up on the wiki, though. I'd like to get all my notes up by the end of the weekend if possible. I'm also trying to collect links to others experiences in the same sessions. I hope to expand those wiki pages after we get the conference DVD, and I get a chance to go through a few more sessions. You can take a look at my teched notes thus far here. So far Monday is almost done (just need to finish the last session).

Teched was an amazing experience, though, and I really appreciate the chance I had to go. This was the first developer conference I had ever been to, and after reading alot of the pre-teched banter on how it's not worth it, I was a bit skeptical. After going, though, I feel it was definitely worth it. Alot of the material is made public both during, and after the conference, so getting to the materials that are presented is pretty easy. But, being able to take a week and just immerse myself in learning, and talking to others was well worth the time/expense. Being a corporate developer (no billable hours here), it's very difficult to get time to learn. There is no "bench" time. Even when we are in a research cycle (like now), there are fires, and business problems to deal with, which makes immersion pretty much impossible. I'll get 25% through a paper on xsd, and get pulled off for the rest of the day. Not the best way to learn, but effective nonetheless. Being able to focus for a complete week, though, I was able to learn much more then if I tried to grok most of that content on the clock, or even after hours. Plus from my companies perspective, they get a more informed developer, who really appreciates the fact they were willing to send him. Win win in my opinion. I will highly be suggesting we send at least 1 developer next year, which of course I would love to go, but I doubt it will be me next year :)

I've still got more teched stuff to post, but since it's kinda late now, I'll try to keep it at a minimum. Watch the wikipages if your interested in my session notes, and feel free to comment or add new links if there are other notes that I have missed. Now I can return to normal posting :)



 Sunday, June 05, 2005
Pre-Con : Kimberly Tripp on Taming the SQL Server 2005 Tools

This afternoon I had the pleasure of attending Kimberly Tripp's pre-conference session on Taming the SQL Server 2005 Tools. I don't think there are too many better ways to get acquainted with SQL Server 2K5 then 5 hours with Kimberly, she is amazingly familiar with 2K5, and not afraid to be enthusiastic about it, which if you have heard her on dnr (show1, show2), is quite obvious (some of the best DNR's ever).

The session started off discussing installation/upgrade, and some thoughts on setting up a secure server.

  • ALWAYS set an SA pwd.. even if you are going to use strictly windows auth. You never know when you may need a backdoor in, and even though 2K5 will generate a random strong SA password for you if you don't specify one, good luck guessing it when you need to get into the server after the domain or your user accounts go belly up.
  • SQL Server password policys filter down from the domain.. very cool
  • She suggests running SQL Server in a low privilege local windows account. Hadn't thought about that, but certainly makes sense.
  • NEVER use the local system account for your SQL Services on a domain controller. The account has access to alot more then whats needed for SQL. Of course this is only if you MUST put it on the domain controller in the first place.
  • Upgrading may cause some pathing issues.. If you upgrade your databases, and they are in the default program files folders, your sql 2k5 files may be in mssql.1, while your data is ..\mssql\data. Not the end of the world, but ugly, and difficult to remember 6 months down the line. I'm sure your data files aren't in program files anyway
  • We went through detaching and attaching a few databases. Remember, if you detach from 2k, and attach to 2k5, there's no going back. Make a copy, or do it from a backup. Also, upgrading your databases doesn't set the compatibility to 9, which is nice for your old software, but don't forget to keep upgrading on your mind.

Then we started to dig into the tools a bit. Kimberly is very excited about sqlcmd.exe, and rightfully so.

  • sqlcmd.exe replaced osql.exe. It adds parameters (killer), initialization scripts (think constructor), and multiple connection handling ("go" those batches though!). Params can come in from the cmd line, environment variables, or good ole inline code. Management studio has full support for sqlcmd, also, giving syntax highlighting for the sqlcmd specific syntax, and the ability to run the scripts right in the IDE. sqlcmd.exe is very cool..
  • The SQL Configuration Manager replaces a number of screens, including the server properties dialog from Enterprise manager, the client network utility, while also allowing for service management. Seems like a nice way to combine the management, but nothing earth shattering here. Oh, and the April CTP has a bug where it eats memory, but this has been fixed in the next CTP (rumor has it, we will see it very soon.)
  • SQL Server 2K5 is now more Windows 2K3 like, borrowing the off by default concept. This means SQL Server will ship secure, and only you can unsecure it (minus any yet to be found vulns). To manage this, SQL Server Surface Area Configuration tool provides a means to view, and change these "off by default" settings. In other words, your xp_cmdshell code will fail, until you go in and remind the server, yeah, I really do want that.
  • The management studio is a night and day change. If you are a vs.net developer, expect your SQL Server experience to feel more at home. If you are not, though, expect to get used to a whole new IDE, thats nothing like the past. Projects, solutions, and source control built right in, this isn't your Daddy's enterprise manager/query analyzer. You really just need to play with it to see. I've been using it for a while now as my primary way to manage SQL Server, and although there are still some issues, I see that this tool will make SQL Server much easier to work with. Of course, I spend most of my life in vs.net anyway, so anything that gets it closer is cool with me.
  • Want just query analyzer? Check out the management app that comes with SQL Express.. It's free, and light, just like the old Query Analyzer.

She covered alot more then this too. Here are a few more nuggets I picked up..

  • Fast file initialization will help speed up many formally slower operations, such as restores, growing filesets. This is turned off by default, but is a service setting. You can turn it on by adding your service user to the Perform Value Maintence Tasks item in the local security settings. In Kimberly's tests, she was able to take a restore that took 12 hours down to 6.
  • The dedicated administrator connection allows an admin to connect through some reserved resources, no matter what the system is up to. By default, this is only allowed from localhost, but can be changed in the (you guessed it) Surface Area Configuration tool.
  • Detaching a 2k5 database also brings catalogs. It's been a while since I've worked with a full text catalog, but I'd imagine this would be a lifesaver if you need it.

Now I just feel like I'm rambling. It's late, I'm tired... Teched day 0 done... More to come...



Made it to teched

So starts the onslaught of teched posts. I'm sitting in a conference room waiting for Kimberly Tripp to start up her session, just too much to carry to walk around.

Flight was painless, although I get a little lost on the highways, and then stuck behind a toll that only took exact change (while the change lane was closed), with a 20$ in my pocket. So after abotu 10 minutes of steaming about that, some very nice passer by gave me 50 cents. I should of just driven through it, but I am on company insurance ;) I quickly bought a lemonade, and got back on the highway (the right way this time), where the tolls had attendants more then happy to break my bills. Thanks again to the random stranger in an explorer, although I doubt he'll ever read this.

The onslaught of swag has started already. The bag they give you is nice, and quite heavy. I haven't popped mine open yet, but have gotten some glances at others ruffling through the stuff. Looks interesting. I like the long stand of magazines, grab 1 or 2 of pretty much any tech related mag. The exhibit hall isn't open yet, so really the only thing publiclly going on that I can see are the pre-cons, and lots of people walking around, grabbing snacks off the many many tables of snacks, or sitting at one of the hundreds of random PCs setup around the conference. Oh, and that doesn't include the huge "communications center" which must have another 2-300 pcs for people to use, complete with printers and everything.

Well, have about 30 more minutes to waste. Guess I'll hit up newkingdoms, and maybe pop open that bag soon. Sorry if there are any spelling mistakes here, too far away from the access points to use my lappy here.



 Saturday, June 04, 2005
Christian Weyer releases WSCF 0.5

Christian Weyer has released version 0.5 of WSCF, details here. WSCF is a plugin to vs.net that allows developers to create web services from xsd contracts, instead of letting vs.net make your angle brackets for you. Contract first is a great way to ensure interoperability in your web services since you're focusing on the angle brackets first. Developing the contracts first also allows all the invovled parties to have something tangible to discuss long before any real code has been written. Since vs.net doesn't really support the contract first model out of the box, wscf fits the bill nicely, letting you create wsdl from a message schema, and then the asmx from that wsdl. Highly recommended if you're interested in contract first web services.



 Wednesday, June 01, 2005
true ms geeks

use a query window to do math... ;)



 Tuesday, May 31, 2005
My teched schedule

I get there Sunday morning, and will be in Kimberly Tripp's Effectively Using and Understanding SQL Server 2005 tools... Then.....

I think I'm a bit overbooked. :)



 Monday, May 30, 2005
Packing for teched

With teched a week out, I'm starting to think about what to bring. There are of course the obvious things...

  • Some clothes. Prolly not too much as we are all geeks, and no one will notice if I wear the same shirt. :)
  • Other livelyhood items. Toothbrush, floss, shampoo, etc.. I'll prolly shower at least once, but since I'm c# at heart I gotta have greasy hair at least one day. :) (ok ok, that's a lie,, I'll shower every day, I promise)
  • Nintendo ds.. After long hours of nerding, I'll need to unwind with some advance wars 2.
  • My ancient camera.. Oh the geeks will laugh, but I'll want pictures.
  • Laptop.. The universal toolbox.
  • Rails/Channel 9 videos.. Mainly for the flight.
  • My notebook and pen.. I don't expect to have enough battery power to actually take notes on the laptop.
  • My h320 mp3 player.. gotta have music, plus I might record a bit of teched.. I've thought about snagging a microphone too, but probably won't. Oh, and I'll have a bunch of old podcasts to catch up on.
  • Phone

Things I won't be bringing

  • Any books/magainzes/paper other then notebook.. just too heavy..
  • Pocketpc.. Honestly, I never use the thing anyway.
  • 2 bags.. I hate checking things at all, but I know I'll need to check at least 1 bag

What am I missing? I'm hoping to travel quite light, but I'm sure there is something I am forgetting.



 Sunday, May 29, 2005
Some 2.0/indigo resources

Just a few resources I've been hitting before teched :

Quickstarts of course.. Great way to learn the new features of asp.net

David Chappell has updated his intro to indigo.. Trying to finish this up before a party this afternoon ;)

Lifecycle changes.. It's gonna take a while to really understand the new page lifecycle.. This was a good start, and here is another list of events.

Better viewstate, and new controlstate. Hoping to find more on the lifecycle, I just started going backwards on Fritz Onion's blog yesterday. Found some really interesting stuff on viewstate, and controlstate.

I read this book on safari, and it was a good high level primer for new functionality. I enjoyed it, but glad it was on safari.

Gotta finish up Head First Design patterns before teched too.. More then halfway through, so I think I can pull it off.

Been reading too much to post a lot.. Expect a huge flurry of posts from teched, and lots more 2.0 goodness after that.



 Wednesday, May 25, 2005
New SQL Server podcast

Noticed over on The Bit Bucket that SQLDownUnder, a new sql server podcast has started up. mmmm more nerd noise for the drive. Downloading the first one now, and gotta subscribe to the feed when I get home.