<?xml version='1.0' encoding='utf-8' ?>
<feed xmlns='http://www.w3.org/2005/Atom'>
  <title type='text'>tspore.com</title>
  <generator uri='http://effectif.com/nesta'>Nesta</generator>
  <id>tag:www.tspore.com,2009:/</id>
  <link href='http://www.tspore.com/articles.xml' rel='self' />
  <link href='http://www.tspore.com' rel='alternate' />
  <subtitle type='text'>A Black & White blog About the Grey Things in Life</subtitle>
  <updated>2011-03-16T00:00:00+00:00</updated>
  <author>
    <name>Tony Spore</name>
    <uri>http://www.tspore.com</uri>
    <email>tony@allplaces.net</email>
  </author>
  <entry>
    <title>SaasSoft a Lean Startup</title>
    <link href='http://www.tspore.com/WebDevelopment/tomb-finder' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2011-03-16:/WebDevelopment/tomb-finder</id>
    <content type='html'>
      &lt;p&gt;Over the last 6 months my team and I have decided for the most part to leave behind working for marketing agencies, and head in a new direction actually doing what we love. We’re building unique software that focuses around targeted niche markets. This radical departure has been quite strenuous on my pocket book, as I’m keeping myself and 2 others employed. However, with the maintenance contract and a few small jobs coming in, we are making a life long dream happen. Not to mention I’m very lucky to have such a loving and understanding wife who fully supports me in this venture.&lt;/p&gt;
      
      &lt;p&gt;Within the next 5 years we’re planning to release 5 software products which will be built on a software as a service (SaaS) platform. I believe the days of buying expensive software to run on a computer are over. The trend is now to move “To The Cloud”. I have also come to the conclusion that instead of using the old company name, which had a business focus of working with agencies, and non profit organizations, it would be best to create a new company focused around SaaS software. We just finished and submitted the paperwork this week for a new company called SaaSsoft.&lt;/p&gt;
      
      &lt;p&gt;Our first public project under SaaSsoft is TombFinder.com. Its goal and mission is to create a new market of specific software for managing and finding burial records. To date we have not found any direct competitors, just a few random websites that only manage burials, tombstone records, and eulogies in different and unique ways. With tombfinder.com we want to create a unified brand and identity so that any cemetery website you go to you can find information in a quick manner. So far we’ve created a licensable API (releasing this summer), and an administrative iphone app that cemeteries can use to quickly upload tomb stone photos and GPS info. The site also provides a unified search space to quickly sift through thousands of records to find deceased loved ones, And a unique site for all participating cemeteries in the Database. Our goal is to provide a 3-7 static page website and database of all the records on the site.&lt;/p&gt;
      
      &lt;p&gt;Since November we have come such a long way! Right now we’re focusing on making sure all data is correct and well laid out before we push forward with any additional features. We’d like to be able to provide our service to at least 10 cemeteries by the end of June. In order to keep up this record pace with a small staff, we need to make any and all decisions quickly, such as our decision to use an app software site we stumbled upon just this month called AppSumo, as it’s a nice fit for our project. AppSumo also exposed us to lessaccounting, which will be helpful as we’re also in the process of setting up our accounts receivable, and the thought of using quickbooks, is dreadful especially on a Mac. This week I have also been looking into what SMTP server we are going to use. We’ll most likely end up using our old SMTP mail server, Google’s (which as a SMTP is slow) or a service such as sendgrid or postmark. Although, Postmark is a part of the AppSumo startup bundle, and would simplify our needs to get running quickly and can be changed in 6 months if necessary.&lt;/p&gt;
      
      &lt;p&gt;All in all, I highly recommend taking a look at the AppSumo startup bundle - &lt;a href='http://www.appsumo.com/?r=Yfk5'&gt;appsumo&lt;/a&gt; or &lt;a href='http://appsumo.com/leanchallenge'&gt;leanstartup&lt;/a&gt;and while you’re at it go and take a look at our project here - &lt;a href='http://www.tombfinder.com'&gt;www.tombfinder.com&lt;/a&gt; and out first client - &lt;a href='http://bards.tombfinder.com'&gt;bards.tombfinder.com&lt;/a&gt; We’re currently going the route of self funding, but I imagine over the next couple months that may having to change a bit.&lt;/p&gt;
      
      &lt;p&gt;Finally between now and March 23rd vote for us to win some start up cash - &lt;a aria-describedby='btn-desc' href='http://twitter.com/share?_=1300493081040&amp;amp;count=none&amp;amp;text=Tony%20Spore&amp;apos;s%20entry%20for%20%40AppSumo%20Lean%20Challenge%20http%3A%2F%2FAppSumo.com%2Fleanchallenge%20%23leanvote27%20--%20Please%20RT&amp;amp;url=http%3A%2F%2Fappsumo.com%2Fleanvote%2F&amp;amp;via=AppSumo' id='btn' tabindex='1'&gt;&lt;span&gt;Tweet&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
    </content>
    <published>2011-03-16T00:00:00+00:00</published>
    <updated>2011-03-16T00:00:00+00:00</updated>
    <category term='WebDevelopment'></category>
  </entry>
  <entry>
    <title>jQuery Cross Fade</title>
    <link href='http://www.tspore.com/WebDevelopment/jQueryPlugin' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-10-10:/WebDevelopment/jQueryPlugin</id>
    <content type='html'>
      &lt;p&gt;for a quick 5 page website basically what we wanted to create was a hover effect when a person hovers over a link. So we could use a couple of methods, but I thought that it would be a good excuse to create a plugin. The reason for a plugin is because on each link a different image will fade into view, and after you mouse off the link, it will fade away. So I could write this fade function many times, however, that is a lot of code to manage, and it would make more since to write it once. To begin with I had a few absolutely placed Div&amp;#8217;s on the page which each div holds 1 background image that we will show and hide. I next hid each div by setting the opacity to 0.&lt;/p&gt;
      
      &lt;p&gt;The CSS:&lt;/p&gt;
      &lt;code&gt;&amp;#x000A;  .about {&amp;#x000A;		position: absolute;&amp;#x000A;		top: 0;&amp;#x000A;		left: 100px;&amp;#x000A;		width: 900px;&amp;#x000A;		height: 350px;&amp;#x000A;		background: #FFFFFF url(images/1.jpg) no-repeat;&amp;#x000A;	}&lt;/code&gt;
      &lt;p&gt;The first part of the JS:&lt;/p&gt;
      &lt;code&gt;&amp;#x000A;  var backGrounds = $('.vendors, .cinematography, .production, .talent, .about ');&amp;#x000A;	 backGrounds.css({&quot;opacity&quot;:&quot;0.0&quot;});&lt;/code&gt;
      &lt;p&gt;Now we have a div with each image, and all of those div&amp;#8217;s are hidden using opacity.&lt;/p&gt;
      
      &lt;h2 id='the_plugin'&gt;The Plugin&lt;/h2&gt;
      
      &lt;p&gt;Next I created a cross fade, in which each link when hovered, will fade in a div tag. The HTML:&lt;/p&gt;
      
      &lt;p&gt;&lt;code&gt;&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;/code&gt; &lt;code&gt;&amp;lt;li id=&amp;quot;ctl00_genAbout&amp;quot;&amp;gt;&lt;/code&gt; &lt;code&gt;&amp;lt;a href=&amp;quot;about.aspx&amp;quot;&amp;gt;About&amp;lt;/a&amp;gt;&lt;/code&gt; &lt;code&gt;&amp;lt;/li&amp;gt;&lt;/code&gt; &lt;code&gt;....&lt;/code&gt;&lt;/p&gt;
      
      &lt;p&gt;Here is a unordered list used to build a menu.&lt;/p&gt;
      
      &lt;p&gt;The JS element call:&lt;/p&gt;
      &lt;code&gt;&amp;#x000A;  $(&quot;#ctl00_genAbout&quot;).crossFade(&quot;.about&quot;);&lt;/code&gt;
      &lt;p&gt;Here I have create a plugin called &amp;#8220;crossFade&amp;#8221;.&lt;/p&gt;
      
      &lt;p&gt;The plugin: &lt;code&gt;&amp;#x000A;  (function( $ ){&amp;#x000A;    $.fn.crossFade = function( option ) {&amp;#x000A;    	this.hover(function(){&amp;#x000A;  			$(option) .fadeTo(&quot;slow&quot;, 1.0);&amp;#x000A;  		},&amp;#x000A;  		function(){&amp;#x000A;  			$(option).fadeTo(&quot;slow&quot;, 0.0);&amp;#x000A;  		});&amp;#x000A;    };&amp;#x000A;  })( jQuery );&lt;/code&gt;&lt;/p&gt;
      
      &lt;p&gt;From the call is in the menu an item with the id ctl00_genAbout - is hovered the div .about is fades in and then when it fades out when a mouse moves off the link. In the plugin it uses the jQuery the keyword &amp;#8220;this&amp;#8221; refers to to the id &amp;#8220;ctl00_genAbout&amp;#8221; - the second paramater &amp;#8220;.about&amp;#8221; is the option marker in the function.&lt;/p&gt;
      
      &lt;p&gt;&lt;img alt='crossFade example' src='/attachments/WebDevelopment/crossFade.jpg' /&gt;&lt;/p&gt;
      
      &lt;h2 id='conclusion'&gt;Conclusion&lt;/h2&gt;
      
      &lt;p&gt;Overall it is very easy to build a jQuery plugin. Overall in less than an hour I figured out how to build the plugin, and even though this is a very simple example, it is still useful in a real world example. For more information on how to build or author a plugin see this &lt;a href='http://docs.jquery.com/Plugins/Authoring' title='jQuery Plugins'&gt;page&lt;/a&gt;.&lt;/p&gt;
    </content>
    <published>2010-10-10T00:00:00+00:00</published>
    <updated>2010-10-10T00:00:00+00:00</updated>
    <category term='WebDevelopment'></category>
  </entry>
  <entry>
    <title>Using Human Actions to plan projects instead of misconceptions</title>
    <link href='http://www.tspore.com/WebDevelopment/Tech-Project-Planning' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-08-21:/WebDevelopment/Tech-Project-Planning</id>
    <content type='html'>
      &lt;h2 id='the_rub'&gt;The Rub&lt;/h2&gt;
      
      &lt;p&gt;I work regularly with a few agencies, and small companies, and more times than I can count I set a request for work. &amp;#8220;We would like a website built.&amp;#8221; So we have a brief discussion, or email banter, and all parties have a series of preconceived notions (many times their are not 2 parties but multiple parties in a project). I setup a work order and get to work. Next we get 25% of the way done, and then the client has some changes, expanding the job requirements by 50%. Then I say this isn&amp;#8217;t in the work spec, the client is not happy, they see it as we are gouging them, or not fulfilling a basic requirement, or something like that. The other side of the coin, I had a co-worked who ended up not up charging for changes for a project, and was working for $20 an hour - Which is less than what he spends for taxes, and health insurance, and tools. By the end I have seen where all members of a project walk away frustrated and feel taken advantage of in projects.&lt;/p&gt;
      
      &lt;h2 id='agencies'&gt;Agencies&lt;/h2&gt;
      
      &lt;p&gt;I love agencies, in fact I get a healthy amount of work from them. The issue that I have seen multiple times is that a client goes to an agency, for a project to be built. They then outsource a project to another agency, from that point, to another group, and then finally to a independent contractor or a worker. The worker makes a bid of say $4,000 for a project, by the time it gets back to the client it could be a $16,000 - $20,000 project. When a client wants to make a change they say hey I&amp;#8217;m paying good money, you guys need to do this. The worker, says I bid for 2 week&amp;#8217;s worth of work, this change will cost me 2 days worth of time, it is going to be a up charge.&lt;/p&gt;
      
      &lt;p&gt;Who&amp;#8217;s right here? A the client - who feels entitled to make perceived small changes (though small changes can be relative here.) The worker - who discovers that a change can be an extra week&amp;#8217;s worth of work, because it demands a total refracting of the project. Or the agency who is deeply invested in the project. They manage the clients, they are involved in maybe the graphic design of the project, and they are using up hours on this project.&lt;/p&gt;
      
      &lt;p&gt;In my opinion all parties are right. They all from their own point of view are correct. I think from doing these projects backwards, as I have done for the last 10 years is the issue here. The problem is instead of spending a week up front sketching out what people want, it is a rush to production, and instead of a project taking a month, it takes 6 months. Instead of being in budget, we have many parties which are trying to make up for extra time, in this case what we are bartering is time.&lt;/p&gt;
      
      &lt;p&gt;I decided 6 months ago that for me to work a paradigm had to be changed.&lt;/p&gt;
      
      &lt;h2 id='behavior_driven_development'&gt;Behavior Driven Development&lt;/h2&gt;
      
      &lt;p&gt;About 6 months ago I started to explore Behavior Driven Development. Basically it sets in plain language the goals of a project to be performed. See &lt;a href='http://en.wikipedia.org/wiki/Behavior_Driven_Development'&gt;wikipedia&lt;/a&gt; for more info on BDD. Probably the most popular BDD framework currently is cucumber, and I think it is a great framework. But in my opinion it also doesn&amp;#8217;t meet the initial level of project overview. To get the project laid out, with a correct budget, and timeline, I think that BDD needs to be done at the earliest stage possible. That is when the client comes to the agency. Before any budgets, before any mockups, before any contracts. In fact right after the initial meeting is the correct place to start.&lt;/p&gt;
      
      &lt;h3 id='a_simple_outline'&gt;A Simple outline&lt;/h3&gt;
      
      &lt;p&gt;I don&amp;#8217;t want to give away my whole strategy, nor would I say that I have perfected this process yet. But I have used it with 2 clients on major projects, and am currently working with a client from initial idea using this model, and overall it seems to be the best formula for building a web application, that I have found.&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;
      &lt;p&gt;Step 1 thought bubbles&lt;/p&gt;
      
      &lt;p&gt;After an initial meeting, take what the client has given and create a series of thought bubble about what the client has told you. I usually send these notes to the client, to just make sure I got the project correctly.&lt;/p&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
      &lt;p&gt;Step 2 - User Usage Diagram&lt;/p&gt;
      
      &lt;p&gt;In this step we layout how we want a person to interact with the application. E.g. Bob wants to share about his new car&amp;#8230;. A lot of ideas are able to be fleshed out, quickly. So take a project I worked on last month, the client wanted an iPhone app, with some data coming from a DB. Well 1/2 into the project since we didn&amp;#8217;t really have this fleshed out before hand, the client said he expected a web UI to manage subscriptions, ads and data. This was totally new to us, and not part of the original spec. But if they had done some usage diagrams to start with then that would have been part of the original bid. Instead of tweaking the entire project to work with a website. I came in late on that project and quickly built up a web ui, but even that changed a few times.&lt;/p&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
      &lt;p&gt;Step 3 - Create a todo list and a timeline&lt;/p&gt;
      
      &lt;p&gt;Now that the client has agreed to a basic usage diagram, we next setup a todo list, with such information such as timeline, DB tables, work spec, etc. It is after this information is setup we can give a bid. All in all we have only put into this project a small fraction of the work, and after less than 1 weeks worth of work, the client know what they are asking for, as well as has a todo list. Even the agencies can now get involved in the project and begin working on their parts. Also now when someone bids on part of the project they can have item A - $400-600 item B - 900 which is taken straight from the usage diagram, which the client and the contractors have all agreed on up front. Everyone involved on the project are speaking the same language.&lt;/p&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
      &lt;p&gt;Step 4 - A model -&lt;/p&gt;
      
      &lt;p&gt;Since I primarily deal with web technologies, I next like to build a quick model. This model is for the client to get a overall feel for how it works, as well as let the client, and stakeholders figure out what they want. This model will be a totally insecure website, it will use a tool like Rails scaffolding to quickly build the application. Also at this point it should be done with a few visual items as possible such as colors and logo. Some JavaScript interactions can take place if they help give an overall enhancement to the application. But overall we are about simplicity. All parties can be involved in changing the scope of work, but before actually building the project isn&amp;#8217;t this the time to do it? I think so. The key here is to get at least 20 users involved in trying the application out.&lt;/p&gt;
      
      &lt;p&gt;Ideally I think this would be a perfect time for a bid, but so far no one has taken me up on it at this point. Since actually having a test model it would be nice to wait until this time for a final spec. Overall, we are looking at around 2-3 weeks total work here. Not bad for a functional sample application.&lt;/p&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
      &lt;p&gt;Step 5 - Graphic design &amp;amp; population -&lt;/p&gt;
      
      &lt;p&gt;All members of the team are interested in getting moving on the project, with a sample project built, we can now begin the overall branding of the site, as well as start getting the data together for the application.&lt;/p&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
      &lt;p&gt;Step 6 - Beta release&lt;/p&gt;
      
      &lt;p&gt;Once the application is built its time for beta users. I really like invitation systems, and gathering as much feedback as possible.&lt;/p&gt;
      &lt;/li&gt;
      
      &lt;li&gt;
      &lt;p&gt;Step 7 - Public launch&lt;/p&gt;
      &lt;/li&gt;
      &lt;/ul&gt;
      
      &lt;h3 id='example_user_usage_diagram'&gt;Example User Usage Diagram&lt;/h3&gt;
      
      &lt;p&gt;Now without giving away to much about a sample application that I&amp;#8217;m currently working on. Here is a screen shot of part of a usage diagram. The story goes down the left hand column - Behind the scenes interactions, questions and comments are on the right side of the page. For a good picture of the project, I usually build one of these, show it to the client, and then have the client build a second one. While they are doing it, I build another one, and then we collaborate and discuss these as a starting place on the project.&lt;/p&gt;
      
      &lt;p&gt;&lt;img alt='User Usage Diagram' src='/attachments/WebDevelopment/UserUsageDiagram.jpg' /&gt;&lt;/p&gt;
      
      &lt;h2 id='conclusions'&gt;Conclusions&lt;/h2&gt;
      
      &lt;p&gt;Overall this is totally different than I have seen any other project built. Instead of a client spending 10k and finding out that they can&amp;#8217;t do the project. This model will cost 2k to get started. Overall we will have a true outline for the project, and have well managed expectations. Everything that we are missing in to many of these projects. Overall, I wonder what others think. Overall, I this whole process has really helped the clients who I have used it with, and as always if you or your company could benefit from this service feel free to send me a email for a quote.&lt;/p&gt;
    </content>
    <published>2010-08-21T00:00:00+00:00</published>
    <updated>2010-08-21T00:00:00+00:00</updated>
    <category term='WebDevelopment'></category>
  </entry>
  <entry>
    <title>Version Control</title>
    <link href='http://www.tspore.com/WebDevelopment/git-strategy' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-08-19:/WebDevelopment/git-strategy</id>
    <content type='html'>
      &lt;p&gt;All web developers should be using version control software to maintain their local copies of software. For example, you are working on a brochure style website, and the client asks for a small change to the layout. They they don&amp;#8217;t quite like that change and ask for a different version of it. Finally the next day they ask to go back to the version of the site from 2 days ago. Overall, you may not remember what that means, but if you had your site under version control software it would simple be a means to fix the site.&lt;/p&gt;
      
      &lt;p&gt;Or take the times in which you reformat your computer, and its been 2 years since you last looked at a project. But since you have deleted out the files off your computer you now need to reinstall them from the live server, and in so doing you most likely don&amp;#8217;t have all the original source files or your notes. If you had taken the time to add the files into version control software you could quickly just pull the files from a central repository and get to work.&lt;/p&gt;
      
      &lt;p&gt;All of this sounds good and I think that most people would agree we need to keep our software under some type of version control software but it has to be quick and easy.&lt;/p&gt;
      
      &lt;p&gt;I have a github account, and use git, but at times I would prefer to use mercurial, or another solution. In my opinion any of these distributed version control software solutions are fine. However, I don&amp;#8217;t want to make all my projects public, nor do I want to pay for every single project to be hosted on github (or other service). Some projects that I want to be released to the public are a great place, and other projects that I am working with many developers on, can be in a private github account. But for me to pay $22 a month to host 20 private accounts is a bit extreme.&lt;/p&gt;
      
      &lt;h2 id='use_dropbox'&gt;Use DropBox&lt;/h2&gt;
      
      &lt;p&gt;Overall I have been using dropbox for around a year. I often use it to share between my computers files such as my 1password DB Or keep my todo list in sync. However for the last month or so I decided to expand my dropbox usage, to maintain all my current web projects.&lt;/p&gt;
      
      &lt;ol&gt;
      &lt;li&gt;1 I assume that at the point I go to deploy an application my computer will break.&lt;/li&gt;
      
      &lt;li&gt;I would like to do version tracking with projects&lt;/li&gt;
      
      &lt;li&gt;I need to have all my projects available to me on any computer, as well as with those who work with me.&lt;/li&gt;
      
      &lt;li&gt;In 6 months I want to be able to quickly grab my project, source files and notes on a website to get upto speed quickly.&lt;/li&gt;
      &lt;/ol&gt;
      
      &lt;p&gt;To help keep all of that and more in sync I have been using drop box and recommend that you look at doing the same &lt;a href='https://www.dropbox.com/referrals/NTc4NjQxMDc5'&gt;download link.&lt;/a&gt; The dropbox crew has made setup and sharing files dead simple. In many ways dropbox is what I always hoped my .mac idisk to be.&lt;/p&gt;
      
      &lt;h2 id='setup_your_todos'&gt;Setup your todo&amp;#8217;s&lt;/h2&gt;
      
      &lt;p&gt;I use textmate all day long. I grew tired of having 20 applications open on my computer, so I decided a few months ago to abandon omnifocus (at least for now). Instead I found a textmate plugin called &lt;a href='http://henrik.nyh.se/2007/08/tasks-bundle'&gt;text-bundle&lt;/a&gt;. Basically all this bundle does is create a heading with a : - and either a dash for items to do, or checkmark for tasks completed.&lt;/p&gt;
      
      &lt;p&gt;Usually I have set for any given day 5-10 tasks which need to be done, then as I complete them I check them off the list. Some of them need notes, so I enter the date (isoD (tab)) and write a note. I also have 2 subfolders one called archive and the other projects.&lt;/p&gt;
      
      &lt;p&gt;On my todo list it can hold about a months worth of tasks, and billing notes for each month so once that the month is completed I move the old todo list for the month into the archive, and I can get to it if I need it or totally ignore it.&lt;/p&gt;
      
      &lt;p&gt;For my active projects those are keep in a Projects folder with the name of the client and project e.g. WidgetIncHomePage.todo. When I&amp;#8217;m talking over the project I use the task bundle to make my notes - usually a section at top has the list of todo&amp;#8217;s, and then at the bottom has notes from our conversations. As I complete the action points I check them off the list, and make any additional notes. Finally once the client is satisfied, I archive the task, add the billing to my toBill document, and move on.&lt;/p&gt;
      
      &lt;p&gt;Between textmate and dropbox - I have managed the project, with no extra software running on my computer except my text editor.&lt;/p&gt;
      
      &lt;p&gt;Second I have a central location of all my notes, and I can access them anywhere with no problems. I don&amp;#8217;t have to worry about backing them up either. So at the end of the month I have 1 place to look up billing, 1 place to manage my client notes, 1 place to keep my todo list straight.&lt;/p&gt;
      
      &lt;p&gt;&lt;img alt='Dropbox Files' src='/images/dropbox.jpg' /&gt;&lt;/p&gt;
      
      &lt;h2 id='git_repository'&gt;Git repository&lt;/h2&gt;
      
      &lt;p&gt;I also need a repository to keep my files backed up. So what I have done is create a folder called GitRepo in my dropbox folder and I backup each project to my gitRepo folder. Basically I cd into my folder I&amp;#8217;m working on, and with the repository ready I create a clone of it to /Users/tspore(my user folder)/Dropbox/GitRepo/Allplaces.git(the name of my site). Next I create a remote connection - git remote add dropbox &amp;lt;- All of my projects have the remote now of dropbox. Once I&amp;#8217;m ready to backup I just git push dropbox and the projects are backed up to my dropbox.&lt;/p&gt;
      
      &lt;p&gt;$ git clone &amp;#8211;bare . /Users/tspore/Dropbox/GitRepo/Allplaces.git&lt;/p&gt;
      
      &lt;p&gt;$ git remote add dropbox /Users/tspore/Dropbox/GitRepo/Allplaces.git&lt;/p&gt;
      
      &lt;p&gt;$ git push dropbox&lt;/p&gt;
      
      &lt;p&gt;If you don&amp;#8217;t add in the &amp;#8211;bare, you will find a lot of issues with adding and pulling files in the future. Also I can now just share a repository, and they can quickly make changes. Easy Peasy.&lt;/p&gt;
      
      &lt;h3 id='the_story_so_far'&gt;The Story so far&lt;/h3&gt;
      
      &lt;p&gt;So now I have all my projects under version control in this case using Git. I have all my project notes in a central location, in my todo folder. And also I have all my files backed up. I can access all of this anywhere on any computer. I am 99% done.&lt;/p&gt;
      
      &lt;p&gt;If you want to pull your changes -&lt;/p&gt;
      
      &lt;p&gt;$ git pull dropbox master&lt;/p&gt;
      
      &lt;h2 id='publishing_a_site_using_ssh'&gt;Publishing a site using SSH&lt;/h2&gt;
      
      &lt;p&gt;So 99% of the time I can just use ssh to talk to my servers (as in colocation or slicehost or something like that). But I personally don&amp;#8217;t like ssh/sftp, I&amp;#8217;m lazy, and find that method at times feels awkward. But like a super hero flying in comes GIT.&lt;/p&gt;
      
      &lt;p&gt;My basic LAMP server setup looks something like /var/www/site/ . In the sites folder apache is pointed to /var/www/site/public/ , and I have a space to put things like htpassword, config files, etc, 1 directory up, outside of public directory. So back to business -&lt;/p&gt;
      
      &lt;p&gt;&lt;em&gt;ssh into you remote server&lt;/em&gt;&lt;/p&gt;
      
      &lt;p&gt;$ cd to /var/www/site/&lt;/p&gt;
      
      &lt;p&gt;$ mkdir website.git&lt;/p&gt;
      
      &lt;p&gt;$ cd website.git&lt;/p&gt;
      
      &lt;p&gt;(Now you have in /var/www/site/public &amp;amp; /var/www/site/website.git directories)&lt;/p&gt;
      
      &lt;p&gt;$ git init &amp;#8211;bare&lt;/p&gt;
      
      &lt;p&gt;$ git config core.worktree /var/www/site/public&lt;/p&gt;
      
      &lt;p&gt;$ git config core.bare false&lt;/p&gt;
      
      &lt;p&gt;$ git config receive.denycurrentbranch ignore&lt;/p&gt;
      
      &lt;p&gt;$ cat &amp;gt; hooks/post-receive&lt;/p&gt;
      
      &lt;p&gt;#!/bin/sh&lt;/p&gt;
      
      &lt;p&gt;git checkout -f&lt;/p&gt;
      
      &lt;p&gt;$ chmod +x hooks/post-receive&lt;/p&gt;
      
      &lt;p&gt;&lt;strong&gt;back on your local machine&lt;/strong&gt;&lt;/p&gt;
      
      &lt;p&gt;git remote add web ssh://lamp.server.com/var/www/site/website.git&lt;/p&gt;
      
      &lt;p&gt;git push web master&lt;/p&gt;
      
      &lt;p&gt;Basically now I can issue a git push web anytime to update my site. I love super git :D This basic info comes from this &lt;a href='http://toroid.org/ams/git-website-howto'&gt;article&lt;/a&gt;.&lt;/p&gt;
      
      &lt;h2 id='publishing_a_site_using_ftp'&gt;Publishing a site using FTP&lt;/h2&gt;
      
      &lt;p&gt;In my new minimalistic approach how do I publish to the web. I do often use &lt;a href='http://panic.com/transmit/'&gt;Transmit&lt;/a&gt; It is a great FTP client. I also do use git with ssh to publish a lot of sites. But on some sites I only have ftp access. So I needed a way to publish without Transmit. I found a simple tool call git-ftp.&lt;/p&gt;
      
      &lt;p&gt;I saw this on &lt;a href='http://github.com/resmo/git-ftp'&gt;github&lt;/a&gt; - However, the install instructions were for Linux, but it really doesn&amp;#8217;t require much.&lt;/p&gt;
      
      &lt;p&gt;$ git clone git://github.com/resmo/git-ftp&lt;/p&gt;
      
      &lt;p&gt;$ chmod +x git-ftp/git-ftp&lt;/p&gt;
      
      &lt;p&gt;Now when you want to FTP a site to a server -&lt;/p&gt;
      
      &lt;p&gt;$ ~/git-ftp/git-ftp push -u example -p -v ftp.example.com&lt;/p&gt;
      
      &lt;p&gt;It will prompt you for your password (-p)&lt;/p&gt;
      
      &lt;h2 id='the_results'&gt;The results&lt;/h2&gt;
      
      &lt;p&gt;Basically now I have version control, backups, centralized notes, simplified billing, and can publish all from my favorite text editor e.g. textmate. As well as I can publish my sites using either SSH, or ftp over git. All in all it isn&amp;#8217;t only a time saver but a method to keep organized, and a minimalistic approach to web design.&lt;/p&gt;
    </content>
    <published>2010-08-19T00:00:00+00:00</published>
    <updated>2010-08-19T00:00:00+00:00</updated>
    <category term='WebDevelopment'></category>
  </entry>
  <entry>
    <title>Children's Dental Group</title>
    <link href='http://www.tspore.com/projects/Childrens-Dental-Group' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-03-17:/projects/Childrens-Dental-Group</id>
    <content type='html'>
      &lt;p&gt;Spaceshipdentist, is a massive beast that they wanted to convert to a CMS. This has lead to 11 different domain names all posting to various pages. We have used Modxcms, to manage this project, and really has come out very well. A lot of SEO work performed by someone else has been done, so we had to match page titles, create 65+ 301 redirects, etc. All in all I think that both the client and our team is very proud of this site.&lt;/p&gt;
      &lt;a href='attachments/projects/cdg.jpg' rel='lightbox[projects]'&gt; &lt;img alt='' name='' src='attachments/projects/s-cdg.jpg' width='125' /&gt; &lt;/a&gt;&lt;a href='attachments/projects/cdg.jpg' rel='lightbox[projects]'&gt;image 2 &lt;/a&gt;&lt;a href='attachments/projects/cdg3.jpg' rel='lightbox[projects]'&gt;image 3 &lt;/a&gt;&lt;a href='attachments/projects/cdg2.jpg' rel='lightbox[projects]'&gt;image 4 &lt;/a&gt;
      &lt;p&gt;&lt;a href='http://spaceshipdentist.com'&gt;Spaceshipdentist&lt;/a&gt;&lt;/p&gt;
    </content>
    <published>2010-03-17T00:00:00+00:00</published>
    <updated>2010-03-17T00:00:00+00:00</updated>
    <category term='projects'></category>
  </entry>
  <entry>
    <title>HTML Email?</title>
    <link href='http://www.tspore.com/WebDevelopment/html-email' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-03-11:/WebDevelopment/html-email</id>
    <content type='html'>
      &lt;p&gt;Really mass email is or probably should be a dying breed in 2010. Take for example, Costco mass email, it comes way, way to often to my inbox, and very rarely do I even bother to look at it anymore. However, if it wasn&amp;#8217;t effective, I would guess they wouldn&amp;#8217;t do it. I also have to admit I do occasionally look through it.&lt;/p&gt;
      
      &lt;p&gt;Mass HTML email is different than Spam, at some point I did subscribe to it&amp;#8230;. I guess and it is really cheap to do it. I give an estimate to a guy who wanted to send out a large post card to a local city (around 6,000 homes) a few weeks ago, and the bid if I remember correctly was around $6k. Between the mail house fee (which was nominal), postage (which was half), printing, and design time, it was way to expensive. So compared to sending out a mass email to 6,000 people which would really only cost a 1/2 days work, sending out mass email is quite cheap.&lt;/p&gt;
      
      &lt;p&gt;All in all I think that we are at the end of days for B&amp;amp;H wishbooks (the 1000&amp;#8217;s of pages of every single tech item in the world) or Sears Wishbooks. They are to expensive to mail. In fact really for family birthdays and such, I don&amp;#8217;t even send presents except through Amazon. Out side of paying my taxes I don&amp;#8217;t think I have sent many personal letters either. So perhaps, the dying beast isn&amp;#8217;t HTML mass email but instead business postcards.&lt;/p&gt;
      
      &lt;h2 id='how_to_format'&gt;How to format&lt;/h2&gt;
      
      &lt;p&gt;First let&amp;#8217;s think of email clients, the nicest mail client I have seen is Apple&amp;#8217;s own mail. It is quite nice, also the iPhone mail client is way ahead of my old Blackberry&amp;#8230;. I keep trying to convince my co-worker to get a Droid so I can play with his, but I will have to reserve judgement on that one. Anyhow the simple rules are all the CSS rules (not CSS as a whole just the rule set BTW.) that you have learned you will want to throw that out the window. Avoid DIV tags, use lots of tables, and remember use inline styles.&lt;/p&gt;
      
      &lt;h2 id='the_rules'&gt;The Rules&lt;/h2&gt;
      
      &lt;p&gt;&lt;img alt='Example picture' src='/attachments/WebDevelopment/htmlemail.jpg' /&gt;&lt;br /&gt;I this week just formatted a design for a client which went out, and that brought to my mind the need to create some rules.&lt;/p&gt;
      
      &lt;ul&gt;
      &lt;li&gt;First I always do set the font declaration at the top of the page (See the screen shot above) - That is usually the only real property that I do set at the top.&lt;/li&gt;
      
      &lt;li&gt;Add in td tags or p tags inline styles e.g. - style=&amp;#8221;_rules_&amp;#8221; .&lt;/li&gt;
      
      &lt;li&gt;You can make it look beautiful but it takes time.&lt;/li&gt;
      
      &lt;li&gt;As always I usually prefer to get the final images, and copy from the clients up front if not it takes a lot more time.&lt;br /&gt;Really those simple rules seem to render the design correct most of the time. I also prefer when sending a email to give people a way to click a link to view it on a webpage, as well as it is always smart to also send a plain text version of the email.&lt;/li&gt;
      &lt;/ul&gt;
      
      &lt;h2 id='how_to_test'&gt;How to test&lt;/h2&gt;
      
      &lt;p&gt;On a mac it is really simple to test how the mail will look. When previewing the document just hit CMD I or &lt;strong&gt;File -&amp;gt; Mail the Contents of this page&lt;/strong&gt; and that should load the message in your mail client. I always try to test the email in 3 locations - #1 Apple mail (I like to see it perfect), #2 web based Gmail (probably the most picky in terms of font colors, and such), and #3 in Outlook (which I figure will be what most people look at it in). All in all that should cover most people and how they will see it, without having to go crazy with testing.&lt;/p&gt;
    </content>
    <published>2010-03-11T00:00:00+00:00</published>
    <updated>2010-03-11T00:00:00+00:00</updated>
    <category term='WebDevelopment'></category>
  </entry>
  <entry>
    <title>Fillmore Paragliding Launch</title>
    <link href='http://www.tspore.com/pano/Fillmore-Hills' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-03-07:/pano/Fillmore-Hills</id>
    <content type='html'>
      &lt;p&gt;The Fillmore Paragliding launch is a beautiful place which overlooks the valley. Overall I really enjoy the 10 minute drive to the top to see the valley. It was a bit overcast on the day of this shot, but still it is quite a beautiful place to live. On a clear day you can see the islands. &lt;img alt='Paragliding Launch' src='http://photos.allplaces.net/photos/501616095_wTZUS-M.jpg' /&gt;&lt;/p&gt;
      &lt;script language='JavaScript' type='text/javascript'&gt;
          embedquicktime( &quot;/images/panos/paragliding.mov&quot;, 400, 316, &quot;true&quot; );
      &lt;/script&gt;
    </content>
    <published>2010-03-07T00:00:00+00:00</published>
    <updated>2010-03-07T00:00:00+00:00</updated>
    <category term='pano'></category>
  </entry>
  <entry>
    <title>Fillmore City Hall</title>
    <link href='http://www.tspore.com/pano/Fillmore-City-Hall' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-03-06:/pano/Fillmore-City-Hall</id>
    <content type='html'>
      &lt;p&gt;To get this entire scene I had to use the 8mm fisheye. I have never been a huge Fisheye fan, but to tell you the truth in this case it was a life saver. I tried with the 7mm-14mm but I couldn&amp;#8217;t get the whole shot.&lt;/p&gt;
      
      &lt;p&gt;Also the City hall is as far as I can tell the tallest building in town. Unwrapped the shot is ok, but I think that the movie is very pleasant to look at. Really I could spend all day looking at these pictures. The biggest disadvantage, was I didn&amp;#8217;t quite get the pavement 100% with the lines. But I wasn&amp;#8217;t doing this for a client, so I only did it once. (Also you can see me in the reflection.)&lt;/p&gt;
      
      &lt;p&gt;&lt;img alt='Fillmore City Hall' src='http://photos.allplaces.net/photos/499567474_hd5N4-M.jpg' /&gt; &lt;script language='JavaScript' type='text/javascript'&gt;
          embedquicktime( &quot;/images/panos/Cityhall.mov&quot;, 400, 316, &quot;true&quot; );
      &lt;/script&gt;&lt;/p&gt;
    </content>
    <published>2010-03-06T00:00:00+00:00</published>
    <updated>2010-03-06T00:00:00+00:00</updated>
    <category term='pano'></category>
  </entry>
  <entry>
    <title>The Fish Hatchery</title>
    <link href='http://www.tspore.com/pano/fish-Hatchery' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-03-05:/pano/fish-Hatchery</id>
    <content type='html'>
      &lt;p&gt;The Fillmore Fish Hatchery, is one of my boys most favorite places to visit. Lot&amp;#8217;s of fish, birds, and room to run makes it a frequent visiting place for us. Really I think I like the photo more than the video but all it all I think they both work. I don&amp;#8217;t know how it happened but their are a few odd bright spots in the photo. The peeling of a 360 degree photo with a straight road is neat to look at too. &lt;img alt='fillmore fish hatchery' src='http://photos.allplaces.net/photos/498174598_WhcvN-M.jpg' /&gt;&lt;/p&gt;
      &lt;script language='JavaScript' type='text/javascript'&gt;
          embedquicktime( &quot;/images/panos/fish-hatch3.mov&quot;, 400, 316, &quot;true&quot; );
      &lt;/script&gt;
    </content>
    <published>2010-03-05T00:00:00+00:00</published>
    <updated>2010-03-05T00:00:00+00:00</updated>
    <category term='pano'></category>
  </entry>
  <entry>
    <title>Casey's room.</title>
    <link href='http://www.tspore.com/pano/caseyroom' rel='alternate' type='text/html' />
    <id>tag:www.tspore.com,2010-03-04:/pano/caseyroom</id>
    <content type='html'>
      &lt;p&gt;This was my first attempt with my current &lt;a href='equipment'&gt;Equipment&lt;/a&gt; setup last year. I waited till the light in the room was nearly perfect. But after the first set of shots, I had to use the internal light, so its still good but not perfect -&lt;br /&gt;&lt;img alt='Caseys Room' src='http://photos.allplaces.net/photos/493727286_w3TuV-S.jpg' /&gt;&lt;br /&gt;This shot wasn&amp;#8217;t really thought of to be used as a movie, until I assembled it, but I didn&amp;#8217;t have a image of the floor So the next morning I shot the scene over again. All in all It is a beautiful photo, just have to crop off some floor, and I would be proud to show it off.&lt;/p&gt;
      
      &lt;p&gt;The next day I did shoot the same scene with a top and bottom picture so that I could make a 360 degree movie out of it, but the lighting wasn&amp;#8217;t as good.&lt;br /&gt;&lt;img alt='Caseys Room2' src='http://photos.allplaces.net/photos/494101036_koZxu-S.jpg' /&gt;&lt;br /&gt;Really the lesson here is know what you want to do with a photo before you take the picture. (Of course I could always crop down the 2nd one for a print if I wanted too).&lt;/p&gt;
      
      &lt;p&gt;Below is the first attempt, not bad for a first attempt, with new equipment. But I think I am going to like this rig.&lt;/p&gt;
      &lt;script language='JavaScript' type='text/javascript'&gt;
          embedquicktime( &quot;/images/panos/CaseyRoom2.mov&quot;, 400, 316, &quot;true&quot; );
      &lt;/script&gt;
    </content>
    <published>2010-03-04T00:00:00+00:00</published>
    <updated>2010-03-04T00:00:00+00:00</updated>
    <category term='pano'></category>
  </entry>
</feed>

