image

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.

http://mvcconf.com

 

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:

http://mvcconf.com/attend

 

See you online :)

Let me add here that the conference agenda can be found at:

, , , , , ,

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.

, , , , , ,

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…

, , ,

image 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,

, , , , , ,
Similar to the last post, it looks like the best way to continue blogging for me is to copy private company/list emails (when appropriate of course). This is a mail I just sent to .NET list in my company, with slight modifications:

Hey all,

Just in case you have not noticed it already, early last night (before I woke up near midnight our time!) Microsoft released public betas of some new and fancy stuff…

1- IIS Express

Remember when I mentioned it before? A nice alternative to Visual Studio built-in dev server.

Supports SSL and other nice stuff, works even on Windows XP but simulates IIS 7.5, no admin privileges required

2- SQL Server Compact Edition

A file-based database engine, just like SQL Server Express, except that when you develop your website with it, you don’t need it to be installed on the server to get running (or anything else installed)

3- New ASP.NET Pages Syntax code-name Razor

This is a new syntax that is going to replace the old <% … %> ASP-Classic-like style we write ASPX/ASCX pages

It’s going to be mainly for ASP.NET MVC, but watch out, I smell like it’s may reach web-forms also

, , , , , , ,

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

imageI 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).

, , , , ,

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…

image

we need to choose the filter with most accurate filter and …

image

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)”)

image

Check “Stop processing ore rules”, and click “Finish”.

 

Note: Make sure you make the rule go up in the list to have higher priority:

image

, ,

101FreeTechBooks

http://www.101ftb.com/T80G10C780

Five days ago I got a great email from 101 Free Tech Books. Seems the drawing I wrote about is real!!

Yes, I won a FREE print book. Filled in my shipping information yesterday and got the post that confirms my order was being processed. Feels so real! I’m even asked to give testimonials after receiving the book, which I will…

Which Book?

image

The book I have chosen is “Professional WCF 4: Windows Communication Foundation with .NET 4”. Sounded like a great title!

There is a trick in here. The option for books is only available from my wish list prior to the random drawing. I didn’t pay enough attention to this earlier, so, had a very small wish list of just “sample” books in it. Some of them I already had as ebooks. This was not very right.

I also tried to choose another book, add to my wish list, and go back to choosing again, but, as mentioned, only the books added prior to wining were there. Makes sense though!

You Can Win Too!

Now, I can recommend those people even more! They emphasize completely on showing how real this is, and I seem to believe them so far.

, , , ,

The SVN News

Today I was hanging around GitHub when realized a relatively old news, dated to April 1, 2010, saying they do support SVN.

Announcing SVN Support

Yes, it’s April Fools day. Very funny date to announce anything serious as they admit themselves in an update to the news post, but it DOES work.

Use the same Git clone HTTP URL, just add “svn.” between “http://” and “github.com”:

http://svn.github.com/[user]/[repository]

It even allows you to write changes back to the repository, as announced in the more recent news post, dated May 4, 2010, check it out for the “cavets” (known issues):

Subversion Write Support

That uses the same URL but with HTTPS:

https://svn.github.com/[user]/[repository]

This should work best when you want to get some project for read-only access or very few commits from your side, when this project has a very long history you are not really interested in. Of course you wouldn’t want to use that if you are leading (or a main committer to) a project hosted at GitHub.

, , , , , , , ,

Just a quick update in case you haven’t been following my recent updates (@Meligy) or @EgyGeeks news on twitter…

This week #EgyGeeks will have a very interesting session, about Continuous Integration in .NET. The session will be given by @AmrEldib who is a really brilliant and clever guy from what I see on twitter and some mailing groups.

Also, the open talk will be about BI, mainly in SQL Server.

The gathering is going to start in less than 3 HOURS. 11:59 PM CAIRO TIME (GMT+2) TODAY.

You can join by clicking the link that will pop up on @EgyGeeks (and @Meligy) by the time of gathering.

Waiting for the fun to come…

, , ,