从KDE切换到Gnome

在新单位中,经常要用到MysqlBench,这个软件的密码存储使用的是gnome-keyring,而且必须使用企业微信这种软件,例如deepin-wxwork,这个软件依赖于gnome-settings-daemon。然而我使用的是KDE桌面系统,有轻微洁癖的我很难接受Gnome和KDE共存于系统,在加上KDE有点审美疲劳,就尝试把我的Manjaro KDE换为Gnome桌面。

查阅了一些网上资料后,发现其实也很简单,至少比重新安装要简单很多。

首先要进入单用户模式,你可以在网上搜索这个词,有很多的教程,其实就是在grub启动内核那段代码后加上single字符串即可在启动的时候直接进入命令行而不启动X11图形界面。

然后要卸载KDE的一个组件,不然会和Gnome冲突

pacman -Rcns manjaro-kde-settings

接下来安装Gnome所有组件,我这里是安装了全部

pacman -S gnome gnome-extra gdm manjaro-gnome-assets manjaro-gdm-theme manjaro-settings-manager 

安装完毕后,先把KDE的登录服务sddm替换为Gnome的gdm

systemctl disable sddm -f
systemctl enable gdm.service -f

最后卸载KDE所有组件即可

pacman …
➟ 查看全文

为原版Openwrt安装SSR-plus插件

之前文章提到过,我使用恩山lean大神的固件,主要是看中了他固件中的luci-app-ssr-plus这个插件,但是由于自己编译的固件稳定性上总是差点意思,不得已换回了官方原版openwrt,随之科学上网的插件也换成了shadowsocks-libev,这个插件是非常优秀的,但还是存在几个我非常介意的问题:

  1. ss的特征貌似已经能被GFW识别,国庆前我的三台私人服务器就全挂了,全面换成v2ray是迫在眉睫,但是该插件只支持原版ss
  2. 该插件的地址只能是IP地址,不支持域名,所以对于justmysocks这样被封后自动动换IP的服务就非常麻烦

v2ray官方没有提供我路由器架构的二进制文件,当然,openwrt就是以插件多闻名,其实可选的v2ray方案也很多,比如第三方固件openwrt-v2ray就提供了我需要的文件,再配合luci-app-v2ray也可以搭建出来,不过这套配置我是试过的,说实话配置起来比较复杂,DNS的解析转发、ChinaList、GFWList等功能也都需要自己来,所以我的第一选择还是luci-app-ssr-plus

在原版openwrt上使用这个插件有两种方法

  1. 编译出适合架构的程序及依赖程序的ipk文件
  2. 在原版系统中加入插件然后整体编译出一个固件刷入

我使用的是第一种方案,第二种方案没有尝试呢,有时间的话试过之后再来分享,下面正式开始。

编译插件

注意:编译过程中必须全程全局科学上网,否则某些package下载不下来,有非常大的概率编译出错

  1. 首先要把lean的整套源码从github克隆下来,然后进入该目录
git …
➟ 查看全文

从lean大神的LEDE系统刷回原版Openwrt

自从知道恩山lean大神开源的LEDE系统,一直沉迷于它的方便,自己想要什么就编译什么,比如他自己开发的adbyby和ssr-plus插件,但是使用了一段时间以后,就发现某些软件的兼容性有问题,不定时重启且重启后无法联网,无奈只能选择刷回原版,但是刷回的过程非常艰辛,今天把握成功刷回的过程记录下来分享给大家。如下图,这是我路由器的型号和架构。

pic1

我从openwrt的官网下载了几乎所有我能下载到的固件,不论是稳定版还是开发版。(中间混杂着一个newifi3的固件请无视)

pic2

任何一个固件使用luci自带的刷写页面都会提示“不支持所上传的映像文件格式,请选择适合当前平台的通用映像文件”。这就让我很郁闷,我也是刷过上百次原版固件的人了,怎么这次就不行了呢?

pic3

我查阅了openwrt官网几乎所有的教程,比如这个这个,在里面学到从命令行使用sysupgrade刷回,但也是提示各种各样的错误,见下面的代码,我甚至已经买好USB-TTL线准备拆机救砖了。

# sysupgrade -F -n -v -T /tmp/FW_WRT1900ACS_1.0.3.187766_prod.img 
Image metadata not found
Image check 'fwtool_check_image' …
➟ 查看全文

微博图床禁止外链?不存在的!

微博图床使用的是最基本的限制第三方引用策略,这个问题倒是很好解决,

编辑pelicanthemes/你的主题/templates/base.html,在两个<head>标签之间插入

<meta name="referrer" content="no-referrer" />

这样就禁止网页的引用信息,从而让微博无法拿到这个字段,但目前已知的问题是某些流量统计、方可追踪的脚本可能无法正常运行。

微博此举也可能只是警告一下,之后会不会再次加强限制不得而知,所以上上策还是赶紧备份图片,迁移到一个便宜又靠谱的图床去。

参考

  1. 报!微博图床挂了 ??
➟ 查看全文

使用Numba为Python提速10+倍

前一阵写了一个获取股票数据的程序,准备玩玩预测,在添加指标时,有一个指标我是这么定义的

指标名称:当前位置

描述:当天收盘价在过去300天内的位置百分比

算法:(当前收盘价 - 过去300天内最低价的最小值) / (过去300天内最高价的最大值- 过去300天内最低价的最小值 )

按说这么容易的一个指标,一个Pandas rolling函数就搞定了,但是我为什么没选择rolling函数?原因如下:

  1. rolling函数只能操作一列数据,比如只能在close这一列应用函数,而无法同时处理三列(low,high,close)。

  2. rolling函数会使你的数据减少window-1个天数,类似于MA指标,但是MA我最大只用到60日线,而这个window要被设置为300天,为了这么一个指标平白损失299个数据我觉得不值得。

综上,所以我决定手撸一个方法,修改一点规则作为变通

如果当前日之前的数据个数不足window个,那么就取[0,T]这段时间

数据如下,这个指标其实只用到了三列,这里用了上证指数作为例子,数据都存储为DataFrame格式。

from read_data import ReadData

TIME_STEP = 300
index_day = ReadData.index_day …
➟ 查看全文