This post is a long-format reply to Jonathan Jordan's recent post. Jonathan's post was about the non-capturing backreference in Regular Expressions. He and I are both working a lot in Behat, which relies heavily on regular expressions to map human-like sentences to PHP code. One of the common patterns in that space is the quoted-string, which is a fantastic context in which to discuss the backreference (and also introduce lookarounds).
This is another post in my challenge to learn something new every day and then share that in a blog post. This is fairly simple, but even though I'm comfortable with regular expressions, I was not familiar with the "?:" syntax (aka: question mark colon). I was working on some Behat tests using the MinkExtension, and this is used fairly often in the code (?P<option>(?:[^"]|\\")*).
This was actually a couple weeks ago, but it is still fresh enough in my memory that I find it interesting and therefore worth sharing. Background I had a Django Model that looked something like this:
SamsungMusic.com (formerly Samsung Music Hub) launched earlier this year pushing the boundaries of HTML5 and responsive web design. It was designed to work (obviously) across a large number of Android devices, with the animations taking full advantage of the built in GPU acceleration available on many mobile devices. The design was done by our awesome partners at Oakland-based Emotive Brand.
The final post in my Successful Digital PM series is also both the trickiest for me to write and the one that has been the most eye opening to me as I've written it. Retention of all employees is critical to keeping an organization running like a well-oiled machine, and given the integrated role of a PM across projects, this is doubly true. Metal Toad hasn't always gotten it right, but we've learned a lot along the way. Below are some things I've learned and strategies we employ at Metal Toad…
This is a quick one that I learned from a co-worker. He was in the MySQL shell and instead of ending his query with a semi-colon, like I normally use, he used \G. The results are interesting, instead of results showing in rows with the fields as columns, results are displayed vertically. Each record is separated by a row number and each field is on a newline with the field name.
It's always been my motto to never stop learning. I also think it is important to share what you've learned with others. I don't think this could be more important then it is as a developer.
Following parts 1-4 on what makes for a great digital PM, part 5A covered finding and hiring those great project managers. Part 5B gets into some strategies that we employ for professional development to make sure our project managers are on-boarded with proper training and have the opportunity to grow professionally on a continuing basis.