博客

  • 罗技G403鼠标修复双击和滚轮乱滚问题的记录

    我之所以写这个记录,就在于G403鼠标多年前就出现了双击,后来售后换了个全新的。然后两年左右再次出现滚轮乱滚和左键双击。

    这时候已经过保了,所以便宜的售后没了,只能想办法修理。但是对具体怎么便宜修理,我还真没下定决心用什么方案,所以就一直拖延,用软件屏蔽双击拖延了很久。

    这种对各种不同方案难以下定决心,对未来的未知的恐惧不小心就触发了我的拖延症,完全是浪费人的生命。

    所以我记录下,如果还有其他人遇到了类似问题,就直接看我的思路和过程快速解决问题吧。

    大概在2013年,我就写过罗技鼠标不要脸,竟然是用的垃圾的某龙微动,包双击。多年过去了,很不幸情况没有任何改善。

    对于折腾DIY的人而言,现在就有两条比较明显的路:

    自己用焊台自己修理

    有的人说弄点WD40除氧化就能解决双击问题。我不否认这种方案的可行性,但是你既然都把鼠标拆了,为何不干脆把微动一起换了彻底解决问题?

    如果是用焊台,那么到底用什么焊台又是个问题。还有什么助焊剂,吸锡器等等问题也是需要额外掌握的知识,所以很容易触发拖延。

    如果是自己弄焊台,大概一个控温升温足够好的T12焊台值得你考虑,成本不低于50元。不过我最后还是没选自己修理,实在是没什么经验。

    找人帮忙修理

    既然是找人帮修理,那么到底找谁呢?

    我之前去手机店铺问过,接不接鼠标维修。结果别人都是不接这种活。

    那么这时候就应该去网上找人了。

    在论坛上和闲鱼上,经常有人免费帮忙更换鼠标微动和滚轮编码器。也有人付费接鼠标维修业务。

    对于免费修理,材料需要自己准备,邮费也需要自己准备。

    对于付费鼠标维修业务,也分为材料自备的和商家全包的。

    我选择的是自备材料,找人免费维修,但是需要自己支付邮费。

    在你常去的数码电子论坛,其实经常能看到热心坛友免费帮人维修鼠标,有兴趣的可以留意下。

    寄送给修理人员可以用支付宝小程序的“菜鸟裹裹”,周末和日常经常都有券可用,寄送全国成本在1-5元。

    说下我准备的物料

    对于罗技G403,出现了鼠标左键双击问题和滚轮乱滚问题。

    这属于常见的鼠标毛病,明显是微动开关老化和滚轮编码器老化损坏了。既然要修理,就需要准备物料。

    考虑到市场上假货太多,以及考虑了不同物料的性价比,我选择的是以下物料方案:

    TTC防尘金微动6K万次 2枚,用来更换左右微动。
    TTC滚轮编码器  G403我没记错的话是9mm的,具体可以找老板确认下。
    3M替换脚贴 拆鼠标是需要拆除脚贴的,用了这么多年了,正好找个3M的更换。

    以上物料如果是在同一家店铺买的话还挺贵的,可以考虑分开。我自己的购入成本是一共11元。

    TTC 6KW次微动是口碑,性价比,防假货比较均衡的选择,建议你也可以考虑下。

    找人免费维修的真实成本

    因为我不好意思去麻烦坛友,就找的一个咸鱼上免费维修的,我一共支付了对方8元邮费和5元额外清理费用。

    我最后拿到手,发现对方将内外都清理了一遍,5元还可以接受。

    但是,这个过程有一点不好,就是对方不够专业,拆卸了又安装之后,才发现多出来了3颗螺丝没安装回去。对于罗技鼠标而言,有的型号(比如G403)螺丝高达10颗(以上),对于不够专业和熟练的人来说,确实是容易发生忘记安装回去螺丝的问题。

    事后对方告诉我,这个鼠标还是用的高温锡,处理不当可能彻底损坏焊盘。 还好他在焊接上没出问题,微动和滚轮编码器的取下和重新焊接都很顺利。

     我的建议

    有了上面的经历,我建议还是找那种20块钱不包含物料包维修包回流运费的专业鼠标维修吧。

    对于罗技鼠标,修理起来还是有一定技术含量和经验要求的,不熟练的人话有可能翻车。

    整个维修过程,只要确定了维修方案,只需要按部就班的发货收货就行了,其实是很简单的,所以再也不怕触发拖延症了。

  • Ai总结和回顾以前的图书?是Gemini真神

    在以前的时候,看过一本书想要回顾下一般就只能看看笔记,大概浏览下,当然更多的时候是再也没看过。

    现在不一样了,真想回顾或者查询以前的书籍中有什么内容,直接就跑一遍Ai就完事了,而且这个对话本质上还可以保留,将来想用的时候还能回收利用。

    在2023年的时候,还有很多技巧让上下文只有4K token的Ai支持长文档,不过那种方法细节丢失严重,理解能力感人,召回率也谈不上多少回。但是现在真的不一样了,有的是支持100万token上下文的Ai,不管是总结内容还是询问都很强。

    目前,这个领域的真神就是Google Ai Studio的Gemini 2.0。

    Gemini 2.0的100万上下文也可以API访问,不过就测试来看,现在不少客户端用API跑几十万的上下文容易断线报错,所以还是官方版的Ai Studio更稳定。

    但是咧,将来这个问题肯定会改善的。

    为防止有的人不知道,重复下关键:

    搜索Google AI studio ,找到Gemini 2.0 1M token模型,在系统提示词中输入你想要的提示词(一般为总结性质),然后直接将电子书的英文版,中文版或者随便什么语言的版本上传 ,然后就可以等Ai给结果了。

    有什么想问的,想Ai帮忙查找的,直接询问Ai即可。

    在界面右侧可以看到对话使用的token总数。一本典型的畅销书大概需要20万-50万token。

     

  • 罗技鼠标滚轮如G500S阻力过大无法滚动的问题

    一句话结论:

    这是因为滚轮塑料和滚轮所用的胶水等材料老化,发生了膨胀,无法再通过滚轮支架。

    如果你去网上搜索类似问题,一般人会告诉你,这是鼠标进入了灰尘,让你清理灰尘,甚至让你将滚轮大力出奇迹,反复强制滚动。
    还有的人说要用润滑油。(我现查的,2025-03-16)

    也许这是对别人有效的方法,但是对G500s这样的光栅滚轮是没用的。因为这种光栅滚轮根本没有各种乱七八糟的机械结构,想要出那种问题是很难的。

    今天我遇到了同样的问题,开始也是尝试网上的方法,都没效果。
    经过观察,我唯一能发现的,就是滚动滚轮的时候,好像高度有点区别。我眼睛也不是卡尺变的,具体也说不好,也没继续探索。

    然后我尝试直接把鼠标卸载螺丝整个拆除了,也没发现明显的问题。

    经过搜索,我找到了正确的答案:https://geekhack.org/index.php?topic=36310.0

    滚轮是有个防滑垫子的,在经过滚轮下方的支架的时候,滚轮的高度比预期的更高(低)了,已经很难顺利通过主体结构了,就会出现我之前说的,滚轮阻力极大,没办法使用。

    解决方法:

    既然知道原因了,就可以尝试削减这个鼠标滚轮中间的垫子的高度。

    经过我摸索,发现这个垫子是用胶水和一个刻度连接在滚轮主体结构上的。

    于是,如果你想省事,可以模糊定位高度偏高的位置,然后用镊子揭开这个垫子,然后用镊子刮除对应的胶水和铜锈,用嘴吹风或者用吹球清理。

    如果你不嫌弃麻烦,直接揭开垫子,将整个滚轮的垫子下方的胶水和铜锈刮除。

    在刮除了里面的胶水和铜锈之后,重新放回去垫子。这时候你能发现滚轮已经滚动如飞,问题彻底解决了。

    最后,不得不说:买罗技鼠标,学鼠标维修。

  • Calibre插件ebook translator的提示词分享

    2023年我分享过一个提示词,不过现在已经两年过去了,插件的文本分割方案已经改版了,所以我优化了下提示词,适配新的分割符号。现在,哪怕是书籍最开始的,最难对齐的部分也可以轻松对齐。

    如果还是不行,可以用Gemini thinking,输入同样的提示词和内容,再次尝试,然后复制粘贴得到的译文,基本都能解决问题。

    这个提示词总的来说,是忠实为主,流畅为辅,翻译效果总体还不错,说一句可读性非常高不为过。根据我的个人判断,翻译质量明显比某信出版社出的简体中文译本好很多。

    翻译一本典型的英文书,总成本约为0.2-0.5元。

    另外,我发现一个比较有意思的事情。发送了4000token的英文给ai模型,生成的中文token经常不足2000。这就是说,4096最大生成token数字的AI模型,可以一次性翻译7000token附近的英文。不过单次翻译的内容越多,比较弱的模型就越容易出现无法对齐的情况,所以还是要自己权衡吧。

    你要是有兴趣可以再试试融合所谓三步翻译法,但是那样就必须手动截取输出部分了,稍微麻烦点。经过我之前看的一些测试结果,所谓“意译”润色,翻译准确度下降很严重,目前来说那种技巧更多是讨好小白的操作,不适合用来看正经书。

    至于R1等思维链模型,会自动推理,只需要利用提示词中的要求即可,不要再画蛇添足。

     

    deepseekV3及以上

    Gemini thinking及以上(目前来说,Gemini2.5 pro对翻译的把控最好)

    千问72B 及以上

    grok3以上

     

    You are a meticulous translator who translates content from <slang> to <tlang>. Your primary task is to faithfully convey the meaning, tone, and structure of the original text while ensuring the translation is natural and fluent in the target language.

    **Translation Requirements**:

    1. **Faithfully retain original content**:
    * Do **not** omit or alter any part of the original content, including punctuation, symbols, or formatting, unless necessary for grammatical accuracy in the target language.
    * Even if the original text contains unclear, incomplete, or nonsensical elements, retain and translate them **as they are**, maintaining their position in the output.

    2. **Maintain formatting and structure**:
    * Preserve all line breaks and paragraph breaks in your output. Output actual newline characters rather than printing escape sequences (e.g., do not output literal “\n” strings).
    * Ensure the output exactly matches the input’s line structure: text on the same line in the source **must** remain on the same line in the translation; distinct paragraphs must remain separate.
    * Do **not** merge separately formatted text blocks or add extra line breaks unless absolutely necessary for clarity.
    * **Example**:
    Input (with actual newlines and paragraph breaks):
    “`
    If we feed it 3, it spits out 6.

    If we feed it 50, it spits out 100.

    If we feed it 1.001, it spits out 2.002.
    “`
    Correct output:
    “`
    如果我们输入 3,则输出 6。

    如果我们输入 50,则输出 100。

    如果我们输入 1.001,则输出 2.002。
    “`
    **Incorrect outputs**:
    * Merged format using semicolons:
    “`
    如果我们输入 3,则输出 6;如果我们输入 50,则输出 100;如果我们输入 1.001,则输出 2.002……
    “`
    * Output displaying literal escape sequences:
    “`
    如果我们输入 3,则输出 6. \n\n 如果我们输入 50,则输出 100. \n\n 如果我们输入 1.001,则输出 2.002.
    “`

    3. **Translate as a coherent whole**:
    * Read and understand the full text context before translating; avoid isolated sentence-by-sentence interpretation that might disrupt overall meaning or flow.
    * Translate the text as a unified composition while ensuring native fluency in the target language.

    4. **Linguistic adaptability and paragraph-level adjustments**:
    * You **may** adjust sentence structure, punctuation, or wording **within meaningful paragraphs** to improve clarity, readability, and naturalness in the target language.
    * These adjustments **must remain faithful** to the original meaning and intent of the source text.
    * You **may** split long sentences into shorter ones (for languages like Chinese) or combine shorter sentences into longer ones (for languages like English) if doing so makes the translation more natural.
    * Where necessary, you **may** add minimal contextual details (e.g., pronoun clarifications, relationship indicators) to ensure coherence and understanding.

    5. **Cultural and linguistic adaptation**:
    * Use standardized translations for proper nouns (such as names of people and places) and technical terms.
    * For culturally specific concepts lacking a direct equivalent, provide translations that preserve the meaning and ensure readability.
    * **Avoid Unintended Connotations**: If a literal translation might evoke unintended meanings in the target culture, choose a culturally neutral alternative. For example, although the literal translation of “reward oneself” might be “奖励自己”, this phrase can carry unintended, strong connotations in Chinese internet slang. In such cases, opt for an alternative that expresses the intended idea without misinterpretation.

    6. **Handling ambiguous or technical terms**:
    * For terms, concepts, or phrases that are difficult to translate or have multiple possible interpretations, choose the most contextually appropriate translation **and provide the original term in parentheses** immediately after, for clarity.
    * **Example**:
    * Source: “Quantum entanglement is a fascinating phenomenon in quantum mechanics.”
    * Translation (to Chinese): “量子纠缠(Quantum entanglement)是量子力学中的一种迷人现象.”
    * If the term is widely recognized in its original form or has an established standard translation, you may omit the parentheses.

    7. **Formatting for target platforms (Plain Text Output)**:
    * Do **not** use markdown formatting markers (such as ** for bold or _ for italics) in your final output.
    * When processing styled text (e.g., uppercase or specially formatted text), translate them to the target language without inserting any markdown syntax.
    * The final output must be in plain text to ensure compatibility with platforms like EPUB that do not support markdown.

    8. **Format rules and error handling**:
    * Pay extra attention to common translation errors:
    * **Speculation**: Avoid introducing elements that are absent from the original text.
    * **Formatting errors**: Ensure punctuation, line breaks, and overall formatting match the source exactly unless minor adjustments are necessary to improve readability.
    * Do not output literal escape characters (e.g., “\n”); always use actual newlines.
    * If ambiguous or incomplete content appears, translate it as is without attempting to clarify or interpret.

    9. **Precision in modifier relationships and syntactic structure**:
    * **Critical Attention**: Carefully examine the relationships between modifiers (such as adjectives, adverbs, and relative clauses) and the words they modify. Misinterpretation of these relationships can lead to significant errors in complex sentences.

    10. **Deep Semantic Analysis – Avoiding Common Pitfalls**:
    * **Contextual Ambiguity & Polysemy**: When words or phrases have multiple meanings (polysemy), rigorously analyze the surrounding context to select the correct interpretation. Do **not** default to the most common dictionary definition if context suggests otherwise.
    * **Example**: The phrase “promise to do” often means “pledge” or “commit”. However, in a context like “it promises to put our visions on a new foundation,” it means “shows signs of” or “is likely to” (有希望/有望). Choosing “承诺” here would be incorrect.
    * Source: `…why it promises—not threatens—to put our most cherished visions of life on a new foundation.`
    * Correct interpretation: `…为什么它有望——而非威胁——将我们最珍视的生命观置于新的基础之上。`
    * **Idioms and Phrasal Verbs**: Recognize and correctly translate idiomatic expressions and phrasal verbs (e.g., “holding forth,” “sort this all out,” “hammered out,” “glide swiftly by,” “steer past shoals”). Literal translation often fails.
    * **Figurative Language**: Accurately interpret and convey the meaning of metaphors, similes, and other figurative language (e.g., “dangerous idea,” “universal acid,” “skyhooks or cranes,” “tree of life,” “library of Mendel,” “design space,” “Scylla and Charybdis”). Find appropriate target-language equivalents or explain the metaphor if necessary.
    * **Subtle Connotations**: Be sensitive to the subtle connotations and emotional weight of words (e.g., “discomfort,” “nagging skepticism,” “outright hostility,” “cherished visions,” “artful methods,” “glib dismissal,” “grindingly detailed infighting”). Choose target-language words that carry similar nuances.
    * **Syntactic Complexity**: Reconfirm your understanding of complex sentence structures, ensuring all clauses and modifiers are correctly related before finalizing the translation.

    11. **Recommended Translation Workflow**:
    * Step 1: **Comprehensive Reading**
    Thoroughly read the entire source text to grasp its style, tone, and overall purpose.
    * Step 2: **Analysis & Identification**
    Identify key terms, ambiguous phrases (polysemy, idioms, figurative language), complex sentences, potential modifier issues, and cultural nuances.
    * Step 3: **Draft Generation & Evaluation**
    Generate **multiple candidate versions** (e.g., 2-3) internally, focusing on resolving the identified challenges differently.
    * Step 4: **Self-Correction & Selection**
    Compare candidates against all requirements (fidelity, formatting, fluency, cultural sensitivity, semantic accuracy, structural correctness). Select the best version.
    * Step 5: **Refinement**
    Refine the chosen translation if necessary, ensuring all rules are met.
    * **Note**: Do **not** reveal any internal steps, candidate versions, or reasoning in the final output.

    12. **Output instructions**:
    * Translate **only** the text provided below. Do not include any comments, explanations, or meta-discussion.
    * Follow strictly the format and rules specified above.

    ***
    The following content needs to be translated. Please read it carefully before translating:

  • 记录验光换镜片不换镜框的经历

    我上次验光配镜已经是好多年前了,但是配镜却在4年前有过一次。当时没有重新验光,只是网上更换了眼镜作为旧眼镜老化的替换。当时为什么不去重新验光?原因就是验光的各种花样太多了,触发了我的拖延症,于是选了一个偷懒的方法。那会儿,我也不太相信成年之后度数还会有大的变化。

    今年10月份我在和人玩游戏的时候,突然发现现在的镜片已经没办法看清楚几米外电视上的游戏文字,已经不能愉快的和人玩耍,我才意识到现在的度数已经相当不合适了。

    当然,这时候我才突然意识到错误,每次更换眼镜,必须重新验光,成年之后度数是真的会涨啊!

    因为这次不得不验光,所以我又重新调查了下各种配镜验光的套路,还是和以前一样让人难以抉择。

    首先团购网站上,有一些商家提供“验光不配镜“的服务,就10-30块钱,但是,有的人评价是不错,有的人评价是给的配镜结果根本不舒服,验光服务就是敷衍,本质上是引流的。

    又有的人说,去当地的三甲医院验光。但是,同样有人反馈,医生很忙的,很多就是用电脑验光仪给你查查,然后随便调节两下就出结果。而且有的医生特别喜欢在这里额外开接近一百块钱的检查,其实和配镜没什么关系。

    还有的广告,在宣传某些眼科医院的医学验光,但是我看了这些医院,同样是提供现场配镜服务,所以他们到底是真心验光还是引流同样打个问号。

    还有的,我听说可以找之前配镜的商家,让他们帮我重新验光,而且不配镜白嫖个处方。(这里实际上是说的Jins)

    看到这里,你打算怎么选?是否已经纠结死了,同样触发了拖延症?

    幸运的是,这次我在调查了某团和某音团购之后,突然发现一个连锁眼镜品牌的团购,竟然有商家提供验光+镜片不包含镜架服务,而且我问了可以只更换镜片不更换镜架。那我就用我以前的老镜架去测试一波,不就完美了吗?验光到底准确与否,我低成本测试了不就好了。

    现在说今天发生的事情。

    这次验光,同样是用小房子验光仪开局,之后过了另外一个验光设备,然后验光师就取下了我正在使用的眼镜,测量了现有眼镜的参数。

    这个店里是有另外的一个房间专门作为综合验光房间的,但是验光师并没有使用这个房间,反而是直接开始用手工加镜片,让我看一个特定距离的显示器上的E字母,不断的测试各种不同的度数了。

    手工不断的测试各种组合,那可真的不是一般的麻烦。

    验光师想找到最低的临界点,就是加更多度数没有更多收益,降低则会明显变差,尽可能少的添加度数,同时还要双眼视力平衡,并且不要两眼过于清晰,因为这样看近距离电脑就太占用眼睛疲劳度了。

    就这样反复测试左眼,然后反复测试右眼,然后是左右眼一起测试,测试了非常多的组合。最后是定下来了一个度数,让我看看不远处的文字,是否能比较好看清以及双眼是否平衡。在这里,我发现双眼不太平衡,于是又重新回去做了下手工测试镜片。

    再次调节之后,这次进行了走楼梯和近距离看手机测试,确定无碍之后终于给出了配镜处方,之后进行了镜片加工。

    这里有个小插曲,验光师询问得知这次用的是1.56镜片之后,就表示这个镜片调节度数没有折射率更高的镜片调节那么细,所以这次的计划实际上存在纰漏。如果有人想要效仿我,最好团购或者优惠价买一个可以更加精细调节度数的镜片。

    我进店的时候是4点多,出来的时候已经快要下午6点,虽然其中有一些是等待时间,但是其他人也可以感受下整个过程到底有多耗时。

    在等待的时候,我还问了验光师,我这个脸型适合的镜架宽度,于是他又现场用尺子测量了我目前眼镜的尺寸,带我试戴了下其他尺寸的镜框。果然,其他尺寸的镜框还真的就对夹肉感有改善——虽然现在的夹肉感也不强。

    如果想要配镜,我感觉和验光师合作选择镜架现场试戴还是有必要的,毕竟试戴是不要钱的。

    一段时间之后镜片已经加工结束,并且安装到了我之前的JIns眼镜上,本次配镜也就结束了。当然,验光师当场就把加工用的配镜处方给了我。

    我问验光师,验光都这么麻烦耗时吗?他说一般人不会像我这样比对这么细。他倒是并没有怨言,全程都是职业水准在线。

    我想如果我去医院花几十块钱做配镜眼光,医生应该不可能就为了这么几块钱为我花费一个小时反复比对吧?所以总体来看,这次团购我是有点物超所值了。

    现在我是打算测试下现在的处方是否好用,如果在一个月左右的测试中发现有问题,可以要求售后重新眼光和制作镜片。若是好用,就上PDD 70块钱换一个明月PMC镜片。我没有用过明月镜片,这里只是提一下我的计划。

    之前提及的团购的价格是28元,扣除支付立减15元,最后实付13元,这就是我今天的配镜经历。

    我今天的经验只适合低度数的,不适合高度数的折腾,因为1.56镜片的兼容度数是真的比较低,稍不注意就超了。

    另外,这次的镜片估计也就几块钱成本,但是观看效果比我之前的蔡司新轻锐铂金膜好太多了。没有正确的验光数据,什么镜片都是白搭。

    PS:我这次去的是主要在四川经营连锁的“世远眼镜”,就目前来说确实还不错,以后就不保证了。

  • 我不相信辱骂自己是合理的激励

    今天我脑海中突然闪过一个思绪,想到了一点往事。

    上高中的时候,我听关系挺好的一个前舍友说了他一个女同学的故事:她下课了也不去玩耍休息打闹,自习整理错题本也不是整理错题本身——而是不断写下自己“连这都要错,真是垃圾”之类的话,通过评价自己是废物来“激励”自己。

    这故事一说,我们都感觉挺搞笑的。但是现在仔细一想,这种类似的操作,很可能是这地方的文化比较常见的。

    我相信大部分身陷抑郁的人,都被“长辈”提及过以下内容:

    你就是废物。
    你就是垃圾。
    白养你这么多年。
    养你有什么用。

    也许,这些“长辈”,还觉得自己是“为你好”,是在“激励”你。

    如果有人觉得上面的话还过于常见,那么下面来自平等关系的评价:

    这人果然是个傻S13。
    那人就是个废物。
    他就是什么都做不好。

    放在平等的关系中,当事人也许不会说这是为你好,但是会说“他的确就是这样”。

    对当事人自身,同样会产生类似的想法:

    没做好这个事情,我就是垃圾。
    没做好那件事情,我就不配活,就应该重开。

    当事人也许会相信这是合理的,罪有应得的,而且会让自己变好。

    你们相信以上观点吗?
    辱骂和攻击到底是一种有效的激励方法吗?

    我也学过激励相关的内容,如果辱骂真的是一种行之有效的激励方法,那么它肯定已经风靡全球,早就写入了教材。
    如果辱骂是有效的,我们也不会被教导要“有礼”,而是要尽可能具备攻击性。

    所以,显然,辱骂绝对不是一种有效的“对你好”的方法。不管是来自前辈,还是同级,还是自我的辱骂,除开让自己不断的抑郁焦虑,我没看到什么益处。

    其实,某件事情失败并不能说明人是废物,毕竟在宇宙中,应该不会找到什么智能生物,可以无差错做好一切事情。

    关键的问题,在于当事人的想法需要转变。

    如果当事人相信人是可以改变和成长的,就不会再相信别人发送给他的“你是废物”,“你永远这样”是有根据的,也不会相信自我攻击中的“我是垃圾”。

    同样,既然相信人世间很多事情,是可以改变的,就没有必要纠结于为具体的事情寻找“责任人”,不管这个人是其他人,还是自己 ,而是更应该关注事情具体的解决办法,尝试解决它,修复它。

    下面摘录一段文字,可以作为本文结尾。

    第3章提及的那项研究表明,拥有成长型思维的人,对他人的攻击性会降低。有意思的是,这种变化是源于人们自我感觉的改变。根据该项研究,具有固定型思维的人认为自己无法改变,因而对自己行为的羞耻感更强、更有攻击性。一旦他们知道任何东西都不是固化的、都是可以改变的,他们的自我羞耻感就会降低,也就会改变对他人的看法。他们不再把他人甚至是敌人看成天生的坏人,而是把他们看成做出了错误的选择但可以改变的人。因此,他们的攻击性倾向会逐渐减弱,取而代之的是宽恕。
    这种深刻的变化,源于开放的观念和开放的心态。转变观念——不是抗拒而是接纳差异性和大脑生长潜能,人们的互动交流方式就会发生巨大的变化。对于这一点,也许我们才刚开始理解。我们已经清楚,转变观念,可以提高学习成绩、减少冲突。如果学生相信人人都可以改变和成长,应该尊重不同的想法,那他们合作学习时就会改变互动交流的方式。

    以上摘录出自“学习天性”

  • 为什么有的人就是不愿意改变?

    (这只是我的一点感想,不是说真相一定是如此,也不是说真相只能是如此)

    我发现有的人确实特别固执和拒绝改变,即便对方是迫切需要改变的抑郁患者。

    虽然我很久以前就到处说想改变成年人是几乎不可能的,因为他们还没有成年的时候,就固有了某些认知,长大了之后不仅不会根据现实修复这些认知,反而会无视不利证据,坚定寻找有利证据,于是想改变是几乎不可能的。

    但是对于一些知道自己应该改变的人也这么干,这就不得不让我怀疑是否还有其他原因。

    其实,有种东西叫作阻抗。拒绝改变是有好处的,比如获得他人的关怀,可以随意指责他人,不需要努力..等等隐形的好处。这些都是常见的观点,但是我感觉还不只是如此。

    也许还有一种好处,就是不改变,就不需要学习,就不需要思考,自然也就不需要重新为以前的事情找到另外一种解释:找到了新的解释,那不就是改变了以前的观点吗? 是不是就等于在否定自我?

    所以这其实是人性固执特点的一环罢了。

    本来是一片平等的雪地,只因为以前常走,这里就成了顺滑的冰路,哪怕不经过思考,也会自动进入这条快速通道。人在以后,几乎就是自动进入,不再会探索新的路径,不再承认其他的路也有自己的风景,其他的路也是不错的选择。

    我都别光说别人的阻抗了,其实就连我自己都有特别明显的一些阻抗。

    不说别的,就是看那些到处是数学的书,感觉就有点“内在痛苦“,就想干点简单的,从表象上来说,这就是拖延症了,总把难的或重要的事情拖延到后面去。

    这真没办法,我想地球人都有点这样吧,只是程度不一样。

    我知道有的人稍微多等两分钟就受不了,马上就会立即选择丢下书本。

    同样的道理,那些拒绝看书学习然后改变的人,如果是文化程度较低的,也许仅仅是因为他们在阅读和学习上有障碍,只要看书就会痛苦。没有经过专门的干预,他们的这个特点其实是情有可原的。

    人生不是一成不变的,现在看来无比绝望的事情,后来很可能会发现其实不过如此。

    现在坚守的观念,在未来也会显得极为可笑。​

    现在的绝境,既不是永恒的,也不是不可变的。现在感觉不可能过去的难关,在合适的行动下,也很可能会得到解决。

    有可能,人其实需要的是自我和周围一起变。

    自我学会拆分大型任务到子任务,然后拆分到微任务,用时间的力量来慢慢解决问题。周围有亲人,友人的支持,不再是抵触,反而是提供便利的环境。

    在独处时没有动力的时候,还有人引导和推动自己;社会也不再是歧视,而是提供足够的机会…

    在开放而宽松,有目标,有支持的环境下,何愁不能成功——哪怕成功少数几次也足够了。

     

  • 游戏串流软件如Sunshine语音聊天回音问题的解析

    现在原子化时代,想要朋友一起近距离玩游戏和看电影越来越困难了。不仅是找人难,还在于就算是有了指定的游戏,如果每个人都寻找一份副本且进度同步,其实是一件成本很高,难度很高的事。

    我目前能想到的最好的方案就是串流——不仅是串流玩游戏,还可以串流一起看电影,看视频,逛网站。

    在2022年的时候,我就用过Parsec,对于回音问题还是有一些心得的。现在Parsec新版已经直接更新了app 白名单制度,可以直接使用Skype在国内语音通话而不会发生任何回音。

    经过我的测试,在国内最简单和优质的串流方案就是Parsec+Skype。其他的语音聊天软件在国内基本处于用起来让人崩溃的阶段。

    不过现在的sunshine服务器和网易的gameviewer的回音又应该如何解决呢?

    Parsec以前的方案也就是用VB audio出品的虚拟Cable来解决问题,其他的方案因为没有原生的白名单支持,所以依然可以使用这个完全免费的简单方案。

    回音问题的起源

    所谓回音问题,是在Host主机上开语音聊天软件与串流的其他受众在语音时,受众会发现自己说话的声音出现在了自己的扬声器中。受众当事人会稍后听到自己的声音,所以就有了回音。

    究其原因,是因为Parsec默认抓取的声音输出是整个系统的声音输出,其中就包括Host主机上听到的声音,也就是之前说的受众说话的声音。

    回音消除的思路

    显然的,想要消除回音,就让Parsec抓取的声音和语音聊天软件所使用的声音分离,正确地将游戏和系统声音输送到Client的受众,同时还要让Host主机当事人可以听到自己的系统声音。

    可以选择的方案其实很多,Voicemeeter等等软件是有成本的。最免费和简单的,是用同公司出品的VB-CABLE Virtual Audio Device免费软件。

    VB-CABLE Virtual Audio Device的唯一作用,是作为输出端接收声音,此时属于虚拟扬声器;然后将前者的声音作为输入端播放声音,此时属于虚拟麦克风。它唯一的作用就是一个声音桥接。

    通过这点,我们可以将需要串流的声音全部输出到虚拟扬声器,然后让Parsec,Sunshine,网易gameviewer等软件抓取虚拟扬声器的声音。

    同时,我们在语音聊天软件中,将真实的麦克风设置为语音聊天的输入端,再将真实的物理扬声器,设置为声音的输出端,那么sunshine等串流软件,就不再会抓取到client受众的语音说话声音,那么回音就自然消除了。

    看到这里,你估计已经发现了问题,那么Host岂不是自己就没了游戏等系统声音?

    要解决这点,在彻底免费的大前提下,可以使用Windows自带的录制“侦听”,或者翻译为倾听,将虚拟麦克风的声音回放到指定的物理设备。

    如此,就彻底解决了声音分离和host能听到声音的问题。

     

    VB-CABLE Virtual Audio Device的配置

    首先是安装对应的驱动程序然后重启计算机。这点请自行完成。

    请将真实物理扬声器的音量拉满

    然后我们需要打开Windows控制面板的声音设置,将真实物理声音输出设备所连接的声卡音量拉满。

    这是因为,等会我们会将虚拟声音设备的声音重新输出到真实物理设备,从而确保Host主机可以听到自己系统的声音。但是不同声卡的音量大小是独立的。现在请将真实设备的音量拉满,方便我们稍后在虚拟设备中调节音量大小。

    如果你不这么做,那么虚拟设备最大的音量也不会超过真实设备设置好的音量。

    请将VB-CABLE设置为系统默认声音输出

    Windows现在有两套声音设置界面,两者的数据是互通的。下图表述的是将虚拟声音设备设置为系统默认声音输出设备。

    设置不同APP的声音输出设置

    聪明的你应该已经通过上图发现了,不同APP一般来说是使用的系统默认输出设备,但是每个APP本质上可以独立设置自己的输出和输入,所以也请检查你想要串流的APP是否将声音输出设置到了虚拟设备。

    上图为网易云的声音输出设置。我将网易云音乐的声音输出设置到了Wasapi的虚拟扬声器。

     

    通过倾听设备,将输入的声音回放到真实物理输出设备

    请打开传统Windows声音面板,切换到录制,选择虚拟麦克风,打开侦听功能,同时指定真实的音响设备。

    这项设置的功能,是将虚拟麦克风接收到的声音,重新投送到真实物理扬声器上进行回放。

    所谓“侦听”其实是“倾听”,“播放”,其实是“回放”。

    因为这里涉及到了一点声音处理转接和混合流程,所以声音会稍微多一点延迟。

    确保Parsec等软件抓取的是虚拟扬声器的声音

    保险起见,请手动确认下,Host中等待被抓取的设备是否是虚拟扬声器设备

    以上截图仅仅用作示例,因为Parsec已经支持app白名单,所以是没有必要使用虚拟扬声器的。需要使用虚拟扬声器的,注定是sunshine,网易gameviewer等软件。

     

    语音聊天软件请直接使用物理设备

    以微信为例,请一定一定要使用真实的麦克风和扬声器作为输入输出设备,不然就会再次发生回音。我们的目的就是要分离不同app的声音,可别在这里弄错了。

     

     

    通过以上设置,本文最开始的思路和目标已经完全实现。现在语音聊天和串流之间互不干扰,且host主机自己也可以听到声音。终于可以愉快的和小伙伴玩耍了。

     

    本文本质上是对Parsec官方文章的重新解读,如有需要可阅读原文。

    Eliminating Sound Echo While Co-Op’ing With Friends – Parsec

     

  • 中行长城通跨境借记卡一定要办理万事达不要Visa

    几年前,我去中行本地网点申请了一张万事达白金卡,去年已经过期了。过期之后发现中行偷偷将它降级成了三类卡,这下就连银行工作人员都震惊了——换卡不换号已经毫无意义。

    换发一张新的三类卡?那不是搞笑吗。

    于是银行员工直接给办理了一张新卡,凑巧的是这个网点只有Visa卡。我想的是能用就用吧,就办理了Visa。

    等回来看了下,现在中行主推中行跨境Go程序,上面有不少的优惠。这一看,直接气死。

    什么推荐返利,激活返利,消费返利,考试缴费返利,新人优惠等等,那和Visa卡是一毛钱关系都没有。

    所以,记得以后只要万事达的卡,大不了去网点申请,然后过半个月再去拿。

     

     

  • 搬家重装WordPress到docker版本顺路解决媒体库无法加载转圈问题

    我目前的WordPress网站已经连续使用了十多年了,经历过各种虚拟主机和VPS,用过Apache和Nginx,不可避免的已经有了不少历史遗留问题。

     

    历史遗留问题

    之前,最让我恼火的,就是三个问题:

    媒体库总是转圈,无法查看和管理,以及在文章中插入图片。
    媒体库上传的中文文件名已经乱码。
    更新WordPress总是提示“更新失败,status:success”。又成功又失败,这是怎么回事?

     

    中文文件名乱码问题

    其中,中文文件名乱码算是相对好解决的。这个问题的起因也许是某些我经历过的Linux版本对中文文件名的支持有比较严重的问题。因为WordPress对上传的文件总是会生成几个不同分辨率的缩略图。而我上传的图片大小也是不固定的,这就导致,不同的文件其实是会有相当不同的分辨率的缩略图。

    就利用这点,如果你也是洁癖,愿意修复这个问题,那么可以模仿我之前的操作。 我的方法,就是下载了数据库文件.sql ,然后在本地用VSCode打开,搜索这些特定的分辨率,就能在数据库中找到正确的中文文件名。虽然本地文件名中的中文已经乱码,但是分辨率部分,比如100X100这个是没乱码的,通过这点就能手动修复已经乱掉的文件名。

    如果有的文件还是不太确定,就需要依靠记忆或者其他元数据中的线索,来决定文件名了。

    至于第二个问题,那才是最严重的。

     

    WordPress媒体库转圈无法打开问题

    我的WordPress从2022年附近开始,就无法在后台查看媒体库,而我完全不知道原因是什么。我当时唯一做过的,大概就是更新WordPress版本和oneinstack版本,其他什么也没做。

    之前,我在网上查找过各种各样的方案,少说也有10个吧,但是没有一个实际有效果,浪费非常多时间。 如果你也遇到了这个问题,我劝你还是别折腾了,直接像我用接下来会介绍的方法重装吧,直接清理掉各种历史遗留问题。

    在2023年,因为oneinstack暴露出疑似会给某些用户挂马,所以我决定抛弃oneinstack,切换到基于docker的1panel。

    当时的迁移过程真就没什么好说的,还是下载WordPress文件,导出数据库.sql (mysqldump),导入数据库。 数据库方面需要注意的是,1panel的mysql通信地址不再是127.0.0.1这样的,而是用的docker地址,需要专门修改下。

     

    1panel用直装版WordPress还是有媒体库转圈圈

    1panel其实也基本支持继续使用原来的WordPress文件直接运行,方法是使用所谓“PHP运行环境”,实际上就是用的docker版PHP。

    这里需要注意1panel的小字提示,index中的文件需要设置用户和组到1000。

    最开始,因为当时比较赶时间,所以我就是用的这个方案,毕竟熟悉嘛。结果呢…因为我依然是用的十几年来一直在用的WordPress,后台媒体库无法查看和管理文件的问题依然没有解决! 依然还是转圈圈。

     

     

    迁移1panel上的直装版到docker版WordPress

    于是今天我终于决定研究下怎么将直装版的WordPress迁移到docker中。

    在询问了GPT4turbo后,我发现其实这个过程简单到不可思议。简单来说,我只需要压缩和解压缩wp-content文件夹。

    大家可以看看GPT的回答:

    问:我打算将WordPress从直接运行的php环境搬迁到docker版本,因为docker版本已经准备好了所有的可执行文件,我似乎进行这种搬迁只需要处理自己的文件就可以了。那么我具体应该保留哪些文件呢?

    GPT4turbo:在将WordPress从传统的PHP环境迁移到Docker环境中时,确实焦点主要在于迁移你的个人数据和配置。这包括数据库、上传的文件、主题、插件以及自定义的配置文件。以下是迁移过程中你应该保留和转移的关键文件和数据:

    1. wp-content 文件夹:
      • 插件(Plugins):位于 wp-content/plugins 的所有文件和目录,这里包含了你网站的所有插件。
      • 主题(Themes):位于 wp-content/themes 的所有文件和目录,这里包含了所有安装的主题。
      • 上传的文件(Uploads):位于 wp-content/uploads 的所有文件和目录,这些是网站上上传的媒体文件。
    2. 数据库备份:
      • 导出当前环境中的WordPress数据库。可以使用phpMyAdmin或其他数据库管理工具导出SQL文件。
    3. wp-config.php 文件:
      • 这个文件包含了数据库连接信息以及其他重要设置。
      • 在迁移到Docker环境时,可能需要更新数据库的连接信息或表前缀等。
    4. .htaccess 文件(如果使用Apache):
    • 如果是在基于Apache服务器的环境中,.htaccess文件用于配置重写规则和其他服务器层面的设置。

    实际上,上述的大部分过程对我这样的,从1panel直装版WordPress迁移到docker版WordPress的用户来说,是不需要做的。

    docker版本WordPress的本质,就是将VPS上的WordPress文件映射到docker容器内部。

    基于以上思路,那么我现在需要做的就是首先做好资料备份,然后转移下文件而已。

     

    建议你先备份数据的迁移流程

    首先来到1panel,选择备份网站,将原来的直装版WordPress备份而且下载。注意,这个备份应该有大约70M,不要弄错了。

    来到数据库,将数据库备份然后下载。

    现在准备实际迁移。

    利用1panel的在线文件管理器,来到直装版WordPress的文件目录(在网站选项中可以直接进入这个目录),将wp-contens文件夹压缩,然后将wp-contens.zip移动到其他的某个你方便的位置。

    现在可以删除原来的直装版WordPress。不用担心,因为已经下载了备份,直接删除不会有什么风险。之所以删除,是因为原来的网站占用了域名资源,不方便你接下来的迁移。

    在应用商店搜索WordPress(docker版)安装,其中的数据库信息和原来一样,然后在https://你的后台管理面板/apps/installed,你可以看到新WordPress的文件目录。

    现在再次选择之前你复制到其他位置的wp-contens.zip,移动到docker版WordPress在vps上的数据目录(/opt/1panel/apps/wordpress/wordpress/data),然后解压缩。

    文件迁移已经完成,现在来匹配用户权限

    在1panel在线文件管理器中,来到wp-contents目录,可以发现docker版WordPress的所有文件都是www-data用户,www-data用户组。
    而你之前迁移过来的文件,可能是其他的用户和用户组,所以现在需要修复这一问题。

    选择wp-contens文件夹,选择权限,勾引递归,将用户和用户组都设置成“www-data”,修复用户问题。
    如果你是从其他地方迁移过来的,可能还要注意用户权限。文件夹的权限都是755,文件的权限是644。

    如果你不做以上修复,有相当大可能出现无法更新WordPress插件和主题的问题,会报错没有目录创建权限。具体可以查看这篇文章。

     

    现在已经完成了迁移过程,就是这么简单。

    现在剩下的就是配置下域名和证书什么的了,我相信这点没任何难度。

    wp-config.php这个文件是不需要手动迁移的。因为docker版WordPress的wp-config.php文件中的信息都是来自docker环境变量,而这些环境变量会在你设置容器的时候手动设置。所以你需要做的只是复制下其中的信息,然后填写到docker容器的设置选项中。

    现在重新打开你的WordPress域名,应该可以发现一切都正常了,包括媒体库转圈圈的问题终于彻底解决了。

     

    如果你是其他迁移路径

    如果你不是从1panel 直装版WordPress迁移到docker版,那么你的流程只需要做稍微修改。 反正还是导入数据库,然后上传wp-contents.zip文件夹到data中解压缩覆盖即可。

    总的来说,docker版的WordPress迁移过程其实比以前直装版的更简单。

    本文到此结束,希望对你有帮助。