A Small Intro..
“It’s The Tools Talking!“ Aye! We are back after the first awesome one back on the 1st Jan 2016 to kick-off the New Year with Michelangelo van Dam in a rocking way!
In this #2nd edition, I’m overwhelmed but also quite ‘on my guard‘ as I talk with The Grumpy PHP Programmer aka Chris Hartjes – the #unitTesting rockstar of our beloved PHP Community. If you don’t know Chris, I’ll tell you in one line: “He’s The Eric Cantona of Manchester United” (full stop). Never heard of Cantona as well? Tough luck you’ve been too much focused on Go Pokémon GO (huh?), have a read about The Rockstar Unit Testing Evangelist Chris in this interview which I did with him back on the 19th Jan 2012 – yup that long time ago, but equally evergreen in everything! 😉
FYI, the pic above is at the time of this writing caught LIVE as #phpcruise (an awesome PHP conference running on a real cruise leaving Bahamas out of Baltimore – read more on their website). So the pic credit goes without saying to my awesome #phpc friend Kevin Bruce for this “Kodak Moment“.
Rumour has it..
7PHP been lurking around phpcruise to steal Mr Grumpy for a while… and how we did that? HINT: See the tweet below.. (ssshhh don’t tell anyone)
Apparently the cruise's internal systems can't display my full first name. All the staff calls me "Christoph" pic.twitter.com/3elIlbpo5d
— Chris Hartjes (@grmpyprogrammer) July 18, 2016
Let’s Do This! It’s The Tools Talking With Chris Hartjes!
>> Please tell us a bit about yourself & your involvement with The PHP Community
I’ve been using PHP since 1998 and spent a good chunk of the last 5 years promoting the use of automated tests for PHP code. I’ve written books about how to write testable code and how to use PHPUnit. I am currently working on another book about what I feel is the minimum you need to learn to write tests. It’s due out some time in the spring of 2016. I help run a PHP-centric developer conference called TrueNorthPHP and co-host a podcast about programming and all sorts of other weird things called /dev/hell
I currently work for Mozilla as a Senior QA Engineer on their Cloud Services team, working with Python and JS to test various web-accessible services.
I can be found doing performance art on Twitter as @grmpyprogrammer
>> How does your workstation look like?
I use a Mid 2012 Mac Book Air with 8 GB of RAM and a 256GB SSD. Normally it’s run with the lid closed and plugged into an external monitor. I use an Apple bluetooth keyboard and a Magic Trackpad.
Right now I am using a Samsung SyncMaster B2330 monitor but I think it’s time to upgrade to something nicer.
>> The OS you use
OS-X (currently running El Capitan 10.11.2)
>> What VM software you use
Vagrant and Docker
>> Your database management tool
I tend to use command-line tools for database management.
>> Your Testing Tool (Unit testing & functional testing)
In PHP I use PHPUnit for pretty much all my testing. I’ve also used Behat in the past. I like using Mockery instead of PHPUnit’s built-in tools to create test doubles.
In Python I like using PyUnit and running it with py.test. I haven’t delved too deeply into test doubles in Python yet but I suspect py.test will help me out there too
>> Your Debugger / Debugging Tools
After all these years I still don’t use them. If I was an IDE user I think I’d rely on them a lot more but setting up step-through debugging in my editor-of-choice is still not easy.
>> Version Control System you use
Currently use Git but have used CVS, Subversion and Mercurial in the past.
>> Framework you use
Not really a framework-specific programmer. I’ve built stuff using Cake, Zend Framework 1, Zend Framework 2, Symfony, and Silex. This year my plan is to try out Slim 3 and implement some of the ideas I see in Trailblazer, an alternate architecture for Rails.
>> Your IDE or Your “Programmer’s Editors” of choice
Long-long-long time Vim user who currently dabbles in Atom
>> Your Documentation Tool?
PHPDoc when I use PHP, inline comments for other languages.
>> PHP Code Beautifier
I do use PHPCBF and other PHP Codesniffer tools to keep my PHP code looking nice and tight to PSR-2 standards.
For Python they have a standard called PEP8 and have tools that can automatically fix up your code to meet it.
>> In-Browser Tools (Firefox or Chrome add-ons)
LastPass and Privacy Badger are the two I use in both browsers (of course I use Firefox most of the time now).
>> Web Hosting space you use
>> What software you use for the following:
– time management
– todo list management
– your calender & events
I use Apple Calendar for all this stuff. Since I use an iPhone + iPad + MacBook Air it’s the only way to keep my own schedule sane. I am going to be giving a talk about all my time management stuff this year at PHPCruise and hope to give it in some other places.
I don’t think I could’ve built the career I currently have without learning time management skills.
>> Two community tools that stood out for you & why.
Composer literally changed how PHP developers build applications. No other tool has had a bigger impact. Donate money to Jordi so he can continue to make Composer and it’s ecosystem awesome and useful. I donated $100 and challenge the readers to match it.
Twitter is probably not thought of as a “PHP community tool” but I think it’s one of the best ways to find other developers who are sharing what they are doing and are willing to talk about it.
Over To You!
Impressed? Not at all? Or may be you are wanting to be next on my list for this series? I hear you, get in touch! 🙂
If you have any question, shoot them in the comment form below, we would love to hear from you! At the least, you’ll have a grumpy reply – NO, not from me but from Chris!
– 7PHP –
PS: LIVE Your PASSION Like There’s NO Tomorrow, without caring what PEOPLE say – Just Keep At It!