对待生命,不妨大胆一点,因为我们终将失去它

分类: post


  • Mixbox: 基于颜料的混色系统

    Mixbox
    这是一个基于真实颜料的混色系统包,看了它的实现原理视频讲解,挺有意思

    终于知道为什么以前学数字绘画的时候,混色系统一直不顺手,因为它们的混色系统都是错的!
    之前还以为是我的软件配置、笔刷参数有问题!

    刚刚试了它们的Demo,和实际混色感觉是一样的


  • Trio

    Trio
    一个在线人声合成器,可以自动和声,我玩的有点上瘾,很有意思


  • 我的2025年观影清单

    在我观看了油管上很有意思的《2024年电影预告片混剪》视频后,才发现好多片段都很陌生。。。

    是时候补回来了,所以这个视频里出现的所有电影将会是我的2025年的观影清单:
    0:00 – Hundreds of Beavers
    0:18 – Red One
    0:20 – Deadpool & Wolverine
    0:22 – Sasquatch Sunset
    0:23 – Happyend
    0:24 – Yasha and Leonid Brezhnev
    0:26 – Hit Man
    0:28 – A Family Affair
    0:30 – Argylle
    0:32 – The Union
    0:35 – Beverly Hills Cop: Axel F
    0:36 – It’s Not Me
    0:37 – Incoming
    0:39 – The Union
    0:44 – This Closeness
    0:45 – Old Righteous Blues
    0:46 – Kill the Jockey
    0:47 – Madame Web
    0:50 – Mean Girls (2024)
    0:51 – Back to Black
    0:52 – The Beekeeper
    0:53 – Deaner ’89
    0:56 – A Complete Unknown
    0:57 – Snack Shack
    0:59 – Unsung Hero
    1:00 – Trap
    1:02 – Saturday Night
    1:05 – Woman of the Hour
    1:06 – IF
    1:07 – September 5
    1:07 – Unfrosted
    1:08 – Maxxxine
    1:10 – I Saw the TV Glow
    1:11 – Greedy People
    1:14 – Y2K
    1:16 – Cuckoo
    1:17 – Longlegs
    1:19 – Late Night with the Devil
    1:20 – Biwa Järve 8 Nägu
    1:21 – Imaginary
    1:22 – Terrifier 3
    1:28 – Joker Folie à Deux
    1:29 – Kinds of Kindness
    1:30 – Babygirl
    1:31 – Beating Hearts
    1:32 – Incoming
    1:32 – The Fall Guy
    1:33 – Lisa Frankenstein
    1:34 – Beetlejuice Beetlejuice
    1:36 – Jackpot!
    1:38 – Better Man
    1:39 – Kingdom of the Planet of the Apes
    1:41 – The Instigators
    1:43 – Brothers
    1:43 – Driveaway Dolls
    1:44 – Despicable Me 4
    1:45 – Boy Kills World
    1:47 – Rebel Ridge
    1:48 – Kung Fu Panda 4
    1:49 – Wolfs
    1:50 – I, The Executioner
    1:50 – The Beekeeper
    1:51 – Road House
    1:54 – Abigail
    2:02 – Conclave
    2:05 – Widow Clicquot
    2:08 – Caddo Lake
    2:09 – The First Omen
    2:12 – Joy
    2:14 – Heretic
    2:17 – Immaculate
    2:20 – Box Metaphor
    2:23 – Memoir of a Snail
    2:26 – Longlegs
    2:27 – Sometimes I Think about Dying
    2:28 – The Greatest Hits
    2:32 – Julie Keeps Quiet
    2:33 – Juror
    2:34 – Parachute
    2:36 – The Room Next Door
    2:37 – House of Spoils
    2:41 – Beating Hearts
    2:42 – Didi
    2:44 – We Live in Time
    2:48 – A Sacrifice
    2:49 – Dune: Part II
    2:50 – Flow
    2:51 – Mufasa: The Lion King
    2:53 – April, Come She Will
    2:55 – Blink Twice
    2:58 – Lost on a Mountain in Maine
    3:00 – Nightbitch
    3:01 – One Life
    3:03 – Night Swim
    3:05 – Mufasa: The Lion King
    3:06 – The End
    3:07 – Nickel Boys
    3:09 – My Old Ass
    3:12 – Anora
    3:14 – The Breaking Ice
    3:17 – How To Date Billy Walsh
    3:20 – Turtles All the Way Down
    3:24 – Waterdrop
    3:27 – Parachute
    3:30 – I Used to Be Funny
    3:31 – Apartment 7A
    3:33 – Ghostlight
    3:37 – Santosh
    3:38 – It Ends With Us
    3:40 – A Real Pain
    3:41 – A Different Man
    3:43 – The Outrun
    3:45 – Chime
    3:47 – A Quiet Place: Day One
    3:52 – Evil Does Not Exist
    3:53 – Wonderland
    3:55 – Blitz
    3:57 – Better Man
    3:58 – The Crow
    4:00 – Dune: Part II
    4:06 – Emilia Perez
    4:08 – Megalopolis
    4:10 – Red Rooms
    4:14 – Alien Romulus
    4:20 – Monkey Man
    4:22 – Love Lies Bleeding
    4:23 – The Substance
    4:25 – Queer
    4:27 – Lost on a Mountain in Maine
    4:29 – Alien Romulus
    4:30 – The Watchers
    4:32 – Poolman
    4:33 – AfrAId
    4:34 – Lisa Frankenstein
    4:35 – Dogman
    4:36 – Heretic
    4:38 – Omni Loop
    4:39 – Godzilla x Kong: The New Empire
    4:41 – Venom: The Last Dance
    4:42 – Slingshot
    4:43 – One Hundred Years Ahead
    4:44 – The Master and Margarita
    4:45 – Here
    4:46 – Piece by Piece
    4:48 – Transformers One
    4:49 – Salem’s Lot
    4:50 – Exhuma
    4:51 – Damsel
    4:54 – The Piano Lesson
    4:55 – The Brutalist
    4:56 – Nosferatu
    4:57 – The Crow
    4:59 – Furiosa: A Mad Max Saga
    5:00 – Ghostbusters: Frozen Empire
    5:01 – One Hundred Years Ahead
    5:03 – Deadpool and Wolverine
    5:04 – Harold and the Purple Crayon
    5:05 – Kalki 2898 AD
    5:06 – Dune: Part II
    5:07 – Civil War
    5:09 – Deadpool and Wolverine
    5:13 – The Wild Robot
    5:15 – Moana 2
    5:19 – The Substance
    5:20 – Smile 2
    5:21 – Sonic the Hedgehog 3
    5:24 – Gasoline Rainbow
    5:25 – Strange Darling
    5:26 – Alien Romulus
    5:27 – Anora
    5:28 – Challengers
    5:29 – Monkey Man
    5:31 – Kraven the Hunter
    5:32 – Godzilla x Kong: The New Empire
    5:34 – Gladiator II
    5:36 – Twisters
    5:38 – Dune: Part II
    5:40 – Red One
    5:42 – Madame Web
    5:43 – Inside Out 2
    5:44 – Wicked
    5:45 – Ghostbusters: Frozen Empire
    5:46 – Rebel Moon Part 2
    5:47 – Borderlands
    5:48 – Take Cover
    5:50 – Mayhem!
    5:51 – Furiosa: A Mad Max Saga
    5:52 – Transformers One
    5:53 – Venom: The Last Dance
    5:54 – Atlas
    5:55 – Bad Boys 4 Life
    5:56 – Moana 2
    5:57 – Wicked
    6:01 – The Wild Robot


  • uv cheatsheet

    这是一篇个人使用uv的汇总,以便查询(不定时更新)


    uv官方文档: https://docs.astral.sh/uv/
    uv CLI文档: https://docs.astral.sh/uv/reference/cli/
    uv安装命令: curl -LsSf https://astral.sh/uv/install.sh | sh


    • 安装 Python: uv python install 3.12
    • 创建 Python 虚拟环境: uv venv /path/to/environment --python 3.12
    • 安装软件包:uv pip install pkg_name
    • 安装全局包:uv tool install pkg_name
    • 初始化项目:uv init myproject
    • 同步项目:uv sync
      如果当前文件夹存在python项目,则会自动创建venv,并启用虚拟环境后自动安装依赖包,非常方便
    • 运行项目:uv run manage.py runserver
      如果存在venv,则自动启用venv并运行指定程序
    • 添加包到 pyproject.toml 文件中:uv add pkg_name
    • 同步/更新包到 pyproject.toml 和 uv.lock 文件中:uv lockuv sync
    • 添加包到指定的依赖组:uv add --group production request
      • 自动添加到开发组:uv add --dev- pytest
    • 临时运行:uvx pycowsay hello from uv

  • nanodjango

    Github: nanodjango
    非常喜欢这个项目,可以像flask/fastapi那样,使用单文件就可以用django快速编写一个原型应用,后期还可以转为Django的标准文件架构

    不知道Rails有没有类似的nano框架


  • 保险何时值得?

    文章:保险何时值得?

    这篇文章会简述了保险的目的、是否应该购买保险、如何计算保险的价值,同时还提供了保险价值计算器


  • 如何让 LLMs 闭嘴

    文章:How to Make LLMs Shut Up

    这是一篇来自Greptile公司的博客,讲述了他们是如何提高 LLM 在产品中的回复质量,减少无用/低效的回复。
    分别尝试了3种方法:

    1. 提高Prompt质量
    2. 使用另一个 LLM 审核输出
    3. 使用简单的聚类向量系统

    最后测试下来只有第三种方法是有效的。

    这和最近我在做的aicmt工具时,遇到的问题非常类似。
    起初我将prompt优化到90%的效果后,无论再怎么优化prompt或者引入第二个AI都无法继续提升回复的质量,恰巧看到这篇文章后,准备试一试用向量过滤器看看效果


  • 行为驱动开发(BDD)

    今天才知道除了测试驱动开发(TDD)外,还有一个行为驱动开发(BDD),主要用于测试软件的预期行为。
    在TDD中,单元测试主要测试具体的代码实现,更注重底层的测试,而BDD则从业务行为上进行测试,更注重高层次的行为测试。

    目前最流行的BDD框架应该 Cucumber, 它的作者也参与了Ruby著名的测试框架RSpec的开发,
    所以Ruby可以说是Cucumber的发源地,我最近在写Ruby的测试用例时,发现其自由度非常高,而且很符合思考逻辑。

    Cucumber目前也支持几乎所有的主流编程语言,其语法具有很强的可读性,很贴近业务需求


  • 特殊的 Git hash

    今天AI写了一段神奇的代码:

    parent = commit.parents[0] if commit.parents else self.repo.tree("4b825dc642cb6eb9a060e54bf8d69288fbee4904")

    功能是获取某个git提交的上一个提交,如果没有则返回4b825dc642cb6eb9a060e54bf8d69288fbee4904提交。
    刚开始看到硬编码的hash以为又是ai乱写的,所以询问了下ai,才得知:

    • 4b825dc642cb6eb9a060e54bf8d69288fbee4904是一个特殊的 Git hash,代表一个空树(empty tree)
    • 这个 hash 是固定的,在所有 Git 仓库中都是一样的
    • 当我们需要比较第一个 commit 的变更时,就需要和这个空树比较,因为第一个 commit 之前没有任何内容

    我在本地的多个git repo中测试了,还真是一个有效的hash,均返回空,神奇


  • 多做,少做

    多做自己认为对的事情,少做别人认为对的事情。
    多做自己想做的事情,少做别人想让你做的事情。
    多做会犯错的事情,少做一定不会错的事情。
    多做没做过的事情,少做熟悉的事情。
    多做能让自己开心的事情,少做能让别人开心的事情
    多做奇怪的事情,少做正常的事情
    多做不敢做的事情,少做没有压力的事情