Skip to content

Instantly share code, notes, and snippets.

View doridori's full-sized avatar

Dorian Cussen doridori

View GitHub Profile
@doridori
doridori / reduce.kt
Last active January 20, 2023 19:30
Application as a function blog post code
fun reduce(action: Action, state: State): Effect
@doridori
doridori / RuntimeKernel.kt
Last active January 5, 2022 20:20
Runtime Centric Thinking Blog post snippts
val commandHandler: CommandHandler
var runtimeData: RuntimeData
fun RuntimeKernel.receive(action) {
//the runtime maintains its own main loop
marshallToRuntimeMainThread {
val transition = reduce(action, runtimeData)
runtimeData = transition.runtimeData
//effect system, describes commands and runtimeData state change operations
val transitionOperations = describe(transition)
@doridori
doridori / explicit_iv.java
Last active September 14, 2023 14:24
Beware of the default IV blog post example
public byte[] encrypt(byte[] in)
{
...
byte[] iv = new byte[IV_LENGTH];
new SecureRandom().nextBytes(iv);
cipher.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(iv));
byte[] cipherBytes = cipher.doFinal(s.getBytes("UTF-8"));
return concat(iv, cipherBytes);
}
@doridori
doridori / DaggerPilotStack.java
Created March 31, 2017 12:53
Example of a Dagger wrapped pilot stack for Activity/Stack scoped DI.
/**
* A PilotStack that also holds a ref to a Dagger Component. This is useful for easy Activity-Scoped DI as the PilotStack has to already live
* on past the host-Activities config-change events by some mechanism (project dependent).
*
* @param <D> A Dagger Component to supply all deps for this stacks frames.
*/
//todo unused - here for dagger activity scope refactor (See trello)
public class DaggerPilotStack<D> extends PilotStack
{
D scopedDaggerComponent;
@doridori
doridori / 1
Last active January 15, 2018 13:06
For Adb shell blogpost
#ps
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 4524 908 SyS_epoll_ 0000000000 S /init
shell 503 1 9952 700 0000000000 S /sbin/adbd
shell 17432 29176 5744 1156 0 7f8b5d6c7c R ps
shell 29176 503 5800 1444 sigsuspend 7f9663f37c S /system/bin/sh
@doridori
doridori / build.gradle
Last active April 1, 2024 21:48
Incrementing android VersionCode via gradle
//in your root build.gradle
//--------- Version Increment ----------//
//can call this like `./gradlew incrementVersionCode build`
task incrementVersionCode {
description = "Increments the version code in the version.properties file"
doLast {
File versionPropsFile = file('version.properties')
### Keybase proof
I hereby claim:
* I am doridori on github.
* I am dori (https://keybase.io/dori) on keybase.
* I have a public key whose fingerprint is CC45 C7F9 5462 AD1D 729C CA47 83C4 30D2 BC60 9EB5
To claim this, I am signing this object:
@doridori
doridori / ex1.java
Last active August 29, 2015 14:20
Java: Bitshifting Bytes post code samples
byte aByte = -112; //0b1001_0000
byte bByte = (byte) (aByte >> 4); //would expect 0b1111_1001 (-7)
System.out.println(bByte); //-7
byte cByte = (byte) (aByte >>> 4); //would expect 0b0000_1001 (9)
System.out.println(cByte); //-7
@doridori
doridori / DaggerHelper.java
Last active May 14, 2022 10:01
Testing with Dagger, Retrofit & MockWebServer gists
/**
* Allows easy swapping of production and test modules to satisfy Dagger dependencies
*/
public class DaggerHelper
{
//DAGGER
private static ObjectGraph sObjectGraph;
private static final List<Object> productionModules;
@doridori
doridori / GsonObjectPersister.java
Created June 16, 2014 16:34
Standalone Gson Persister for RoboSpice
public final class GsonObjectPersister<T> extends InFileObjectPersister<T>
{
// ============================================================================================
// FIELDS
// ============================================================================================
private final Gson gson;
// ============================================================================================
// CONSTRUCTOR