This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 使用方法: | |
// 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Script Info] | |
Title: How AI Could Empower Any Business | Andrew Ng | TED | |
ScriptType: v4.00+ | |
WrapStyle: 0 | |
Collisions: Reverse | |
PlayResX: 384 | |
PlayResY: 288 | |
Timer: 100.0000 | |
ScaledBorderAndShadow: no |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function () { | |
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); | |
async function continueInput() { | |
await wait(3000); | |
console.log("Type continue after 1 second"); | |
const textarea = document.querySelector("#prompt-textarea"); | |
textarea.value = "继续" | |
textarea.click(); | |
console.log("Press Enter after 1 second"); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function () { | |
const observer = new MutationObserver(() => { | |
// Find the button of 'Continue generating' | |
[...document.querySelectorAll("button.btn")].forEach((btn) => { | |
if (btn.innerText.includes("Continue generating")) { | |
console.log("Found the button of 'Continue generating'"); | |
setTimeout(() => { | |
console.log("Clicked it to continue generating after 1 second"); | |
btn.click(); | |
}, 1000); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// WARNING:此脚本仅做学习和演示用途,在不了解其用途前不建议使用 | |
// 本脚本的用途是将输入内容分页,每次提取一页内容,编辑第二条消息,发送,然后收集结果 | |
// 使用前,需要有两条消息,参考模板 https://chat.openai.com/share/17195108-30c2-4c62-8d59-980ca645f111 | |
// 演示视频: https://www.bilibili.com/video/BV1tp4y1c7ME/?vd_source=e71f65cbc40a72fce570b20ffcb28b22 | |
// | |
(function (fullText) { | |
const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); | |
const groupSentences = (fullText, maxCharecters = 2800) => { | |
const sentences = fullText.split("\n").filter((line) => line.trim().length > 0); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function() { | |
const getMessagesWithReactDevTools = () => { | |
const messages = []; | |
function traverseComponentTree(fiberNode) { | |
let parts = fiberNode.memoizedProps?.parts; | |
if (Array.isArray(parts)) { | |
// console.log(fiberNode, parts); |