<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.nayyeri.net/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"><channel><title>Keyvan Nayyeri</title><link>http://nayyeri.net/</link><description>Simplified</description><generator>Graffiti CMS 1.1 (build 1.1.0.1106)</generator><lastBuildDate>Fri, 04 Jul 2008 14:42:20 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.nayyeri.net/Keyvan" type="application/rss+xml" /><item><title>Self-Evangelism</title><link>http://nayyeri.net/blog/self-evangelism/</link><pubDate>Fri, 04 Jul 2008 16:42:20 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/self-evangelism/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>0</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;img title="Photo taken from http://www.screenmatter.com/images/img-internet-marketing.jpg" style="border-right: 0px; border-top: 0px; margin: 5px 0px 5px 5px; border-left: 0px; border-bottom: 0px" height="219" alt="Photo taken from http://www.screenmatter.com/images/img-internet-marketing.jpg" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/SelfEvangelism_C7A6/img-internet-marketing_3.jpg" width="240" align="right" border="0" /&gt; At first glance the title of this post may be a little confusing for you but no worries since I’m going to talk about this term and describe it here!&lt;/p&gt;  &lt;p&gt;In the past two years and since a short while before starting my military service to now I’ve been trying to keep my skills up and train with them to avoid the disaster that has happened to many other young men in the country after the service. Beside studying and writing, I also defined some small and big projects for myself, started them, developed them and also released them. Luckily these projects could be done very well mostly on time or with short delays and with a good quality. I’m also proud to say that they got successful overall and gave me some energy to keep them (and other projects) up!&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;These projects are so important for me because let me manage a whole process with different facets from the beginning to the end myself as an individual. This kind of skill is not something easily achieved and I could get much from these projects indeed! But this isn’t something related to this post!&lt;/p&gt;  &lt;p&gt;One common element of these projects is a part that is not much related to the software world and that is marketing and promotion! When you do a project, even with the best quality, without a good marketing, advertising and promotion stage it can’t get its deserved success. I don’t think you have any doubt for this!&lt;/p&gt;  &lt;p&gt;But as an individual who was almost alone in the projects I didn’t have much opportunity to promote my projects in a professional way. Thus I had to think about a good way to promote my projects in a satisfying level.&lt;/p&gt;  &lt;p&gt;Thinking about this, I finally ended up with a simple way that could be very effective in my opinion. I decided to apply a self-evangelism method based on my own capabilities. I tried to use what I had and what I could achieve before. Somehow this was very similar to a self-learning algorithm that uses the existing data to improve its future quality.&lt;/p&gt;  &lt;p&gt;What I did was a simple promotion method using my previous rank on the community and all the means that I had in hand to use such as my connections on the community and in the business world!&lt;/p&gt;  &lt;p&gt;For someone who didn’t have any experience with this method this wasn’t easy especially because I couldn’t find same experiences from others to learn from their mistakes and methods. This was a little hazardous since I had to spend from myself for my projects at a high level of risk. So any failure was almost equal to missing something! I didn’t care about this point very much because I don’t start any project until I can be certainly sure that it can be success. Hypothetically there is always a good logic to study and find the failure possibility for any project but like many things it requires you to spend some time and study about it!&lt;/p&gt;  &lt;p&gt;Fortunately I haven’t experienced any failure with this kind of marketing and promotion that I call it Self-Evangelism! The term self-evangelism is already used for a different purpose in the business world but I want to redefine it in this way! Who knows, this may become more known after some more works! Many of the current strategies are such experienced methods that could become success!&lt;/p&gt;  &lt;p&gt;Happily I’m now able to say that I’m a guy who can do much in this field as well and this is a plus point for my future (if there is &lt;a href="http://nayyeri.net/blog/return/"&gt;any future&lt;/a&gt;!).&lt;/p&gt;  &lt;p&gt;But how can I classify this self-evangelism for others?&lt;/p&gt;  &lt;h3&gt;Definition&lt;/h3&gt;  &lt;p&gt;Self-evangelism is an experimental promotion model for a project that I experienced in some projects and felt that it can be classified and developed to become a good model for projects with the same scale.&lt;/p&gt;  &lt;p&gt;In self-evangelism an individual or a small group of people try to promote a project without much budget in a professional level.&lt;/p&gt;  &lt;h3&gt;Requirements&lt;/h3&gt;  &lt;p&gt;I found the self-evangelism is not possible in many cases. There are some requirements to this that should be considered carefully.&lt;/p&gt;  &lt;p&gt;The first requirement is having a certain level of confidence about the project and its success to accept all the risks because the downsides may duplicate the side-effects of any possible failure.&lt;/p&gt;  &lt;p&gt;The second requirement is having a good position on the community that you are going to target (this is not necessarily a software community). This is comparatively and based on the level of your project and its target community this requirement may vary. But the important point is that you and your group should have a very good position in order to use it for promotion.&lt;/p&gt;  &lt;p&gt;Having enough connections on the target community and in the business is the third requirement. These let you move on with the help of others whenever you got stuck with something hard! These also let you bring more resources to your projects.&lt;/p&gt;  &lt;p&gt;And the last requirement is that you need to have a proven level of success in the same field to persuade others about the success of your project. This is mandatory. When you have done very well in the past, others can trust on the future of your projects and this can help you a lot!&lt;/p&gt;  &lt;h3&gt;Pros&lt;/h3&gt;  &lt;p&gt;The pros of this method are the chance to promote a project without spending a lot of money as well as the chance to gain more opportunity for the future projects if you can get success in the current one. Somehow your success can support your future projects as well!&lt;/p&gt;  &lt;h3&gt;Cons&lt;/h3&gt;  &lt;p&gt;The cons of this method are the difficulties to achieve requirements and the high risk of the method as well as the side-effects on the future. That positive point can also be a negative point.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=jQu3kj"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=jQu3kj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=OZSyfj"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=OZSyfj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=LyHnSJ"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=LyHnSJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>Abidar – ASP.NET Task Scheduling Framework</title><link>http://nayyeri.net/blog/abidar-ndash-asp.net-task-scheduling-framework/</link><pubDate>Mon, 30 Jun 2008 16:54:04 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/abidar-ndash-asp.net-task-scheduling-framework/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>3</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Recently I published a couple of blog posts about building a simple ASP.NET task scheduling system in a practical way and with a basic example (&lt;a href="http://nayyeri.net/blog/how-to-build-a-task-scheduler-system-for-the-asp-net-ndash-part-1/"&gt;Part 1&lt;/a&gt; and &lt;a href="http://nayyeri.net/blog/how-to-build-a-task-scheduler-system-for-the-asp.net-ndash-part-2/"&gt;Part 2&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Per comments and feedback from some visitors, especially a dear and respectful friend like &lt;a href="http://dbvt.com/blog/" rel="friend"&gt;Dave Burke&lt;/a&gt;, I also promised to publish my general framework for task scheduling as a part of an open source project. Today I found some free time to start this and created a CodePlex repository for the project.&lt;/p&gt;  &lt;p&gt;Finding an appropriate name for the project was not easy and I usually end up with special names such as names of places and areas when I get stuck in these situations! So I ended up with another special name for this project like &lt;a href="http://www.codeplex.com/abidar"&gt;Abidar&lt;/a&gt;.&lt;/p&gt;   &lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Abidar"&gt;Abidar&lt;/a&gt; is the name of a beautiful mountain in great Kurdistan near Sanandaj and a great place to visit! Abidar has one of the best natures that I could ever seen in the country!&lt;/p&gt;  &lt;p&gt;However, Abidar is started on CodePlex and I’m going to add the initial code as soon as I can find some free time to do that. Abidar is licensed under &lt;a href="http://www.codeplex.com/abidar/license"&gt;The MIT License&lt;/a&gt; to let everyone use it easily and without restrictions in the other projects.&lt;/p&gt;  &lt;p&gt;My plan is to release separate versions for ASP.NET 2.0 and 3.5 to have the best compatibility for everyone.&lt;/p&gt;  &lt;p&gt;Stay tuned! We’ll upload the first code package very soon!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=Lnhl0i"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=Lnhl0i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=v07vxi"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=v07vxi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=fK2yEI"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=fK2yEI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>Nayyeri.NET Turns Three</title><link>http://nayyeri.net/blog/nayyeri.net-turns-three/</link><pubDate>Sat, 28 Jun 2008 12:18:58 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/nayyeri.net-turns-three/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>5</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;Today, 28th June 2008, is the third birthday anniversary of my site and blog, Nayyeri.NET! It’s hard to believe that three years are passed since &lt;a href="http://nayyeri.net/blog/In-the-name-of-him/"&gt;the day&lt;/a&gt; that I first installed an early Beta version of the Community Server 1.1 on this site and got in many of troubles. I can remember that I went to my hoster’s office and we cooperated to tackle many issues down!&lt;/p&gt;  &lt;p&gt;From that day to know I’ve been actively blogging on this site with no stop point and without going lower than 20 posts per months ratio! Those who have been writing a technical blog with same material can understand that it’s not easy to achieve this in a long time!&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I don’t think there are many blogs on the community with the same age with the same activity level so this is a good point to give me more energy to keep this progress up!&lt;/p&gt;  &lt;p&gt;There are three main points about the last year of my blogging on this site. The first point is that I’ve passed whole this year when I was serving in the armies as a part of my mandatory military service! This means that I had many difficulties to manage my time and energy to spend them on my own life. Fortunately I made it and I could keep this blog up and even make it much more better and popular.&lt;/p&gt;  &lt;p&gt;The second point about this blog was the fact that I so my blog became much more known on the .NET community (because of my open source activities, articles and my book) and due to the age of this blog, its content and more than all of these, the favor of others to me, this blog has become a very well-known blog on the .NET community. I’m proud to see that it’s been a good reference for many .NET developers around the world and now I can consider my blog along famous .NET blogs that have a good respect from the community members!&lt;/p&gt;  &lt;p&gt;And the third point is my big switch in the software of the blog from the Community Server to the Graffiti CMS. I used various versions of Community Server for over two years but finally switched to another Telligent product that was more appropriate for the purpose of a single user blog.&lt;/p&gt;  &lt;p&gt;It’s my tradition to review a year for my blog on its birthday anniversary. I go back and list all the posts related to updates on the site in a single post. At least it’s interesting for myself to go back and take a look at all of the posts that I have written in a year to grab some specific titles.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://nayyeri.net/blog/finally-switched-to-feedburner/"&gt;Switched to FeedBurner for a few days&lt;/a&gt; (July 5, 2007): After a few days I returned back to my own feed. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/community-server-2007-1/"&gt;Upgraded to Community Server 2007.1&lt;/a&gt; (September 18, 2007): This was the last build of the great Community Server platform that I used on this site. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/now-leaving-community-server-and-migrating-to-graffiti/"&gt;Switched to Graffiti 1.0 Beta 1&lt;/a&gt; (December 7, 2007): After a long time I switched to a new software for this site/blog. I passed my own migration route with my own migration tool. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/underground-theme-for-graffiti/"&gt;Updated blog theme to Underground&lt;/a&gt; (December 10, 2007): I’m still using this open, simple and beautiful theme. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/mobile-theme-for-graffiti/"&gt;Added a mobile theme for Windows Mobile visitors&lt;/a&gt; (December 30, 2007) Visitors coming from Internet Explorer for Windows Mobile should see a different optimized them for their devices. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/graffiti-beta-2-released/"&gt;Upgraded to Graffiti 1.0 Beta 2&lt;/a&gt; (January 23, 2008) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/my-domain-is-now-free/"&gt;Moved my domain to a new registrar&lt;/a&gt; (January 31, 2008): I think this was a clever change regardless of its long down time for the blog. For some political reasons I felt dangerous for the future of my domain and moved it to a 1&amp;amp;1. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/graffiti-1-0-released/"&gt;Upgraded to Graffiti 1.0&lt;/a&gt; (February 22, 2008) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/keyvan-and-his-feed-last-episode/"&gt;Finally switched to FeedBurner&lt;/a&gt; (March 2, 2008): After 3-4 temporary attempts to switch to FeedBurner in the past, I finally moved my blog feed to FeedBurner. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/graffiti-1-0-service-pack-1/"&gt;Upgraded to Graffiti 1.0 Service Pack 1&lt;/a&gt; (March 11, 2008) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://nayyeri.net/blog/graffiti-1.1-released/"&gt;Upgraded to Graffiti 1.1&lt;/a&gt; (June 20, 2008) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Finishing the third year, I passed an important stage in the lifecycle of this site. Now it’s much more known to the community and visitors and receives much more traffic and praise from the community.&lt;/p&gt;  &lt;p&gt;For the next year I will hopefully finish my military service in four months and can have more time to provide more and better content.&lt;/p&gt;  &lt;p&gt;To be honest, recently my passion for blogging was challenged seriously and it was close for me to stop it but I think that the situation is now passed away!&lt;/p&gt;  &lt;p&gt;In a short while you will see a new appearance of me on the web by launching my new project, &lt;a href="http://waegis.com/"&gt;Waegis&lt;/a&gt;. I have some plans to order a dedicated design for the Nayyeri.NET and change its look and feel and maybe apply more major changes to it. First I need to get my heads off of the Waegis project.&lt;/p&gt;  &lt;p&gt;My other plan that has been around for almost a year is starting my own webcast channel. As it requires more spare time from me, I haven’t been able to make it happen yet and don’t think that it is possible before the end of the military service but after that I may start webcasting as well!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=c1aUzi"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=c1aUzi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=5cTQSi"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=5cTQSi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=sQJMRI"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=sQJMRI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>Bill Gates - Looking Back, Moving Ahead!</title><link>http://nayyeri.net/blog/bill-gates-looking-back-moving-ahead/</link><pubDate>Fri, 27 Jun 2008 16:17:59 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/bill-gates-looking-back-moving-ahead/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>2</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://www.microsoft.com/presspass/exec/billg/default.aspx"&gt;&lt;img title="Photo taken from http://www.syti.net/Images/Davos2004/BillGates_Davos2004.jpg" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 5px; border-right-width: 0px" height="170" alt="Photo taken from http://www.syti.net/Images/Davos2004/BillGates_Davos2004.jpg" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/FromBilltotheBill_106F4/BillGates_Davos2004_3.jpg" width="244" align="right" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Well, it’s not easy to not write about Bill Gates’ transition today!&lt;/p&gt;  &lt;p&gt;If you’re one of those a few guys who don’t know, today Bill Gates transits its main role at Microsoft to a Chairman role in order to spend more time on Bill and Melinda Gates foundation! This somehow means that Bill Gates is leaving its active role at Microsoft, the role that we all knew him for it!&lt;/p&gt;  &lt;p&gt;So in a few hours, we’re going to say goodbye to the most famous man on the software world, or even in the whole computer world!&lt;/p&gt;   &lt;p&gt;For those like me who have grown up in Bill’s age, this is a tragic day! I started computer with an MS-DOS operating system when was just a kid!&lt;/p&gt;  &lt;p&gt;In the past years of my existence I’ve been working around software especially around various products that were coming out from Bill’s company, the Microsoft! As long as I moved upper and upper in this way and reached to better positions, I found some negative opinions about some elements of the Microsoft strategies and you might have read a part of this opinions on this blog. But all in all, none of these negative opinions can stop me from saying that Bill Gates is a great guy who has added much to the world in his life! Of course, he has much respect from everyone regardless of the technical and business perspectives.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://nayyeri.net/files/media/image/WindowsLiveWriter/FromBilltotheBill_106F4/1_2.jpg"&gt;&lt;img title="The original Microsoft company - Photo taken from http://news.bbc.co.uk/2/hi/7474107.stm" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 5px 5px 0px; border-right-width: 0px" height="164" alt="The original Microsoft company - Photo taken from http://news.bbc.co.uk/2/hi/7474107.stm" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/FromBilltotheBill_106F4/1_thumb.jpg" width="244" align="left" border="0" /&gt;&lt;/a&gt;There is no doubt that Bill took the software from a baby that was known to a limited group of people to help make it something more general, the world’s leading science that is growing fast and has become a main science that is feeding all other sciences. Even though Linux and Mac are great competitors for Windows but no one can disagree that there is no choice but Windows when it comes to applications. Whether you are an engineer or a professor, a student or a soccer coach, a musician or a writer, you should end up with an application that only works in Microsoft Windows. Of course, this Windows thing can be challenged seriously from a technical point of view but we’re still too far from that point!&lt;/p&gt;  &lt;p&gt;Microsoft is not limited to Windows and has proven to be a big company targeting the High Tech with many employees around the globe! I don’t want to advertise Microsoft but want to say that Bill Gates’ role in this success is not ignorable! This success is a big success that has targeted the life of all the humans in the past two decades!&lt;/p&gt;  &lt;p&gt;Bill is the most well-known person on the software world. I have faced with many people who just knew him as a legend. They were some guys who even didn’t know some guys like Steve Jobs so you can guess the difference here!&lt;/p&gt;  &lt;p&gt;By the way, Bill is transitioning from his main role at Microsoft to a Chairman to work on more important goals in his foundation. His new goals are much more important and respectful for me. Many of you may not know some facts about the disaster that is going on in our world but I have seen it many times with my own eyes! What he is going to do is what our world needs right now! I really hope that he can be success in his new route and I’m almost sure that he can!&lt;/p&gt;  &lt;p&gt;One of my hopes from the childhood days was meeting this guy in person. In the recent years it turned to be a hope to sit and watch one of his keynotes but none of these hopes could be achieved when he had an active role! In the past 2-3 years I became much much closer to his company and am know playing an effective role around the Microsoft. I also received some offers inside the company but due to my nationality and legal problems I was unable to leave the country and apply for them.&lt;/p&gt;  &lt;p&gt;As of some side-notes, Bill’s page on &lt;a href="http://www.microsoft.com/presspass/exec/billg/default.aspx"&gt;Microsoft PressPass&lt;/a&gt; has been updated with his new role and he’s now just a Chairman! There you can find one of the latest quotes from him in this page:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;We've really achieved the ideal of what I wanted Microsoft to become.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In this page you can also find a video named “Looking Back, Moving Ahead!” that is an overview of Bill’s life and interviews with his family members, friends and co-workers. It’s an interesting video to watch today!&lt;/p&gt;  &lt;p&gt;Recently Channel 9 had &lt;a href="http://channel9.msdn.com/posts/Charles/Bill-Gates-Transitioning-into-the-Future/"&gt;an interview&lt;/a&gt; with Bill about his transition and he has described this transition in more business details.&lt;/p&gt;  &lt;p&gt;As BBC &lt;a href="http://news.bbc.co.uk/2/hi/7474107.stm"&gt;points out&lt;/a&gt;, the original Microsoft family have joined together to retake that famous old photo after many years, after that their small company became this giant in the world!&lt;/p&gt;  &lt;p&gt;Time goes faster than ever! I feel old now!!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=oRp2Li"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=oRp2Li" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=NHQ05i"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=NHQ05i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=FcQB1I"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=FcQB1I" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>Waegis Will Be Live in July</title><link>http://nayyeri.net/blog/waegis-will-be-live-in-july/</link><pubDate>Fri, 27 Jun 2008 01:59:32 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/waegis-will-be-live-in-july/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>1</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://waegis.com/"&gt;&lt;img title="Waegis Spam Filter" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 5px; border-right-width: 0px" height="45" alt="Waegis Spam Filter" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/WaegiswillBeLiveon30thJune_F38F/white-bg-eff_3.png" width="197" align="right" border="0" /&gt;&lt;/a&gt; The last time that I gave &lt;a href="http://nayyeri.net/blog/waegis-alpha-3/"&gt;a status&lt;/a&gt; of the &lt;a href="http://waegis.com/"&gt;Waegis&lt;/a&gt; I promised to announce the final launch date of Waegis very soon and today I finally found an idea of the timeline that I can rely on it.&lt;/p&gt;  &lt;p&gt;Last Thursday the Alpha testing stage of Waegis ended and the VPS account that was hosting the Waegis Alpha expired. I’m in the process of merging my pre-launch data (gathered from Alpha testing and incoming databases) and also finalizing a few things in order to launch the site.&lt;/p&gt;  &lt;p&gt;Initially I had fixed 30th June as the launch date for the site and hoped that I can make it possible but unfortunately some unexpected parameters delayed the launch for 10-15 days.&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The final theme of the site is almost ready and &lt;a href="http://www.toofani.net/" rel="friend colleague"&gt;Shaho&lt;/a&gt; sent me the main part of the theme for many pages and the rest would be ready shortly.&lt;/p&gt;  &lt;p&gt;I’m done with the code and don’t have anything more to do at the moment. Actually the software was ready last week but the launch has not been possible yet because of some other reasons. This project was one of the few software projects that I’ve experienced and their software could be ready on time and side-parameters stopped it to be released on time!&lt;/p&gt;  &lt;p&gt;The other big concern about the launch of the site is its hosting. From 2-3 months ago I did a serious research on this topic and consulted with some friends. Here &lt;a href="http://shipsoftwareontime.com/" rel="friend"&gt;Hamid Shojaee&lt;/a&gt; was a big help with his notes and the time that he spent to convince me about some wrong opinions. Hamid’s company, &lt;a href="http://axosoft.com/"&gt;Axosoft&lt;/a&gt;, is also the sponsor of the Waegis and he’s helping me so I have to thank him for his endless favors to me.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://maximumasp.com/"&gt;&lt;img title="MaximumASP" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 5px 5px 0px; border-right-width: 0px" height="83" alt="MaximumASP" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/WaegiswillBeLiveon30thJune_F38F/maximumasp_black_type_3.png" width="240" align="left" border="0" /&gt;&lt;/a&gt; After all these researches, I finally chose one of the biggest and very well-known Windows hosters that you all know and it is &lt;a href="http://maximumasp.com/"&gt;MaximumASP&lt;/a&gt;. I’ve talked to their sales agent and almost have fixed the solution and hopefully &lt;a href="http://everydayasp.net/" rel="friend met colleague"&gt;Mehrdad&lt;/a&gt; helps me to get started with this solution in the next upcoming days. Unless some last minute changes appear in the work, this is chosen as the hosting solution for the Waegis.&lt;/p&gt;  &lt;p&gt;But the reason for the delay of the launch is this hosting! According to my initial conversations with the agent at MaximumASP, I thought we would be able to proceed with the setup in less than 3-4 business days but today I believed that it may take up to 10 business days to proceed with it!&lt;/p&gt;  &lt;p&gt;Of course, the quality of MaximumASP services and the power of the platforms should guarantee everything both for me and for all the clients and this delay would worth it.&lt;/p&gt;  &lt;p&gt;As of the delay in the launch, I’d prefer to accept this delay and postpone the launch date even though I have a very busy schedule and this disturbs it. I have two other big projects that were planned to start after this launch and this can postpone them as well. Time is the most critical thing in all aspects of my life but I also don’t want to hurry up and miss anything.&lt;/p&gt;  &lt;p&gt;This two weeks delay puts a gap between Alpha testing and final Beta but has let me to gather some good databases and feed the system with more data. This can be a very important parameter in the success of a spam filter software! I also have been able to do some works that I had planned for the final stage and this lets me to reduce the Beta period. On the other hand, I decided to start my new projects in parallel with launching the site to not loose the time.&lt;/p&gt;  &lt;p&gt;Nothing else to mention! I’ll write about the final launch date sometime in the next week.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=Qcl09i"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=Qcl09i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=B3l9ii"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=B3l9ii" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=42ZL1I"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=42ZL1I" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>How to Build a Task Scheduler System for the ASP.NET – Part 2</title><link>http://nayyeri.net/blog/how-to-build-a-task-scheduler-system-for-the-asp.net-ndash-part-2/</link><pubDate>Wed, 25 Jun 2008 18:20:21 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/how-to-build-a-task-scheduler-system-for-the-asp.net-ndash-part-2/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>8</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;In the &lt;a href="http://nayyeri.net/blog/how-to-build-a-task-scheduler-system-for-the-asp-net-ndash-part-1/"&gt;first part&lt;/a&gt; of this short post series about building a task scheduler system for the ASP.NET I covered some principles as well as the structure of a &lt;em&gt;Task&lt;/em&gt; class that represents a particular task.&lt;/p&gt;  &lt;p&gt;The other element of the process is of course building a mechanism to schedule this task and start or stop it. This is the topic of the current post. Don’t forget to read the footer notes of this post that have some good news related to this topic.&lt;/p&gt;  &lt;p&gt;Before following the post, just let me point that the value of a scheduling system that just depends on the ASP.NET application and works for all the environments and security settings is something obvious. As I pointed in the first post, there are lots of other methods that usually require access to the server resources and depend on other tools but an integrated solution is %100 integrated and simple to use and extend.&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The second step in the process is creating a class, say &lt;em&gt;TaskScheduler&lt;/em&gt;, that schedules the &lt;em&gt;Task&lt;/em&gt; class.&lt;/p&gt;  &lt;p&gt;Below code is the simple implementation of this class. It doesn’t have anything except an initialization method that initializes the &lt;em&gt;Task&lt;/em&gt; class with the appropriate timer interval and a file path and provides two public methods to start the task or stop it!&lt;/p&gt;  &lt;div style="font-size: 10pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Data;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Configuration;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Linq;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.Security;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.UI;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.UI.HtmlControls;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.UI.WebControls;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.UI.WebControls.WebParts;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Xml.Linq;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;namespace&lt;/span&gt; TaskSchedulerSample&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TaskScheduler&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Fields&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Task&lt;/span&gt; task = &lt;span style="color: blue"&gt;null&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Public Constructors&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; TaskScheduler()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Initialize();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Public Methods&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; StartTask()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;this&lt;/span&gt;.task.Start();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; StopTask()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;this&lt;/span&gt;.task.Stop();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Public Constructors&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Initialize()&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;this&lt;/span&gt;.task = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Task&lt;/span&gt;(5000);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;this&lt;/span&gt;.task.FilePath = &lt;span style="color: #a31515"&gt;@&amp;quot;C:\TaskSchedulerSample\file.txt&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;As you see, the implementation is pretty simple and straightforward but in real world scenarios you need to extend this in order to start and stop a list of tasks based on dynamic configuration. The core idea and mechanism is constant, though!&lt;/p&gt;  &lt;p&gt;But the last step to make this work for your ASP.NET application is creating an instance of the &lt;em&gt;TaskSheduler&lt;/em&gt; class and call its &lt;em&gt;StartTask&lt;/em&gt; and &lt;em&gt;StopTask&lt;/em&gt; methods appropriately. Based on your requirements you may choose from different options but the most common way is using the &lt;em&gt;Applicaiton_Start&lt;/em&gt; and &lt;em&gt;Application_End&lt;/em&gt; events of the &lt;em&gt;Global&lt;/em&gt; application class. You can create an instance of the &lt;em&gt;TaskScheduler&lt;/em&gt; class in &lt;em&gt;Application_Start&lt;/em&gt; event and call the &lt;em&gt;StartTask&lt;/em&gt; and also call the &lt;em&gt;StopTask&lt;/em&gt; method in &lt;em&gt;Application_End&lt;/em&gt; event.&lt;/p&gt;  &lt;div style="font-size: 10pt; background: white; color: black; font-family: courier new"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Collections;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Configuration;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Data;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Linq;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.Security;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Web.SessionState;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt; System.Xml.Linq;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;namespace&lt;/span&gt; TaskSchedulerSample&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Global&lt;/span&gt; : System.Web.&lt;span style="color: #2b91af"&gt;HttpApplication&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TaskScheduler&lt;/span&gt; _scheduler = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TaskScheduler&lt;/span&gt;();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;protected&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Application_Start(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;this&lt;/span&gt;._scheduler.StartTask();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;protected&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Application_End(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;this&lt;/span&gt;._scheduler.StopTask();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Now if I start the application and view a page then this task starts running and creates and updates my text file with the current time on a regular basis.&lt;/p&gt;  &lt;p&gt;&lt;img title="Result" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="116" alt="Result" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/HowtoBuildaTaskSchedulerSystemf.NETPart2_105E8/Snap19_3.jpg" width="230" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;This was a simple implementation of such a task scheduler system in ASP.NET in a practical way. You can download the source code sample for this post series from &lt;a href="http://nayyeri.net/misc/keyvan/BlogFiles/TaskSchedulerSample.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;But after getting &lt;a href="http://dbvt.com/blog" rel="friend"&gt;Dave&lt;/a&gt;’s &lt;a href="http://nayyeri.net/blog/how-to-build-a-task-scheduler-system-for-the-asp-net-ndash-part-1/#comment-2291"&gt;comment&lt;/a&gt; on the first post and noticing the demand for having a general framework for task scheduling in ASP.NET applications, I finally decided to share my own task scheduler system with the community through an open source project. I’ve had a short conversation with Dave and will create a new open source project to release my scheduler publicly with contributions from him to let everyone enjoy using a general mechanism with dynamic configuration like what you see in Community Server. At the moment I’m busy with some stuff but hopefully will do this during the next week and will announce the project here. I also have some plans to contribute this system to some .NET blogging engines like BlogEngine.NET and Subtext.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=NkAJGi"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=NkAJGi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=YD76ki"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=YD76ki" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=xnbBEI"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=xnbBEI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>INETA Community Champions Program</title><link>http://nayyeri.net/blog/ineta-community-champions-program/</link><pubDate>Mon, 23 Jun 2008 17:43:01 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/ineta-community-champions-program/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>1</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://www.ineta.org/Champions/CommunityChampionInfo.aspx"&gt;&lt;img title="INETA Community Champions Program" style="border-right: 0px; border-top: 0px; margin: 5px 0px 5px 5px; border-left: 0px; border-bottom: 0px" height="124" alt="INETA Community Champions Program" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/INETACommunityChampionsProgram_12713/CommunityChampionsSmall_3.jpg" width="135" align="right" border="0" /&gt;&lt;/a&gt; Today I received an automated email notification from INETA site in which my dear friend and community leader, &lt;a href="http://www.community-credit.com/cs/blogs/community_credit_news/default.aspx" rel="friend"&gt;David Silverlight&lt;/a&gt;, had listed me in the list of recipients who can promote newest community program by INETA.&lt;/p&gt;  &lt;p&gt;This program is called &lt;a href="http://www.ineta.org/Champions/CommunityChampionInfo.aspx"&gt;INETA Community Champions&lt;/a&gt; and is designed to promote active INETA members and speakers.&lt;/p&gt;  &lt;p&gt;Even though the program seems to target North America region and I can’t participate but I thought it’s good to help the program and write about it to help guys at INETA.&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;There is an &lt;a href="http://www.ineta.org/Champions/CommunityChampionInfo.aspx"&gt;official page&lt;/a&gt; with description about the program on INETA site and Dave has also a descriptive &lt;a href="http://www.community-credit.com/cs/blogs/community_credit_news/archive/2008/06/17/the-ineta-community-champion-award.aspx"&gt;blog post&lt;/a&gt; about it on Community Credit blog.&lt;/p&gt;  &lt;p&gt;The program focuses recipients on activities around the INETA user groups such as speaking, managing meetings or introducing speakers. Based on different activity types, you can get different numerical points to achieve one of the top positions and qualify for the INETA awards (this is very similar to pointing system on &lt;a href="http://www.community-credit.com/"&gt;Community Credit&lt;/a&gt;). In my opinion this is an excellent program that can promote the user groups very much especially by encouraging more members to contribute that can bring more minds hence more quality to the community.&lt;/p&gt;  &lt;p&gt;Program consists of two smaller programs including Community Champions and Community Excellence awards. The first was and the main one was what I described above and the second one is the program that other members nominate the most active members and honor them to get awards.&lt;/p&gt;  &lt;p&gt;As you may know, recently INETA had a major reform in its leadership group and new guys got in the team. One of them was Dave who had proven his success in activating the community in several ways including the unique and interesting idea of Community Credit site. Dave is the Vise President of Marketing at INETA and I have no doubt that this program is mainly organized by him. Even when you want to submit your points to the program, you need to send them via a page hosted on Community Credit!&lt;/p&gt;  &lt;p&gt;However, if you reside in North America (as I know over %80 of my visitors do), it’s worthwhile to participate in the program both to help the community and to win the great prizes!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=3WrtNi"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=3WrtNi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=IP3A9i"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=IP3A9i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=5ZJliI"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=5ZJliI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>My Military Service After Sixteen Months</title><link>http://nayyeri.net/blog/my-military-service-after-sixteen-months/</link><pubDate>Sat, 21 Jun 2008 18:36:34 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/my-military-service-after-sixteen-months/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>0</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;img title="Photo taken from http://www.onflex.org/count/4.png" style="border-right: 0px; border-top: 0px; margin: 5px 0px 5px 5px; border-left: 0px; border-bottom: 0px" height="160" alt="Photo taken from http://www.onflex.org/count/4.png" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/MyMilitaryServiceAfterSixteenMonths_1227A/4_3.png" width="160" align="right" border="0" /&gt; From the beginning of my military service every two months I’ve given a status of the service and things around it in my life. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Today I finished the 16th months and started the 15 and it means that I’m close to the end and only four months are remained!&lt;/p&gt;  &lt;p&gt;The status is almost similar to the &lt;a href="http://nayyeri.net/blog/my-military-service-after-fourteen-months/"&gt;last time&lt;/a&gt; that I gave it except that weather is getting warmer and this is very annoying for me (you would know this from my past posts)!&lt;/p&gt;   &lt;p&gt;But at the military office, things are getting better smoothly and I’m going to take off for the end. With a simple calculation I found that less than 70 working days are remained and you may think that I need to start counting down for it but no! In my mind whole this military service was a a big failure in my life that has affected everything and I’m not a guy to be happy for ending a failure. No one is happy for ending a failure!&lt;/p&gt;  &lt;p&gt;However, as you saw (&lt;a href="http://nayyeri.net/blog/frustration/"&gt;here&lt;/a&gt; and &lt;a href="http://nayyeri.net/blog/return/"&gt;here&lt;/a&gt;), I’ve been wrestling with bigger problems in my personal and professional life recently and they stop me from thinking much about service! Believe it or not, those difficulties are still challenging me and they make my biggest concerns. I never been in such a bad position in my life and I’m living in an unstable situation. Mentally I’m affected and I feel that I’m getting nervous and want to challenge everything that I see!&lt;/p&gt;  &lt;p&gt;After all, I have only one choice and that choice is passing these 4-5 months to see what will happen when I finished the service! The end point of this service was something that I’ve been hoping for, trying for and imagining for in the past few years and persisted against everything to taste it! So you agree that this is going to be the most sensitive point of my life that is recently challenged seriously!&lt;/p&gt;  &lt;p&gt;Anyway, I don’t want to bother you with this stuff since they’re not changeable in the meantime neither by you nor by myself but I can ask you to pray for my future. After all my hard tries and after doing my best to make a better future, I’m just in a position to pray for my future and leave it to skies!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=tS6bui"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=tS6bui" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=Fe38Ai"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=Fe38Ai" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=9KbN4I"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=9KbN4I" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>Graffiti 1.1 Released</title><link>http://nayyeri.net/blog/graffiti-1.1-released/</link><pubDate>Sat, 21 Jun 2008 01:45:36 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/graffiti-1.1-released/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>1</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;a href="http://graffiticms.com"&gt;&lt;img title="Telligent Graffiti CMS" style="border-right: 0px; border-top: 0px; margin: 5px 0px 5px 5px; border-left: 0px; border-bottom: 0px" height="59" alt="Telligent Graffiti CMS" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/Graffiti1.1Released_49DE/graffiticms-title_3.jpg" width="300" align="right" border="0" /&gt;&lt;/a&gt; A few hours ago, Telligent &lt;a href="http://graffiticms.com/blog/new-graffiti-cms-v1-1-release-new-pricing/"&gt;released&lt;/a&gt; the second major version of its Graffiti CMS. Graffiti 1.1 is released with some new features and bug fixes to complement version 1.0.&lt;/p&gt;  &lt;p&gt;You can &lt;a href="http://get.graffiticms.com/"&gt;download&lt;/a&gt; this new version and install it in a few minutes as I did for my blog. The install and upgrade experience for Graffiti is the most sweet one among all the .NET web applications!&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Beside the addition of bulk comment management, permissions, better user management and packages (that I described &lt;a href="http://nayyeri.net/blog/how-to-create-a-package-for-graffiti/"&gt;here&lt;/a&gt;), Telligent also introduces a new cheaper pricing for Graffiti 1.1 to make it more affordable for normal users and small businesses to grab their own licenses. I bought my own license in Beta days for $99 (discounted) and now they offer that with the same price for all users.&lt;/p&gt;  &lt;p&gt;Hopefully we will update our &lt;a href="http://www.codeplex.com/GraffitiExtras"&gt;Graffiti Extra&lt;/a&gt; project with some new plug-ins and extensions for Graffiti 1.1 very soon.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=ICvRai"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=ICvRai" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=fAMSEi"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=fAMSEi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=cKtWJI"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=cKtWJI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item><item><title>Some Thoughts on Firefox 3.0 Download Record</title><link>http://nayyeri.net/blog/some-thoughts-on-firefox-3-0-download-record/</link><pubDate>Fri, 20 Jun 2008 18:21:15 GMT</pubDate><guid isPermaLink="false">http://nayyeri.net/blog/some-thoughts-on-firefox-3-0-download-record/</guid><dc:creator>Keyvan Nayyeri</dc:creator><slash:comments>1</slash:comments><category domain="http://nayyeri.net/blog/">Blog</category><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Mozilla Firefox" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; margin: 5px 0px 5px 5px; border-right-width: 0px" height="178" alt="Mozilla Firefox" src="http://nayyeri.net/files/media/image/WindowsLiveWriter/Firefox3.0DownloadRecordNowWhat_125EF/firefox-logo_3.png" width="180" align="right" border="0" /&gt; First of all, let me clarify a simple point that you need to have in your mind when reading this post: neither I’m a fan of Internet Explorer nor a fan of Firefox! I have used both and never preferred one to another!&lt;/p&gt;  &lt;p&gt;What I’m going to write about in this post is what you have heard about it in the past few weeks: Firefox 3.0 download record!&lt;/p&gt;  &lt;p&gt;In this simple blog post I don’t want to talk about technical aspects of this browser and never want to challenge the excellent quality of the software!&lt;/p&gt;  &lt;p&gt;Sometimes such a disclaimer can save my time from deleting some comments!&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;To be honest the huge noise around Firefox 3.0 download was one the silly things that I’ve ever heard! You may have a different opinion maybe with logical reasons behind it but as I couldn’t find logical reasons, I think that it’s been a silly noise! In my opinion fun is also something very different than this!&lt;/p&gt;  &lt;p&gt;Now that the noise is gone let’s review the past few weeks! Mozilla started a program to promote its popular web browser by adding the Firefox 3.0 downloads number to Guiness records. They also asked their fans and followers to organize meetings and parties for this release around the globe! They asked users to enter their email addresses in order to promise to download this browser in the first 24 hours to help get the record! And of course, they did many other things to promote their browser!&lt;/p&gt;  &lt;p&gt;I have no discussion about this stuff. They chose this way to promote their products and their fans helped them even though there are many points to challenge this process like the fact that Guiness record book is not this important and many of these meetings were just for fun and not for the software and could be held for many other things! However, I don’t want to bother everyone for being happy for something as I’m happy that all these guys been happy!&lt;/p&gt;  &lt;p&gt;But my question is about the accuracy of the downloads number. This is challenged by many other guys before me but it seems that this important point is lost in this huge noise!&lt;/p&gt;  &lt;p&gt;I have no doubt that Firefox 3.0 has had many many downloads in the first 24 hours but the actual number should be much different from this. Many guys have challenged this record by pointing to automated download bots and multiple downloads by single clients and these all seem to be true! Of course, Mozilla has rejected this and has announced that they have calculated their numbers based on single downloads from each machine but it seems that they’re lying or maybe they have done something wrong in their methods (this is very possible because they had some mistakes in predicting their demand in the first 24 hours)!&lt;/p&gt;  &lt;p&gt;One of the main challenging countries in the records is my homeland with over 480,000 downloads at the time of writing! This country doesn’t have this number of active internet users and more specifically it doesn’t have this number of guys who may know about Firefox or even have any interest to download it! Being upper than India, China or Canada is surprising! What makes me suspicious is some attempts around this achievement to connect a simple downloads record to the national and heroic stuff (WTF)!!&lt;/p&gt;  &lt;p&gt;Mozilla guys never could predict such a huge request from users in the first 24 hours so couldn’t handle it but their prediction was true unless the fact that there are some guys who are trying to cheat!&lt;/p&gt;  &lt;p&gt;To me it sounds like that some guys around the globe have been trying to cheat the system and they have been success! I know that doing this in a country can’t prove that this is done in all other countries to challenge the overall statistics but the point is a hole in the statistics and this point disturbs the whole accuracy of results. As long as some guys could cheat this system, any other guy could do this as well hence it makes sense to reject the accuracy of the overall downloads number!&lt;/p&gt;  &lt;p&gt;What puts smiley in my face is the stupidity of some guys who spent time and effort to cheat this system. Whether Mozilla and Firefox get the record or not what could they get from this? I really doubt they’re not crazy!&lt;/p&gt;  &lt;p&gt;Some guys think that Microsoft is an enemy and anything that competes with Microsoft is a friend (Google, Apple, Mozilla or …)! What a wrong imagination since all these today’s friends can be a second Microsoft for their own someday! Always worry about this!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=SZg9Ni"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=SZg9Ni" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=jp6Jti"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=jp6Jti" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.nayyeri.net/~f/Keyvan?a=fUHZDI"&gt;&lt;img src="http://feeds.nayyeri.net/~f/Keyvan?i=fUHZDI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description><author>Keyvan Nayyeri &lt;noreply@nayyeri.net&gt;</author></item></channel></rss>
