Frameworks are among the most important tools we developers have and yet they are often taken for granted. The way I see it is a framework has two primary benefits: 1) saving individual developers time by providing predefined solutions to common problems and 2) allowing teams to work more efficiently by giving them a common model for coding standards, file organization, design language and more. However, these benefits quickly break down when framework conventions are broken or ignored, intentionally or otherwise.
![](/images/blog/seedling.jpeg)
We've all been there... banging our heads against a wall for 20 minutes wondering why our app isn't working before we realize we forgot to seed our database when running migrations. Okay, easy fix:
$ php artisan migrate --seed
Migration table created successfully.
Migrating: 1996_02_27_123456_create_pokemon_table
Migrated: 1996_02_27_123456_create_pokemon_table
Seeding: PokemonSeederReflectionException : Class PokemonSeeder does not exist
While working on a project at work it was necessary to interface with the Okta API for user authentication and authorization. To accomplish this I created, an independent PHP client library. As it stood there were no official or unofficial PHP libraries available for working with the Okta API and I felt it would be beneficial to the community, as well as my employer, to publish this library as an open source project on the company GitHub account. So I talked to some people, sent some emails and ultimately got the legal department to okay it.
![](/images/blog/the-witness/the-windmill.jpg)
I'm loving The Witness. It's a beautiful game, and challenges me in a way very different from just about any other puzzle game I can think of. I highly recommend it to anyone looking for a brain teaser and something off the beaten path of modern games.