Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View primaryobjects's full-sized avatar

Kory Becker primaryobjects

View GitHub Profile
@primaryobjects
primaryobjects / ff2-utility.au3
Last active February 25, 2024 21:28
Automatic Level 16 Spells in Final Fantasy II using Emulator for PS1
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$count = 125
$label = 0
$button = 0
Func _WriteErrorLog($ErrorMessage)
FileWriteLine(@ScriptDir & "\" & @ScriptName & ".log", @HOUR & ":" & @MIN & ":" & @SEC & ": " & $ErrorMessage)
@primaryobjects
primaryobjects / autility.au3
Last active February 20, 2024 20:43
AutoIt utility for easier SendKey, commands. Automate Final Fantasy II 2 level-up, ff2
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$count = 125
$label = 0
$button = 0
Func _WriteErrorLog($ErrorMessage)
FileWriteLine(@ScriptDir & "\" & @ScriptName & ".log", @HOUR & ":" & @MIN & ":" & @SEC & ": " & $ErrorMessage)
@primaryobjects
primaryobjects / HomeController.cs
Created January 29, 2024 04:18
Example of reversing a linked list in ASP .NET MVC.
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using ReverseLinkedListApp.Models;
namespace ReverseLinkedListApp.Controllers;
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
@primaryobjects
primaryobjects / content.js
Last active February 20, 2024 02:59
How to download multiple files and images in a Chrome extension.
// in your extension's background script
chrome.browserAction.onClicked.addListener(function(tab) {
// inject the content script to the current tab
chrome.tabs.executeScript(tab.id, {file: 'content.js'});
});
// listen for messages from the content script
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
if (message.action == 'getImages') {
// message.data is an array of image urls
/**
* const PriorityQueue = require('priority-queue-js');
*/
class Solution {
/**
* @param {number} n
* @param {number[][]} edges
* @param {number} src
* @returns {Object}
@primaryobjects
primaryobjects / insertionSort.py
Last active December 28, 2023 16:56
Insertion sort in Python with list history. https://neetcode.io/problems/insertionSort
from typing import List
from collections import namedtuple
Pair = namedtuple('Pair', ['key', 'value'])
# Definition for a pair.
# class Pair:
# def __init__(self, key: int, value: str):
# self.key = key
# self.value = value
class Node {
constructor(value, next) {
this.value = value;
this.next = next;
}
}
class LinkedList {
constructor() {
this.head = null;
@primaryobjects
primaryobjects / dynamicarr.js
Created December 27, 2023 20:58
Design Dynamic Array (Resizable Array) https://neetcode.io/problems/dynamicArray
class DynamicArray {
/**
* @constructor
* @param {number} capacity
*/
constructor(capacity) {
this.data = new Array(capacity);
this.num_elements = 0;
}
// Solved by calculating difference between each point diagonally and straight remainder.
const minTimeToVisitAllPoints = (points: number[][]): number => {
let moves = 0;
for (let i=1; i<points.length; i++) {
const dist_x = Math.abs(points[i-1][0] - points[i][0]);
const dist_y = Math.abs(points[i-1][1] - points[i][1]);
const dist_diag = Math.min(dist_x, dist_y);
const dist_straight = Math.abs(dist_y - dist_x);
@primaryobjects
primaryobjects / addBinary.js
Last active December 24, 2023 22:55
Add two binary strings. Solved in TypeScript. https://leetcode.com/problems/add-binary
// Add two binary strings directly by using a carry bit.
const addBinary = (a:string, b:string): string => {
let result: string = '';
let i=0;
let carry = 0;
while (i < a.length || i < b.length) {
let a_bit = '0';
let b_bit = '0';
let bit = 0;