Skip to content
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
4 changes: 3 additions & 1 deletion astro.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,9 @@ export default defineConfig({
site: getSiteUrl(),
redirects: {
'/careers/senior-kotlin-engineer': '/careers/kotlin-engineer/',
'/careers/senior-kotlin-engineer/': '/careers/kotlin-engineer/'
'/careers/senior-kotlin-engineer/': '/careers/kotlin-engineer/',
'/team/mal': '/team/hga',
'/team/mal/': '/team/hga'
},
markdown: {
shikiConfig: {
Expand Down
Binary file added src/assets/team/headshots/hga.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/components/team/MeetOtherExecs.astro
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ var people = (Object.values(import.meta.glob<MarkdownInstance<Person>>(

const { code } = Astro.props;

const allExecs = ["mal", "jon", "jdt", "joe"];
const allExecs = ["hga", "jon", "jdt", "joe"];
const otherExecs = allExecs.filter(c => c !== code);
---
<Section className="py-10 sm:py-20 flex flex-col items-center gap-10">
Expand Down
7 changes: 6 additions & 1 deletion src/data/people/hga.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@
code: 'hga'
name: 'Henry'
lastName: 'Garner'
fullName: 'Henry Garner'
email: 'hga@juxt.pro'
jobTitle: 'CTO'
jobTitle: 'CTO & AI Chapter Lead'
image: 'hga.jpg'
linkedin: 'henrygarner'
twitter: 'henrygarner'
github: 'henrygarner'

feature:
jobTitle: true
link: /team/hga
---
4 changes: 0 additions & 4 deletions src/data/people/mal.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,4 @@ image: 'mal.jpg'
linkedin: 'malcolmsparks'
twitter: 'malcolmsparks'
github: 'malcolmsparks'

feature:
jobTitle: true
link: /team/mal
---
4 changes: 2 additions & 2 deletions src/pages/blog/xt24-fintech-conf-review.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ import database from '../../assets/blog/xt24/Database.jpg'

<Image alt='Jeremy Taylor talking about immutable databases' src={database} />

Following the lunch break, JUXT's very own CTO [Malcolm Sparks](https://www.juxt.pro/team/mal/) discussed the context and motivations for building [XTDB](https://xtdb.com). Cross-cutting issues around time and auditable record keeping seem to show up on nearly every project, and Malcolm explained how financial organizations like Goldman Sachs have been able to differentiate and compete effectively on the basis of their approach to centralising Risk in a bitemporal database. Joining Malcolm on stage was [Jeremy Taylor](https://www.juxt.pro/team/jdt/), JUXT's Head of Product, to run through real-world scenarios using SQL to address a [variety of hard data management problems](https://docs.xtdb.com/tutorials/financial-usecase/time-in-finance.html) that are common throughout financial systems.
Following the lunch break, JUXT's very own CTO [Malcolm Sparks](https://www.linkedin.com/in/malcolmsparks/) discussed the context and motivations for building [XTDB](https://xtdb.com). Cross-cutting issues around time and auditable record keeping seem to show up on nearly every project, and Malcolm explained how financial organizations like Goldman Sachs have been able to differentiate and compete effectively on the basis of their approach to centralising Risk in a bitemporal database. Joining Malcolm on stage was [Jeremy Taylor](https://www.juxt.pro/team/jdt/), JUXT's Head of Product, to run through real-world scenarios using SQL to address a [variety of hard data management problems](https://docs.xtdb.com/tutorials/financial-usecase/time-in-finance.html) that are common throughout financial systems.

### We Need to Talk About JSON - Oliver Hine, JUXT

Expand All @@ -96,7 +96,7 @@ import panel from '../../assets/blog/xt24/Panel.jpg'

<Image alt='Future of Fintech - Expert Panel' src={panel} />

Vlad was then joined on stage for a broader discussion alongside a whole panel of speakers: [Mark Burgess](https://www.linkedin.com/in/markburgessoslo/) (physicist, author and original architect of [CFEngine](http://cfengine.com/)), [Francine Bennett](https://www.adalovelaceinstitute.org/person/francine-bennett/) ([Ada Lovelace Institute](https://www.adalovelaceinstitute.org/)), and [Malcolm Sparks](https://www.juxt.pro/team/mal/) (CTO, JUXT). The session was hosted by [Jason Bloomberg](https://www.linkedin.com/in/jasonbloomberg/) (Managing Director, [Intellyx](https://intellyx.com/)), who guided the panel through a series of wide-ranging topics including AI impact, blockchain adoption, and soon-to-be-legacy tech.
Vlad was then joined on stage for a broader discussion alongside a whole panel of speakers: [Mark Burgess](https://www.linkedin.com/in/markburgessoslo/) (physicist, author and original architect of [CFEngine](http://cfengine.com/)), [Francine Bennett](https://www.adalovelaceinstitute.org/person/francine-bennett/) ([Ada Lovelace Institute](https://www.adalovelaceinstitute.org/)), and [Malcolm Sparks](https://www.linkedin.com/in/malcolmsparks/) (CTO, JUXT). The session was hosted by [Jason Bloomberg](https://www.linkedin.com/in/jasonbloomberg/) (Managing Director, [Intellyx](https://intellyx.com/)), who guided the panel through a series of wide-ranging topics including AI impact, blockchain adoption, and soon-to-be-legacy tech.

### Not So Clever: How we Built a Global-Scale Successful Risk System Guided by Simplicity - Zohar Melamed, QRT

Expand Down
120 changes: 120 additions & 0 deletions src/pages/team/hga.astro
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
import * as myData from '../../data/people/hga.md'

const { code, jobTitle, fullName } = myData.frontmatter

import { getImage, Image } from 'astro:assets'
import ProfilePage from '@components/team/ProfilePage.astro'

import Section from '@components/team/Section.astro'
import TwoColumnSection from '@components/team/TwoColumnSection.astro'
import GreetingSection from '@components/team/GreetingSection.astro'
import QuoteSection from '@components/team/QuoteSection.astro'
import LatestBlogsSection from '@components/team/LatestBlogsSection.astro'
import ResourceCollectionSection from '@components/team/ResourceCollectionSection.astro'
import GitHubRepositoriesSection from '@components/team/GitHubRepositoriesSection.astro'
import GitHubRepositoryItem from '@components/team/GitHubRepositoryItem.astro'
import ContactSection from '@components/team/ContactSection.astro'
import ResourceItem from '@components/team/ResourceItem.astro'
import SmallTitle from '@components/team/SmallTitle.astro'
import SimpleColumn from '@components/team/SimpleColumn.astro'
import FeatureSection from '@components/team/FeatureSection.astro'
import FeatureText from '@components/team/FeatureText.astro'
import FeatureYouTube from '@components/team/FeatureYouTube.astro'
import GallerySection from '@components/team/GallerySection.astro'
import GalleryImage from '@components/team/GalleryImage.astro'
import MeetOtherExecs from '@components/team/MeetOtherExecs.astro'

description: "Meet Henry Garner, CTO at JUXT. Learn about his expertise in AI-assisted engineering, data science and functional programming."
---

<ProfilePage title={fullName + ' - ' + jobTitle}>
<GreetingSection {...myData.frontmatter}>
<Fragment slot='expert-in'>
<li>AI-assisted Engineering</li>
<li>Data Science</li>
<li>Functional Programming</li>
<li>Technical Leadership</li>
</Fragment>
<Fragment slot='bio'>
As JUXT's CTO, I lead our technical strategy and help clients build
better software systems. I'm particularly interested in how AI is
reshaping the practice of software engineering, and how teams can
adopt these tools effectively.
</Fragment>
</GreetingSection>

<FeatureSection flip={true}>
<FeatureText
title='From Unstructured to Actionable: AI-Powered Regulatory Intelligence'
subtitle="Henry's talk at XT25 Fintech Conference, London, June 2025"
bgColor='yellow'
>
<SimpleColumn>
<p>
AI research has always had two goals: building systems that replace
human judgment (AI), and building systems that extend it. William
Ross Ashby called the second one Intelligence Amplification (IA) back
in 1956. We're fixated on the first, but the commercial successes
keep coming from the second.
</p>
<p>
Aristotle had a word for the judgment we need to preserve:
phronesis, practical wisdom. This talk draws on medicine and ethics
to ask how we hold onto it. When AI suggests solutions, do we
evaluate them thoughtfully, or do we gradually lose the situational
awareness needed for proper oversight?
</p>
</SimpleColumn>
</FeatureText>

<FeatureYouTube
slot='image'
title='From Unstructured to Actionable: AI-Powered Regulatory Intelligence'
embedUrl='https://www.youtube.com/embed/CUp70_daGjo'
/>
</FeatureSection>

<FeatureSection>
<FeatureText
title='The Gradient of Interesting'
subtitle="Henry's talk at JUXT Christmas Party, Science Gallery London, December 2025"
bgColor='yellow'
>
<SimpleColumn>
<p>
Filing cabinets and lightbulbs aren't the obvious route into software
engineering. Inspired by the Quantum Untangled exhibition at the
Science Gallery London, this talk traces an unconventional path into
the industry through the Big Ideas of David Deutsch and the
philosophy of good explanations.
</p>
<p>
Why do we see such polarisation between those who wield AI despite
its flaws and those who are fervently anti-AI despite its
extraordinary successes? Human progress is full of incredibly useful
models that turned out to be absolutely wrong. We didn't know that
reading glasses would lead to Galileo's telescopes, or that telephone
valve amplifiers would enable the first electronic computers. We
simply can't know where the next stepping stones will come from.
</p>
</SimpleColumn>
</FeatureText>

<FeatureYouTube
slot='image'
title='The Gradient of Interesting'
embedUrl='https://www.youtube.com/embed/ZONNfszeHyM'
/>
</FeatureSection>

<MeetOtherExecs {...myData.frontmatter} />

<ContactSection {...myData.frontmatter} />

<LatestBlogsSection
bgColor='yellow'
title="Henry's Recent Blogs and Articles"
{...myData.frontmatter}
/>
</ProfilePage>
Loading
Loading