Skip to content

Instantly share code, notes, and snippets.

View taniarascia's full-sized avatar
💾

Tania Rascia taniarascia

💾
View GitHub Profile
@taniarascia
taniarascia / fakeNotes.json
Last active February 13, 2024 07:48
fake initial state test
[
{
"id":"shfksjh32hrkwefhkj3h",
"text":"# Example default note\n\n- [Laconia](https://laconia.dev)\n- [Chip8.js](https://github.com/taniarascia/chip8",
"created":"",
"lastUpdated":""
},
{
"id":"893hfehfkjshkj233",
"text":"# Another something else\n\nEveryone loves notes",
@taniarascia
taniarascia / async.js
Last active February 13, 2024 07:48
async
method1 = async () => {
const things = await getThings()
for (let thing of things) {
const stuff = await getStuffFromThing(thing)
console.log(stuff) // works
}
}
method2 = async () => {
@taniarascia
taniarascia / demorgan.js
Created February 8, 2019 19:25
DeMorgans Theorum
(this == that || these == those) is (this != that && these != those)
!(a && b) == (!a || !b)
!(a || b) == (!a && !b)
@taniarascia
taniarascia / useful.sh
Last active February 13, 2024 07:49
Useful random stuff
# open all files named package.json within a directory
find . -name package.json -exec code {} +
# don't open or jump anywhere
<a href="#!">
# get an object from console
> store as a global variable
JSON.stringify(temp1)
@taniarascia
taniarascia / sort.js
Created January 2, 2019 20:43
Compare object of arrays by property include nulls and secondary property
function compareProperty(a, b) {
return a || b ? (!a ? 1 : !b ? -1 : a.localeCompare(b)) : 0
}
function myComparer(a, b) {
return compareProperty(a.jewelerName, b.jewelerName) || compareProperty(a.name, b.name)
}
// Flatten array
const flattened = [].concat.apply([], tableAssignmentsLookup)
@taniarascia
taniarascia / INSTRUCTION_SET.js
Last active February 13, 2024 07:49
Instruction Set
// 0nnn - SYS addr
// 00E0 - CLS
// 00EE - RET
// 1nnn - JP addr
// 2nnn - CALL addr
// 3xkk - SE Vx, byte
const INSTRUCTION_SET = [
{
name: 'SYS',
@taniarascia
taniarascia / RomBuffer.js
Last active February 13, 2024 07:49
RomBuffer.js
class RomBuffer {
constructor(filename) {
// 16-bit big endian values
this.data = []
let buffer = fs.readFileSync(filename)
if (buffer.length % 2 !== 0) throw new Error('Epic ROM Fail')
for (let i = 0; i < buffer.length; i += 2) {
this.data.push((buffer[i] << 8) | (buffer[i + 1] << 0))
@taniarascia
taniarascia / hex16.js
Last active February 13, 2024 07:49
hex16.js
// echo -en "\x01\x02\x03\x04\x05\x06hello world\x07\x08\x09\x10goodbye world\x11\x12\x13\x14\x15" > data
let fs = require('fs')
let file = process.argv.slice(2)[0]
function hexdump(file) {
let buffer = fs.readFileSync(file)
let lines = []
for (let i = 0; i < buffer.length; i += 16) {
@taniarascia
taniarascia / hexdump.js
Last active February 13, 2024 07:49
Hex dump in JavaScript (Node.js)
const fs = require('fs')
const filename = process.argv.slice(2)[0]
function hexdump(filename) {
let buffer = fs.readFileSync(filename)
let lines = []
for (let i = 0; i < buffer.length; i += 16) {
let address = i.toString(16).padStart(8, '0') // address
let block = buffer.slice(i, i + 16) // cut buffer into blocks of 16
@taniarascia
taniarascia / read.js
Last active February 13, 2024 07:49
Read data
// echo -en "\x01\x02\x03hello" > data
// node read.js data
let fs = require('fs')
let file = process.argv.slice(2)[0]
let buffer = fs.readFileSync(file)
for (let value of buffer) {
let decimal = value
let hex = value.toString(16)