Skip to content
View blackheaven's full-sized avatar

Block or report blackheaven

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
blackheaven/README.md

I am Gautier DI FOLCO working as Staff Software Engineer / Senior Haskell developer @ Wire. 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.


In short

  • 🔭 I’m currently working as Staff Software Engineer / Senior Haskell developer @ Wire.
  • 🌱 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, Linkedin: Gautier DI FOLCO, Twitter Gautier DI FOLCO
  • 🔗 Other links: Personal website / Passeport
  • ⚡ Fun fact: unbeatable pasta eater

Technologies currently used

  • Haskell (Servant, Polysemy), Nix(OS)
  • Github Actions
  • Terraform
  • Cassandra
  • ElasticSearch
  • PostGreSQL
  • AWS
  • Kubernetes

(My cookie jar) Open sources contributions

I have published some packages over Hackage (Haskell):

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:

  • gothic: Haskell client library for HashiCorp Vault KVv2
    • December 2025: upgrade dependencies to use crypton-connection
  • ghc-proposals: GHC proposals
    • June 2026: Built-in HasField Solver Support for Polytype Fields under OverloadedRecordDot
  • hsaml2: Haskell SAML2 library
    • July 2026: support crypton backend (crypton-asn1 + ram)
  • tech-proposals: Haskell Foundation technical proposals
    • June 2026: Haskell security tooling integrations
    • June 2026: Decoupling the Haddock Declaration AST from GHC
  • opencode: terminal-based AI coding tool
    • April 2026: make the mouse disablable in the TUI
  • opencode-snip: snip integration for opencode
    • May 2026: fix snip prepend duplication
  • blog.haskell.org: official Haskell blog
    • June 2026: write "Overview of Haskell security tooling" article
  • telescope-live-grep-args.nvim: telescope.nvim extension for live grep with arguments
    • April 2026: replace tbl_flatten after Neovim 0.12 deprecation
  • servant-openapi3: OpenAPI 3 support for Servant
    • January 2026: add required flag to request bodies, matching servant semantics
  • machines: Networks of composable stream transducers
    • October 2025: fix duplicated Data.Machine.Process.process documentation
  • hibet: Tibetan-English translator for CLI
    • October 2025: add Nix support
  • haskell-language-server: Haskell IDE support via the language server protocol (LSP)
    • January 2026: fix sub-directory file path resolution
    • October 2025: rely on gitignore to exclude listed files in ghcide
    • October 2025: move most of ghcide README in hls documentation
  • c2hs: pre-processor for Haskell FFI bindings to C libraries
    • October 2025: delete .travis.yml
  • haskellfoundation.github.io: HaskellFundation website
    • June 2025: fix 404 error page
  • Lyon-Tech-Hub-Calendar: Lyon Tech Hub calendar
    • November 2025: restore LTH calendar and filter deprecation event
  • coderetreat.org: Global Day of Coderetreat website
    • October 2025: add Lyon Global Day of Code Retreat event
  • haskell-companies: curated list of companies using Haskell
    • April 2025: add LivTours, drop Autogriff
  • practical-web-dev-ghc: Practical Web Development with GHC
    • May 2025: fix JSON instances in RabbitMQ adapter
  • rust-streamdeck: libusb based driver for Elgato StreamDeck devices
    • May 2025: add Cargo.lock
  • servant-static-th: embed static directories in servant
    • October 2024: fix compilation
  • servant: strongly-typed web server
    • October 2025: add OperationId
    • October 2025: set errBody of defaultErrorFormatters.notFoundErrorFormatter in servant-server
    • October 2024: recommend argon2 in JWT cookbook
  • nix-tree: nix derivation dependency browser
    • October 2025: turn nix-tree into a library
    • October 2024: add --file flag
  • crem: Haskell composable state-machine
    • October 2025: implement AutomatonM instance for StateMachineT
    • October 2024: add nothunks instances
    • October 2024: fix nix compilation
  • eselsohr: self-hostable bookmark manager for storing web articles
    • October 2024: fix nix compilation
  • git-cliff: ChangeLog generator
    • November 2024: add Nix CI
    • October 2024: add a basic Nix environment
  • cabal-audit: cabal tool scanning dependencies for vulnerabilities
    • June 2026: support CycloneDX 1.7
    • May 2026: use purl
    • January 2026: fix security-advisory restore
    • 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
  • rhine: Haskell Functional Reactive Programming framework with type-level clocks
    • October 2023: Add support for dunai 0.11
  • monocle: Changes-sets organization and monitoring tool
    • October 2025: upgrade to bloodhound 0.26.0.0
    • 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 2024: rename Twitter to X
    • August 2023: Migrate from Angular to static site generation
  • dhall-openssl: dhall types and utils to generate OpenSSL/LibreSSL configuration files
    • August 2023: Add CRL support
  • microlens-aeson: microlens for aeson
    • August 2023: Add aeson 2.2.0.0 support
  • nixpkgs: nix-based packages set
    • July 2026: snip: 0.15.0 -> 0.20.0
    • July 2026: nanobot: init at 0.2.2
    • June 2026: codegraph: init at 0.9.9
    • June 2026: codebase-memory-mcp: init at 0.8.1
    • June 2026: semble: init at 0.3.3
    • April 2026: snip: init at 0.8.1
    • June 2025: nixos/prometheus.alertmanagerIrcRelay: fix network-online.target ordering but not depending warning
    • April 2025: rust-streamdeck: init at 0.9.0
    • October 2024: nixos/minidlna: add package option
    • October 2024: nixos/vivid: init module
    • September 2024: fix vlc reference in nixos/services.mediatomb
    • September 2024: add meta.mainProgram to vlc
    • September 2024: upgrade gerbera to 2.3.0
    • April 2024: openpomodoro-cli: init at 0.3.0
    • December 2023: add desktop icon to appflowy
    • July 2023: add meta.mainProgram to eventstore
    • June 2023: upgrade curlie to 1.7.1
  • curlie: curl Rust wrapper (like httpie)
    • May 2023: Fix curl long flags with value
  • 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
  • cardano-documentation: Cardano blockchain documentation
    • March 2023: Fix a typo
  • ploeh.github.com: Mark Seemann's blog
    • December 2023: Serialization with and without Reflection (article + follow-up)
  • pg-entity: A pleasant PostgreSQL database layer for Haskell
    • October 2022: Fix resource-pool >= 0.3 compilation
  • 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
  • hackage-server: Hackage-Server: A Haskell Package Repository
    • February 2024: Add vulnerability reporting link
    • December 2023: Replace lastVersion by referenceVersion (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
  • 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
  • password: datatypes and functions for easily working with passwords in Haskell
    • October 2025: be able to turn off instances in password-instances
    • October 2025: split password-instances into multiple packages
    • October 2025: add documentation about the password-cli
    • October 2025: upgrade password-cli dependencies bounds
    • 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 2025: fix Local store URL parsing
    • 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
  • tomland: Bidirectional TOML serialization
    • October 2022: Add hlint Github Action
    • October 2022: Add Codec Selective instance
  • iris: Haskell CLI Framework supporting Command Line Interface Guidelines
    • October 2022: Add hlint Github Action
  • eclair-lang: A minimal, fast Datalog implementation in Haskell that compiles to LLVM
    • October 2022: Add hlint Github Action
  • spaceship-vi-mode: vi-mode plugin for spaceship (a Zsh customisable prompt)
    • September 2022: Fix antigen deploy instructions
  • zinza: Jinja style templating library for Haskell
    • September 2022: Add DerivingVia Generics newtypes
  • 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: compute diffs (actual, expected) concurrently
    • 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: hspecs driver for tests discovery
    • June 2022: Add parallel runner
  • optparse-generic: optparse-application Generics based library
    • April 2022: Add Parser/Record runner
  • wai-extra: WAI utilities
    • March 2024: Add NoCache to MaxAge in wai-app-static
    • April 2022: Add Middlewares for health checks
    • April 2022: Add a dynamic Middleware builder
  • easy-hls-nix: easy HLS installer (Nix)
    • March 2022: upgrade to HLS 1.6.1.0
  • 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
  • HaskellSchool: Haskell Foundation school
    • December 2021: start Parsers Combinators lesson
    • November 2021: fix nixpkgs version in shell.nix
  • github: Haskell bindings for the GitHub API
    • October 2021: update RepoWebhookEvent
  • generic-random: derive via GHC.Generics QuickCheck's Arbitrary instance
    • July 2021: Implement a type-level deriving via module
  • openapi3: Haskell OpenAPI 3 types
    • May 2021: support for Specification Extensions
  • bloodhound: ElasticSearch client
    • Since April 2022: Maintainer
    • February 2021: bug fixes
  • pandoc: text format processing
    • January 2021: Support for Github wikilinks
  • swcraftlyon.github.io: Software Craftsmanship Lyon website
    • May 2021: CR Coding dojo 2021-04-22
    • January 2021: Coding dojo du 2021-01-06
  • nix-workshop: Nix workshop materials
    • May 2021: fix typo
  • 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
  • aws-lambda-haskell-runtime-wai: AWS Lambda Haskell runtime WAI adapter
    • September 2020: update to aws-lambda-haskell-runtime 3.0.4
  • cut-the-crap: Haskell spam filter CLI
    • May 2020: various improvements (drop optparse-generic, restore CLI long names)
  • hatrace: strace-like
    • June 2020: Introduction of many syscalls

Popular repositories Loading

  1. grafana-dashboards.nix grafana-dashboards.nix Public

    Nix tool used to fetch and transform Grafana Dashboards

    Nix 10

  2. haskell-security-action haskell-security-action Public

    Scan for vulnerabilities and create advisories on GitHub

    Shell 9 2

  3. hasec hasec Public

    Haskell security advisory tool-set

    Haskell 4

  4. servant-streamly servant-streamly Public

    Servant Stream support for streamly

    Haskell 3 1

  5. librarian librarian Public

    Move/rename according a set of rules.

    Haskell 3

  6. sudoku sudoku Public

    Sudoku solvers

    Prolog 2