Category: Technical
Create Multiple SFTP-Only Users On Linux Via Script
Let’s say you need a handful of users for testing out multiple SFTP accounts. Additionally, you do not want the users to be able to login via SSH and you want everything else about the users to be identical (ie, password, content of home directory, etc). The following script will…
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…
Remote Connecting to CPanel MySQL Database via DailyRazor

Many website hosting services provide a tool to manage your websites via CPanel. Normally, your website hosting company will also provide cheap or free database hosting for MySQL. One such example is the award-winning hosting company DailyRazor. Create MySQL Database via CPanel CPanel makes it very easy to create a…
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…