Server side event tracking with Keen.io
youtu.be/lRocS2o0DJY
Let’s set up some event tracking on Alchemist.Camp with Keen.io! This video has 3 parts:
- What to track (the 5 most important user actions)
- The tools (Keenex, Geolix, UAInspector)
- Coding it!
just released erlang-rocksdb 0.16.0 a binding of rocksdb for #Erlang applications.
Just released erlang-rocksdb 0.16.0 a binding of rocksdb for #Erlang applications.
It now support rocksdb 5.10.4 and added some new features. Changelog is there: https://gitlab.com/barrel-db/erlang-rocksdb/blob/master/CHANGELOG … Enjoy !
Top Open Source Frameworks in Elixir
Best Elixir frameworks to create applications for web, APIs, bots, command-line scripts, dashboards, etc. The list includes Phoenix, Nerves, Sugar, Hedwig and many more.
Link: https://www.icicletech.com/blog/top-open-source-frameworks-in-elixir
[VIDEO] Fault tolerance and fault recovery
https://youtu.be/aBGQBsuUvhU . The video includes process monitoring a bit beyond the Supervisor. Also, if anyone would like to start a delivery company, this has you covered
Aadya-CoAP IoT Framework
Aadya Release
We are pleased to release Aadya-beta . The CoAP (Constrained Application Protocol) framework build on top of Elixir and Erlang ecosystem. CoAP is a binary protocol intended for IoT devices for lower payload.
Aadya is pretty similar to MVC style frameworks like Phoenix or ROR.
We took our time to release this framework. We took care of building an ecosystem around Aadya framework from logging to debugging using existing tools.
Payload validation
Where and how to validate incoming payload in web applications? https://k.lelonek.me/validate-payload
AlloyCI v0.4.0 has been released!
AlloyCI v0.4.0 includes initial support for build artifacts, full support for build dependencies, and the option to use Sentry for error catching. Read more about it here: https://github.com/AlloyCI/alloy_ci/releases/tag/v0.4.0
Expat v1.0 - Reusable, composable pattern matching in Elixir.
The v1.0 version now supports guards!
Happy pattern-expanding everyone!
Gravatars
Gravatar is a quick and simple way to use avatars in your application. In this episode we see how easy it is to use them with a Phoenix application.
IntelliJ Elixir 7.4.0
Enhancements
-
Allow files to skip interpreting in the debugger to be configured in Preferences > Build, Execution, Deployment > Debugger > Stepping. It is recommended to customize these settings instead of using
INTELLIJ_ELIXIR_DEBUG_BLACKLISTenvironment variable.INTELLIJ_ELIXIR_DEBUG_BLACKLISTshould be reserved to additional modules that need to not be interpreted only for specific runs.-
Ship a set of patterns that excludes Elixir standard library by default and most
mix phx.newdependencies, so that debugger boots faster for most users.
-
Ship a set of patterns that excludes Elixir standard library by default and most
-
Support debugging
.eextemplates-
Detect MFAs that refer to template functions in Phoenix view modules derived from
.eextemplate files, to allow stepping through Elixir tags in those templates. -
Allow setting breakpoints in
.eexfiles when a.beamfile using the template’s relative can be found. This means that the Phoenix view module.beamfile must exist in_buildprior to setting a breakpoint. Run the Run Configuration once, before debugging to complete the build if setting a breakpoint does not work.-
.beamfiles are now indexed by theirLinechunkfilenamessubsection to power this feature.
-
-
Detect MFAs that refer to template functions in Phoenix view modules derived from
-
Cache
.beamBeamCacheonVirtualFile. Cache is invalidated and refreshed on modification of theVirtualFile. Cache is used for both BEAM Chunks read-only editors andLinechunk file name index. - Each package manager uses a different root path and which directory to pick above the ebins varies by package manager, so document package manager install paths.
-
Show warnings-as-errors checkbox as original blocker has been fixed for awhile and
ProcessAdapterturns warning text into errors that IDE understands. -
When importing Mix projects, don’t exclude compiler output from indexing because it is needed to resolve Elixir Line Breakpoints in EEx files.
- For pre-existing Elixir modules, they will be converted to not exclude compiler output.
-
Exclude known uninterpretable modules
-
Bcrypt.Base -
:erocksdb -
:lz4 -
:re2
-
Bug Fixes
-
Turn off
debugflag when startingIntelliJElixir.DebugServer, which removes the*DBG*statements that kept printing in the ExUnit output when using the debugger. -
Fix conversion of Elixir module names to Erlang module names for
INTELLIJ_ELIXIR_DEBUG_BLACKLISTenvironment variable. -
Cache
nullSDKRelease, so that when Elixir is configured, but the Erlang path is broken (such as after abrew unlink erlang, theReleasecalculating usingelixir -
Implement
Macro.atomToString -
Properly render improper lists
-
Show improper list with explicit
|for presenation -
Children of improper lists show
headandtailinstead of index.
-
Show improper list with explicit
-
Show Elixir indices (
0-based) instead of Erlang indices (1-based) for lists and tuples. * Loosen check on the path suffix by looking for onlyliband notlib/erlang/lib, so that it works for both Homebrew’sebinpaths and ASDF’sebinpaths. * Harmonize JPS compile server’s invoking ofmixto pattern used in Run Configuration runners. * Usemixpath from SDK * No longer say the build succeeded when there are obviousmixerrors * Parsemix compile` output for compilation errors and warnings When “warnings-as-errors” is enabled in “Elixir compiler” settings, IDE also shows warnings as errors. IDE will know build failed if there are errors (or warnings treated as errors) and properly allow rebuild. * Some modules, like NIF modules, can’t be loaded into the debugger. Individual modules not being debuggable shouldn’t kill the debugger task, so rescue the known error and record it for later debugging of the debugger.
Simple Setup of PostGIS Columns with Phoenix Generators
Short blog post on how to use Phoenix generators with PostGIS column types. Demonstrates tweaks to get tests, changesets, and schema all working with minimal changes to the generated code.
Mining for Mnemonic Haiku with Elixir
Let’s use the Bitcoin BIP-39 mnemonic generator we built a few weeks ago to create a “mnemonic haiku miner”. The idea is to generate BIP-39 mnemonics until we find one that meets the structural requirements of a haiku.
Put on your lab coats and grab your Morty, we’re going full mad scientist!
StrawHat.Map for Map, Location and Addresses Management
A management system for mainly addresses and location management. There is a bunch of functionalities that will allow you to plug in this in your application and manage those things for you.
We are working on the geo location functionality and connecting with different search engine like Google Map Search and Mapbox or any other one so you wouldn’t need to implement that.
I hope you find something useful, feedback are appreciated.
StrawHat.Map for Map, Location and Addresses Management
A management system for mainly addresses and location management. There is a bunch of functionalities that will allow you to plug in this in your application and manage those things for you.
We are working on the geo location functionality and connecting with different search engine like Google Map Search and Mapbox or any other one so you wouldn’t need to implement that.
I hope you find something useful, feedback are appreciated.
Ecto type for IPv4 and IPv6 addresses
Blog post that shows how to implement a custom Ecto type for IP addresses:
Writing a Plug Library
I published a blog post about writing an elixir Plug library called plug_validator
gen_spoxy - caching made fun!
gen_spoxy is a library developed at Spot.IM which makes it very easy to create from scratch highly-concurrent applicative reverse-proxy that holds a short-lived (configurable) in-memory cache.
repository: https://github.com/SpotIM/gen_spoxy
have fun!
