Committee - ⚡ Supercharged git hooks manager in pure Elixir
Committee is a supercharged git hooks manager in pure Elixir
It allows you to manage your git hooks like pre_commit by writing just Elixir
Give it a whirl and let me know what you think :)
IntelliJ Elixir v11.2.0
Enhancements
-
Add
ExUnit
describe
block template.
Bug Fixes
-
Don’t error on
runtume
in mix deps.guardian
is too common of a dependency and too many users have the version with the typo installed. -
Fix IEx Mix Run/Debug Configuration for
asdf
by using absolute path tomix
. -
Add OTP 22 and 23 opcodes to Code BEAM Chunk Viewer
-
put_tuple/2
-
bs_get_tail/3
-
bs_start_match3/4
-
bs_get_position/3
-
bs_set_position/2
-
swap/2
-
How database transactions work in Ecto and why Elixir makes it awesome?
Elixir is great at handling database transactions with the ubiquitous Ecto library. Read Michal’s article to learn why it’s important and how the functional nature of Elixir helps manage transactional pipelines.
Setting up PrismJS with Phoenix
I published a new tutorial on PrismJS: https://alchemist.camp/articles/phoenix-prism-syntax-highlighting
It’s a quick guide to get it set up on Phoenix (or just about any back-end framework that takes an agnostic approach towards JS). The code shown in the tutorial itself uses this setup.
PrismJS is a great option for code syntax highlighting. It supports a vast array of plugins and the total script weighs in at just 2k, gziped. Extra programming languages add 0.3-0.5KB each and themes are around 1KB. It’s used by Stripe, along with many other companies that deeply value documentation.
How we improved our Elixir build speed by 5x
In this post, I explain some of the actions we took to improve both reliability and speed of our CI build, on an Elixir + Phoenix application.
ElixirMix Podcast 072: People-Centered Solutions with Travis Elnicky
In this episode of ElixirMix, we talk with Travis Elnicky about how Podium hires, trains, and runs a large Elixir shop. We learn why they chose Elixir, how they grew to 130 engineers, how they structure teams, organizing internal training, use their CI setup to give feedback, and much more!
I just released Incident 0.4.0, library for Event Sourcing and CQRS
I just released a new version, 0.4.0, of Incident, a library that provide abstractions to implement Event Sourcing and CQRS in your application.
In this release, I introduced a mix task to generate events table during setup, new commands and events for the Bank example app and better documentation.
Check it out: https://hex.pm/packages/incident
ElixirOutlaws - Refactoring is a dumb word
This week the hosts discuss Strangeloop, Unison, handling breaking changes, refactoring and how to build open systems. https://elixiroutlaws.com/55
What I'm up to - Mostly Elixir
A new blog post giving an overview of what I’m up to. It teases some of what I expect to write about in the future and lays down some basic info on what I might be releasing and publishing later. A lot of Elixir these days (nice) and also some Vue (actually quite nice).
Kalman Filter, implemented in Elixir
I implemented the Kalman Filter in Elixir. Cees de Groot made it more user friendly. If your are doing a Nerves project with sensors, signal strength (think Bluetooth) or something similar Kalman is your friend! You’ll find the package on Hex.
Elixir Trickery: Cheating on Structs, And Why It Pays Off
Elixir’s Struct mechanism is extensively used and it’s both simple and powerful. And it’s sometimes good to cheat on it a bit, especially in library development. Read Michal’s new article at Curiosum.dev.
Dynamic Conditionals with Ecto
Walkthru from Dan on how to prototype a complex search with Dynamic Conditionals in Ecto: https://blog.smartlogic.io/dynamic-conditionals-with-ecto/
Run the timing task efficiently in erlang?
How to complete the timing task quickly and efficiently? Here are three common ways to implement timing tasks and their advantages and disadvantages.
ElixirMix Podcast 071: The Problem with Dialyzer with Chris Keathley
In this episode of ElixirMix, we talk with Chris Keathley about Design by Contract, his library Norm. We discuss the what and how, compare it to using Changesets and using it with testing. We set the record straight on Bleacher Report’s early use of Elixir and much more!
Smart Software Podcast - Dave Lucia on Rustler
New episode! Dave Lucia on Rustler. We talked with Dave about Rust and Elixir, how he got involved in open source, and his tips for folks who are wanting to contribute.
10 Killer Elixir Tips — #9
https://medium.com/blackode/10-killer-elixir-tips-9-7155532befd7
Escalate your Elixir with these Collection of Coding Tips
For better & productive lines of code always find an alternative.
It is a great pleasure to come up with another set of tips that you may or many not know.
Releasing an Elixir Umbrella App with Mix Release and Config
Haven’t had a chance to play around with Elixir’s new release tooling? Learn how to configure your umbrella app for release without Distillery by using mix release, the new Config module with runtime configuration specifications and Docker. https://elixirschool.com/blog/releasing-an-umbrella-app-with-docker-and-mix-release/
Converting to LiveView -- Step By Step (video and article)
Phoenix LiveView was undoubtedly the star of ElixirConf 2019. On the back of that excitement, I recently gave a meetup talk where I converted a traditional controller-driven application to a LiveView app – live! Now I’ve taken that talk and written a blog post describing how easy it is to do this on your own – step by step. The talk video is in the post as well!
https://geoffreylessel.com/2019/converting-to-phoenix-liveview/
Archivist: Plain-Text Blogging with Arcdown and Markdown
Hey all! FunctionHaus and myself have just released version 0.3.1
of Archivist, a plain-text blogging engine similar to Nabo that parses articles as Arcdown by default and uses Earmark to parse content as Markdown.
Archivist takes a similar approach to Nabo, but with some key differences:
-
Articles are formatted in
Arcdown
format by default, allowing for more robust articles and article features. -
Content parsing and sorting mechanisms are exposed as anonymous functions, easiliy exposing custom functionality.
-
Articles can be organized into nested topic directories for better organization. Topics are parsed in a hierarchical structure.
-
Use of an “intermediate library pattern” is supported, allowing content and articles to be stored in a dedicated library and separate repository.
-
Default attributes are included for both author names and email addresses
-
created_at
andpublished_at
timestamps are permitted -
Flexible tags can be applied as desired to any article
-
Custom content constraints throw warnings during compilation if violated
-
Slug uniqueness is enforced by default and triggers compile-time warnings
-
Image files can be stored alongside articles, and accessed with helpers
Archivist is under active development and will continue to be improved as it is deployed into production in multiple contexts. Issues are being actively tracked and addressed at the Archivist issue tracker on GitHub.
Please feel free to provide feedback and questions regarding the platform and its usage and we’ll do our best to assist.
Current packages for both Archivist and Arcdown are published to hex.pm.