I am Gautier DI FOLCO working as Staff Software Engineer / Senior Haskell developer @ Autogriff. I am a professional Software Engineer, I have a solid track record of working with business owners to understand project requirements whist working to improve overall functionality of existing systems. With repeated success working from remote locations, I am a skilled collaborator and trusted leader.
- 🔭 I’m currently working as Staff Software Engineer / Senior Haskell developer @ Autogriff.
- 🌱 I’m currently learning nix, Observability, Product management, Rust
- 👯 I’m looking to collaborate on Haskell open source projects
- 💬 Ask me about Haskell, Backend development, Architecture
- 📫 How to reach me: gautier [dot] difolco [at] gmail [dot] com, ,
- 🔗 Other links: Personal website / Passeport
- ⚡ Fun fact: unbeatable pasta eater
- Haskell (Servant, Polysemy), Nix(OS)
- Github Actions
- Terraform
- EventStore
- PostGreSQL
- AWS
(My cookie jar) Open sources contributions
I have published some packages over Hackage (Haskell):
- typed-range (September 2024): Strongly-typed ranges
- pure-sum (March 2024): provides a way to properly derive sum types instances (also -aeson)
- kill-bool (March 2023): Booleans strong-typing
- poolboy (March 2023): Simple work queue for bounded concurrency
- adhoc-fixtures (November 2022): Simplify tests fixtures (also -hspec)
- yarl (September 2022): simple extensible records library (with
getField
support) - sized-wrapper (August 2022): provides a wrapper for sized values (also -aeson, -quickcheck, -text)
- librarian (July 2022): a rules-based files moving cli tool
- nonempty-wrapper (June 2022): provides a wrapper for non-empty values (also -aeson, -quickcheck, -text)
- pulsar-hs (September 2021): complete Apache Pulsar client and admin client
- aeson-modern-tojson (June 2021): aims to give a post 0.x way to derive aeson's ToJSON instances
- typed-time (May 2021): provides a type-level time format
- amqp-streamly (August 2020): Connect amqp (RabbitMQ) to streamly
- servant-streamly (July 2020) Streamly support for Servant
- dijkstra-simple (June 2020): a simple Dijkstra's shortest-path implementation
I have also published:
- grafana-dashboards.nix (nix) (September 2023): Nix tool used to fetch and transform Grafana Dashboards
- docker-soju (Docker) (August 2022): Dockerized version of soju (an IRC bouncer)
- coc-hls (npm) (December 2021): haskell-language-server coc.nvim extension
- danger-ormolu (RubyGems) (August 2021): ormulu integration in Danger (CI tool)
I also contributed to the following projects:
- servant-static-th: embed static directories in
servant
- October 2024: fix compilation
- servant: strongly-typed web server
- October 2024: recommend argon2 in JWT cookbook
- nix-tree: nix derivation dependency browser
- October 2024: add
--file
flag
- October 2024: add
- crem: Haskell composable state-machine
- October 2024: add nothunks instances
- October 2024: fix nix compilation
- eselsohr: self-hostable bookmark manager for storing web articles
- October 2024: fix nix compilation
- cabal-audit: cabal tool scanning dependencies for vulnerabilities
- August 2024: add sarif output (GitHub Code Scan)
- devenv: Nix-based developer environments
- August 2024: add flag to disable containers tooling
- error-message-index: GHC error messages documentations
- June 2024: document GHC-89347
- EventStoreDB-Client-Haskell: Haskell client to EventStore
- June 2024: GHC 9.6 support
- one-time-password: Haskell implementation of one-time-password (HOTOP/TOTP)
- April 2024: add nix (flake) support
- December 2023: add nix (flake) support
- December 2023: add a full CLI
- libsodium-bindings: Haskell bindings to libsodium (cryptographic library)
- April 2024: add nix (flake) support
- December 2023: fix flake (nix) derivation for reuse
- toml-parser: Haskell Toml parser
- November 2023: Add GHC 9.8.1 support
- essence-of-live-coding: Universal Live Coding & Functional Reactive Programming Framework
- October 2023: Add Selective instance to Cell
- hapistrano: Deploy tool for Haskell applications, like Capistrano for Rails
- October 2024: add
--dry-run
flag - October 2023: Add interactive init command
- October 2024: add
- rhine: Haskell Functional Reactive Programming framework with type-level clocks
- October 2023: Add support for dunai 0.11
- monocle: Changes-sets organisation and monitoring tool
- October 2023: Add Workspace name validation
- ergo: A modern IRC server (daemon/ircd) written in Go
- October 2023: introduce Prometheus
- OpenSearch documentation: OpenSearch (ElasticSearch fork) documentation
- October 2023: drop point in time in 1.3.x
- skip-duplicate-actions: Github Action to skip jobs on arbitrary conditions
- September 2023: Upgrade to NodeJS 20
- lyontechhub.github.io: LyonTechHub (Community of tech communities of Lyon)
- August 2023: Migrate from Angular to static site generation
- dhall-openssl:
dhall
types and utils to generateOpenSSL
/LibreSSL
configuration files- August 2023: Add CRL support
- microlens-aeson:
microlens
foraeson
- August 2023: Add
aeson
2.2.0.0
support
- August 2023: Add
- nixpkgs: nix-based packages set
- October 2024:
nixos/minidlna
: add package option - October 2024:
nixos/vivid
: init module - September 2024: fix
vlc
reference innixos/services.mediatomb
- September 2024: add
meta.mainProgram
tovlc
- September 2024: upgrade
gerbera
to2.3.0
- December 2023: add desktop icon to
appflowy
- July 2023: add
meta.mainProgram
toeventstore
- June 2023: upgrade
curlie
to1.7.1
- October 2024:
- curlie:
curl
Rust wrapper (likehttpie
)- May 2023: Fix
curl
long flags with value
- May 2023: Fix
- purebred-email: Haskell MIME e-mails parsing and manipulation library
- March 2023: Fix documentation
- tmux-net-speed: tmux status bar net speed fragment
- March 2023: Fix
bash
invocation
- March 2023: Fix
- cardano-documentation: Cardano blockchain documentation
- March 2023: Fix a typo
- pg-entity: A pleasant PostgreSQL database layer for Haskell
- October 2022: Fix
resource-pool
>= 0.3
compilation
- October 2022: Fix
- cachix-action: Build software only once and put it in a global cache
- October 2022: Add flake support
- flora-server: A package index for the Haskell ecosystem
- March 2023: Improve bulk performances
- October 2022: Restore nix flake
- October 2022: Add nix flake CI
- October 2022: Improve bulk performances
- get-wasp:
wasp
installer- October 2022: Rework update usecase
- aeson: A fast JSON library
- October 2022: Add
@since
in documentation
- October 2022: Add
- hackage-server: Hackage-Server: A Haskell Package Repository
- February 2024: Add vulnerability reporting link
- December 2023: Replace
lastVersion
byreferenceVersion
(ignore deprecated versions) - February 2023: Fix
lastVersion
update in listings - October 2022: Add
lastVersion
in listings
- cabal: Official upstream development repository for Cabal and cabal-install
- October 2022: Add generate
PackageInfos
- October 2022: Add generate
- hie-bios: Set up a GHC API session for various Haskell Projects
- October 2022: Add logs over commands
- wasp: A programming language that understands what a web app is.
- October 2022: Add cli
update
command
- October 2022: Add cli
- password: datatypes and functions for easily working with passwords in Haskell
- October 2024: introduce golden tests
- October 2023: Introduce CLI
- October 2022: Add utilities functions
- nix-output-monitor: Pipe your nix-build output through the nix-output-monitor a.k.a nom to get additional information while building.
- October 2023: replace Map with HashMap
- October 2022: Drop
flow
-file operators
- conferer: Configuration management for Haskell
- October 2022: Fix missing projects CI
- hemmet: Emmet-like text expansion tool capable to produce HTML, CSS, file trees, that stuff
- October 2022: Add
hlint
& CI Github Action
- October 2022: Add
- tomland: Bidirectional TOML serialization
- October 2022: Add
hlint
Github Action - October 2022: Add
Codec
Selective
instance
- October 2022: Add
- iris: Haskell CLI Framework supporting Command Line Interface Guidelines
- October 2022: Add
hlint
Github Action
- October 2022: Add
- eclair-lang: A minimal, fast Datalog implementation in Haskell that compiles to LLVM
- October 2022: Add
hlint
Github Action
- October 2022: Add
- spaceship-vi-mode: vi-mode plugin for
spaceship
(a Zsh customisable prompt)- September 2022: Fix
antigen
deploy instructions
- September 2022: Fix
- zinza:
Jinja
style templating library for Haskell- September 2022: Add
DerivingVia
Generic
snewtype
s
- September 2022: Add
- event-streaming-patterns: Confluent/Kafka Messaging/Streaming patterns
- August 2022: Fix code example
- hspec:
hspec
is a behavior-driven development testing library (à la RSpec)- August 2022: Add parallel result rendering
- cabal: Haskell main build tool
- July 2022: Clarify cli flag documentation
- mercure: Server-Sent Event hub
- July 2022: Add Caddy directive for Docker deployment
- hspec-discover:
hspec
s driver for tests discovery- June 2022: Add parallel runner
- optparse-generic:
optparse-application
Generic
s based library- April 2022: Add
Parser
/Record
runner
- April 2022: Add
- wai-extra: WAI utilities
- March 2024: Add NoCache to MaxAge in wai-app-static
- April 2022: Add
Middleware
s for health checks - April 2022: Add a dynamic
Middleware
builder
- vim-slime: ViM plugin for interactions with terminal multiplexers
- December 2021: Fix tmux support
- powerline-go: Powerline-like shell prompts customization
- December 2021: Add vi-mode segment
- tmux-mem-cpu-load: tmux monitor (CPU, RAM, load) utils (for the status line)
- December 2021: Change RAM units threshold and CPU usage color
- Apache Pulsar: distributed pub-sub messaging system
- November 2021: Headers fixes and synchronous functions addition in the C client
- generic-random: derive via GHC.Generics QuickCheck's Arbitrary instance
- July 2021: Implement a type-level deriving via module
- bloodhound: ElasticSearch client
- Since April 2022: Maintainer
- February 2021: bug fixes
- pandoc: text format processing
- January 2021: Support for Github wikilinks
- testcontainers-hs: manage Docker containers for tests
- June 2022: Add naming strategies
- May 2021: bug fixes
- June-August 2020: Hspec support, bug fixes, aeson-optics usage
- hatrace: strace-like
- June 2020: Introduction of many syscalls