Skip to content

Instantly share code, notes, and snippets.

View sepsol's full-sized avatar
:electron:
Hyperstate

Sepehr Soltanieh sepsol

:electron:
Hyperstate
View GitHub Profile
@wilwang
wilwang / gist:4771a60f427fca97dd8dec3eabbae095
Created July 15, 2016 22:28
Powershell - Loop through sub directories and look for and rename file
$targDir = "C:\inetpub\websites\ADA*\";
$subDir = $(Get-ChildItem "$targDir");
foreach($sub in $subDir) {
$files = $(Get-Childitem $sub -Filter app_offline*.htm);
foreach($file in $files) {
$oldname = $file.FullName;
@pjdietz
pjdietz / rfc3339.js
Last active May 27, 2024 12:25
Format a local date as an RFC 3339 date with timezone
function rfc3339(d) {
function pad(n) {
return n < 10 ? "0" + n : n;
}
function timezoneOffset(offset) {
var sign;
if (offset === 0) {
return "Z";
@mohamadaliakbari
mohamadaliakbari / ubuntu-run-dhclient-on-startup.md
Last active July 31, 2024 08:46
Run dhclient on Startup in Ubuntu 18.04

dhclient is the Dynamic Host Configuration Protocol (DHCP) Client one would use to allow a client to connect to a DHCP server.

$ sudo nano /etc/rc.local

#!/bin/bash
dhclient
exit 0
@piouson
piouson / setup-android-sdk.sh
Last active September 19, 2024 17:17 — forked from jjvillavicencio/setup.sh
Install Android SDK on Windows Bash (WSL)
cd ~
sudo apt-get install unzip zip
# see https://developer.android.com/studio#command-tools for latest commandline-tools
wget https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip
unzip commandlinetools-linux-6858069_latest.zip -d Android
rm commandlinetools-linux-6858069_latest.zip
sudo apt-get install -y lib32z1 openjdk-8-jdk # or install openjdk-11-jdk
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
printf "\n\nexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64\nexport PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
@borissov
borissov / caps_hjkl.md
Last active July 29, 2025 18:06
Caps Lock + HJKL on Ubuntu 18.04 LTS (Bionic Beaver)

Remap systemwide Caps + HJKL to arrow keys for Ubuntu 18.04 LTS (Bionic Beaver).

For US Layout

In file /usr/share/X11/xkb/symbols/us append in xkb_symbols "basic" scope before the closing bracket:

    //hjkl
    key <AC06> {        [         h, H, Left            ]       };
    key <AC07> {        [         j, J, Down            ]       };
    key <AC08> {        [         k, K, Up              ]       };
    key <AC09> {        [         l, L, Right           ]       };
 key  { [ ISO_Level3_Shift ] }; 
@Rich-Harris
Rich-Harris / footgun.md
Last active November 1, 2025 18:30
Top-level `await` is a footgun

Edit — February 2019

This gist had a far larger impact than I imagined it would, and apparently people are still finding it, so a quick update:

  • TC39 is currently moving forward with a slightly different version of TLA, referred to as 'variant B', in which a module with TLA doesn't block sibling execution. This vastly reduces the danger of parallelizable work happening in serial and thereby delaying startup, which was the concern that motivated me to write this gist
  • In the wild, we're seeing (async main(){...}()) as a substitute for TLA. This completely eliminates the blocking problem (yay!) but it's less powerful, and harder to statically analyse (boo). In other words the lack of TLA is causing real problems
  • Therefore, a version of TLA that solves the original issue is a valuable addition to the language, and I'm in full support of the current proposal, which you can read here.

I'll leave the rest of this document unedited, for archaeological

@piouson
piouson / react-native-app-in-wsl2.md
Last active November 17, 2025 11:52 — forked from bergmannjg/rearct-native-app-in-wsl2.md
Building a react native app in WSL2
@kuroski
kuroski / camelCase-snake_case-types.ts
Last active January 23, 2026 19:15
Typescript type camelCase / snake_case conversion
type CamelCase<S extends string> = S extends `${infer P1}_${infer P2}${infer P3}`
? `${Lowercase<P1>}${Uppercase<P2>}${CamelCase<P3>}`
: Lowercase<S>
type KeysToCamelCase<T> = {
[K in keyof T as CamelCase<string & K>]: T[K]
}
type CamelToSnakeCase<S extends string> = S extends `${infer T}${infer U}` ?
@vivekhaldar
vivekhaldar / cut_silence.py
Last active January 27, 2026 01:10
Python script to cut out silent parts from a video. Uses moviepy.
#!/usr/bin/env python
#
# Based on a script by Donald Feury
# https://gitlab.com/dak425/scripts/-/blob/master/trim_silenceV2
# https://youtu.be/ak52RXKfDw8
import math
import sys
import subprocess
import os
@scottyhq
scottyhq / merge-conflict-rebase.md
Created August 10, 2020 18:25
GitHub PR Merge Conflict Resolution with Rebase

How to rebase a pull request to fix merge conflicts

It's quite common to open up a pull request on GitHub and be confronted with the message This branch has conflicts that must be resolved. This situation arises when you create a feature branch on an older commit from the master branch. Maybe you forgot to run git pull master before git checkout -b geocoding_vignette or maybe a collaborator changed some of the same files on GitHub while you've been working on new things. There are many ways to fix this. One is using the Web Editor build into GitHub and fixing conflicts by hand. This works great if there are not too many conflicts.

Another technique is to rebase your pull request onto the master branch (Move your additional commits on top of the most recent master commit). This is conceptually clean, but sometimes confusing in practice to do cleanly. This example walks through the process where you want to do a rebase, and resolve conflicts by overwriting whatever is on the master branch with change