?年终总结

12 月 31 日,2018 年的最后一天,似乎到了年终总结的时间。但总的来说,我的 2018 年很糟糕,毫无特色,实在不值一提。

最近我探索了一下 ZeroNet 的用法,计划未来将 ZeroBlog 作为我优先更新的主要博客平台,地址:http://127.0.0.1:43110/1FoczfX4tQXssoZKaLtyfp5PJ1iMi4rYsE 。相比于 Blogger,ZeroBlog 优势明显:没有中心,直接支持 Markdown,而且国内基本也能使用。不过 ZeroBlog 也有一个明显缺陷:功能简陋(甚至没有归档和标签)。不过还好仍在发展,倒也可以接受。

……反正都没人看,都一样啦。

谷歌输入法如何快速输入直角引号「」

直角引号 「」 似乎已是大势所趋,但谷歌拼音输入法还没有便捷的输入方式,借助自定义词典,可以很方便地输入 「」

进入 设置>属性设置>词典,勾选 使用自定义短语,选择 编辑自定义短语,然后添加对应映射即可。我个人的设置是将 q 设置为 ,将 p 设置为

操作系统:Windows
输入法:谷歌拼音输入法 2.7

这里有十六个比特币


“在每次跳上管道时向后移动一个体素,然后再转身起跳,落地时的位置会比原来远三个体素。除去后退一个体素的时间,能赚到一个体素。游戏中一共有九个管道位置可以这样操作,我从这里挤出了 0.01 秒。”以 0.0143 秒的优势创造了《超级马里奥:管道》竞速新记录的玩家折耳根三三在主播长手哥的直播间分享着他的获胜诀窍,“而且其它地方不能有任何失误。”


“总之就是‘完美’!”长手哥露出职业性的夸张表情望着他旁边的增强现实投影,那是一个被设计成有一双死鱼眼的中年大叔形象的角色,黑白混杂的头发采用了五五中分的书页造型。

无标题

我看见字符在指尖跳动
把它们拼凑起来
就成了一首诗

semantic

semantic

指词或其它符号的含义。


  • 在语言学相关领域译为:语义。比如 semantic analysis(语义分析)。
  • 在图像处理和计算机视觉领域译为:形义。比如形义感知,来自《Petuum新研究提出形义感知型Grad-GAN:可基于虚拟游戏生成更具真实感的城市场景
  • 但有的研究涉及到图形与语言之间的映射,比如自动图像描述即是用语言来描述图像内容,即用语言表示形义;对应而言,基于描述的图像生成则是用形义表示语言。如果需要同时表达这两者,可译为:“含义”或更复杂的“语义和形义”。


超级巨星

当他还在母亲肚子里面的时候,就已经是个超级巨星了。一是因为他母亲本身就是一个超级巨星,二是因为另一个靠算命出名的超级巨星预言他将成为有史以来最超级的超级巨星。

为了有个震撼人心的开始,在他出生前就已经组建起来的百人营销团队策划了一场举世瞩目的活动——“巨星的降临”——直播他的出生过程。直播活动在预产期前半个月就已经开始了。他的母亲住在遍布摄像头的豪宅里待产,一举一动都通过网络摄像头向全世界直播。随着预产期的临近,观看直播的人也越来越多,甚至产生了被人戏称为“巨星的降临产业”的经济现象,创造了数十万就业岗位。

他是在豪宅的花园里诞生的,当然这是事先策划好的“意外事件”,毕竟单调乏味的产房中的水中分娩不如花园里的直接自然分娩有谈资。

这是前所未有的社交网络热潮。#thebirth 成了有史以来最热门的标签。最热门的时候,整个地球有一半的人都在通过不同摄像头或摄像机视角观看这场直播。热度是从母亲宫缩加快时开始暴增的。正当医护人员要将待产的母亲移往设施完善的产房时,突然就发生了管道破裂,产房屋顶漏水的“意外状况”。于是分娩场地就转移到了花园。在世界级顶级医护人员的帮助下,分娩过程非常顺利。人们看着他从阴道里露出头顶,然后是整个脑袋,最后是身体和腿脚。人们为他的第一声啼哭而感动落泪,都为见证了超级巨星的诞生而兴奋不已。从那一瞬间到之后的很长一段时间,他都是这个世界上最受关爱的人。

和世界上几乎每一个婴儿一样,他开始成长。在他两个月大的时候,他拍了人生第一个广告,得到了大量广告费和用不尽的纸尿布。在他十个月大的时候,他说出了人生的第一句话:“多多”。那是他家那只黑色宠物狗的名字,总是喜欢陪在他身边。在那之后一天,他开始练习走路了,还摔了好几次,每一次都会在全球范围内引发一次惊呼。

渐渐地,他长成了一个美少年,也开始表现出在音乐、表演、舞蹈和绘画等方面的艺术天赋。没人怀疑他确实会成长为一个超级巨星,他也没有辜负任何人的期待。

四岁那年,他推出了自己的第一张专辑《真》。

六岁,他推出了自己的第二张专辑《纯》。

七岁,他凭借在《大话哪咤》中的精彩表演成了有史以来最年轻的大型电影奖影帝。

九岁,他的第三张专辑《少年》打破了首周和首月销量世界纪录。同年,他还出演了人生的第一个反派角色红孩儿,并且毫无悬念地成为了当年的金像奖最佳男配角。

十岁那年暑假,他用线条简约的漫画风格临摹了等尺寸的《清明上河图》。十年后,这份作品拍出了 10 亿美元的天价。

十一岁,他成了年纪最小的太空游客,并在蓝色起源公司的太空飞机上表演了失重太空步。同年,他的第四张专辑《成长》问世。

十二岁,他的首张英文歌专辑《Dream&Dream》打破了自己之前创造的首周和首月销量世界纪录。

十三岁,他发行了自己的代币,募集到了当时价值 72000 比特币的数字货币。

十四岁,他第一次恋爱,对象是他出演的纯爱电影《只有你懂》里的女主角。他们的关系维持了 3 个月。

十五岁,他的新专辑《自由多元宇宙》在上架 6 小时后被下架,之后他被禁演半年。

十六岁,他的新专辑《这个时代的爱情故事》再次创造纪录。

十七岁,他的第一本诗集《我与你们》出版发行,掀起了诗歌写作热潮。

十八岁,他因不适当的政治发言而被批评警告并禁演 3 个月。之后又因违背禁演规定发布单曲《毁灭与新生》而再被禁演一年。

十九岁,他发行的代币被最高法院裁定为非法代币,价值归零。他在禁演结束后的新闻发布会上公开发表检讨。

二十岁,他推出新专辑《我》,几乎再次创造新销售记录。

二十一岁,他完成了自己的第一次世界巡回演唱会。

二十二岁,他宣称要推翻政府,从此便失去了音讯,仿佛从未存在过。

如何将Twitter同步到Twister

Twister 发帖还多有不便,如果能将推特同步到 Twister 可能就会方便很多。基于之前在树莓派上搭建的节点,我们可以做一个每小时同步一次的自动软件(bot)。

@vegos在 Twister 平台上创建了很多自动发帖账号。我打算也使用同样的方法来同步我自己的推文——使用 feed2twitter 工具。
feed2twister 是一个可以将 RSS/ATOM 订阅流推送到 Twister 的脚本。按照开发者的说法,要使用这个脚本,你需要:



安装/更新 python-bitcoinrpc


pip install python-bitcoinrpc
git submodule update --init


安装 feedparser


cd ~/twister 
git clone https://github.com/kurtmckee/feedparser.git
cd ~/twister/feedparser
python setup.py install


配置同步


cd ~/twister 
git clone https://github.com/black-puppydog/feed2twister.git


然后将 feed2twister.conf.example 重命名为 feed2twister.conf,按照提示配置好参数:MYTWISTERUSERNAME 替换成自己的用户名,MYRPCUSER:MYRPCPASSWORD 替换成自己的 本地用户:密码。feeds 参数后面换上要同步的 RSS 链接。对于 Twitter,可以使用免费的 TwitRSS.me获取特定用户的公开推文的订阅链接。然后可执行 feed2twister.py 测试一下。


设置脚本每小时执行一次


因为我是在树莓派上运行 Twister,每分钟运行也没必要,所以设置每小时同步运行一次。假设在每个小时的第 23 分钟执行:


crontab -e
23 * * * * python home/pi/twister/feed2twister/feed2twister.py


保存,完成。


其它


为了不在同步的推文中加上 Twitter 的链接,可给 do_not_include_link 赋值 Ture。

如何在手机上使用Twister:使用VNC访问树莓派桌面

现在的社交网络平台越来越不好用了。国内的就不说了,就是个“莫谈国事”的娱乐场;国外平台稍好一点,但在中心化的监管下也时有删贴的事情发生;当然需要翻墙也或许是个麻烦事。所以我们可能需要 Twister 这样的平台。Twister 是一个分布式的类微博社交平台,不受任何中心监管,虽然目前用户体验不佳,但总归比其它中心化平台更好。


首先说明我并不是一个开发者,我之前也是直接使用的是已经编译好的 Windows 安装包。我也曾试图使用已有的安卓安装包,但遗憾的是没能成功运行。为了能在手机上使用 Twister,我思考了几种方法。


  1. 使用远程桌面操作 Windows 平台上的客户端;我试了 Chrome 的远程桌面,速度太慢,体验太差,就放弃了。
  2. 购买 VPS 搭建远程服务器进行访问。我一直在用基于 VPS 的 Shadowsocks 作为翻墙工具,但因为我本身不是开发者,没有足够的技术能力,也没找到足够的资源,就没能实现。另外我看到有资料说某些 VPS 提供商会屏蔽 P2P 应用,不知道是不是真的。
  3. 借助树莓派进行访问。这是我最后采用的方法,主要的原因是能够从已有的资料中拼凑出解决方案。具体的方式是在树莓派上运行 Twister,然后通过 VNC 远程桌面访问。和 Chrome 的远程桌面不一样,VNC 的速度至少在可接受的范围内。(不使用树莓派直接作为远程主机是因为安全配置有点麻烦。)

这里我打算介绍一下我配置树莓派 Twister 的全过程。


1 树莓派基础配置


首先是硬件配置。我仅买了块树莓派和足够的配套组件。因为我只打算用其做为远程服务器,所以屏幕就没必要了。我只买了树莓派开发板(Raspberry Pi 3 Model B,外加官方保护壳)、电源、16G 存储卡和一条 1 米长的网线。


然后操作系统。下载 Raspbian,然后使用 Etcher 烧写到 TF 卡上。因为没有屏幕,所以我需要先开通 SSH 访问。方法很简单。烧写完成后,将 TF 卡重新插入到电脑上,在安装系统后可供 Windows 读取的目录下新建一个名为 ssh.txt 空白文件即可。


然后将装好系统的 TF 卡插入到树莓派上,连接电源并使用网线连接路由器。(我没花功夫去研究无线连接)


在电脑上访问路由器配置页面(一般是 192.168.1.1 或 192.168.0.1),找到分配给树莓派的 IP 地址,比如 192.168.0.109


现在进入树莓派的命令行。打开 PuTTY,在 Host Name(or IP Address)下填入上述 IP 地址,然后点击 Open。


然后输入你的树莓派用户名和密码(默认分别是 pi 和 raspberry)进行系统,但你也可通过 sudo raspi-config 修改密码。


2 配置 VNC Server


接下来配置 VNC Server 和 VNC Viewer。


VNC Server 安装在树莓派上。VNC Viewer 则用于访问树莓派。支持多种平台,这里不多介绍,请看官网


配置过程在树莓派官网有详细解释。我选择了其中的命令行方法。


sudo apt-get update
sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer


然后输入 sudo raspi-config,选择 Interfacing Options ,启用 VNC。


树莓派上配置好了以后,因为我希望能远程访问它,所以需要云支持。为此需要在 RealVNC 注册一个账户。个人用户免费,NICE!


有了帐户之后,我们需要配置远程访问方式。我先下载了 VNC Viewer 的 Windows 客户端,然后通过本地方式连接了树莓派,然后在树莓派的图形界面登录了 VNC 账号。之后我又在安卓客户端上登录了 VNC 账号,手机访问就成功建立了!


3 安装 Twister


这一部分花了我一些时间,因为官网上的在 Debian 上编译的教程不能直接在树莓派上使用,但摸索之后总算找到了解决办法。


增加交换空间


这一步是必需的,不然编译无法完成,试了好几次才发现这个问题。


sudo fallocate --length 1GiB /home/pi/swapfile

sudo mkswap ~pi/swapfile

sudo swapon ~pi/swapfile


配置工具环境


sudo apt-get update

sudo apt-get install build-essential libboost-all-dev \
libdb++-dev libminiupnpc-dev libtool libssl-dev autoconf git


安装 Twister


mkdir ~/twister

cd ~/twister

git clone https://github.com/miguelfreitas/twister-core.git

git clone https://github.com/miguelfreitas/twister-html.git 

cd twister-core

./autotool.sh

./configure --enable-sse2=no --with-boost-libdir=/usr/lib/arm-linux-gnueabihf

make


编译需要较长时间。


Twister 页面


mkdir ~/.twister

cd ~/.twister

git clone https://github.com/miguelfreitas/twister-html.git html


配置


echo -e "rpcuser=user\nrpcpassword=pwd" > ~/.twister/twister.conf

chmod 600 ~/.twister/twister.conf


启动 Twister deamon


cd ~/twister/twister-core
./twisterd -daemon -rpcallowip=127.0.0.1


4 开始使用


用浏览器访问 http://127.0.0.1:28332/index.html,等待同步完成(可能需要比较长的时间),之后就可以开始使用了。欢迎关注 @czyouge