<?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-840113634698831253</id><updated>2012-01-02T13:22:05.957-08:00</updated><category term='jQuery'/><category term='MySQL'/><category term='Copyright'/><category term='CSS'/><category term='Xcode'/><category term='AJAX'/><category term='Zend'/><category term='Best Practices'/><category term='Uruguay'/><category term='Programming'/><category term='Distant Mountain Productions'/><category term='YAML'/><category term='Business'/><category term='PHP'/><category term='Sales'/><category term='KISS'/><category term='Admin'/><category term='Vim'/><category term='Flexigrid'/><category term='iPhone'/><category term='Hosting'/><category term='Bogeymin'/><category term='FTP'/><category term='Custom FTP'/><category term='Objective-C'/><category term='Projects'/><category term='Been There'/><category term='Brandable FTP'/><category term='REALBasic'/><category term='Bash'/><category term='Outsourcing'/><category term='News'/><category term='Image Magick'/><title type='text'>Think Positive Software</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2004577016290428812</id><published>2011-02-18T12:32:00.000-08:00</published><updated>2011-02-18T12:37:43.768-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Been There Accepted, in App Store</title><summary type='text'>I am happy to announce that my iPhone app, Been There, has been accepted into the app store. It has been an interesting journey and quite a learning experience. I'm anxious for feedback, and if you would like to review the app on your blog or website, let me know and and I will send you a coupon.
Find out more, or purchase in the App Store.

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2004577016290428812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2011/02/been-there-accepted-in-app-store.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2004577016290428812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2004577016290428812'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2011/02/been-there-accepted-in-app-store.html' title='Been There Accepted, in App Store'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-7190537765590531740</id><published>2010-12-19T08:58:00.001-08:00</published><updated>2010-12-19T08:58:20.010-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>yeswaystudios.com Re-Launch</title><summary type='text'>Launched a new version of the Yes Way Studios site today. Check it out.

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/7190537765590531740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/12/yeswaystudioscom-re-launch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7190537765590531740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7190537765590531740'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/12/yeswaystudioscom-re-launch.html' title='yeswaystudios.com Re-Launch'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-4011263171008225435</id><published>2010-04-27T14:50:00.001-07:00</published><updated>2010-04-27T14:50:45.638-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Distant Mountain Productions'/><title type='text'>Distant Mountain Productions</title><summary type='text'>I do have a bit of quick news to post regarding a new business venture: Distant Mountain Productions. For some time now, I have been interested in creating television shows for digital distribution. I think video content on demand will continue to grow and may some day be the preferred means of information and entertainment.
DMP is focused on providing this type of content but with a twist. I </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/4011263171008225435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/04/distant-mountain-productions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4011263171008225435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4011263171008225435'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/04/distant-mountain-productions.html' title='Distant Mountain Productions'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-7216958646831023453</id><published>2010-04-27T14:46:00.001-07:00</published><updated>2010-06-01T18:01:25.602-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Uruguay'/><title type='text'>What Hapened to March? Well, We're Moving</title><summary type='text'>March is long gone, and April too, and still I haven't posted! Well, we're moving. To South America. Yes, that's right. We leave on May 10th for Uruguay. I will be continuing with the work that I do now -- I already work from home, so as long as I have Internet access, I'm good to go.
Why you might ask? Well, there are a lot of personal reasons; temperate, sub-tropical climate, access to fresh </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/7216958646831023453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/04/what-hapened-to-march-well-we-moving.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7216958646831023453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7216958646831023453'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/04/what-hapened-to-march-well-we-moving.html' title='What Hapened to March? Well, We&amp;#39;re Moving'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-7885074941801609121</id><published>2010-02-19T16:18:00.001-08:00</published><updated>2010-02-19T16:18:16.778-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Brandable FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>It's Been a While</title><summary type='text'>Wow, it's been a while since I have posted anything new! I've started several articles, but it's been pretty busy here. Been There was rejected a second time due to private API usage. Brandable FTP (now Custom FTP) hasn't quite stalled, but I decided to add SFTP support which has added time to the project. i've also been switching my projects and todos over the ActiveCollab. More on that later.
</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/7885074941801609121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/02/it-been-while.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7885074941801609121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7885074941801609121'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/02/it-been-while.html' title='It&amp;#39;s Been a While'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-5895255360991749148</id><published>2010-01-28T14:00:00.001-08:00</published><updated>2010-01-28T14:00:39.544-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>Error Handling Errors</title><summary type='text'>I fixed a problem today where custom blog software had stopped working after a permissions update. A large number of sites are based upon the blog software and they were all down. Blank page. No errors on screen or in the logs.
This was not software and I came in knowing nothing about it. It might've helped that I do know the developer, but he was offline and unreachable, and no longer with the </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/5895255360991749148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/error-handling-errors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5895255360991749148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5895255360991749148'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/error-handling-errors.html' title='Error Handling Errors'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-5476400872504644371</id><published>2010-01-26T12:12:00.001-08:00</published><updated>2010-01-26T12:12:55.836-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Xcode'/><category scheme='http://www.blogger.com/atom/ns#' term='Objective-C'/><title type='text'>Xcode Compile Stops at MainWindow.xib?</title><summary type='text'>And Interface Builder starts up in the background but then stops responding? Have you recently changed your OS? Bought a nice, refurb iMac running Snow Leopard and transferred Xcode from an older machine running Leopard?
Me too.
It took me a long time to find the answer.
You need to get the iPhone SDK for Snow Leopard. Oh, and incidentally, there is a hint on the Apple Developer site (behind the </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/5476400872504644371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/xcode-compile-stops-at-mainwindowxib.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5476400872504644371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5476400872504644371'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/xcode-compile-stops-at-mainwindowxib.html' title='Xcode Compile Stops at MainWindow.xib?'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-9061406543170145005</id><published>2010-01-11T12:37:00.001-08:00</published><updated>2010-01-11T12:37:48.047-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Just Submitted Been There Again</title><summary type='text'>I'm happy to report I've re-submitted Been There, our iPhone app for sharing your favorite places with friends and family. Here's hoping for the best!

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/9061406543170145005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/just-submitted-been-there-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/9061406543170145005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/9061406543170145005'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/just-submitted-been-there-again.html' title='Just Submitted Been There Again'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-3416412272171850241</id><published>2010-01-07T10:46:00.001-08:00</published><updated>2010-01-07T10:46:43.822-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Been There Again</title><summary type='text'>My last post on our iPhone app was dismal indeed, but the "friend of a friend" approach has paid off sooner than expected and I now have a repaired version of the app! Now if I can just get this sign cert figured out ...

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/3416412272171850241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/been-there-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3416412272171850241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3416412272171850241'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/been-there-again.html' title='Been There Again'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6769251508727743520</id><published>2010-01-04T15:07:00.001-08:00</published><updated>2010-01-04T15:07:52.797-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Been There Left in the Lurch</title><summary type='text'>Our Been There iPhone application got caught up in the OS changes where some network issue causes a crash. Nevermind that I can't make it crash, but someone at Apple did and reject the submission. The original developer wanted me to pay quite a bit more money to fix the issue and needless to say that didn't sit too well with me, so I asked around and found a friend of a friend that agreed to help</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6769251508727743520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/been-there-left-in-lurch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6769251508727743520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6769251508727743520'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/been-there-left-in-lurch.html' title='Been There Left in the Lurch'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-4532446028603862302</id><published>2010-01-04T14:53:00.001-08:00</published><updated>2010-01-04T14:53:10.775-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Bogeymin'/><title type='text'>Bogeymin Again</title><summary type='text'>Wow, it's been a long time since I gave an update on this project -- because it's been a long time since I've actually worked on it. Yes, everything I didn't want to happen with this project happened and it got pushed to the side. However, in an attempt to redeem myself, I have rescheduled the remaining work for January.
Sign up to be notified when it's ready at bogeymin.com

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/4532446028603862302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/bogeymin-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4532446028603862302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4532446028603862302'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2010/01/bogeymin-again.html' title='Bogeymin Again'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2318858318060045617</id><published>2009-12-03T11:53:00.001-08:00</published><updated>2009-12-03T11:53:54.655-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Brandable FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom FTP'/><title type='text'>BFTP Enters Test Phase</title><summary type='text'>I'm happy to report that BFTP has entered the test phase. It is already stable and usable, but a few bugs still need working out. The initial feature set is also more robust than I had intended, making the imminent release of version 1 that much more exciting!

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2318858318060045617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/12/bftp-enters-test-phase.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2318858318060045617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2318858318060045617'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/12/bftp-enters-test-phase.html' title='BFTP Enters Test Phase'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6471938471031270068</id><published>2009-12-01T10:19:00.001-08:00</published><updated>2009-12-01T10:19:41.029-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='REALBasic'/><title type='text'>Moving the Cursor to the End of a TextField in REALBasic</title><summary type='text'>You will now learn in three seconds what took me 15 minutes to discover.
1. Double-click on the TextField.
2. Select GotFocus.
3. Add this to the method:
me.selStart = me.text.len() + 1

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6471938471031270068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/12/moving-cursor-to-end-of-textfield-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6471938471031270068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6471938471031270068'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/12/moving-cursor-to-end-of-textfield-in.html' title='Moving the Cursor to the End of a TextField in REALBasic'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-3556002098878997577</id><published>2009-11-30T17:44:00.001-08:00</published><updated>2009-11-30T17:47:50.228-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Forcing a 404 Error with Zend Framework</title><summary type='text'>There are many things I like about Zend Framework. And there are times when using it is like searching for a black cat in a dark room. Seemingly simple tasks end up frittering away time looking through the documentation and source code.
Inducing a 404 response is one of these things. I didn't want to simply redirect the page, but rather, I wanted the ErrorController to handle the error just like </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/3556002098878997577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/forcing-404-error-with-zend-framework.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3556002098878997577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3556002098878997577'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/forcing-404-error-with-zend-framework.html' title='Forcing a 404 Error with Zend Framework'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-4889114662105782623</id><published>2009-11-19T17:04:00.001-08:00</published><updated>2009-11-19T17:04:32.894-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Been There: The Long and Winding Road</title><summary type='text'>We started our geographic note taking iPhone application, Been There, back in April. Principal development was done by July. Then the process of test, report, fix, test lasted through September. At which point we started the process of preparing for submission. It's been one thing after another, but Lord Willing, I will submit the app to Apple's approval process tomorrow.
I could do it tonight, </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/4889114662105782623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/been-there-long-and-winding-road.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4889114662105782623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4889114662105782623'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/been-there-long-and-winding-road.html' title='Been There: The Long and Winding Road'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-87001955317856079</id><published>2009-11-05T18:26:00.001-08:00</published><updated>2009-11-05T18:26:11.719-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flexigrid'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>When Flexigrid Columns Don't Line Up</title><summary type='text'>If find it really aggravating to fix a problem only to encounter it again -- after I've long forgotten how I fixed it. This happened to me when I was creating a new PHP wrapper class around the Flexigrid plugin for jQuery.
And the reason was ... the stylesheet had:

  table { width: 100%; }

Remove this or add a class or inline style to your table to allow Flexigrid to do its thing.
Of course, I </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/87001955317856079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/when-flexigrid-columns-don-line-up.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/87001955317856079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/87001955317856079'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/when-flexigrid-columns-don-line-up.html' title='When Flexigrid Columns Don&amp;#39;t Line Up'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-866611059959906289</id><published>2009-11-02T14:01:00.001-08:00</published><updated>2009-11-02T14:01:14.457-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Bogeymin'/><title type='text'>Update: Bogeymin is Ready for Testing</title><summary type='text'>Although there are a few plugins left to create, I'll be starting the test phase of Bogeymin this week. I am also lining up beta testers for some initial installs of the software. This is a private test and the participants have already been lined up. But if you'd like to know when the product is ready for release, sign up here.

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/866611059959906289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/update-bogeymin-is-ready-for-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/866611059959906289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/866611059959906289'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/11/update-bogeymin-is-ready-for-testing.html' title='Update: Bogeymin is Ready for Testing'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-5689718190904723828</id><published>2009-10-29T16:46:00.001-07:00</published><updated>2009-10-29T16:47:20.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Brandable FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom FTP'/><title type='text'>BFTP Update</title><summary type='text'>I reviewed the initial build of BFTP today -- sorry, still no screenshots -- and am pleased with our progress so far. One feature that was cool to see in action was the directory masking. Essentially this allows the service provider to create human-friendly aliases for a directory on the server. So, for example, a directory at galleries/wedding would appear as "Wedding Gallery" to the end user.
</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/5689718190904723828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bftp-update_29.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5689718190904723828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5689718190904723828'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bftp-update_29.html' title='BFTP Update'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-1337895011360026771</id><published>2009-10-23T18:50:00.001-07:00</published><updated>2009-10-23T18:50:49.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sales'/><category scheme='http://www.blogger.com/atom/ns#' term='Business'/><title type='text'>What's Wrong with Guru.com?</title><summary type='text'>Most software developers, firms or entrepreneurs will eventually look for sales leads on sites like guru.com where there are jobs-a-plenty -- as well as competitors. This post focuses on my experiences with guru.com as well as other job sites.
First, here is a typical job posting:

  I have bought and registered my domain. I already have a webhost. Now i need Someone to program/create my online </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/1337895011360026771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/what-wrong-with-gurucom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1337895011360026771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1337895011360026771'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/what-wrong-with-gurucom.html' title='What&amp;#39;s Wrong with Guru.com?'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6769513873754782364</id><published>2009-10-22T19:06:00.001-07:00</published><updated>2009-10-22T19:22:51.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Bogeymin'/><title type='text'>Bogeymin is Almost Alpha</title><summary type='text'>Almost. After my previous exercise in optimism, a number of other projects took precedence over Bogeymin. Even so, I spent last Saturday with blinders on and managed to finish all of the core commands.
I'm hoping to start testing this weekend as well as working on some of the built-in plugins. Speaking of which, the plugins system I've devised is pretty neat -- if I say so myself.

  It allows </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6769513873754782364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bogeymin-is-almost-alpha.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6769513873754782364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6769513873754782364'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bogeymin-is-almost-alpha.html' title='Bogeymin is Almost Alpha'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-1790047946324048474</id><published>2009-10-19T12:37:00.001-07:00</published><updated>2009-10-19T12:37:47.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><title type='text'>WebStar - Try it Again for the First Time</title><summary type='text'>I've been working on this project called Web Star off and on for more years than I care to mention. It's basically a web directory and social network for those interested in film and television.
Last year, I finished it (once and for all, I thought) but I didn't promote it -- at all. So, I reviewed the project and decided that

  The project as a whole could be and should be a lot simpler.

  I </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/1790047946324048474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/webstar-try-it-again-for-first-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1790047946324048474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1790047946324048474'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/webstar-try-it-again-for-first-time.html' title='WebStar - Try it Again for the First Time'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-1687271456177072218</id><published>2009-10-16T11:34:00.001-07:00</published><updated>2009-10-16T12:01:42.454-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend'/><title type='text'>Using jQuery's Flexigrid Plugin with Zend</title><summary type='text'>There is no ready grid component in Zend Framework. Most of the forums recommend implementation using Dojo's grid tool, but since I'm new to both Zend Framework and Dojo, this didn't seem like all that great of an idea.
However, I have made frequent use of Flexigrid in the past and after making a half-hearted attempt at using Dojo, I decided that I might as well use Flexigrid -- at least I'm </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/1687271456177072218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/using-jquery-flexigrid-plugin-with-zend.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1687271456177072218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1687271456177072218'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/using-jquery-flexigrid-plugin-with-zend.html' title='Using jQuery&amp;#39;s Flexigrid Plugin with Zend'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2834519860554875856</id><published>2009-10-15T09:45:00.001-07:00</published><updated>2009-10-15T09:45:10.362-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Been There Update</title><summary type='text'>It's been a while since I reported on our new iPhone app for documenting your favorite places -- Been There -- so here's a quick update:

  The app is still undergoing testing. I've found bugs with each release and I want to make sure we release it to the public as bug-free as possible.

  We have finally been approved for an Apple Developer account. The process is sort of straight forward, but </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2834519860554875856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/been-there-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2834519860554875856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2834519860554875856'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/been-there-update.html' title='Been There Update'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6112747353165411076</id><published>2009-10-06T15:15:00.001-07:00</published><updated>2009-10-29T16:47:41.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Brandable FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom FTP'/><title type='text'>BFTP Update</title><summary type='text'>A quick update on the brandable FTP application:

  Initial user interface is done -- sorry, no screenshot yet.

  FTP connection is done. That's good.

  XML for meta data and the XML parser is done.

I've posted a preliminary site where you can sign up to be notified when BFTP is released.</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6112747353165411076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bftp-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6112747353165411076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6112747353165411076'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bftp-update.html' title='BFTP Update'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-8956775295408364714</id><published>2009-10-06T09:53:00.001-07:00</published><updated>2009-10-06T15:11:37.869-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Admin'/><category scheme='http://www.blogger.com/atom/ns#' term='Bogeymin'/><title type='text'>Bogeymin Nearing Completion</title><summary type='text'>They say that programmers are optimists, so when I say "nearing completion", it probably means it's about 51% -- hey, that's nearer to completion than to just starting.
I'd like to say I'm wrapping it up on Bogeymin, but I'm not. I am, however, able to see the end of the project from here. Coding in python is enjoyable and speedy and I expect to finish up the website management commands this week</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/8956775295408364714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bogeymin-nearing-completion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/8956775295408364714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/8956775295408364714'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/10/bogeymin-nearing-completion.html' title='Bogeymin Nearing Completion'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6049640718267394392</id><published>2009-09-15T19:32:00.000-07:00</published><updated>2009-09-15T19:33:51.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business'/><title type='text'>Do You Have Too Many Products?</title><summary type='text'>Circumstances beyond my control led me to the Oracle website. It's been a number of years since I used an Oracle database and I wanted to see what they have in the way of rapid application development tools.
Now, why is it that big companies like Oracle, Microsoft, HP, and IBM have websites that are completely impossible to navigate? I think I would have an easier time finding my way out of the </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6049640718267394392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/09/do-you-have-too-many-products.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6049640718267394392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6049640718267394392'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/09/do-you-have-too-many-products.html' title='Do You Have Too Many Products?'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2983744960205639028</id><published>2009-09-14T17:25:00.000-07:00</published><updated>2009-10-29T16:48:12.732-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Brandable FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Custom FTP'/><title type='text'>Brandable FTP Client</title><summary type='text'>We've started on a new project called -- for lack of a better name at the moment -- BFTP. It's a brandable FTP client for ISPs and Web developers that will greatly reduce the hassle of providing FTP to customers.
Features include:

  Brandable for each ISP or developer.

  Packages customer FTP info for quick and easy access to a website.

  Web-based control panel for managing customer access.
</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2983744960205639028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/09/brandable-ftp-client.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2983744960205639028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2983744960205639028'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/09/brandable-ftp-client.html' title='Brandable FTP Client'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-5266919659704286533</id><published>2009-09-10T14:25:00.001-07:00</published><updated>2009-09-10T14:25:28.039-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Copyright'/><title type='text'>Remove Your Site from the Wayback Machine</title><summary type='text'>Recently I had a request from a client to remove a site from the Wayback Machine. If you've never heard of it, I suggest you check it out (it is a service of archive.org that captures website content for posterity).
But why would you want to remove your site? Well, because it's your content and your copyright. Or because you don't want a potential employer seeing an old version of your blog. Or </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/5266919659704286533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/09/remove-your-site-from-wayback-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5266919659704286533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/5266919659704286533'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/09/remove-your-site-from-wayback-machine.html' title='Remove Your Site from the Wayback Machine'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2789713428740366423</id><published>2009-08-28T17:15:00.000-07:00</published><updated>2009-09-22T17:20:08.361-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Bogeymin'/><title type='text'>Bogeymin</title><summary type='text'>I'm proud to announce the commencement of a new project called "Bogeymin" -- a command suite tool for managing Web servers and related services such as DNS and email.
Features include:

  Linux-based.

  Total control from the command line and complex automation for consistent maintenance and administration.

  Utilizes existing security technologies to safely permit access to level 1 support, </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2789713428740366423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/bogeymin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2789713428740366423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2789713428740366423'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/bogeymin.html' title='Bogeymin'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-7923104364312706859</id><published>2009-08-28T09:58:00.000-07:00</published><updated>2009-08-28T10:01:33.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outsourcing'/><category scheme='http://www.blogger.com/atom/ns#' term='Business'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>The Shoe is On the Other Foot</title><summary type='text'>I am a pretty good guesser and empathizer. I also have a good imagination. This helps me build Web sites and applications that are useful, thoughtful, and helpful to clients. Most of the time, anyway. It also helps me understand the client's perspective and win more jobs.
But after deciding to outsource the Objective-C portion of our iPhone application, I am now "the client". And the experience </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/7923104364312706859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/shoe-is-on-other-foot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7923104364312706859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7923104364312706859'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/shoe-is-on-other-foot.html' title='The Shoe is On the Other Foot'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6107377973173010042</id><published>2009-08-25T12:29:00.001-07:00</published><updated>2009-08-25T12:29:14.761-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outsourcing'/><title type='text'>My First Experience with "Offshore" Outsourcing</title><summary type='text'>I have scads of experience both building and managing software projects. I've also worked with a lot of people; full-time employees as well as contractors. My first experience with outsourcing a project went to India where I could leverage the exchange rates to purchase more hours for my dollars. I put together a fairly extensive project plan from which everyone could work.
After having review </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6107377973173010042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/my-first-experience-with-outsourcing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6107377973173010042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6107377973173010042'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/my-first-experience-with-outsourcing.html' title='My First Experience with &amp;quot;Offshore&amp;quot; Outsourcing'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-4861759596939262635</id><published>2009-08-18T19:15:00.001-07:00</published><updated>2009-08-18T19:15:38.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><title type='text'>It's a Dirty Hack, But Someone Has to Do It</title><summary type='text'>I had finished a fairly complicated application -- to the client's specification -- that featured a complex system for selecting advertisers for various types of announcements. Although the money was paid, the project lay dormant for many months until the client started selling the ad spots.
Unfortunately, the person selling the spots had been left in the dark on how the system was built and sold</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/4861759596939262635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/it-dirty-hack-but-someone-has-to-do-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4861759596939262635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/4861759596939262635'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/it-dirty-hack-but-someone-has-to-do-it.html' title='It&amp;#39;s a Dirty Hack, But Someone Has to Do It'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-7231703176015935786</id><published>2009-08-13T20:18:00.000-07:00</published><updated>2009-08-13T20:19:53.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hosting'/><title type='text'>Lemonade Web Site Hosting</title><summary type='text'>I've been managing servers off and on since 1998 and have been working with Web-related servers (DNS, FTP, HTTP, POP, SMTP) since about 2001. And starting around 2004 for, I took over the management of a small hosting company with about 1500 to 2000 websites.
It has always been frustrating to me when customers balk at a decent price for hosting. Everyone tends to gravitate toward the cheapest of </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/7231703176015935786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/lemonade-web-site-hosting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7231703176015935786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7231703176015935786'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/08/lemonade-web-site-hosting.html' title='Lemonade Web Site Hosting'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6776883962754741627</id><published>2009-07-23T14:52:00.001-07:00</published><updated>2009-08-20T11:24:12.761-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Our First iPhone Application -- Been There -- is Almost Done</title><summary type='text'>Been There, which is something like a geographic discussion board allowing users to share their favorite locations with comments and rankings, is almost done.
The whole process has been a ... learning process. I was managing the project's outsourcing team as well as my own labor on the Web service that drives the app. There are many things I would have done differently, which will probably </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6776883962754741627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/07/our-first-iphone-application-been-there.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6776883962754741627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6776883962754741627'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/07/our-first-iphone-application-been-there.html' title='Our First iPhone Application -- Been There -- is Almost Done'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6065796234554125810</id><published>2009-07-21T13:54:00.000-07:00</published><updated>2009-07-28T14:03:02.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Joy of CSS</title><summary type='text'>The client had approved the website design, the markup was done and scripted for the CMS, the site was launched, and then? Then the client decided the original design wasn't quite right and requested a bunch of changes -- pretty much a whole new design.
Now, if you work in the Web development industry, you have surely heard about all the supposed benefits of CSS. (If not, are you sure you're </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6065796234554125810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/07/joy-of-css.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6065796234554125810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6065796234554125810'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/07/joy-of-css.html' title='Joy of CSS'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-1922692802861789540</id><published>2009-07-02T15:43:00.000-07:00</published><updated>2010-01-26T09:27:45.290-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>The Log File is Your Friend</title><summary type='text'>So, I was working with the flexigrid plugin for jquery, which is pretty cool but not very well documented, and I encountered this strange problem where the grid was failing to display the output.
Now, with most of the grid tools you

  Create only the most basic HTML on your page.

  Write some javascript to make the AJAX call, also included on your page.

  Create a PHP (or whatever) script to </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/1922692802861789540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/07/log-file-is-your-friend_14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1922692802861789540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/1922692802861789540'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/07/log-file-is-your-friend_14.html' title='The Log File is Your Friend'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-577636626402052298</id><published>2009-04-22T14:14:00.000-07:00</published><updated>2009-07-28T14:18:41.075-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='YAML'/><title type='text'>YAML to the Rescue</title><summary type='text'>I needed to create and import product data into an SQL database, but the information I had been given was scattered through various email messages from the client. There was no structure, no CSV file, and no time -- as usual.
It was shaping up to be a real bother to create a CSV file from the information I had and CSV wasn't exactly the friendliest format to look at with poor human eyes.
So I </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/577636626402052298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/yaml-to-rescue.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/577636626402052298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/577636626402052298'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/yaml-to-rescue.html' title='YAML to the Rescue'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-22135144539422858</id><published>2009-04-22T12:30:00.000-07:00</published><updated>2009-08-05T10:23:26.208-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Image Magick'/><category scheme='http://www.blogger.com/atom/ns#' term='Bash'/><title type='text'>Using Image Magick in a Crunch</title><summary type='text'>So you just got a bunch of images from a client and you need them converted tonight before you can go to sleep. You really don't want to prep each image manually. Whatever shall you do?
Think Image Magick. It's a potent package of image processing goodness with an antiquated name, but I promise you'll get over the name.
This situation happened to me last night. I had a bunch of TIFF files and no </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/22135144539422858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/using-image-magick-in-crunch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/22135144539422858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/22135144539422858'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/using-image-magick-in-crunch.html' title='Using Image Magick in a Crunch'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6547464249194713382</id><published>2009-04-22T12:15:00.000-07:00</published><updated>2009-10-05T18:15:32.844-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='KISS'/><title type='text'>This Code Goes Up to 11</title><summary type='text'>
  Some people, when confronted with a problem, think “I know, I'll use regular expressions.”

  Now they have two problems.

  -- Generally attributed to Jamie Zawinski, an early Netscape engineer.

I was working with HTML strings yesterday, trying to create a teaser from a a block of HTML with predictable structure. My first thought was to use regex and parse the first paragraph and I happily </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6547464249194713382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/this-code-goes-up-to-11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6547464249194713382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6547464249194713382'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/this-code-goes-up-to-11.html' title='This Code Goes Up to 11'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-916776831810604604</id><published>2009-04-17T14:26:00.000-07:00</published><updated>2009-07-16T14:27:31.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><title type='text'>Checking PHP Syntax from VIM</title><summary type='text'>I use vim/gvim for my text editor and I found a handy way to quickly check PHP syntax using a couple of keystrokes from within the editor. Add this to your vimrc file:

  " Check php syntax on the current file with CTRL+L
  autocmd FileType php noremap &lt;C-L&gt; :!/usr/bin/php -l %&lt;CR&gt;

As an added bonus, you can also use a key mapping to run the execute the PHP file as well, though I find this less </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/916776831810604604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/checking-php-syntax-from-vim.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/916776831810604604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/916776831810604604'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/checking-php-syntax-from-vim.html' title='Checking PHP Syntax from VIM'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-8149059534087365831</id><published>2009-04-17T10:12:00.000-07:00</published><updated>2009-08-05T10:22:10.315-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Shorten Your Ifs</title><summary type='text'>Here’s a PHP example for shortening your conditionals and parameter checking. (There is probably a design pattern for this, but I haven’t found a name for it yet. Submit a comment if you know the name.)
This is a typical PHP example.

/* A useful function.

@param $arg1 First parameter.
@param $arg2 An optional array.

@return Returns a useful string.

*/
public function doSomethingUseful($arg1,$</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/8149059534087365831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/shorten-your-ifs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/8149059534087365831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/8149059534087365831'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/shorten-your-ifs.html' title='Shorten Your Ifs'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-7882894611843538362</id><published>2009-04-03T14:01:00.000-07:00</published><updated>2009-08-11T14:06:51.986-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><title type='text'>When MySQL Saved the Day</title><summary type='text'>Although I must grudgingly admit that MySQL has improved over the years, I still think it is a toy database. Rants (both valid and unreasonable) on the vagaries of MySQL abound, so I won't duplicate any of those comments here. Instead, I will relate a recent experience on when MySQL "saved the day".
Once upon a time there was an orders database storing order data and ordered items in MySQL </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/7882894611843538362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/when-mysql-saved-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7882894611843538362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/7882894611843538362'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/when-mysql-saved-day.html' title='When MySQL Saved the Day'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2389326450929200273</id><published>2009-04-03T11:45:00.000-07:00</published><updated>2009-07-21T12:11:32.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outsourcing'/><category scheme='http://www.blogger.com/atom/ns#' term='Sales'/><title type='text'>Message to Elancers</title><summary type='text'>I recently placed a project up for bid on elance.com. As guy involved in sales, marketing, and programming, it's hard for me to give up control of a project. But I needed someone else's time and skill and was willing to trade some money for both.
When the bidding had run its course I selected a winning bidder and since I am involved in the same business as the Elance bidders, and I am not the </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2389326450929200273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/message-to-elancers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2389326450929200273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2389326450929200273'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/message-to-elancers.html' title='Message to Elancers'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2060319592814636884</id><published>2009-04-03T11:22:00.000-07:00</published><updated>2009-08-20T11:23:39.584-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Been There Developer Selected</title><summary type='text'>I have selected a winning bidder for the location aware application I'm calling Been There. It was a tough decision as there were lots of good bids and developers. It was also interesting to be the customer for once!

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2060319592814636884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/been-there-developer-selected.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2060319592814636884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2060319592814636884'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/04/been-there-developer-selected.html' title='Been There Developer Selected'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6554303704660082404</id><published>2009-03-16T14:17:00.000-07:00</published><updated>2009-08-06T14:24:07.540-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sales'/><title type='text'>About "Us"</title><summary type='text'>
Who's "Us", Precious?
I have been in the technology business for a long time and I have seen a lot of "businesses" come and go. The unique and wonderful thing about the early days of the Web, and to some extent it still applies, is that you could just "hang out a shingle" (that is, a Web site), and be as competitive as the next guy. In theory at least.
The idea that the Web "leveled the playing </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6554303704660082404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/03/about.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6554303704660082404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6554303704660082404'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/03/about.html' title='About &amp;quot;Us&amp;quot;'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2799463264580365283</id><published>2009-03-02T11:11:00.000-08:00</published><updated>2009-04-10T11:25:09.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Have a Blank PHP Page?</title><summary type='text'>So you're coding a PHP page, you switch to your browser and hit refresh, and you get -- nothin'. No error message, blank page, and depending upon your error settings, you may not see anything in the logs. You have display_errors turned on, so what's going on?
If you're using PHP 5.x, it may be a combination of two  things:You have white space somewhere.Output buffering is set to 4096 by </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2799463264580365283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/03/have-blank-php-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2799463264580365283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2799463264580365283'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/03/have-blank-php-page.html' title='Have a Blank PHP Page?'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-3785041568935584503</id><published>2009-02-26T14:38:00.000-08:00</published><updated>2009-07-23T15:39:19.648-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><title type='text'>Vim and Spell Check</title><summary type='text'>I often need to check my spelling when marking up websites or coding for website output. Thankfully, my text editor of choice has a nifty spell check feature. The key is

  :set spell

You can add this to your vimrc or just type it in command mode. And I guess if you wanted to be really fancy, you could enable spell-check per file type, but I went the vimrc route. Also, when using gvim, you can </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/3785041568935584503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/02/vim-and-spell-check.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3785041568935584503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3785041568935584503'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/02/vim-and-spell-check.html' title='Vim and Spell Check'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-3960148737476489862</id><published>2009-01-31T08:12:00.000-08:00</published><updated>2009-08-25T12:16:06.349-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='Been There'/><title type='text'>Been There</title><summary type='text'>After much deliberation, my wife and I have decided to pursue the creation of a location aware iPhone application called "Been There". It will be something like a geographic discussion board where users can take photos, add notes and share locations with contacts from the address book.
As I am extremely busy with other projects and not yet well-versed in Objective-C, we will be outsourcing the </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/3960148737476489862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/01/been-there.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3960148737476489862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/3960148737476489862'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2009/01/been-there.html' title='Been There'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-8447625549909324014</id><published>2008-12-01T13:43:00.000-08:00</published><updated>2009-07-23T14:44:59.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>iPhone Here We Come</title><summary type='text'>We have been looking at the various possibilities for shrink-wrapped software development and have decided that iPhone development is where it's at. We've come up with a list of more than 50 app ideas. Where to start?

</summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/8447625549909324014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2008/12/iphone-here-we-come.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/8447625549909324014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/8447625549909324014'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2008/12/iphone-here-we-come.html' title='iPhone Here We Come'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-2857524921148156116</id><published>2008-10-15T14:45:00.000-07:00</published><updated>2009-07-23T14:47:24.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Paradigm Shift</title><summary type='text'>After some deliberation, I've decided to take the business in a different direction. Custom development work has been good to me and for the time being that's what I will be doing. But I'm going to start spending more time on shrink-wrapped software.There are lots of reasons for this:

  I started programming in 1993 with QuickBasic and some desktop software for testing audio devices. This </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/2857524921148156116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2008/10/paradigm-shift.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2857524921148156116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/2857524921148156116'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2008/10/paradigm-shift.html' title='Paradigm Shift'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-840113634698831253.post-6218840090795190102</id><published>2008-09-12T17:17:00.000-07:00</published><updated>2009-08-21T17:33:36.321-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Business'/><title type='text'>Planning Big Without Big Plans</title><summary type='text'>I was cleaning up and archiving my files today and stumbled on to some old documentation. The file was a plain text file, 8KB in size, 454 words that I had written many years earlier.
There were just a few headings, notes and bullet points that included things like statistics for products and orders and ideas for new directions for the business in which I worked.
Even so, this tiny little </summary><link rel='replies' type='application/atom+xml' href='http://thinkpositivesoftware.blogspot.com/feeds/6218840090795190102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2008/09/planning-big-without-big-plans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6218840090795190102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/840113634698831253/posts/default/6218840090795190102'/><link rel='alternate' type='text/html' href='http://thinkpositivesoftware.blogspot.com/2008/09/planning-big-without-big-plans.html' title='Planning Big Without Big Plans'/><author><name>F.S. Davis</name><uri>http://www.blogger.com/profile/14557816604578943857</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_SDSqPsZqAu4/TTtERQv-N1I/AAAAAAAAACM/2rl3ZTCGj7s/s1600/42ec7cf88a7426c535e28a772953ea2f.jpg'/></author><thr:total>0</thr:total></entry></feed>
