Wednesday, February 28, 2007

March CTP for Orcas (Visual Studio)

Good news: March CTP for Orcas is out.

It's unfortunate that I have not had time to keep up with Orcas as of yet. Just recently I downloaded the last CTP for Orcas, but haven't cracked it open yet. Now I get to download this new version and trash the older one....read more!

Monday, February 26, 2007

Hi-def Vista wallpapers

Just a reminder for myself...

Hi-def Vista wallpapers: http://www.hamaddarwish.com/content/index.html

...read more!

FlipCalc

A couple of friends of mine are working on this really great site. The idea is a calculator that gives you an idea of the investment and return on trying to flip a house. The great thing about this site is that it uses real data on a house (given the address) and the expenses and investments.

I really do think that FlipCalc is a novel idea, and also proves that with the right idea and some invested time, you can get a small business off the ground. Where FlipCalc will go from here, I dont know, but I can really see some great extensions and partnerships taking off from here.

You can find it here: FlipCalc....read more!

Short blogging siesta

I had to take a little siesta on this blog as I re-evaluated my stance on starting this business at this point in my life. I have recently moved and gotten a new full time job, and I didn't know whether I would be able to continue my endeavours with my new business. As such, I decided to move forward with my start-up so that I can have some of my ideas perculate while I find ways to make them grow.

I'll resume writing as I make progress on filing my paperwork with business....read more!

Thursday, January 25, 2007

Heat ray, rail gun and more and more guns!

New heat ray created by the US Army: http://www.msnbc.msn.com/id/16794717/wid/11915829?GT1=8921.

Looks like it was made out of plaid. Also sounds like something Dr Evil was behind. Also, the Navy is working on a rail gun: http://www.thetechlounge.com/news/11038/Navy+Gets+8Megajoule+Rail+Gun+Working+32+and+64+in+the+works/.

In other news, the Air Force is working on a pretty powerful large weapon code named "Death Star."...read more!

Sysinternals Suite

I'm really exited now that I can download most of the tools that I use from Sysinternals in one simple download.

http://download.sysinternals.com/Files/SysinternalsSuite.zip

Close to 70 helpful exe's....read more!

Sunday, January 14, 2007

Running background processes in a medium trust environment

I was recently in a situation where I needed to run some background processes against some data and in-memory data structures that contained information that needed to be processed from time to time.

My application is an ASP.NET application hosted in a 3rd party environment where they have their trust level set to medium. They host the web applications in such a way as to not disrupt other applications due to my programming, so in a way, its a bit of like sandboxing. The host more than likely set these trust permissions in the machine.config file and didn't allow for the applications to override the settings, as most hosts would. Asking them to add a scheduled task would be an option, but highly unlikely due to security constraints.

One option is to create an .aspx page that had the functionality that I needed to get done and ping it every x seconds and have it do my work, but that requires an external source hitting my website, and it feels and smells dirty.

I ran accross Rob Howard's 10 Tips for Writing High-Performance Web Applications article on MSDN and found an entry on using a timer as a background thread. I decided to pursue this idea further by creating an HttpModule that loads up assemblies at runtime into AppDomains and executes a common method (much like a plug in pattern) to do the work. I ran into a really big issue using AppDomains, so I came up with an alternate way of loading the assemblies using reflection.

In the end I came up with a solution that would run in a high/full trusted environment AND a medium trusted environment. The HttpModule will basically "dumb down" to the lowest setting specified and load the assemblies in that fashion. This allows for better isolation in higher trusted environments, but maintain the base functionality of running tasks in the background in the case of medium trust.

The concept is pretty simple: load assemblies from a given directory (or current executing directory), load types specified in the configuraiton file for the given assemblies, make sure they are compliant to the proper plug in interface, and finaly execute methods on them. It's not very difficult to get something like this up and running, so I'll be posting a binary and possibly the source code as soon as I get it cleaned up, documented, tested and a bit more pretty, so it may take me a few days or week or so....read more!