Posts


  • The Best, Worst Mistake I Ever Made

    Several years ago, I made the mistake of snoozing my alarm clock one too many times. I was running late for my 8:00am Typography II class. I didn’t know it yet, but it was the last time I’d ever be late to a class. I was in a rut. I was rude and callused in my critiques. I pretended to fit into the classes, and I thought I was a fraud. I would join the chorus of students who groaned at the idea of doing more than 100 thumbnails of sketches. I was quietly becoming one of the pessimists and didn’t even know it.

    I ultimately landed a ‘D’ in the Type course and was told that if was to remain in the program, I was to re-take Typography II next year. With no promise of even making the senior cut of the highly competitive Communication Design program at the University of North Texas (and bills mounting), I decided to say to hell with it and left the program. A world of sorrow and pessimism left me, I shed my sophist skin and bootstrapped my life back together.

    I began pursuing my other interests in life. I began reading more about science and film, and began entrepreneurial pursuits and even began freelancing design and illustration work in my free-time. While doing all this, I also reviewed a lot of sites and here are some of the Top Ten reviews site. All in all it was a great change. I decided to finish college in a less-rigid program in the visual arts, and began to focus on computer sciences. Ultimately, I got extremely interested in web development and built a few websites.

    Looking back, I’m a happier person and better for choosing my own adventure. I tend to recall that year of my life as the best, worst thing that ever happened to me. I owe so much to my friends, mentors and co-workers who believed in my ideas, work and words. Even in the face of such an embarrassing failure, all was well. I don’t have to tell you twice about how much failures suck. But they happen. The next time you mess up, consider finding the silver-lining before you tear yourself apart.

    I was inspired to share my story after I read Linda Eliasen’s post on why she quit her job at Dropbox. Our time is limited. Don’t waste it living someone else’s life.


  • A Familiar Face Returns to Twitter

    When Standard Oil began vertically and horizontally integrating sections of industry into its’ grasp, people got pretty upset. Ultimately, it led to The Department of Justice suing the company in 1911 under federal law and allegations of anti-trust. The Rockefeller’s vision for the planet, was bleak and self-serving. Apparently, vertically and horizontally integrating businesses can get you into a big heap of trouble. Is there an exception? What about Google and Apple’s integrations into production and telecoms?

    If Twitter integrates micro-payments via a new Square API, is that integration or is it really just a small innovation? Is it incestuous if Dorsey decides the next big feature at Twitter is one that hinges on his other company, Square? Sending payments with a Tweet doesn’t sound all that bad. Maybe this is less about self-serving his two companies, and more about making things work together. I think we’ve graduated into a new era. Silicon Valley moves fast—like really fast. In comparison to the early 1900’s, it’s unbelievably fast. Business decisions happen at light speed now. Mistakes can be mended and resolved with an email. Customer services and user documentation are moving to public sectors like Twitter and Facebook. Look at how Elon Musk, manages Tesla and SpaceX while simultaneously serving on the board at SolarCity; he’s also the a former co-founder of PayPal.

    All of his companies have come into founding in the last 15 years, with his leadership help and direction at some point. Absolutely incredible, and insanely fast. Elon wants a more effective, smarter planet. Howard Schultz transformed Starbucks when he returned in 2008. He slashed budgets, and projects and closed a ton of stores. Moved cash to projects that mattered, and reinvigorated culture, invested in coffee plantations, and breathed new life into new products and fresher foods. Schultz has a vision of variety, culture and coffee for a greater, smarter world. I think Dorsey is a fine leader at Square, and it will be good to see him back at the helm at Twitter. He said he is focusing on three things at Twitter: simplifying the product, discipline, and communicating value to the current user base. If Musk can tango with two companies, and Schultz fixed Starbucks—I have an inclination Dorsey can transform Twitter into what it needs.


  • Intro to Modern WordPress with Trellis, Sage and Bedrock

    UPDATE: I updated this post here 👀

    WordPress is a beast. Setting up your local machine, mysql, keeping track of users, managing dependancies and plugins, setting up your vhosts—jeez, all of that can be a daunting task. Let’s automate some things.

    I’m making a few assumptions here. Such as you probably have Node, npm and Bower installed on your Mac. We’ll begin with Homebrew. Full disclosure, I forked Dave Kiss’ take on his champion WordPress workflow with some of my own tweaks. Feel free to check out his setup too, it’s really great.

    The whole walkthrough should take about 15-20 minutes of your time on a modern machine. Let’s get started.

    Homebrew

    Curl Homebrew:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    Make sure to run brew doctor afterward to make sure you have everything installed all nice and neat.

    Git, Ansible and Composer

    Now that we have Homebrew installed, let’s go ahead and install some goodies for our workflow and get started. Composer will manage our plugins. It’s awesome.

    brew install git ansible composer

    Install VirtualBox

    Go ahead and install your VirtualBox software and follow the prompts.

    Install Vagrant

    Next, download and install Vagrant. Pretty painless.

    Beginning a Project with Trellis

    Next, mkdir -p ~/Sites/example.com where example.com is the name of the project.

    Then, go ahead and cd ~/Sites/example.comWe should be inside the example.com directory. Now we’re going to clone Trellis into a new directory called ansible with this command:

    git clone git@github.com:roots/trellis.git ansible

    Provision the Ansible roles and packages.

    cd ~/Sites/example.com/ansible && ansible-galaxy install -r requirements.yml

    Bedrock

    Finally onto Bedrock. A simple WordPress boilerplate and configuration and improved folder structure for your project. Clone it into a new folder called site

    cd ~/Sites/example.com && git clone git@github.com:roots/bedrock.git site

    Installing the WordPress Core and any Other Composer Dependancies

    cd into the new folder called site and let’s get this party started.

    cd ~/Sites/example.com/site && composer install

    More Ansible Stuff

    If you’re like me, you probably have Sublime Text aliased. But click here if you haven’t aliased Sublime. Or if you’re into Vim and all that, that’s cool too.

    subl
    ~/Sites/example.com/ansible/group_vars/development/wordpress_sites.yml

    Go ahead and configure your db_namedb_user and db_password and everything else to your liking.

    Now the real fun stuff begins. We’re going to cd to the ansible sub-directory we previously created and start up vagrant and the virtual machine voodoo. It will prompt you for your system password because it’s going to add example.com to your /etc/hosts file. No biggie, but you should know.

    Also, this will take a while. Probably 10+ minutes or so.

    cd ~/Sites/example.com/ansible && vagrant up

    If you got any errors, don’t worry. Vagrant might ask you to install a few additional pieces of software for Vagrant. Go ahead and heed Vagrant’s advice. If it appears that your install falls into a timeout loop, run vagrant reload and hopefully that should resolve any timeout errors in the setup.

    You should be able to navigate to http://example.dev in your browser and see the fruits of your labor!

    Sage

    Now that we have WordPress installed, let’s get a starter theme going with Sage. Let’s cd to the theme-root and clone the Sage repo over:

    cd ~/Sites/example.com/site/web/app/themes && git clone https://github.com/roots/sage.git

    Now let’s rename the Sage directory to our new-theme-name:

    mv sage new-theme-namecd to the new-theme-name and npm install && bower installNow you can run gulp in that directory and build your theme! http://example.dev should now have some styles. Sage comes with Bootstrap by default, but you can swap it out for whatever framework you want. Or no framework at all! Whew—that was a lot of steps but way less painful than it could’ve been! More about Sage here.