VP of Engineering at AI

Member Since 5 Years Ago

Jacksonville, FL

Experience Points

3,845 experience to go until the next level!

In case you were wondering, you earn Laracasts experience when you:

  • Complete a lesson — 100pts
  • Create a forum thread — 50pts
  • Reply to a thread — 10pts
  • Leave a reply that is liked — 50pts
  • Receive a "Best Reply" award — 500pts
Lessons Completed
Best Reply Awards
Best Reply
  • start-engines Created with Sketch.

    Start Your Engines

    Earned once you have completed your first Laracasts lesson.

  • first-thousand Created with Sketch.

    First Thousand

    Earned once you have earned your first 1000 experience points.

  • 1-year Created with Sketch.

    One Year Member

    Earned when you have been with Laracasts for 1 year.

  • 2-years Created with Sketch.

    Two Year Member

    Earned when you have been with Laracasts for 2 years.

  • 3-years Created with Sketch.

    Three Year Member

    Earned when you have been with Laracasts for 3 years.

  • 4-years Created with Sketch.

    Four Year Member

    Earned when you have been with Laracasts for 4 years.

  • 5-years Created with Sketch.

    Five Year Member

    Earned when you have been with Laracasts for 5 years.

  • school-session Created with Sketch.

    School In Session

    Earned when at least one Laracasts series has been fully completed.

  • welcome-newcomer Created with Sketch.

    Welcome To The Community

    Earned after your first post on the Laracasts forum.

  • full-time-student Created with Sketch.

    Full Time Learner

    Earned once 100 Laracasts lessons have been completed.

  • pay-it-forward Created with Sketch.

    Pay It Forward

    Earned once you receive your first "Best Reply" award on the Laracasts forum.

  • subscriber-token Created with Sketch.


    Earned if you are a paying Laracasts subscriber.

  • lifer-token Created with Sketch.


    Earned if you have a lifetime subscription to Laracasts.

  • lara-evanghelist Created with Sketch.

    Laracasts Evangelist

    Earned if you share a link to Laracasts on social media. Please email [email protected] with your username and post URL to be awarded this badge.

  • chatty-cathy Created with Sketch.

    Chatty Cathy

    Earned once you have achieved 500 forum replies.

  • lara-veteran Created with Sketch.

    Laracasts Veteran

    Earned once your experience points passes 100,000.

  • 10k-strong Created with Sketch.

    Ten Thousand Strong

    Earned once your experience points hits 10,000.

  • lara-master Created with Sketch.

    Laracasts Master

    Earned once 1000 Laracasts lessons have been completed.

  • laracasts-tutor Created with Sketch.

    Laracasts Tutor

    Earned once your "Best Reply" award count is 100 or more.

  • laracasts-sensei Created with Sketch.

    Laracasts Sensei

    Earned once your experience points passes 1 million.

  • top-50 Created with Sketch.

    Top 50

    Earned once your experience points ranks in the top 50 of all Laracasts users.

Level 13
61,155 XP
2 months ago
Activity icon

Replied to Checking If All The Array Items Are Empty


From the PHP docs

Unless you mean something else like checking if each key is empty. Maybe you have a more practical example array?

Activity icon

Replied to Attaching Remote Files Which Are Stored In AWS S3 Bucket, While Sending An Email In Laravel.

I was looking for the solution to this problem tonight and came across this thread. So let's give it a proper answer in case anyone other than me goes searching before checking the docs. As of at least 5.7, you can use attachFromStorageDisk

From the docs for 5.8:

The attachFromStorageDisk method may be used if you need to specify a storage disk other than your default disk:

 * Build the message.
 * @return $this
public function build()
   return $this->view('email.orders.shipped')
               ->attachFromStorageDisk('s3', '/path/to/file');

There is an optional third parameter for name. If not specified, it uses basename on the path. An optional fourth parameter takes an array of options.

2 months ago
Activity icon

Replied to Profile Pages Don't Show Forum Activity

Same. Logged out and back in. Emptied cache / hard refresh. No activity.

5 months ago
Activity icon

Replied to Horizon/Redis - Multiple Server Setup?

Faced with the same problem, this issue really drove our selection of cloud provider. We built a VPC on AWS with multiple, load balanced application servers connected to a clustered ElastiCache Redis. Without knowing more about your workloads and your requirements for reliability, I can't really opine further other than to say you don't horizontally scale with multiple, independent nodes. You need a single node you run on a dedicated instance or a managed solution like ElastiCache.

I wouldn't run your Redis on one of your app servers. While running your own Redis instance means you can defer and control the timing of maintenance, you'll have a failure or need to upgrade software or etc. Then you'll have to consider the data in your cache. Do you need to migrate it? Using a managed service like ElastiCache eliminates those issues, but doesn't free you from having some maintenance down time. We tested with a single Redis instance but found out that availability can be affected by the periodic maintenance AWS does. We have a critical path where we can't accept minutes-long interruptions so we run in clustered mode. They also recently improved availability when in clustered mode to allow writes to continue while maintenance is occurring. That said, during our test period of 8 months, we only had one maintenance event that made Redis unavailable for nearly 10 minutes.

You may have no other choice for hosting/hardware, but if you do consider AWS, they have a ton of reference material. Let me know if I can be more specific about anything.