Autonomous.ai 办公家具使用体验

⚠️ 免责声明

本文系纯个人使用观感分享,并非推荐或不推荐购买特定厂商和/或特定产品。

随着本次疫情在美国的爆发,厂里安排了一笔预算来购买办公家具。在同事的推荐下我在 autonomous.ai 下了一单包括升降桌、椅子和台灯在内的家具。

阅读全文…( 本文约 1321 字,阅读大致需要 3 分钟 )

RIP Dr. Bruce Evans

| *nix and Win32 Kernel

Bruce Evans (bde@),那个愿意花时间在你改了三行看似无关紧要代码的时候写上整整两页回信细数为什么这么做不对,之前他们还做过什么以及为什么那么做也不行的老爷子在上周(12月18日)突然去世了。我已经开始想念他了。

阅读全文…( 本文约 107 字,阅读大致需要 1 分钟 )

用 Pomerium 来实现基于身份的访问控制

| Distributed Computing | Security

Google 在十年前提出了一套名为 BeyondCorp 的零信任网络的安全方案。这套方案想要完整地实现还是有一定门槛的,在这种模型下,企业内网不再作为一个安全边界存在,相反即使在内网进行的访问也必须进行和外网同样的鉴权与访问控制。最终的改造方向是内网不再是一个特权网络,每个终端上部署的客户端证书主要是作为一项身份信息来使用。

阅读全文…( 本文约 919 字,阅读大致需要 2 分钟 )

将 Windows 10 的系统时钟时间设置为UTC

| Kernel | #Windows | #UTC | #time

许多操作系统会默认系统时钟(主板通过电池驱动的)是UTC,Windows上并不是这样。多系统并存时这会带来一些困扰。

阅读全文…( 本文约 111 字,阅读大致需要 1 分钟 )

安装了太阳能发电系统

| Life | #solar | #energy | #SunWork | #Tesla | #SunRun

加州光照充足,在换了油电混合车并安装了空调以后,我目前每年的用电量大约是每年6000 kWh(此前每年的用电量大约是2400 kWh)。随着加州电价的逐年提高,安装太阳能发电终于不再是一件不经济的事情了。

根据贵厂的 Project Sunroof 估计,我家屋顶每年的可用光照时间大约是 1903 小时,其中有 1357 平方英尺(大约126平方米)的面积可以用来安装太阳能板。经过和数家(马老板的 Tesla 即原 SolarCity、 Costco 合作的 SunRun,以及同事推荐的 SunWork)太阳能板安装公司的询价,最终选择了采用 10 块太阳能板、微型逆变器(microinverter)的方案。其中, SunWork 是一家致力于推广太阳能发电的 501(c)(3) 非盈利机构(他们要求客户在12个月内的电费低于 $100;对于使用了电车的用户,这些用户在购买电车之前的12个月内应满足此条件),因此报价比其他供应商低了 1/3 左右。

阅读全文…( 本文约 918 字,阅读大致需要 2 分钟 )

修复 MySQL 编码问题

| Development | #MySQL | #database | #encoding | #UTF-8

有个疑似 OCD 患者最近抽风升级了一下 MySQL 数据库,然后发现 blog 里面全都变成了乱码。

那乱码的模式一看就是把 utf8 直接扔进了 latin1 的数据库,一看 SHOW CREATE TABLE mt_entry 发现果然如此。

阅读全文…( 本文约 265 字,阅读大致需要 1 分钟 )

这也太不注意卫生了

| Security | #Xcode | #security | #malware

razor 同学对于 Xcode ghost 的事情的评价是:这也太不注意卫生了。个人深以为然。

技术细节、影响等等,已经有很多大牛写过很好的文章来介绍。但是我想问的是,这事完了吗?在我看来远远没有,根据有关厂商的介绍,想要装上这个下了马的 Xcode,首先得从 App Store 以外的渠道去下载,其次还得允许运行来自 ‘Anywhere’ 的应用程序,或者开发人员习惯于绕过系统的数字签名检查。

阅读全文…( 本文约 710 字,阅读大致需要 2 分钟 )

clang优化器的一个问题

| Kernel | #clang | #compiler | #optimization | #FreeBSD

📜 历史文件已不具备现实意义

今天的一个偶然的发现。FreeBSD clang version 3.6.1 (tags/RELEASE_361/final 237755) 20150525clang 3.8 2015/07/20 的版本同样有此问题。

之前, FreeBSD 上 strndup(3) 的实现是这样的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
char *
strndup(const char *str, size_t n)
{
	size_t len;
	char *copy;

	len = strnlen(str, n);
	if ((copy = malloc(len + 1)) == NULL)
		return (NULL);
	memcpy(copy, str, len);
	copy[len] = '\0';
	return (copy);
}

而 OpenBSD 上的实现,则是这样的:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
char *
strndup(const char *str, size_t maxlen)
{
	char *copy;
	size_t len;

	len = strnlen(str, maxlen);
	copy = malloc(len + 1);
	if (copy != NULL) {
		(void)memcpy(copy, str, len);
		copy[len] = '\0';
	}

	return copy;
}
阅读全文…( 本文约 304 字,阅读大致需要 1 分钟 )

还是得提高知识水平

| Security | #FreeBSD | #ssh | #slogin | #security

📜 历史文件已不具备现实意义

freebsd-update 目前已进入维护状态并可能在后续 FreeBSD 版本中逐步被替换掉。

今天搞了一个 大新闻。如果你用BIND并且今天之前没打过补丁的话,请读到这里为止,立即去补吧。

我觉得还是得提高知识水平。做 freebsd-update 补丁的时候,赫然发现修改的文件中有一个不认识的:

阅读全文…( 本文约 412 字,阅读大致需要 1 分钟 )

关于闰秒

| Kernel | #A core | #atppp | #闰秒 | #leap second | #ntp

phk 老大如此 吐槽

One week until the leap-second. If you haven’t tested your IT-system already, it is too late now. Good luck if you’re in California or Japan.

背景

关于时间,A core 几年前写过一个 时间是什么? 的系列: 序言 续一 续二 续三

为了兼顾天文观测获得的时间 UT1(更符合普通人的需要)和由铯-133原子震荡获得的时间 TAI (更稳定),将两者综合一下就获得了协调世界时 UTC。UTC 和 UT1 之间的差距永远保持在 1 秒以内。UTC 中的一秒和 TAI 相同,但 UTC 和 UT1 保持最多一秒的差距,这是通过 IERS 在 UTC 事件中人为插入或减少闰秒这样的人为调整来实现的。从1972年这套系统投入运营到今天为止,总共插入了35个闰秒(2015年6月30日还将再插入一个闰秒)。

闰秒只在每年的6月30日和12月31日的UTC时间 23:59:59 之后插入,表示为当天的 23:59:60

阅读全文…( 本文约 1429 字,阅读大致需要 3 分钟 )