• Using Azure Active Directory Roles in a Python app

    Azure Active Directory application roles help you implement role-based access control (RBAC) in your applications. In this post, I’ll cover how to work with them. I’ll be using a simple Flask app to demonstrate, but the important bits happen in a few key API calls, so this method is transferable to other environments.

  • Analyzing Employee Relationships using neo4j

    At my company, employees can give each other ‘badges’ to show appreciation for good work. These badges have both a type (for example, ‘Leadership’ or ‘Team Work’) and some text to go into more detail. I’ve been learning about the graph database neo4j and thought it would be an interesting use case to load some historical badging data in and see what kind of insights I could extract from it.

  • Drawing Graphs and Diagrams with Atom and Viz.js

    The other day I was tasked with creating some architecture diagrams and process flow charts. Usually I would prepare these in Visio like the rest of the world, but I wanted to try something new. I’ve been reading about Atom, the MIT-licensed ‘hackable text editor for the 21st Century’ developed by GitHub, and how extensible and productive it is, so I decided to dig in and see if any of the popular Javascript libraries (like Viz.js and mermaid) for bringing text-based diagrams to life could be integrated into it.

  • SSH port forwarding inside Java applications with JSch

    For one of my projects, I have a web application running on one machine and a separate reporting application on another machine that must connect to the database (PostgreSQL) on the first. By default, PostgreSQL listens only on localhost.