I had the pleasure of interviewing Dayle Rees in this weeks Artisan Files. If you are not familiar with Dayle, he is an author, color scheme maker, speaker, and all around nice Welsh lad. His personal site is DayleRees.com
How did you first find Laravel?
Let's see. It feels like such a long time ago now. I almost can't imagine life without Laravel being a part of it!
Before Laravel, like many other developers, I was using CodeIgniter. It was the first time I'd become involved with a framework or open source project. I wasn't initially a contributor, but I spent a lot of time within the community offering support. I'm sure that both ShawnMcCool and I were some of the most active people in the CodeIgniter IRC channel for some time.
Eventually I decided that I'd like to contribute something. While I'm certainly a developer, I also enjoy doing a little design and front end work, so I decided to contribute something pretty.
CodeIgniter had a welcome screen at the time, the first that you'd see when you unpack the framework. I guess an ugly version of Laravel's own 'You have arrived.' screen that you see today. I wanted to change this screen to be more appealing. First impressions are really important in life, why should it be any different for a framework?
I got started on a pretty new welcome screen, with some inspiring welcome text. Eventually, I had learned all I needed to submit my pull request. The person tasked with inspecting my pull request was none other than the legendary Phil Sturgeon. At the time I looked up to him as somewhat of an open source hero, and it's strange to think that lately I get to chat to him and joke around! How things change!
So Phil asked if anyone was interested in the pull request, I think it was on Twitter. That very day we received over 100 +1's on the PR, and my inbox had never been so busy.
The next day the pull request was merged, and the people of CodeIgniter were happy! For around 24 hours. Phil received notice from EllisLabs that they must have full control over the image of the framework, and that they had something in the pipeline for the welcome screen (which as far as I know, never was completed).
Phil was forced to remove the commit, and my work along with it. Now obviously I can't blame Phil or EllisLab, it was their product after all. However, that day I discovered that there was a limit to my usefulness when it came to that specific project.
At the same time I was also starting to feel that I had outgrown CodeIgniter a little, and was looking to further my learning. It was time to look for a new project. Coming from CodeIgniter, there were two brand new projects to look at. FuelPHP and Laravel. Now I suppose that FuelPHP would have been the next logical step, given that it shared a number of CodeIgniter contributors and at the time had a similar syntax.
Laravel's syntax was simple and expressive, nothing like anything I had seen previously in the PHP world.
Sure, it would have been the sensible choice, but I've never been one to follow conventions. I came across Laravel. Version 2.7 to be exact, a little framework created by a tall chap from Arkansas. It had no users, but after reading through the documentation several times I could tell it had real potential. Its syntax was simple and expressive, nothing like anything I had seen previously in the PHP world.
So what if it had no users? It was fun! I got started using it, and lurking in the IRC room, which pretty much belonged to Phill Sparks and I. Occasionally Taylor would show up, and we'd not say anything. Once again he was a code hero, which once again is funny since now we've become good friends.
After a while of using this nifty new framework, I knew what I had to do. I had to help more people discover it. It was a worthy cause. Taylor was a clever chap, and he'd created something fantastic. So I began writing. I wrote and I wrote and I wrote. I'd never written any documentation of this kind before. It was new to me, but I was addicted. The tutorials gained a fair bit of attention, which was fantastic! A clever chap called Eric Barnes suggested that I create a Leanpub title from my tutorials, which later became Code Happy. This led to an open source career of Laravel contributions, community involvement and further writing adventures, and the rest as they say, is history.
Now that you have two best selling books are you planning any more?
Oh yes definitely! I love writing, and more than that, I love teaching. I've been mentoring others through both my written work, and in the workplace, and it's an experience that I find hard to describe.
I myself do both back-end and front-end development. I do system administration. I do graphics. I do a bit of everything. My curiosity drives me to discovering new skills, and for this reason I have a great pool of topics to write about.
My true passion is writing for beginners. A blank canvas to mould. With beginners I can teach life-changing skills and build passion and curiosity within each and every individual. I find it very exciting. There are lots of books written for beginners that are very stern and boring. I like to be a little silly and exciting. I like to get the point across in the most simple way, and to use pop culture references to ease the learning process.
I make up for my writing experience with pure energy.
With no formal writing background, I write in a very simple and down-to-earth way. I'm not a literary genius. There are spelling mistakes and grammatical errors, but I've been told that it all adds to the personality of my writing. I make up for my experience with pure energy.
Code Bright is far from complete. We're standing at about 416 pages of A4 at the moment, and I could honestly write 400 more. I'm not entirely sure when it will be 'done'. I'm just going to keep writing until it feels right. I'd love to see it printed since I'm sure it will look like an absolute monster on my bookshelf!
I'm also working on a new title called 'PHPandas'. That's right, the pandas are here to stay. It's a beginners book for PHP. By beginner, I mean absolute beginner! No existing experience assumed. I'm testing each and every chapter on my girlfriend Emma to see if they make sense. I'm having a lot of fun writing this book, and I hope it will be in the hands of many newcomers to the language before too long.
Can you tell us about your local environment? What apps do you use everyday?
I converted to the church of Apple a few years ago now. I used to be against them and their extremely overpriced hardware. Then I purchased and iPhone and fell in love with it. Someone suggested I try a Mac and I thought, well, it's the only operating system I haven't tried. Sure, I'll give it a go!
I loved it. It was clean, stylish, and had all the aspects of Linux that I loved, with all the usability benefits of beautiful GUI applications. With a designers impact upon the applications that frequent the Mac OSX operating system I think that it feels like a nicer workspace.
Most of our days are bent over our keyboards, we should enjoy and find beauty with each and every tool.
As for my workflow, well I guess you could say I'm fairly traditional. I do most of my development using Sublime Text. Sure, sometimes I miss the advantages of an IDE, but I'm willing to make the sacrifice for the speed. Appearance of applications is also a huge thing to me, and Sublime is one of the most beautiful editors I've ever had the pleasure of using. We spend most of our days bent over our keyboards writing code into these editors, so we should enjoy our toolset, and we should find beauty within each and every tool. I also find that using a pure text-editor keeps my skills honed, as the IDE isn't responsible for as much 'magic'.
I mostly work with PHP and front-end development. It's true I use other stacks, but mostly for a learning experience or to fiddle with a new and trendy project. These types of things I'll install natively.
For my PHP project I use Vagrant. I have no local webserver on my Mac. I use the Ansible project for provisioning, and have written all of the playbooks myself. I love being able to version my environments, and to be up and running with a single vagrant up. It's a fantastic project.
I use Photoshop and Illustrator for all my graphical work. Yes, I know it's strange for a developer to be a fan of Photoshop, but I absolutely love it! Many developers have told me I should try GIMP or Pixelmator, but I know the Photoshop shortcuts, and I find they do strange things in the other applications. I'm not entirely sure why I learned Photoshop to begin with, but I suppose it was curiosity again!
Other than Photoshop and Sublime, I suppose I do the rest of my work in the terminal. I prefer terminal clients for most things, but my memory is too terrible to remember all of the VIM commands!
Some development applications that I enjoy using on Mac are CodeKit which is a great way to rapidly prototype front-end projects using a range of preprocessors, and Byword which I use for writing my books in Markdown format.
Also, I love music. I can't live without Spotify!
What made you decide to create all those color schemes and which one are you currently using?
Haha, that's a good question. I suppose I should explain first. I have created, and maintain a collection of 100+ colour schemes for a huge range of editors, IDE's and other colour related projects that are used by hundreds of thousands of developers around the globe.
So why did I create it? You know, I'm not sure!
I was feeling a little bored one weekend, and decided to try and make a colour scheme that would be more visually appealing than the Monokai theme that ships with Sublime text. Not that there's anything wrong with Monokai, but it can get boring after a while!
Eventually I came up with a theme called Freshcut. It was a fresh cut grass green theme, with a touch of blue because... well.. WHY NOT BLUE. It was pretty popular amongst some of the Laravel community. I know that Shawn McCool was pretty fond of it, but I found myself in the same position. Looking for something to beat Freshcut so... well.. I guess I made a hundred more. I even started taking requests for colour schemes.
I guess I got a little carried away, since now there are themes for almost every editor on the market, even interface themes and bootstrap themes. It's amazing to be making developers lives a little more colourful! Notice how I spell colour with a U? I'm a brit don't you know!
So which theme am I using at the moment? Well it's the one you've seen in the Sublime screenshot above. It's called 'Kiwi' and is very green. Very, very green. It's not my favourite theme, but I like to rotate them every now and again to see how they feel. I suppose I'd have to say that my favourite is Peacock Contrast. I've yet to write a theme that beats Peacock.
Here she is, what an absolute beauty!
Between a full time job, books, open source, and life how do you find time? What is your typical day like?
It's true! I work at a startup called ParkatmyHouse. We're like Airbnb for parking spaces. We allow property owners to list their extra space to pocket some extra passive income. This also solves the issue of parking in a number of busy locations around the globe. It's a very satisfying job, I love helping people!
Startups are fantastic for individuals with large skill sets. I like to dabble in many areas of IT, and my work with ParkatmyHouse has allowed me to utilize a great number of the skills that I've learned.
I won't lie though. It's busy! In fact, we're recruiting at the moment to expand our team and share the workload.
Shameless recruitment: https://gist.github.com/daylerees/8806003
So if you want to free up some of my time so I can work on other fantastic open source projects, why not join our team?
Once I'm done with my work day, I head home, stuff my face with food and catch up with my girlfriend Emma. I've been with Emma for six years, and she's the only person who's been willing to accept my nerdy obsessions.
Next I'll probably work on my book, work on a number of experimental projects, or generally do something quite nerdy.
Sometimes I'll play some video games, but quite often I feel guilty when doing so, and end up working anyway!
I have a bunch of household chores to do too, but I'm sure you don't want to hear about those!
If you could be on a reality show which one would you want to be on?
Honestly, I don't really watch TV. Sorry :(
Actually, maybe one of those 'The only way is Essex' type shows, so I could punch them in their stupid, stupid faces.
Do you have any hobbies outside the computer?
Oh sure! Plenty. They are all nerdy though I'm afraid. My girlfriend and I both play a lot of video games. We own all the consoles, and have a gaming PC each. We even play those big nasty MMO games that are so addictive!
I also like to watch anime (naruto in particular), and cult TV series'. Yes, I know I said I don't watch TV, but sometimes I stream an entire series and binge on it! Right now I'm working my way through Californication. What a steamy show!
Sometimes I like to go Geocaching with Emma. It's a GPS based game of hide and seek, where you look for tupperware containers out in the while whos locations are marked by GPS co-ordinates. It's a lot of fun, and gets me out of the house for a while.
I like gadgets. All kinds of gadgets. I spend way too much money on them. Right now my favourite gadgets are my Pebble watch, and the Oculus rift. I'm currently waiting for my DevKit 2.
Oh and of course. Sports, because what kind of man err.. doesn't like sports. What kind of sports? Well I guess, ones with a ball or something. I guess.
GO LOCAL SPORTS TEAM.