Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new content #468

Merged
merged 1 commit into from
Dec 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions blog/2018-08-13-mailto-links.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ You might have a link opening fine in Mail on a Mac, only to realise that the li

Even the Wikipedia page for mailto: gives instructions that won't work by default on Outlook (which requires its users to actively turn on commas separation of email addresses).

![Mailto graphic](/img/posts/mailto.png)

## Getting it right

Here is an example of a complex, robust, href link:
Expand Down
13 changes: 7 additions & 6 deletions blog/2019-11-10-10-things-a-day.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,30 @@ authors: mcclowes
tags: [productivity]
---

On Monday 4th November I opened my to-do list and was greeted with 149 due tasks.
On Monday 4th November I opened my to-do list and was greeted with **149 due tasks**.

<!--truncate-->

![Tick box graphic](/img/posts/tiles-ticked.png)

The usual feelings of being overwhelmed and not knowing where even to start kicked in. I began sorting through my tasks, moving uncategorized tasks into the appropriate categories, before systematically parsing categories in priority order and postponing non-essential tasks. Even after this process, I still had just over 30 tasks which seemed equally important.

At the end of the day I had 20 due tasks. 12/30 is not good.

I felt like a failure.
**I felt like a failure.**

I’d barely made a dent on the tasks I had due, and I had this dread in the back of my mind that I’d have to do the same thing all over again tomorrow.

On Tuesday, I stopped myself mid-process. 32 tasks yesterday was unachievable - why did I set myself up for failure? The futility of the exercise got to me, and I decided to go down my list of tasks and simply choose the first ten that:

Were a priority

I could probably achieve
- Were a priority
- I could probably achieve

I added this 10 tasks to a working list called TODAY. I gave the remaining tasks a quick scan for anything that was of particularly high priority and moved it into TOMORROW.

I reviewed my TODAY list, decided that realistically there weren’t enough hours in the day, and swapped two tasks out for smaller tasks, moving the harder ones to TOMORROW.

I completed all ten tasks. Success!
I completed all ten tasks. **Success!**

Although I completed a similar number of tasks, I made sure I was prioritizing the most important ones and not wasting time with a myriad of small tasks, I wasn’t over-extending and setting myself up for failure, and I planned ahead for tomorrow. I also reduced the mental load around actually choosing what task to pick up, reducing task paralysis.

Expand Down
27 changes: 0 additions & 27 deletions blog/2019-11-11-10-things-a-day.md

This file was deleted.

2 changes: 2 additions & 0 deletions blog/2021-02-11-examining-expected-problems.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ A little while ago I (finally) got myself a decent desk and set up my workspace.

<!--truncate-->

![my window view](/img/posts/window.png)

However, since snow arrived in London, it’s been incredibly unpleasant - the window is freezing! That’s not a huge surprise given it’s a 110 year old building and these are traditional sash windows.

At first I tried using the blinds to try and trap the room’s heat. I whacked up the radiator… no success. After a few days of shivering I started looking up how much replacing the old window with new double glazed sash windows would cost - as much as I do want my home to eco-friendly, £800+ per window is not ideal.
Expand Down
File renamed without changes.
4 changes: 3 additions & 1 deletion blog/2022-12-03-fast-decision-making.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ One approach to reversing a decision is to focus on delivering incremental value

If you find that a decision needs to be reversed, don't panic. It's not the end of the world! Acting quickly and transparently is key. Involve your team and stakeholders in the decision-making process, analyze the impact of the decision, and make necessary adjustments to the product strategy.

Now, let's talk about the importance of making quick decisions in more detail. When you're a product manager, there's often a lot riding on the decisions you make. Whether it's a new feature, a change to the pricing strategy, or a major pivot, the success of the product can be affected by your decisions.
![Doodle](/img/posts/tiles-noodle.png)

When you're a product manager, there's often a lot riding on the decisions you make. Whether it's a new feature, a change to the pricing strategy, or a major pivot, the success of the product can be affected by your decisions.

Of course, you don't want to make decisions recklessly or without considering all the relevant factors. But sometimes, taking too long to make a decision can be just as harmful as making a bad decision. That's why I believe in the value of agility and adaptability.

Expand Down
2 changes: 2 additions & 0 deletions blog/2023-01-07-mlps.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ However, in the ruthless stripping away of all but core functionality, we risk a

---

![Heart](/img/posts/tiles-heart.png)

### Even an MVP has to be loveable.

A product with a poor experience is inherently non-viable. In this sense, an MVP = MLP.
Expand Down
5 changes: 2 additions & 3 deletions blog/2023-06-25-the-other-wind.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ authors: mcclowes
tags: [book, review]
---

> “Freedom is not the absence of commitments, but the ability to choose – and commit myself to – what is best for me.” — Paulo Coelho
I recently read *The Other Wind* by Ursula K. Le Guin. It strikes a perfect balance between the mundane aspects of real, believable human lives and exciting high magic and wonder, reminiscent of "Lord of the Rings" and other classic fantasies.

<!--truncate-->

I recently read *The Other Wind* by Ursula K. Le Guin. It strikes a perfect balance between the mundane aspects of real, believable human lives and exciting high magic and wonder, reminiscent of "Lord of the Rings" and other classic fantasies.
<!--truncate-->

I've always been a fan of low magic settings where magic seeps in softly, insidiously, and perhaps even superstitiously, rather than overtly. This preference stems from a belief that, without the crutch of spells or lengthy descriptions of battles, there's a push towards complexity and confrontation driven by personalities. Ursula K. Le Guin masters this approach, blending the best of low fantasy settings with the excitement of dragons, wizards, and grand cities. She accomplishes this by rooting her narrative in the most basic of real emotions and fears, thereby achieving a convincing believability.

Expand Down
2 changes: 1 addition & 1 deletion blog/2024-01-01-2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ A few reflections on last year.
6. 🏃‍♂️ My 'sunday long run' became a half marathon.
7. 💉 Managed my diabetes reasonably well (despite continued unpredicatability).
8. 💆‍♀️ Supported Nurul through pregnancy.
9. 👥 Managed a team for the first time (outside of my own business).
9. 👥 Managed direct reports for the first time (outside of my own business).
10. 🎹 Played the piano fairly regularly, learning some great jazz pieces.
11. 🇸🇪 Camping in Sweden.
12. 📆 Hosted some developer community events.
Expand Down
12 changes: 12 additions & 0 deletions blog/2024-04-13-infantilisation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: "23 things to celebrate from 2023"
authors: mcclowes
tags: [blog]
---

The trend of eg the balloon museum continues a trend of infantilisation,

<!--truncate-->


Does this have implications on the world of product design and building compelling experiences? Particularly in this case a museum is ostensibly a place of serious consumption of culture
8 changes: 5 additions & 3 deletions blog/2024-05-13-battery-life.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ This is actually the third device I've bought in six months where battery life h

<!--truncate-->

![pattern](/img/posts/battery.png)

I purposely bought the previous two devices just for the battery life. I had an iPhone 12 and whether it would make it through the day was unpredictable.
I also had a MacBook Pro from 2017 which really struggled to make it through one hour on the go. Its battery had degraded that much and of course within 20 minutes it was on energy saving mode and it had to slow down.

![pattern](/img/posts/battery.png)

Using both of these devices had become so painful simply because of poor battery life that it was worth the large price to buy new
devices (with minimal trade-in values helping just a tiny bit).

Expand All @@ -24,4 +24,6 @@ I can watch YouTube on my phone on the bus, then take calls. None of my devices

I know this might feel obvious but I think in 2024 this is the first time in my life where my devices
aren't lasting the day with me. Whenever I need to do something with them they're able to do it.
I no longer have power access anxiety, and it's just such a sort of simple but brilliant quality of life improvement.
I no longer have power access anxiety, and it's just such a sort of simple but brilliant quality of life improvement.

![pattern](/img/posts/battery-low.png)
23 changes: 12 additions & 11 deletions blog/2024-06-02-product-led-orgs.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
---
title: "Product led orgs"
title: "Product-led orgs"
authors: mcclowes
tags: [apple, tech]
draft: true
---

![Test](/img/posts/product-led-neutral.jpeg)

As I recently posted, I bought the AirPods Max and one of the nice features there was its massive 20-hour battery life.
This is actually the third device I bought in six months where battery life has been a massive part of loving it.

<!--truncate-->

I purposely bought the previous two devices just for the battery life. I had an iPhone 12 and whether it would make it through the day was unpredictable.

![Test](/img/posts/product-led-engineering.jpeg)

I also had a MacBook Pro from 2017 which really struggled to make it through one hour on the go. Its battery had degraded that much and of course within 20 minutes it was on energy saving mode and it had to slow down.

![Test](/img/posts/product-led-client.jpeg)

I also had a MacBook Pro from 2017 which really struggled to make it through one hour on the go. Its battery had degraded that much and of course within 20 minutes it was on energy saving mode and it had to slow down.

![Test](/img/posts/product-led-sales.jpeg)

Using both of these devices had become so painful simply because of poor battery life that it was worth the large price to buy new
devices (with minimal trade-in values helping just a tiny bit).

Obviously there are other benefits to these new devices. They are certainly faster and more responsive but ultimately the thing I
just love is that when I turn the device on it works, it isn't out of battery.
I can go and sit on the sofa and not be plugged in and my laptop isn't going to die on me. I could work there for an hour and then pop to the coffee shop for another few hours.
I can watch YouTube on my phone on the bus, then take calls. None of my devices are running out of battery when I need them most.
![Test](/img/posts/product-led-neutral.jpeg)

I know this might feel obvious but I thought I think in 2024 this is the first time in my life where my devices
aren lasting the day with me. Whenever I need to do something with them they're able to do it.
I no longer have power access anxiety, and it's just such a sort of simple but brilliant quality of life improvement.
The true balancing of these concerns is where the product led organisation lies.
14 changes: 14 additions & 0 deletions blog/2024-08-17-doing-things-well.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Doing things well"
authors: mcclowes
tags: [product]
---

I've historically thought of myself as someone who *can* do things well but often does so haphazardly or inconsistently.

<!--truncate-->

Jon's feedback

Doing things well is not exciting but it’s more powerful than ideas
Eg 1-1s, agendas for meetings
5 changes: 5 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,11 @@ const config = {
items: [
{to: '/blog', label: 'Blog', position: 'left'},
{to: '/about-me',label: 'About',position: 'left'},
{
href: 'https://cv.mcclowes.com/',
label: 'CV',
position: 'left',
},
//{ to: '/docs', label: 'Docs', position: 'left' },
// {
// type: 'docSidebar',
Expand Down
36 changes: 36 additions & 0 deletions src/components/Arcade/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import React from "react";

const Arcade = ({url, title}) => {
return <div
style={{
position: "relative",
paddingBottom: "calc(55.43859649122807% + 41px)",
height: 0,
width: "100%",
margin: "1em 0",
borderRadius: "8px",
overflow: "hidden",
}}
>
<iframe
src={url}
title={title}
frameBorder={0}
loading="lazy"
allow="clipboard-write"
webkitallowfullscreen
mozallowfullscreen
allowFullScreen
style={{
position: "absolute",
top: 0,
left: 0,
width: "100%",
height: "100%",
colorScheme: "light"
}}
/>
</div>
}

export default Arcade;
26 changes: 26 additions & 0 deletions src/components/CodatLink/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import React, { useEffect, useState } from "react";

import { initializeCodatLink } from "@codat/sdk-link-types";

import styles from './styles.module.scss';

export const CodatLink = (props) => {
const [componentMount, setComponentMount] = useState(
null
);

useEffect(() => {
const target = componentMount;
if (target && target.children.length === 0) {
initializeCodatLink(target, props);
}
// CodatLink does not support changing props after initialisation.
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [componentMount]);

return (
<div className={styles.modalWrapper}>
<div className={styles.modal} ref={setComponentMount}/>
</div>
);
};
35 changes: 35 additions & 0 deletions src/components/CodatLink/styles.module.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
.modalWrapper {
position: fixed;
z-index: 999;
inset: 0;
background: #333333aa;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 0.5em;
height: 100%;
width: 100%;
}

.modal {
border: 2px solid #ededed;
background: white;
border-radius: 8px;
overflow: hidden;
width: 100%;
height: 100%;
min-height: min(95vh, 180vw, 640px);
max-height: min(95vh, 180vw, 860px);
max-width: min(150vh, 95vw, 500px);
}

@media (max-width: 499px) {
.modalWrapper {
align-items: flex-end;
}

.modal {
border-radius: 16px;
}
}
20 changes: 20 additions & 0 deletions src/components/Diff/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import React from 'react';
import ReactDiffViewer, { DiffMethod } from 'react-diff-viewer-continued';

const Diff = (props) => {
const {oldCode, newCode, showDiffOnly=true, compareMethod=DiffMethod.CHARS} = props

return (
<div className="diff-checker">
<ReactDiffViewer
oldValue={oldCode}
newValue={newCode}
splitView={true}
showDiffOnly={showDiffOnly}
compareMethod={compareMethod}
/>
</div>
)
};

export default Diff
2 changes: 1 addition & 1 deletion src/components/HomepageFeatures/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ function Feature({Svg, title, description, link}) {
{/* <Svg className={styles.featureSvg} role="img" /> */}
{/* </div> */}
<div className="padding-horiz--md">
<Link to={link}><h3>{title}</h3></Link>
<Link className={styles.featureLink} to={link}><h3>{title}</h3></Link>

<p>{description}</p>
</div>
Expand Down
9 changes: 9 additions & 0 deletions src/components/HomepageFeatures/styles.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,12 @@
height: 200px;
width: 200px;
}

.featureLink {
color: var(--ifm-heading-color );

&:hover {
opacity: 0.75;
color: var(--ifm-heading-color);
}
}
Loading
Loading