Development

OpenVPN on AWS VPC with LDAP

Getting OpenVPN working on your AWS VPC I recently just fought my way through getting OpenVPN community edition running on our AWS VPC environment and wanted to share so that other can learn. There are a few key take aways and I’m just going to focus on the key elements. Past experience has shown that you don’t want to use 192.168.X.X or 10.0.X.X as your VPN networks. They are frequently used by home routers and having people configure into the VPN with that network conflict isn’t worth the effort.

Read more

Share Comments

Managing Git Docker secrets with SOPS

Managing Git/Docker secrets with SOPS The classic problem in cloud engineering is that you have a bunch of API keys, secrets and passwords you need to have available to your code but not available to others. The ideal solution looks like: You have your secrets in Git so you can merge them into config files They’re not availble to anybody who gets a copy of your repo Your machines can easily decrypt them You can edit them without a lot of work (e.

Read more

Share Comments

Base58 Unique IDs

Unique IDs TL;DR version - Use UUIDs, but make them save space. Generating Unique IDs Do you key your whole system by database generated IDs that are autoincrementing integers. As you probably know that means that your APIs and endpoints are ready targets for somebody who wants to test lots of differt IDs against them. After all customer ID # 1000 demonstrates there is probably customer # 1001 and 1002.

Read more

Share Comments

React Store and Reducers

React Store and Reducers Writing a react and redux appliction is a great experience, we all have seen the vision of great applications. However every time you sit down to work on your application there are times that the boilerplate is killing you. In most Redux applications you start seeing it very quickly, since there are great initial demos of “Todo” or other classic applications. The question is how to create great patterns that scale, rather than great demos that give a flavor.

Read more

Share Comments

Using OpenCV and Jupyter Docker

Working on getting some OCR work done in OpenCV and trying to wrap my head around how the library works and the functions it provides. Since I’m doing all of the work in Python realizes that while it’s possible to write a good Python program to visualize the steps it was getting bit repetitive. For example my ptyhon code had the following block to display a set of images (OpenCV images):

Read more

Share Comments

Autoenv for Greatness

This is really just a short post saying I discovered a really handy MacOS/Linux tool I hadn’t seen before. Autoenv is a very handy tool for managing environments. Why would you need this? If you’ve ever done any quantity of Python or Go work you’re probably using virtualenvwrapper or gvm to manage all of the different environemnts that you have. The challenge is that you want to quickly switch from one to the other when you enter that project workspace.

Read more

Share Comments

React and GraphQL, plus GoLang

GraphQL DateTime Scalar Value Strings are not your friend when it comes to date time types. The problem is that with the naive definition you’ll get the wrong value. For starters the naive definition looks like this: // GraphQL // type Object { // updated_at String // } // // The Go structure definition struct { // …. UpdatedAt time.Time json:"updated_at" sql:"NOT NULL" } // GoLang GraphQL definition oType := graphql.

Read more

Share Comments

React and GraphQL, plus GoLang

This is some useful inisights I’ve gained, that are worth noting. The code examples are from a gist clone that I’m playing around with, it’s easier to have a “known” problem and target to experiment with software than trying to do both at the same time. React What’s clear is that with appropriate use of PropTypes, you really have a well structured “strict” environment for building components. It’s nice to see that when you pass the wrong parameter into a directive that it fails fast.

Read more

Share Comments

Spark and Avro – in a Docker

These are really cliff notes for the next person, but quite useful. Was working with Spark in a local Docker using the very useful jupyter/docker-stacks, these are really nice to get a fully working Spark installation on your Mac without messing with lots of packages on your local machine. I’m now a big convert of working from Docker since I don’t have to keep on installing and installing things. Basic Jupyter functionality —

Read more

Share Comments

From Angular to React

If you ever looked at my github – public or private you can see that I have settled on a personal template for Angular applications. While I’m sure that there are things that are against some blog post of conventions, it works and gets lots of jobs done. After digging into the performance of our SPA at Tubular I found that we were spending 1.5 seconds rendering the results of an XHR (Ajax) requests to fetch some data.

Read more

Share Comments