Track changes to your Ecto model with whatwasit
Just released a package for tracking changes to your Ecto models for versioning and auditing.
The installer generates a migration file and a models/whatwasit/version.ex file to your project for easy customization.
You can check it out on hex https://hex.pm/packages/whatwasit
Using Environment Variables with Elixir and Docker
In an existing organization, Docker is a great tool to homogenize your infrastructure. Along with Exrm, I use Docker to run the same code in both the staging and production. In order to connect to different database servers, I use environmental variables to configure the server at run time.
In this blog post, I cover how to load those environmental variables in your config for both your binary and mix tasks.
Phoenix API versioning: URL
API versioning plays a big part in how an API can evolve, affecting not only technical decisions, but also product decisions. In this post, I show how simple it can be achieved with Phoenix:
http://elviovicosa.com/blog/2016/07/22/phoenix-api-versioning-url.html
Auto slug field for Ecto models
A little but configurable helper with you slugs: https://github.com/sobolevn/ecto_autoslug_field
It can generate slugs from multiple fields and always override existing slugs (if you want so). Check it out.
Exception tracking from Elixir to Airbrake
Airbax is Elixir client for Airbrake/Errbit based on awesome Rollbax.
You're Smart Enough for Elixir
I’ve written a blog post on the Spreedly engineering blog about my experience coming to Elixir from an object oriented background.
Concurrency is hard and complicated with threads and mutexes and so Elixir must be hard and complicated right? Elixir must be a language for serious programming programmers doing serious programming!
What I found was that concurrency doesn’t have to be the hard part! Elixir doesn’t solve the concurrency problems of a language like Ruby… it avoids them entirely!
https://engineering.spreedly.com/blog/youre-smart-enough-for-elixir.html
BeamBA 2016 - Meetup @ Buenos Aires / Sept. 28th
The community of Erlang, Elixir, Efene, LFE devs around Buenos Aires is congregating again for a new meetup on Sept. 28th, 7PM at Inaka‘s offices. We’re looking for speakers (remote ones accepted, of course). If you have something to share with us, please fill in the CFP before Sept. 12th.
Already looking forward to meet everyone again!
Picking apart an Elixir macro
We use the “env_helper” package as an example to pick apart exactly what each line of a Macro does. Most suited to beginners wondering exactly what is up with this “quote/unquote” stuff.
Building a simple chat using Phoenix Framework’s Presence and React
Presence module in Phoenix Framework is awesome. We show you how you can use it with React to build a chat.
https://blog.diacode.com/building-a-simple-chat-using-phoenix-framework-presence-and-react
ElixirStatus & ElixirWeekly
ElixirWeekly is the latest addition to this site.
I wrote a blog post how it came about.
Stemmer - An English (Porter2) stemming implementation in Elixir
Just released v1.0.0-beta.1 with 100% compatibility with Porter2!
Simple Bayes - A Naive Bayes implementation in Elixir
https://github.com/fredwu/simple_bayes
Features
- Multinomial Naive Bayes algorithm
- No external dependencies
- Ignores stop words
- Additive smoothing
- TF-IDF
- Optional keywords weighting
- Optional word stemming via Stemmer
Part one of a two part series: using the json datatype in postgres with Ecto, deploying through Travis to Heroku
Blog post on building a web app without Phoenix. In this one we look at storing json data in Postgres.
http://www.johnpdaigle.com/complexable/2016/06/26/deploying-to-heroku-postgres-edition.html
Credo v0.4.6 released
I just released Credo v0.4.6 which brings some minor improvements and stability.
Summary of Phoenix workshop for Rails team
Here’s how I’ve made the first step into introducing Elixir and Phoenix to our Rails development team at VIsuality.
Read more on Phoenix on Rails blog.
Dependency CI has great support for Elixir dependencies
Recently launched Dependency CI with support for checking the status and licenses of your Elixir dependencies from both mix.exs and mix.lock every time you push to GitHub
How to make your #ElixirLang workflow more consistent and convenient with @Docker
I wrote a tutorial at SemaphoreCI describing how to work Docker and Docker Compose into your Elixir/Phoenix workflow by way of a custom Mix task. Enjoy!
https://semaphoreci.com/community/tutorials/dockerizing-elixir-and-phoenix-applications
Monitoring our Sites with Elixir
We recently rebuilt our system statusboard using Elixir and documented the ins and outs.
Under the hood, each site is now an Elixir process that’s responsible for monitoring that site or service. Running each site as a process means:
- We can add more without ever slowing down or blocking other requests.
- The processes can be monitored and the site marked red if the process crashes for whatever reason. -We can run it on one Heroku hobby dyno.
You can read more here:
https://m.alphasights.com/monitoring-our-stack-with-elixir-3f37023185e8#.s3ksuyjt1?ref=elixirstatus
Beam Olympics - Test your Beam Skills
Just like last year, Franco Bulgarelli and his team invited us to share a class with their students at UTN-FRBA, where they teach Distributed Programming. And exactly like last year, they gave us a great welcome and allow us the possibility of meeting a group of very talented people.
We had the chance to show them what we do and how we work, but the best part of the meeting started when I booted up a Beam Olympics server and we all started playing the game.
Keep reading at Inaka’s Blog
