[背景音:咖啡馆环境音,键盘敲击声]
Alex: 嘿,Sam!好久不见,最近在搞什么?
Sam: Alex!正好想找你聊聊。我最近在用 Claude Code,就是 Anthropic 出的那个命令行工具。你知道吗?用着用着,我突然想起了咱们以前讨论过的 Smalltalk...
Alex: 当然记得!那个"代码即数据,数据即代码"的老古董?等等,你不会是想...
| javascript:(function(){ | |
| const getComputedStyleString = (element) => { | |
| const computed = window.getComputedStyle(element); | |
| let styles = ''; | |
| for (const prop of computed) { | |
| if (prop.includes('"')) { | |
| continue; | |
| } | |
| const value = computed.getPropertyValue(prop); |
| const YOUR_CLAUDE_KEY = '' | |
| async function main() { | |
| const resp = await fetch('https://api.anthropic.com/v1/messages', { | |
| method: 'POST', | |
| headers: { | |
| "x-api-key": YOUR_CLAUDE_KEY, | |
| "anthropic-version": '2023-06-01', | |
| "content-type": "application/json", | |
| }, | |
| body: JSON.stringify({ |
| // ==UserScript== | |
| // @name 拷贝任意选中的 HTML | |
| // @description 方便粘贴到 chatgpt 进行问答 | |
| // @namespace github.com/taowen | |
| // @match *://*/* | |
| // @version 1.0.0 | |
| // @author taowen | |
| // @license MIT | |
| // @grant GM.registerMenuCommand | |
| // @grant GM_setClipboard |
| // ==UserScript== | |
| // @name youtube转文本到剪贴板 | |
| // @description 方便粘贴到 chatgpt 进行问答 | |
| // @namespace github.com/taowen | |
| // @match https://www.youtube.com/* | |
| // @version 1.0.0 | |
| // @author taowen | |
| // @license MIT | |
| // @grant GM.registerMenuCommand | |
| // @grant GM_setClipboard |
| // ==UserScript== | |
| // @name arxiv论文转markdown拷贝到剪贴板 | |
| // @description 方便粘贴到 chatgpt 进行问答 | |
| // @namespace github.com/taowen | |
| // @match https://ar5iv.labs.arxiv.org/* | |
| // @match https://browse.arxiv.org/html/* | |
| // @match https://arxiv.org/html/* | |
| // @version 1.0.1 | |
| // @author taowen | |
| // @license MIT |
Layout projection: A method for animating browser layouts at 60fps
Animating layout is hard. Prohibitively so; how many ambitious designers have provided dev teams dazzling videos of app-quality UI animations, only to be rebuffed?
If you're a web developer, what would your reaction be if asked to realise this kind of App Store-style interaction, where an item opens into a full-screen view when clicked:
| @sources.Scene | |
| export class AccountDemo extends RootSectionModel { | |
| @constraint.required | |
| public name: string; | |
| @constraint.required | |
| public password: string; | |
| private justFailed: boolean; |
| CREATE TABLE `Account` ( | |
| `id` int(11) NOT NULL AUTO_INCREMENT, | |
| `name` varchar(255) NOT NULL UNIQUE, | |
| `password` varchar(255) NOT NULL, | |
| `status` varchar(255) NOT NULL, | |
| `retryCount` int(11) NULL, | |
| PRIMARY KEY (`id`) | |
| ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; |