Skip to content

Instantly share code, notes, and snippets.

View JimLiu's full-sized avatar
🐶
Yesterday is history, tomorrow is a mystery, and today is a gift

Jim Liu 宝玉 JimLiu

🐶
Yesterday is history, tomorrow is a mystery, and today is a gift
View GitHub Profile
@JimLiu
JimLiu / block-by-comment-likes.js
Last active December 31, 2024 01:15
微博一键拉黑点赞
// 使用方法:
// 1. Chrome打开weibo.com
// 2. 打开Chrome Dev Tool(使用 Ctrl/Cmd + Shift + I)
// 3. 在Console中复制粘贴以下代码,修改评论id为你要一键拉黑的评论ID
// 4. 回车运行
// 获取评论id方法:
// 1. 在评论下点击投诉,在新窗口中可以得到评论id,例如 https://service.account.weibo.com/reportspam?rid=XXXXXXXXXX
const cId = 123456 // 修改为真实评论ID
@JimLiu
JimLiu / gist:d4456ac2408a242025fbe0a4e448e79a
Created July 2, 2023 06:07
Boost Your English Skills With This Morning Study Routine
Hey, one of the biggest challenges that
English learners face is not knowing how
to study English, not having a proper
routine that will take them from the
intermediate level to the advanced level,
not knowing how to actually study English
consistently and enjoy the process.
Have you ever experienced this challenge?
Are you experiencing
this challenge right now?
@JimLiu
JimLiu / Subtitle.srt
Last active July 23, 2023 03:01
The Amazing AI Super Tutor for Students and Teachers | Sal Khan | TED
1
00:00:04,543 --> 00:00:08,421
所以任何在过去几个月一直关注的人
So anyone who's been paying attention for the last few months
2
00:00:08,462 --> 00:00:10,547
都会看到这样的标题,
has been seeing headlines like this,
You are an expert subtitle translator in all languages. Translate the English subtitle to Chinese subtitle, and keep the original English sentence as new Chinese and English subtitle. Keep the original srt format, make sure the output is valid srt format. Do not miss any empty lines.
The basic structure of an SRT file is as follows:
- A sequence number indicating the order of the subtitle, let's use {NUMBER} to present it
- The start and end timecodes of the subtitle, let's use {TIMECODES} to present it
- The subtitle text itself, which may be displayed in multiple lines separated by blank lines
Here's an example of what an SRT file might look like:
@JimLiu
JimLiu / PDF2Images.py
Created March 23, 2023 07:37
Convert PDF pages to 2x2 images
import os
from pdf2image import convert_from_path
from PIL import Image
def merge_images(images):
images = [Image.open(x) for x in images]
widths, heights = zip(*(i.size for i in images))
total_width = max(widths) if len(widths) < 3 else max(widths) * 2
max_height = max(heights) * 2 if len(heights) > 1 else max(heights)
sudo lsof -n -i4TCP:8081 # get the process' PID
sudo launchctl list | grep <PID> # find the launchd endpoint
sudo launchctl remove com.mcafee.agent.macmn
@JimLiu
JimLiu / nginx.conf
Created August 24, 2018 16:05
reverse proxy for 163 music
# Cahce
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=24h max_size=1g;
server {
listen 80;
server_name music.163.com;
resolver 114.114.114.114 223.5.5.5;
access_log /var/log/nginx/access_163.log;
location /weapi/feedback/weblog {
add_header Set-Cookie "os=uwp; path=/";
error_page 405 = $uri;
@JimLiu
JimLiu / _db.js
Last active January 30, 2016 17:44
Sql helper for operating mysql on node
import mysql from 'mysql';
import moment from 'moment';
import config from './config';
import logger from './logger';
export default class DB {
constructor() {
}
@JimLiu
JimLiu / 0_reuse_code.js
Created January 19, 2016 07:54
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@JimLiu
JimLiu / Gulpfile.js
Created December 26, 2015 07:04 — forked from webdesserts/Gulpfile.js
Automatically reload your node.js app on file change with Gulp (https://github.com/wearefractal/gulp).
// NOTE: I previously suggested doing this through Grunt, but had plenty of problems with
// my set up. Grunt did some weird things with scope, and I ended up using nodemon. This
// setup is now using Gulp. It works exactly how I expect it to and is WAY more concise.
var gulp = require('gulp'),
spawn = require('child_process').spawn,
node;
/**
* $ gulp server
* description: launch the server. If there's a server already running, kill it.