摆脱低潮漩涡 |
2024-11-19 |
这2天不知为啥,我的动力精力骤减,什么也不想做,只想刷手机刷视频葛优瘫。
这种感觉,我再熟悉不过了,每过一段时间,这种低潮状态就会袭来,
以前我都是放任不管,想干嘛就干嘛,正常一周多就会好转
但这次我想主动出击:
首先,我认识到,这种情绪是很正常的,无需懊恼增加负情绪,也不要强制自己去做任何困难的事情,因为这时候的意志力非常脆弱且宝贵。
其次,刷手机刷视频葛优瘫等行为可缓解症状,无非就是因为快速的多巴胺分泌,大脑尝到了甜头,获得了即时的满足感
但,既然大脑想要愉悦和满足感,那么为什么不使用质量更高的内啡肽来替代呢
所以,我做了以下这些事:
- 我去学习了以前觉得不务正业、或者暂时无用的知识;
比如使用官方教程学习Zig语言,如果你是程序员,你应该知道学习一种新语言很舒爽,因为基础知识反馈的很快且有效,就像短视频一样 - 去自己的“稍后读”库里找文章看看,因为都是自己感兴趣的,所以很容易进入心流状态
- 折腾系统、NAS等,这不用我说吧,时间黑洞,而且很爽,虽然没什么用
很快,第二天下午我就拜托了低潮状态,虽然“浪费”了一天多的时间,但至少不会再像以前那样,刷7天的短视频,而且这一天多的“无用”时间,非常“有用”,顺带还输出了这篇博文。
综上,如果你也遇到了自己的低潮期,不要懊恼烦躁,它只是一种情绪,接受它,然后去做做那些以前你想做,但觉得“无用”而没去做的事,不仅限于学习新东西,还可以是扫扫地、收拾房间、种一盆绿植等
在Rails 8中使用SQLite进行全文搜索 |
2024-11-18 |
Rails 8中添加了很多SQLite的功能,而且全都是生产可用的级别,比如非常有用的fts, 也就是full-text search,对于中小型应用相当好用,不用再单独起一个服务。
但该功能全网还没有任何教程或者信息,包括rails官方文档也暂时没有更新,所以只能查代码和一个该功能的PR
以下是配置fts的基本步骤,供参考:
场景:给博客应用添加搜索功能,索引标题(title)和内容(content),其中content是rich text类型
- 手动创建迁移文件
bin/rails g migrate CreateVirtualArticleFts
内容如下:class CreateVirtualArticleFts < ActiveRecord::Migration[8.0] def change create_virtual_table :article_fts, :fts5, ["content", "title"] end end
- 创建model文件
app/models/article_fts.rb
class ArticleFts < ApplicationRecord self.primary_key = "rowid" # 虚拟表只能使用rowid end
-
创建
app/models/concerns/article/full_text_search.rb
文件module Article::FullTextSearch extend ActiveSupport::Concern included do has_one :article_fts, foreign_key: "rowid" end class_methods do def full_text_search(input:, limit:) where("article_fts.title LIKE ? OR article_fts.content LIKE ?", "%#{input}%", "%#{input}%") .joins(:article_fts) .limit(limit) .distinct end end def find_or_create_article_fts return if article_fts sql = ActiveRecord::Base.sanitize_sql_array( [ "INSERT INTO article_fts (rowid, title, content) VALUES (?, ?, ?)", id, title || "", content.to_plain_text ] ) ActiveRecord::Base.connection.execute(sql) end end
- 在
app/models/article.rb
模型中添加导入和回调函数include Article::FullTextSearch after_save :find_or_create_article_fts
- 在
app/controllers/article_controller.rb
使用搜索参数@per_page = 10 @articles = if params[:q].present? Article.full_text_search( input: params[:q], limit: @per_page )
- 添加搜索框的前端代码
<%= form_tag root_path, method: :get, class: 'search-form' do %> <%= search_field_tag :q, params[:q], placeholder: 'Search...' %> <%= submit_tag 'Search' %> <% end %>
最后重新
db:migrate
后就可用了
macOS设置默认shell为Nushell |
2024-11-17 |


使用Nushell有一段时间了,今天总算下定决心将其设置为默认shell ,因此记录下macOS设置默认shell的过程

-
安装Nushell:
brew install nushell
-
设置环境变量:
首先查看当前已有的环境变量:$env | reject config | transpose key val | each {|r| echo $"$env.($r.key) = '($r.val)'"} | str join (char nl)
正常情况下,要删除$env.PWD
和$env.SHELL
这两个变量,然后剩余的手动添加到nushell到env.nu配置文件中:
vim /Users/YourUserName/Library/Application Support/nushell/env.nu
-
添加Nushell到/etc/shells中:
sudo echo "/opt/homebrew/bin/nu" >> /etc/shells
如果该命令报错:zsh: permission denied: /etc/shells
则可以手动修改:sudo vim /etc/shells
-
修改默认shell:
chsh -s /opt/homebrew/bin/nu
如果命令报错:chsh: /opt/homebrew/bin/nu: non-standard shell
则检查第二步是否完成 -
验证:
echo $SHELL
-
注销重新登录即可
PS:由于nushell的配置文件在Application Support文件夹下,所以我还创建了一个软链接到~/.config/nushell
下,方便备份和编辑
ln -s $nu.env-path ~/.config/nushell/env.nu
ln -s $nu.config-path ~/.config/nushell/config.nu
Github官方对现有模型的评价 |
2024-11-15 |
早上收到了Github发的Newsletter,其中对于现有主要模型的使用,给出了以下评价:
至于 GitHub Copilot 的模式选择,GitHub Copilot Chat 用户在未来几周内将可以选择五种不同的模式,每种模式都有自己的优势:
OpenAI 的 GPT 4o 是 OpenAI 的 GPT-4 系列中最先进的多模态模型。可处理文本和图像输入。
Anthropic的Claude 3.5 Sonnet擅长整个软件开发生命周期内的编码任务,从初始设计到错误修复、维护到优化。无论您是将其用于传统应用程序更新还是代码重构,Claude 3.5 Sonnet 都能熟练地完成复杂的多步骤编码任务。
Google 的 Gemini 1.5 Pro 将在未来几周内推出,它在代码生成、分析和优化方面表现出色。它具有原生的多模态功能,并具有多达 200 万个代币的超长上下文窗口,是所有大规模基础模型中最长的。
OpenAI的o1-preview设计侧重于高级推理和解决复杂问题(包括数学和科学任务),使其能够更深入地理解代码约束和边缘情况。
OpenAI的o1-mini比o1-preview更小、更快、更便宜80%,在代码生成和小型上下文操作方面表现出色。
按我的理解,简单来说:
GPT 4o: 不要用
Claude 3.5 Sonnet: 请用这个
Gemini 1.5 Pro: 除非你想把整个repo塞进去,否则不建议用
o1-preview: 解决代码的边缘情况
o1-mini: 不要用
小心地做困难的事情 |
2024-11-14 |
练习追踪自己的边界,可以让你在进行橡皮筋拉伸的同时还能回弹。如果不牢记自己的优势,你可能会把自己拉伸到断裂的地步。或者,您可能会把自己拉得太小,以至于永远无法成长。
我经常在尝试跳出某个邻域的舒适区,但有时会很难受或者结果并不好,
看完这篇文章我才知道,那是因为我并没有清晰的认识到自己的舒适区到底有多大,即我的边界在哪里,这点很重要
超越天马行空的人工智能 |
2024-11-14 |
文章:Moving Past Skeuomorphic AI
人工智能被困在我们自己制造的盒子里,科幻小说告诉我们,不要害怕让超强的人工智能 "逃脱束缚",但当代人工智能却被另一个束缚所困,那就是我们对技术用途的思维模式
我们的主要瓶颈并不是智能或基础设施不足,而是我们对人工智能的发展方向感到困惑。我们受困于"偏态"思维,通过人类智能的视角来看待机器智能
是的,目前大部分AI应用,主要都是实现某种繁琐工作的自动化流,实际上还是在做人类做过的事情,类似当初把黄页放到互联网上。
作者建议,我们应该围绕人工智能独一无二的特性来构建应用,开辟新服务和产品,而不是仅仅优化现有的解决方案,最后作者列出了目前一些有创意的新服务和产品。
我创建了Blogroll页面 |
2024-11-14 |
如果您想订阅我的信息源,您可直接按以下类别订阅,会自动新增所有我新订阅的内容,而无需一个个添加
- 国内博客(cn): https://rsstranslator.versun.me/rss/category/cn
- 国外博客: https://rsstranslator.versun.me/rss/category/person
- 组织/机构: https://rsstranslator.versun.me/rss/category/org
- 期刊: https://rsstranslator.versun.me/rss/category/journal
- 新闻: https://rsstranslator.versun.me/rss/category/news
- 公司: https://rsstranslator.versun.me/rss/category/company
- 其它:https://rsstranslator.versun.me/rss/category/other
队列理论与邮局 |
2024-11-14 |
文章:Queue theory & post offices
来自Ghost的Newsletter,内容主要是开发日志,主要面向非开发者,所以语言很直白,没有太多的专业术语,挺有趣的,比如这期关于队列的描述:
当你开始扩展 ActivityPub 时,你很快就会意识到需要一种叫做队列的技术。幸运的是,所有在 Ghost 开发 ActivityPub 的工程师都是英国人,如果你不知道,英国人其实是世界上最擅长排队的人。这是英国文化中根深蒂固的一部分,除了天气之外,它还能让我们有别的事情可以抱怨。
事实上,如果两个英国人站得很近,不小心排成了队,通常会有第三个人加入,以防万一。
因此,我们的团队完全有能力完成手头的任务。
Codeium Cascade |
2024-11-14 |
沉寂许久的Codeium总算推出了大杀器:Cascade 人工智能IDE, 也是vscode的分叉
对标Cursor,但AI集成的更彻底,不仅可以自动编辑文件,还可以运行命令和更强大的上下文管理。
有免费层,价格10美金起
演示视频:
具体的功能介绍可以看这里
Ruby的虚拟环境管理 |
2024-11-11 |
Ruby官方推荐的环境管理工具有asdf-vm, chruby, rbenv, rvm, uru
个人实测下来,最方便的是asdf-vm,测试平台: macOS(M1), Linux X86-64, Replit IDE
简要记录下基础的使用方法:
安装asdf-vm
按照官方文档安装即可
安装Ruby插件
asdf plugin add ruby
安装依赖
根据官方文档安装编译ruby所需要的依赖
安装Ruby指定版本
asdf install ruby 3.3.5
设置本地的Ruby版本
asdf local ruby 3.3.5
该命令会在当前文件夹中创建.tool-versions
来记录特定的版本
设置全局版本
asdf global ruby 3.3.5
全局默认配置在 $HOME/.tool-versions
文件中进行管理
列出已安装版本
asdf list ruby
列出所有可用版本
asdf list all ruby
显示当前版本
asdf current