分类 翻车or坑 下的文章

根据RFC,IPv6有两种地址管理方式,分别是有状态Stateful无状态Stateless。如其名所示,Stateful模式下主机IPv6地址由路由器分配,而Stateless模式下主机IPv6地址根据协议自身计算得出。大概可以猜到的是,Stateful模式下管理较为方便(如DDNS等),而Stateless模式则是减轻了路由器的工作负担(毕竟IPv6地址池那么大一个,记录所有地址还是很消耗资源的)。

OpenWrt默认使用了Stateless的方式管理IPv6下的内网NAT,然而我想知道内网设备中有多少获取到了IPv6地址= = 于是试图网上冲浪找出配置方法。

左摸索右摸索,也不知道是不是关键词用得不对,老半天才在一篇国人折腾IPv6的文章中摸到了个边。注意到文中配置有个未经解释的ra_management参数,搜了一下发现OpenWrt官网上给出了极为惨淡的解释:

ra_management    integer    1        RA management mode
                                     0: no M-Flag but A-Flag
                                     1: both M and A 
                                     2: M but not A

这里提到了AM两个标志位,而这两个标志位正是DHCPv6中用于控制StatefulStateless模式的标志。

Flag Type Name Message Manual SLAAC DHCPv6
A Autonomous Prefix Information No Yes Maybe
M Managed ICMPv6 134 RA No No Yes
O Other ICMPv6 134 RA No Maybe Yes
L On-Link Prefix Information No Yes Yes

也就是说,理论上,将ra_management设置为2的话就可以强制启用Stateful模式管理IPv6地址。有待试验。

参考: https://blogs.infoblox.com/ipv6-coe/the-ipv6-prefix-information-option-or-fun-with-the-l-flag/

在实验室的内网搭了一个GitLab,结果没想到,没有经过任何配置的邮件服务居然是正常运行的。不过发现有一个问题是,由于是内网搭建,服务器显然是没有域名可言的,所以邮件发出去的时候顺便把内网地址也暴露出去了。这两天抽了点时间看一下,发现GitLab官方对这一块没有文档介绍,Email部分的似乎没有提到这个。

之前以为是改/etc/gitlab/gitlab.rb,然后sudo gitlab-ctl reconfigure,后面发现并不行,就一直没管了。

直到某次实验室学弟说我reconfigure又把clone那里显示的域名弄乱了,并给了我一个配置教程之后,才发现似乎是在另一个地方可以完成配置。

要修改的是/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml文件,这是每次reconfigure完GitLab后自动生成的配置文件。修改文件中email_from键值对的内容即可,对应的就是收信时显示的发信人地址;而修改host则可以更改网页中显示git clone时的仓库地址。然后sudo gitlab-ctl restart使得配置生效即可。

顺便提醒,每次reconfigure完之后,gitlab.yml的自定义内容会被重置,需要手动重新配置。

参见 https://www.cnblogs.com/miaocbin/p/13038601.html

最近在研究编码参数的时候,随手点开了某番剧的MediaInfo作为参考。结果一看,虽然MediaInfo上显示是AVC(H.264的一种)编码,但是居然没有编码参数Encode Settings

然后很是疑惑,遂到网上寻找隐藏H.264编码参数的方法。H.264的没找到,不过H.265的好像倒是有。

http://forum.doom9.org/archive/index.php/t-171681.html
这里有一群外国人讨论过这个问题,从中能够获取的信息之一是,x264编码器的开发者们本意似乎是希望编码参数跟随视频一同流传的,从某种程度上还能方便大家相互学习参数的调整。也就是说,AVC编码的视频本身没有携带编码参数是一种不正常的现象(视频编码程序本身并没有提供这种功能)。

然后仔细对比了一下MediaInfo里的参数,也没有发现什么猫腻。

不过后来用WinHex查看了一下文件头,发现这个文件的类型是ftypmp42,和常见的自带编码参数的ftypavc1有区别。说不定是因为数据流版本太老,所以不支持记录编码参数?(问题是,上个世纪的DV编码格式都能记录编码参数的啊)

难道是,失传已久的S级记忆消除秘术?

坑+1

11区的艺术创作者每次都能整出些新活= =

在「変好き」作品第一集的ED后,放出了这么一个玩意:

goniometer

真是炫酷.jpg

话说音频产业的美术还真是有点东西,不论是上次学到的那个Spectrogram频谱图,还是这次见到的这个。

在某度上搜索一番,竟然还没有发现任何人提到过这个图形,不论是中文还是英文。在某404网站上操作一番之后,得出结论:这玩意的名字叫做Goniometer。中文译名为测角仪,但是回到某度上来搜的话,还真就只有一点点测角仪相关的页面= =

简要叙述的话,这个图像表达的是双声道间的波性一致性。以垂直线为Mono,也就是单声道效果,顺时针45°为右声道R,逆时针45°为左声道L,(水平的+S-S是啥意思我还不清楚),就可以作出一幅声道测角图。很显然,将LR作为这个二维平面的笛卡尔坐标系的xy两个坐标轴的话,按照实时信号进行散点作图的话,可以发现若是左右声道信号强弱、相位完全一致的话,只会在Mono线上出现点,也就是传统的单声道效果;反之可能出现(椭)圆形的区域,暗示着在这些时间点左右声道的信号是不一致的。就上图而言的话,在实际使用耳机进行收听后,可以感觉出当时的音源更加偏向于左耳方向。

在Reaper里,可以找到在FX菜单的JS列表中,有一个Goniometer插件。将上述番剧的对应时间段的音频裁剪并放入Reaper中播放,观察可以发现两者在同一时刻的图像是基本一致的。

至于作图原理,我现在也不清楚。。等有时间了来学习一下,自己写一个玩玩吧(坑+1)

是的,铁头娃又来了

平台:CentOS 7.7

sudo yum groupinstall "Development Tools"

有的Gemfile会影响某些gem包的行为,比如在不同目录下执行同一命令,发现包版本不同。 随着gem的版本,会有固定的默认功能包(好像也叫gem?)版本,更改方法是改变gem版本。

装postgresql的时候要记得装postgresql-contrib,有用到的extension在这个包里提供。 gem和go有的时候记得换源,不然速度太慢。

  1. git要升级
  2. ruby要升级,而且最好是2.5.3,版本太高一堆警告
  3. postgresql > 9.4
mkdir -p /var/cache/swap
cd /var/cache/swap
dd if=/dev/zero of=myswap bs=1M count=2048
mkswap myswap
chmod 600 myswap
# 在/etc/fstab中添加一行:/var/cache/swap/myswap swap swap defaults 0 0

yum update -y
# 一键安装gcc等开发工具
yum groupinstall "Development Tools" -y

# nodejs 10源
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
# yarn源
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum install yarn node -y

# 更新ruby
wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.7.tar.gz
tar xzf ruby-2.5.7.tar.gz
cd ruby-2.5.7
./configure --enable-shared --prefix=/usr # 直接覆盖老版本
make -j2 && make install # 因为是2核vcpu

# 更新git
wget https://mirrors.kernel.org/pub/software/scm/git/git-2.21.1.tar.gz
tar xzf git-2.21.1.tar.gz
cd git-2.21.1
./configure --prefix=/usr # 直接覆盖老版本
make -j2 && make install

# 安装postgresql
# 可以到这里自定义rpm源:https://www.postgresql.org/download/linux/redhat/,也可以下载源码自行编译
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
yum install postgresql12 -y

如果postgresql没有正常工作,可能是没有自动初始化,参考这里:https://www.postgresql.org/docs/12/install-short.html

然后继续

# 创建gitlab用户
adduser git -d /home/git

# clone项目,选择自定义分支
su git
cd ~
git clone https://gitlab.com/gitlab-org/gitlab-foss.git gitlab
git checkout 11-11-stable-patch-2

# 接下来记得参考*对应分支*的安装文档进行操作
# 比如本分支:https://gitlab.com/gitlab-org/gitlab-foss/-/blob/11-11-stable-patch-2/doc/install/installation.md