<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on John Edwards</title>
    <link>https://jedwards.info/posts/</link>
    <description>Recent content in Posts on John Edwards</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 20 Feb 2025 15:09:14 +0000</lastBuildDate><atom:link href="https://jedwards.info/posts/index.xml" rel="self" type="application/rss+xml" /><item>
      <title>Work Experience</title>
      <link>https://jedwards.info/posts/work_experience/</link>
      <pubDate>Thu, 20 Feb 2025 15:09:14 +0000</pubDate>
      
      <guid>https://jedwards.info/posts/work_experience/</guid>
      <description>&lt;h1 id=&#34;devops-gcse-work-experience-tasks&#34;&gt;DevOps GCSE Work Experience Tasks&lt;/h1&gt;
&lt;h2 id=&#34;day-1&#34;&gt;Day 1&lt;/h2&gt;
&lt;p&gt;Setting up a DevOps environment:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Get logged in&lt;/li&gt;
&lt;li&gt;Setup a &lt;a href=&#34;https://github.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt; account&lt;/li&gt;
&lt;li&gt;Setup a &lt;a href=&#34;https://hub.docker.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;DockerHub&lt;/a&gt; account&lt;/li&gt;
&lt;li&gt;Setup a &lt;a href=&#34;https://chatgpt.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ChatGPT&lt;/a&gt; account&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;https://brew.sh/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Brew&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;https://formulae.brew.sh/formula/git&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Create a &lt;a href=&#34;https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub Repository&lt;/a&gt; for any notes or code snippets you want to keep&lt;/li&gt;
&lt;li&gt;Install &lt;a href=&#34;https://docs.docker.com/desktop/setup/install/mac-install/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Docker Desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.docker.com/get-started/introduction/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Introduction to Docker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;day-2&#34;&gt;Day 2&lt;/h2&gt;
&lt;p&gt;Running a containerised Minecraft server:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install &lt;a href=&#34;https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Minecraft Java Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Run a &lt;a href=&#34;https://github.com/itzg/docker-minecraft-server?tab=readme-ov-file&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Minecraft Java Edition Server under Docker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Play some Minecraft on your Server
&lt;ul&gt;
&lt;li&gt;Where is your server storing the World data?&lt;/li&gt;
&lt;li&gt;Can you access the server logs?&lt;/li&gt;
&lt;li&gt;What happens when you start/stop your container?&lt;/li&gt;
&lt;li&gt;Play with backing up and restoring your world data to revert changes you make in the World&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Try to run another containerised game server, see &lt;a href=&#34;https://www.hostinger.co.uk/tutorials/games-with-dedicated-servers&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    
    <item>
      <title>Baldur&#39;s Gate 3 Party</title>
      <link>https://jedwards.info/posts/baldurs_gate_3/</link>
      <pubDate>Sat, 12 Oct 2024 10:08:14 +0000</pubDate>
      
      <guid>https://jedwards.info/posts/baldurs_gate_3/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve been enjoying a Tactician mode play through of Baldur&amp;rsquo;s Gate 3 (Patch 8), particularly crafting my builds and party to handle the challenge.&lt;/p&gt;
&lt;p&gt;There are loads of combat focused power builds online but far less discussion around party composition and the non-combat elements of the game, so I thought I&amp;rsquo;d dump some of my thoughts on the subject here.&lt;/p&gt;
&lt;h1 id=&#34;party-roles&#34;&gt;Party Roles&lt;/h1&gt;
&lt;p&gt;To create a well rounded party there are six roles we need to cover; 4 combat and 2 non-combat.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>CS2 Server Docker Image</title>
      <link>https://jedwards.info/posts/cs2_docker_image/</link>
      <pubDate>Sun, 01 Sep 2024 10:08:14 +0000</pubDate>
      
      <guid>https://jedwards.info/posts/cs2_docker_image/</guid>
      <description>&lt;p&gt;When CS2 launched, I wanted to run a private tournament for my friends at Jagex. We had quite a few teams interested and so needed at least 12 servers to accomodate all of the parallel games.&lt;/p&gt;
&lt;p&gt;Rather than spinning and configuring 12 VMs, my preference was to use AWS Fargate, but for that I would need a container image for the CS2 dedicated server.&lt;/p&gt;
&lt;p&gt;None existed, so I made one, which has been adopted as the community&amp;rsquo;s preferred server image.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Fun with simple ciphers</title>
      <link>https://jedwards.info/posts/caesar_cipher/</link>
      <pubDate>Fri, 21 May 2021 10:08:14 +0000</pubDate>
      
      <guid>https://jedwards.info/posts/caesar_cipher/</guid>
      <description>&lt;p&gt;A bit of fun playing with a simple caesar cipher in Python3.&lt;/p&gt;
&lt;p&gt;The following text has been encrypted using a simple Caesar cipher:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;aur r-%n!-n-p|z}#&amp;#34;r -&amp;#34;un&amp;#34;-p vrq9
/Z&amp;#39;-&amp;#34;rpu{vpny-ov&amp;#34;!-un$r-nyy-orr{-s vrq9
V-&amp;#34;||x-&amp;#34;||-zn{&amp;#39;-w|y&amp;#34;!
S |z-&amp;#34;||-zn{&amp;#39;-$|y&amp;#34;!;;;/
5[|-%|{qr -&amp;#34;ur- #qq&amp;#39;-&amp;#34;uv{t-qvrq6.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Only printable characters with a unicode value &amp;gt;=32 and &amp;lt;=126 have been shifted. Any shifted character value that overflows these constraints is is wrapped to the opposite end of the range.&lt;/p&gt;
&lt;p&gt;The code I wrote to encrypt, decrypt and brute force this cipher can be found on my &lt;a href=&#34;https://github.com/joedwards32/python-caesar&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>AWS SES, S3 and Lambda: A Serverless mailserver</title>
      <link>https://jedwards.info/posts/serverless_mailserver/</link>
      <pubDate>Sun, 07 Feb 2021 14:01:08 +0000</pubDate>
      
      <guid>https://jedwards.info/posts/serverless_mailserver/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I wanted a simple way for members of a &lt;a href=&#34;https://www.2d6/club&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;tabletop gaming&lt;/a&gt; club I run to communicate with each other in order to arrange matchups, RSVP to events, etc.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m somewhat averse to the Facebook Hegemony and its social media ilk, so I turned to the last sleepy titan of the pre .com age, whose might, though waning, still comes (mostly) without privacy strings attached: Email!&lt;/p&gt;
&lt;p&gt;There were two modes of email operation I wanted to support:&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Ubuntu Multi-seat Steam Streaming Server</title>
      <link>https://jedwards.info/posts/ubuntu_steam_multiseat/</link>
      <pubDate>Sun, 07 Feb 2021 14:01:08 +0000</pubDate>
      
      <guid>https://jedwards.info/posts/ubuntu_steam_multiseat/</guid>
      <description>&lt;p&gt;My wife and I like to play games together. Before kids, we had two gaming PCs with their own desks etc, but there isn&amp;rsquo;t room in the house for that kind of setup these days. I decided to setup a single dedicated gaming server based on Ubuntu 18.04 which would use the Remote Play feature of Steam to stream games to our much lower spec Ubuntu laptops. This setup has some cool benefits:&lt;/p&gt;</description>
    </item>
    
    
  </channel>
</rss>
