Skip to content

Instantly share code, notes, and snippets.

View msaifi03's full-sized avatar
🐢
ok now what

msaifi03

🐢
ok now what
View GitHub Profile
@msaifi03
msaifi03 / shipt
Created January 20, 2025 04:41
bash script for generating a simple static site, powered by pandoc, bash, and lots of prayers.
#!/usr/bin/env bash
# TODO: Use mktemp and tmp files to smooth out everything a lot more.
# TODO: Performance, and logging.
declare -A config
declare -A data
# Define the site config here.
config["title"]="arcqos"
@msaifi03
msaifi03 / grokking_to_leetcode.md
Created January 2, 2025 18:13 — forked from tykurtz/grokking_to_leetcode.md
Grokking the coding interview equivalent leetcode problems

GROKKING NOTES

I liked the way Grokking the coding interview organized problems into learnable patterns. However, the course is expensive and the majority of the time the problems are copy-pasted from leetcode. As the explanations on leetcode are usually just as good, the course really boils down to being a glorified curated list of leetcode problems.

So below I made a list of leetcode problems that are as close to grokking problems as possible.

Pattern: Sliding Window

@msaifi03
msaifi03 / papers.md
Created April 17, 2024 19:29 — forked from pdarragh/papers.md
Approachable PL Papers for Undergrads

Approachable PL Papers for Undergrads

On September 28, 2021, I asked on Twitter:

PL Twitter:

you get to recommend one published PL paper for an undergrad to read with oversight by someone experienced. the paper should be interesting, approachable, and (mostly) self-contained.

what paper do you recommend?

@msaifi03
msaifi03 / lazyfox.toml
Created January 26, 2024 23:28
Wezterm Config, storing here for now unless it grows too big and needs its own repo
[metadata]
name = "lazyfox"
[colors]
foreground = "#4D4872"
background = "#F6F2EE"
cursor_bg = "#4D4872"
cursor_border = "#393263"
cursor_fg = "#F6F2EE"
selection_bg = "#BEDEDE"
@msaifi03
msaifi03 / touchegg.conf
Created January 26, 2024 23:26
touchegg config
<touchégg>
<settings>
<!--
Delay, in milliseconds, since the gesture starts before the animation is displayed.
Default: 150ms if this property is not set.
Example: Use the MAXIMIZE_RESTORE_WINDOW action. You will notice that no animation is
displayed if you complete the action quick enough. This property configures that time.
-->
<property name="animation_delay">150</property>
@msaifi03
msaifi03 / fonts.conf
Created January 26, 2024 23:25
`~/.config/fontconfig`
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Set preferred serif, sans serif, and monospace fonts. -->
<alias>
<family>serif</family>
<prefer><family>Palatino Linotype</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
@msaifi03
msaifi03 / README.md
Last active January 20, 2022 06:12
PyJac-Coin-Drop design document.

Simulating a coin drop in a pond

There's three parts to it: the water, the coin, and the air. The goal is to program them individually such that when we put all of them together, the interactions between them play out on their own, mimicking real life as closely as possible (as opposed to us hardcoding specific scenarios)

Water

We will do this using smoothed-particle hydrodynamics. The idea is to simulate water with lots of really small particles. We control properties of the particles such as elasticity, collision softness, viscosity etc. to try and simulate the behaviour of liquids in real life as closely as possible. Ideally, we would want to have as few of these variables as possible to reduce complexity in our program.

To get started, I found some very useful resources on KhanAcademy's Pixar in a Box course, under the Effects uni

@msaifi03
msaifi03 / index.ejs
Created January 3, 2022 18:49
hexojs `site.pages.find` bug
<!-- HOMEPAGE -->
<body class="home">
<header class="text-center sans-serif">
<h1>
<%= config.title %>
</h1>
<hr>
<p>
-- Spawn git process to install a plugin
local function install(group, plugin)
local id = group .. ":" .. get_plugin_name(plugin)
local flags = get_plugin_flags(plugin)
local uri = get_plugin_uri(plugin)
local dir = get_plugin_dir(group, plugin)
-- To read command output
local stdout = vim.loop.new_pipe(false)
local stderr = vim.loop.new_pipe(false)
@msaifi03
msaifi03 / settings.json
Last active August 30, 2021 15:42
Windows Terminal Settings
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"actions":
[
{
"command":
{
"action": "copy",
"singleLine": false
},