Announcing Constable, an open source Phoenix application. Try the demo and check out the source on GitHub
Today we open sourced Constable. It’s an open source Phoenix application for handling company discussions and announcements. Give the demo a try at https://constable-demo.herokuapp.com (use an @gmail.com address to sign in), or check out the source at https://github.com/thoughtbot/constable
We hope you love it!
https://robots.thoughtbot.com/announcing-constable-our-first-open-source-phoenix-application
My first little piece of code, Dark Sky weather API for Elixir
Refreshing programming skills with Elixir!
Very simple code!
My plan is to use Dark Sky weather data to estimate when to harvest crops.
Using Phoenix with Legacy Rails Applications
Article about how to leverage the power of Elixir and Phoenix in your existing legacy Rails applications today. Read it Here.
Credo v0.4.12 released
I just released v0.4.12
of Credo, the static code analysis tool that emphasizes code consistency and teaching.
The Power of Activating Artificial Neurons
This the second post in the Artificial Neural Network series. In it, we go into detail and explore our activation functions on several different neurons. http://www.automatingthefuture.com/blog/2016/10/2/the-power-of-activating-the-artificial-neurons
Elixir and Unicode: Two Blog Posts
You’ve heard that Elixir has great Unicode support. But how? I’ve written two posts on the Big Nerd Ranch blog explaining what Unicode is, how UTF-8 encoding works, and how Elixir’s string implementation helps it do things correctly that many languages do wrong.
ExChalk: Easier terminal styling
ExChalk is a simple way to style terminal text with a piping syntax.
Authorization with Policy Wonk Tutorial
Policy Wonk is a lightweight authorization and resource loading library for any Plug or Phoenix application.
I wrote a tutorial walking through how to set it up and use it. Read it here.
Policy Wonk provides three main plugs.
-
PolicyWonk.LoadResource
loads resources into the conn’s assigns map. -
PolicyWonk.Enforce
evaluates a specified policy. It either continues or halts the plug chain depending on the policy result. -
PolicyWonk.EnforceAction
evaluates a policy for each incoming controller action in Phoenix.
Decisions are made before controller actions are called, isolating authorization logic, encouraging policy re-use, and reducing the odds of messing Auth-Z up as you develop your controllers.
Check it out here:
Ecto Shortcuts - Common shortcut operations in ecto © (see license)
https://github.com/MishaConway/ecto_shortcuts
Lightweight Elixir extension to simplify common use cases in Ecto. It even has auto preloads!
MyApp.Users.insert name: "Bob"
MyApp.Users.get_by! [name: "Sally", age: 30], preload: "*"
MyApp.Users.where [status: 3], limit: 10, order_by: [desc: :inserted_at], preload: [:posts]
defmodule MyApp.Users do
...
use EctoShortcuts, repo: MyApp.Repo,
model: MyApp.User,
default_preload: "*"
...
end
Generating a stream using Stream.resource
Stream.resource is a powerful function that can be a bit confusing to use. See some examples from generating prime numbers to executing a long-running function on each item in a enum in parallel.
Elixir ETS/DETS/Mnesia/BEAM vs Redis
Learning Elixir has a way of challenging everything you know about programming. Redis is becoming an assumed part of many web stacks, in the same breath as your database. But with Elixir, do you need it? Do you even need a database?
Elixir Users' Survey 2016
I’ve just launched the Elixir Users’ Survey 2016
I do these every year. Here are 2014 and 2015:
- http://blog.elixirsips.com/2014/09/12/elixir-users-survey-2014/
- http://blog.elixirsips.com/2015/12/21/elixir-users-survey-2015/
I’d love it if you’d share it around with other elixir users you know :) The more data we have, the more data the core team and the library authors will have.
This isn’t in any way an official thing, but I think I have a decent track record of doing a bunch of work to gather and collate this data and share it with interested parties :)
I also posted this on reddit’s /r/elixir and the orange website if you felt like promoting it there :taco:
plug:https://www.dailydrip.com is my full-time thing now, making elixir and elm screencasts, if that’s your cup’o. I’m also still updating ElixirSips, but with DailyDrip I have full control of the platform and a chance to make this into something bigger.
Entity Component Systems
Entity-Component-System is a design pattern that is mostly used in game development. In this post, discover how we can use both ECS and Elixir in a novel approach to structure our programs beyond the traditional OO/inheritance paradigm.
Pairs.One has been open-sourced
The multiplayer online Memory game written in Elixir/Elm and named Pairs One (http://pairs.one) has been open-sourced during a lightning talk at EuRuKo: https://github.com/mxgrn/pairs.one
The slides for the talk can be found here: http://www.slideshare.net/netzke/making-multiplayer-game-with-elixir-and-elm
Ecto.Rut - Ecto Shortcuts to make your life easier!
Ecto.Rut gives you simple wrapper methods that let you directly call CRUD methods from your Module, so you can do this:
Post.all
Post.get(id)
Post.delete(post)
Post.insert(title: "Name", category: "Elixir")
Alchemist v1.8.1 is OUT - Elixir Tooling Emacs Integration
Thanks for all the feedback and issue reports. <3
Elixir Application teardown - User Profile API for the Rio 2016 Olympics
In this article, I wrote the teardown for the first article version of Elixir Video User Profile Service for the Rio 2016 Olympics
Exgen: A templating library for reusable Elixir apps
Do you have certain classes of applications you frequently create, or have a bunch of standard setup you automatically include in every new project? Exgen was built to address this need - a way to quickly generate projects from a base template.
https://github.com/rwdaigle/exgen
Commensurate with Exgen is the hope that the community will share their templates, their approaches to solving common problems, so that others can benefit and quickly get up and running themselves.
Exgen is in early development, so all feedback is welcome.