今天早上看到一篇 WSJ 的分享,但是点进去发现竟然只能看个开头,所以兴起整理一下这篇文章。
之前我就知道一个叫做 bypass-paywalls 的插件,但是因为因为更换电脑 所以 Chrome 上没有配置,所以立即设置起来。
git clone git@github.com:iamadamdev/bypass-paywalls-chrome.git
cd bypass-paywalls-chrome
cd build && sh build.sh
然后将此文件夹拖拽到 chrome://extensions
。
但当我安装完成之后发现,WSJ 可能检测到了该插件,查看 Chrome 的请求,直接返回 401,感觉应该就是检测并且屏蔽了该插件。
于是我就又找了一个插件 Bypass Paywalls Chrome Clean,这个插件在原来的插件基础上,增加了一个非常独特的功能,那就是当发现内容已经被 archive.is 等内容缓存的时候,就直接将网页内容替换为缓存的内容,间接实现了绕过付费墙的目的。
Bypass Paywalls Chrome Clean 的安装也非常简单,直接 clone 项目,然后拖拽到 Chrome 即可。
Teable 是一个非常快,实时,专业,开发者友好的 No Code 数据库。Teable 构建在 PostgreSQL 之上,使用一个简介的,表格类似界面,可以基于此构建复杂的企业级别的数据库应用。
Spreadsheet-like 界面
多视图
以特定的方式显示数据
速度快
SQL 支持
Privacy First
实时协作
扩展性
Automation 自动化
Copilot (即将推出)
关键词说明:
在 GitHub Trending 上看到这个项目就点开来看了一下,直接拉下来代码,看到当前项目的完成度还不错,直接在服务器上就跑起来了,但看到官方的说明,项目还在构建当中,还有很多功能在慢慢推进,我自己的话还没有来得及每个功能都尝试一遍,但以当前的完成度,还是果断关注一下,这个项目的想象空间还是挺大的,毕竟有了灵活的数据库可视化,很多服务都可以被代替掉。
Devin 是 Cognition 发布的一款完全自助的 AI 软件工程师。1
Fully Autonomous AI Software Engineer Devin 完全自主人工智能软件工程师 Devin
Devin 主打的就是通过 prompt 自主的学习,编写,调试,甚至可以进行部署。在 Cognition 发布的视频来看,Devin 至少能够
和传统的 AI 对话框不一样,Devin 自带了命令行,编辑器,甚至还自带了一个浏览器。
伴随着 Devin 的发布 DHH 也发布了一篇博文《Developers are on edge》,讲述了 AI 可能对程序员造成的影响,他说到现在软件开发行业遭受着双重打击,一方面科技行业一直在裁员,而另一方面还要面临 AI 带来的巨大威胁。
That’s the trouble with The Future. It’s awfully difficult to predict when it’ll actually arrive. All we’re doing is making bets and taking guesses.
文中 DHH 做了一个非常形象的比喻,过去农业需要全球 97% 的人参与其中,而今天只需要 2% 的人口。尽管农业生产总价值上升了很多,但是从事农间生产的人却少了很多很多。归咎其原因就是因为科技发展所带来的自动化进程,使得从事农业生产的人只需要动一动手指就可以管理大面积的农田。
那未来程序员的职业何尝不可能发展成这样呢?或许 AI 的发展会使得软件开发行业面临前所未有的变化,当软件行业不再需要那么多程序员进行手动编程的事后,这一个行业可能就已经达到了顶峰,但 DHH 也说了这并不意味着这个行业的小时,而更可能会让 AI 在社会生活中被更广泛的使用和融合,软件行业可能不需要那么多的手工编码程序员,但是他所产生的价值却还是会给社会带来巨大的福利。长期来看,没有任何职业可以成功抵御因为技术进步所带来的自动化而遭淘汰的命运,积极地拥抱变化,看向未来才是当下我们所能做的最后一件事情。
长桥证券 是一家创立于新加坡和香港的证券经纪服务商,创立团队来自阿里巴巴,字节跳动等互联网企业,于 2019 年 3 月正式成立,总部位于新加坡。 集团旗下长桥证券(香港)有限公司(中央编号:BPX066)持有香港证监会第 1、4、9 类牌照。
因为开户奖励在不同的时间都不一样,截止 2024 年 3 月
点击这里 在线开户,如果你觉得本文对你有用,也可以填入我的邀请码 V24JAH。
根据不同的提款方式和到帐时间收费不同。
总体评价,作为一个初创公司,在应用的使用体验,以及出入金的友好度上,个人感觉都比[[老虎证券]]方便很多,而费用方面则要比[[富途证券]] 优惠一些,但还是没有 [[华泰证券]] 便宜。
点击这里 在线开户,如果你觉得本文对你有用,也可以填入我的邀请码 V24JAH。
开户的过程也比较简单,上传自己的身份信息,根据自己的真实情况填写即可。
如果有港卡的情况下,非常简单,通过银证转账,[[eDDA 快捷入金]],[[FPS 转数快]],网银转账等方式入金。
长桥证券支持的入金银行非常多,相信从列表里可以直接找到你的银行。
银证转账是指资金在银行账户与证券账户之间的划转服务,可以直接把银行资金转入证券账户,也可以直接把证券账户资金提取到银行账户。无需通过网银汇款,也无需在券商网站发送通知,具有方便、快捷、安全的特点。
eDDA 快捷入金是香港金管局推出的 FPS 转数快系统增值服务,支持客服授权港股证券从指定银行账户将资金存入证券账户。
eDDA 快捷入金是一种高效入金方式,基于 2018 年香港金管局推出的实时转账平台 FPS(Faster Payment System)转数快系统所研发。简单来说就是,客户完成银行账户授权后,后续可直接通过券商端发起入金。
eDDA 快捷入金目前仅支持港元。
FPS 中文名「快速支付系统」(FPS 转数快),是香港金融管理局于 2018 年 9 月 30 日推出的全面连接银行的快速支付系统,由香港银行同业结算有限公司负责运作,费用全免,可以做到 365 天 x7x24 小时即时跨行转账。
本文记录一次令我非常无语的文件上传大小限制的问题。之前也提到过我开了一档《暮色时光》的播客,那为了方便,我就直接使用 WordPress 的 Media 来管理我自己的音频文件了,但是最近一期聊《台湾》相关的内容,时长超过了 1 个小时,所以导出的文件有点大(102MB),稍微超过了我预期的 100MB ,这导致我需要调整 WordPress 文件上传的限制。那我一想这个也简单,之前也调整过,无非就是调整一下 Nginx 和 PHP 的配置,重启一下服务就行,谁知道我在这么个简单的事情上竟然又浪费了几个小时。
按照我之前的经验,无非就是调整一下 PHP 的配置文件。
因为我直接使用的 HestiaCP ,登录后台之后,点击右上角的齿轮,进入系统设置,然后在其中找到,我使用的 PHP 版本,点击编辑配置,立即就可以看到 PHP 相关的配置,HestiaCP 也非常人性化的将常用的配置列了出来。
那这个地方只需要修改
post_max_size
upload_max_filesize
memory_limit
max_execution_time
max_input_time
这几个值。然后点击保存之后, PHP 会自动重启。
这个时候我去后台看,WordPress 已经将文件上传的限制放宽到了 256 MB 大小,我尝试上传,发现上传接口 Pending。
于是我想是不是 Nginx 配置里面 client_max_body_size
配置有限制,于是直接看 HestiaCP 后台的 Nginx 配置,但发现这不是问题啊,现在的大小就已经足够。
于是我想难道是配置没有生效,在 HestiaCP 后台,通过 SSH 登录服务器,直接重启了 PHP,Nginx。
然后在 PHP 目录里面创建了文件 test.php ,直接放入
<?php phpinfo(); ?>
访问,发现 PHP 已经生效了上传限制。
重新尝试,接口还是 pending。
于是我想难道是 WordPress 自身做了什么限制?但之前也没有遇到过类似的事情?但网上查的时候有人说还需要加上一些配置,那么我也不管了,先加上再说。
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_UPLOAD_SIZE', '256M');
重新尝试上传,接口还是 pending。
这个时候我就不知道问题出现在那里了,然后我就尝试换用 async-upload.php
为关键字,终于在一个 StackOverflow 的帖子里面看到了一个让我震惊的回答,说 Cloudflare 的基础套餐有 100 MB 的限制!
我突然意识到,确实我的站点前面确实增加了一个 Cloudflare CDN,而我的文件刚刚好超过 100MB。于是立即去 Cloudflare 后台关闭了云朵,然后我发现问题解决了!
后来仔细的研究了一下 Cloudflare,发现 Free 和 Pro 的套餐,上传文件大小限制都是 100MB。1 而 Business 是 200MB 限制,Enterprise 是 500MB 限制。
如果文件大小超过 100MB,会直接返回 413 错误,文件上传也不会到自己的服务器,我就说为什么我上面几次修改,在 PHP 和 Nginx Error 日志里面什么错误信息都没有看到!
至此文件上传的问题就得到了解决。
本文总结常见的邮件发送的错误。
450 4.1.8 Sender address rejected: Domain not found
这个错误提示表明发件人地址被拒绝,因为域名未找到。这通常是由于发件人地址的域名无法在 DNS(域名系统)中找到所致。解决这个问题可能需要以下步骤:
表示邮件被拒绝了,因为发件人的邮箱无法正确解析,因为特定的 DNS 记录(A,MX,PTR 记录) 缺失了。
50 5.1.1: Recipient address rejected: User unknown in local recipient table
这个错误表示你尝试发送邮件给一个在本地收件人表中未知的用户。
553 5.7.3 CONTENT REJCT:blockid=xx:URL
这个错误意味着你尝试发送的邮件包含被拒绝的内容,通常是因为邮件包含了被认为是垃圾邮件或恶意链接的内容。通常是如下的原因:
遇到此错误一般可以检查一下发送的邮件是否合法,是否包含恶意链接或内容。
Recipient address rejected: User unknown in virtual mailbox table
Net::SMTPFatalError: 550 5.1.1 your@email.address: Recipient address rejected: User unknown in virtual mailbox table
错误表明你尝试发送邮件给一个在邮件服务器的虚拟邮箱表中不存在的用户。
可能是如下的原因:
自从去年 EV Hosting 上线以来已经过快一周年了,过去的一年中陆陆续续推出了如下的服务。
这一些服务也是我开发独立产品的过程中不可缺少的一部分,比如说我可以在一分钟内直接创建一个博客来发布我的播客,我可以用我自己的域名注册服务来注册我自己的 life 域名,比如我的日本生活 https://ijp.life ,而我自己的域名邮箱服务已经稳定使用超过 3 年,过去我所有的域名邮箱全部都自己维护。
之前在 Twitter 上曾经看到过一篇 0 成本 Build 属于你自己的项目,其中列举了不少我也正在使用的服务,比如说 GitHub,Cloudflare 等等,但是问题的关键就在于当你自己的服务与这样的平台非常紧密地连接在一起的时候,未来带来的潜在风险也会伴随着平台的起伏而波动。
代码: @github $0
CDN: @Cloudflare $0
后端: @flydotio $0
域名: @freenomofficial $0
邮件: @Mail_Gun $0
数据库: @PlanetScale $0
日志: @AxiomFM $0 [[AXIOM]]
存储: @Cloudflare R2 $0
CDN: @BunnyCDN $0 [[Bunny CDN]]
统计: @googleanalytics $0 [[Google Analytics]]
比如过了半年当再来看这一份清单的时候,就会发现 freenom 提供的免费域名被收回了,之前也曾经推荐的 PlanetScale 将在 2024 年 4 月 8 号取消 Hobby 套餐,而 MailGun 也大幅度收窄了免费的额度。如果想要使用 PlanetScale,最低档的就是 39 USD 一个月,那如果你的应用构建于此,那必然要面临一个艰难的选择。我之前有一些自己和朋友的 21 天计划服务就放在了 PlanetScale 上,没有多少流量,所以我也不会为此付费订阅。但好在我的数据不是很多,使用 DataGrip 迁移一下就行了。并且在迁移的过程中我还发现了 PlanetScale 存在的问题,就是它并不支持 mysqldump,必需使用它专属的 cli 才能导出数据。而如果一旦服务数据量比较多,想必迁移起来就麻烦很多了。同样的,上述的所有服务虽然看起来入门是 0 USD,但其实很多服务的收费第一档就非常昂贵。
所以为什么我自己创建了 EV Hosting 的服务,也是因为来自我自己的需求,我有一些小网站需要一些邮件发送服务,比如给注册用户发送邮箱验证,比如我有一些静态或动态的网站需要托管,当然 GitHub Pages,Cloudflare Pages,Vercel,Netlify 等等都是非常不错的服务,托管自己的博客内容也完全没有问题,但同时也需要考虑比如 Vercel 的域名被屏蔽,GitHub Pages,Netlify 的访问速度等等问题。
首先我为了解决自己的托管和发邮件的问题,最早就是自建了 SMTP 和 Nginx 但我发现这个服务也能开放出来给有需求的用户用,然后就是域名的问题,不过域名的问题,我自己都是去 Google Domains(已被收购)和 Spaceship 上购买的,我建议大家先用 https://tld-list.com/ 进行比价,然后根据自己的情况来选择,现在 Cloudflare 也开放了域名注册,但我还没用起来,如果有使用感受也可以一起来分享。而我提供的域名注册服务通常来说是因为拿到了批量销售的折扣,我自己也会根据具体的促销价格来选择,我自己选择注册 .life 域名其事就是我自己拿到的售卖价格只要十几块人民币一年,已经非常便宜了,所以就直接买了一个。
为了庆祝一周年生日,现在针对独立开发者推出如下的套餐。
99 套餐 内容包括
199 套餐内容包括
这两天看到有人分享自己的密码管理方案是通过固定 Pattern 然后根据不同的网站设定一个随机可记忆字串来防止密码泄漏之后影响其他网站,于此同时也一定程度上可以摆脱密码管理器的约束。这也是我这 10 多年来的密码管理方案,虽然我还是会强烈推荐 Bitwarden,当一些重要的网站我还是会选择自己记住密码,并且加上二步验证保护安全,而其他网站则是通过密码管理器来管理。
但是我明明记得我写过一篇关于密码管理的文章,但就是怎么都没有找到,后来一想这已经是十年前写在 Blogger 上面的文章,于是突然想把沉积多年的 Blogger 内容备份出来,并转成 Markdown ,导入到 Obsidian,因为我一直认为只有被反复唤起(搜索)的内容才有价值。
既然有了这个目标,那么说干就干,首先是导出 Blogger 的内容,这一点在设置中,直接可以选择 Backup,下载获取到一个特殊格式的 XML 文件。
然后我用 Google 简单的搜索了一下 Blogger to Markdown,发现原来已经有人使用 NodeJS 实现过了。但代码直接运行有一些异常,打开代码看看,做了一下修复。
然后再运行命令,不到一分钟的时间就把 2010 年到 2019 年的内容转成了 Markdown。
在这个时间点又不免再感慨一下,Blogger 当年作为一个非常流行的博客平台,如今却半死不活,很多年没有更新,Google 内部可能也放弃维护了,并且非常无语的是,我登录了后台才发现,以前明明发布的内容,却告诉我有一些文章被 Blogger 自动取消发布了,说违反了社区规则,但我仔细地看了一下这几篇文章,是 2014 年发表的一篇《继续折腾 WNDR3800 之 shadowsocks》,这篇文章已经存在互联网上 6 年,但却告诉我在 2020 年违反了社区规则?实在没有搞懂 Google。
我仔细的检查了一下文章内容,无非就是几行代码,以及一些 iptables 的配置,完全看不出任何违反社区规则的内容。
在把文件导出来之后,也看了几篇当时写的文章,感慨物是人非,那个时候我还是非常喜欢 Google,也会在第一时间去尝试 Google 的所有的服务,当时也写了很多 Google+ 的使用感受,当时也确实在 Google+ 认识了一些朋友,但后来的事情其实大家也都知道,自从 Google+,Google Reader 关闭以来,我就已经开始自主的脱离 Google 的生态,将所有我自己产生的数据慢慢地从 Google 从移走,Google Photo 等等。
而到了 2024 年,Google 突然遇到 OpenAI 的「劲敌」,至于 AI 是否会颠覆传统的搜索引擎,在这个时间还不好说,但可以肯定地说肯定会代替一部分的搜索流量,至于是否会影响到 Google 的广告业务,那也只能让我们拭目以待了。
BLEUnlock 是一款 macOS 上的自动化锁屏工具,可以通过 iPhone 或者 Apple Watch 和 macOS 的距离来锁定和解锁 macOS。
借助这款开源的工具,就可以非常方便地解决离开 macOS 忘记锁屏的问题。
BLE devices 指的是低功耗蓝牙设备。
BLEUnlock 的原理就是通过周期性发送信号的 BLE 设备,当蓝牙设备,比如 iPhone 设备,接近 macOS 系统时就会解锁,当发现 iPhone 远离的时候就会自动锁定。
直接通过 Homebrew 安装
brew install bleunlock
安装完成之后,可以在状态栏进行设定
BLEUnlock 毕竟是通过蓝牙来进行通信的,所以可能会存在一定的不精确,尤其是在电脑附近行走时可能会对 macOS 产生干扰。
我终于制作了一档播客《暮色时光》!
为什么说我终于制作了一档播客呢,这是因为早在 10 多年前我就已经是播客的听众,并且这么多年以来一直都有一个做一档播客的梦想,研究过如何托管 Podcast,也自己尝试部署过一个 Podcast Feed,但过去的时间里一直没有找到一个合适的主题,周围也没有一个对播客感兴趣的朋友,故而一拖再拖。但和我写文章不一样,写文章是我单方面的输出,我也很少有机会得到反馈,博客的评论系统虽然也有一些朋友会给我留言但还是少数。但是播客不一样,它是一个两方面的交流,他是两种思想和声音的碰撞,截止到现在播客已经做了三期,播客的存在让我知道有了一个新的探索方向,也让我能够和很久没有聊天的朋友可以坐下来一起聊聊。
暮色时光播客在最初的时候,我就给自己起了一个标题,就是朋友之间的闲聊,我会定下来每一期的主题和想要聊的大致方向,让整个播客有一个框架,有一个中心的话题,但交流的过程中也会调整话题的方向。
制作播客的初衷:
在《暮色时光》播客中,我们会聊一些我们感兴趣的话题,比如科技、文化、旅行、生活经验等等。每一期都会有一个主题,围绕这个主题展开讨论,同时也会有一些杂谈和随想。我希望通过这个播客,能够让大家更了解我们,也能够启发大家的思考,并且希望能够和更多人建立联系。
这档播客虽然只是刚刚开始,但也是多年之后终于迈出的一步,也希望我可以通过这个节目认识到更多志同道合的朋友,如果你对这个播客感兴趣,欢迎关注我们的 网站 ,也非常欢迎给我们留言反馈和建议。谢谢!
如果有任何小伙伴对播客感兴趣或者愿意一起聊聊天也欢迎来找我。