Welcome! I'm Lorna: engineer, author and speaker. I'm a Developer Evangelist and I love technology and sharing technology with others. On this site you'll find my blog and links to all the other things I think you (or I) might need to know about me - my opinions are my own and not those of my employer or any other organisation. If you'd like to get in touch, please do!


From The Blog

MySQL 5.7 Introduces a JSON Data Type

There's a new JSON data type available in MySQL 5.7 that I've been playing with. I wanted to share some examples of when it's useful to have JSON data in your MySQL database and how to work with the new data types (not least so I can refer back to them later!)

MySQL isn't the first database to offer JSON storage; the document databases (such as MongoDB, CouchDB) work on a JSON or JSON-ish basis by design, and other platforms including PostgreSQL, Oracle and SQL Server also have varying degress of JSON support. With such wide adoption as MySQL has, the JSON features are now reaching a new tribe of developers. Continue reading

Simple Access Control for CakePHP3

The newest version of CakePHP doesn't ship with built in ACL, which means you need to write your own. Personally I think this is a smart move, having looked at the one-size-fits-all solutions for previous versions of the framework and knowing that every system has different requirements, this version has good hooks and documentation on how to add something that works for your application. I thought I'd share what worked for mine. Continue reading

Change Form Input Type in CakePHP3

I've been having my first experiences with generated code, generating a new admin backend using CakePHP3 (yes CakePHP is still around, it's alive and doing rather well in fact!). So far it's going great and producing a much more complete solution than I'd have managed for myself on this timescale.

One thing is bothering me though: it guesses form input types from the database column types, which mostly works well but sometimes it picks something that doesn't reflect the way that the user will store information in this field. It's actually pretty easy to change the forms that get generated though, so here's an example. Continue reading


Talks, Articles, Podcasts, and More

Slides

What To Expect From PHP 7


CakeFest, May 2016
Slides

Get The Best From Git


Continuous Lifecycle, May 2016
Slides

What To Expect From PHP 7


DayCamp4Developers, April 2016
Slides

Surviving Code Reviews


Codemotion, March 2016
Slides

What to Expect from PHP 7


CodeMotion, March 2016
Slides

What To Expect From PHP 7


PHPUK, February 2016