blog: Vibe Check #12

This commit is contained in:
Thomas 2023-04-14 21:50:27 +01:00
parent c03f1504ef
commit 15ddbde75d
3 changed files with 191 additions and 152 deletions

View file

@ -0,0 +1,27 @@
---
title: 'Vibe Check #12'
date: 2023-04-14T20:33:52.766Z
slug: 2023-04-14-vibe-check-12
author: Thomas Wilson
---
I find myself writing this a full two (2!) weeks into April. It's been seventeen days since I last wrote _anything_, which feels unusual. My brain feels it: I've taken more and more detailed notes (at work, in life) in the last five-or-so days. I wrote the notes for this piece on paper at an off-grid cottage in Wales (10/10, strong recommend).
The singular feeling from March 2023 I would press into the hands of me-in-February is that of sunlight at seven o'clock in the evening. And of how quickly that change happens. The evenings don't end at five PM. The darkness doesn't take up all the space in the evening. It is marvellous.
I've not watched a single movie this month, but I have enjoyed several series: Couples Therapy (if I was a ghost, I think I would haunt therapy sessions), Wild Isles (Sir David Attenborough and Great Britain at their finest), and Ted Lasso (finishing Season 2, now that 3 is released).
I've found myself in a non-fiction place for books. For which I particularly recommend:
* [A Fortunate Woman](https://www.goodreads.com/book/show/60713379-a-fortunate-woman), Polly Morland. An account of a country doctor, put so well how years-long acceptance and relationships make us better people and communities.
* [Super-Infinite](https://www.goodreads.com/book/show/59851731-super-infinite), Katherine Rundell. Recounts the life of John Donne, a seventeenth century poet (new to me). In telling him and his story, Rundell shows us a complicated and unique man.
* [Acelerate](https://www.goodreads.com/book/show/35747076-accelerate), Nicole Forsgren, Jez Humble, Gene Kim. A book about the benefits of Continuous Integration and Delivery as heartbeat practices for modern software teams. Please only read this if you find yourself in a position to influence the prioritisation and ways-of-working of software teams.
* [The Mom Test](https://www.goodreads.com/book/show/52283963-the-mom-test), Rob Fitzpatrick. A book about asking good questions and framing business and product conversations. It's framed for business people but really, I think there's life advice in there. This was a re-read (from 2020, I think) - and I'm glad I did.
When reading non-fiction, I find myself more interested in the world. By considering something, and how to tell its story to a stranger - it reminds my brain that the world is a place full of things worth paying attention to. That my culture, my craft are things I participate in, not things that just _are_.
This has easily been my most socially busy time since Christmas. I've even some friends twice within one month. I've been careful to take care of body and mind - it's easy to add obligations and activity without making the requisite deductions from the balance sheet. I remain a working young professional (who's getting married).
Which is also to say why little (no) progress of note has been made on any of my sewing projects. I have finished a trouser toile which came out a good inch too small around the waist (despite the last one coming out several inches too wide). I've started a pair of trousers in indigo wool (now we're talking about April, slow down, Wilson). I've already seen myself resume more careful focus of sewing.
Look, that's it. Sometimes it's about making things short or never getting around to them.

View file

@ -1,185 +1,197 @@
<script lang="ts">
import { slide } from 'svelte/transition';
import Navbar from '$lib/components/Navbar.svelte';
import { slide } from "svelte/transition";
import Navbar from "$lib/components/Navbar.svelte";
let isWorkExpanded = false;
let isPersonalExpanded = false;
let isWorkExpanded = false;
let isPersonalExpanded = false;
</script>
<svelte:head>
<title>Thomas Wilson</title>
<title>Thomas Wilson</title>
</svelte:head>
<Navbar />
<main class="thomaswilson-container">
<section class="section thomaswilson-strapline">
<h1 class="title">Thomas Wilson</h1>
<p>
I'm a software engineer who loves the craft of leading teams, and building software that is
reliable and human-friendly. I build good things with good people for good companies.
</p>
</section>
<section class="section thomaswilson-strapline">
<h1 class="title">Thomas Wilson</h1>
<p>
I'm a software engineer who loves the craft of leading teams, and building
software that is reliable and human-friendly. I build good things with
good people for good companies.
</p>
</section>
<section class="work section">
<h2>My work</h2>
{#if isWorkExpanded}
<ul transition:slide={{ duration: 220 }}>
<li>
Right now I'm leading software engineering at <a
class="oxwash"
target="_blank"
rel="noopener noreferrer"
href="https://www.oxwash.com">Oxwash</a
>, we're building the sustainable and scalable future of laundry.
</li>
<li>
I build full-stack software for the web, especially with TypeScript, Node, Svelte, and
React.
</li>
<section class="work section">
<h2>My work</h2>
{#if isWorkExpanded}
<ul transition:slide="{{ duration: 220 }}">
<li>
Right now I'm leading software engineering at <a
class="oxwash"
target="_blank"
rel="noopener noreferrer"
href="https://www.oxwash.com">Oxwash</a
>, we're building the sustainable and scalable future of laundry.
</li>
<li>
I build full-stack software for the web, especially with TypeScript,
Node, Svelte, and React.
</li>
<li>
I lead teams with domain driven design, and agile (with a little 'a') opinions about delivery and collaboration.
</li>
<li>
I lead teams with domain driven design, and agile (with a little 'a')
opinions about delivery and collaboration.
</li>
<li>
I've previously built software with data privacy, ed-tech, and sustainability companies.
</li>
<li>
I've previously built software with data privacy, ed-tech, and
sustainability companies.
</li>
<li>
I have a <a
class="thesis"
target="_blank"
rel="noopener noreferrer"
href="https://eprints.soton.ac.uk/418168/">Ph.D. in education technology</a
>, where I looked at how we can use tech in the teaching lab to promote and evidence
understanding.
</li>
<li>
I have a <a
class="thesis"
target="_blank"
rel="noopener noreferrer"
href="https://eprints.soton.ac.uk/418168/"
>Ph.D. in education technology</a
>, where I looked at how we can use tech in the teaching lab to
promote and evidence understanding.
</li>
<li>
I have only ever worked with companies actively solving environment and societal problems.
</li>
<li>
I have only ever worked with companies actively solving environment
and societal problems.
</li>
<li><button on:click={() => (isWorkExpanded = false)}> Ew, show less </button></li>
</ul>
{:else}
<p>I build human-friendly software for the web.</p>
<button on:click={() => (isWorkExpanded = true)}> Wow, Show more </button>
{/if}
</section>
<li>
<button on:click="{() => (isWorkExpanded = false)}">
Ew, show less
</button>
</li>
</ul>
{:else}
<p>
I build software that makes complicated things more human-friendly, and
lead teams to do the same.
</p>
<button on:click="{() => (isWorkExpanded = true)}">
Wow, Show more
</button>
{/if}
</section>
<section class="section personal">
<h2>Me</h2>
{#if isPersonalExpanded}
<ul transition:slide={{ duration: 210 }}>
<li>I try to write at least once a month on my <a class="thesis" href="/blog">blog</a>.</li>
<li>I'm learning to sew my own clothes</li>
<li>I love fruity coffees and botanical gins</li>
<li>I used to dance and produce with a contemporary dance company</li>
<li><button on:click={() => (isPersonalExpanded = false)}>Cool, show less</button></li>
</ul>
{:else}
<p>
I like to write on my <a href="/blog">blog</a> and ride bikes. I'm learning to sew my own clothes, and my French
is terrible.
</p>
<button on:click={() => (isPersonalExpanded = true)}>Oh, cool, tell me more</button>
{/if}
</section>
<section class="section personal">
<h2>Me</h2>
{#if isPersonalExpanded}
<ul transition:slide="{{ duration: 210 }}">
<li>
I try to write at least once a month on my <a
class="thesis"
href="/blog">blog</a
>.
</li>
<li>I'm learning to sew my own clothes</li>
<li>I love fruity coffees and botanical gins</li>
<li>I used to dance and produce with a contemporary dance company</li>
<li>
<button on:click="{() => (isPersonalExpanded = false)}"
>Cool, show less</button
>
</li>
</ul>
{:else}
<p>
I like to write on my <a href="/blog">blog</a> and ride bikes. I'm learning
to sew my own clothes, and my French is terrible.
</p>
<button on:click="{() => (isPersonalExpanded = true)}"
>Oh, cool, tell me more</button
>
{/if}
</section>
<section class="section links">
<h2>Links</h2>
<ul>
<li>I write here, <a href="/blog">on my blog</a></li>
<li>I'm on <a href="https://www.twitter.com/tjwilson92">Twitter</a></li>
<li>And on <a href="https://www.github.com/thomaswilsonxyz">GitHub</a></li>
</ul>
</section>
<section class="section links">
<h2>Links</h2>
<ul>
<li>I write here, <a href="/blog">on my blog</a></li>
<li>
And on <a href="https://www.github.com/thomaswilsonxyz">GitHub</a>
</li>
<li>I stopped checking Twitter when... you know.</li>
</ul>
</section>
</main>
<style>
section {
--link-transition: 0.2s;
--link-padding: 4px;
--link-border-radius: 8px;
}
section {
--link-transition: 0.2s;
--link-padding: 4px;
--link-border-radius: 8px;
}
section ul {
margin-top: 0;
margin-bottom: 0;
}
section ul {
margin-top: 0;
margin-bottom: 0;
}
section p {
padding-bottom: var(--spacing-md);
}
section p {
padding-bottom: var(--spacing-md);
}
.strapline p {
padding-top: 4px;
padding-bottom: 1rem;
.strapline p {
padding-top: 4px;
padding-bottom: 1rem;
color: var(--gray-700);
}
color: var(--gray-700);
}
.oxwash {
padding: var(--link-padding);
transition: var(--link-transition);
border-radius: var(--link-border-radius);
border: 1px solid #0256f2;
color: #0256f2;
text-decoration: none;
}
.oxwash {
padding: var(--link-padding);
transition: var(--link-transition);
border-radius: var(--link-border-radius);
border: 1px solid #0256f2;
color: #0256f2;
text-decoration: none;
}
.oxwash:hover {
background: #6fbbec;
border: 1px solid #6fbbec;
text-decoration: underline;
color: white;
}
.oxwash:hover {
background: #6fbbec;
border: 1px solid #6fbbec;
text-decoration: underline;
color: white;
}
.figma {
padding: var(--link-padding);
transition: var(--link-transition);
border-radius: var(--link-border-radius);
border: 1px solid #c7b9ff;
color: #000000;
text-decoration: none;
}
.thesis {
padding: var(--link-padding);
transition: var(--link-transition);
border-radius: var(--link-border-radius);
border: 1px solid var(--brand-orange);
color: var(--brand-orange);
text-decoration: none;
}
.figma:hover {
background: #c7b9ff;
color: #000000;
text-decoration: underline;
}
.thesis:hover {
background: var(--brand-orange);
color: white;
text-decoration: underline;
}
.thesis {
padding: var(--link-padding);
transition: var(--link-transition);
border-radius: var(--link-border-radius);
border: 1px solid var(--brand-orange);
color: var(--brand-orange);
text-decoration: none;
}
.links a {
color: var(--brand-orange);
}
.thesis:hover {
background: var(--brand-orange);
color: white;
text-decoration: underline;
}
h1 {
font-size: 2.5rem;
}
.links a {
color: var(--brand-orange);
}
h2 {
font-family: var(--font-family-title);
color: var(--gray-800);
}
h1 {
font-size: 2.5rem;
}
h2 {
font-family: var(--font-family-title);
color: var(--gray-800);
}
li {
padding-bottom: 0.3rem;
}
li {
padding-bottom: 0.3rem;
}
</style>

View file

@ -40,7 +40,7 @@
--navbar-height: 75px;
--font-size-sm: 0.875rem;
--font-size: 1.08rem;
--font-size: 1.12rem;
--font-size-md: 1.25rem;
--font-size-lg: 1.5rem;