2021-08-07

17 篇热帖

1. 教培行业凉凉了我该怎么办?
简单自我介绍下, 之前一直在小公司搞自动化测试+自动化运维(python), 没有大厂经历, 因为直属领导站错队被殃及池鱼, 以及当时身体得了一场大病, 2019 年转到教培行业教高中数学. 名不见经传的普通一本, 今年 35 岁.

教书这两年因为都在忙着备课 /刷题 /教研, 几乎没有弄 it 方面的东西了. 现在如果要回去搞 it, 相信以以前的底子再好好整几个月还是能胜任工作的, 但是现在大龄, 而且还 gap 了 2 年, 找个工作都应该很难了吧?

如果继续在教培行业混那基本上只能天天喝稀饭了, 整个 7 月份才上 40 多个小时的课, 去年 7 月上了 200 多个小时.

我一哥们建议我去读个研, 脱产的那种, 读几年再看, 但是我娃才 1 岁 3 个月, 上有老下有小的脱产读研会是个好的选择吗?

ps: 已经满了 35 了, 考公和考教师编已经不可能了.
2. 码农是不是社会最底层?
这次回老家,感觉留在老家当公务 y 的同学,普遍两三套房子然后二胎安排上了,而我西安交大毕业,在北京一年工资 50 万却活的毫无尊严,住六环外,吃外卖,然后每个月到手扣税一半,周末从来就没得休息。真的很想哭,很想一了百了,为什么努力读书会成为这个样子,连带着家人都抬不起头。
3. 反对 Apple 扫描手机内容行为的公开签名

https://appleprivacyletter.com

在此处签名: https://github.com/nadimkobeissi/appleprivacyletter/issues/new?assignees=nadimkobeissi&labels=signature&template=sign-letter.yml&title=%5BSIGN%5D+Your+Name+Here

斯诺登也发推了: https://mobile.twitter.com/Snowden/status/1423758676020678662

昨天 Apple 在 Twitter 还上了 Trending. 不知道一向强调隐私的欧盟如何看待 Apple 这次的行为。

4. 那么多优秀的教师失业,转而会到什么行业
5. 创办一家程序员公寓,这个想法如何?
看了小米的营销圣经《参与感》,脑海里突然蹦出一个点子,断断续续思考了两天。
请大家评估一下:这是拍脑袋想出来的伪需求,还是真值得一试的好项目?

1.程序员公寓,顾名思义就是招募一群有志于创业的程序员租客(或 IT 从业者),共同租住在一起,白天正常上班,晚上和周末闲暇之余,大家一起吃饭,一起聊天,一起头脑风暴,一起对外承接项目.......
运营方不仅仅是某个二房东或某家公司,而是包括住在一起的所有租客们,大家商量好新老租客的加入 /退出机制、协商好整个公寓的配套与费用平摊方式,设计好对外承接项目的平台方案等。
和一般先有项目再招团队的做法不一样,先变相的通过租房聚拢人才,然后再尽可能的排除租客间信任难和沟通难的问题,最后再尽力引导各种项目的产生。
大家都是程序员,工作和爱好都在同一频道,每天还能面对面沟通,如果再有一个好的引导,创业成功的机率是否就大一点?
在这个社会,单打独斗很难,承接一个项目需要团队,也许就在吃夜宵喝小酒、大家相互加深了解的过程中,一个好的项目就诞生了。

2.在程序员群体中,有天赋和学习能力的人,工作几年后都可以独立做开发。那么如何利用好这群程序员租客,就是公寓核心价值的体现。
程序员公寓需要一个运营方,运营方掌握着每位程序员的能力与工作状态,可以有针对性的提供服务,作为这群程序员的“经济人”,即服务于他们又靠他们吃饭。
譬如,运营可以每周组织线上线下会议,引导成立临时开发团队,对外接单一起赚钱,协作开发自己感兴趣的系统......
租客之间,也能通过内部论坛 /群,共享服务器资源,VIP 账号资源、人脉资源......

3.公寓选址在北上广深等一线城市的中心区域,交通要发达,要尽量兼容所有人的上班通勤。
再架一个对外的线上平台,平台上展示现有程序员租客的技能、工作经验、接单数量等介绍。
面向全国所有程序员招募,可通过线上会议的方式进行租客筛选,有租客入驻,需要租客+主办方一起票选。

暂时先想这么多,抛砖引玉~
如果感兴趣的人多了,有几个同道中人,就一起试试呗。
6. iPhone 更换第三方电池的用户做个参考(品胜电池质量问题)

第一块电池

6 月 23 日自 JD 品胜店购买 XS Max 型号电池,开始使用蛮好我还给它好评,有次出门电量在 25% 时自动关机,之后多次出现上述现象,且电量在约 30% 时手机开始掉帧严重。

JD 客服转给品胜售后,于 7 月 9 日换新,收到电池发现不是全新的(表面有指甲划痕),JD 补偿 30 元京豆,避免耽误使用也就没要求再次更换。


第二块电池

疫情没怎么出门,电池都在 50% 以上使用,就在我以为比第一块电池好的时候,还是因为出门,电量在 46% 时手机自动关机,这下才意识到电池质量存在严重的品质问题。

品胜售后要求上传电池信息和爱思助手电池检测图,品胜售后最后回复电池没问题。

录了视频上传至 B 站( https://space.bilibili.com/619366540 ),JD 和品胜协商,品胜仍坚持电池没问题,我笑了😄。

我的要求是补一块其他品牌的该型号电池或退钱,品胜坚持电池没问题开始装哑巴了(售后信息一直显示待审核),JD 单方面补偿一块品胜电池(其他品牌不行)。

以上是我个人遇到的品胜电池这个问题,供参考。

之前遇到快递和网购纠纷问题,我都是投诉至 12315 且都成功维权,本想这次将品胜投诉至 12315,看到 JD 从头至尾服务蛮好的也就算了。

下图是我平时维权至 12315 。

7. 关于硬盘 RAID 配置的科普与疑问

NAS 相关姊妹贴,前情提要

原贴回复过长,单独开一贴询问 RAID 问题。

首先科普部分,如果有老哥完全不清楚 raid 的话,简单描述常见 raid 是什么:

  • 常见有 0,1,5,10 四种,后来在 5 的基础上出了升级版叫 raid6
  • raid0: 将数据平分成两份平均地储存在两个硬盘上,设计目标是为了增加 IO 速度,物理容量无损失
  • raid1: 将每一份数据分别写入两个硬盘,设计目的是为了保护数据安全,物理容量损失 1/2
  • raid10: 字面意思的 raid1+raid0,分别平分写入,兼具优点,物理容量损失 1/2
  • raid5: 设计目的是为了最大效率利用空间,需要至少 3 块硬盘
    假设有 n 块硬盘的话,在其中 n-1 块上写入实际数据,在剩下一块上写入对应的 xor 校验数据,
    因此任意一块硬盘的数据即使完全丢失,可通过 xor 结果反向计算出丢失的数据是什么,进行重建。
    技术细节上校验块并不集中于同一物理硬盘,而是平均分布于各盘。
    损失 1/n 的容量。假设有 10 块 10T 机械硬盘,最多可储存 90T 实际数据。
  • raid6:raid5 升级版
    因为 raid5 只能应对一处错误,如果两处错误同时发生,则会导致所有数据全部丢失的窘境。
    为了修正这个弱点,raid6 在 raid5 基础上将校验块又备份了一份,所以同时两处出错也能完全恢复数据。
    损失 2/n 的容量。另外缺陷是由于每次写入至少有三块硬盘在动,通常速度会比 raid5 更慢。

前贴中老哥回复的总结

有不止一位老哥提到 raid5 容易发生重建失败的问题。因为单个盘掉盘以后插入新盘的重建过程,由于硬盘容量通常很大,重建通常会持续若干天,在这期间发生再次掉盘则全部数据 GG 。

操作上的疑问

很多东西需要问一下,因为我只配过 raid 而确实没发生过数据损毁的情况,可能还是用得少。

  • 1 、有老哥提到软 raid 和硬 raid,分别指什么。通过 windows 构建一个 raid 盘属于软 raid,通过 bios 设置 raid 为硬 raid ?
  • 2 、关于数据重建过程是怎么样的,我能预想到硬盘失效情况有两种,一是由于长时间使用导致的单个坏道,这个通常只设计很小一块数据,屏蔽了就可以了,或者由于长时间通电导致的磁头融化,这个会导致整个盘废掉。在我设想中需要进行数据恢复的情况,我当时指的是坏道的情况,楼上老哥说需要插入新盘进行重建,我不知道指的是不是磁头融化的情况才需要插入新盘。想问下有没有确实坏过盘的老哥,如果使用 windows 的 raid 功能构建一个受保护分区,如果出现坏道,是由 win 自动完成恢复和屏蔽,用户无感知,还是说遇到坏道就要求换盘?或是当整个硬盘都失效时才要求换盘重建?
  • 3 、关于 raid6 如何配置,我只知道 windows 能配 raid5,在磁盘管理里面搞就可以了,raid6 要怎么设置?

个人感想

上文只是作为知识上的好奇,看了各位的回复以后,我觉得我应该会使用两张盘搞 raid1,剩下的都是裸数据的方案。因为即使是 nas 当中,大多数数据也是没有什么保护需求的,只有少部分个人文件、家庭照片、稀缺资源等等需要备份,搞一个专用保护分区应该足够,剩下的数据完全可以随便存放,丢了也就丢了,这应该是一套比较合适的方案。

另外问一下关于硬盘断电,win 有自带的判断硬盘一段时间无活动就会自动断电的功能,通常来说断电可以最大程度上保护硬盘使用寿命,同时还能省电,我想知道有无老哥遇到过频繁断电通电导致磁头损坏之类的问题。

8. 几个月前在官网上买的 macbook 不小心洒入了几滴豆浆到键盘里了

这种情况我预约了 Apple store 天才吧维修,需要维修费吗?

9. 作为十多年的老程序员,突然想分享个想法给大家

与人相处和写代码一样,也是需要前后端分离的。你把后端所有的数据都暴露在前端,让前端直接写库,不论是程序还是人际交往,都是非常危险的行为。

大家都那么会抽象,不妨尝试把自己的生活也抽象一下,认真设计一下自己的人生架构,前后端分离一下,别把心里的都写在脸上,也别把看到的都写到心里。

祝大家生活愉快。

10. 推荐一下花了一年时间重写的划词翻译

我在 2013 年发布一款扩展程序“划词翻译”,一直到 2020 年初,它的主要功能就跟它的名字一样,只支持在网页上划词后翻译的形式。

最近一年,我重写了整个划词翻译,除了给已有的网页划词做了很多改进(增加多个翻译结果的对比等)之外,还加入了网页全文翻译截图 / 图片翻译音视频翻译等新功能。对于我这个程序员来说,网页全文翻译是看文档的最佳利器。

感兴趣的同学可以看一下划词翻译简介

11. 你们公司是如何做开发的?
刚工作不久,我们公司是使用华为云桌面,连接到公司内部机房的机器做开发,所有数据都在里面,也没有拷贝出去的权限(因为要保密)。这个云桌面体验有时很不好,老是卡顿,而且用惯了 MacOS 后,在 Windows 里开发真是不适应。

你们在公司是如何做开发的呢?纯好奇贴
12. 新开源项目 Hora, 一个基于 Rust 🦀 的高速近似最近邻搜索 (ANN)算法库 🚀 ,欢迎围观与参与 (≧∇≦)ノ

brand

Hora 是一个近似最近邻搜索算法 (wiki) 库

Hora 完全基于 Rust🦀 实现,事实证明,Rust 确实非常非常快,完全可以媲美 C++ ,且Hora使用 SIMD进行了加速,速度非常快⚡️⚡️⚡️,具体速度可以参考下面的 benchmark.

Hora ,日语为 「ほら」,读法像 [hōlə] ,意思是 Wow, You see! , Look at that! 。 这个名字的灵感来自日本著名歌曲 「小さな恋のうた」

github: https://github.com/hora-search/hora

主页: https://horasearch.com/

Python 库: https://github.com/hora-search/horapy

Javascript 库: https://github.com/hora-search/hora-wasm

Hora 定位上是Rust实现的 ANN 算法库,希望能基于 Rust 本身的优势,能够提供多个安全的语言库,且能部署在任何地方。目前已经能在Linux, macOSWindows以及WebAssembly部署,未来还会支持AndroidIOS以及 嵌入式设备


Demo

这是 Hora 的在线演示(可以在这里找到它,强烈推荐试试速度!! https://horasearch.com/)

👩 Face-Match [online demo], have a try! demo3

🍷 Dream wine comments search [online demo], have a try! demo3

benchmark

Hora 非常快,bench (与 Faiss 和 Annoy 相比)

demo3

Usage

安装极为简单: Rust

[dependencies]
hora = "0.1.1"

Python

$ pip install horapy

Javascript (WebAssembly)

$ npm i horajs

Building from source

$ git clone https://github.com/hora-search/hora
$ cargo build

使用上 API 也非常简单:

Python example [more info]

import numpy as np
from horapy import HNSWIndex

dimension = 50
n = 1000

# init index instance
index = HNSWIndex(dimension, "usize")

samples = np.float32(np.random.rand(n, dimension))
for i in range(0, len(samples)):
    # add node
    index.add(np.float32(samples[i]), i)

index.build("euclidean")  # build index

target = np.random.randint(0, n)
# 410 in Hora ANNIndex <HNSWIndexUsize> (dimension: 50, dtype: usize, max_item: 1000000, n_neigh: 32, n_neigh0: 64, ef_build: 20, ef_search: 500, has_deletion: False)
# has neighbors: [410, 736, 65, 36, 631, 83, 111, 254, 990, 161]
print("{} in {} \nhas neighbors: {}".format(
    target, index, index.search(samples[target], 10)))  # search

我们很欢迎任何参与,欢迎任何贡献,包括文档和测试。 我们使用 GitHub 问题来跟踪 Issue 和 bug,你可以在 github 上进行 Pull Requests 、Issue

最后如果觉得这个项目做的还不错,或者比较感兴趣,或者你们想用的,欢迎在 github 上 star 或者给我们提 issue

github: https://github.com/hora-search/hora

Python 库: https://github.com/hora-search/horapy

Javascript 库: https://github.com/hora-search/hora-wasm

13. 国内腾讯云上部署的 AdGuardHome,接收到来自德国某研究机构的 DNS 探测

来自 IP 131.159.24.242 ,应该没有恶意,查看日志时发现的,之前经常清日志,没发现,至少从 7.10 开始,每隔 6 个小时请求 test.com 的 A 记录,大概是扫全网的 53,443,853,784 端口找到的 尝试直接访问 IP 的 80 端口,http://131.159.24.242 ,发现居然有说明,好像还挺有意思的

14. <吃瓜>阿里高管带避孕套关心被灌醉的女下属

继月饼、出轨后更恶劣的事件来了

15. 大佬们, golang 用什么工具开发比较好用?
16. 有适合自建的文档系统推荐吗?

主要用来给自己的开源产品写文档用的,需求如下:

  • 支持 markdown
  • 支持私有部署
  • 支持后台管理
  • 免费

  1. 目前已知的有 MinDoc,但是作者好久都没更新了。
  2. bookstackapp 似乎还可以,但是不知道用来写文档怎么样,有用过的老哥给个地址看看么。
17. 在 Python 中如何放置一个钩子劫持接下来发生的标准输出?

如题,假设在 a.py 里有一段 print 代码

# a.py
print("hello everyone, this is a.py")

假设我们在不修改 a.py 的情况下,可否在其他文件中通过劫持标准输出的方式修改这段内容的输出?

比如我们期望的使用环境是在b.py中导入a.py

# b.py
# 首先劫持标准输出
do something

# 然后导入 a.py
import a

# 期望得到定制化的输出
# 比如
# 打印 this is a.py at 2021-08-08 12:12:12 (删除前面的 hello everyone,之后再添加时间)