Eric L. Barnes

My 2012 - A look back

This past year has flown by and it is really hard for me to grasp that it is already 2013. As I sit here and look back it has been a wild ride for me and I wanted to write a post covering some of the big things that happened in my life both personally and professionally.

New Job

Back in January I took a new job working at UserScape. In hind sight this was an awesome decision. I not only work with two of the smartest guys I know but UserScape is an awesome employer.

New House

A week after starting this new job I bought a new house just a few miles down the street from where I had been living for the past 7 years. It was a foreclosure and they had a front porch auction. That was my first experience in an actual real life auction with big numbers. Luckily we were able to get the house for a good deal even though we went over our initial budget. If you have never been in an auction and it’s easy to get wrapped up in the moment.

After a very short few weeks we had finishing the closing process and decided to fully go through the house and paint, fix any issues, and get it perfect for when we actually moved. My wife knew that if it wasn’t done before moving then it would never get done. :) Looking back that was a great decision and I couldn’t have gotten finished without the help of my family. There is a reason I work on the web. Painting is horrible, fixing things is horrible, moving is horrible.

One of the perks with this new home is the neighborhood has a pool. So we spent most of the summer swimming and meeting neighbors. Having an employer that offers summer hours is awesome. All this time at the pool did have a positive side effect though. I wasn’t happy with my weight and going to the pool every day made me realize I needed to start exercising.

Losing Weight

In July I decided to get serious about my weight. After researching various diets I settled on just eating less calories. I love sweets and I wasn’t willing to give those up. So I tracked my calories everyday, stopped drinking sodas, and started eating less during meals.

Men or women who are 5 feet 4 inches tall would have “normal” BMI if they weighed between 108 and 145 pounds, for example, and overweight if they weighed 146 to 174 pounds, and obese if weighed more than that.

Next I got my mountain bike out and started riding again. It had been a few years since the last time I rode and I had forgotten how fun it is. I was able to ride close to 100 miles before it got to cold and the time changed. With both riding and calorie watching I was able to go from 172 down to 150.

Just because of the changing seasons I didn’t want to stop losing and in December I started the Insanity workout program. Currently I am down to 144. My original goal was 155 but now I am thinking 130’s.

Work

Work wasn’t slow either. One of the first projects I did was build the simple Laravel Bundle site and convert a design Fixel created into the Laravel site. This was all easy stuff but got my feet wet in Laravel after using CodeIgniter for the past 6 years.

From here we started a new project which later was put on hold and instead it turned into Snappy. Originally we never planned for it to look or work as it does today. It was going to be more a traditional app with some ajax interaction thrown in.

From all of our ajax discussion I started researching JS frameworks and settled on giving knockout a spin. At first glance it seemed to fit with our goals but after a short time I wasn’t really happy with how it was all working. At this point I found BackBone and jumped in to learn it.

I will be the first to say that I have been complacent over the years when it comes to JS and it was never a strong suit for me. Sure I could integrate a jQuery plugin, write some simple stuff, but never dreamed of building anything substantial. So going from pretty much nothing to a giant single page application was a huge learning experience for me. I can’t count the number of days I stayed up to ridiculous hours reading, practicing, and learning.

After a month we had a working wireframe working and then FocusLab was brought in to handle branding and design. As you can imagine the app at that point took another 180 degree turn. As a developer you always hate when that happens but you have to look at the end goal. You have to WOW your customers.

Now it is the end of the year and Snappy is in private beta with lots of goodies in the pipeline before our official launch. It is the classic software design issue where the last 10% takes 90% of the time.

Blogging

Benjamin Franklin once wrote, “Either write something worth reading or do something worth writing.” Seeing as I haven’t done the latter I am going to try and write something worth reading. I have put together a new design and plan to write longer article style posts and tutorials this year.

Zurb has put together this set of super awesome email templates so that you can make your email campaigns responsive!

If you ever create newsletters I am sure you know how much pain is involved and how horrible it is. Hopefully this will make it a little less tedious.

Here is a great collection of everyday mac apps a few developers have contributed too. I see a few mentioned CodeRunner and I have not personally tried it. Going to be adding it to my wish list.

Statamic Email Form Plugin

This is a plugin for Statamic that is designed to allow you to quickly and easily create email forms. Currently it is pretty basic but flexible so it should be a great starting point. I hope to get feedback on this release and then make improvements over time.

Installation

Copy the “email” folder to your _add-ons directory.

Example Form Template

Here is a full example to get you going. Please see the parameters section for more field options:

{{ email:form subject="Contact Form" to="eric@ericlbarnes.com" required="name" }}
    {{ if error}}
        <h1>Error</h1>
        <ul>
        {{ errors }}
            <li>{{error}}</li>
        {{ /errors }}
        </ul>
    {{ endif }}

    {{ if success }}
        <h1>IT WORKED!</h1>
    {{ else }}
        <p>
            <label for="name">Name:</label>
            <input type="text" name="name" id="name" value="Bill">
        </p>
        <p>
            <label for="from">Email:</label>
            <input type="text" name="from" id="from" value="test@test.com">
        </p>
        <p><input type="submit"></p>
    {{ endif }}
{{ /email:form }}

Parameters

The {{ email:form }} tag accepts the following paramaters:

  • subject: The subject of the email.
  • to: The form recipient’s email address.
  • cc: A cc email address.
  • bcc: A bcc email address.
  • required: A pipe seperated list of required fields. Example: “name|address|city”. Currently this only does simple validation to check if it is an empty value.

Issues / Gotchas

The name field is hard coded as the reply name in the plugin so it is recommended you use this field in your form.

Contribute

Keep in mind this is the first release so if you see any issues or have ideas for improvements pull requests are gladly accepted. ;-)

Download

You can clone the repo by running the code below:

$ git clone git@github.com:ericbarnes/Statamic-email-form.git

Or visit the GitHub Repo.

A few days ago I released a simple Statamic sitemap template and it works just fine for my personal use on this site. If you are interested in a much better version check out Max Westen’s Sitemap Plugin. It offers the following features mine does not:

It fetches all pages/entries and folders, without specifying them and updates the updatefreq dynamically based on last edit time. Also it uses the priority given in the yaml parameter on pages and/or entries.

He also several other plugins for Statamic that you may find useful: