网贷公司的不为人知之处

以下事情发生于2017年下半年,我兼职于国内某网贷公司时。一些更详细的信息在17年11月发表的、一篇烂尾的关于"接私活"的文章中有所提及。

这家公司管理极其混乱——我作为兼职的运维人员,能透过root登录他们的服务器这都不算什么。更荒唐的是我对他们的数据库具有完全的访问权限——任何一个数据库的任何一张表都可以。

这或许是因为他们把我当devops了——他们的程序员水平实在太差,而且还不设调试环境,竟把生产环境同时用作调试。他们又以"无权限访问(生产环境的)服务器(的日志)"为理(jie)由(kou),让我协助调试。

他们的错误也十分低级——大多是少了(方|花|圆)括号、(单|双)引号的右半部分或是结尾的分号。

我甚至怀疑他们用垃圾微软的垃圾Windows的垃圾"记事本"来写程序,而不是专业的IDE。

 


一、不该出现在数据库中的东西

偶然发现他们的数据库中,用户的表中有一列皆是json编码的信息,其内容看起来像是用户的通讯录。大致如此:

其中有不少"姓名"一处是类似"爸"、"妈"的,我更加相信他们的App上传了用户的通讯录,且很有可能是在用户不知情之情况下。

我很清楚这是为什么——一旦债务人(用户)无法偿还贷款,这些信息很可能被转发至债务人(网贷公司和/或为其提供资金的金主)所雇佣的"讨债公司",后者很清楚无法从债务人本人处要回贷款,便会无休止地骚扰债务人的亲友——而亲友的信息是由这通讯录提供的。

我也曾是这种恶劣行为的受害者——2016年,我因某些客观原因及交友不慎,使我的联系方式出现在某"老赖"大学生的通讯簿中。

2017年12月,这令我在国内使用的手机号受到影响。留学期间为规避高昂漫游费用,我将国内号码的SIM卡取出。这令"讨债公司"电话骚扰不成,转而"短信轰炸",令我的手机号收到大量的网站注册验证码。

有人或有疑问,这些债务人为何不起诉拖欠还款的债务人?或因他们提供的民间借贷利率过高(远高于银行贷款),而最高法于2015年8月6日发布的司法解释指出:

第二十六条 借贷双方约定的利率未超过年利率24%,出借人请求借款人按照约定的利率支付利息的,人民法院应予支持。

借贷双方约定的利率超过年利率36%,超过部分的利息约定无效。借款人请求出借人返还已支付的超过年利率36%部分的利息的,人民法院应予支持。

——最高人民法院关于审理民间借贷案件适用法律若干问题的规定


二、保存密码,用MD5"加密"

TBC

一道Python题

UNSW的ENGG1811课程有一道期中考试例题,要求用Python实现如下功能:

给定一列表,内含变量皆为浮点数。

无论其具有奇数项或偶数项,返回奇数项之和与偶数项之和的差。

起初思路如下:

  1. 使用n = len(x)判断列表的项数
  2. pair = n // 2判断奇偶对的数量
  3. ……
  4. 然而,出问题了——如果列表包含奇数项,则奇数项的个数和偶数项不等。

于是,不得不改变了思路——先(通过求模)判断列表项数,若是奇数项,在末尾补一个0将其变为偶数项,且不影响计算结果。

由此可得如下代码:


后记:

其实在考试的45分钟里,我用了近30分钟来应付这道题(前三题没有太高难度)。如果没有一个更简便的思路来解决这个问题,恐怕再有30分钟也不够……

逻辑陷阱

澳大利亚大学里所用的教材(Textbook),多是一家叫做Wiley的出版社所出版的。这家出版社在我所在的大学的书店里投放了印有如下内容的广告:

(Statistics indicate that) 96% of students who bought the textbooks passed the final (exam).

(96%的购买了教材的学生通过了期末考试)

这似乎能反映"购买教材"对"通过期末考试"的必要性,然而这却是一个Well-designed trap.

我们并不知道没购买教材的同学的期末考试通过率,倘若"98% of student who DID NOT buy the textbooks passed the final",那岂不是打脸这家出版社的广告了?

假如统计表明有如下结论,并且N比较大

N% of students who passed the final have bought the textbooks

(N%的通过考试的学生购买了教材)

才能说明"购买教材"对"通过期末考试"是必要的。

更换笔电硬盘

回国后在京东上订了一块日立(昱科)的机械硬盘,因为我对我的笔电当前所使用的东芝硬盘不放心。

这种担心并非杞人忧天,因为这块东芝硬盘近期频繁的发出异样的声音,我从未听到一块正常工作的机械硬盘发出同样的声音,加之读写速度忽快忽慢。尽管使用CDI查询的S.M.A.R.T信息并无异常,我还是对此不放心。

然而,拆机后我发现这台电脑仅支持7mm硬盘,而我只有一块500GiB的7mm硬盘(SSD除外),并没有1TiB的。因而不得不购买。

结合BackBlaze的数据,日立的硬盘看起来最为可靠,尽管东芝在数据上看起来更好,但由于样本容量太小而无说服力。综上,我选择里日立的产品——值得注意的是,目前不存在一款同时满足以下三个条件的产品:

  • 7mm 2.5'
  • 7200rpm
  • 1TiB

收到货后,我将新旧硬盘同时连接至台式机,并通过Linux系统的dd命令将旧硬盘的数据克隆到新硬盘。此过程耗时近3小时,相比复制文件好处在于不会改变硬盘的GUID,进而导致垃圾Windows操作系统的激活失效(我曾尝试将台式机上的声卡停用,这导致Windows 8.1激活失效)。

将新的硬盘装入笔电,一切正常。


#20180218

这个硬盘比东芝的更安静些(尤其是启动时的声音),启动也更快。由于笔记本硬盘在闲置时会停转,启动更快使得在用到机械硬盘时,不再感到明显的卡顿。


*.磁盘克隆也可由Acronis Trueimage或Disk Genius(不可用于运行中的操作系统所在磁盘)完成

换用北京联通100Mbps光纤与家庭网络系统改造

网络拓扑结构

2018年2月,和垃圾宽带通的合约终于结束了。我们计划换为联通宽带,而不再使用宽带通等民营ISP。

去年联通光改时,家里联通的电话线路由铜缆改为光纤,并由此得到一台烽火的光猫。后来不想在使用固话,又因联通称"若将电话销号,光猫将被收回"而申请了停机保号。

在安装前我曾致电询问,是否能将光猫设置为桥接模式,原因有二

  1. 光猫的built-in wireless不支持5GHz
  2. 因此要使用自己的路由器,而光猫的NAT性能很差

对方称可改为桥接模式,修改后使用PPPoE,需自备路由器。我们申请了安装。

联通提供100/200/500M三种带宽,我们起初选择了200M,后来接到其客服人员电话,希望我们改为购买100M,如同意将赠送一张手机卡,我们同意了。(这是个正确的选择,见后文)


2月9日,安装人员上门,却发生了一些问题。对方表示无法改为桥接模式,因为其会使电话无法使用,联通有义务确保电话服务随时可复机——尽管电话已"停机保号"并不打算再使用。如果我们放弃固话(销号),则可换为"桥接型光猫"。我们同意了。

安装人员换了一台中兴的光猫,其背面贴有"桥接型光猫"的贴纸。

安装完后我用笔电配合USB网卡进行测试,不料垃圾微软的垃圾Windows 10不知道抽什么风,始终无法通过PPPoE连接,也不提供任何错误码,这令人束手无策。

安装人员下楼取来自己的笔电进行测试,能正常使用。 继续阅读“换用北京联通100Mbps光纤与家庭网络系统改造”