Skip to content

Instantly share code, notes, and snippets.

@fuxingloh
fuxingloh / FacebookAppEventsPlugin.java
Created February 13, 2019 06:35
Facebook App Event plugin on Flutter. (Android only)
package app.munch.facebookappevents;
import android.os.Bundle;
import com.facebook.appevents.AppEventsLogger;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.PluginRegistry.Registrar;
@fuxingloh
fuxingloh / DateFormatter.swift
Created March 25, 2018 05:30
Swift date time formatting
let inFormatter = DateFormatter()
inFormatter.dateFormat = "HH:mm"
let outFormatter = DateFormatter()
outFormatter.dateFormat = "HHmm"
"12:00".replacingOccurrences(of: ":", with: "")
let open = inFormatter.date(from: "12:00")
let open1 = outFormatter.string(from: open!)
@fuxingloh
fuxingloh / Image.md
Last active October 14, 2021 01:08
A list of minimal effort image storage, transformation and delivery.

Minimal effort image storage, transformation and delivery.

IaaS

  • Storage: You upload to S3
  • Delivery + Transformation: CloudFront -> API Gateway -> Lambda (Node, Sharp/Thumbor) -> S3
  • CloudFormation: 1 click and fill up some fields.
  • Only predefined S3 Bucket, no dynamic bucket routing.
  • Transformation is encoded into Base64 that can be generated by anyone. You can add Signed URL but it's quite troublesome.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
bcrt1qf5v8n3kfe6v5mharuvj0qnr7g74xnu9leut39r
bcrt1qnkmmcu79glheaqsq3gj4gg4675z3cjzn39dt24
bcrt1qrvt6c60848p8y8vd3pejdt33davp5ka9vxupuj
bcrt1qur2tmednr6e52u9du972nqvua60egwqkf98ps8
bcrt1qxvvp3tz5u8t90nwwjzsalha66zk9em95tgn3fk
bcrt1qdje7lynhsru5t9f2d8u6ckzsvmj8awq4m2qudx
bcrt1qj8wk7gzvaj6hyyupsj0hkuevg97lu23axlkjnm
bcrt1qqjrg9hkffz76fppvvlz5qulleagnhdkvde2xg2
bcrt1q7gqw25aac4k3um5v7n45tg08944nru29hkz9xc
bcrt1q2tke5fa7wx26m684d7yuyt85rvjl36u6q8l6e2
@fuxingloh
fuxingloh / Bip32Patch.test.ts
Created April 5, 2021 06:25
Bip32Path TypeScript
import { BIP32Path } from '../../src/utils/bip32_path'
describe('fromPathArray()', function () {
it('should work with proper input', function () {
const bipPath = BIP32Path.fromPathArray([44 | 0x80000000, 1, 1, 0])
expect(bipPath.toString()).toBe("m/44'/1/1/0")
})
})
describe('toPathArray()', function () {
@fuxingloh
fuxingloh / artifactory.sh
Last active March 9, 2021 13:05
Install Artifactory on AWS AMI and register as service to auto start and then starts it. Test on lightsail. Register as startup script.
#!/bin/bash
# Upgrade to Java-8
sudo yum install java-1.8.0
sudo yum remove java-1.7.0-openjdk
# Installing Artifactory
wget https://bintray.com/jfrog/artifactory-rpms/rpm -O bintray-jfrog-artifactory-rpms.repo
sudo mv bintray-jfrog-artifactory-rpms.repo /etc/yum.repos.d/
sudo yum install jfrog-artifactory-oss
@fuxingloh
fuxingloh / Dockerfile
Last active January 24, 2021 12:53
Nuxt.js & AWS S3 Deployment for Rolling Deployment
FROM node:8.12.0-alpine
# Installing AWS CLI
RUN apk add --no-cache --virtual .build-deps
RUN apk add bash
RUN apk add make && apk add curl && apk add openssh
RUN apk add git
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
RUN apk -Uuv add groff less python py-pip
RUN pip install awscli
@fuxingloh
fuxingloh / intellij-markdown.css
Created December 11, 2020 06:15
Ultra simple white theme markdown for IntelliJ
body {
filter: invert(1);
background: #fff;
}
img {
filter: invert(1);
}
@fuxingloh
fuxingloh / lightsail.sh
Created September 21, 2020 09:19
Setup Docker & Docker-Compose on AWS Lightsail Amaozn Linux 2
sudo yum install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo chkconfig docker on
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose