Sunday, August 30, 2009

Windows 7: Best OS upgrade experience ever!

Windows-7-Upgrade-Chart-Unveiled-2

Despite the known chart, upgrading my notebook to Windows 7 was a great and easy experience. As some of you already know my notebook came with Microsoft Vista installed which I uninstalled after some time of work with it. (here’s my post about that)

Having Windows 7 installed at work I decided to go ahead and install it on my notebook.

Two things surprised me, first of all, the installer gave me the option to upgrade (which is not supported according to the chart). I didn’t take that option since I wanted to have a clean install but it was there, I don’t know what’d happened if I’d clicked it. And the second surprising thing was how fast it was… really, I didn’t time it cause it is one of those things you expect to take hours… and it probably did, but it seemed fast and almost “enjoyable”.

And one more cool thing. While I was installing it told me I had a previous Windows installed and since I didn’t choose to upgrade everything was going to be named Windows.old, I wouldn’t be able to run that windows installation but all the files would be there, and to my surprise that folder not only contained the previous Windows folder but also the program files and user settings. I found that really helpful cause you don’t always remember what programs to install after a clean up, so I now I have the old folder there.

I just read that the Windows.old folder was available on Vista :S
I guess that what you get when your product gives a first really bad impression (Vista).

Read Full Post

Saturday, August 15, 2009

Bing vs. Google

phpThumb_generated_thumbnailjpg It’s been quite a while since my latest post, and I encountered myself many times thinking I should blog about this and then for some reason I didn’t do it. So now I decided to stop for a minute (actually I’m waiting for the build) and write about this search engine ‘war’ we’re in the middle of.

At the red corner we have Google which does not need any further presentation, and on the blue corner we have Bing. Some time ago Microsoft came out with bing I decided to give it a try, but really give it a try setting it as my default search engine in my browsers. I decided to try it cause I found the design of the site pretty cool. There are tons of feature that I don’t get to use cause I’m not in the US, so I can’t search for the closest pizza place to where I am right now… but there a few other features that got my attention, for instance, no need to go thru pages when searching for images, just scroll down. Also, when searching for videos, you get a tiny screenshot of the video which you can play from the bing site itself.

All that it’s pretty neat, but, does it find what I’m looking for? mm mmm… well, not in the order I expected them. For instance, I use the search engines a lot to find solutions to error messages I get while programming. I also use them to find the members of a class I need to use… so, if I search for a class, I expect the msdn site to be at top and in bing that does not always happen, while it does with Google.

I guess Google’s page rank it is still a little better… and while bing is still a beta, I expect those results to come out right…

One point to microsoft though, I’m searching for stuff that belong to them and their own sites don’t show up on top, which means their algorithm is not as good as it should yet but they are not doing anything (they could) to show their sites on top…

Read Full Post

Tuesday, April 21, 2009

Log4net, WCF, and ASP.net trace

Forget what I said in my last post. Well… not all of them. What I posted before works! and that’s the way to do it if you want to enable asp.net trace in your WCF services.

So what’s wrong with that? The problem is that if one of your services uses something from the session, asp.net starts using a lock mechanism so two process don’t step over each other. In other words, you won’t be able to have two services running at the same time… if you make two calls ‘at the same time’, the first one to reach the server goes in and the second one waits for the first one to finish. And that’s not acceptable in my case.

So there… you can still use log4net with the RollingFile appender though.

Read Full Post

Thursday, March 19, 2009

log4net with WCF Services

This week I ‘ve been working on adding tracing to a WCF IIS hosted application. It all started pretty easy since log4.net already has an appender for asp.net.

So, I created a little wrapper around the log4net library and called the Debug function. My project had both aspx pages and svc services. These services were implemented in a separate dll (not in the web project). Oh! I forgot to mention that I wanted to use the AspNetRaceAppender so I could watch the trace in the trace.axd ‘page’.

But it was not working… I had a few debug entries and nothing appeared on the trace page. The ‘wired’ part was that if I’d copied and pasted the same debugging line in the aspx code behind’s it’d worked! So what’s up with that?

I started googling around I found close to nothing about log4net and WCF services. And that’s why I decided to post the solution here. Trying around many different scenarios I found the solution. You have to enable your wcf services to get the HttpCopntext from the web application. And in order to do that, you need to add the following line in your web app’s web.config file.

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />


Add that line inside the system.serviceModel part. Also, you have to add the following attribute to your services’s classes.



[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]


Hope this helps somebody!



P.S: All the code I write is “works on my machine” certified ;)



works-on-my-machine-starburst_3

Read Full Post

Thursday, March 12, 2009

Forget what I said about SQL Data Services :(

Remember my two posts about Microsoft Sql Data Services (Starting Up With SDS and Writing Data To The Cloud)?, well, they are both wrong now. Not wrong but old.

This week I read on the SDS blog that they will introduce relational data base features (which I think it’s great) but also that they are removing the good old ACE model.

Read the original post here

Edit: I just read a new post from the SDS team were they answered a few questions from developers.

This is what I asked them and what they answered:

You say, you will no longer support the ACE model since Windows Azure has the same data model. If I’m going to put my application in Windows Azure (as I did) my best option for data is SDS, right? As I understood, Microsoft’s approach for cloud computing was Windows Azure as the platform for developers and SDS to store the data. And now you say I can use Windows Azure storage… what’s the difference? What’s the path to follow?

The best storage option for an Azure Services Platform application depends on your application. At a very high level, if you require the features of a relational database, use SDS. If you require basic blob or “schemaless” storage, then Windows Azure Storage is for you. Both will be key capabilities available to developers in the overall Azure Services platform.

Read the whole Q&A session here.

Read Full Post