Hi there 👋

I am kWeiZh, working on CNCF for AI

收到第一次的周期开源赞助

收到第一次的周期开源赞助 最近收到了人生的第一个开源赞助,突然有一种被认可的感觉,激动的心情让我想写一点东西分享一下我的快乐。 首先肯定要大力感谢 Warp.dev 对我和 LSD 开源项目的支持! Warp.dev 是一个 Rust 实现的现代化 Terminal,目前我也在尝试用它替换 iTerm2,不得不说还是挺特别的,尤其每一个命令就是一个 Block,支持团队协作和 AI 建议等现代化功能,起码是在众多 Terminal 里,算是做出自己的特色了。 ...

December 7, 2023 Â· kWeiZh

2020 年终总结,2021 新年展望

2020 年碰到了新冠疫情,是大环境最差的一年,但是宅在家里,却看到了更多,做到了更多, 放眼看,今年科技圈又把眼光看向了太空, 嫦娥五号登月带回样本,猎鹰九号载人升空,SN8 虽然落地爆炸,但是跳跃测试基本完美完成, 小时候成为科学家的梦想又开始在内心涌动起来(Doge), 回看身边科技圈, Apple Silicon 闪亮登场, 苹果 市值 2 万亿, Tesla, 美团, 小米 市值猛涨, 在拖延症 2020 年总结时, Golang 泛型还在农历新年迎来了好消息。 ...

February 16, 2021 Â· zwPapEr

macOS GUI Emacs 使用 GPG 给 Git Commit 签名

简介 使用 GPG 给 Commit 签名,网上已经有很多教程,但是在 Emacs 使用 Magit 作为 Git 客户端时, 还是碰到了几个问题。 ...

November 21, 2020 Â· zwPapEr

儿童疫苗攻略

选择原则 既有免费又有自费的 5 种疫苗,流脑疫苗选自费,其他选免费疫苗; 发病率高、发病后病情严重的先打; 自费疫苗尽早接种,可以和免费疫苗同时接种在不同部位。 ...

July 28, 2020 Â· zwPapEr

从 NextCloud 替换为 Seafile

之前自己组装了一台 NAS,用作私有云,解决大容量网盘,自己跑的一些小应用的问题,还计划作为软路由。 当时对网盘的选择是 NextCloud,最主要的原因就是这是有名气的 Self Hosted 网盘里,最开源的选项, 而这周末,我还是决定更换到 Seafile。 ...

March 8, 2020 Â· zwPapEr

Golang 1.14 发布,抢占式调度优化

Golang 1.14 在 2020-02-25 正式发布,看了一下 Release Notes,发现有两个点比较有意思: 调度器抢占优化,不再需要函数调用作为抢占点 Timer 更高效 这篇文章主要是聊聊调度器这部分。 ...

March 1, 2020 Â· zwPapEr

2019 年终总结,2020 新年展望

2018 年底从一个创业公司,换到了另一个创业公司,今年算是全新的一年。 年度关键词: 水流不腐 ...

January 31, 2020 Â· zwPapEr

Kubernetes 服务名解析原理

场景 在 Kubernetes 中,我们经常会有直接使用 Service 的名字访问对应 Service 地址的场景。 举个栗子,我们建一个 Service,名字叫 demo-svc ,对应的 ClusterIP 为 10.0.171.239 ,端口为 80 。 那么,我们在访问同一个 Namespace 下的这个 Service 时,我们一般会通过一下几种方式之一访问: 10.0.171.239:80 demo-svc:80 demo-svc.namespace-name.svc.cluster.local:80 注意:如果时要访问不同 Namespace 下,或者集群外部 Service,可以通过 ExternalName 类型的 Service 实现, 但是这是另一个话题,就不展开了。 通过 IP 地址访问的情况自然是不需要解释,通过 Service 名字访问的方式也很自然能想到时通过 DNS 解析实现。 但是, demo-svc 和 demo-svc.namespace-name.svc.cluster.local 之间的区别和关系是什么呢? 原理解析 DNS 查看 Pod 内的 /etc/resolve.conf ,能看到一下内容: nameserver 10.0.0.10 search namespace-name.svc.cluster.local svc.cluster.local cluster.local options ndots:5 其中: 10.0.0.10 时 CoreDNS 的 Service 的 IP 地址,我们的请求都会发送到 CoreDNS 解析。 search 时 Kubernetes 加上的,顾名思义,解析 DNS 的时候会 查找 后面对应的这几个后缀。 options ndots:5 这个有意思,当请求的域名里,显式出现少于 5 个 点 时,才补上 search 的后缀。 值得注意的时 options ndots:5 ,显式出现少于 5 个 点 是什么意思呢?...

August 30, 2019 Â· zwPapEr

用 Stack 管理多个 GHC 版本

使用 Haskell 碰到 GHC 版本的问题,但是搜了一下,感觉说的文章不多, 可能是国内用 Haskell 的人比较少,或者用的人都比较厉害。 Haskell 作为函数式编程的代表性语言,感觉还是很值得学习,也希望能有更多的中文文章, 让像我这样希望入门的人,能够更容易的上手。 ...

August 17, 2019 Â· zwPapEr

开始用 Beancount 实践复式记账(一):初始化

第一次了解到复式记账是 Emacs 的 Ledger mode ,但是还挺复杂的,就放弃了。 后来 Byvoid 的Beancount 复式记账(一):为什么里提到了 Beancount ,感觉比较值得一试。 ...

August 10, 2019 Â· zhangwei

dnsmasq + Cloudflare DoH 自建 DNS

有时候方案一些网站的时候,会由于 DNS 解析出问题,即使网络情况很好,也会出现无法访问的情况, 而最近很流行的 DNS over HTTPS 更是十分的稳定安全,所以,通过自建 DNS,可以精确的得到解析结果。 ...

June 30, 2019 Â· zwPapEr

从 Slurm + Lustre 到 Kubeflow + Ceph (0),简介和容器中使用显卡

传统的高性能计算集群一般都习惯性地使用 Slurm + Lustre 的方案作为任务调度和存储, 然而,随着容器的发展,互联网业务的部署已经越来越多地开始了容器化, 而 Kubernetes 也成为了容器编排的事实标准。 而且,对比容器化的简洁, Slurm 和 Lustre 复杂的配置,让人头疼的运維压力, 也让作为互联网的最前沿之一的机器学习,也开始了容器化探索。 ...

June 15, 2019 Â· zhangwei