GenQueue - adapter based job-queues
GenQueue helps create a common API for your background job needs. Switch from Redis to RabbitMQ to GenStage - or use them all. Unified testing support included. link
Current Adapters include:
- GenQueue Exq - Redis-backed job queue.
- GenQueue TaskBunny - RabbitMQ-backed job queue.
- GenQueue Toniq - Redis-backed job queue.
- GenQueue Verk - Redis-backed job queue.
- GenQueue OPQ - GenStage-backed job queue.
Hcloud API in Elixir
Cloud Hosting API
Using Hcloud API in Elixir
Published at https://hex.pm
Checkout https://hex.pm/packages/hcloud
Docs are not still available. If you like to contribute check out the package at github .
Fell free to contribute
Thank You.
Git status for Elixir builds
Article discussing a problem and quick solution we developed for adding GIT information to built artefacts.
http://crowdhailer.me/2018-02-18/git-status-for-elixir-builds/
From purely back end OTP app to Phoenix 1.3 app StatWatch Project p4
In this episode we FINISH the Statwatch project!!!
The 3 main improvements we make to it in this video are:
- We make the profile routes use names instead of IDs
- We make a plug to authenticate admin users
- Styling and content
The entire development of Statwatch is screencasted in this playlist
You can see the finished project at http://statwatch.me
Ravenx 2.0.0 released!
Ravenx version 2.0.0 has been released! This major version separates strategies in other packages in order to avoid dependencies of functionality you don’t need to use.
Supported strategies and their packages / repos are described in the README.
Entity Component Systems in Elixir
Entity Component Systems is a severely underlooked design pattern from the realm of game development. Now implemented in Elixir!
What's the deal with module attributes?
I recently learned a bit about how module attributes really work, and what we might use them for. Turns out I was wrong about a few things!
http://devonestes.herokuapp.com/whats-the-deal-with-module-attributes
Property Testing our Base58Check Encoder with an External Oracle
Generating test cases by hand can be slow, tedious, and error prone. Let’s use property testing techniques to test a Base58Check encoder (that we wrote in a previous article) against an external, command line oracle that we know is correct!
Erlang certifi version 2.2.0 has been released
certifi version 2.2.0, a carefully curated collection of Root Certificates for validating the trustworthiness of SSL certificates while verifying the identity of TLS hosts for #Erlang based applications has been released:
https://hex.pm/packages/certifi
This is the latest security update.
The (not so) Magic Tricks of Testing in Elixir (2/2)
Just published the second part of my blog post about testing in Elixir (particularly using Mox). Check it out at: https://medium.com/onfido-tech/the-not-so-magic-tricks-of-testing-in-elixir-2-2-acdd0368572b
Fortifying APIs: timing attacks
Securing your application’s main channel of communication against all kinds of attacks is never in vain.
One of the most important features of an API, besides usability, is resilience. A big aspect of a more resilient API is a restricted amount of information communicated. This is important to keep in mind, since every bit of information you give away, aids in an attack against your API.
So let’s have a look at how we can fortify our APIs against one kind attack: timing attacks.
https://sealas.at/blog/2018-02/fortifying-apis-timing-attacks/
Handling Webhooks in Phoenix
I’ve written a post about setting up your Phoenix application to receive incoming webhooks. Check it out at: https://simplabs.com/blog/2018/02/14/handling-webhooks-in-phoenix.html
UltraDark Blockchain
A fast, anonymous, and scriptable blockchain written in Elixir. Check it out at https://github.com/ultradark/ultradark
How to Run Your Phoenix Application with Docker
It’s so easy to set up Docker for your Elixir Application and run it locally or in production. I’ve written a quick introduction how Docker works and how you can set it up to run multiple with containers. https://pspdfkit.com/blog/2018/how-to-run-your-phoenix-application-with-docker/
Paginator - cursor based pagination for Ecto
Paginator is a new library that adds support for cursor based pagination to Ecto.
If you don’t know what cursor based pagination is or why you should use it please read the following article: http://use-the-index-luke.com/no-offset.
GitHub | Hex | Documentation
Please enjoy and feel free to give feedback!
Changing Primary Keys in Ecto
Changing Primary Keys on an existing table sounds straight forward, but there’s a few hoops you need to jump through.
Here’s how I did it with Ecto:
https://niallburkley.com/blog/changing-primary-keys-in-ecto/
Atomex 0.3.0 release: an ATOM feed builder with a focus on standards compliance, security and extensibility
Introducing Atomex, a simple ATOM 1.0 feed builder. Though Elixir already have elixir-rss
that serves a close purpose, I needed something that would be safe to use with user content and that could easily be extended. Atomex does all that, using xml_builder to ensure content is properly escaped.
Version 0.3.0
implement almost all ATOM specifications, the only missing field is the entry source.
- Github: https://github.com/Betree/atomex
- Documentation: https://hexdocs.pm/atomex
- Hex: https://hex.pm/packages/atomex
Raxx.Kit project generator released
Generator for web projects using Raxx. https://github.com/crowdhailer/raxx_kit
Mining for Bitcoin Vanity Addresses with Elixir
Let’s take another bite out of Mastering Bitcoin and implement a basic algorithm for generating vanity Bitcoin public addresses. After we implement the basic algorithm, we’ll add our Elixir special sauce and turn it into a fully parallelized procedure.
Intro to Elixir Guards
Get started with Elixir guards. And since we’re using Elixir 1.6 we’ll use defguard
to define our own.