From c42fff09cbfdc0ab03873af6fd45fea50fd43625 Mon Sep 17 00:00:00 2001 From: Aaron Yarborough Date: Thu, 22 Aug 2024 15:36:15 +0100 Subject: [PATCH] feat: remove stuff; spellcheck --- .vscode/settings.json | 27 ++++++++++++- content/fun/javascript-html5-tile-editor.md | 8 ---- content/pages/cv.yml | 9 +++-- content/recipes/arayes.md | 25 ------------ content/recipes/manakish.md | 21 ---------- content/recipes/red-lentil-soup.md | 24 ------------ content/recipes/spicy-sausage-pasta.md | 29 -------------- content/writing/doctor-who-ranked.md | 43 --------------------- src/components/Header/Header.jsx | 2 - src/pages/fun/[slug].js | 17 -------- src/pages/fun/index.js | 31 --------------- src/pages/index.js | 32 ++++++++------- src/pages/recipes/[slug].js | 17 -------- src/pages/recipes/index.js | 30 -------------- 14 files changed, 50 insertions(+), 265 deletions(-) delete mode 100644 content/fun/javascript-html5-tile-editor.md delete mode 100644 content/recipes/arayes.md delete mode 100644 content/recipes/manakish.md delete mode 100644 content/recipes/red-lentil-soup.md delete mode 100644 content/recipes/spicy-sausage-pasta.md delete mode 100644 content/writing/doctor-who-ranked.md delete mode 100644 src/pages/fun/[slug].js delete mode 100644 src/pages/fun/index.js delete mode 100644 src/pages/recipes/[slug].js delete mode 100644 src/pages/recipes/index.js diff --git a/.vscode/settings.json b/.vscode/settings.json index 9652cd8..16b61cf 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,33 @@ { "cSpell.words": [ + "aaronjy", + "apos", + "Aurelia", + "Datatrial", "Dirents", - "Sitecore" + "doesn", + "fiftyfiveandfive", + "Firestore", + "Goodreads", + "helpdesk", + "Hetzner", + "Integra", + "Levantine", + "Orangebus", + "pipdig", + "quot", + "Radr", + "Recon", + "Sitecore", + "sportank", + "Umbraco", + "Yarbz" ], "files.autoSave": "off", "standard.autoFixOnSave": true, "prettier.enable": false, - "editor.defaultFormatter": "standard.vscode-standard" + "editor.defaultFormatter": "standard.vscode-standard", + "[javascript]": { + "editor.defaultFormatter": "rvest.vs-code-prettier-eslint" + } } \ No newline at end of file diff --git a/content/fun/javascript-html5-tile-editor.md b/content/fun/javascript-html5-tile-editor.md deleted file mode 100644 index 952298b..0000000 --- a/content/fun/javascript-html5-tile-editor.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: JavaScript/HTML5 tile editor -desc: A rough tile editor for a top-down, 2D, tile-based browser game project. ---- -I built this 2D tile editor using an HTML 5 canvas and vanilla JS in a few days, as I wanted to create a bespoke editor for my tile game rather than relying on the open-source variants. The reason for this was that I was using my own file format for level files. - -[![YouTube thumbnail](https://i3.ytimg.com/vi/7w3fTHYEGbE/maxresdefault.jpg)](https://www.youtube.com/watch?v=7w3fTHYEGbE) -[Watch YouTube video](https://www.youtube.com/watch?v=7w3fTHYEGbE) diff --git a/content/pages/cv.yml b/content/pages/cv.yml index 98bba97..bf98692 100644 --- a/content/pages/cv.yml +++ b/content/pages/cv.yml @@ -28,6 +28,9 @@ experience: end: Present desc: >- * Leading a small team of developers on a UK public sector project for the Department for Education (DfE) + + + **Skills:** ASP.NET Core · Microsoft Azure · Azure Data Factory · Git · C# · Full-Stack Development · Umbraco · Web Development · Microsoft SQL Server · Cloud Development · Microservices · Technical Requirements · Agile Methodologies - position: Software Development Tutor employer: Yarbz Digital Ltd start: Sep. 2023 @@ -50,7 +53,7 @@ experience: * Designed and built a proof-of-concept using Angular, Node.js, and gRPC, enabling real-time voice input streaming from web browsers to medical speech recognition software, leading to its active use by doctors for efficient communication. - * Maintained and improved the Integra Planner event management platform used by thousands of people for multi-day events, specifically for GARA Choruses. + * Maintained and improved the Integra Planner event management platform used by thousands of people for multi-day events, specifically for GALA Choruses. * Enabled efficient event planning and management by utilizing Angular, Ionic for mobile apps, AWS, SQL Server, and .NET Core. @@ -69,7 +72,7 @@ experience: **Skills:** Amazon Elastic Container Registry (ECR) · TypeScript · Amazon ECS · Tailwind CSS · Node.js · Amazon Web Services (AWS) · Next.js · React.js · docker · Front-End Development · NoSQL · AWS Lambda · HTML · Agile Methodologies · User Interface Programming - - position: Software Architecht + - position: Software Architect employer: T101 start: Sep. 2020 end: Jul. 2021 @@ -158,7 +161,7 @@ experience: end: Sep. 2015 desc: >- * I worked as an IT Support Technician and Developer Trainee. My - responsibilities included dealing with IT issues via an IT helpdesk + responsibilities included dealing with IT issues via an IT help desk system. I also worked on improvements to internally-developed software that was used by our Arboricultural staff. I also provided updates to an internal MVC application used by office staff to log data, arrange diff --git a/content/recipes/arayes.md b/content/recipes/arayes.md deleted file mode 100644 index 1097159..0000000 --- a/content/recipes/arayes.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: عرايس (arayes) -desc: Originally from the Middle East, Arayes are pita or flat bread stuffed with spiced and seasoned meat. ---- - -## You will need - -- Lebanese bread -- 500g fatty beef -- parsley -- 1 white onion -- 2 garlic cloves -- lebanese black pepper spice -- lebanese mixed spices -- red pepper spice/paprika -- cinnamon -- 1tbsp salt -- 1bsp olive oil - -## Method - -1. Blend together parsley, onion, garlic, olive oil -2. Mix the meat with the spices (to taste) and mix in the mixture from the first step to make a kofta mixture -3. Stuff the kofta mix into the the lebanese bread (as thick or as thin as you like, though I prefer a thin layer of kofta) -4. Fry the kofta-stuffed bread on both sides in a thin layer of oil (or paint the oil on the bread on each side before adding to the pan) \ No newline at end of file diff --git a/content/recipes/manakish.md b/content/recipes/manakish.md deleted file mode 100644 index f11e993..0000000 --- a/content/recipes/manakish.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Manakish (pan) -desc: Dough typically topped with za'atar, cheese or meat. A popular breakfast food from the Levant. ---- - -## You will need - -- flower -- 1tbsp sugar -- 1 tsp yeast -- 1/4 cup vegetable oil -- 1/2 tsp baking powder -- cheese (mozarella, akkawi) or za'atar for filling - -## Method - -1. Mix the flower, sugar and yeast together in a bowl, and add a 1 cup of warm water. Keep mixing until it turns to a goo-like consistency -2. Cover the bowl for 10 minutes -3. Add the oil, baking powder and a further 1.5 cup of flower, and stir -4. Once the dough comes together, knead it until it is combined fully, and separate it into small blobs of dough. -5. Roll each blob out and fry it for 2 minutes on either side in the pan, adding your preferred filling on top while it's cooking (cheese or za'atar, or both) diff --git a/content/recipes/red-lentil-soup.md b/content/recipes/red-lentil-soup.md deleted file mode 100644 index 7b3fa90..0000000 --- a/content/recipes/red-lentil-soup.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Red lentil soup -desc: A simple spiced red lentil soup, based loosely on a Turkish recipe. ---- -## You will need - -- 2 cups red lentils (washed) -- 1 white onion -- 1 garlic clove -- 1 tbsp ginger paste -- 1 tbsp salt -- 1 tbsp cumin -- 1 tbsp olive oil -- 1/4 tsp tumeric - -## Method - -1. Dice the onion and fry in oil until slightly browned -2. Paste garlic and add with ginger into the pan -3. Add lentils and stir -4. Add cumin and tumeric -5. Add 6-7 cups of boiling water -6. Simmer and stir occasionally with lid on for 30 minutes -7. Serve with sumac and parsley on top diff --git a/content/recipes/spicy-sausage-pasta.md b/content/recipes/spicy-sausage-pasta.md deleted file mode 100644 index 1d5a787..0000000 --- a/content/recipes/spicy-sausage-pasta.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Spicy sausage pasta -desc: Shamelessly stolen and tweaked from Gordon Ramsay, this dish is quick to make and satisfyingly filling. ---- - -## You will need - -- 1 red onion -- 2 bell peppers -- 6 spicy sausages (removed from skins) -- garlic (to taste) -- paprika (to taste) -- 1 cup rice -- white wine -- vegetable stock -- tomatoes -- parsley - -## Method - -1. Chop and fry red onion for 5-6 minutes until caramelised -2. Chop and add the bell pepper -3. Add sliced garlic -4. Turn pan to hot, and add the sausage meat and fry everything together for a few minutes -5. Add paprika (1stp, though to taste) -6. Stir in the rice and allow it to fry with everything else for a minute -7. Drizzle white wine into the pan to lift the flavour off the bottom of the pan and into the food -8. Cover everything with stick (2:1 stock to rice) and simmer until the rice is cooked -9. Add fresh sliced tomatoes and parsley diff --git a/content/writing/doctor-who-ranked.md b/content/writing/doctor-who-ranked.md deleted file mode 100644 index 40dd9fc..0000000 --- a/content/writing/doctor-who-ranked.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Doctor Who episodes ranked -pubdate: 2024-03-25T13:10:30.001Z -desc: All doctor who episodes (eventually) between 2005 and 20014 ranked into tiers. ---- -# Doctor Who episodes (2005 - 2014) - -All doctor who episodes (eventually) between 2005 and 20014 ranked into tiers. Anything after 2014 with Peter Capaldi as The Doctor isn't included, as they're so bad I refuse to acknowledge their existence 🤓 - -Tiers are: - -* **S**: Stellar, amazing, groundbreaking, no notes. -* **A**: Overall pretty damn good. Not quite reaching into S tier. -* **B**: Better than the average Dr. Who episode. Nothing amazing, but a bit better than run-of-the-mill. -* **C**: Your bog-standard Who. Nothing special. -* **D**: Bit of a let-down, but we've had worse... -* **E**: Bottom of the barrel. You wouldn't watch these if you had a choice. -* **F**: Absolute dog shit, laughably bad, what were they thinking? - -## The List - -| Tier | Title | Season | Episode | Notes | -| ---- | ------------------------- | ------ | ------- | ----- | -| S | The Girl in The Fireplace | S2 | E4 | | -| S | Blink | S3 | E10 | | -| S | Midnight | S4 | E10 | | -| S | Silence in The Library | S4 | E8 | | -| S | The Impossible Planet | S2 | E8 | | -| S | The Satan Pit | S2 | E9 | | -| A | Dalek | S1 | E6 | | -| A | The Empty Child | S1 | E9 | | -| A | The Doctor's Wife | S6 | E4 | | -| B | The Unquiet Dead | S1 | E3 | | -| B | Father's Day | S1 | E8 | | -| B | The Doctor Dances | S1 | E9 | | -| B | Bad Wolf | S1 | E12 | | -| B | The Parting of The Ways | S1 | E13 | | -| B | Forest of The Dead | S4 | E9 | | -| C | Rose | S1 | E1 | | -| C | The End of The World | S1 | E2 | | -| C | Tooth and Claw | S2 | E2 | | -| E | Closing Time | S6 | E12 | | -| F | Love and Monsters | S2 | E10 | | diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx index 68703f4..8bd5112 100644 --- a/src/components/Header/Header.jsx +++ b/src/components/Header/Header.jsx @@ -9,8 +9,6 @@ function Header () { diff --git a/src/pages/fun/[slug].js b/src/pages/fun/[slug].js deleted file mode 100644 index d62b691..0000000 --- a/src/pages/fun/[slug].js +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react' -import DefaultLayout from '@/layouts/DefaultLayout/DefaultLayout' -import Article from '@/components/Article/Article' -import { getStaticEntryPaths, getStaticEntryProps } from '@/lib/content' - -const CONTENT_PATH = './content/fun' - -export const getStaticPaths = () => getStaticEntryPaths(CONTENT_PATH) -export const getStaticProps = (ctx) => getStaticEntryProps(CONTENT_PATH, ctx) - -export default function FunSingle ({ attributes, html }) { - return ( - -
- - ) -} diff --git a/src/pages/fun/index.js b/src/pages/fun/index.js deleted file mode 100644 index e7cfdec..0000000 --- a/src/pages/fun/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import DefaultLayout from '@/layouts/DefaultLayout/DefaultLayout' -import React from 'react' -import Link from 'next/link' -import { getStaticEntryListProps } from '@/lib/content' - -export const getStaticProps = () => getStaticEntryListProps('./content/fun', '/fun/') - -export default function Fun ({ entries, urlPrefix }) { - return ( - -
-

Fun

-

Hobby projects, helpful scripts, and other fun bits and bobs!

-
- -
- {entries.map((e) => ( -
-

- {e.attributes.title} -

- {!!e.attributes.pubdate &&

{e.attributes.pubdate}

} - -

{e.attributes.desc}

- Read more -
- ))} -
-
- ) -} diff --git a/src/pages/index.js b/src/pages/index.js index 0d4b9c0..1b0405c 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -27,26 +27,32 @@ export default function Home () {
-

Tech I like

+

Tech I Like

  • - Sites: At the moment, I mainly use node with TS (or - JS for small projects) and Next.js to build sites and apps. + Web Development: I primarily use Node.js with TypeScript + (or JavaScript for smaller projects) alongside Next.js to build websites + and applications.
  • - Scripts: My go-to for scripting is either Python or - JS, mainly because I'm comfortable with these languages, and their - library ecosystem usually has everything I need to do what I need to - do. + Scripting: My preferred scripting languages are Python + and JavaScript, as I'm well-versed in them and they offer extensive + libraries that typically cover my needs.
  • - APIs: If I need something more robust for API or - back-end architecture than node, I usually go for dotnet core/C# - using ASP.NET. A strongly-typed language with an opinionated web - framework like ASP.NET helps to keep everything neat and tidy. + API and Backend Development: For more robust API or backend + architecture, I often choose .NET Core with C# and ASP.NET. The strongly-typed + nature of C# and the structured framework of ASP.NET help maintain clean and + organised code. +
  • +
  • + Cloud Hosting: When possible, I opt for hosting on a + DigitalOcean droplet. If more extensive cloud services are required, I usually + opt for Google Cloud Platform (GCP), which I find more user-friendly than Azure + or AWS. I also self-host services on shared server hosting running Ubuntu Server, typically with Hetzner.
  • -
  • Cloud: If I can get away with it, host on a droplet on Digitalocean. If not, my go-to is usually GCP because it's less soul-destroying than Azure and AWS (and I've used it the most)
+
@@ -87,7 +93,7 @@ export default function Home () {

About this site

www.aaronjy.me is a static site (i.e. a bunch of HTML, JS, CSS and image files) written in JavaScript using Next.js. Tacit is being used as a micro CSS framework, and various smaller bits of custom CSS have been applied on top.

The site is hosted inside a Google Cloud Storage bucket with a load balancer sat in front of it. The load balancer is required as Cloud Storage doesn't support a) custom domains, b) HTTPS out of the box or c) a global CDN solution.

-

One of the biggest benefits of a website made of simple static files and assets is that I can deploy it easily, almost anywhere, and for very little money. Obviously, hosting cost is mostly relative to the amount of data transferred (i.e. the number of visitors accessing your site and downloading its assets), but I anticipate paying only a few pennies a month as things stand (unless my little site becomes incredibly popular overnight for some bizarre reason...)

+

One of the biggest benefits of a website made of simple static files and assets is that I can deploy it easily, almost anywhere, and for very little money.

diff --git a/src/pages/recipes/[slug].js b/src/pages/recipes/[slug].js deleted file mode 100644 index 441692b..0000000 --- a/src/pages/recipes/[slug].js +++ /dev/null @@ -1,17 +0,0 @@ -import React from 'react' -import DefaultLayout from '@/layouts/DefaultLayout/DefaultLayout' -import Article from '@/components/Article/Article' -import { getStaticEntryPaths, getStaticEntryProps } from '@/lib/content' - -const CONTENT_PATH = './content/recipes' - -export const getStaticPaths = () => getStaticEntryPaths(CONTENT_PATH) -export const getStaticProps = (ctx) => getStaticEntryProps(CONTENT_PATH, ctx) - -export default function RecipesSingle ({ attributes, html }) { - return ( - -
- - ) -} diff --git a/src/pages/recipes/index.js b/src/pages/recipes/index.js deleted file mode 100644 index df01a53..0000000 --- a/src/pages/recipes/index.js +++ /dev/null @@ -1,30 +0,0 @@ -import DefaultLayout from '@/layouts/DefaultLayout/DefaultLayout' -import React from 'react' -import Link from 'next/link' -import { getStaticEntryListProps } from '@/lib/content' - -export const getStaticProps = () => getStaticEntryListProps('./content/recipes', '/recipes/') - -export default function Recipes ({ entries, urlPrefix }) { - return ( - -
-

Recipes

-

Some of my favourite recipes. Most of them are variations of recipes I have found online, but some I've cooked up myself!

-
- -
- {entries.map((e) => ( -
-

- {e.attributes.title} -

- {!!e.attributes.pubdate &&

{e.attributes.pubdate}

} -

{e.attributes.desc}

- Read more -
- ))} -
-
- ) -}