Skip to content

Instantly share code, notes, and snippets.

View ryardley's full-sized avatar

гλ ryardley

View GitHub Profile
@ryardley
ryardley / machine.js
Last active April 19, 2021 13:07
Generated by XState Viz: https://xstate.js.org/viz
const fns = {
}
async function attemptConnection() {
return "Thanks!"
}
async function attemptPayment() {
throw new Error('Crapp!!')
@ryardley
ryardley / plantuml_server_url_decode.py
Created February 9, 2020 00:10 — forked from dyno/plantuml_server_url_decode.py
plantuml server url decoder encoder
# https://plantuml.com/text-encoding
# https://github.com/dougn/python-plantuml/blob/master/plantuml.py#L64
import zlib
import base64
maketrans = bytes.maketrans
plantuml_alphabet = string.digits + string.ascii_uppercase + string.ascii_lowercase + '-_'
base64_alphabet = string.ascii_uppercase + string.ascii_lowercase + string.digits + '+/'
@ryardley
ryardley / plant_uml_decoder.py
Last active August 27, 2023 08:44
PlantUML url encryption decoder
# Forked from https://gist.github.com/dyno/94ef6bb9644a88d6981d6a1a9eb70802
# https://plantuml.com/text-encoding
# https://github.com/dougn/python-plantuml/blob/master/plantuml.py#L64
import zlib
import base64
import string
plantuml_alphabet = string.digits + \
string.ascii_uppercase + string.ascii_lowercase + '-_'
@ryardley
ryardley / app.jsx
Last active March 3, 2019 04:53
Creating new handlers every render can cause performance problems.
function App() {
const [count, setCount] = useState(0);
// handler will be created on every render
const handleClick = () => {
setCount(count + 1);
};
return (
<SomePureComponent count={count} onClick={handleClick} />
# ./android/app/src/main/jni/Application.mk
APP_STL := c++_static
# ./android/app/src/main/jni/Android.mk
# Set up paths
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Debug mode
NDK_DEBUG=1
# Specify C++ flags
@ryardley
ryardley / build.gradle
Created January 5, 2019 10:19
Alter build.gradle
android {
// ...
defaultConfig {
// ...
// the following configures ndk-build to build a "helloworld" module
ndk {
abiFilters "armeabi-v7a", "x86"
moduleName "helloworld"
ldLibs "log"
}
apply plugin: "com.android.application"
import com.android.build.OutputFile
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
// ./android/app/src/main/java/com/cppreactnative/helloworld/HelloWorldModule.java
package com.cppreactnative.helloworld;
import com.facebook.react.bridge.Promise;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
public class HelloWorldModule extends ReactContextBaseJavaModule {