first_page

New Things Learned in the Labor Camp

I am not known for understatement—don’t mistake my weird academic formalism (near word salad at times) as understatement. So, when I say that my last few weeks of employment is as close to a “dream job” (as eating lunch by the hour on the Amgen campus), “sure” one might say—“whatever.”

So let’s see how this “dream job” thing progresses (to something like dream quality-of-urban-life and dream debt-freedom). What I definitely possess are the following technical skills:

Shelving in TFS also prevents work from being overwritten… Amgen Campus, Thousand OaksIn “The IT Workplace: Doing it Basil Style” and “The Politics of Team Foundation Server (TFS),” I clearly reveal that my ignorance of the power of shelving in Team Foundation Server was strong with me. I should have read “What is Shelving in TFS? just a soft checkin so others can see code?”—which was, by the way, written in the winter of 2009. Here’s some news to me:

  • Shelving is a record (proof) that (incomplete) work was done for the day.
  • Shelving allows two (or more) developers to work on the same code files—such that the developers can reconcile their work via merging.
  • Shelving allows one developer to work on two (or more) future “change sets” pseudo simultaneously.### Using WCF to return JSON from a jQuery AJAX call…

So this “dream job” is not perfect: as I’m the dude who would prefer to work with Azure Table Storage and/or RIA Services, being asked to build an AJAX call from jQuery to a WCF service should be quite unpleasant for me. Instead, I now have something to talk about to an interviewer frozen in the .NET 3.5 timeframe asking me questions about WCF. Here are some related research links:

In 2007, Nikhil Kothari writes, “[It’s] an odd feeling when you discover something in your own product, you didn’t quite knew existed! … [There’s] a little known attribute called configSource, that can be specified on a section which allows the definition of the section to live in another actual file.”

My usual self-critical thing would be to note the year 2007 and wonder why it took me so “long” to get the news—but I actually have a note about configSource from 2007. Clearly I’ve forgotten about it and this warning might have encouraged me:

Jon Rista warns, “The downfall of using the configSource attribute is that it requires all configuration settings to be placed in the external file. No inheritance or overriding is possible, which in some cases makes it useless. All external configuration files used with the configSource attribute must also reside in a relative child path to the main .config file. I believe this is in regards to security concerns with storing the file in a relative parent path in a web environment.”

Using SQL Query Profiler to See Stored Procedures with Decent Parameters

SQL Query Profiler is a performance tool—just like Fiddler is a performance tool. But like Fiddler, SQL Query Profiler tracks and displays the communication with a server. Click on a link and Fiddler will show you exactly what resources (images, documents, etc.) travelled “across the wire”; do the same while SQL Query Profiler is monitoring and you will know exactly which database objects are queried/executed.

Looking at a folder full of stored procedures on your first day of work can be very, very intimidating. Using SQL Query Profiler as a stored proc’ snooper can be quite an eye opener, bringing some stress relief.

Using JS Shell to Write Somewhat Involved jQuery DOM Manipulations

It’s too bad that JS Shell (jsshell) was made only for Google Chrome. Having spent three months of many, many 12-hour days with Chrome, I do not consider it a superior developer tool. Nevertheless, it has the only add-on that I find actually running JavaScript directly against the DOM in the same manner “real” JavaScript running from a file would. This interactive shell simulation allows me to seriously write JavaScript in an “Immediate Window” instead of writing to a file, saving that file and reloading the file in the browser.

A certain Telerik AJAX control needed some modification for my “dream job” (which is quite a tedious endeavor) and jsshell went a long way toward making the tedium short.

rasx()