Category: 不谈技术
Watch Animes
观 Cyberpunk Edgerunner
“大卫的传说会激励后来者继续反抗吧,会作为一个永远的影子不停地揭开现实光芒的不一致性吧”,我们似乎下意识都会产生这种悲剧中的乐观精神,但这其实更多是一种终将被俘获的自我感动。source
Diary Excerpt (episode 2)
这是日记摘录的续。
安全局的人请回去。好奇的路人请进。
冥想:a fantasy
穿越回了古代,见到了某位大人。
“一个时代当然有一个时代的方法和技术”,他说。
“不管什么时代,无论是你的人工智能的时代,还是我这群雄并起的时代——不管是什么时代,都要有自己的立场,不能轻易地被动摇。”
Diary Excerpt
摘自2020-2021年日记中的话。有些标题是另起的,有些则是原标题。
安全局的人请回去。好奇的路人请进。
理解与生死
不要尝试让别人理解你,这是天方夜谭。但千万不要让别人误解你,这是生死之境。
未来的领导者?
此文为整理草稿箱时发现的半成品。然而并没有按照当时的思路写完的必要了,因此我补充了另一个结尾。
选读阮一峰《未来的幸存者》,有感,遂作此文,整理一下思路。
丢不掉的过去,以及从今后?
今年就二十五周岁了。人们常说的各个年龄的社会责任,我隐隐约约的感觉到了。
十七岁,很努力,却没有把劲花在刀刃上。遇到了那个美丽的姑娘。很固执,知己并不多,而且因为自己的“正义感”与周围显得格格不入。
灯下记五组
隙间
一直想写点什么,一直都在摸鱼,没有写。不知道什么时候意识到的,创作也是需要集中精神,花上一段时间完成的东西。不管有没有读者看,也应该写出值得咀嚼或者思考的文字。(你说的这个读者到底是不是你自己)
决裂
“这都是你的错!”,我拔出剑,“两年前你就不该给我留这一条命!”
帽子遮住了紫大人的脸,我看不到她的表情。
“哦?这一切还不是因为你自己废柴吗?”,紫冷冷的说。
地之色乃黄色
感觉长时间不写点什么,不思考点什么在写下来,就是一种罪过。
我喜欢用隐喻和指代。这个世界就是充满了隐喻和指代。教科书上的定理,公式,看似只有一行,其实有许多变换。人与人之间的交流,话语之间总能体味出字面之外的意味。
好久没有写杂记了
我的硝子在哪里呢?
想到这个问题我就反悔了,或者说觉得很好笑。虽然小学的时候确实某种程度上成为了欺凌者的帮凶,但是……我也是个被欺凌的受害者呢……哎好像有点跑题了。其实我觉得《声之形》讲述的是少男少女们成长为“更好的人”的故事,bully只是其中一条重要的线索吧。
不向神明祈愿,却向妖怪倾诉
紫大人,我不知道你有没有在暗中观察,如果有的话,那请听我说吧。
关于人性,关于自己,关于家庭。想了很多。虽然大概率是这两天休假看的电影触发,但是我并不想在这里讨论关于电影的评价。假期就要结束了,实习、论文,终于还是要正面面对的了。其实我很久没有用长篇文字的形式记录自己的反思了,从高中毕业后,就没有了。
人们常说,要遵循自己的本心。但是自己的本心到底是什么呢?人的本性是懒惰,是能躺着绝不坐着。而我要面对的,是社会,是家庭,最重要的,是我自己。除了不能和“本性”相混淆,大概所谓本心就是做自己的英雄,做自己觉得了不起的事情吧。
到底什么是了不起的事情,有点关于社会和个人的辩证法的味道。我觉得可能是简单又不简单的事情吧。恪守规矩,不被潜规则绊倒,这是说出来的简单。一次又一次的抗争,被挫败,气馁,但是仍心怀不甘,并用其他方式继续着抗争,这是不简单。哎呀本来只是想宣泄一些被电影揪得紧紧的心,不知不觉跑题了呢……
紫大人是大妖怪吧。寿命上远远长于人类,做的事情也不能被人甚至其他妖怪理解。甚至有的时候还要卖出破绽让人击败,对吗?对不起我不应该以人的角度来揣测您的动机……
表面上要做出一副无所谓的样子,暗地里却要想着如何努力,想着不能被周围的人轻易地超过。这是从什么时候开始的事情?是本科吗?得到微不足道的成绩(如果能称得上成绩的话),得到很多次“微不足道的成绩”,便以为自己还很厉害,是这样的吗?一边想着人外有人,一边又有点沾沾自喜——从高中开始就是这样的了吧!
我想起来前女友(叫初恋也行吧)的闺蜜说,她喜欢你是因为她有圣母情结。我曾经看起来很可怜吗?或者说我从来就没有意识到?
萃香、鬼凤凰以及梯度下降
一
如果我有虚影,那一定有两个,一个是着黑袍、佩七星剑的本我,还有一个是来自失乐园的小小的百鬼夜行。
这一切真是混沌。我想以谁的形象出现,我就以他/她的形象出现。甚至我可以让两个形象并肩作战。
鬼族的力量一定会反噬我吧。我想。那么两个形象的决死一战也是不可不免了。剑深深插入她的胸膛,她的脸上却露出了笑容。
“很好。”
原来鬼也是不死的吗?可是她毕竟倒下了。但是我又念叨“鬼可能不会死”。就像凤凰涅槃一样,燃烧殆尽的瞬间获得重生。
但是这凤凰,竟然是鬼凤凰。鬼凤凰,是真正的凤凰吗?或者无数次涅槃后,鬼凤凰竟成为了真正的凤凰吗?
晚间遐思
偶然的某个晚上,回忆起祖父的葬礼。原来我爷爷还在军队里面立过各种四等功?然后突然感到精神上一阵震动,仿佛与什么产生了共鸣一样。
原来某些东西真的是刻在基因深处代代相传的吗?不大不小的四等功,一如我的蓝桥杯和数学竞赛。边缘化了的奖项,无非是渴望获得认同罢了。他人看来是上进心的成分,也许并不单纯吧。怨恨、不甘是催动前进的真正的幕后黑手,可是一旦稍有成就便会松懈下来吗?!
如果遗传是种诅咒,那么变异才是破咒的方法。
新年了啦
目前的形势是暑期如果想去参加第二届幻奏盛宴,那么这学期专利(等?)必须弄出来了啦!
人前人后。还是找不到和姐姐们的共同语言。(算了吧,能让我觉得是能说的上真心话的人,到现在掰着手指头也能数过来吧?)
水土不服的第一周研究生生活……
终于摆脱了“周围的人都在打游戏”的生活。
结果呢!我却忽然不习惯起来了,看着室友天天在实验室忙活(虽然不知道他们忙什么),我却几乎天天在宿舍待着,仿佛我就是最菜的那个。
Category: Linux以及各种捣鼓的笔记
Radicale with Caddy v2
In this article (in Chinese), I discussed installing and using Radicale in termux. However, in most sceneries we are more likely to put radicale behind a web proxy. In this article I take notes on how did I make radicale work with Caddy v2.
If you search “radicale with caddy”, you are more likely to find information about using radicale with Caddy v1. By explicitly searching “radicale with caddy v2” you can fetch meaningful answers as in this post. Though I didn’t find the very post before I worked out the solution myself. T_T
Learn from Linux from Scratch (LFS) (Part 2)
在Part 1中,涉及的知识点主要集中在宿主机上准备构建环境。本篇将记录对应于书中第5章”Constructing a Temporary System”一章的从“Introduction”到“GCC-9.2.0 – Pass 2”有关内容。
Learn from Linux from Scratch (LFS) (Part 1)
Learn from Linux from Scratch (LFS)这个系列的文章是我在阅读Linux from Scratch 9.1过程中的笔记。我用的宿主系统为CentOS 8(运行于VituralBox虚拟机中,VirtualBox虚拟机的Host是Windows 10)。
阴阳师爬塔与迷宫生成算法
最近的阴阳师缘结神活动新增了走迷宫的要素。几百层的迷宫不可能手动绘制吧?于是想到了是不是有迷宫生成算法。
能查到的迷宫生成算法有三种:递归回溯、 随机prim算法、 递归分割。前两种属于“拆墙法”,而递归分割则是“造墙法”。先放一下结论:
SELinux学习笔记
前排提示(2022-08-18):这 post 一直躺在我的草稿箱里面,没有写完,但不发出来又觉得难过
基于规则的安全模型
具体地说,在CentOS和Fedora的默认配置中,SELinux使用的targeted策略只覆盖了有限的(系统)应用程序。用户,特别是在/usr/local和/home目录运行的东西不受targeted约束。设计这样的默认配置显然是为了在易用性和安全性之间取得某种平衡。
使用Radicale建立你的私有日历和联系人同步服务器
换手机了,发现新手机完全不能兼容google play,看log是少一个权限无法申请。不知道是不是google单方面ban了华为,或者华为单方面ban了google。不管怎么样我想要同步我的google账号上的日历和联系人是不可能了。
就在我导出google日历和联系人的时候,我又开始在想那个问题了:数据不在自己的手上,有一天可能就找不回来了。能不能自己搭建一个私有云呢?说到私有云我立刻想到了Nextcloud,但是看到Nextcloud的各种php、数据库还有http服务器依赖之后我觉得太麻烦了——我的需求是日历同步,Nextcloud一套上来过于复杂了,而且不够轻量。
于是我找到了Radicale这个开始于学校作业的项目。这个项目基本上可以在任何能运行Python的地方运行。它支持的CalDAV协议。这种协议的客户端的话,PC上的邮件和日历app基本都支持这个协议,我用的是thunderbird。手机上的话,貌似华为不能直接支持这种协议,得装个DAVx5。
Wired and Wireless connections on the same Windows machine
如果一台装了Windows 7或者Windows 10机器同时连接着有线网和无线网,它会使用哪个接口去访问互联网呢?
如果只是想知道系统的路由,那么使用route print就可以了。但是如果想要强行设置从哪个接口出去呢?这时候可以通过调整**自动跃点计数(Automatic metric)**来实现。
解决Linux关机时音响会发出巨响的问题
如果你上网搜“linux pop sound on shutdown”会发现许多发行版都存在这个问题。我这边的发行版是Fedora,机器是惠普的暗影精灵第一代。
我试了一下,关机或者重启前用将系统静音并不能解决问题,仍然会听到“砰”一声响。
Installing nvidia driver on Fedora 29
Forewords
Installing the nvidia driver on Fedora has been a painful experience for me. If I don’t get it wrong, I have been trying since F26!
I will not touch on bumblebee. I will instead use nvidia-xrun to utilize the driver.
This article serves as a reminder for myself on what did I do to make things work for my Intel/nvidia hybrid laptop. It might hopefully help other people as well.
Notes on setting up a Raspberry Pi as an NAT mode IPv4/IPv6 dual stack wireless access point
The offical document turns out to be a good example of setting up an NAT mode IPv4 only wireless access point. In this post, I will extend the official doc a little bit, by adding the IPv6 stack to the RPi AP. I will also touch on a few lines about enabling 802.11n in hostapd.
GNU nano basics| nano编辑器的使用提示
命令行选项
-m 此选项可激活鼠标,按住shift建即可选择文本。对应nanorc的set mouse
-l 显示行号。对应nanorc的set linenumbers
-E或--tabstospaces 把已有文件中的tab转换为空格。对应nanorc的set tabstospaces
-i或--autoindent 启动自动缩进。对应nanorc的set autoindent
-A或--smarthome启动智能home键。对应nanorc的set smarthome
-$或--softwrap 开启自动折行。对应nanorc的set softwrap
找回Windows 10右键菜单的“在此打开命令窗口”
在Windows 7以及以前的Windows系统上,我们基本上都是手动往注册表里添加键值实现这一目的的。
HKEY_CLASSES_ROOT\Directory\Background\shell\cmd HKEY_CLASSES_ROOT\Directory\shell\cmd
tracert – The Windows counterpart of traceroute
It’s simple, no need to install cygwin or msys to obtain traceroute (I doubt if traceroute would work on Windows). tracert.exe comes with your Windows install:
tracert /?
Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name
Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list (IPv4-only).
-w timeout Wait timeout milliseconds for each reply.
-R Trace round-trip path (IPv6-only).
-S srcaddr Source address to use (IPv6-only).
-4 Force using IPv4.
-6 Force using IPv6.
Linux主机获取校园网的ipv6地址……
这个是迷一样——我在Windows 10上,我的Android手机上,都能获取到global IPv6地址,可是一到我的Fedora Linux就只能获取到fe开头的非global地址……
Windows上通过pip安装Python软件包遭遇“UnicodeDecodeError”的解决
简而言之,如果你通过Windows自带的命令提示符(cmd)启动了pip,并且看到了类似下面的错误提示
in console_to_strreturn s.decode(sys.__stdout__.encoding)UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 33: invalid start byte
多半是因为命令提示符当前使用的代码页不是UTF-8。使用命令chcp,将当前代码页切换成UTF-8即可解决:
Port forwarding (or proxying) on OpenWRT with socat
在校园网环境中可能会有这种需求:我可以获取到公网IPv6而不能获取到公网IPv4,但是我的应用程序只支持IPv4(比如某些游戏),能否把到达我的公网IPv6的数据转发到内网IPv4(forward IPv6 to IPv4)?
用Lighttpd转发V2Ray的WebSocket连接
在开始阅读之前,你可能会对“用Nginx转发V2Ray的WebSocket连接”感兴趣,所以我先把这个链接附在这里:
https://oing9179.github.io/blog/2017/03/v2ray-as-WebSocket-Proxy-behind-Nginx/
老版极路由1s(HC 5661)刷入OpenWRT记录
(UPDATE Mar-17, 2017) 本文的内容适用于OpenWrt DD分支。但对于最近版本的LEDE(LEDE Reboot 17.01.4)事实上也基本适用。
先贴介绍链接
OpenWRT/LEDE
(旧的)OpenWRT DD
关于创建U盘启动盘的一点思考 | Some considerations when creating bootable flash disks
分区表
U盘在出厂时多半会使用MS-DOS格式的分区表,而不是现代硬盘中常见的GPT。我猜可能是因为需要考虑到兼容性?
分区和文件系统
如果你只用Linux,那么你尽管分区,理论上现代的Linux发行版都能将你U盘上的分区识别出来,无论是通过图形用户界面的自动识别还是通过lsblk然后用mount命令挂载。
但是,如果你还用Windows,并且你希望你创建的可启动U盘同时也能正常地当作一个大容量存储器,分区的时候最好注意以下几点:
- 分区表采用MS-DOS格式;
- 作为普通U盘那样存储数据部分的分区,必须是第一个分区,而且必须是主分区;
- 作为数据存储的这个分区应该使用Windows原生支持的文件系统,而且最好是U盘出厂时使用的文件系统(对于32G以内的U盘,一般来说是FAT32);
- 作为可引导的分区,也就是存放U盘操作系统的分区,应该被设为可启动分区。
ssh connect through sock5 proxy
This post provides a straightforward method to connect your ssh client through a local socks5 proxy.
It’s quite simple, if you have a socks5 server listening on your local port, say, 8888:
ssh -l login -p ssh_server_port -o ProxyCommand='nc --proxy-type socks5 --proxy 127.0.0.1:8888 %h %p' ssh_server_host_name
If you are not using nmap’s netcat utility, you may try:
ssh -l login -p ssh_server_port -o ProxyCommand='nc -X 5 -x 127.0.0.1:8888 %h %p' ssh_server_host_name
将v2ray、shadowsocks等设置为局域网中的代理服务器
使用代理服务器上网的时候,不知道大家有没有这样一个困惑:如果整个局域网都需要走代理,能不能只设置某一台机器(设为机器A)连接外网,其他机器连接那台能走外网的机器A呢?
Replacing blueman with blueberry in Fedora 26 Xfce
Maybe the graphical bluetooth management tool blueman is either too complicated or buggy. Anyway, I don’t like it.
在Visual Studio中使用GNU Scientific Library (GSL)
发现一个github仓库实现了这个事情: GNU Scientific Library with CMake build support。
Shadowsocks-rss wiki rescue
These pages are pulled from Google Web cache. Unfortunately these are not everything of the original wiki. If you have the other parts of the wiki that are missing here, don’t hesitate to comment below!
要不要用静态网页呢?
2020-08-23 UPDATE: 如果你看到这些文字,说明你看到的是静态网页
今天看到Linux中国的微信推送介绍静态网页生成工具Hugo。看起来很有意思啊,让我想起自己用Notepad++和Geany写HTML的日子。
现在用的Wordpress,感觉对服务器资源消耗甚是巨大。而且一查服务器日志,各种bot各种扫描。一句话,廉价VPS应付起来不太利索。
不知道有没有时间把博客“静态化”啊。
通过直接执行注销代码注销Dr.com的登陆
之所以有这个想法是因为安卓手机上的WebKit似乎不能正常执行注销按钮的javascript响应函数wc()。或者说,点那个注销按钮根本没反应。
神坑的360安全路由DNS代理
背景:在实验室用网络,发现手机上用DNS66设置的DNS服务器地址如同不起作用一样,Google死活上不去,挂shadowsocks却能上。
极路由 极1s(老版) HC5661 刷入OpenWRT Barrier Breaker 14.07 手记
本文提到的github仓库看起来很久没更新了,许多问题也没有修复,因此**不建议**刷入那个仓库的固件。关于刷入最新版OpenWRT的问题可以看我的这篇文章。
https!
忙了一上午,终于迎来的https!所有http流量都会被重定向到https(除了某些引用站外http的资源没法加密)
Update (2017年6月1日):增加关于配置证书链的内容。
第一篇博客
捣鼓了一下午,用lighttpd和Wordpress搭建了自己的博客。
配置MySQL数据库碰到这个bug:https://bugs.mysql.com/bug.php?id=70451
Category: 只言片语
突然怀古
今天见到一个上古网http://www.cfido.com,90年代的在线杂志读起来真是让人怀旧啊。颇有站在未来看现在的那种感觉。
马化腾开发了腾讯QQ,求伯君开发了WPS,人人都愿意谈论超频,谈论x86指令集,谈论硬件和数字电路,架设自己的FTP服务器,用telnet访问BBS。偶尔也会犯错把自己的设备搞到冒烟。然而今天的用户却连root权限都拿不到(指手机)。中文输入方式曾经有那么多(区位码、二笔、五笔、仓颉…),如今我却只会用一个拼音。而且事实上大多数人只会用拼音。真不知道该说是是时代的进步还是人的退步啊…
苏醒的时候到了
人是互相需要的,尽管互相需要的人未必容易相处。
——现在才意识到这一点,未免太晚了一些。
另外还想着,自己到底为什么要读研究生。最初的想法是摆脱本科双非的噩梦。但糟糕的事情是,我漏了一件事:
关于理想和自身惰性的碎碎念
还是……像以前一样会被看视频的同学“带走”吗?
不专注的话,是没办法成事的。
今天白天就要去实习单位了。真不知道会是什么样子。
另外收到了某制造业巨头的面试邀请。虽然决定去面试,但是我并不真的想去制造业。
如果要说……
如果要说有什么事情在我来北京之前没想到的话,那就是:
北京的空气质量居然这样差!不仅三天两头给你来个全国排名倒数,甚至比东北老工业基地的几个主要城市还要差!
異變的種子
今天算是第一次上英语课,之前因为种种原因老师名单没有我们信息所学硕的名字。
然鹅,说好的7人组呢?结果事实上只有我和另外2个在组队翻译。
算了吧,靠别人都是右倾投降主义,靠自己才是工农武装割据。下次上课做点准备吧~我肯定还是要译2段的吧~干脆用点接近犯规的手段好了。
冷吟閒醉
Windows 10的累积更新始终装不上,然而我前天还在称赞Windows 10的厂商支持比较好。
真是为难啊,Linux不受厂商待见,高性能的驱动很难装上(别看别人了,说你呢nVidia)。支持较好的Windows现在却无法更新。
在北京的第二个学期
面见了导师,算是报道。
导师对没人来研究MIMO很是遗憾的样子,并且补充道,申请的MIMO相关的国家自然科学基金连续2年没获批(2015、2017)。
通往真相的枝葉
“科研要耐得住寂寞”,我认为这句话的提法有问题。首先,如果让你研究你不感兴趣的事情,那当然是痛苦万分、寂寞难耐了;在兴趣的驱使下,无论多么艰深的材料,你都会义无反顾得啃下去。
Category: Research
回复审稿人意见的笔记
题目:我原来的题目是“修改说明”,老师改成了“稿件修稿说明”
排版:
(1) 专家原来提出的问题用粗体字标出,每一组问题-答复之间不空行。(我本来是蓝色字体标出,且每一天意见的回复之后都会空行。)
Pytorch模型训练翻车记录
背景
在Google Colab上进行压缩采样的图像重建模型的训练。已经有了训练好的压缩率是0.20的模型(下文用r0.20之类的记号表示压缩率及其对应的模型)。现在想训练r0.25。觉得从头开始训练很费时间于是就想出了这么个办法
lambda in Python: is it returning multiple values?
To begin with let’s just have look at the old school of lambda in Python.
As we know, lambda x: return x**2 is exactly equivalent to
def squared(x): return x**2
Now look at this
>>> f1 = lambda x,y,z: x+1, y+1, z+1
>>> print(f1(1,1,1))
What will you get on the screen? A tuple of (2, 2, 2)? No. You get an error instead.
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
print(f1(1,1,1))
TypeError: 'tuple' object is not callable</module>
Now that the “returning part” of lambda is covering the contents before comma only, let’s explicitly add the brackets:
Quick note on Python syntax magics
As noted in Python 3 documention, behaviors of +, -, *, etc. can be redefined.
Specially, I would like to take notes on some special yet common methods.
__repr__ method
This method is called when you apply print on the instance. Could be useful when debugging class related problems.
__enter__, __exit__ methods
Those two methods are key components of a context manager. Refer to https://jeffknupp.com/blog/2016/03/07/python-with-context-managers/ to get a sense on how to manage the fragile resouces with context manager.
LaTeX Math Cheat Sheet
LaTeX Cheat Sheet Printable PDF.pdf from https://sites.math.rutgers.edu/~ceu11/Courses/LaTeX%20Cheat%20Sheet%20Printable%20PDF.pdf
Category: 电子
Libraries make easy
Were it not for the exsiting librarys (LiquidCrystal and NewPing), I would spend one more day porting my MCS-51 code on LCD1602 and HY-SR05 to Arduino!
Arduino Timer/Counter
There is no function in Arduino’s library to manipulate the Timer/Counter directly. After some searching on the Internet and reading the datasheet of ATmega 328/P I got some ideas on how to code in arduino’s IDE to talk to the timers.
汇编语言中的机器码跨指令复用现象一瞥
今天头一次反汇编,语言是8051汇编。hex文件是给CT107D开发板用的,功能是播放《八月桂花遍地开》。
因为我手头那块板子捐掉了,所以也没什么办法体会这个是怎么实现的。于是想起了反汇编这么回事……
工具主要用了两样,一样是D52 Disassembler,另一样是Keil uVision调试工具中的反汇编能力。
LCD1602 Driver for MCS-51
基于MCS-51的LCD1602驱动程序。特别实现了定义字模的API(许多资料对此并没有详细描述)。压缩包LCD1602.7z内还包括了取字模工具、参考资料、仿真电路等。






