Skip to content

Instantly share code, notes, and snippets.

View ysmood's full-sized avatar

Yad Smood ysmood

View GitHub Profile

Thank you to our maintainers

We rely on the work of hundreds of open source projects to build and run GitHub, npm, GitHub Desktop, GitHub Mobile, GitHub CLI, and all the software that we maintain. Therefore, today we are distributing $500,000 across the over 900 maintainers of our identified open source dependencies who are also signed up with GitHub Sponsors.

img

@ysmood
ysmood / shuffle_names.go
Last active December 18, 2020 06:09
Copy the names then run it, it will output to your clipboard, names should be separated by commas
package main
import (
"math/rand"
"strings"
"github.com/atotto/clipboard"
)
func main() {
package main
import (
"os"
"github.com/go-rod/rod"
"github.com/go-rod/rod/lib/input"
"github.com/go-rod/rod/lib/utils"
)
@ysmood
ysmood / hang.go
Last active November 24, 2020 17:46
Issue 1151822: CDP call Page.close on the non-exist session id will hang
package main
import (
"context"
"github.com/go-rod/rod"
"github.com/go-rod/rod/lib/cdp"
"github.com/go-rod/rod/lib/launcher"
)
@ysmood
ysmood / crash_chromedp.go
Last active October 30, 2020 06:51
Such as when you want to inject a large js helper to the page, chromedp will crash.
package main
import (
"context"
"fmt"
"log"
"strings"
"github.com/chromedp/chromedp"
)
const puppeteer = require('puppeteer')
;(async () => {
const browser = await puppeteer.launch()
const page = await browser.newPage()
// Total timeout for all operations is not supported, only supports timeout for individual operations.
// Puppeteer doesn't support aborting of slow operation.
page.setDefaultTimeout(5 * 1000)
package main
import (
"fmt"
"time"
"github.com/ysmood/kit"
"github.com/ysmood/storer"
"github.com/ysmood/storer/pkg/kvstore"
)
@ysmood
ysmood / dns-server.go
Created December 12, 2019 20:54
DNS server example
// dns server
package dnser
import (
"net"
"golang.org/x/net/dns/dnsmessage"
)
let inc = n => ++n
let dec = n => --n
function add (x, y) {
if (y < 0) return add(dec(x), inc(y))
if (y === 0) return x
if (y > 0) return add(inc(x), dec(y))
}
@ysmood
ysmood / .zsh-fzf.sh
Created January 9, 2019 11:40
fzf config for zsh
####### fzf ######
if type "fzf" > /dev/null; then
FZF_DEFAULT_OPTS='--layout=reverse --border'
# CTRL-R - Paste the selected command from history into the command line
fzf-history-widget() {
local selected num
setopt localoptions noglobsubst noposixbuiltins pipefail 2> /dev/null
selected=( $(fc -rln 1 |