博客 | Blog

GitHub Page Build Failure

通用的解决方法 #

今日折腾了许久,更换了评论系统,由Disqus转到了多说,主要是考虑前者在国内被墙的厉害。但是在挂上VPN推送到GitHub的几秒后弹出邮件提示“Page Build Failure”。

由于本地已经测试,可以成功build,所以倍感奇怪,网上搜索之后发现可能是Jekyll的版本与GitHub的版本不一样,可以通过jekyll -v查看本地安装的Jekyll版本,如果并非最新版本需要升级,当前的最新版本是0.12.0

gem install jekyll --version 0.12.0

本地运行:

jekyll --server --no-auto

根据报错检查,等到成功build之后便应该没有什么问题了。

我遇到的问题 #

Jekyll我使用的是这个主题theme-mark-reid。之前一直没有问题,没想到在jekyll 0.12.0下遇到了bug,build时会出现如下的错误信息:

STRFTIME() is not defined 

已经在GitHub上提交了issue,目前的解决办法是删除掉有问题的语句,损失了文章结束时间戳的功能。

Microsoft Office中输入数学公式

公式输入需求 #

作为工科男,写作业写论文写报告等等肯定是需要输入数学公式的,基本上各种复杂公式的输入占用了不少时间,实在是一个麻烦的过程。

很早之前接触Linux时便知道了Tex,但是很久之后才知道这个词的正确读音。由于个人原因以及无法完全抛弃Windows,我和Tex&LaTex的接触仅限于几篇text.tex,每次想到些报告还是Word方便。即便在我使用Linux的那段时间,使用的基本都是LibreOffice,相对来说,其输入公式还是比较方便的,内嵌类Tex语法输入。

关于美观。说实话,我个人对于排版的美观真心没怎么注意。确实,office的排版对于中文标点的处理十分不友好,标点间距简直不堪入目。但是呢,勉强可以用。Tex的美观我也没有特别的发现,自习看起来确实好一点。不过,这对我来说真的重要么?对于一个无法明显感受二者差异的我,确实是不需要强迫自己接受有点复杂的Tex。

但是公式总还是要输入的,下面主要谈谈Office下的公式输入。

MathType #

MathType目测应该是较为普及的使用方式,至少从我身边来看是这样。其优点在于简单容易上手,即便你什么快捷键不会也可以用鼠标一个一个符号的点击,熟悉了快捷键之后还可以大幅度提高输入速度。非常赞的是其还支持类Tex命令的输入(6.0版本之后),但是我也是最近发现这个的,使用并不多。设置方法:“Preferences”—->“Workspace Preferences” 菜单中,勾选“Allow Tex language entry from the keyboard” 选项。

缺点也是显然的,MathType需要另外安装软件,且其对Office的支持不是特别的完美,尤其是这次安装Office2013之后我被其折腾的无语。

相对来说,使用MathType想要提高效率就是熟练使用快捷键。

Aurora #

这个我完全没有使用过,据说是Tex生成png格式图片插入,现在网页上一般是采用这种形式显示数学公式,但是个人写文档若采用这种格式未免太蛋疼了些,所以压根就没打算试用,实话说,用这个为啥不用Tex?

Office #

其实一直对于Office有点成见,尤其是手写公式输入实在是太不科学了,简直无法想象会用鼠标手写输入公式。直到我看到了如下的这篇文章,顿时觉得相见恨晚。原来Office也支持这样的类Tex语法输入,对于使用Office的人来说实在是非常方便,基本键盘操作就可以搞定一篇文章,再也不用拿鼠标一个一个点符号。虽然不能更改字体这个略蛋疼,但不是不可以接受。原谅我的无知吧。

update at 2014-07-15: 此种方法只支持新版的 word 文档,即.docx

请保持好奇心,接受新事物。

美国官网购买ThinkPad X230及注册IWS

购买优惠 #

这一部分其实我没有什么好说的,基本都是在论坛上看前人的总结帖子,分为几个通道。主要是在51nb上看到了很多经验之谈,在此感谢。我就不搬运过来了,有需要的话自己去这几个论坛有针对性地搜索即可。

我在看完之后基本就在每天观察,订阅一些特价信息。在等到7折且硬盘免费升级到500G时终于决定入手。这个折扣除了bug之外算是最好的了,值得出手。

这里需要说一下中行信用卡的问题,由于刚刚申请且额度不够,导致我还得去银行购汇存入信用卡,白白浪费了许多时间。可怜终于是有了信用卡的人,我也就不抱怨什么了。

转运记录 #

多方比较之后,最终选择了风雷E渠道。其实转运服务现在有很多家,由于服务受到不可控因素影响太多,所以根本无法找到一直靠谱的转运公司,很多时候真的是在拼人品。风雷E渠道的价格略贵,但是胜在速度较快且是邮政清关,这样自己不用焦虑太长时间,相对来说发生意外的可能较小。如果需要注册的话可以使用我的推广链接

下面简单记录自己的转运过程:

  1. 20121020 官网下单
  2. 20121025 UPS信息生成
  3. 20121028 离开上海
  4. 20121028 到达美国
  5. 20121031 09:04(local time)送达转运仓库OR
  6. 20121106 13:28 邮件通知入库
  7. 20121107 13:50 邮件通知付款
  8. 20121108 9:00 发货
  9. 20121113 建国门海关交税取件

EMS追踪状态如图:

历时23天总体来说速度尚可,中间因为发货重量估计不足使得充值金额偏少导致原箱闪运失败,耽误了几天(这里必须吐槽风雷的称)。风雷的速度基本让我满意,在海关搬起箱子的时候,居然有种不真实的感觉,“怎么这么轻?”,海关查验的时候略微紧张了一下,还好不出意外地税了200RMB。回来在自行车上抱着的时候才察觉到也不是那么轻。

注册IWS #

IWS(International Warranty Service)为全球联保服务,官网给出的说明为:Lenovo Think产品的全球联保服务(IWS)是为那些在非原购买国重新安置Lenovo Think产品的用户所提供的保修服务。客户在Lenovo或Lenovo经销商销售和维护该特定机器类型的国家可以享受该类保修服务。

但是在中国大陆的IWS服务需要另外注册,官网也给出了相应的说明:为了向在境外购买并且在中国大陆出差旅行使用Lenovo Think产品的用户提供更好的服务,我们特别为这些用户提供了在中国大陆的全球联保注册服务。在中国大陆的全球联保注册申请被通过后,用户的产品无需再提供其他证明就可以享受在中国大陆的全球联保服务。 当用户申请进行全球联保注册时,需要提供旅行证件、购机凭证或其它联想需要的证明。

以下不再赘述,主要参考资料来自Lenovo中国官网

注册也是在上述网页,按照说明提交相关资料后IWS会在工作日邮件联系,进行进一步沟通,主要是处理证明材料不全等问题。一般会在很快注册完成。

需要的材料包括但不限于:

  1. 海关税单(需要手写注明电脑编号,电池仓位置,图1)
  2. 微软彩色标签(机器背面或电池槽里微软彩色标签上00开头14位数字组成的号码,图2)
  3. 官网订单确认邮件截图(图3)
  4. UCS运单(中国至美国,也有可能为UPS,位于电脑外包装,图4)
  5. 美国至中国邮寄单(其他美国至中国旅行证明)
  6. 注册人信息、联系方式

我的材料5丢失,在海关取货的时候为了携带方便将转运公司的外包装拆毁丢弃在那里,当时没有意识到注册IWS需要这个。后来邮件中付了转运公司的订单,以及USPS的单号,EMS的追踪状态。最后依旧注册成功。感谢为我服务的工作人员。

注册成功后,IWS会发送邮件确认,3-5个工作日后在联想中国官网便可以查到保修信息,查询网址

20121130update:注册成功之后我回复邮件询问了一下在国内续保IWS的事情,没想到几天后联想总部客服经理居然电话联系我,得知国内续保在官方办理的话是一年¥499,相比于美国官网的$60实在是令人发指。闻到美国续保能否在国内维修的事情对方也表示不太清楚。所以需要续保的同学直接去淘宝续保,价格在240左右。或者直接在购买时就买上续保,之后再注册IWS。

在VMware中安装archlinux

最近安装windows8,手欠格了Arch的分区,导致我远离了Arch的世界,虽然Win8用着感觉还挺不错的,但是终究没有Linux的shell好用,决定装个虚拟机Arch随便用用。加上64bit的windows使我的小Y史无前例的达到了4G的内存,装个Arch应该没有多大问题。

前几天在实习还没结束时也尝试安装了,但是因为Arch的安装方式最近改变,不再提供install scripts了。导致我在不熟悉的情况下弄砸了,旧版的arch安装包也因为glibc update遇到冲突,直接导致无法安装任何软件包,只能放弃。

这次使用VMware,一步一步按照wiki的步骤,基本没有什么问题,只是在安装vm-tools时遇到了小问题,按照wiki安装open-vm-tools,但是启动服务时出现问题: rc.d start open-vm-tools 提示如下错误: :: Starting Open Virtual Machine Tools [BUSY] FATAL: Module vmblock not found. [FAIL] 安装一个包即可解决问题: sudo pacman -S open-vm-tools-modules

挂载Windows共享文件: sudo mount -t vmhgfs .host:/sharename /mnt/hgfs 如果希望开机自动挂载,在/etc/fstab文件加上: .host:/sharename /mnt/hgfs vmhgfs fmask=0133,dmask=0022 0 0

接下来就是恢复自己的工作环境了。感谢Github,感谢Dropbox。

Something about Fortran90

这学期开始学习程序结构力学(Programming Structural Mechanics),课程使用的主要语言为Fortran90,关于Fortran的传奇之处早有耳闻。一下是两段非常著名的短文,当然是英文的,我会尝试翻译这两篇短文。

下面记录一下在Windows环境下配置Fortran编译环境的步骤。

可选的有CVF6.6(COMPAQ Visual Fortran),最新也是最后的一个版本。IVF(Intel Visual Fortran),推荐安装CVF。这种集成的IDE上手比较简单,基本没有什么问题。

另外,课程要求编写的程序必须通过ELF90(Essential Lahey Fortran 90)编译通过,这是更严格的一个Fortran90的子集。可以下载编译器安装,比较简单,之后记得添加环境变量,应该也不会有问题。

Construction Practice

一个月的实习过的很快,因为是8月中旬才开始施工实习,所以天气状况也不错,并没有受到酷暑的折磨。我们严格来说算不上在艰苦的环境中呆了一个月,工地的项目部环境很好,食堂伙食也让我怀念。回首这一个月,这里简单记录一点,真实的东西。

实践出真知,纸上得来终觉浅,觉知此事要躬行。大学的理论教育如果不结合行业实践,总是显得浅薄了。施工实习让我对行业有了更感性的认识,了解了住宅楼等民用建筑的整个施工过程,为以后参加实际工作打下一定的基础。

参加了施工技术、施工组织、施工管理及技术经济方面的实际工作,培养了分析问题和解决问题的能力。施工现场就是一场当场作答当场检验的考场,怎样选取最合适的方式,是照本宣科还是随机应变,一个月的实习让我深刻地意识到准备的重要性,尽管施工单位是按图施工,事先也得编写详尽的施工组织设计,每个分部工程都需要编写面面俱到事无巨细的施工方案,即便是这样,现场还是会发生各种意料之外的情况。需要一个工程师不断的学习,吸取经验教训,接受实践检验。

一个月的实习过程,同样也让我认识了很多人,项目部的工程师、安全员、测量员、质检员等等,他们不少人与我们年岁相仿,说话很放得开,听他们说着建筑行业、施工单位的种种轶事,学习他们踏实工作献身事业的品质。每个人都有值得学习的地方,三人行必有我师。除了项目部的工作人员,我们还看到了很多民工,有着重重的口音,他们攀爬在脚手架之间,或者推着小车穿梭在楼层,大大的安全帽遮住了他们黝黑的脸庞,大多数时候是沉默的勤勤恳恳的工作,我知道他们在外打拼的辛苦,他们承担着家庭的重担,在北京的脚手架上奉献自己的劳动。他们是最踏实的构筑者,构筑这个世界,将设计师的图纸转化为真实的混凝土钢筋结构。

我们在项目部遇到的很多人都有这样的疑问,XX的学生毕业了应该大部分都去设计院工作了,为什么要来施工单位实习呢?他们认为施工单位很苦,XX的不会来,也受不了。原因他们是知道的,因为我在一个月的实习中,听见好几个人在说这个问题,即设计与施工的脱离。设计出来的图纸到底能不能施工,设计师并不知道,你怎么叫一个从来没有下过工地,只知道在电脑上熟练的使用键盘和鼠标画图的人知道这些呢?所以设计变更总是存在的,所以施工单位需要花费额外的时间去与甲方、与设计单位沟通协商,这样势必会造成浪费,对时间的浪费,导致效率下降。一个协调的系统,才有可能是高效的系统。设计师一定要能理解实际施工中可能会遇到的问题;一定要知道,在我们这个首都很发达民工很落后的国家,实际施工人员的素质不是那么的高。如果有幸能成为一名设计师,我会记得这些。

实习答辩的时候,一位老师谈到了制作PPT的问题,批评说白底黑字不加任何动画效果的PPT是非常不友好的。关于这一点,我当场即反驳,要点是关于内容与形式的,也举了一些例子来说明当前PPT的泛滥,口头语言可能无法表达清楚我的观点,终究是个遗憾。

使用ssh优化上网

本文测试贴图,以及指导如何使用SSH。假设的上网环境是Chrome未装任何扩展,或者IE(本文演示的浏览器版本chrome21、IE10,版本差异基本不影响操作)

打开Interenet选项(Interenet Options) #

Chrome操作如下,左键单击扳手图标,点击选项(Settings),选择显示高级选项,如下图(其中红色框表示下一步操作鼠标点击处,下同)

IE操作,点击齿轮图标或者工具菜单,选择Internet选项

测试 #

打开IPCN IP 地理位置查询,根据结果判断是否成功。

关于阅读工具

阅读是人类获取经验知识的重要途径。本文主要针对包括Web、移动设备等平台的阅读服务或工具,简单总结并评价。

稍后阅读 Read Later #

Instapaper Pocket Readability

“Read later”,“稍后阅读”或者“待阅”,这类服务从何时兴起不曾考证过,但是其流行的背景大致可以总结为以下几点:

  1. 网络阅读的缺陷:浅阅读。无法做专注的思考。
  2. 移动手持设备的兴起(此处主要指手机和平板电脑)。人们更加愿意手持设备进行阅读,而不是面对一个十几英寸甚至几十英寸的电脑屏幕,原因之一在于移动设备的方便,随时随地阅读。
  3. Kindle等电子书的普及,对于较长的文章,kindle阅读有天然的优势,对眼睛的伤害较小以及续航时间长也是其普及的重要原因。

目前流行的这类服务有: 1. Instapaper 2. Pocket 3. Readability 4. Klip.me

Better Reader #

相对于Read later,还有一类阅读服务应该称之为Better Reader,即更好的阅读效果。很多网站,正文的四周充斥着广告,或者因为字体版式等原因可阅读性并不好,Better reader正是满足这一需要,自动提取出正文,进行排版字体等的优化,使得阅读更加友好。几乎所有的Read Later服务均提供这一功能,值得一提的是,Evernote也推出了一款浏览器插件Clearly满足这一需求。

Kindle到手时最先尝试的是Instapaper,真的不得不说界面非常简陋,无愧于一人公司之称。之后没再使用,因为当时没有这个需求,看书仅限于本地,推送用的也非常少。 后来渐渐体会到Read later的必要性,于是有目的的寻找起这样的服务。先后尝试的有Readitlater(现名Pocket),Readablity,Klip it,现在最终选择的是Instapaper。现在来简单比较一下各服务。

  1. 速度。就我个人的体验来看,目前在网页操作上,依旧是Instapaper的速度略占优势。
  2. 网页版面。Instapaper是极简的风格,界面十分朴素。Pocket以及Readanility的界面比较华丽。操作感觉更加舒适。
  3. 文章正确处理能力。Readability最差,部分网页完全不能识别,Klip.me次之。Instapaper与Pocket处理能力类似,均可以接受,部分网页Pocket更优。针对网页主体文字的识别(网易新闻),发现Readability完全错误,Instapaper基本可以使用,但是有瑕疵,多余评论也包含在内。pocket与Clearly完美识别。
  4. 平台支持。支持kindle的有Instapaper,Readability,Klip.me,其中最佳应为Instapaper,Klip.me推送也不错,但是排版没有优势。Android平台,Pocket最优,Instapaper的官方android版本刚刚推出,且非作者本人开发维护,存在部分文章无法下载的情况,其他不详。IOS设备,尚未体验。

综合以上几点,考虑到与Kindle的配合使用,使用的流畅性,主要使用Instapaper以及Clearly。

对于Instapaper的使用,目前是以下方案:

  1. 配合chrome扩展添加文章到Instapaper,Google Reader发送到Instapaper
  2. 账户连接Twitter,Facebook,Evernote 社会化分享,将liked文章自动发送到Evernote

对于Instapaper的使用,现在对Instapaper的文章管理十分的十分的不满,为什不支持标签?这个实在是令人蛋疼无比,尤其主要在Web使用的,希望开发者不断改进吧,Marco Arment。考虑到其个人的观点,感觉这点是不会再改进了,极简主义。

以上只是个人使用中的看法,由于部分平台体验时间不久,定会存在与实际情况不符的地方,欢迎讨论。

RSS #

Google Reader 于2013年7月1日关闭,RSS市场终于打破多年以来的安静局面。Google Reader的替代品真如雨后春笋一般,但是目前在Web端尚未出现能够和Google比肩的服务。以下主要分桌面和移动端讨论RSS Reader。

  1. 桌面 Desktop

    • Feedly
    • Digg Reader
    • theoldreader
    • feedbin
  2. 移动设备 Android & iOS 上述桌面服务提供商一般都会提供移动应用,但是Feedly的Android应用太差,UI不错,流畅性不能忍受。Digg Reader的Android应用尚未出现,iOS的无法体验。值得使用的多位第三方专注于阅读体验、依托上述桌面服务提供者的应用。 Android平台大多之前依附于Google Reader的服务,目前多数应用没有继续更新,随着GR一同进入坟墓,便不在考虑范围内了。 Press $2.99 关于Press的讨论 http://v2ex.com/t/55925

    ...

通过isatap接入ipv6

为什么通过isatap方式接入?

在没有ipv6的环境中,可以通过isatap服务器接入ipv6;在例如清华这种连个ipv6需要认证(经常bug)的地方,isatap接入可以避开认证。

Linux #

$ sudo ip tunnel add sit1 mode sit remote 59.66.4.50 local yourip
$ sudo ifconfig sit1 up
$ sudo ifconfig sit1 add 2001:da8:200:900e:0:5efe:yourip/64
$ sudo ip route add ::/0 via 2001:da8:200:900e::1 metric 1

note:replace “yourip” with your IP like 166.111.111.111

  • 北京邮电大学 isatap.bupt.edu.cn
  • 清华大学 isatap.tsinghua.edu.cn和59.66.4.50
  • 华中科技大学 isatap.hust.edu.cn
  • 台湾 tb.ipv6.apol.com.tw
  • 上海交通大学 isatap.sjtu.edu.cn

脚本文件sit:(加上执行权限chmod +x sit) #!/bin/bash local_ip=101.36.22.24 sudo ip tunnel add sit1 mode sit remote 59.66.4.50 local $local_ip sudo ifconfig sit1 up sudo ifconfig sit1 add 2001:da8:200:900e:0:5efe:$local_ip/64 sudo ip route add ::/0 via 2001:da8:200:900e::1 metric 1 对于经常更换网络环境,或者采用DHCP动态分配IP的情况,可以采用以下自动获取本机IP的脚本:下载地址 #!/bin/bash arg=ifconfig eth0 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " " local_ip=$arg sudo ip tunnel add sit2 mode sit remote 59.66.4.50 local $local_ip sudo ifconfig sit2 up sudo ifconfig sit2 add 2001:da8:200:900e:0:5efe:$local_ip/64 sudo ip route add ::/0 via 2001:da8:200:900e::1 metric 1 note:

...

kindle dxg添加中文支持及更改字体,升级kindle3.2.1

汉化方法 #

kindle dxg更换字体最普遍的方法来自国外的mobileread论坛的这篇帖子。简而言之,是采用安装包的方式自动破解、更换字体。这里不再详述,目前网上能够搜到的大部分汉化皆是这种方法。多看论坛采用的也是类似的方法。

我遇到的问题? #

dxg刚刚拿到手时,也是按照mobileread中的方法,但是数次尝试中文依旧无法显示(显示方框)。因为不知这种方法的原理,只能查看安装脚本的代码。虽然不能十分清楚,但是发现其是建立链接,将系统目录链接到用户文件目录下,更改字体。既然自动安装无法成功,那便采用手动的形式。自己建立链接,更改字体。

一种简单直观的方法 #

mobileread论坛中方法对于普通用户来说可以称为黑箱操作,参考kindle4更换字体的方法,利用usbnetwork登录kindle修改系统字体,达到添加中文支持功能,及更改字体的目的。

1.越狱(jail break) 采用mobileread论坛中提供的升级文件(上述帖子附件中) kindle-jailbreak-0.10.N.zip (112.6 KB, 5684 views) (注:文件可能已更新,建议采用最新版升级文件越狱)

2.添加usbnetwork支持 越狱之后添加usbnetwork。usbnetwork是采用usb将kindle与PC连接,建立局域网。添加usbnetwork的作用之一在于可以在PC上通过ssh或者telnet操作kindle系统文件。 mobileread论坛同样提供了方便的升级文件: kindle-usbnetwork-0.39.N.zip (10.84 MB, 1377 views)

在search中输入;debugon 开启debug模式,查看是否开启成功请输入help,会弹出帮助窗口。开启debug后输入 `usbnetwork 按确定。此时usb连接pc将不会出现存储连接提示,kindle的显示也不会有变化(电池显示充电)。

3.通过ssh或者telnet连接kindle,找到字体文件夹,建立链接到文件目录,通过字体替换的方式改变字体。至于为什么不直接替换系统路径下的字体,原因有二,其一,直接操纵系统文件危险性较高,其二,dxg的系统路径空间有限,替换较大的字体文件时可能会遇到空间不够的问题。

系统字体目录: /usr/java/lib/fonts 链接命令: ln -s /us/documents/fonts /usr/java/lib/fonts

以上操作注意备份。

4.重启。以后更改字体直接在文件路径下替换字体文件即可(重启生效)。

升级kindle 3.2.1 #

  1. 为什么升级?

    • 更好的web浏览器。但是对于现在3G在中国大陆限制上网(只能amazon,wikipedia),这种改进没有多大的作用。
    • 加深功能。对于灰度扫描的PDF文件,阅读体验改进明显。
    • 其他尚待发现
  2. 升级过程

感谢Yifan Lu的工作,升级方法与相关文件均是来自Yifan Lu的文章。

  • 准备工作

    • 推荐将Kinle DXG里面的书籍转移至别处,卸载一切汉化或者其他插件。如果出错,可以查看readme文件,里面提供了出错提示的查询与解释。
    • DXG的系统版本为2.5.8,其他版本不保证成功。

    1.将Kindle DXG越狱 (已越狱可跳过此步) 连接电脑,把update_jailbreak_0.7.N_dxg_install.bin拷到kindle硬盘根目录下。断开电脑连接,进入menu->Settings->update your kindle, Kindle开始越狱(需时约5分钟),重启后重新连接电脑。

    2.制作DXG 2.5.8系统的镜像 (备份自身的系统) 把update_dxg-2.5.8-prepare_kindle.bin拷到kindle硬盘根目录下。断开电脑连接,仍然是进入update your kindle, Kindle开始备份2.5.8的系统(需时约45-60分钟),重启后重新连接电脑。将硬盘下output目录拷贝到它处妥善保存。以下是我在备份时候的状态信息,可能有误差,仅供参考: - 16:46 开始制作2.5.8系统备份镜像 - VCreating image… - 16:57 Compressing image… - 17:23 Generating update package… - 17:34 GeneratiGenerating update… - 17:41 GeneratiGeneraCleaning up… - 17:46 GFlashing recovery kernel… - 17:47 完成

    ...