People are Processes
When designing your Elixir systems, think about the processes as people. Now think of these people in an office all working together to serve the customer. That is how you can build your software systems in Elixir. It’s natural and intuitive!
Talking about system design, how processes work, some benefits of Elixir and Phoenix, and concurrency!
https://brainlid.org/elixir/2018/01/17/people-are-processes.html
Automated dependency update PRs with Dependabot
I just added support for Elixir to Dependabot!
Each day it will pull down your mix.exs and mix.lock files and check whether the dependencies in them are up-to-date. If there are any that could do with a bump it will create individual PRs for each update for you.
Would love beta testers - Dependabot has created a lot of Ruby and JS pull requests, but support for Elixir is brand new.
How to use Markdown as templates in Phoenix
In addition to finishing PhoenixMarkdown v1.0, I’ve also published a blog post on Medium describing how to use it.
https://medium.com/@boydm/markdown-templates-in-phoenix-25721a3bc682
enjoy!
PhoenixMarkdown v1.0 released to Hex
Continuing my roll of updating packages this week…
PhoenixMarkdown version 1.0 has just been pushed to Hex!
https://hex.pm/packages/phoenix_markdown
PhoenixMarkdown lets you use Markdown as first-class templates in Phoenix.
In addition to streamlining the code, you can now optionally process server-side tags in the Markdown file.
The Big Elixir Conference in New Orleans, November 2018
We are working on a site, but in the mean time would like anyone who is interested in attending, speaking or sponsoring to fill out our Google Form https://docs.google.com/forms/d/e/1FAIpQLSfRgC-654H30l4hJvnqug75AW0l3YFeCc-upTMhADHZmQbzXQ/viewform
Solution to Challenge 14: Flattening lists recursively in Elixir
https://Alchemist.Camp covers two functions for flattening lists in Elixir. One is elegant and concise. The other is tail recursive and performant.
how to process an ets table in chunks or batches
how to process an ets table in chunks or batches https://goodcode.in/elixir/10/how-to-process-an-ets-table-in-chunks-or-batches
Things I wish ActiveRecord had after using Ecto
In this article, I wrote about few things I like about Ecto that aren’t available in Active Record. It’s not meant to be a “Phoenix is better than Rails” rant as both frameworks provide really great things and we can all learn from each of them. https://infinum.co/the-capsized-eight/things-i-wish-active-record-had-after-using-ecto
Functional mocking with Mox
How to use Mox in your test suite, and at which layers you should use them in: https://blog.carbonfive.com/2018/01/16/functional-mocks-with-mox-in-elixir/.
PhoenixIntegration 0.5 published to hex
Apparently I’m updating packages today…
Just published PhoenixIntegration 0.5 to hex. Features the following changes:
- Adds click_button, which requests links in buttons in a test.
- Adds follow_button, which follows requests through a button with redirection.
- Improves error messages when requesting the wrong method.
Engaging the Community
Every year, we have an opportunity to engage the communities that we’re a part of. From Slack to meetups to conferences — everyone can contribute regardless of their experience. How will you contribute to the Elixir community in 2018? https://blog.echobind.com/how-to-engage-a-community-bc7333b6aaf5
Writing simple web services with Ace
Tutorial for getting started with Ace; a featherweight toolkit for developing web applications.
http://crowdhailer.me/2018-01-17/simple-web-services-with-ace/
PolicyWonk v1.0.0-rc.0 released
I just pushed PolicyWonk 1.0.0-rc.0 to hex.
This is a major update (re-write…) that has less code than the original.
v1.0 fixes several issues with the old architecture:
- It wasn’t compatible with Phoenix 1.3 umbrella apps. Or rather, you couldn’t have separate policies for different apps in an umbrella.
- It had a whole mess of complexity that simply wasn’t needed. I never used most of the “shortcut” options since the more explicit versions (with slightly more typing) were always clearer.
- Returning errors from Policies was too vague. I want to know errors are being processed!
- The config file data isn’t necessary in a more explicit model.
- Naming was inconsistent between policies and resources.
If you use PolicyWonk, I would appreciate any feedback before declaring it done.
There are breaking changes, so make sure to read the docs on how to upgrade. Overall, the shape is similar, so there is minimal work to make the upgrade. The result works with Phoenix umbrella apps, is simpler, more flexible and has better consistency.
I think the upgrade will be well worth it.
Creating Ecto associations between profiles and stats (StatWatch)
Lesson 14: https://youtu.be/mYsYgNlRuEM
We finish migrating StatWatch from a CSV file-driven app to a database-driven app. We use Ecto to create associations between user profiles and their associated stats and streamline our stat saving by using Repo.insert_all to take in many rows en masse.
Don’t forget to submit your content requests! https://youtu.be/nauHI5omF2M
Peluquero gets v0.99.×
Deal with RabbitMQ like a pro. Sophisticated subscribing, publishing, shoveling and more with a simple config. Implement your business logic, Peluquero will handle the queues :)
— https://github.com/am-kantox/peluquero — https://hexdocs.pm/peluquero/gettingstarted.html
K-ordered ids in Elixir
I’ve decided to explore elixir again after using it a little bit, couple years ago. This was an excuse to practice some elixir on something with a small enough scope, yet some practical usage. I’m translating Boundary’s flake id generator to elixir.
Feedback welcome.
Prepare and release your Elixir open source package like a pro
Every time I’m releasing an Elixir open source package, I find myself re-assembling the same list of actions that lead to a properly managed and professional looking release. This guide aims to put all these actions into approachable, ordered list of how to get your open source up and running.
Read more on Shedul Tech Blog.
Tarearbol gets v0.7.0
Lightweight task manager, allowing retries, callbacks, assurance that the task succeeded, and more…
— https://github.com/am-kantox/tarearbol — https://hexdocs.pm/tarearbol/intro.html#features
Update: DETS for scheduled tasks aka cron-like jobs, enhancement of spawn_ensured handling.
Crypto Curry with Elixir
https://medium.com/@iacobson/crypto-curry-with-elixir-1c98a8b5f23 Exploring functional concepts such as currying, composing and pointfree in Elixir
