Ecto.Observable - bring observability to your repos!
Just released Ecto.Observable - an easy way to bring “observable” functionality to your Ecto.Repo’s. Hook into the life cycle of your records to expand features without muddying your contexts.
Check it out at: https://github.com/nsweeting/ecto_observable
Work in progress! PR’s and suggestions welcome!
ExVenture Updates for June 2018
ExVenture is a multiplayer text-based game server (aka a MUD). This month had a lot of exciting additions including an overworld map system and web client updates.
Elixir and Phoenix basic passwordless and databaseless authentication (pt.2)
Here is part 2 of my new tutorial about Elixir and Phoenix passwordless and databaseless authentication, which covers sending emails with the generated authentication link and connecting to the user socket using the assigned token.
Happy coding!
How to Solve Elixir’s Module Is Not Available
4 quick tips on how to resolve a common error in Elixir. https://adamdelong.com/elixir-module-not-available
Streaming large datasets in Elixir
Streams are a great way to lazily evaluate transformations on collections. http://www.jackmarchant.com/articles/streaming-large-datasets-in-elixir
New library for HTTP requests testing
bookish_spork is a library for stubbing and setting expectations on HTTP requests in Erlang. Suits for elixir as well. Take a look!
AlloyCI v0.7.0 has been released!
AlloyCI v0.7.0 has been released, with deprecation of JSON config files, and much more! Read more about this important version here: https://dev.to/supernova32/alloyci-v070-released-360a
Detect Security Issues with Sobelow
In this episode we’ll see how we can use Sobelow to detect security issues in a Phoenix application.
harnais_list v0.1.0
Just pushed to Hex the first cut of harnais_list, a small package in the Harnais family to test lists and their contents.
The package will compare two lists, element by element, and concurrently, and report the differences.
plymio_codi v0.3.0
New release of plymio_codi today.
See the Changelog for new patterns and other changes.
Of particular note are the new struct patterns to generate custom functions to transform a module’s struct (get, fetch, put, maybe_put, has?, update, set, export).
Yet another website rebuild - never ending learning
I just published “Yet another website rebuild” http://www.jackmarchant.com/articles/yet-another-website-rebuild Built with Phoenix and Elixir
Using remote_console to access IEx in production
How do you access iex for a compiled Elixir app?
The short answer is to ssh into your production server and use either attach
or remote_console
commands. When working locally, you can just run iex -S mix
directly to access the console of your Elixir apps.
This video shows how to get to the IEx console of your compiled Elixir app while it’s running in production
More at https://alchemist.camp
Using vmstats in Elixir
Blog post showing how to use ferd/vmstats in your Elixir projects with the Statix statsd client. http://bit.ly/use-vmstats-elixir
Build your own GenServer in 49 lines of code
Exploring GenServers state consistency and order of functions execution for async requests.
https://medium.com/@iacobson/build-your-own-genserver-in-49-lines-of-code-1a9db07b6f13
Elixir API and Elm SPA - Part 4: Adding Login and Register pages
This is part 4 of a series on building a CRUD app with Elixir as the JSON REST API and Elm as the SPA.
Elixir API and Elm SPA - Part 4: Adding Login and Register pages
EventBus v1.3.x released
EventBus is traceable, extendable and minimalist event bus implementation for Elixir with built-in event store and event watcher based on ETS. https://hexdocs.pm/event_bus
[1.3.x]
The latest version of EventBus comes with a few additional helpers to make development easier. Majority of the updates are related with EventBus.EventSource
helper module:
- Set default transaction id to the event’s id
- Add random id generator for Event builder
- Introduce fetch_event_data function to fetch only event data
- Log empty topic listeners
- Add missing tests for existence check
- Update time spent calculation for EventSource block
- Remove support for system event tracing (Updated the wiki to create a wrapper for system event tracing)
Hammer.Plug 1.0 - Easy rate-limiting for Phoenix/Plug apps
Hammer is a rate-limiter for Elixir, with pluggable storage backends.
Hammer.Plug is a plug helper which lets you easily add rate-limiting to Phoenix applications, or any Elixir system that uses plug.
Example:
# Allow ten uploads per 60 seconds
plug Hammer.Plug, [
rate_limit: {"video:upload", 60_000, 10},
by: {:session, :user_id}
] when action == :upload_video_file
def upload_video_file(conn, _opts) do
# ...
end
Elixium Blockchain - A Blockchain written in Elixir
We’ve made some great progress on Elixium, and have the javascript contracting portion under development. Check it out at https://github.com/ElixiumNetwork/elixium_core
My OTP 21 highlithts - things interesting for Elixir users
In this post I look into the new features OTP 21 introduced and explore those that will be especially important for users of Elixir.
https://michal.muskala.eu/2018/06/20/my-otp-21-highlights.html
Elixir API and Elm SPA - Part 3: Elm App creation and Routing setup
This is part 3 of a series on building a CRUD app with Elixir as the JSON REST API and Elm as the SPA.
Elixir API and Elm SPA - Part 3: Elm App creation and Routing setup