使用lunr.js为Wiki系统增加全文搜索支持

搜索 Wiki 知识库的问题 今年早些时候我捣鼓了一个基于 Wikitten 和 MDwiki 的 个人知识库系统,我一般使用基于 PHP Wikitten 的 动态 Wiki 知识库,本地预览或者测试时可以用基于 MDwiki 的 静态 Wiki 知识库,两个配合使用并通过 BitTorrent Sync 与 VPS 进行数据同步,这样需要更新时也是很方便的。 我在实际使用中还是发现 Wikitten 的搜索功能比较薄弱,只支持通过文档或目录名称进行搜索(Wikitten 显示时是直接遍历 Wiki 文档的,出于效率考虑也不好直接进行目录遍历全文搜索);MDwiki 则由于是纯静态实现,根本 […]

Android使用Shell命令配合Tasker控制手机

Secure Settings 对比 Shell 命令 去年我写过一篇 Android 使用 Trigger + Tasker 设定 NFC 标签 的文章,主要介绍怎么使用 Tasker 和 Trigger App 设定 Android 手机刷 NFC 标签时执行指定的操作。该文章中对于手机的 飞行模式 / GPS / NFC 等功能的控制操作都是通过 Secure Settings App 实现的。 不过可惜的是我的华硕 Zenfone2 手机 ROM 升级到 6.0 版本之后,Secure Settings App 就有很多功能不能正常工作了,而且由于开发者也基本不再维护该 App 也有差 […]

Win10 Bash下使用KeePass KeeAgent插件

Win10 Bash 使用 KeeAgent 问题 出于管理不同服务器以及自己几个 VPS 的需要,我都会把这些 SSH 密钥保存到自己的 KeePass 密码数据库中,KeePass 软件安装了 KeeAgent 插件之后,可以在用户需要登录服务器时方便地自动加载 SSH 密钥。KeeAgent 同时支持 PuTTY 和 OpenSSH 格式的私钥,而且支持 Windows / Linux / Mac 系统。我在平时使用中无论用 Windows 下的 PuTTY / SecureCRT / XShell 软件还是 Linux 下用 ssh 命令都能愉快的自动加载 KeeAgent 保存的 S […]

Bluemix容器系统更新udev的问题

Bluemix 更新 udev 的问题 最近在 IBM Bluemix 管理控制台中查看容器状态时发现一直会报 策略违例 问题,进入容器详细信息界面,可以看到漏洞顾问程序扫描到的容器系统中存在的违例情况,主要是系统中某些软件包版本比较老,Bluemix 建议进行安全更新升级: 由于我的 Bluemix 容器使用的是 Ubuntu 14.04 系统,起初想着直接运行 apt-get 命令将系统中的软件包都进行升级应该就差不多可以搞定了: 但是在升级 udev 软件包的时候发现能正确下载软件包但升级失败,提示 /etc/modprobe.d 内核模块配置目录无法正常写入: 我如果跳过升级 udev […]

简单PHP实现Pocket抓取知乎专栏文章

Pocket 抓取知乎专栏的问题 Pocket 是我平时用的比较多的 稍后阅读 类网络服务,其收集抓取网上文章正文的效果比较好,去除页面广告等无关内容还算给力,支持标记和搜索,同步速度也还可以,免费会员限制也挺少,所以看到一些来不及马上阅读消化的文章我都会先加到 Pocket 队列里,有空时再去查看归档。 只是由于目前抓取网页正文原理的限制,Pocket 对现在越来越多的 AJAX 动态网页基本上都支持的不太好,比较典型的就是知乎专栏文章了。知乎专栏之前曾经是支持 Pocket 直接抓取的,改为 AJAX 加载数据之后,发送文章到 Pocket 之后就是这种效果: Pocket 正常抓取的文章 […]

Chromebook上使用Zed进行远程编辑

之前我写过一篇文章介绍 Chromebook 上比较强大的 Zed 编辑器 的上手体验,目前主要用于编辑自己的 MDwiki 知识库 目录。不过本地文件编辑完之后需要用 BTSync 之类的工具同步到 VPS 上,因此还是想把 Zed 的远程编辑功能用起来,而且配合 Zed 自带的 Web Server 功能还能直接本地查看 MDwiki 知识库。 Zed 目前支持 zedrem 和 zedd 这两种远程编辑方式,下面分别介绍一下另,另外也说明了如何使用 Zed 自带的 Web Server。 zedrem 远程编辑 zedrem 是用 Go 语言编写的工具,按照 Zed 官网的介绍一条命令就 […]

Linux下使用tcpkill工具重置NFS连接

有些时候在 Linux 系统中使用 NFS 挂载远程共享(使用默认的 TCP 方式)之后,偶尔会因为网络异常出现 NFS 连接出错的问题,这种情况下使用任何 ls 或者 df 等等常用的命令对 NFS 挂载目录进行简单的查看操作都可能卡顿几十秒乃至几分钟的时间。 此时如果在别的 Linux 客户机系统上又是可以正常访问 NFS 共享的,而 NFS 服务器端考虑到有多个客户机正在使用不方便直接重启服务,一般只能等待 NFS 挂载连接恢复正常或者重启客户端系统,这样还是很麻烦的,为此我专门找了个使用 tcpkill 命令重置 NFS 连接的方法分享给大家。 tcpkill 命令属于 Dsniff […]

在Linux容器中使用ZeroTier P2P VPN

关于 ZeroTier P2P VPN P2P VPN 和我们平常使用的 PPTP、OpenVPN 等 VPN 的不同之处在于其只负责将两个或多个主机通过点对点的方式进行连接,不需要中心服务器支持,多个主机之间通过 STUN 打洞或者 TURN 中继等方式进行连接,比较适合不同网络间的多个主机进行直接连接,不像 PPTP 这种在国内用的最多的就是拿来爬墙的。 目前使用的比较多的包括 n2n、tinc 和本文要介绍的 ZeroTier 等几种免费开源的 P2P VPN 软件。 n2n 由于已经没人继续开发支持了所以不予考虑,我在对比了 tinc 和 ZeroTier 之后发现 ZeroTier […]

Win10年度更新开启Bash on Ubuntu

关于 Bash on Ubuntu 之前为了能在 Windows 上使用 Bash 等类似 Unix(Linux)系统的体验,我都是安装了 Cygwin、MSYS 等运行环境,都体验上都存在一些问题:Cygwin 上的程序基本都需要重新编译出基于其运行库(cygwin1.dll)的版本,MSYS 虽然提供了 Linux 下常用的开发工具链、移植过的运行库等等,但基本还是受限于 Windows API 本身的。 当我看到 Windows 10 Build 14316 内部预览版时爆出的 Bash on Ubuntu 功能之后还是比较期待的,因为微软并不是以虚拟机的方式运行 Ubuntu 系统,而 […]

使用DisplayLink显卡组装Android Superbook

关于 Superbook 前几天在 Kickstarter 上看到一个挺有意思的 Superbook 众筹项目,其主要目的是以 99 美元的价格实现 Android 手机插上数据线连接 Superbook 就能变身笔记本,该项目由 Andromium 团队推出,截至我写此文章的时候该项目已经筹集到 80 多万美元,感兴趣的朋友可以看看其 Kickstarter 项目主页: http://getsuperbook.com/ 初看该项目介绍,发现还是比较类似 Motorola 前几年推出的 LapDock 笔记本扩展坞装备的,只是 LapDock 是专门给 Motorola ME865 等手机设计 […]