Read on Omnivore
Read Original

Highlights&&Note

  • Understand the difference between one-, two- and n-dimensional arrays in NumPy;
  • Understand how to apply some linear algebra operations to n-dimensional arrays without using for-loops;
  • Understand axis and shape properties for n-dimensional arrays.
    理解不同维度的数组
    不适用for循环计算数组
    n-数组的axis与shape值
    ^39b79e0f

For example, the array for the coordinates of a point in 3D space,[1, 2, 1], has one axis. That axis has 3 elements in it, so we say it has a length of 3. In the example pictured below, the array has 2 axes. The first axis has a length of 2, the second axis has a length of 3.

[[1., 0., 0.],
[0., 1., 2.]]
^b040311e

ndarray.shape

the dimensions of the array. This is a tuple of integers indicating the size of the array in each dimension. For a matrix with n rows and m columns, shape will be (n,m). The length of theshape tuple is therefore the number of axes, ndim.
对于矩阵[n,m]
shape是矩阵的形状,(n,m)
shape的length是矩阵的维度ndim,2
^6158dbf4

ndarray.size

the total number of elements of the array. This is equal to the product of the elements of shape.
^5372022b

ndarray.dtype

阅读更多

Read on Omnivore
Read Original

Highlights&&Note

Python is simpler to use, available on Windows, macOS, and Unix operating systems, and will help you get the job done more quickly.
更加轻量级的脚本语言 ^bafd84be

Python is simple to use, but it is a real programming language, offering much more structure and support for large programs than shell scripts or batch files can offer.
相较于shell与batch files,能够提供更多接近编程语言的特性 ^51317e08

Python is an interpreted language
_- 编译性语言

  • 解释性语言
    • 脚本语言
      脚本语言是解释性语言的一种.
      Python is scripting language. But it is more than just a scripting language._ ^b49ea4e9

Content

If you do much work on computers, eventually you find that there’s some task you’d like to automate. For example, you may wish to perform a search-and-replace over a large number of text files, or rename and rearrange a bunch of photo files in a complicated way. Perhaps you’d like to write a small custom database, or a specialized GUI application, or a simple game.

If you’re a professional software developer, you may have to work with several C/C++/Java libraries but find the usual write/compile/test/re-compile cycle is too slow. Perhaps you’re writing a test suite for such a library and find writing the testing code a tedious task. Or maybe you’ve written a program that could use an extension language, and you don’t want to design and implement a whole new language for your application.

Python is just the language for you.

You could write a Unix shell script or Windows batch files for some of these tasks, but shell scripts are best at moving around files and changing text data, not well-suited for GUI applications or games. You could write a C/C++/Java program, but it can take a lot of development time to get even a first-draft program. ==Python is simpler to use, available on Windows, macOS, and Unix
operating systems, and will help you get the job done more quickly.==

Python is simple to use, but it is a real programming language, offering much more structure and support for large programs than shell scripts or batch files can offer. On the other hand, Python also offers much more error checking than C, and, being a very-high-level language, it has high-level data types built in, such as flexible arrays and dictionaries. Because of its more general data types Python is applicable to a much larger problem domain than Awk or even Perl, yet many things are at least as easy in Python as in those languages.

阅读更多

Read on Omnivore
Read Original

Highlights&&Note

因此,整个demo的核心实际上是VisualizationDemo

模型处理输入得到输出predictions=self.predictor(image)predictions就是模型(刚刚的self.predictor)输出的结果。阅读机器学习、深度学习代码最重要的就是追踪这类模型处理数据的代码,因为这类代码是理解整体计算模型的关键。

predictor.py9-12行的import部分,我们可以学习到很多架构深度学习项目的规范、设计方法,在不同的文件夹中,我们往往会通过功能将不同的模块分开包装。例如在predictor.py中体现的:

  • .data:处理数据相关的类和方法
  • .engine:对训练、预测逻辑的整体包装,类似于对整体Pipeline的定义,常见于大型项目
  • .utils:应该是utilities的简写,一般用来放置常用的工具模块,例如在这里体现出来的可视化部分

总之,对于越大型的项目来说,合理的分区、包装就越有必要,因为这可以从软件工程角度节省大量用来理解、开发、查错(Debug)的成本。在自己的很多小项目中,合理地使用类似的方法也能有效地提升项目质量。

训练代码是tools/train_net.py

if __name__ == '__main__'的部分(这里是代码运行的接口),可以看到detectron2的结构是利用launch运行了main函数中的内容。如果我们不关心分布式训练的部分(即在distributed的作用域的部分),那么main函数的逻辑相当简单:得到模型和运行的参数(在参数cfg中)。利用定义好的类Trainer,通过传入cfg参数可以定义出模型,后面的部分均通过Trainer里面的方法都可以实现,例如train()顾名思义就是做训练的,test()就是测试的,build_model()就是创建模型的。
很有意思的是,过去的detectron2没有封装invoke_main.不知道为什么要封装这么个东西

Trainer的定义中我们发现它是一个继承自engine.DefaultTrainer的子类,而我们通过上面对main函数的分析发现Trainer的主要功能其实都来自于DefaultTrainer
trainer看engine.DefaultTrianer就行

查看文件名字和每个文件上面__all__的部分可以大致猜测出它们之间相互引用的关系和每个文件主要负责的部分

defaults.py包含了我们在train_net.py中见到的DefaultTrainer,也大多是在import别人

launch.py中的launch顾名思义是让算法开始运行的代码,我们浏览一下它最主要的函数launch,根据它的参数num_machinesmachine_rank可得知它是负责分布式训练的代码,又有参数中main_func,可以知道launch不涉及detectron2的实际功能
分布式训练,不用管

我们清晰了engine部分的层次关系。具体而言,我们按照如下的顺序阅读代码

  • train_loop.py
  • hook.py
  • defaults.py

HookBaseHook的基类,其中实现了方法before_stepbefore_trainafter_stepafter_train,其主要的作用是在真正做训练之前,做好每一步的准备工作。针对不同的Trainer可以使用不同的Hook。Hook翻译过来叫做“钩子”,所以我们可以形象地理解成Hook像在训练首尾的两个钩子一样挂着负责训练的Trainer

TrainerBase中定义了多个Hook,并且在Trainerbefore_stepafter_step等函数中可以看到需要执行每一个Hook在训练之前的准备动作HookBase.before_step、训练之后的收尾动作HookBase.after_step。具体的训练过程非常正常,就是按照iteration的数量运行before_steprun_stepafter_step三个函数。
在 Python 中,hook通常是指在特定时刻自动执行的函数。

SimpleTrainer中作者实现了一种最基本的训练神经网络的流程,它是作为上一段中TrainerBase的子类出现的。它最主要的工作就是将TrainerBase中没有实现的run_step方法实现。事实上,在SimpleTrainer中实现的过程也是最通用的训练过程:

  • iter(dataloader)读取数据
  • loss_dict = self.model(data)计算每个batch的loss
  • self.optimizer.zero_gradlosses.backward()self.optimizer.step()实现训练的过程
  • 通过统一的结构_write_metrics记录、打印计算的指标。
阅读更多

Read on Omnivore
Read Original

Highlights&&Note

首先介绍detectron2中使用的registry机制

Trainer中初始化模型调用的接口是build_model函数,通过modeling/__init__.py可以知道它是在modeling/meta_arch/build.py中定义的。但是在阅读build.py的过程中,我们发现它使用了一个叫做Registry的东西——那么什么是Registry呢?

Registry机制来自于FaceBook计算机视觉研究组的常用函数库fvcore,其中Registry的源代码和解读可见registry。它的主要作用是提供了用字符串调用类方法的接口,具体的函数是registry中的get方法。个人感觉registry.get()非常像一个getattr方法,它能够通过字符串访问类的方法。

例如我们有一个具体的网络结构,定义在modeling/meta_arch/rcnn.py中的GeneralizedRCNN。注意在它的定义上方有一个修饰器@META_ARCH_REGISTRY.register(),意思就是把GeneralizedRCNN注册到META_ARCH_REGISTRY中。那么在modeling/meta_arch/build.py中的model = META_ARCH_REGISTRY.get(meta_arch)(cfg)中,只要我们设置meta_archGeneralizedRCNN,那么META_ARCH_REGISTRY.get(meta_arch)就调用了GeneralizedRCNN方法,也就因此初始化了模型。

  • 指定名字来调用模型
    用@ 修饰器在META_ARCH_REGISTRY中注册
    再在参数中写入名称即可实现初始化*

registry的几个要点

  • 创建一个registry,设置可能的调用的类的名字
  • 对于想加入到registry中的类,在定义的时候通过修饰器指定
  • 调用类方法的时候通过get(name)
  • 通过fvcore中的源代码,我们可以知道如何写python修饰器。

Faster-RCNN的结构主要包含如下几个部分,而这几个部分也是GeneralizedRCNN在初始化部分的输入:

  • backbone:从图片提取特征表示的卷积神经网络结构,比如说ResNet。
  • proposal_generator:从图片的特征预测“哪里可能有物体”
  • roi_head:以proposal_generator部分预测的有物体区域为基础,预测物体的类别和检测框坐标

__init__功能相似的是from_config函数,它用config文件初始化模型,通过这个函数我们知道了实际构造backbone、proposal_generator和roi_head的函数分别都是来自对应文件夹的build_xxx函数。

RCNN模型处理函数的过程,我们主要关注forward函数,主要包括如下步骤:

阅读更多

Read on Omnivore
Read Original

Highlights&&Note

一般情况下,东大是不愿意在东南亚这片地方谈“历史”的,因为这片地方没有历史,唯一存在的历史,就是东大的历史。

很多人觉得东大的南海九段线太霸道,直接画到了很多国家的家门口,那是你理解错了,因为历史上东大的影响力就是这么大,甚至更大,有这些线的时候,还没有这些所谓的“国家”。
^5fe65c01

举个例子,1946年之前,这里是没有什么狗屁菲律宾的,不存在这个国家,这里只是一些乱七八糟的人类土著部落、割据王国……长达三百年都是西班牙的殖民地,后来又被美国、日本侵略,这是个被创造出来的国家。
^dab1e344

Content

录音记录面前菲官员继续狡辩东大拿出了和菲律宾之间的录音文件,但菲律宾官方居然回应“录音很容易伪造”……

全世界没有几个国家比东大更温和、包容、讲道理,因为东大近代200年曾经也是弱者,也曾饱受强权欺凌,东大明白这种感觉,所以己所不欲,勿施于人。

东大一般不愿意以强权和武力对周边的邻居们说话,但实际上这是全世界大多数人唯一听得懂的沟通方式。

阅读更多

博客搭建

原理

用hexo+github page搭建.
hexo生成静态网页HTML,GitHub page展示HTML

github page

每个仓库都有一个pages服务,可用来展示项目,通过简单的设置项目的index.html,并以此做为入口供用户参观访问.
当然也可以用来跑博客. ^dca042

hexo

  1. hexo g:生成静态文件。将我们的数据和主题相结合生成静态文件的过程。
  2. hexo d:部署文件。部署主要是根据在 _config.yml 中配置的 git 仓库或者 coding 的地址,将 public 文件上传至 github 或者 coding 中。然后再根据上面的 github 提供的 pages 服务呈现出页面。
    source储存md
    themes储存主题
    md+主题 生成静态HTML
    hexo_repo文件下还有一个public的文件夹.执行hexo clean,会清除public,执行hexo d会生成public.还会生成.deploy_git文件夹,这个文件夹就是我们部署到github或者gitee上面的文件.
    只有public的文件才会上传到github.如果github page的结果不对,可能是hexo没有执行好 hexo deploy命令.
    hexo server执行,依赖的不是public文件内容.可能会导致localhost展示结果与github page不同.
    source -> public -> .deploy_git
    执行hexo generate,根据source,更新public
    执行hexo deploy,根据public,更新.deploy_git
    1
    2
    hexo clean
    hexo g -d
    是最优解
    详解Hexo搭建博客的底层原理

    搭建reference:

    ubuntu 安装hexo
    已经放弃,转windows hexo
    由于是在git bash里面操作,没区别…可以直接参考ubuntu系统下的安装

    域名绑定:

    https://blog.csdn.net/weixin_45961774/article/details/108402406
    cpolar + PHP study
    本地配置网站,再内网穿透到公网

不需要
我有ipv4

icarus修改

live2d

使用的是张书樵的live2d-widget
live2d模型添加
live2d模型库,超多色色
依赖cdn服务,直接从别人的服务器上拉取的live2d.所以hexo库里面并没有原生的live2d文件
好像要自己部署cdn服务,再调用api添加新的live2d模型
有点难度,暂时放弃,以后有机会接触到cdn,本地api部署再说

阅读更多

rsshub 部署

主要订阅内容

  • [x] 微博
  • [ ] eh
  • [ ] 哔哩哔哩
  • [ ] 公众号(发现完全不看公众号)
  • [ ] 少数派
  • [ ] 论文期刊(读研再说吧)

dependence

  • docker
  • docker-compose
  • rsshub
  • rssradar

初次部署

使用本地 RSS 客户端来浏览在线 RSS 帐户
客户端用fluent reader 账户用inoreader
对于eh可以直接使用,但对于exhentai,好像只能自己部署来实现
放弃项目


第二次部署

重新启动!
用omnivore之后,为了订阅微博上的关注,在软路由上重新部署了rsshub.

部署很简单,建议使用docker-compose部署,详情见Docker Compose 部署.

阅读更多

中国历代政治得失

  • Highlights and Notes ^148d78

    • 前言

      • 首先,要讲一代的制度,必先精熟一代的人事。

      • 第二,任何一项制度,决不是孤立存在的。各项制度间,必然是互相配合,形成一整套。 ^5979a6

      • 第三,制度虽像勒定为成文,其实还是跟着人事随时有变动。某一制度之创立,决不是凭空忽然地创立,它必有渊源,早在此项制度创立之先,已有此项制度之前身,渐渐地在创立。某一制度之消失,也决不是无端忽然地消失了,它必有流变,早在此项制度消失之前,已有此项制度的后影,渐渐地在变质。

      • 第四,某一项制度之逐渐创始而臻于成熟,在当时必有种种人事需要,逐渐在酝酿,又必有种种用意,

      • 第五,任何一制度,决不会绝对有利而无弊,也不会绝对有弊而无利。

      • 第六,我们讨论一项制度,固然应该重视其时代性,同时又该重视其地域性。推

      • 第七,说到历史的特殊性,则必牵连深入到全部文化史。政治只是全部文化中一项目,我们若不深切认识到某一国家某一民族全部历史之文化意义,我们很难孤立抽出其政治一项目来讨论其意义与效用。

      • 一国的政权,究竟该交付与哪些人,这是第一义。至于政府内部各项职权之究应如何分配,这已属第二义,中国历史

      • 第三个范围则讲政府的赋税制度,这是政府关于财政经济如何处理的制度。

      • 第四范围我想讲国防与兵役制度。

    • (一)皇室与政府

      • 而且中国的立国规模,并不是向外征服,而是向心凝结。汉代的国家体制,显与罗马帝国不同。何况

      • 在封建时代,本来有很多家庭有他们世袭的特权,这些皆所谓贵族。但从秦汉以后,封建制度早已推翻。单只皇室一家是世袭的,除却皇帝可以把皇位传给他儿子以外,政府里便没有第二个职位,第二个家庭,可以照样承袭。郡

      • 不过在那时,还留下一个很大的问题:便是皇室和政府的关系。皇室是不是即算政府?若把皇室和政府划开,这两边的职权又怎样分?这是

      • 皇室和政府是应该分开的,而且也确实在依照此原则而演进。皇帝是国家的唯一领袖,而实际政权则不在皇室而在政府。代表政府的是宰相。皇帝是国家的元首,象征此国家之统一;宰相是政府的领袖,负政治上一切实际的责任。皇权和相权之划分,这常是中国政治史上的大题目。我们这几十年来,一般人认为中国从秦汉以来,都是封建政治,或说是皇帝专制,那是和历史事实不相符合的。

      • 汉代皇帝有六尚,尚是掌管意。六尚是尚衣、尚食、尚冠、尚席、尚浴与尚书。五尚都只管皇帝私人的衣服饮食起居。只有尚书是管文书的,这真是皇宫里的“秘书”了。汉代

      • 若说到宰相的秘书处呢?共有十三个部门,即是当时所谓的十三曹,一个

      • 可见汉代一切实际事权,照法理,该在相府,不在皇室,宰相才是政府的真领袖。以上

    • (二)中央政府的组织

      • 所以丞是副,相也是副,正名定义,丞相就是一个副官。是什么

      • 为什么又叫宰相呢?在封建时代,贵族家庭最重要事在祭祀。祭祀是最重要事在宰杀牲牛。象征这一意义,当时替天子诸侯乃及一切贵族公卿管家的都称宰。到了秦、汉统一,由封建转为郡县,古人称“化家为国”,一切贵族家庭都倒下了,只有一个家却变成了国家。于是他家里的家宰,也就变成了国家的政治领袖。

      • 本来封建时代,在内管家称宰,出外作副官称相,所以

      • 那时凡具中字的官,都是指是住在皇宫的。皇室

      • 再说汉代的九卿,那是:太常、光禄勋、卫尉、太仆、廷尉、大鸿胪、宗正、大司农、少府。

      • 一、太常:在秦代叫泰常,这个常字,本当作尝。他是管祭祀祖先鬼神的。依四时奉献时物,让祖先鬼神时时尝新,故称泰尝。在

      • 古代的家庭,最重要的,可说不是活人而是死人,祭祖自属大事。宰就是掌管杀牛祭祖的。所以汉廷九卿的第一卿,也是管祭祀的。

      • 依文义讲,勋该就是阍,古音相同,这是皇家的门房。光是大义,光禄该即是大麓,禄麓音同相借。为什么门房称大麓呢?此因古时代的皇帝,多半靠山住家,好像宋江在梁山泊,朱贵在山脚下开设酒店,好通报消息。所以皇帝居山,房门就设在山麓。尚书上说舜管尧的大麓,那便是舜做了尧的宰相。换言之,乃是当了尧的门房。因此光禄与勋是古今语,都指门房言。

      • 卫尉:是一个武职,掌门卫屯兵,这是皇宫的卫兵司令。当时

      • 太仆:犹之是皇帝的车夫,《

      • 廷尉:是掌法的,犯了皇帝的法,都归他管。

      • 太常管皇家太庙,光禄卫尉,一是门房头儿,一是卫兵头儿。这都是在里面的。皇帝出门,随带的是太仆,在外面有人犯法,就是廷尉的事。

      • 胪是传呼义。古礼主宾交接,由主传到主身边的相,再由主身边的相传到宾边的相,由是而再传达到宾之自身。鸿即大义。大胪是传达官。

      • 宗正:是管皇帝的家族,其同姓本家及异姓亲戚的。

      • 大司农管的是政府经济,少府管的是皇室经济。大

    • (三)汉代地方政府

      • 汉代的地方政府,共分两级:即郡与县。

      • 汉代有一百多个郡,一个郡管辖十个到二十个县。大概

      • 汉代郡长官叫太守,地位

      • 汉代官级分得少,升转极灵活,这

      • 当时全国一百多个郡,太守的名位,都和九卿差不多,因此

    • (四)中央与地方之关系 ^29d385

      • 在九十月间呈报到中央,这叫做上计。

      • 中央特派专员到地方来调查的叫刺史。全国分为十三个调查区,每一区派一个刺史,平均每一刺史的调查区域,不会超过九个郡。他的调查项目也有限制,政府规定根据六条考察,六条以外,也就不多管。地方

      • 这些刺史,上属于御史丞。皇宫里还有十五个侍御史,专事劾奏中央乃及皇宫里的一切事情的。部刺史和侍御史的意见,都报告到副宰相御史大夫,副宰相再报告到宰相。副宰相所辅助宰相的,便是这一个监察的责任。

    • 二、汉代选举制度

      • 他们的子侄后辈,都得照例请求,送进皇宫当侍卫。待他在皇帝面前服务几年,遇政府需要人,就在这里面挑选分发。这一制度,虽非贵族世袭,但贵族集团,同时便是官僚集团,仕途仍为贵族团体所垄断。这在西方,直到近代还见此制。中国则自汉武帝以后便变了。

      • 但郡县掾属,必得本地人充当。譬如台北市的人,不能当台北市的市长;但台北市政府从市长以下的一切官,在汉代称为掾属的,那就绝对要用台北市的本地人。不过辟用掾属的权,则在长官手里,这叫做辟属。三公、九卿、郡太守、县令,这些是由皇帝由中央政府任命的。宰相下面的十三曹,就由宰相自己辟用。此外各卫门首长以下,全是吏,全由各衙门首长自己任用。现在

      • 一种是无定期的,譬如

      • 策即是一种竹片。问题写在竹简上,故称策问。一道道的策问,请教贤良们大家发表意见,这叫对策。政府

      • 第二种是特殊的选举,譬如

      • 后来又有一种有定期的选举,那就是选举孝廉。汉代

      • 自从武帝以后,汉代逐渐形成了一种一年一举的郡国孝廉,至少每年各郡要新进两百多个孝廉入郎署,十几年就要有两千个。从前皇宫里的郎官侍卫本也只有二千左右。自此制度形成,二三十年后,皇宫里的郎官,就全都变成郡国孝廉,而那些郡国孝廉,又多半是由太学毕业生补吏出身的。如是则皇帝的侍卫集团,无形中也变质了。全变成大学毕业的青年知识分子了。于是从武帝以后,汉代的做官人渐渐变成都是读书出身了。后来郎署充斥,要待分发任用的人才尽多,于是就把无定期选举,特殊选举都无形搁下,仕途只有孝廉察举的一条路,这是到东汉时代的事了。

      • 一个青年跑进太学求学,毕业后,派到地方服务。待服务地方行政有了成绩,再经长官察选到中央,又须经过中央一番规定的考试,然后才始正式入仕。那是当时入仕从政的唯一正途。政府一切官吏,几乎全由此项途径出身。这样

      • 这样的政府,我们只能叫它做读书人的政府,或称士人政府。汉代从昭宣以下的历任宰相,几乎全是读书人,他们的出身,也都是经由地方选举而来。并不是由其血统上和皇帝以及前任大官有什么关系,或者是大军人大富人,才爬上政治舞台。完全是因其是一读书知识分子而获入仕途。这一情形,直从汉代起。我们可说中国历史上此下的政府,既非贵族政府,也非军人政府,又非商人政府,而是一个“崇尚文治的政府”,即士人政府。只许这些人跑上政治舞台,政府即由他们组织,一切政权也都分配在他们手里。

    • 三、汉代经济制度

      • 然而汉代税制,有一个大毛病,当时对于土地政策,比较是采用自由主义的。封建

      • 结果政府的租税愈轻,地主愈便宜,农民卖了地,要纳十分之五的租给地主,地主向政府只要纳三十分之一的税。政府减轻田租,只便宜了地主,农民没有受到分毫的好处。这是讲的田租。

      • 以后中国历史上的土地政策,一面常欣羡古代井田制度之土地平均占有,但一面又主张耕者有其田,承认耕地应归属民间之私产。在这两观念之冲突下,终使土地租税问题得不到一个妥适的解决。

      • 此因封建贵族都已消失,只剩皇帝一家,承袭旧来的封建传统,所有全国的山林池泽,照当时人观念,便全归皇室。再从这一所有权的观念影响到赋税制度,所以当时凡农田租入归诸大司农,充当政府公费。而山海池泽之税则属少府,专供皇帝私用。这一

      • 汉武帝不禁要想:你们的钱究竟由哪里来的呢?岂不是都由我把山海池泽让给你们经营,你们才能煮盐冶铁,发财赚钱。现在我把少府收入都捐献给国家,而你们不响应,那么我只有把全国的山海池泽一切非耕地收还,由我让给政府来经营吧!这便是汉武帝时代有名的所谓盐铁政策。
        ^d2f2d0

      • 官山海
  • 这并不专是一个思想与理论的问题,而实际上则有极占重要的历史传统之现实情况来决定。为了

    • 盐铁论。当然
- 我们概括上述汉代的经济政策,对工商业是近于主张如近人所谓的节制资本的一面,而在对农民田租方面,则也已做到了轻徭薄赋,但并未能平均地权。在

- 王莽起来,就激起了一项大改革,把一切田亩尽归国有,称为皇田,重行分配。当时的意想,实在要恢复封建之井田制,而结果则引生一次大变乱。王莽失败了,从此中国历史上的土地制度也不再有彻底的改革了。

- 再也不进行土地所有制改革,是因为王莽新政 尝试说明此不可为
  • 四、汉代兵役制度

    • 一个壮丁,二十受田,可以独立谋生,但要他为国家服兵役,则应该顾及他的家庭负担。所以当时规定,从二十三岁起,照理他可以有一年储蓄来抽身为公家服役了。这一制度,不仅是一种经济的考虑,实在是一种道德的决定。

    • 近代的中国人,往往蔑视自己以往的政治传统,又说中国没有成套的政治理论,没有大的政治思想家。当然在中国以往著作里,很少有专讲政治理论的书,也很少专以政治思想而成名的人物。这并不是中国人对政治无理论,无思想。只因中国读书人多半做了官,他们对政治上的理论和思想,早可在实际政治中表现了。用不着凭空著书,脱离现实,来完成他书本上的一套空理论。于是中国的政治理论,早和现实政治融化合一了。否则

    • 当卫兵是极优待的,来回旅费由中央供给,初到和期满退役,皇帝备酒席款宴,平时穿的吃的,也不要卫兵们自己花钱。

    • 陈胜吴广的革命,便由此而起。

    • 汉代戍边还只是三天,可是你可以不去,只要一天出一百个钱,三天三百钱,交给政府,便可免戍。有一百个人不去,应该是三百天的免戍费,由政府把来另雇一人肯去的,一去便要他服三百天的戍役。他也得了这一笔钱,不仅足够在边用度,并且还可留一点安家,

    • 太守是地方行政长官,都尉是地方军事首领。地方部队

    • 中央有南北军,边疆有戍卒,地方上有国民兵,国家一旦有事,这三种军队都可以调用。

    • 国家除了服兵役之外,还要服力役,这是春秋战国直至秦汉以下历代一向有的一个大问题,现在

    • 全国壮丁按册籍编定,每人每年一个月,替国家义务做工,这在汉代唤做更卒,更是更替轮番的意思。如是则一个农民,既要到中央当卫兵,又要到边疆当戍卒,还要在地方上服国民兵役,

    • 除了上述三种兵役和一种力役外,每个国民还须纳人口税,连小孩子都有。说到

    • 于是有的人便宁愿出卖自己,做私人家的奴隶。当时

    • 要是在后代,无业谋生,还可以做乞丐、做流氓,政府不会来管。但在汉代是不许可的。你要当义务兵,你要去修飞机场、公路,你要纳人口税,你的名字住址,都在政府册子上,不去就要出钱,出不起钱便是犯法。你

    • 当时做奴隶,并不是出卖自由,只是出卖他对国家法规上一份应尽的职责。政府

    • 罗马的农奴多半是战争得来的俘虏,汉代的奴隶是农民自己游离耕土,来参加大规模的工商新生产集合。如何

    • 汉代除却规定的义务兵役外,民间还有义勇队,志愿从军的。国家有事,可以自由报名。这叫做良家子从军。那些

  • 五、汉制得失检讨

    • 首先在经济方面,土地问题没有解决,形成兼并,富者田连阡陌,穷者无立锥之地,使政府的减轻租税政策,全失功效。至王莽把土地收归国有,此事又激起社会多数人的反对,结果失败了。但王莽的废止奴隶政策,却继续为东汉政府所承袭。东汉时代也屡有废奴的诏令,但只要社会经济情形不便,此项诏令是不会有实效的。

    • 奴隶制度向来被反对

    • 其次说到军队制度,中国地大人众,虽说分区训练各别的兵种,但每年一个月的操练是不够的。中央南北卫,像是常备军,实际上,时期也只一年,数额也仅有七八万人。结果全国皆兵,并不够用。遇到打仗,各地调遣,如会稽吴楚,远赴渔阳上谷,也不方便。所以全国皆兵制,在中国论,一则军队数量太多,二则训练太简略,调动不方便,结果全国皆兵,弄得有名无实,一旦起了问题,还是解决不了。

    • 汉武帝自己是雄才大略,他自己揽权,尚不甚要紧,他死了,他须替他后代小皇帝着想,于是来一位大司马大将军辅政,便出来问题了。汉宣帝以下,霍氏虽败,结果还是大司马大将军外戚辅政,还是内廷权重,外朝权轻,于是有王莽代汉而兴。王莽便是由大司马大将军而掌握大权的。

    • 汉武帝废除太尉,以大司马代太尉的权责

    • 本来三公是宰相、太尉、御史大夫,而实际宰相是全国之首领。后来因有大司马大将军横插进来,所以又把此三公变成大司徒、大司马、大司空三职分别,一个公管领三个卿。在

    • 所以后代中国人批评光武帝有事无政,这是

    • 没有创立合理的制度

    • 经济文化落后的地区和经济文化进步的地区,都一样照人口比例来考选。因此中央政府里,永远有全国各地域人民之参加,不致偏荣偏枯。因此中国政府,始终是代表着全国性的,全国人民都有跑进政府的希望。

    • 北美议会与不列颠议会

    • 而全国各地方声教相通,风气相移,却可使各地文化经济水准,永远走向融和,走向平均,不致隔绝,不致分离。这一制度,自汉代起直至清代始终沿用。这是中国传统政治制度里一最应着眼之点。

    • 客观上极大程度地维护了统一

    • 而且汉代选举,就大体言,最先必进学校读书,才获补吏。补吏以后,才获察举。这由教育而行政实习,由行政实习而选举,再由选举而考试,由考试而任用之几个阶段,骤看极合情理,切实施行,像不会出大毛病。然而依然有毛病存在。因

    • 古代社会,读书机会就不易得。第一是书本不易得,古代书籍都用竹帛书写,很少纸张,更无印刷。印刷术

    • 生活在物质世界

    • 因此当时虽非封建社会,爵位不世袭,而书本却可世袭。虽不是世代簪缨,却是世代经学。世代经学,便可世代跑进政治圈子,便无异一封建传袭的贵族了。那时

    • 学问与书本,却变成了一种变相的资本。所以说黄金满籯,不如遗子一经。这便是一本书的资本价值,胜过了一箩黄金的资本价值了。因此当时一个读书家庭,很容易变成一个做官家庭,而同时便是有钱有势的家庭。当时有所谓家世二千石的。只要家庭里有一个做到二千石的官,他当一郡太守,便可有权察举。他若连做了几郡的太守,他便是足迹遍天下,各地方经他察举的,便是他的门生故吏,将来在政治上得意,至少对他原来的举主,要报些私恩,若有人来到他的郡里做太守,必然也会察举他的后人。因此察举过人的子孙,便有易于被人察举之可能了。上面说过,汉代选举,是分郡限额的,每郡只有几个额,于是却永远落在几个家庭里。如是则每一郡必有几个像样的家庭,这便造成了将来之所谓世族门第,也便是世族门第必然带有郡望之来历了。当时的大门第,依然平均分配在全国各地,大概是每郡都有几家有声望的,我无以名之,名之曰门第的社会。这并非封建社会,也并非资本主义的社会,但一样有不平等。虽非封建贵族,而有书生贵族。虽非工商业资本,而有书籍资本。国家的政治制度,虽没有对那些家庭许下世袭特权,但他们因有家庭凭借,无异于有世袭的特权了。

    • 只有一定的社会关系下,资本才会变成资本

    • 我们可以说,古今中外一切制度,都必如是。否则一项好制度,若能永远好下去,便将使政治窒息,再不需后代人来努力政治了。惟其一切制度都不会永久好下去,才使我们在政治上要继续努力,永久改进。制度也只是历史事项中之一目,人类整部历史便没有百年不变的,哪能有一项制度经过一两百年还算得是好制度呢?

    • 当至少他们懂得皇权之外有相权,至少已懂得皇室之外有政府了。再说到选举制度,至少他们已懂得政府用人该有一客观标准,不能全凭在上者之私心好恶。至少他们已懂得该项标准,不该是血统的亲疏,不该是势力的大小。亲的贵的强的富的,都不够此项标准,而采取一项以教育与知识与行政实习之成绩,来定取舍进退之标准,而又懂得平均分配到全国各地区,这也不能不说是在当时已算合理化,已算开明与进步的了。至于经济政策,一面主张轻徭薄赋,宽假平民,一面主张裁抑富厚,导致平等,这也不算得黑暗,不算得无理。至于

    • 皇室与政府的关系,终究发生了冲突;选举制度,到底造成门阀新贵族;经济制度、兵役制度都没有弄好,都出毛病了。但我

    • 此下魏晋南北朝,始终没有像样的政府,因此也没有像样的制度产生,直要到唐代。但唐代已不是汉代的老样子,老制度,他又换了崭新的一套。直要待唐代的新制度又出了毛病,宋代又再换一套。此下明代,清代也如此。只因

  • (一)汉唐相权之比较

    • 唐代政府和汉代之不同,若以现在话来说,汉宰相是采用领袖制的,而唐代宰相则采用委员制。换言之,

    • 汉代宰相下有副宰相,御史大夫,我们也可说,宰相掌握的是行政权,御史大夫掌握的是监察权。唐代宰相共有三个衙门,当时称为三省:一中书省,二门下省,三尚书省。此三省职权会合,才等于一个汉朝的宰相,而监察权还并不在内。

    • 中书省首长为中书令,门下省主管长官为侍中,尚书省长官为尚书令。唐分官阶为九品,第一二品官,均以处元老,不负实际行政责任。三品以下,始为实际责任官吏。中

    • 若论此三省之来历,尚书本是皇宫内廷秘书,已在讲汉代制度时讲过。中书依官名论,也即是在内廷管理文件之意。侍中则是在宫中侍奉皇帝。故就官职名义言,这三个官,原先本都是内廷官。而

    • 换言之,亦即是把以前皇室滥用之权重交还政府。

  • (二)唐代中央政府三省职权之分配

    • 凡属重要政事之最高命令,一定要皇帝下敕行之。但实际上皇帝自己却并不拟“敕”,而系中书省拟定,此所谓“定旨出命”。在

    • 设有副长官“中书侍郎”。中书侍郎之下,又有“中书舍人”,员额有七八人之多。中书舍人官位并不高,而他们却有拟撰诏敕之权。遇中书发布命令,多由他们拟撰。

    • 而中国人传统,则常求取决于贤人。春秋时即有“贤均从众”之说(见《左传》)。哪一人贤,就采纳哪一人的意见,假若双方均贤,则再来取决于多数。贤属质,众属量,中国传统重质不重量。中国人认为只要其人是贤者,就能够代表多数。不贤而仅凭数量,是无足轻重的。这一

    • 人们自己创造自己的历史,但他们不是随性所欲地创造,并不是在他们选定的条件下创造,而是在直接碰到的,既定的,从过去继承下来的条件下创造。一切已死的前辈们的传统,像梦魇一样缠绕着或活人的头脑。

    • 所以唐代政府定旨出命之权,是操于中书省。皇帝只同意画敕而止。

    • 待门下省主管长官侍中及副长官侍郎接获此项诏书后,即加予复核,这是对此项命令之再审查。在门下省侍中侍郎之下,设有若干第三级官,谓之“给事中”。给

    • 每一命令,必须门下省副署,始得发生正式效能。如门下省不同意副署,中书命令便不得行下。

    • 尚书省则仅有执行命令之权,而于决定命令则无权过问。

  • (三)中央最高机构政事堂

    • 中央最高机构政事堂

    • 无效。故唐制遇下诏敕,便先由门下省和中书省举行联席会议,会议场所称为“政事堂”。原先

    • 最先尚书仆射都附此职衔,所以三省全是真宰相。但到开元以后,即尚书仆射不再附有出席政事堂之职衔了。如是

    • 在唐代,也并无皇帝决不该不经中书门下而径自颁下诏书之规定。

    • 武则天以下的唐中宗,也便不经两省而径自封拜官职。但中宗究竟心怯,自己觉得难为情,故他装置诏敕的封袋,不敢照常式封发,而改用斜封。所书“敕”字,也不敢用朱笔,而改用墨笔。当时称为“斜封墨敕”。此即表示此项命令未经中书门下两省,而要请下行机关马虎承认之意。在当时便认为这是一件值得大书特书之事,因此在历史上传下。当时唐中宗私下所封之官,时人称之为“斜封官”,因其未经正式敕封手续而为一般人所看不起。

    • 根据这一点看,中国过去的政治,不能说皇权相权绝不分别,一切全由皇帝专制。我们纵要说它是专制,也不能不认为还是一种比较合理的开明的专制。它也自有制度,自有法律,并不全由皇帝一人的意志来决定一切的。我们

    • 开会时有一主席,称为“执笔”。讨论结果,由他综合记录,等于现在之书记长。此项主席轮流充任。有时

  • (四)尚书省与六部

    • 尚书省共分六部,即吏部、户部、礼部、兵部、刑部、工部。

    • 唐开始时是吏礼兵民(户部)刑工,唐太宗是改为吏礼民(户)兵刑工,至宋朝初年次序是吏兵刑民(户)工礼,宋神宗时王安石变法,其次序为吏户礼兵刑工,这次序遂为以后所沿袭。

    • 汉代九卿,就名义论,只是办理皇室内廷事的家务官,唐代始正式有六部尚书,显然成为管理国家政务的机构,不像汉代只似皇帝的侍从。此为中国政治史上一大进步,无论从体制讲,从观念讲,都大大进步了。

    • 前书为中国先秦时代人之乌托邦,纯系一种理想政府的组织之描写。亦可谓是一部理想的宪法。其最堪重视者,乃为政治理想之全部制度化,而没有丝毫理论的痕迹,只见为是具体而严密的客观记载。我们读此书,便可想见中国古代人之政治天才,尤其在不落于空谈玄想,而能把一切理论化成具体事实而排列开来之一层。所以《周礼》虽不是一部历史书,不能作为先秦时代的制度史,大体上看,而实是一部理论思想的书,应为讲述先秦政治思想之重要材料。

    • 制度的背后,都应有理论和思想。一切制度,决不会凭空无端地产生。

  • (五)唐代地方政府

    • 中国历史上的地方行政,最像样的还该推汉代。

    • 唐刺史则为地方高级行政首长。

    • 可见唐代的县比汉县为小。

    • 唐代地方长官,其职权比重,较之汉代差逊甚远。

    • 唐代则任用之权集中于中央之吏部。州县长官无权任用部属,全由中央分发。

    • 汉制三年考绩一次,三考始定黜陟,因阶级少,升迁机会优越,故能各安于位,人事变动不大,而行政效率也因之提高。唐代则迁调虽速,下级的永远沉沦在下级,轻易不会升迁到上级去。于是在官品中渐分清浊,影响行政实际效力极大。

  • (六)观察使与节度使

    • 唐代设御史台,所谓三省六部一台,御史台成为一独立之机构,不属于三省。换言之,监察权是脱离相权而独立了。

    • 唐中宗后,御史台分左右御史,左御史监察朝廷中央政府,右御史监察州县地方政府,此即所谓“分巡”“分察”。监察中央的谓之“分察”,监察地方的谓之“分巡”。

    • 在汉制,刺史规定六条视察,大体范围,不得越出于六条之外。在唐代,名义上仍是巡察使,观察使,明明是中央官,派到各地区活动巡视观察,实际上则常川停驻地方,成为地方更高一级之长官。

    • 故唐代监察使,论其本源,是一御史官,而属于监察之职者。但逐渐演变成了地方长官之最高一级。把府县地方官压抑在下面。如是则地方行政,本来只有二级,而后来却变成三级。然其最高一级则名不正,言不顺,遂形成一种中央集权,对地方行政,极有流弊。

    • 假使此项监察使巡视边疆,在边防重地停驻下来,中央要他对地方事务随宜应付,临时得以全权支配,这即成为节度使。

    • 节度使在其地域,可以指挥军事,管理财政,甚至该地区用人大权,亦在节度使之掌握,于是便形成为“藩镇”。

    • 东汉末年之州牧,即已如此,而唐代又蹈其覆辙。安史之乱,即由此产生。

    • 其先是想中央集权,由中央派大吏到外面去,剥夺地方官职权。而结果反而有中央派去的全权大吏在剥夺地方职权之后,回头来反抗中央,最后终至把唐朝消灭了。

    • 总之中国是一个广土众民的大国家,必需得统一,而实不宜于过分的中央集权。这在中国的政治课题上,是一道值得谨慎应付的大题目。

    • 而由军队首领来充地方行政首长,则更是大毛病。

    • 边疆多用武人

  • (一)魏晋南北朝时代之九品中正制

    • 说到考试两字之原始意义,考是指的考绩,试是指的试用。

    • 中国传统观念,总谓贤人可以代表群众舆论与公共意见。

    • 至于贤人而实不贤,中正而并不中正,则另是一事实。至少在曹魏初行此制时,总比以前漫无标准各自援用私人好得多。

    • 每一项制度的诞生背后有其合理的逻辑,不论后世看来如何扯淡。虽饮鸩止渴,不可不为

    • 在陈群时,为什么要大中正定由中央大官兼职呢?此因当时地方与中央已失却联系,故只就中央官来兼任大中正,好由他推选他的本乡人士之流亡在中央者备供中央之任用。但又为何中正簿上定要连做官人一并登记品评呢?因为如此做法,便可把当时已经滥用不称职的一批人澄清除去。这些都是陈群创设此制时之苦心。因此九品中正制就其为一时救弊起见,也不算是坏制度。但到后来,因施行的时间空间关系都不同了,而还是照样沿用,遂终于出了大毛病。

    • 理论是此制度之精神生命,现实是此制度之血液营养,二者缺一不可。

    • 其实革命的本质,应该是推翻制度来迁就现实的,绝非是推翻现实来迁就制度的。

  • (二)唐代之科举

    • 考试及格,即为进士及第。进士及第便有做官资格了。至于实际分发任用,则须经过吏部之再考试,所考重于其人之仪表及口试,乃及行政公文等。大抵礼部考的是才学,吏部考的是干练。又因吏部试有进士、明经诸科,故此制又称科举制。自唐至清,此制推行勿辍。

    • 在西方现行的所谓民主政治,只是行政领袖如大总统或内阁总理之类,由民众公选,此外一切用人便无标准。这亦何尝无毛病呢?

    • 当知任何一种制度之建立,傥是仅由一二人之私意便能实现了,这便无制度可讲。

    • 凭事实讲,科举制度显然在开放政权,这始是科举制度之内在意义与精神生命。汉代的选举,是由封建贵族中开放政权的一条路。唐代的公开竞选,是由门第特殊阶级中开放政权的一条路。唐代开放的范围,较诸汉代更广大,更自由。所以就此点论,我们可以说唐代的政治又进步了。

    • 但唐代的科举制度,实在亦有毛病。姑举一端言之,当时科举录取虽有名额,而报名投考则确无限制。于是因报考人之无限增加,而录取名额,亦不得不逐步放宽。而全国知识分子,终于求官者多,得官者少,政府无法安插,只有扩大政府的组织范围。唐代前后三百年,因政权之开放,参加考试者愈来愈多,于是政府中遂设有员外官,有候补官,所谓士十于官,求官者十于士,士无官,官乏禄,而吏扰人,这是政权开放中的大流弊。

    • 无官身的生员阶级形成

    • 而中国则不然,可说自两汉以来,早已把政权开放给全国各地,不断奖励知识分子加入仕途,而同时又压抑工商资本。只鼓舞人为大学者,当大官,却不奖励人为大商人,发大财。节制资本,平均地权,大体上是中国历史上的传统政策。政治措施,存心在引导民间聪明才智,不许其为私家财力打算无限制的发展。于是知识分子竞求上政治舞台去做官,仕途充斥,造成了政治上之臃肿病。

    • 并不是我们的传统政治知识专制黑暗,无理性,无法度,却是一切合理性有法度的制度全都该不断改进,不断生长。

  • (一)唐代的租庸调制

    • 唐代的田赋制度称为“租庸调”。

    • 均田制所与古代的井田制不同者,井田乃分属于封建贵族,而均田则全属中央政府,即国家。均田是郡县制度下的井田,而井田则是封建制度下的均田。

    • 庸”即是役,乃人民对国家之义务劳役。

    • 调”是一种土产贡输,各地人民须以其各地土产贡献给中央,大体上只是征收丝织物和麻织物。

    • 唐代租庸调制,最要用意,在为民制产,务使大家有田地,自可向国家完粮。

  • (二)唐代账籍制度

    • 依照历史来讲,租庸调制之所以能推行,全要靠账籍之整顿。
阅读更多

译序:考试里有学习的奥秘?!前苹果系统工程师手把手教学

注:正文中的[数字]表示的是注释,可以善用 Ctrl+F 进行页面内搜索。
本文有两万五千多字,可以在你做卡片时作为参考。


小时候,我时常做这样的白日梦,只要像打游戏那样敲对作弊代码,电脑就「哔哔」两声,自动给我打开神奇的世界,让我拥有和游戏主角一样超凡的力量,摆脱这单调乏味的生活。

以上幻想多半是游戏玩太多的缘故,但那神奇的感觉正与我后来使用「间隔重复系统」(Spaced Repetition Systems , 下称「SRS」或「SR系统」)的体验别无二致。如果使用得当,能产生魔法般的效果,让你掌控记忆的主动权,而不是听天由命。它可以提高学习效率、催化创意工作,或者带来更多令人兴奋的事情。当然,它也要像童年幻想那样,先要「按对作弊代码」,奇迹才会显现 —— 换句话说,设法写出好卡片,才能芝麻开门。(即实践时,你在卡片上整理的问答)

一个 SR 系统的优劣,完全取决你能给出的卡片。新手阶段,因为你不知道什么样的卡片是好的,所以可能写出很差的卡片也无从改进。在我的早期阶段,对 SR 系统的实验一如我童年乱按作弊码:把它当做阿拉丁神灯那样去拨弄、琢磨,希望能无意中唤醒它的魔力。

幸运的是,卡片撰写从来不是玄学,而是体系完整的知识可以帮你分辨卡片的有效性、理解制卡的方法论。这类内容网上数不甚数,而本指南的重点,是帮助你从制卡资料(演讲、文章等)的语境中,创造并总结一种理解 —— 我一向认为,卡片不仅要帮助消化吸收作者表达的知识,也要从中衍生为你生活和创新工作所用理解

对于不熟悉「间隔重复」的读者,本文会帮你克服那些常见的、让你从入门到放弃的阻碍;对于有经验的读者,后续章节会涵盖不常见的一些编卡理念,以加深你的 SRS 实践。我们讨论的东西概括性较强,主要集中在制卡的纲领层面,因此无论你用什么 具体的 SR 系统,相信都有所受益。

「提取练习」—— SRS的核心

卡片的具体应用有很多,但编写卡片时最好记住,不管表面如何,你正在给未来的自己编制任务,一个重复再重复的任务。因此请牢牢记住,「设计卡片」即「设计任务」

阅读更多

markdown

Markdown语言入门

html语法在markdown中也能用

标题1

标题2

标题3

标题4

标题5
标题6

粗体文本粗体文本
斜体文本斜体文本
删除线文本

无序

阅读更多