> Hello World |

Last Updated: 15/11/2023

A Quick Intro

For a developer this seemed as good an intro as any. As you've no doubt read on the home page I'm James, I'm a developer, I code things.

For the longest time I haven't bothered making my own website. I've been fortunate enough to be on an uninterrupted string of full-time work since 2013 but a long-time friend of mine convinced me that creating my own space was long overdue.

Why I cheated on php

Although I'm primarily a php developer, much like the last reason I got kicked out of Tescos I have my fingers in many pies. I love experimenting with technologies that are new to me as the tech landscape changes and evolves so quickly. This website for example is built using NextJS, my first forray into such a solution.

I also enjoy using different languages for my microservices, as each is a little pocket of possibility where I can experiment with something novel to me. My monolith might be a shiny, obsidian slab of pure php, but that doesn't stop me from using Go to send less-vital queued emails for example.

NextJS or: How I learned to stop worrying and love MDX

My 3 requirements for this website were quite simple:

  • Built in a technology I hadn't used before
  • Had a blog I could easily add to
  • Ran faster than I can (not a super hard achievement)

For the technology, I picked NextJS. I've coded JS before but it appears when trying to learn NextJS you can't just dip a pinkie in, you're going headfirst at the deep end. For with NextJS comes TypeScript, and I have never encounted as confusing errors as I have when VS Code gives me a popup with:

"Operator '>' cannot be applied to types '{index: number;}' and 'number'"

For me, index isn't an object that contains an index, it's just a number. My number is just a number. I just wanted to know if one was bigger than the other and TypeScript is glaring back at me. Of course I've since learned TypeScript errors on your IDE are just indications of issues elsewhere in your code, but from someone starting fresh you look at that like your coding foundations are crumbling before your eyes.

I'll probably write a post on how I got all this to work, but I'd like to think I've met my end goals. The blog uses MDX and generates as quick loading static pages AND I've learned something along the way, how about that.