Category: Programming
Map Certain JSON Fields Into a Concatenated String to Create Filenames
Let’s say you have a JSON file and in it is an array of values. Each value has a few properties you need to pick from to ultimately create a file name. Here is an example using bash, jq, in2csv and xargs that can be strung together in one line…
JUnit Testing a Map of Maps – Map<String, Map<String, Object>>
Bash Loop Through Sequence with a Gap or Skipping Numbers
Let’s say you want iterate over a series of sequential numbers with Bash. If so, then you could do the following: Now, let’s say you want to loop over a sequence of numbers, but you want to skip over by 10 each time: Supposedly, this syntax should work, but it…
Spring Data Pageable JPA Filter Query with 3 of 4 Parts of Composite Key via a Query Method
Let’s say you are using Spring Data and you have a “Composite Key” (ie, a tuple or EmbeddedId). Generally, you may want to query by the whole composite key (ie, by ID), which is generally fairly straightforward with a JPA “query method” (still not sure that is the official name)….
Allow BitBucket Webhooks Access to Jenkins on an AWS EC2 instance behind a Private VPC

Let’s say you want to let BitBucket notify Jenkins to do a build every time a PR is created or a branch is updated. You can leverage the BitBucket webhooks to do this. If so you will want to allow traffic from the BitBucket CIDR addresses here: https://support.atlassian.com/organization-administration/docs/ip-addresses-and-domains-for-atlassian-cloud-products/#AtlassiancloudIPrangesanddomains-OutgoingConnections If you…
Convert any Image into ASCII Art for a Custom Spring Boot Banner

If you’d like to override the standard Spring Boot banner with something custom, then you’ve come to the right place. Find any image you want to convert to ASCII art. Then, download the following Git Hub project https://github.com/qeesung/image2ascii Now, you can run a script like the following: You’ll see something…
Using AWS CloudFormation to Deploy a WebSite with AWS S3 and AWS CloudFront
This will use AWS CloudFormation (ie, Infrastructure as Code) to create an S3 Bucket with a good bucket policy and CORS configuration. Also, it will setup the CloudFront distribution to point at this S3 Bucket. Lastly, it will create an AWS Route 53 record set for the website. You will…
DevOps: Invalidating AWS CloudFront Cache during AWS CodeBuild
Let’s say you are using AWS CloudFront with AWS S3 to host a website. Then, let us assume that your DevOps process updates the website in S3 each time a new change is released. You may experience issues with caching where you do not see your latest changes immediately. One…
AWS DLM LifeCycle Policy for Creating Snapshots for EBS Volumes on an EC2 Instance
It seems AWS CloudFormation does not readily support creating EBS Volume Snapshots via BlockDeviceMappings‘s EBS property. Luckily there is an alternative approach that allows you to setup a DLM LifeCycle Policy which scans for EC2 Instance Tags (apparently there is also no support to really tag the Volumes directly via CloudFormation that…