wesley tanaka


UnsupportedJavaRuntimeException.assertUsingVersion in Android Studio


After upgrading Android Studio to version 2.3, you may get:

Decoding binary data in logstash


By default, logstash stores the "message" field as a unicode string (in this example, we avoid including a '\x0a' byte to keep the pipeline configuration shorter):

Downloading Ansible galaxy roles in parallel


To always ensure that I have the latest version of a role from Ansible Galaxy, I've found I needed to use both the --force option (to re-download even if the directory already exists) and the --ignore-errors option (to keep going through all the roles). Overall, the command line ends up looking like this:

ansible-galaxy install --force --ignore-errors -r priv/ansible/requirements.txt -p priv/ansible/roles/

letsencrypt / certbot incomplete certificate chain error


Some tutorials on enabling HTTPS in Apache recommend adding this in the <VirtualHost *:443> configuration block:

SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/wtanaka.com/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/wtanaka.com/privkey.pem"

When this configuration is used with Apache versions prior to 2.4.8, Apache is not able to parse the intermediate CA out of a chain certificate.

Installing Kano OS on Raspberry Pi 3 from Linux


Some notes about installing Kano OS on a Raspberry Pi 3

Unicode is Base 1114112


During my years as an engineering leader, I've worked with developers who do not have a mental model of Unicode beyond "they're special characters". This sometimes causes them to create and run into difficulty solving bugs due to confusion between bytes, UTF-8, and Unicode code points.

What is a variable?


You can visualize a variable1 as a box that contains a thing2. For example, this variable called x contains an integer 0:

x = 0

This other variable called most_recent_email contains a pointer (more below) which we draw with an arrow.

Using Packer and Ansible (instead of Dockerfile) to create Docker Images


Docker contains a feature, the Dockerfile, for automating the creation of images. However, packer can also be used to create docker images, and does so in a way that's generalizes to creating virtual machine or cloud images too.

Here is an example packer file that will create a docker image using an ansible playbook, and tag the image so that you can use it locally.

Parallel Stream Processing with Apache Beam, Flink, and Kafka


Apache Beam is a programming model and an associated SDK that lets you write software programs that work with large or possibly unbounded data sets. Beam code is reminiscent of using lazy evaluation in functional programming languages to operate on infinitely large data structures.

For example, this code reads lines forever from a Kafka topic, groups the lines into windows of 10 seconds, counts the number of instances of each word in the group, and outputs the words with their counts to another Kafka topic.

What is Apache Beam?


Apache Beam is a formal definition of a few core data structures:

Syndicate content
by Wesley Tanaka