Skip to content

Commit 59bae08

Browse files
authored
Merge branch 'ScottLogic:gh-pages' into gh-pages
2 parents a7a8c7c + 7d3b185 commit 59bae08

12 files changed

+1048
-127
lines changed

_posts/2025-01-20-algebraic-data-types-with-java.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ This is the first post in a series exploring types and type systems. Other pos
3232

3333
- [Functors and Monads with Java and Scala]({{site.baseurl}}/2025/03/31/functors-monads-with-java-and-scala.html)
3434

35+
- [Higher-Kinded Types with Java and Scala]({{site.baseurl}}/2025/04/11/higher-kinded-types-with-java-and-scala.html)
36+
3537
When we develop an application, we frequently need to model some aspect of business to describe and solve a business problem. We do this by creating a conceptual representation of the real-world problem that we are trying to solve. This allows us to understand the "domain" where our software operates.
3638

3739
## Domain Modelling

_posts/2025-02-17-variance-in-java-and-scala.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ This is the second post in a series exploring types and type systems. Other po
2323

2424
- [Functors and Monads with Java and Scala]({{site.baseurl}}/2025/03/31/functors-monads-with-java-and-scala.html)
2525

26+
- [Higher-Kinded Types with Java and Scala]({{site.baseurl}}/2025/04/11/higher-kinded-types-with-java-and-scala.html)
27+
2628
## Variance in Generics
2729

2830
Generics are a fundamental pillar of modern type-safe programming languages. They allow us to write reusable code that can work with different types without sacrificing type safety. But when you dive deeper into the world of generics, you encounter the intriguing concepts of *covariance* and *contravariance*. These concepts, often perceived as complex, are crucial for understanding how type hierarchies and subtyping interact with generic types.

_posts/2025-02-21-ais-biggest-flaw-the-blinking-cursor-problem.markdown

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ title: AI’s Biggest Flaw? The Blinking Cursor Problem
33
date: 2025-02-21 08:00:00 Z
44
categories:
55
- Artificial Intelligence
6-
tags:
7-
- featured
86
summary: 'AI''s potential is immense, yet clunky user interfaces and a lack of discoverability
97
are holding it back from seamless adoption. To unlock AI’s true power, we need interfaces
108
that guide, adapt, and engage—moving beyond the blinking cursor to something more

_posts/2025-03-05-intersection-and-union-types-with-java-and-scala.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,16 @@ image: magnussmith/assets/java.jpg
1515
![intersection_union.webp]({{site.baseurl}}/magnussmith/assets/intersection_union.webp)
1616

1717

18-
This is the third post in a series exploring types and type systems. Previous posts have looked at
18+
This is the third post in a series exploring types and type systems. Other posts have looked at
1919

2020
- [Algebraic Data Types with Java]({{site.baseurl}}/2025/01/20/algebraic-data-types-with-java.html)
2121

2222
- [Variance, Phantom and Existential types in Java and Scala]({{site.baseurl}}/2025/02/17/variance-in-java-and-scala.html)
2323

2424
- [Functors and Monads with Java and Scala]({{site.baseurl}}/2025/03/31/functors-monads-with-java-and-scala.html)
2525

26+
- [Higher-Kinded Types with Java and Scala]({{site.baseurl}}/2025/04/11/higher-kinded-types-with-java-and-scala.html)
27+
2628
## Intersection and Union Types with Java and Scala
2729

2830
One of the difficult things for modern programming languages to get right is around providing flexibility when it comes to expressing complex relationships. As languages evolve, they need to give us tools to model the nuances of real world problems more accurately in our code.

_posts/2025-03-31-functors-monads-with-java-and-scala.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,16 @@ image: magnussmith/assets/java.jpg
1414

1515
![functors_monads.webp]({{site.baseurl}}/magnussmith/assets/functors_monads.webp)
1616

17-
This is the fourth post in a series exploring types and type systems. Previous posts have looked at
17+
This is the fourth post in a series exploring types and type systems. Other posts have looked at
1818

1919
- [Algebraic Data Types with Java]({{site.baseurl}}/2025/01/20/algebraic-data-types-with-java.html)
2020

2121
- [Variance, Phantom and Existential types in Java and Scala]({{site.baseurl}}/2025/02/17/variance-in-java-and-scala.html)
2222

2323
- [Intersection and Union Types with Java and Scala]({{site.baseurl}}/2025/03/05/intersection-and-union-types-with-java-and-scala.html)
2424

25+
- [Higher-Kinded Types with Java and Scala]({{site.baseurl}}/2025/04/11/higher-kinded-types-with-java-and-scala.html)
26+
2527

2628
In this post we will combine some ideas from functional programming with strong typing to produce robust expressive code that is more reusable.
2729

@@ -536,4 +538,4 @@ Scala's for comprehensions and typeclasses (like those in Cats) make working wit
536538
537539
### Next time
538540
539-
Next time we build on the concepts of __Functor__ and __Monads__ taking the abstraction to the next level with __Higher-Kinded Types__ to write more reusable code and reducing code duplication.
541+
Next time we build on the concepts of __Functor__ and __Monads__ taking the abstraction to the next level with [Higher-Kinded Types]({{site.baseurl}}/2025/04/11/higher-kinded-types-with-java-and-scala.html) to write more reusable code and reducing code duplication.

_posts/2025-04-01-making-sense-of-the-ai-developer-tools-ecosystem.markdown

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: Making Sense of the AI Developer Tools Ecosystem
33
date: 2025-04-01 14:56:00 Z
44
categories:
55
- Artificial Intelligence
6+
tags:
7+
- featured
68
summary: 'The AI developer tooling landscape has rapidly expanded from simple autocomplete
79
to a complex ecosystem of assistants, agents, and AI-first environments. In this
810
post, I propose a practical classification based on how AI is positioned within

_posts/2025-04-02-inferesg-finding-the-right-architecture.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ tags:
1313
summary: During the InferESG project, we made a pivotal decision to use an orchestrated
1414
workflow to conduct a deterministic process, parallel to the agentic system.
1515
author: drees
16+
image: "/uploads/InferESG%20Architecture%20tn.png"
1617
---
1718

1819
During the InferESG project we made a pivotal decision to create an alternative architecture, one that sits parallel to the agentic framework used for the conversational part of the system. This decision came about from discussions with the client, and their needs to analyse and process company sustainability reports, evaluate them and compare them to relevant materiality topics. You can read more about the [InferESG project and the challenge it presented here](https://blog.scottlogic.com/2025/03/20/inferesg-overview.html).

0 commit comments

Comments
 (0)