My.Thoughts v1

Stay playfully clever my friends

In addition to blogging, I also enjoy writing Elixir libraries in order to solve some of my day to day development problems. I publish those libraries to https://hex.pm/users/akoutmos and have the code freely available on my GitHub at https://github.com/akoutmos.

Below are some of the projects that I currently maintain along with some details as to what they do. Feel free to leave feedback on GitHub if you encounter any issues or if there are any features that you would like to see!

PromEx  
Hex Badge GitHub Actions Badge
PromEx provides Prometheus metrics and Grafana dashboards for as many of the libraries in the Elixir ecosystem as possible as well as a framework so that you can manage the lifecycle of your own metrics and dashboards. Best of all, it only takes a few minutes to set up!
Hex Logo     GitHub Logo
Doctor  
Hex Badge Travis Badge
Doctor is a useful library used to ensure that projects have a healthy level of documentation. Doctor can fail during CI/CD if new commits reduce documentation coverage for a project, if typespecs are missing, or if modules lack moduledocs (to name a few features).
Hex Logo     GitHub Logo
ExTodo  
Hex Badge Travis Badge
ExTodo allows you to pretty print all of the codetags (TODO, FIXME, BUG, etc) that are in your project. You can also leverage ExTodo during CI/CD in order to fail pipelines when your code contains particular codetags (FIXME, BUG, etc).
Hex Logo     GitHub Logo
Unplug  
Hex Badge Travis Badge
Unplug is an Elixir library that you can use to conditionally execute your plug modules at run-time in your Phoenix/Plug applications. This is particularly useful if your existing plug libraries do not support run-time configuration.
Hex Logo     GitHub Logo
Replug  
Hex Badge Travis Badge
Replug is an Elixir library that you can use to configure your plug modules at runtime regardless of whether the plugs support run-time configuration. It comes with 2 built in configuration provider modules for your convenience.
Hex Logo     GitHub Logo
Telemetry Filter  
Hex Badge Travis Badge
Use this to filter out events that are triggered by :telemetry in Plug. This is particularly useful if you don't want to pollute your logs with messages for /metrics and /health requests for Prometheus and Kubernetes.
Hex Logo     GitHub Logo
Pharams  
Hex Badge Travis Badge
Currently undergoing a large rewrite...but the goal of this library is to provide a DSL to sanatize and validate incoming Phoenix request parameters using Ecto Changesets. Stay tuned for updates on this one!
Hex Logo     GitHub Logo
Server Timing Plug  
Hex Badge Travis Badge
Using this plug, you can attach a Server-Timing header to your API responses. ServerTimingPlug provides a clean interface through which you can capture timings and will automatically dump all timings when the request is complete.
Hex Logo     GitHub Logo

comments powered by Disqus