Interesting Reads #1

Quick thoughts on working remotely:

  • My rMBP is mostly used in RDP mode – not using Apple’s hardware nearly at all for system administration due to a mostly Windows domain environment. Therefore, move to shell/RDP session for all sysadmin work for consistency . Maybe even move work-specific docs off the Mac and onto a server?
  • One year of solely working on an iPad.

Two great articles from Scott Hanselman:

Running BrowserSync with Jekyll

browsersync-screenshot

BrowserSync is a tool for injecting changes when working on your local site project and then refreshing your site on save. Perfect for designers/devs who need one tool for one job.

I couldn’t find any clear instructions on setting up BrowserSync with Jekyll alone (no Sass, no Grunt/Gulp) so here’s the command to get it working after you’ve gone through the install and you have changed directories to your projects folder root:

browser-sync start --proxy "localhost:4000" --files "_site/*.*"

This command will watch the entire _site directory rather then just your CSS folder. Note that you will still need to run the normal jekyll serve command in a separate Terminal tab or window, but your site will be viewable in the BrowserSync URL: localhost:3000.

Linux Server Fundamentals – Part 1

I’ve been in the IT field for a long time now and last year moved into a new role. Moving into this role has given me more access to a varied server environment with a mix of Windows and Linux servers. My past jobs were much more Windows Server focusedlinux-admin-part-1. I’ve been enjoying learning the Linux side of server administration and the goal of this series of posts will be documenting what I’m learning.

I’ll be using a few tools throughout this series:

For my first task, I setup my environment to support a server and client test lab of Ubuntu machines. I followed this excellent guide to setting up a Vagrant test lab. The author’s instructions were great but I ran into one issue when setting up the Vagrant Host Manager plugin. Host Manager is not an automatic process – just run the command vagrant hostmanager after your server and client have been setup for the change to be made in your etc/hosts file. After that, restart the Nagios service as it states in the instructions and you should be good-to-go.

Next up in this series is to start setting up typical Linux core services. I reached out to r/linuxadmin to get some advice on learning the basic Linux server fundamentals. I now have a great list of services/software to get setup and configured.

Moved to Jekyll

jekyll-site

I recently converted this blog to Jekyll from WordPress and am now using GitHub Pages for hosting. I didn’t move over specifically because of problems with WordPress, but because of the following:

  1. The dev-specifc way of publishing posts with Jekyll (edit in code editor, having everything in version control, review changes, push via Git, boom)
  2. Being able to use GitHub as a hosting platform for free
  3. Ease-of-use with pushing site style updates (which is nice for me with this sites style changing so much)
  4. Portability of the site due to no database. If for some reason hosting on GitHub doesn’t work out in the long-run, it won’t be a problem to simply move my local directory.
  5. I’m no longer looking for a WordPress-based development job, so learning more WordPress isn’t necessary. More on that in another post.
  6. Automatic, two-factor backups via Git and storing local folders in Copy.app (affiliate link).

It wasn’t that big of an ordeal and yes, you can do it to. There are however, a few caveats worth mentioning:

GitHub’s own guide to Jekyll will be invaluable and you will be using it a lot. Pay attention especially to The GitHub Way of structuring the files/folder layout of your Jekyll project. For me, looking at other Jekyll projects like Dan Eden’s personal site also helped with determining where files should go.

Jekyll is Ruby-based and as such, you should make sure your own Ruby environment is clean and that you’re using the most current version of Ruby that Jekyll support. Since I don’t work with Ruby, OS X’s version of Ruby that’s included with Mavericks was behind and I had to update it in order for Jekyll to run.

I ran into an issue with the RSS feed, but that was solved by finding a valid feed on GitHub (like this one from the Hyde repo) and then “burning” the feed with FeedBurner. I also needed to adjust the site.url YAML front matter in _config.yml to reflect my site’s url.

Jekyll repo’s worth checking out:

How to Setup CodeKit using Sass and Compass for WordPress

I’m a recent convert to writing my CSS using Sass and Compass through CodeKit. It took me a little while to figure out how to get started with CodeKit and building WordPress themes specifically, so I thought I’d share how I got it all configured. Setting up CodeKit for use with static files is very simple, but since we’re building with WordPress there are a few things to look out for.

After you’ve gone through the process of installing WordPress locally and copying over your base theme into WordPress, go into CodeKit and select the “+” sign on the bottom left. Select New Compass Project.

create-compass-project

A screen will then appear asking for where you would like your asset locations to be. For my WordPress themes, I like to have the style.css in its default location, right in the theme folder root. When it asks you where you want the output style.css file to be in your folder structure in CodeKit, just enter a “.” for now since we don’t want the style.css file in a subfolder.

compass-settings

Click on “Create Compass Project”, browse to your theme’s folder, and select it. Next, open your newly created config.rb file which houses the Compass configuration. Change the css_dir field to css_dir = "/" to set the output of the style.css to the root of your theme folder.

config-rb

Now open your style.css file and in the first comment block which lets WordPress know that this folder structure is a theme, add a “!” to the first line like so:

comment-block

This tells CodeKit to keep the comment block intact even when compiling your SCSS files. If you have anything else in your style.css file at this point, you can delete the rest of it since your SCSS files will compile to this file. Copy the style.css file into your Sass folder (or whatever you named the directory) and name the file style.scss. This file sets your imports like so and has the core comment block included:

imports

After you set your imports (a good guide to Sass imports can be found here), do a manual refresh on CodeKit if it hasn’t found the new style.scss file. It should now see the new styles.scss file and it should say that’s it’s compiling to your style.css file in the root of your theme folder.

codekit-confirm

Next up, create a _normalize.scss file or _reset.scss file (if you like to reset your CSS), create a _global.scss (or whatever you like to name your main import file) in your code editor, import Compass at the top of the _global.scss file via @import "compass/css3";, and write your Sass like normal within the _global.scss file and your other .scss files. You’re all set!

Hopefully this guide helps you with your next project.

Here are some additional Sass resources and guides:

On a Search

Lately my posts have had a theme of “Focus”. This has been a theme of mine this past year and I’m at a place again where I need to focus on what I’m aiming for even more.

I’m closing Railtie Studio. This is a little anticlimactic as Railtie never got as big or did as well as I had hoped it would. That was completely my fault though. Railtie was an attempt at starting my own business and trying to build something sustainable. However during that experience, I discovered that it’s exactly what I don’t want to do. While I like the idea of being my own boss, I don’t want to run my own business, I have no interest in business development, and I want to do design and development full-time.

With that said, I’m on a search for a new job as a Web Designer/Front-end Developer working with WordPress. I’m specifically looking for a distributed company or a company in the Nashville, TN area. If you know of a business that is looking for someone, please let me know. If you’re a company looking at my profile and wondering if I’m a good fit, please have a look at my Portfolio.

I’ll continue to take on freelance projects while looking for a new job, so if you need someone with my work experience, please let me know.