<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>What To Fix</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.WhatToFix.com/atom.xml" />
    <id>tag:www.WhatToFix.com,2009-02-20://1</id>
    <updated>2010-09-02T15:16:19Z</updated>
    <subtitle>Fix the system. Don&apos;t blame the people in it.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.23-en</generator>

<entry>
    <title>Structuring Larger F# Functional Projects</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/09/structuring-lar.php" />
    <id>tag:www.WhatToFix.com,2010://1.2675</id>

    <published>2010-09-02T14:40:52Z</published>
    <updated>2010-09-02T15:16:19Z</updated>

    <summary>Everybody that&apos;s interested in F# has played around with some code, and it&apos;s amazing how much stuff you can put into a small space with the language, but at some point, you&apos;re probably going to get into a situation where...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    <category term="f" label="F#" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="programming" label="programming" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>Everybody that's interested in F# has played around with some code, and it's amazing how much stuff you can put into a small space with the language, but at some point, you're probably going to get into a situation where you have more than one source file, yet you'd still like to stay functional.</p>

<p>So here's a suggested structure outline for those larger functional projects</p>]]>
        <![CDATA[<ul><li><strong>TypeUtils.fs - </strong>All those wondrous and cool type extension snippets you've gathered. Type stuff has to go before anything else</li>

<p><li><strong>Sink.fs - </strong>Multi-threading, workflow, distributed processing stuff</li></p>

<p><li><strong>Utils.fs - </strong>General-purpose stuff that doesn't go anywhere else. Interop calls, weird bits of system functions, custom string manipulation, whatever</li></p>

<p><li><strong>IOUtils.fs - </strong>Persistence helper functions</li></p>

<p><li><strong>ProgTypes.fs - </strong>If the project gets larger, you can't get around some types</li></p>

<p><li><strong>ProgData.fs - </strong>Static data</li></p>

<p><li><strong>ProgIO.fs - </strong>Custom persistence functions. If you don't have too many persisting types, put the code here. If you get a lot of custom persistence for your types, well, time to start thinking about a DAL (and time to start thinking you're using the wrong paradigm)</li></p>

<p><li><strong>Face.fs - </strong>Any kind of GUI helper code you might have. If it's a GUI-heavy app, lots of stuff here, but at the very least you'd want some functions to display various structures in a form so that you can do some REPL-like work</li></p>

<p><li><strong>Program.fs - </strong>The place that used to be the center of everything now has very little stuff. Command-line reading, initial run loop, maybe some help for the user</li></ul></p>

<p>This isn't a definitive text, and good grief, don't use something like this unless you need it! But you should know that scripting/functional code does scale out, even in .NET, and having a good plan for putting things in different places is a good thing. Also this is <em>F# functional projects</em>, not F# OOP projects. Completely different thing. But this does scale into a mixed-mode setting where you have a couple/few simple POFOs and don't want to bite the big OOP bullet.</p>]]>
    </content>
</entry>

<entry>
    <title>Better brick</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/better-brick.php" />
    <id>tag:www.WhatToFix.com,2010://1.2674</id>

    <published>2010-08-31T23:51:08Z</published>
    <updated>2010-08-31T23:58:14Z</updated>

    <summary>Fun little F# project...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<div style="text-align:center"><em><strong><big>Fun little F# project</big></strong></em><br/><br/></div>
<div style="text-align:center"><iframe src="http://player.vimeo.com/video/14492924" width="450" height="555" frameborder="0"></iframe></div>]]>
        
    </content>
</entry>

<entry>
    <title>The 99% Rule (nsfw)</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/the-99-rule-nsf.php" />
    <id>tag:www.WhatToFix.com,2010://1.2673</id>

    <published>2010-08-31T14:58:45Z</published>
    <updated>2010-08-31T18:21:01Z</updated>

    <summary>This is a privacy and freedom rant. You&apos;ve been warned. I was watching a CNN video this morning about the Feds releasing satellite time to local law enforcement. The spokesman was saying how proud we should be that we&apos;ve spent...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>This is a privacy and freedom rant. You've been warned.</p>

<p><object width="512" height="308"><param name="movie" value="http://www.youtube.com/v/0oRywJ2Kueo&color1=0xb1b1b1&color2=0xd0d0d0&hl=en_US&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/0oRywJ2Kueo&color1=0xb1b1b1&color2=0xd0d0d0&hl=en_US&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="512" height="308"></embed></object></p>

<p>I was watching a CNN video this morning about the Feds releasing satellite time to local law enforcement. The spokesman was saying how proud we should be that we've spent billions on satellites to spy on foreign countries and now they're being used on us.</p>

<p>Up came the dreaded 99% Rule.</p>]]>
        <![CDATA[<p>The 99% Rule says that something is acceptable if, for 99% of the time, it works the way it is supposed to work. The thing works for the vast majority of cases. It is optimized.</p>

<p>Don't like the way articles are ranked at your popular social aggregation site? Well, it works for 99% of the folks, so like it or leave it. Don't like all the crap that comes installed on your PC? Well, 99% of folks find it helpful, so that's how we made it. Don't like the default ingredients on your cheeseburger? Well market research shows 99% of folks say it's acceptable.</p>

<p>We're hitting 99%. It ain't perfect, but we're doing a damn good job. We should be giving ourselves a pat on the back. Utilitarian values at their best.</p>

<p>This is all fine and dandy. Heck, I agree with it for lots of stuff. But the 99% Rule doesn't work for everything. And when it doesn't work, it really doesn't work at all.</p>

<div style="text-align:center">
<img src="http://www.whattofix.com/images/nakedscans3a.jpg" alt="image taken from backscatter scan"/>
</div>

<p><br/>Take backscatter scans, being installed at most major airports. I don't know if this has really sank in for a lot of people, but backscatter scans are actually taking naked pictures of you. They just add in some image effects in the press releases and as default settings on the machines to make them harder to perv.</p>

<p>Take the image above, which was released as part of a PR campaign in an airport for the machines. The problem here is that they didn't bother to do much except invert the colors. Inverting them again we get ---</p>

<div style="text-align:center"><div style="width:494px; height: 392px; background-color: #aaaaaa;"></div>
<em>Picture pulled. Looks like this example was bogus. Apologies to those involved. I made an effort to source the picture but didn't discover the TSA page that Nate points out in the comments below.</em></div>

<p><br/>Look. I don't like running naked pictures of people on my blog. This is a family deal and the kids read it. But geesh people, what is it going to take to realize that we are submitting ourselves to strangers looking at us naked just for the privilege to fly? </p>

<p>And guess what? It works 99% of the time. Except for when it doesn't. Then you get <a href="http://www.thesmokinggun.com/documents/stupid/airport-security-size-matters">people becoming violent because of comments about their genitalia</a>. Or <a href="http://musicians4freedom.com/?p=5016">people making comments about women's breasts</a>. Or the revelation that <a href="http://epic.org/privacy/airtravel/backscatter/">they can actually save the pictures</a>.</p>

<p> If the science articles say these machines are taking picture-perfect pictures of what's under your clothes, and some industry guy is telling you it's okay because we've programmed our way out of the problem, do you think maybe there might be a bit of bias in one of these sources?</p>

<p>There is no doubt in my mind that if every person in the United States were relieved of their guns, we would have no gun violence (I do not own a gun). There is no doubt that if the people at the airport had naked pictures of everybody that it would decrease the amount of possibly-dangerous contraband brought onto airplanes. The question is whether the drawbacks are worth the restrictions. If it works 99% of the time, is it okay that 1% where it doesn't work.</p>

<p>In both of these examples I'd have to say "no". And now, incredulously enough, the people that make the backscatter scanners are making mobile versions. Yes, people can <a href="http://blogs.forbes.com/andygreenberg/2010/08/24/full-body-scan-technology-deployed-in-street-roving-vans/">ride around in trucks with basically x-ray vision</a>. </p>

<p>The vans are supposed to be used to find contraband and other things that don't fit in simply by riding around. One imagines these devices should be immensely popular.</p>

<p>Also in the last month we have word that the Ninth District has ruled that <a href="http://www.nypost.com/p/blogs/capitol/knowing_court_says_cops_another_rINI1eHblAw09qbjS5kDYM">cops can sneak onto your property and tag your car with a GPS, thereby tracking wherever you drive.</a> Without a warrant.</p>

<p>Once again, for 99% of the time, this is probably a good thing. Cops could care less where most people go, and being able to easily track criminals has its advantages. The problem is that there's always going to be that 1%. Sometimes you're going someplace you don't want others to know. Sometimes the people in charge of tracking you have ulterior motives -- which are very easy to have when there's no warrant involved. That pesky 1%</p>

<p>I've trashed the law-and-order types a bit, generally considered the right part of the political spectrum, but I could easily do this for the left. Whereas the right tends to couch their assaults on liberty in terms of the 99% Rule or the war-on-terror, the left seems happy enough just to be morally outraged about something and have a law that works about 80% of the time. I could go into depth here, but won't. Suffice it to mention the nifty 1099 rule -- if you are a business and spend 600 bucks in cash <em>anywhere</em>, you have to give them a 1099. This was critically needed as part of the health reform law. Or the requirement that the government make us purchase health care. Must have missed that in the constitution.</p>

<p>But please don't focus on any particular issue. Look at this from the big picture.</p>

<p>The problem is, when we get into freedoms, taxes, privacy, and anonymity -- the 99% Rule just doesn't work any more. Or, if you like philosophy, It's not utilitarian morality when we make trades for the majority that set precedents that we cannot continue following. Kant's categorical imperative holds whether we recognize it or not. (This is why the "sacrifice the thousand to save the billion" arguments about utilitarian reasoning fail. You cannot sacrifice the thousand. To do so would start a process that would dissolve the entire social structure, which is a greater evil)</p>

<p>And before we get into "innocent until proven guilty", we don't need to have a criminal trial in order to punish people. It's not either "you're free and innocent" or "you are being tried for X". There's a lot of gray area where real people can get hurt because other people with good intentions just didn't think things through. Having naked pictures of your wife or kid on the internet because some scanner technician hacked the system is not just "collateral damage" as a result of using the machines. <strong>It's an intricate part of using them. And when we decide to use them, we decide to accept those consequences.</strong> You can't run away from that by saying the system just isn't perfect yet, or that nobody was physically harmed.</p>

<p>And the probabilities accumulate, taking a a bunch of perhaps tiny problems and making an horrendously large result.</p>

<p>This year we decide that the war on terror is so important that the 1% problem with naked pictures is acceptable. Next year we come up with a test that checks for pedophilia leanings -- works 99% of the time. The following year we make every business file 1099s for every little bit of commerce they do -- works 99% of the time to catch cheaters. Then we implement mandatory genetic tests for paternity in child support cases. Then we put in cameras to catch speeders, etc.</p>

<p>It doesn't take very many of these systems at all for the 1% chance of false positive to multiply and raise to 20 or even 30%. And many of these are recurring situations -- it's not like you only walk through one x-ray machine in your life.</p>

<p>We end up -- very quickly -- in a place where most citizens stand a pretty good chance of getting screwed over by their government at least once in their lives. Probably several times. All for the greater good.</p>

<p>This is not an argument against government. In fact, it's the opposite. For government to work it must have the consent of the governed. And I just don't see that happening as long as we keep getting carried away with the 99% Rule. In fact I sadly think it's either going to tear us apart or drive all of our spirit from us. Either of those is unacceptable.</p>]]>
    </content>
</entry>

<entry>
    <title>The Magic Brick</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/the-magic-brick.php" />
    <id>tag:www.WhatToFix.com,2010://1.2672</id>

    <published>2010-08-26T20:00:12Z</published>
    <updated>2010-08-26T20:34:39Z</updated>

    <summary> (Note that I&apos;ve got about half a dozen site aggregation profiles created, of which only 2 were demonstrated)...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<div style="text-align:center"><div style="margins:auto">
<iframe src="http://player.vimeo.com/video/14460868" width="425" height="550" frameborder="0"></iframe></div></div>

<p><br />
(Note that I've got about half a dozen site aggregation profiles created, of which only 2 were demonstrated)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Pop Music Hacking</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/pop-music-hacki.php" />
    <id>tag:www.WhatToFix.com,2010://1.2671</id>

    <published>2010-08-25T18:32:02Z</published>
    <updated>2010-08-25T21:11:26Z</updated>

    <summary>When Mel Brooks was preparing &quot;The Producers&quot;, he did a lot of humming. His 2001 musical did very well. It won a Tony for Best Musical, Best Book of a Musical, Best Original Score, and a Grammy for Best Musical...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    <category term="music" label="music" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="personal" label="personal" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>When Mel Brooks was preparing "The Producers", he did a lot of humming.</p>

<p>His 2001 musical did very well. It won a Tony for Best Musical, Best Book of a Musical, Best Original Score, and a Grammy for Best Musical Show Album. Which is really kind of cool, if you think about it.</p>

<p>Because Mel Brooks doesn't write music.</p>

<p>Brooks is a "hummer". He hums up tunes and words until he likes them, and then lets somebody else do all the composition and arrangement.</p>

<p>In our minds we have a picture of a way music is composed. Some guy sitting over a piano sweating away, trying to find the right phrase. But it doesn't always work that way. Music can be hacked too.</p>]]>
        <![CDATA[<p>When Sherwood Schwartz decided to produce a TV show back in the 1960s, they needed a theme song. So Sherwood and George Wyle sat down over the weekend and cooked up "The Ballad of Gilligan's Island", a nifty little song that is also pretty catchy. (Schwartz also wrote the theme to "The Brady Bunch", another catchy tune)</p>

<p>TV Theme songs have always inspired me as somewhat of a hack. You have but a few seconds to place a catchy tune in the audience's mind and introduce them to the purpose of the show. Usually this is done in a very short time frame and on a tight budget by folks most people will never hear about who are just looking for a quick <a href="http://www.paycheck-stub.com/">paycheck</a>. Yet in this environment some of these guys do truly outstanding work.</p>

<p>It's difficult with TV theme music to separate the music to the shows you thought were awesome to just good music done in an unusual way. Many times if we really like the show, that "carries over" to our opinion of the music, making evaluating good theme song music more difficult. But if you remember the tune long after the show (or never saw the show but still like the tune) then that's hot.</p>

<p>Take this classic one from the 1970s</p>

<div style="text-align:center"><object width="550" height="437"><param name="movie" value="http://www.youtube.com/v/AepyGm9Me6w?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/AepyGm9Me6w?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="550" height="437"></embed></object></div>

<p><br/>This has to be one of the top TV theme songs of all time. Wonderful rhythm, horns and wind counterpoint, great visuals. It just all fits together. I never saw the show that much, but I still like the song.</p>

<p>Morton Stevens wrote that song. He wanted to use some other music he had for the show's theme, but the producers didn't like it. Angry, he went to the piano and started pounding away expressing how pissed off he was. After about 20 minutes, he asked his wife to listen.</p>

<p>The rest is history. The song, considered by many to be <strong>the best theme song</strong> of all time, was nominated for two Emmys and is known by millions of people who never saw the show or weren't even born when it was on.</p>

<p>You wouldn't think an angry man banging on the piano would be an effective way to write music, even if it is angry music.</p>

<p>Then there's another master of the almost-dead art of TV Theme music, Quincy Jones.  Jones is just tremendously good. When most theme songs were about setting up the story, Quincy set up the <em>mood</em>. Check out the jazz harmonica, the mix of instruments, and the rhythm work on the theme to Sanford and Son.</p>

<div style="text-align:center"><object width="550" height="437"><param name="movie" value="http://www.youtube.com/v/1WqazleR3FE?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1WqazleR3FE?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="550" height="437"></embed></object></div>

<p><br/>Not only do you understand a bit about the show, you start feeling immersed in the culture of the show -- the setting, time, and atmosphere.</p>

<p>I could go on with TV themes all day, but hacks in pop music are everywhere. Easily enough for a book, I'm sure.</p>

<p>The thing is, music itself is a bit of a hack, no matter how it's constructed.</p>

<p>Good art is all about subtly giving the audience something other than what they expected in an enjoyable way. In this way, it has a lot of similarities with jokes, and with technology hacks. The hacker is always figuring out a cool, easier way to gain benefit from technology, and the composer is always looking for new pleasures in old formats. When you add in things like composing it in ten minutes, or making it all up as you hum along, it makes music history an untouched goldmine of hacking stories.</p>

<p><br/><br/><br />
<strong>EDIT</strong>: Since I'm dishing up TV themes today, I thought I'd throw in another great Quincy Jones theme. The guy just knew how to write great music.</p>

<div style="text-align: center"><object width="550" height="437"><param name="movie" value="http://www.youtube.com/v/2zwldZtSx28?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/2zwldZtSx28?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="550" height="437"></embed></object></div>]]>
    </content>
</entry>

<entry>
    <title>Putting the fun in functional programming</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/putting-the-fun.php" />
    <id>tag:www.WhatToFix.com,2010://1.2670</id>

    <published>2010-08-23T20:42:43Z</published>
    <updated>2010-08-23T22:58:07Z</updated>

    <summary>A funny thing happened to me over the past two years of playing around with F#. Programming became fun again....</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    <category term="f" label="F" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="programming" label="programming" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>A funny thing happened to me over the past two years of playing around with F#.</p>

<p>Programming became fun again.</p>]]>
        <![CDATA[<p>I've always enjoyed programming, but in the OOP world, programming quickly became more about structure and frameworks than about solutions. When I learned C++ in Windows, moving from C, I went from a world in which small things happened in a particular order to a large world in which your code had to fit inside a rigid framework. The Windows message pump was butt-ugly, but at least you could look at it and understand it from top to bottom. MFC did the same thing wrapped up in classes. While simpler, it was also farther removed from reality.</p>

<p>And that's the way most OOP solutions were constructed - abstracting the problem away from the metal far enough that you were dealing in abstracts. Need to make a new windows form? It's CForm, or System.Windows.Form.Fom -- whatever it is, you just make a new one. It knows all about how to run forms on Windows. OOP is a beautiful thing.</p>

<p>But with abstractions come gaps in knowledge. A lot of the problems I see that Windows programmers have is related to not understanding what's going on under the hood. Need to do a lot of string building? Just use the "+" operator over and over again. Never mind that each string addition could cause a GC. (There is a StringBuilder class for just this scenario) Need to run a bunch of things in parallel? I'm sure there's some objects out there for that too.</p>

<p>I <em>like</em> good Object-Oriented Programming. On a good project you design the solution, create the scaffold, then plug in the details. Everything has a place. It's easy to share the codebase. A defined problem has a defined (and architected) solution. Planned changes lead to built-in flexibility in your model -- if you're smart. OOP methodologies are software engineering.</p>

<p>So it was with some trepidation that I ventured into scripting and functional code. It all seemed so idiotically simple. After all, who couldn't write a function? Who couldn't refactor a function? These were the simplest of skills, not worth much discussion after you learn and begin applying best principles of coupling and cohesion.</p>

<p>But I found out some really neat things. When I first wrote my first functional code, I would write these butt-ugly imperative loops and such. I might end up with 80 lines of code.</p>

<p>But then I started refactoring, condensing, generalizing. As I worked my code, hidden similarities revealed themselves. Pieces came together in unexpected ways. Like some kind of weird magic trick, 80 lines of code became 50, then 20, then maybe 15 lines or so.</p>

<p>And it was a thing of beauty. It was impossible not to realize this -- being able to express a solution to perhaps a complex problem in just a few lines gives you the feeling of getting closer to knowing some kind of ultimate truth. It's one thing to understand currying and functional composition and all of that. But it's another thing entirely to watch these tools come together in these unexpected ways to make these elegant solutions that you didn't see before.</p>

<p>In OOP, you <em>know</em> the answer before you start. It's all laid out in your OOAD. In FP, even though you have the same general understanding of the answer before you begin, there's a "revealing" that occurs as the code tightens up. It gives you the feeling of solving a puzzle, not just slinging code. </p>

<p>That was fun enough, and I went on for several months annoying all my friends with how "clean" F# was to code. It got better, though. Sometime in the last year or so I found myself doing something frequently that I very, very rarely did before.</p>

<p>I found myself re-using code.</p>

<p>Everybody talks about re-using code. It was supposed to be one of the huge benefits of OOP, but it never worked out that way. The problem was that OOP code usually lived in these huge frameworks. They had to inherit from such-and-such a form. They had to use all these libraries. And an object was a monolithic thing. In for a penny, in for a pound. If done correctly, you ended up with these nicely-sized hunks of data and code -- which were specifically constructed for that particular problem in that particular environment.</p>

<p>But FP isn't like that. I remember the time I wanted a function to slice lists. Given a linked-list, slice it into 2 pieces at midpoint x. I could have developed the solution, but I just googled it and found a neat little piece of OCAML code that did it in just a few lines.</p>

<p>On another project I had a requirement to take some data objects and convert them into JSON to send over the wire. The "old" way would have been to write a "ToJson" method on each object, hand-writing in the return string (or using some kind of code generation to automate it). This time, however, I decided to bite the bullet. I wrote a generic app that takes any .NET object and makes a JSON string -- even complex objects. As part of that, I ended up with a nice little function that will walk a .NET object, providing a callback. That means you can do all sorts of things, not just write JSON. You could take the same code and use it for binary persistence. Or for runtime reflection. There are all sorts of little uses.</p>

<p>I became a code-snippet collector.</p>

<p>It's like collecting stamps. I have this neat piece of code to create a irregular-shaped window. One for transparent bitmap buttons. Another one for playing disk sounds. Here are some type extensions to handle the old-style collections. Here's another one for posting messages from a worker thread back to the GUI.</p>

<p>These are all things that I have done before, and quite frankly, they're not that hard to implement. Before -- if I had the time -- I might write up some of this in a class. Say 100 lines of code. But who the heck wants all of that trouble? Most of this stuff is just a few lines of F#. Small enough to be portable and easy-to-use, yet complex enough to warrant keeping around. Any simpler and it wouldn't be worth keeping. Any more verbose and it'd be a pain to keep and reuse.</p>

<p>I've also found that these pieces come together wonderfully in "exploratory" programming. Not traditional business programming, where you know the problem, you've defined the problem, you've designed the solution, and now you go code. Nope. Exploratory programming is much more like painting a picture. Does that look good over there? How about like this?</p>

<p>And frankly, exploratory programming is more fun than fixed-problem programming.</p>

<p>F# has this wonderful ability to cross-cut the existing .NET libraries to create ad-hoc solutions. Instead of being concerned with structure so much you think more about results. The users. Big pieces of work get done in very few lines of code -- and I've found that fewer lines of code mean less bugs.</p>

<p>There's another subtle reason FP is so much fun. Because of the way it works, testing doesn't have the same role. FP, at it's heart, is about transforming data. It's like writing an entire program as one big honking SQL statement -- you just select from here, compare with that, insert over there. As such, there's not a lot of room for error to creep in. It's either right or it's wrong. In a true FP, unit testing is not the nirvana it is in OOP. The tricky part, of course, is getting your data structures optimized for the transforms you want. And to aggressively refactor everything you write until it's tight. But when it works, it hums. It really sings. It all comes together for a really nice programming experience.</p>

<p>Fun stuff!</p>]]>
    </content>
</entry>

<entry>
    <title>My week</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/my-week.php" />
    <id>tag:www.WhatToFix.com,2010://1.2669</id>

    <published>2010-08-15T20:14:15Z</published>
    <updated>2010-08-15T20:39:45Z</updated>

    <summary>As I write this, I have a vague pounding in my head -- a low-level migraine. I feel tired and lackadaisical. Big celebration last night? Nope, I&apos;ve felt this way for a week. All over something simple....</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>As I write this, I have a vague pounding in my head -- a low-level migraine. I feel tired and lackadaisical.</p>

<p>Big celebration last night?</p>

<p>Nope, I've felt this way for a week. All over something simple.</p>]]>
        <![CDATA[<p>Caffeine.</p>

<p>As I've gotten older, I've begun to realize how fine-tuned the human body is. I think as you get older, your natural error-correction mechanisms are not as good, but folks of any age are a lot more susceptible to having their systems get out of whack than they realize.</p>

<p>Weight, sugar intake, caffeine intake, quality of sleep, alcohol consumption, exercise, and supplements all have dramatic impacts on brain function and mood. Everybody knows that if you drink too much alcohol you feel worse the next day, but few are really aware of the impact that shorting yourself on sleep has.</p>

<p>And the problem is subtle and pernicious. Using the sleep example, people working at 80% capacity are often not aware that this is the case. The brain "adjusts" so that you always seem normal to yourself. Over time, your mood and cognitive ability can drift significantly and while others around you may (or may not) note the change, I can guarantee you that you will not.</p>

<p>Realizing this was a revelation I had sometime in my early 30s. Wow! Who knew that something as simple as rapid blood sugar changes can have such a severe impact on things like obesity? So I set out to control or limit these things, which led me to an even more disturbing conclusion: it's all inter-related. Yeah, it'd be cool if it were one thing, but it's five or six, and they all impact each other.</p>

<p>Didn't get enough sleep last night? You're more likely to eat a sugary food in the morning -- your body knows that sugar makes it run. Or, fighting that, have a cup of coffee.  Drink coffee three or four days in a row? You're more likely to continue. Caffeine is habit-forming, even somewhat physically addictive.</p>

<p>What do a lot of people do that work too hard, drink too much caffeine, and eat too much sugar do? They want to relax, and alcohol provides instant relaxation. Next day you are more tired than normal. So it's a cup of coffee and a doughnut. The cycle continues.</p>

<p>My problem is that I don't like being "good" all of the time. I can get it all in balance, but then I miss pizza, and beer, and I absolutely love a good white tea. These substances begin cycles, however, cycles that lead to more pizza, beer, and tea. The thing feeds on itself.</p>

<p>I usually don't have too much problem switching from "good" to "bad", but last year I couldn't make the jump, which was disturbing. Much later I found out why -- I wasn't breathing at night. No good sleep -> start the cycle again.</p>

<p>So now that I have that fixed it's time to start debugging the system. I am quitting caffeine. At least this week. Hopefully for a long time. And after a couple of years of very heavy caffeine usage, quitting caffeine has not been much fun at all. Headaches every day, sometimes debilitating. Grumpy. Hard to clear my head.</p>

<p>Not fun.</p>

<p>But it's not all bad news. The headaches are getting better, and -- if I stay off caffeine -- sometime next week I'll start restricting bad carbs. That should lead to another week of feeling like I was attacked by vampires, but that should be the worst of it. The problem may be difficult, but it is defined. I've learned the order to unravel my own particular system.</p>

<p>It's just interesting to note how complex the human body can get <em>without</em> adding any prescription medication. It's no wonder that folks on prescriptions can end up in poor health and deteriorating. Who really knows the side-effects and how all the edge cases can interact? It's impossible. I cannot imagine the impact of adding another 4 or 5 variables would have to my own situation. It'd be like playing Russian Roulette.</p>

<p>But for now, I have my Nerds on a Rope, and life is getting better. Heck of an unexpected thing to go through, though.</p>]]>
    </content>
</entry>

<entry>
    <title>Do we really need HTML?</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/do-we-really-ne.php" />
    <id>tag:www.WhatToFix.com,2010://1.2668</id>

    <published>2010-08-11T17:14:35Z</published>
    <updated>2010-08-11T18:10:18Z</updated>

    <summary>My thesis is that at some point in the last 10-15 years, the HTML web has crossed the line from being an information structure and became an entertainment medium. That&apos;s cool, and I wouldn&apos;t want to take away the goodness of the net for anything. I&apos;m simply asking if using an entertainment medium to do your job is such a good idea</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    <category term="technology" label="technology" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="webdesign" label="web design" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>I've been playing around with some radical minimal design ideas lately, and it occurs to me that I'm not so sure that we need HTML, at least for "normal" work.</p>

<p>Think about what most professionals do all day. You're an accountant. You're an insurance agent. You're a policeman. You're a manager. You're a factory worker.</p>

<p>What do you need HTML for? As an accountant, say reviewing a ledger, you need to look a couple of lists of things and compare them. The idea of a displayed list certainly predates HTML. As an insurance agent, you need somebody to complete a claim. Modern voice systems can certainly interview the person, make a stab at word recognition, and you can easily outsource the quality control overseas at pennies per form. Bingo presto, not only do you have your form completed, the system is beginning to learn the spoken word of the customer,  and it was a natural question-and-answer format instead of plugging through some long form on-screen.</p>

<p>In fact, I've spent the last day trying to think up some combination of activities that can't be done with a blinking light, a pushbutton, and a list/text/image display. </p>

<p>I can't, and that's strange.</p>

<p>I have no idea what hyperlinks accomplish, for instance. I mean, I understand the point. And they are awesome creatures of the internet. But who's job requires a hyperlink? Sure, things need to be linked together, but the physical construct of an underlined piece of text that, when clicked, takes you somewhere else? Nobody has a need in their normal job to go to random places depending on which text is annotated. Most jobs are not that free-form.</p>

<p>It sounds nutty, I know. And pay attention: I am not saying that HTML shouldn't exist, or that things shouldn't be linked together, or that the semantic web isn't a good thing.  What I'm asking is: simply because something makes sense in hypertext markup, should it appear on a screen somewhere?</p>

<p>I'm a policeman accessing a list of recent crimes. Here's the dirty little secret from systems design -- there are only a couple dozen activities for any one job that take up 99% of your time. Sometimes there is only one or two activities that you do all day long. So I push the "recent crimes" button, perhaps a physical, real button, and there's a list of recent crimes. No links, no tables, no bold text, no flashing or jumping bunnies. No fonts. Just a list. Of stuff I need to know. <em>mirabile dictu</em></p>

<p>How far we've come.</p>

<p>HTML was started with the idea that the display of information would be a completely different problem than the structure of it. But look what's happened since then: it's all about display. How big the screen size is in pixels, what kinds of fonts you have (or can install), whether or not you support flash, etc.</p>

<p>All of this is great from a one-system-must-conquer-the-world standpoint, but completely wrong-headed from a I-need-to-separate-different-parts-of-my-life department. We're trying to invent sort of a universal generic display language. Wonderful concept, but that's not where we started out going. Or if it was, I missed it. I thought the display aspect was secondary, not primary.</p>

<p>But then came advertising. And money. Lots of it.</p>

<p>My thesis is that at some point in the last 10-15 years, the HTML web has crossed the line from being an information structure and became an entertainment medium. That's cool, and I wouldn't want to take away the goodness of the net for anything. I'm simply asking if using an entertainment medium to do your job is such a good idea. For most of us, I don't think so.</p>

<p>Of course, there will always be a place for the arts -- painting, writing, movies, games, music, etc -- and HTML and computers are wonderful tools for the creation and enjoyment of the arts. Most of our jobs though, however sadly, are not art.</p>

<p>Advertising has created wonderful general-purpose devices that can switch from balancing a checkbook to flying a F-15 in a split second. One browser page can have your investment information and the next one Facebook. And world opinion. And lolcats. Strategic investment advice. And porn. It's all one of the same. Sometimes barriers are good things. A site that pulls you in with messages from your friends can then get you to click one link -- it only takes one click -- and you've lost 30 hours playing Farmville. These are all the benefits, and drawbacks, of hyper-text markup language the way it is being used today.</p>

<p>And we really don't need it all that much.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Markham Panels</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/markham-panels.php" />
    <id>tag:www.WhatToFix.com,2010://1.2667</id>

    <published>2010-08-09T21:41:32Z</published>
    <updated>2010-08-09T22:20:11Z</updated>

    <summary>I propose a user interface standard for an Executive Information Service (EIS) for modern humans. Let&apos;s call them Markham Panels. The interface abides by these rules: Only one screen. No setup screens, configuration Only three things are allowed on the...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>I propose a user interface standard for an Executive Information Service (EIS) for modern humans. Let's call them Markham Panels. The interface abides by these rules:</p>

<ul>
	<li>Only one screen. No setup screens, configuration</li>
	<li>Only three things are allowed on the screen, indicator lights (which also function as buttons), a list/text/video view, and gauges/graphs. The gauges graphs may be of various types, but there can be only one type per panel</li>
	<li>No fonts</li>
	<li>No hyperlinks</li>
	<li>No keyboard</li>
        <li>The machine may make sounds and/or speak, but it may not alert the user on it's on for more than .1% of the user's time on the device</li>
        <li>Likewise there will be certain rules for how often an indicator light may light/flash, and at what intensity. </li>
        <li>Combining the numbers of controls with these standards of allowable interruption frequency should produce a panel complexity factor for that particular configuration</li>
	<li>The list/video/view is small compared to the rest of the screen, and it is the only screen that is allowed to change. It may not change on its own</li>
	<li>Interacting with other folks in the world is either done by pushing a button or speaking. The person is not allowed to create text, nor will the system try to learn speech recognition by pestering the person (That doesn't mean that such work can't be outsourced, though)</li>
	<li>No direct interaction with the list/text/video frame is allowed aside from selecting items on the list</li>
        <li>Configuration of the system is extremely flexible, but happens offline through another system which is not immediately accessible to the user</li>
</ul>

<p>I believe such a system is capable of performing most all of the knowledge work required by modern civilization, aside from programming and other arts (writing, graphic design, painting, music composition, etc) I also believe that deploying these panels would result in tremendous gains in productivity. (Although I think that free-form exploratory computing also has a huge role, I doubt that the benefits outweigh the drawbacks, at least in many contexts)</p>

<p>EDIT: I initially put "Prove me wrong." as a close, but that sounded a little too over-the-top, even for me. Perhaps a better close to this post would be "I welcome the chance to change this to add controls as needed"</p>

<p>The goal here is to discuss and explore extreme minimal interface standards. I'm throwing this out as a starting point.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Retro Techno</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/retro-techno.php" />
    <id>tag:www.WhatToFix.com,2010://1.2666</id>

    <published>2010-08-09T17:13:16Z</published>
    <updated>2010-08-09T21:09:34Z</updated>

    <summary>This is all bullshit. It&apos;s a false choice. An important system can be infinitely complex and configurable, yet still be able to be operated by 3-year-old. And I don&apos;t have to give up any of my data to have it that way.</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    <category term="aviation" label="aviation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="startup" label="startup" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="technology" label="technology" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="webdesign" label="web design" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>I was watching <a href="http://www.amazon.com/gp/product/B001TH16DS?ie=UTF8&tag=whtofi-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B001TH16DS">the remastered versions of the old 1960s Star Trek TV show the other day,</a> and while the new graphics were great, I couldn't help but think how god-awful the <em>instruments and displays were</em>, compared what we are using today.</p>

<div style="text-align:center"><div style="margins:auto"><img src="http://www.whattofix.com/images/TrekPanelTOS.jpg" alt="instrument panel from the old star trek show">
</div></div>

<p><br/>But then -- being the contrarian I am -- I thought: Doesn't this actually make a bit of sense?</p>]]>
        <![CDATA[<p>You see, as our machines have gotten more sophisticated we've wanted one machine that would do anything -- the average cell phone is a more powerful general-purpose computer than anything that existed in the 1960s. But let's assume for the moment that somehow Star Trek was real, and that they actually had a greater level of technology than we do today.</p>

<p>I think the panels still work.</p>

<p>Put another way: create a small device consisting of an indicator light (in any shape or color), a small computer system to work it, and some kind of communications protocol, perhaps BlueTooth. Take a PC and program the light to turn off and on based on any condition you set -- you receive new email, your stocks go up (or down), breaking news, somebody replies to your comment, you made a new sale on your e-commerce site.</p>

<p>Wouldn't a panel of such lights not only show more information that the equivalent number of screens, but would do so in a fashion that you wouldn't find distractive?</p>

<p>Taking this further, I argue that there is mostly nothing of importance that we are doing today that can't be encapsulated in 4 old-timey controls: the indicator light, the button, the gauge, and the printed list. No hypertext, no flash graphics, no web video. I could create one of those Star Trek panels and be able to monitor many more things in real-time than I currently do.</p>

<p><em>Everything we do is wrapped in such bullshit.</em> I check my email, Google shows me ads based on contents of my emails. Do I want to buy something? Not when I started. I go to check my favorite news site and people are making comments that I find engaging.  Do I want to comment? Not when I started. I read a newspaper article about a topic, and there are several links to additional research materials. Did I start reading the news in order to research earthworm farming in Australia? Not really. I go to read an editorial -- and have to plunge through a screen asking for a subscription, an ad for a car, and things jumping and flashing all over the place.</p>

<p>Traditionally such complaints are usually directed back at the complainer -- if you managed to stay on topic more and be more focused you'd drift away less. Let's not go all the way down the tech addiction road again, let's just ask the simple yet profoundly important question, "What do I really need compared to what I am getting?"</p>

<p>The designers for Star Trek - wonderful 60s guys that they were -- actually designed a system around stuff people needed. They didn't know tech, They knew that if something important happened a light would flash. Really, really important? Perhaps a sound.,  If you needed to tell how big something was? You'd show a gauge. What more is there than alerting you to something new, showing how relatively big something is, letting you select something, or letting you read a list of data? There are an infinite combination of these things, sure, but how many of those combinations do folks actually use?</p>

<p>If I were building a nuclear power plant there's no freaking way I would put a bunch of web browsers or general-purpose computers in the control room. Too much chance of a distraction. Instead, I'd have clear roles with clear and simple interfaces to perform these roles. You think I want some guy playing WoW while the reactor goes critical? If I were building a medical device, there'd be very few systems that would only do very few simple things. Displays and controls would be idiot-friendly. </p>

<p>Companies have latched on to this -- but they ask the devil's price. Apple made the iPad such a hit not because you could do a zillion things with it but because it did one thing -- play music -- in a simple, easy-to-understand, and reliable manner. Whole industries are springing up making general-purpose computers back into simple indicator lights.</p>

<div style="text-align:center"><div style="margins:auto"><img src="http://www.whattofix.com/images/iTouch.jpg" alt="instrument panel from the old star trek show">
</div></div>

<p>Or put another way, currently most technology businesses are in the business of taking data from you that you find important -- your comments, your financial records, your favorite stories, your correspondence, your friends -- making it simple-to-use and access, and then putting it behind a wall on the internet. If you want at the data, you have to bring a browser to the party -- and the browser is going to display many, many more things than just the things you find important. In the industry these are known as "engagement devices" -- things to pull you in and make you use the site more.</p>

<p>You can't get to your data unless you use a browser, and they don't even want you automating the browser. While many of them will say you can download your data any time you want, they know that tools for doing these are few and far between for the average internet user. You'd rather put up with ads and engagement material than figure out how to make the blinking light and list.</p>

<p>On <a href="http://news.ycombinator.com/item?id=1585796">HackerNews last night we were discussing</a> <a href="http://blogs.law.harvard.edu/philg/2010/08/08/unemployed-21st-century-draft-horse/">Philip Greenspun's article</a> which implied that much of the American workforce is not only obsolete but untrainable. Sure, stuff has gotten complex. But how much of that is actual complexity and how much of it are we putting on ourselves?</p>

<p>I look at the average Microsoft development stack -- and I am appalled. A new developer drops a custom control on a form and is immediately presented with dozens, maybe hundreds of drop-downs and selectors, all about customizing that one control. I've seen many, many developers cognitively paralyzed by all the options the first time they start programming. These aren't stupid people -- many are smarter than I will ever be -- but with the overload of choices, options, and distractions it becomes very difficult to stay focused on what the goal is. Microsoft has 40 thousand developers all making the infinitely configurable single general purpose system. Striving as hard as they can to make one system that has a trillion options, will work for anybody, and be programmable by nobody.</p>

<p>Combating that, on the other end of the spectrum are startups that do one thing simply -- and then keep your data for eternity. As a favor to you, of course.</p>

<p>This is all bullshit. It's a false choice. An important system can be infinitely complex and configurable, yet still be able to be operated by 3-year-old. And I don't have to give up any of my data to have it that way.</p>

<p>Imagine a world with big blinking lights -- there's the email panel. You can see I have some new emails, but none from close friends and no critical emails. There's the new technology panel. Looks like most of the stories are Apple-related today. There's the financial sector -- net worth is still doing well. Friend's pictures from FaceBook is moving along at 5/hour, but that's the normal rate for Mondays. My whole technology interaction experience -- a bunch of lights, buttons, gauges, and lists. If you'd like, if you insist on being cool, put it all on an iPad. Driving a car isn't about understanding how internal combustion engines work, it's about knowing how to navigate, how to avoid obstacles. Even flying a 777 into Dulles on a rainy night isn't about knowing how every system works -- it's about managing the five to seven most important factors at any one time -- <em>which for 99% of the cases is all you ever need</em>, then being able to read a checklist and know where the switches are.</p>

<p>In fact, in the aviation world a lot of thought is given to the fact that we are giving pilots too many systems to manage simply because we can. NASA's Highway-in-the-sky (HITS) program says that if you land a plane, and you can fly through boxes displayed on a HUD, you can fly anywhere.</p>

<p>Somebody needs to get to work on making some 1960s technology.</p>]]>
    </content>
</entry>

<entry>
    <title>The Big Mother Honking Monster Survey of Time and Space</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/the-big-mother.php" />
    <id>tag:www.WhatToFix.com,2010://1.2665</id>

    <published>2010-08-05T03:42:16Z</published>
    <updated>2010-08-05T04:12:58Z</updated>

    <summary>How much study would you do to understand a problem better in order to help solve it? Would you spend years gathering data? Is there any situation where a 3-year study of the problem would make sense? After taking a...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>How much study would you do to understand a problem better in order to help solve it? Would you spend years gathering data? Is there any situation where a 3-year study of the problem would make sense?</p>

<p>After taking a look at my last survey about digital drugs, I'm doing a little spit-balling this afternoon on what a new survey would look like; one that would associate personality attributes and triggers with technology use.</p>

<p>Looks like using some kind of standard metric is called for -- not just a bunch of questions I pulled out of the air. </p>

<p>But taking a look at the list of potential questions, it looks like there'd be a zillion questions all together. It'd be like completing a tax return. Would that work?</p>

<p>Geesh! Let's take a look at the test types and the question count:</p>]]>
        <![CDATA[<ul>
	<li>Yale-Brown Obsessive Compulsive Scale - 10 questions</li>
	<li>Goldberg Depression Questionnaire - 18 questions</li>
	<li>Alcoholism Test, adapted for tech use - 20 questions</li>
	<li>Internet Addiction Test -  20 questions</li>
	<li>OCD Test - 25 questions</li>
	<li>Adult ADHD - 24 questions</li>
	<li>Workaholic Test - 25 questions</li>
	<li>Mood Disorder - 18 questions</li>
	<li>Beck Depression Inventory -  20 questions</li>
	<li>Jung Typology - 72 questions</li>
	<li>Internet Content Perception - 30-40 questions</li>
	<li>Triggers - 30-40 questions</li>
</ul>

<p>Looks like around 300 questions.</p>

<p>To create it or not? it would take several hours -- maybe a day or more -- to put all together. And initial responses, even with some social network link promotion, would probably be slim to none. Maybe a thousand people considering it for every one who completed it.</p>

<p>Perhaps this is not a question of "should" but a question of "How soon for results?" I could create it and hell, wait 3 years until I got the results together. If I got 5 responses a month, in a few years I'd still have hundreds of answers. It would still be possible to get data, it would just take forever.</p>

<p>And it'd be great data to have. Unlike last time, it wouldn't have any sort of identifying information in there at all (save for an optional email address for result notification) Plus it has the benefit of using standard tools, instead of just ad-hoc questions. So maybe people would be more likely to be comfortable with their answers.</p>

<p>But there's a balance involved when looking to solve any problem. How much data do you gather, and for how long? I know my startup friends would all say something like "get a general idea and run fast with it", but is that always true? Seems like in certain cases you are more interested in the problem than the market.</p>]]>
    </content>
</entry>

<entry>
    <title>Digital Drugs: Meet the Users</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/digital-drugs-m.php" />
    <id>tag:www.WhatToFix.com,2010://1.2664</id>

    <published>2010-08-04T20:30:28Z</published>
    <updated>2010-08-04T23:50:37Z</updated>

    <summary>&quot;It&apos;s too much. It&apos;s hard to just stop using the net or something. Like right now I&apos;m filling out this form when I should be concentrating on a different task.&quot; &quot;I am so used to brevity now as a product...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    <category term="internet" label="internet" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="technology" label="technology" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>"It's too much. It's hard to just stop using the net or something. Like right now I'm filling out this form when I should be concentrating on a different task."</p>

<p>"I am so used to brevity now as a product of twitter, article summaries, etc that it is a huge chore to sit down and read something longer - a long blog post, or a book. I find myself wishing all information were condensed into a paragraph or two at most. I don't like this trend in myself and wish my ability to concentrate/focus on longer written material would return."</p>

<p>"I would like to be more in control."</p>

<p>"I would like it if other people, such as yourselves, would stop demonizing this perfectly normal behavior in a reactionary fashion."</p>

<p>And so we begin our journey into the mind of the average techie internet user.</p>]]>
        <![CDATA[<p>With hundreds of entries, you should start to be able to see correlation occurring -- if you ask the right questions. <a href="http://bit.ly/9OdJym">For this survey</a>, we asked a bunch of demographic questions -- income, zip code, attitudes towards technology.</p>

<p>And we found no correlation at all. Nada. Zilch. Zippo. Bupkis.</p>

<p>Well almost.</p>

<p>There was only one interesting result from looking at the correlation -- you're doing a lot more of it now than you were five years ago, especially those other guys. Boy are they losers. With a  correlation coefficient of .65, you related "I think the people I know are wisely spending their time online" with  "I think the people I know are spending their time more wisely now than five years ago" -- and overall you disagreed that you thought they were spending their time wisely. The other measurements, comparing how much game use or social activity you had -- had a .5 relationship between past use and current use. So not that good.</p>

<p><em>The interesting story here so far is the inability of people -- even people interested in their technology use -- to make independent rational judgments of how much time is lost.</em> Even though you recognized the hours you spent doing things non-productively, time you could spend making money or engaging in a more rewarding hobby, the hours spent didn't relate to the amount of money you thought you lost. <strong>Even the relationship between time you thought you lost per day and time you thought you lost per month had a low correlation coefficient</strong>. -- at around .6</p>

<p>So even though this sounds like a rigged answer, I'm left with the conclusion that, for better or worse, the perception that time is being used inefficiently on technology use is not related to income, social proclivities, or opinions towards technology. In addition, while some of us feel that a lot is slipping away while we click, we're cognitively unable to reasonably quantize this for ourselves for whatever reason.</p>

<p>Is this -- this feeling that 5 hours on the net was great but maybe I could have gotten the same benefit in 2 -- related to psychological traits? In other words, maybe people who are unhappy with their technology use are simply showing signs of some mild depression (which still might have been brought on by tech use, but let's talk chicken-and-egg another day)</p>

<p>I hate like hell to say it, but I think I need another survey, one that uses a more standard measurement of depression, along with a measurement of addiction. Perhaps throw in some questions about triggering mechanisms, both to begin tech use and to end it. Why DO people stop using technology, anyway? I know when I get into the zone programming I have to physically pull myself away from the computer -- I'd code through the night. The only reason I stop is simply acknowledging that at the current level of sleepiness I'm probably making more errors than helping. But that's just me.</p>

<p>Not sure, though. People hate surveys and don't like filling them out. In addition, this isn't a study -- this is hit-and-run pseuo-science. Stringing together half-assed results from a questionnaire. On the flip side, however, I don't have to be right. I have have to keep failing and continuing to optimize. This is the most important first step in science -- finding data. It's not about suggesting or proving theories, just beginning to see possible patterns. So it is worthwhile.</p>

<p>I remain convinced that anything that people report that hurts them, on average, in the thousands of dollars per month is something we should look at. Something we should try to fix. I need to keep exploring this.</p>

<p>One guy said he felt like he was losing 7 thousand dollars a month on inefficient tech use. The thing he wanted most? A neural interface and some kind of Wikipedia brain-augmentation device, so he wouldn't have to spend so much time typing. He knew he was doing something against his larger wishes, knew it costs him real money, and knew he needed help. But what he wanted was to be able to do it faster.</p>

<p>Damn interesting topic.</p>

<p><a href="http://bit.ly/9OdJym">The more data the better, so if you haven't completed the survey please take the time to do it now.</a></p>]]>
    </content>
</entry>

<entry>
    <title>So long, Johnny Part 3</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/so-long-johnny-2.php" />
    <id>tag:www.WhatToFix.com,2010://1.2663</id>

    <published>2010-08-03T04:45:31Z</published>
    <updated>2010-08-03T06:21:09Z</updated>

    <summary>John Fullerton was one my best friends in the world. He will never be replaced....</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
        <category term="Biographical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="personal" label="personal" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>John Fullerton was one my best friends in the world. He will never be replaced.</p>]]>
        <![CDATA[<p>I wish there were some point in time - some critical moment in the drama - where Johnny and I made our peace and became best of friends.</p>

<p>But it didn't work that way. It happened slowly.</p>

<p>I got a job at a factory making night-vision goggles. Johnny told me it was the best thing I had ever done and I should stick with it. (I hated it). I lost everything I owned and became homeless. Johnny told me I'd work it out. I worked two full-time jobs while getting my life back. Johnny told me I had a long ways to go and not to get so soft.</p>

<p>I grew my hair long. Grew a beard.</p>

<p>He told me that I should settle for what I could get and work my way up. I dropped one job and picked up a full course load at the local college -- 4.0 average. He told me I should think of a permanent solution for my kids instead of having them bounce back between me and my sister. I met a wonderful woman who loved my kids as much as I did.</p>

<p>I did a lot of good things trying to prove Johnny wrong.</p>

<p>Johnny told me that a full-time corporate or government job was the best to have. So I went into consulting, billing by the hour or project and never knowing where my next meal was.</p>

<p>Somewhere along the line -- not sure where -- he stopped being wrong so much and I stopped being right so much. The tables turned.</p>

<p>Consulting didn't work out so well in backwater, Virginia, so I had to travel. I would call mom and Johnny from Sacramento, Friday night, stuck over the weekend.</p>

<p>"Well what you want to do," he'd say, and I'd quickly grab a pad, "is head up 50 into the gold country...."</p>

<p>"But I'm out in Rancho Cordova"</p>

<p>His mind was like a map. "That's fine. You know what, Daniel? You're already on 50. So just head east. There's wonderful views as you go across the mountain and head into Tahoe"</p>

<p>Zeus on a rope, but the man was right! Wow! I had never seen a sight like rolling over the mountain and into Tahoe on 50. Incredible.</p>

<p>On Monday we spoke again.</p>

<p>"Did you try that out?" he'd ask.</p>

<p>Once I stopped gushing over how much fun I had, he proceeded to instructions for my next weekend in California.</p>

<p>And you know what? I liked that. I liked being able to call "home" and talk to mom about my life problems and then have Johnny give me the orders for the free time I was going to have later. I liked hearing him tell me, I liked trying them out, and I liked reporting back on my experiences. And Johnny liked giving orders too, if only in mock. Quite a few times after reporting back Johnny pointed out that I had screwed up my orders something fierce. I missed a turn. I drove one way instead of another. He always stuck with me, though.</p>

<p>On the phone mom would soothe, "You know, Johnny loves you, Daniel. He always talks about the places you are visiting"</p>

<p>And so I grew to love John Fullerton.</p>

<hr/>

<p>Johnny came slowly to acknowledge me, as well. Since I had such a scrappy start for my consulting career, everyplace I went I got ahead. Johnny always saw this as a chance to get a full-time job. And he always gave me clues on the "status updates"</p>

<p>"Working at the Immigration service, Johnny. Designing a system that will millions of day laborers from Mexico"</p>

<p>"You should check around. See if they have any openings. The immigration service has great benefits"</p>

<p>Next year.</p>

<p>"Working at a little startup in Georgetown, DC"</p>

<p>(I could hear the sigh on the other end)</p>

<p>Next year</p>

<p>"Working for Invacare, Johnny. Making wheelchairs and things to help folks who are sick"</p>

<p>"That's a good business. Lots of room for growth. Check into a dealership"</p>

<p>He was always looking for the chance for me to pair up with the big company. I was always rejecting it.</p>

<p>I don't think he really quite realized what I was doing. Or maybe he did.</p>

<p>"Working for Ford Motor Company, Johnny"</p>

<p>I could hear -- almost see -- him perk up.</p>

<p>"Really? In a factory?"</p>

<p>"Nope. Working for the CIO, number three guy in the company. We're trying to make a new core system to replace most all of their other computer systems"</p>

<p>Of all the things I have ever told Johnny, I think this one gave him the biggest pause.</p>

<p>"You should check out whether they have work on the assembly line. They have some good jobs there"</p>

<p>But I could tell his heart wasn't in it.</p>

<hr/>

<p>From Ford, the companies got more exotic and the job descriptions more important. Working with Pitney Bowes to help them re-build their online postage system. Working with Charles Schwab, training dozens of teams building their new portfolio system.</p>

<p>Eventually, I think, he just gave in. Daniel was not going to work in a structured job for retirement. Either you keep thinking the kid is a loser, or redefine success.</p>

<p>So he redefined success.</p>

<p>One of my favorite moments came in 2005. I was working at the Defense Commissary Agency --  DeCA. We were building a new computer system to replace 31 existing systems. DeCA delivers groceries to service-members all over the world, 24-7, and they do it at cost. I was leading the team that was re-designing the system. We had a dozen super-users flown in from all over the world. We only had 3 months to finish the initial job.</p>

<p>Johnny and mom came to visit me in Petersburg.</p>

<p>I told my main client, Lt. Cmmdr. Gordon Jones, about Johnny's history in the service. When they showed up, nothing stopped, but it was like a red carpet tour. Gordon took us all over the base, showing Johnny how DeCA made sure that the civilians attached to military members could still get "normal" food -- no matter where they were. We saw systems to track containers. We saw systems to track food items. We saw system to track each individual sale. We saw system to track every problem DeCA was having -- anywhere in the world.</p>

<p>We went into the "diagnostic" room, where big screens and dozens of operators worked problems.</p>

<p>Johnny entered and they all stood. </p>

<p>The conversation changed after that. Somehow Johnny realized that I was somewhere he hadn't been.</p>

<p>Part 4. Next</p>]]>
    </content>
</entry>

<entry>
    <title>So long, Johnny Part 2</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/so-long-johnny-1.php" />
    <id>tag:www.WhatToFix.com,2010://1.2662</id>

    <published>2010-08-03T02:19:36Z</published>
    <updated>2010-08-03T06:41:11Z</updated>

    <summary>Up until I was 21, I never wanted to punch an old person in the nose. Until I met John Fullerton...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
    <category term="personal" label="personal" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>Up until I was 21, I never wanted to punch an old person in the nose.</p>

<p>Until I met John Fullerton</p>]]>
        <![CDATA[<p>I'll never forget it. I was 21, in the Marines, home on a 96-hour pass. I was in our backyard washing my cool 1976 black Trans-Am. (with both an 8-track tape player AND a CB radio!)</p>

<p>I was having a lot of trouble in the Marines -- my first-born son was born with a birth defect that would require many surgeries by the time he was 2. I had flat feet and it hurt severely to run, march, or stand in place (very hard to be in the Marines without doing those things) In addition, my sister was having problems in school and things were tough with my first wife.</p>

<p>All in all, I loved the <em>idea</em> of being in the Marines, but the way it was working out was driving me crazy. I didn't like actually doing it. I felt like I was in a prison. It was a prison controlled by lifer jerks who had no skills and their only purpose was to torture me as much as they could before they killed me (Most of this turned out to be fantastical imaginings, but this is how I felt at the time -- if I could only go back!)</p>

<p>So I'm washing the car and up walks a little short guy. I know the walk. I have seen that walk a thousand times. Lifer dude.</p>

<p>"I'm John Fullerton, and I have been seeing your mother"</p>

<p>I told him that was nice. I shook hands and told him it was good to meet him.</p>

<p>"You know what your problem is?" he asked.</p>

<p>This seemed like an unusual way to get acquainted.</p>

<p>"No," puzzled, "what?" </p>

<p>What followed was a ten-minute speech, delivered by the numbers and in good military order, on how I was wasting my life by not staying in the Marines.</p>

<p>I don't remember how that conversation ended, but I remember him walking back into the house and my thinking "Huh!??!?!? Now these assholes are following me home?"</p>

<p>Johnny and mom kind of kept to themselves for the next few months. The Marines told me I was getting out honorably on a hardship discharge (which was a relief), and my wife and I took an apartment in the city. </p>

<p>One night mom and Johnny came by for a visit.</p>

<p>I don't remember the details of THAT night either, except for after they left my first wife let out a string of obscenities that I think is still orbiting somewhere over Tinker Creek Apartments.</p>

<p>The next day my mom called -- they were getting married.</p>

<hr/>

<p>Most of the family felt something like if Mother Theresa married Genghis Khan. We all didn't know what to do -- deer in the headlights.</p>

<p>Then my mother ran away from home, which was really a big disappointment all the way around.</p>

<p>I thought mom would get married and then, well, stay <em>home</em>. Like good grandmothers are supposed to do. I figured the new grandpa -- if there was one -- would be some guy with a pipe, maybe a tweed jacket. Ruffley white hair. Good with stories. Mom could play with the grandkids, be a babysitter, do things with the family. And mom thought that too. If mom had her way she would have given us all of her money each month and basically been on-call whenever we needed her. Mom would have been happy to shine the spotlight on us. And we would have been happy to have the spotlight shining on us. Sure, she wouldn't have had her own life, but it sure would have been convenient to the rest of us.</p>

<p>For some reason, Johnny did not see things this way.</p>

<p>They took off on the road and never looked back. My sister Joy was put into an apartment of her own. I was given a forwarding mail address to reach my mother.  From time to time mom would call. One day it was Ohio, then Nebraska, then Washington, then Alaska. They went all over the place.</p>

<p>Now I see myself as a spoiled 20-something who just wanted to stay in the nest as long as he could, but at the time, boy, I was morally outraged! Outraged, I tell you! Some outside jackboot come into my family! Take away the last parent I have!</p>

<p>I think the nadir of our relationship came after my first wife left, and I was a single dad tending to my kids. My sister offered to help, which was great, but there were still problems from time-to-time. I remember one conversation very clearly.</p>

<p>"You need to stop calling your mother down here and worrying her with all your troubles," Johnny told me. </p>

<hr/>

<p>What I did not see -- what I did not know until much later -- was how good for each other these two people were. Johnny could fix anything, but he couldn't keep his big mouth shut. Mom would do anything for anybody, but she would really <em>do anything for anybody</em>. She could not draw lines to protect herself. So when people had problems that should have never happened, Johnny could fix it in a snap -- and mom would tell him to be careful to what he said.</p>

<p>His skills were in great demand. One time he had a engine blow up in the middle of Alaska. He found a farmer who let him use the barn, then he got on the phone and ordered the parts, FedEx. (for many years later he told the story of how amazed he was that those parts came the next day in the middle of Alaska)</p>

<p>Working by himself, and with just tools he could find, <em> he pulled the engine from his pickup, rebuilt it, and put it back in</em>.</p>

<p>In a barn.</p>

<p>In three days. (one of which was spent waiting on parts)</p>

<p>One time Johnny built his own parts to fix a problem. They were so far from anywhere, the best thing to do was improvise. And he did.</p>

<p>Wagonmasters (the guys who led the RV caravans) would go out with nobody except Johnny -- he could fix anything) But for all of those skills, if it hadn't been for mom, Johnny wouldn't have lasted one season. He was simply too blunt.</p>

<p>The wagonmaster led out of camp everyday. Johnny and mom took up the rear, looking for people to help along the journey. It was the best of both of them.</p>

<p>"I never knew there could be anybody like your mother," he told me a couple of months ago after mom died, "she never held a grudge, and she always just wanted to do the right thing."</p>

<p>I told Johnny back in April that sometimes, now that I am 45, I have problems remembering at the same level of detail that I did when I was 35.</p>

<p>"Oh I know exactly what you're saying," the 90-year-old told me, "At times I can't remember the timing adjustments and valve settings on all the 90 series of Ford engines like I once could.</p>

<p>Somebody told me once that Johnny's first wife would have never went on a caravan with him. She was adamantly opposed to traveling that much. I do not know if this is true, but I like to believe it. I like to believe that God took my dad and Johnny's wife and then opened up a beautiful new life for both of them where each of them complimented the other perfectly.</p>

<p>At the time I still didn't like him very much. The best I could come up with was that he was probably a good thing for mom.</p>

<p>But all of that changed.</p>

<p>Which is probably a story best left for the next blog entry. :)</p>]]>
    </content>
</entry>

<entry>
    <title>So long, Johnny Part 1</title>
    <link rel="alternate" type="text/html" href="http://www.WhatToFix.com/blog/archives/2010/08/so-long-johnny.php" />
    <id>tag:www.WhatToFix.com,2010://1.2661</id>

    <published>2010-08-03T00:21:33Z</published>
    <updated>2010-08-03T06:25:15Z</updated>

    <summary>My step-father John Fullerton passed away Sunday. I will miss him immensely. Johnny grew up in the 1930s in the middle of coal-country, West Virginia. Everybody worked in the coal mines. His dad was a good man but drank too...</summary>
    <author>
        <name>DanielBMarkham</name>
        <uri>http://www.WhatToFix.com</uri>
    </author>
    
        <category term="Biographical" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.WhatToFix.com/">
        <![CDATA[<p>My step-father John Fullerton passed away Sunday. I will miss him immensely.</p>

<p>Johnny grew up in the 1930s in the middle of coal-country,  West Virginia. Everybody worked in the coal mines. His dad was a good man but drank too much. His brothers all worked in the mine as they got old enough. That's what John was expected to do also.</p>

<p>Johnny was a precocious little kid in school, never agreeing with the teacher and always asking smarteleck questions and goofing off. The shortest in his class, everybody thought that he would grow up and get a job in the mines like everyone else and he'd finally "settle down"</p>

<p>But Johnny was good with his hands -- working on things, taking them apart and putting them back together. He found an old junk car that he fixed up and he loved it dearly. He dreamed of doing something else. Seeing more things. Finding out what was over the next hill.</p>

<p>Tradition is hard to break, though, and when he got to be 16 he went to work at the mine just like his dad and brothers. His first week on the job he went out drinking one night and wrecked his car, destroying a tree  -- a very special tree that the mayor and townsfolk of a nearby town loved dearly. In the cover of darkness he got out before people figured out who it was. But it was only a matter of time.</p>

<p>The next day he threw his shovel up on the stack of coal and said "You can have it. I'm not doing this any more"</p>

<p>Everybody thought Johnny was just being, well, Johnny.</p>

<p>He asked his dad to sign papers so he could join the Navy. His dad looked at him and smiled -- "Son, I'll sign this, and this will be ONE THING that you won't be able to get out of"</p>

<p>The only problem was that Johnny wanted to sign up in California. So -- in the late 1930s -- he took that old car, with a few spare parts, and took off across country to California. Back then the roads were nothing but dirt and mud trails. You could go hundreds of miles without a gas station. Nobody thought he would make it, but he did.</p>

<p>And that started a pretty incredible life.</p>]]>
        <![CDATA[<hr/>

<p>When he got to San Francisco he worked in the Navy during the day -- and at a local factory at night. It wasn't unusual to moonlight like this. He continued to develop his mechanical skills. He was turning into that rarest of species: a mechanic who was a natural engineer. He could look at a mechanical problem and instantly he knew what it took to fix it.</p>

<p>When the war came, he was assigned as a mechanic for a fighter squadron in the Pacific. Johnny's small stature allowed him to reach up and get into places that other people couldn't reach.</p>

<p>He had fond memories of Guam -- watching the bombers take off and return during what little free time he had, and he always said that if he had a chance he would like to go back. Of course, it's all a tourist-y vacation spot now. Nothing like it was when the war was on.</p>

<p>At the end of the war he got a chance to volunteer to go to China, and he flew on-board bombers as they ferried <a href="http://">Chiang Kai-shek</a> around.</p>

<p>One of the jobs they had was moving the embassy. It required loading up the plane with both fuel for the flight out -- and fuel for the flight back. There was no gas where they were going. </p>

<p>They all carried side-arms and were told that the Chinese people were so poor that they would attack. steal, and kill on a moment's notice. So they were to always be prepared. If they ran over a Chinese person in the street they could not stop -- to stop would be to admit guilt, and the mob would surely overpower them and kill them all if they admitted guilt.</p>

<p>It was a very exciting time, and Johnny was sad to have to go back to the states.</p>

<hr/>

<p>After the war he left the Navy and started working at a Ford dealership. After all, he was good with his hands and he loved cars and parts. It was a natural fit. But Johnny felt like something was missing -- the service offered better security, more adventure, more structure, and an early retirement. So after just a little while, he left Ford and went back to the service -- this time the United States Army.</p>

<p>Johnny was a natural in the army, getting into supply and rising through the ranks, eventually earning his commission and reaching the highest level of warrant officer. In the Army John became a hard-nosed realist: he wanted people that could work and work hard. Many times it was difficult to get good workers. The civilians would come in and only goof off. You couldn't just fire them -- you had to build a file on all of their bad behavior. By the time you got the file finished, either the civilian moved on or you did. Some times they just promoted poor-performing civilians to get rid of them. It was very frustrating. People did not realize that all they had to do in life was work hard and follow the rules. The service was a great opportunity! It sure beat the coal mine.</p>

<p>Johnny kept thinking of his dream -- getting out of the service with his retirement and medical benefits, touring the country as part of an RV caravan. With all his knowledge he could hitch on as a mechanic -- see the country and get paid to do it!</p>

<p>After the service he went back to helping out with parts and work at some Ford dealerships. His wife, whom he loved dearly and was married to for many years, got cancer. Over a long period of time he watched her die.</p>

<p>A few months after her death, he started checking out the trade shows and looking forward to getting on the road again. But he had medicals problems too, and he needed an operation.</p>

<p>So he came to Virginia to stay with his daughter, who lived in Vinton, while he had his surgery. He was very lonely, but he was picking up the pieces and going forward with his life. He was a tough old soul.</p>

<p>And that's how he came to meet my mom.</p>

<hr/>

<p>Johnny's daughter Sharon lived on Feather Road in Vinton. My mom lived on Feather Road in Vinton. Johnny was having an operation at Community Hospital in Roanoke. My mom worked at community hospital in Roanoke. Mom worked in pediatrics as a nurse's aide, but for a couple of days she was assigned to a different part of the hospital.</p>

<p>Mom had been dating for a couple of years, and while there were a lot of fish in the sea, she wasn't too impressed with the fishing. The older men didn't take care of themselves, didn't dress well or have manners, and they all seemed a little too fast-moving for mom.</p>

<p>So that morning she comes into a room and says "Mr. Fullerton, I will be your nurse today"</p>

<p>John knew he had met a special person. He was floored. After his operation that day, the next morning he had managed to bathe and shave and dress and was completely squared away by the time mom got back to his room.</p>

<p>And with two brothers who went in the Navy, an ex-husband who was in the Navy, and a son in the Marines? Let's face it. Mom was a sucker for a guy in uniform.</p>

<p>Johnny didn't ask her out just yet. He found out where she lived (3 houses down from Sharon) and made it home the next day. Then he polished up again and decided to pay a visit. Time to go courting. He found my mom mowing the grass.</p>

<p>Mowing the grass! Heavens forfend! What was a woman like this doing out mowing the grass?</p>

<p>And that's how Johnny and my mother started dating.</p>]]>
    </content>
</entry>

</feed>
