碗莲种植日志
隔壁宿舍养了一缸鱼,虽然到现在为止都还没有鱼,完全是在培育水草、荷叶之类的布景,
但看起来也相当有趣,令人期待。很自然的,我也萌发了种点啥的想法,就下单了淘宝9块的碗莲,一共收到了32颗莲子。
04-22 第二天
刚到的这几天,莲子泡的水会严重变色,变成丑陋的土黄色。但是仅仅过了两天,就有6个发芽了,真是没白给他们晒太阳。
拍一下各个发芽的莲子的样子:
对抗 Intel MKL ICC 的黑魔法防御术
对抗 Intel MKL ICC 的黑魔法防御术
MKL 和 ICC 可谓是 Intel 的两大黑魔法,又神秘又难用,但确实快。这两年来 Intel 把黑魔法都收归到 OneAPI 旗下,
也做了一些简化安装、使用的操作,于是就整理了一下目前的使用方法。
安装
从 Base Toolkit 官方下载页
可以下载包含 MKL 和 ICC、ICX(ICC 的 Clang 版)。这边推荐用 offline 安装方式,下载速度“高达” 1MB/s,比 apt 的 500KB/s 快了很多(
2022 开始好像已经不再提供 icc 了,只有 icx。
本地安装的时候,终端窗口要开大点,不然会报错说无法设置为 CLI 模式云云。
默认会安装到 /opt/intel 路径下。
使用(2022 以前版本)
个人目前的工作流是 vscode + cmake,这应该也是比较常见的工作流,故以下介绍这一工作流的使用方法。
vscode 上目前有一个 Intel 官方的 OneAPI 环境配置插件(尽管没什么人用),可以单独为 vscode 配置环境。
不过作为服务器管理来说,肯定不能要求所有人都使 ...
在全新 ThinkPad X13 Yoga 上配置 Ubuntu
Bios 调整
进入 Bios 方法:开机时择机按下 Enter 键,出现菜单后根据指示按下 F1。
这台笔记本非常奇怪地把 Fn 键放在了最左下角,而 Ctrl 则屈居其右。
好在工程师也觉得这很奇怪,因此在 Bios 中预设了交换两者位置的选项:Config->Keyboard->Fn and Ctrl Key swap。
按照惯例,再把功能键关闭(也就是按下 Fn+F1 才能关闭音量云云):Config->Keyboard->F1-F12 as Primary Function。
如果要像我一样用 Ventoy 等对安全启动支持不太好的方式安装系统的话,可以提前关闭 Secure Boot:Security->Secure Boot。安装完后可以重新开启,并不影响系统正常使用。
安装 Ubuntu
本次选用 Ubuntu 20.04.2 LTS。
考虑到日常使用,因此选择了支持 deepin-wine较好的版本。诸如 21.04 等版本目前尚有微信无法打开等问题。
但由于 ThinkPad X13 Yoga Gen2 使用了 i7-1165G7 ...
科研工具
Zotero
茉莉花
l0o0/jasminum
论文参考文献导出
这个 api 可以很方便地把一篇 pdf 中的参考文献导出为 bibtex:
curl -X POST -F "reference_format=bibtex" -F "file=@path/to/file.pdf;type=application/pdf" https://ref.scholarcy.com/api/references/download
此外还可以使用需要注册的网站 scopus
draw.io
现已更名 diagrams.net:官网
Ubuntu上可以在snap下载:sudo snap install drawio
还是别用 snap 版本了,没法读取挂载的硬盘。
如果要导出为裁剪好的 pdf,则可以:drawio file.drawio --crop -x -o file.pdf
安装版本有各种问题,譬如数学排版下的pdf裁剪问题,数学排版下的svg导出问题,建议直接网页版。
ISBN 转 bibtex
这个网站可以直接把doi、ISBN或者链 ...
Nintendo Switch 使用指北
Nintendo Switch 使用指北
终于,模拟器玩家还是入正了。
TV 模式充电器
由于入手的是港版,那个硕大的充电器实在是不能接受。自然就掏出了雪藏多年的倍思 65W 氮化镓充电器。
不过,switch 的 TV 模式 仅能使用 15V * 2.6A = 39W 的 PD 2.0 模式,这导致氮化镓充电器和底座有时候会鬼畜,
每次重连充电线都是抽奖。。具体充电头评测请见 充电头网的专业测试。
5GHz WiFi
switch 很顶的只支持 36-48 信道的 5GHz WiFi,所以导致有些 5GHz WiFi 根本搜不到。
网络设置
switch 在国内常常难以联机,因此需要进行一些设置。
http 代理
就跟平常的一样,没什么可说的
DNS
http 代理只能解决下载速度问题,而 联机 则最好要修改 DNS。网上有很多 DNS 推荐,我一般就用 Cloudflare 的 1.1.1.1
NAT 类型
其实我也不知道这有什么用,但是似乎各类加速器都推荐把 NAT 类型搞到 A。也有人说 NAT A和B都够用了,尚不知是否正确。
要把 NAT 类型 搞到 A 其实 ...
LDPC笔记
LDPC
LDPC 码的基本原理 | 带你读《5G-NR信道编码》之七
LDPC相对于 turbo 码的优势就在于
没有低权重码字:码字的hamming距得以增大,获得更小的误码率
低复杂度的交互式解码:使用简单的校验 网格
ldpc码可以是系统码也可以是非系统码,关键看你是如何编码的。换句话说,同样的校验矩阵可以用作系统码也可以用作非系统码。这主要根据 G 矩阵的产生方式。
构造 LDPC
LDPC 码的校验阵为稀疏矩阵 A,即 0 的数量远大于 1。
通常用 (n,tc,tr)(n, t_c, t_r)(n,tc,tr) 来描述一个 LDPC 码,其中 nnn 为分组长度,tct_ctc 为各列码重,trt_rtr 为各行码重,且 tr>tct_r>t_ctr>tc。
有 r=1−tctrr=1-\frac{t_c}{t_r}r=1−trtc
还需检验有效性:令 ρ\rhoρ 代表 A 中 1 的密度,则可得 tc=ρ(n−k),tr=ρnt_c=\rho(n-k), t_r=\rho ntc=ρ(n−k),tr=ρn,其中 n - ...
把NUC变成NAS
把 NUC 变成 NAS
前言
笔者先前一直使用的是铁威马家的F2-220,说实话这货性价比不错,¥1300的价格,x86架构的J1800,并且铁威马的系统和服务都挺到位,一步步看着 TOS 系统逐渐完善起来感觉还是很棒的。
不过,J1800 的性能实在是太过羸弱,备份点文件就会轻松拉满CPU占用。而且由于学生党的笔者需要频繁在宿舍和家里往返,这个体积不小的机器,说不带吧,用不了各种内网服务实在是难受;说带吧,不仅带着麻烦,还怕颠坏了硬盘。而20年突如其来的疫情让我与 F2-220 分隔半年,更让我感受到了便携化 NAS 的必要性。所以就决定要换个轻巧的 NAS。
硬件选择
然而新NAS的选择却十分棘手,因为通常来看,便携性和安全性是势不两立的存在。当时笔者共有以下几个选项:
有3.5硬盘位的itx主机
因为itx主机本身就不可能达到迷你主机那样的轻薄,因此索性让主机内部装载硬盘会比较合理。这样也就相当于纯粹提升了NAS性能,而完全舍弃了便携性提升。不过可能可以选择ECC内存,而且电源也很可靠,所以安全性应该是最高的。
性能:★★★
便携:☆☆☆
安全:★★★
价格:> ...
Flutter开坑笔记
Flutter 开坑笔记
安装
跟着官方教程走就行
务必安装 Android Studio!不然就是自己找麻烦。
Ubuntu
系统设置里不走代理的加上 127.0.0.1,不然无法调试
遇到android license status unknown则运行flutter doctor --android-licenses;
注意:截至 2021-01-03 flutter doctor 尚不支持 Java11,须安装旧版本;而编译代码需要 Java11 及以上的版本。。吐了
对于 Ubuntu:
sudo apt install openjdk-8-jre openjdk-11-jdksudo update-alternatives --config java
然后重启终端!(之前一直没重启终端卡了好久)
若提示找不到 sdkmanager 则在 Android Studio 里安装 Android SDK Command-line Tools
Windows
要设置三个环境变量:
ANDROID_SDK_ROOT
FLUTTER_STORAGE_BASE_URL
PUB_ ...
算法概论笔记
算法概论
序言
时间复杂度
常数项可忽略
当 a > b 时,nan^ana 支配 nbn^bnb
任何指数项支配任何多项式项
任何多项式项支配对数项:n 支配 (logn)3(logn)^3(logn)3
e12lnne^{\frac{1}{2}\ln{n}}e21lnn 比 5lnn5^{\ln{n}}5lnn 小
一个事实:在大 Θ\ThetaΘ 符号意义下,当几何级数(ckc^kck)严格递减(c<1)时,几何级数的可以简化为首项;当级数严格递增(c>1)时,几何级数的和可以简化为末项;当级数保持不变时(c为1),几何级数的和可以简化为项数。
复杂度分析小窍门
若两段算法分别有复杂度T1(n)=O(f1(n))T_1(n)=O(f_1(n))T1(n)=O(f1(n))和T2(n)=O(f2(n))T_2(n)=O(f_2(n))T2(n)=O(f2(n)),则
T1(n)+T2(n)=max(O(f1(n)),O(f2(n)))T_1(n)+T_2(n)=max(O(f_1(n)), O(f_2(n)))T1(n)+T2(n ...
神经网络学习笔记
神经网络学习笔记
基础
外文缩写
SGD:stochastic gradient descent,随机梯度下降
常见概念
l1l_1l1 norm:1-范数,∥X∥1=∑i=1n∣xi∣\|X\|_1=\sum^n_{i=1}|x_i|∥X∥1=∑i=1n∣xi∣
l2l_2l2 norm:2-范数,∥X∥2=∑i=1n∣xi∣2=XHX\|X\|_2=\sqrt{\sum^n_{i=1}|x_i|^2}=\sqrt{X^HX}∥X∥2=∑i=1n∣xi∣2=XHX
简单的单层感知机
模型:yj=f(∑iwixi−θj)y_j=f(\sum_iw_ix_i-\theta_j)yj=f(∑iwixi−θj),fff 为激活函数,www 为权重,xxx 为输入,θ\thetaθ 为阈值,yyy 为输出
学习规则:Δwi=η(y−y^)xi\Delta{w_i}=\eta(y-\hat{y})x_iΔwi=η(y−y^)xi,y^\hat{y}y^ 为当前输出,η\etaη 为学习率(一般极小)
算了,自己看西瓜书 P101 5.3 ...