作者归档:c君不在

二十年前的法律就不适用了?

今年到今天为止看到的最讶异的话语是“怎么能拿二十年前的法律来判今天的人?”。

在我的认知中,只要法律还没修订、还没失效,那么不管多少年,那都是有效的。如果觉得不与时俱进,那么合理的做法是推动其修订或废弃,而不是自认为不是有效地就当其不存在。

当然,我其实是觉得那个案子震慑了那群公开无视黄赌毒相关法律的所谓的爱好者,怕顺藤摸瓜抓到自己,所以打着“法不责众”的小九九在睁眼说瞎话。

上述前提,自己还没详细去看庭审记录

计划了解一点的法律知识,至少了解日常生活中自己的权利和法律禁区。

参考

受限信息

CIA:你的研究1是受限的,把它泄漏给外国敌对组织是违法的。
教授:受限?没人通知过我啊。
CIA:限制目录是保密的。
《numb3rs 第四季 18 集》

联想到了保密的敏感词


  1. 指提高农作物的抗疾病能力,但也可能被用来制作武器 ↩︎

基因

最近基因治疗、基因编辑好像收到不少的关注,自己本身并没有去关注,只是想起了以前看过的一本小说,里面有相关的事件。

观点有很多,如果通过基因技术,能够治愈某些绝症,那么是否可以用它来拯救生命呢?

另一方面,医疗至少很长一段时间内不能做到人人接近免费享受,所以和所有的市场行为一样,越有钱的人越能享受到更好的服务。在基因相关技术开放的情况下,富人能做更多的基因优化,而底层的人可能负担不起任何一个基因治疗,最后可能就是“消灭一部分人来达到共同富裕”了。

进步、健康、伦理、公平,这些关注点在生命的奥秘命题上可能会有非常多的辩论与纠结。

101

经常看到 Math 101ReactJS 101Java 101 等,虽然能大概明白是什么意思,但一直没考究过,今天决定查看一下。

xx 101 这种用法来自美国大学的课程,一般用字母+数字的组合来作为课程代称,如 CS101 这种一般用来指代计算机导论这类课程。其中字母 CS 代表计算机类别,(从左边开始),第一个数字表示课程级别,简单来说就是大几,中间的数字表示课程子类,最后的数字表示第几学期。

后来 101 则进一步延伸为某一领域的入门知识。

参考

电影开屏广告

我进电影院的次数屈指可数,上一次进电影院还是几年前,印象中那时进去就是直接看电影。没想到最近去电影院,还没到点,于是看了好一会广告,这是常见经营模式了吗?

Git 永久移除文件

Git 基于内容寻址的文件系统及数据对象1等设计,默认情况下,文件每次变更都生成一个副本。如果需要移除已经 push 到远程仓库中的文件,那么仅当前 commit 删除 ignore 并不能完全地移除掉对应的文件,还需要把其从所有的历史记录中移除才行。

这个需求可以通过 git filter-branch 来完成,但这个命令偏底层,具体到删除文件这个场景上,可以使用 bfg-repo-cleaner 这个工具。这个工具功能挺多的,具体参考官网文档或使用时的提示。

下面是一个删除指定目录的流程

git clone --mirror xxRepo   # 需要在 mirror 模式下操作
cd xxRepo
java -jar path/to/bfg.jar --delete-folders "{build, dist}" --no-blob-protection
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push

参考

《最简单的图形与最复杂的信息》笔记

《最简单的图形与最复杂的信息(The Wall Street Journal Guide to Information Graphics)》

最简单的图形与最复杂的信息

折线图用于连续数据,条形图用于离散数据。但当两个数据列都是条形图时(双 Y 轴的场景),可考虑把其中一个变为折线。

折线图 Lines

  • 折线高度约占图标区域 2/3。
  • 折线应比网格线粗,但不能过粗而导致掩盖了折点变化;如果有零基线,零基线应比网格线稍粗。
  • Y 轴增量常用 1、2、5、10、15、20、25 等。
  • 线条应在四条以下;使用实线,通过粗细、颜色比形状区分更好(使用颜色时需要考虑色盲的情况);如果数据系列比较多,可考虑由一个个的单折线图组成图表组。
  • 空间紧凑且交叉点多时,可使用图例,且顺序尽量和重点顺序一致。否则可直接在折线上标注,标注应简短。
  • 双 Y 轴应用于表示两组数据有关联的场景。
    继续阅读

c君不在

2018/10/07

React 的行内条件渲染(inline conditional rendering)能够在无 else 分支的情况下简化条件渲染,这是由子元素定义及渲染决定的。

const ele = (
  <div>
    <p>{true}</p>
    <p>{true && 1}</p>

    <p>{false}</p>
    <p>{false && 2}</p>
  </div>
);

对应的 JavaScript 代码是

const ele = React.createElement(
  "div",
  null,
  React.createElement("p", null, true),
  React.createElement("p", null, true && 1),
  React.createElement("p", null, false),
  React.createElement("p", null, false && 2)
);

true && 1 等的表达式结果作为子元素去渲染时,使用  ChildReconciler#createChild ,其中仅当子元素类型(typeof)是 stringnumberobject 且不为 null 时才渲染,所以 true / false 则不会渲染。

继续阅读

《牛津通识读本:数学》读书笔记

《牛津通识读本:数学》

牛津通识读本:数学

序言

他的一个基本的观点:对于数学,不要问它是什么,而只要问它能做什么。

这一抽象化的思考方法,将重点放在数学内部体系的相容性,强调新的数学概念、方法与内容和已有的数学体系应自然地融为一体,强调要将有关的数学内容脱离其物理上的实在、变为符合一些特定规则的记号,就会更利于应用,更利于正确地理解高等的数学。

继续阅读