两片碎片

就记两个想法,都是听podcast来的。

Is the Greatest Threat to President Putin Alexei Navalny? (The Inquiry)

Alexei Navalny成功组织了几次遍布俄国各地的大规模游行。他完全是从网络发展影响力的。这样的反对游行普京政府显然没有准备好,他们没有正面回应过。但是Navalny的弟弟被捕,Navalny本人也被调查。因为俄国经济现在不好,越来越多的人会“关掉电视,打开电脑寻求方案”。

听这一期我有两个想法。第一个是我本来并不知道苏俄解体后的俄国政府还和我们这么像。采访中说俄国的反对党是和执政党密切合作的。他们要提什么也是要经过执政党审核才能提。这和我们的民主党派有什么区别。好吧也许区别在于,Navalny还活着,还可以活动,甚至,还可以竞选总统。

另一个想法是,俄国人没做好及早关网络的事情。但我们做到了。(想想各种fandom的俄国迷妹都很厉害。。)

Barbed Wire (50 Things that Made Modern Economy)

铁丝网的发明为美国开发西部提供了实际圈地的工具,否则,林肯政府发布的“每个人都可以去西部圈X面积的地,耕种Y年后土地就是你的了”的法令无法实行。

里面最后说的一句话很想回味:

It’s true that modern economy is built on private property, on the legal fact that most things have an owner, usually a person or a cooperation. Modern economy is also built on the idea that private property is a good thing because private property gives people an incentive to invest in and improve what they own, whether it’s a patch of land of the American West, or a parvement in Cocatta (?) or even a piece of intellectual property such as the rights to Mickey Mouse.

It’s a powerful argument. And it was ruthlessly and cynically deployed by those who wanted to claim that native Americans didn’t really have a right to their own territory because they weren’t actively developing it in the sense or style that European saw fit.

So the story of how barbed wire changed the West is also the story of how Property Rights changed the world, and is the story of how even in the sophisticated economy, what the Law says sometimes matters less than simple practicality. Then 1862 Homestead Act laid out the rules on who owns what in the Western territory. But those rules didn’t mean much before they were reinforced by barbed wire.

technology meta

每天都有无数的想法。看看记下来的话会不会印象深一些。所以新建一个日志分类叫做TIL。

好奇去看了PGP的维基百科页面,我其实想知道一下这个加密技术是怎么来的,和别的加密技术的区别是哪里。没有理解得很清楚。目前脑补是RSA加密可能效率比较低(大数据量情况下性能差),所以发明了这个包含RSA加密的技术。没太看懂技术的方面,但看到这个技术曾有法律争议很惊讶。1993年的时候,出于国防需要这个作者Phil Zimmermann被禁止在网上传播这个技术。他就把代码印在一本书里,因为印书和传播书是明确受美国宪法保护的。

有空读一读Why I Wrote PGP

今天听了一期The Inquiry的节目,采访了一本书的作者。这个作者在警告人们,随着技术的增长,inequality很可能会增加。他的主要观点,虽然按照节目的格式有四个,但我觉得大概可以概括成2个:一、人类历史上一直是贫富不均的。近代开始强调普通人,也是因为工业革命使得普通人成为了经济的必要环节(资本家需要劳动力)。当机器可以取代人之后,普通劳动力就不容易再被重视了。二、同样的从人类历史上一直是贫富悬殊的出发,如今的技术可以使得富阶级更加有能力增加差距(比如延长寿命、增加智力等)。

我觉得这样的观点要反驳的话也是有很多点可以说的。(比如我并不觉得普通人干脏活被剥削这件事,工业革命之前和之后有根本的区别。)然而他说的也有一定的道理。个人地位的崛起肯定是有经济方面的原因的。另外,技术发展但使用技术的智慧发展跟不上,也是罗素一直警告的问题。

 

notes setting up hadoop on ubuntu

Typed from my new ubuntu set up on an old piece of hardware.

Trying to follow instructions from Hadoop Beginner’s Guide book.

Ubuntu basics

Install Ubuntu from a USB stick

Complication: UEFI and Secure Boot – (It seems that I have to disable Secure Boot)

Things to do after installing Ubuntu [link1] [link2]

Install JDK from Oracle Linux ARM version is for non-intel CPU

Use tar to unpack gz; use sudo to gain permission to /usr/local/

Download Hadoop src

Setup ssh key. sshd is the server side daemon required to ssh to. Need to install sshd before you can ssh to the server (local).

Hadoop configuration dir moved (since 2.0?), many online tutorials as well as the my book tells me to go to $HADOOP_HOME/conf, which is confusing.

Getting errors trying to start hdfs. Need to figure out which user hadoop runs with.

 

argparse

读完Python官方教程modules一章之后,我以为我可以开始写script了。然而我不知道怎么给script传参数。同事写的例子里面,是拿了一个config module把参数从另一个文件里读出来。可是我想何必呢,处理命令行参数的技能总是要的,我很惊讶基本教程里没有。搜索了一下才知道,argparse是后来进入canon的module。

argparse的官方教程的时候我很糊涂。介绍了positional argment之后介绍了optional argument,然后就没了。难道positional argument对应的不是named argument吗?我搜了一会儿才发现,官方虽然把optional argument都当作named argument来操作,甚至可以加一个required=true的限制,但是在打印帮助的时候required=true的参数还是打印在了optional argument里

我们到底有没有理解错Python设计者的原意啊。。。(大概不是为在命令行调用设计的,我经验太少不知道script语言除了命令行调用还可以怎么用。Python号称可以和别的程序语言结合用很灵活的。

随想

今天终于有点空继续写powershell工具。最初接触powershell的时候,我以为就是Windows模仿Unix的一个东西。实际上powershell里目前感受到最大的不同是数据类型比较规范,shell里面变量都可以是字符串,因此比较低层。powershell比较高层一些,也意味着要多理解一些它的内部逻辑才行。

下午花了不少时间把上次写到一半的东西拾起来。上次终于写出了正则表达式表示的分隔符。因为分隔符有可能用到在数据里,所以我希望能有个escape character。在股沟里键入”powershell regular expression”,不能给我官方手册。这也是MSDN讨厌的地方。(实际上,我应该用PS自己的help,不过还不会用。)千转百回终于找到了上次参考的文档,赶紧存下来。看了这个文档,终于重新弄明白了自己上次写的代码。发现了一个漏洞——补上。漏洞本身的逻辑也很简单。但是容易漏掉。所以这些都不靠聪明,而是靠强迫症。

实际上,数据用到分隔符的可能性是非常非常小的。不过我还是纵容了一下自己的强迫症。

学一个新的东西真是不容易。我一直觉得,只要给我官方文档,和一个可以尝试的环境,那么什么都能学会。MSDN是我见过的最难懂的官方文档了。

写代码的能力,除了一般的计算机sense,其它的我觉得有这么几点:

1)要会尝试、很快地尝试。尝试是迭代知识的必要手段。特别是对我这样的强迫症,如果不尝试,我总是要怀疑之前的想法中有没有靠不住的地方。要很快地尝试,这样思路就不会打断

2)要善于meta化,来理解程序语言的设计思想,或者来理解机器的执行。

1)和2)要很快地交替,meta化了之后,往往会萌生新的问题、怀疑、理论,这就要继续尝试、根据尝试结果来修正或者reinforce理解。

另外,必不可缺的是股沟。有股沟、维基,有官方文档、可以尝试的环境。好了,我可以撬动地球。

当然,我一直觉得我很不够聪明的。前一阵读到网上关注的一个人的说法

好像发现一个通用的评估标准:事情复杂到什么程度你开始自我欺骗,就决定了你是什么层次的人。心理比智商还重要。有人知道我在说什么鬼话吗?

这个人有歧视女性的倾向(但人是开明的,我相信如果他遇到真正智慧的女人他会识别的),然而除此之外他的很多观点我很同意,也很独到。

强迫症永远不允许我自我欺骗。但是有时候我有逃避困难的倾向。

用新学的语言写小程序,一开始总觉得困难重重。跟着一个好的tutorial来学是客服最初困难的好方法。但是学一点点就要自己尝试。即使试会了教程里面的例子,实际要用的时候,还是有很多困难:设计的时候:这几个并到一个function里可以吗?用的时候会不会有问题?实施的时候又要被各种实际抛错影响。好在到达一定程度之后,一切会变得简单、效率百倍。以至于舍不得停下来。今天太晚了就回家了,但是到家后我还在写日记想这些。。。