Verba Volant, Scripta Manent

Supermemo iPhone版课程生成脚本

老婆要从头开始准备考雅思了,我先找了一本李笑来的《新托福iBT词汇分类突破》(感谢作者自己提供PDF版本下载)来给她背单词,里面的插画十分有爱。学习的劲头也被点燃了,我现在每次回家都看见她在看这本单词书(怎么和我电脑屏幕总是桌面一个感觉)。

但是准备过这种考试的都知道,背单词主要是在重复,一开始能记住基本是没用的,而且是有策略的重复,一次记不住单词的意思不要紧,先往前走,把能记住的记住了,记不住的反复记。原来我自己准备GRE的时候自己是弄了一个时间表,哪一天背哪几个新的单词表,复习哪几个旧的都列在上面,严格按照这个时间表来进行,最后效果也比较满意。

我一直在订阅舍得的博客,里面介绍了不少supermemo的用法。于是我就想用supermemo辅助我老婆的记单词任务。简单搜索了一下,发现supermemo有iOS的版本,还是免费的,正好家里面也有iPad和iPod Touch可以直接使用。原来我安卓上的那个Anki记忆软件在App Store里面要24.99美金,于是放弃了。

下载之后发现Supermemo iPhone版之所以是免费的,因为他里面的很多课程都需要用户购买。不过他也提供了自定义课程的功能。可以直接把你需要的问题/答案写在一个特定格式的文本文件里,上传到设备进行学习。那于是我就在想怎么能把李笑来这本书里面的单词做成一个课程,甚至把任意的单词表生成课程。

这个项目的启发下,我自己也写了一个Python脚本,能够把utf-8编码并用tab键分开的的txt文档转换为supermemo可以导入的格式。项目链接在这里,这还是我第一次用github发布自己的代码。

使用方法,运行即可,会要求输入源文件路径及各列编号:

源文件必须要用Tab分隔,音标暂时只能处理金山词霸的:

输出文件内容:

iOS设备效果:

在精简版的XP下升级iOS需要注意的问题

这次寒假回家帮姐姐把她的3GS(32GB)从3.x升级到5.0.1,一路可以说是历尽辛苦,前后刷机历时大概是整整三天。为什么这么久呢?

家里面网速比较慢,只有1M的网速,下载固件(2遍)以及新版的iTunes就花了不少时间,这一项大概花了有大半天。

备份屡次失败,一次是因为备份的时候看了短信,一次是因为硬盘的空间不够。我现在觉得硬盘分很多个区是一种比较傻的思路。这样又是小半天……

真正刷机,大概刷了有十遍……前面失败的几次iTunes报1601/1602/1604各种错误的都有,然后手机直接黑屏,我那个汗啊,到处去查这几个错误是咋回事,在这个帖子里第一眼看到:

1600,及附近(1601,1602)错误,1600错误是指的硬件错误,比如说USB,USB线,手机插口的数据传输可能不通,也可以尝试一下把防火墙关闭。 还有可能是因为固件不正常导致。如果你刷的是自刷固件,那么刷回官方固件可能会解决1600.

查了一下苹果自己的技术支持,也是这么说。

反正家里面苹果的线不少,换了一根,把防火墙关了再继续刷,但是依然是反复报错,也是照样黑屏,后来用那个红雪把iPhone恢复到刷机前的状态才让我稍微冷静了点,开始认真的找问题在哪里。后来发现上面那个贴子我没看完,在下面对1601/1604错误有补充

服务里找到 Terminal Services,Messenger,Telnet,设置为启动

看到这里我大概知道问题在哪里了,经检查,三个服务都是处于停止状态,terminal services和telnet都是可以启动的,messenger不行,在网上搜了一下解决方案,应该是精简版XP把对应的文件修改了,下了一个dll文件并修改了注册表,重启系统后刷机就顺利完成了。

我自己的设备一直都是在Windows 7下面升级的,从来没有遇到过这些问题,一开始就没往系统的问题上想。刷好后觉得这些精简版的操作系统还是有风险的,说不定精简掉的啥系统模块就是将来哪天你需要的,到时候完全没有头绪的话估计麻烦还不小,只有重新装系统咯。另一方面,我觉得苹果也是很奇怪,明明依靠于这些服务来进行设备升级,报错的时候也不提示一下,反而报一个十万八千里之外的硬件错误,对用户完全就是一个误导。

Comments

Windows下使用Octopress嵌入Python代码的问题

前一篇日志其实蛮想测试一下Octopress的代码嵌入及下载功能,但是按照Octopress的文档说明,用 {% include_code %} 命令出来的居然是一个错误

Liquid error: No such file or directory - python -c “import sys; print sys.executable” 

让我百思不得其解。只好先把代码显示先改为文件下载。

问题会出在哪里呢?我在ruby-taiwan论坛和twitter上都问了,没有人回答我。我只好自己来找bug。其实也不是很难,在Octopress的support就有人提出了这个问题,原来是因为pythonexec.rb这个文件不支持windows,你可以打开他的代码看看,里面只有判断是不是mac和unix的操作系统,根本就没有有关windows的一行代码。这是说用ruby的人没有用windows的么?

解决方法,下载这个文件,代替ruby目录\lib\ruby\gems\1.9.1\gems\rubypython-0.5.1\lib\rubypython下的同名文件就好。荣誉归于raineszm

另外,Octopress的开发者imathis新开了一个网页,介绍可用于Octopress的主题,有几个还是挺不错的,我现在在用的就是里面的slash。

Comments

获取Picasa相册中所有图片真实地址的脚本

用了新的域名,新的博客架构,还是在发愁图床用哪个。图床和博客分开主要是为了以后万一搬家比较方便。看了一圈发觉还是picasa不错,我本来就是Gmail的付费扩容用户,容量就有20G,而且picasa可以用https访问,在Google Reader或者Gmail里面查看图片也不会报错。

但是picasa就是获取真实图片地址比较麻烦,不管是手动右键还是在右边的link里面做选择。于是自己尝试写了一个python脚本,用于获取公开相册下的各图片地址

使用方法,双击运行输入相册地址(最好是https,因为http的ggpht.com被墙),然后在脚本路径下就会有一个url.txt文件,里面每一行就是一幅图片的地址了。

(picasa.py) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#coding=utf-8
#test on python2.7
import os
import string
import urllib
import re

def main():
  url=raw_input('input the address of the picasa album (https is better):')
  urldata=urllib.urlopen(url).read()
  fp=file('temp.txt','w')
  fp.write(urldata)
  fp.close()
  regx_pic_url='"content":\[{"url":"(https?://[^"]+)"'
  fp=open('temp.txt')
  line=fp.readlines()   
  fp.close()
  for eachLine in line:
      p=re.compile(regx_pic_url)
      m=p.findall(eachLine)
      if len(m) is not 0:
          break
  os.remove('temp.txt')
  fp=open('url.txt','w')     
  for eachurl in m:
      fp.write(eachurl)
      fp.write('\r\n')
  fp.close()
  raw_input('done')
if __name__ == '__main__':
    main()
Comments

用markdown来写LaTeX

注:LaTeX+gVim+SumatraPDF设置这篇文章里最后_vimrc设置有修改,将pdflatex改为xelatex,以便方便的用在LaTeX里面使用中文。

自从用了markdown这个轻量级标记语言,我是觉得写东西的感觉顺畅了许多,再加上Vim这个超级好用的编辑器,想不写东西都难。慢慢的拾起自己的读书笔记吧。

现在的问题是,我的文献综述是在LaTeX下面写的,在排版的时候倒是很方便,基本不用我自己操心什么的,但是写作的时候感觉着实是不好,特别是在分章节、加粗体的时候,操作相当的“重”,我就想着能不能把markdown和LaTeX结合起来,公式什么的使用LaTeX,在输入的时候使用markdown的风格。

在Google上搜索了一番,还真的让我找到了pandoc这个软件,让人惊喜的是他居然还支持参考文献的引用和列表生成,那我所有的需求都可以满足了。如何使用请查阅pandoc的用户手册

现在我用markdown文件写文献综述或者文献笔记,用markdown+LaTeX的语法,通过pandoc把markdown文件转换为LaTeX文本(如果没有参考文献的需要可以直接把markdown转化为pdf)。

为了在markdown里面更好的区分LaTeX代码,需要修改一下Vim的markdown语法高亮文件,路径在vim73/syntax/markdown.vim,添加以下几行:

syn region markdownTexInline start="\$" end="\$" keepend oneline
syn region markdownTexBlock start="\\begin{.*}" end="\\end{.*}" keepend 
hi def link markdownTexBlock              Tag
hi def link markdownTexInline             Tag 

这样在markdown文件里面就可以高亮显示用LaTeX写的多数数学式子了,实在是太方便。

Comments