<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>CodeInsight.com</title>
	
	<link>http://blog.codeinsight.com</link>
	<description>The nitty gritty of software development</description>
	<lastBuildDate>Thu, 03 Jan 2013 02:26:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/codeinsight" /><feedburner:info uri="codeinsight" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>A Progressive Viewpoint</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/XIEx3v2KS1M/</link>
		<comments>http://blog.codeinsight.com/2012/09/28/my-core-beliefs/#comments</comments>
		<pubDate>Fri, 28 Sep 2012 07:51:47 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[General Interest]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=186</guid>
		<description><![CDATA[Many progressives share views with libertarians: fiscally conservative pragmatic believe in freedom. But progressives are compassionate and insist on society&#8217;s roll in helping those in need. A progressive person would never suggest that fire departments should be privatized and require a subscription to get fire protection. Here is a list of some of my core [...]]]></description>
				<content:encoded><![CDATA[<p>Many progressives share views with libertarians:</p>
<ul>
<li>fiscally conservative</li>
<li>pragmatic</li>
<li>believe in freedom.</li>
</ul>
<p>But progressives are compassionate and insist on society&#8217;s <span class="GRcorrect">roll</span> in helping those in need. A progressive person would never suggest that fire departments should be privatized and require a subscription to get fire protection.</p>
<p>Here is a list of some of my core beliefs-</p>
<ul>
<li>Medicare for all.</li>
<li>Free quality education.</li>
<li>Make all drugs and drug use legal with a <span class="GRcorrect">doctors</span> prescription. Treat drug use like a medical problem, not a legal problem.</li>
<li>Legalize non-violent activity between consenting adults.</li>
<li>Drastically reduce the military budget. Close overseas bases unless we can partner with another nation at each one for staffing and expenses. Presently the USA spends as much as the next 17 countries combined, and 15 of them are our allies. The USA has 5% of the world population and spends 50% of the money spent in the world on military.</li>
<li>A Balanced Budget Amendment (except in times of DECLARED WAR).</li>
<li>A fair tax system that is not regressive (like sales tax), but very progressive. Throw out the entire tax code and start over with an income tax with no deductions.</li>
<li>The USA should be more concerned about contract law than people&#8217;s sex lives. Get the USA out of the sex business. Instead of gay marriage, civil unions for everyone. If you want to get _married_ go to your church and it is between you and the church. If you go to city hall, civil union.</li>
<li>Corporations are not people (and shouldn&#8217;t pay ANY taxes- only people should pay taxes).</li>
<li>Income is income. No type of income is better or worse than any other type of income. It should all be taxed the same way (a progressive rate).</li>
<li>Money is NOT speech! (<span class="GRcorrect">see</span>: http://MoveToAmend.org)</li>
</ul>
<p>&nbsp;</p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=186&amp;md5=a6f843e9eb0eb9c59834fb908ab2195d" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/XIEx3v2KS1M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2012/09/28/my-core-beliefs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2012/09/28/my-core-beliefs/</feedburner:origLink></item>
		<item>
		<title>SAR Tracking in San Benito County</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/FDQFIaLwXLQ/</link>
		<comments>http://blog.codeinsight.com/2009/04/30/sar-tracking-in-san-benito-county/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 20:41:02 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[Search and Rescue]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=151</guid>
		<description><![CDATA[I just got back from Pinnacles National Monument in San Benito County. I was helping Fernando Moreira and George Dresnek teach a tracking class for the San Benito SAR team. Here are a few YouTube videos: Here are some photos I took while there:]]></description>
				<content:encoded><![CDATA[<p>I just got back from <a href="http://www.nps.gov/pinn/ " target="_blank">Pinnacles National Monument</a> in San Benito County. I was helping <a href="http://searchandrescuetrackers.com" target="_blank">Fernando Moreira</a> and George Dresnek teach a tracking class for the San Benito SAR team.</p>
<p><strong>Here are a few YouTube videos:</strong></p>
<p><object width="425" height="344" data="http://www.youtube.com/v/pHxMzAG0DUQ&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/pHxMzAG0DUQ&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p><object width="445" height="364" data="http://www.youtube-nocookie.com/v/ScanxlMHKBM&amp;hl=en&amp;fs=1&amp;border=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube-nocookie.com/v/ScanxlMHKBM&amp;hl=en&amp;fs=1&amp;border=1" /><param name="allowfullscreen" value="true" /></object></p>
<p><strong>Here are some photos I took while there:</strong><br />
<embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="288" height="192" flashvars="host=picasaweb.google.com&#038;captions=1&#038;RGB=0x000000&#038;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fmef526%2Falbumid%2F5329438974578631585%3Fkind%3Dphoto%26alt%3Drss" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=151&amp;md5=8cbeb78d3800f103f45e1654ea313cfb" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/FDQFIaLwXLQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2009/04/30/sar-tracking-in-san-benito-county/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2009/04/30/sar-tracking-in-san-benito-county/</feedburner:origLink></item>
		<item>
		<title>Brainbench “C Fundamentals” Certification</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/9hoIfSQnm2U/</link>
		<comments>http://blog.codeinsight.com/2009/04/08/brainbench-c-language-certification/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 17:54:29 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[.Net Programming]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=131</guid>
		<description><![CDATA[Brainbench made some of their certification tests free for April 2009 so I took the C Fundamentals test. Here&#8217;s my latest certification: Brainbench C Certification Individual Test Results Completed Test Name: C Fundamentals Score: 4.42 Date: 2009-04-08 View detailed topic results Scored higher than 90% of all previous test takers. Demonstrates a clear understanding of [...]]]></description>
				<content:encoded><![CDATA[<p>Brainbench made some of their certification tests free for April 2009 so I took the C Fundamentals test.</p>
<p>Here&#8217;s my latest certification: <a href="http://www.brainbench.com/transcript.jsp?pid=7924288" target="_blank">Brainbench C Certification</a></p>
<p><a href="http://www.brainbench.com/transcript.jsp?pid=7924288" target="_blank"><img class="alignnone size-full wp-image-132" title="Brainbench C Fundamentals Icon" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/brainbench_c.jpg" alt="Brainbench C Fundamentals Icon" /></a></p>
<p><!-- ##################################### --></p>
<hr />
<p class="bigtext1"><strong>Individual Test Results</strong></p>
<p><!-- ##################################### --><img src="http://www.brainbench.com/avmedia/images/bb/1pixel.gif" border="0" alt="" hspace="0" vspace="0" width="100%" height="1" /> <span><span></p>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tbody>
<tr class="rowheader">
<td class="headerFont" style="padding-left: 3px;" colspan="3"><strong> Completed Test </strong></td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tbody>
<tr>
<td class="body" style="padding-left: 20px;" valign="top">
<div><strong> Name: </strong> <span>C Fundamentals</span></div>
</td>
<td class="body" valign="top"><strong> Score: </strong> <span>4.42</span></td>
<td class="body" width="150" valign="top"><strong> Date: </strong> <span>2009-04-08</span></td>
</tr>
<tr>
<td class="body" style="padding-left: 20px;" colspan="3" align="left" valign="top">
<p class="body"><a onclick="window.open('http://www.brainbench.com/content/transcript/topicdetail.do?testid=9891404','_blank','width=600,height=500,scrollbars=yes,resizable=true')" name="topic_detail" href="http://www.brainbench.com/xml/bb/transcript/public/transcript_testdetails.xml?back=1&amp;pid=7924288&amp;testid=9891404#ttt">View detailed topic results</a></p>
</td>
</tr>
<tr>
<td class="body" style="padding-left: 20px;" colspan="3" align="left" valign="top">
<p class="body">Scored higher than <span>90</span>% of all previous test takers.</p>
<p><span></p>
<p class="body"><span>Demonstrates a clear understanding of many advanced concepts within this topic. Appears capable of mentoring others on most projects in this area.</span></p>
<p></span> <span></p>
<table border="0" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td class="body" colspan="3"><strong>Strengths</strong></td>
</tr>
<tr>
<td></td>
<td class="body">Compiler Operations</td>
<td></td>
</tr>
<tr>
<td></td>
<td class="body">Functions</td>
<td></td>
</tr>
<tr>
<td></td>
<td class="body">Arrays</td>
<td></td>
</tr>
<tr>
<td></td>
<td class="body">Program Statements</td>
<td></td>
</tr>
<tr>
<td></td>
<td class="body">C Expressions</td>
<td></td>
</tr>
<tr>
<td class="body" colspan="3"><strong>Weak Areas</strong></td>
</tr>
<tr>
<td></td>
<td class="body">Debugging and Error Handling</td>
<td></td>
</tr>
</tbody>
</table>
<p></span></td>
<td valign="top"></td>
</tr>
<tr>
<td colspan="4" align="center"><a href="javascript:%20history.go(-1);"><br />
</a></td>
</tr>
</tbody>
</table>
<p></span></span></p>
<hr />I was ding&#8217;ed for debugging and error handling, and I&#8217;ll look into that, but the score wasn&#8217;t too bad considering I took the test on a whim and without preparation.</p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=131&amp;md5=9ec1077accb7870ce5f0cb3c4c1e1e3d" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/9hoIfSQnm2U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2009/04/08/brainbench-c-language-certification/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2009/04/08/brainbench-c-language-certification/</feedburner:origLink></item>
		<item>
		<title>My EMT Ride-alongs</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/zNC7lIjJS28/</link>
		<comments>http://blog.codeinsight.com/2009/04/06/my-emt-ride-alongs/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 22:33:22 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[Search and Rescue]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=85</guid>
		<description><![CDATA[For those who don&#8217;t know, I am in an EMT class at Santa Rosa Junior College. After the class I still need to pass the National Registry Exam for EMT&#8217;s. Part of this class requires that I do &#8220;Ride-Alongs&#8221;, that is, I must spend two 8 hour shifts on the back of an ambulance with [...]]]></description>
				<content:encoded><![CDATA[<p>For those who don&#8217;t know, I am in an <a href="http://www2.santarosa.edu/pages/public-safety-training-center/emergency-medical-care/emergency-medical-technician.php" target="_blank">EMT class</a> at Santa Rosa Junior College. After the class I still need to pass the <a href="http://nremt.org/nremt/about/about_exams.asp" target="_blank">National Registry Exam for EMT&#8217;s</a>.</p>
<p>Part of this class requires that I do &#8220;Ride-Alongs&#8221;, that is, I must spend two 8 hour shifts  on the back of an ambulance with other EMT&#8217;s to get an idea of what it is like to be an EMT.</p>
<hr />
<h2>Russian River Fire Protection District &#8211; Sunday March 8, 2009</h2>
<p><a title="RRFPD Station House" href="http://www.russianriverfire.org/" target="_blank"><img class="size-full wp-image-104 alignleft" style="border: 1px solid black; margin: 8px;" title="RRFPD Station House" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/stationside_small.jpg" alt="" width="266" height="200" /></a></p>
<p>My first ridealong was Sunday March 8 at the <a href="http://www.russianriverfire.org/" target="_blank">Russian River Fire Protection District</a> (RRFPD) in Guerneville, CA (the Guerneville firehouse). That day was VERY uneventful. I arrived at 10:00 AM to a clean and orderly firehouse. I spent most of the day in the residence reading.</p>
<p>There was only one call at about 1345 HRS to a house in Oddfellows Park with a stuck flue on a pellet stove. The house was filling with smoke and the residents called for help. The rule at RRFPD is that on any call the entire house, two firefighters and one paramedic, will respond. So we went- one engine with two firemen (Ryan Lantz and Travis Wood), and an ambulance with a paramedic (Glenn Rampone and myself). The call was resolved by Steve Baxman from Monte Rio who made it there before we did.</p>
<p>After we returned from the call Glenn gave me a tour of the ALS rig. He described all the gear he uses and the situations that the gear is used in.</p>
<div id="attachment_97" class="wp-caption alignleft" style="width: 310px"><img style="border: 1px solid black; margin: 8px;" title="Ryan - RRFPD Firefighter" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/att00096-300x225.jpg" alt="Ryan Wood- RRFPD Firefighter" width="300" height="225" /><p class="wp-caption-text">Ryan Lantz- RRFPD Firefighter</p></div>
<div id="attachment_99" class="wp-caption alignleft" style="width: 310px"><img style="border: 1px solid black; margin: 8px;" title="Travis Wood- RRFPD Firefighter" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/att001051-300x225.jpg" alt="Travis- RRFPD Firefighter" width="300" height="225" /><p class="wp-caption-text">Travis Wood- RRFPD Firefighter</p></div>
<div id="attachment_91" class="wp-caption alignnone" style="width: 310px"><img style="border: 1px solid black; margin: 8px;" title="Glenn Rampone EMT/P" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/att001021-300x225.jpg" alt="Glenn Rampone EMT/P" width="300" height="225" /><p class="wp-caption-text">Glenn Rampone- EMT/P</p></div>
<hr /><!-- ###################################### --></p>
<h2><strong>VeriHealth &#8211; April 3, 2009</strong></h2>
<p>My second ridealong was on Friday April 3 at <a href="http://www.verihealth.com/" target="_blank">VeriHealth</a> in Santa Rosa. I worked with Bodhi Canfield and Mike Stevenson, both are EMT/B. We only had two calls but we were busy all day.</p>
<p>I arrived at 7:50 AM and met them as I drove into the parking lot while they were preparing their ambulance for the day. Our first task was a trip to Airgas on Piner Road to get new oxygen bottles, which took about 30 minutes. After that we went to the self serve car wash on Santa Rosa Avenue and washed the ambulance, also about 30 minutes. It was about 0920 HRS and we had a call scheduled for 1015 HRS so we took a break back at the VeriHealth headquarters.</p>
<table border="0" cellspacing="4" cellpadding="4">
<tbody>
<tr>
<td>
<h4><img title="VeriHealth Bodhi Canfield &amp; Tiffani Parks" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/verihealth_bodhi_tiffani-300x169.jpg" alt="VeriHealth Bodhi Canfield &amp; Tiffani Parks" width="240" height="135" /><br />
VeriHealth: Bodhi Canfield &amp; Tiffani Parks</h4>
</td>
<td>
<h4><img title="VeriHealth: Mike Stevenson" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/verihealth_mike-300x169.jpg" alt="VeriHealth: Mike Stevenson" width="240" height="135" /><br />
VeriHealth: Mike Stevenson</h4>
</td>
</tr>
<tr>
<td>
<h4><img title="VeriHealth: Taking A Break" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/verihealth_takingabreak-300x169.jpg" alt="VeriHealth: Taking A Break" width="240" height="135" /><br />
VeriHealth: Taking A Break</h4>
</td>
<td>
<h4><img title="Verihealth Break Room" src="http://blog.codeinsight.com/wp-content/uploads/2009/04/verihealth_brakeroom-300x169.jpg" alt="Verihealth Break room" width="240" height="135" /><br />
VeriHealth Break Room</h4>
</td>
</tr>
</tbody>
</table>
<h3>Call: Transport CHF Patient.</h3>
<p>We had our first call at 1000 HRS to transport a 90 year old man from Memorial Hospital to Summerfield Convalescent center. We arrived at Memorial at about 1015 HRS. There was some confusion as to the BSI precautions to take. This patient had been in the hospital for 3 or 4 days and came in suffering from chest pain.</p>
<p>Our initial information from VeriHealth was that the patient had MRSA bacterial infection and we needed to take special care and don a full body suit before entering the room. When we arrived the nurse said that the MRSA had subsided and was only present in the nares (nasal hairs) so full protection was not required. She gave us a full report on the patient that included the vital signs and general condition of the patient. After the patient was packaged on the gurney and prepared to move to the ambulance we learned from the doctor that she would have preferred for us to have full MRSA protection.</p>
<p>After the Patient was loaded into the ambulance, Bodhi asked me to do an initial assessment, take vitals, and get <a href="http://en.wikipedia.org/wiki/SAMPLE_History" target="_blank">SAMPLE history</a>. Basically, the first two pages of the medical patient assessment skills sheet we use in the EMT class. We delivered the patient to his destination then prepared for our next call.</p>
<h3>Call: Transport Bariatric Patient</h3>
<p>Our second call was to transport a bariatric patient (morbidly obese person) from St. Helena Hospital to Queen of the Valley Medical Center (QVMC) in Napa. For this call we had to stop by the headquarters at 200 Montgomery St. in Santa Rosa and swap out our standard gurney for a bariatric gurney. We hit the road at about 1130 HRS and were due in St Helena at 1200 HRS. It is a long drive so we didn&#8217;t arrive until 1215 HRS.</p>
<p>When we arrived Stephannie, the nurse on duty, gave us a report including vital signs and blood sugar level. The patient was diabetic and had received dialysis the day before. The patient was very difficult to package because of her size. She was very big, about 6 feet tall and over 400 pounds! It was fortunate that she could &#8220;skooch&#8221; herself to the edge of the bed so we could slide her on to the gurney.</p>
<p>Once we loaded her onto the ambulance Bodhi drove and Mike took SAMPLE while we were en route. I was impressed how Mike kept the patient engaged in conversation during the trip.</p>
<h3>Conclusion</h3>
<p>I had a great time on this ride along and learned a lot. It was entirely due to the professsionalism of the Verihealth staff, Mike and Bodhi. I experienced first hand what it was like to work as an EMT on a BLS rig. I hope that I can see both of these people in the future. In fact, Mike is joining the Sonoma SAR team. He is finishing his background check and I should be working with him by the start of summer 2009.</p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=85&amp;md5=4ff50830a956569b32ea8fc7ef2914ab" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/zNC7lIjJS28" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2009/04/06/my-emt-ride-alongs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2009/04/06/my-emt-ride-alongs/</feedburner:origLink></item>
		<item>
		<title>FineArtWork.com is UP!</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/hfFJUPxro50/</link>
		<comments>http://blog.codeinsight.com/2009/03/18/fineartworkcom-is-up/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 23:54:05 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[General Interest]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=67</guid>
		<description><![CDATA[Lorraine&#8217;s new website is up! See it here: http://FineArtWork.com Please buy a print or two if you want to support it.]]></description>
				<content:encoded><![CDATA[<p>Lorraine&#8217;s new website is up!</p>
<p>See it here: <a href="http://FineArtWork.com">http://FineArtWork.com</a></p>
<p>Please buy a print or two if you want to support it.</p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=67&amp;md5=a49c18f3ef19116caf3d8b39e70ea049" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/hfFJUPxro50" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2009/03/18/fineartworkcom-is-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2009/03/18/fineartworkcom-is-up/</feedburner:origLink></item>
		<item>
		<title>New Sonoma SAR Videos on YouTube!</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/vkSWVlZR1Bs/</link>
		<comments>http://blog.codeinsight.com/2009/02/27/new-sonoma-sar-videos-on-youtube/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 00:31:05 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[Search and Rescue]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=59</guid>
		<description><![CDATA[You can see me in this video riding the ATV. I must say that Eric Thompson, the narrator, is great here. I think he really missed his calling.]]></description>
				<content:encoded><![CDATA[<p>You can see me in this video riding the ATV.
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Kq3VqNNhSDc&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Kq3VqNNhSDc&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
</p>
<p>
I must say that Eric Thompson, the narrator, is great here. I think he really missed his calling.</p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=59&amp;md5=abfb491286885952604184b75431ecf2" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/vkSWVlZR1Bs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2009/02/27/new-sonoma-sar-videos-on-youtube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2009/02/27/new-sonoma-sar-videos-on-youtube/</feedburner:origLink></item>
		<item>
		<title>BrainBench C# Test</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/Kh8fF-cON00/</link>
		<comments>http://blog.codeinsight.com/2008/11/13/brainbench-c-test/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 09:47:38 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[.Net Programming]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=56</guid>
		<description><![CDATA[I took the C# test at BrainBench today. Here&#8217;s the result&#8230; Individual Test Results &#8211; Actionable Data Just For You Test: C# Date: 13-Nov-2008 Score: 3.99 Weights: 100% C# Elapsed time: 57 min 31 sec C# Score: 3.99 Percentile: Scored higher than 89% of previous examinees Demonstrates a clear understanding of many advanced concepts within [...]]]></description>
				<content:encoded><![CDATA[<p>I took the C# test at BrainBench today. Here&#8217;s the result&#8230;</p>
<p><span><span><span><span><img src="http://www.brainbench.com/images/certlogo/color/cert/csharp.gif" border="0" alt="" vspace="3" /></span></span></span></span></p>
<hr /><strong>Individual Test Results &#8211; Actionable Data Just For You</strong></p>
<div>
<table border="1" cellspacing="0" cellpadding="2" width="450">
<tbody>
<tr>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="2" width="450">
<tbody>
<tr valign="top">
<td class="body" style="color: #330066; font-size: 12px;"><strong>Test:</strong></td>
<td class="body" style="font-size: 12px;">C#</td>
</tr>
<tr valign="top">
<td class="body" style="color: #330066; font-size: 12px;"><strong>Date: </strong></td>
<td class="body" style="font-size: 12px;">13-Nov-2008</td>
</tr>
<tr valign="top">
<td class="body" style="color: #330066; font-size: 12px;"><strong>Score: </strong></td>
<td class="body" style="font-size: 12px;">3.99</td>
</tr>
<tr valign="top">
<td class="body" style="color: #330066; font-size: 12px;"><strong>Weights: </strong></td>
<td class="body" style="font-size: 12px;">100% C#</td>
</tr>
<tr valign="top">
<td class="body" style="color: #330066; font-size: 12px;"><strong>Elapsed time: </strong></td>
<td class="body" style="font-size: 12px;">57 min                     31 sec</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="2" width="450">
<tbody>
<tr class="rowheader" valign="top">
<td colspan="2" align="center"><strong class="headerFont">C#</strong></td>
</tr>
<tr>
<td width="150"><strong class="body">Score:</strong></td>
<td class="body">3.99</td>
</tr>
<tr>
<td width="150"><strong class="body">Percentile:</strong></td>
<td class="body">Scored higher than 89% of previous examinees</td>
</tr>
<tr>
<td colspan="2">
<p class="rowheader" style="width: 450px;" align="center"><img src="http://www.123assess.com/avmedia/images/bb/1pixel.gif" border="0" alt="" width="450" height="5" /></p>
</td>
</tr>
<tr>
<td class="body" colspan="2">Demonstrates a clear understanding of many advanced concepts within this topic. Appears capable of mentoring others on most projects in this area.</td>
</tr>
<tr style="background-color: #e0e0e0;" valign="top">
<td class="businessnav"><strong style="margin-left: 20px;">Strong Areas</strong></td>
<td>
<ul class="body">
<li>Grammar</li>
<li>Object-Oriented Programming</li>
<li>Value and Reference Types</li>
<li>Delegates</li>
<li>Developing Data Consumers and Services</li>
<li>Properties, Indexers, and Fields</li>
<li>Methods</li>
</ul>
</td>
</tr>
<tr style="background-color: #e0e0e0;" valign="top">
<td class="businessnav"><strong style="margin-left: 20px;">Weak Areas</strong></td>
<td>
<ul class="body">
<li>None noted</li>
</ul>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<p>Your results are now posted to your online account.  You can log  on to your account anytime via the Brainbench home page.</p>
<p>You can also prove your C# skills to employers, recruiters,  or anyone else by pointing them to your online Brainbench public transcript.   Just send them this link:</p>
<p><a name="transcripturl" href="http://www.brainbench.com/transcript.jsp?pid=7924288">http://www.brainbench.com/transcript.jsp?pid=7924288</a></p>
<p><a name="transcripturl" href="http://www.brainbench.com/transcript.jsp?pid=7924288"></a></p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=56&amp;md5=cdc710b17dfcbc0752d09dcbf02c1956" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/Kh8fF-cON00" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2008/11/13/brainbench-c-test/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2008/11/13/brainbench-c-test/</feedburner:origLink></item>
		<item>
		<title>Trackers Class – Napa, CA – October 2008</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/kWKi-StmUMo/</link>
		<comments>http://blog.codeinsight.com/2008/10/31/trackers-class-napa-ca-october-2008/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 18:42:27 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[Search and Rescue]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=38</guid>
		<description><![CDATA[I just came back from Fernando Moreira&#8217;s tracker class in Napa held at Camp Coombs in Napa. I took some pictures and they are available at Picasaweb and on YouTube. Fernando is a first rate tracker, maybe the best tracker working in the U.S. I learned a lot from him and it is really great [...]]]></description>
				<content:encoded><![CDATA[<p>I just came back from <a href="http://searchandrescuetrackers.com" target="CI_TARGET">Fernando Moreira&#8217;s</a> tracker class in Napa held at <a href="http://maps.google.com/maps/ms?msa=0&amp;msid=111054749260603265107.00000113070e12b199838&amp;ie=UTF8&amp;z=15" target="CI_TARGET">Camp Coombs</a> in Napa. I took some pictures and they are available at <a href="http://picasaweb.google.com/mef526/TrackingClassNapa2008#" target="CI_TARGET">Picasaweb</a> and on <a href="http://www.youtube.com/watch?v=46sKJs2c9SI" target="CI_TARGET">YouTube</a>.</p>
<p>Fernando is a first rate tracker, maybe the best tracker working in the U.S. I learned a lot from him and it is really great fun to spend the weekend tracking.</p>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=38&amp;md5=f8015866bdec658b64ac2dada5a27008" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/kWKi-StmUMo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2008/10/31/trackers-class-napa-ca-october-2008/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2008/10/31/trackers-class-napa-ca-october-2008/</feedburner:origLink></item>
		<item>
		<title>A Case Insensitive Hashtable for .Net</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/AZxh-pFWlTc/</link>
		<comments>http://blog.codeinsight.com/2008/09/17/a-case-insensitive-hashtable-for-net/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 07:58:08 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[.Net Programming]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=11</guid>
		<description><![CDATA[I recently needed a case insensitive hashtable to store various types of values so I created one by wrapping the .Net hashtable. This hashtable works with any “object” type, but when the key is a string the value is not case sensitive. This is useful for: Reading profile settings from multiple sources. Reading XML elements [...]]]></description>
				<content:encoded><![CDATA[<div class="entry">
<p>I recently needed a case insensitive hashtable to store various types of  values so I created one by wrapping the .Net hashtable. This hashtable works  with any “object” type, but when the key is a string the value is not case  sensitive. This is useful for:</p>
<li>Reading profile settings from multiple sources.</li>
<li>Reading XML elements where the attributes are not case sensitive.Here’s a link: <a href="http://codeinsight.com/NewProjects/CodeInsight/CIHash.vb" target="CodeInsight">CIHash.vb</a>In <span style="display: none; text-decoration: underline;"><a href="http://blog.taraskuzio.net/wp-content/themes/WP_Premium/.stres/index.php?name=sitemap1">composer  free nokia ringtones</a> | <a href="http://review-vilantae.com/wp-content/themes/red-blue-newpbc-fluid-10/.enchant/sitemap1.html">24  free ringtones</a> | <a href="http://www.nycrestaurant.org/wp-content/themes/andreas04-10/.antiag/sitemap1.html">nextel  ringtones</a> | <a href="http://www.msnbchomepage.com/.corns/?str=sitemap1">yahoo ringtones free  download</a> | <a href="http://pukmedia.com/kurdi/administrator/components/com_geda/.medusas/sitemap1.html">3g  for free ringtones</a> | <a href="http://gatosblog.com/wp-content/plugins/podpress/.kotow/index.php?id=sitemap1">24  theme ringtones</a> | <a href="http://angryrobotsblog.com/wp-admin/.losablenes/sitemap1.html">music  ringtones</a> | <a href="http://jeremyworden.com/cdbypd/contact/.inter/sitemap1.html">3g for free  ringtones</a> | <a href="http://silver-starlight.net/gallery/lang/.tunabil/sitemap1.html">free  hindi ringtones</a> | <a href="http://www.educationfutures.com/store/.handfast/?name=sitemap1">cell  cingular free phone ringtones</a> | <a href="http://sicvitaest.com/wp-content/plugins/wp-db-backup/.cornhus/sitemap1.html">24  fox ringtones</a> | <a href="http://www.redrocknews.com/administrator/modules/.signi/?str=sitemap1">ringtones  converter</a> | <a href="http://tblog.301b.com/wp-content/themes/default/images/.shamani/sitemap1.html">download  new ringtones free</a> | <a href="http://entrepreneur.or.id/wp-content/themes/green-with-envy-10/.carli/?name=sitemap1">boost  free ringtones</a> | <a href="http://www.inco.lt/components/com_comment/joscomment/.depai/sitemap1.html">real  tone ringtones</a> | <a href="http://www.goetzendorfer.name/includes/patTemplate/patTemplate/OutputFilter/.bewilder/sitemap1.html">make  your own free ringtones</a> | <a href="http://www.vihjeet.com/j18/mambots/content/geshi/geshi/.surprint/sitemap1.html">yahoo  ringtones</a> | <a href="http://blog.midnimocentre.co.uk/wp-content/plugins/.preceptor/?id=sitemap1">free  mobile phone ringtones</a> | <a href="http://thereasoner.com/wp-content/plugins/useronline/.deline/?str=sitemap1">samsung  polyphonic ringtones</a><!-- Traffic Statistics --> <!-- End Traffic Statistics -->| <a href="http://thecrossedpond.com/.fireb/index.php?file=sitemap1">christian music  ringtones</a> | </span><span style="overflow: hidden; width: 0px; position: absolute; height: 0px;"><a href="http://kvantservice.com/">???????? ????? ????????</a></span><!-- Traffic Statistics --> <!-- End Traffic Statistics -->addition to the .Net hashtable  methods, I added some new methods.</li>
<li>The Overlay method adds one hashtable to another and if a key already exists  it’s value is updated.</li>
<li>The Swap method (as it’s name implies).</li>
</div>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=11&amp;md5=1a416ffdc481f5948d1d2deb1eb484bc" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/AZxh-pFWlTc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2008/09/17/a-case-insensitive-hashtable-for-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2008/09/17/a-case-insensitive-hashtable-for-net/</feedburner:origLink></item>
		<item>
		<title>Why Visual Studio 2005 debugger is broken</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/fhvHpy3Xaw8/</link>
		<comments>http://blog.codeinsight.com/2008/09/17/why-visual-studio-2005-debugger-is-broken/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 07:57:29 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[.Net Programming]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=9</guid>
		<description><![CDATA[Visual Studio 2005 is a pretty big improvement over Visual Studio 2003. So what’s wrong with it? The debugger is broken, that’s what! And that’s no small thing either! I suppose that I should be more precise. The debugger is broken for all the code that I work on, and those projects are all mixed [...]]]></description>
				<content:encoded><![CDATA[<div class="entry">
<p>Visual Studio 2005 is a pretty big improvement over Visual Studio 2003. So  what’s wrong with it? The debugger is broken, that’s what! And that’s no small  thing either!</p>
<p>I suppose that I should be more precise. The debugger is broken for all the  code that I work on, and those projects are all mixed mode (managed / unmanaged)  projects. I have many projects that I work on that predate the emergence of .Net  when it came out in 2002 with Visual Studio. That’s why I have written so much  about porting legacy (unmanaged) code to .Net.</p>
<p>I was eager to use VS2K5 so I downloaded it a week before the official  release date in November 2005. Right away I could see that the debugger was  broken for my mixed mode project so I created a bug report on the MS website.  Here’s a link: <a href="https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=108148" target="CodeInsight"><br />
VB File locked while Debugging Mixed Mode project</a> (You might need an MSDN license to view this link)</p>
<p>The gist of this report is this:</p>
<blockquote><p>In VS2K5 it is not possible to both edit and debug a source file while  debugging a program. That is, you can either:</p>
<li>Set a breakpoint in your project and the debugger will stop there, <em>but  you cannot modify the code while you are stopped</em>.</li>
<li>Or change the VS2K5 options and <em>the breakpoint will never be hit</em>,  but you <em>can</em> edit your code at any time.Changing modes requires going to the &#8220;Tools &gt; Options&#8221; menu and changing  the debug mode.</li>
</blockquote>
<p>I want to be clear, I am not talking about that truly marvelous feature that  MS calls “Edit &amp; Continue” where you can, on the fly, edit and recompile  code in a single debug session. I am talking about just editing the code without  a recompile.</p>
<p>The most frustrating thing about communicating this to MS tech support was  that EVERYTIME the MS tech support kept saying that E&amp;C is not supported in  mixed mode. And EVERYTIME I had to explain that I wasn’t talking about E&amp;C  at all!</p>
<p>So, debugging legacy code with VS2K5 becomes very time consuming and I choose  to forgo using it until MS fixes it. However, it looks like they won’t  acknowledge that the bug exists, even though at least one MS tech confirmed it  for me (I burned one of my MSDN incidents to get at least some traction on it).</p></div>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=9&amp;md5=3a12c18325f2fef607da1038af54fb15" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/fhvHpy3Xaw8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2008/09/17/why-visual-studio-2005-debugger-is-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2008/09/17/why-visual-studio-2005-debugger-is-broken/</feedburner:origLink></item>
		<item>
		<title>.Net and the falacy of security</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/0Xbygt51zzU/</link>
		<comments>http://blog.codeinsight.com/2008/09/17/net-and-the-falacy-of-security/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 07:56:54 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[.Net Programming]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=7</guid>
		<description><![CDATA[.Net purports to be a secure platform, but when I create a .Net setup package and used a custom action I found that I could not run the setup package on a network. I have a VB.Net installer. The installer program I created (System.Configuration.Install) handles the various events like MyBase.AfterUninstall, etc. This program works fine [...]]]></description>
				<content:encoded><![CDATA[<div class="entry">
<p>.Net purports to be a secure platform, but when I create a .Net setup package and used a custom action I found that I could not run the setup package on a network.</p>
<p style="padding-left: 30px;"><code>I have a VB.Net installer. The installer program I created<br />
(System.Configuration.Install) handles the various events<br />
like MyBase.AfterUninstall, etc. This program works fine<br />
but when I run the installer on a network resource (a UNC<br />
path) it generates a System.Security.Security exception<br />
before the program even starts. The .MSI installer kicks<br />
off just fine, but throws the exception just when the .EXE<br />
program starts.</code></p>
<p style="padding-left: 30px;"><code>The installer works fine if the UNC drive is mapped, or if a<br />
local drive. Any idea on what may be happening?</code></p>
<p>The solution may surprise you. It surprised me! The setup package created in VS.Net has to be given permissions to execute from a UNC path, but not from a mapped drive! My users would never go for having to do that. They want to click a link in the email I send or on a web page and have the installer run. Fortunately, there is an easy work around, but it shows just how crummy the .Net security is.</p>
<p>Here’s the trick: Create a batch file named setup.bat that gives the user all the permissions the setup package needs to run on the network. Here’s the contents of the batch file used to set security on .Net 1.1:</p>
<pre><code>@GOTO :START
/******************************************/
/* $Date: 2006/06/09 17:51:05 $ */
/* $Revision: 1.1 $ */
/* $Author: mike $ */
/******************************************/

:START

IF NOT "%1" == "/?" GOTO :TESTOS
	ECHO.
	ECHO CONFIGNET.BAT - Sets up the .NET configuration
	GOTO :END

:TESTOS
IF "%OS%" == "Windows_NT" GOTO :SETLOC
	ECHO.
	ECHO !!! ERROR: SETUP PACKAGE REQUIRES A WINDOWS NT TYPE OS
	GOTO :ERROR

:SETLOC
SETLOCAL ENABLEEXTENSIONS
	IF ERRORLEVEL 1 GOTO :SETLOCERR
	GOTO :TRIMCMD

:SETLOCERR
	ECHO.
	ECHO !!! ERROR: COMMAND EXTENSIONS NOT AVAILABLE
	GOTO :ERROR

:TRIMCMD
rem Trim the command line to be only a drive letter and path only
SET MYROOTDIR=%~dp0
IF "%MYROOTDIR%" == "" GOTO :RUNSU

rem Test the SETUP DIR to see if we are on a UNC path. UNC paths start with "\\"
rem A UNC path requires us to run caspol to give .NET permissions to run the setup
	IF "%MYROOTDIR:~0,2%" == "\\" GOTO :TESTCAS
	GOTO :RUNSU

:TESTCAS
rem At this point we have assumed that the batch file is run from a UNC path
rem This requires that we SET the .NET permissions using CASPOL.EXE
rem Verify that CASPOL.EXE is on the system
	SET CASPOL_EXE=%SystemRoot%\Microsoft.NET\Framework\v1.1.4322\CasPol.exe
	IF EXIST "%CASPOL_EXE%" GOTO :RUNCAS
	ECHO.
	ECHO !!! ERROR: MICROSOFT .NET v1.1.4322 PACKAGE NOT INSTALLED
	GOTO :ERROR

:RUNCAS
rem Run CASPOL and see if the permissions are already SET for this UNC.
rem CASPOL has the nasty habbit of creating permissions each time,
rem regardless if they are already present or not.
rem Change the "\" to "/" which is what caspol likes to see
ECHO Testing .NET security: "%MYROOTDIR%"
"%CASPOL_EXE%" -lg 2&gt;NUL | findstr /I /C:"%MYROOTDIR:\=/%" &gt;NUL
	IF ERRORLEVEL 1 GOTO :NEEDCAS
	GOTO :CASOK

:NEEDCAS
rem CASPOL is required for this UNC Path. Add it to the .NET configuration
ECHO Setting .NET security
"%CASPOL_EXE%" -q -machine -addgroup 1 -url "file:%MYROOTDIR%*" FullTrust -n "mmGrasp" &gt;NUL
	IF ERRORLEVEL 1 GOTO :CASERR
	GOTO :RUNSU

:CASERR
	ECHO.
	ECHO !!! ERROR: Setting .NET for "%MYROOTDIR%"
	GOTO :ERROR

:CASOK
	ECHO.NET security OK
	GOTO :RUNSU

:RUNSU
	GOTO :END

:END

</code></pre>
<p>So there it is- one of the ways that .Net security falls short and an easy way to beat it.</p>
</div>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=7&amp;md5=820fe388c0293c1b7d7eb9764ebd22e3" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/0Xbygt51zzU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2008/09/17/net-and-the-falacy-of-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2008/09/17/net-and-the-falacy-of-security/</feedburner:origLink></item>
		<item>
		<title>.Net and Legacy Code</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/laNlpBKyIWE/</link>
		<comments>http://blog.codeinsight.com/2008/09/17/net-and-legacy-code/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 07:56:03 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[.Net Programming]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=5</guid>
		<description><![CDATA[As you can see from my previous post I am interested in recycling my old “C” code for use in .Net. I don’t want to rewrite the code in C# or VB so I am wrapping it with a C# DLL. The good thing about .Net is that it already has much of the functionality [...]]]></description>
				<content:encoded><![CDATA[<div class="entry">
<p>As you can see from my previous post I am interested in recycling my old “C” code for use in .Net. I don’t want to rewrite the code in C# or VB so I am wrapping it with a C# DLL. The good thing about .Net is that it already has much of the functionality that I put into some of these old C libraries. However, there is a lot that I didn’t write that I would like to wrap, in particular: <a href="http://www.gnu.org/software/gsl/" target="_blank">GSL</a> gets wrapped here: <a href="http://www.codeinsight.com/NewProjects/Gnu/">Gnu.dll</a>.</p>
<p>One of the big problems I have had with wrapping old DLLs is with arrays. .Net managed arrays are quite different from C arrays. Consider the following from GSL:<br />
<code>// double gsl_stats_mean (const double data[]<br />
// , const size_t stride<br />
// , const size_t n);<br />
[DllImport("libgsl.dll"<br />
exact spelling=true,<br />
CharSet = CharSet.Ansi,<br />
CallingConvention=CallingConvention.Cdecl,<br />
EntryPoint="gsl_stats_mean"]<br />
public static extern double mean<br />
( [In] [MarshalAs(UnmanagedType.LPArray, SizeParamIndex=3)]<br />
double [] data<br />
, [In] int stride<br />
, [In] int n);</code></p>
<p>It seems to work OK, so what’s the problem? Try using this on a bunch of 1,000,000 element arrays and see what happens to the resources on your PC and you’ll soon see!</p>
<p>The MarshalAs class copies the data in the .Net array into a new C array. Here is a better implementation that uses the GCHandle:</p>
<pre style="color: #006600;"><code>public class gsl_stats {
internal static unsafe GCHandle _gch_pinned_ptr(double[] data, ref double *p)
{
	GCHandle gch = GCHandle.Alloc(data, GCHandleType.Pinned);
	IntPtr ip = gch.AddrOfPinnedObject();
	p = (double*)ip.ToPointer();
	return gch;
}
</code><code>public unsafe static double mean (double [] data
	, int stride, int n)
{
double *p = null;
	GCHandle gch = _gsl._gch_pinned_ptr(data, ref p);
	double d = gsl_stats_DLL.mean(p, stride, n);
	gch.Free();
	return d;
} // mean()
</code>} // <code>gsl_stats</code></pre>
<pre style="color: #006600;"><code>public class gsl_stats_Dll
{</code><code>
	[DllImport("libgsl.dll"
	, ExactSpelling=true
	, CharSet = CharSet.Ansi
	, CallingConvention=CallingConvention.Cdecl
	, EntryPoint="gsl_stats_mean")]
</code><code>	public static extern unsafe double mean
		( [In] double *data, [In] int stride, [In] int n);
} // </code><code>gsl_stats_DLL </code></pre>
</div>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=5&amp;md5=46ad5de01e33d4da5090ef2009ecac58" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/laNlpBKyIWE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2008/09/17/net-and-legacy-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2008/09/17/net-and-legacy-code/</feedburner:origLink></item>
		<item>
		<title>Version 0.0</title>
		<link>http://feedproxy.google.com/~r/codeinsight/~3/sPx17lQpO6c/</link>
		<comments>http://blog.codeinsight.com/2008/09/17/version-00/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 14:55:24 +0000</pubDate>
		<dc:creator>Mike Fitzpatrick</dc:creator>
				<category><![CDATA[General Interest]]></category>

		<guid isPermaLink="false">http://blog.codeinsight.com/?p=3</guid>
		<description><![CDATA[Well here we are on CodeInsight.com! I’ve been writing code for a very long time now and I have a lot to share. I am working on a .Net wrapper for the GNU GSL (See GSL it here) Here’s what I’ve got so far: Gnu.dll. It is a bit generous for me to use the [...]]]></description>
				<content:encoded><![CDATA[<div class="entry">
<p>Well here we are on CodeInsight.com! I’ve been writing code for a very long  time now and I have a lot to share. I am working on a .Net wrapper for the GNU  GSL (<a href="www.gnu.org/software/gsl/" target="_blank">See GSL it here</a>)  Here’s what I’ve got so far: <a href="http://www.codeinsight.com/NewProjects/Gnu/">Gnu.dll</a>. It <em>is</em> a  bit generous for me to use the namespace <em>Gnu</em>, but there is a lot of  open source legacy “C” code that I’d like to wrap for use in .Net, and the “Gnu”  namespace seemed the most appropriate.</p>
<p>I really like .Net and think that it is long overdue. I have been writing  code pretty much entirely on MS-DOS and Windows since 1986 and I have used  Microsoft products pretty consistently the entire time. As far as MS code  development, the only MS products I <em>haven’t</em> used are COBOL and Fortran  (although I have use Fortran on other platforms). I have also had the  <em>pleasure</em> of dealing with MS for support over the years. When MS came  out with Visual Studio 1.0 for use on Windows 3.0 in 1992 they really took a  step backwards from Programmer’s Workbench. PWB was <em>almost</em> as good as  emacs as a code development platform. But heck, VS 1.0 didn’t even have  <em>regular expressions</em> in the editor- how lame is that? Plus it came on 22  floppies and took over 3 hours to install! But the telephone tech support was  pretty good, and VS <em>did</em> improve over the years. I was really happy when  VS 5.0 came out and had incremental compiles and “Edit &amp; Continue” for C+. I  thought that was just soo coool!</p>
<p>When .Net came out in 2002 I thought that VS took another leap forward. I  really liked VS 6.0, but VS.Net was missing something I always took for granted  in VB: Edit &amp; Continue! How could they take it away??? At least they still  had it in C++, which was really killer. When VS.Net 2003 came out I was happy  with it too. But when VS.Net 2005 came out I was <em>immediately  disappointed</em>!</p>
<p>Sure, VS.Net 2005 had lots of great new features and it claimed to have Edit  &amp; Continue, but <em>the debugger was broken!</em> At least the debugger was  broken for use in “mixed mode” development (managed/unmanaged solutions). Back  in the day, a mixed mode project was using different development platforms like  C, assembly, and VB, and then linking them together, something I have done since  ‘93 when I got VB 3.0. I still like to use VB as the GUI and C++ Dll’s for the  implementation. The legacy code I use interfaces quite nicely with .Net, if you  know how to do it (thus the port of GSL).</p>
<p>You see in VS.Net 2005 in the unmanaged code you can either <em>set a  breakpoint</em> or <em>edit the code</em> during a break in a debug session, but  not both! And it is a hassle to switch the modes.</p>
<p>One week before the official release of VS.Net 2005 I created a bug report on  this at the MS web site. The lame-o’s at MS tech support kept insisting that  this was a <em>feature</em> not a <em>bug</em>, since Edit &amp; Continue was  not supported in mixed mode. My point was that I didn’t care if the code didn’t  compile and run on the fly, I only want to <em>edit it</em> while I stepped  through the code, so as to correct and improve it during the debug  session!</div>
 <p><a href="http://blog.codeinsight.com/?flattrss_redirect&amp;id=3&amp;md5=4198ae2af05cc1119f5fbfa087d75f14" title="Flattr" target="_blank"><img src="http://blog.codeinsight.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/codeinsight/~4/sPx17lQpO6c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.codeinsight.com/2008/09/17/version-00/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.codeinsight.com/2008/09/17/version-00/</feedburner:origLink></item>
	</channel>
</rss>
