Skip to content

Instantly share code, notes, and snippets.

View mon-jai's full-sized avatar

Mon mon-jai

  • National Taipei University of Technology
  • Taiwan
  • 20:38 (UTC +08:00)
View GitHub Profile
@hediet
hediet / main.md
Last active March 4, 2025 18:49
Proof that TypeScript's Type System is Turing Complete
type StringBool = "true"|"false";


interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };

type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev<TNumber extends PositiveNumber> = TNumber["prev"];
@negz
negz / kubedump.sh
Last active July 11, 2024 10:57
Dump Kubernetes cluster resources as YAML
#!/usr/bin/env bash
set -e
CONTEXT="$1"
if [[ -z ${CONTEXT} ]]; then
echo "Usage: $0 KUBE-CONTEXT"
exit 1
fi
@ceejbot
ceejbot / esm_in_node_proposal.md
Last active June 20, 2024 10:45
npm's proposal for supporting ES modules in node

ESM modules in node: npm edition

The proposal you’re about to read is not just a proposal. We have a working implementation of almost everything we discussed here. We encourage you to checkout and build our branch: our fork, with the relevant branch selected. Building and using the implementation will give you a better understanding of what using it as a developer is like.

Our implementation ended up differing from the proposal on some minor points. As our last action item before making a PR, we’re writing documentation on what we did. While I loathe pointing to tests in lieu of documentation, they will be helpful until we complete writing docs: the unit tests.

This repo also contains a bundled version of npm that has a new command, asset. You can read the documentation for and goals of that comma

@ErikSaunier
ErikSaunier / cloud-sql-proxy.service
Created May 30, 2018 12:08
How to install Cloud SQL Proxy on Compute Engine instance and make it start on boot with Systemd
[Unit]
Description=Connecting MySQL Client from Compute Engine using the Cloud SQL Proxy
Documentation=https://cloud.google.com/sql/docs/mysql/connect-compute-engine
Requires=networking.service
After=networking.service
[Service]
WorkingDirectory=/usr/local/bin
ExecStart=/usr/local/bin/cloud_sql_proxy -dir=/var/run/cloud-sql-proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
Restart=always
@seupedro
seupedro / changeDrawableXmlColorOnAndroid.java
Created May 31, 2018 11:44
How to change Icon color (Drawable, XML, whatever you want), on Android dynamically (programmatically, whatever)
// Explained Method
Drawable deleteIcon = ContextCompat.getDrawable(context, R.drawable.ic_delete);
Drawable deleteIconCompat = DrawableCompat.wrap(deleteIcon).mutate();
Drawable deleteIconMute = deleteIconCompat.mutate();
DrawableCompat.setTint(deleteIconMute, Color.RED);
// Compact Method
DrawableCompat.setTint(
DrawableCompat.wrap(
ContextCompat.getDrawable(context, R.drawable.ic_check).mutate()), Color.WHITE);
@bgauduch
bgauduch / multiple-repository-and-identities-git-configuration.md
Last active February 24, 2025 19:59
Git config with multiple identities and multiple repositories

Setup multiple git identities & git user informations

/!\ Be very carrefull in your setup : any misconfiguration make all the git config to fail silently ! Go trought this guide step by step and it should be fine 😉

Setup multiple git ssh identities for git

  • Generate your SSH keys as per your git provider documentation.
  • Add each public SSH keys to your git providers acounts.
  • In your ~/.ssh/config, set each ssh key for each repository as in this exemple:
@codesections
codesections / server.rs
Last active March 20, 2022 04:35
Naive static file server in rust
use std::io::prelude::*;
use std::net::TcpListener;
use std::net::TcpStream;
mod app;
fn main() {
let listener = TcpListener::bind("127.0.0.1:7878").unwrap();
for stream in listener.incoming() {
let stream = stream.unwrap();
handle_connection(stream);
@plinionaves
plinionaves / vue-folder-structure.md
Last active February 24, 2025 03:23
Vue Project Folder Structure

Style Guide

This file describes de required Style Guide used by Basicamente to keep the Best Practices on develop new features or improve/change existents one.

Project folder structure

Always follow the folder structure below:

src/
@pajaydev
pajaydev / js-objects-compare.md
Last active December 9, 2024 14:25
JS Objects : Object.keys vs for..in vs getOwnPropertyNames vs Object.entries

Object.keys vs for..in vs getOwnPropertyNames vs Object.entries

const language = {
  name: 'JavaScript',
  author: 'Brendan Eich'
};

// Inheriting from another object.
Object.setPrototypeOf(language, {createdAt: "Netscape"});