Skip to content

Instantly share code, notes, and snippets.

View mitchwongho's full-sized avatar
:atom:
Build > Test > Deploy

Mitchell Wong Ho mitchwongho

:atom:
Build > Test > Deploy
View GitHub Profile
@mitchwongho
mitchwongho / dynamodb.java
Created May 8, 2021 09:48
#DynamoDB #JavaSDK #AWS
private Result getPeopleByGSI(@NotNull final String indexedReference, final String... attributes) {
// make reference the index
final DynamoDbIndex<People> index = DynamoUtil.peopleTable.index("someIndexedAttribute-index");
// Apply value to the indexed attribute (as the PartitionKey)
final QueryConditional queryConditional = QueryConditional.keyEqualTo(
Key.builder().partitionValue(indexedReference).build());
// Compose Filter expressions
final List<String> expressions = new ArrayList<>();
final Expression.Builder expressionBuilder = Expression.builder();
@mitchwongho
mitchwongho / osmc_expressvpn_openvpn.md5
Last active January 27, 2024 17:06
Setting Up TunnelBear or ExpressVPN (using OpenVPN) On OSMC
# Setting Up ExpressVPN (OpenVPN) On OSMC
## References
- [Brian Hornsby' Kodi OpenVPN plugin](http://brianhornsby.com/blog/how-to-setup-your-vpn-client)
- [Install and Configure OpenVPN on OSMC/Kodi](https://nerddrivel.com/2016/03/25/install-and-configure-openvpn-on-osmckodi/)
- [ExpressVPN - High speed, ultra secure, and easy to use. Instant setup.](https://www.expressvpn.com/)
- [[HOWTO] OSMC/Rasp Pi as OpenVPN client](https://discourse.osmc.tv/t/howto-osmc-rasp-pi-as-openvpn-client/1844/71)
## Steps
@mitchwongho
mitchwongho / Docker
Last active November 29, 2023 06:36
Docker 'run' command to start an interactive BaSH session
# Assuming an Ubuntu Docker image
$ docker run -it <image> /bin/bash
@mitchwongho
mitchwongho / HelloWorld.kt
Last active November 6, 2023 15:03
A trivial Gradle build file for a Kotlin application
fun main(args: Array<String>) {
MyFirstClass("Hello, My First Class").out()
}
class MyFirstClass(val message: String) {
fun out() {
println(message)
}
}
@mitchwongho
mitchwongho / android-generate-keystores.md
Created May 17, 2021 10:37 — forked from henriquemenezes/android-generate-keystores.md
Android: Generate Release/Debug Keystores

Android: Generate Release/Debug Keystores

Generate Keystores

Debug Keystore

$ keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 -dname "C=US, O=Android, CN=Android Debug"
@mitchwongho
mitchwongho / brew-ruby.txt
Created May 13, 2021 09:40
Brew Caveat: Ruby
==> ruby@2.7
By default, binaries installed by gem will be placed into:
/usr/local/lib/ruby/gems/2.7.0/bin
You may want to add this to your PATH.
ruby@2.7 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have ruby@2.7 first in your PATH, run:
@mitchwongho
mitchwongho / git-pull.txt
Last active May 7, 2021 08:58
CodeCommit - Git Checkout - Detached HEAD
hint: Pulling without specifying how to reconcile divergent branches is
hint: discouraged. You can squelch this message by running one of the following
hint: commands sometime before your next pull:
hint:
hint: git config pull.rebase false # merge (the default strategy)
hint: git config pull.rebase true # rebase
hint: git config pull.ff only # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
G28 ; Home all axes
G29 ; Auto bed-level (BL-Touch)
;G1 Z15.0 F6000 ;Move the platform down 15mm
;Prime the extruder
G92 E0
G1 F200 E3
G92 E0
; Linear advance
M900 K0.11
@mitchwongho
mitchwongho / raspberry_pi_openvpn_tips.md
Created July 13, 2019 20:33
Raspberry Pi OpenVPN Tips

OpenVPN host config files:

$ cd /etc/openvpn

OpenVPN config file:

$ sudo nano /etc/default/openvpn
@mitchwongho
mitchwongho / DoubleEpsilonCompare.java
Created October 16, 2015 11:01
An example of comparing two double values with an epsilon.
/**
* Compare two {@code double} values
* @param a some <i>double</i> value
* @param b some other <i>double</i> value
* @return {@code true} if the two values are equal
*/
public static boolean equals (final double a, final double b) {
if (a==b) return true;
return Math.abs(a - b) < EPSILON; //EPSILON = 0.0000001d
}