本博客的未来动向 |
2024-11-07 |
正如我之前在推上所说的,之后要像Simon和Kottke那样去经常发布自己的所见所闻,这几天测试下来,感觉很舒服,因此会一直贯彻下去。
同时,我的未来目标是只在博客上发表一切,因此还需要交叉发布的功能,以便自动转发到不同的社交平台上,
还有我的54321周刊,未来也将会慢慢转为本博客的周报,因为所有的见闻我都会直接在博客上先发表,因此做为周报再合适不过了
为了实现该目标,我正在使用Rails 8开发属于自己的博客引擎,该博客引擎将具有以下特色/功能:
- 小巧简单易用快速
- 没有花里胡哨的主题样式,尽量做到No CSS or Less CSS
- 但也提供了自定义css功能
- 简易CMS功能,即在线编辑发布和管理
- 简单够用的编辑框
- 一键交叉发布到不同的社交平台(将首先支持推特)
- 自动备份(git/s3/local),且备份是静态站点的形式,可直接部署浏览
- 可导出json格式,文章内容为html格式,图片附件在单独的文件夹,方便开发者自行转换处理
- 提供全部文章的feed和每个标签的feed
- 好用的搜索功能
- 实用的微功能:https://danilafe.com/blog/blog_microfeatures
- 有newsletter功能,且可按频率订阅(实时/周报/月报/指定标签)
- 可一键替换所有文章中的指定文字
- 最好能和个人的笔记系统联动
- 自动archive到Internet Archive
- 可代替评论的功能(待评估)
- 自动发布到HN代替
- 每篇文章在网页侧边实时匿名聊天,可由作者手动Pin多条聊天内容做为精选
敬请期待!!!
数字神域 之 古老传统与现代技术的结合 |
2024-11-05 |
来自rest of world的数字神域系列故事,这次是探索宗教团体如何利用现代技术,比如虚拟扫墓、虚拟木鱼等,非常有意思
下面是官方的简介:
技术改变了我们的消费、学习、生活、饮食,甚至睡眠方式。而对于全世界 67.5 亿自认有宗教信仰的人来说,技术也在改变着他们的信仰。从首尔到拉各斯,人们崇拜、祈祷和与神交流的方式正在发生变化。
今年早些时候,《Rest of World》开始记录宗教信徒在日常活动中使用新技术的各种方式。这本图文并茂的故事书展现了多个宗教和国家的广泛主题和趋势,其中包括由3D打印机制造的印度教寺庙,以及在TikTok上跳舞的牧师。当人们求助于技术来简化生活、寻找答案或寻找平台上的名声时,这些作品道出了我们这个时代正在瓦解的紧张关系。
这些短篇故事让我们深入了解了从独特的、意想不到的到人为的、金融的各种趋势。就像影响力、权力和需求正在塑造世界一样,它们也在推动古老的信仰。这种新与旧、古老与现代之间的推拉,正在以闪电般的速度发生。
《Dookie Demastered》 |
2024-11-05 |
非常有意思的一张专辑,下面是官网的介绍
当一张专辑迎来 30 周年这样一个重要的里程碑时,它就会以常见的格式重制。但 Dookie 并不是一张普通的专辑。
这个版本的Dookie并没有平滑其边缘和调整其动态范围,而是经过精心篡改,以适应保真度极低的格式,从蜡筒到电话答录机再到牙刷。这种听觉体验无与伦比,不仅牺牲了音质,还牺牲了便利性,有时甚至牺牲了整首诗。
这就是《Dookie Demastered》:这张引爆了朋克摇滚形式的专辑,它以 15 种晦涩、陈旧、不便的格式重新演绎了朋克摇滚的魅力。

这个网站怎么这么快!? |
2024-11-05 |
油管视频:How is this Website so fast!?
这是两周前的一个视频,当时并没什么兴趣看,因为无非就是纯html构成+CDN等手段,但看到好几个大佬在讨论这个网站和视频,所以索性打开看了下。
总结下McMaster Carr网站速度快的原因:
1.服务器渲染HTML
2.预渲染预加载
3.组件化
4.大量使用本地+CDN缓存
5.使用Sprite图像处理技术
6.每个页面只加载需要的js和css
比较有趣的是,该网站使用asp.net开发,很多html标签特性的使用方式值得学习,比如link标签的使用:
<link rel="dns-prefetch" href="//www2.mcmaster.com"/>
<link rel='preload' href='https://images1.mcmaster.com/init/gfx/MastheadLogo.svg?ver=1545146094' as='image' type='image/svg+xml'/>
<link rel='preload' href='/init/Fonts/2D027A_0_0.woff2?ver=1622213662' crossorigin='anonymous' as='font' type='font/woff2'/>
看到这代码,我才想起来,link的rel有多种不同值。。。
同时还用了很古早的Sprite图像处理技术,我都忘记了还有这种图像处理方式,即将多个小图片合并成一个较大的图片,以此减少HTTP请求的数量,提高网页加载速度
PostHog |
2024-11-03 |
产品:PostHog
开源可自部署的一站式分析平台,pendo等平替。
提供开源产品分析、会话记录、功能标记和 A/B 测试。
官方也提供了cloud选项,有免费层,而且非常慷慨(30M events tracked + 50K recordings free),还有1年的数据保存,没有月费,按使用量收费,好感度+100000
官网设计的也非常有趣!
下面是它们的设计哲学:
我们的使命是增加世界上成功产品的数量。为此,我们开发了产品和数据工具,帮助您了解用户行为,同时又不会失去对数据的控制。
在我们看来,第三方分析工具在cookie废弃、GDPR、HIPAA、CCPA和许多其他四个字母缩写的世界里行不通。PostHog是将客户所有个人信息和使用数据发送给第三方的替代方案。
PostHog 为您提供所需的一切工具,帮助您了解用户行为,开发和测试改进功能,并发布变更,使您的产品更加成功。
PostHog 尽可能公开运作。我们在手册中详细介绍了我们的工作方式,以及我们在建立和运营一家快速发展、以产品为核心的初创公司方面的经验。
ps: 貌似还是基于Django的!!!为什么人家Django用的这么溜,而我尽想着换框架。。。
我的 GTD 和 PKM 方法 |
2024-11-03 |
撰写有关生产力和知识系统的文章有一个弊端:
你只能改变那些不起作用的系统,而你往往会在变革时期撰写相关文章。
因此,大多数关于生产力系统的文章都来自于那些系统失灵的人。
非常同意他的观点!!!
因为我的草稿箱里还有好几篇关于PKM和GTD的文章,而且都是在更换一个软件或者改变系统架构的时候写的!
至于为什么到最后都没有发布,有2个原因:
- 还没写完的时候,我移情别恋到其他软件或架构了。。。。
- 我一直认为,只有软件和架构使用1年以上不变动时,才值得发布
但,我准备发布这些没有完成的博文了,因为说不定某些想法对某些人很有用
就像看一本书一样,有时候就那么一句很普通的话就能触动到我,因为我有相同的经历
请多发布和多分享 |
2024-11-03 |
文章:Please publish and share more
你不必每篇文章都改变世界。您可以发表一两个简短的想法,鼓励他人尝试新事物、听一首新歌或狂看一部新剧。
我最近也在多发布我的所见所闻,类似Simon和Kottke那样,
主要原因是我发现我在raindrop上的书签达到了1000个,
但基本上没怎么看,所以我决定把“加书签”的动作改为“发博文”,督促自己有所处理痕迹。
在这,如果你能看到这篇小记,多发布博文吧,我很感兴趣你的所思所想,
今天就开始吧,发布一篇你看到的文章,你可以什么都不用写,只要分享出来,让我知道你在看什么就可以了。
如果愿意,请留言你的rss地址,我会关注你的
Pkl:苹果公司可能取代 JSON 和 YAML 的新配置语言 |
2024-11-02 |
文章:Pkl: Apple’s New Configuration Language That Could Replace JSON and YAML
Pkl 不只是另一种配置格式。它融合了静态配置格式(如 JSON/YAML)和编程语言。可以认为它既有 YAML 的简洁性,又有在需要时实际操作的强大功能
pkl是苹果开发的一种配置语言,旨在取代 JSON 和 YAML
在使用 JSON 或 YAML 的时候,如果配置少,可读性就还行,但配置一多,可读性直线下降。
看了pkl的示例,整体感觉还不错,主要是增加了像编程语言一样支持抽象和重用,这非常有用
// Basic config
name = "My Service"
port = 8080
// Template for shared settings
baseService {
image = "nginx:1.19"
healthCheck = true
}
// Reuse template for specific services
webService = new baseService {
port = 80
}
apiService = new baseService {
port = 3000
}
而且还有验证功能,但正如文章下半部分所说的,“真的有必要吗?”
而且该配置语言还引入了JVM。。。。这开销估计只能在大型项目中才值得。
LII 原则 |
2024-11-02 |
文章:The principle of LII
术语:LII: Least Inbox Interruption ( 最少收件箱中断 )
这是一篇来自buttondown,关于邮件营销的文章。
阐述了3条规则:
1.不要在用户注册时自动将其添加到邮件列表中
2.让人们选择接收他们希望收到的邮件
3.只发送收件人会欣赏的邮件
其中一些方法挺有意思,比如怎样分类订阅者?
可以在不同页面放置不同的订阅按钮,如果有人从 API 页面注册,则只发送开发和服务状态相关的邮件;
如果是从定价页面注册的,则发送业务相关的邮件,或者功能介绍和促销邮件。
VPS的初始化安全设置 |
2024-11-02 |
记录下我每次开通新VPS后的安全配置,适用于Debian系
基础设置
登陆
ssh root@ip
升级系统
apt update && apt upgrade -y
安装必要软件
apt install vim sudo curl uidmap fail2ban ufw -y
添加非root用户
adduser your_name
加入sudo
usermod -aG sudo your_name
在本地电脑上生成新的ssh密钥对
ssh-keygen -t rsa -b 4096 -C "your-vps-name"
它会提示你保存的位置,我默认保存到~/.ssh/your-vps-name
将公钥发送到vps
ssh-copy-id -i ~/.ssh/your-vps-name.pub your_name@ip
验证ssh密钥
ssh -i ~/.ssh/your-vps-name -o PasswordAuthentication=no your_name@ip
在vps里执行:
使用非root用户登陆
禁用ssh的密码和root登陆
sudo vim /etc/ssh/sshd_config
查找并启用下面的设置
PermitRootLogin no
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
保存后,重启服务sudo systemctl restart ssh
先不要关闭当前的ssh连接,开新的终端测试下,应该只允许非root使用密钥登陆,root和密码登录都是不允许的
安全设置
启用 ufw 防火墙
先禁用 ufw
sudo ufw disable
设置默认规则
sudo ufw default deny incoming
sudo ufw default allow outgoing
添加需要的端口
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
确认当前配置的规则
sudo ufw show added
启用 ufw
sudo ufw enable
确认 ufw 正在运行
sudo ufw status verbose
启用 fail2ban
进入配置目录并创建配置文件
cd /etc/fail2ban
sudo cp jail.conf jail.local
编辑配置文档
sudo vim jail.local
找到 [sshd]
模块, 添加
[sshd]
enabled = true
mode = aggressive
启用服务
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
解封ip命令:
sudo fail2ban-client set sshd unbanip <ip地址>
日志文件在:/var/log/fail2ban.log
完成