String.Naming to call UTF8 by name
In this post we’ll build the relatively same to Elixir’s String.upcase/1
stuff to address fancy UTF8 symbols by their names. The whole codebase contains 119 LOCs. In the end we’ll yield a bundle of modules, providing functions returning the UTF8 symbol given it’s name as a function name. The practical use of this package is beyond the scope of this post, but I am positive there could be many.
— http://rocket-science.ru/hacking/2017/06/20/string-naming-module
Security Scanning Your Phoenix App
Do you have a Phoenix web project that you do not want hacked? Is PCI Compliance important for your project? Wouldn’t it be great if automated security scans happened on every code change?
This post is an intro to using the new Phoenix security scanning project “sobelow”. Covering using with umbrella projects and running the scans with a Continuous Integration system.
Elixir for Java Developers, Episode II
Here goes the second episode to help Java developers to better undestand how Elixir works. This post covers how we control flows, do loops and handle exceptions in Elixir compared to Java.
https://medium.com/@dojusa/elixir-for-java-developers-episode-ii-a75c368c6e13
Integrate PayUMoney Payment Gateway In Node.js and Meteor.js
In Skyward we keep exploring new things and keep sharing things with developers. This post will help you to integrate payumoney payment gateway integration in Node.js and Meteor.js.
When we started integrating we have not found any node.js code from payumoney so we decided to study their PHP and ASP.net code and implemented the same in Meteor technology. Which you can easily use in node.js also. For more http://www.skywardsoftwares.co.in/blog/integrate-payumoney-payment-gateway-in-node-js-and-meteor-js/
Going real-time with Phoenix Channels and RethinkDB
Ever wondered what would happen if you combine Phoenix Framework, RethinkDB, Elm and Webpack? Let’s find out. The first part shows how to set up your project from the very beginning, add dependencies and glue it all together. The second one describes database interactions and real-time updates.
OpenCagex - OpenCage Geocoder API client
OpenCagex v0.1.0
Just published OpenCagex, OpenCage Geocoder API wrapper. It provides simple and easy to use reverse (coordinates to address) and geocode (address to coordinates) via OpenCage Geocoder API.
Page-Specific Titles in Phoenix
I just made a DailyDrip episode on Page-Specific Titles in Phoenix free in response to someone asking about them on Slack. Hope you like it!
Giving Phoenix Contexts some Context
Because of the recent debate and confusion on what the new Phoenix Contexts that are going to be added in Phoenix 1.3 do for you, I wrote a blog post explaining my vision regarding Contexts: https://panache.nu/blog/giving-phoenix-contexts-some-context
WebSockex 0.3.0
WebSockex Version 0.3.0 Released!
There’s one breaking API change in this release:
-
The parameters for the
handle_connect/2
callback have been reversed. The order is now(conn, state)
.
Take a look at the Release Notes or the v0.2.0..v0.3.0
diff for more information.
MIX task to decompiling Elixir modules to Erlang
Sometimes, to debugging, it is very interesting to see low-level Erlang code generated by Elixir compiler. This simple task can help with it.
$ mix debeam Some.Module > some_module.erl
$ cat some_module.erl
-compile(no_auto_import).
-file("lib/simple_module.ex", 1).
-module('Elixir.Simple.Module').
-export(['__info__'/1]).
...
exmqttc - Your trusty MQTT client
exmqttc is my wrapper library for the emqttc Erlang MQTT library that sprinkles on some callback magic and nice Elixir API - it could also serve as a nice example of how to used travis.ci for hex.pm release automation, test integration and so on.
Ex Manga Downloadr - Part 7: Properly dealing with large Collections
If you read my small post about using Flow I stumbled upon a performance problem, but José Valim showed me the correct way with Task.async_stream and I just posted about it here
A basic OpenTracing demo in Elixir with Otter
I made a quick example showing how to get started with OpenTracing and Elixir. It uses the wonderful Otter library for Erlang. The example code has a mix.exs
file and shows off a couple of cool features like tagging spans and adding logs.
https://gist.github.com/yonkeltron/ceb500d5f3a19c1a9ce1bed4e6298817
BetterParams for Phoenix
BetterParams is a simple Elixir Plug that lets you pattern match on Request params in controllers using Atom keys instead of String ones.
# web/controllers/some_controller.ex
def show(conn, %{id: id}) do
# do something
end
Yep, that’s it. I wrote it because of my OCD. 😛
Ex Manga Downloadr - Part 6: The Rise of FLOW
I just posted a new blog post on how I moved my pet project code from using a custom Task.Supervisor, Poolboy and custom GenServer to control batches into the new GenStage-based Flow library. The results are quite good but not as good as I expected. If anyone have any insights, let me know.
Testing Absinthe with ExUnit
I was playing about with Absinthe and wanted to write some tests for it, I wrote up how I went about it. Testing Absinthe with ExUnit.
Build a Home Weather Display with Nerves and GrovePi
Learn how easy it is to use Elixir to build a Home Weather Display with Nerves and GrovePi: https://axelclark.com/home-weather-display-project/
Upgrading to Phoenix 1.3
In the latest episode we take an existing Phoenix app and upgrade it to 1.3: https://elixircasts.io/upgrading-to-phoenix-1.3
Connect to Running Elixir Applications with IEx Remote Shell
Read about how to use the –remsh
option in IEX to connect to running Elixir applications from the command line.