Working Remote With Kids

Ian just made a post sharing 9 tips for working remote with kids. I thought it was a great list and the tip for making exceptions reminded of a great memory I got to share with my youngest daughter a few months ago

//platform.twitter.com/widgets.js

I couldn’t fit everything in the tweet but she came running into my office with a princess dress on and batting her eye lashes telling me I was cordially invited to a royal ball. It was unforgettable for me and a memory I will cherish forever.

These are the quick moments that I wouldn’t get to experience first hand if I didn’t work remote. While my kids are small I can’t imagine working in an office. They grow up to fast and then it’s gone. No turning back the clock on what you should have done.

Switching to PhpStorm

A few months back I retired Sublime Text from my day to day coding and have since switched to using PhpStorm as my go to editor. I do keep Sublime around for quick editing, writing blog posts, but I haven’t missed it otherwise. PhpStorm has a lot of nice features that you don’t realize sublime is missing until you switch. Here is my mini review on what I’ve found in the few months of using PhpStorm.

Git and Github

I have found the git and github integration brilliant. I really like opening issues right in the ide and it creating a new branch/workplace. At UserScape we do a lot with Trello and only use GitHub Issues for bugs so I don’t get to use this as much I would like. Maybe one day some one will integrate Trello. πŸ™‚

Committing is also something I really like doing without having to leave my editor. It has this integrated via command + k. Or if you are old school you can just open the terminal tab. My personal preference is to visually commit so I only use the terminal when I have small changes.

Find Anything

Another huge feature is the search everywhere. I have this mapped to “command + t” to match Sublime but the original is a Double-Shift. This is way more powerful than Sublime though. You can find files, classes, actions and preferences. I really like the actions searching because I have a mental block and can never remember them. This is probably why I don’t enjoy VIM or anything else that requires me to learn key maps. As an example I like splitting the window so I just “command + t” type vertical and BAM the action shows and it splits. Maybe I want to diff the file, again command + t type annotate. These are huge time savers for me.

Terminal

The terminal integrated is brilliant. We use grunt for all our js and css and have a simple watch/reload task. So when I start editing I just open terminal run grunt watch and then open a new terminal tab for anything else I may need. Deploying, artisan, composer, etc.

Code Complete

PHP code completion is very nice but believe it or not I find the code complete in html and less way more beneficial. It works just as nice as the php auto complete and does a very good job filtering css classes to find the one you want without having to hunt it down. It also has great support for CoffeeScript (The ONLY way to write JS). πŸ™‚

Themes and Interface

This is one area I do find frustrating at times. The default theme is Darcula and it is a huge improvement over previous versions and you can find a ton of themes at PhpStorm-Themes or my recent favorite Spacegrey. What frustrates me is the font adjustment and line-heights. Fonts typically look good at bigger sizes but when you set the size to 10 or 11 they just don’t feel crisp like Sublime. The line height is also crazy. You set it to 2.0 and then you get a monstrous cursor.

Tips

If you are currently using Sublime and want to try PhpStorm here are some tips I have. I would hide all the panels and just move in slowly. I started with just as a code editor and then slowly experimented with features until I found my ideal workflow. It has a huge number of features that I don’t understand and/or haven’t cared to fully investigate.

Expect it to be slower than Sublime. A lot goes on under the hood for finding things, auto completing, etc and it’s always going to be slower than sublime. I only really notice this at times but that first launch you will.

Laravel is my framework of choice and the code completion doesn’t work great with the facades. A work around is to add this composer package

"require-dev": {
    "barryvdh/laravel-ide-helper": "1.*"
},

Next go and watch some videos and read some posts that highlight features and show you tips you would otherwise miss.

All in all so far the features outweigh the annoyances I have so I am going to stick to using it for the foreseeable future. Big IDE’s aren’t for everyone, but I encourage you to give a PhpStorm a chance. I think you might just like it.

Write A Love Letter

The holidays are approaching fast and what better gift to give than a “love letter” to your loved ones. When I say love letter I’m not meaning the sappy kind that you are probably thinking about. No, I am talking about a letter from you to your family that outlines all the very personal important things they need to know in the event of your untimely death.

This is something much more personal than a legal contract such as a Last Will but would still be highly important to your family. I have seen a few examples of this letter but it’s easy enough that you do not need a template.

What I did was include three primary sections. The first a few paragraphs telling them what they mean to you, how much you love them, etc. The middle would have important private information about yourself. For me and I assume all my readers almost everything is in the computer so having the login and the password for 1password would be essential. These are the only two passwords they would need and from here could get access to pretty much anything. Then the final section describing how you want your funeral. Your favorite songs, favorite Bible verses, basically anything that would be important to you for your funeral.

For those that handle all/most of the finances it will be important to also have contact information on any of your advisors and any investment accounts. I have heard stories of families where one primarily handles all finances and the other not knowing or caring. This means if the one handles everything passes then the other will be in for a crazy life change. Anything you can do to make this easier would continue to show your love.

Finally, I would also start a journal if you haven’t. Three out of four of my grandparents have passed away and none of them kept a journal. Of course in my younger years this wouldn’t have meant anything to me but now as I’m getting older I would love to read all the stories they had. I’ve personally been using DayOne for the past year and it works well. It’s nice to have a place to keep your private thoughts, images of important events, and memories that would be forever lost otherwise.

Announcing Wardrobe

This site has always been my own little personal playground. I am constantly changing the design, the platform, and just experimenting.

Over the past few weeks I started building a brand new backend that I named Wardrobe. This was built from the ground up using Laravel 4, and Backbone.js with Marionette for the admin. The main goal was to create something minimal and simple to use.

Features

Even though it is minimal it still includes what I feel as the most critical features.

  1. Content
  2. Tagging
  3. Post Slugs
  4. Post Scheduling
  5. Post active/draft

Even though these are core features I only think content is a priority so everthing is hidden away but still quickly editable via the content toolbar.

Technologies

Because Laravel is awesome and very flexible I used that for the backend. The administration area is built using Backbone and Marionette to make everything feel super fast.

I have the luxury of being friends with the author Taylor so he made sure the backend was architecturally pure using service providers. Currently the backend only supports content stored in a database but because of the service providers swapping this out for flat files or some other service will be very easy.

I have used flat files with Jekyll and Statamic in the past but at the end of the day a database is so much easier to work with and I didn’t want to force a square peg in a round hole. πŸ™‚

All the administration is written using CoffeeScript and follows a lot of the same principles as Brian Mann covers in his BackboneRails tutorials. I then use grunt to compile and concat everything.

Care and Feeding of a Robot

 

I had the honor and privilege to speak at the first ever Laravel conference. After my talk, I had a few people ask me about my slides so I wanted to share those and give little insight into how I created them.

First off, I was doing my presentation on an actual product. So I wanted to be sure that it wasn’t presented as a sales pitch. Instead, I wanted to just share some good tips and some of the things we had learned throughout the process of building it. So for that I wanted to step away from all the branding that we currently use for Snappy.

For the design, I based everything around two fonts. Veneer as the primary and Thirsty Script as a secondary font. Once I locked in my fonts I decided on using the color scheme that Yellow Design had in the font screenshots. I knew it would compliment the fonts nicely and look professional. From here I just made everything match and be super big.

Slides

Video

Presentation Design for Developers

I am excited that I will get to speak at the first ever Laravel conference next month. I am in the process of building my presentation and I wanted to share a lot of tips, tricks and resources that I have found along the way. With the goal it will help you if you are ever presenting and just need a quick start.

Presentation Planning

The first step is plan your presentation. I use pen and paper for this. Stepping away from the computer allows me to gather my thoughts better and not get sucked into just doing research and browsing. I found this really helps.

Next I take my brainstorming notes and opened up a markdown app. From here I actually write out everything in story form. From what I have read presentations are better if they tell a story so this helps me get all my thoughts together. Almost like I am writing a blog post.

Presentation Design

This is the hard part for me. I am not a strong designer but I feel like I have a good grasp of what good design is. In other words I know it when I see it. The problem is everything I create I never see it being any good. So I am sticking with the classic big font and single color background.

For the color scheme I like to stay away from common white or black backgrounds. I found a lot of great color schemes from kuler, colourlovers, and even dribble. Of course there are many more sites that offer color schemes. Just pick something that has good contrast so your words will “pop”.

Fonts are a real struggle for me. There are millions of fonts and I have wasted about 5 nights just this past week looking and searching for the perfect one. I personally only like at most two fonts and I usually go with two that have a big contrast. Something like a sans-serif for big bold titles and handwriting for subtitles. A good site for finding free fonts is fontsquirrel.

I save images to the very end because I am constantly changing things as I go. Since I am not really to this point I wanted to share a great site for finding creative commons images on Flickr. The site is CompFight. If you do want to go with a commercial offering istockphoto seems to be fairly inexpensive.

In the end visit SpeakerDeck and browse their Featured Presentations. Most of those look great and will give you great ideas.

Keynote Tips

I am far from a keynote expert but here is a few tips I have picked up while doing my design.

First open the color picker box and get the color you want. Next drag this color down into the little swatches box. By doing this you can get all the colors you are going to use and have quick access to them. Here is an example:

keynote-colorpicker

I have found working with fonts a chore. I choose the generic white template as a base and it always reverted to Gil Sans. So any text box I add I then had to go and change the font manually. To change the font for all new text boxes all you have to do is first create a new text element. Pick your font, and finally go to format -> Advanced -> Define Text for all Masters.

I was honestly about to throw keynote out the window until I discovered this.

See it Live

Designing a presentation is only half the battle. The actual speaking part is what most fear. I have seen surveys where people say they would rather die than speak in front of a room full of people. I think that is a little extreme but everyone has their quirks. On a positive note if the talk bombs you can always share your beautiful slides and people will think you did an awesome job. πŸ™‚

If you want to see my finished presentation there is only one way. Attend the first ever laracon. It should be loads of fun and nice to finally get to meet a lot of the Laravel community. I want to give big props to UserScape for getting the ball rolling on this.

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.