Simplicity in design, photography & code.

Carrots!Shooting the View from  Fisherman's BastionIntricate SnowflakesNice Smile071711_0977_mg_7857Oregon Coast_MG_5298img_8639_MG_5315Ausable River

Birmingham Y’all

Birmingham was filled with a new speaking adventure, Southern WordCamp charm y’all, gorgeous coffee art, chess… and dinner parties, Bottetree quiche, good memories hanging out across from the fountain across from the square at the fountain, parks with cute fonts and flourishes, Southern BBQ, beer and co-working, good friends, good food, good coffee, media plugin ideas!, early morning sketch sessions, and art shows complete with stories of bunnies, monkeys, lasers, and robot escapes.

Plus, I just can’t help but love that everyday conversations are sprinkled with “babydoll” and “lovebug.”

Best catchphrase from this trip: “Yo, mama bear me!”

Crackerjack CSS: Basics & Best Practices

CSS is a pretty completely awesome tool, and I love it. I had the chance to talk about CSS at WordCamp Birmingham on Saturday, and here are the things I covered:

  • the very basic things you need to know to get started with CSS,
  • browsers and browser developer tools,
  • adventures in color palettes,
  • how to add CSS to WordPress themes,
  • and showcase examples of what I like to think of as the Cracker Jack surprise inside every website.


Links from the slides are posted below.

Skiing at Deer Valley

I consider a good ski day one where I tried something crazy or new, fell at least once, saw some sunshine on the slopes, there’s at least a little fresh snow, and breakfast on the mountain is not out of the question.

Ski + breakfast + ski + chess + ski = a good day!

Autostart MySQL, PHP-FPM, and nginx on OS X Lion

In my last post, I wrote about my adventure setting up a local WordPress OS X nginx MySQL PHP web server on a Mac. You can use launchd to automatically start MySQL, PHP-FPM, and nginx on OS X. Create and install plist files in ~/Library/LaunchAgents to run programs at startup on a per-user basis or /System/Library/LaunchDaemons to start a daemon as root.

Use vi ~/Library/LaunchAgents/org.mysql.mysqld.plist to save a MySQL plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key><string>mysql</string>
    <key>Program</key><string>/usr/local/mysql/bin/mysqld_safe</string>
    <key>KeepAlive</key><true/>
  </dict>
</plist>

Use vi ~/Library/LaunchAgents/org.php.php-fpm.plist to save a PHP-FPM plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key><string>php-fpm</string>
    <key>Program</key><string>/usr/local/sbin/php-fpm</string>
    <key>KeepAlive</key><true/>
  </dict>
</plist>

Use sudo vi /System/Library/LaunchDaemons/org.nginx.nginx.plist to save an nginx plist file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key><string>nginx</string>
    <key>Program</key><string>/usr/local/sbin/nginx</string>
    <key>KeepAlive</key><true/>
  </dict>
</plist>

Run the following commands to load the services for the first time:

launchctl load -w ~/Library/LaunchAgents/org.mysql.mysqld.plist
launchctl load -w ~/Library/LaunchAgents/org.php.php-fpm.plist
sudo launchctl load -w /System/Library/LaunchDaemons/org.nginx.nginx.plist

Run the following to check to see if the services are all running:

ps aux | grep mysql
ps aux | grep fpm
ps aux | grep nginx

Refer to man launchd.plist for more launchd parameters.

WordPress OSX nginx MySQL PHP (WONMP)

This is an overview of my local nginx server setup. If you just want to get up and running quickly, using the built in web server on OS X Lion or even MacPorts or HomeBrew is probably a better idea for you. I’ve installed from source so that I can mess around with all the settings and because I wanted to learn how to optimize nginx—practice for my VPS. Here’s my setup:

Macbook Air 13-inch
Processor  1.8 GHz Intel Core i7
Memory  4 GB 1333 MHz DDR3

  • WordPress Trunk (3.3 r19595)
  • OS X Lion 10.7.2 (11C74)
  • nginx 1.0.10
  • MySQL 5.5.18
  • PHP 5.3.8

DO NOT use this server setup in a production setting. This is for local testing only.

Continue reading

Everydays

Have you ever stopped to think about what your favorite every day sounds are?

  • Water rushing down an Adirondack path.
  • Ice skates on a sunny winter morning.
  • Biting an apple.
  • The sizzle a hot frying pan makes.
  • The ever so low-but-happy grumble my dog makes when you snuggle him.
  • That clink your glass makes when you toast two wine glasses together.
  • Underwater sounds when you swim laps.
  • Chimes of a Grandfather clock.
  • The echo of water dripping inside a cave.
  • Wind chimes.
  • Chopping.
  • Rain.

Budapest 2011

The last half of October 2011 brought with it our annual Automattic company meetup in Budapest, Hungary. I went early with a few friends, and we had a blast. I call the edges of trips like this “buffer.”

My favorite things about Budapest were the cityscapes, archery at the castle, views of the Danube and its bridges, scary cassowaries (the closest thing to velociraptors I’ve seen in real life), photo walks to Fisherman’s Bastion, walking by the opera house at dusk with the lights glowing, movie sets complete with stallions and pretend rain, more photo walks, ruin pubs, music, pansies, and of course really excellent company.

This meetup was also particularly fun because I worked on a team project involving Trac (yeah baby). Every single time I attend an Automattic event, I think about how very much I enjoy being around people who are crazy smart. I appreciate them so much!

Oregon Coast

There’s something surreal about the Oregon Coast. Its white noise wraps you up where the trees meet the sea and it’s calming. Hiking amongst those trees along towering cliffs hearing crashing waves below made me feel small but content. The mud was thick, the beach was beautiful, and the food was awesome. The trek was from Nelscott Beach in Lincoln City to Cape Lookout State Park to Manzanita to Indian Beach at Ecola State Park. I discovered that Manzanita’s Coffee Shop has the best chocolate espresso milkshakes in the entire world, tall grasses on mountainside beaches feel timeless, and that rocky tree-lined oceanside Oregon cliffs speak to my heart.

Oregon is like a whisper.