Skip to content

Instantly share code, notes, and snippets.

View YuanLiou's full-sized avatar
:octocat:
a museum enthusiast.

Jui Yuan Liu (Ray Yuan) YuanLiou

:octocat:
a museum enthusiast.
View GitHub Profile
@YuanLiou
YuanLiou / user_profile.ps1
Last active March 14, 2025 02:19
Ray's PowerShell settings 1.0.1
# Oh my posh
oh-my-posh init pwsh --config "~/.config/ohmyposh/omp_theme.toml" | Invoke-Expression
# Custom Modules
Enable-PoshTooltips
Import-Module posh-git
Install-Module -Name posh-alias
Import-Module Terminal-Icons
# Enable Auto complete
@YuanLiou
YuanLiou / tmux.conf
Last active January 4, 2025 06:07
Ray's tmux Config 0.2
# Tmux Plugins Manager
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# plugins: Vim Tmux navigation
set -g @plugin 'christoomey/vim-tmux-navigator'
# plugins: tmux-yank
set -g @plugin 'tmux-plugins/tmux-yank'
@YuanLiou
YuanLiou / nord_vimium.css
Created September 12, 2024 03:18
Nord theme for Vimium
/* Nord Vomnibar CSS */
/* Installation: Open Vimium Options -> Click "Show Advanced Options" and paste this into the CSS for Vimium UI text area. */
#vomnibar ol, #vomnibar ul {
list-style: none;
display: none;
}
#vomnibar {
background: rgba(46, 52, 68, 0.9);
@YuanLiou
YuanLiou / config.el
Last active August 23, 2024 09:29
RayYuan's doom emacs settings 0.3
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
;; Place your private configuration here! Remember, you do not need to run 'doom
;; sync' after modifying this file!
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets. It is optional.
;; (setq user-full-name "John Doe"
;; user-mail-address "[email protected]")
@YuanLiou
YuanLiou / kahnalgo.java
Created April 1, 2024 01:33
kahnAlgorithn002.java
public boolean canFinish(int numCourses, int[][] prerequisites) {
int[] indegree = new int[numCourses];
List<List<Integer>> adj = new ArrayList<>(numCourses);
for (int i = 0; i < numCourses; i++) {
adj.add(new ArrayList<>());
}
for (int[] prerequisite : prerequisites) {
adj.get(prerequisite[1]).add(prerequisite[0]);
@YuanLiou
YuanLiou / KahnsAlgorithm.java
Created April 1, 2024 00:52
KahnsAlgorithm
import java.util.*;
public class KahnsAlgorithm {
public static void main(String[] args) {
// Graph representation (adjacency list)
List<List<Integer>> adjList = new ArrayList<>();
for (int i = 0; i < 4; i++) {
adjList.add(new ArrayList<>());
}
@YuanLiou
YuanLiou / TemplateStringReplacer.java
Created March 30, 2024 06:24
TemplateStringReplacer
import java.util.Map;
public class TemplateStringReplacer {
public static String createStringFromTemplate(Map<String, Integer> map, String template) {
StringBuilder stringBuilder = new StringBuilder();
String[] elements = template.split("%");
for (String element : elements) {
if (element.equals("_")) {
@YuanLiou
YuanLiou / musical_scales.java
Last active March 30, 2024 06:06
Musical scales
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MusicalScaleGenerator {
private final Map<Integer, List<Integer>> scaleTransitions = new HashMap<>();
private final int TARGET_SUM = 12;
private final List<List<Integer>> validScales = new ArrayList<>();
@YuanLiou
YuanLiou / apple_term_tmux.sh
Created February 17, 2024 08:51
use Tmux only if current term program is Apple Terminal
# use Tmux only if current term program is Apple Terminal
if [ "$TERM_PROGRAM" = 'Apple_Terminal' ]; then
tmux has -t hack &> /dev/null
if [ $? != 0 ]; then
tmux new -s hack
elif [ -z $TMUX ]; then
tmux attach -t hack
fi
fi
@YuanLiou
YuanLiou / .obsidien.vimrc
Created January 1, 2024 07:34
Ray's obsidien vimrc
" Have j and k navigate visual lines rather than logical ones
nmap j gj
nmap k gk
" I like using H and L for beginning/end of line
nmap H ^
nmap L $
" Quickly remove search highlights
nmap <F9> :nohl