<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-33931745</id><updated>2011-04-21T12:27:19.170-07:00</updated><category term='C#'/><category term='Joshua'/><category term='VS 2005'/><category term='Programming'/><category term='ASP.NET'/><category term='HTML'/><title type='text'>Asynchronous Thoughts</title><subtitle type='html'>Life, C#, and other random topics</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://johnasbeck.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-33931745.post-3940515270595854447</id><published>2008-11-07T17:00:00.000-08:00</published><updated>2008-11-07T17:34:10.255-08:00</updated><title type='text'>Microsoft tools for the little guy</title><content type='html'>&lt;img style="float:right; margin:0 0 10px 10px;width: 128px; height: 128px;" src="http://3.bp.blogspot.com/_md-kjiGkUVY/SRTrVYDD-LI/AAAAAAAAAHE/N4qsb8Vg2JI/s320/U-B-K-Eternal-Sledge-Hammer-128x128.png" alt="hammer" id="BLOGGER_PHOTO_ID_5266092616768026802" /&gt;
&lt;p&gt;
As a Microsoft fan and a former MicroISV wannabe I've been very interested in two recent developments.  Since Amazon EC2 was introduced I have been wishing that you could use it to run Windows servers.  Note that I don't have any reason to run a Windows server in the EC2 cloud, I guess its just a jealousy thing towards those Linux guys with there cheaper computing power.  Well my day finally arrived a few weeks ago when Amazon announced they will be supporting &lt;a href="http://aws.amazon.com/windows/"&gt;Window Server and SQL Services&lt;/a&gt; in the cloud.  At last, world dominating power at my fingertips for $0.25-$2.00 an hour.&lt;/p&gt;
&lt;p&gt;
The second announcement I saw was Microsoft's &lt;a href="http://www.microsoft.com/bizspark/"&gt;BizSpark &lt;/a&gt;program.  This opens up the full enterprise suite of development tools for a fledging startup for a mere $100 rather than the $2,500+ per developer you would spend for a full &lt;a href="http://msdn.microsoft.com/en-us/vs2008/products/bb894671.aspx"&gt;MSDN &lt;/a&gt;license.  Microsoft has offered their &lt;a href="http://msdn.microsoft.com/en-us/vs2008/products/bb894671.aspx"&gt;express editions&lt;/a&gt; for the last two releases of Visual Studio, but they cater more to the hobbyist or occasional programmer rather than a professional developer.
&lt;/p&gt;
&lt;p&gt;With these new developments I may have to quit my job and start that MicroISV after all.  Just kidding honey.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33931745-3940515270595854447?l=johnasbeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/3940515270595854447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/3940515270595854447'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/2008/11/microsoft-tools-for-little-guy.html' title='Microsoft tools for the little guy'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_md-kjiGkUVY/SRTrVYDD-LI/AAAAAAAAAHE/N4qsb8Vg2JI/s72-c/U-B-K-Eternal-Sledge-Hammer-128x128.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-33931745.post-1553326815104589227</id><published>2008-07-18T21:55:00.000-07:00</published><updated>2008-07-27T18:23:45.242-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Fresh Start</title><content type='html'>I'm glad that I didn't have a new year's resolution to blog regularly because I would have failed miserably.  I could list several valid reasons for not posting in over a year, but I think it primarily comes down to: 1. I'm very slow at writing because I want to be precise, and 2. as a manager my first concern was people and not technology.    Now as an technical architect I'm back in a position that can reignite my passion for programming.

So what am I going to post about in the coming days?  Well, I've decided to dust off the codebase of an e-commerce engine that I originally wrote in 2001 in Classic ASP and Visual Basic 6.     I updated most of the code in 2003 to move to C# and the ASP.NET platform.  The truth is that I all the source code and needed to make some updates.    I had some printouts of core logic routines and was able to salvage part of the code off the production site.  &lt;font style="font-style: italic;"&gt;(I have certainly learned some things about source control and backups in the last 7 years.)&lt;/font&gt;&lt;font&gt;  All in all, I guess it really wasn't that big of loss since there was not a smooth upgrade path between those two technologies.  In 2006 I refactored the code to eliminate SQL Injection vulnerabilities; during that process I realized how pathetically the code was written.  I had followed some early .NET examples that had wonky implementations and I was very immature in my craft in 2003 having just come from basically a scripting language.  You may be wondering where I'm going with this.  My basic goal is to get back into writing code and get back up-to-speed with some modern tools and techniques.  As a spring board to accomplish this goal I am going to start with code that I have complete control of and access to.

I don't have an exhaustive list of technologies and tools I want to touch but here are some that spring to mind:
&lt;/font&gt;&lt;ul&gt;&lt;li&gt;&lt;font&gt;Visual Studio 2008 and v 3.5 of the .NET Framework&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font&gt;ASP.NET MVC Architecture
&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font&gt;ASP.NET AJAX&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font&gt;Linq2SQL&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font&gt;Log4Net&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font&gt;ASP.NET Providers (Membership in particular)&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font&gt;Caching
&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font&gt;I'm not 100% sold on the MVC since it has not made a 1.0 release yet.  The idea is awesome and well established in other languages but may be a bit ambitious to take on at this time. 

I do plan to store the code "in the cloud" but at least initially I will not be providing the source.  Since I have this code deployed on a customer's site I have some concerns about exposing them to potential security vulnerabilities that could be discovered via inspection of the code.  Next time I will be discussing my options for Subversion hosting, so check back for more content soon.
&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33931745-1553326815104589227?l=johnasbeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/1553326815104589227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/1553326815104589227'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/2008/07/fresh-start.html' title='Fresh Start'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-33931745.post-7618908677957904205</id><published>2007-05-20T14:56:00.000-07:00</published><updated>2007-05-20T15:21:42.847-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Joshua'/><title type='text'>Joshua's Baptism</title><content type='html'>Today we baptized Joshua.  As part of the ceremony the father offers a blessing to his child.  Here is what I told Joshua:&lt;br&gt;&lt;center&gt;&lt;img src="http://3.bp.blogspot.com/_md-kjiGkUVY/RlDIVUWHB6I/AAAAAAAAAAc/W_5fDDbl02s/s200/Picture+061.jpg" alt="" id="BLOGGER_PHOTO_ID_5066769849356060578" border="0" /&gt;&lt;/center&gt;&lt;span style="font-style: italic;"&gt;Joshua David, we claim the promise that has been given to us in Zephaniah 3:17:
&lt;blockquote&gt;The Lord your God is with you,
He is mighty to save.
He will take great delight in you,
He will quiet you with his love,
He will rejoice over you with singing.&lt;/blockquote&gt;Joshua we love you very much and acknowledge that you are a blessing and gift from God. Our payer for you is that you will grow in wisdom, stature, in favor with God and in favor with man; and that you will come to know the Lord at an early age and grow bold in your faith remembering that the Lord is with you wherever you go.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33931745-7618908677957904205?l=johnasbeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnasbeck.blogspot.com/feeds/7618908677957904205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33931745&amp;postID=7618908677957904205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/7618908677957904205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/7618908677957904205'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/2007/05/joshuas-baptism.html' title='Joshua&apos;s Baptism'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_md-kjiGkUVY/RlDIVUWHB6I/AAAAAAAAAAc/W_5fDDbl02s/s72-c/Picture+061.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33931745.post-3779962885666748760</id><published>2007-05-08T20:23:00.000-07:00</published><updated>2007-05-08T20:32:14.752-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VS 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Web Projects and bin folders in VS 2005</title><content type='html'>At &lt;a href="http://www.daxko.com"&gt;DAXKO&lt;/a&gt; we recently upgraded our web application to the from the 1.1 to the 2.0 .NET Framework.  As part of this upgrade we switched our 'web application' project to '&lt;a href="http://weblogs.asp.net/scottgu/archive/2005/08/21/423201.aspx"&gt;web project&lt;/a&gt;'.  A web project does away with the .proj file and just considers everything in that directory to be part of the project.  One side effect of this setup is that your bin folder is now considered part of the project.  As a result, when viewing the pending checkins window, all the binaries appear to be checked out and clutter up the window.  Now you could check the binaries in but on a multi-developer team and source control with exclusive check out (VSS bleh), these files would have a very high contention rate.  Searching around I found a clever solution to the clutter problem.  Simply browse to the offending /bin folder in windows explorer, view the properties, and enable the hidden attribute (right below the read only check box).  Go back to VS, highlight the project in the solution finder and click the refresh button.  As the projects are refreshed, the binaries will disappear out of the pending checkins pane.  Ah, tidiness has returned to the universe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33931745-3779962885666748760?l=johnasbeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnasbeck.blogspot.com/feeds/3779962885666748760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33931745&amp;postID=3779962885666748760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/3779962885666748760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/3779962885666748760'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/2007/05/web-projects-and-bin-folders-in-vs-2005.html' title='Web Projects and bin folders in VS 2005'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33931745.post-616899047175552348</id><published>2007-03-13T20:03:00.000-07:00</published><updated>2007-03-14T11:15:05.917-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Handling ActiveX Control Events in HTML</title><content type='html'>So today I spent most of my time struggling with a seemingly simple task.  All I needed to do was embed an ActiveX object on a web page and interact with it.  The first step was easy; add the control to the pallet and then drag-and-drop onto the form.  This left me with an object tag similar to this:
&lt;textarea class="html:nocontrols" name="code" rows="10" cols="60"&gt;

&lt;OBJECT ID="MyControl" STYLE="Z-INDEX: 102; LEFT: 168px; POSITION: absolute; TOP: 72px; WIDTH: 0px; HEIGHT: 0px" CLASSID="clsid:05E9280C-A1B1-494F-AE41-840A40777AFF" VIEWASTEXT&gt;
&lt;PARAM NAME="_Version" VALUE="65536"&gt;
&lt;/OBJECT&gt;
&lt;/textarea&gt;
Then I added button to invoke the methods on my ActiveX control:
&lt;textarea class="html:nocontrols" name="code" rows="10" cols="60"&gt;
&lt;INPUT TYPE="button" VALUE="DoSomething" ID="Button1" NAME="button1" /&gt;
&lt;/textarea&gt;
With this in place I was able to wire up the button's OnClick event and invoke the control's functions.  I was feeling good about things until I realized that the methods were sub procedures, that is they did not return values.  Instead the methods raise events.  Now in a WinForm application this would be no big deal you just hook onto the handler and go.  But how do you register for events in a web page?  I spent the next few hours trying to capture an event with the
&lt;textarea class="html:nocontrols" name="code" rows="10" cols="60"&gt;
&lt;SCRIPT FOR="" EVENT=""&gt;&lt;/SCRIPT&gt;&lt;/textarea&gt;construct.  A few more Google searches latter I came across this ancient article[http://msdn2.microsoft.com/en-us/library/ms970419.aspx] on MSDN and my eyes were opened.  Apparently by using VBScript, these events will automagically be wired up like so:
&lt;textarea class="html:nocontrols" name="code" rows="10" cols="60"&gt;
&lt;SCRIPT type="text/vbscript"&gt;
  Sub Button1_OnClick()
    MyControl.Add "42", "24"
  End Sub
        
  Sub MyControl_OnAddition()
    Dim result
    result = MyControl.Result
    MsgBox result
  End Sub
&lt;/SCRIPT&gt;
&lt;/textarea&gt;
Unfortunately this is an IE only solution but it works for my application since other parts are "IE Only" too, and we specify this as a requirement of our clients.  Based on the 1996 date of the MSDN article I must be the only web developer on the planet without this knowledge.  However I post this in hopes that I can spare others hours and hours of Google time on the same problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33931745-616899047175552348?l=johnasbeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnasbeck.blogspot.com/feeds/616899047175552348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33931745&amp;postID=616899047175552348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/616899047175552348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/616899047175552348'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/2007/03/handling-activex-control-events-in-html.html' title='Handling ActiveX Control Events in HTML'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-33931745.post-115979577270325704</id><published>2006-10-02T06:26:00.000-07:00</published><updated>2007-05-08T20:33:04.765-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VS 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>VS2005 SP1 Announcement</title><content type='html'>Microsoft releases details on upcoming and much needed VS2005 SP1 while simultaneously announcing that VS2003 will not work on Windows Vista.

&lt;a href="http://blogs.msdn.com/somasegar/archive/2006/09/26/772250.aspx"&gt;Visual Studio 2005 SP1 Beta and Visual Studio support for Vista&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33931745-115979577270325704?l=johnasbeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/115979577270325704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/115979577270325704'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/2006/10/vs2005-sp1-announcement.html' title='VS2005 SP1 Announcement'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-33931745.post-115751424878800617</id><published>2006-09-05T20:26:00.000-07:00</published><updated>2006-09-05T21:16:15.703-07:00</updated><title type='text'>First Post!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3485/3731/1600/bench.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg" alt="" border="0" /&gt;&lt;/a&gt;
Well, now I have a blog, a soapbox, a sounding board, a place to share all my random thoughts with the world.  So what do I have to say?  Of course I'm going to have some C# posts because  it' s one of the few things I can speak about somewhat intelligently.  However, lately I've been thinking a lot about leadership.   Perhaps this is due to my &lt;a href="http://www.amazon.com/21-Irrefutable-Laws-Leadership/dp/0785274316/sr=1-1/qid=1157513856/ref=pd_bbs_1/103-9704433-6430202?ie=UTF8&amp;s=books"&gt;current&lt;/a&gt; &lt;a href="http://www.amazon.com/Flight-Buffalo-Excellence-Learning-Employees/dp/0446670081/sr=8-1/qid=1157513783/ref=pd_bbs_1/103-9704433-6430202?ie=UTF8&amp;amp;s=books"&gt;reading&lt;/a&gt; or the impending arrival of baby Joshua.  Anyway, look for for more of these topics in the coming days...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/33931745-115751424878800617?l=johnasbeck.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnasbeck.blogspot.com/feeds/115751424878800617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=33931745&amp;postID=115751424878800617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/115751424878800617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/33931745/posts/default/115751424878800617'/><link rel='alternate' type='text/html' href='http://johnasbeck.blogspot.com/2006/09/first-post.html' title='First Post!'/><author><name>John</name><uri>http://www.blogger.com/profile/03059230188141395696</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://photos1.blogger.com/blogger/3485/3731/200/bench.jpg'/></author><thr:total>0</thr:total></entry></feed>
