Skip to content

Instantly share code, notes, and snippets.

View ryanhanwu's full-sized avatar
🎯
Focusing

Ryan W ryanhanwu

🎯
Focusing
View GitHub Profile
@ryanhanwu
ryanhanwu / .cursorrules
Created May 31, 2025 23:54 — forked from boxabirds/.cursorrules
Rock solid: turn Cursor into a rock-solid software engineering companion
# Project Policy
This policy provides a single, authoritative, and machine-readable source of truth for AI coding agents and humans, ensuring that all work is governed by clear, unambiguous rules and workflows. It aims to eliminate ambiguity, reduce supervision needs, and facilitate automation while maintaining accountability and compliance with best practices.
# 1. Introduction
> Rationale: Sets the context, actors, and compliance requirements for the policy, ensuring all participants understand their roles and responsibilities.
## 1.1 Actors
@ryanhanwu
ryanhanwu / .env
Created February 23, 2021 20:49 — forked from joshdholtz/.env
Using Dotenv and environment variables with fastlane
STUFF = this is some stuff
@ryanhanwu
ryanhanwu / MinHeap.js
Last active February 6, 2021 19:29
Heap
class MinHeap {
constructor() {
this.heap = [];
}
getMin() {
return this.heap[0];
}
insert(node) {
/* Inserting the new node at the end of the heap array */
this.heap.push(node);
@ryanhanwu
ryanhanwu / Fastfile
Created February 2, 2021 19:16
Build React Native Android App and submit to Firebase App Distribution via Github Actions
default_platform(:android)
platform :android do
desc "Deploy a new version to the Firebase App Distribution"
lane :beta_ci do
gradle(task: "clean assembleRelease")
firebase_app_distribution(
app: "1:123123123123123123123", #https://console.firebase.google.com/u/2/project/
service_credentials_file: "./firebase-app-distribution.json", # Created from android_workflow.yml steps
@ryanhanwu
ryanhanwu / index.js
Created January 29, 2021 03:01
Hubspot Code Assessment
const fetch = require('node-fetch');
const dayjs = require('dayjs')
const DATASET_API = "https://candidate.hubteam.com/candidateTest/v3/problem/dataset?userKey=USER_KEY"
const RESULT_API = "https://candidate.hubteam.com/candidateTest/v3/problem/result?userKey=USER_KEY"
const findIdealStartDatePartners = (country, partners) => {
let partnersByDate = {}
let mostAvailDate = null
let maxAttendee = -1
@ryanhanwu
ryanhanwu / index.js
Created January 22, 2021 19:17
A gist for first Tailwind CSS page
export default function Home() {
return (
<main className="container mx-auto px-4">
<div>
<section className="py-12 px-4 text-center">
<div className="w-full max-w-2xl mx-auto">
<span className="text-sm font-semibold">Next.js + Tailwind CSS + Firebase Cloud Functions + Github Actions</span>
< h2 className = "text-5xl mt-2 mb-6 leading-tight font-semibold font-heading" >Project Header</h2>
<a className="text-indigo-600 hover:underline" href="#">Learn more &raquo;</a>
</div>
@ryanhanwu
ryanhanwu / Makefile
Created May 5, 2020 15:03 — forked from jonschlinkert/Makefile
Simple Makefile to build, run, tag and publish a docker containier to AWS-ECR
# import config.
# You can change the default config with `make cnf="config_special.env" build`
cnf ?= config.env
include $(cnf)
export $(shell sed 's/=.*//' $(cnf))
# import deploy config
# You can change the default deploy config with `make cnf="deploy_special.env" release`
dpl ?= deploy.env
include $(dpl)
const csv = require('csv-parser');
const fs = require('fs');
const endPoints = {}
console.log("digraph g{")
console.log("rankdir=LR;")
console.log("node [style=filled];")
fs.createReadStream('data.csv')
.pipe(csv())
.on('data', (row) => {
@ryanhanwu
ryanhanwu / setup.sh
Created January 16, 2020 18:52
#Ubuntu Setup
## Update Hostname
```
sudo hostname YOUR_HOSTNAME
# UPDATE your hostname and change it to YOUR_HOSTNAME
vim /etc/hostname
# Update your hosts
echo "127.0.0.1 YOUR_HOSTNAME" >> /etc/hosts