<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Central Standard Tech</title>
	<link rel="self" href="http://www.centralstandardtech.com/atom.xml"/>
	<link href="http://www.centralstandardtech.com"/>
	<id>http://www.centralstandardtech.com/atom.xml</id>
	<updated>2009-07-03T02:03:55+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry xml:lang="en">
		<title type="html">links for 2009-07-02</title>
		<link href="http://www.magnetbox.com/2009/07/02/links-for-2009-07-02/" rel="alternate" title="links for 2009-07-02" type="text/html"/>
		<id>http://www.magnetbox.com/2009/07/02/links-for-2009-07-02/</id>
		<updated>2009-07-03T01:11:36+00:00</updated>
		<content type="html">&lt;ul class=&quot;delicious&quot;&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://ignorethecode.net/blog/2009/07/02/modes-quasimodes-and-the-iphone/&quot;&gt;Modes, Quasimodes and the iPhone&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/magnetbox/iphone&quot;&gt;iphone&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/usability&quot;&gt;usability&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/web&quot;&gt;web&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/design&quot;&gt;design&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.feedly.com/&quot;&gt;feedly&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;A magazine-like experience built on top of Google Reader.&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/magnetbox/google&quot;&gt;google&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/rss&quot;&gt;rss&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/firefox&quot;&gt;firefox&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/design&quot;&gt;design&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://gawker.com/5305503/lets-screw-up-the-entire-internet-to-save-newspapers&quot;&gt;Gawker &amp;#8211; Let&amp;#039;s Screw Up the Entire Internet to Save Newspapers&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;We all know journalism happens only at newspapers. Better to protect them at all costs than to invest in the murky &amp;quot;future.&amp;quot;&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/magnetbox/journalism&quot;&gt;journalism&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/news&quot;&gt;news&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/newspaper&quot;&gt;newspaper&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/copyright&quot;&gt;copyright&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.modernizr.com/&quot;&gt;Modernizr&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;Modernizr is a small and simple JavaScript library that helps you take advantage of emerging web technologies (CSS3, HTML 5) while still maintaining a fine level of control over older browsers that may not yet support these new technologies.&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/magnetbox/html&quot;&gt;html&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/css&quot;&gt;css&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/javascript&quot;&gt;javascript&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
		<author>
			<name>Magnetbox</name>
			<uri>http://www.magnetbox.com</uri>
		</author>
		<source>
			<title type="html">Magnetbox</title>
			<subtitle type="html">Some blog about some stuff.</subtitle>
			<link rel="self" href="http://www.magnetbox.com/?feed=rss2"/>
			<id>http://www.magnetbox.com/?feed=rss2</id>
			<updated>2009-07-03T02:01:17+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">iPhone 3GS killer feature: Far-better camera</title>
		<link href="http://feedproxy.google.com/~r/typepad/yourtechweblog/~3/emrRDFKMUmc/iphone-3gs-killer-feature-better-camera.html" rel="alternate" title="iPhone 3GS killer feature: Far-better camera" type="text/html"/>
		<id>tag:typepad.com,2003:post-6a00d8345163e169e20115709e916d970c</id>
		<updated>2009-07-02T23:38:28+00:00</updated>
		<content type="html" xml:lang="en-US">&lt;p&gt;&lt;a href=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e20115709e9163970c-pi&quot;&gt;&lt;img alt=&quot;3673448270_fd4cc95581_o&quot; border=&quot;0&quot; height=&quot;354&quot; src=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e20115709e916a970c-pi&quot; title=&quot;3673448270_fd4cc95581_o&quot; width=&quot;470&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I am delighted with Apple’s just-released third-generation &lt;a href=&quot;http://apple.com/iphone&quot;&gt;iPhone&lt;/a&gt;, and especially with one of its marquee features: an upgraded &lt;a href=&quot;http://www.apple.com/iphone/iphone-3gs/photos.html&quot;&gt;still camera&lt;/a&gt; that also &lt;a href=&quot;http://www.apple.com/iphone/iphone-3gs/video-recording.html&quot;&gt;shoots video&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;This makes the iPhone 3GS one of the big reasons to spend extra moolah for an Apple handset instead of going for a deal; a version of the second-generation 3G version of the iPhone is still being sold for $99. (&lt;a href=&quot;http://www.twincities.com/techtestdrive/ci_12689763&quot;&gt;Read my iPhone 3GS review&lt;/a&gt;.)&lt;/p&gt;  &lt;p&gt;I’ve been snapping lots of pictures and videos with my 3GS loaner and I generally like the results, especially compared with the much-crappier photos I have taken with the 3G’s camera.&lt;/p&gt;  &lt;p&gt;Resolution has been upped from 2 to 3 megapixels, and still imagery looks nicer overall. And in a twist, settings such as focus and white balance can be adjusted with touch-screen taps. If you want to focus on something in the foreground, just touch that part of the screen. There’s even a macro feature for up-close shooting.&lt;/p&gt;  &lt;p&gt;As for video, I am thrilled to have the option of capturing moving pictures on a moment's notice, with the device that is already in my pocket at all times. The quality of my iPhone clips is surprisingly decent. Parents in the market for an Apple phone should definitely go 3GS; I’ve taken lots of shots of my kid already.&lt;/p&gt;  &lt;p&gt;See above and below for examples of still and moving images I've recorded. I uploaded the videos to YouTube directly from the iPhone, which is a terrific trick. Uploading videos and photos to Apple’s MobileMe is another option. I'd like to see more options -- especially uploading to the popular Flickr and Facebook.&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e201157193ca02970b-pi&quot;&gt;&lt;img alt=&quot;IMG_0016&quot; border=&quot;0&quot; height=&quot;625&quot; src=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e201157193ca29970b-pi&quot; title=&quot;IMG_0016&quot; width=&quot;470&quot; /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e2011570b0f050970c-pi&quot;&gt;&lt;img alt=&quot;3681787351_800a115b02_o&quot; border=&quot;0&quot; height=&quot;625&quot; src=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e2011571a61387970b-pi&quot; title=&quot;3681787351_800a115b02_o&quot; width=&quot;470&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=emrRDFKMUmc:mwmAqvf28xI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=emrRDFKMUmc:mwmAqvf28xI:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?i=emrRDFKMUmc:mwmAqvf28xI:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=emrRDFKMUmc:mwmAqvf28xI:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?i=emrRDFKMUmc:mwmAqvf28xI:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=emrRDFKMUmc:mwmAqvf28xI:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=emrRDFKMUmc:mwmAqvf28xI:wF9xT3WuBAs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?i=emrRDFKMUmc:mwmAqvf28xI:wF9xT3WuBAs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Julio Ojeda-Zapata</name>
			<uri>http://yourtech.typepad.com/main/</uri>
		</author>
		<source>
			<title type="html">Your Tech Weblog</title>
			<link rel="self" href="http://yourtech.typepad.com/main/index.rdf"/>
			<id>tag:typepad.com,2003:weblog-43112</id>
			<updated>2009-07-03T00:03:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Phone overheats when it, like, gets hot, duh</title>
		<link href="http://feedproxy.google.com/~r/typepad/yourtechweblog/~3/CYDvfmjVM_s/iphone-overheats-when-it-gets-hot-duh.html" rel="alternate" title="Phone overheats when it, like, gets hot, duh" type="text/html"/>
		<id>tag:typepad.com,2003:post-6a00d8345163e169e2011571a61031970b</id>
		<updated>2009-07-02T23:33:52+00:00</updated>
		<content type="html" xml:lang="en-US">&lt;p&gt;&lt;a href=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e2011571a61028970b-pi&quot;&gt;&lt;img title=&quot;Apple iphone temperature warning&quot; height=&quot;334&quot; alt=&quot;Apple iphone temperature warning&quot; src=&quot;http://yourtech.typepad.com/.a/6a00d8345163e169e2011570b0ed17970c-pi&quot; width=&quot;224&quot; align=&quot;right&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I was on &lt;a href=&quot;http://www.co.washington.mn.us/info_for_residents/parks_division/parks_and_trails/square_lake_park/&quot;&gt;a beach outing&lt;/a&gt; with my family and my loaner iPhone 3GS the other day when I glanced at the phone’s display and saw the ominous message embedded here.&lt;/p&gt;  &lt;p&gt;It was the first time I had seen that scary-looking screen. But, as it happened, I had left the handset in direct sunlight on a superhot day.&lt;/p&gt;  &lt;p&gt;So, my reaction was, “Like, duh, of &lt;em&gt;course&lt;/em&gt; the iPhone just overheated. Be more careful from now on.”&lt;/p&gt;  &lt;p&gt;I tucked the iPhone into one of my backpack’s outer pockets to cool down and, when I checked on the device a half hour later, it was working just fine – and has worked perfectly ever since.&lt;/p&gt;  &lt;p&gt;I wasn’t surprised, therefore, when Apple this week released &lt;a href=&quot;http://support.apple.com/kb/HT2101&quot;&gt;an iPhone advisory&lt;/a&gt; about this very issue.&lt;/p&gt;  &lt;p&gt;However, this has since seemingly been misconstrued by some to be an Apple admission of an iPhone-overheating problem. Nonsense, says CNET, in a piece titled, “&lt;a href=&quot;http://news.cnet.com/8301-13579_3-10278511-37.html?tag=newsLatestHeadlinesArea.0&quot;&gt;iPhone heat issue much ado about nothing&lt;/a&gt;.”&lt;/p&gt;  &lt;p&gt;I agree.&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=CYDvfmjVM_s:3twJ5OIICpg:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=CYDvfmjVM_s:3twJ5OIICpg:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?i=CYDvfmjVM_s:3twJ5OIICpg:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=CYDvfmjVM_s:3twJ5OIICpg:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?i=CYDvfmjVM_s:3twJ5OIICpg:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=CYDvfmjVM_s:3twJ5OIICpg:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?a=CYDvfmjVM_s:3twJ5OIICpg:wF9xT3WuBAs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/typepad/yourtechweblog?i=CYDvfmjVM_s:3twJ5OIICpg:wF9xT3WuBAs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Julio Ojeda-Zapata</name>
			<uri>http://yourtech.typepad.com/main/</uri>
		</author>
		<source>
			<title type="html">Your Tech Weblog</title>
			<link rel="self" href="http://yourtech.typepad.com/main/index.rdf"/>
			<id>tag:typepad.com,2003:weblog-43112</id>
			<updated>2009-07-03T00:03:11+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Information Leakage from Keypads</title>
		<link href="http://www.schneier.com/blog/archives/2009/07/information_lea_1.html" rel="alternate" title="Information Leakage from Keypads" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/07/information_lea_1.html</id>
		<updated>2009-07-02T17:09:30+00:00</updated>
		<content type="html">Can anyone guess the entry codes for these door locks? There are 10,000 possible four-digit codes, but you only have to try 24 on these keypads. The first is most likely 1986 or 1968. The second is almost certainly 1234....</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">How Can Current Events Affect Your Business?</title>
		<link href="http://blog.visi.com/2009/07/02/how-can-current-events-affect-your-business/" rel="alternate" title="How Can Current Events Affect Your Business?" type="text/html"/>
		<id>http://blog.visi.com/?p=108</id>
		<updated>2009-07-02T15:53:04+00:00</updated>
		<content type="html">Have you ever thought about how current events might affect your bandwidth needs? I was reading an article on CNN’s website about the untimely death of Michael Jackson and the effects it had on Internet traffic. CNN claimed to have had a fivefold increase in traffic after Jackson’s passing. They reported 20 MILLION page views [...]</content>
		<author>
			<name>VISI BLOG</name>
			<uri>http://blog.visi.com</uri>
		</author>
		<source>
			<title type="html">VISI BLOG</title>
			<subtitle type="html">Beyond Internet</subtitle>
			<link rel="self" href="http://blog.visi.com/feed/"/>
			<id>http://blog.visi.com/feed/</id>
			<updated>2009-07-02T16:12:53+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">More Security Countermeasures from the Natural World</title>
		<link href="http://www.schneier.com/blog/archives/2009/07/more_security_c.html" rel="alternate" title="More Security Countermeasures from the Natural World" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/07/more_security_c.html</id>
		<updated>2009-07-02T11:11:41+00:00</updated>
		<content type="html">The plant caladium steudneriifolium pretends to be ill so mining moths won't eat it. She believes that the plant essentially fakes being ill, producing variegated leaves that mimic those that have already been damaged by mining moth larvae. That deters the moths from laying any further larvae on the leaves, as the insects assume the previous caterpillars have already eaten...</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Links for 2009-07-01 [del.icio.us]</title>
		<link href="http://del.icio.us/afongen#2009-07-01" rel="alternate" title="Links for 2009-07-01 [del.icio.us]" type="text/html"/>
		<id>http://del.icio.us/afongen#2009-07-01</id>
		<updated>2009-07-02T07:00:00+00:00</updated>
		<content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.saferoadmaps.org/&quot;&gt;SafeRoadMaps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.thecovemovie.com/&quot;&gt;The Cove Movie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://barrydahl.com/2009/06/30/web-site-story-collegehumor-video/&quot;&gt;Web Site Story &amp;ndash; CollegeHumor Video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/afongen/~4/RpQAMY-ugaM&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>afongen</name>
			<uri>http://afongen.com/blog</uri>
		</author>
		<source>
			<title type="html">afongen</title>
			<subtitle type="html">Sam Buchanan's weblog</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/afongen"/>
			<id>http://feeds.feedburner.com/afongen</id>
			<updated>2009-07-02T07:04:32+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">MCsla on the Olso May CTP</title>
		<link href="http://www.lhotka.net/weblog/MCslaOnTheOlsoMayCTP.aspx" rel="alternate" title="MCsla on the Olso May CTP" type="text/html"/>
		<id>http://www.lhotka.net/weblog/PermaLink,guid,7f590822-fc92-48b4-8a83-93b937a119b3.aspx</id>
		<updated>2009-07-01T23:15:07+00:00</updated>
		<content type="html">&lt;p&gt;
I’ve updated my prototype MCsla project to work on the “Olso” May CTP. The update
took some effort, because there are several subtle changes in the syntax of “Oslo”
grammars and instance data. What complicated this a little, is that I am using a custom
DSL compiler because the standard mgx.exe utility can’t handle my grammar.
&lt;/p&gt;
&lt;p&gt;
Still, I spent less than 8 hours getting my grammar, schemas, compiler and runtime
fixed up and working with the CTP (thanks to some help from the “Oslo” team).
&lt;/p&gt;
&lt;p&gt;
I chose at this point, to put the MCsla project into my public code repository. You
can use the &lt;a href=&quot;http://www.lhotka.net/cslacvs/viewvc.cgi/mcsla/&quot;&gt;web view&lt;/a&gt; to
see the various code elements if you are interested.
&lt;/p&gt;
&lt;p&gt;
The prototype has limited scope – it supports only the CSLA .NET editable root stereotype,
which means it can be used to create simple CRUD screens over single records of data.
But even that is pretty cool I think, because it illustrates the end-to-end flow of
the whole “Oslo” platform concept.
&lt;/p&gt;
&lt;p&gt;
A business developer writes DSL code like this:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
Object Product in Test 
&lt;br /&gt;
{ 
&lt;br /&gt;
&amp;#160; Public ReadOnly int Id; 
&lt;br /&gt;
&amp;#160; Public string Name; 
&lt;br /&gt;
&amp;#160; Public double ListPrice; 
&lt;br /&gt;
} Identity Id;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
(this is the simplest form – the DSL grammar also allows per-type and per-property
authorization rules, along with per-property business and validation rules)
&lt;/p&gt;
&lt;p&gt;
Then they run a batch file to compile this code and insert the resulting metadata
into the “Oslo” repository.
&lt;/p&gt;
&lt;p&gt;
The user runs the MCslaRuntime WPF application, which reads the metadata from the
repository and dynamically creates a XAML UI, CSLA .NET business object and related
data access object that talks to a SQL Server database.
&lt;/p&gt;
&lt;p&gt;
&lt;a href=&quot;http://www.lhotka.net/weblog/content/binary/WindowsLiveWriter/MCslaontheOlsoMayCTP_10093/f01_2.png&quot;&gt;&lt;img title=&quot;f01&quot; border=&quot;0&quot; alt=&quot;f01&quot; src=&quot;http://www.lhotka.net/weblog/content/binary/WindowsLiveWriter/MCslaontheOlsoMayCTP_10093/f01_thumb.png&quot; width=&quot;477&quot; height=&quot;240&quot; /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The basic functionality you get automatically from CSLA .NET is all used by the runtime.
This includes application of authorization, business and validation rules, automatic
enable/disable for the Save/Cancel buttons based on the business object’s rules and
so forth.
&lt;/p&gt;
&lt;p&gt;
If the business developer “recompiles” their DSL code, the new metadata goes into
the repository. The user can click a &lt;em&gt;Refresh App&lt;/em&gt; button to reload the metadata,
immediately enjoying the new or changed functionality provided by the business developer.
&lt;/p&gt;
&lt;p&gt;
The point is that the business developer writes that tiny bit of DSL code instead
of pages of XAML and C#. If you calculate the difference in terms of lines of code,
the business developer writes perhaps 5% of the code they’d have written by hand.
That 95% savings in effort is what makes me so interested in the overall “Oslo” platform
story!
&lt;/p&gt;
&lt;img width=&quot;0&quot; height=&quot;0&quot; src=&quot;http://www.lhotka.net/weblog/aggbug.ashx?id=7f590822-fc92-48b4-8a83-93b937a119b3&quot; /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;div&gt;
&lt;!-- Text Ads - Product Spotlight Ad Tag Start --&gt;

&lt;!-- Text Ads - Product Spotlight Ad Tag End --&gt;
&lt;br clear=&quot;all&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/8nl1xyRNs4uB9myaj7rAxxTE0NM/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/8nl1xyRNs4uB9myaj7rAxxTE0NM/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/8nl1xyRNs4uB9myaj7rAxxTE0NM/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/8nl1xyRNs4uB9myaj7rAxxTE0NM/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/RockfordLhotka/~4/-iIYakw4WyU&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rockford Lhotka</name>
			<email>rocky@lhotka.net</email>
			<uri>http://www.lhotka.net/weblog/</uri>
		</author>
		<source>
			<title type="html">Rockford Lhotka</title>
			<subtitle type="html">Author of Expert C#/VB 2005 Business Objects</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/RockfordLhotka"/>
			<id>http://www.lhotka.net/weblog/</id>
			<updated>2009-07-02T21:01:44+00:00</updated>
			<rights type="html">Rockford Lhotka</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Xefer Twitter Visualization</title>
		<link href="http://www.thingelstad.com/xefer-twitter-visualization/" rel="alternate" title="Xefer Twitter Visualization" type="text/html"/>
		<id>http://www.thingelstad.com/?p=2123</id>
		<updated>2009-07-01T20:29:28+00:00</updated>
		<content type="html">&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;microid-6bac8bf01f6ee9af42931c5f41cde1e36731ee2b&quot;&gt;&lt;p&gt;This graphic can generally be put in the pile of visualizations of stuff that isn&amp;#8217;t important, but the display is cool. This &lt;a href=&quot;http://www.xefer.com/twitter/&quot;&gt;tool from Xefer&lt;/a&gt; looks at your Twitter behavior distribution over days of the week and time.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;&lt;a rel=&quot;lightbox&quot; href=&quot;http://www.thingelstad.com/wp-content/uploads/2009/06/xefer-twitter-frequency.png&quot;&gt;&lt;img src=&quot;http://www.thingelstad.com/wp-content/uploads/2009/06/xefer-twitter-frequency-small.png&quot; border=&quot;0&quot; alt=&quot;xefer-twitter-frequency-small.png&quot; width=&quot;492&quot; height=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Happily, it seems I don&amp;#8217;t use &lt;a href=&quot;http://twitter.com/&quot;&gt;Twitter&lt;/a&gt; in my sleep.&lt;/p&gt;
&lt;p&gt;This post is from the website &lt;a href=&quot;http://www.thingelstad.com&quot;&gt;thingelstad.com&lt;/a&gt; by &lt;a href=&quot;http://www.thingelstad.com/contact&quot;&gt;Jamie Thingelstad&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
	&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://www.thingelstad.com/tag/twitter/&quot; title=&quot;Twitter&quot; rel=&quot;tag&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;http://www.thingelstad.com/tag/visualization/&quot; title=&quot;Visualization&quot; rel=&quot;tag&quot;&gt;Visualization&lt;/a&gt;, &lt;a href=&quot;http://www.thingelstad.com/tag/xefer/&quot; title=&quot;Xefer&quot; rel=&quot;tag&quot;&gt;Xefer&lt;/a&gt;&lt;br /&gt;

	&lt;h4&gt;Related posts&lt;/h4&gt;
	&lt;ul class=&quot;st-related-posts&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/why-do-cyclists-tweet/&quot; title=&quot;Why do Cyclists Tweet? (May 13, 2009)&quot;&gt;Why do Cyclists Tweet?&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/which-is-it/&quot; title=&quot;Which is it? (September 26, 2008)&quot;&gt;Which is it?&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/twouble-with-twitters/&quot; title=&quot;Twouble with Twitters (March 29, 2009)&quot;&gt;Twouble with Twitters&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/twitterific/&quot; title=&quot;Twitterific (January 6, 2007)&quot;&gt;Twitterific&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/twitter-down-for-database-maintenance/&quot; title=&quot;Twitter Down for Database Maintenance (November 18, 2008)&quot;&gt;Twitter Down for Database Maintenance&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>
		<author>
			<name>thingelstad.com</name>
			<uri>http://www.thingelstad.com</uri>
		</author>
		<source>
			<title type="html">thingelstad.com</title>
			<subtitle type="html">Jamie Thingelstad's Personal Website</subtitle>
			<link rel="self" href="http://www.thingelstad.com/feed/"/>
			<id>http://www.thingelstad.com/feed/</id>
			<updated>2009-07-01T21:01:09+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">MD6 Withdrawn from SHA-3 Competition</title>
		<link href="http://www.schneier.com/blog/archives/2009/07/md6.html" rel="alternate" title="MD6 Withdrawn from SHA-3 Competition" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/07/md6.html</id>
		<updated>2009-07-01T19:27:35+00:00</updated>
		<content type="html">In other SHA-3 news, Ron Rivest seems to have withdrawn MD6 from the SHA-3 competition. From an e-mail to a NIST mailing list: We suggest that MD6 is not yet ready for the next SHA-3 round, and we also provide some suggestions for NIST as the contest moves forward. Basically, the issue is that in order for MD6 to be...</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry>
		<title type="html">New Attack on AES</title>
		<link href="http://www.schneier.com/blog/archives/2009/07/new_attack_on_a.html" rel="alternate" title="New Attack on AES" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/07/new_attack_on_a.html</id>
		<updated>2009-07-01T16:49:18+00:00</updated>
		<content type="html">There's a new cryptanalytic attack on AES that is better than brute force: Abstract. In this paper we present two related-key attacks on the full AES. For AES-256 we show the first key recovery attack that works for all the keys and has complexity 2119, while the recent attack by Biryukov-Khovratovich-Nikolic works for a weak key class and has higher...</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Mpls.-St. Paul Wordpress User Group Meeting Registration Up</title>
		<link href="http://mnteractive.com/archive/mpls-st-paul-wordpress-user-group-meeting-registration-up" rel="alternate" title="Mpls.-St. Paul Wordpress User Group Meeting Registration Up" type="text/html"/>
		<id>http://mnteractive.com/?p=1351</id>
		<updated>2009-07-01T16:15:40+00:00</updated>
		<content type="html">&lt;p&gt;The first meeting of the Mpls.-St. Paul Wordpress User Group is slated for July 30, 2009. We&amp;#8217;ll be talking about a slew of WP topics, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Organizing Wordcamp Twin Cities 2009&lt;/li&gt;
&lt;li&gt;Converting rocking HTML Designs into rocking Wordpress Templates&lt;/li&gt;
&lt;li&gt;Wordpress Overview for Beginners&lt;/li&gt;
&lt;li&gt;Wordpress as a CMS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Details:&lt;/p&gt;
&lt;div class=&quot;vevent&quot;&gt;
&lt;div class=&quot;summary&quot;&gt;Minneapolis St. Paul Wordpress User Group Kickoff Meeting&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;dtstart&quot;&gt;&lt;span class=&quot;value-title&quot; title=&quot;2009-07-30T18:30-0500&quot;&gt;Thursday, July 30, 2009, 6:30 PM&lt;/span&gt;&lt;/span&gt; to &lt;span class=&quot;dtend&quot;&gt;&lt;span class=&quot;value-title&quot; title=&quot;2009-07-30T21:00-0500&quot;&gt;9:00 PM&lt;/span&gt;&lt;/span&gt; at &lt;span class=&quot;location&quot;&gt;&lt;span class=&quot;vcard&quot;&gt;&lt;a class=&quot;url fn&quot; href=&quot;http://www.sierra-bravo.com/&quot;&gt;Sierro Bravo&lt;/a&gt;, &lt;span class=&quot;adr&quot;&gt;&lt;span class=&quot;street-address&quot;&gt;9555 James Ave S Suite 245&lt;/span&gt;, &lt;span class=&quot;locality&quot;&gt;Bloomington&lt;/span&gt;, &lt;span class=&quot;region&quot; title=&quot;Minnesota&quot;&gt;MN&lt;/span&gt; &lt;span class=&quot;postal-code&quot;&gt;55431&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;Cost: free!&lt;/div&gt;
&lt;div&gt;Register here: &lt;a class=&quot;url&quot; href=&quot;http://bit.ly/otNd8&quot;&gt;http://bit.ly/otNd8&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</content>
		<author>
			<name>MNteractive.com</name>
			<uri>http://mnteractive.com</uri>
		</author>
		<source>
			<title type="html">MNteractive.com</title>
			<subtitle type="html">Minnesota's Interaction Design, Information Architecture, and User Experience Design Community</subtitle>
			<link rel="self" href="http://mnteractive.com/feed/"/>
			<id>http://mnteractive.com/feed/</id>
			<updated>2009-07-01T17:01:39+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Returning To Regular Blogging Shortly…</title>
		<link href="http://timelliott.us/2009/07/01/returning-to-regular-blogging-shortly/" rel="alternate" title="Returning To Regular Blogging Shortly…" type="text/html"/>
		<id>http://timelliott.us/?p=600</id>
		<updated>2009-07-01T15:45:53+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img class=&quot;aligncenter size-full wp-image-601&quot; title=&quot;Tumbleweed in a ghost town&quot; src=&quot;http://timelliott.us/wp-content/uploads/2009/07/tumbleweed.jpg&quot; alt=&quot;Tumbleweed in a ghost town&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8230;and it won&amp;#8217;t be about &lt;a class=&quot;zem_slink&quot; title=&quot;Lifestreaming&quot; rel=&quot;wikipedia&quot; href=&quot;http://en.wikipedia.org/wiki/Lifestreaming&quot;&gt;lifestreaming&lt;/a&gt; &lt;img src=&quot;http://timelliott.us/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;h6 class=&quot;zemanta-related-title&quot;&gt;Related articles by Zemanta&lt;/h6&gt;
&lt;ul class=&quot;zemanta-article-ul&quot;&gt;
&lt;li class=&quot;zemanta-article-ul-li&quot;&gt;&lt;a href=&quot;http://www.trishussey.com/2009/06/29/when-blogging-less-becomes-more/&quot;&gt; When blogging less becomes more &lt;/a&gt; (trishussey.com)&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;a class=&quot;zemanta-pixie-a&quot; title=&quot;Reblog this post [with Zemanta]&quot; href=&quot;http://reblog.zemanta.com/zemified/fc96e1e2-bc9d-45ff-a1f3-316b35307517/&quot;&gt;&lt;img class=&quot;zemanta-pixie-img&quot; src=&quot;http://img.zemanta.com/reblog_e.png?x-id=fc96e1e2-bc9d-45ff-a1f3-316b35307517&quot; alt=&quot;Reblog this post [with Zemanta]&quot; /&gt;&lt;/a&gt;&lt;span class=&quot;zem-script more-related pretty-attribution&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/ThirdLife?a=A_5TymtoJPQ:a9OIaEbyDAk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ThirdLife?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ThirdLife?a=A_5TymtoJPQ:a9OIaEbyDAk:63t7Ie-LG7Y&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ThirdLife?d=63t7Ie-LG7Y&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ThirdLife?a=A_5TymtoJPQ:a9OIaEbyDAk:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ThirdLife?i=A_5TymtoJPQ:a9OIaEbyDAk:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ThirdLife?a=A_5TymtoJPQ:a9OIaEbyDAk:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ThirdLife?i=A_5TymtoJPQ:a9OIaEbyDAk:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/ThirdLife?a=A_5TymtoJPQ:a9OIaEbyDAk:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/ThirdLife?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Tim Elliott</name>
			<email>twelliott@gmail.com</email>
			<uri>http://timelliott.us</uri>
		</author>
		<source>
			<title type="html">/timelliott</title>
			<link rel="self" href="http://feeds.feedburner.com/ThirdLife"/>
			<id>http://feeds.feedburner.com/ThirdLife</id>
			<updated>2009-07-01T21:02:04+00:00</updated>
			<rights type="html">©Tim Elliott</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Forgotten Refactorings</title>
		<link href="http://hamletdarcy.blogspot.com/2009/06/forgotten-refactorings.html" rel="alternate" title="Forgotten Refactorings" type="text/html"/>
		<id>tag:blogger.com,1999:blog-7290642316743338665.post-5224013851964141090</id>
		<updated>2009-07-01T14:01:23+00:00</updated>
		<content type="html">Shooting pool at City Billiards in 2002, my friend Hans offhandedly says, &quot;You should read Martin Fowler's &lt;a title=&quot;Refactoring&quot; href=&quot;http://martinfowler.com/books.html#refactoring&quot; id=&quot;vwf2&quot;&gt;Refactoring&lt;/a&gt;.&quot; That moment changed my life. Well, technically, the hours spent reading the book over the following week changed my life, but let's not quibble.&lt;br /&gt;&lt;br /&gt;Seven years later, I still believe this is &lt;b&gt;the &lt;/b&gt;book to read when starting out on the path to being an engineer. It's not so high-level or inaccessible as Design Patterns (although still a foundational book), nor is it as low level and implementation specific as Clean Code or Implementation Patterns (also worthwhile reads).&lt;br /&gt;&lt;br /&gt;At the time I read Refactoring, I was neck deep in PocketPC and PalmOS development. C and C++ code without unit tests. Difficult to write and difficult to change. The better developers knew the operating system API by memory, and the best developers could explain how the API interacted with the hardware. I remember one job interview where I was asked what &quot;Hello&quot; + 4 yields.* My answer of &quot;I would never write code like that&quot; was met with, &quot;Of course you wouldn't, but you'll need to debug it.&quot; How true.&lt;br /&gt;&lt;br /&gt;Refactoring laid out a vision of good, clean code that went beyond simply working correctly. This wasn't exactly new information. My peers and I all valued short methods, small classes, high cohesion, and low coupling even if we had a lot to learn about how to achieve those properties. But we also valued shipping code on the delivery date and not working the weekend too frequently. So when timelines got tight, we cranked out sort-of working code and moved on to the next project, which was usually the maintenance phase of the same project.&lt;br /&gt;&lt;br /&gt;The beauty of Refactoring was that it laid out specific instructions on how to make crummy code better. And those instructions were almost mechanical in their execution... first do this, then do this, then finish. In fact, the instructions for each refactoring are in a section called &quot;Mechanics&quot;. The promise was: if you follow the instructions then your code will improve &lt;i&gt;and nothing can go wrong&lt;/i&gt;. I loved this. Finally, I had a guide and body of knowledge around what to do about all that old code I had to sort through.&lt;br /&gt;&lt;br /&gt;So why did it all go so wrong?&lt;br /&gt;&lt;br /&gt;Why does refactoring so often introduce bugs into your system?&lt;br /&gt;&lt;br /&gt;Why is refactoring a word you can barely mention to QA and Operations without horrified reactions?&lt;br /&gt;&lt;br /&gt;Most importantly, what happened to the &quot;and nothing can go wrong&quot; part of the refactoring promise?&lt;br /&gt;&lt;br /&gt;I'll tell you what went wrong: our tool vendors screwed us.**&lt;br /&gt;&lt;br /&gt;I've been interviewing Java candidates all week, and I always ask about refactoring. Everyone knows what refactoring is. Many people know the keyboard shortcuts. It couldn't be easier to recall the various refactorings available in the IDE... there is an entire freakin' menu of them. And not a single one of those menu items is implemented correctly in terms of Fowler's Mechanics:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Chapter 1, Page 7: The First Step in Refactoring: Whenever I do refactoring, the first step is always the same. I need to build a solid set of tests for that section of code. &lt;/blockquote&gt;&lt;br /&gt;Page 7! This isn't buried in some appendix, it is front and center. And in case you're just skimming the book and missed it, it's called out in a sidebar with a lightbulb on the very next page:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Chapter 1, Page 8 Before you start refactoring, check that you have a solid suite of tests. These tests must be self-checking.&lt;/blockquote&gt;&lt;br /&gt;I don't know how much more emphasized step 1 of refactoring could be: don't touch anything that doesn't have coverage. Otherwise, you're not refactoring; you're just changing shit. And not a single IDE enforces or encourages you to have test coverage before mucking about with the refactorings. I propose we make a change to our behavior. If QA or Operations asks us what introduced a defect, and our answer is a refactoring without coverage, then we reply, &quot;I was just changing some shit.&quot; I think this would work to eliminate reckless refactorings. Hmmm. You know what might work better? How about we just try a little harder to bring our code under test. Reading &lt;a title=&quot;&amp;quot;Effectively with Legacy Code&amp;quot;&quot; href=&quot;http://www.amazon.com/Working-Effectively-Legacy-Robert-Martin/dp/0131177052&quot; id=&quot;hjh2&quot;&gt;&quot;Working Effectively with Legacy Code&quot;&lt;/a&gt; is a good place to start, as well as using functional testing frameworks like &lt;a title=&quot;DBUnit&quot; href=&quot;http://www.dbunit.org/&quot; id=&quot;t5x6&quot;&gt;DBUnit&lt;/a&gt; or maybe &lt;a title=&quot;FIT&quot; href=&quot;http://fit.c2.com/&quot; id=&quot;igsm&quot;&gt;FIT&lt;/a&gt;. The choice is yours, I guess. The second option seems a little more useful in the long term, however, I kinda like the idea of developers telling QA and their managers that software is late because they decided it was a good time to &quot;change some shit&quot;.&lt;br /&gt;&lt;br /&gt;But please, whatever you do, stop saying refactoring when you're making changes to untested code. You're ruining it for the rest of us who want to do real refactoring.&lt;br /&gt;&lt;br /&gt;* &quot;Hello&quot; + 4 yields 'o' as a character. Strings are just character arrays lined up in contiguous memory, so H is offset 0, e offset 1, and o offset 4. I thank God this information is no longer useful to me.&lt;br /&gt;&lt;br /&gt;** Yeah, it's more our fault than the tool vendors, isn't it? Still, it's a lot easier to blame a nameless entity than the guy sitting across from you.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/7290642316743338665-5224013851964141090?l=hamletdarcy.blogspot.com&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Hamlet D'Arcy</name>
			<email>noreply@blogger.com</email>
			<uri>http://hamletdarcy.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">behind the times</title>
			<subtitle type="html">grab the unicorn by the horn and ride to a realm of higher knowledge</subtitle>
			<link rel="self" href="http://hamletdarcy.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-7290642316743338665</id>
			<updated>2009-07-02T15:04:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Security, Group Size, and the Human Brain</title>
		<link href="http://www.schneier.com/blog/archives/2009/07/security_group.html" rel="alternate" title="Security, Group Size, and the Human Brain" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/07/security_group.html</id>
		<updated>2009-07-01T11:51:56+00:00</updated>
		<content type="html">If the size of your company grows past 150 people, it's time to get name badges. It's not that larger groups are somehow less secure, it's just that 150 is the cognitive limit to the number of people a human brain can maintain a coherent social relationship with. Primatologist Robin Dunbar derived this number by comparing neocortex -- the &quot;thinking&quot;...</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Build it and they will come</title>
		<link href="" rel="alternate" title="Build it and they will come" type="text/html"/>
		<id>http://cloudcto.com/?p=321</id>
		<updated>2009-07-01T03:52:25+00:00</updated>
		<content type="html">I&amp;#8217;ve often felt like a sports fan watching a great match from the sidelines as cloud computing developed over the past few years. I knew that cloud computing was changing the rules of the game for the teams in the hosting industry.  And while my team was still winning games the competition was sporting [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=cloudcto.com&amp;amp;blog=3563281&amp;amp;post=321&amp;amp;subd=unofficialcto&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</content>
		<author>
			<name>The Cloud CTO Blog</name>
			<uri>http://cloudcto.com</uri>
		</author>
		<source>
			<title type="html">The Cloud CTO Blog</title>
			<subtitle type="html">Internets, clouds, and enterprises. Cloud computing technology thoughts from a CTO.</subtitle>
			<link rel="self" href="http://unofficialcto.com/feed/"/>
			<id>http://unofficialcto.com/feed/</id>
			<updated>2009-07-03T02:01:14+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Testing HTTP Authentication</title>
		<link href="http://feedproxy.google.com/~r/RailSpikes/~3/OyM5ReRqqRY/testing-http-authentication" rel="alternate" title="Testing HTTP Authentication" type="text/html"/>
		<id>tag:railspikes.com,2009-07-01:2004</id>
		<updated>2009-07-01T01:44:29+00:00</updated>
		<content type="html">&lt;p&gt;If you ever need to test &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; Authentication in your &lt;em&gt;functional&lt;/em&gt; tests, here is how you do it:&lt;/p&gt;


&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td title=&quot;click to toggle&quot; class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;5&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;r&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;fu&quot;&gt;test_http_auth&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;  &lt;span class=&quot;iv&quot;&gt;@request&lt;/span&gt;.env[&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;HTTP_AUTHORIZATION&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;] = &lt;span class=&quot;co&quot;&gt;ActionController&lt;/span&gt;::&lt;span class=&quot;co&quot;&gt;HttpAuthentication&lt;/span&gt;::&lt;span class=&quot;co&quot;&gt;Basic&lt;/span&gt;.encode_credentials(&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;quentin&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;, &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;password&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;)&lt;tt&gt;
&lt;/tt&gt;  get &lt;span class=&quot;sy&quot;&gt;:show&lt;/span&gt;, &lt;span class=&quot;sy&quot;&gt;:id&lt;/span&gt; =&amp;gt; &lt;span class=&quot;iv&quot;&gt;@foobar&lt;/span&gt;.id&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;  assert_response &lt;span class=&quot;sy&quot;&gt;:success&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;span class=&quot;r&quot;&gt;end&lt;/span&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;


	&lt;p&gt;This is much like &lt;a href=&quot;http://railspikes.com/2008/9/12/testing-ssl&quot;&gt;testing &lt;span class=&quot;caps&quot;&gt;SSL&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Hat tip: Philipp Führer for &lt;a href=&quot;http://flip.netzbeben.de/2008/06/functional-test-for-http-authentication-in-rails-2/&quot;&gt;Functional test for &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; Basic Authentication in Rails 2&lt;/a&gt;.&lt;/p&gt;
          &lt;img src=&quot;http://feeds.feedburner.com/~r/RailSpikes/~4/OyM5ReRqqRY&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Luke Francl</name>
			<uri>http://railspikes.com/</uri>
		</author>
		<source>
			<title type="html">Rail Spikes - Home</title>
			<link rel="self" href="http://feeds.feedburner.com/RailSpikes"/>
			<id>tag:railspikes.com,2009:mephisto/</id>
			<updated>2009-07-02T08:03:21+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">links for 2009-06-30</title>
		<link href="http://www.magnetbox.com/2009/06/30/links-for-2009-06-30/" rel="alternate" title="links for 2009-06-30" type="text/html"/>
		<id>http://www.magnetbox.com/2009/06/30/links-for-2009-06-30/</id>
		<updated>2009-07-01T01:05:37+00:00</updated>
		<content type="html">&lt;ul class=&quot;delicious&quot;&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://www.fancyfastfood.com/&quot;&gt;Fancy Fast Food&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-extended&quot;&gt;Extreme makeovers of actual fast food items&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/magnetbox/food&quot;&gt;food&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://imagebakery.tv/2009/06/26/iphone-calendar-wallpapers-on-july-2009/&quot;&gt;iPhone Calendar Wallpapers&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/magnetbox/iphone&quot;&gt;iphone&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div class=&quot;delicious-link&quot;&gt;&lt;a href=&quot;http://sptnk.org/&quot;&gt;Sputnik Observatory For the Study of Contemporary Culture&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;delicious-tags&quot;&gt;(tags: &lt;a href=&quot;http://delicious.com/magnetbox/video&quot;&gt;video&lt;/a&gt; &lt;a href=&quot;http://delicious.com/magnetbox/science&quot;&gt;science&lt;/a&gt;)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
		<author>
			<name>Magnetbox</name>
			<uri>http://www.magnetbox.com</uri>
		</author>
		<source>
			<title type="html">Magnetbox</title>
			<subtitle type="html">Some blog about some stuff.</subtitle>
			<link rel="self" href="http://www.magnetbox.com/?feed=rss2"/>
			<id>http://www.magnetbox.com/?feed=rss2</id>
			<updated>2009-07-03T02:01:17+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">3 FREE Online Seminars: Job Search Tool Kit July 7th | LinkedIn A-Z July 8th | Social Media July 9th</title>
		<link href="http://feedproxy.google.com/~r/MNHeadhunter/~3/mFggRnoG00M/3-free-online-seminars-job-search-tool-kit-july-7th-linkedin-a-z-july-8th-social-media-july-9th.html" rel="alternate" title="3 FREE Online Seminars: Job Search Tool Kit July 7th | LinkedIn A-Z July 8th | Social Media July 9th" type="text/html"/>
		<id>http://www.mnheadhunter.com/mh/2009/06/3-free-online-seminars-job-search-tool-kit-july-7th-linkedin-a-z-july-8th-social-media-july-9th.html</id>
		<updated>2009-06-30T19:28:36+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.beyourownheadhunter.com/&quot; target=&quot;_blank&quot;&gt;&lt;img title=&quot;Be Your Own Headhunter logo small&quot; height=&quot;80&quot; alt=&quot;Be Your Own Headhunter logo small&quot; src=&quot;http://www.mnheadhunter.com/.a/6a00d83454ef4269e20115709e026f970c-pi&quot; width=&quot;240&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;While &lt;a href=&quot;http://www.beyourownheadhunter.com/&quot;&gt;Be Your Own Headhunter&lt;/a&gt; is under going a facelift this is how to stay in touch with upcoming seminars: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://feeds.feedburner.com/MNHeadhunter&quot;&gt;MN Headhunter RSS Feed&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.feedburner.com/fb/a/emailverifySubmit?feedId=394576&amp;amp;loc=en_US&quot;&gt;MN Headhunter RSS Via EMail&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://visitor.constantcontact.com/email.jsp?m=1101201531259&quot;&gt;MN Headhunter Newsletter&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All presentations are 60-90 minutes with a Q&amp;amp;A that follows. &lt;/p&gt;  &lt;p&gt;If you are a Twitter user and would like to provide immediate feedback during a presentation add #BYOH to your comments and suggestions. I will follow up with you on Twitter after the presentation.&lt;/p&gt;  &lt;p&gt;PLEASE NOTE: If you are unable to attend the sessions during these times (or are seeing this post after sessions have been held) either click &lt;a href=&quot;http://www.mnheadhunter.com&quot;&gt;MN Headhunter Blog&lt;/a&gt; or &lt;a href=&quot;http://ww.beyourownheadhunter.com&quot;&gt;Be Your Own Headhunter&lt;/a&gt; where you will find a calendar of upcoming events or register anyway so you can get the slides via email.&lt;/p&gt;   &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;July 7th, 3 PM &amp;amp; 7 PM CDT&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Job Search Toolkit - Be Your Own Headhunter&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This is for those in a job search or those thinking either by choice or force they will be doing one soon. Topics to be covered include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;To plan your job search &lt;/li&gt;    &lt;li&gt;How to market yourself &lt;/li&gt;    &lt;li&gt;Ways to ask for referrals and advice &lt;/li&gt;    &lt;li&gt;Where to find the hidden job market &lt;/li&gt;    &lt;li&gt;Where to research companies &lt;/li&gt;    &lt;li&gt;How to find contact names and email addresses &lt;/li&gt;    &lt;li&gt;Tips on using email and phone for contacting and follow up &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;blockquote&gt;     &lt;p&gt;To register click:&lt;/p&gt;   &lt;/blockquote&gt;    &lt;ul&gt;     &lt;ul&gt;       &lt;li&gt;&lt;a href=&quot;https://www2.gotomeeting.com/register/120705666&quot; target=&quot;_blank&quot;&gt;3 PM CDT Job Search Toolkit - Be Your Own Headhunter&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href=&quot;https://www2.gotomeeting.com/register/539805571&quot; target=&quot;_blank&quot;&gt;7 PM CDT Job Search Toolkit - Be Your Own Headhunter&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;July 8th, 3 PM CDT&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;LinkedIn A to Z - Use LinkedIn Like A Headhunter&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Whether you are using LinkedIn as a job seeker, recruiter, sales person or for general networking purposes this presentation will show you how to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create and optimize your profile &lt;/li&gt;    &lt;li&gt;Create your personal URL &lt;/li&gt;    &lt;li&gt;Connect with and expand your network &lt;/li&gt;    &lt;li&gt;Find and participate in groups &lt;/li&gt;    &lt;li&gt;Research companies &lt;/li&gt;    &lt;li&gt;Use Google to see all of LinkedIn, not just your 3 degrees &lt;/li&gt;    &lt;li&gt;Write and ask for recommendations &lt;/li&gt;    &lt;li&gt;Participate in Questions and Answers &lt;/li&gt;    &lt;li&gt;Search for names using keywords, title, company, skill set and location &lt;/li&gt;    &lt;li&gt;Avoid pitfalls &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;To register click &lt;a href=&quot;https://www2.gotomeeting.com/register/138232890&quot; target=&quot;_blank&quot;&gt;LinkedIn A to Z - Use LinkedIn Like A Headhunter&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;July 9th, 3 PM CDT&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Using Social Media For Networking, Lead Generation And Job Search&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For those of us who write a blog and/or have profiles on Facebook, Twitter, MySpace and Ning groups we often use these site to communicate with friends, coworkers and family but until recently very few thought of them as opportunities to network, for lead generation, find jobs and consulting opportunities.&lt;/p&gt;  &lt;p&gt;I will walk through the use of blogs, Facebook, Twitter, MySpace and Ning groups showing ways one can:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Optimize profiles with keywords, locations, etc &lt;/li&gt;    &lt;li&gt;Use the site to search others &lt;/li&gt;    &lt;li&gt;Join and create groups &lt;/li&gt;    &lt;li&gt;Overtly and covertly say you are networking, looking for customers, jobs or consulting gigs &lt;/li&gt;    &lt;li&gt;Show what you are working on and prove expertise &lt;/li&gt;    &lt;li&gt;Engage in a regional, local and industry conversation &lt;/li&gt;    &lt;li&gt;Connect and network prior to and after industry events &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;To register click &lt;a href=&quot;https://www2.gotomeeting.com/register/227558914&quot; target=&quot;_blank&quot;&gt;Using Social Media For Networking, Lead Generation And Job Search&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;If you are seeing this blog post after the sessions have taken place click &lt;a href=&quot;http://www.mnheadhunter.com/mh/be-your-own-headhunter/&quot; target=&quot;_blank&quot;&gt;Be Your Own Headhunter&lt;/a&gt; for latest announcements or &lt;a href=&quot;http://www.mnheadhunter.com&quot; target=&quot;_blank&quot;&gt;MN Headhunter&lt;/a&gt; to return to the front page for the current schedule&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/MNHeadhunter/~4/mFggRnoG00M&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>MN Headhunter</name>
			<uri>http://www.mnheadhunter.com/mh/</uri>
		</author>
		<source>
			<title type="html">MN Headhunter/Nerd Search</title>
			<link rel="self" href="http://www.mnheadhunter.com/mh/atom.xml"/>
			<id>http://www.mnheadhunter.com/mh/atom.xml</id>
			<updated>2009-06-30T22:01:57+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Cryptography Spam</title>
		<link href="http://www.schneier.com/blog/archives/2009/06/cryptography_sp.html" rel="alternate" title="Cryptography Spam" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/06/cryptography_sp.html</id>
		<updated>2009-06-30T18:36:42+00:00</updated>
		<content type="html">I think this is a first. Information security, and protection of your e-money. Electronic payments and calculations, on means of a network the Internet or by means of bank credit cards, continue to win the world market. Electronic payments, it quickly, conveniently, but is not safely. Now there is a real war, between users and hackers. Your credit card can...</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Growth of the CSE</title>
		<link href="http://www.schneier.com/blog/archives/2009/06/growth_of_the_c.html" rel="alternate" title="Growth of the CSE" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/06/growth_of_the_c.html</id>
		<updated>2009-06-30T11:32:53+00:00</updated>
		<content type="html">The Communication Security Establishment (CSE, basically Canada's NSA) is growing so fast they're running out of room and building new office buildings....</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Prodigy Developers - Sara Chipps</title>
		<link href="http://www.techcareertips.com/2009/06/prodigy-developers-sara-chipps.html" rel="alternate" title="Prodigy Developers - Sara Chipps" type="text/html"/>
		<id>tag:blogger.com,1999:blog-2404383292479761748.post-8884252331742638352</id>
		<updated>2009-06-30T11:17:31+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://lh3.ggpht.com/_4EcGDIC9aI4/SkosiGaMb_I/AAAAAAAAAJs/Camq6aWC1xM/s1600-h/cooltext424799931%5B1%5D.jpg&quot;&gt;&lt;img title=&quot;cooltext424799931&quot; border=&quot;0&quot; alt=&quot;cooltext424799931&quot; src=&quot;http://lh5.ggpht.com/_4EcGDIC9aI4/SkosiTj98qI/AAAAAAAAAJw/EsZUQGNiSmw/cooltext424799931_thumb.jpg?imgmax=800&quot; width=&quot;148&quot; height=&quot;103&quot; /&gt;&lt;/a&gt;Here is the third installation of my Prodigy Developers interview: Sara Chipps – You can find her at &lt;a href=&quot;http://www.girldeveloper.com&quot;&gt;GirlDeveloper.com&lt;/a&gt;.&amp;#160; I highly suggest you check out her site. You will find some links below. She is loaded with energy, intelligence and a great thoughts on advancing your career as a developer.&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://lh4.ggpht.com/_4EcGDIC9aI4/SkosiY8A39I/AAAAAAAAAJ0/o772sFanfUo/s1600-h/sarachipps3.jpg&quot;&gt;&lt;img title=&quot;sara-chipps&quot; border=&quot;0&quot; alt=&quot;sara-chipps&quot; src=&quot;http://lh4.ggpht.com/_4EcGDIC9aI4/Skosiocb71I/AAAAAAAAAJ4/2Ex4Y6ufc2o/sarachipps_thumb1.jpg?imgmax=800&quot; width=&quot;140&quot; height=&quot;173&quot; /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Who&lt;/strong&gt;: Sara Chipps: &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Where&lt;/strong&gt;: &lt;a href=&quot;http://www.girldeveloper.com&quot;&gt;GirlDeveloper.com&lt;/a&gt; and &lt;a href=&quot;http://itmanagement.earthweb.com/entdev/article.php/3819656/A-Developer-and-her-Netbook-Cheap-NET-Coding.htm&quot;&gt;Datamation&lt;/a&gt; (Search for “Sara Chipps” and review some of her great columns and career suggestions)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Employer&lt;/strong&gt;: MakeOver Solutions&amp;#160; Site = &lt;a href=&quot;http://www.dailymakeover.com/&quot;&gt;DailyMakeover.com&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Connect&lt;/strong&gt;: Sara is open to comments and questions - &lt;a href=&quot;mailto:sarajchipps@gmail.com&quot;&gt;sarajchipps [at] gmail.com&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Sara has a realistic approach to communication in the work place and how to interact with others (in work or in the tech community) to learn and grow. She is not afraid to really push herself into uncomfortable areas, then using that experience to succeed and grow. She is very courageous and confident (although she may say otherwise). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Here is the Q&amp;amp;A with Sara.&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Production Note: (Each link will take you to just that question/answer)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sara’s Background: &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtYmFja2dyb3VuZC1tcDM=&quot;&gt;Who What Where When&lt;/a&gt;: (2:40) .NET Developer at MakeOver Solutions - &lt;a href=&quot;http://www.dailymakeover.com/&quot;&gt;DailyMakeover.com&lt;/a&gt;, Speaking, Writing, very involved &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtY29uaW51ZWQtdHJhaW5pbmctbXAz&quot;&gt;Continued Education / Training and the Community&lt;/a&gt;: (2:19) She uses training events, user groups, writing and connecting with other developers to force her learn. “People that really get involved keep each other educated.” &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtY2hhbGxlbmdlLXdvbWFuLWJlbmVmaXRzLW1wMw==&quot;&gt;being a woman in software Development Industry&lt;/a&gt;: (2:53) Gender is not an issue unless you make it an issue. Don’t be afraid to ask questions. Don’t be afraid to make a mistake.&amp;#160; Many resources out there for women developers (technical professionals). ***Side note: Here is a &lt;a href=&quot;http://itmanagement.earthweb.com/features/article.php/3747396/An-Open-Letter-to-Girls-Considering-a-Career-in-IT.htm&quot;&gt;related article&lt;/a&gt; Sara wrote for Datamation on Girls Considering a Career in IT. &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtc29mdC1za2lsbC1jb21tdW5pY2F0aW9uLW1wMw==&quot;&gt;Importance of Communication&lt;/a&gt; (4:34) Most important non-technical skill is “Communication.” You must &lt;u&gt;hear&lt;/u&gt; what they say vs. what they mean. She answers the differences in communicating with Developers, Users and Leaders.&amp;#160; &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMta25vdy15b3Utc3RyZWdodHMtd2Vha25lc3MtbXAz&quot;&gt;Strengths and Weaknesses&lt;/a&gt; (1:13) Good developer knows strengths and weaknesses &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtc20tYXNraW5nLXF1ZXN0aW9ucy1tcDM=&quot;&gt;Growing through the use of social media and benefit for asking Good Questions&lt;/a&gt; (2:09) “Ask questions all the time” always have someone to contact to help out with an problem. “There is such a thing as a &lt;u&gt;dumb question&lt;/u&gt;” – do some research first, be prepared. &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtbW9zdC1lbmpveS1hbmQtYmFsYW5jZS1tcDM=&quot;&gt;Most Enjoyable part of being a developer and Balance&lt;/a&gt; (2:07)&amp;#160; Love all of it. I do what I love. Choose what part of your craft you are good at, do it well. &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtd2hhdC1pcy1uZXh0LXNtLXdhbi1wYXJ0eS1tcDM=&quot;&gt;Reaching out to Community and her WAN Party&lt;/a&gt; (3:02) Do more with the community, speaking, WAN Party forces her to learn more. &lt;/li&gt;    &lt;li&gt;Sara on &lt;a href=&quot;http://drop.io/hidden/nj9zhquraugs9c/asset/c2FyYS1jaGlwcHMtbWVudG9yaW5nLW1wMw==&quot;&gt;Mentoring&lt;/a&gt; (2:08) Most important thing to do when you start out is find a mentor. Find someone that thinks like you, but better. Find multiple mentors. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For reference here is Sara’s latest VLog: &lt;a href=&quot;http://girldeveloper.com/vlog/girl-developer-the-news/&quot;&gt;Girl Developer the News&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Again I think you will see a similar thread here with &lt;a href=&quot;http://www.techcareertips.com/2009/06/prodigy-developers-jacob-good.html&quot;&gt;others&lt;/a&gt; I’ve interviewed. In addition to their technical skills, hard work and passion they’ve had a good return on their investment by getting involved in the developer community.&amp;#160; In Sara’s case she is everywhere; writing, speaking, blogging, vloging, answering questions, asking questions, creating her own WAN parties. She is not afraid of doing the uncomfortable for a personal / profession gain.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ASK YOURSELF:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;What are you doing to get involved in the community? &lt;/p&gt;  &lt;p&gt;How have you put yourself into uncomfortable situations to help you grow (knowledge and career)? &lt;/p&gt;  &lt;p&gt;Are you learning new things by interacting with other developers. &lt;/p&gt;  &lt;p&gt;Do you have a mentor? &lt;/p&gt;  &lt;p&gt;Do you really know your Strengths and Weaknesses?&lt;/p&gt;  &lt;p&gt;Are passionate about what you are doing? &lt;/p&gt;  &lt;p&gt;What are you doing to sharpen your communications skills?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Decide to do at least one thing to increase your value to your employer. Today is the day!&lt;/strong&gt;&lt;/p&gt;  &lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2404383292479761748-8884252331742638352?l=www.techcareertips.com&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Tavis Hudson</name>
			<email>noreply@blogger.com</email>
			<uri>http://www.techcareertips.com/</uri>
		</author>
		<source>
			<title type="html">Tech Career Tips</title>
			<subtitle type="html">Confessions of a Tech Headhunter</subtitle>
			<link rel="self" href="http://www.techcareertips.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-2404383292479761748</id>
			<updated>2009-06-30T20:01:51+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">78% More Satisfied</title>
		<link href="http://www.edstrom.net/blog/archive/78-more-satisfied/" rel="alternate" title="78% More Satisfied" type="text/html"/>
		<id>http://www.edstrom.net/blog/?p=646</id>
		<updated>2009-06-29T22:08:35+00:00</updated>
		<content type="html">&lt;p&gt;Some great &lt;a href=&quot;http://www.agilemodeling.com/essays/proof.htm&quot;&gt;survey results about Agile&lt;/a&gt;:&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;78% of business stakeholders are more satisfied with Agile projects than Traditional projects.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-647&quot; title=&quot;picture-21&quot; src=&quot;http://www.edstrom.net/blog/wp-content/uploads/2009/05/picture-21.png&quot; alt=&quot;picture-21&quot; width=&quot;430&quot; height=&quot;310&quot; /&gt;&lt;/p&gt;
&lt;p&gt;[via &lt;a href=&quot;http://www.agilemodeling.com/essays/proof.htm&quot;&gt;Agile Modeling&lt;/a&gt;, Scott W. Ambler]&lt;/p&gt;</content>
		<author>
			<name>Project Oriel</name>
			<uri>http://www.edstrom.net/blog</uri>
		</author>
		<source>
			<title type="html">Project Oriel</title>
			<subtitle type="html">Embracing Change</subtitle>
			<link rel="self" href="http://www.edstrom.net/blog/feed/"/>
			<id>http://www.edstrom.net/blog/feed/</id>
			<updated>2009-06-29T23:02:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">If you can&amp;amp;rsquo;t reach me&amp;amp;hellip;</title>
		<link href="http://www.lhotka.net/weblog/IfYouCanrsquotReachMehellip.aspx" rel="alternate" title="If you can&amp;amp;rsquo;t reach me&amp;amp;hellip;" type="text/html"/>
		<id>http://www.lhotka.net/weblog/PermaLink,guid,94343842-4578-4b3d-9465-962ba678b78c.aspx</id>
		<updated>2009-06-29T20:32:01+00:00</updated>
		<content type="html">&lt;p&gt;
I use register.com for my email – though after today that may have to change…
&lt;/p&gt;
&lt;p&gt;
Why? Because the register.com email service is down, and has been for several hours.
There was a brief moment earlier this afternoon when I thought they had it fixed,
because a few emails squeaked through, but otherwise it is deader than a doornail.
&lt;/p&gt;
&lt;p&gt;
register.com is apparently doing some sort of email system upgrade – fancier AJAX
web UI, etc. And that’d be fine, but all I really care about is reliable POP/SMTP
service, and the “upgrade” appears to have been a major step backward in that regard…
&lt;/p&gt;
&lt;p&gt;
This affects my personal email, the email for the &lt;a href=&quot;http://forums.lhotka.net/&quot;&gt;CSLA
.NET forum&lt;/a&gt; and email for my &lt;a href=&quot;http://store.lhotka.net/&quot;&gt;online store&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
So if you sent me email and expect/need a response, don’t get your hopes too high.
Maybe they’ll get it fixed, but I’m beginning to suspect that they really messed themselves
up. This may be the push I need to explore other email options – probably ones that
are cheaper and better (since register.com is not a great value in that regard – they
are just convenient).
&lt;/p&gt;
&lt;img width=&quot;0&quot; height=&quot;0&quot; src=&quot;http://www.lhotka.net/weblog/aggbug.ashx?id=94343842-4578-4b3d-9465-962ba678b78c&quot; /&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;div&gt;
&lt;!-- Text Ads - Product Spotlight Ad Tag Start --&gt;

&lt;!-- Text Ads - Product Spotlight Ad Tag End --&gt;
&lt;br clear=&quot;all&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/qzk3IiTDA2wBpBMRrh-3i3CrQu4/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/qzk3IiTDA2wBpBMRrh-3i3CrQu4/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/qzk3IiTDA2wBpBMRrh-3i3CrQu4/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/qzk3IiTDA2wBpBMRrh-3i3CrQu4/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/RockfordLhotka/~4/_SV-qV-ZRvY&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Rockford Lhotka</name>
			<email>rocky@lhotka.net</email>
			<uri>http://www.lhotka.net/weblog/</uri>
		</author>
		<source>
			<title type="html">Rockford Lhotka</title>
			<subtitle type="html">Author of Expert C#/VB 2005 Business Objects</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/RockfordLhotka"/>
			<id>http://www.lhotka.net/weblog/</id>
			<updated>2009-07-02T21:01:44+00:00</updated>
			<rights type="html">Rockford Lhotka</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Who Uses Exchange 2007?</title>
		<link href="http://blog.visi.com/2009/06/29/who-uses-exchange-2007/" rel="alternate" title="Who Uses Exchange 2007?" type="text/html"/>
		<id>http://blog.visi.com/?p=106</id>
		<updated>2009-06-29T20:01:48+00:00</updated>
		<content type="html">When VISI decided to transition completely into Exchange 2007, I thought the move was fantastic. It was the best thing for a business with all of its new functionality and options that were not available with Exchange 2003. Then I had an unexpected series of hectic phone calls, which changed my viewpoint of who should [...]</content>
		<author>
			<name>VISI BLOG</name>
			<uri>http://blog.visi.com</uri>
		</author>
		<source>
			<title type="html">VISI BLOG</title>
			<subtitle type="html">Beyond Internet</subtitle>
			<link rel="self" href="http://blog.visi.com/feed/"/>
			<id>http://blog.visi.com/feed/</id>
			<updated>2009-07-02T16:12:53+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Anti-Stab Knife</title>
		<link href="http://www.schneier.com/blog/archives/2009/06/anti-stab_knife.html" rel="alternate" title="Anti-Stab Knife" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/06/anti-stab_knife.html</id>
		<updated>2009-06-29T19:18:22+00:00</updated>
		<content type="html">I've already written about the risks of pointy knives. This no-stabbing knife is the solution, and seems not to be a joke. EDITED TO ADD (7/1): Some people have taken this blog post to imply that I am endorsing these knives. These are obviously not regular readers of mine. (For my part, I'm going to buy a very sharp and...</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Could MSP Be the Social Media Capital of the World?</title>
		<link href="http://feedproxy.google.com/~r/Minnov8/~3/CBS7-qeBbO8/" rel="alternate" title="Could MSP Be the Social Media Capital of the World?" type="text/html"/>
		<id>http://minnov8.com/?p=2683</id>
		<updated>2009-06-29T17:57:07+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img class=&quot;alignleft size-full wp-image-2697&quot; title=&quot;SMBmsp-logo&quot; src=&quot;http://minnov8.com/wp-content/uploads/2009/06/SMBmsp-logo2.jpg&quot; alt=&quot;SMBmsp-logo&quot; /&gt;Or at least the social media &lt;em&gt;breakfast&lt;/em&gt; capital of the world? It felt like it Friday, as a mob of people began gathering bright and early, with the smell of bacon and eggs wafting above the expansive lawn at Deluxe Corporation&amp;#8217;s headquarters in Shoreview, MN.  The scene was the 16th consecutive monthly meeting of an organization called &lt;a href=&quot;http://smbmsp.ning.com&quot; target=&quot;_blank&quot;&gt;Social Media Breakfast-Twin Cities&lt;/a&gt;, or &amp;#8220;SMBmsp&amp;#8221; for short.   Complete with a &amp;#8220;Jumbotron&amp;#8221; on wheels for the presenters&amp;#8217;s slides, the event was unofficially dubbed &amp;#8220;Social Media Palooza&amp;#8221; by the sponsor, and beach balls were even bouncing from row to row before the morning was over.&lt;/p&gt;
&lt;p&gt;The event was originally slated to be held indoors at Deluxe, but free tickets for the 125-person capacity room sold out on &lt;a href=&quot;http://smbmsp16.eventbrite.com/&quot; target=&quot;_blank&quot;&gt;the group&amp;#8217;s online sign-up site&lt;/a&gt; within two hours. So, organizer Rick Mahn and sponsor &lt;a href=&quot;http://www.partnerup.com&quot; target=&quot;_blank&quot;&gt;PartnerUp&lt;/a&gt; (a &lt;a href=&quot;http://www.deluxecorp.com&quot; target=&quot;_blank&quot;&gt;Deluxe&lt;/a&gt; company) scrambled to accommodate demand. They quickly decided to open up the event by holding it outside, and then promptly sold out all 250 tickets.  &lt;img class=&quot;alignleft size-full wp-image-2690&quot; title=&quot;WideShot-8am&quot; src=&quot;http://minnov8.com/wp-content/uploads/2009/06/WideShot-8am1.jpg&quot; alt=&quot;WideShot-8am&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Just what is a &amp;#8220;Social Media Breakfast&amp;#8221;?  As explained on the group&amp;#8217;s web site (a &lt;a href=&quot;http://smbmsp.ning.com&quot; target=&quot;_blank&quot;&gt;social networking site&lt;/a&gt;, of course!): &amp;#8220;It&amp;#8217;s where folks get together to talk about using social media and social networking tools in their business or careers. It&amp;#8217;s about networking, it&amp;#8217;s about learning, and mostly it&amp;#8217;s about people.&amp;#8221;&lt;/p&gt;
&lt;p&gt;The SMB concept has taken off nationally, now with 25 chapters. But in early 2008 the Twin Cities group was one of the first to get started &amp;#8212; the third, actually, after Boston and New York City, according to Bryon Person, the founder of Social Media Breakfast. Person spoke at the local &amp;#8220;SMPmsp 15&amp;#8243; event at Concordia College in St. Paul on May 16. (Person is based in Austin, TX and is a blogger, podcaster, speaker, and social media evangelist for LiveWorld. He is &lt;a href=&quot;http://www.twitter.com/BryanPerson&quot; target=&quot;_blank&quot;&gt;@BryanPerson&lt;/a&gt; on Twitter.)  Person also said the Twin Cities SMB group has held the most meetings of all the chapters, and consistently has the biggest attendance.  Thus, one could conclude that Friday&amp;#8217;s outdoor event was the biggest SMB breakest ever held nationally, since attendance was about twice that of the largest previous SMBmsp event. &lt;span id=&quot;more-2683&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Speakers at the &lt;a href=&quot;http://smbmsp.ning.com/events/smbmsp-16&quot; target=&quot;_blank&quot;&gt;&amp;#8220;SMBmsp 16&amp;#8243; event&lt;/a&gt; included Tim Brunelle (&lt;a href=&quot;http://www.twitter.com/tbrunelle&quot; target=&quot;_blank&quot;&gt;@tbrunelle&lt;/a&gt; on Twitter), pictured at right below, who spoke on &amp;#8220;The Impact of Social Media on the Advertising and Marketing Industry,&amp;#8221; and Minnov8&amp;#8217;s own Steve Borsch (&lt;a href=&quot;http://www.twitter.com/sborsch&quot; target=&quot;_blank&quot;&gt;@sborsch&lt;/a&gt; on Twitter), at left, who presented on the topic of &amp;#8220;Personal/Professional Hubs: A Place to Aggregate Your Digital Life.&amp;#8221;  &lt;img class=&quot;alignleft size-full wp-image-2695&quot; title=&quot;SteveBorsch+TimBrunelle&quot; src=&quot;http://minnov8.com/wp-content/uploads/2009/06/SteveBorsch+TimBrunelle1.jpg&quot; alt=&quot;Steve Borsch, left, and Tim Brunelle. (Photo by Jamie Thinglestad.)&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Borsch commented later, after he had left for Chicago immediately following the breakfast. &amp;#8220;Wow, what a great event. Thank you to PartnerUp and Deluxe for going way above and beyond the call of duty to host this gathering and making it such a success.&amp;#8221;  As he was presenting, Borsch said he was thinking: &amp;#8220;Gee, if I&amp;#8217;m sweating up here in the shade, imagine how &lt;em&gt;they&lt;/em&gt; must be feeling!&amp;#8221; The sun was amazingly strong, even so early in the morning. He said later on the SMBmsp site&amp;#8217;s blog: &amp;#8220;This event just goes to show the level of interest, the strength of our community, and that each of you recognize how fundamentally important is the shift being exhibited by the onrush of social media&amp;#8230; Or it was all just about free hats and bacon?&amp;#8221; &lt;img class=&quot;alignleft size-full wp-image-2699&quot; title=&quot;SteveB+Jumbotron&quot; src=&quot;http://minnov8.com/wp-content/uploads/2009/06/SteveB+Jumbotron.jpg&quot; alt=&quot;SteveB+Jumbotron&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Borsch uploaded a PDF of &lt;a href=&quot;http://iconnectdots.com/smbmsp16&quot; target=&quot;_blank&quot;&gt;his Apple Keynote presentation&lt;/a&gt;, which was shown on the Jumbotron (he&amp;#8217;s shown here readying for his talk), and it is viewable and downloadable at that link above.  &amp;#8220;I was using my iPhone to control the presentation with the &amp;#8216;Keynote App&amp;#8217; from Apple. You can see one slide and your notes &amp;#8212; flickably scrollable to advance the slide or scroll your notes &amp;#8212; or, in landscape mode, to see the next slide queued up ready to go. It runs over wifi.&amp;#8221;   [&lt;em&gt;Yes, that's our Steve Borsch -- the ultimate geek!&lt;/em&gt;] &lt;img class=&quot;alignleft size-full wp-image-2700&quot; title=&quot;SteveB-speaking&quot; src=&quot;http://minnov8.com/wp-content/uploads/2009/06/SteveB-speaking.jpg&quot; alt=&quot;SteveB-speaking&quot; /&gt;&lt;/p&gt;
&lt;p&gt;For more on SMBmsp, you can read all the tweets posted about it by simply going to &lt;a href=&quot;http://search.twitter.com&quot; target=&quot;_blank&quot;&gt;search.Twitter.com&lt;/a&gt; and entering either &amp;#8220;SMBmsp&amp;#8221; or &amp;#8220;SMBmsp16&amp;#8243;.  You can also see some great photos here: &lt;a href=&quot;http://www.flickr.com/photos/jthingelstad/sets/72157620606309622/&quot; target=&quot;_blank&quot;&gt;a Flickr set by Jamie Thinglestad&lt;/a&gt;.  The closeup photo above of the two speakers, and the two shots below are Jamie&amp;#8217;s, used here with permission; all other photos are from &lt;a href=&quot;http://www.flickr.com/photos/graemethickins/sets/72157620581121367/&quot; target=&quot;_blank&quot;&gt;my own Flickr set&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I asked Phil Wilson, fellow contributor to Minnov8, for his reaction to SMBmsp 16:  &amp;#8220;It was great to see so many new faces coming to check out what&amp;#8217;s happening in our social media community.  I hope that they can come back to really get a sense of how easy it is to connect with the group.  I prefer a more intimate setting where we can better discuss the topics presented, but it was fun to be part of &amp;#8216;Social Media Palooza&amp;#8217;.  I&amp;#8217;ve never seen a keynote presentation on a jumbotron!  Steve&amp;#8217;s presentation was spot on. I also thought Tim Brunelle had some great information and insight. For anyone interested in using social media for business or &amp;#8216;brand&amp;#8217;, it&amp;#8217;s vital to keep in mind the impact it will have on marketing and advertising.&amp;#8221;&lt;/p&gt;
&lt;p&gt;Anyone may join the &amp;#8220;SMBmsp&amp;#8221; group by registering for free at its &lt;a href=&quot;http://smbmsp.ning.com&quot; target=&quot;_blank&quot;&gt;site&lt;/a&gt;.  There are currently 827 people who have done so, according to &lt;a href=&quot;http://smbmsp.ning.com/profiles/members/&quot; target=&quot;_blank&quot;&gt;the Members page&lt;/a&gt;.  The site has a regular podcast, and also a blog where any member can post.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;alignleft size-full wp-image-2701&quot; title=&quot;Audience-SMBmsp16&quot; src=&quot;http://minnov8.com/wp-content/uploads/2009/06/Audience-SMBmsp16.jpg&quot; alt=&quot;Audience-SMBmsp16&quot; /&gt; &lt;img class=&quot;alignleft size-full wp-image-2702&quot; title=&quot;RickMahn-introduction&quot; src=&quot;http://minnov8.com/wp-content/uploads/2009/06/RickMahn-introduction.jpg&quot; alt=&quot;RickMahn-introduction&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Minnov8?a=CBS7-qeBbO8:ZZdm8gKWiLI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Minnov8?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Minnov8?a=CBS7-qeBbO8:ZZdm8gKWiLI:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Minnov8?i=CBS7-qeBbO8:ZZdm8gKWiLI:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Minnov8?a=CBS7-qeBbO8:ZZdm8gKWiLI:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Minnov8?i=CBS7-qeBbO8:ZZdm8gKWiLI:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Minnov8?a=CBS7-qeBbO8:ZZdm8gKWiLI:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Minnov8?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Minnov8?a=CBS7-qeBbO8:ZZdm8gKWiLI:l6gmwiTKsz0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Minnov8?d=l6gmwiTKsz0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Minnov8</name>
			<email>sborsch@gmail.com</email>
			<uri>http://minnov8.com</uri>
		</author>
		<source>
			<title type="html">Minnov8</title>
			<subtitle type="html">Internet Web Technology Innovation in Minnesota, the Land of 10,000 Lakes</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/Minnov8"/>
			<id>http://feeds.feedburner.com/Minnov8</id>
			<updated>2009-07-02T23:02:38+00:00</updated>
			<rights type="html">©Minnov8</rights>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">iPhone 3.0 Phone Label</title>
		<link href="http://www.thingelstad.com/iphone-3-0-phone-label/" rel="alternate" title="iPhone 3.0 Phone Label" type="text/html"/>
		<id>http://www.thingelstad.com/?p=2105</id>
		<updated>2009-06-29T15:28:06+00:00</updated>
		<content type="html">&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;microid-664c9e7a9c91b33599b414a5efbda975c9aa74d9&quot;&gt;&lt;p&gt;This is a little change in the iPhone 3.0 release that I hadn&amp;#8217;t seen anyone mention. When you change the type of a phone number in Address Book on the iPhone you&amp;#8217;ve always been able to set custom labels in addition to the built-in ones. However, there was a new one added in 3.0 for &amp;#8220;iPhone&amp;#8221; (see 2nd choice).&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;lightbox&quot; href=&quot;http://www.thingelstad.com/wp-content/uploads/2009/06/p_480_320_EC93FE68-E214-4C9F-9E03-4747E994DF24.jpeg&quot;&gt;&lt;img class=&quot;aligncenter size-full wp-image-364&quot; src=&quot;http://www.thingelstad.com/wp-content/uploads/2009/06/p_480_320_EC93FE68-E214-4C9F-9E03-4747E994DF24.jpeg&quot; alt=&quot;&quot; width=&quot;200&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Kind of odd. Not real sure what you would use this for other than vanity. I guess you could sometime specify, particularly with the coming use of MMS, that I only want to send this to iPhones?&lt;/p&gt;
&lt;p&gt;This post is from the website &lt;a href=&quot;http://www.thingelstad.com&quot;&gt;thingelstad.com&lt;/a&gt; by &lt;a href=&quot;http://www.thingelstad.com/contact&quot;&gt;Jamie Thingelstad&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
	&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://www.thingelstad.com/tag/address-book/&quot; title=&quot;Address Book&quot; rel=&quot;tag&quot;&gt;Address Book&lt;/a&gt;, &lt;a href=&quot;http://www.thingelstad.com/tag/apple/&quot; title=&quot;Apple&quot; rel=&quot;tag&quot;&gt;Apple&lt;/a&gt;, &lt;a href=&quot;http://www.thingelstad.com/tag/iphone/&quot; title=&quot;iPhone&quot; rel=&quot;tag&quot;&gt;iPhone&lt;/a&gt;&lt;br /&gt;

	&lt;h4&gt;Related posts&lt;/h4&gt;
	&lt;ul class=&quot;st-related-posts&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/top-10-apple-wishes-itunes-edition/&quot; title=&quot;Top 10 Apple Wishes &amp;#8211; iTunes Edition (December 1, 2007)&quot;&gt;Top 10 Apple Wishes &amp;#8211; iTunes Edition&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/itunes-ecosystem/&quot; title=&quot;iTunes Ecosystem (November 22, 2007)&quot;&gt;iTunes Ecosystem&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/iphone-screen-broken/&quot; title=&quot;iPhone Screen Broken (December 8, 2007)&quot;&gt;iPhone Screen Broken&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/iphone-feature-need-block-wifi-network/&quot; title=&quot;iPhone Feature Need: Block WiFi Network (October 10, 2008)&quot;&gt;iPhone Feature Need: Block WiFi Network&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.thingelstad.com/iphone-day-via-twitter/&quot; title=&quot;iPhone Day via Twitter (July 14, 2007)&quot;&gt;iPhone Day via Twitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>
		<author>
			<name>thingelstad.com</name>
			<uri>http://www.thingelstad.com</uri>
		</author>
		<source>
			<title type="html">thingelstad.com</title>
			<subtitle type="html">Jamie Thingelstad's Personal Website</subtitle>
			<link rel="self" href="http://www.thingelstad.com/feed/"/>
			<id>http://www.thingelstad.com/feed/</id>
			<updated>2009-07-01T21:01:09+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Protecting Against the Snatched Laptop Data Theft</title>
		<link href="http://www.schneier.com/blog/archives/2009/06/protecting_agai.html" rel="alternate" title="Protecting Against the Snatched Laptop Data Theft" type="text/html"/>
		<id>http://www.schneier.com/blog/archives/2009/06/protecting_agai.html</id>
		<updated>2009-06-29T11:51:02+00:00</updated>
		<content type="html">Almost two years ago, I wrote about my strategy for encrypting my laptop. One of the things I said was: There are still two scenarios you aren't secure against, though. You're not secure against someone snatching your laptop out of your hands as you're typing away at the local coffee shop. And you're not secure against the authorities telling you...</content>
		<author>
			<name>Schneier on Security</name>
			<uri>http://www.schneier.com/blog/</uri>
		</author>
		<source>
			<title type="html">Schneier on Security</title>
			<subtitle type="html">A blog covering security and security technology.</subtitle>
			<link rel="self" href="http://www.schneier.com/blog/index2.xml"/>
			<id>http://www.schneier.com/blog/index2.xml</id>
			<updated>2009-07-02T23:02:28+00:00</updated>
			<rights type="html">Copyright 2009 Bruce Schneier</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Writing (and Testing) Good Error Messages</title>
		<link href="http://hamletdarcy.blogspot.com/2009/06/writing-and-testing-good-error-messages.html" rel="alternate" title="Writing (and Testing) Good Error Messages" type="text/html"/>
		<id>tag:blogger.com,1999:blog-7290642316743338665.post-2624031077906680011</id>
		<updated>2009-06-28T09:13:23+00:00</updated>
		<content type="html">Maybe I do spend more time on error messages than most people. I usually write some sort of unit test, which at least quadruples the time it takes to write &quot;&lt;span&gt;throw new RuntimeException()&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&quot;OH GOD NO! Unit testing exception messages, what is he thinking?&quot;&lt;br /&gt;&lt;br /&gt;Hear me out become calling me a pedant.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;ts&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Design_by_contract&quot;&gt;Contract-Driven Development&lt;/a&gt; is a technique more widely accepted than it is &lt;/span&gt;debated, especially for Java development. While Java does not support contracts as part of the language, the conventional wisdom I'm given is to think about what constitutes a method's contract and invariant state and then fail fast when this contract is violated.&lt;br /&gt;&lt;br /&gt;Consider the following Java method:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;public void process(Message msg) {&lt;br /&gt; Content content = msg.getContent();&lt;br /&gt; //...continue processing mesage content&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;At the most trivial level, thinking about contracts means thinking about the range of inputs. Null is certainly not a valid input to this method. One might be tempted to explicitly check for a null parameter like this:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;public void process(Message msg) {&lt;br /&gt; if (msg == null) throw new IllegalArgumentException(&quot;Null: msg&quot;)&lt;br /&gt; Content content = msg.getContent();&lt;br /&gt; //...continue processing mesage content&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;This seems like a silly exception; you would have gotten a NullPointerException instead of an IllegalArgumentException, big deal. But what if the NullPointerException happened in the middle of a long process task instead of the first line of the method. Could a transaction be left half executed? What state is the system in when an exception is thrown halfway through a method? It's quite possible that the system would be left in an unstable state: a state that violates your class's invariant. So yes, I do believe we should be asserting the proper range of parameters on method input. In fact, this type of checking saved me a surprising amount of time on Friday. When we changed our web service schema, JAX-B beans started coming through our sevice with nulls in bad places. Our Flex developer was able to say, &quot;Why am I getting a null: site exception&quot; in our standup instead of asking, &quot;why am I getting a null pointer at line 23 of class xxx&quot;. Good error messages are easier to diagnose.&lt;br /&gt;&lt;br /&gt;Not only do I like to write argument checking exceptions but I also like to test them:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;public void testProcess_Contract() {&lt;br /&gt; shouldFail(IllegalArgumentException) {&lt;br /&gt;   service.process(null)&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;This is not an incredibly helpful test and looks like the litter avid TDD practitioners like to scatter around a test tree. I write it mainly to get my testing juices flowing and to take the overhead of creating the test class. Plus it's part of my TestCase template file so it's probably just habit.&lt;br /&gt;&lt;br /&gt;So what is this about testing error messages? As a system wide invariant, this is what I consider to be my contract with my users: Error messages should contain the cause of the problem and a solution to the problem. There is no error message on Java's NullPointerException, but &quot;Null: message&quot; satisfies this contract because it tells you what the cause of the error is (message) and what a solution is (don't pass null). By the way, including the failure information in the exception message is Effective Java Item 63: Include failure-capture information in detail messages. A better example can be seen in the Groovy codebase, where a method called visit requires some very specific objects to be in an array:&lt;br /&gt;&lt;pre&gt;public void visit(ASTNode[] nodes, SourceUnit source) {&lt;br /&gt; if (!(nodes[0] instanceof AnnotationNode) || !(nodes[1] instanceof AnnotatedNode)) {&lt;br /&gt;   throw new RuntimeException(&lt;br /&gt;     String.format(&lt;br /&gt;       &quot;Internal error: wrong types: %s / %s. Expected: AnnotationNode / AnnotatedNode&quot;,&lt;br /&gt;       nodes[0].getClass(),&lt;br /&gt;       nodes[1].getClass())&lt;br /&gt;   );&lt;br /&gt; }&lt;code&gt;&lt;br /&gt; //... continue processing&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;This is quite a bit of code for error handling, largely because of my insistence on using String.format whenever I can. Anyway, if this error occurs you are told what happened (wrong types), you're told what was expected (AnnotationNode and AnnotatedNode), and you're told what was actually passed (nodes[0].getClass() and nodes[1].getClass()).&lt;br /&gt;&lt;br /&gt;So should you test the exception message? Yes you test the contract: Error messages should contain the cause of the problem and a solution to the problem.&lt;br /&gt;&lt;pre&gt;public void testVisit_Contract() {&lt;br /&gt; def message = shouldFail(RuntimeException) {&lt;br /&gt;   def badInput = [new ConstantExpression(&quot;sample&quot;), new EmptyExpression()] as ASTNode[]&lt;br /&gt;   new SingletonASTTransformation().visit(badInput, null);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; assertTrue(ex.getMessage().contains(&quot;wrong types&quot;));&lt;br /&gt; assertTrue(ex.getMessage().contains(&quot;ConstantExpression&quot;));&lt;br /&gt; assertTrue(ex.getMessage().contains(&quot;EmptyExpression&quot;));&lt;br /&gt; assertTrue(ex.getMessage().contains(&quot;Expected: AnnotationNode / AnnotatedNode&quot;));&lt;br /&gt;}&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;Testing exceptions is fragile, I'll admit. But using assertTrue and String.contains minimizes that fragility. Here we're testing that the error is stated (wrong types), that the values causing the error are reported (&quot;ConstantExpression&quot; and &quot;EmptyExpression&quot;), and that the expected values are reported (&quot;Expected: AnnotationNode / AnnotatedNode&quot;). I find this testing approach to be a good compromise between not testing the contract and writing a fragile test, and the style still allows those annoying TDD zealots to write tests in your codebase while playing nicely with everyone else.&lt;br /&gt;&lt;br /&gt;Lastly, I  believe writing assertions on exception messages &lt;span&gt;might &lt;/span&gt;fail under certain character set/localization schemes. I seem to recall this was a Java Puzzler at some point but don't have the book handy. Will these assertions fail under different character sets? I've never seen it happen myself.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/7290642316743338665-2624031077906680011?l=hamletdarcy.blogspot.com&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Hamlet D'Arcy</name>
			<email>noreply@blogger.com</email>
			<uri>http://hamletdarcy.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">behind the times</title>
			<subtitle type="html">grab the unicorn by the horn and ride to a realm of higher knowledge</subtitle>
			<link rel="self" href="http://hamletdarcy.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-7290642316743338665</id>
			<updated>2009-07-02T15:04:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Links for 2009-06-27 [del.icio.us]</title>
		<link href="http://del.icio.us/afongen#2009-06-27" rel="alternate" title="Links for 2009-06-27 [del.icio.us]" type="text/html"/>
		<id>http://del.icio.us/afongen#2009-06-27</id>
		<updated>2009-06-28T07:00:00+00:00</updated>
		<content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.infoq.com/articles/dhanji-prasanna-concurrency&quot;&gt;InfoQ: Concurrency and Immutability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.infoq.com/news/2009/06/Twitter-Architecture&quot;&gt;InfoQ: Twitter, an Evolving Architecture&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/afongen/~4/ccM7keUcxAw&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>afongen</name>
			<uri>http://afongen.com/blog</uri>
		</author>
		<source>
			<title type="html">afongen</title>
			<subtitle type="html">Sam Buchanan's weblog</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/afongen"/>
			<id>http://feeds.feedburner.com/afongen</id>
			<updated>2009-07-02T07:04:32+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">acts_as_stripped Now Available</title>
		<link href="http://www.jroller.com/wireframe/entry/acts_as_stripped_now_available" rel="alternate" title="acts_as_stripped Now Available" type="text/html"/>
		<id>http://www.jroller.com/wireframe/entry/acts_as_stripped_now_available</id>
		<updated>2009-06-27T20:04:38+00:00</updated>
		<content type="html">&lt;p&gt;In my experience, it's very common for web frameworks to automatically strip extra whitespace from posted forms.&amp;nbsp; Wicket, for example just does the &amp;quot;right thing&amp;quot; by default, and it genuinely surprised me when I found out that Ruby on Rails does not do this by default.&lt;br /&gt;&lt;br /&gt;Rails is a wonderfully pluggable framework, and so I've published a Ruby gem which will strip out extra whitespace for any string attributes.&amp;nbsp; It's called acts_as_stripped and can be found on github at &lt;a href=&quot;http://github.com/wireframe/acts_as_stripped/&quot;&gt;http://github.com/wireframe/acts_as_stripped/&lt;/a&gt;.&amp;nbsp; The Rails community is all about sexy project names, but I just couldn't make myself name this little plugin &amp;quot;stripper&amp;quot;.&amp;nbsp; :)&lt;br /&gt;&lt;br /&gt;Usage of this plugin is incredibly simple:&lt;br /&gt;&lt;br /&gt;# strip whitespace from *all* string attributes&lt;br /&gt;class User &amp;lt; ActiveRecord::Base&lt;br /&gt;&amp;nbsp; acts_as_stripped&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;# strip whitespace from *select* string attributes&lt;br /&gt;class Post &amp;lt; ActiveRecord::Base&lt;br /&gt;&amp;nbsp; acts_as_stripped :title, :summary&lt;br /&gt;end&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Drop me a line if there are any questions or suggestions.&amp;nbsp; The nice benefit of using this plugin is that it works with any ActiveRecord model object and is not directly tied to the Rails web framework.&amp;nbsp; &lt;/p&gt;&lt;p&gt;This plugin was inspired by this post: &lt;a href=&quot;http://granth.ca/2006/02/strip-whitespace&quot;&gt;http://granth.ca/2006/02/strip-whitespace&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;/p&gt;</content>
		<author>
			<name>code_poet</name>
			<uri>http://www.jroller.com/wireframe/</uri>
		</author>
		<source>
			<title type="html">code_poet</title>
			<subtitle type="html">The ramblings of a wild code monkey otherwise known as Ryan Sonnek</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/code_poet"/>
			<id>http://feeds.feedburner.com/code_poet</id>
			<updated>2009-06-30T22:01:05+00:00</updated>
			<rights type="html">Copyright 2009</rights>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Online Classifieds - Another Resource in your Job Search</title>
		<link href="http://feedproxy.google.com/~r/MNHeadhunter/~3/jJN4EwTAhjo/online-classifieds---another-resource-in-your-job-search.html" rel="alternate" title="Online Classifieds - Another Resource in your Job Search" type="text/html"/>
		<id>http://www.mnheadhunter.com/mh/2009/06/online-classifieds---another-resource-in-your-job-search.html</id>
		<updated>2009-06-27T19:05:41+00:00</updated>
		<content type="html">&lt;p&gt;&lt;em&gt;The following post is courtesy of the &lt;/em&gt;&lt;a href=&quot;http://www.recruitingblogswap.com&quot;&gt;&lt;em&gt;Recruiting Blogswap&lt;/em&gt;&lt;/a&gt;&lt;em&gt;:&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;From: &lt;a href=&quot;http://careeralley.com&quot; target=&quot;_blank&quot;&gt;CareerAlley&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I don't really remember when Internet job searching overtook the old fashioned print classified ad, but it wasn't all that long ago that most of can remember the commerical &amp;quot;I found my job through the &lt;a href=&quot;http://www.nytimes.com&quot; target=&quot;_blank&quot;&gt;New York Times&lt;/a&gt;&amp;quot;. But print classifieds are very much alive (although not a major force anymore) and their web-based &amp;quot;sister&amp;quot; versions are very much in use. So if you need to try something new, try some of these web-based classified ads. &lt;/p&gt;   &lt;ul&gt;   &lt;li&gt;&lt;a href=&quot;http://jobmarket.nytimes.com/pages/jobs/&quot; target=&quot;_blank&quot;&gt;New York Times&lt;/a&gt; - The NY Times, which still has a print version of it's classified jobs listings (the Sunday version is fairly large), has a web-based classified section as well. Working with &lt;a href=&quot;http://www.monster.com&quot; target=&quot;_blank&quot;&gt;Monster.com&lt;/a&gt;, the site is very well organized. There are tabs at the top: Find a Job, Post Your Resume (you can register here too), Job Seeker Login and Career Advice. The left hand side of the page is for Job Seekers, with a simple search followed by top job categories, top job locations and a number of related articles below that. The center of the page has a Post Your Resume get started section followed by a salary comparison section. Career Calendar, another really good resource, is on the right hand side of the page and lists upcoming events (you can check into the future as well). But wait, there's more! Below the calendar is a short listing of &amp;quot;Who's Hiring&amp;quot; and then featured jobs. When I tried their generic search it returned more than 5,000 jobs. This site is definitely worth spending time on, I would rate it 5 stars out of 5. &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.latimes.com/classified/jobs/&quot; target=&quot;_blank&quot;&gt;Los Angeles Times&lt;/a&gt; - Flipping to the Left Coast, the LA Times also maintains a web-based classified jobs section. In this case, the LA Times is partnered with &lt;a href=&quot;http://www.careerbuilder.com&quot; target=&quot;_blank&quot;&gt;CareerBuilder&lt;/a&gt;. While not as robust or filled with features as the NY Times version, this site too is worth a look. You can register and post your resume here too. There is a simple search function top center of the page, with a number of links going down the left hand side of the page (Find a Job, Search Jobs, Create Job Alerts, etc.). Career related stories are listed down the middle of the page with Jobs by Category to the right. Worth a look, I would rank it 3 out of 5 stars. &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://www.chicagotribune.com/classified/jobs/&quot; target=&quot;_blank&quot;&gt;Chicago Tribune&lt;/a&gt; - Continuing the review of print on web classifieds we move back to the center of the country. The Chicago Tribune's web-based classified site is also in partnership with CareerBuilder. This page combines current news (most of which is not career related) with job search. There is a search box center left on the page with links to resume writing services, Upload your Resume, Job Alerts and a link for hourly job seekers. Below this there are a few different search options: By Company/Industry, By Category and career advise. Far right is &amp;quot;Who's Hiring in Chicago&amp;quot; and a Chicago Career Fair link half way down the right hand side. Also worth a look, I would rate this site 3 out of 5 stars. &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://newyork.craigslist.org/&quot; target=&quot;_blank&quot;&gt;Craigslist&lt;/a&gt; - Not known in print, but certainly one of the better known web-based classified ads providers, Craigslist is another great source for job search (see the next bullet for an article on this). Less is more with CraigslList, so you won't see all of the content that you see on the other sites. Find your city or state and then click on any of the categories under jobs (or see below). &lt;/li&gt;    &lt;li&gt;&lt;a href=&quot;http://jobsearch.about.com/od/jobsdatabases/p/craigslist.htm&quot; target=&quot;_blank&quot;&gt;Craigslist - How to Find a Jobs on Craigslist&lt;/a&gt; - This article, from &lt;a href=&quot;http://www.about.com&quot; target=&quot;_blank&quot;&gt;about.com&lt;/a&gt;, provides a very brief view on how best to leverage Craigslist for job search. &lt;/li&gt; &lt;/ul&gt; Good luck in your search.  &lt;br /&gt;  &lt;br /&gt;Article courtesy of the &lt;a href=&quot;http://www.recruitingblogswap.com/&quot;&gt;Recruiting Blogswap&lt;/a&gt;, a content exchange service sponsored by CollegeRecruiter.com, a leading site for &lt;a href=&quot;http://www.collegerecruiter.com/pages/internship-job-postings.php&quot;&gt;college students looking for internships&lt;/a&gt; and &lt;a href=&quot;http://www.collegerecruiter.com/jobs/&quot;&gt;recent graduates searching for entry level jobs&lt;/a&gt; and other career opportunities  &lt;img src=&quot;http://feeds.feedburner.com/~r/MNHeadhunter/~4/jJN4EwTAhjo&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>MN Headhunter</name>
			<uri>http://www.mnheadhunter.com/mh/</uri>
		</author>
		<source>
			<title type="html">MN Headhunter/Nerd Search</title>
			<link rel="self" href="http://www.mnheadhunter.com/mh/atom.xml"/>
			<id>http://www.mnheadhunter.com/mh/atom.xml</id>
			<updated>2009-06-30T22:01:57+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Links for 2009-06-26 [del.icio.us]</title>
		<link href="http://del.icio.us/afongen#2009-06-26" rel="alternate" title="Links for 2009-06-26 [del.icio.us]" type="text/html"/>
		<id>http://del.icio.us/afongen#2009-06-26</id>
		<updated>2009-06-27T07:00:00+00:00</updated>
		<content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.malwarebytes.org/mbam.php&quot;&gt;Malwarebytes.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/afongen/~4/GoLwWRTxh7U&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>afongen</name>
			<uri>http://afongen.com/blog</uri>
		</author>
		<source>
			<title type="html">afongen</title>
			<subtitle type="html">Sam Buchanan's weblog</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/afongen"/>
			<id>http://feeds.feedburner.com/afongen</id>
			<updated>2009-07-02T07:04:32+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">How to Kill a Frozen Parallels Virtual Machine</title>
		<link href="http://garrickvanburen.com/archive/how-to-kill-a-frozen-parallels-virtual-machine" rel="alternate" title="How to Kill a Frozen Parallels Virtual Machine" type="text/html"/>
		<id>http://garrickvanburen.com/?p=2255</id>
		<updated>2009-06-27T04:24:01+00:00</updated>
		<content type="html">&lt;p&gt;Multiple projects have me using Windows more than I&amp;#8217;m accustomed to, so I picked up a copy of Parallels and Windows Vista and loaded them up on the MacBook Pro.&lt;/p&gt;
&lt;p&gt;My relationship with the MacBook Pro has been trying these past few weeks. Like an aged sitcom introducing a new character &amp;#8211; this recent addition isn&amp;#8217;t helping.&lt;/p&gt;
&lt;p&gt;I found myself with a frozen Vista shutdown this afternoon, and for my own future reference here&amp;#8217;s&lt;a href=&quot;http://kb.parallels.com/en/6338&quot;&gt; how to terminate a frozen Parallels Virtual Machine&lt;/a&gt; (from Parallels knowledgebase)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
ps auxwww | grep prl&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And grab the processes UUID of the process containing &lt;code&gt;prl_vm_app&lt;/code&gt; and curly brackets (it&amp;#8217;ll be obvious &amp;#8211; especially if you&amp;#8217;re only running one virtual machine)&lt;/p&gt;
&lt;p&gt;Then&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
sudo kill [The VM's UUID]&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Easy.&lt;/p&gt;</content>
		<author>
			<name>Garrick Van Buren</name>
			<uri>http://garrickvanburen.com</uri>
		</author>
		<source>
			<title type="html">Garrick Van Buren .com</title>
			<subtitle type="html">Making Technology More Personable</subtitle>
			<link rel="self" href="http://garrickvanburen.com/wp-rss2.php"/>
			<id>http://garrickvanburen.com/wp-rss2.php</id>
			<updated>2009-06-27T05:01:15+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Ruby’s Object::send can call private and protected methods</title>
		<link href="http://feedproxy.google.com/~r/philcrissman/~3/geaz9pufw3Y/rubys-objectsend-can-call-private-and-protected-methods" rel="alternate" title="Ruby’s Object::send can call private and protected methods" type="text/html"/>
		<id>http://philcrissman.com/?p=2011</id>
		<updated>2009-06-27T02:18:10+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/xiaming/99206245/&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/30/99206245_862bc5c93d.jpg?v=0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;small&gt;Photo by &lt;a href=&quot;http://www.flickr.com/photos/xiaming/99206245/&quot;&gt;xiaming&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;One of the hallmarks of object oriented programming in most every implementation of it that I know of is the ability to designate certain methods as &amp;#8220;private&amp;#8221; or &amp;#8220;protected&amp;#8221;, thus keeping them from being called willy-nilly by any old script that wants to call them. Ruby also has this, of course, but interestingly enough it can be easily circumvented.&lt;/p&gt;
&lt;p&gt;I guess there are a few posts floating around about it, but I discovered it by accident playing around in irb this evening. I was reading David A. Black&amp;#8217;s The Well Grounded Rubyist, where he mentions that you could send a message to a class either within the class definition itself, or by simply sending it to the class object like you&amp;#8217;d send any other message:&lt;/p&gt;

&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table width=&quot;100%&quot;&gt;&lt;tr id=&quot;p20116&quot;&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
6
7
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; id=&quot;p2011code6&quot;&gt;&lt;pre class=&quot;ruby&quot;&gt;&lt;span&gt;# The normal way to do it&lt;/span&gt;
&lt;span&gt;class&lt;/span&gt; Thing
  message &lt;span&gt;:whatever&lt;/span&gt;
&lt;span&gt;end&lt;/span&gt;
&amp;nbsp;
&lt;span&gt;# you could also do this&lt;/span&gt;
Thing.&lt;span&gt;message&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;:whatever&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;span id=&quot;more-2011&quot;&gt;&lt;/span&gt;&lt;br /&gt;
David mention&amp;#8217;s attr_accessor in this context, so I thought I&amp;#8217;d try that. Open &lt;code&gt;irb&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table width=&quot;100%&quot;&gt;&lt;tr id=&quot;p20117&quot;&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; id=&quot;p2011code7&quot;&gt;&lt;pre class=&quot;ruby&quot;&gt;&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; Thing
?&lt;span&gt;&amp;gt;&lt;/span&gt; &lt;span&gt;end&lt;/span&gt;
&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; Thing.&lt;span&gt;attr_accessor&lt;/span&gt; &lt;span&gt;:name&lt;/span&gt;
&lt;span&gt;NoMethodError&lt;/span&gt;: private method &lt;span&gt;'attr_accessor'&lt;/span&gt; called &lt;span&gt;for&lt;/span&gt; Thing:&lt;span&gt;Class&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Oh. So much for that, then. But, knowing of the existence of the send method, I thought I&amp;#8217;d try that.&lt;/p&gt;

&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table width=&quot;100%&quot;&gt;&lt;tr id=&quot;p20118&quot;&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; id=&quot;p2011code8&quot;&gt;&lt;pre class=&quot;ruby&quot;&gt;Thing.&lt;span&gt;send&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;:attr_accessor&lt;/span&gt;, &lt;span&gt;:name&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
&lt;span&gt;=&amp;gt;&lt;/span&gt; &lt;span&gt;nil&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For the non-&lt;code&gt;irb&lt;/code&gt; user, that &lt;code&gt;nil&lt;/code&gt; that was returned, and the fact that no error message was returned, indicated that our experiment worked. Now &lt;code&gt;Thing&lt;/code&gt;&amp;#8217;s have a name attribute.&lt;/p&gt;

&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table width=&quot;100%&quot;&gt;&lt;tr id=&quot;p20119&quot;&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; id=&quot;p2011code9&quot;&gt;&lt;pre class=&quot;ruby&quot;&gt;&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; t = Thing.&lt;span&gt;new&lt;/span&gt;
&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; t.&lt;span&gt;name&lt;/span&gt; = &lt;span&gt;&amp;quot;Larry&amp;quot;&lt;/span&gt;
&lt;span&gt;=&amp;gt;&lt;/span&gt; &lt;span&gt;&amp;quot;Larry&amp;quot;&lt;/span&gt;
&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; t.&lt;span&gt;name&lt;/span&gt;
&lt;span&gt;=&amp;gt;&lt;/span&gt; &lt;span&gt;&amp;quot;Larry&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;What&amp;#8217;s interesting about all this is that &lt;code&gt;attr_accessor&lt;/code&gt; is a private method on &lt;code&gt;Class&lt;/code&gt;. Yet we just called it.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;send&lt;/code&gt; is often introduced as a way to show how everything is an object and that you can do exciting things like &lt;code&gt;1.send(:+, 1)&lt;/code&gt; and get &lt;code&gt;2&lt;/code&gt; as the result. No one usually mentions that it can be used to call private or protected methods from outside a given class.&lt;/p&gt;
&lt;p&gt;To make it clear what you could do here:&lt;/p&gt;

&lt;div class=&quot;wp_codebox&quot;&gt;&lt;table width=&quot;100%&quot;&gt;&lt;tr id=&quot;p201110&quot;&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot; id=&quot;p2011code10&quot;&gt;&lt;pre class=&quot;ruby&quot;&gt;&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span&gt;class&lt;/span&gt; Thing
?&lt;span&gt;&amp;gt;&lt;/span&gt;    &lt;span&gt;def&lt;/span&gt; hello
?&lt;span&gt;&amp;gt;&lt;/span&gt;     &lt;span&gt;puts&lt;/span&gt; &lt;span&gt;&amp;quot;Hello, world!&amp;quot;&lt;/span&gt;
?&lt;span&gt;&amp;gt;&lt;/span&gt;   &lt;span&gt;end&lt;/span&gt;
?&lt;span&gt;&amp;gt;&lt;/span&gt;   private
?&lt;span&gt;&amp;gt;&lt;/span&gt;     &lt;span&gt;def&lt;/span&gt; private_hello
?&lt;span&gt;&amp;gt;&lt;/span&gt;       &lt;span&gt;puts&lt;/span&gt; &lt;span&gt;&amp;quot;Hello, privately.&amp;quot;&lt;/span&gt;
?&lt;span&gt;&amp;gt;&lt;/span&gt;     &lt;span&gt;end&lt;/span&gt;
?&lt;span&gt;&amp;gt;&lt;/span&gt; &lt;span&gt;end&lt;/span&gt;
&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; t = Thing.&lt;span&gt;new&lt;/span&gt;
&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; t.&lt;span&gt;hello&lt;/span&gt;
Hello, world!
&lt;span&gt;=&amp;gt;&lt;/span&gt; &lt;span&gt;nil&lt;/span&gt;
&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; t.&lt;span&gt;private_hello&lt;/span&gt;
&lt;span&gt;NoMethodError&lt;/span&gt;: private method &lt;span&gt;'private_hello'&lt;/span&gt; called &lt;span&gt;for&lt;/span&gt; ...
&lt;span&gt;&amp;gt;&amp;gt;&lt;/span&gt; t.&lt;span&gt;send&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;:private_hello&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;
Hello, privately.
&lt;span&gt;=&amp;gt;&lt;/span&gt; &lt;span&gt;nil&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So, yes. You can do this, if you so choose. Please use your powers for good, and not for evil.&lt;/p&gt;
&lt;p&gt;Now &lt;em&gt;why&lt;/em&gt; this works, I can&amp;#8217;t yet say, though I&amp;#8217;m interested in learning, if there is a reason. Evidently there &lt;a href=&quot;http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/7404&quot;&gt;may have been some debate&lt;/a&gt; as to whether ruby 1.9 would still have this behavior, but as of this writing it does. &lt;/p&gt;
&lt;p&gt;Note: I did only a brief search, and it seems &lt;a href=&quot;http://www.google.com/search?client=safari&amp;#038;rls=en-us&amp;#038;q=ruby+send+method&amp;#038;ie=UTF-8&amp;#038;oe=UTF-8&quot;&gt;this functionality is not unknown&lt;/a&gt;, though it still seems somewhat odd to me that such an easy way to sidestep the private/protected designation of methods exists.&lt;/p&gt;
&lt;div class=&quot;sexy-bookmarks sexy-bookmarks-expand&quot;&gt;&lt;ul class=&quot;socials&quot;&gt;&lt;li class=&quot;sexy-twitter&quot;&gt;&lt;a href=&quot;http://www.twitter.com/home?status=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods+-+http://ri.ms/5snb&quot; rel=&quot;normal nofollow&quot; title=&quot;Tweet This!&quot;&gt;Tweet This!&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-facebook&quot;&gt;&lt;a href=&quot;http://www.facebook.com/share.php?u=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;t=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Share this on Facebook&quot;&gt;Share this on Facebook&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-delicious&quot;&gt;&lt;a href=&quot;http://del.icio.us/post?url=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;title=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Share this on del.icio.us&quot;&gt;Share this on del.icio.us&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-tumblr&quot;&gt;&lt;a href=&quot;http://www.tumblr.com/share?v=3&amp;amp;u=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;t=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&amp;amp;s=&quot; rel=&quot;normal nofollow&quot; title=&quot;Share this on Tumblr&quot;&gt;Share this on Tumblr&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-digg&quot;&gt;&lt;a href=&quot;http://digg.com/submit?phase=2&amp;amp;url=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;title=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Digg this!&quot;&gt;Digg this!&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-reddit&quot;&gt;&lt;a href=&quot;http://reddit.com/submit?url=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;title=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Share this on Reddit&quot;&gt;Share this on Reddit&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-stumbleupon&quot;&gt;&lt;a href=&quot;http://www.stumbleupon.com/submit?url=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;title=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Stumble upon something good? Share it on StumbleUpon&quot;&gt;Stumble upon something good? Share it on StumbleUpon&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-linkedin&quot;&gt;&lt;a href=&quot;http://www.linkedin.com/shareArticle?mini=true&amp;amp;url=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;title=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&amp;amp;summary=%0D%0APhoto%20by%20xiaming%0D%0A%0D%0AOne%20of%20the%20hallmarks%20of%20object%20oriented%20programming%20in%20most%20every%20implementation%20of%20it%20that%20I%20know%20of%20is%20the%20ability%20to%20designate%20certain%20methods%20as%20%22private%22%20or%20%22protected%22%2C%20thus%20keeping%20them%20from%20being%20called%20willy-nilly%20by%20any%20old%20script%20that%20wants%20to%20call%20them.%20Ruby%20also%20ha&amp;amp;source=philcrissman.com&quot; rel=&quot;normal nofollow&quot; title=&quot;Share this on Linkedin&quot;&gt;Share this on Linkedin&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-mail&quot;&gt;&lt;a href=&quot;mailto:?&amp;amp;subject=Ruby%26%238217%3Bs%20Object%3A%3Asend%20can%20call%20private%20and%20protected%20methods&amp;amp;body=%0D%0APhoto%20by%20xiaming%0D%0A%0D%0AOne%20of%20the%20hallmarks%20of%20object%20oriented%20programming%20in%20most%20every%20implementation%20of%20it%20that%20I%20know%20of%20is%20the%20ability%20to%20designate%20certain%20methods%20as%20%22private%22%20or%20%22protected%22%2C%20thus%20keeping%20them%20from%20being%20called%20willy-nilly%20by%20any%20old%20script%20that%20wants%20to%20call%20them.%20Ruby%20also%20ha - http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Email this to a friend?&quot;&gt;Email this to a friend?&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-comfeed&quot;&gt;&lt;a href=&quot;http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods/feed&quot; rel=&quot;normal nofollow&quot; title=&quot;Subscribe to the comments for this post?&quot;&gt;Subscribe to the comments for this post?&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-google&quot;&gt;&lt;a href=&quot;http://www.google.com/bookmarks/mark?op=add&amp;amp;bkmk=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methodstitle=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Add this to Google Bookmarks&quot;&gt;Add this to Google Bookmarks&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-yahoobuzz&quot;&gt;&lt;a href=&quot;http://buzz.yahoo.com/submit/?submitUrl=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&amp;amp;submitHeadline=Ruby%26%238217%3Bs+Object::send+can+call+private+and+protected+methods&amp;amp;submitSummary=%0D%0APhoto%20by%20xiaming%0D%0A%0D%0AOne%20of%20the%20hallmarks%20of%20object%20oriented%20programming%20in%20most%20every%20implementation%20of%20it%20that%20I%20know%20of%20is%20the%20ability%20to%20designate%20certain%20methods%20as%20%22private%22%20or%20%22protected%22%2C%20thus%20keeping%20them%20from%20being%20called%20willy-nilly%20by%20any%20old%20script%20that%20wants%20to%20call%20them.%20Ruby%20also%20ha&amp;amp;submitCategory=science&amp;amp;submitAssetType=text&quot; rel=&quot;normal nofollow&quot; title=&quot;Buzz up!&quot;&gt;Buzz up!&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;sexy-technorati&quot;&gt;&lt;a href=&quot;http://technorati.com/faves?add=http://philcrissman.com/2009/06/26/rubys-objectsend-can-call-private-and-protected-methods&quot; rel=&quot;normal nofollow&quot; title=&quot;Share this on Technorati&quot;&gt;Share this on Technorati&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/4kmq8AC7RXisyQveS2cQYZmdFbg/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/4kmq8AC7RXisyQveS2cQYZmdFbg/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/4kmq8AC7RXisyQveS2cQYZmdFbg/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/4kmq8AC7RXisyQveS2cQYZmdFbg/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/philcrissman/~4/geaz9pufw3Y&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>philcrissman.com</name>
			<uri>http://philcrissman.com</uri>
		</author>
		<source>
			<title type="html">philcrissman.com</title>
			<subtitle type="html">Web Development, startups, entrepreneurship, books, art, and other stuff</subtitle>
			<link rel="self" href="http://philcrissman.com/feed/atom/"/>
			<id>http://philcrissman.com/feed/atom</id>
			<updated>2009-07-03T01:01:12+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Necessary Non-Value</title>
		<link href="http://www.edstrom.net/blog/archive/necessary-non-value/" rel="alternate" title="Necessary Non-Value" type="text/html"/>
		<id>http://www.edstrom.net/blog/?p=639</id>
		<updated>2009-06-27T01:42:11+00:00</updated>
		<content type="html">&lt;p&gt;Everything a company does, can not be directly coorelated to benefiting the customer. Ester Derby says it best in &lt;a href=&quot;http://www.estherderby.com/weblog/2009/01/non-valued-added-but-necessary.html&quot;&gt;Non-valued added, but necessary&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&amp;#8220;tasks that don&amp;#8217;t directly add value to the customer, but &lt;strong&gt;enable delivering value to the customer&lt;/strong&gt;. Sometimes these are the tasks and functions that enable the business to stay in business&amp;#8211;like accounting, or payroll, or management.&amp;#8221;&lt;/p&gt;&lt;/blockquote&gt;</content>
		<author>
			<name>Project Oriel</name>
			<uri>http://www.edstrom.net/blog</uri>
		</author>
		<source>
			<title type="html">Project Oriel</title>
			<subtitle type="html">Embracing Change</subtitle>
			<link rel="self"