Laravel & Unconventional Database – Why You Should Avoid That

Choosing the right database for IT projects is no easy task — it depends on business requirements, but also on limitations introduced by costs, legal issues, and even the ability to find the right technical support. In this blog post, based on our experiences at Ingenious.BUILD, I’d like to discuss the challenges of using an unconventional database like CockroachDB in a project based on Laravel, among other platforms. These challenges can also arise when our API uses completely different solutions.

Continue reading “Laravel & Unconventional Database – Why You Should Avoid That”

Minikube & Hyper-V: Fix Start Host Error

Recently, I’ve been struggling with a Minikube issue on Windows 11 with Hyper-V enabled and decided to share a quick note about it. Many people opt for VirtualBox, but I believe Hyper-V is a superior option because it’s a higher-level hypervisor that offers better performance. It’s also readily available on Windows without the need to install additional tools.

However, it’s not without its flaws, and this issue serves as a prime example. I had installed Minikube and kubectl, then started the cluster. After conducting tests and stopping it, I was unable to restart it the following day. Minikube only reported:

Exiting due to GUEST_PROVISION: error provisioning guest: Failed to start host: recreate: creating host: create: creating: exit status 1

There was also recommendation to use minikube delete to fix issue, but it did not work. The problem was in Hyper-V, not in Minikube: cluster was not enable to start because of broken cache. Fortunately solution is very simple:

  1. Use minikube delete to remove leftovers
  2. Use services.msc to disable all Hyper-V services
  3. Navigate to C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines Cache and remove all cache
  4. Restart computer or just re-enable Hyper-V services

After these steps, minikube start will work again and will create cluster for you without issues.

Laravel: Repository Pattern

Laravel and Eloquent offer a straightforward and powerful approach to database interaction, enabling easy data retrieval, saving, updating, and deletion from various points in an application. This simplicity, while beneficial, brings with it a significant challenge: it becomes all too easy to produce code that is tightly coupled and disorganized. This issue is particularly evident when examining the structure of a basic controller, where the convenience of direct database operations can inadvertently lead to a lack of separation of concerns and an increase in code complexity. Fortunately, there is a good solution for that.

Continue reading “Laravel: Repository Pattern”

Leading with Impact: Essential Tips for Team Leaders

I have been leading teams for several years and have learned a great deal during this time. The journey has been challenging at times, but it has offered me a completely different perspective on many aspects of leadership. Today, I cannot categorically state whether I am a good or bad leader; this path is ongoing and continues to unveil new insights. However, I have formed opinions on certain topics and decided to share them with you. I believe these tips can significantly enhance the effectiveness of the team you manage.

I understand that there are various approaches to team leadership: some leaders focus meticulously on details, while others concentrate on the broader picture. Some adhere strictly to rules, while others prefer a more flexible, personable approach. I won’t suggest which method is superior; instead, these tips are intended to serve as a universal guide. So, let’s begin with the importance of listening to others—a skill that many of us find surprisingly challenging to master.

Continue reading “Leading with Impact: Essential Tips for Team Leaders”