Skip to content

Instantly share code, notes, and snippets.

View therealparmesh's full-sized avatar
🦮

Parmesh Krishen therealparmesh

🦮
  • Austin, Texas
  • 10:47 (UTC -05:00)
View GitHub Profile
@therealparmesh
therealparmesh / kx.sh
Last active April 21, 2026 23:51
dailypay kubectl helpers
# kx - kubectl helpers with fzf
# deps: kubectl, fzf, jq, dpcli (mesh plugin for rollouts)
# flags are ours - short aliases for kubectl's verbose ones
# source from .zshrc
__kx_dim() { printf '\033[2m%s\033[0m\n' "$*" >&2; }
__kx_bold() { printf '\033[1m%s\033[0m\n' "$*" >&2; }
__kx_err() { printf '\033[31m%s\033[0m\n' "$*" >&2; }
__kx_ok() { printf '\033[32m%s\033[0m\n' "$*" >&2; }
@therealparmesh
therealparmesh / just-a-react-app.md
Created March 11, 2026 21:21
The Reality of "Just a React App"

The Reality of "Just a React App"

A complete breakdown of the architecture, tooling, and paradigms involved in modern frontend development. This highlights the true scope of work required when React is the default (and often only) option for frontend developers who are effectively React specialists.


Core Architecture & Language

  • React: Virtual DOM, JSX
  • Component Paradigms: Class component lifecycles, Higher-Order Components (HOCs), render props, Hooks
  • Advanced Rendering: Suspense, Error Boundaries
@therealparmesh
therealparmesh / log-native-stylesheet.js
Created May 5, 2025 20:27
log react native stylesheet to console
(async () => {
try {
const {
sheet: { cssRules },
} = document.getElementById('react-native-stylesheet');
const cssText = Array.from(cssRules)
.map(({ cssText }) => cssText)
.filter(Boolean)
.join('\n\n');
console.log('--- Plain CSS Output ---');
@therealparmesh
therealparmesh / html.ts
Last active December 6, 2024 17:33
html template
export function html(strings: TemplateStringsArray, ...expressions: string[]) {
let result = '';
for (let i = 0; i < strings.length; i++) {
result += strings[i];
if (i < expressions.length) {
result += expressions[i];
}
}
return result;
}
@therealparmesh
therealparmesh / zed-vim-mode-cheatsheet.md
Created October 24, 2024 14:38
Zed vim mode cheatsheet

Zed Vim Mode Cheat Sheet

Zed's Vim mode replicates familiar Vim behavior while integrating modern features like semantic navigation and multiple cursors. This cheat sheet summarizes essential shortcuts and settings to help you navigate and edit code efficiently in Zed.


Enabling/Disabling Vim Mode

  • Enable/Disable Vim Mode: Open the command palette and use Toggle Vim Mode.
  • This updates your user settings: "vim_mode": true or false.
@therealparmesh
therealparmesh / slides.html
Created May 22, 2024 17:16
reveal.js boilerplate
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<title>reveal.js</title>
<link
export async function retryAsync<T>(
asyncFn: () => Promise<T>,
maxRetries: number,
): Promise<T> {
let retries = 0;
while (retries < maxRetries) {
try {
return await asyncFn();
} catch (error) {
@therealparmesh
therealparmesh / .eslintrc
Created November 11, 2021 03:47
ESLint configuration for React with TypeScript
{
"root": true,
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/recommended",
"plugin:import/typescript",
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:react-hooks/recommended"
@therealparmesh
therealparmesh / google-photos-takeout-metadata-fix.sh
Last active December 3, 2025 22:31
Google Photos Takeout Metadata Fix
exiftool -r -d %s -tagsfromfile "%d/%F.json" "-GPSAltitude<GeoDataAltitude" "-GPSLatitude<GeoDataLatitude" "-GPSLatitudeRef<GeoDataLatitude" "-GPSLongitude<GeoDataLongitude" "-GPSLongitudeRef<GeoDataLongitude" "-Keywords<Tags" "-Subject<Tags" "-Caption-Abstract<Description" "-ImageDescription<Description" "-DateTimeOriginal<PhotoTakenTimeTimestamp" "-FileCreateDate<PhotoTakenTimeTimestamp" -ext "*" -overwrite_original -progress --ext json .
@therealparmesh
therealparmesh / helpers.js
Created January 26, 2019 00:10
Redux Saga helpers
import { call, cancel, fork, take } from 'redux-saga/effects';
export function takeLatestPerKey(patternOrChannel, worker, keySelector, ...args) {
return fork(function*() {
const tasks = {};
while (true) {
const action = yield take(patternOrChannel);
const key = yield call(keySelector, action);