During a development effort where I had to use AWS API’s to extract information about our EC2 instances, the network powers-that-be wanted to just grant me temporary AWS credentials. I wanted to use ex_aws since its by far the most popular Elixir library for using AWS’ numerous API’s but I hadn’t used it with temporary security tokens before. It took a while to figure this out so I figured I’d write a short post about what I did.
Mongodb library uses the dbconnection library, which in turn uses the connection library. Both db_connection and connection libraries use a technique that may appear puzzling at first. Here’s an example of the code I’m talking about from defmodule DBConnection :
Since I’m relatively new to Elixir one of the ways that I learn more is by looking at the source code for dependencies that get brought in. I needed to use Mongo for a current task and I added a dependency on mongodb. This blog post goes through some initial exploration of how the mongodb library is implemented and some interesting things about Elixir.
I built a Phoenix app for my company that provides lots of administrative insight into our system. It gives operations and support folks some information beyond what’s provided in our traditional UI. It also tries to diagnose common problems and provide suggestions on how they can be fixed (or indications of what else to examine).
As someone who has some expertise in relational databases, I’m called upon to dig into problems where code is misbehaving because some code is running into some relational db data that is unexpected. Like much in life, the folks on the development side are quick to fault the database. This parallels the usual response of typical DBAs - which is to quickly fault the developers. This situation doesn’t get much better with folks who claim they are “full-stack developers”. Someone declaring that they are a “full-stack” developer is best met with a sigh at this point. Its a marketing term more than a statement of fact.