Developer’s Rhapsody

Is this the real code? Is this thing testable? Caught in an infinite loop No ESC on my new MacBook Open your IDEs Look up in the docs and see How this function works, it’s not very clear; I’ve stack traced, xDebugged var_dumped, returned, console logged. Anyway the logic flows, doesn’t really make sense to me… oh, it’s async.

Cat attack!

Jessica heard a thunk earlier today and found the bird nest that’s normally on the back porch light slightly askew. Robins built it when we first moved in, but a pair of finches have taken residence there in the recent weeks. I thought I saw them feeding hatchlings a couple of days ago, but never could get close enough to look inside. The nest sits awkwardly on the lamp after the initial (presumed) attack. Tonight after dinner, I saw the cat Joanna saw in the backyard earlier today, perched on the window ledge and getting ready to jump up into the nest. I shooed it away, but I think the damage was already done. I hope the little ones got away. This is the part the finches added on to the existing nest, now upside down on the back porch.

Opinionated Git Workflows and the People Who Love Them

(The slides for this talk have been removed until I can find an accessible and maintained solution. Thanks.) Here are some additional resources for building and documenting your own Opinionated Git Workflow: Let’s Talk About Version Control Systems Pro Git book 10up Engineering Best Practices Homebrew for OS X (contributing guides) How to Write a Git Commit Message A successful Git branching model (Git Flow) Gitignore.io for customized .gitignore files Choosing an Open Source license (just because it’s on GitHub doesn’t mean it’s Open Source) Learn Git hooks and write your own SourceTree Git (and Mercurial) GUI My global .gitconfig Beanstalk repo host with code review tools

Using WP-CLI on SiteGround cPanel Account

I recently moved my main site to SiteGround, which has been pretty nice so far. One of the little issues I’ve had has been the same as several other hosts: not using the latest version of WP-CLI on shared hosting accounts. It’s not unusual, and often not a major problem, but I recently came across an issue that prevents me from using the version installed on the server (0.18.0) with the version of WordPress I’m running on the site (4.4 trunk). Every time I tried to use certain wp commands, I was greeted with a fun new error message: Fatal error: Cannot redeclare class WP_Http in /home/morganes/public_html/wp-includes/class-http.php on line 21 WordPress 4.4 is undergoing some massive file changes, specifically with separating classes, functions, and implementation code into their own files and using the original file to load them all for backwards compatibility. One of those changes caused an error with WP-CLI trying to redeclare WP_Http the class when it loaded it via require instead of require_once. That’s been fixed in 0.20.0, so I asked my host to upgrade to it. If you're running @WordPress 4.4-alpha, be sure to update @wpcli to 0.20.0. Otherwise you'll run into a PHP fatal error with WP_Http. — Morgan Estes (@morganestes) September 10, 2015 Since I have shared hosting, an upgrade to the script would involve upgrading it for all users. That’s something that’s done on a schedule, and I don’t know when that’ll happen. SiteGround’s systems engineering team hasn’t upgraded yet, so they suggested installing a local version of wp-cli on my account and using it. I followed the Alternative Install Methods guide but kept running into a problem with the output and strange characters. After much trial-and-error, I found out that the shared WP-CLI script uses a different version of PHP than the regular command line does. Making a couple of changes to my .bash_profile finally got the latest version working. Here’s the final version that’s working for me with WP-CLI v0.20.1 and WordPress 4.4-alpha. I’ve decided to use wpcli as my command for testing, so I can keep SiteGround’s version of wp to know when they’ve updated. # WP-CLI from user account export WP_CLI_PHP=”/usr/local/php54/bin/php-cli” alias wpcli=”$WP_CLI_PHP $HOME/.wp-cli/wp-cli.phar –path=$HOME/public_html/”

Depression sucks

There’s no logical pattern to when PTSD symptoms will hit me, but I can usually tell when depression is on its way over. I try to ignore it, but like a socially awkward friend that just doesn’t read body language, it just keeps creeping over to say “hello”. Awkward smiles on the zoo train So here I am, lonely but constantly with my daughter whom I am responsible for caring for while my wife is out of the country. Not impossible, but spending time with her does not abate nor negate the loneliness I feel. The nagging feeling that I’m doing it all wrong: that I’m not doing enough work to stay employed, that I’m not spending enough time making quality memories for my daughter. That she’s seeing me in tears more often than I’d like, and that she’s not crying half as much as I am and what kind of man cries more than a 4-year-old girl every day, and how can I be honest with her that I’m sad for me and happy for Mommy at the same time and no, she won’t be able to join us for dinner because she’s touring a famous crystal factory in Ireland and I miss her, too, sweet pea. Jessica and her dad enjoying a lifelong dream together Depression makes me relive all those feelings and conversations at the same time, all jumbled together and without regard to reasonable rest times between rounds, or where I am at the moment. On the phone with my folks wishing me happy birthday? Bam! Can’t speak, eyes are leaking. Ordering a sandwich at Chick-fil-A? I’m sure the nervous teenager won’t mind that I’m crying as I add a large lemonade. Some work needs to get done because people are counting on me, but typing from the fetal position is a challenge, I tell ya. View post on imgur.com So depression sucks. It’s sneaky, but not necessarily unanticipated; it’s like a fight that is planned in advanced, but the date keeps shifting so you’re never really rest for it. The fighters prepare as best they can, but even seasoned fighters will tell you plans change when you take that first hit. Well I’ve been getting beat up for three days and it’s time to fight back as best as I can: more meds, more focus, more snuggles, more coffee, more playtime, tea time, and doll time. I may not win the fight this time, but I’ll keep swinging as best as I can. If I’m alive after, I can count that as a win.