I wrote about this awhile back and never really did follow up with what transpired. A few months ago I was brought on board as the CTO / Developer for a start-up based in Miami. The start up is Owlmo LLC (www.owlmo.com) and we were able to go live on March 29th. I can not take all of the credit for the application as I was brought on to finish it up and to bring it live.

We have now been live for a month and as with many start-ups, have already taken the feedback we have received and are moving in a slightly different direction with the application and have already started to receive positive feedback with where we want to take the platform.

With the new platform already in development, I hope to share all the fun I am having in designing the new system along the way. It has already taught me a lot about the different technologies we are using and a whole new approach to development. I hope to share the excitement and even the frustration along the way.

I was going through some of my morning feeds and there was a question on where validation should be done. In Laravel you have three good options to choice from. You can do your validation in your controller, in the model or in Form Requests. The things I hate most about doing the validation in the controller is the consistency in the rules I write. So in one post someone did a simple thing in their model. They simply added a static property to their models that had their rule set. It was simple and at the time time, I somehow missed it as an option. So if you don’t want to use the Form Request or do any validating in the model, you can add the ruleset property to your model to keep it consistent across your controller.

This initial post is not a detailed comparison between the two at this time but a way to keep me on track with blogging. I have started working on a few personal projects that I hope will turn into something more than just a hobby. I like Laravel but have struggled to find the best environment to develop with. At work we have our own AWS instance for each developer that we can push code to, but that involves having to either pushing to git and then cloning down, or doing what I do, and push changes using PHPStorm deployment process. Either way takes just a little bit of time to have the code in a environment that can be tested. So to solve this problem, I have been testing out both Docker and Homestead.

Environment

Currently I am running a Dell Laptop with 8GB of RAM, so running either solution is working out really well. I also use OneDrive to Sync. the folder with all of my development code due to past experience. I do use GitHub and BitBucket but I don’t always throw my prototype code in a Repo until I am further along. This has cost me some time in the past, so OneDrive it is.

Docker

I have played around with Docker and I do like the way it is setup After searching the internet for tutorials and quick starts, I did find https://github.com/laradock/laradock which got me moving pretty quick. I started my project and everything was going fine. It boots pretty quick, not overly resource intensive and I was able to switch technologies pretty fast. The problem I am having is OneDrive is not liking docker and it was causing sync issues and not updating the code for Docker. I have not sat down to find a solution, so I may have to come back to this at a later date.

Homestead

The reason I started trying out Homestead was the fact I like Laravel and since this was setup for the framework, it works out really great. So far I have not had any issues with OneDrive and for my needs for local development, it is great. With the use of Vagrant and Virtualbox you do see more resources being chewed up, plus it does take a little longer to boot up. I did set it up as a per project installation so that I can have different configurations if the need arises.

Moving Forward

I am still trying to explore both as a development platform and not a production platform, so we will see where it leads me. With Homestead I know I am working in the same environment that Forge uses for it’s deployments, so I should never have a big surprise.

I am hoping that in the next few weeks I will be able to announce some good news. I am trying to open up my career and hopefully become apart of a growing project. I am confident, but I also know there are a lot of qualified developers that could get the opportunity over me. So I am hoping I can say more in the next few weeks.

I am also working on a project that I hope to release publicly in a few months. One of my main goals was to release more of my own code and hopefully become a better programmer.

I have decided to try something new when it comes to working on my PHP knowledge. I would like to think that I am a pretty good developer and can do anything that is required of me in my professional career. But there are times where I will try a silly little PHP test for a freelance site and realize that there is so much more that I don’t know because either I don’t have a need for areas of PHP or I don’t know of functions that could make my job a lot easier. So to help learn some of the other functions within the language I am going to try and learn a small section of PHP each day. I had thought about posting about those sections just to make sure that I am setting that time aside, but I am still not 100% sure if I will or not.

I have no idea how many, if anyone at all, reads this blog. But I created it for my own use as well as some of the projects that I am working on. So if I do post things that I am exploring that day within the PHP language and you find it useful, make a comment or send me an email and I will make more of a habit to add more posts to the site.

I have finally made the development and updating of this website very easy by using a few third party plugins and GIT. I now make all of my changes in my development environment and push my changes through GIT to my  shared HostGator account.

I used a configuration setup that allows me to setup environments and settings so there is no more changing anything before pushing to production. all of the database and URL settings are in a environment based configuration setup. I am also using a nice third party tool that will allow me to push/pull the database to my local development machine so that I can really test any updates on the development machine with clean data.

Here is to a more productive New Year!