Setting Up a New Laravel App: A Real Walkthrough (Including the Part That Broke)

Setting up a new Laravel app walkthrough
A practical walkthrough of setting up a new Laravel application from scratch.

Every Laravel tutorial makes setup look like a single copy-paste command and then, poof, you’re building an app. In practice, it’s usually one command plus one confusing red X you have to Google. Here’s exactly what happened when I set up a fresh Laravel project on my Mac, from having zero PHP tooling installed to actually running the dev server — including the one step that failed and what it turned out to mean.

I was following along with the official Learn Laravel from Scratch [FULL BOOTCAMP COURSE] on YouTube, which walks through building a full-stack app from a completely empty machine. It’s a solid starting point if you want to follow the exact same steps — just know that the setup section is where things can get a little bumpy depending on what’s already on your computer.

Continue reading “Setting Up a New Laravel App: A Real Walkthrough (Including the Part That Broke)”

MySQL Workbench Alternatives: The Best Database Tools for Local, Dev, and Production

MySQL Workbench alternatives for local, development, and production databases
Compare the best MySQL Workbench alternatives for managing local, development, and production databases.

If you work with MySQL regularly, chances are you’ve used MySQL Workbench at some point.

It’s free, powerful, and comes directly from the MySQL ecosystem. But it’s not the only option—and depending on your workflow, it might not even be the most convenient one.

Web developers often need to manage several versions of the same database:

  • A local development database
  • A development or staging database
  • A remote production database

A good database client makes switching between these environments easy while giving you the tools to browse data, modify tables, run SQL queries, manage indexes, and troubleshoot problems.

In this guide, we’ll compare MySQL Workbench, TablePlus, DBeaver, Sequel Ace, DataGrip, Beekeeper Studio, and Navicat. We’ll also look at how database clients handle real-world schema changes, such as changing a column’s data type when it already contains data.

Continue reading “MySQL Workbench Alternatives: The Best Database Tools for Local, Dev, and Production”

What I Learned Building an Astro Book Review App (And Almost Breaking My Terminal Twice)

Retro computer terminal illustrating lessons learned building an Astro blog with Vite and npm
Building an Astro blog turned into a hands-on lesson in Vite, dev servers, terminal processes, build tools, and modern JavaScript frameworks.

I recently started building a small book review site with Astro, and along the way I ended up down a rabbit hole of dev servers, bundlers, and stuck terminal processes. What started as “why won’t my server start” turned into a crash course on how modern JavaScript frameworks actually work under the hood. Here’s the breakdown, minus the panic.

Continue reading “What I Learned Building an Astro Book Review App (And Almost Breaking My Terminal Twice)”

React vs. Next.js: What’s the Difference, and Why Should You Care?

React vs. Next.js comparison showing React as a UI library and Next.js as a full-stack framework
React vs. Next.js: comparing React’s flexible UI library approach with Next.js features like file-based routing, Server Components, and built-in performance tools.

If you’ve spent any time in the JavaScript ecosystem, you’ve probably noticed it has a personality disorder: it can’t stop reinventing itself. Just when you’ve made peace with React, along comes Next.js, acting like it’s here to “help,” and suddenly your useEffect hooks feel like they’re from the Stone Age. So let’s clear the fog. This article breaks down what React actually is, how Next.js builds on top of it, where directives and routing get weird, whether Express.js still has a job, and the pitfalls that trip up even experienced developers.

Grab a coffee. This one’s a bit of a read, but by the end you’ll actually understand the “why,” not just the “how.”

Continue reading “React vs. Next.js: What’s the Difference, and Why Should You Care?”

ADA vs. WCAG: What They Actually Mean for Your Code (Not Just Your Legal Team)

ADA vs WCAG web accessibility guide for developers
ADA vs. WCAG: understanding the difference between accessibility law and the technical guidelines developers use to build accessible websites.

If you’ve ever Googled “ADA compliant website” at 11 PM in a mild panic because a client mentioned a lawsuit, welcome. You’re in good company. Half the internet is having this exact crisis right now, usually right after someone from legal forwards an email with the subject line “URGENT – please read.”

Here’s the thing nobody explains clearly enough: ADA and WCAG are not the same thing, and mixing them up is like confusing “the speed limit” with “the laws of physics.” One is a rule humans made. The other is closer to how the universe (or in this case, assistive technology) actually works. You need both, but they do very different jobs.

Let’s sort this out — legal side first, then the part you’re really here for: what to actually put in your HTML.

Continue reading “ADA vs. WCAG: What They Actually Mean for Your Code (Not Just Your Legal Team)”

How to Optimize an Older Intel MacBook Pro for Web Development

2019 Intel MacBook Pro web development setup with multiple monitors and performance optimization tips
Optimizing an older Intel MacBook Pro can reduce heat and improve performance without immediately upgrading your hardware.

If your Intel MacBook Pro gets hot while you’re coding, running Chrome, using external monitors, and juggling client work, the first instinct might be to replace it.

That was my thought too.

Instead, I spent some time figuring out what was actually causing the heat. The good news: my 2019 MacBook Pro was in much better shape than I expected.

The real problem was mostly unnecessary background activity.

Continue reading “How to Optimize an Older Intel MacBook Pro for Web Development”

Customizing the Author Box using the Genesis Theme

Permutations Using Python

I had some consulting work come in – task was pretty straightforward, then again what
exactly is “straightfoward.” In software though, nothing is ever “straightforward”, though
that word gets used a lot to describe something pretty close to being straightforward but not
exactly so.

Alright anyway, I was working off a Genesis theme. Themes, templates, architecture. I think
these terms are all synonymous, the keyword really here is architecture. There are some bad ones,
good ones and terrible ones. Genesis in my opinion is pretty good. But what qualifies as “pretty good”, really? For starters I’d say architecture that is lightweight, modularized, and loosely coupled. Architecture where we can inject new features seamlessly.

I was working on enabling an author box on a blog page, on every single blog post – so this was to be a global implementation for a blog. It’s been a while since I’ve worked with Genesis themes but good news is there’s a pretty big community around it and chances are I would be running into a frequent feature.

Continue reading “Customizing the Author Box using the Genesis Theme”

Accordion Menu in Vanilla Javascript

Accordion Menu in Vanilla Javascript

I’m back in the mood for more Javascript, more specifically “vanilla javascript” – which is just a phrase for writing Javascript in it’s true form, free from any frameworks or libraries. I guess the only thing we would be dependent on would be the “Javascript Engine” itself and the available “API’s” available for our use. I think this is pretty cool, we can do a lot with just “vanilla javascript” alone.

Now don’t get me wrong, frameworks and libraries are great – they take care of all the nitty gritty cross browser stuff but often come with unnecessary bloat or extra features that aren’t even utilized. Frameworks like ReactJS and VueJS manage DOM manipulation for you so you can offload having to manage a bunch of selectors. There are some key concepts to be learned in writing plain Javascript though, as we shall see – we can achieve the same functionality with much less code.

Continue reading “Accordion Menu in Vanilla Javascript”

Pantheon.io Hosting Review

Pantheon.io Hosting Review

I was recently introduced to a client hosted on Pantheon.io, a hosting platform packed with some really great features, services, and tech support. I really like their site as well, their catchy logo just put the cherry on top. After using Pantheon for a couple days, I couldn’t help but spend some quality time with this hosting platform. Let me tell you, user interface goes a long way when choosing a hosting platform at least for me.

Continue reading “Pantheon.io Hosting Review”