BlackHoleMax

一个不知名小博客

当代唯分论,”什么书该读”

可能你很小就听过的,老师说的什么书是该读的,什么书孩子不该读。其实这个问题的问出的前提就是把书籍进行了分类。如同高尔基所说:“书籍是人类进步的阶梯”。书籍使人进步是因为其是科技与文化的载体,更确切的说,书籍中的文字是信息的载体。而非要把信息分个高低,显然是对于文字这一载体的异化。
政圈里总有人会极端的抵触反对派,但他们常常是连他们的著作都未曾涉猎过,而只是顶着自家的社科理论去批判反对派的种种行为。正所谓知识不拒多,如果你不去精读反对派的思想,又怎能找出其中的漏洞加以批判呢?某种意义上,这样的人太过教条和死板了。
总有人说一些书没有任何意义,告诉孩子那些漫画和玩具书没有任何意义,实际上这样只有反效果,培养一个规矩的工具,从而忽略了孩子天生的想象力。到这里,其实我们不仅仅说的是书籍了,更加是电子游戏、二次元文化等等令年轻人痴迷的信息,说到底这些或是故事,或是自我满足的欲望。毕竟我们的社会不会迎来一个乌托邦,他们总是需要一些幻想。
回到“什么书该读”这一问题,因为一切的文字都是由人们撰写的,所以我认为这些信息的本质都是人类,这里的人类不仅仅是种族、文化、哲学,而是人类发展至今的一切的一切。人只要活着就不断地获取信息,繁杂的也好,黑暗的也好,我们都只是不断地接受,与此同时不断地成长。那么我给出的答案是,遇则读,随心而读。一切的信息都是人类的,是人类不断深入自然得出的,尽管你可能会觉得手上的一本和你的学业毫不相干的书显得有些无用,但有时候人不断接受新的信息才会感到充实,大脑获得刺激才会觉得满足,如果你能到这种程度,那一定是你非常喜欢人类,热爱这世间的一切吧。或许我们每天都会获取重复的信息,但从数学角度来说,在“人类”的世界并不存在一个完美的模型,至少不同书籍中的信息以及我们生活的方方面面都不来自抽象世界,而是人们撰写的。
总而言之,这都是多多益善的东西。

农场主与笨驴

从前有一个农场主,他买来许多驴子为自己拉磨。可是这些驴子总是无精打采的样子,拉磨的时候看起来又慢又笨。于是农场主想出了一个办法,他在驴子的头上吊起一根胡萝卜,这样驴子就会控制不了食欲而追着胡萝卜跑起来了。

如此,刚开始的时候,驴子们见到了垂涎已久的胡萝卜,纷纷都不要命似的拉起磨来。但是时间久了,农场主发现,很多驴子发现自己怎么都追不上近在咫尺的胡萝卜,于是又变回了它们原本懒散的状态。于是这位机智的农场主又想出了一个法子:也许只需要给这些懒惰的驴子一点威慑就行了。于是农场主改日就养了一条忠实且凶狠的猎犬来监督这些懒惰的驴子拉磨,倒是很快见了成效,在猎犬的威慑下,没有驴子敢轻易在拉磨时偷闲。可是一个月后,驴子们逐渐发现猎犬也并非那么可怕,反而是这些驴子跺几下蹄子的声势给猎犬吓得不轻。

这下这可令农场主难堪了,想着自己还得靠这些驴子吃上饭呢,这可如何是好。于是农场主只好带上些银两,看看能不能上街讨一些生意来。农场主听闻街上来了一位四处游历的学士,交些银两便能得些锦囊妙计。农场主便向这学士请教了这一问题。

回到农场后,农场主又多养了几条猎犬,告诉它们每天都准备一根胡萝卜 ,并且把这根胡萝卜奖给拉磨最多的那只驴子。

果不其然,这些驴子比原本拉磨效率快多了。

如何成为一名安那其主义者

You believe in authority. I believe in myself.

引入

如题,这很简单,只需要你反对authoritarianism即可。
安那其主义者不像马克思主义者会考虑种种政 治策略和哲学问题,而是考虑如何形成去权威化的集体,往往会是从不同立场上联合起来。事实上,他们也并没有成功。
安那其不是一次革命就可以实现的,它需要的不仅仅是消灭剥削,而是让人类的生产方式到达一个新的高度,再进一步潜移默化地改变原本落后的教育、科技。就连马克思也曾明确指出:“生产力中也包括科学”,“劳动生产力是随着科学和技术的不断进步而不断发展的。”而安那其对于其社会个体的绝对尊重能保持科技创新力的飞速增长,而非当今赛里斯大学里的不断被生产出来用于应试的论文。
安那其主义激进吗?对于剥削者来说是激进的,我们要共享劳动经验,废除私有制,我们要摧毁他们的权威大厦。今天赛里斯孩子因跨不进大学的痛哭身影,在所谓的“劳动法”之下进行“自愿交易的工人”,试图反抗的自由主义者被血腥镇压。这一切会在他们组建的大厦不再可以从人民的口袋中捞到一点好处的时候完全消散。当人们不在相信虚伪的人民企业家和腐朽的官僚主义时,他们做出的一切剥削行径会为他们带来懊悔和谴责。

选读

节选自《无政 府主义手册》

读到这里,你应该对无政府主义社会有个清楚的概念。接下来的挑战便是:如何起而行? 无政府主义之下又分为许多不同但是互相关连的思想体系。比较完整的无政府主义政治理论包括:联邦主义(Federalism)、 互助主义(Mutualism)、个人主义(Individualism)、工团主义(Syndicalism)、无政府共产主义(Anarchist- communism)、无政府女性主义(Anarchist-feminism)以及境遇主义(Situationism)等等。存在于不同无政府主张之间的争论已有好长一段时间,要了解它们分歧则需要另一本介绍性质的小册子。然而,单就无 政府主义目前的任务而言,每个无政府派系却有一个共识。每个派系都认为在现实生活中实践无政府主义是重要的。如果你准备把接下来几页的想法付诸实践,你便是开始实行拥有你独特色彩的无政府主义,而你也成为无政 府主义行动中的一个成员,而新成员─特别是那些深思熟虑 的成员的加入对于行动来说永远是重要的。试着和你的朋友解释什么是无政府主义,多读点无政府主义的书,和其他无政府主义者交谈,是你的当务之急。无政府主义者只有一种:独立思考的无政府主义者

windows平台最好的包管理器:scoop

对比

一个好的包管理器对于一个开发人员的重要性不言而喻,在windows平台上同类产品还有wingetChocolatey

winget是微软官方的包管理器,无国内镜像,使用起来急死个人,直接淘汰。Chocolatey 相比 scoop有gui,脚本数量多于scoop,但是其中不少已经没人维护或者不再更新。scoop安装软件包无须关联注册表,作为完全社区化的包管理器,其基本操作与 Chotolatey 类似,除了官方的仓库还有大量由第三方维护的仓库,其维护似乎完胜前者。

安装

  1. 在 PowerShell 中打开远程权限

    1
    Set-ExecutionPolicy RemoteSigned -scope CurrentUser
  2. 自定义用户(全局)Scoop 安装目录(可选)

    1
    2
    [environment]::setEnvironmentVariable('SCOOP', 'Scoop_Path', 'User')
    $env:SCOOP='Scoop_Path'

    $env:SCOOP_GLOBAL=’GlobalScoop_Path’

1
2
3
4
5
6
7
**个人比较喜欢全扔在D盘,如下:**

```powershell
[environment]::setEnvironmentVariable('SCOOP', 'D:\ScoopApps', 'User')
$env:SCOOP='D:\ScoopApps'
[environment]::setEnvironmentVariable('SCOOP_GLOBAL','D:\ScoopGlobalApps','Machine')
$env:SCOOP_GLOBAL='D:\ScoopGlobalApps'
  1. 官网提供的安装方式(国内无法使用):

    1
    irm get.scoop.sh | iex

    国内镜像:

    1
    2
    3
    iwr -useb https://gitee.com/glsnames/scoop-installer/raw/master/bin/install.ps1 | iex
    scoop config SCOOP_REPO 'https://gitee.com/glsnames/scoop-installer'
    scoop update

基本操作

  1. 添加软件仓库

    1
    scoop bucket add <仓库名称> <仓库地址(可选,之后从该ip获取更新)>
  2. 输入获取官方提供的仓库(按需添加)

    1
    scoop bucket known
  3. 个人力荐的仓库

    1
    2
    3
    4
    main[默认]
    extras
    versions
    nirsoft

    超多国产软件的仓库(如 wechat):

    1
    scoop bucket add dorado https://github.com/chawyehsu/dorado
  4. 软件包推荐

    必装(已安装git可以不选)

    1
    scoop install git 7zip 

    可选

    1
    2
    3
    4
    5
    6
    7
    8
    # 加速下载
    scoop install aria2
    # 如果使用代理可关闭
    scoop config aria2-enabled flase
    # 使用Linux命令行
    scoop install gow
    # 调用管理员权限
    scoop install sudo
  5. 一些其它的操作:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 一键更新所有软件
    scoop update *
    # 搜索
    scoop search <package>
    # 清除所有下载缓存
    scoop cache rm *
    # 删除所有旧版本应用(scoop会保留旧版本的应用)
    scoop cleanup *
    # 查看已安装程序
    scoop list
    # 查看更新
    scoop status
    # 自身诊断
    scoop checkup

本文针对于想尝试Python3的极客快速入门Python3的语法 ,仅仅归纳一些重点语法,详细可绕道至菜鸟教程

Python3 基本语法

引子

调用”print”函数打印数据:

1
2
3
print('Hello World!')
print("Hello World!")
print('Hello','World!')

字符串可以用单引号和双引号包裹。用逗号分开两个字符串时,python解释器会把它们分隔开打印。

输出结果都是 Hello World!

变量与强制数据类型转换

type和id关键字分别可以返回变量的数据类型和在内存中的标识

定义一些变量:

1
2
3
4
5
6
str1 = 'hello'
str2 = '5.21'
str3 = '110'
int1 = 10
bool1 = True
float1 = 3.14

可以用这样的结构进行强制数据类型转换:数据类型(变量)

1
2
3
int1 = '567'
print(type(int1))
print(type(str(int1)))

输出:

1
2
<class 'int'>
<class 'str'>

算数运算符

此处过于简单,直接上代码:

1
2
3
4
5
6
7
8
9
10
11
print(1 + 1)
print(5 - 1)
print(2 * 3) # 乘法
print(8 / 2) # 除法
print(11 // 2) # 除法只留整数
print(11 % 2) # 除法只留余数
print(2 ** 3) # 幂运算
print(9 // -4)
print(-9 // 4) # 向下取整
print(9 % -4) # 公式:余数=被除数-除数*商
print(-9 % 4) # 3=-9-4*(-3)

输出:

1
2
3
4
5
6
7
8
9
10
11
2
4
6
4.0
5
1
8
-3
-3
-3
3

一些语法糖

以下每组中的代码意义相同:

1
2
a += 30
a = a + 30
1
2
a -= 30
a = a - 30
1
2
a *= 30
a = a * 30
1
2
a /= 30
a = a / 30
1
2
a //= 30
a = a // 30

以此类推…

可以这样连续声明变量:

1
2
a, b, c = 20, 30, 40
a = b = c = 20

可以这样输出多个字符串:

1
print("=" * 100)

总之,Python以易用性为理念设计,语法糖数之不尽。

各种运算符

这里搬了隔壁菜鸟教程的表格

比较运算符

运算符 描述 实例
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 True。
> 大于 - 返回 x 是否大于 y (a> b) 返回 False。
< 小于 - 返回 x 是否小于 y。所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。注意,这些变量名的大写。 (a < b) 返回 True。
>= 大于等于 - 返回 x 是否大于等于 y。 (a>= b) 返回 False。
<= 小于等于 - 返回 x 是否小于等于 y。 (a <= b) 返回 True。

位运算符

运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为 1, 则该位的结果为 1, 否则为 0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
按位或运算符:只要对应的二个二进位有一个为 1 时,结果位就为 1。
^ 按位异或运算符:当两对应的二进位相异时,结果为 1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把 1 变为 0, 把 0 变为 1。**~x** 类似于 -x-1 (~a) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由 “<<” 右边的数指定移动的位数,高位丢弃,低位补 0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把 “>>” 左边的运算数的各二进位全部右移若干位,”>>” 右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

身份运算符

运算符 描述 实例
is is 是判断两个标识符是不是引用自一个对象 x is y , 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(x) != id(y) 。如果引用的不是同一个对象则返回结果 True,否则返回 False。

重点

== 和 != 单纯是比较数据本身是否相等

is 和 is not 则是比较变量在内存中指向对象的地址

函数

语法格式:

1
2
def 函数名(参数):
return 返回值

重点:

可以在函数中使用:

1
global 变量

这样可以在函数中定义一个全局变量,即使在外部也可以访问。

小结:关于Python本身

  1. 调包侠,几乎任何开发需求都可以通过 pip 或者 conda ,安装库之后直接调用函数就可以,非常的方便
  2. 使用广泛,可以开发GUI应用,甚至还有许多基于Python的前端框架
  3. 脚本小子的晋升途径,科研狗必备
  4. 于是,我还是拿它当个玩具吧(阉割大量语法,习惯了C++等语言的朋友会感到开发体验很差,但是写写脚本还是没问题的)

Welcome to my blog.
The blog is under development

注:该博客于2022年9月11日正式上线

0%