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