James McGrath
banner
jamesmcgrath.bsky.social
James McGrath
@jamesmcgrath.bsky.social
Helping organisations modernise with open source, AI, and accessible design. I build faster sites, simpler tools, and better experiences for both your team and the people you serve.

Blogging at https://jamesfmcgrath.org/.
Ever gone blank in an interview? You know the answer, but your brain takes a coffee break. Feedback stings, but it’s fuel. Stop waiting for doors to open. Build your own.
October 24, 2025 at 12:41 PM
😁
Web developers have been searching for a good semantic tag to represent content with a caption for years...

Eventually, they’ll <figure> it out.
October 23, 2025 at 12:36 PM
There once was a service called AWS,
That fell into quite a hot mess.
Sites blinked and went down,
Each dev wore a frown,
While clients cried out in distress.
October 21, 2025 at 12:29 PM
💙
Here’s the group photo from DrupalCon Europe Vienna 2025 — capturing the energy, diversity, and spirit of collaboration that define our community.

Tag your friends and everyone you recognize!

Image credits : Joris Vercammen
October 16, 2025 at 12:35 PM
Reposted by James McGrath
RIP mainstream #Windows10. Remember that if 11 says your hardware is "too old", it's probably not true. There are alternatives to help negate the possible e-waste disaster incoming. 10 LTSC is one, but it won't last forever. In the meantime/as an alternative, please consider giving #Linux a shot.
October 13, 2025 at 11:11 PM
Reposted by James McGrath
🚀 September brought big improvements to LocalGov Drupal! @localgovdrupal.bsky.social

Mark Conroy @mark.ie added accessibility features, microsite content types, and modernized code across key modules.

Read the full summary: https://bit.ly/3ILnokk
##Drupal #LocalGovDrupal #Accessibility
LocalGov Drupal Gains Accessibility, Microsite, and Theming Enhancements in September 2025 Update
Mark Conroy’s September 2025 contributions to LocalGov Drupal bring improved accessibility, enhanced microsite integration, and expanded theme customization. The update also delivers a full JavaScript refactor of LocalGov Services, fixes multiple UI ...
bit.ly
October 6, 2025 at 2:30 PM
Reposted by James McGrath
Day 1 of going full indie

$0 MRR, no team, no funding, single parent, homeschooling my son

Wish me luck. I think I need it 😅
October 6, 2025 at 12:42 PM
Reposted by James McGrath
Inset Shadows Directly on img Elements (Part 1)

Inset `box-shadow` doesn't work directly on . There are work-arounds, but this SVG filter can do it directly.

Don't run! There is powerful stuff to learn here through interactive demos.
Inset Shadows Directly on img Elements (Part 1)
Inset `box-shadow` doesn't work directly on . There are work-arounds, but this SVG filter can do it directly. Don't run! There is powerful stuff to learn here through interactive demos.
frontendmasters.com
October 2, 2025 at 7:39 AM
Reposted by James McGrath
Transform Your Raspberry Pi 5 Into a Desktop Powerhouse with Alpine Linux Have you ever wondered how to turn your Raspberry Pi 5 into a sleek, ultra-lightweight desktop system? While many Linux dis...

#Guides #Hardware #Linux #News

Origin | Interest | Match
Transform Your Raspberry Pi 5 Into a Desktop Powerhouse with Alpine Linux
Learn to set up Alpine Linux on Raspberry Pi 5, configure graphics, and create a polished desktop environment in this step-by-step guide.
www.geeky-gadgets.com
September 16, 2025 at 11:27 AM
Reposted by James McGrath
Mark Conroy’s @mark.ie‬ August contributions to LocalGov Drupal @localgovdrupal.bsky.social‬ are packed with practical updates.

Microsites Base v3.0.0 is out with a new grid system and important accessibility fixes.

🔗 https://bit.ly/41z9R5G
##Drupal #LocalGov #Accessibility #OpenSource
August 2025 LocalGov Drupal Updates: Microsites, Replicate Module, and Accessibility Fixes
Mark Conroy documents his August 2025 contributions to LocalGov Drupal, including fixes to Microsites layout issues, updates to the Replicate module, accessibility improvements, and progress on the Modules List and Telemetry features.
bit.ly
September 5, 2025 at 12:02 PM
Reposted by James McGrath
comiCSS #90: The CSS of Man
comicss.art/comics/90/

May 25, 2023 – IIRC this is the only cartoon I've done that was not created with code. It's just an image. At the time, I thought about creating a series of them combining art and CSS. I should retake that idea...

#css #art #joke #webdev
September 2, 2025 at 12:56 PM
Reposted by James McGrath
The Drupal Dev Survey 2025 is out 📊
• 753 responses, 58 countries
• 78% of devs now use AI tools (ChatGPT, Claude, Copilot lead)
• DDEV is near-universal for local dev
• Cloudflare & Fastly lead CDNs
• Aging community still a concern
🔗 https://bit.ly/3VrqlJj
August 27, 2025 at 8:12 AM
🩷🐕
August 26, 2025 at 7:49 AM
Reposted by James McGrath
We're actively searching for valuable hashtag#Drupaltutorials and adding them to our Learn Drupal page, each with a brief summary and a direct link to the tutorial. Explore the tutorials now to continue learning and advancing in your Drupal career! Visit : https://bit.ly/3UFM7c5
August 22, 2025 at 8:10 AM
Reposted by James McGrath
Markdown Easy 2.0.0-RC1 is out for Drupal ✍️
New features, GitHub-flavored Markdown support, and better default config make content editing smoother.
Built by @mike-anello.bsky.social‬ at DrupalEasy.
🔗 https://www.thedroptimes.com/node/50771 ##Drupal #Markdown #DevTools #OpenSource
August 7, 2025 at 2:56 PM
AI is hype. AI is hope. AI will save us. Replace us. Ruin us.
People are losing jobs and losing their minds.
Me? I’m walking the dog. Taking classes.
Trying to make sense of it all without falling apart.
Somehow, I’m still here.

#AI
#JobSearch
#MentalHealth
#TechLife
#Hope
July 30, 2025 at 4:23 PM
10 days. 10 lessons. One JavaScript concept at a time.
From variables to functions to console.log() — beginner-friendly, short, and clear.
Start here:
jamesfmcgrath.org/learn-javasc...
#javascript #learnprogramming #codingforall #webdev #dailylesson
Learn JavaScript for Beginners – 10 Quick Daily Lessons
Learn JavaScript the easy way — one small concept at a time. This page gathers 10 beginner-friendly lessons covering variables, functions, arrays, loops, and more. Each post is short, clear, and perfe...
jamesfmcgrath.org
July 29, 2025 at 7:56 AM
What does console.log() do?
It's your code’s way of talking to you. Print values, debug bugs, and figure out what’s going on behind the scenes.
Short lesson, clear example, quick challenge.
#javascript #debugging #webdev #learnprogramming #codingforall

jamesfmcgrath.org/what-is-cons...
What Is console.log() in JavaScript? Explained Simply
Learn what console.log() does in JavaScript, how to use it to debug your code, and why it's one of the most essential tools for beginners. Simple explanation, examples, and a fun analogy included.
jamesfmcgrath.org
July 28, 2025 at 12:22 PM
What’s a Boolean?
It’s one of the simplest — and most powerful — types in JavaScript.
True or false. That’s it.
Today's post breaks it down with a fun analogy and short challenge.
#javascript #codingforall #learnprogramming #webdev #booleanlogic

jamesfmcgrath.org/what-is-a-bo...
What Is a Boolean in JavaScript? Explained Simply
Learn what a Boolean is in JavaScript, how it works, and why it's essential for logic in code. This beginner-friendly post includes examples, analogies, and a quick coding challenge.
jamesfmcgrath.org
July 27, 2025 at 3:13 PM
What’s a return statement in JavaScript?
It’s how a function gives something back — like a vending machine for code 🍿
Quick tip, simple example, and a challenge to try.
#javascript #learnprogramming #codingforall #webdev #functions

jamesfmcgrath.org/what-is-a-re...
What Is a Return Statement in JavaScript? Explained Simply
Learn what a return statement is in JavaScript, how it works inside a function, and why it’s useful. This beginner-friendly guide includes examples, a fun analogy, and a simple coding challenge.
jamesfmcgrath.org
July 26, 2025 at 9:31 AM
Functions are like recipes. Parameters? They're the ingredients 🍞

Today's post explains how JavaScript functions use parameters to make code reusable and dynamic.

Read it here → jamesfmcgrath.org/what-is-a-fu...

#javascript #webdev
What Are Function Parameters in JavaScript? Explained Simply.
Learn how function parameters work in JavaScript. This beginner-friendly guide shows how to define and use parameters in your functions with clear examples, a simple analogy, and a quick challenge to ...
jamesfmcgrath.org
July 25, 2025 at 11:10 AM
What’s an if statement? It’s how your code makes decisions.
If something’s true ➜ do a thing.
Short post, simple explanation, quick challenge to try!
#javascript #learnprogramming #codingforall #webdev #ifstatement

jamesfmcgrath.org/what-is-an-i...
What Is an If Statement in JavaScript? A Beginner-Friendly Guide
Learn how if statements work in JavaScript, including how to write them, why they're useful, and how to use them to control program flow. Includes examples, analogies, and a simple coding challenge fo...
jamesfmcgrath.org
July 24, 2025 at 6:43 AM
What’s a loop in JavaScript?
It’s your shortcut to repetition — write once, run many times.
Today’s post shows how to write a basic for loop (and explains it simply).
#javascript #learnprogramming #webdev #codingforall #looplogic

jamesfmcgrath.org/what-is-a-lo...
What Is a Loop?
Learn what a loop is in JavaScript, how to use a for loop, and why loops are essential for writing clean, efficient code. Includes examples and a beginner-friendly challenge.
jamesfmcgrath.org
July 23, 2025 at 9:22 AM
What’s an object? A labelled folder of facts.
Group data, grab what you need, stay organized.
Today’s tip is short and sweet — with a granola bar analogy 🏞️
#ctrlaltlearn #javascript #codingforall #learnprogramming #webdev

jamesfmcgrath.org/what-is-an-o...
What Is an Object?
Learn what a JavaScript object is, how to create one, and how to access its properties using dot notation — explained simply in Day 4 of Ctrl + Alt + Learn.
jamesfmcgrath.org
July 22, 2025 at 10:42 AM