Saturday, February 20, 2010
If you want to decouple your code from SVN, there are a number of ways to do it, as documented here - http://vidmar.net/weblog/archive/2007/12/11/subversion-and-tortoisesvn-tips-and-tricks.aspx

But I think the easiest is Jon Galloway's solution.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""



The original post is here - http://weblogs.asp.net/jgalloway/archive/2007/02/24/shell-command-remove-svn-folders.aspx

Saturday, February 20, 2010 12:39:09 AM (GMT Standard Time, UTC+00:00) | Comments [0] | Build Process#
Thursday, February 11, 2010
Interesting real-world example of what goes on under the hood of SQL Server the other day.

We have a routine that locks rows (using REPEATABLE READ) in a transaction that can take some time to run (we simulated 5 minutes).

The same tables are accessed from a couple of websites, however as long as they weren't accessing THOSE rows they would be fine to proceed as normal.  I know we're mixing and matching our locking models here, but I can't see how it would work (nor do I have the time to investigate any further!) if we were to use an optimistic locking strategy for our update routine.  (As an aside, perhaps breaking it into chunks an committing rather than a 5-minute long transaction would help I'm sure)

Anyway, we tested in isolation and all was well, however as soon as we try it with the actual system then it fails-  the system stops responding.

Looking at the query plan, we saw the problem straight away - one of the queries being run by the website was actually doing a table scan.

But why?  These tables were all indexed where the join was happening.

Turns out that SQL Server is clever enough to know when a Table Scan is more efficient than a random access via an index.

Because our test data only had a handful of rows, this meant that a Table Scan happened every time.  Running the same query on a database with 100000s of records and the table scan disappears, replaced with an Index seek.

Thursday, February 11, 2010 11:58:48 AM (GMT Standard Time, UTC+00:00) | Comments [0] | Database#
Thursday, February 04, 2010
http://stackoverflow.com/questions/324771/consuming-remote-web-services-from-client-side-script

"From what I understand, due to the "same origin policy" enforcement in current browsers, it's impossible to obtain data from an XmlHttpRequest sent to a different domain than the Javascript's original domain.

I have close to zero experience regarding this matter, so I'm confused about web services being unusable from Javascript. Does it mean that web applications with Ajax functionality can only interact with themselves without calling services provided by other domains ? How do "mash-ups" work ? I guess the services are consumed server-side, then the data is passed to the client via local Ajax calls. I don't know.

The only way I can imagine to achieve client-side consuming of services would be to retrieve a Javascript file directly from the target web service's domain via a script tag, then use its API to interact with the remote domain.

Can anyone enlighten me ?"

In your question your mentioned the <script> trick. JSONP is based on that. It was formally proposed almost 3 years ago by Bob Ippolito. It doesn't give you the right to talk to the origin of the script — the origin is defined by your web page, not by what else it includes. It works only because the server wraps JSON in a calback function, which should be defined in your code, and will be executed by <script> when loaded. Most famous example of JSONP would be Yahoo services, including Flickr.

Another technique is to use window.name to transfer the information. This technique was detailed by Kris Zyp four month ago. Additionally his article compares window.name transport with JSONP. I don't know any high-profile service provider that supports this new transport. Obviously it will change over time.

Of course, I should mention the upcoming Microsoft XDomainRequest. It is being planned to be shipped with IE8, and no other vendors committed to support it, but it was presented for the inclusion in HTML 5. XDR is a useful piece of functionality, but I suspect it'll be changed several times before being accepted.

If you looked in the links you probably know by now that all these methods require a certain level of cooperation from a 3rd-party server. You cannot use random services at will. If you do have to use an uncooperative service, the only solution is to proxy it through your own server with all associated problems: the questionable legality, the reduced performance, the increased load on your server, the reduced number of connections between user's browser and your server, and so on.


Thursday, February 04, 2010 11:58:30 AM (GMT Standard Time, UTC+00:00) | Comments [0] | Javascript | Web Design#
Search
Archive
Links
Categories
Admin Login
Sign In
Blogroll