This blog is rated 🔞, viewer discretion is advised

Getting started blogging on Win10

I am planning to setup by blogging environment on my Windows PC.

  • OS: Windows 10
  • Shell: Bash on WSL1
  • Program: pelican on Miniconda3 with Python 3.11

My objective today is get rid of the static/js/core.js from aether-pelican theme and replace it with a simple CSS, and it turns out quite challenging.

WSL1 and file system

As it turns out, the installed Ubuntu root filesystem on WSL1 is located here:

%localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

I plan to move my home dir (at least) to another SSD on my PC, as the C:\ drive is an old SanDisk Plus240, which is unforgivablly slow these days. I tried to mv ~ /mnt/d/home, ok but the permission gets weird.

So I tried to copy the folder on Windows to D:\home, and mklink back. I tried both mklink /D and mklink /J ( the /D switch works on a remote drive whereas the /J junction works on local NTFS disks only) and they both failed be recognized by WSL1. The bash yields Broken stdout/stdin upon launch

So OK, default home dir then. Bad luck for me.

Ubuntu 22

I just found out my cat /etc/lsb-release shows Ubuntu 18, which is the default distro installed on WSL1 I assume. I tried to install Ubuntu 22 from the Microsoft Store, after several wasted minutes (curse the slow Internet in Mainland!) it turns out for WSL2 only. Luckily the Windows Subsystem for Linux was successfully upgraded to latest version:

C:\> wsl --version
WSL version: 1.2.5.0
Kernel version: 5.15.90.1
WSLg version: 1.0.51
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19045.3570

the wsl --list --online commands stuck for a total of 10 minutes and returns nothing (curse the AS4134 163NET!)

Getting Python, Miniconda and Pelican

So linux distro setup was back to where started, I only have Python to mess with. Miniconda3 gets insalled easily, now that's a some progress. The static site generator I am using pip install pelican[markdown] finishes ok, the pypi was not blocked? Keke.

Then I typed make. It was not part of WSL1? Blaspheme!

Manually running python -m pelican.server, and voila! The Windows asks for firewall listening permission, granted, open up browser, BAM! My blog setup process is done and now I can write and tweak it on Windows.

Oh, and there's git config core.fileMode false needs to be checked!

Posted

stdout

火星上怎么结算工资

看到个段子

突然让我想起个事,如果去火星打工,薪资该怎么计算?摘录 wikipedia

火星的恒星时长 24小时37分钟22.663秒,而太阳日则长 24小时39分钟35.24409 秒。而地球的恒星时和太阳日则分别是 23小时56分钟4.0916秒24小时。在比较之下,一火星太阳日等于1.027491地球太阳日,即比地球太阳日长2.7%。

怎么有两个天?继续搜

太阳日(英语:solar day)是依据太阳运动,所定义的时间,可以分为视觉太阳日和平均太阳日。一太阳日传统称为一“日”、一“天”或一“昼夜”。

英语里把火星的一天叫做一个 Sol。一个火星年在英文的 wikipedia 有讲

sidereal year ... is about 686.98 Earth solar days (≈ 1.88 Earth years), or 668.5991 sols 。也就是说火星一年有 668.5991 火星天。。。

火星因为有25.19°的自转倾角,跟地球相近,所以也可以划分四季。但问题是,火星的轨道长这样:

所以如果按照四个季节划分,最长的季节有 194 个 Martian Sols,最短的 142 Martian sols

那么问题来了。在火星上怎么算工资呢?我觉得得安天结了。还有,假如亲爱的读者小伙伴将来到火星务工,应聘的时候一定确认好是按地球年结算还是火星年哦。谨防火星历诈骗!

Posted

stdout

跟孩子掰扯活着的意义

今天趁着11·11买了个 GZ104 黄轴键盘,感觉之前随便买的青轴的好了很多,于是手痒想打字。哈哈

人的意义 是什么

娃今天吃饭的时候突然问了我一个问题:「人活着的意义是什么呀」,很不凑巧我也闲来无事琢磨过这事,但是想要在孩子面前把这事说清楚可能没那么容易。

于是我换了个思路,我问他,如果你是一个动物,你觉得意义是什么?他没回答,我又问,如果你是一块石头,石头会考虑自己的意义嘛?

孩子也没回答。最后我说,人活着的意义呀,可能很多人也不知道,但是有一点可以确定,正因为你有一个聪明的小脑袋,才会去思考「什么是意义」这样的问题

国家是什么

他又问到,为什么世界上有那么多国家呢,为什么联合国不是一个国家。怎么样才能统一全世界成为一个国家。

我的回答又把刚才的套路重复了一遍。如果你是一只动物,你会觉得自己属于某个国家吗?娃想了下,可能不会吧。我看到碗里的饭说,如果你是一粒大米,你会觉得自己有国家吗,孩子也不说话。最后我说,国家有很多个定义,但是正是因为人有了大脑,有了想象力,才会产生国家这个概念。所谓国家,就是一个想象的共同体。

反思

这可能是我会记录的最无聊的两件事。因为我真的想拿着键盘痛快的打一打字哈哈。

或许我的回答都不是最好的,现在想起来真的有很多改进之处。比如没能鼓励孩子进一步对这个问题进行探索。

蹲茅坑的时候想了一下,我们小时候哪里会思考这些问题呀。小时候都在为了作业发愁,心思都花在了怎么玩上面。现在的孩子能思考这些问题说明生活条件比较好了。人在穷的时候,物质匮乏的时候是不会去思考存在的意义的,都忙着奔波生活去了。生存都照顾不过来,如何去顾及意义呢。

生命或许最大的意义就是生存。仅仅丰衣足食之后,才有闲心来考虑一下奋斗折腾这么大半辈子,究竟是图了个啥。

后记

本文完成于 2023-11-05 22:39:59。

Posted

stderr

FastAPI/Starlette graceful shutdown server-sent events

缘起

假如你用 FastAPI/Starlette框架,写了一段 Server-sent Events

@app.get('/api/my_stream')
async def api_stream():
  async def gen():
    while 1:
      yield "data: {}\n\n"
      await asyncio.sleep(1.0)

  return StreamingResponse(gen, media_type="text/event-stream", headers={
    'X-Accel-Buffering': 'no',
    'Cache-Control': "no-cache",
    'Connection': "keep-alive",
  })

FastAPI 事件

然后你重启了服务器,比如 gunicorn+uvicorn,你会发现这个连接不会断开,一直输出结果。直到 worker 进程超过配置里的 timeout 参数(默认60秒),被 master 强行杀死然后重启。

一开始尝试了 FastAPI 官方的 shutdown 事件,再在代码的 while 1 加一个 if 判断。发现不管用

@app.on_event('shutdown')
def on_server_shutdown():
    app.state.running = False

发现这段代码执行是执行了,但是是在杀死worker的时候生效的。得更加提前。用ASGI推荐的lifespanhttp.disconnect 太复杂,放弃。

Linux signal

尝试暴力监听 worker signal

import signal
signal.signal(signal.SIGINT, on_server_shutdown)  # ctrl+c
signal.signal(signal.SIGUSR2, on_server_shutdown)
signal.signal(signal.SIGTERM, on_server_shutdown)
signal.signal(signal.SIGWINCH, on_server_shutdown)
signal.signal(signal.SIGHUP, on_server_shutdown)
signal.signal(signal.SIGQUIT, on_server_shutdown)

发现也不管用。研究了半天,似乎是 UvicornWorker.init_signals 的时候signal.SIG_DFL。无语ing

uvicorn shutdown 流程

看gunicorn日志:

[2023-11-02 09:50:38 +0800] [25918] [INFO] Shutting down
[2023-11-02 09:50:38 +0800] [25918] [INFO] Waiting for application shutdown.
[2023-11-02 09:50:38 +0800] [25918] [INFO] Waiting for connections to close. (CTRL+C to force quit)
....
[2023-11-02 09:51:18 +0800] [25918] [INFO] Application shutdown complete.
[2023-11-02 09:51:18 +0800] [25918] [INFO] Finished server process [25918]
[2023-11-02 09:51:18 +0800] [25918] [INFO] Worker exiting (pid: 25918)

观察到 Waiting for connections to close 之后卡住。

属于 uvicorn 的 Server.shutdown() 方法

这个方法调用链:

  1. Server.install_signal_handlers 里注册 signal
  2. Server.handle_exit 里设置 Server.should_exit = True
  3. 每秒一次的 Server.on_tick 就会打断 Server.main_loop() 死循环
  4. 调用 Server.shutdown

如果能拿到 Server.should_exit 自行判断就好了,但是 ASGI 是容器无感的,只继续研究

断开http连接

上面日志有一个比较关键:

# Request shutdown on all existing connections.
for connection in list(self.server_state.connections):
    connection.shutdown()
    await asyncio.sleep(0.1)

其http连接关闭方法实现为:

def shutdown(self):
    """
    Called by the server to commence a graceful shutdown.
    """
    if self.cycle is None or self.cycle.response_complete:
        self.transport.close()
    else:
        self.cycle.keep_alive = False

这里应该走的是 else 分支。所以解决方法就是去代码里拿到 cycle.keep_alive 这个属性。

ASGI 接口

跟了一会儿,发现ASGI 在 starlette 里如下流程:

  1. Route() 初始化 self.app = request_response(endpoint)
  2. Route().handle() 的时候会调用 self.app(scope, receive, send)
  3. unicornrun_asgiresult = await app(self.scope, self.receive, self.send) 。其中 app 就是 starlette 的 Route() 实例

所以解决方案逐渐明朗了

黎明的前夜

通过 FastAPI/Starlette 请求的 .receive 属性的 __self__ 拿到 unicorn 的 cycle 实例,然后定时判断上面 shutdown 赋值的 self.cycle.keep_alive = False

@app.get('/api/my_stream')
async def api_stream(req: Request):
  async def gen():
    while 1:
      yield "data: {}\n\n"
      await asyncio.sleep(1.0)
      if getattr(req.receive.__self__, 'keep_alive', None) is False:
        break

  return StreamingResponse(...

这里用了个 getattr() 是保证这个 hack 在非 unicorn 下代码也能正常跑

git commit . -m "haha" 上机联调,发现坑了。。。我特么。。。。这个 cycle.keep_alive 默认就是 False

扭转 keep_alive

这玩意一直为 False 的原因是,unicorn 的 HttpToolsProtocol.on_headers_complete 赋值过程:

self.cycle = RequestResponseCycle(..., keep_alive=http_version != "1.0")

这里 http_version 可以通过 req.scope['http_version'] 得到,打印了一下,你猜怎么着,还真tm是。。。原因就是厂里反代 nginx的proxy_http_version没配置。这里是个常见的坑,非常影响性能,因为每个请求会生成一个新的 http 连接。

但是也等不急SA去改配置了。于是直接在代码 async def gen(): 前面写死:

req.receive.__self__.keep_alive = True 。提交,再试。。。咦,怎么 keep_alive 依然为 False????明明刚刚赋值了?

继续读代码,发现第二个坑,发现 unicorn 的 RequestResponseCycle.send() 方法里,在构造返回的时候,有一句

for name, value in headers:
    elif name == b"connection" and value.lower() == b"close":
        self.keep_alive = False

好吧。。。那么解决方法就是,把 keep_alive = True 挪到返回内部。先完成返回构造,再强行改值。

最后的代码

@app.get('/api/my_stream')
async def api_stream(req: Request):
  # req.receive.__self__.keep_alive = True  # doesn't work here
  async def gen():
    req.receive.__self__.keep_alive = True  # works here
    while 1:
      yield "data: {}\n\n"
      await asyncio.sleep(1.0)
      if req.receive.__self__.keep_alive is False:
        break

  return StreamingResponse(gen, media_type="text/event-stream", headers={
    'X-Accel-Buffering': 'no',
    'Cache-Control': "no-cache",
    'Connection': "keep-alive",
  })

测试重启 worker,该连接在1秒后断开,worker平稳重启。完美。

苦逼撸业务的一天又开始了。

Posted

stdout

浏览器拉起钉钉客户端并跳转OA工单

又是 corporate software engineering 吃屎的一天。用户在内部系统走流程,厂里用的是钉钉自带的OA工单审批。已经接入了API创建、完成工单

问题在于发起工单之后,用户并没有感知,不知道工单去哪里了,流程就断了,向钉钉官方售后发起咨询,对方丢了一句:不支持。无语

只能自己鼓捣。已知工单链接,在钉钉聊天窗口内部的最短的网址为:

  https://aflow.dingtalk.com/dingtalk/mobile/homepage.htm?corpid=...&procInstId=...#approval

对方丢了一个 dingtalk:// 跳转协议

反复尝试,发现一个很有用:

桌面端打开URL
dingtalk://dingtalkclient/page/link
侧边栏: pc_slide=true
大容器(类似工作台容器)ddtab=true

于是构造一个试试:

  dingtalk://dingtalkclient/page/link?url=https%3A%2F%2Faflow.dingtalk.com%2Fdingtalk%2Fpc%2Fquery%2Fpchomepage.htm%3Fcorpid%3D...%26procInstId%3D...%23%2Fapproval

然后果然ok了。

钉钉给人的感觉就是各个部门 hack 强行揉合起来一个怪物。各种不完善、不一致的问题。有空写一下吐槽。

Posted

stdout

SVG放在 img 中不能加载图片/字体

最近想在 markdown 里搞图文混排,遇到一个大图把版面占完了,想缩小一些,由于 .md 渲染器安全限制,没法直接指定宽高

只能从图片本身想办法,首先最直接的手段就是服务器再缩放一次,但是蛋痛的问题是缩放之后文件怎么存,怎么给静态文件路由,怎么保障图片可用性,怎么兼容各种尺寸,想想都头大。

想到一个 hack,要不直接放一个 .svg 进去,因为 svg 支持加载位图资源,所以把 svg 位图缩小一点,让浏览器渲染 svg 不就行了。

没想到就被这个 hack 坑了。原因是 svg 如果被 <img> 标签渲染,那么禁止加载任何外部资源,脚本也禁止执行。

为了证明这个限制,我写了个 demo 放在 https://lab.est.im/shit_svg/

这个问题太隐蔽了。stackoverflow 上只有 Robert LongsonThangLeQuocTheHippo
的答案提到隐约线索:

后来搜了到 skychx 把这个问题研究透了。罪魁祸首 SVG Security

If an SVG file is fetched as image, then certain requirements apply to this document:

  • The SVG document is not allowed to fetch any resources. This also applies to scripts, stylesheets or images.
  • Fonts shouldn't be loaded as well. The situation in UAs seems to still be unclear though.
    Scripts must not be executed.
  • Event listeners must be disabled at all times.

浪费我好多时间。SVG2里把这个说得很明白了 https://www.w3.org/TR/SVG2/conform.html#processing-modes

When external references are disabled in an SVG document, any attempt to fetch a document through an external reference must instead be treated as if a network error occurred and no data was received.

不过查阅资料的时候发现个好玩的,SVG 1.1 支持 URL fragments

比如:

Posted

stdout

市以上行政区划去掉后缀

今天才知道,中国一共333个市一级行政单位。数据来源是 民政部首页 ➡ 民政数据

import re

def short_name(name):
    m = re.search(r'''
        (\S+?)
        (?:
            壮族|回族|维吾尔|省|自治区|特别|  # 省
            (?:侗|傈僳|傣|哈尼|回|土家|壮|布依|彝|景颇|朝鲜|白|羌|苗|藏)族|
            蒙古|柯尔克孜|哈萨克|
            地区|市|盟|自治州|自治县
        ).*$
    ''', name, re.VERBOSE)
    if m:
        return m.group(1)
    return name

这段代码的作用是把比如 "黔南布依族苗族自治州" 这样的名字,缩短成 "黔南"

有一个小坑是,市一级行政区包含 蒙古|柯尔克孜|哈萨克 这三个名字后面没有 字。

有一些 XX林区 XX矿区 什么的,我觉得保留比较好。

Python的 re.VERBOSE 真是好东西!

Posted

stdout

B站百大up 和 国拟

bilibili.com 是国内热门长视频网站,俗称B站,百大UP是头部百万粉丝的视频上传者,前段时间无聊看了下《征集两万份问卷!全站最受欢迎的UP主居然是..?》,这部视频作者 -LKs- 抛出了一个惊世骇俗(对我而言)的理论:

频道和频道之间,天生就有占领心智和认知上的高低之分
记忆点排名:人设≥情绪≈观点>颜值>知识/新闻`
一般来说输出情绪和观点的频道,它一定会比那些输出知识和资讯的频道,要更容易被人记住和喜欢。因为前者的拟态更接近人,后者的拟态更接近「书」

注意它这句话有前提:

  1. 第一他说的是,一个频道作为一个品牌如何被人记住和喜欢
  2. 第二他说是记住和喜欢,并没有说频道的内容一定正确或者有效
  3. 第三它不是说一个频道对你有多少帮助。完全有可能你偶然遇到或者搜到一个频道帮你解决了一个问题但是你把频道的名字得一干二净

想起来,这也是为啥youtube/bilibili上很多视频封面都是各种大头照,以 LinusTechTips为例:

让人们记住一个鲜明的大活人,人设最重要啊。

无独有偶,今天又看到一则奇闻《不得不出“国区特供版”的波兰球,是怎么火进小学生圈子里的?》,简单的说 Steam 上出了一款波兰球游戏「Bang On Balls Chronicles」结果波兰球这个亚文化早就在国内流传开并在小学生里成功的「娘」化了

得出一个道理:自己对世界的理解,要去人化,祛魅脱敏;对品牌和迷因的传播,要拟人化萌娘化。

Posted

stderr

核心阶级和国家认同

最近看到个巨扯谈的视频《个人主义盛行的美国是怎么建立国家认同的

剧透 美国早期本来是一个松散的13邦联盟,互相尿不到一壶里去,但是联邦政府作为一个可以名义上筹钱筹人的机构,在1803年的Louisiana Purchase得到了大量的未开发土地,种植园主和牧场主为了个人的发财梦,去和北美土著诸部火并,拿起枪杆子保卫自己亲自或者祖辈抢来的土地,13邦的边界虽然明确,但是联邦政府在默许拓边这一行为,并且应允境外白人用 税款 换取 联邦指派治安官和联邦武力的庇护。在对北美土著采取离间驱逐的过程中逐渐形成国家认同。

实际上,美国这一血腥的国家认同,正是在上个世纪30年代纳粹主义的渊源之一(wapo有讲)。简单的说,发现美洲之后,敢离开老欧洲漂洋过海的人都是胆大包天的亡命之徒。它们信奉的昭昭天命就是「应许之地」,加上新教核心理念就是「sola fide」,我强我有理,有理我就强,所以我就是比其他物种优越。最后发展成种族主义,实施对其他 race 的压迫。

这个视频的 up 主是「思维实验室」,他们家的视频有一些说不清道不明的诡异但的地方但是题材比较有趣。这个视频很方便的忽略了一个更有趣 whataboutism 的问题:太平洋对岸的国家认同是怎么建立的?

有理由相信,华夏的国家认同建立正是武装殖民

白寿彝版《中国通史》在论述周初分封制直接说这就是武装殖民。

周初的分封是一种武装驻防事业,其目的主要在于作为王室的助手,以监视被征服的各族人民,实际上它具有武装部落殖民的性质。我们知道,周王当时所能直接统治的只有王巍之地。王畿是以镐京和洛邑为两个焦点,其范围现在不能确考,但可知其北不过黄河,南不到汉水,东不达淮水,西则镐京已接近边陲。王畿之外,周室先后封立了很多诸侯国,诸侯对王室的义务不过按期纳贡朝觐,出兵助王征伐,以及救济畿内的灾患而已。诸侯国的内政几乎完全自主,而王室开国初年的武王成王过去以后,诸侯对王室的义务也就成了具文。
另一方面,所有新建的封国大都是以少数周族奴隶主贵族统治多数被征服族人,其土既非周人所有,其民也与周人不类,这些新来者的统治地位,如果没有坚强的武力作其后盾是支持不住的。姜太公封到东方的营邱,史书说太公就东国,“夜衣而行,犁(黎)明至国。莱侯来伐,与之争营丘。”“营丘边莱,莱人,夷也”(均见《史记·齐太公世家》),新来的统治者占有其土地,拥有其人民,因而起来反抗。《礼记·檀弓上》云:“太公封于营丘,比及五世,皆反葬于周”,可见当时武装殖民之不易。当时被封的周族奴隶主贵族及其所率领的周族公社农民进入广大占领区后,首先建立一个军事据点,这在古代文献中名之曰“城”,只有如此,才能进行武力镇压。《诗经·小雅·黍苗》中召穆公营谢,诗人描述军族集镇之况云:“我任我辇,我车我牛,我行既集,盖云归哉!我徒我御,我师我旅,我行既集,盖云归处!”周人及其姻戚联盟,造邦筑城,镇戍征服地区,也见于周金铭文,例如《中甗》虽然铭文残泐,颇难卒读,但其大意,尚可通晓。意谓:王派中巡省南国,筑城殖民,并派兵镇戍。《班毁》记毛公伐东国■戎,■令班“■(以)乃族从父(毛父)征,■(出)■(城)卫。”毛公东征“三年静东国”。这里的■(城)就是征服筑城之证。

这个段子说,姜子牙去山东「上任」,实际上也就给了一点亲兵和战车,地盘要自己去抢,城要自己去建,太公当年差点被山东当地一个叫「莱」的土著部落给搞死……

为什么少数民族总是「能歌善舞」,并且大多住在偏远的山区?是不是换个译法就是 …… tribal reservation?

这让我想起另一个段子:《封神》导演乌尔善说【汉族称谓】形成于元代。

下面有个评论就很应景:「汉族是不是起源自元代,我不知道,但是我知道,“我是汉人”的意识是这些其它民族一遍一遍给我加强的」

这里有个感觉,无论是「通天纹大妈」,还是玩梗的「正米字旗」老不列颠,还是「红旗下长大」的大院子弟,对阶级的认同度远远大于普通国民。因为天下是他们或者他们的祖辈打下来的,有一种「股东感」。如果是普通人,和平年代的国籍无非是身份证件上的可以花代价更改的一行字罢了。

如果你读到这里,一定要暂停一下。如果你觉得这个太宏观,那么假想一下你去了个新公司。你跟普通同事交谈的是,今天做了哪些工作,明天又有哪些该死的任务下来;但是公司里总有那么一戳人,他们跟你讲公司的视角完全不同。他们会告诉你 A 这个市场是当年谁谁大干30天拿下的,B 这个股份是谁谁奋斗了几年才成为合伙人得到的,C 这个部门之前没有,是谁谁带资进组专门成立的。D 这个烂摊子之所以一直没解决是因为负责人跑路到友商,等等。那么把同等的视角换到国家,统治者或者他们的家属后代会明确告诉你,某某领土的由来就是谁谁当年打下来的,而且他们在这样的一种「传承」体系中,非常自豪。

这就是为啥平时很多 XX盟 XX旗 XX喇嘛教 会看不起汉人的根本原因。别人对某一篇山川有「ownership」的感觉。汉文化一个比较短视缺陷就是把天下看成一种零和博弈,「百姓」需要把自己一部分权力让渡给「君主」,人权需要迁就主权,但从唯物的角度来说,国家总是由一小部分人打下来的,大多数被土地绑定的人,并没有太多选择,作为 X国人 或 X朝人 的资格,只能是来自统治者的「施舍」。所以鱼肉百姓也是理所当然顺理其章的事了。因为人口就脱离了人的属性,只是附属和资产。

又联系起最近看马督工的 睡前消息652期《只靠民间热情,“山河大学”建不起来》,里面谈到高中 - 职校分流问题,现实中全世界成功的职业教育有且只有德国一家。职校前身实际上是行业 (学术概念:基尔特) 里师徒制的正规化(1969 Berufsausbildungsgesetz)。我有一个偏激的观点,职校早期雏形是条顿军官团拿来生产军需屯田和筹款的产物。容克军户在和平年代转型生产制造和银行业,大量的德意志职校几乎都是围绕汽车产业进行布局,归根结底就是一堆战备产业。

所以谁才是国家的主人?血与火铸成的核心利益阶级(class)

Class 是一个神奇的词汇,OOP的「类」和社会的「阶级」有异曲同工之妙。如果按照本篇思路推演下去,可以拿历朝历代作为例子总结一下朝代的消亡的实质,就是核心class的消解:

  • 周人的核心阶级是老姬家。三家分晋之后gg。公卿代替天子
  • 大秦是一个神奇的国度,变法之后不分种族和阶级,以法治世,但是功勋升级系统在大一统之后达到武力扩张极限被玩坏反噬了。汉王定三秦,算老秦人第二次统一中国。
  • 老刘家彻底扫平沛县集团还得等到刘彻的大手笔。当时看 渤海小吏 的 《汉武大帝》系列就有如同看开篇第一个视频讲的美国西部精神,牛仔风范那种爽片一样。李广难封,老刘家对野心家封无可封就造就了曹阿瞒加九锡这种操作
  • 老李家核心阶级是关陇集团。安世之乱就是河北土著(主要是汉人)和陕西外籍雇佣军团冲突
  • 辽金的核心阶级显然是拓跋部和猛安谋克,大怂国本质是一群胸无大志但是筹款能力比其他朝代强的节度使混日子
  • 元的核心阶级就是千户制达鲁花赤老爷们
  • 明的核心阶级是军户供养皇族养猪。军户跑光了也该亡国了
  • 大清的核心阶级是八旗。满城沦陷就完蛋
  • 本朝的核心阶级是 ☭

除了核心阶级所形成的可以继承的利益集团,其他人要么是归顺的食邑劳动力,要么是“穷凶极恶”的印第安人。

Posted

stderr

无为,智力和因果论

最近看渤海小吏讲汉文帝、汉景帝的《秦汉帝国完全体99%》很有收获,特别是 23:00 这段:

总体而言,汉代初期的官僚人数少,制度简单,政府没有整体干预经济的想法,所以超级省钱。养活当时的整个官僚,每年所需的粮食不过几十万石。哪怕按一百万石算,只用全国大约八百分之一的土地就可以养活这个官僚系统。这是整个中国历史上政府运营成本自成一档的优秀存在。
这套体制虽然简约,但却并不简单。中央对于局势的控制力度一点也没有弱化。这段时间,反而是整个有汉一朝,刑事案件与社会矛盾最少的年代。
《道德经》曾经讲过这么一句话:“太上,下知有之。其次,亲而誉之。其次,畏之。其次,侮之。”
- 最牛的水平,是下面的人仅仅知道有这么个领导。
- 水平差点的,是下面的人赞美夸奖这个领导。
- 再差点的,是所有人害怕这个领导。
- 最次的,是所有人都在骂这个货。

总觉得这段话在骂谁呢?没想到汉景帝的七国之乱也是折腾出来的。看完这视频我又在琢磨,皇权、王权、相权三权分立是什么?

看这一系列的视频总给人一种强烈 黄老之术讲究的一个「无为」,也不是很懂;


周末又昏昏沉沉看了了《长安三千里》,给我感动得,然后重新认识 李白 那种商人之子想通过刷干谒文当官,我心里一直在嘀咕,李白家里有钱,为啥非得要去当官?可能是,在那个时代,你有钱也没有安全感。权力一张纸就可以让你的财富化为灰烬。但是李白明明修道,却一辈子没能实现自己的政治抱负,最终取了功名的反而是 高适。


然后又看到一篇《gpt4开发人员拿柯尔莫哥洛夫复杂度数学上严格约束并解释gpt4的智力产生原因》。让我想起来前段时间看到的离谱故事:Gzip+ kNN文本分类竟然击败Transformers:无需预训练、14行代码实现


看起来风马牛不相及的三个生活经历,在今天产生了奇妙的化学反应。我突然想明白,无为的意思,就是承认因果律的局限性。

人的主观能动性——作为,有一个经常被忽略的大前提,你得抱着一定的「目的」才可能去作为,也就是拿着预设的最终结果去改变现状。准确的目的设定,需要对真实世界的反复推演和总结因果律。因果律的掌握程度就是智力水平,智力的高低就看你掌握的是有损压缩还是无损压缩,因为压缩的本质就是用更少的信息去模拟真实的全部信息。聪明就是用更小的成本去还原更多的事物,笨就是还原成本更高。这个成本,在学术上的定义就是 Kolmogorov复杂度。它有个上限但是不可及算,某些可计算的变体,比如conditional time-bounded Kolmogorov 复杂度是 NP 问题,不可知也。

以前一直不知道信息论学了有什么用,现在似乎摸到了一些门道。信息是中性的,但是因果就有得失和优劣之分。以前不会用,是因为不知道武器的哪一端是剑柄才能握住挥舞。

生活中许多东西是需要去「作为」的,但是需要区分哪些是自然事物,那些是人为的设置。人这个神奇的动物可以把不存在的实体看成实体

胡思乱想一些心得,记录一下,或许将来可以整理得更清晰。

Posted

stderr

为啥Linux下病毒比较少

最近下载了一个Linux的病毒,把它解包了。
尝试用root身份运行,发现啥也没有。
Google了俩小时,发现这病毒没解包到 /usr/local/bin 而是解压到了 malware 用户没有写入权限的 /usr/bin,于是病毒创建不了进程文件。
从某个中文论坛里找到了修改过的 .configure 和 .make 文件,重新编译重新运行了一下。
病毒说它需要 cmalw-lib-2.0,结果发现这玩意是 CentOS 里的,Ubuntu 里没有。Google 了好几个小时找到了从源码构建 .deb 包的方法。
这病毒总算开始跑了,然后打出来几行日志,吐了个 core dump 就 crash 了。翻了一个小时日志发现这病毒假定自己跑在 ext4 文件系统上然后调用了 ext4 的加密 API。但是在 btrfs 里这个 API 已经弃用了,内核发现了这个问题然后把这个分区变成只读的了。
打开源文件,grep 搜索出病毒里的 BTC 钱包地址然后出于同情给它打了 $5。

哈哈虽然现在linux病毒也多,但是这个也太搞笑了 via

Posted

stdin

北京,为什么会没有大家说的那么繁华?

看了这篇文章之后,感受颇深。强烈推荐阅读

https://mp.weixin.qq.com/s/hqIMDADiPDVSWp8EKh5gbw

之前看到行业说法,北京便利店少的原因是“三个半”,即由于纬度高,天气寒冷,只能做“半年”生意,每日只能做“半天”生意,马路宽隔绝了人流,只能做“半条路”的生意。

当时不知道为啥北京有这么多栏杆,现在知道了,原来是模仿苏联的城市规划。

文章里提到

“窄马路、密路网、路口多”这种在风水上叫做“雍聚”,是上上之选,有利于聚财、聚气、增加流动性、繁荣商业、降低拥堵。那种“宽马路、大广场、路口少”叫做“散迭”,会造成西北风煞冲散街区的热气,导致地气不旺、商业冷落萧条。城市变成睡城、死城,民众精气散迭,日渐贫穷衰落。

搜了下,居然这个说法是公众号里早就有之的洗稿文。不过从另一个角度想,你分析blah那么一大堆,给没耐心或者没文化的小学生讲这个道理,不如就简化成:雍聚是上上之选。有的时候「道理」被过度复杂化了。不如直接给出上 - 中 - 下这种线性结论杀伤力更大。

想到现在政策层面反复炒作的「烟火气」,又想起2016年那个「不再建设封闭式小区」,当时被好多人骂来着。

最后感觉这篇文章讲的故事,如果放在网络社区上,也是同样的结论。把流量都往「主干道」「主旋律」上赶,必然会有大量的舆论翻车事故,最后得到的一定是商业上的萧条。

Posted

stdin

张雪峰论男人

在这个下落和迷茫的时代,有的时候一段不经意的话真的很打动人:

张雪峰,男生本来就一无所有,你怕什么?放手干就行了 视频备份

男生,咋是爷们。咋男生咋没什么所谓好失去的,为什么?你本就一无所有啊!你怕什么。
你有什么好失去的呢?大不了从头再来,对吧?
但行好事,莫问前程,皇天不负有心人。

之前有个感悟,人的理性其实是一个很狭窄的波普,下限是死亡,上限是吃多了撑的。如果死亡都不怕,其实没啥好怕的;人吃撑了,才会有心思去发展琴棋书画,探讨抱负和情感。在死不了和吃不饱之间其实是完全没必要,干就完了。

Posted

stdin

从中介合理争取自己的利益

感慨并记录一下,打交道的一些油腻的门门道道。房屋出租给某知名绿色logo中介,由于怕麻烦,参与了他们某个打包N年固定收益的出租方案,好处是所有问题该中介包干,确定收益,就算没租出去也是公司补贴收益;坏处是租金比理想市场价低一些。我自己判断,如果仅由中介帮你打广告,或者自己独自去招揽散客,很可能空档期导致还不如全打包。

这个条约有个很扯的费用,每年扣800维修基金。恰好今天租客很气愤的找到中介,说空调损坏。评估维修成本700左右。中介又找到我,说这属于维修基金不能覆盖的「大额支出」。

我当时听到菊花一紧,这疫情结束以来才起租,钱没挣多少,花费又多一截了。于是采取一边了解细节,一边不正面答应的策略。

想到,这空调不可能无缘无故损坏,维修那么贵可能是一口价宰人。于是我决定我的底线是「分摊」这笔费用,据理力争,几个回合下来,成功的把这个费用。。。。。全免了

事后回顾了一下。恰好看到网上一个类似的例子

大概意思是一场交通事故,保险理赔一个大灯,发现大灯非原厂而是后期改装过,于是提出让车主自费。

后面大家的讨论是:

12378,一个(举报)电话就搞定。很多时候定损员希望你走这步,他也不用上下为难了,又不是从他包包头掏钱出来

这个道理让我的思路豁然开朗。用在我这个case上,可能是中介惯用的一个套路。首先这个合同不是跟中介签的,是跟中介所在的公司一个整包出租的项目签的。所以这里中介其实和房租收益没有「利益相关」,他只是从公司这个项目里拿到固定比例分成或者工资。至于这个出租项目整体亏了还是赚了,与中介自身无关。他只需要找到合适的客源,以合适的价格出租出去,把出租过程中所有的事摆平。剩下的问题都是公司开发这个项目的精算师的责任了。

一个中介办事员吃饭的本钱是什么?跟所在片区客户融洽的关系。所以得罪客户,让客户为难是下下策。公司就算这个项目亏本,跟办事员自己有一毛钱关系?就算公司明天倒闭,销售型员工换哪一家公司不是干?

那个车险的例子也一样。定损员吃饱了才会去找车主的茬,就算节约下来理赔的钱,也跟定损员自己没有一分钱「利益关系」。但之所以定损员会挑这样一个让客户难堪的毛病,无非是完成制度规定的一套动作。所以这个时候车主大可不必跟理赔员发火和吵架,只需要让理赔员有一个台阶站在自己这一边,整个问题的天平就会倾斜。

这是一个发生在我身边,如何同成年人争取自己利益的故事。油腻指数 ★★★★☆

Posted

stderr

在py3里同步/异步混合使用 httpx 调用

比如开发需求是请求一个 http API,得到数据,解析一下返回,那么一般的做法是封装一个方法,比如

import httpx


def get_sth(p1, default=MY_VAL):
    # network
    r = httpx.get(API_URL, params={'t1': p1})
    # parsing
    res = r.json().get('my_key') or MY_VAL

但是如果想在 async/await 里用这段代码,就得改成

import httpx


async def get_sth(p1, default=MY_VAL):
    # network
    with http.AsyncClient() as client:
        r = await client.get(API_URL, params={'t1': p1})
    # parsing
    res = r.json().get('my_key') or MY_VAL

注意其中 def get_sth() 也必须改成 async def get_sth 。这就是所谓 async/await 传染性

这个时候,如果你想把这块代码抽象出来,让同步/异步的库都能调用,我在最近重构里找到一个最佳实践:

import httpx


def get_sth(p1, default=MY_VAL):
    r = httpx.Request('GET', API_URL, params={'t1': p1})
    r.parse = lambda x: (x.get('my_key') or MY_VAL)

# 同步调用:
with httpx.Client() as client:
    r = client.send(get_sth())
r.request.parse(r.json())

# 异步调用:
async with httpx.AsyncClient() as client:
    r = await client.send(get_sth())
r.request.parse(r.json())

思路是 逻辑和 transport解耦,也是某种意义上的 Sans-IO 了吧?

Posted

stdout

git切换马甲

如果你有多个 github、bitbucket、gitlab 账号需要来回切换,那么这个方法或许对你有用。

使用git你需要配置一个 ~/.ssh/id_rsa,如果你有多个身份就麻烦了。传统网上搜到的办法是编辑 ~/.ssh/config 然后加入个类似这样的配置:

  Host estgit
  HostName github.com
  Port 22
  User git
  IdentityFile ~/.ssh/est_github
  IdentitiesOnly yes

这样做也不是不行,就是你输入命令的时候得把主机名改了。比如

git clone git@github.com:est/aether-pelican.git

你需要改成

git@estgit:est/aether-pelican.git

当然这还不是最蛋痛的。最蛋痛的是如果你用了 git submodules 那么你切换马甲变得非常麻烦。因为别人用你的项目没法解析 git@estgit 这样的玩意。

我研究出来了一个hack,直接改repo的 .git/config 可以达到同样的效果。比如

  [core]
      sshCommand = /usr/bin/ssh -o IdentitiesOnly=yes -i ~/.ssh/est_github -a
  [user]
      name = est
      email = ...@...

这样你可以随意在不同的repo切换n个 ssh identity 身份。

Posted

stdout

AI时代的两拨人

感觉现在的AI时代对很多人(包括我)来说是捉摸不定的,网上的东西形形色色亦真亦假,但是在如何判断「是否为AI」这件事上,有一批行为非常相似:

第一个case: Livid 站长需要判断某些虚假帐号是否用 ChatGPT 生成的回答灌水,用了最直接的办法:再问一遍 AI,试图让 AI 自行承认。。。

第二个例子是个律师 Steven Schwartz,来自 Levidow & Oberman 律师事务所、执业超过 30 年,帮一个人打民事官司,提交了一份长达 10 页的辩护词,作为佐证还引用了6个法院判决

  1. Varghese v. China Southern Airlines Co Ltd, 925 F.3d 1339 (11th Cir. 2019)
  2. Shaboon v. Egyptair 2013 IL App (1st) 111279-U (Il App. Ct. 2013)
  3. Petersen v. Iran Air 905 F. Supp 2d 121 (D.D.C. 2012)
  4. Martinez v. Delta Airlines, Inc, 2019 WL 4639462 (Tex. App. Sept. 25, 2019)
  5. Estate of Durden v. KLM Royal Dutch Airlines, 2017 WL 2418825 (Ga. Ct. App. June 5, 2017)
  6. Miller v. United Airlines, Inc, 174 F.3d 366 (2d Cir. 1999)

对方辩护律师表示这些判例似乎不太对劲,你哪里搞来的?Steven Schwartz 回答:我问 ChatGPT 它告诉我的。

当然作为一个经验丰富的资深律师,Steven Schwartz 当时有尝试验证 ChatGPT 所提供的案例真实性,只不过方法有些“聪明”:让 ChatGPT 自己去验证它的回答。

事后 Steven Schwartz 强调他无意欺骗欺骗法院:只因此前从未用过 ChatGPT,因此不知道其生成的内容可能是假的。

第三个case是今天看到的一个报道: BERT论文第一作者 Jacob Devlin 入职OpenAI仅3月后又回谷歌,重新加入Bard项目

几个月前,有爆料称,谷歌Bard使用了ShareGPT中的内容作为训练数据。如果该传闻是真的,那就相当于谷歌用ChatGPT训练了Bard。根据OpenAI的用户协议,ChatGPT生成的内容并非不能用于训练其他AI,但训练出的成果不能用于商业用途。显然,谷歌的这种做法并没有遵守这项规定。
获知这一消息后,Devlin直接找到了CEO劈柴哥,并发出警告。Devlin的警告发出之后,谷歌的确停止了这一举动。但对于使用过ShareGPT中的数据用作训练这件事,谷歌拒绝承认。Bard对此事的回答则十分微妙。直接询问得到的答案当然是否定的,但Bard却“承认”自己浏览过ShareGPT中的内容。

量子位的小编企图让 Bard 自证清白。

上面三个例子看完了,今天也恰好看到反面例子

“你好,我是一名数学教授,我希望你能扮演一位善于提出解题技巧的数学家专家搭档。 我正试图回答MathOverflow中的以下问题,你能给我一些建议,让我如何开始? 我想尝试找出$a$和$R$的渐近论
……”

这是陶哲轩写的Prompt,他在 MathOverflow 刷网友问题,尝试先让 gpt-4 看看能不能解决。注意他的Prompt也很专业:

  1. 指定角色:扮演一位善于提出解题技巧的数学家专家搭档,“play the role of an expert mathematician collaborator who is good at suggesting problem solving techniques.”
  2. 任务:我正试图回答MathOverflow中的以下问题,你能给我一些建议,“I am trying to answer the following problem from MathOverflow, can you give me some suggestions on how to get started?”

另外他没有直接要答案,而是要GPT“提出解题技巧”,“给出一些建议”。AI 给出了 8种 可能的途径,其中一种 (generating functions) 顺利达成目标。

总结一下,AI时代,似乎可以把人们对「信息」的处理手段分成两类:

  1. 一类是认为,信息就是人和人之间传播的经验。如果看对方面善就可以相信,对方不靠谱,就让对方拍个胸脯保证靠谱
  2. 一类把世界看成一个「多元宇宙」,世界分为「真正的世界」和「感知的版本」。真正的世界只有一个,但是无法100%准确还原,只能通过概念、理论和感知去逼近。但是每个人对这个「真正」有大概差不多但是细节又有很多不同的「version」。

ChatGPT一类的模型恰好可以按照要求「扮演」某个特定样式的「narrative」用来描述这个世界。它是否靠谱呢?关键看你如何对它进行提词设定。

Posted

stdin

吐蕃问题和名正言顺

最近在 reddit 上看到一个很扯的对话,当年国际上有谁承认吐蕃是个 country?有人说 UK,但是被马上被人指出臭名昭著的 McMahon line 也没承认吐蕃啊。这人回复到:

China was seen as a suzerain over Tibet by the UK until the 1914 Simla Convention, which led to the creation of the McMahon line. In China's refusal to sign the convention, they forfeited their rights of suzerainty in the eyes of the British and Tibet signed it for itself.
If China signed the treaty, Tibet would've been seen as a vassal under China and ineligible to sign for itself. In accepting Tibet's signature as a party to the Simla Convention as sufficient, the UK de facto recognized Tibet as an independent nation capable of conducting it's own foreign relations.

也就是说,UK 按照 Simla Convention 认为中央政府是吐蕃的宗主国,但是宗主国不在条约上签字,而吐蕃擅自做了主张,那么就等于中央政府放弃了宗主权力。

我靠,还能这样强词夺理弯弯绕绕?不愧是搅屎棍带英。这个说辞的问题在哪里呢?对于一个莫名其妙的条约,你以为有两种状态:

  1. signed 2. unsigned

但是按这套说辞,条约是一个 bool | null 类型,有3个状态:

  1. true 2. false 3. null

其中 null 才表示未签署也就是放弃权力。当时应该签一个 NOPE & FUCK YOU。

不过这让我想起一个事,当时英国渗透印度、阿富汗、吐蕃多严重?1944年,当时RoC政府新任驻藏办事处处长沈宗濂带领随员一行赴西藏上任,因为内地和拉萨交通不便,却需要绕路新德里。妈的太难了。

然后又想起来那个著名的汉委奴国王印

不得不说,老祖宗在弯弯道道这一方面还是很精,你接了我的印,就代表接受我的权威。你拿这个印处理国事,那么就意味着你的权威是通过我这个印授予的。你不用这个印,那就意味着 casus belli !。从这个意义上来说,国际秩序其实真不是靠铁拳砸出来的,而是靠这些弯弯道道形成一个威慑和平衡。

那么回到开头,最近一直在想一个问题,名正言顺,师出有名,名份这个东西,说起来挺虚的,但是文明的核心也就是一个名份。孔丘不就是为了争他爹一个贵族的title搞了那么多花样,他一辈子至高追求也就是要求别人尊重周天子这个所谓的天下共主的名份。礼就是社会秩序,社会秩序核心就是一个名份。

Posted

stdin

Rimworld 1.4 Biotech Xenogene/Endogene code names

I found out the corresponding gene code by accident, for Yuran Race mod it's located under

~/Library/Application\ Support/Steam/SteamApps/workshop/content/*/2844129100/Bio1.4/Defs/YuranBioTitle.xml

So the official description can be found at (or wiki):

~/Library/Application\ Support/Steam/SteamApps/common/RimWorld/RimWorldMac.app/Data/Biotech/Defs/GeneDefs/

I need to use the dev tool to modify gene of my pawn, so here's the table:

import os
import xml.etree.ElementTree as ET
p = os.path.expanduser('~/Library/Application Support/Steam/SteamApps/common/RimWorld/RimWorldMac.app/Data/Biotech/Defs/GeneDefs/')
fields = 'defName label description biostatCpx biostatMet biostatArc'.split()
print('| %s |' % ' | '.join(fields))
print('|--------' * len(fields) + '|')
for f in os.listdir(p):
    root = ET.fromstring(open(p + f).read())
    for elem in root.findall('GeneDef'):
        vals = [t.text if isinstance(t:=elem.find(x), ET.Element) else '' for x in fields]
        if vals[0]:
            print('| %s |' % ' | '.join(vals))

The result is:

defName label description biostatCpx biostatMet biostatArc
Hair_BaldOnly no hair Carriers of this gene grow no hair on the head.
Hair_ShortOnly short-haired Carriers of this gene can only grow short hair.
Hair_LongOnly long-haired Carriers of this gene grow hair on the head very quickly.
Hair_Grayless grayless hair Carriers of this gene keep their natural hair color as they age.
Beard_BushyOnly only bushy beards Male carriers of this gene experience rapid beard growth and are uncomfortable cutting their beards.
Beard_NoBeardOnly beardless Carriers of this gene grow no facial hair.
Beard_Always unisex beards Carriers of this gene always have thick facial hair, even women.
Skin_InkBlack ink black skin Carriers of this gene produce a pigment that turns their skin a pale black color almost as dark as ink.
Skin_SlateGray slate gray skin Carriers of this gene produce a pigment that turns their skin slate gray.
Skin_LightGray light gray skin Carriers of this produce a light-gray pigment in their skin.
Skin_SheerWhite sheer white skin Carriers of this gene have sheer white skin, unlike natural skin tones, due to a special engineered reflective cell covering.
Skin_Blue blue skin Carriers of this gene produce a pigment that turns their skin a blue color.
Skin_Purple purple skin Carriers of this gene produce a pigment that gives their skin a purple color.
Skin_PaleRed pale red skin Carriers of this gene produce a pigment that turns their skin a moderate red color.
Skin_DeepRed deep red skin Carriers of this gene produce a deep-red pigment that gives their skin an almost bloody appearance.
Skin_PaleYellow pale yellow skin Carriers of this gene produce a pigment that turns their skin a grayish yellow color.
Skin_DeepYellow deep yellow skin Carriers of this gene produce a pigment that gives their skin a deep yellow color.
Skin_Orange orange skin Carriers of this gene produce a pigment that gives their skin an orange color.
Skin_Green green skin Carriers of this gene produce a pigment that gives their skin a green color.
Furskin furskin Carriers of this gene grow thick fur all over their body, which protects them from cold temperatures. 1 -1
Eyes_Red red eyes Carriers of this gene have deeply red-pigmented eyes.
Eyes_Gray gray eyes Carriers of this gene have pale white-gray eyes.
Brow_Heavy heavy brow Carriers of this gene have a prominent brow. 0
Tail_Furry furry tail Carriers of this gene grow a fluffy tail which partially protects them from cold temperatures. 1 -1
Tail_Smooth smooth tail Carriers of this gene grow a slender tail that can act as a dexterous fifth limb. 1 -1
FacialRidges facial ridges Carriers of this gene grow raised ridges of skin on their face. 0
MinTemp_SmallIncrease cold weakness Carriers of this gene are slightly less comfortable in cold temperatures. 1
MinTemp_SmallDecrease cold tolerant Carriers of this gene are slightly more comfortable in cold temperatures. -1
MinTemp_LargeDecrease cold super-tolerant Carriers of this gene are much more comfortable in cold temperatures. -2
MaxTemp_LargeIncrease heat super-tolerant Carriers of this gene are more comfortable in warm temperatures. -2
MaxTemp_SmallIncrease heat tolerant Carriers of this gene are slightly more comfortable in warm temperatures. -1
MaxTemp_SmallDecrease heat weakness Carriers of this gene are slightly less comfortable in warm temperatures. 1
PsychicAbility_Deaf psychically deaf Carriers of this gene are deaf to all psychic energy and influence outside their own minds. They cannot be affected by psychic influence, nor can they ever wield psychic power. 2
PsychicAbility_Dull psychically dull Carriers of this gene are less psychically-sensitive than others. 1
PsychicAbility_Enhanced psy-sensitive Carriers of this gene are more psychically-sensitive than average. -2
PsychicAbility_Extreme super psy-sensitive Carriers of this gene are much more psychically-sensitive than most. 2 -5
MoveSpeed_Slow slow runner Carriers of this gene move more slowly than normal. 3
MoveSpeed_Quick fast runner Carriers of this gene move more quickly than normal. -3
MoveSpeed_VeryQuick very fast runner Carriers of this gene move much more quickly than normal. -5
Beauty_VeryUgly very unattractive Carriers of this gene have misshapen, asymmetrical facial structures and blotchy skin. They're hard to look at. 2
Beauty_Ugly unattractive Carriers of this gene have exaggerated facial features and poor skin that are generally considered ugly. 1
Beauty_Pretty attractive Carriers of this gene have unusually symmetrical, balanced facial features and extra-clear skin which gives them a pleasing appearance. -1
Beauty_Beautiful very attractive Carriers of this gene have remarkably precise and symmetrical faces. Their features are distinctive and strong without being exaggerated, and their skin is nearly perfect. They are generally seen as beautiful. -2
Learning_Slow slow study Carriers of this gene have deficient long-term memories and don't understand new ideas quickly. They are slow at learning new skills and knowledge. 2
Learning_Fast quick study Carriers of this gene have excellent memories and grasp new ideas quickly. They learn faster than others. 2 -3
Mood_Depressive very unhappy Carriers of this gene are highly predisposed to negative emotion. They'll see the bad in every situation and have a much lower mood than others. 5
Mood_Pessimist unhappy Carriers of this gene are predisposed to pessimistic perceptions. They'll tend to interpret things negatively and have lower mood than others. 3
Mood_Optimist happy Carriers of this gene are predisposed to optimistic feelings. They'll have higher mood than others. 2 -1
Mood_Sanguine very happy Carriers of this gene are highly predisposed to optimism and not at all inclined to think negatively. They'll have much higher mood than others. 3 -2
ToxResist_Partial tox resistance Carriers of this gene are resistant to toxic buildup from any source. This includes pollution, toxic fallout, tox gas, and direct attacks with venom or injected poison. They'll gain half the amount of toxic buildup compared to others.\n\nCellular filters in the lung and skin reduce the dose of toxins entering the bloodstream. -2
ToxResist_Total tox immunity Carriers of this gene are totally immune to toxic buildup from all sources including polluted terrain, toxic fallout, tox gas, and direct attacks with venom or injected poison. They are also not bothered by acidic smog.\n\nThe carrier's biochemical pathways are modified to route around interference from nearly all known toxins. Along with enhancements to the kidneys and liver, this keeps carriers comfortable in even the most toxic of environments. 2 -4
Delicate delicate Carriers of this gene take greater injuries than others from the same damage. They have thin, brittle bones and less binding molecules in joints and flesh. 3
Robust robust Carriers of this gene take less injuries than others from the same damage. They have thickened, densified bones, nearly-solid ribcages, and strengthened binding factors in joints and flesh. -2
Pain_Reduced reduced pain Carriers of this gene feel half as much pain compared to a baseliner. Reduced neuron activity in the brain's nociception centers makes pain dull and faint. This can be advantageous sometimes, and dangerous other times. -1
Pain_Extra extra pain Carriers of this gene feel more pain than others given the same injuries. Neuron activity in the brain's nociception center is amplified, so pain feels extra-intense and fiery. This can be protective, but overall it's considered a negative and makes it hard to push through difficult situations. 2
Aggression_DeadCalm dead calm Carriers of this gene feel calm in every situation and have a very placid demeanor. They will never start social fights or have aggressive mental breaks. -1
Aggression_Aggressive aggressive Carriers of this gene are quick to anger. They are twice as likely to start social fights. When they have mental breaks, they are twice as likely to choose an aggressive kind of break. 2
Aggression_HyperAggressive hyper-aggressive Carriers of this gene are hormonally high-strung and very aggressive. They are three times as likely to start social fights. Any mental break they have will be of an aggressive type. 3
VerySleepy very sleepy Carriers of this gene get tired much faster than others. 4
Sleepy sleepy Carriers of this gene get tired somewhat faster than others. 2
LowSleep low sleep Carriers of this gene get tired less quickly than others. 2 -4
Neversleep never sleep Carriers of this gene have a unique metabolic process which allows clusters of neurons to sleep while the rest of the brain stays awake. They never need to sleep. 3 -6
MeleeDamage_Weak weak melee damage Carriers of this gene do less damage in close-quarters combat. Weak fast-twitch muscle fibers make their strikes shaky and weak. 1
MeleeDamage_Strong strong melee damage Carriers of this gene do more damage in close-quarters combat. Extra-strong fast-twitch muscle fibers make their strikes accurate and powerful. -2
UVSensitivity_Mild mild UV sensitivity Carriers of this gene have biological compounds in their skin that react painfully to UV radiation. They are unusually sensitive to sunlight. 3
UVSensitivity_Intense intense UV sensitivity Carriers of this gene have biological compounds in their skin that react dangerously to UV radiation. They are intensely sensitive to sunlight. 2 4
Libido_Low low libido Carriers of this gene are less likely to engage in lovin' with their partner.
Libido_High high libido Carriers of this gene are more likely to engage in lovin' with their partner.
FireSpew fire spew Carriers are able to spew flammable bile generated by a special organ in their neck. The bile sticks to anything in a small area and can ignite people, objects, and the ground. -2
FoamSpray foam spray Carriers grow glands in the neck that generate and store a fire-retardant foam. They can spew this foam over an area to extinguish fires. -2
LongjumpLegs longjump legs Carriers have special hemogen-powered muscle fibers in their legs which allow them to jump great distances. -2
AnimalWarcall animal warcall Carriers of this gene can perform an animal warcall, using a powerful bellow and psychic connection to call an animal to fight for them. 1 -3
Bloodfeeder bloodfeeder Carriers of this gene have small retractable fangs and an organ on the roof of the mouth which can extract hemogen from fresh warm blood. They can bite an unresisting person, suck the blood, and gain hemogen directly. -1
Coagulate coagulate Carriers of this gene have special glands on their hands and wrists, as well as a unique salivary compound that they can use to rapidly tend wounds. -1
XenogermReimplanter gene implanter Carriers of this gene can implant a copy of their xenogerm into another person through a somewhat gross-looking injector organ. Their own genetic material will then regrow very slowly. If they implant while their genes are regrowing, they will die. Germline genes will be unaffected. 3 1
PiercingSpine piercing spine Carriers grow an opening in their upper chest along with a quiver of keratin spines. Using a hemogen-powered chemical reaction, they can fire these spines at high speed at nearby targets with surprising accuracy. -1
AcidSpray acid spray Carriers grow glands in the neck that generate and store a sticky acid substance, along with acid-tolerant tissues in the mouth. They can spew this acid over an area, where it will stick to enemies and burn them over time. -2
Body_Fat fat body Carriers can have fat bodies. A person can have more than one body type gene; one body type will be chosen among those that are allowed.
Body_Thin thin body Carriers can have thin bodies. A person can have more than one body type gene; one body type will be chosen among those that are allowed.
Body_Hulk hulk body Carriers can have large bodies. A person can have more than one body type gene; one body type will be chosen among those that are allowed.
Body_Standard standard body Carriers can have average-shaped bodies. A person can have more than one body type gene; one body type will be chosen among those that are allowed.
Ears_Human human ears Carriers of this gene have regular human ears.
Ears_Pig pig ears Carriers of this gene will grow pointed pig-like ears.
Ears_Floppy floppy ears Carriers of this gene grow long, floppy hound-like ears.
Ears_Cat cat ears Carriers of this gene have cat-like ears.
Ears_Pointed pointed ears Carriers of this gene have pointed ears.
Nose_Human human nose Carriers of this gene have regular human noses.
Nose_Pig pig nose Carriers of this gene have pig-like snouts.
Jaw_Baseline human jaw Carriers of this gene have regularly-shaped jaws.
Jaw_Heavy heavy jaw Carriers of this gene have large jaws.
Head_Gaunt gaunt head Carriers of this gene have a pinched, gaunt appearance in their face and head.
Hands_Human human hands Carriers of this gene have regular human hands. 0
Hands_Pig trotter hands Carriers of this gene have hands that partially resemble pig trotters. This reduces their ability to manipulate objects. 1 1
ElongatedFingers elongated fingers Long, delicate fingers improve the carrier's manipulation capacity. This aids with many tasks, especially crafting and construction. 1 -1
Headbone_Human human headbone Carriers of this gene have regular human skulls.
Headbone_MiniHorns mini-horns Carriers of this gene grow two small horns protruding from the forehead.
Headbone_CenterHorn center-horn Carriers of this gene grow a single horn protruding from the center of the forehead.
Voice_Human human voice Carriers of this gene have regular human vocal chords.
VoicePig pig voice Carriers have a squealing voice like that of a pig.
VoiceRoar roar voice Carriers have an animal-like roaring voice.
Hemogenic hemogenic Carriers of this gene have a reserve of biological strength powered by a resource called hemogen. The resource can be gained and spent in various ways, all of which are unlocked by other genes.\n\nCarriers lose 2 hemogen per day from biological entropy. 1 1
HemogenDrain hemogen drain Carriers lose an additional 8 hemogen per day from biological entropy. 1 6
FireWeakness tinderskin Carriers have dry, thin skin which burns easily from fire, and their immune systems react very poorly to this kind of threat. Damage from fire is multiplied by 4. 2
FireTerror pyrophobia Carriers of this gene have an intense fear of fire. When fires are close, there is a chance they will have a mental breakdown at any moment. 4
PerfectImmunity perfect immunity Carriers of this gene have archite-enhanced immune systems which intelligently destroy invaders. They are totally immune to most normal illnesses. 3 1
DiseaseFree non-senescent Carriers of this gene do not go through senescence in the normal way. They never get chronic age-related diseases like cancer, bad back, cataracts, or dementia. 3 1
TotalHealing scarless Carriers of this gene have a special type of regenerator cell which can heal old wounds and chronic illnesses like bad back. 4 1
Deathrest deathrest Carriers of this gene must periodically regenerate themselves in a special coma called deathrest. Deathrest takes days, but can confer substantial bonuses. Deathrest can be accelerated and its effects enhanced by the use of a variety of special buildings and technologies.\n\nThose who put off deathresting will suffer from deathrest exhaustion. 6
Ageless ageless Carriers of this gene have archites in the bloodstream which continuously reverse the process of aging. Starting at the age of 13, carriers begin to biologically age slower. By 18, the aging process stops completely. 3 1
Deathless deathless Carriers of this gene have archites in the blood which will sustain their life processes no matter what. As long as the brain remains intact, a carrier of this gene will never die. 7 1
ArchiteMetabolism archite metabolism Carriers of this gene have special archites in their cells that facilitate and optimize metabolism. This improves overall genetic and metabolic quality. 6 6 2
WoundHealing_Slow slow wound healing Carriers of this gene heal from wounds half as fast as normal. 2
WoundHealing_Fast fast wound healing Carriers of this gene heal from wounds twice as fast as normal. -2
WoundHealing_SuperFast superfast wound healing Carriers of this gene heal from wounds four times as fast as normal. -3
Immunity_Weak weak immunity Carriers of this gene gain immunity to diseases more slowly than normal. They may die from infections that others would survive. 2
Immunity_Strong strong immunity Carriers of this gene gain immunity to diseases faster than normal. -1
Immunity_SuperStrong super immunity Carriers of this gene gain immunity to diseases considerably faster than normal. 2 -2
ToxicEnvironmentResistance_Partial partial antitoxic lungs Carriers of this gene are resistant to environmental toxins. They get less toxic buildup from tox gas, polluted terrain, and toxic fallout, but are still vulnerable to direct attacks with venom or injected poison. Additionally, they build up rot stink exposure slower. -1
ToxicEnvironmentResistance_Total total antitoxic lungs Carriers of this gene are immune to environmental toxins, but not from direct toxic attacks. They get no toxic buildup from tox gas, polluted terrain, or toxic fallout, and they are not bothered by acidic smog. They are still vulnerable to direct attacks like venom and injected poison. Additionally, they are immune to rot stink exposure. 2 -3
Sterile sterile Carriers of this gene cannot reproduce by natural means. 1
Fertile fertile Carriers of this gene have a higher chance of becoming pregnant or impregnating others.
Superclotting superclotting Carriers of this gene have extra-power coagulating factors in their blood, and will stop bleeding very quickly when wounded. -1
KindInstinct kind instinct Carriers of this gene are high in trait agreeableness and are very conscientious. They rarely insult others and will sometimes offer kind words to brighten the moods of those around them. They also never judge people by their appearance. -1
ViolenceDisabled violence disabled Carriers of this gene are emotionally and mentally incapable of engaging in violence. They are overwhelmingly resistant to and horrified by the idea of hurting another. 3
Nearsighted nearsighted Carriers of this gene have difficulty seeing at a distance. Their shooting accuracy at long ranges is reduced. 2
StrongStomach strong stomach Carriers of this gene have an extra toxin-filtering organ in their stomach and will never suffer from food poisoning even after eating rotten food. -1
DarkVision dark vision Carriers of this gene see well in low light and are unaffected by mood penalties related to darkness. They have a reflective layer behind the retina that amplifies their ability to see in the dark. -1
KillThirst kill thirst Carriers of this gene lust for the feeling of ending another's life. They will become irritated if they go for too long without killing someone in close combat. 4
FireResistant fire resistant Carriers of this gene have special fast-acting sweat glands and heat-resistant skin. They only take 25% of the normal damage from fire. The chance of them catching on fire is also drastically reduced. -2
Inbred inbred This genetic condition affects a person's fertility, immunity, and mental capacity. -2
RobustDigestion robust digestion Carriers of this gene grow a multi-fold stomach, allowing them to digest raw foods more efficiently than baseline humans. In general, they get the same nutrition from raw food as from if it is cooked. They also don't mind the taste of raw food at all. 2 -2
Instability_Mild mild cell instability Carriers of this gene need less metabolic energy to stay alive, at the cost of reduced stability in their cell-replication machinery. 2
Instability_Major major cell instability Carriers of this gene need much less metabolic energy to stay alive, at the cost of greatly-reduced stability in their cell-replication machinery. 4
PsychicBonding psychic bonding Carriers of this gene have a special neural organ that makes them psychically bond with a lover for life. As long as the lovers are together, they will be happy. If they are physically separated, they will be disturbed by the distance. If one dies, the other's mind will be badly disrupted. 1 -1
PollutionRush pollution stimulus Carriers of this gene get a chemical rush from being exposed to pollution. This makes them move faster and helps them think clearer. A similar gene is found in combat-engineered mega-insects. 1 -1
Unstoppable unstoppable Carriers of this gene are not slowed down when taking damage. 1 -2
NakedSpeed naked speed Carriers of this gene move slower while clothed, and faster while naked. 1 2

Posted

stdout

老师为啥离职不干了

看到一个 来自乐队老师 Teresa Kaye Newmantiktok的视频 搬运+翻译 推荐看完,摘录一下字幕:

The reason teachers are leaving is not because of teacher pay. As a band director, I receive higher pay compared to most teachers, which serves as an incentive for me to show up and stay late. However, this alone is insufficient. Even if every teacher in Texas received a $10,000 raise annually, we would still face the same issues we are dealing with now. Let me share some recent experiences that illustrate the challenges I've faced in the last 48 hours.
Yesterday, I encountered a disturbing incident where I had to intervene in an assault that occurred in my band hall. It wasn't just a fight; it was a student repeatedly punching another student in the head. Additionally, someone decided to tamper with all the French horns in our possession, removing every single string and rendering them unplayable. I had set up a drum set station for my percussionists, who had been requesting it all year. However, within 24 hours, someone had already damaged the high hat. People are stealing and using instruments that do not belong to them, even if they are stored in lockers.
Furthermore, one student struck another in the face while their trumpet was in use, and another student in the same class flipped me off and then lied about it. I want to address a common response: yes, I understand that these challenges come with the job. However, it is disheartening when people on my campus claim that the band students are the most well-behaved and respectful, yet I am still confronted with such issues daily. This is not merely a financial problem, nor is it solely an administrative or parental problem. It is a problem of emotional dis-regulation.
In my 13 years of teaching, I have never encountered such difficulties in getting kids to keep their hands to themselves and refrain from damaging property. While it is our responsibility as teachers to guide and teach them, these students seem unaffected by traditional corrective measures. They do not care about failing, being reprimanded, or receiving poor grades. Their primary concern appears to be seeking immediate entertainment. I hesitate to attribute this solely to technology, as I am well-versed in its use and incorporate it into my lessons. However, it seems as though some of these children have given up on life at such a young age, abandoning any aspiration for something meaningful.
I began this school year with enthusiasm, hoping to make a positive impact upon returning to the classroom. However, I have felt like I've been chasing my own tail throughout the year. While I love my students, I am emotionally drained and exhausted from the mistreatment I endure. The system is failing both the students and the teachers.

教师离职率高的原因并不仅仅是因为待遇问题。我是一名校乐队老师,相较于大多数教师,我的薪资更高,因为有课时和加班补贴。但这还不够。即使德克萨斯州的每位教师每年都获得1万美元的补贴,我们仍然需要处理同现在一样的问题。让我讲讲我在过去48小时里遇到的事情,我挨个说:

  • 昨天我在乐队大厅里阻止了一场暴力袭击,不是打闹,一名学生至少暴打了另一名学生头部四五次;
  • 我稍微疏忽一点,一个诡异的小孩在过去半天竟然把我们所有法国号的弦线都拆下来,让它们无法演奏;
  • 我为打击乐手准备了一组鼓,他们期待了一年了。结果只过了24小时,就有人损坏了鼓组的底踩钹
  • 有人盗用并使用不属于他们的乐器,即使乐器锁在储物柜里;
  • 此外,有学生打起来,因为「对方往我脸上吹小号」
  • 在同一班级中,有学生对我竖了中指,然后试图否认。

在你们评论中指责我之前,我得先说,我知道自己入了什么行。是的,我非常明白。但是学校里很多人都告诉我,乐队学生是校园里表现最好、最听话的学生。然而,我每天仍然不得不应付这些破事。这不是一个经费的问题,不是管理问题,也不是家长问题。这是一种情绪失调问题。
在我从事教育的过去的13年里,我从未需要反复强调「管住手」、「不要破坏财物」。我明白作为教师的一部分职责是管理和示范学生行为习惯,我最近一年反复唠叨了很多遍纪律、在墙上贴出告示、召集学生训话、给出书面批评、甚至让部分学生退出,但传统的纠正措施似乎通通失效了。他们不在乎挂科、书面批评和退学(OSS, Out-of-School Suspension)。他们大多数人唯一关心的是接下来五分钟内如何娱乐自己
我尽量不成为一个啥都怪罪「科技产品」的千禧一代教师,因为我对新技术很投入,我喜欢短视频 app,我在课堂上也会投入新媒体应用。然而,似乎有些学生在这么小的年纪就已经放弃了人生,结束了对生命意义的追求。
本来我对这个学期满怀期待,希望能够对课堂产生正面影响。然而,整个学期下来,我感觉自己一直在原地打转。我爱我的学生,但我受到挫折,感到疲惫和折磨。这个体制无法奏效,学生和教师都很失败。

这是一个很火的视频,翻了一下评论,tiktok 上很多都说:

EvaInScotland: I’d be not different if I’d be growing now - we had a magic of ‘unknown’ ‘needed to be explored and discovered’ ‘waiting for it to be available’ now. All is instantly accessible there is no wander no imagination no ‘unknown’ It’s more realistic but as well more depressing I don’t blame them
SLD454: I'm sorry have to disagree with you on parents, it's their responsibility to raise their kid,or they shouldn't have any
shit_and_giggles: BRING 👏 BACK 👏 SPANKING 👏.............jk jk....... but also slightly not jk
Jackie: Parents really need to step up and support the teacher in the schools and making sure their kids are showing respect to their teachers, all staff and
Armandalea: parents. PARENTS! This is a parent problem.
S H R E C C: I know you're trying to avoid blaming the parents but ultimately, everything starts at home.
user3043964493022: i 100% agree! i see it also at the preschool level... we are assaulted daily by students that appear to be having withdrawal from phones and ipads

2023-06-02 08:32 快使用擀面杖:
[doge] 你们看美丽国乐子呐。 作为一线教师,我可以很笃定的告诉你们,如果不做什么重大改变,再过几十年我们国家的学校也会是这样。昨天放学的路上我还在盘算自己能不能在事态逐渐演变到我能忍受的底线前够年龄退休,今天就刷到了这个视频。没办法,学生碰不得,老师管不得。遇到的问题和这个老师描述的差不多。只是目前一个班可能就2-4个这样的人,强势的班主任还能压制的住,但效果也越来越差了。因为他打了人,家长报了警,警察来了他都敢骂,骂完还没事,这种榜样的力量,可比什么好好学习的榜样被学生学起来快多了[笑哭]

2023-06-02 09:32 棉豆doo:
我朋友这几年当老师的,已经辞了,受不了。学生不爱学习连劝都劝不得,敢指着老师的鼻子骂;小混账当着老师的面开女同学黄腔,被老师凶了就作势要打老师,被同学架住了才没打成;请家长也随便,家长也不管

2023-06-02 09:36 竹梓桑葵:
这就是社会进程,当我国物质文化都富裕了之后,孩子会看到父母在社会上纵欲,并对泡沫经济社会充满不切实际的希望,这是非理性繁荣在教育体系上的表现俗称浮躁。为中华之崛起而读书?对不起,中国已经崛起我还读什么书,那是上世纪的事。

2023-06-02 18:48 -树上-:
我妹学校有个低年级班级,有个小女孩有天穿了个小背带裤,班上一群男孩看到以后跟打了鸡血一样,一直围着人家说什么鸡你太美,唱跳篮球之类的梗……之后他们只要碰见那个小女孩就会嘲笑她这件事,有手机的甚至拍她照片,给她脸P到表情包上四处传播最后那个小女孩转学了,那群小出生继续开开心心用人家的表情包玩梗

2023-06-02 17:26 重度冲浪爱好者在此:
这种现象是全球性的,未成年在缺乏辨别里的前提下被媒体拽着跑,被周围环境教坏,家长和老师作为仅有的两股教导的力量,也日益衰弱。只能说加速⏩了[笑哭][笑哭]

2023-06-03 18:41 Forsannn:
中国学校全靠上一代的铁血教育留下来的余威勉强维持[滑稽]

2023-06-03 22:50 dQ_Qb:
但是现在啥也管不了呀 你是不知道那些家长给自己的孩子上课不听找借口,说十六岁还小,只是个宝宝,上课不听没关系 老师可以下课义务补课,还有更过分的直接把孩子扔给学校,然后孩子想回家也不给回去,因为家里的房间给弟弟了,孩子有自杀倾向,上课玩刀片,心理老师想让家长一起参与疏导,家长说出事都怪学校的

2023-06-02 23:54 冷车拼盘:
我就在排名超差的偏僻美国公立学校教过,简直是噩梦…… 学生贩drug,校长不管,警察不管,校长女婿就是小村的警长,就是不愿管。学生逃课,你只能叫教导处体育老师抓人,教导处主任也只是和稀泥……他们逃课你要马上汇报,因为他们要是逃课时摔伤或者出什么事,你等着坐牢。 好学生不到5%,其他全是混混。联系家长也没用,人家家里信邪教,混黑帮的。做了一个学期马上辞工了,惹不起。

2023-06-02 22:42 锕锷铱嗷呜:
真实的。现在有的孩子已经完全意识到了,他们的向下的自由是得到保障的。教师不能对他们使用口头教育以外的任何手段。一个班上只要有一个孩子厚着脸皮不写作业,并且发现教师没法采用强制措施。那么只需要一个学期,厚着脸皮就会几乎变成恬不知耻,一个孩子就会变成许多孩子。偏偏家长还有很多没时间管,不是说教师把责任给家长,而是我批完,订正完,希望家长看看孩子的错误率,签个字,家长也没有时间。有些家长生活压力是真的重我也不说啥了;有的家长,自己发朋友圈在外边搓脚,自己孩子一整个礼拜作业强行拖着不写,放学时候也不补,借口有培训班跑路。这种孩子现在真不少见了,他们对其他的孩子带来的影响几乎是毁灭性的。我也不想恨孩子,只能说努力去温暖了某些孩子两年了[微笑]。现在只希望其他撑得住别被带歪了。以及,如果大家真的生活压力大,就别生孩子了。没时间管孩子还要生,真的是造孽,折磨孩子也折磨自己。

2023-06-02 11:30 薄荷Mintsugar:
我作为一个老师这次来做一次一样怪,我跟大家说,图里这个老师说的是真的,而且现在我们有在向这个方向变化的趋势,现在的孩子跟我们小时候比起来就是有点无法无天了,不怕挂科,不怕挨骂挨罚,不怕找家长,然后教育部门规定也不让体罚,他们只在乎自己能不能在接下来找到乐子出洋相

2023-06-02 04:08 BaozBao:
美国tiktok一些挑战(很火很多人做 “打老师巴掌挑战” “上课捣乱挑战” “骂老师挑战” “偷学校厕所挑战” 这些都是有的 而且很多视频

2023-06-02 14:28 点线面DXM:
哈哈,如果有人留意过悉尼的新闻,就会知道上周发生了一起市中心大楼火灾案,140多个人被迫转移,2名流浪者行踪不明,而放火的是两个初高中生小孩。

2023-06-02 22:05 小一的抱枕床没有了:
回复 @你怎么不吃饭Y :新警察故事。问题在于搞事情并不是富二代的专属,普通家庭的孩子也会这样……要是只是富二代搞事情也没那么多人倒霉,毕竟人数有限,现在是每个学校不管是私立还是公立,男校女校还是男女同校,都有疯孩子……

2023-06-02 17:13 到湖中心:
互联网无时不刻不在教育小孩,现在的小孩远没有以前单纯,网络交给了他们太多“手段”,类似抑郁症种敏感的话题,有些学生深知它对家长和老师的威慑力,就去网上搜索相应的症状去装,让老师和家长对他妥协[微笑][微笑][微笑][微笑]我请问这能怎么办,你不信,他自残给你看,你妥协,他觉得这个方法真好用拿捏老师家长真是太棒了(不是在否认学生抑郁症发病率高

2023-06-03 02:47 骈旧时:
很大程度是因为小孩从互联网上接触到过多成人才该了解的知识,导致和以前的小孩行为模式不一样。以前的小孩基本都是从父母老师这里接受知识的,现在互联网的信息乱七八糟,父母老师的作为知识授予者的作用变小了[辣眼睛]

2023-06-03 07:13 Silvia家的猫:
这个确实,我接触的学生都是四到六年级,那天我听到的最让我震惊的一句话就是,我妈要是不给我买iPad,我就装抑郁,她肯定就买了???!!!!

2023-06-02 07:08 JackFang75:
作为在美国教过书的人来说,视频内容比较真实。普通人永远想象不到有些学生能想出什么新人类主意来搞破坏和捣乱,从小事说起就是每一天的下午厕所马桶都会被学生故意塞纸堵住。厕所吸毒对他们来说也不是什么新鲜事,每学期本地警察都会带着缉毒犬来学校搜查可能的毒品,而且次次不走空。通过在美国读私立高中和公立学校教书经历的观察。我发现我待过的两所学校对比一下简直一个天一个地,在公立学校里学生之间也能表现的像不同物种一样。在我执教的公立学校里有我这辈子看到过的最有主见,最上进和最有礼貌的学生,他们很多人都是家里第一个有希望考上大学改变命运的学生。我也见过几个毫无进取心,永远愤怒和迷茫的年轻人。如果学生没有目标,没有希望,那他对课堂的破坏力是相当可怕的。

2023-06-02 10:44 吃土少女泥巴巴:
感觉我们现在也有这趋势。我同事小孩初中,她儿子前段时间被人偷了东西,老师把偷东西的抓出来训了顿,结果人家长还不乐意了,来学校大吵大闹

2023-06-02 10:56 小枭咕咕哒:
看前: 一年工资涨一万也太好了吧[哦呼] 看后:应得的[撇嘴]

2023-06-02 21:37 村口_胡师傅:
工作了五年,我已经放下助人情结了,小孩犯错啥都不能做,重话都不能说只能拿爱感化。不如大家一起摆烂,我保住我的公立学校铁饭碗。

2023-06-03 09:29 浮生_偷闲:
一群现在二十多快三十的就没必要依据自己的经验硬套了,也不想想现在都23年了,这都离你小学过了十几二十年了,课改都过了两三轮了,我那天一看人家高考填报模式我都看不懂了,你的记忆根本代表不了现在的一线教育困境

2023-06-03 19:38 飞天小白兔分兔:
今年27了,打王者遇到一个14的小男孩,感觉很乖学习也不错,听说考上了本地比较好的重点高中,结果刚初中毕业就跟着同学出去喝酒,抽电子烟装逼拍照,逃课去网吧,我这个早古土包子都吓死,我问他怎么了,他说没怎么,就想过不一样的人生,说感觉学习没意义,想做生意挣大钱,脑子里全是几个亿的生意,说要跟兄弟合伙。还有一个高二的弟弟也是,说不想上学,以前学体育的,说游泳馆的教练分分钟月入两万,不需要读大学吧啦吧啦,真的怪吓人的,每天想的都是“挣笔大钱”或者找点刺激,都觉得读书没有用。甚至有点鄙视读书,我真的觉得这不是个好事。

2023-06-02 11:04 Pasuk:
国内也开始这样了,特别是一些边缘地带,不知道是父母灌输还是怎么样孩子可能8 9岁就无所谓读书,初中生更是逆天的存在说堵老师,甚至rape老师,纯纯土皇帝一样,以前老师在这部分地区有绝对的权威,打是打的很,素质是不怎么高,但是学生确实害怕,家长也听老师的话,现在老师动一下手或者只是做做样子吓一下学生都有可能被录视频抹黑工作可能就没了 加上等级d到c十分的跨度很难,看不见进步,学生更不想学了,学生不想学老师还得教,很多老师直接摆烂,快乐教育爱学不学 爱写不写 学生还觉得可高兴了可以骑在老师头上了[再见][再见]

2023-06-03 01:54 鱼的头很大:
天呐,北京都是这样,我自己带的学生,才四年级,上课根本没法上,她说老师一节课一半时间都在管纪律,剩下一半时间是老师摆烂了不管了,管不住,打不得骂不得,几岁的小孩儿都知道被老师打骂了要告教育局,上课太吵闹,孩子坐在后面根本听不到老师说话,只能找家教老师也就是我再上一次😂

2023-06-02 18:15 风铃是萌点:
想起来我高中时候的外教,她上课经常跟我们感叹在中国教书真的太好了,因为她在英国教书的时候不仅管不住学生,甚至会被学生打[辣眼睛]

2023-06-02 00:49 退堂鼓十级表演艺术家:
这类现象不能简单的归咎于快乐教育及高度自由上,其本质是道德教育的缺失。公立教育系统将道德教育完全交给家庭教育的后果就是有其父必有其子。同时充裕的课外时间使得小孩受社区文化影响极深:
倘若孩子生活在一个中产社区以及富人区,其步入歧途的可能性自然很低;倘若生活在黑人社区这样的地方,周身无不充斥着暴力和犯罪,甚至连空气都弥散着堕落,想出淤泥而不染是很困难的,而又恰恰是这些底层父母对孩子的道德教育几乎是放弃的,最终的结果就是孩子步他们的后尘,成为他们那样的人。

2023-06-03 01:13 某飘鬼:
一个马上辞职的初中老师表示 初中的孩子确实有这个趋势 我上班五年 刚把一届学生送到高一 这一届学生就很好 跟我感情也很深 新的这一届初一 完全大变样 有时候连课都上不去 他们真的很喜欢找乐子 举个例子 我们班一个学生前一天刚因为毁坏公物被班主任训斥了 第二天还是去做同样的事情 我们班主任已经是一个一米八很壮的男老师了 我真的觉得学生的质量越来越差了

2023-06-02 21:21 村口_胡师傅:
我们校长们明确的跟我说过,They are not here for school, they are here to hangout, and all we can do is give them a conversation. 他们不是来读书的,他们是来跟朋友玩的,但我们唯一能做就是跟他们谈话。整个社会在资本的运作之下,老师做任何事情都会被严重放大,你不知道你哪天做了啥你就在tiktok火了,所以为了保护自己我们只能啥都不做。 因为在金字塔顶端的人不想要太多挑战者,就让他们在最没有自制力的时候,以“爱”、“保护”、“尊重”、“自由意志”为名,逼迫所有人放纵他们。 现在我已经放下助人情结了,保住工资福利还不错的公立学校铁饭碗不香吗?

2023-06-02 10:16 千鳥サラ:
现在的网络确实不适合小孩子,90后觉得读书无用那是因为已经过了读书的年纪,在该读书的年纪卷过来的,遇到了经济非常不好的局面才变成了读书无用。这话对于现在还在上学的人来说是没资格讲的。还未养成基本的科学素养就觉得读书无用还太早了。这个视频说的非常真实,在北美留学的时候明显感觉那面的老人和老一辈思想上明显比年轻人开明,反倒不歧视外来人,年轻人只是彻底的混蛋罢了。

2023-06-02 12:52 回忆是献给青春的葬礼:
读书永远有用,但是现在附加在读书上的功利性太强了,把读书读好了和找好工作挂钩的结果就是好的工作岗位满了后面书读的好的也上不去,前面的人占着位子不下来,又没有好的新的工作岗位出来,这时候本来就是奔着找好工作赚大钱才读的书的人可不就觉得读书无用了……

2023-06-02 08:55 帅气的依酷:
全球都差不多。我们三线城市下小县城,取消很多乡镇小学,都集中到新城中学,我有同学在里面当老师,正规编制,说里面学生没一个想学的,整天抖音游戏的,也是不在乎记名,不在乎成绩。

2023-06-02 12:55 洲行舟:
我这一样情况,城乡结合地区的中学,好些学校撤并过来,生源基本都是乡村学生,每天都能搞出五花八门的事来,根本也不学习,甚至基础知识缺乏到好像之前从没上过学一样,坏习惯一学一个准

2023-06-02 13:07 楚锦湖:
我有个学生,家里宠的不成样子,只要他发脾气,他家里什么都答应。说孩子脾气大,管不了呀。我血压都上来了,他第一次想通过耍赖发脾气达到目的的时候,就应该狠狠拒绝他,让他知道不行,他还会继续吗?这孩子一开始对着我也耍脾气,后来不会了,因为我完全不听他胡搅蛮缠!然后他就回家和他家长胡搅蛮缠,让家长来和我说。我就拒绝不了,我也懒得拒绝,你当爹妈的都不知道严重性随着他,他现在六年级就能打妈妈,以后能好吗?

2023-06-02 10:07 zjleen:
国内这种情况也越来越严重,现在很多小学生都满口脏话,家长溺爱,学校不敢管,恶性循环。

2023-06-02 16:39 假小装在澳洲:
我之前在澳洲当老师。他这说的在欧美国家及其普遍。像年轻老师一般都是带插班,被学生f word问候是常有的事。最让人无法接受的是没有任何后果,这个学生在家反思两天就回来了。我同事还遇到过中午在学校草丛拉shi的,上课撕书的,搬桌子(不是椅子)扔教室外面的,还有打老师的。我不知道中国教育系统未来咋样,但是西方国家确实在疯狂加速。我们这届做老师的两年跑了一半了已经[傲娇]

2023-06-03 12:37 凌幻先生:
这不就是我的高中。想起了我痛苦的回忆,高中的时候因为新高考改革,分到一个特别可怕的班级那个班级里顶撞老师打架斗殴上课玩手机耍泼不要太多,全班只有我努力学习,对于他们像个异类。有一次上晚自习,班级有一个nt带头乱的要命,我那个时候心态也不好,就喊了一声小点声,那个nt的回复我不会不会说出来,我只说我一辈子都忘不了他。每次到教室上课心态都不好。后来高考了,虽然考的大学不算特别好,但是我个人觉得对得起自己,那三年过的简直是地狱一般。那些学生就像视频里面说的,除了吃喝玩乐什么也不在乎。甚至生命也不在乎。

2023-06-02 02:20 冷男coldman:
在国外遵守纪律反而成了nerd,成了被霸凌的对象。每个人都为了cool为了合群去做一些破格的事情,而且越破格越好,反正已经是答辩了。而且社会风气也是纵容的。东亚这边摆和卷还算比较均衡,至少都是卷不动才摆。从小就开摆的算少数。

2023-06-03 04:38 暴走正太金闪闪:
事实是美国很多公立学校社区学校一直都是这个样子,上世纪七八十年代才是最严重的时候,很多高校淫乱吸毒成风,作弊逃学更是家常便饭。烂掉的是这些底层和普通家庭的孩子和教育,富裕阶层的孩子接受的是私立高等学院的精英教育一直都没变,这些才是美国真正倚靠,至于多数劳苦大众的孩子不过是国家的消耗品罢了,无法从根本上影响到美国的未来,高层自然也不会给予太多关注

2023-06-02 22:22 我家小熊闷得儿密:
六十年代那波婴儿潮从出生就被教育当工人建设四化,于是毅然投身国有工业。三十年后,他们发现自己在商业化面前被抛弃了,于是有了打个共鸣的响指。九十年代那波婴儿潮从出生就被教育万般皆下品考上大学才有出路,于是毅然考入北上广深,三十年后,他们发现自己在楼市面前被抛弃了,于是有了孔乙己的长衫。于是他们想到,想让三十年后的孩子安心当廉价劳动力还是要快乐教育,于是,未来已来。

2023-06-02 07:26 片哥大头目:
在美利坚高中一定要去私立高中最好是宗教学校的私立高中因为这两种高中的校规相对公立学校非常严格我就是私立宗教高中毕业的我记得很清楚在我高中最后一年有个同学因为说了Good boy被老师认为不尊重同学甚至留校了所以会发现你在网上看到的那些感觉高中生活十分美好的视频全是私立学校的有钱人所以不要轻信什么美国大部分高中生生活十分美好

2023-06-02 10:04 MIKUKU酱:
非常真实[笑哭] 我上的天主教私立高中,入学时100+人,毕业时只剩80人,期间还有几个转学进来的。私立高中真的是一点小事就能开除学生,上学都胆战心惊的。我们学校迟到5次一个detention,三个detention就开除。消除detention的唯一办法只能周末独自来学校打扫一整个周末的卫生。

2023-06-02 01:31 笨笨的瓶子starbucky:
和快乐教育没多大关系 这边二十几年来一直都是应试教育,学生素质和纪律明显在变差 沿海城市普通公立,90后开始也没有严厉体罚了,当时大多数人还会按时做学习任务。现在教的10后,当面催他要作业都不会交[打call] 还真不是家长或者老师学了西方什么思想,学生不知咋的就无所谓了

2023-06-02 12:09 酸辣粉丝儿:
国内现在情况也没好到哪里去,教师动不动被举报,小孩子作业不写,课堂开口辱骂教师,打,打不得,骂,骂不得,罚抄都要小心翼翼,还要老师出成绩,简直是地狱难度,再加上薪资一降再降,讲真,如果不是还有编制耗着,大概会有大批教师离职

2023-06-02 10:13 cya12go:
我的表妹才上1年级,就已经0分语文考试了,天天回家刷抖音,一次看到她做错事上去教育她骂她几句,直接被外婆反说我,意思是她还小不能骂。(去小卖部拿东西不给钱直接回家老板过来要钱了还不能骂?)如今的学生不是家教问题还能是什么问题,家长放任孩子不管任由他们看抖音。记住一句话7岁定八十。更厉害些3岁就定八十了。

2023-06-01 17:40 htik0425:
毕竟老师只有上课时间能用来教育,现在的网络无时无刻不在“教育”

2023-06-02 08:32 今天吃什么bot:
老中的教育体制和北美的教育体制真的是两个绝对极端。在国内读书的时候我度过了我这辈子最紧绷最痛苦的日子,留下了慢性胃炎和胃痉挛的毛病。后来逃到北美进入了一个公校,发现有的学生会取笑老师,甚至直接在课堂辱骂老师。当时真的震惊的无以复加。至于为什么用逃…[墨镜]毕竟我曾经也是河北地狱竞技场的一员。

2023-06-02 17:24 nnnyyyttt珍珠糖:
我们这里也有这样的情况,我妈妈是初中老师,就因为有一个学生上课走神,我妈妈过去提醒了一下,第二天学生家长就冲到我妈妈办公室打了我妈妈一巴掌,逼着她下跪道歉,不然没完[捂脸]。我妈妈那以后再也不管学生上课走神了[捂脸]。

2023-06-02 14:42 DDA:
前段时间公交车上遇到几个中学女生,满嘴脏字,不知道的还以为是哪个地方的小混混……这还是北京的中学生……[呆]

2023-06-02 14:12 喝奶茶不吐珍珠呀:
全市top小学,二年级一学生连扇3个学生巴掌,连劝架的也扇,教师告知家长,家长觉得自己孩子没错,不能体罚就是没有办法控制学生,现在已经有别的学生开始扇人巴掌了,不能杀鸡儆猴的教育你说怎么办

2023-06-02 13:44 mlybl:
别说小学生了,就现在大学生也好不到哪去。大学老师资历不够老的都不敢明着抓作弊,之前还有个抓作弊的老师因为学生被抓作弊后宣称要自s而赔礼道歉的。现在的问题是家长太溺爱孩子了,学校又最怕家长闹。我话就放在这里,只要你家长敢在学校大门拉几天大字报,什么条件学校都给你谈下来了。我们学校老师跳主教学楼是明确赔5万,学生跳的话只要家长敢持续闹,能赔30万+,甚至学生意外死亡有家长闹,那也能赔个好几万。

2023-06-02 07:08 主要是潇洒:
大家都一样啊,都是因为看不到希望啊,现在中国还好点是因为还有卷的上限,你考研考公至少以后生活还能舒服点,但是上限也就是能生存,无论如何你也成为不了那些聚光灯下享受的那批人。自然就有人摆烂了,一切只为乐子。当你发现你无论多努力,也只不过是在泥潭里挣扎,那最求完美生活就是个笑话了

2023-06-02 10:25 arqalm:
现在的小孩子厌世情绪非常严重,然后精神寄托是一批流量明星,家长和学校老师教的还不如明星管用[无语]

2023-06-02 10:15 滮人:
有一说一,有点像60年代末70年代初的中国小学的样子,别的我不知道,但北京那个时候小学中学是真的乱,特别是军属大院的小孩,有一部电影,叫阳光灿烂的日子,就是讲这一时期的

2023-06-02 10:17 名字又被撤回了:
公立学校是这样子的,加拿大随便在公校走一下就能闻到几种难绷的味道[辣眼睛] 有些大学还专门提供固定场所吸呢[tv_白眼]

想了很多话,但是又说不出。我现在自己的娃也是处在差不多这样的环境里。唉。又偶然翻到帽子姐写的一篇被删的回答

人类政治行为的非理性因素开始增加,全球化带来了生产力的大发展,生产力的进步让人类有更多的闲暇去关注那些基本利益之外的东西,而这些东西通过层层递进,最终进入政治议程中,成为引发冲突的炸药桶。实际上,目前人类社会的一个关键趋势是,纯粹利益关系在政治议程中的位置正在靠边站,完全基于理性的利益取舍在日益边缘化,这也是为啥各国的决策形成过程都在排斥纯粹技术官僚和专业学界参与的原因--不是他们的观点不对,而是因为他们已经不合时宜了,属于活在上上上一个版本的活化石。所谓的“民粹化”,本质上就是这么一回事,不是老学院派们错了,而是环境变了。总有人想象着政治决策是一个冷血无情精巧细密环环相扣如机械手表般的冷酷机器和真空球形理性机。并不是,那种理性机器只存在于你们的想象中,实际的决策形成过程中,拍脑袋,糊弄事,追涨杀跌,应激反应,走一步看一步,三个鸡蛋上跳舞和几个蠢事中选一个不那么蠢的才是常态。
这也是为啥我们现在越来越感到世界各国政府部门的草台班子化现象越来越严重的原因一-其实一直都是草台班子,只是以前信息不发达,大家不了解。有一些基于神秘感形成的不切实际的想象,现在只不过是信息发达了,原形毕露了而已。实际上这种对利益的界定和判断发生根本改变的情况,在人类历史上已经不是第一次了,当初天主教和东正教能为了吃死面饼还是发面饼的问题打的狗跳,是上帝和耶稣是不是一体能搞出人命官司和宗教战争,凯撒和庞贝能为了是否直接会晤而爆发战争,印加人为了神像的形制而把敌人卖为奴隶,中国的诸侯把戴什么帽子穿什么衣服屋子里用什么装饰作为发起征讨的理由

我有个强烈的感受,人类的精神世界从低到高的追求分为三个阶段:

  1. 死亡
  2. 饱足
  3. 淫欲

我觉得人所有的理性基本盘都只存在于 死亡 和 饱足 之间。把生死置之度外,和吃饱了撑的再往后的事情纯粹都是情绪驱动的。学校的设立是所谓的「传道、授业、解惑」职能都是基于这个区间。

  • 在个体或者民族生存受到威胁的时候,任何智识上的远见都被珍惜和推崇;
  • 在生产力不发达的饥饿时代,获得一门手艺是受尊敬的。

以前看过《Freaks and Geeks》和 《Skins》,自认为年轻人面对的根本矛盾是,现代社会是把人的生命的意义无限贬低的。因为社会福利能轻易达到 饱足 的水平,但是又没有什么值得托付生命的事业。所以年轻人只能拿着两头的极端感性去挥霍。要么就如同《Mad Max》里把命豁出去只求 "Witness me",要么就是省吃俭用只求博得同类或者异性的一笑。作为不知所措的父母和保守人士,只能怪罪「社会风气」问题,「网瘾」问题,「短视频和游戏害人」论大行其道。

回归到学校和课堂本身,我认为现代 k12 教育是非常不值得的。开个地图炮:

  1. 初中以上母语教育都是无病呻吟
  2. 初等数学上消耗了太多的不必要时间和毫无实际作用解题技巧
  3. 外语「语法-翻译法」非常不适合未成年人
  4. 物理化学地理 属于煤铁工业革命时代的遗留产物。对应专业路线生化环材压根无法应对几百万毕业生规模
  5. 文史哲最好的出路是当师爷,同样也无用武之地

如果说学校是象牙塔,那么干脆把温室里的花朵浇灌到底。应该极大加大各学科的难度和深度。让青春期无从安放的基因去耗在学科理论上去。如果智力不行,那么学校应该提供比武和口才,让竞技体育、辩经和社交带来的ranking代替打闹。

另外,再开个地图炮,强调「父母」在教育角色重要性的老师,是对不起这碗饭的。什么样的父母能提供以身作则的榜样和循循善诱的课程辅导?脱产的、有资产收入的有教育经验的贵族才行。靠劳动吃饭的双亲几乎不可能当好这个角色,要么牺牲一个全职妈妈,要么父母本身就在从事教培相关的职业。当然也有少数能事业+家庭+育儿全能对付的,我更喜欢称之为时间管理大师。既然社会分工出来了老师和学校,那么孩子理所应当回到家庭和社区就应该只玩耍。是不是有一点马督工社会化扶养的味道了,只是我很反感这个名字。叫社区扶养可能会更好。因为人类的娃自古以来都是跟别的娃一起一边劳动一边学习的,而不是现在这样单家独户的关起门来高成本扶养。

Posted

stdin