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

A logger backend for Telegram | LoggerTelegramBackend v1.0

Just published logger_telegram_backend v1.0, a logger backend for Telegram with support for multiple logger handlers and metadata filtering.

Check it out: https://github.com/adriankumpf/logger-telegram-backend

ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.

Phoenix & Elm landing page (pt.3)

Here is the last part of my Phoenix and Elm landing page series, where we add Google reCAPATCHA support to the subscription form to avoid spambots.

http://codeloveandboards.com/blog/2018/01/06/phoenix-elm-landing-page-pt-3/

Happy coding!

Lesson 13 Adding Ecto and a Postgres database to StatWatch

Our StatWatch module has been serving Alchemist.Camp well, but let’s add a database and work towards eliminating our reliance on .csv files.

This is our first video to cover Ecto so we went into some detail about getting it set up, creating a user for our db in psql, running various Ecto mix tasks, setting up an Ecto Schema for our table, and then doing basic CRUD from inside iex before jumping into the application’s code.

Finally we dealt with a common mix error that comes up when using ecto in an otp sub-application that’s not an umbrella project.

Today’s challenge: Read over the docs on Ecto Associations (https://hexdocs.pm/ecto/associations.html#content)

Then figure out how we could create an association between the profiles we’re collecting stats for and the stats we’ve collected.

Building a Rasberry Pi weather station with Elixir/Nerves - Part 3

I explain how to read data from the wind speed sensor via the MCP3008 analog to digital chip.

https://www.frankkumro.com/post/rasberry-pie-elixir-nerves-weather-station-part3/

@elixirlang @nervesproject #myelixirstatus #RasberryPi

{:ok, {📍, LibLatLon}} and binary pattern matching for the rescue

Blogged on how I pattern matched binaries to parse geo location instead of using Regex in handy geo coordinates library LibLatLon

http://rocket-science.ru/hacking/2018/01/12/parse-cumbersome-data

Mock current time in Elixir

Coming from the Ruby/Rails world I was searching for a way to mock the current time in my Elixir test suite, something like Timecop for Elixir. I didn’t find anything that suited my needs so I decided to give it a go by myself.

Mock current time in Elixir

Bitcoin's Base58Check in Pure Elixir

Check out how we can implement Bitcoin’s Base58Check encoding algorithm, an important piece in the process of converting a private key into a public address, in pure Elixir!

ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.

{:ok, 📍} aka LibLatLon library to handle geo coordinates

The library provides both handling the coordinates in any imaginable format and querying geodata providers for both direct and reverse geo lookup.

iex|1 ▶ LibLatLon.lookup("test/inputs/1.jpg")
iex|2 ▶ LibLatLon.lookup({41.376223, 2.1483528})
iex|3 ▶ LibLatLon.lookup(lat: 41.376223, lon: 2.1483528)
iex|4 ▶ LibLatLon.lookup("Carrer de Tarragona, Hostafrancs, [...]")

#⇒      %LibLatLon.Info{
#           address: "Carrer de Tarragona, Hostafrancs, [...], 08023, España",
#           ...

Building a Rasberry Pi weather station with Elixir/Nerves - Part 2

The weather station project powered by Elixir/Nerves receives it’s second update.

https://www.frankkumro.com/post/rasberry-pie-elixir-nerves-weather-station-part2/

AC9: Using Elixir macros to simplify our views

https://youtu.be/EKSdm11Vd0g

Building the http://Alchemist.Camp website, Part 9. Let’s write some macros and make a lean view layer!

We split our “kitchen sink controller” into reasonable framework abstractions for controllers and views and then take advantage of this work to create an episode controller for Alchemist.Camp.

the difference between the for comprehension and Enum.each - goodcode

the difference between the for comprehension and Enum.each https://goodcode.in/elixir/5/the-difference-between-the-for-comprehension-and-enum-each

Benchmarking ++ vs | for list concatenation

Ever wondered just how much slower ++ is versus the cons operator (|) for adding together lists? It’s probably worse than you thought!

https://github.com/devonestes/fast-elixir#combining-lists-with--vs--code

A Tweak to Phoenix Contexts

I show off what approach I’ve been using in my side project that is a little different than the bounded context approach.

https://blog.oestrich.org/2018/01/tweak-to-phoenix-contexts/

An Intro to Agents

In the latest episode of ElixirCasts we get an intro to agents.

https://elixircasts.io/intro-to-agents

Empex Los Angeles

A one-day conference for curious elixir programmers in Los Angeles, CA - Saturday, February 10, 2018 - http://empex.co/la.html

Simple encrypted auth tokens for Phoenix

Any web application with a login system needs a mechanism to track whether your users are actually logged in.

This post will explore the implementation of our very own authentication token library, which you can find here on Github: https://github.com/Brainsware/authtoken

We will go over fleshing out an API for working directly with auth tokens, talk about expiring and refreshing tokens. At the end we’ll cover a router plug to use in a Phoenix project:

https://sealas.at/blog/2018-01/encrypted-auth-tokens-for-phoenix-auth-part-2/

Automate pattern matching for structs

Blogged an example of how one might use macros to automate pattern matching on different structs.

http://rocket-science.ru/hacking/2018/01/08/automate-struct-pattern-matching

Solution to Challenge 12: Making bitmaps with color palettes

https://youtu.be/pTR89d1yVbk

We’ll dive into working with Elixir bitstrings and upgrade the bitmap image generator from last lesson.

By the end of the video we’ll be able to create color palettes and generate monochrome or 16-color images along with 24-bit color images.