迅雷离线助手的设置齿轮不见了

迅雷离线助手的设置齿轮不见了,怎么设置 jsonrpc?

开发者工具 -> Application -> Storage -> Local Storage -> http://dynamic.cloud.vip.xunlei.com

key value 说明
TLE_aria2_jsonrpc <你的 jsonrpc 地址> jsonrpc 地址

via

macOS Sierra 上的 Karabiner 替代:Control_L + hjkl 组合方向键

2017-12-02: Karabiner-Elements-11.3.0 已经支持在 macOS High Sierra (ver 11.13.1) 系统上实现 Vi Style Arrows——安装 Karabiner-Elements 后,在这个页面上找到「Vi Style Arrows」,点击右侧的 Import 按钮将配置导入并 enable 即可。

作为 vim + HHKB 键盘 + Karabiner 的重度依赖患者,某天晚上升级到 macOS Sierra 后突然傻眼了,Control_L + hjkl 作为方向键的设置全部失效了……

接下来的几天强迫自己重新适应 MBP 自带键盘、强迫自己适应 HHKB 默认的方向组合键,都觉得丑陋不堪,已然唯有 Control_L + hjkl 才是正确打开方式,于是踏上了寻找 Karabiner 临时替代者的不归路,直到刚才看到这个:[KeyMove] Control_L+hjkl to Left/Down/Up/Right #103

这里提到了一款收费软件:Keyboard Maestro,按照 seangaffney 的设置就可以轻松实现!不管了,这是目前为止找到体验最完美的替代软件了——当然,我的需求只是 Control_L + hjkl 实现方向键。

希望用到 Trial 结束前,the Next Generation Karabiner 可以完工哈,虽然感觉可能性不大,给作者捐了 $5,加油……

ps. BetterTouchTool、ControllerMate 都试过,前者貌似没法实现 key repeat,后者折腾半天不知道究竟如何正确设置组合键,遂都放弃了……

爱词霸 Alfred Workflow

@author  lzw.whu@gmail.com
@version 20160908:03

安装

下载

使用

ci <word>

iciba.alfredworkflow

ci > <word>

iciba.alfredworkflow

更新历史

版本 更新内容
20160908:03 支持中文
20160908:02 第一次输入获取suggest,回车后查词
20160907:01 初始版本

雪球股票实时价格查询 Alfred Workflow

@author  lzw.whu@gmail.com
@version 20160907:01

安装

下载

使用

xueqiu.alfredworkflow

12306 火车票余票查询 Alfred Workflow

@author  lzw.whu@gmail.com
@version 20160906:01

安装

下载

使用

12306.alfredworkflow

感谢

Alfred Workflow 北京链家二手房成交价格查询

北京链家成交价格查询 Alfred.Workflow

@author  lzw.whu@gmail.com
@version 20160906.01

安装

下载

使用

lj <小区名称>

lianjia.alfredworkflow

NumPy 矩阵乘法

先上结论:NumPy 中对 array 使用 multiply()* 操作符并不是矩阵乘法,正确的用法是 dot()matmul(),或者对 matrix 使用 *

根据 numpy.multiply 文档说明,multiply() 是 element-wise 的乘法,换句话说,是把两个入参数组中对应元素进行相乘。

举个栗子:

>>> from numpy import *
>>> a = [1, 2, 3, 4, 5, 6]
>>> b = [6, 5, 4, 3, 2, 1]
>>> ma = reshape(a, (2, 3))
>>> mb = reshape(b, (3, 2))
>>> ma
array([[1, 2, 3],
       [4, 5, 6]])
>>> mb
array([[6, 5],
       [4, 3],
       [2, 1]])
>>> multiply(ma, mb)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: operands could not be broadcast together with shapes (2,3) (3,2)
>>> c = arange(6).reshape(2,3)
>>> d = arange(6).reshape(2,3)
>>> c
array([[0, 1, 2],
       [3, 4, 5]])
>>> d
array([[0, 1, 2],
       [3, 4, 5]])
>>> c * d
array([[ 0,  1,  4],
       [ 9, 16, 25]])

在上面的代码中,ma 是 2×3 矩阵,mb 是 3×2 矩阵,预期二者相乘的结果应该是一个 2×2 矩阵,但实际运行会报异常。在 multiply() 看来,mamb 只是两个形状不同的二维数组,因此无法把对应的元素进行相乘。c * d 符合 element-wise 相乘的结果。

正确的用法是什么呢?

  1. numpy.dot,对于二维数组,dot() 等价于矩阵乘法
    >>> ma.dot(mb)
    array([[20, 14],
        [56, 41]])
    
  2. numpy.matmul,从 NumPy 1.10.0 开始被引入
    >>> matmul(ma,mb)
    array([[20, 14],
        [56, 41]])
    
  3. array 类型转换为 matrix 再使用 * 操作符
    >>> np.asmatrix(c) * np.asmatrix(d.reshape(3,2))
    matrix([[10, 13],
         [28, 40]])
    >>> np.asmatrix(c) * np.asmatrix(d.T)
    matrix([[ 5, 14],
         [14, 50]])
    >>> np.asmatrix(c) * np.asmatrix(d.T)
    matrix([[ 5, 14],
         [14, 50]])
    >>> np.mat(c) * np.mat(d).T
    matrix([[ 5, 14],
         [14, 50]])
    >>> np.mat(c) * np.mat(d.T)
    matrix([[ 5, 14],
         [14, 50]])
    
  4. python3 的 @ 操作符,参考这里,由于不用 python3,没试过

0

从 0 开始,认真学习一点东西,就像过去那样。

Go 语言实现「外网 IP 查询」服务

外网 IP 查询服务——这应该是我写过最简单、但又有实际用处的 TCP 服务了。

流程

  1. 服务启动,监听本地 6666 端口
  2. 接受连接,返回客户端 IP
  3. 断开连接

用 Go 语言实现,加上空行还不到 30 行代码,请自行前往 GitHub 获取

部署

通过 go build 命令编译,在 macOS 上编译 Linux 版本需要指定 GOOS 参数:

GOOS=linux go build main.go

生成的 main 可以直接运行了:

./main

或者更高级点,通过 supervisor 配置成服务,使用 supervisorctl 控制。

使用

telnet 连接部署机器的 6666 端口即可,如 migege.com:6666

telnet migege.com 6666
Trying 120.27.122.8...
Connected to migege.com.
Escape character is '^]'.
1xx.2xx.2xx.1xxConnection closed by foreign host.

再也不用担心 ns1.dnspod.net 没有响应了。

树莓派使用 DNSPod 做动态域名解析

今天刚入手树莓派 3,有种相见恨晚的感觉,接下来又有得折腾了。

ZHETENG #1: 动态 DNS

我相信虽然树莓派足够轻便,但你也不会愿意总把它带在身边,应该还是需要固定在某个地方提供服务的,比如藏在家里的电视柜里——你要拿它做一个机器人或者无人机之类,当我没说,而且这篇文也没必要往下看了,这里仅针对拿树莓派当 Linux 远程主机使用的场景 ;-)

如果家里的宽带没有固定公网 IP,不在家的时候怎么访问就很成问题。过去我在西数 MyBookLive 上的做法是,每天中午 12 点,crontab 执行脚本获取外网 IP,email 给我。low 是 low 了点,但基本上能满足需求,主要考虑 MyBookLive 频繁唤醒几 T 的大硬盘会缩短寿命,所以把脚本执行的周期设得比较长。

现在有了树莓派,没有挂硬盘,只插了个 32G 的 TF 卡,可以随便搞了,最优的方案当然是动态域名解析。于是在 DNSPod 注册了账号,把域名的 nameserver 设置到 DNSPod,再用 python 写了个脚本专门干这个事,代码放在 github 上了,把文档贴一下:

dnspod.py

@author migege
@version 0.0.2

dnspod.py 是基于 DNSPod 服务的动态 DNS 脚本,用于检测 IP 变化并更新至 DNSPod,支持多域名解析。支持 Linux 设备,包括树莓派(Raspberry Pi)。

Prerequisites

  1. python
  2. pyyaml
  3. requests

python 的模块可通过 pip install 命令安装。如果未安装 pip,请先安装 pip。

Installation

安装 git 客户端,通过本命令获取 dnspod.py

git clone https://github.com/migege/dnspod.git dnspod

然后到 dnspod 目录下新建 conf.yaml 文件,根据您的 DNSPod 设置,填入以下内容:

token: <your_api_token>
sub_domains:
  <your_first_sub_domain_name>:
    domain_id: <your_domain_id>
    record_id: <your_record_id>
  <your_second_sub_domain_name>:
    domain_id: <your_domain_id>
    record_id: <your_record_id>

最后设置 crontab 定时任务

*/10 * * * * cd <path_to_dnspod>; /usr/bin/python dnspod.py conf.yaml > /dev/null 2>&1 &

Tips

  1. */10 表示每 10 分钟执行一次 dnspod.py
  2. 如果 python 可执行路径不是 /usr/bin/python,请自行替换