Skip to content

Instantly share code, notes, and snippets.

View joeldenning's full-sized avatar
🎯
Focusing

Joel Denning joeldenning

🎯
Focusing
View GitHub Profile
@joeldenning
joeldenning / Steps.md
Last active December 17, 2022 21:51
K Rule Odroid Steps

Steps to create offline emulator with Odroid

This gist assumes you have an odroid n-2, micro sd card, usb keyboard/mouse, power cable, wired internet, HDMI cable, computer monitor, and a Windows computer (with some way to connect the micro sd card).

Part 1 - On another computer (I use Windows)

(See https://ameridroid.com/blogs/ameriblogs/flashing-emmc-or-microsd-card for instructions)

  1. Download and install balenaEtcher - https://www.balena.io/etcher/
  2. Download Ubuntu operating system image for odroid. The MATE desktop lets you use a mouse. The file you download should have a .img.xz extension. https://wiki.odroid.com/odroid-n2/os_images/os_images
@joeldenning
joeldenning / ideas.tsx
Last active October 7, 2022 19:08
Exploring some ideas
import React, { ChangeEvent, FormEvent } from "react"
import { Trigger, useActions } from './Actions'
function Form(props: FormProps) {
const [state, act, modify, respond] = useActions<FormState>(props)
respond(Trigger.Mount, fetchCountries)
respond(Trigger.Change, updateProvinceList, state.birthCountry?.countryCode)
return (
@joeldenning
joeldenning / README.md
Created September 20, 2022 17:43
Odroid N-2 SSB64 emulator setup
  1. Install dependencies
sudo apt install -y libsdl2-dev libsdl2-2.0-0 libpng-dev zlib1g-dev nasm
@joeldenning
joeldenning / use-action.js
Created September 22, 2021 23:00
use imperative action
function useImperativeAction(action) {
const [status, setStatus] = useState(1);
useEffect(() => {
// negative means just cancel without re-running
if (status >= 0) {
return action();
}
}, [status]);
import { useEffect, useState } from 'react';
function ShowUsers() {
const [searchValue, setSearchValue] = useState("")
const [fetchUser, user] = useActionState(fetchUserAction)
return (
<>
<input type="text" value={searchValue} onChange={evt => setSearchValue(evt.target.value)}></input>
<button onClick={() => fetchUser(searchValue)}></button>
Netplay lag
Not sleeping
Netplay lag
Not sleeping
Netplay lag
Not sleeping
Netplay lag
Not sleeping
Netplay lag
Not sleeping
Process: mupen64plus-gui [57443]
Path: /Applications/mupen64plus-gui.app/Contents/MacOS/mupen64plus-gui
Identifier: com.yourcompany.mupen64plus-gui
Version: 0
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: mupen64plus-gui [57443]
User ID: 501
Date/Time: 2020-12-16 22:29:38.688 -0700
Process: mupen64plus-gui [28991]
Path: /Applications/mupen64plus-gui.app/Contents/MacOS/mupen64plus-gui
Identifier: com.yourcompany.mupen64plus-gui
Version: 0
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: mupen64plus-gui [28991]
User ID: 501
Date/Time: 2020-12-08 17:57:18.513 -0700
@joeldenning
joeldenning / layout.json
Last active November 20, 2020 18:23
json-layout
{
"routes": [
{
"type": "div",
"attrs": [
{
"name": "class",
"value": "container"
}
],
Process: mupen64plus-gui [4164]
Path: /Users/USER/*/mupen64plus-gui.app/Contents/MacOS/mupen64plus-gui
Identifier: com.yourcompany.mupen64plus-gui
Version: 0
Code Type: X86-64 (Native)
Parent Process: ??? [4160]
Responsible: Electron [347]
User ID: 0
Date/Time: 2020-10-23 20:58:10.629 -0600