Skip to content

Instantly share code, notes, and snippets.

View mpyw's full-sized avatar
🏠
Working from home

mpyw mpyw

🏠
Working from home
View GitHub Profile
@mpyw
mpyw / array_splice_assoc.php
Last active January 6, 2022 02:16
array_splice_assoc.php
<?php
// https://stackoverflow.com/questions/16585502/array-splice-preserving-keys/70576992#70576992
function array_splice_assoc(array &$input, int|string $offset, ?int $length = null, $replacement = []): array
{
// Normalize offset
$offset = match (true) {
is_string($offset) => array_flip(array_keys($input))[$offset] ?? throw new OutOfBoundsException(),
$offset < 0 => count($input) + $offset,
@mpyw
mpyw / qiita_nonsense_lgtm_button_killer.user.js
Last active March 13, 2020 19:54
qiita_nonsense_lgtm_button_killer.user.js
// ==UserScript==
// @name Qiita Nonsense LGTM Button Killer
// @namespace https://github.com/mpyw
// @version 0.6
// @description Qiita の LGTM を倒す
// @author mpyw
// @match https://qiita.com/*
// @grant none
// ==/UserScript==
@mpyw
mpyw / free_email_provider_domains.txt
Last active January 6, 2023 14:41 — forked from tbrianjones/free_email_provider_domains.txt
A list of free email provider domains. All forks from the original gist are merged. The list only contains valid hostnames.
0039.cf
0039.ga
0039.ml
00b2bcr51qv59xst2.cf
00b2bcr51qv59xst2.ga
00b2bcr51qv59xst2.ml
02466.cf
02466.ga
02466.ml
07819.cf
@mpyw
mpyw / force_use_latest_tweets.user.js
Last active March 5, 2021 08:06
新 Twitter で「最新のツイート」に強制的に切り替えるやつ
// ==UserScript==
// @name 新 Twitter で「最新のツイート」に強制的に切り替えるやつ
// @namespace https://twitter.com/mpyw
// @version 0.1
// @description お節介機能を殺す
// @author mpyw
// @match https://twitter.com/home
// @grant none
// ==/UserScript==
@mpyw
mpyw / qiita-trend-eliminator.user.js
Last active November 12, 2018 10:50
Qiita Trend Eliminator
// ==UserScript==
// @name Qiita Trend Eliminator
// @namespace http://tampermonkey.net/
// @version 0.2
// @description https://qiita.com/ を https://qiita.com/tag-feed にいい感じに置き換える
// @author mpyw
// @match https://qiita.com/*
// @grant none
// ==/UserScript==
@mpyw
mpyw / prune_log_streams.sh
Created September 8, 2018 12:03
古いログストリームを削除
#!/bin/bash
for group in $(aws logs describe-log-groups | jq -r '.logGroups[].logGroupName'); do
echo "Fetching: $group"
for stream in $(aws logs describe-log-streams --log-group-name "$group" | jq -r '
.logStreams[]
| select(.storedBytes == 0 and ($now|tonumber) - .creationTime / 1000 > 86400)
| .logStreamName
' --arg now $(date +%s)); do
echo "Deleting: $group $stream"
@mpyw
mpyw / Logger.js
Created August 14, 2018 17:46
Send your browser console errors to AWS CloudWatch. Inspired by https://github.com/agea/console-cloud-watch
import React, { Component } from 'react'
import CloudWatchLogs from 'aws-sdk/clients/cloudwatchlogs'
import Fingerprint2 from 'fingerprintjs2'
import StackTrace from 'stacktrace-js'
import { promisify } from 'es6-promisify'
export default class Logger {
events = []
originalConsole = null
{
"extends": "standard",
"parser": "babel-eslint",
"parserOptions": {
"sourceType": "module",
"allowImportExportEverywhere": false
},
"env": {
"browser": true,
"node": true,
{
"extends": "standard",
"parser": "babel-eslint",
"parserOptions": {
"sourceType": "module",
"allowImportExportEverywhere": false
},
"env": {
"browser": true,
"node": true,
@mpyw
mpyw / run.php
Last active January 31, 2018 13:19
ツイート数を常に1000件に保つやつ(デバッグしてない)
<?php
require __DIR__ . '/vendor/autoload.php';
use mpyw\Co\Co;
use mpyw\Cowitter\Client;
const CONSUMER_KEY = '...';
const CONSUMER_SECRET = '...';
const ACESS_TOKEN = '...';