# Neo Ighodaro > Founder, tech lead and music maker based in Berlin. Writing on Laravel, PHP, > JavaScript/TypeScript, AI agents, Docker and developer tooling. A German (de) > translation of most content lives under /de/. ## Pages - [Home](https://neoighodaro.com/): who I am and what I build - [Blog](https://neoighodaro.com/blog/): all posts ## Posts - [Upgrading the SSD on a Steam Machine](https://neoighodaro.com/blog/15-upgrading-the-ssd-on-a-steam-machine/): The 512GB Steam Machine fills up fast. Here's how I cloned the original onto a 2TB drive, keeping my games and settings, instead of reinstalling SteamOS from scratch. - [Claude Code Skills for safe PHP and JS package updates](https://neoighodaro.com/blog/14-claude-skill-for-safe-dependency-updates-php-javascript-typescript/): I wanted my agents to handle dependency updates without walking me into a supply chain attack. So I wrote some skills. - [I'm Building a telc B1 Exam App Before Passing the Exam Myself](https://neoighodaro.com/blog/13-building-a-telc-b1-exam-app-before-passing-it/): I froze on a German medical hotline, booked the telc B1 for August, and then did the only logical thing: started building an exam prep app instead of studying. - [Changing XCode File Header Comment](https://neoighodaro.com/blog/12-changing-xcode-header-comment-templates-fileheader/): Change the file header comment for youe Swift files in Xcode by customising the FILEHEADER - [How to manually update oh-my-zsh!](https://neoighodaro.com/blog/11-how-to-manually-update-oh-my-zsh/): If you use Oh-My-Zsh, you may have missed the update notification and wondered how to trigger the update manually. This quick guide shows you how. - [Setting up Raspberry Pi to work with your M1 iPad Pro](https://neoighodaro.com/blog/10-setting-up-raspberry-pi-to-work-with-your-ipad/): Setting up the Raspberry Pi to work with the iPad can unlock some productivity on the go if it's something you are interested in. - [Dynamically Loading VueJS Components](https://neoighodaro.com/blog/9-dynamically-loading-components-in-vuejs/): In this article, I will show how you can dynamically load components using webpacks codesplitting - [Dynamic Relationships in Laravel using Eloquent Macros](https://neoighodaro.com/blog/8-dynamic-model-relationships-using-macros-in-laravel/): Eloquent Macros are a good way to extend the functionality of your Laravel model. In this case, we will define relationships outside the model class - [Automatically Appending Jira Issues to Commit Messages](https://neoighodaro.com/blog/7-automatically-appending-jira-issue-to-commit-message/): Jira integration with Git means you can automatically pull commits and branches from your repo. But you need to do this first. - [Reorganising Pages in Inertia JS](https://neoighodaro.com/blog/6-reorganising-inertia-js-pages/): If you have ever wanted to reorganise pages while using Inertia JS then read on - [Forcing JSON-only responses in Laravel](https://neoighodaro.com/blog/5-forcing-only-json-responses-laravel/): When building an API pmly service in Laravel you might want to force JSON only responses - [Little Sail: alpine-based images for Laravel Sail](https://neoighodaro.com/blog/4-little-sail-an-alpine-base-for-laravel-sail/): Introducing little sail. An alpine-based replacement for the Laravel Sail docker runtime image - [Running Laravel in Docker on the Apple M1 Mac](https://neoighodaro.com/blog/3-running-laravel-and-docker-on-the-apple-mac-m1/): In this article, I will show how I run Laravel, Docker, and MySQL on the Apple M1 Mac - [Running ReactJS and Deploying from my iPad](https://neoighodaro.com/blog/2-running-reactjs-nextjs-on-my-ipad/): In this article, I explain how I managed to run ReactJS and deploy it from just the iPad. - [Using Laravel at Scale](https://neoighodaro.com/blog/1-spoke-laravel-worldwide-meetup-2020/): Using Laravel at Scale is something we do at ABOUTYOU. In this talk, I will give some tips about running Laravel at Scale ## Optional - [Sitemap](https://neoighodaro.com/sitemap.xml) - [German site](https://neoighodaro.com/de/)