PinnedTable Of ContentsAndroid Android Enable Developer Options Android Extract APK Android File Transfer Android Push Notifications Android Button On Click Android Copy Text To Clipboard Android Replace Fragment Android Base64 Encode/Decode Decompile Android APK Android Kotlin Get WiFi IP Android Kotlin Web Server Android Send SMS With ADB Android Kotlin Trigger Notification Apache Apache…2 min read2 min read
5 days agoAsymmetric EncryptionHow to encrypt/decrypt files with OpenSSL. To check the version of your OpenSSL # command to check openssl version openssl version Generate private key. # generate private key based on AES128 encryption with 1024 bit openssl genrsa -aes128 -out private.pem …Asymmetric2 min readAsymmetric2 min read
Sep 19Ubuntu Format DiskI don’t format disk very often but every time when I needed to format with command line I need to google for it. It is time I add this in my blog/medium for my own reference. # To view all the disks attached # I am formatting /dev/sdb lsblk #…Ubuntu2 min readUbuntu2 min read
Apr 19Prometheus Blackbox ExporterHow to setup and run a Prometheus Blackbox exporter in few seconds. Assuming you have Docker Desktop already installed in your Mac, if not read macOS Install Docker Desktop I previously wrote. …Prometheus2 min readPrometheus2 min read
Apr 19macOS Install Docker DesktopGo to https://docs.docker.com/desktop/install/mac-install/ and choose whether your Mac is using Apple Silicon or Intel chip. To find out, at the top left corner of your Mac, click the apple icon and choose “About This Mac” If it is an Intel chip.Macos2 min readMacos2 min read
Jan 15Guava CacheSpring Boot starter cache is able to cache REST API response but expiring the cache will be troublesome to implement. Guava cache will solve this problem. Example below is a prototype from scratch on how to implement Guava cache.Cache2 min readCache2 min read
Jan 11Karate Automation Shared FunctionThere are several ways that you could create a common reusable shared function in Karate Test Automation but I method I prefer is to write it in Java and then call it from the feature file. By writing it in Java, it is easier to step through to debug if the function you are building has bugs in it. I’ve created a Java file named MyRandom.java and placed it at the location shown in the screenshot below.Karate2 min readKarate2 min read
Jan 1MacOS Install MavenI’m assuming JDK or JRE is installed and configured but currently missing Maven. To setup first download the binary tar.gz archive from https://maven.apache.org/download.cgi Next deflate it to your preferred location. I like to put mine at ~/Documents/ mv apache-maven-3.8.7-bin.tar.gz ~/Documents cd ~/Documents tar -xzvf apache-maven-3.8.7-bin.tar.gz Now setup your PATH by editing .zprofile at home folderMvn1 min readMvn1 min read
Jan 1Karate Testing QuickstartI have been trying to automate and chaining POST, GET, PUT API calls with bash curl and ruby curb. Bash was terrible and involves a lot of coding and files to avoid escaping of special characters like double quote. …Karate2 min readKarate2 min read
Oct 31, 2022Apache Tomcat Health CheckNormally Apache Tomcat comes with the default index.html file. So if you go to http://localhost:8080/index.html with your web browser it will serve you the index.html file with HTTP status 200. At the terminal, the HTTP status can be obtained with the following command. curl -sI http://localhost:8080/index.html|head -1|awk '{print $2}' This works if the Apache Tomcat is serving a file. What if it is a load balancer that listens to port 8080 but does not serve any files. To test if it is working and listening to port 8080. Use the following command.Apache1 min readApache1 min read