Today I was supposed to deploy some changes on company static website made by web designer. The website source is hosted using SubVersion (SVN). I thought it’ll be great if I can export just the changes he did with their folder structure and without asking him to do anything extra, and deploy that.
Here are the steps using TortoiseSVN:
- Right Click The working, choose TortoiseSVN => Show Log
- Since he used multiple revisions, I selected the those revisions, right clicked, and chose “Compare revisions”
- Selected all files, right click, and choose “Export selection to…”
- Simply choose the destination folder from the folder selection dialog that comes up, and here we go.
That was very quick hint, but hopefully helpful to someone. I’m sure there must be other ways to do it also BTW, but this was the quickest to try with an empty head.
Permanent link to this post (147 words, 3 images, estimated 35 secs reading time)
FAQ, Miscellaneous, Office Productivity, SVN, VCS
In VS 2010, extension manager is part of a nice new generation of VS plug-in system. One of the great features of it is how it can go online talk to Microsoft Visual Studio Gallery website to retrieve list of extensions there, automatically discovering updates for installed extensions, and allowing me to add new extensions directly from within Visual Studio.
The Problem:
However, in my company I could not take benefit of that for long time. Reason is, the company uses Blue Coat proxy, with some active directory based authentication. We cannot access the Internet unless we use that proxy, no direct connection allowed, most other proxies are also blocked (by blocking the common proxies port 8080 and many other common ports).
Although I have the proxy set in Internet Explorer, and I have the username/password stored in my Windows Credentials store (Start–> Run–> Control Panel\All Control Panel Items\Credential Manager) -since my primary work laptop and user account on it are not part of the company domain-, Visual Studio did not seem to be able to use that.
Anything that requires online communication not directly using the browser is not working. The main feature missed by this is Extensions Manager integration with the Visual Studio Gallery online.
Read the full post ... (608 words, 4 images, estimated 2:26 mins reading time)
.NET, .NET FAQ, Code Gallery, FAQ, Microsoft, Office Productivity, Visual Studio, Visual Studio 2010, Visual Studio Add-ins
Just a hour ago, I got an interesting question via the contacts page in this blog, about search engine optimization, and I wanted to share the answer with you…
The question is:
I’m a software engineer and SE Optimizer. I’m currently assigned a project that needs general information of the mini sites and blogs regarding their SEO strategy and daily revenue. I read your blog a lot in my .net related problems and thought of finding the details about your blog.
I found out that there are daily ~900 page views of your blog and your page rank is 3.
Mohamed what I wanna know is that whether you have employed any SEO strategy on your blog or this is just the good will traffic that comes to view your blog.
Also what is the daily ads revenue of your blog and what kinda ads you have deployed on your blog.
Although my Google Analytics statistics tell me slightly better results than mentioned in this message,, this is an interesting question I’d love an answer indeed. Scott Hanselman taught us though it’s better to reply to those in public and share the benefit with everyone, let’s see:…
Read the full post ... (1869 words, 1 image, estimated 7:29 mins reading time)
Blogging, Cross Post, FAQ, GuruStop, Miscellaneous, Office Productivity, SEO, Web 2.0

Another internal company email I sent today and found useful enough to share in the wild (after few modifications)…
Hey all,
There is an online conference (streamed over the Internet, you don’t have to go to physical place) tomorrow called MVCConf; in addition to the MVC in the name it’s related to so many .NET and SQL and jQuery related stuff.
You may want to attend as many sessions as you can.
The conference is going to be TOMORROW July 22 from 8 AM to 5 PM CDT (that means UTC – 5 time, considering Abu Dhabi is UTC + 4, the mentioned time is 9 hours late than Abu Dhabi, so, 8 AM CDT = 5 PM for us, 5 PM CDT = 2 AM for us).
Of course you do not have to attend all the sessions. Actually you cannot, because they have 3 parallel tracks. (3 sessions at a time).
The conference is streamed over Microsoft Live Meeting.
Register from:
See you online :)
Let me add here that the conference agenda can be found at:
Read the full post ... (267 words, 1 image, estimated 1:04 mins reading time)
.NET, ALT.NET, ASP.NET, ASP.NET MVC, Local Events, Microsoft News, MVC
In NHibernate there is a Save(entityObject) method, which creates a new row in the database with the given entity object, also, has an Update(entityObject) which updates the row corresponding to the entity object with the property values of this object. It also has a SaveOrUpdate(entityObject) method, which checks the whether the entity object corresponds to an existing row in the database, and chooses whether to call Save(…) or Update(…) based on that.
The way I usually do web applications across multiple tiers, when not using view models specifically, makes me encapsulate much code in Services layer that sometimes does not need to care about whether the given entity is persisted in database or not. Thus wanted to have similar method using Entity Framework as ORM.
Of course I have implemented the method number of times and the code evolved based on which version of Entity Framework I’m coding against, and my knowledge of the framework internals as well. Actually, when you work with so many ORMs like I did, a new ORM or ORM version turns to only sound like “What’s new in the manual?” thing.
Read the full post ... (821 words, estimated 3:17 mins reading time)
.NET, .NET FAQ, ADO.NET, C#, Code Snippets, Entity Framework, NHibernate
This post gets enough said about how the Razor parser works.
http://blog.andrewnurse.net/CommentView,guid,89b7bd90-52d7-4d49-b87d-4e888f285b4c.aspx
The guy, Andrew Nurse, is the one who wrote the parser! (from Haack’s note)
After reading it and a quick chat with @Haacked on twitter, it seems all your “escape” kind of Razor expressions (that is meaning: when mixing code and text without spaces etc…) will look like @(someCode)someText. This is coming from an example, to escape a C# identifier that’s also a keyword, say “class”, you’d be using @(@class). The @(…) style is the new <%: … %> but only required for escape situations.
Also, it seems that switching from being equivalent to <%: … %> to being equivalent to <%= … %> by using some Razor notation is not gonna make it. You need to do it through doing some classes implementing IHtmlString interface.
Of course I’m not so sure that’s exactly the case. Anyway, Razor is only available now in WebMatrix mini-IDE, not much MVC love yet (pretty soon). Just thought it might be interesting…
Permanent link to this post (174 words, estimated 42 secs reading time)
ASP.NET, ASP.NET MVC, MVC, Razor
SitePoint, a well-known publisher of nice easy-but-deep books in web design and web related stuff, has celebrated the end of the world cup (and the fact that Spain has won) by putting an ebook of one of their titles for FREE (“jQuery: Novice to Ninja”, 407 pages) – only for 24 hours (which I don’t know starting what hour, so, go quick!)
Get the book by putting your email here (you receive the PDF link by email):
http://sale.sitepoint.com/
Thanks Scott Hanselman (@SHanselman) for spreading on twitter, hence getting me to know about the book!
Have fun,
Permanent link to this post (101 words, 1 image, estimated 24 secs reading time)
Ebooks, General News, jQuery, Link List, Miscellaneous, Web 2.0, Web Design
This is something I have posted to a private mailing list before, and thought since I have only fixed number of keyboard strokes to death, I should be sharing it with larger audience…
Before Beginning
I know some of the audience of this blog may have not even tried ASP.NET MVC, so, you may need to bare with me for a while ((and those familiar with it just bypass this section please).
In ASP.NET MVC, the request goes to a specific method (commonly known as Controller Action) to handle it (choosing which method/action is based on something called Routing, we don’t care about that for now).
Once the method is executed, typically it ends with calling a page or user control (commonly called a View) to send some markup to the browser. Usually this is an ASPX or ASCX file without code behind. It has some special properties to interact with the data coming from the controller action, and some special shortcut methods to write HTML markup (called HTML helpers).
Read the full post ... (1801 words, 4 images, estimated 7:12 mins reading time)
ASP.NET, ASP.NET MVC, Microsoft News, Miscellaneous, MVC, Razor
I noticed that sometimes when I create more than one Rule in Outlook for forwarding emails to specific folders, it happens to get one message to match the conditions of more than one rule, and I end up getting two or more copies of the same message (Reading one copy does not mark the others as read).
This is easy to fix…
we need to choose the filter with most accurate filter and …
Click “Next” to go second window in the editing wizard (Note: it’ll will still read Section 1, “Section 1 “Step 1: Select action(s)”)
Check “Stop processing ore rules”, and click “Finish”.
Note: Make sure you make the rule go up in the list to have higher priority:

Permanent link to this post (123 words, 4 images, estimated 30 secs reading time)
Office Productivity, Outlook, Outlook 2010