My house is heated by an ancient ground source heat pump that every now and then has had various problems. Being a 40-year-old piece of equipment, it doesn’t have any of the electronics that all the new heat pumps come with. Since getting data about the operation of the pump is always useful when trying… Continue reading Temperature monitoring solution based on Raspberry Pi
Category: IT
EC2 instance creation fails with “InvalidParameterCombination: The parameter groupName cannot be used with the parameter subnet”
For the second time I ran into this same issue. When using RunInstancesCommand from the AWS SDK for Javascript, a certain parameter combination results in a misleading and confusing error message: “InvalidParameterCombination: The parameter groupName cannot be used with the parameter subnet” There is no parameter “groupName” in my request. The problem was that the… Continue reading EC2 instance creation fails with “InvalidParameterCombination: The parameter groupName cannot be used with the parameter subnet”
A story of a web server installation
A recent interaction with AWS support reminded me of something that happened to me and a co-worker some years ago in a previous job. The people and companies in the story have been anonymized, but I’m “Eric”. I (“Eric”) worked for the online development team of a large media company (The Company) “somewhere in Europe”.… Continue reading A story of a web server installation
AccessDeniedException: Access to KMS is not allowed
So that happened. And I spent much longer than should’ve been necessary to figure it out. What I was trying to do was this: Create a symmetric AWS KMS CMK Use that to generate a couple of asymmetric key pairs Save those key pairs to Secrets Manager, using the above CMK as the encryption key… Continue reading AccessDeniedException: Access to KMS is not allowed
Explicit workspaces for Terraform
NOTE 2019-06-26: The original way this check worked with Terraform 11 no longer works with Terraform 12, as v12 checks that attribute names are valid. The code has been updated accordingly. Instead of a null resource, we now use a local_file data source with Terraform 12. I’ve recently begun working with Terraform at work to… Continue reading Explicit workspaces for Terraform
Elastic Beanstalk applications using two ports and Websockets
This blog post describes how to set up and deploy an AWS Elastic Beanstalk application written in Node.js that listens to both regular HTTP requests and Websocket connections. TL;DR: Download the sample application, and deploy it into an EB environment created using eb create alb-test-app-dev1 –elb-type application. By default, applications in Elastic Beanstalk only listen… Continue reading Elastic Beanstalk applications using two ports and Websockets
Useful paths for debugging Elastic Beanstalk deployments
Sometimes it can be painful to try and get an Elastic Beanstalk application to deploy cleanly. In order to effectively debug the issues, it’s necessary to SSH into the instance. This requires that you’ve added a Key Pair in the EB environment configuration before launching the instance(s). The address to SSH to can be found… Continue reading Useful paths for debugging Elastic Beanstalk deployments
Setting up a Raspberry Pi from scratch
Getting started with a Raspberry Pi is basically really easy: All you need to do is get a disk image and burn it to an SD card. But of course, that’s just the very basic starting point. Theres’s plenty of setup work left to do after that, so I decided to gather it all in… Continue reading Setting up a Raspberry Pi from scratch
Forwarding SSH keys to a Vagrant box
Scenario: A new Linux box has been installed with Vagrant, and now I must git clone a non-open repository to the server, so I need to forward my SSH keys to the root user on the virtual server. 1) Add the following line to your Vagrantfile: config.ssh.forward_agent = true 2) Once you’ve “vagrant ssh”‘d to… Continue reading Forwarding SSH keys to a Vagrant box
Filtering out outliers in Arduino ultrasonic distance sensor data
A friend of mine asked me how he could remove invalid data points from the measurements made by the ultrasonic range finder in his Arduino project. A quick search got me to this page, but some of the links were dead and there was no complete example on the page anyway, so I decided to… Continue reading Filtering out outliers in Arduino ultrasonic distance sensor data