<?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-3062406840219212076</id><updated>2012-01-27T02:39:39.055-05:00</updated><category term='Ballmer taking over'/><category term='Monolithic vs microkernel'/><category term='darwin'/><category term='Community Server'/><category term='Microsoft'/><category term='adt'/><category term='WYSIWYG'/><category term='SQL Server'/><category term='adb'/><category term='MicroKernel'/><category term='Windows Live Writer'/><category term='Kernel'/><category term='Sing#'/><category term='Android SDK'/><category term='CodePlex Client'/><category term='Blog Client'/><category term='MySpace'/><category term='C#'/><category term='Code Generator'/><category term='The new advancded DOS'/><category term='Bartok'/><category term='Gates retiring'/><category term='Type-Safe'/><category term='Blog Sites'/><category term='Microsoft Research'/><category term='eclipse'/><category term='ScribeFire'/><category term='Blogger.com'/><category term='.NET 2.0'/><category term='CodePlex'/><category term='OS'/><category term='OS/X'/><category term='Lack of integration'/><title type='text'>.NET Jeff+</title><subtitle type='html'>Some Notations in Windows Software Development, 
Windows Mobile, Android, iPhone, XNA and whatever I feel like at the moment.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-5623861345674766652</id><published>2011-07-30T15:34:00.012-04:00</published><updated>2011-07-30T16:35:01.853-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS/X'/><category scheme='http://www.blogger.com/atom/ns#' term='Android SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='adt'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='darwin'/><category scheme='http://www.blogger.com/atom/ns#' term='adb'/><title type='text'>Setting up OS/X Path for Android Development and Logging</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-TkKGUCwZSjI/TjRov4QhdNI/AAAAAAAABxQ/I9St3B_IKpE/s1600/Screen+shot+2011-07-30+at+4.23.59+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-family: verdana; font-size: 100%;"&gt;Let's assume the default shell is in use on Darwin, bash, and you have installed the &lt;a href="http://dl.google.com/android/android-sdk_r12-mac_x86.zip"&gt;Android SDK for OS/X&lt;/a&gt;, installed &lt;a href="http://eclipse.org/"&gt;Eclipse&lt;/a&gt; and the ADT.  Now the you need that nice set of tools in the Android SDK/platform-tools directory, it's a lot easier if you add them to your profile. I found this a nice easy way to do it, if you have the profile it will append if not it will create it: 1.) Open TextEdit&lt;br /&gt;&lt;br /&gt;2.) If the Users/&lt;/span&gt;&lt;span style="font-family: verdana; font-size: 100%;"&gt;/&lt;span style="font-weight: bold;"&gt;(YOUR_FOLDER)&lt;/span&gt;/.bash_profile - exists, then open this file.&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: verdana;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: verdana;"&gt;3.) Assuming no previous path information exists, then type the following:&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;  &lt;/span&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: courier new;"&gt;PATH=/Users/&lt;span style="font-weight: bold;"&gt;(SUBSTITUTE_YOUR_PATH)&lt;/span&gt;/android-sdk-mac_x86/platform-tools:$PATH&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: verdana;"&gt;4&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;.) Save the file as /Users/&lt;span style="font-weight: bold;"&gt;(YOUR_FOLDER)&lt;/span&gt;/.bash_profile - if this does not exist, or open the .bash_profile in step #1 if the file exists.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 130%;"&gt;&lt;span style="font-family: verdana; font-weight: bold;"&gt;SETTING UP &lt;a href="http://developer.android.com/guide/developing/tools/logcat.html"&gt;LOGCAT&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;This can be easily be done in Eclipse as another view, but I like having it running in a background Terminal on my Apple.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;1.) Open a Terminal window.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;2.) Type: adb logcat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;You will get a window output similar to below (depending on your emulators, and what debuggers you have setup)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 100%;"&gt;&lt;span style="font-family: verdana;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-TkKGUCwZSjI/TjRov4QhdNI/AAAAAAAABxQ/I9St3B_IKpE/s1600/Screen+shot+2011-07-30+at+4.23.59+PM.png" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="229" src="http://3.bp.blogspot.com/-TkKGUCwZSjI/TjRov4QhdNI/AAAAAAAABxQ/I9St3B_IKpE/s320/Screen+shot+2011-07-30+at+4.23.59+PM.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;The line in the logcat output:&lt;/div&gt;&lt;blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;D/Suduku&amp;nbsp; (&amp;nbsp; 538): Debug Msg: Exit Clicked&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;Is coming from the emulator running, and the code I added to my Android application for this debugging information is as follows:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final String TAG="";&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void msg(String s)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Log.d(TAG,"Debug Msg: " + s);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;When the user presses the "Exit" - in the onClick() method I have added the call to the method msg() as follows:&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; case R.id.exit_button:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;msg("Exit Clicked");&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; finish();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;This sends the string "&lt;b&gt;Exit Clicked&lt;/b&gt;" to the method &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;msg()&lt;/b&gt;, which then sends the string to the debugging variable &lt;b&gt;TAG&lt;/b&gt; - captured in the &lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;logcat&lt;/span&gt;&lt;/b&gt; output.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-5623861345674766652?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/5623861345674766652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=5623861345674766652' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/5623861345674766652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/5623861345674766652'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2011/07/setting-up-osx-path-for-android.html' title='Setting up OS/X Path for Android Development and Logging'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-TkKGUCwZSjI/TjRov4QhdNI/AAAAAAAABxQ/I9St3B_IKpE/s72-c/Screen+shot+2011-07-30+at+4.23.59+PM.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-3334663386260584609</id><published>2011-07-22T19:25:00.001-04:00</published><updated>2011-07-22T19:25:11.919-04:00</updated><title type='text'>Setting up Kinect Sensor on the PC</title><content type='html'>&lt;p&gt;&lt;a href="http://research.microsoft.com/en-us/" target="_blank"&gt;Microsoft Research&lt;/a&gt; has released the &lt;a href="http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx" target="_blank"&gt;Kinect for Windows SDK BETA&lt;/a&gt; (32/64 bit versions).&amp;#160; Connecting the Kinect sensor to the PC is quite easy, but there are some things to consider.&amp;#160; The Xbox360 game console that has the Kinect sensor, the connector is not USB compatible.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-E3v3aK4rdfw/TioG0YBpi2I/AAAAAAAABmY/AqB6_4Qn74c/s1600-h/power-supply-adapter-cable-for-xbox-360-kinect-sensor-us_3%25255B6%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="power-supply-adapter-cable-for-xbox-360-kinect-sensor-us_3" border="0" alt="power-supply-adapter-cable-for-xbox-360-kinect-sensor-us_3" src="http://lh5.ggpht.com/-JR9BK-8c7TI/TioG0gZARoI/AAAAAAAABmc/UxxYPFwErnE/power-supply-adapter-cable-for-xbox-360-kinect-sensor-us_3_thumb%25255B1%25255D.jpg?imgmax=800" width="244" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You must purchase an external power supply for the Kinect sensor (I had to call Microsoft Xbox Technical Support to verify this, because the information on the web was inconsistent).&lt;/p&gt;  &lt;p&gt;On the &lt;a href="http://channel9.msdn.com/Series/KinectSDKQuickstarts/Understanding-Kinect-Hardware" target="_blank"&gt;channel9 video&lt;/a&gt;, that shows you how to setup the Kinect sensor – it refers to the Microsoft Store and a device that does not exist (USB Cable), but the picture shown is the &lt;a href="http://www.microsoftstore.com/store/msstore/en_US/pd/productID.221244000/search.true" target="_blank"&gt;Kinect Sensor Power Supply&lt;/a&gt;, which has a female connector for the Kinect jack and a USB output connector.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-5PqG3_irDN4/TioG0wGZN2I/AAAAAAAABmg/enpoHu0ZUHI/s1600-h/KinectSensorPS%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="KinectSensorPS" border="0" alt="KinectSensorPS" src="http://lh6.ggpht.com/-w9e1GVFFJfo/TioG1M6jLzI/AAAAAAAABmk/iR3E_C5GTWE/KinectSensorPS_thumb%25255B1%25255D.png?imgmax=800" width="227" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The price for the &lt;a href="http://www.microsoftstore.com/store/msstore/en_US/pd/productID.221244000/search.true" target="_blank"&gt;Kinect Sensor Power Supply&lt;/a&gt; at the Microsoft Store is 34.95, but I purchased mine from &lt;a href="http://www.amazon.com/gp/product/B004S7GA46" target="_blank"&gt;Amazon for 11.64&lt;/a&gt;, with next day Prime Shipping (3.99).&amp;#160; Neither product description is very helpful, and the one from Amazon only had a 3-star rating based on one review by a person who was trying to use it for a totally different purpose than the Kinect Sensor.&lt;/p&gt;  &lt;p&gt;My workstation with the Kinect operating:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-DxbVfPoprvI/TioG1Qp_65I/AAAAAAAABmo/WYxHIKwotUI/s1600-h/Kinect_Workspace%25255B3%25255D.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="Kinect_Workspace" border="0" alt="Kinect_Workspace" src="http://lh3.ggpht.com/-Vo3F8mr0oYU/TioG1iL-wNI/AAAAAAAABms/89Uod-Ceekc/Kinect_Workspace_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-3334663386260584609?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/3334663386260584609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=3334663386260584609' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/3334663386260584609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/3334663386260584609'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2011/07/setting-up-kinect-sensor-on-pc.html' title='Setting up Kinect Sensor on the PC'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-JR9BK-8c7TI/TioG0gZARoI/AAAAAAAABmc/UxxYPFwErnE/s72-c/power-supply-adapter-cable-for-xbox-360-kinect-sensor-us_3_thumb%25255B1%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-251746967388965250</id><published>2011-07-21T22:41:00.001-04:00</published><updated>2011-07-21T23:36:46.587-04:00</updated><title type='text'>Windows Mobile: Changing Input Type Automatically</title><content type='html'>&lt;p&gt;When developing an application, minimization of user input on the phone is critical.&amp;#160; If you develop an application that requires digital input (such as a calculator program) but the initial keyboard state is alphabetic, the user has to select the “123” key.&lt;/p&gt;  &lt;p&gt;To automatically change the state for a specific textbox field use &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.inputscope.aspx" target="_blank"&gt;InputScope&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div id="codeSnippetWrapper"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;TextBox Height=&lt;span style="color: #006080"&gt;&amp;quot;72&amp;quot;&lt;/span&gt; HorizontalAlignment=&lt;span style="color: #006080"&gt;&amp;quot;Left&amp;quot;&lt;/span&gt; Margin=&lt;span style="color: #006080"&gt;&amp;quot;136,32,0,0&amp;quot;&lt;/span&gt; Name=&lt;span style="color: #006080"&gt;&amp;quot;txtPrice&amp;quot;&lt;/span&gt; Text=&lt;span style="color: #006080"&gt;&amp;quot;0&amp;quot;&lt;/span&gt; VerticalAlignment=&lt;span style="color: #006080"&gt;&amp;quot;Top&amp;quot;&lt;/span&gt; Width=&lt;span style="color: #006080"&gt;&amp;quot;260&amp;quot;&lt;/span&gt; &amp;gt;&lt;br /&gt;    &amp;lt;TextBox.InputScope&amp;gt;&lt;br /&gt;        &amp;lt;InputScope&amp;gt;&lt;br /&gt;            &amp;lt;InputScopeName NameValue=&lt;span style="color: #006080"&gt;&amp;quot;Digits&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;        &amp;lt;/InputScope&amp;gt;&lt;br /&gt;    &amp;lt;/TextBox.InputScope&amp;gt;&lt;br /&gt;&amp;lt;/TextBox&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-li27fODmjFY/TijjbVyg6RI/AAAAAAAABmI/Aag8ybQoCKo/s1600-h/sample_dam_calc%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="sample_dam_calc" border="0" alt="sample_dam_calc" src="http://lh3.ggpht.com/-il8vLHKzEUk/TijjbuvMzjI/AAAAAAAABmM/SLcjNefTRXg/sample_dam_calc_thumb.png?imgmax=800" width="160" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;REF: &lt;a href="http://channel9.msdn.com/blogs/egibson/windows-phone-7-jump-start-session-3-of-12-building-a-silverlight-application-part-2" target="_blank"&gt;Windows Phone 7 Jump Start (Session 3 of 19): Building a Silverlight Application, Part 2&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-251746967388965250?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/251746967388965250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=251746967388965250' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/251746967388965250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/251746967388965250'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2011/07/windows-mobile-changing-input-type.html' title='Windows Mobile: Changing Input Type Automatically'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-il8vLHKzEUk/TijjbuvMzjI/AAAAAAAABmM/SLcjNefTRXg/s72-c/sample_dam_calc_thumb.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-515686845983544155</id><published>2009-11-04T16:05:00.003-05:00</published><updated>2009-11-04T16:49:22.585-05:00</updated><title type='text'>Microsoft Certification...SIGH</title><content type='html'>&lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;&lt;br /&gt;I Loathe Tests!  All my life I have had serious test anxiety.  No matter how hard I would prepare and know the subject matter inside out, when it came to the test - poof - I would forget everything!&lt;br /&gt;&lt;br /&gt;It's quite frustrating - I mean it impacts everything in this world, tests are the metric of how good we are at something.  I don't necessarily agree with that, I mean some people are excellent on tests but their performance in the real world is horrible, and other's like me are horrible on tests but we can do quite well in the real world.&lt;br /&gt;&lt;br /&gt;But, now testing is everywhere in job interviews - instead of checking references they want to see how you perform on a test.&lt;br /&gt;Microsoft, Oracle, Sun all these corporations are making boatloads of money selling CERTIFICATIONS which mean no more than the paper they are written on.&lt;br /&gt;But, it's the pony we have to dance to, so now I must do so - since DIMHRS is ending.&lt;br /&gt;&lt;br /&gt;I did make a seriously flawed tactical mistake on deciding to live in Virginia.  Yes, there are a lot of positions in my industry - I didnt realize how many required TS/SCI (secret agent code speak for CLEARANCE).  The catch 22 of this situation is they want you to have one "TS/SCI REQUIRED' not like they are willing to sponsor for the process - DUH!!&lt;br /&gt;&lt;br /&gt;That's why people covet these items as tickets to job security.  No company wants to let go of an employee with a TS or SCI.&lt;br /&gt;&lt;br /&gt;But, I diverge.&lt;br /&gt;&lt;br /&gt;This is a posting on Microsoft Certifications - something I have put off for YEARS!&lt;br /&gt;Microsoft has offered this to me so many times, even free when I was at some of their Windows Conferences.  But, I was so secure, I didn't have a crystal ball to see the need for it (just like I ignored Sun Microsystems when they came to our corporate offices to talk about some new language called Java!).&lt;br /&gt;&lt;br /&gt;Now - I think I better have that certification in my back pocket.  I am not really sure it helps - but who can say!&lt;br /&gt;So I looked over the &lt;a href="http://www.microsoft.com/learning/en/us/default.aspx"&gt;Microsoft Learning Website&lt;/a&gt;, because I knew I wanted MCSD (Microsoft Certified Solution Developer).&lt;br /&gt;&lt;br /&gt;MCSD no longer exists.  It has been replaced by MCPD - or &lt;a href="http://www.microsoft.com/learning/en/us/certification/mcpd.aspx#tab1"&gt;Microsoft Certified Professional Developer&lt;/a&gt;.&lt;br /&gt;Ok, no problem.  There is a core test that I have to take no matter what track I was following, EXAM 70-536.  This is quite a comprehensive exam, and while I know a lot on it - I think I will need to review for some of it.&lt;br /&gt;&lt;br /&gt;I mean the software I developed for &lt;a href="https://www.dimhrs.mil/"&gt;DIMHRS&lt;/a&gt; was .NET 1.1 and 2.0, and this exam does include VS2008 (.NET 3.5).&lt;br /&gt;&lt;br /&gt;Here is a sample of what the test covers:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-family: trebuchet ms;font-family:trebuchet ms;" &gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Developing applications that use system types and collections &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Implementing service processes, threading, and application domains in a .NET Framework application&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Embedding configuration, diagnostic, management, and installation features into a .NET Framework application&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Implementing serialization and input/output functionality in a .NET Framework application&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Improving the security of .NET Framework applications by using the .NET Framework security features&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Implementing interoperability, reflection, and mailing functionality in a .NET Framework application&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;&lt;br /&gt;&lt;br /&gt;At least Microsoft does post material to help prepare for the test.  While classroom is offerred (that is their money maker, along with books) I prefer online training - and it is available:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ol style="font-family: trebuchet ms;font-family:trebuchet ms;" &gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;&lt;a href="http://www.microsoft.com/learning/elearning/course/5161.asp"&gt;5161AE: Advanced development with the Microsoft .NET Framework 2.0 Foundation (16 Hours)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;&lt;a href="http://www.microsoft.com/learning/elearning/course/5160.asp"&gt;5160AE: Core development with the Microsoft .NET Framework 2.0 Foundation (14 Hours)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/ol&gt;&lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;Microsoft also makes the following available to help ensure success:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;&lt;b&gt;Practice Tests&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-family: trebuchet ms;"&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.measureup.com/Site/display_article.aspx?id=955"&gt;MeasureUp&lt;/a&gt;&lt;span&gt;(Measureup.com)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;a href="http://www.selftestsoftware.com/dept.aspx?dept_id=1000"&gt;Self Test Software&lt;/a&gt;&lt;span&gt;(Selftestsoftware.com)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/ul&gt;                                                                                                                                                        &lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;&lt;b&gt;Microsoft Online Resources&lt;/b&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://learning.microsoft.com/Manager/LearningPlan.aspx?LearningPlanGuid=%7bf9656631-3640-4be1-800e-6eca6dbcac98%7d&amp;amp;c%20xmlns="&gt;Learning  Plan&lt;/a&gt;: Get started with a step-by-step study guide that is based on recommended resources for this exam.&lt;/li&gt;&lt;li sizset="137" sizcache="15"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vstudio/default.aspx" jquery1251954008468="60"&gt;Product information&lt;/a&gt;: Visit the Microsoft Visual Studio site for detailed product information. &lt;/li&gt;&lt;li sizset="138" sizcache="15"&gt;&lt;a href="http://www.microsoft.com/learning/community/newsgroups.mspx" jquery1251954008468="61"&gt;Microsoft Learning Community&lt;/a&gt;: Join newsgroups and visit community forums to connect with peers for suggestions on training resources and advice on your certification path and studies. &lt;/li&gt;&lt;li sizset="139" sizcache="15"&gt;&lt;a href="http://technet.microsoft.com/en-us/default.aspx" jquery1251954008468="62"&gt;TechNet&lt;/a&gt;: Designed for IT professionals, this site includes how-to instructions, best practices, downloads, technical resources, newsgroups, and chats. &lt;/li&gt;&lt;li sizset="140" sizcache="15"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/default.aspx" jquery1251954008468="63"&gt;MSDN&lt;/a&gt;: Designed for developers, the Microsoft Developer Network (MSDN) features code samples, technical articles, downloads, newsgroups, and chats&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-515686845983544155?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/515686845983544155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=515686845983544155' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/515686845983544155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/515686845983544155'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2009/11/microsoft-certificationsigh.html' title='Microsoft Certification...SIGH'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-6348918388262786957</id><published>2009-11-04T13:48:00.002-05:00</published><updated>2009-11-04T14:45:34.251-05:00</updated><title type='text'>Apple Develpment Tools</title><content type='html'>&lt;span style="font-family: trebuchet ms;font-family:trebuchet;font-size:100%;color:navy;"   &gt;&lt;br /&gt;Well, I know this blog is for Microsoft .NET technologies - but since I purchased a NEW Apple for the SOLE PURPOSE to try and supplement income by writing iPhone/iTouch applications - I will have to expand this blog's scope.  It has been several years since I had touched Objective C.  It has not changed too much, but there are some great resources online, and I bought a book written by &lt;a href="http://www.kochan-wood.com/"&gt;Stephen Kochan&lt;/a&gt; called &lt;a href="http://www.amazon.com/Programming-Objective-C-2-0-Stephen-Kochan/dp/0321566157"&gt;Programming in Objective C 2.0&lt;/a&gt;.  The same book is available from Apple in PDF format - &lt;a href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/ObjC.pdf"&gt;Objective C Programming Language&lt;/a&gt;.  This is an excellent book, and with my C background its a breeze to pickup the language.  So, this posting is about the plethora of development tools on the Apple Platform for &lt;a href="http://en.wikipedia.org/wiki/Newbie"&gt;n00bs&lt;/a&gt; (a &lt;a href="http://www.pcmag.com/encyclopedia_term/0,2542,t=MMORPG&amp;amp;i=56863,00.asp"&gt;MMORPG&lt;/a&gt; term).&lt;br /&gt;&lt;/span&gt;&lt;blockquote style="font-family: trebuchet ms;"&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;&lt;b&gt;INSTALLATION&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;&lt;a href="http://www.askdavetaylor.com/how_to_install_apple_developer_tools_cc_gcc_mac_os_x.html"&gt;How Do I Install Apple Developer Tools on My MAC&lt;/a&gt;&lt;/span&gt;&lt;span style=";font-size:100%;color:navy;"  &gt;Dave Taylor has a nice posting about how to install the development tools that come on the Apple Discs.  This is for the truly n00bish!  I mean, the disc is labeled, and any developer knows what they need - but I put it here for those that may need it (10 years from now when my mind is further gone I will come back to this posting, if I recall the URL!!)&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;SOFTWARE&lt;/b&gt;&lt;/li&gt;&lt;a href="http://developer.apple.com/products/membership.html"&gt;MAC DEVELOPER PROGRAM&lt;/a&gt;&lt;br /&gt;Cant get the tools needed until you join this.  I have had an ADC Membership for years, the free one - but now I have to upgrade to one of the packages that costs.  At least it doesnt cost as much as the Microsoft MSDN Premiere subscription!!!&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;XCode Development Tools&lt;/b&gt;&lt;/li&gt;To do programming on the MAC platform, all you really need is XCode.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://developer.apple.com/tools/performance/"&gt;Debugging Tools&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://macapper.com/2007/04/16/the-gems-of-apples-development-tools/"&gt;Gems of the Apple Development Tools&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://developer.apple.com/mac/library/navigation/index.html#topic=Guides&amp;amp;section=Resource+Types"&gt;Guides&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;iPhone Development&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.devworld.apple.com/iphone/"&gt;iPhone Development Center&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/library/os-eclipse-iphone/"&gt;Developing iPhone Applications on Eclipse &lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;BLOGS&lt;/b&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://iphonedevelopment.blogspot.com/"&gt;Jeff LaMarche Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://iphoneincubator.com/blog/"&gt;iPhone Development Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://theappleblog.com/2009/06/01/43-iphone-development-resources/"&gt;iPhone Development Resources&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.iphone-dev.org/"&gt;DEV TEAM Blog&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Books&lt;/b&gt;&lt;/li&gt;&lt;a href="http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430224592/ref=pd_cp_b_0"&gt;Beginning iPhone 3 Development: Exploring the iPhone SDK&lt;/a&gt; by Jeff LaMarche&lt;br /&gt;&lt;/span&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-6348918388262786957?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/6348918388262786957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=6348918388262786957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/6348918388262786957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/6348918388262786957'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2009/11/apple-develpment-tools.html' title='Apple Develpment Tools'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-1259065239465373229</id><published>2008-09-11T23:49:00.001-04:00</published><updated>2008-09-12T00:32:53.176-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Monolithic vs microkernel'/><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><category scheme='http://www.blogger.com/atom/ns#' term='Type-Safe'/><category scheme='http://www.blogger.com/atom/ns#' term='MicroKernel'/><category scheme='http://www.blogger.com/atom/ns#' term='Sing#'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Research'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='The new advancded DOS'/><category scheme='http://www.blogger.com/atom/ns#' term='Bartok'/><title type='text'>SINGULARITY</title><content type='html'>&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:00fcdc20-281a-455a-bc6c-40d0674cb4bb" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Microsoft%20Research" rel="tag"&gt;Microsoft Research&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Singularity" rel="tag"&gt;Singularity&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=OS" rel="tag"&gt;OS&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Microkernel" rel="tag"&gt;Microkernel&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=RDK%201.1" rel="tag"&gt;RDK 1.1&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=type-safe" rel="tag"&gt;type-safe&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Bartok%20Compiler" rel="tag"&gt;Bartok Compiler&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Sing#" rel="tag"&gt;Sing#&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;style&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;	p{&lt;br /&gt;		font-family: verdana; font-size: medium; color: teal;&lt;br /&gt;	}&lt;br /&gt;#quote p.qte{padding: 10px;border:2px solid maroon;margin: 25px;indent:20; font-family:tahoma, sans serif; font-size:85%;color:green;background-color:beige;}&lt;/style&gt;&lt;a title="Singularity" href="http://research.microsoft.com/os/Singularity/" target="_blank"&gt;Singularity&lt;/a&gt; is a new OS from &lt;a title="Microsoft Research" href="http://research.microsoft.com/" target="_blank"&gt;Microsoft Research&lt;/a&gt; written in Sing# (an extension of the C# Spec., almost all of the &lt;a title="Singularity" href="http://research.microsoft.com/os/Singularity/" target="_blank"&gt;Singularity&lt;/a&gt; kernel is written in &lt;a title="Advanced Compiler Research" href="http://research.microsoft.com/act/?0sr=a" target="_blank"&gt;Sing# - (Bartok Compiler&lt;/a&gt;, with a small portion (around 5%) written in assembly and C++). Don't expect it to become a product from Microsoft, but I wouldn't be surprised to see this technology in some form showing up in future variations of their OS Products (such as &lt;a title="MIDORI (Is Midori Really the Next Windows?)" href="http://www.osnews.com/story/20145/Is_Midori_Really_the_Next_Windows_" target="_blank"&gt;MIDORI&lt;/a&gt;, or &lt;a title="Core of &amp;#39;Windows 7&amp;#39; taking shape: meet the " href="http://arstechnica.com/news.ars/post/20071021-core-of-windows-7-taking-shape-meet-the-minwin-kernel.html" target="_blank" kernel?="kernel?" MinWin?="MinWin?"&gt;MinWin&lt;/a&gt;). It has many aspects that make it a very interesting Operating System. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;center&gt;&lt;a href="http://lh5.ggpht.com/jeffrey.hamlin/SMnnUCprnXI/AAAAAAAAAIQ/bko5pjh_gM0/image%5B6%5D.png"&gt;&lt;img height="352" alt="image" src="http://lh4.ggpht.com/jeffrey.hamlin/SMnnWkhsfZI/AAAAAAAAAIU/668v0TX6f7E/image_thumb%5B4%5D.png" width="640" /&gt;&lt;/a&gt; &lt;/center&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A &lt;a title="The architecture of traditional operating systems relies on address-based memory protection. To achieve flexibility at a low cost operating system research has recently started to explore alternative protection mechanisms, such as type safety. This dissertation presents an operating system architecture that completely replaces address-based protection with type-based protection." href="http://www.jxos.org/publications/diss.pdf" target="_blank"&gt;type-safe operating system&lt;/a&gt;, so no more blue screens. &lt;/li&gt;    &lt;li&gt;No &lt;a title="A shared memory is an extra piece of memory that is attached to some address spaces for their owners to use. As a result, all of these processes share the same memory segment and have access to it. Consequently, race conditions may occur if memory accesses are not handled properly." href="http://www.csl.mtu.edu/cs4411/www/NOTES/process/shm/what-is-shm.html" target="_blank"&gt;Shared Memory&lt;/a&gt;. They have implemented an approach called SIP, or Software Isolated Processes. &lt;/li&gt;    &lt;li&gt;No dynamic code loading. OH MY - no more DLL's what will we do!!!!! Singularity does not use a CLR it has a highly optimized &lt;a title="Advanced Compiler Technology" href="http://research.microsoft.com/act/" target="_blank"&gt;Bartok Compiler&lt;/a&gt; for the Sing# language bypassing MSIL and going straight to native machine code since there is no non-compiled, dynamically loaded code in the operating system. &lt;/li&gt;    &lt;li&gt;Yes, written in C#, but since it is Microkernel based - a stripped down version - with many namespaces removed. SUCH as System.Windows.Forms (YES, it looks like DOS) &lt;/li&gt;    &lt;li&gt;OS is based on a Micro-Kernel, and according to Galen Hall - they got around the issues of microkernel(see below) architecture because of type-safe foundation.      &lt;br /&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="984"&gt;&lt;br /&gt;&lt;div id="quote"&gt;       &lt;p class="qte"&gt;&lt;b&gt;&lt;a title="Kernel designs explained" href="http://www.osnews.com/files/17537/kernel_designs_explained.pdf" target="_blank" ?="?"&gt;Introduction&lt;/a&gt;&lt;/b&gt;           &lt;br /&gt;Fifteen years ago, in 1992, two heavyweights in the field of operating system design were entangled in what would become a classic discussion on the fundamentals of kernel architecture (Abrahamsen (no date)). The heavyweights in question were Andrew S. Tanenbaum, the author of &amp;#8220;Operating systems design and implementation&amp;#8221; (Tanenbaum &amp;amp; Woodhull, 2006) and Linus Torvalds, the then-young and upcoming writer of what would become one of the most successful operating system kernels in computer history: the Linux kernel. Like most of his colleagues at that time, Tanenbaum was a proponent of the microkernel architecture, while Torvalds, more of a pragmatist than Tanenbaum, argued that the monolithic design made more sense. The discussion gained an extra dimension because of the fact that Torvalds had studied Tanenbaum&amp;#8217;s book in great detail before he started writing the first version of the Linux kernel.           &lt;br /&gt;In May 2006, Tanenbaum accidentally reignited the debate by publishing an article titled &amp;#8220;Can we make operating systems reliable and secure?&amp;#8221; (Tanenbaum et al., 2006). In this article, Tanenbaum, who had just released the third major revision of his microkernel-based operating system MINIX, argues that microkernels may be making a comeback. Torvalds replied on a public internet forum (Torvalds, 2006), putting forward the same arguments used 14 years earlier.           &lt;br /&gt;In this article, I will try to make the &amp;#8216;microkernel vs. monolithic kernel&amp;#8217; debate more accessible and understandable for laymen. I will explain the purpose of a kernel, after which I will detail the differences between the two competing designs1. Finally, I will introduce the hybrid design, which aims to combine the two. In the conclusion, I will argue that this hybrid design is the most common kernel type in the world of personal computers2 today.           &lt;br /&gt;          &lt;br /&gt;&lt;b&gt;What is a kernel?&lt;/b&gt;           &lt;br /&gt;Every operating system has a kernel. The task of an operating system&amp;#8217;s kernel is to take care of the most basic of tasks a computer operating system must perform: assign hardware resources to software applications in order for them to complete the tasks the users want them to do. For instance, when you browse through the world wide web, your browser needs processor time to properly display the web pages, while also needing space on your hard drive to store commonly accessed information, such as login credentials or downloaded files. While it is the task of the operating system to properly spread the computer&amp;#8217;s resources across running applications, it is the kernel that performs the actual act of assigning.           &lt;br /&gt;You can compare it to a chef cooking a dish in a modern kitchen. The various ingredients (the computer applications) need to be prepared using kitchen appliances (the system resources) in order to form the dish (the operating system) after which this dish can be served to the people attending the dinner (the users). In this analogy, the chef is the kernel because he decides when the ingredients are put into the kitchen appliances, while the dish is the operating system because it depends on the dish which ingredients and kitchen appliances are needed. This analogy also stresses the symbiotic relationship between kernel and operating system: they are useless without each other. Without a recipe, a cook cannot prepare a dinner; similarly, a recipe without a cook will not magically prepare itself.           &lt;br /&gt;          &lt;br /&gt;&lt;b&gt;Differences between kernel types&lt;/b&gt;           &lt;br /&gt;An important aspect in operating system design is the distinction between &amp;#8216;kernelspace&amp;#8217; and &amp;#8216;userspace&amp;#8217;. Processes (each computer program is a collection of processes) run in either kernelspace or userspace. A process running in kernelspace has direct access to hardware resources, while one running in user space needs to make a &amp;#8216;system call&amp;#8217; in order to gain access to hardware (Cesati &amp;amp; Bovet, 2003). For instance, when you want to save a document in a word processor, the program makes a system call to that part of the kernel which manages hard drive access, after which this access is granted or denied (in other words, the document is stored on the hard drive or not). Because hardware can in fact be damaged by software, access to it is restricted in the above manner.           &lt;br /&gt;          &lt;br /&gt;In a monolithic design, every part of the kernel runs in kernelspace in the same address space. The definition of address space is beyond the scope of this article, but one consequence of all parts of the kernel running in the same address space is that if there is an error (&amp;#8216;bug&amp;#8217;) somewhere in the kernel, it will have an effect on the entire address space; in other words, a bug in the subsystem that takes care of networking might crash the kernel as a whole, resulting in the user needing to reboot his system.           &lt;br /&gt;          &lt;br /&gt;There are two ways to solve this problem. The first of the two is to &amp;#8216;simply&amp;#8217; try to keep the amount of bugs to a minimum. In fact, proponents of the monolithic design often argue that the design itself forces programmers to write cleaner code because the consequences of bugs can be devastating. The major problem to this approach is that writing bug-free code is considered to be impossible, and the 6 million lines of code in for example the monolithic Linux kernel allow for a large number of possible bugs.           &lt;br /&gt;          &lt;br /&gt;Microkernels approach the problem in a different manner in that they try to limit the amount of damage a bug can cause. They do this by moving parts of the kernel away from the dangerous kernelspace into userspace, where the parts run in isolated processes (so-called &amp;#8216;servers&amp;#8217;) which cannot communicate with each other without specific permission to do so; as a consequence, they do not influence each other&amp;#8217;s functioning. The bug in the networking subsystem which crashed a monolithic kernel (in the above example) will have far less severe results in a microkernel design: the subsystem in question will crash, but all other subsystems will continue to function. In fact, many microkernel operating systems have a system in place which will automatically reload crashed servers.           &lt;br /&gt;          &lt;br /&gt;While this seems to be a very elegant design, it has two major downsides compared to monolithic kernels: added complexity and performance penalties.           &lt;br /&gt;          &lt;br /&gt;In a microkernel design, only a small subset of the tasks a monolithic kernel performs reside in kernelspace, while all other tasks live in userspace. Generally, the part residing in kernelspace (the actual &amp;#8216;microkernel&amp;#8217;) takes care of the communication between the servers running in userspace; this is called &amp;#8216;inter-process communication (IPC)&amp;#8217;3. These servers provide functionality such as sound, display, disk access, networking, and so on.           &lt;br /&gt;          &lt;br /&gt;This scheme adds a lot of complexity to the overall system. A good analogy (Microkernels: augmented criticism (no date)) is to take a piece of beef (the monolithic kernel), chop it into small parts (the servers), put each of those parts into hygienic plastic bags (the isolation), and then link the individual bags to one another with strings (the IPC). The total weight of the end result will be that of the original beef, plus that of the plastic bags and string. Therefore, while a microkernel may appear simple on a very local level, at a global level it will be much more complex than a similar monolithic kernel.           &lt;br /&gt;          &lt;br /&gt;This complexity also creates performance issues (Chen &amp;amp; Bershad, 1994). Simply put, the communication between the servers of a microkernel takes time. In a monolithic design, this communication is not needed as all the servers are tied into one big piece of computer code, instead of several different pieces. The result is that a monolithic kernel will generally out perform a microkernel (provided they are similar feature-wise). This explains why Torvalds chose to write Linux in a monolithic fashion; in the early &amp;#8216;90s, computer resources were much more limited than they are today, and hence anything that could increase performance was a welcome addition.           &lt;br /&gt;          &lt;br /&gt;As an answer to these concerns, a new type of kernel design was devised. This design combines the monolithic and microkernel design in that it has characteristics of both. It keeps some subsystems in kernelspace to increase performance, while keeping others out of kernelspace to improve stability. That part of a hybrid kernel running in kernelspace is in fact structured as if it were a microkernel; as a consequence, parts which run in kernelspace can actually be &amp;#8216;moved out&amp;#8217; of it to userspace relatively easily. Microsoft Corp. has recently demonstrated this flexibility by moving large parts of its audio subsystem in the Windows operating system from kernelspace to userspace (Torre, 2005).           &lt;br /&gt;          &lt;br /&gt;The hybrid design has been heavily criticised. Torvalds (2006) and Rao (2006) said the term hybrid was devised only for marketing reasons, while Mikov (2006) argues that the fact that hybrid kernels have large parts running in kernelspace outweighs the fact that it is structured as a microkernel.           &lt;br /&gt;          &lt;br /&gt;I disagree with these criticisms on the basis that if system C combines aspects of both systems A and B, it is a hybrid of those two systems. As an analogy, consider the mule (the offspring of a female horse and a male ass). The mule carries characteristics of both an ass as well as a horse, and hence it is classified as a &amp;#8216;hybrid&amp;#8217;. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;     &lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a title="" href="http://research.microsoft.com/os/Singularity/" target="_blank"&gt;RDK&lt;/a&gt; is available at CodePlex?&amp;#160; Well it is - that is a working version of the OS.&amp;#160; (Requires &lt;a title="Microsoft Virtual PC 2007" href="http://www.microsoft.com/windows/downloads/virtualpc" target="_blank"&gt;Virtual PC2007&lt;/a&gt; or - from the manual:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;quot;&lt;em&gt;&lt;font color="#800040"&gt;If you want to boot Singularity onto a physical PC, you need a PC with at least 512MB of RAM and a Pentium II or later processor. If you want to pursue this, please contact singrdkq@microsoft.com for more information.&lt;/font&gt;&lt;/em&gt;&amp;quot; &lt;/strong&gt;HA HA HA) &lt;/p&gt;  &lt;p&gt;This is it booting...&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;center&gt;&lt;a href="http://lh3.ggpht.com/jeffrey.hamlin/SMnnXfWgtnI/AAAAAAAAAIY/hxCXEuQoe8c/image%5B12%5D.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="481" alt="image" src="http://lh6.ggpht.com/jeffrey.hamlin/SMnnYXHX4qI/AAAAAAAAAIc/yJ-EF8a1MyU/image_thumb%5B8%5D.png" width="660" border="0" /&gt;&lt;/a&gt;&lt;/center&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Check out this interview of Jim Larus and Galen Hall the architects of this OS.&lt;/p&gt;  &lt;p align="center"&gt;&lt;iframe src="http://channel9.msdn.com/shows/Going+Deep/66635/player/" frameborder="0" width="320" scrolling="no" height="325"&gt;&lt;/iframe&gt;    &lt;br /&gt;&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Singularity-A-research-OS-written-in-C/"&gt;Singularity: A research OS written in C#&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-1259065239465373229?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/1259065239465373229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=1259065239465373229' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/1259065239465373229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/1259065239465373229'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2008/09/singularity.html' title='SINGULARITY'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/jeffrey.hamlin/SMnnWkhsfZI/AAAAAAAAAIU/668v0TX6f7E/s72-c/image_thumb%5B4%5D.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-6424581309231325843</id><published>2008-08-07T02:01:00.000-04:00</published><updated>2008-08-07T02:19:34.938-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySpace'/><category scheme='http://www.blogger.com/atom/ns#' term='Community Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Live Writer'/><category scheme='http://www.blogger.com/atom/ns#' term='ScribeFire'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Client'/><category scheme='http://www.blogger.com/atom/ns#' term='Gates retiring'/><category scheme='http://www.blogger.com/atom/ns#' term='Ballmer taking over'/><category scheme='http://www.blogger.com/atom/ns#' term='Lack of integration'/><category scheme='http://www.blogger.com/atom/ns#' term='Blogger.com'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Sites'/><category scheme='http://www.blogger.com/atom/ns#' term='WYSIWYG'/><title type='text'>Great Strategic Move....Bill, or should I Blame BALLMER NOW?</title><content type='html'>&lt;p&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:41afdd8b-39e1-4cd9-8bf9-4fa1135e889f" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;LiveJournal Tags: &lt;a href="http://www.livejournal.com/interests.bml?int=Ballmer" rel="tag"&gt;Ballmer&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Blog%20Writer" rel="tag"&gt;Blog Writer&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Windows%20Live%20Writer" rel="tag"&gt;Windows Live Writer&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Blogger%20WYSIWYG" rel="tag"&gt;Blogger WYSIWYG&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Browser" rel="tag"&gt;Browser&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=ScribFire" rel="tag"&gt;ScribFire&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Community%20Server" rel="tag"&gt;Community Server&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Gates%20Resigns" rel="tag"&gt;Gates Resigns&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Poor%20Integration" rel="tag"&gt;Poor Integration&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=MySpace" rel="tag"&gt;MySpace&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=WoW" rel="tag"&gt;WoW&lt;/a&gt;,&lt;a href="http://www.livejournal.com/interests.bml?int=Java" rel="tag"&gt;Java&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;In their ever ongoing quest to dominate the world, after all they have tried a lot of different approaches..., this last move has me busting out laughing!&lt;/p&gt;  &lt;p&gt;Lets do this stepwise, at least as far as I can tell, because - I am like still recovering.&lt;/p&gt;  &lt;h3&gt;&lt;em&gt;To set some foundation&lt;/em&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;I do consider what Bill Gates achieved in his life amazing, and I do love their products.&amp;#160; My Java and Unix friends are like cringing, and I can hear them now talking about that great Windows stability as a server...well, I am not an admin so I cannot debate that.&amp;#160; I have had numerous blog-sites, mostly with &lt;a href="http://dotNET-jeff.blogspot.com/" target="_blank"&gt;Google (dotNET-Jeff)&lt;/a&gt; - and now I have another with &lt;a href="http://blogs.windowsclient.net/jadaar/" target="_blank"&gt;Microsoft (jeffHAMLIN@dotNET)&lt;/a&gt; (not comment, I mean if you gotta understand this madness read the post at the other blog LOL).&lt;/p&gt;    &lt;p&gt;In addition to this, I have &lt;a href="http://dotnetjeff.spaces.live.com/" target="_blank"&gt;Microsoft's - another dotNET@JEff&lt;/a&gt; - &lt;strong&gt;(&lt;em&gt;I am seeing a definite, and repeating pattern along with some lacking creativity&lt;/em&gt;)&lt;/strong&gt; version of &lt;a title="A personal Webspace...popular and crazy" href="http://www.myspace.com" target="_blank"&gt;MySpace&lt;/a&gt; (a place I just never got in the groove of, but created a site &lt;a href="http://www.worldofwarcraft.com/index.xml" target="_blank"&gt;World of Warcraft&lt;/a&gt; - &lt;a title="A personal Webspace...popular and crazy" href="http://www.myspace.com" target="_blank"&gt;MySpace&lt;/a&gt; site for my &lt;a href="http://www.worldofwarcraft.com/info/races/index.html" target="_blank"&gt;HORDE&lt;/a&gt; toon warrior &lt;a href="http://www.wowarmory.com/character-sheet.xml?r=Korialstrasz&amp;amp;n=Kahless" target="_blank"&gt;KAHLESS&lt;/a&gt;&amp;#160; ...my guild kind of lived out there...I even made a punk-ass &lt;a href="http://www.worldofwarcraft.com/info/races/index.html" target="_blank"&gt;Alliance&lt;/a&gt; named &lt;a href="http://www.wowarmory.com/character-sheet.xml?r=Bladefist&amp;amp;n=Agamenon" target="_blank"&gt;Agamenon&lt;/a&gt;!!.&amp;#160; But, I haven't had time for &lt;a href="http://www.worldofwarcraft.com/index.xml" target="_blank"&gt;WoW&lt;/a&gt;, just been focused on work - and if I can, coding at &lt;a href="http://www.codeplex.com/SQLString" target="_blank"&gt;CodePlex&lt;/a&gt; - so that &lt;a title="A personal Webspace...popular and crazy" href="http://www.myspace.com" target="_blank"&gt;MySpace&lt;/a&gt; site is probably dead.&lt;/p&gt;    &lt;p&gt;&lt;em&gt;I was tired, it was late, they asked at a moment of severe weakness...&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;strong&gt;To top it off, I am starting all over making contacts!!&amp;#160; No one knows me anymore!&amp;#160; ACK!&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;Back to the issue! [Coming totally clean, my first blog was at my domain, during the upgrade to all new software - it took like a year, they wiped out the database WordPress database, so Google rescued me - with a pretty cool blog that was nice for social discussions&amp;#160; &lt;a href="http://jeffhamlin.blogspot.com/" target="_blank"&gt;JBH.blogger&lt;/a&gt;.]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;OK.&amp;#160; All distractions set aside.&amp;#160; But you have a basic picture.&amp;#160; Since it is apparent I have tried at least 3 different WEB or Client-Side Blog Editing &lt;a title="What is a WYSIWYG ?" href="http://en.wikipedia.org/wiki/WYSIWYG" target="_blank"&gt;WYSIWG&lt;/a&gt; environments.&amp;#160; Maybe I am slow, but - I HATE GOOGLES.&amp;#160; They get everything else right, but that &lt;a title="What is a WYSIWYG ?" href="http://en.wikipedia.org/wiki/WYSIWYG" target="_blank"&gt;WYSIWG&lt;/a&gt; - (a few choice words come to mind, serious expletives for a simple process....).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;font color="#0080ff"&gt;&lt;font color="#004080"&gt;Write the post, and maybe change the font for emphasis - or to go to a mono-spacing because the presentation type requires it&amp;#160; (data from a CSV export).&amp;#160; You want it to line up nicely without creating a table.&lt;/font&gt;&amp;#160; &lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;ol&gt;     &lt;div&gt;&lt;em&gt;&lt;font color="#0080ff"&gt;&amp;#160;&lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000157.html" target="_blank"&gt;&lt;em&gt;&lt;font color="#008080"&gt;Nice Fonts (CodingHorror Blogsite)&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font color="#008080"&gt;&amp;#160; (&lt;/font&gt;&lt;/em&gt;&lt;a href="http://www.kayskreations.net/fonts/fonttb.html" target="_blank"&gt;&lt;em&gt;&lt;font color="#008080"&gt;Windows Fonts&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font color="#008080"&gt;)&lt;/font&gt;&lt;/em&gt;&lt;/div&gt;      &lt;li&gt;&lt;font color="#008080"&gt;&lt;font face="Courier"&gt;Courier New&lt;/font&gt; &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font color="#008080"&gt;&lt;font face="Microsoft Sans Serif" size="2"&gt;Microsoft Sans Serif&lt;/font&gt; &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font color="#008080"&gt;&lt;font face="Fixedsys"&gt;Fixedsys&lt;/font&gt; &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font color="#008080"&gt;&lt;font face="Fixedsys"&gt;Lucida Console (I love it, my boss hates it...)&lt;/font&gt; &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font face="Frutiger SAIN Rm v.1" color="#008080"&gt;Fruitger SAIN Rm&amp;#160;&amp;#160;&amp;#160; (not sure if it is - but is smooth in the IDE)&lt;/font&gt; &lt;/li&gt;   &lt;/ol&gt; &lt;/blockquote&gt;  &lt;p&gt;In &lt;a title="The Nice Blogger Site!" href="http://www.blooger.com" target="_blank"&gt;Google (Blogger)&lt;/a&gt;, the &lt;strong&gt;&amp;lt;div&lt;/strong&gt; would constantly loose it's place - or the &lt;strong&gt;&amp;lt;font&lt;/strong&gt; tag.&amp;#160; This would cause the formats to scramble and you might see a header with mixed fonts, and sizes.&amp;#160; Or even colors.&amp;#160; No problem, edit the HTML (that is the fun part), but the moment you past it back into their editor - it is reformatted and inconsistent formats.&amp;#160; &lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;em&gt;MADE ME WANT TO QUIT!!&lt;/em&gt;&lt;/strong&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://knownissues.blogspot.com/search/label/wmx" target="_blank"&gt;Google (Known Issues for Blogger)&lt;/a&gt; knew they had a problem, they made a newer &lt;a title="What is a WYSIWYG ?" href="http://en.wikipedia.org/wiki/WYSIWYG" target="_blank"&gt;WYSIWG&lt;/a&gt;, and I wasn't satisfied.&amp;#160; &lt;/p&gt;  &lt;p&gt;In the beginning of the browser wars, I loved IE, but today...it is a resource consuming, unreliable, &lt;em&gt;&lt;strong&gt;hogster&lt;/strong&gt;&lt;/em&gt;!&amp;#160; I use FORFOX constantly, and sometimes Opera ( to simulate IE if possible, or even - &lt;a href="http://www.seamonkey-project.org/" target="_blank"&gt;Mozilla SeaMonkey (PROJECT - Browser)&lt;/a&gt;, but IE - well its a work requirement for some sites in the &lt;a href="http://www.defenselink.mil/" target="_blank"&gt;DoD&lt;/a&gt;!!!)&amp;#160; I gave &lt;a href="http://www.apple.com/safari/" target="_blank"&gt;Apple Safari&lt;/a&gt; a chance, but on three different computers - it was a bad experience - only seems good on my MAC!&lt;/p&gt;  &lt;p&gt;But &lt;a href="http://www.mozilla.com/en-US/" target="_blank"&gt;FireFox 3&lt;/a&gt; (oh so sweet) has all these really cool &lt;a href="https://addons.mozilla.org/en-US/firefox/" target="_blank"&gt;FireFox Add-ons&lt;/a&gt;, and one I did really like was &lt;a href="http://www.scribefire.com/" target="_blank"&gt;ScribeFire&lt;/a&gt;.&amp;#160; It integrates into the browser, and works like Windows Live Writer -&amp;#160; for what to - seemed to be any site, but - even &lt;a href="http://www.scribefire.com/" target="_blank"&gt;ScribeFire's&lt;/a&gt; beautiful rendering was ruined by the &lt;a title="The Nice Blogger Site!" href="http://www.blooger.com" target="_blank"&gt;Google (Blogger)&lt;/a&gt; &lt;a title="What is a WYSIWYG ?" href="http://en.wikipedia.org/wiki/WYSIWYG" target="_blank"&gt;WYSIWG&lt;/a&gt; - (is it movable type - did I miss a setting?).&lt;/p&gt;  &lt;h3&gt;&lt;em&gt;Microsoft and Bill...er...BALLMER to the Rescue!!!&lt;/em&gt;&lt;/h3&gt;  &lt;p&gt;Amazing GATES WALKS AWAY.&amp;#160; I guess no more hurdles....&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/jeffrey.hamlin/SJqPCC_M96I/AAAAAAAAAHc/1O5TUfjKC5U/video565217a64050%5B1%5D.png"&gt;&lt;img id="VideoThumbnail" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="211" alt="video565217a64050" src="http://lh5.ggpht.com/jeffrey.hamlin/SJqPCpDYCOI/AAAAAAAAAHg/1R-IDqaqbUU/video565217a64050_thumb%5B1%5D.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Along comes my new &lt;a href="http://msdn.microsoft.com/en-us/default.aspx" target="_blank"&gt;MSDN.Microsoft&lt;/a&gt; toys, me up all night on &lt;a href="http://blogs.msdn.com/charlie/default.aspx" target="_blank"&gt;Charlie Calvert&lt;/a&gt; or the &lt;a href="http://blogs.msdn.com/vsxteam/" target="_blank"&gt;VSX Team blogs&lt;/a&gt;&amp;#160; &lt;em&gt;(&lt;/em&gt;&lt;a href="http://blogs.msdn.com/dr._ex/" target="_blank"&gt;&lt;em&gt;these blogs by the DOC_EX are so cool&lt;/em&gt;&lt;/a&gt;&lt;em&gt;)&amp;#160; &lt;/em&gt;(very understanding wife), and updating my SDK's, my &lt;a href="http://msdn.microsoft.com/en-us/library/bb200104.aspx" target="_blank"&gt;XNA 2.0&lt;/a&gt;, &lt;a title="Windows Installer 4.5 Software Development Kit" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=6A35AC14-2626-4846-BB51-DDCE49D6FFB6&amp;amp;displaylang=en" target="_blank"&gt;WiX&lt;/a&gt;, everything I needed (some I will not be able to use at work, but not gonna stop me!!!) - I realize my Messenger/Outlook need update and get them ASAP,&amp;#160; That opens the door to my &lt;a href="http://dotnetjeff.spaces.live.com/" target="_blank"&gt;dotNET-Jeff&lt;/a&gt; (1st MS one) blog. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#008080"&gt;Unfortunately for some Software VENDOR - who I will not name (&lt;strong&gt;INTERNET&lt;/strong&gt; &lt;strong&gt;FIREWALL EDITION - Like MS-Office, a new one EACH YEAR with THE YEAR ON IT...*HINT*&lt;/strong&gt;) - It had caught me at a VERY bad time of trying to do some development, and hunting down a Package in VS2005 that didn't exist, but was crashing the IDE....2-days of registry ...torture.&amp;#160; Fighting off their little service who - no matter what I set in the SCM, would startup (internal firewall) and make the situation far worse!&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#008080"&gt;So, my first post at the site was about SECURITY SOFTWARE and how it interferes with the DEV environment [if my boss saw this he would bust out laughing] - trashing &lt;strike&gt;***$$$&amp;amp;*((*Y(&lt;/strike&gt;and dumping my 168 days of remaining subscription ...or thereabouts...)&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;With this new &amp;quot;space&amp;quot; comes a very cool client side blogger - incorporating the new Live email, some &amp;quot;Office&amp;quot; technology and nice expandability.&amp;#160; It is &lt;a href="http://get.live.com/writer/overview" target="_blank"&gt;Windows Live Writer&lt;/a&gt;.&amp;#160; I am STOKED!!&amp;#160; It creates a really cool site at the spaces, so I try it at the &lt;a href="http://dotnetjeff.spaces.live.com/" target="_blank"&gt;dotNET-Jeff&lt;/a&gt; from &lt;a href="http://www.google.com" target="_blank"&gt;Google&lt;/a&gt;, and it seems to work no problem!&amp;#160; In addition, this tool is &lt;strong&gt;&lt;em&gt;DESIGNED for CODERS...it has features for us to publish source code built in out of the box&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;All those mundane articles I have shelved..awaiting approval from my boss (I work in a place where knowledge is protected, I am not such an asset - but I guess, ya know - there are processes to be followed!!)&amp;#160; Approval from him...he recalls the abacus....&lt;/p&gt;  &lt;h4&gt;After Over A Month of Waiting...I Get The Email &amp;quot;&lt;b&gt;&lt;font color="#800040"&gt;Hello and welcome to the WindowsClient.Net blogging &lt;/font&gt;&lt;/b&gt;&lt;a href="http://windowsclient.net/community/"&gt;&lt;b&gt;&lt;font color="#800040"&gt;community&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;font color="#800040"&gt;...&amp;quot;&lt;/font&gt;&lt;/h4&gt;  &lt;p&gt;Cool, the Community Server based system.&amp;#160; It - has a decent &lt;a title="What is a WYSIWYG ?" href="http://en.wikipedia.org/wiki/WYSIWYG" target="_blank"&gt;WYSIWG&lt;/a&gt;, but now I have been spoiled.&amp;#160; So, I try to use &lt;a href="http://get.live.com/writer/overview" target="_blank"&gt;Windows Live Writer&lt;/a&gt; the MICROSOFT BLOGGING CLIENT for My MICROSOFT BLOGSITE!&lt;/p&gt;  &lt;p&gt;The one they are stressing for all the developers.&amp;#160; The very same you see most of Microsoft's own people using who post tons of knowledge on.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a title="Hosted by CommunityServer.ORG" href="http://blogs.windowsclient.net" target="_blank"&gt;&lt;/a&gt;&lt;a href="http://get.live.com/writer/overview" target="_blank"&gt;&lt;strong&gt;&lt;font color="#008080" size="4"&gt;&lt;em&gt;Windows Live Writer&lt;/em&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;font color="#008080" size="4"&gt;&lt;em&gt; - doesn't work for &lt;/em&gt;&lt;/font&gt;&lt;a title="Hosted by CommunityServer.ORG" href="http://blogs.windowsclient.net" target="_blank"&gt;&lt;em&gt;blogs.windowsclient.net&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;At first, I think &amp;quot;I just cannot find the setting for remote URL posting&amp;quot; - when I &lt;a href="http://www.google.com" target="_blank"&gt;Google&lt;/a&gt; the query, I am amazed to see that people are still waiting for this natural integration.&amp;#160; There is one post about a 13 step procedure (I never did find) to integrate them - if you use a component!&lt;/p&gt;  &lt;p&gt;This is just too funny.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;font color="#004080"&gt;I am like the only .NET developer on the project, the rest are hard core Java, and I am medium core on Java (just never appealed - toolset was crappy and JVM varied from OEM to OEM - IBM for example - but I do love &lt;/font&gt;&lt;a href="http://www.eclipse.org/" target="_blank"&gt;&lt;font color="#004080"&gt;ECLIPSE&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080"&gt;!) - I am definitely hardcore on the .NET architecture and tools.&amp;#160; I can cite example after example of how seamlessly MS devtools integrate while Java - is a serious pain!!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Now this...&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Great move Steve!!!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-6424581309231325843?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/6424581309231325843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=6424581309231325843' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/6424581309231325843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/6424581309231325843'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2008/08/great-strategic-movebill-or-should-i.html' title='Great Strategic Move....Bill, or should I Blame BALLMER NOW?'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/jeffrey.hamlin/SJqPCpDYCOI/AAAAAAAAAHg/1R-IDqaqbUU/s72-c/video565217a64050_thumb%5B1%5D.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3062406840219212076.post-2425119411416734015</id><published>2008-07-14T00:31:00.009-04:00</published><updated>2008-12-10T03:28:00.092-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Generator'/><category scheme='http://www.blogger.com/atom/ns#' term='CodePlex'/><category scheme='http://www.blogger.com/atom/ns#' term='CodePlex Client'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='Blog Sites'/><title type='text'>First OpenSource Project Up! Work Starts.</title><content type='html'>&lt;font color="#000080"&gt;   &lt;p&gt;     &lt;br /&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="986" bgcolor="#ffcc33" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="984"&gt;           &lt;p align="left"&gt;&lt;em&gt;&lt;strong&gt;Hello, this is the 3rd time I write this post.&lt;/strong&gt;&lt;/em&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;font color="#400040"&gt;Now, why your asking is this the 3rd time?                &lt;br /&gt;Because I don't have much luck with blog editors! Especially &lt;/font&gt;&lt;a href="http://draft.blogger.com/home" target="_blank"&gt;&lt;font color="#400040"&gt;Google's&lt;/font&gt;&lt;/a&gt;&lt;font color="#400040"&gt;, that is why I am now using their new improved one. I just hope it doesn't mess up my formatting again. All I want to do is write, compose and post! But this is a serious struggle. &lt;/font&gt;&lt;/p&gt;            &lt;p align="left"&gt;&lt;font color="#400040"&gt;This time I am using &lt;/font&gt;&lt;a href="http://www.scribefire.com/" target="_blank"&gt;&lt;font color="#400040"&gt;ScribeFire&lt;/font&gt;&lt;/a&gt;&lt;font color="#400040"&gt;. An &lt;/font&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/" target="_blank"&gt;&lt;font color="#400040"&gt;Add-on&lt;/font&gt;&lt;/a&gt;&lt;font color="#400040"&gt; that is integrated into my &lt;/font&gt;&lt;a href="http://www.mozilla.com/en-US/" target="_blank"&gt;&lt;font color="#400040"&gt;FireFox&lt;/font&gt;&lt;/a&gt;&lt;font color="#400040"&gt; browser. It is VERY cool. I MEAN AWESOME! I can even size it to my 22' screen! Google doesn't miss the boat on too many thins, but here, well it sailed.                &lt;br /&gt;Now on to the post.&amp;#160; -&lt;/font&gt;&lt;/p&gt;            &lt;blockquote&gt;             &lt;p align="left"&gt;&lt;font color="#400040"&gt;P.S.&amp;#160; - Post, action Post Update&lt;/font&gt;&lt;/p&gt;              &lt;p align="left"&gt;&lt;font color="#400040"&gt;While ScribeFire was excellent for me managing, creating, and posting - my little evil friend at Google somehow managed to mangle the nice presentation... I simply grabbed the text, placed &lt;strong&gt;&amp;lt;font&amp;gt;&lt;/strong&gt; tags at beginning, and end, with a few &lt;strong&gt;&amp;lt;a hrefs...&amp;gt;&lt;/strong&gt;, inserted the tag for the &lt;strong&gt;&amp;lt;image&amp;gt;&lt;/strong&gt; and called it quits....UNCLE I said..&lt;/font&gt;&lt;/p&gt;           &lt;/blockquote&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;p&gt;     &lt;br /&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;h3&gt;Background&lt;/h3&gt;    &lt;p&gt;Its about my first Open Source project I just posted a &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt;. &lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;&lt;font color="#004080"&gt;&amp;quot;&lt;/font&gt;&lt;a href="http://www.codeplex.com" target="_blank"&gt;&lt;font color="#004080"&gt;CodePlex&lt;/font&gt;&lt;/a&gt;&lt;font color="#004080"&gt; is Microsoft's open source project hosting web site.&amp;quot;&lt;/font&gt; &lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;A definition of the service from the &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; team. Since I am focused on the .NET programmer (do other non- - it made sense for me to try my first open source project here instead of &lt;a href="http://www.SourceForge.NET" target="_blank"&gt;SourceForge.NET&lt;/a&gt;.       &lt;br /&gt;      &lt;br /&gt;So I had to pick a project. Well I was working on developing all kinds of &lt;a href="http://blogs.msdn.com/webdevtools/default.aspx" target="_blank"&gt;IDE Add In's&lt;/a&gt; for work and home. Integrated source reflectors, automated solution backup - based on &lt;a href="http://www.codeproject.com/KB/macros/zipstudio.aspx" target="_blank"&gt;ZipStudio&lt;/a&gt; [Upgraded ZipStudio source is at &amp;quot;&lt;strong&gt;&lt;a href="http://geekswithblogs.net/willemf/archive/2005/11/24/61119.aspx" target="_blank"&gt;Willem Rue&lt;/a&gt;&lt;/strong&gt;&amp;quot; Blogz, a NICE Add-In that really helped me a lot once I automated the backup process at the project level], and some others. The same things I see out here now.       &lt;br /&gt;      &lt;br /&gt;I had already developed a version of &lt;a href="http://www.codeplex.com/SQLString" target="_blank"&gt;SQLString&lt;/a&gt; as task tray application, and was using it - but this was an opportunity to re-develop the idea and take it much further, and at the same time learn a brand new (for me) namespace (was NOT going back to do the Compact one!!). &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;h3&gt;What is SQLString?&lt;/h3&gt;    &lt;p&gt;So, this project - &lt;a href="http://www.codeplex.com/SQLString" target="_blank"&gt;SQLString&lt;/a&gt; what is it? &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;SQLString is a simple SQL code generator that works within the &lt;/strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/default.aspx" target="_blank"&gt;&lt;strong&gt;Visual Studio 2005/2008 IDE&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt; I had used a SQL code generator many years ago years ago and loved it.&amp;#160; I knew it could help me now,&amp;#160; but could never find it except in websites. Where I work - access to the web isn't reliable, or fast so I made my own. (&lt;em&gt;&lt;strong&gt;NOTE&lt;/strong&gt; to boss, this version, I made at home - off the clock&lt;/em&gt;).       &lt;br /&gt;      &lt;br /&gt;The initial requirements were simple enough, but they grew. I couldn't make a version 2 without some serious enhancements!       &lt;br /&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;h5&gt;&lt;u&gt;Functional Requirements &lt;em&gt;(blah blah blah - ode to a friend)&lt;/em&gt;&lt;/u&gt;&lt;/h5&gt;    &lt;ol&gt;     &lt;li&gt;Allow the user to either paste or have linked into the control a specific SQL statement. &lt;/li&gt;      &lt;li&gt;Select a target language and based on the language chosen, allow the user to select from a pre-defined list of data types compatible with the selected language &lt;font color="#800040"&gt;&lt;u&gt;&lt;em&gt;(I am NOT a functional, but many friends are!!!)&lt;/em&gt;&lt;/u&gt;&lt;/font&gt;.&amp;#160; &lt;/li&gt;      &lt;li&gt;Enable the user to select a customizable template, or additional &amp;quot;header&amp;quot; and &amp;quot;footer&amp;quot; &lt;a href="http://msdn.microsoft.com/en-us/vs2005/aa718338.aspx" target="_blank"&gt;snippets (Visual Studio 2005 Code Snippets for example...)&lt;/a&gt;.&amp;#160; [Best example I could come up with] &lt;/li&gt;      &lt;li&gt;Generate a source code statement which is compatible with the selected language.        &lt;h4&gt;&lt;u&gt;Base User Parameters related to SQL Code Generation&lt;/u&gt;&lt;/h4&gt;        &lt;ol&gt;         &lt;li&gt;Default the generated statement into a standard variable or allow the user to define a variable.&amp;#160; &lt;/li&gt;          &lt;li&gt;Define the &amp;quot;wrap&amp;quot; point for the characters in the generated statement. Default is 80, which currently means if a WORD will cause the generated string to exceed that parameter it will be wrapped to the next line.&amp;#160; &lt;/li&gt;          &lt;li&gt;Enable the generated SQL statement to be: &lt;/li&gt;       &lt;/ol&gt;        &lt;br /&gt;&lt;/li&gt;   &lt;/ol&gt;    &lt;ul&gt;     &lt;li&gt;1. Allow the user to insert the generated statement into the current IDE document at :        &lt;p&gt;&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;table cellspacing="0" cellpadding="2" width="806" bgcolor="#6666cc" border="3"&gt;&lt;tbody&gt;           &lt;tr&gt;             &lt;td valign="top" width="800"&gt;               &lt;p align="center"&gt;&lt;font color="#ffffff"&gt;&lt;strong&gt;this.&lt;/strong&gt;&lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/za2b25t3(VS.80).aspx"&gt;&lt;font color="#ffffff"&gt;&lt;strong&gt;ApplicationObject&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#ffffff"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/envdte.dteclass.activedocument(VS.80).aspx"&gt;&lt;font color="#ffffff"&gt;&lt;strong&gt;ActiveDocument&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font color="#ffffff"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/font&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/envdte.textdocument(VS.80).aspx"&gt;&lt;font color="#ffffff"&gt;&lt;strong&gt;Object(&amp;quot;TextDocument&amp;quot;) as TextDocument;&lt;/strong&gt;&lt;/font&gt; &lt;/a&gt;&lt;/p&gt;             &lt;/td&gt;           &lt;/tr&gt;         &lt;/tbody&gt;&lt;/table&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;2. Enable the user to save the results into both the &lt;font color="#008080"&gt;CODEKeep Library&lt;/font&gt; and XML Files.&amp;#160;&amp;#160; CODEKeep (my current customers would recognize) is a place to store the generated SQL/Program Logic.&amp;#160; Like a storage for it - permanently, but with the ability to generate daily changes to the db and export them as XML or - whatever. &lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;     &lt;br /&gt;      &lt;br /&gt;I know, wild!! I even went to &lt;a href="http://research.microsoft.com/" target="_blank"&gt;Microsoft Research&lt;/a&gt; to check on the other language they have released for the IDE named &lt;a href="http://research.microsoft.com/fsharp/fsharp.aspx" target="_blank"&gt;F#&lt;/a&gt;. If it will be in the IDE, I was going to support it.       &lt;br /&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;h3&gt;Ready For CODEPLEX&lt;/h3&gt;    &lt;p&gt;I know which project I will submit to &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt;, just need to make sure I have it documented enough for them. The few options that &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; presents in the beginning for a new project are: &lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;strong&gt;Name &lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Description (up to 2000 chars, but only the first 190 can be seen - DUH!!) &lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;URL. &lt;/strong&gt;&lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Email verification.&lt;/strong&gt; &lt;/li&gt;   &lt;/ol&gt;    &lt;br /&gt;    &lt;br /&gt;HA!!     &lt;br /&gt;    &lt;br /&gt;Glad I was prepared.     &lt;br /&gt;    &lt;br /&gt;Of course I may have gone overboard for a simple SQL Code Generator, but I like to have more documentation than too little. After your project is created, now you must provide details.     &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;font color="#800000" size="3"&gt;Project Description&lt;/font&gt;&lt;/u&gt;&lt;/strong&gt;     &lt;br /&gt;    &lt;br /&gt;Here you provide more detail on what the project is, and does. But now the fun begins because who wants to provide such information to the world in plain text, when there is a nice markup language available? So, now you have to learn that! Not a problem, but I couldn't figure out how to set an external URL to have a nice name IBM like instead of showing www.ibm.com.     &lt;br /&gt;    &lt;br /&gt;I lost a lot of time playing with that trying various permutations on their URL command like:     &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;[url:www.ibm.com]IBM&lt;/strong&gt; and &lt;strong&gt;[url:www.ibm.com , title=IBM]&lt;/strong&gt;,and several others. None of which worked (&lt;strong&gt;&lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; is new, so I am patient&lt;/strong&gt;).     &lt;br /&gt;    &lt;br /&gt;Doing a list or table was so easy, I almost abused it. I then provided some screenshots so users would have context. Meanwhile there is this enormous message in big red letters reminding me that I had     &lt;br /&gt;    &lt;br /&gt;    &lt;h2 align="center"&gt;&lt;font color="#ff0000"&gt;30 DAYS TO PUBLISH OR MY PROJECT WILL BE DELETED.&lt;/font&gt;&lt;/h2&gt;    &lt;p&gt;That is motivating!! I can understand though. Disk is expensive!! (Well until I walked into Best Buy last week and saw 1TB external USB drives on sale for 199!!! - I am running out of ports).      &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;font color="#800000"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;u&gt;Add Team Members&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;         &lt;br /&gt;&lt;/font&gt;      &lt;br /&gt;This was a one man show. If someone wants to help, no problem! But no one to define.       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;font color="#800000" size="3"&gt;&lt;strong&gt;&lt;u&gt;Upload Source&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;Now, this is where the fun begins. &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; offers many source code control tools to integrate with, from &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=CodePlex&amp;amp;title=Obtaining%20the%20Team%20Explorer%20client" target="_blank"&gt;Team Explorer Client&lt;/a&gt; (&lt;a href="http://weblogs.asp.net/dfindley/archive/2006/05/23/Good-writeup-on-CodePlex-and-Team-Explorer.aspx" target="_blank"&gt;Microsoft Solution&lt;/a&gt;) to &lt;a href="http://tortoisesvn.net/" target="_blank"&gt;TortoiseSVN&lt;/a&gt;. I had already narrowed my choices to &lt;a href="http://tortoisesvn.net/" target="_blank"&gt;TortoiseSVN&lt;/a&gt; or to the &lt;a href="http://www.codeplex.com/CodePlexClient" target="_blank"&gt;CodePlex Client&lt;/a&gt; - a command line based utility which had directly interface to the TFS servers at &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt;.       &lt;br /&gt;      &lt;br /&gt;Since I had not used any Subversion based tools, I felt more comfortable with the &lt;a href="http://www.codeplex.com/CodePlexClient" target="_blank"&gt;CodePlex Client&lt;/a&gt;. I still have to get &lt;a href="http://tortoisesvn.net/" target="_blank"&gt;TortoiseSVN&lt;/a&gt; for work!!       &lt;br /&gt;      &lt;br /&gt;Now there is a nice configuration file to which must be created, with some documentation (minimal at best). The moment I added in the parameters for my Diff and Merge tools, it thew exceptions. With no handler, to get any reason why.       &lt;br /&gt;&lt;/p&gt;    &lt;table cellspacing="0" cellpadding="2" width="400" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="400"&gt;&lt;em&gt;&lt;font color="#0000a0"&gt;&lt;strong&gt;Note to self:&lt;/strong&gt;                 &lt;br /&gt;Next time you have this situation and the source code and an ERROR - fix it.&amp;#160; I mean, I had the code, I knew the language, I could do what was needed to fix it..but I was thinking in the box....DUH!!&lt;/font&gt;&lt;/em&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;br /&gt;    &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;      &lt;br /&gt;So I start taking out the parameters one by one. Eventually - it comes back to a working state when there are virtually NO PARAMETERS! &lt;/p&gt;    &lt;p&gt;(What I learn through much trial and error is that I should wait to establish comm from my system to CodePlex servers with the Client - BEFORE setting the &lt;a href="http://www.sourcegear.com/diffmerge/index.html" target="_blank"&gt;SourceGear&lt;/a&gt; or &lt;a href="http://tortoisesvn.tigris.org/TortoiseMerge.html" target="_blank"&gt;TortoiseMerge&lt;/a&gt;/Diff tool parameters...)       &lt;br /&gt;      &lt;br /&gt;&lt;h43&gt;&lt;u&gt;&lt;strong&gt;Fine, so, now I need to:check-in my project for the first time!&lt;/strong&gt;&lt;/u&gt; &lt;/p&gt;    &lt;h3&gt;&lt;/h3&gt;    &lt;br /&gt;But there is no such command in the &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; Client. OK, fine, I try add - but that is to add files/directories after they are checked out- DUH!?     &lt;p&gt;&lt;/p&gt;    &lt;p align="center"&gt;&lt;font color="#800000"&gt;Now, remember - I have NO project files on their server. I search thru the Wiki and find some answer...&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;strong&gt;cpc checkout [projectname]&lt;/strong&gt;       &lt;br /&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;em&gt;Which is so logical!&lt;/em&gt; &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;This I learn from someone who stayed up very late trying to use the &lt;a href="http://www.codeplex.com" target="_blank"&gt;CodePlex&lt;/a&gt; Client - and he was kind enough to post his notations into the Wiki.       &lt;br /&gt;      &lt;br /&gt;Eventually - I get the project uploaded.       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;&lt;font color="#800000" size="3"&gt;&lt;strong&gt;&lt;u&gt;Select A License&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;I thought I might select the GNU license, but I went around and looked at a lot of the licenses other projects had, and was surprised in the variety. When researching the Open Source Foundation, they had so many licenses, even NASA had an open source license - I just went and decided to use the Microsoft one. No particular reason why, just hope they don't get any rights because of it!      &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;font color="#800000" size="3"&gt;&lt;strong&gt;&lt;u&gt;Update the Issues&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;       &lt;br /&gt;      &lt;br /&gt;There were several. I think the most critical being the data model is still in flux.       &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;strong&gt;&lt;u&gt;&lt;font color="#800000" size="3"&gt;Create A Release&lt;/font&gt;           &lt;br /&gt;&lt;/u&gt;&lt;/strong&gt;      &lt;br /&gt;Now this was interesting. I had already created the base set of files when I uploaded changeset 19719. But for a Release, it did not draw from what was checked into the repository but required I upload files from my local file system - again.       &lt;br /&gt;      &lt;br /&gt;Along with each file - provide a description. I created the Alpha Release 001 and placed it into PLANNED status.       &lt;br /&gt;      &lt;br /&gt;&lt;font color="#800000" size="3"&gt;&lt;strong&gt;&lt;u&gt;CodePlex gives you several statuses for a Release&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;       &lt;br /&gt;&lt;/p&gt;    &lt;p&gt;(&lt;strong&gt;&lt;em&gt;Which we may review for adoption on my current project)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;font color="#008000"&gt;Alpha&lt;/font&gt;&amp;#8212;the first feature-complete build of the software that is ready for testing. Some developers may also use the term &amp;quot;Alpha&amp;#8221; for software with limited functionality. &lt;/li&gt;      &lt;li&gt;&lt;font color="#008000"&gt;Beta&lt;/font&gt;&amp;#8212;a feature-complete build of the software that has passed system and regression testing. &lt;/li&gt;      &lt;li&gt;&lt;font color="#008000"&gt;Nightly Build&lt;/font&gt;&amp;#8212;as implied, a build of the software generated after the developers have completed their work for the day. This is often an automated build. &lt;/li&gt;      &lt;li&gt;&lt;font color="#008000"&gt;Production&lt;/font&gt;&amp;#8212;the final release to be delivered to the end users. &lt;/li&gt;      &lt;li&gt;&lt;font color="#008000"&gt;Release Candidate&lt;/font&gt;&amp;#8212;a build of the software that is potentially ready for final release to the end user, barring any &amp;#8220;show-stopping&amp;#8221; issues that come to light. &lt;/li&gt;      &lt;li&gt;&lt;font color="#008000"&gt;Special Build&lt;/font&gt;&amp;#8212;a software build that is generated for any particular reason, often at the request of a project member or members. &lt;/li&gt;   &lt;/ol&gt;   &lt;font color="#800000" size="3"&gt;&lt;strong&gt;&lt;u&gt;Tags&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;     &lt;br /&gt;    &lt;br /&gt;Now update the &amp;quot;tags&amp;quot; that I think should be used as part of a search in order for people to find my project. I select several, from .NET 2.0 to Java/J#.     &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;font color="#800000" size="3"&gt;&lt;strong&gt;&lt;u&gt;Status Check&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;     &lt;br /&gt;    &lt;br /&gt;OK, I have made the new project - provided detailed information on it's design, uploaded the files, selected a license, identified issues, created a release - OH yes - PUBLISH IT!!!     &lt;br /&gt;    &lt;br /&gt;There is still more to do,     &lt;br /&gt;    &lt;br /&gt;Add News Feeds and but the most difficult part for me...     &lt;br /&gt;    &lt;br /&gt;After You Publish Your Project, Increase Traffic and Evangelize Your Project     &lt;br /&gt;    &lt;br /&gt;I was never a salesman!! But we shall see how it goes.     &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;Now work Begins!!     &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;Oh, and this is a screenshot of &lt;a href="http://www.codeplex.com/SQLString" target="_blank"&gt;SQLString&lt;/a&gt; in action!!     &lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5222724426438208578" src="http://4.bp.blogspot.com/_wt5dx-VUxac/SHrYMdWa7EI/AAAAAAAAAHM/GxFPLfnbdrw/s320/STEP3.JPG" border="1" /&gt;     &lt;br /&gt;    &lt;ol&gt;&lt;/ol&gt;    &lt;p&gt;&lt;/p&gt; &lt;/font&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3062406840219212076-2425119411416734015?l=dotnet-jeff.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dotnet-jeff.blogspot.com/feeds/2425119411416734015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3062406840219212076&amp;postID=2425119411416734015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/2425119411416734015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3062406840219212076/posts/default/2425119411416734015'/><link rel='alternate' type='text/html' href='http://dotnet-jeff.blogspot.com/2008/07/first-opensource-project-up-work-starts.html' title='First OpenSource Project Up! Work Starts.'/><author><name>jeffHAMLIN</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_wt5dx-VUxac/SHgf87btU9I/AAAAAAAAAFU/agawO-ggNJQ/S220/mysnap.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_wt5dx-VUxac/SHrYMdWa7EI/AAAAAAAAAHM/GxFPLfnbdrw/s72-c/STEP3.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
