simplicity is prerequisite for reliability

这周六晚上我对博客动了个大手术,把博客的主题从 Pacman 换成了现在的 icarus。

大约从深夜十一点开始折腾,当我终于满意,感觉可以发布的时候,已经五点多,看看窗外天都亮了。

页面布局从之前的两栏变成了三栏,左边是个人资料和站点信息,让我可以在博客的各个页面强刷存在感。放在个人资料里面的微信二维码也不会在平板上响应式的时候把页面弄的不和谐,招聘小广告还是照样打打。

Read More...

今天终于把约稿合同给策划大大寄回去了,拖了整整三周。

一开始我收到合同的时候,迟迟不敢签约。那段时间状态突然变得很差,感觉工作都做不好了,整整用了两个星期才调整回来。

在状态不好的那两个周末,我看完了《樱花庄的宠物女孩》,然后又一遍一遍地看《路人女主的养成方法》。

Read More...

这是我在一年前随手写下的代码,而且这个代码只会被我使用一次,如今我已经没有精力和时间再去跟进和维护它了。如果你在使用中遇到问题,能够自己解决最好,不能解决的话请访问 http://urouge.github.io/migrate-to-disqus/ 获取一个更新的轮子,前些日子有人用它完成了评论系统的迁移。

背景

前几天我受够了多说的各种漏洞和问题,终于把评论系统切换到了 Disqus。为了尽可能的保留之前网友们的留言和评论,我写了个 Python 程序把多说导出的 JSON 格式文件转换成了 Disqus 支持的 WXR (WordPress eXtended RSS) 格式。

对切换评论系统的前因后果以及中间过程感兴趣的话,可以看看我之前的博文「告别多说,拥抱 Disqus」。

Read More...

2015 年 4 月 7 日晚上,离开 Facebook 加入 Alibaba 的赵海平先生,在阿里巴巴的总部,进行了一次题为《我眼中的 Facebook 技术演进》分享,关于 Facebook 的技术演进。

分享原定 6:30 开始,内网上报名参加的人数接近 1500,害怕报告厅装不下如此多人,我和同事 6:15 便到了会场,挑选了前排位置坐下。

Read More...

背景

一开始搭建博客的时候,直接套用了 Pacman 主题,它自带了多说评论插件,所以我就注册了一个帐号,然后就这么用着。

这两天我把博客环境升级到 Hexo 3.0 之后,由于一些 API 的不兼容,导致我生成的文章唯一标识符和之前的不一致了,然后好多文章的评论就显示不出来。

我尝试着去 hack 这些有变化的 API,把文章唯一标识符恢复成原来的样子,结果在新的标识符下的评论,又没法显示了。按下葫芦又起瓢,简直不能忍,只好去多说后台做修改。

多说后台有一个严重的问题,文章管理界面始终没法翻页,不管我有多少篇文章,页面上只给我显示一页的内容,后面的全部截断抛弃。当我在页面上删除了一篇文章,实际上它并没有被删除,假如我添加一篇一样的文章,使用一样的文章唯一标识符,它会阻止我继续操作。

Read More...

背景

之前我一直使用 Hexo 2.8 来编译我的博客。几个星期前的一天,我突发奇想要给 Hexo 来个升级,于是接下来的折腾就开始了。

执行了 npm install hexo-cli -g 之后,一切都还好,当我试着执行 hexo server 启动服务器的时候,悲剧发生了,没法启动。一番 Google 之后发现从 2.8 升级到 3.0 似乎没那么平滑,于是我决定降回 2.8,然后另选时间升级。

降级之路也不平坦,即使我显式给出了降级之后各个组件的版本,整个依赖树也回不到从前了。可能这个也是 npm 包管理体系的特 (quē) 性 (xiàn) 吧,大家都不太会在依赖中显式的写出某个指定的版本,反而比较喜欢使用版本范围,据说这样子能够自动获取依赖包升级之后的 bug fix 和性能提升^1

不管怎么说,这样折腾一番之后,我的 Hexo 博客环境没有之前好用了。看来 2.8 已经没法待下去了,只有升级到 3.0 这条路。

Read More...

最近几天晚上我又在折腾博客,主要是博客镜像部署了一份到 Github 上,然后把海外流量解析到 Github 上,最后是尝试着使用 HTTPS 协议访问部署到 Github 上的博客。

前面两件成功了,使用 HTTPS 协议访问博客的尝试却失败了,或者说有可行方案,我却放弃了。

起因

如果不是 GitCafe 出了点小问题,我是懒得把博客镜像部署到 Github 上的。

Read More...

我厂大部分项目使用 SVN 进行版本控制,只有一些新的项目,然后项目的开发者们都喜欢使用 Git,才会使用 Git 和 Gitlab 进行代码托管。

我正在开发的一个项目就是这种情况,主应用托管在 SVN 上,由我亲自搭建的后台应用托管在 Gitlab,然后另一个新搭建的半后台应用由于某种原因,又使用了 SVN。

最近我在使用 SVN 的时候遭遇了奇怪的问题。提交和更新都没有问题,唯独拉取提交记录的时候,总是失败,无论是用 IDEA 还是命令行。错误信息是类似下面这样的。

svn: E175012: Connection timed out

Read More...

背景

一开始的时候,我的博客同时托管在 Github Pages 和 GitCafe Pages 上,那时候只能通过 Github 和 GitCafe 提供的域名,panjiabang.gitcafe.io/blog/ 或者 jamespan.github.io/blog/ 来访问。

后来,我在万网买了个域名,jamespan.me,然后把域名解析到了 GitCafe 上。为什么选择解析到 GitCafe 而不是 Github,这得问问世界七大奇迹之一。于是我们可以从 www.jamespan.me/blog/ 访问我的博客了。

过了大概三四个月,我渐渐觉得似乎使用 blog.jamespan.me 作为博客的域名会好一些。于是,就在今天,我开始了切换博客域名的尝试。

我是不折腾会死星人。

Read More...

背景

多年以来,无数工程师都试图在 Windows 上制造出不输 Linux 太多的命令行体验,然而绝大部分以失败告终。曾经努力的人,或者回到可爱的 Linux 上,或者进入高贵冷艳的 OS X 的世界。

前辈们为我们留下了一个叫做 Cygwin 的软件集,让我们在需要的时候可以从 Windows 上启动 bash,安装常见的自由软件。

我曾经也有过一段不得不使用 Windows 进行开发的日子,在那段黑暗的日子里,Cygwin 无疑是一缕春风,一道阳光,给我的笔记本带来了些许效率的色彩。然而,就使用体验来说,Cygwin 与 Linux 相去甚远。且不说软件数量、版本这个硬伤,单是安装软件这一操作,就让人感觉繁琐无比。

虽然 Cygwin 号称 Get that Linux feeling on Windows,给人的感觉却一点都不 Linux。

幸运的是,我们现在有了 Babun,一个 Windows 上的开箱即用的壳程序,基于 Cygwin,胜于 Cygwin。

Read More...