Core software principles and design patterns.

Inspired by a recent conversation with a peer I decided to get together a list of 10 resources concerning software as a whole. Both for future reference and as a starting point for anyone else who finds it helpful. This list is agnostic of language or platform or reach. This is meant to be a intro, as no list would ever be complete with the abundance of resources available.

If you have any suggestions for a future list, message me on Twitter! Enjoy.


Yii2-starter-kit update…and shameless plug.


A project I heavily rely on these days recently got some updates. Shameless plug: I was kinda  a part of a bunch of them. utf8-mb4 update for MySQL data sources, RBAC CRUD UI module, and a queue module will be merged in soon. Days like this make it fun to be a software person. 😀

Checkout the starter kit here: Yii2 Starter Kit

If this is the new CSS, count me in.

I’ve always had a love / hate relationship with CSS. Love that it’s powerful, simply syntax, and generally human comprehensible (minus not having a ‘center this div in the middle of its parent’). Then it evolved, version 2, now version 3, SASS, pre-compilers, ugg. Can we not have a simple one focused use technology that does not get bastardized? But I digress.

During my daily reading tour my attention was brought to this article to my attention. CSS-Grid is the most amazing piece of CSS I have seen in years! Best yet most modern browsers already support it. #love

What do you think of CSS Grid and its implications for web frontend design?

An example of when being to clever can come back to bite you…

As part of a test I had to ensure only two alphabetical characters would allowed. So I used `chr(rand(97,122))`; which on a OSX machine is letters a->z. However, this character code sequence (to the best of knowledge NOW) does not translate to other architectures. 4 Hours latter and I replace the above `char()` usage with:
$letterArray = ['a', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 's', 't', 'u', 'v', 'w', 'x', 'z',];
$key = \array_rand($letterArray);

After three runs through the applications CI process not once has it failed…yet.

…Here’s hoping it continues to go as planned.