<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>The Code Curmudgeon</title>
	<atom:link href="http://codecurmudgeon.com/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://codecurmudgeon.com/wp</link>
	<description>Ranting about Software, Security and Tech</description>
	<lastBuildDate>Tue, 18 Jun 2013 20:27:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>My Trip from iPhone 4S to Nexus 4 to HTC One</title>
		<link>http://codecurmudgeon.com/wp/2013/06/my-trip-from-iphone-4s-to-nexus-4-to-htc-one/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=my-trip-from-iphone-4s-to-nexus-4-to-htc-one</link>
		<comments>http://codecurmudgeon.com/wp/2013/06/my-trip-from-iphone-4s-to-nexus-4-to-htc-one/#comments</comments>
		<pubDate>Fri, 14 Jun 2013 02:18:39 +0000</pubDate>
		<dc:creator>The Code Curmudgeon</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://codecurmudgeon.com/wp/?p=1860</guid>
		<description><![CDATA[My experience with smartphones started with the iPhone 3GThe 3rd generation of cellular wireless standards. 3G is implemented in a variety of non-compatible ways by various carriers. This includes CDMA, HSPA, and GSM for the most part. Typical performance is &#8230; <a href="http://codecurmudgeon.com/wp/2013/06/my-trip-from-iphone-4s-to-nexus-4-to-htc-one/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/56587149@N02/9033117601/" title="Biting Apple" rel=""><img src="http://farm6.staticflickr.com/5472/9033117601_0afe5c5422_q.jpg" width="150" height="150" alt="Biting Apple" title="Biting Apple" class="alignleft" style="float: left;"></a> My experience with smartphones started with the iPhone <span class="domtooltips">3G<span class="domtooltips_tooltip" style="display: none">The 3rd generation of cellular wireless standards. 3G is implemented in a variety of non-compatible ways by various carriers. This includes CDMA, HSPA, and GSM for the most part. Typical performance is required to support peak data rates of 200 kbit/s. Some modern hybrid systems support several Mbit/s.</span></span>. It didn&#8217;t take me more than a couple of days to realize I was just carrying a little tiny computer in my hand and would be able to do amazing things with it. For fun (at least in the beginning) I put a mobile web interface on the company CRM that gave me access to valuable info when I was out of the office.</p>
<p>Figuring out that the phone was more than a computer took a bit longer. Initially I still carried my iPod on long trips, as well as my point-and-shoot camera and GPS. The iPod because I worried about battery life on extended trips like camping. The camera because the iPhone <span class="domtooltips">3G<span class="domtooltips_tooltip" style="display: none">The 3rd generation of cellular wireless standards. 3G is implemented in a variety of non-compatible ways by various carriers. This includes CDMA, HSPA, and GSM for the most part. Typical performance is required to support peak data rates of 200 kbit/s. Some modern hybrid systems support several Mbit/s.</span></span> camera was horrible compared to my previous LG Envy, and especially compared to my <a href="http://www.amazon.com/Olympus-Digital-Camera-TG-820-Silver/dp/B007E84J58/ref=sr_1_12?ie=UTF8&#038;qid=1371181049&#038;sr=8-12&#038;keywords=olympus+point+and+shoot" title="Olympus camera at Amazon" target="amazon">Olympus</a> camera. GPS wasn&#8217;t even a real option, especially for off-road use.</p>
<p>The iPod was the first to go, I found I was carrying it an never using it. By the time the <a href="http://www.apple.com/iphone/iphone-4s/specs.html" title="iPhone 4S specs" target="_new">iPhone 4S</a> came along I completely gave up on the point-and-shoot camera. The GPS was great for driving, but miserable off-road. I also started using the phone to record my sons band when they were at shows. I found the video rivaled my Flip camera, and the audio on those videos was better than the <a href="http://en.wikipedia.org/wiki/Flip_Video" title="flip video camera" target="wiki">Flip</a>. </p>
<p>Then big phones started coming along and I got screen envy. Not the really big ones, but the 4.7 &#8211; 4.8&#8243; sweet spot, something that would still fit in my pocket. When the <a href="http://www.apple.com/iphone/" title="iphone 5 home page" target="_new">iPhone 5</a> finally showed up and the screen was an oddball skinny 16&#215;9 it wasn&#8217;t for me. I don&#8217;t just watch video and pictures on my phone, I do real work and that format in that small size is just too narrow for vertical use, and too short for horizontal &#8211; a lose, lose situation. Plus that crummy iPhone slab is just uncomfortable to hold &#8211; why can&#8217;t they make them nice and curved like the <a href="http://www.apple.com/ipod-touch/" title="iPod touch page" target="_new">iPod touch</a>?</p>
<p>Along came the <a href="https://play.google.com/store/devices/details?id=nexus_4_8gb" title="Nexus 4 home page" target="_new">Nexus 4</a>. I already had a <a href="ps://play.google.com/store/devices/details?id=nexus_7_16gb" title="Nexus 7 home page" target="_new">Nexus 7</a> tablet, so the transition wasn&#8217;t as rough as it could have been. There was a bit of work to move my apple-centric email and calendar, but once I did that things basically worked the way I wanted.  I loved the big screen, the shape was a bit better to hold, and I suddenly had access to some interesting features. </p>
<div id="attachment_1889" class="wp-caption aligncenter" style="width: 310px"><a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/Bellagio-Pano-2013-06-07.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/Bellagio-Pano-2013-06-07-300x66.jpg" alt="Panorama of Bellagio in Las Vegas" width="300" height="66" class="size-medium wp-image-1889" /></a><p class="wp-caption-text">Panorama of Bellagio in Las Vegas shot with HTC One</p></div>
<p>One of those was <a href="http://www.swype.com/" title="Swype home page" target="_new">Swype</a> &#8211; when looking at Swype I never thought it would really work for me, but it turns out it just does. It take me about 5 minutes to completely fall in love with it. I still had the old iPhone 4, but swapping the chip back was unbearable between the hard angled sides, the tiny screen, and tiny non-swype keyboard. Not to mention the <a href="http://en.wikipedia.org/wiki/Haptic_technology" title="Haptic technology at wikipedia" target="wiki">haptic</a> touch. Poking keys with your fingers just seems so old fashioned.</p>
<p>The other thing was the widgets, as you&#8217;ve probably guessed. Not every widget is good, and in fact there are far more bad ones than good ones, but the good ones are really indispensible &#8211; more on this later because the HTC One was where things got really good in that area.</p>
<p>Unfortunately there were some downsides to the Nexus 4. Plain vanilla <a href="http://www.android.com/about/jelly-bean/" title="Android Jelly Bean home page" target="_new">Jelly Bean</a> was just great, but the phone has some serious limits for a high-end user, which isn&#8217;t surprising given it&#8217;s reasonable price. But here&#8217;s what didn&#8217;t work great.</p>
<p>First the screen, yes it&#8217;s big, and yes it&#8217;s colorful with a decent PPI, but the color accuracy was poor compared to the iPhone. The camera had some cute gimmicks, but the pictures were just awful &#8211; I went back to carrying the old Olympus, after clearing it of cobwebs. And I lost the ability to capture business cards with my phone camera &#8211; it just wasn&#8217;t up to the task. And comparing other Android cameras showed the same results. I know some say the camera is good, but they must be starting with something much worse than I could deal with.</p>
<p>When it comes to the built-in speaker, it was even worse than the iPhone, and everyone knows that iPhone speakers aren&#8217;t what you&#8217;d call good. It was fine for phone calls, but playing music was like the old mono AM radio in my 63 Dodge &#8211; with the volume down low. I know, you&#8217;re not supposed to rely on your phones internal speaker, but I wanted to (another thing I&#8217;ll speak of on the HTC One in a moment.)</p>
<p>Recording was even worse. I use my phone for audio memos and recording Webinar audio etc. It worked OK though not as clear as the iPhone. But when it came to trying to record my son&#8217;s <a href="http://www.bourbonmissilecrisis.com/" title="Bourbon Missle Crisis home page" target="bmc">rock band</a> it was a complete disaster &#8211; the audio was unusable. Not bad, not usable at all &#8211; just random noise and cutting out. I tried several times, it was always a disaster. A bit of research let me to find out that this is way too common with Android phones.</p>
<p>The third was the storage. I came from a 64 GB phone, and I just couldn&#8217;t be happy in 16 GB. Much of my time is away from strong cellular service or wifi, and so I keep about 20 or 30 GB of music on my phone, as well as a movie or a couple of TV shows. I was OK on the Nexus 4, but not happy.</p>
<p>Then came the <a href="http://www.htc.com/www/smartphones/htc-one/" title="HTC One home page" target="_new">HTC One</a>. A really solid build quality like I was used to from Apple, and a nice curved back like my old iPhone <span class="domtooltips">3G<span class="domtooltips_tooltip" style="display: none">The 3rd generation of cellular wireless standards. 3G is implemented in a variety of non-compatible ways by various carriers. This includes CDMA, HSPA, and GSM for the most part. Typical performance is required to support peak data rates of 200 kbit/s. Some modern hybrid systems support several Mbit/s.</span></span>, but lighter and a bigger screen. This was worth looking at. Plus actual stereo speakers, and on the front &#8211; why doesn&#8217;t everyone do this?!</p>
<p>So I went online and bought the developer edition. This was so I would have an unlocked bootloader for OS experiments and I thought I would probably just put straight Jelly Bean on it since I was used to it. Plus I wanted an unlocked SIM for overseas travel. I went to the HTC website and ordered a 64 GB version. </p>
<p>My only real complaint with HTC was their purchase process. The order took forever, and they didn&#8217;t keep me up to date on status as is now common. I had to call every few days to find out what was going on. Anyway, several weeks later I finally had my new phone. As it turns out, the AT&#038;T online process is just as bad, in some ways worse, but that&#8217;s a story for another day.</p>
<p>I connected the phone to my account, loaded my Android apps from my Google account, put my photos, video and music on it and was ready to go. I was showing it to my wife and when she saw the screen and heard the music quality of the speakers she was done with her iPhone. Just that fast, no experience with Android, but the HTC One was what she wanted, so I headed back to the AT&#038;T store the next day and bought her one as well.</p>
<p>So here&#8217;s what I love about it. First the screen. We compared it with an iPhone 5 and the Nexus and the color rendition was much more accurate and properly white-balanced. It&#8217;s big, it&#8217;s unnaturally sharp, and it&#8217;s bright. Much better in daylight than the Nexus was. This is the best smartphone screen I&#8217;ve ever seen, bar none.</p>
<p>The camera is great for snap shots, dark shots, and video. It&#8217;s only shortcomings are when you&#8217;re doing big enlargements and small up-close details. I can scan business cards again and the Olympus has been re-retired. Not only does it take good dark shots, but it&#8217;s the first smartphone or snap shooter I&#8217;ve seen that handled <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span> properly &#8211; not more choosing between dark and blurry or over-flashed.</p>
<div id="attachment_1888" class="wp-caption aligncenter" style="width: 310px"><a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/Bellagio-2013-06-07.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/Bellagio-2013-06-07-300x169.jpg" alt="Water show at the Bellagio" width="300" height="169" class="size-medium wp-image-1888" /></a><p class="wp-caption-text">Water show at the Bellagio shot with HTC One</p></div>
<p>I did a dark picture test against the iPhone 5 and Samsung Galaxy S3 and it was really great compared to either of them. I put a black pocket-knife under my desk. Each camera was two shots &#8211; once without <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span> and once with. Notice if you look at the large image zoomed in on the HTC how sharp the image is, and how well balanced the <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span> shot is.</p>
<table>
<tr>
<td>
<a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_s3_dark.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_s3_dark-300x225.jpg" alt="desk_s3_dark" width="300" height="225" class="aligncenter size-medium wp-image-1866" /></a><br />
<center>Samsung Galaxy S3 no <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span></center>
</td>
<td>
<a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_s3_flash.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_s3_flash-300x225.jpg" alt="desk_s3_flash" width="300" height="225" class="aligncenter size-medium wp-image-1867" /></a><br />
<center>Samsung Galaxy S3 <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span></center>
</td>
</tr>
<tr>
<td colspan='2'>
<hr /></td>
</tr>
<tr>
<td>
<a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_iphone5_dark.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_iphone5_dark-300x225.jpg" alt="desk_iphone5_dark" width="300" height="225" class="aligncenter size-medium wp-image-1864" /></a><br />
<center>iPhone 5 no <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span></center>
</td>
<td>
<a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_iphone5_flash.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_iphone5_flash-300x225.jpg" alt="desk_iphone5_flash" width="300" height="225" class="aligncenter size-medium wp-image-1865" /></a><br />
<center>iPhone 5 <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span></center>
</td>
</tr>
<tr>
<td colspan='2'>
<hr /></td>
</tr>
<tr>
<td>
<a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_htc1_dark.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_htc1_dark-300x169.jpg" alt="desk_htc1_dark" width="300" height="169" class="aligncenter size-medium wp-image-1862" /></a><br />
<center>HTC One no <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span></center>
</td>
<td>
<a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_htc1_flash.jpg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/desk_htc1_flash-300x169.jpg" alt="desk_htc1_flash" width="300" height="169" class="aligncenter size-medium wp-image-1863" /></a><br />
<center>HTC One <span class="domtooltips">flash<span class="domtooltips_tooltip" style="display: none">Web-based multimedia platform. Used for putting animation, interactivity, and video on web pages.</span></span></center>
</td>
</tr>
</table>
<p>The video camera shoots 1080p HD and it really looks quite nice, both day and night. I&#8217;ve attached a fun little <a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/Dulles-Tram-2013-05-14.mp4">video</a> below that I shot on the airport tram at Dulles &#8211; it starts slow but you&#8217;ll see what I mean &#8211; it&#8217;s like Star Tours at Disneyland.</p>
<div id="kgvid_1893_wrapper" class="kgvid_wrapper"><div id="video_1893_div" class="kgvid_videodiv" itemscope itemtype="http://schema.org/VideoObject"><meta itemprop="embedURL" content="http://codecurmudgeon.com/wp/?attachment_id=1893&amp;kgvid_video_embed[enable]=true" /><meta itemprop="name" content="Dulles Airport Tram" /><meta itemprop="description" content="Dulles Airport Tram" /><video id="video_1893" controls preload="metadata" width="480" height="270" class="video-js kg-video-js-skin" data-setup='{}'>
<source src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/Dulles-Tram-2013-05-14.mp4" type="video/mp4"></video>
</div><div class="kgvid_below_video" id="video_1893_below"><div class="kgvid-caption" id="video_1893_caption">Dulles Airport Tram</div></div><div style="display:none;" id="video_1893_meta" class="kgvid_video_meta kgvid_video_meta_hover"><div id='video_1893_title' class='kgvid_title'>Dulles Airport Tram</div></div></div>
		<script type='text/javascript'>
			kgvid_video_vars['1893'] = jQuery.parseJSON ( '{"id":"1893","player_type":"Video.js","width":"480","height":"270","countable":true,"title":"Dulles Airport Tram","autoplay":"false","set_volume":"","meta":true,"endofvideooverlay":""}' );
			videojs('video_1893').ready(function(){ kgvid_setup_video('1893'); });
		</script>
<p>The audio playback is amazing, it makes me dissatisfied with my iPad and even outshines the Kindle Fire HD &#8211; why did they put the speakers on the back? Audio recording works well for memos and even recording music if you&#8217;re using the video app. Other apps so far haven&#8217;t been able to record live music well &#8211; I suspect they somehow don&#8217;t make use of the HDR microphone. I&#8217;m hoping one comes along &#8211; it seem silly to record video to just get audio. But the quality is good again.</p>
<p>The size and shape are good &#8211; the phone is comfortable in my hand for the first time in a couple of years. The weight is fine, and it still fits in shirt and coat and even pants pockets. </p>
<p>The GPS is now good enough for off-road thanks to the Backcountry app. I have to say that for navigating I&#8217;ve still personally had better luck with Apple maps than Google and I still find <a href="http://www.magellangps.com/lp/iphone/iphoneapp.htm" target="_new">Magellan</a> and <a href="http://www.navigon.com" target="_new">Navigon</a> are even better as I&#8217;ve <a href="/wp/2013/01/map-ado-about-nothing/">mentioned before</a>. But for off-road the iPhone can&#8217;t compete with Android.</p>
<p>The only downside is the battery. It&#8217;s no worse than the iPhone or Nexus but not better. I long for the old days of charging my phone once or twice a week. Heck I&#8217;d settle for two days of really solid use, or even 24 hours of heavy use. HTC I hope you&#8217;re listening.</p>
<p>The really unexpected pieces were because of Sense. I had planned to replace the launcher at the very least and possibly even switch to plain jelly bean. However I quickly got used to Blend, the news feed, and now don&#8217;t use <a href="http://flipboard.com" target="_new">Flipboard</a> at all and <a href="http://news360.com" target="_new">News360</a> only occasionally. I&#8217;m a Sense fan. </p>
<p>The contacts widget is really great, and the contact manager is the only one I&#8217;ve ever seen in mobile (iOS, Android, Windows 8, and Chromebook) that can handle multiple accounts properly, IE Skype, LinkedIn, Google, Exchange, Twitter, Facebook, and more. All without showing you duplicates.</p>
<p>I&#8217;m hoping HTC is successful, because I think a tablet built with the same quality would be amazing &#8211; sign me up, I&#8217;ll pre-pay.</p>
<p>My son, who was instrumental in pointing the HTC One out to me in the first place and helping research what the best phone would be, has finally made the change as well. His One is on the way (you can&#8217;t get a black 64 GB in any store &#8211; why not HTC?) and he&#8217;s giving up his iPhone 5. </p>
<p>So that&#8217;s a clean sweep &#8211; 3 iPhones changed into 3 HTC Ones. Try it yourself &#8211; you can&#8217;t go wrong.</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'My Trip from iPhone 4S to Nexus 4 to HTC One',url: 'http://codecurmudgeon.com/wp/2013/06/my-trip-from-iphone-4s-to-nexus-4-to-htc-one/',contentID: 'post-1860',suggestTags: 'mobile',providerName: 'Code Curmudgeon',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/site-mem-32.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div><p><a href="http://codecurmudgeon.com/wp/2013/06/my-trip-from-iphone-4s-to-nexus-4-to-htc-one/" rel="bookmark">My Trip from iPhone 4S to Nexus 4 to HTC One</a> originally appeared on <a href="http://codecurmudgeon.com/wp">The Code Curmudgeon</a> on June 13, 2013.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecurmudgeon.com/wp/2013/06/my-trip-from-iphone-4s-to-nexus-4-to-htc-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hybrid Security Talk at Better Software Conference West</title>
		<link>http://codecurmudgeon.com/wp/2013/06/hybrid-security-talk-at-better-software-conference-west/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hybrid-security-talk-at-better-software-conference-west</link>
		<comments>http://codecurmudgeon.com/wp/2013/06/hybrid-security-talk-at-better-software-conference-west/#comments</comments>
		<pubDate>Tue, 04 Jun 2013 19:01:57 +0000</pubDate>
		<dc:creator>The Code Curmudgeon</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[devtesting]]></category>
		<category><![CDATA[infosec]]></category>

		<guid isPermaLink="false">http://codecurmudgeon.com/wp/?p=1845</guid>
		<description><![CDATA[I&#8217;m speaking tomorrow at the Better Software Conference West at Caesars Palace in Las Vegas. If you&#8217;re going to be at the conference come join in. The topic is security and I&#8217;ll be talking about Hybrid Security Analysis: Bridging the &#8230; <a href="http://codecurmudgeon.com/wp/2013/06/hybrid-security-talk-at-better-software-conference-west/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://adc-bsc-west.techwell.com/" title="Better Software Conference West" rel=""><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/06/BSCw_RGB_Web.jpg" width="200" height="146" alt="Better Software Conference West" title="Better Software Conference West" class="alignleft" style="float: left;"></a> I&#8217;m speaking tomorrow at the <a href="http://adc-bsc-west.techwell.com/" title="Better Software Conference West" target="_new">Better Software Conference West</a> at Caesars Palace in Las Vegas. If you&#8217;re going to be at the conference come join in. </p>
<p>The topic is security and I&#8217;ll be talking about <a href="http://adc-bsc-west.techwell.com/sessions/better-software-conference-west-2013/hybrid-security-analysis-bridging-gap-between-inside-o" target="_new">Hybrid Security Analysis: Bridging the Gap between Inside-Out and Outside-In</a>. The <span class="domtooltips">basic<span class="domtooltips_tooltip" style="display: none">Beginners All Purpose Symbolic Instruction Code. A programming language designed specifically for beginners.</span></span> idea is how to you coordinate and get value from the outside testing like penetration testing and then relate it to development efforts like unit test and <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span>.</p>
<p>If you can&#8217;t make the session, feel free to stop by our booth, plus I&#8217;m doing one of the Q&#038;A sessions on Thursday at 10:15am as well. Hope to see you there.</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'Hybrid Security Talk at Better Software Conference West',url: 'http://codecurmudgeon.com/wp/2013/06/hybrid-security-talk-at-better-software-conference-west/',contentID: 'post-1845',suggestTags: 'devtesting,infosec',providerName: 'Code Curmudgeon',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/site-mem-32.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div><p><a href="http://codecurmudgeon.com/wp/2013/06/hybrid-security-talk-at-better-software-conference-west/" rel="bookmark">Hybrid Security Talk at Better Software Conference West</a> originally appeared on <a href="http://codecurmudgeon.com/wp">The Code Curmudgeon</a> on June 4, 2013.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecurmudgeon.com/wp/2013/06/hybrid-security-talk-at-better-software-conference-west/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Injection Hall of Shame updated</title>
		<link>http://codecurmudgeon.com/wp/2013/06/sql-injection-hall-of-shame-updated/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sql-injection-hall-of-shame-updated</link>
		<comments>http://codecurmudgeon.com/wp/2013/06/sql-injection-hall-of-shame-updated/#comments</comments>
		<pubDate>Mon, 03 Jun 2013 23:13:53 +0000</pubDate>
		<dc:creator>The Code Curmudgeon</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[infosec]]></category>

		<guid isPermaLink="false">http://codecurmudgeon.com/wp/?p=1828</guid>
		<description><![CDATA[Just a reminder for those who aren&#8217;t aware &#8211; I maintain a list here I like to call the &#8220;SQL Injection Hall of Shame&#8220;. There was a quiet period at the first of the year, but now we seem to &#8230; <a href="http://codecurmudgeon.com/wp/2013/06/sql-injection-hall-of-shame-updated/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/55405973@N05/8938780591/" title="Shameful Eyes" rel=""><img src="http://farm4.staticflickr.com/3722/8938780591_a3723e94bc_m.jpg" width="160" height="160" alt="Shameful Eyes" title="Shameful Eyes" class="alignleft" style="float: left;"></a> Just a reminder for those who aren&#8217;t aware &#8211; I maintain a list here I like to call the &#8220;<a href="http://codecurmudgeon.com/wp/sql-injection-hall-of-shame/">SQL Injection Hall of Shame</a>&#8220;. There was a quiet period at the first of the year, but now we seem to be back at it. I&#8217;ve added a couple of updates &#8211; one a large breach that was probably SQL injection and one a small one in healthcare that was for sure. </p>
<p><a href="http://codecurmudgeon.com/wp/sql-injection-hall-of-shame/">CodeCurmudgeon&#8217;s SQL Injection Hall of Shame</a></p>
<p>Check it out and let me know if I&#8217;ve missed any.</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'SQL Injection Hall of Shame updated',url: 'http://codecurmudgeon.com/wp/2013/06/sql-injection-hall-of-shame-updated/',contentID: 'post-1828',suggestTags: 'infosec',providerName: 'Code Curmudgeon',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/site-mem-32.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div><p><a href="http://codecurmudgeon.com/wp/2013/06/sql-injection-hall-of-shame-updated/" rel="bookmark">SQL Injection Hall of Shame updated</a> originally appeared on <a href="http://codecurmudgeon.com/wp">The Code Curmudgeon</a> on June 3, 2013.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecurmudgeon.com/wp/2013/06/sql-injection-hall-of-shame-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The &#8220;Apples to Apples&#8221; Mistake</title>
		<link>http://codecurmudgeon.com/wp/2013/05/the-apples-to-apples-mistake/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-apples-to-apples-mistake</link>
		<comments>http://codecurmudgeon.com/wp/2013/05/the-apples-to-apples-mistake/#comments</comments>
		<pubDate>Thu, 30 May 2013 20:02:52 +0000</pubDate>
		<dc:creator>resolvedfixed</dc:creator>
				<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://codecurmudgeon.com/wp/?p=1816</guid>
		<description><![CDATA[I&#8217;ve read plenty of extensive blog posts about how to evaluate development tools, but I want to take a quick moment to attack a common fallacy in the approach to tool evaluation.  Namely, when presented with a wide variety of &#8230; <a href="http://codecurmudgeon.com/wp/2013/05/the-apples-to-apples-mistake/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/94592327@N07/8751291209/" title="Apples to Apples or Bananas?" rel=""><img src="http://farm3.staticflickr.com/2880/8751291209_cbba8851df_m.jpg" width="159" height="240" alt="Apples to Apples or Bananas?" title="Apples to Apples or Bananas?" class="alignleft" style="float: left;"></a><br />
I&#8217;ve read plenty of extensive blog posts about how to evaluate development tools, but I want to take a quick moment to attack a common fallacy in the approach to tool evaluation.  Namely, when presented with a wide variety of very different options, some people get lazy and reduce the problem to &#8220;apples to apples.&#8221;</p>
<p>Superficially, this seems bright.  It&#8217;s a big problem, and there&#8217;s only so much time, so let&#8217;s reduce the problem to something manageable.  Yeah, well, &#8220;apples to apples&#8221; is the wrong method of reduction.  What you are really doing in this case is saying &#8220;let&#8217;s spend our time and effort pretending that things are not nearly as complex as they actually are.&#8221;  Presented with a smartphone, a tablet, and a calculator, who in their right mind would only compare the calculator functionality across all three to determine the winner?  Apples to apples, right?  This would be comical if it was not true of the evaluation processes some organizations use for <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span> tools.  Especially in safety-critical industries, it crosses a line from carelessness into reckless endangerment.</p>
<p>Instead, let me propose a different reduction of your evaluation problem that will save you from arguing over which product chose the best font for the number &#8220;2.&#8221;  Stop evaluating features and start evaluating solutions.  State your problem in such a way that it allows (or even forces) creativity on the part of the vendor to get to the end goal.  (Do you really care about <span class="domtooltips">false positive<span class="domtooltips_tooltip" style="display: none">A result that is incorrect. Strictly speaking, it means that the tool providing the answer got it wrong. Generally it has a broader usage, meaning an error message that the developer doesn't think is important or real, either because of context or misunderstanding by the developer.</span></span> rates of 7% versus 9%?  What if the 7% false tool takes 1 hour per task to resolve whereas the 9% false tool takes 5 minutes per task?)  When you take a step back from the marketing and focus on the reason you want a tool &#8212; reduce risks, reduce costs, secure revenue, improve productivity, maximize customer satisfaction &#8212; you can spot the slippery metrics about product capability and refocus on your driving needs.  You are in a better position to capitalize on unexpected opportunities.  You can even remember that this is for the long haul, so you would rather work with a company that cares about your success and will challenge you to make the right decisions.</p>
<p>[editors note: there is a good article about this as it specifically applies to <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span> tools on the <a href="http://blog.parasoft.com/bid/107980/How-to-Evaluate-Static-Code-Analysis-Tools" target="parasoft">Parasoft blog</a>.]</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'The \&quot;Apples to Apples\&quot; Mistake',url: 'http://codecurmudgeon.com/wp/2013/05/the-apples-to-apples-mistake/',contentID: 'post-1816',suggestTags: '',providerName: 'Code Curmudgeon',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/site-mem-32.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div><p><a href="http://codecurmudgeon.com/wp/2013/05/the-apples-to-apples-mistake/" rel="bookmark">The &#8220;Apples to Apples&#8221; Mistake</a> originally appeared on <a href="http://codecurmudgeon.com/wp">The Code Curmudgeon</a> on May 30, 2013.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecurmudgeon.com/wp/2013/05/the-apples-to-apples-mistake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seminar in DC  &#8211; Development Testing for Compliance</title>
		<link>http://codecurmudgeon.com/wp/2013/05/seminar-in-dc-development-testing-for-compliance/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=seminar-in-dc-development-testing-for-compliance</link>
		<comments>http://codecurmudgeon.com/wp/2013/05/seminar-in-dc-development-testing-for-compliance/#comments</comments>
		<pubDate>Wed, 08 May 2013 19:16:43 +0000</pubDate>
		<dc:creator>The Code Curmudgeon</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[government]]></category>

		<guid isPermaLink="false">http://codecurmudgeon.com/wp/?p=1793</guid>
		<description><![CDATA[I&#8217;m doing a free seminar next week in the DC area &#8220;Development TestingDevelopment Testing is a software development process that involves practices such as static analysisAny form of software analysis that can be done on the code without actually executing &#8230; <a href="http://codecurmudgeon.com/wp/2013/05/seminar-in-dc-development-testing-for-compliance/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://codecurmudgeon.com/wp/wp-content/uploads/2013/05/412748_EventImage.jpeg"><img src="http://codecurmudgeon.com/wp/wp-content/uploads/2013/05/412748_EventImage-300x76.jpeg" alt="412748_EventImage" width="300" height="76" class="aligncenter size-medium wp-image-1795" /></a><br />
I&#8217;m doing a free seminar next week in the DC area &#8220;<span class="domtooltips">Development Testing<span class="domtooltips_tooltip" style="display: none">Development Testing is a software development process that involves practices such as <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span>, data <span class="domtooltips">flow analysis<span class="domtooltips_tooltip" style="display: none">A form of <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span> that works by analyzing software by tracing data flows and paths that might be used when running the application. It can find weaknesses, but is subject to false positive results because the paths and data it finds my be improbable or impossible.</span></span>, metrics, peer <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, unit testing, code coverage and other steps that can be performed at development time. The goal is not to replace traditional QA, but to reduce time and cost by catching problems earlier.</span></span> can help you comply with government regulations and security guidelines&#8221;. Entry is free and you can register <a href="http://www.rsvpbook.com/event.php?412748" title="seminar registration" target="_new">here</a></p>
<p>This will be an informative lunch seminar on Thursday, May 16th from 10am to 12pm at FCN, Inc in Reston, VA. During this event we will be discussing trends, strategies and best practices for <span class="domtooltips">NIST<span class="domtooltips_tooltip" style="display: none">National Institute of Standards and Technology</span></span> compliance. </p>
<p>Discover how to best utilize your company investments to deliver compliance throughout your organization.  Participate in a presentation by industry expert Arthur Hicken as he facilitates a discussion on how to continuously integrate software quality into the development process with Parasoft&#8217;s comprehensive <span class="domtooltips">Development Testing<span class="domtooltips_tooltip" style="display: none">Development Testing is a software development process that involves practices such as <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span>, data <span class="domtooltips">flow analysis<span class="domtooltips_tooltip" style="display: none">A form of <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span> that works by analyzing software by tracing data flows and paths that might be used when running the application. It can find weaknesses, but is subject to false positive results because the paths and data it finds my be improbable or impossible.</span></span>, metrics, peer <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, unit testing, code coverage and other steps that can be performed at development time. The goal is not to replace traditional QA, but to reduce time and cost by catching problems earlier.</span></span> platform.</p>
<p>What you will learn: </p>
<ul>
<li>Consistently apply <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span>, unit testing, peer <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, coverage analysis, runtime error detection, etc.</li>
<li>Accurately and objectively measure productivity and application quality</li>
<li>Drive the development process in the context of business expectations &#8211; for what needs to be developed as well as how it should be developed</li>
<li>Gain realtime visibility into how the software is being developed and where it is satisfying expectations</li>
<li>Reduce costs and risks across the entire SDLC</li>
</ul>
<p>Following the presentation Parasoft will demonstrate Parasoft&#8217;s <span class="domtooltips">development testing<span class="domtooltips_tooltip" style="display: none">Development Testing is a software development process that involves practices such as <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span>, data <span class="domtooltips">flow analysis<span class="domtooltips_tooltip" style="display: none">A form of <span class="domtooltips">static analysis<span class="domtooltips_tooltip" style="display: none">Any form of software analysis that can be done on the code without actually executing the code. Encompasses techniques like pattern-based analysis, metrics, <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, etc.</span></span> that works by analyzing software by tracing data flows and paths that might be used when running the application. It can find weaknesses, but is subject to false positive results because the paths and data it finds my be improbable or impossible.</span></span>, metrics, peer <span class="domtooltips">code review<span class="domtooltips_tooltip" style="display: none">Code review is a process where programmers look at each others code and evaluate it's fitness for the intended purpose. It can find mistakes in design and implementation beyond simple syntax problems and improve quality.</span></span>, unit testing, code coverage and other steps that can be performed at development time. The goal is not to replace traditional QA, but to reduce time and cost by catching problems earlier.</span></span> solutions for C/C++, Java and .Net applications. </p>
<p>Hope to see you there. If you&#8217;ve always wanted to meet the CodeCurmudgeon in person, sign up <a href="http://www.rsvpbook.com/event.php?412748" title="seminar registration" target="_new">here</a>.</p>
<div class="evernoteSiteMemory"><a href="javascript:" onclick="Evernote.doClip({title: 'Seminar in DC  &amp;#8211; Development Testing for Compliance',url: 'http://codecurmudgeon.com/wp/2013/05/seminar-in-dc-development-testing-for-compliance/',contentID: 'post-1793',suggestTags: 'compliance,government,Security,Software Development',providerName: 'Code Curmudgeon',styling: 'text' });return false" class="evernoteSiteMemoryLink"><img src="http://static.evernote.com/site-mem-32.png" class="evernoteSiteMemoryButton" />
				</a>				<div class="evernoteSiteMemoryClear">&nbsp;</div>
</div><p><a href="http://codecurmudgeon.com/wp/2013/05/seminar-in-dc-development-testing-for-compliance/" rel="bookmark">Seminar in DC  &#8211; Development Testing for Compliance</a> originally appeared on <a href="http://codecurmudgeon.com/wp">The Code Curmudgeon</a> on May 8, 2013.</p>
]]></content:encoded>
			<wfw:commentRss>http://codecurmudgeon.com/wp/2013/05/seminar-in-dc-development-testing-for-compliance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
