From 240ed2650e7babafe3ebf131520655ee40a32d2d Mon Sep 17 00:00:00 2001 From: Salar Rahmanian Date: Fri, 13 Jun 2025 17:58:19 -0700 Subject: [PATCH] add duck4s to project page --- content/projects/duck4s/duck4s_logo.jpeg | Bin 0 -> 8404 bytes content/projects/duck4s/index.md | 27 +++++++++++++++++++++++ content/projects/fishee/index.md | 2 +- content/projects/zio-actors/index.md | 2 +- 4 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 content/projects/duck4s/duck4s_logo.jpeg create mode 100644 content/projects/duck4s/index.md diff --git a/content/projects/duck4s/duck4s_logo.jpeg b/content/projects/duck4s/duck4s_logo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8b450ef4aa67e94320d348a7baa3b273934adb01 GIT binary patch literal 8404 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 literal 0 HcmV?d00001 diff --git a/content/projects/duck4s/index.md b/content/projects/duck4s/index.md new file mode 100644 index 0000000..281f673 --- /dev/null +++ b/content/projects/duck4s/index.md @@ -0,0 +1,27 @@ ++++ +title = "duck4s" +description = "A modern, type-safe Scala 3 wrapper library for DuckDB." +weight = 3 + +[taxonomies] +tags = ["Scala", "DuckDB", "Database"] +categories = ["Project"] + +[extra] +local_image = "projects/duck4s/duck4s_logo.jpeg" +social_media_card = "duck4s_logo.jpeg" +toc = true +keywords = ["Scala", "DuckDB", "Database"] ++++ + +![duck4s](duck4s_logo.jpeg) + +# Overview + +A modern, type-safe Scala 3 wrapper library for DuckDB that provides idiomatic, functional programming-friendly access to DuckDB's analytical database capabilities through its Java JDBC client. + + +## Links + +- Repository: + - README: diff --git a/content/projects/fishee/index.md b/content/projects/fishee/index.md index b5e11ea..0940e8b 100644 --- a/content/projects/fishee/index.md +++ b/content/projects/fishee/index.md @@ -1,7 +1,7 @@ +++ title = "Fishee" description = "Fishee is a command-line interface (CLI) tool designed specifically for users of the Fish Shell. It provides a convenient way to manage and manipulate your Fish Shell history files." -weight = 3 +weight = 4 [taxonomies] tags = ["Fish Shell", "Swift", "Terminal Tools"] diff --git a/content/projects/zio-actors/index.md b/content/projects/zio-actors/index.md index 3f95f5f..f52e39c 100644 --- a/content/projects/zio-actors/index.md +++ b/content/projects/zio-actors/index.md @@ -1,7 +1,7 @@ +++ title = "ZIO Actors" description = "A High performance, purely functional library for building, composing, and supervising typed actors based on ZIO using Scala." -weight = 4 +weight = 5 [taxonomies] tags = ["actor model", "concurrency", "distributed systems", "scala", "functional programming", "zio"]