<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Programming</title>
        <link>http://geekswithblogs.net/mflasko/category/502.aspx</link>
        <description>The title says it all</description>
        <language>en-CA</language>
        <copyright>Mike Flasko</copyright>
        <managingEditor>mike@flasko.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>System.Net wants to hear from you!</title>
            <link>http://geekswithblogs.net/mflasko/archive/2005/09/21/54585.aspx</link>
            <description>&lt;P&gt;I have recently taken on the role of PM for the System.Net team.&amp;nbsp; Now that Whidbey is winding down, we are starting Orcas (aka the next version of the .Net Framework)&amp;nbsp;planning and want to hear what you think.&amp;nbsp; What needs to be changed/improved/added?&amp;nbsp; Want to put in your 2 cents and describe the scenarios in which you use or would like to use the System.Net namespace?&amp;nbsp; If so, navigate here: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/wndp/archive/2005/09/06/461533.aspx"&gt;http://blogs.msdn.com/wndp/archive/2005/09/06/461533.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Help make the .Net Framework better - link to the above post !&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=54585"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=54585" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/54585.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2005/09/21/54585.aspx</guid>
            <pubDate>Wed, 21 Sep 2005 18:03:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/54585.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2005/09/21/54585.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/54585.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/54585.aspx</trackback:ping>
        </item>
        <item>
            <title>SSL and TLS Essentials</title>
            <link>http://geekswithblogs.net/mflasko/archive/2005/05/20/40144.aspx</link>
            <description>&lt;P&gt;I was on a good blogging pace this month until a very nasty flu got ahold of me.&amp;nbsp; Needless to say I have had a lot of couch and movie time over the past week and a half which, when I had the energy, allowed me to do some reading.&amp;nbsp; If you read the title of this post you will know&amp;nbsp;my latest book of choice was &amp;#8220;SSL and TLS Essentials - Securing the Web&amp;#8221; by Stephen Thomas.&amp;nbsp;&amp;nbsp;I think (maybe&amp;nbsp;I just never noticed) this is&amp;nbsp;one of the first books I have read&amp;nbsp;that was published by Wiley Computer Publishing and it was definitely my first go at a book written by Stephen Thomas.&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The verdict is....&amp;nbsp;&lt;STRONG&gt;it is a great read&lt;/STRONG&gt;.&amp;nbsp; In tune with what my friend &lt;A href="http://jasonkemp.ca/archive/2005/05/14/378.aspx"&gt;Jason Kemp wrote&lt;/A&gt;,&amp;nbsp;this book is highly focused on one subject, which is what makes it great.&amp;nbsp; Those&amp;nbsp;catch-all programming books are generally&amp;nbsp;trash and never really&amp;nbsp;answer your burning questions on&amp;nbsp;the subject at hand.&amp;nbsp;&amp;nbsp;This book, just short of 200 pages,&amp;nbsp;starts out light by introducing public/private key technology (with cartoons :) ), then moves into describing&amp;nbsp;SSL from version 2.0 to 3.0 and finally its&amp;nbsp;migration to TLS (Transport layer security).&amp;nbsp; The book then concludes with&amp;nbsp;a look at X.509 certificates, including a walk through (byte-by-byte)&amp;nbsp;of an&amp;nbsp;actual certificate and an overview of the theoretical weaknesses of&amp;nbsp;SSL and known exploits of various algorithms&amp;nbsp;with given key lengths.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;If you are&amp;nbsp;completely new to SSL/TLS or want to get a solid understanding (message layouts, certificate fields, etc)&amp;nbsp;of the protocol&amp;nbsp;and its surrounding technologies this is the book for you.&amp;nbsp;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=40144"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=40144" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/40144.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2005/05/20/40144.aspx</guid>
            <pubDate>Fri, 20 May 2005 17:05:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/40144.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2005/05/20/40144.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/40144.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/40144.aspx</trackback:ping>
        </item>
        <item>
            <title>Writing an IP Independent Client using Winsock</title>
            <link>http://geekswithblogs.net/mflasko/archive/2005/05/02/38893.aspx</link>
            <description>&lt;P&gt;Winsock is the socket-based API on the Windows platform.  Winsock (on Windows) provides more functionality than a standard BSD socket interface and also has additional MS only functions above what is defined in the WinSock spec (WinSock is not a strictly MS thing).  Maybe in a future post I will talk about how Winsock is really just a layer on top of a much more general API allowing Windows to easily move to the next API of the decade.  Ok lets get back on track and start talking about IP independent client apps.&lt;/P&gt;
&lt;P&gt;When writing a client today we must be thinking of both IPv4 and IPv6 as a possible network layer.  Yes, I know v6 has been &amp;#8220;just around the corner&amp;#8221; for quite some time now, but we are finally seeing signs it is starting to take real flight.  For example, Longhorn will choose to use a IPv6 address over an IPv4 one if both are available.&lt;/P&gt;
&lt;P&gt;The following is a list of DOs and DO NOTs when writing IP independent apps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Avoid making reference to an address family anywhere in your code (AF_INET, AF_INET6) 
&lt;LI&gt;Do not allocate protocol specific structures (SOCKADDR_IN, SOCKADDR_IN6), but instead use SOCKADDR_STORAGE, which is as large as the largest protocol specific address structure and provides padding for 64-bit alignment issues 
&lt;LI&gt;Avoid hard-coded addresses.  Winsock provides constants for any that you will need (Loopback, wildcard for binding, etc) 
&lt;LI&gt;When passing address information around in your functions, pass the entire address structure (SOCKADDR) and not just the protocol specific one.  
&lt;LI&gt; Avoid the legacy IPv4 only name resolution API calls and use &lt;EM&gt;getaddrinfo&lt;/EM&gt; and &lt;EM&gt;getnameinfo&lt;/EM&gt; instead as they work with both v4 and v6.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The following is a small piece of sample code demonstrating an IP independent client:&lt;/P&gt;&lt;BR&gt;&lt;PRE&gt;struct addrinfo hints, *result=NULL;                
char *remoteAddr, *portNum;
SOCKADDR dest;
int res;

// set remoteAddr and portNum to some values via user input, config file, etc
// remoteAddr = "foobar.com"  portNum="5000";

memset(&amp;hints,0,sizeof(hints));
hints.ai_flags = AI_CANONNAME;
hints.ai_family = AF_UNSPEC;    // resolution could return v4 or v6 address
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;

res = getaddrinfo(remoteAddr, portNum,&amp;hints,&amp;result);
if(res == WSANO_DATA){
  //resolution failed - return error
}

s = SOCKET(result-&gt;ai_family, result-&gt;socktype, result-&gt;ai_protocol);
if(s == INVALID_SOCKET){
   //failure when creating the socket - return error
}

res = connect(s, result-&gt;ai_addr, result-&gt;ai_addrlen);
if(res == SOCKET_ERROR){
   //error connecting to foobar.com - return error
}

//must be freed because it is dynamically allocated by the getaddrinfo call
freeaddrinfo(result);  

// you are connected ....send and receive data 

//graceful TCP socket closure
shutdown(s, SD_BOTH);
closesocket(s);
&lt;/PRE&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38893"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38893" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/38893.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2005/05/02/38893.aspx</guid>
            <pubDate>Mon, 02 May 2005 17:20:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/38893.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2005/05/02/38893.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/38893.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/38893.aspx</trackback:ping>
        </item>
        <item>
            <title>3-tiered architecture overview </title>
            <link>http://geekswithblogs.net/mflasko/archive/2005/05/01/38805.aspx</link>
            <description>This is a really nice post summarizing the &lt;A href="http://www.hanselman.com/blog/PermaLink.aspx?guid=a0a65e0c-5ef8-41e4-a566-1739b4428aa5"&gt;three tiered architecture&lt;/A&gt;.&amp;nbsp; Check it out.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38805"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38805" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/38805.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2005/05/01/38805.aspx</guid>
            <pubDate>Sun, 01 May 2005 15:56:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/38805.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2005/05/01/38805.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/38805.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/38805.aspx</trackback:ping>
        </item>
        <item>
            <title>How to be the apparent innovation leader - the Apple way</title>
            <link>http://geekswithblogs.net/mflasko/archive/2005/04/30/38758.aspx</link>
            <description>&lt;P&gt;Lately the buzz around many of my peers has been around Apple's new OS and how they are leaving Windows behind in their dust.&amp;nbsp; Yes, everyone knows I have been in the Windows camp for sometime, but this fact is irrelevant to my following argument - How to be&amp;nbsp;the apparent innovation leader.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;First, some explanation is in order.&amp;nbsp; By apparent innovation leader, I am referring to the ability to be perceived at the leading edge of technology whether you are actually there or not.&amp;nbsp; Apple has done a great job of this lately, but will it last?&amp;nbsp; If history is an indicator, yes it will last, but at the expense of&amp;nbsp;the&amp;nbsp;current user base and&amp;nbsp;developer community.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;About one year ago, I completed an in depth study of the three leading OS offerings: Windows, Linux(redhat &amp;amp; suse), and OS X.&amp;nbsp; My findings lead to the following blanket assertion about OS X: They have finally settled in to something for the long&amp;nbsp;haul (explained below), but while their marketing campaign is quite warm and fuzzy they are still more than willing to stiff the user or the developer.&amp;nbsp; Now people are outraged by this statement as they claim that OS X 10.X is the best thing since sliced bread for user experience.&amp;nbsp; This may very well be so, but painting an old house doesn't change the fact the foundation is&amp;nbsp;wearing thin.&amp;nbsp; If you do a google search for OS X's roots, you will find it is build on top of a unix-like OS called Darwin which is strongly rooted in BSD 4.5.&amp;nbsp; This leads me to my first&amp;nbsp;major point of how Apple appears to stay on the leading edge:&amp;nbsp;&lt;STRONG&gt;Buy a new operating system core and build on top of it the experience of the decade&lt;/STRONG&gt;.&amp;nbsp; Apple is the &lt;A href="http://www.kernelthread.com/mac/oshistory/"&gt;master &lt;/A&gt;of doing this.&amp;nbsp; Once they detect their offering is getting moldy they are quick to pickup a better core with which to build a new experience on top of.&amp;nbsp; Unfortunately, by doing this core swap someone must get stiffed.&lt;/P&gt;
&lt;P&gt;As you probably expected, this OS core swap means &lt;STRONG&gt;incompatibility of the current software base&lt;/STRONG&gt;.&amp;nbsp; For a great example look at the transition from OS 9 to OS X.&amp;nbsp; Basically, Apple said if you want to stick with us you need to completely re-outfit yourself.&amp;nbsp; The surprising thing is that people did just that.&amp;nbsp;&amp;nbsp;More importantly,&amp;nbsp;people outside of the Mac camp joined in once OS X was released due to its&amp;nbsp;innovations.&amp;nbsp; So please &lt;STRONG&gt;do not complain&lt;/STRONG&gt; if Longhorn brings about some of the same as the market has signaled they are ok with such discontinuous innovation in favor of the next revolution.&amp;nbsp; This&amp;nbsp;compatibility is THE MOST overlooked aspect of Windows.&amp;nbsp; If you don't believe me,&amp;nbsp;search the blogosphere for&amp;nbsp;&amp;#8220;MS and shims in the OS&amp;#8221;.&amp;nbsp; You will be amazed at the&amp;nbsp;ways the OS&amp;nbsp;is tweaked for individual applications all in the name of backwards compatibility.&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So to keep an image of innovation, &lt;STRONG&gt;you could provide advances through R&amp;amp;D or you could shorten your release cycle, keep your eye candy fresh and continuously harvest the low hanging fruit until such branches disappear, then move on to another type of fruit all together&lt;/STRONG&gt;.&amp;nbsp; To put this into an OS X content, read the first few paragraphs of&amp;nbsp;&lt;A href="http://arstechnica.com/reviews/os/macosx-10.4.ars?31619"&gt;this &lt;/A&gt;review of Apple's latest release.&amp;nbsp; Yes, I am being&amp;nbsp;somewhat harsh and failing to mention some of the innovations in&amp;nbsp;OS X.&amp;nbsp; This is mainly due to the fact that the kernel innovations I have read of so far (IOKit and Core Foundation) really aren't that exciting.&lt;/P&gt;
&lt;P&gt;Well, to wrap this up quickly, I will not seriously look at OS X (as an innovator)&amp;nbsp;until they provide some signal they will guarantee compatibility to me (as both a user and developer)&amp;nbsp;for an extended amount of time.&amp;nbsp; &lt;STRONG&gt;I agree&amp;nbsp;at some point discontinuos innovation may be necessary to make a major step forward, but such things, expecially in the OS space, need to be infrequent and well justified&lt;/STRONG&gt;.&amp;nbsp; It looks like Apple&amp;nbsp;is starting to finally figure this out by, for the first time, promising no disruptive API changes in their latest offering.&amp;nbsp; But, for now, in my mind, Apple in not an innovation leader because they have historically been ignoring the (mandatory) hardest part of innovation, compatibility.&amp;nbsp; &lt;STRONG&gt;I am not willing to upgrade at over 100$ US a pop every year to something that gives me inevitable upgrade hassles and&amp;nbsp;no guarantees my current software suite and development efforts are still valid.&lt;/STRONG&gt;&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38758"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=38758" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/38758.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2005/04/30/38758.aspx</guid>
            <pubDate>Sat, 30 Apr 2005 18:11:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/38758.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2005/04/30/38758.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/38758.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/38758.aspx</trackback:ping>
        </item>
        <item>
            <title>A nice change of pace for Channel 9</title>
            <link>http://geekswithblogs.net/mflasko/archive/2005/04/16/35652.aspx</link>
            <description>&lt;P&gt;Channel 9 is a place where Scoble posts videos in which he interviews various groups of people at Microsoft.&amp;nbsp; Many of these videos can be quite interesting, but are almost always technical&amp;nbsp;(example = windows architecture)&amp;nbsp;or demos of products.&amp;nbsp; Don't get me wrong, I quite enjoy such videos, but this post is about &amp;#8220;a change of pace&amp;#8221;.&amp;nbsp; If you go to &lt;A href="http://channel9.msdn.com/"&gt;here &lt;/A&gt;you will find a marketing&amp;nbsp;video about how the Visual Studio team comes up with new features and what marketing research they listen to.&amp;nbsp; The content of the video isn't revolutionary, but&amp;nbsp;it is always interesting to see how other people tackle similar problems you face.&amp;nbsp; &lt;EM&gt;You learn more listening than talking, right !?!&lt;/EM&gt;&amp;nbsp; I have spent a lot of time through my formal education (which I'm 1 final exam away from completing :) )&amp;nbsp;and spare time learning about marketing and finance.&amp;nbsp; So for all the tech guys that love the business aspects of the software industry, you should enjoy this video.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=35652"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=35652" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/35652.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2005/04/16/35652.aspx</guid>
            <pubDate>Sat, 16 Apr 2005 17:24:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/35652.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2005/04/16/35652.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/35652.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/35652.aspx</trackback:ping>
        </item>
        <item>
            <title>Concurrency</title>
            <link>http://geekswithblogs.net/mflasko/archive/2005/03/03/24966.aspx</link>
            <description>I came accross a great blog by a self proclaimed &amp;#8220;old fogey&amp;#8221; (Larry Osterman)&amp;nbsp;a while back and have been meaning to post about it for a while now.&amp;nbsp; He is currently writing a great article on &lt;A href="http://blogs.msdn.com/larryosterman"&gt;concurrency&lt;/A&gt; .&amp;nbsp; He has also written a nice post about the use of fibers (think lightweight threads).&amp;nbsp; I highly recommend his blog.&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=24966"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=24966" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/24966.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2005/03/03/24966.aspx</guid>
            <pubDate>Fri, 04 Mar 2005 03:52:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/24966.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2005/03/03/24966.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/24966.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/24966.aspx</trackback:ping>
        </item>
        <item>
            <title>Crossing the Chasm</title>
            <link>http://geekswithblogs.net/mflasko/archive/2004/12/19/18068.aspx</link>
            <description>&lt;P&gt;I have been away from my blog for quite a while now because of work obligations as well final exams (Only 1 more semester until I graduate ).&amp;nbsp; I have been done for a week or so now and have found myself filling my days with books and the gym.&amp;nbsp; In fact, books are the topic of this post.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am nearly complete the book &amp;#8220;&lt;STRONG&gt;Crossing the Chasm&lt;/STRONG&gt;&amp;#8221;, a&amp;nbsp;book on high tech marketing by Harper Business Essentials.&amp;nbsp; Without a doubt, this is&amp;nbsp;one of the best books I have read in a while.&amp;nbsp;&amp;nbsp;Not only is it packed with useful content, but the authors lighthearted style makes it an easy and enjoyable read.&amp;nbsp; If&amp;nbsp;marketing or strategic planning is a part of your job and you&amp;nbsp;haven't read it already, WHAT ARE YOU WAITING FOR?&amp;nbsp; The book does assume an intermediate level of marketing competency, so brush up on your 4 P's before picking it up :).&amp;nbsp; I&amp;nbsp;will be posting&amp;nbsp;a complete review of the book when I have finished it...stay tuned.&amp;nbsp; &lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=18068"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=18068" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/18068.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2004/12/19/18068.aspx</guid>
            <pubDate>Sun, 19 Dec 2004 16:36:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/18068.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2004/12/19/18068.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/18068.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/18068.aspx</trackback:ping>
        </item>
        <item>
            <title>Network settings the easy way</title>
            <link>http://geekswithblogs.net/mflasko/archive/2004/10/31/14134.aspx</link>
            <description>&lt;P&gt;If you are&amp;nbsp;like me, you constantly play around with your home network.&amp;nbsp; I find first handle knowledge is the best way to learn :).&amp;nbsp; The point of this post is:&lt;/P&gt;
&lt;P&gt;I wanted a way to store my network interface settings and then easily restore them all after I had played around with&amp;nbsp;my machine to the point where nothing worked anymore.&amp;nbsp;&amp;nbsp;I came across&amp;nbsp;this little&amp;nbsp;hack that&amp;nbsp;I thought is&amp;nbsp;pretty cool:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;To save your&amp;nbsp;interface settings:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;netsh -c interface dump &amp;gt; settings.txt&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;To restore the settings when you are done:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;netsh -f settings.txt&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;Yes, I know&amp;nbsp;the GUI in&amp;nbsp;the control&amp;nbsp;panel allows me to do all that.&amp;nbsp; I love a good GUI as much as the next guy, but&amp;nbsp;I suggest every tinker happy user (this is me) should start&amp;nbsp;looking around&amp;nbsp;the contexts of netsh -&amp;nbsp;you will be amazed at how much you can tuck away in a .cmd file to make administration that much faster.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=14134"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=14134" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/14134.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2004/10/31/14134.aspx</guid>
            <pubDate>Sun, 31 Oct 2004 22:52:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/14134.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2004/10/31/14134.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/14134.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/14134.aspx</trackback:ping>
        </item>
        <item>
            <title>What is your file extension</title>
            <link>http://geekswithblogs.net/mflasko/archive/2004/10/23/13091.aspx</link>
            <description>&lt;P&gt;My buddy Jason always ropes me into doing these..... my file extension is:&lt;/P&gt;
&lt;P&gt;&lt;a href="http://www.bbspot.com/News/2004/10/extension_quiz.php"&gt;&lt;img
src="http://www.bbspot.com/Images/News_Features/2004/10/file_extensions/doc.jpg" width="300" height="90"
border="0" alt="You are .doc You change from year to year, just to make things tough on your competition.  Only your creator really has a handle on you."&gt;&lt;br&gt;Which File Extension are You?&lt;/a&gt;
&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=13091"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=13091" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mflasko/aggbug/13091.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mike Flasko</dc:creator>
            <guid>http://geekswithblogs.net/mflasko/archive/2004/10/23/13091.aspx</guid>
            <pubDate>Sat, 23 Oct 2004 05:30:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/mflasko/comments/13091.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/mflasko/archive/2004/10/23/13091.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/mflasko/comments/commentRss/13091.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/mflasko/services/trackbacks/13091.aspx</trackback:ping>
        </item>
    </channel>
</rss>