<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-108582493730999269</id><updated>2011-09-01T04:52:54.173-07:00</updated><category term='ranting'/><category term='Work'/><category term='Office Interop'/><category term='Development'/><category term='Posting Drunk'/><category term='Events'/><category term='General'/><category term='Fatherhood'/><category term='Sql'/><category term='External Content'/><category term='Working From Home'/><title type='text'>Out Of Office</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-5309057507681999047</id><published>2009-06-17T11:51:00.000-07:00</published><updated>2009-06-17T12:02:02.071-07:00</updated><title type='text'>Focus</title><content type='html'>Another Lucius Seneca quote:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;No one persuit can be successfully followed by a man who is preoccupied with many things&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What are the things that you are preoccupied with? How many things do you have on the todo list in your head? How many of them have you gotten done lately? If you're like me then you have a big list floating around your head where things drop on and off of the mental checklist and you never really get to most of the things on there. &lt;span style="font-style:italic; font-weight:bold;"&gt;Write it down!&lt;/span&gt; Use a text document on your computer, send yourself an email, start a google document, or even good ol' pen and paper. Just get it out of your head so you can focus on things one at a time without worrying that you're going to forget something.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-5309057507681999047?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/5309057507681999047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2009/06/focus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/5309057507681999047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/5309057507681999047'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2009/06/focus.html' title='Focus'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-3718594961311235285</id><published>2009-06-16T11:36:00.001-07:00</published><updated>2009-06-16T12:07:15.159-07:00</updated><title type='text'></title><content type='html'>Yesterday my boss forwarded a resume to myself and several of the people on my team. The candidate has a ton of experience doing projects similar to what we're doing and would likely be a good fit. Reading through the previous positions on his resume and then his education I realized that he's been working as a programmer as long as I've been alive (I'm 27). I find the thought that I might still be sending out resumes in 20 years is horribly depressing.&lt;br /&gt;&lt;br /&gt;I started reading through &lt;span style="font-style:italic;"&gt;On The Shortness Of Life&lt;/span&gt; an essay by &lt;a href="http://en.wikipedia.org/wiki/Seneca_the_Younger"&gt;Lucius Seneca&lt;/a&gt; last week here and there while waiting for things to build/install and when eating my lunch. Tim Ferris had a &lt;a href="http://www.fourhourworkweek.com/blog/2009/04/24/on-the-shortness-of-life-an-introduction-to-seneca/"&gt;blog post&lt;/a&gt; about it and that got me interested. Anyhow, It has me thinking a lot about my time and the fact that it's a limited commodity, the fact that I'm giving up much of the lives of my children for work, and priorities. Here are a few excerpts that I've found particularly insightful:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;So it is - the life we receive is not short, but we make it so, nor do we have any lack of it, but are wasteful of it . . . life is amply long for him who orders it properly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"The part of life we really live is small." For all the rest of existence is not life, but merely time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Are you not ashamed to reserve for yourself only the remnant of life, and to set apart for wisdom only that time which cannot be devoted to any business? How late it is to begin to live just when we must cease to live!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;your vices will swallow up any amount of time. The space you have ... escapes from you quickly; for you do not seize it ... but allow it to slip away as if it were something superfluous and that could be replaced.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-3718594961311235285?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/3718594961311235285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2009/06/yesterday-my-boss-forwarded-resume-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3718594961311235285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3718594961311235285'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2009/06/yesterday-my-boss-forwarded-resume-to.html' title=''/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-8975484400624269801</id><published>2009-06-16T11:23:00.000-07:00</published><updated>2009-06-16T11:34:09.709-07:00</updated><title type='text'>Been a while</title><content type='html'>It's been a while since I wrote anything and for that I apologize. A couple months ago I tool a job for a company called Advaiya in Bellvue WA. The commute is a little painful but that stability is rather nice. We'd gotten to the point where I needed to either get other clients or get a real job. Health insurance was killing us and we were pretty tight on funds in general. In hindsight I should have taken care of health insurance and switching out to an HSA but never did.&lt;br /&gt;&lt;br /&gt;So, I'm back in the office again. I'm not sure what the future of this blog is and I never posted much or developed any significant level of readership to the best of my knowledge (if you're reading this now don't think that statement means I don't care about you :) ). I might keep writing in it as starting a real job again makes me remember how much I dislike the 9 to 5 thing. The sort of rhythm you get into where you have to fill up 8 hours before you can go home is strange. Can't I get the same amount or even more done faster? If I do the same/more work faster/smarter should I be done and head home? These are things that I'm pondering.&lt;br /&gt;&lt;br /&gt;If you have any ideas for the future of this blog please comment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-8975484400624269801?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/8975484400624269801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2009/06/been-while.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8975484400624269801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8975484400624269801'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2009/06/been-while.html' title='Been a while'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-2250084171297717759</id><published>2009-01-28T12:40:00.000-08:00</published><updated>2009-01-28T13:10:15.922-08:00</updated><title type='text'>IIS7 and url escaping</title><content type='html'>First off, sorry I'm such a slacker. Posting to this blog hasn't been one of my top priorities. I have a lot of draft posts that I've started or dropped a few thoughts into and never returned to. I'll work on getting through those. Enough of that.&lt;br /&gt;&lt;br /&gt;I've been working on a community that's hosted on Community Server off and on for a while now. Recently my primary client upgraded the test environment server over to a new box with a new version of the OS, SQL Server, and IIS. This has caused some problems with some problems here and there but most of those were taken care of easily. One weird one was that the tagging system in Community Server wasn't working quite right anymore. Single token tags such as "foo" would work as expected however multi token tags "foo bar" were no longer working and I was getting a page not found error. After a lot of digging around I discovered the issue:&lt;br /&gt;&lt;br /&gt;IIS6 treats "+" and "%20" in a url the same however IIS7 does not. Community Server uses "+" to indicate spaces in their tag url&lt;blockquote&gt;&lt;/blockquote&gt;s. So for a single token tag you have something like:&lt;br /&gt;&lt;br /&gt;[url]/tags/foo/default.aspx&lt;br /&gt;&lt;br /&gt;and for a multiple you have:&lt;br /&gt;&lt;br /&gt;[url]/tags/foo+bar/default.aspx&lt;br /&gt;&lt;br /&gt;At the suggestion of a developer I know I tried replacing the "+" w/ "%20" and low and behold it worked fine. The solution to this issue is to allow double url escaping by adding the following to your web config inside of the System.WebServer element:&lt;br /&gt;&lt;br /&gt;&lt;security&gt;&amp;lt;security&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;requestFiltering allowDoubleEscaping=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;&amp;lt;/security&amp;gt;&lt;br /&gt; &lt;requestfiltering allowdoubleescaping="true"&gt;&lt;br /&gt;&lt;/requestfiltering&gt;&lt;/security&gt;&lt;br /&gt;&lt;br /&gt;Blog Post on Breaking Changes on IIS7:&lt;br /&gt;&lt;a href="http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/"&gt;http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Community Server documentation on this issue here:&lt;br /&gt;&lt;a href="http://docswiki.communityserver.com/wikis/cs20085docs/configuring-iis7-for-community-server.aspx"&gt;http://docswiki.communityserver.com/wikis/cs20085docs/configuring-iis7-for-community-server.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-2250084171297717759?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/2250084171297717759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2009/01/iis7-and-url-escaping.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/2250084171297717759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/2250084171297717759'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2009/01/iis7-and-url-escaping.html' title='IIS7 and url escaping'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-7735520148275957631</id><published>2008-04-11T17:15:00.000-07:00</published><updated>2008-04-11T17:20:41.913-07:00</updated><title type='text'>Javascript onUnload and postback</title><content type='html'>So I just ran into an interesting scenario. I have a custom control where I need an event to fire before postback but I don't want to have to add an OnClientClick event in every page that uses the control. In fiddling with the javascript onunload event I found that oddly enough the unload event fires &lt;i&gt;after postback&lt;/i&gt; to my aspx page. The solution? Use onbeforeunload instead:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;window.onbeforeunload = unload;&lt;br /&gt;&lt;br /&gt;function unload() {&lt;br /&gt;  alert("unload");&lt;br /&gt;  }&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-7735520148275957631?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/7735520148275957631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2008/04/javascript-onunload-and-postback.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/7735520148275957631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/7735520148275957631'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2008/04/javascript-onunload-and-postback.html' title='Javascript onUnload and postback'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-1035612194683106361</id><published>2008-04-02T11:21:00.001-07:00</published><updated>2008-04-02T11:32:29.424-07:00</updated><title type='text'>Asp Uploader Control Weirdness</title><content type='html'>It's been a while since my last post and I apologize for that, I need to post more often because I tend to run across interesting things to post about. I'm just lazy.&lt;br /&gt;&lt;br /&gt;I ran into an issue the other day when working on a SharePoint site that had me confused for a while. For some reason when you access the Uploader.PostedFile.InputStream property twice (even when setting the Position in the file to zero manually upon setting up a new reference to it and wrapping things in a using statement) the second time you read it you’ll get an empty file. Which is fucked up. &lt;br /&gt;&lt;br /&gt;Anyhow, I fixed that by accessing the Uploader.PostedFile.InputStream property in one of the instances where I wanted to access the file but didn't actually need an input stream. I haven’t really been able to make sense out of why it works this way but not the other but whatever. Life goes on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-1035612194683106361?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/1035612194683106361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2008/04/asp-uploader-control-weirdness.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/1035612194683106361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/1035612194683106361'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2008/04/asp-uploader-control-weirdness.html' title='Asp Uploader Control Weirdness'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-5875548760506466704</id><published>2008-01-11T20:26:00.000-08:00</published><updated>2008-01-11T20:38:54.421-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='ranting'/><title type='text'>GDI and Ampersand Rendering</title><content type='html'>Yesterday I spent a while tracking down a bug in a library that I wrote a while back. One of the things that the library is used for is drawing text in fonts that aren't web safe to be used as headings and whatnot. So if I want the phrase "Out Of Office" drawn in whatever font I just created (this isn't actually a real use case) I can just upload the ttf file to my fonts directory on the server and use the control to generate an image dynamically that will fit the space. The tool even provides caching so after a string with a given set of params has been requested &lt;i&gt;N&lt;/i&gt; times it caches it and will load the image from the cache upon future requests. But enough about that.&lt;br /&gt;&lt;br /&gt;The bug I tracked down yesterday was related to the ampersand character and the fact that for some reason when the string I wanted to draw contained the ampersand character then no text was being drawn. I wouldn't get any exceptions or anything I just wouldn't get any text. The result image was just the background color I'd requested the size that the text would require if it was in the image. Without the ampersand char it worked as expected.&lt;br /&gt;&lt;br /&gt;In GDI when you go to draw a string via &lt;a href="http://msdn2.microsoft.com/en-us/library/system.drawing.graphics.drawstring(VS.71).aspx"&gt;Graphics.DrawString&lt;/a&gt; you can optionally display hot keys (meaning underlining a specific key to specify that it's a shortcut visually). When I'm drawing a string I'm passing in a &lt;a href="http://msdn2.microsoft.com/en-us/library/system.drawing.stringformat.aspx"&gt;StringFormat&lt;/a&gt; object which contains some formatting information (horizontal alignment and such). One of the properties of StringFormat is HotkeyPrefix which is used to set the &lt;a href="http://msdn2.microsoft.com/en-us/library/system.drawing.text.hotkeyprefix(VS.71).aspx"&gt;Hotkey &lt;/a&gt; functionality for the string (Hide, Show, or None). Now you might think that simply setting it to None (which is the default btw) would result in no Hotkey formatting being considered when rendering the string. But you'd be wrong.&lt;br /&gt;&lt;br /&gt;After a great deal of trial and error I got the ampersand to render when I &lt;b&gt;replaced each ampersand with 2 ampersands (an escape of sorts) and then set HotkeyPrefix to Hide&lt;/b&gt;. Why this worked I'm not sure and it's kind of counterintuitive but whatever. That's how I fixed it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-5875548760506466704?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/5875548760506466704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2008/01/gdi-and-ampersand-rendering.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/5875548760506466704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/5875548760506466704'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2008/01/gdi-and-ampersand-rendering.html' title='GDI and Ampersand Rendering'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-9151409904051115361</id><published>2007-12-17T01:42:00.000-08:00</published><updated>2007-12-17T01:45:56.643-08:00</updated><title type='text'>Seattle Startup Weekend</title><content type='html'>The next Startup Weekend has been announced and it's in &lt;a href="http://startupweekend.com/seattle-startup-weekend/"&gt;Seattle&lt;/a&gt;. I've been somewhat involved in helping to get things going and am really excited to see how it turns out. The event will be Jan 25-27th. More details to follow.&lt;br /&gt;&lt;br /&gt;You can register for the event or read up on what startup weekend is at the &lt;a href="http://startupweekend.com/seattle-startup-weekend/"&gt;Seattle Weekend Announcement&lt;/a&gt;. It will likely fill up quickly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-9151409904051115361?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/9151409904051115361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/seattle-startup-weekend.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/9151409904051115361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/9151409904051115361'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/seattle-startup-weekend.html' title='Seattle Startup Weekend'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-2574503758550602408</id><published>2007-12-15T17:11:00.000-08:00</published><updated>2007-12-15T17:31:48.543-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ranting'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'></title><content type='html'>You know the fun Restart Now/Restart Later Windows pop-up that shows up when you have updates that you need to install? The one where if you click later it will just pop up again in a few minutes? I'm term serv'ed into a server that I don't have administrator rights on and it popped up. Only since I don't have shutdown/restart rights the restart button is grayed out. Since I have no choice in the matter why does the freakin thing even show up?&lt;br /&gt;&lt;br /&gt;So I just drag the little window off to the edge of the screen where it will sit quietly and not bother anyone anymore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-2574503758550602408?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/2574503758550602408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/you-know-fun-restart-nowrestart-later.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/2574503758550602408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/2574503758550602408'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/you-know-fun-restart-nowrestart-later.html' title=''/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-7488336849280248953</id><published>2007-12-13T23:59:00.000-08:00</published><updated>2007-12-14T00:42:34.627-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Creating Something Beautiful</title><content type='html'>I was catching up &lt;a href="http://joelonsoftware.com/"&gt;Joel Spolsky's blog&lt;/a&gt; earlier and he had a series of posts containing the transcription of a talk he gave at Yale (&lt;a href="http://joelonsoftware.com/items/2007/12/03.html"&gt;part 1&lt;/a&gt;, &lt;a href="http://joelonsoftware.com/items/2007/12/04.html"&gt;part 2&lt;/a&gt;, and &lt;a href="http://joelonsoftware.com/items/2007/12/05.html"&gt;part 3&lt;/a&gt;). The posts are long but I thought they were worth reading. In particular there were two things he touched on that I thought were interesting.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Testing&lt;/b&gt;&lt;br /&gt;In &lt;a href="http://joelonsoftware.com/items/2007/12/03.html"&gt;part 1&lt;/a&gt; he talks about testing and the fact that there's no realistic way you could have automated tests cover everything. He argues that at the very core the only thing you can do is check to ensure that one program behaves like another or according to a set of tests. Those tests however can't possibly cover everything that needs testing.&lt;br /&gt;&lt;br /&gt;He gives an example of the move at Microsoft to more of an automated test process and the rumored laying off of testers who don't know how to code to bring in SDETs who can program those automated tests. He points out that those tests can't test a number of things that require someone actually look at the product such as whether thing were laid out in an orderly and logical fashion and whether the product has a feeling of continuity. &lt;br /&gt;&lt;br /&gt;You can test a lot of things through automated testing but there's always going to be a need for someone with a sharp eye to go through and make sure everything is ship shape.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;In-House Programming&lt;/b&gt;&lt;br /&gt;In &lt;a href="http://joelonsoftware.com/items/2007/12/04.html"&gt;part 2&lt;/a&gt; he writes about why an in-house programmer sucks. He gave three reasons and they are all very good but the one that really struck me was the second:&lt;br /&gt;&lt;br /&gt;"So, the number two reason product work is better than in-house work is that you get to make beautiful things."&lt;br /&gt;&lt;br /&gt;Numbers 1 and 3 are that you never get to do things the right way and that at a software company your business is software so there's more incentive for the company to treat developers like rock stars (and who doesn't want to be treated like a rock star now and again). &lt;br /&gt;&lt;br /&gt;Number 2 stood out to me because it struck a chord somewhere and reminded me why I started getting interested in programming. I wanted to create something cool and useful and beautiful. &lt;br /&gt;&lt;br /&gt;I played guitar for a long time and I didn't do it to pick up chicks (though I may have used it in that way a time or two), I did it because I wanted to create something. I wanted to write something that would touch someone or cause someone to open up their eyes to a new perspective or challenge an existing perspective. I wanted to create something beautiful. I used to sit and play for hours, now I only play around on the guitar here and there when my son (who is 18 months old on Saturday) points to it and either wants to watch me play and dance a bit here and there or wants to sit in the case after I've pulled the guitar out.&lt;br /&gt;&lt;br /&gt;Currently I'm working on various small (on a scale of all development undertakings) projects. Some of them are pretty cool (like the one I'm working on now that I'll post about once it launches) and some of them aren't as cool (like forms). Though I can still work towards creating flexible and elegant solutions. In the grand scheme of things they may not be groundbreaking or hugely significant but they're still opportunities for elegance.&lt;br /&gt;&lt;br /&gt;Someday I'd like to create something beautiful and significant. And I will.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-7488336849280248953?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/7488336849280248953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/creating-something-beautiful.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/7488336849280248953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/7488336849280248953'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/creating-something-beautiful.html' title='Creating Something Beautiful'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-4314482862203140282</id><published>2007-12-13T23:32:00.000-08:00</published><updated>2007-12-14T00:42:48.603-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Sql'/><title type='text'></title><content type='html'>I'm still so SO super busy. That said there's some sql stuff I wanted to post.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Copying One Table To Another&lt;/b&gt;&lt;br /&gt;Want to copy all the data including the structure (with the exceptions of the constraints) to a new database?&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Insert Into &lt;i&gt;NewDatabaseName&lt;/i&gt;&lt;br /&gt;Select * From &lt;i&gt;OldDatabaseName&lt;/i&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Want to just copy the structure without the rows?&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Insert Into &lt;i&gt;NewDatabaseName&lt;/i&gt;&lt;br /&gt;Select * From &lt;i&gt;OldDatabaseName&lt;/i&gt;&lt;br /&gt;Where 1 = 2&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;What could be easier.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Unions&lt;/b&gt;&lt;br /&gt;Unions are pretty cool. That said if you're using &lt;i&gt;text, ntext, or image&lt;/i&gt; types you need to use a &lt;i&gt;Union All&lt;/i&gt;. If you don't you'll get an ugly error like this:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Server: Msg 8163, Level 16, State 4, Line 1&lt;br /&gt;The text, ntext, or image data type cannot be selected as DISTINCT.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;b&gt;Stored Procedure Output Parameters&lt;/b&gt;&lt;br /&gt;If you're running a stored procedure that returns a data set you'll need to call &lt;a href="http://msdn2.microsoft.com/en-us/library/9kcbe65k.aspx"&gt;SqlCommand.ExecuteReader()&lt;/a&gt;. If you also have an output parameter specified in the procedure you might be tempted to do something like this:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sqlDataReader = command.ExecuteReader();&lt;br /&gt;&lt;br /&gt;string outputParam = command.Parameters["foo"].Value;&lt;br /&gt;&lt;br /&gt;while (reader.Read()) {&lt;br /&gt;  //read your rows&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;reader.Close();&lt;br /&gt;command.Connection.Close();&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;The above code will compile fine but you'll get strange exceptions on the line where you're reading out the param value. If you investigate you'll find that even though &lt;i&gt;command.Parameters["foo"]&lt;/i&gt; isn't null &lt;i&gt;command.Parameters["foo"].Value&lt;/i&gt; is. That's because when you're using a sql reader you need to close the reader before you can read the output param(s):&lt;br /&gt;&lt;code&gt;&lt;br /&gt;sqlDataReader = command.ExecuteReader();&lt;br /&gt;&lt;br /&gt;while (reader.Read()) {&lt;br /&gt;  //read your rows&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;reader.Close();&lt;br /&gt;string outputParam = command.Parameters["foo"].Value;&lt;br /&gt;command.Connection.Close();&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Now you know. And knowing is half the battle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-4314482862203140282?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/4314482862203140282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/im-still-so-so-super-busy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/4314482862203140282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/4314482862203140282'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/12/im-still-so-so-super-busy.html' title=''/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-8176745620843292822</id><published>2007-11-16T13:36:00.000-08:00</published><updated>2007-11-16T13:52:26.177-08:00</updated><title type='text'></title><content type='html'>I've been crazy busy lately. I'm still crazy busy but I've decided to make a post here. I'm going to start posting little snippets of code that I've found useful or problems that I've resolved that I want to keep the solution to around.&lt;br /&gt;&lt;br /&gt;Log story short I needed a TreeView to postback when the checkbox associated with an element changed. This search led me to &lt;a href="http://forums.asp.net/p/643832/1160084.aspx"&gt;This Post&lt;/a&gt;. The solution proposed there works great however there's one issue that took me a long time to hunt down. The last post on the page lists some script to spit out after you've created your object:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;script type=\&amp;quot;text/javascript\&amp;quot;&amp;gt;&lt;br /&gt;  if (document.all) {    &lt;br /&gt;    document.getElementById(YOURIDHERE).onclick = foo;    &lt;br /&gt;    }&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This code works great in IE but doesn't in Firefox. It took me a long time to figure out why but it's due to the document.all like. Firefox doesn't support document.all. If you see that somewhere and like supporting firefox users then don't use it. That's all for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-8176745620843292822?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/8176745620843292822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/11/ive-been-crazy-busy-lately.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8176745620843292822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8176745620843292822'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/11/ive-been-crazy-busy-lately.html' title=''/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-8024651962313151248</id><published>2007-10-22T23:26:00.000-07:00</published><updated>2007-10-23T00:12:08.345-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><title type='text'>On Prefix and Postfix Increment Operators</title><content type='html'>For those familiar with increment operators and their prefix and postfix usage skip down to just below the pseudo-code.&lt;br /&gt;&lt;br /&gt;When you have a number and you want to increment it while stepping through a collection or something you can use the increment operator (&lt;i&gt;"++"&lt;/i&gt;). That will add one to whatever number you pair with the operator. When using increment operators there are prefix and postfix forms. The prefix form is when you put the operator before the variable containing the number and the postfix is afterwards (&lt;i&gt;++i&lt;/i&gt; vs. &lt;i&gt;i++&lt;/i&gt;). Functionally these the placement results in very different functionality, if you use the prefix form then the number is incremented before it is evaluated whereas if you use postfix then it is evaluated after it's value is used. In other words (this is really simplified pseudo-code):&lt;br /&gt;&lt;code&gt;&lt;br /&gt;variable n = 0;&lt;br /&gt;print n;&lt;br /&gt;print n;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Will print the number 00.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;variable n = 0;&lt;br /&gt;print ++n;&lt;br /&gt;print n;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Will print 11.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;variable n = 0;&lt;br /&gt;print n++;&lt;br /&gt;print n;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Will print 01. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Awesome, let's continue&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The issue I have with this is that I can only use one at a time. I just came across a scenario where I actually got kind of excited about a line of code I had just written (which doesn't happen very often). The scenario was that I had a string containing tokens I needed however each token I needed was surrounded on both sides by tokens that I don't need. So I had something like:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;;junk;ValueICareAbout;junk;junk;ValueICareAbout;junk;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This led me to writing the following lines of code:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;for (int i = 0; i &lt; tokens.Length; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;string token = tokens[++i++];&lt;br /&gt;&amp;nbsp;&amp;nbsp;Trace("Found Token: " + token);&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Sadly the compiler informed me that what I had done is totally not allowed. Which made me sad. Because &lt;i&gt;++i++&lt;/i&gt; looks awesome. And yes, I do realize that I'm a huge dork.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-8024651962313151248?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/8024651962313151248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/10/on-prefix-and-postfix-increment.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8024651962313151248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8024651962313151248'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/10/on-prefix-and-postfix-increment.html' title='On Prefix and Postfix Increment Operators'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-6640786808888584724</id><published>2007-10-16T11:42:00.000-07:00</published><updated>2007-10-16T12:08:55.018-07:00</updated><title type='text'>Freelance Finances</title><content type='html'>While I'm waiting for a 175mb SDK to download I thought I'd update since it's been a while.&lt;br /&gt;&lt;br /&gt;Last month I brought in &lt;i&gt;about a third&lt;/i&gt; of what I was bringing in at my former &lt;i&gt;real&lt;/i&gt; job. This month is looking like it'll be a little more but it might not be by much. While I can have a month or two like this I don't know that I can have 3 months in a row like this. Savings can certainly help support us but that's not their intended usage. There are several things that I think I've learned or that have been reinforced by the current lack of extra funding:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Save In Times Of Plenty&lt;/b&gt;&lt;br /&gt;I'm really good at spending money. &lt;i&gt;REALLY&lt;/i&gt; good at it. It's really easy to look at your bank account balance and justify some purchase or another since you have the money when in reality you're not going to get a whole lot of use out of something. Having money saved away will help get through the sparse times.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lower Your Standards&lt;/b&gt;&lt;br /&gt;One thing I struggle with is pride. Especially when it comes to &lt;i&gt;the things I have&lt;/i&gt;. This is especially true of the car that I drive. We have a Mini Cooper that we recently paid off. It's nice having it paid off (and certainly helps for months when I'm not bringing in a whole lot) but we're still paying more on insurance and it's expensive to maintain since it's more or less a BMW. My car has been a source of pride since I finished college and got a shiny new Subaru WRX.&lt;br /&gt;&lt;br /&gt;All that said &lt;i&gt;I don't need it&lt;/i&gt;. I don't need to spend money on every shiny object that catches my eye.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Re-Evaluate Your Priorities&lt;/b&gt;&lt;br /&gt;This whole freelancing thing didn't start out as a way to make huge amounts of money. It would be nice if it started making me huge amounts of money but that's not one of the primary goals. I need to try to remember the other &lt;i&gt;benefits of freelancing&lt;/i&gt; and weigh those into decisions that I make about my employment. What're the other benefits? I have so SO much &lt;i&gt;more freedom&lt;/i&gt; with my time. I'm &lt;i&gt;learning a whole lot in a variety of technologies&lt;/i&gt;. &lt;i&gt;I'm my boss&lt;/i&gt;, if I'm working on projects that I don't like or don't like working with a specific client I don't have to. &lt;i&gt;Overall I'm more in control of my time and how I spend it.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My download is done, back to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-6640786808888584724?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/6640786808888584724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/10/freelance-finances.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/6640786808888584724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/6640786808888584724'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/10/freelance-finances.html' title='Freelance Finances'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-4013244321551257674</id><published>2007-09-27T13:29:00.000-07:00</published><updated>2007-09-27T18:09:06.382-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fatherhood'/><category scheme='http://www.blogger.com/atom/ns#' term='External Content'/><title type='text'>Family-Work-Life Balance</title><content type='html'>The Family &amp; Parenting Reporter for the Seattle Post Intelligencer Paul Nyhan made an interesting post last night about Work-Family Balance: &lt;a href="http://blog.seattlepi.nwsource.com/family/archives/121866.asp"&gt;Work-Family Balance is a Joke: Embrace the Chaos&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The post talks briefly about efforts towards new &lt;a href="http://seattlepi.nwsource.com/local/333286_familyleave27.html"&gt;family leave law in Washington&lt;/a&gt; and then moves on to an evaluation over whether a happy Work-Family Balance is actually realistic and attainable. He concludes that it isn't and that working parents need to roll with the punches. &lt;br /&gt;&lt;br /&gt;I'm not sure how I feel about the phrase "Work-Family balance." Typically when I hear the term Work-&lt;i&gt;Something&lt;/i&gt; Balance it's "Work-&lt;i&gt;Life&lt;/i&gt; Balance" that's being talked about. I've never heard anyone without kids refer to their "Work-&lt;i&gt;Family&lt;/i&gt; Balance." Perhaps it's only once we have kids that family actually factors into the equation. &lt;br /&gt;&lt;br /&gt;I think that the phrase for everyone should be Family-Work-Life balance. Family comes first, then work (gotta pay the bills), and then you can squeeze in some time for yourself after you taken care of your family and your work is in order. Not that this is the arrangement of my priorities all the time but it's something to shoot for. Actually, the thing to shoot for is Family-Life-Work but that's really hard to do. Focus on your family and living your life and let work be an afterthough. Work to live vs. the other way around and all that.&lt;br /&gt;&lt;br /&gt;Finding time for yourself is definitely a challenge even as a single person with a full time job let alone as a parent. Pamela Slim (who maintains the &lt;a href="http://www.escapefromcubiclenation.com/get_a_life_blog/"&gt;Escape From Cubicle Nation blog&lt;/a&gt;) posted yesterday morning about &lt;a href="http://www.escapefromcubiclenation.com/get_a_life_blog/2007/09/8-strategies-to.html"&gt;8 Strategies to get the most from painful or awkward life transitions&lt;/a&gt;. A lot of the strategies she posted definitely apply to parenting and the attempt to maintain some sort of balance. In an effort to not copy the meat and potatoes of her post into mine I'll say you should go check out &lt;a href="http://www.escapefromcubiclenation.com/get_a_life_blog/2007/09/8-strategies-to.html"&gt;her post&lt;/a&gt;. I'll end this with a quote from that post that I really liked:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The interesting thing is that no matter what the ultimate benefit of a change, going from "what was" to "what will be" can be very unsettling.&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-4013244321551257674?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/4013244321551257674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/family-work-life-balance.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/4013244321551257674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/4013244321551257674'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/family-work-life-balance.html' title='Family-Work-Life Balance'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-8065552568321140396</id><published>2007-09-22T12:46:00.000-07:00</published><updated>2007-09-27T13:18:14.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='ranting'/><category scheme='http://www.blogger.com/atom/ns#' term='Office Interop'/><title type='text'>The Excel Interop</title><content type='html'>I just finished up a project working on a win32 client application that is used to import data from an Excel spreadsheet into a database via a secure web service. Working with the interop was interesting and it was nice to get exposed to something new. I'll post more about web services later (as well as returning custom data types via web service methods, serializable Dictionary objects, and converting rtf to html) but I wanted to rant about the Excel Interop a bit.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Indexing&lt;/b&gt;&lt;br /&gt;When I started working with the interop I went in and created an instance of Excel:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Microsoft.Office.Interop.Excel.Application excelObj = new Microsoft.Office.Interop.Excel.Application();&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This is all well and good. After that I set visible to false and went about starting to access some of the bits and pieces in my xls file. Oh, and because we're using C# and because &lt;a href="http://msdn2.microsoft.com/en-us/library/microsoft.office.interop.excel.workbooks_methods(VS.80).aspx"&gt;Open isn't overloaded&lt;/a&gt;:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Microsoft.Office.Interop.Excel.Workbook workbook = excelObj.Workbooks.Open(&lt;br /&gt;        filename,&lt;br /&gt;        Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,&lt;br /&gt;        Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, &lt;br /&gt;        Missing.Value, Missing.Value, Missing.Value, Missing.Value&lt;br /&gt;        );&lt;br /&gt;&lt;br /&gt;Microsoft.Office.Interop.Excel.Sheets sheets = workbook.Worksheets;&lt;br /&gt;Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)sheets.get_Item(0);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Now, if you run this code you'll get an exception citing an invalid index:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;System.Runtime.InteropServices.COMException (0x8002000B): Invalid index&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;If you're like me you'll immediately try starting your index off at 1 because I suppose it makes sense to start off your worksheets at 1. As much as this seems like VB and as much as I don't like VB I think I can live with it. So you change the sheet number to one and go on your merry way.&lt;br /&gt;&lt;br /&gt;Then you try to access some data in your first worksheet:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;string str = (string)((Microsoft.Office.Interop.Excel.Range)worksheet.Cells[0, 0]).Value2;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Running this code gives you an exception and you want to assume it's because you started your indices off at 0 but it doesn't quite make sense because it gave you a different exception:&lt;br /&gt;&lt;code&gt;System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Hopefully at this point you immediately try &lt;code&gt;Cells[1, 1]&lt;/code&gt; and don't spend some time trying to figure out what you did to go from a meaningful exception that made sense to a generic COM Exception. If you try 1,1 you'll find that it works and all will be right in the world.&lt;br /&gt;&lt;br /&gt;What bothers me about this isn't the fact that I have to start the index off at 1 rather than 0. What bothers me is that when I tried to open a worksheet with an out of bounds index I got an exception telling me that it was an index issue. When I tried cells that were out of bounds I got a generic exception. The worksheet exception was actually helpful and immediately let me know what the problem was whereas the cell exception wasn't even though it was pretty much the same exact issue.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Killing Your Instance&lt;/b&gt;:&lt;br /&gt;I'm not even going to into detail on this as it's been beaten to death already. Killing off an instance of Excel is a pain though I don't think that's really the fault of the interop. You have COM to thank for that one. Essentially you have to make sure that for each Excel COM object you create you're calling &lt;i&gt;ReleaseComObject&lt;/i&gt;:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Marshal.ReleaseComObject(excelObj);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;And then calling the Garbage Collector:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;GC.GetTotalMemory(false);&lt;br /&gt;GC.Collect();&lt;br /&gt;GC.WaitForPendingFinalizers();&lt;br /&gt;GC.Collect();&lt;br /&gt;GC.GetTotalMemory(true);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I'm not really one to talk in this instance though since my client app still has a bug where when multiple instances of the Excel application are created once I close them out all of the processes go away except for the first one I created. It's really bizarre. See the references section for some links.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hyperlinks&lt;/b&gt;&lt;br /&gt;This isn't so much a beef with the Excel Interop as it is with Excel in general. In Excel you can't have a link within a cell. You can have the entire cell be a link to some location but you can't have the text &lt;i&gt;"click HERE for pictures of my cat"&lt;/i&gt; and have only the text &lt;i&gt;"HERE"&lt;/i&gt; act as a hyperlink. This ended up saving me some time on the rtf to html conversion but is kind of lame in my opinion.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;Here are some of the pages that I found the most helpful when working through this:&lt;br /&gt; - &lt;a href="http://msdn2.microsoft.com/en-us/library/syyd7czh(VS.80).aspx"&gt;MSDN: Excel Tasks&lt;/a&gt;&lt;br /&gt; - &lt;a href="http://www.craigmurphy.com/blog/?p=82"&gt;Craig Murphy: Excel Interop - killing Excel.exe&lt;/a&gt;&lt;br /&gt; - &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;317109"&gt;MS Help and Support: Office application does not quit after automation from Visual Studio .NET client&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.excel.programming&amp;lang=en&amp;cr=US"&gt;Excel Solutions Forum&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-8065552568321140396?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/8065552568321140396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/excel-interop.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8065552568321140396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8065552568321140396'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/excel-interop.html' title='The Excel Interop'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-3334455987115108788</id><published>2007-09-18T23:35:00.001-07:00</published><updated>2007-09-27T13:24:33.312-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Catching Up</title><content type='html'>I've found myself wanting to post fairly often lately. Typically it's about some technical aspect that's either irritating me or making me really happy. It's not very often that I'm working with something and I sit back and reflect on how much I love &lt;i&gt;n&lt;/i&gt; technology because &lt;i&gt;n&lt;/i&gt; technology makes my life easier or is just plain cool. I've gone through and made draft posts containing nothing more than a title and a brief description for some of them and at some point I may come back to them.&lt;br /&gt;&lt;br /&gt;I need software that automatically extracts a topic along with my feelings towards and knowledge of that topic from my mind with minimal effort on my part. It would then take the randomness floating around in my head and structure it in a rational way, write up a few paragraphs, and post it to my blog. That way when I say to myself "wow, this is really cool" or "holy hell this is such a pain to work with" I can just hit a button and a post automagically appears on this blog (or whichever blog I choose).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-3334455987115108788?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/3334455987115108788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/catching-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3334455987115108788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3334455987115108788'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/catching-up.html' title='Catching Up'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-134703379585149815</id><published>2007-09-18T23:19:00.000-07:00</published><updated>2007-09-27T13:20:17.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='External Content'/><title type='text'>Joel Spolsky</title><content type='html'>I know some people don't like Joel Spolsky and I know some people do. I'm in the latter camp and I don't care what other people think. Sure some of the things he writes and posts about aren't of a whole lot of interest to me. But then he'll post things like &lt;a href="http://www.joelonsoftware.com/items/2007/09/18.html"&gt;this&lt;/a&gt; and it makes up for all the posts of his that I only skim or skip over.&lt;br /&gt;&lt;br /&gt;If you have time go read his most recent post (as of my posting this) here:&lt;br /&gt;&lt;a href="http://www.joelonsoftware.com/items/2007/09/18.html"&gt;Strategy Letter VI&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This article was particularly largely for the history of computing and software aspect. Being rather young in the grand scheme of things I don’t have the amount of experience and perspective that he has. Given that fact I appreciate hearing about things like the rise and fall of Lotus 1-2-3 and the changes in the business of writing software as a result of the progression of hardware. It’s even more interesting when patterns can be identified.&lt;br /&gt;&lt;br /&gt;I'm not sure what happened to Strategy Letters 1 - 5 but I'm sure they were at the very least somewhat interesting. I may have to go dig those up at some point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-134703379585149815?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/134703379585149815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/joel-spolsky.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/134703379585149815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/134703379585149815'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/joel-spolsky.html' title='Joel Spolsky'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-1689701349016491151</id><published>2007-09-11T10:46:00.000-07:00</published><updated>2007-09-27T13:25:59.395-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Restructuring</title><content type='html'>I've decided to change things up a little bit. From now on I will be trying to post a lot more often and on a larger variety of topics. I can only post about the struggles and triumphs of working from home so much. This doesn't mean I'll be posting pictures of my cat (I don't own a cat but I could always post photos of the neighbor's cat) or what I had for dinner tonight. From this point forward there will be more variety which will likely include little technical snippets, some details regarding what I'm working on, and my take on living with a kidlet.&lt;br /&gt;&lt;br /&gt;Oh, and we're expecting kidlet #2. Good times.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-1689701349016491151?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/1689701349016491151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/restructuring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/1689701349016491151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/1689701349016491151'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/09/restructuring.html' title='Restructuring'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-2783630791500774341</id><published>2007-08-21T04:37:00.000-07:00</published><updated>2007-09-27T13:27:57.298-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Posting Drunk'/><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><title type='text'>Title Goes Here</title><content type='html'>I've been neglecting this thing lately. Almost two weeks since my last post.&lt;br /&gt;&lt;br /&gt;I've fallen behind a bit as of late and as such am juggling multiple projects and running to catch up. This leads to me staying up late working after the family goes to bed (which I don't especially mind that much I just don't like worrying about not getting things done on time). Which then leads to me being rather exhausted most of the morning after our 14 month old gets us up (though huge thanks go out to my wife for letting me sleep in a little after the really late nights). I then become actually productive around 11am and the cycle continues.&lt;br /&gt;&lt;br /&gt;It's almost 5am and I tried to go to bed around 3 but wasn't quite able to shut off my brain. Around 3:30 I decided to get back on the computer and get some work done. A little while after that I decided that drinking brain function impairing beverages (beer) was a stellar idea and a sure-fire way to get to sleep sometime soon-ish. I'm on #3 and I predict that by the time I finish this one I'll be lubricated enough to head to bed and get some sleep.&lt;br /&gt;&lt;br /&gt;Casey's recipe for shutting your brain off when you're up way too late and can't sleep:&lt;br /&gt;1 - Get beer #1 from fridge&lt;br /&gt;2 - Continue to work.&lt;br /&gt;3 - Get beer #2.&lt;br /&gt;4 - Continue to work.&lt;br /&gt;5 - Beer #3.&lt;br /&gt;6 - Decide you're in no shape to work and post to your blog or go play &lt;a href="http://www.wickedpissahgames.com/games/gravitypods/GravityPods.html"&gt;what may very well be the most addictive and frustrating game ever&lt;/a&gt; or something.&lt;br /&gt;7 - finish beer #3 and head to bed leaving empty bottles on desk in case anyone comes over and wonders what you do all day.&lt;br /&gt;&lt;br /&gt;For best results the above steps should be completed inside of around 30 minutes.&lt;br /&gt;&lt;br /&gt;On that note, I'm rounding the corner on 3 at which point I'm going to head to bed and try to sleep.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-2783630791500774341?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/2783630791500774341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/title-goes-here.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/2783630791500774341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/2783630791500774341'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/title-goes-here.html' title='Title Goes Here'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-8284904305058163479</id><published>2007-08-08T22:15:00.000-07:00</published><updated>2007-09-27T13:22:16.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Working From Home'/><title type='text'>Work vs Home</title><content type='html'>One thing that's kind of hard about working from home is that you're never really at work and you're never really at home. I can go downstairs to my "office" but I'm still home. At the same time I can be hanging out with my family or watching a movie with them but work is only a flight of stairs away. I find myself getting distracted and feeling like I should really be working and visa versa.&lt;br /&gt;&lt;br /&gt;When I worked a &lt;i&gt;real&lt;/i&gt; job I tended to not work from home very often most of the time. There would be periods of time where I would have something I needed to work on from home but in general most of the time I spent working was in the office. While I still had trouble leaving the stresses of work behind when I was at home it was much easier to differentiate that time as &lt;i&gt;not work time&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;If I tried to keep set hours that might help somewhat but I'm not really a set hours sort of person. This morning I slept in and didn't get started until late morning (10 or 11-ish) and in the past I've tended to wake up before my family and head downstairs to work until they're up. Weekends are just times when I tend to work less but I still typically put some time in (sometimes a lot of time in). I don't even really keep a mental summary of how many hours I've been working anymore.&lt;br /&gt;&lt;br /&gt;In this case I have work I need to get done but it'd sure be nice to go sit and read stories with my wife and son (I can hear them reading &lt;a href="http://www.amazon.com/Goodnight-Moon-Board-Margaret-Brown/dp/0694003611/ref=pd_bbs_2/102-6475219-2602558?ie=UTF8&amp;s=books&amp;qid=1186636998&amp;sr=8-2"&gt;Goodnight Moon&lt;/a&gt;) and then head to bed. The work isn't going to do itself though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-8284904305058163479?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/8284904305058163479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/work-vs-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8284904305058163479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8284904305058163479'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/work-vs-home.html' title='Work vs Home'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-1597154384034963263</id><published>2007-08-07T16:55:00.000-07:00</published><updated>2007-09-27T13:25:41.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fatherhood'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Home Again</title><content type='html'>Oh man, I had a great weekend. The wedding I went to was quite a departure from the standard wedding one typically goes to and was much more of a weekend party with friends than anything else. It was a lot of fun but an exhausting weekend made worse by the exhausting trips down and back. Something about being in a car for an extended period of time, even if you aren't driving, is just plain tiring. I drove about 10 hours yesterday (SF to Washington) so that wasn't helping either. Today I feel like a bit of a zombie and am having a hell of a time actually getting any work done.&lt;br /&gt;&lt;br /&gt;It's continually surprising to me how much I miss my wife and son when I'm away from them for more than a day or so. This whole marriage and fatherhood (married last November '05 and our son was born June '06) thing is still kind of new to me and I'm often surprised when I realize something like this even if it's something that is expected or &lt;i&gt;the norm&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;When I got home last night around 11pm my wife and son were still up (apparently he was just starting to go to sleep while they watched a movie) which was really nice. When they heard me come in they came down and met me and our son did his little happy full body shake thing. It's good to be home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-1597154384034963263?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/1597154384034963263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/home-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/1597154384034963263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/1597154384034963263'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/home-again.html' title='Home Again'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-61271685126495727</id><published>2007-08-03T04:02:00.000-07:00</published><updated>2007-09-27T13:27:57.298-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><title type='text'>Crunch Time Update</title><content type='html'>Well, it's Friday morning and I'm waiting for my ride out of town to show up.&lt;br /&gt;I finished the largest project of the three however it took longer than I had anticipated. The project itself is a library for the creation of images in a variety of formats with really flexible text rendering capabilities as well as some helper functions and whatnot. I think the time was worth it though as the extra time I put into it  went a long way towards making it more usable and flexible. &lt;br /&gt;&lt;br /&gt;Because of that extra time the project took I haven't been able to focus on the other two as much as I'd wanted. I'm about halfway through the larger of the other projects and should be able to finish that Monday night or Tuesday. The good news is I managed to get the target date moved out to EOD Tuesday since both me and my "boss" are going to be on the same trip and he understands that we probably won't be back until afternoon/evening on Monday and even then won't be good for a whole lot. Though when I get home it’s definitely family time as I’m going on this trip without them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-61271685126495727?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/61271685126495727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/crunch-time-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/61271685126495727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/61271685126495727'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/08/crunch-time-update.html' title='Crunch Time Update'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-3962546795443357616</id><published>2007-07-29T01:05:00.000-07:00</published><updated>2007-09-27T13:27:57.298-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><title type='text'>Crunch Time</title><content type='html'>Last Wednesday I had three projects come in. The projects are all somewhat intertwined and all share a common target completion date (Aug 6th) and due date (Aug 10th). On top of that I'm going to be taking a road trip down to San Francisco for a friend's wedding from the 4th through the 6th. The 4th and the 6th are both pretty much write-off days since we'll be driving most of the day. That means I'm trying to have all three projects pretty much wrapped up and finalized by the time I leave Friday morning. &lt;br /&gt;&lt;br /&gt;I've made really good progress on the largest project and I don't anticipate having a problem completing at least two if not all three of them by the time I leave. That said I need to make sure I can stay motivated between now and then (unlike Friday when I got fairly little done; I blame the sunshine and the fact that it was Friday) and will be putting in some long hours. &lt;br /&gt;&lt;br /&gt;Fun times, I knew it wouldn't be easy but its worth it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-3962546795443357616?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/3962546795443357616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/crunch-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3962546795443357616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3962546795443357616'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/crunch-time.html' title='Crunch Time'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-8436981648307501467</id><published>2007-07-25T10:27:00.001-07:00</published><updated>2007-09-27T13:19:02.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><title type='text'>The Naked Truth: Followup</title><content type='html'>Last night's &lt;a href="http://thenakedtruth.wetpaint.com/"&gt;The Naked Truth&lt;/a&gt; event was fairly interesting. Most of the discussion consisted of discussion regarding the best way to get media attention for your startup. The panel consisted of:&lt;br /&gt; - &lt;a href="http://blog.seattlepi.nwsource.com/venture/"&gt;John Cook&lt;/a&gt;: &lt;a href="http://seattlepi.nwsource.com/"&gt;Seattle Post Intelligencer&lt;/a&gt;&lt;br /&gt; - &lt;a href="http://seattletimes.nwsource.com/news/business/links/bios.html#tduryee"&gt;Tricia Duryee&lt;/a&gt;: &lt;a href="http://seattletimes.nwsource.com/html/home/"&gt;Seattle Times&lt;/a&gt;&lt;br /&gt; - &lt;a href="http://www.techcrunch.com/about-michael-arrington/"&gt;Michael Arrington&lt;/a&gt;: &lt;a href="http://www.techcrunch.com/"&gt;TechCrunch&lt;/a&gt;&lt;br /&gt; - &lt;a href="http://www.fredvogelstein.com/"&gt;Fred Vogelstein&lt;/a&gt;: &lt;a href="http://www.wired.com/"&gt;Wired&lt;/a&gt;&lt;br /&gt; - Becky Buckman: &lt;a href="http://online.wsj.com/public/us"&gt;Wall Street Journal&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It was an interesting discussion though one whose content I don't have a reason to apply currently.&lt;br /&gt;&lt;br /&gt;After the discussion there was a get together which basically meant hundreds of local entrepreneurs and other geeks drinking free beer, eating free bbq, and talking about whatever it is that they're into. I hung out with &lt;a href="http://www.enteringstartup.com/"&gt;Hans Omli&lt;/a&gt;, met John Li from &lt;a href="http://www.menuism.com/"&gt;Menuism&lt;/a&gt;, Brian Dorsey from &lt;a href="http://www.noonhat.com/lunch/"&gt;Noonhat&lt;/a&gt; (&lt;a href="http://blog.noonhat.com/2007/06/29/five-minute-video-introducing-noonhat/"&gt;here's is a video&lt;/a&gt; of Brian introducing the site concept at &lt;a href="http://www.seattlebizjam.com/"&gt;SeattleBizJam&lt;/a&gt;), and some folks whose names and affiliations I can't remember.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-8436981648307501467?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/8436981648307501467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/naked-truth-followup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8436981648307501467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8436981648307501467'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/naked-truth-followup.html' title='The Naked Truth: Followup'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-289370597379424855</id><published>2007-07-24T11:54:00.000-07:00</published><updated>2007-09-27T13:22:16.799-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Working From Home'/><title type='text'>Boundaries</title><content type='html'>One aspect of working from home that has been an off-and-on issue is that of a lack of uninterrupted time. I have a much easier time focusing on work and getting things done when my wife and son are out running errands, have already gone to bed, or are upstairs where I can't really hear them. If they're up on the main level above me it's really distracting. Often I can hear that my wife is trying to get something done but our son is being a hand-full which makes me feel guilty for not going up and helping. That and our son knows I'm down here so he'll go stand at the top of the stairs and call me sometimes. While endearing it's really distracting and makes it hard to work.&lt;br /&gt;&lt;br /&gt;I'm not sure how other people have handled this but I will probably try to make a move to working more after they've gone to bed. Last night I worked late (3am) and was able to focus better and got a lot done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-289370597379424855?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/289370597379424855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/boundaries.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/289370597379424855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/289370597379424855'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/boundaries.html' title='Boundaries'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-6441719524063698511</id><published>2007-07-23T15:24:00.000-07:00</published><updated>2007-09-27T13:19:02.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><title type='text'>Ignite Seattle - Half Baked Dot Com</title><content type='html'>Recently it was &lt;a href="http://www.igniteseattle.com/2007/07/half-baked-dotcom-at-ignite-seattle/"&gt;announced&lt;/a&gt; that at the next &lt;a href="http://www.igniteseattle.com/"&gt;Ignite Seattle&lt;/a&gt; rather than doing a &lt;a href="http://www.makezine.com/"&gt;Make Contest&lt;/a&gt; as they've done in the past they are going to hold a Half Baked Dot Com event:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"Half-Baked Dot Com is a participatory exercise in entrepreneur improv conducted by five teams of startup addicts and judged by a crackpot panel of venture capitalists &amp; D-list bloggers (or whomever shows up first). Faster than foreplay with jenna jameson, more creative than a VP explaining a quail hunt, and nearly as much suspense as a scheduled train wreck, Half-Baked is the latest Web 2.0 craze sweeping the unconference circuit. Show up early and bring your A-game if you want to participate, otherwise bring your [video]camera to record the heinous crime to be perpetrated on an unsuspecting audience."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In the past I've shown up for the Ignite Seattle events shortly before the talks how for this one I think I'll definitely be showing up early and possibly trying to participate. Team selection starts around 6:30 and the team presentations around 7:30. The Ignite talks will start at 8:30 as usual. They've posted a list of the talks but may be adding more. Here's the current list:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.byshawnmurphy.com"&gt;Shawn Murphy&lt;/a&gt;           - &lt;strong&gt;       Hacking Chocolate   &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Anybody can create interesting and new chocolates with some basic ingredients, imagination and a little technique.&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://mndoci.com"&gt;Deepak Singh&lt;/a&gt;           - &lt;strong&gt;       Small medicine: Nanotechnology and biology   &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;The start of the art in the applications of nanotechnology to healthcare and medicine&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.uncluttr.com"&gt;Derek Gaw&lt;/a&gt;           - &lt;strong&gt;       uncluttring Amazon   &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Amazon&amp;#8217;s experience is often criticized for being too cluttered.  I decided to see what I could do to clean it up.&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.42entertainment.com"&gt;Elan Lee&lt;/a&gt;           - &lt;strong&gt;       &lt;a href="http://www.edoclaundry.com"&gt;My Clothes Tell Secrets&lt;/a&gt;   &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Examples of storytelling and entertainment embedded in the fabric of the clothes we wear.&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://briandorsey.info"&gt;Brian Dorsey&lt;/a&gt;           - &lt;strong&gt;       &lt;a href="http://www.noonhat.com"&gt;An embarrassment of riches - the story of Noonhat&lt;/a&gt;   &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;We live in amazing times. Individuals and small groups can build small things with big effects. Even working part time.&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.500hats.com"&gt;Dave McClure&lt;/a&gt;           - &lt;strong&gt;       &lt;a href="http://500hats.typepad.com/500blogs/2007/06/internet-market.html"&gt;Startup Metrics for Pirates: AARRR!&lt;/a&gt;   &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;A simple 5-step model for measuring startup success: 1) Acquisition 2) Activation 3) Retention 4) Referral 5) Revenue&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Rob Gruhl          - &lt;strong&gt;       How to buy a new car   &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Get your next new car for the best price.&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-6441719524063698511?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/6441719524063698511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/ignite-seattle-half-baked-dot-com.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/6441719524063698511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/6441719524063698511'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/ignite-seattle-half-baked-dot-com.html' title='Ignite Seattle - Half Baked Dot Com'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-83002909253832335</id><published>2007-07-17T09:27:00.000-07:00</published><updated>2007-09-27T13:25:07.567-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Working From Home'/><title type='text'>Into the 2nd Week</title><content type='html'>So I'm into the second week and thus far I've gotta say that I'm really liking this whole freelancing thing. At this point I haven't really been worried about lining up other sources of income apart from my friend's company but I should think about starting to do that at some point in the near future. Last week I finished up updating a control and thus far this week I've almost finished a resource export tool (exports from the DB Resource model my friend's company uses to Microsoft's resx model).&lt;br /&gt;&lt;br /&gt;It feels more like I'm on a vacation than actually having a job. I'm getting things done and working a fair amount but it's completely different. I kind of dig it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-83002909253832335?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/83002909253832335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/into-2nd-week.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/83002909253832335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/83002909253832335'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/into-2nd-week.html' title='Into the 2nd Week'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-3941070325522710534</id><published>2007-07-14T14:50:00.000-07:00</published><updated>2007-09-27T13:19:02.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><title type='text'>The Naked Truth</title><content type='html'>For what it's worth a &lt;a href="http://enteringstartup.com"&gt;friend of mine&lt;/a&gt; just talked me into signing up for an event called &lt;a href="http://thenakedtruth.wetpaint.com/"&gt;The Naked Truth&lt;/a&gt; on July 24th. Here's what the wiki says:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The Naked Truth is a meet-up for entrepreneurs, journalists, and bloggers to talk about how we tell our stories.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;There's a panel discussion that's limited to 200 people and an afterparty limited to 500. When I added my name to the list it was up to around 170 for each so hurry and get your name on the list if you're interested.&lt;br /&gt;&lt;br /&gt;Also, the next &lt;a href="http://www.igniteseattle.com/"&gt;Ignite Seattle&lt;/a&gt; event is happening on August 8th. I'm hoping to make it but we'll have to wait and see.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-3941070325522710534?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/3941070325522710534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/for-what-its-worth-friend-of-mine-just.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3941070325522710534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3941070325522710534'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/for-what-its-worth-friend-of-mine-just.html' title='The Naked Truth'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-3612646112449053390</id><published>2007-07-10T11:33:00.001-07:00</published><updated>2007-09-27T13:22:16.800-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Working From Home'/><title type='text'>Minimizing Information Intake</title><content type='html'>A while back I read through &lt;a href="http://fourhourworkweek.com/blog/"&gt;Tim Ferris'&lt;/a&gt; &lt;a href="http://www.amazon.com/4-Hour-Work-Week-Escape-Anywhere/dp/0307353133/ref=pd_bbs_sr_1/103-2300496-6129450?ie=UTF8&amp;s=books&amp;amp;qid=1173202409&amp;sr=1-1"&gt;The Four Hour Workweek&lt;/a&gt; and really got a lot out of it. I'd highly recommend reading through it as it is an easy read.  I'll talk more about that later but I want to touch on something that Tim stressed in his book: The Low Information Diet.&lt;br /&gt;In his book he (spoiler alert) challenges the reader to go on a one week media fast from news (websites, papers, magazines, television, etc...), television, and web surfing that's not required for work. Upon reading the challenge I immediately stopped my excess web surfing (reading various blogs that I kept track of just because, &lt;a href="http://www.livejournal.com/"&gt;LiveJournal&lt;/a&gt;, etc...) for a week. I don't really watch television apart from movies with the family but that isn't a huge time sink for me. I found that it wasn't really that hard for me to give up reading the blogs (I've been using &lt;a href="http://www.bloglines.com/"&gt;Bloglines&lt;/a&gt; along with their download-able notifier to keep track on when blogs I watch/read had been posted to) and random surfing that really didn't accomplish a whole lot. LiveJournal also wasn't terribly hard to give up however a side effect of that is that I started feeling out of touch with friends who I only really keep track of via that medium.&lt;br /&gt;&lt;br /&gt;After the week was up I started allowing myself to keep up on the blogs and whatnot; however, I found that I didn't really care to keep up on a lot of them that are random tidbits of information with some current happenings online and in real life. I also didn't pick LiveJournal back up which is kind of a mixed blessing. As mentioned above I feel rather out of touch with the folks that I kept up on via LiveJournal however I've been able to free up a lot of time by not going back and checking my friends page frequently.&lt;br /&gt;&lt;br /&gt;Today I went through and removed some of the most posted to blogs from the blogs I'm watching in Bloglines in order to limit the amount of time that I spend reading blog posts. I'm going to try to only check blog updates in the evening once I've finished working. I don't have a solution yet for LiveJournal and for the time being I'll just check in on specific friends' journals to catch up on them when they come to mind, or I may create a filter for friends that I'm most interested in keeping up on to limit the amount of extra stuff I'm reading through.&lt;br /&gt;&lt;br /&gt;Fun times, back to work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-3612646112449053390?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/3612646112449053390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/minimizing-information-intake.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3612646112449053390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3612646112449053390'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/minimizing-information-intake.html' title='Minimizing Information Intake'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-8748067738317733302</id><published>2007-07-09T17:20:00.000-07:00</published><updated>2007-09-27T13:22:39.738-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Working From Home'/><title type='text'>Day 1</title><content type='html'>Today is Day 1 of working from home. Thus far I haven't gotten a whole lot accomplished; however, I've done a fair amount of work setting the stage for getting things done. I haven't had a desktop computer at home for about 5 years. Currently my wife and I have one mostly functional Windows laptop (the back light died and I haven't gotten around to getting that fixed), one Apple laptop that sits at it's desktop for about 10 minutes upon booting up before it will let you do anything and is really painfully slow when it decides to let you work on it, and another Windows laptop that my son managed to kill by picking it up and dropping it a few inches. I've done my due diligence trying to fix the laptop my son killed, however as my overall troubleshooting knowledge of Mac's is little to none I haven't even tried to fix it.&lt;br /&gt;&lt;br /&gt;In order for me to be working from home I'm setting up on the bottom floor of our townhouse (we have three floors: garage and a rather large entry room, kitchen and living rooms, and 2 bedrooms on top) as my office and needed a computer. Before leaving for the beach I purchased a barebones kit and some other odds and ends from &lt;a href="http://tigerdirect.com/"&gt;TigerDirect&lt;/a&gt; which was waiting at the UPS center for me when we got back from vacation. I spent a few hours over the weekend getting it mostly assembled and today I finished it up, got most of the software I'm going to need immediately installed, and started reading up on the first project I'll be working on and reviewing the code that has already been written.&lt;br /&gt;&lt;br /&gt;That and I took a long break when my wife and son got back from the park to go out back and grill up some hamburgers and hang out with them for a little bit. What a luxury that was, being able to just stop what I was working on and take around an hour to make burgers and hang out with my family without having to think about the pointless emails in my inbox and trying to ensure I make it back in time for a meeting.&lt;br /&gt;&lt;br /&gt;I'm off to make dinner now and then spend some time with the family and possibly squeeze in some more time getting up to speed on that project. I have no doubt tomorrow will be more productive. And I think I'll grill up some sausages.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-8748067738317733302?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/8748067738317733302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/day-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8748067738317733302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/8748067738317733302'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/07/day-1.html' title='Day 1'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-108582493730999269.post-3080996194668561323</id><published>2007-06-30T11:12:00.000-07:00</published><updated>2007-09-27T13:24:33.313-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='General'/><title type='text'>Getting Started</title><content type='html'>On June 29th 2007 I left my 9 - 5 wage slave programming job to take advantage of an opportunity to go freelance. This blog is intended to chronicle that transition and the challenges and issues that will inevitably come up along the way.&lt;br /&gt;&lt;br /&gt;First, a little background. I finished school about 5 years ago and have spent that time doing software development work for a couple different companies. In that time I also got married, had a baby, and bought a house. My wife hasn't had a day job since our son was born and we don't anticipate that changing any time soon. She tends to always be working on some project or another and keeps herself busy, I don't mean to make her out to look like a slacker. Though taking care of a one year old full time is work enough if you ask me. Over the past 6 to 9 months my day job had been becoming more and more of a stressful, draining place to be and I was quickly losing motivation. I was dreading going to work and I didn't feel like I was getting anywhere in an environment where I was pushed to learn and make things better.&lt;br /&gt;&lt;br /&gt;I've done some freelance work with my evenings for a company of a friend of mine. There's been work when I want it and have the time, however due to my having a day job (and a wife and son), I wasn't able to dedicate a great deal of time to those projects. The fact that there was enough work to keep me busy full time had come up however I had never really given it the consideration that perhaps it deserved. About a month ago a fairly large project came in and he offered me a chunk of the work if I was interested. The scope and time frame of the project wouldn't be conducive to holding down a day job AND taking on the project. In addition my friend has a fair amount of work both internal to his company and customer facing lined up at this time and more work has and will be coming in. After a fair amount of discussion with him and even more discussion with my wife the decision was made to go ahead and give it a try.&lt;br /&gt;&lt;br /&gt;Some of the key factors that have played into this decision are flexibility, incentive, and potential:&lt;br /&gt;&lt;br /&gt;- I'm going to be working from home for the time being however with this type of work I have the flexibility to work from pretty much anywhere I can plug a laptop in with a wireless connection. My son recently turned one and I'm really looking forward to having the chance to spend more time at home with him. Granted moving to freelance will probably mean working longer hours but for the most part I can dictate when those hours take place.&lt;br /&gt;&lt;br /&gt;- Working on the projects I choose means I have additional incentive to take projects and bust my ass when that's called for. This will be a tremendous learning opportunity, if I want to learn a new technology then I do it and it's a marketable skill. I don't need to try to convince a group of managers that moving to some technology will greatly improve performance, lower overhead, or improve employee productivity. Because I'm working on projects (at least for the time being) and will typically be getting paid per project I can work my ass of to make a nice chunk of change in a hurry and then take a couple weeks off to go take a road trip to visit family or travel abroad. That's just not going to happen at a day job where you have a set amount of vacation and if you work extra extra hard for a period of time you might get a bonus (or a company branded clock in the case of my last company) and maybe they'll even give you extra time off but that's not the norm. If you up your output because you're working 60 hours weeks they're going to wonder what happened when you decrease to 40-ish hours a week. Working 60 hours a week just because doesn't sound that good to me.&lt;br /&gt;&lt;br /&gt;- The simple action of leaving my day job has created a great deal of potential not only financially but also in regards to life experiences. Now that I'm no longer chained to working on making money for someone else's company I can work on creating my own if I want. The goal of an employer in most cases is not to make you rich and give you the freedom to take time off whenever you want (NOTE: If any of you want to hire me and make me rich while allowing me the freedom to take time off spur of the moment and work odd hours let me know). If you're producing well it's in your employer's best interest to provide you additional incentives to stay with their company but ultimately it's about whatever is in THEIR best interest.&lt;br /&gt;&lt;br /&gt;I'm not sure how this will play out but I have high hopes. Stay tuned, we're off to the beach for a week but I'll be getting started July 9th.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/108582493730999269-3080996194668561323?l=outofofficeblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://outofofficeblog.blogspot.com/feeds/3080996194668561323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://outofofficeblog.blogspot.com/2007/06/getting-started.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3080996194668561323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/108582493730999269/posts/default/3080996194668561323'/><link rel='alternate' type='text/html' href='http://outofofficeblog.blogspot.com/2007/06/getting-started.html' title='Getting Started'/><author><name>Casey</name><uri>http://www.blogger.com/profile/14925534089627749584</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
