如何自动重载工作目录

使用如下命令, 可以登录时自动加载退出时的工作目录. 这在很多时候是方便的(例如vim的基于目录保存session).

首先在~./.bash_logout加入
pwd > ~/.lastdirectory
这表示在退出时, 将当前目录保存到文件~/.lastdirectory.

然后, 在~/.bashrc 里加入

这表示, 当~/.lastdirectory存在时, 切换到~/.lastdirectory文件中保存的目录.

关于电子书/文献整理的一些考虑

现在网络很发达, 电子书有泛滥的趋势. 个人就有不少电子书以及论文. 先罗列问题如下:

1. 杂乱. 首先没有一个地方专门来存储电子书, 而且文件名很乱, 导致不能够及时找到该文献.
2. 信息不全. 在写作过程中, 我们需要引用文献时, 找到电子书了还需要找该文献的参考文献数据, 这两者之间缺乏直接的关联.
3. 没有共享. 可能同一个方向的同学, 有好多备份的电子书/文献, 这里面重复的居多, 而相互之间有没有共享, 导致资源浪费(在获取/整理过程中).
4. 不能随时随地的读取. 例如去开会了, 没带电脑, 只手机; 又如和别人讨论, 需要看下文献; 论文写作, 需要在家/办公室协同等.
5. 需要安装指定的阅读器. 目前我主要有pdf/djvu格式的电子书, 这两种格式需要特定的程序才能阅读. 期望可以在线预览

设想需要解决的问题以及方案

1. 多用户的支持. 需要建立一个数据库, 将文件的基本信息和对应的参考文献链接起来; 将文件的所有者(多用户)和文件链接起来;
2. 杂乱的解决:
* 分类存放. 每个用户可以建立不同的group, 呈现给用户的文件是按照group来组织的;
* 文件名的统一. 利用参考文献数据, 统一将文件名设置为: 作者_年代_完整标题;
* 可以根据作者/杂志/年代/标题等其中两者搜索参考文献以及文件;
* 搜索结果是实时得, 呈现简要的信息:作者加粗 标题 杂志 年代 详细信息的链接
3. 多用户的协作. 通过自建seafile服务器, 将用户上传的文档放到一个统一的地方(root), 然后将链接分享给需要的用户;
4. 在线预览
5. 参考文献的导出. 最终用户的每个group有一个参考文献数据; 而且用户还可以选定一些文献, 然后导出它们的参考文献数据;

使用Mp3tag批量修改音乐的id3标签

从51ape.com下载的无损音乐会自动添加www.51ape.com到artist这一个标签. 我们可以用Mp3tag的正则表达式功能很容易地批量去除.

首先导入要处理的音乐文件, 然后(排序)选中那些需要处理的音乐文件, 按快捷键Alt+5打开标签编辑窗口, 填入
Field: ARTIST
Format string: $repl(%artist%,'[‘www.51ape.com’]’,)
如图所示:

确认即可. 是不是很方便呢?

这里$repl的格式可以参考Mp3tag Help–scripting functions. 这个方案来自stackoverflow.

基于学习曲线的一个销售预测模型

1. 问题的描述 假设你想向客户推荐一个产品, 你对该产品也是第一次接触. 在不断的推销过程中, 你也在不断学习推销该产品的技巧. 很明显, 对产品越熟悉, 那么你推销的成功率(用户购买等)越高. 那么问题是如何用数学来刻画这件事呢?
2. 学习曲线的刻画 我们知道, 学习是一个记忆–遗忘–记忆的循环过程, 关于该过程的分析留待下次具体讨论. 一般而言, 该过程关于时间的曲线是所谓的S-型曲线. 我们这里假设$\lambda(t)$表示$t$时刻掌握的技能的百分比(完全掌握时$\lambda=1$). 而最简单的S-曲线就是所谓的Logistics曲线, 它含有一个参数$k$, 表示样本(销售量)对学习(推新产品的技巧)速度的影响因子\footnote{事实上, $\lambda(t)$所满足的常微分方程为
$$
\lambda'(t)=k\lambda(t)(1-\lambda(t)),\quad \lambda(0)=\frac{1}{2}.
$$
求解后得到
$$
\lambda(t)=\frac{1}{1+\exp(-k t)}.
$$}, 这样我们$\lambda(t)$的表达式为:
$$
\lambda(t)=\frac{1}{1+\exp(-k t)}.
$$
为了直观起见, 我用Mathematica作图如下:

logistics

Continue Reading

推荐一个参考文献整理插件

作为数学专业的学生, 我在使用TeX写作过程中喜欢用BibTeX结合amsrefs宏包来生成参考文献. 一个比较标准的参考文献数据获取方式是使用AMS mathscinet的数据. 你可以点击

前者需要购买数据看, 后者则是免费的.

使用过程中, 一个比较不方便的地方是:引用的BibTeX Key使用的是MR-number, 形如:MR3455147. 这导致根据这个Number很难知道具体是哪篇文章. 为了解决这一问题, 我决定采用google cite的方式来修改BibTeX Key, 即:作者姓氏_年代_标题首字母的方式, 例如上面的例子变成:TerngUhlenbeck2016Tau. 很明显, 一个一个手动修改不是很方便, 为此, 我花了一天的时间写了个javascript插件, 使得这件事变得非常人性化. Continue Reading