Reading a File in Elixir on Heroku
This post covers a problem I ran into when reading files on Heroku in an Elixir Phoenix app.
https://davidtang.io/2019/02/01/reading-a-file-in-elixir-on-heroku.html
A brief history of Erlang and Elixir
Telecommunications and the web worked in different ways for years: until recently, the former was all about latency, concurrency, and long-running connections, while the latter, with HTTP, was just about “hits” on ephemeral connections. But the web evolved rapidly, and the things that were important in telecommunications became important for the web, too. https://www.welcometothejungle.co/articles/history-erlang-elixir
Using a GenServer to process concurrent tasks
Using a real problem that needed solving, I describe the process I took in building a simple Task runner with a GenServer. https://www.jackmarchant.com/articles/using-a-genserver-to-handle-asynchronous-concurrent-tasks
ElixirMix Podcast 036 - Gremlex and Graph Databases with Kevin Moore & Barak Karavani
In this episode of ElixirMix, the panel talks with Kevin Moore and Barak Karavani at CarLabs about their library Gremlex, for talking to graph databases. We talk about graph databases, how they help, AWS Neptune, the Gremlin query language, company benefits of open sourcing, and much more!
Database Locking with Ecto
How to be sure tasks are executing once (and only once) across multiple servers - https://medium.com/flatiron-labs/database-locking-with-ecto-in-elixir-9804cdbd1866
erlang-rocksdb version 1.0.0 has been released. Enjoy the stable API!
I just released rocksdb 1.0.0 a binding of rocksdb for Erlang and Elixir based applications. Enjoy the stable API :) RocksDB is a library that provides an embeddable, persistent key-value store for fast storage, you can find more information about it on http://rocksdb.org.
erlang-rocksdb 1.0.0 includes the following changes:
- first stable version
- miscellaneous build improvements with new build options and optimisations: https://gitlab.com/barrel-db/erlang-rocksdb/blob/master/doc/customize_rocksdb_build.md
- stable API
Most people will want to start with the Getting Started section of our wiki: https://gitlab.com/barrel-db/erlang-rocksdb/wikis/Getting-started. Full API reference: https://gitlab.com/barrel-db/erlang-rocksdb/blob/master/doc/rocksdb.md
Sources are available on gitlab: https://gitlab.com/barrel-db/erlang-rocksdb/tree/master
Or via hex: https://hex.pm/packages/rocksdb
Exop on StreamData
A story about how I was inspired by Andrea Leopardi’s talk “Property-based testing is a mindset” he gave at ElixirConfEU 2018 in Warsaw, Poland, and what is ExopData as the result of this inspiration.
Exop + StreamData = ExopData - a tool which helps you generate data and write property-based tests.
https://medium.com/@andreichernykh/https-medium-com-andreichernykh-exop-on-streamdata-75a2115d150d
Easy Concurrent Locking for Erlang/Elixir
This is a tiny library I threw together as I realised it would be useful in a couple of scenarios. The source is in Erlang, making it easy to use in both languages, and has example usage in both.
Check it out here: https://github.com/whitfin/sleeplocks
Distributed Phoenix Chat with PubSub PG2 adapter
Distributed Phoenix Chat with PubSub PG2 adapter
In this article we see how to cluster Phoenix Chat nodes, using distributed Elixir. We see how pg2 works and inspect how Phoenix efficiently broadcasts the messages in a distributed chat app.
Parsing Text with Context Free Grammars Elixir
Parsing complex text requires a context-free grammar, here is a brief video tutorial on how to work with them
Free Email Course on building Releases with Elixir
I have created a new Email Course on building releases with Elixir.
My Advent of Code 2018 Recap
https://dsdshcym.github.io/blog/2019/01/29/my-advent-of-code-2018-recap/
In this blog post, I wrote about what I learned from AoC 2018:
- Stop Thinking, Start Solving (Don’t get paralyzed by complexity estimations)
- Functional thinking (a.k.a Streams v.s. Recursion)
- Don’t Use Processes for Encapsulation (To spawn, or not to spawn?)
- Binary Search FTW
Hey Siri, Deploy My Elixir App
I made another post on using Actions with Elixir code: This time, I deploy an app to the Heroku Container Runtime using Siri.
https://jclem.net/posts/2019-01-28-hey-siri-deploy-my-elixir-app/
GitHub Actions for Elixir
A blog post on how to write GitHub Actions for Elixir. This allows you to do things like run tests, check code formatting, and manage releases for Elixir projects using GitHub Actions.
https://jclem.net/posts/2019-01-26-github-actions-for-elixir/
ExVenture Updates for January 2019
ExVenture is a text based MMORPG. Refactors continue this month, along with some new game mechanics (proficiencies). Check out the post for more information!